libp2p/builders

    Dark Mode
Search:
Group by:
  Source   Edit

This module contains a Switch Building helper.

Example:

let switch =
 SwitchBuilder.new()
 .withRng(rng)
 .withAddresses(multiaddress)
 # etc
 .build()

Types

SecureProtocol {.pure.} = enum
  Noise, Secio {....deprecated.}
  Source   Edit
SwitchBuilder = ref object
  privKey: Option[PrivateKey]
  addresses: seq[MultiAddress]
  secureManagers: seq[SecureProtocol]
  muxers: seq[MuxerProvider]
  transports: seq[TransportProvider]
  rng: ref HmacDrbgContext
  maxConnections: int
  maxIn: int
  sendSignedPeerRecord: bool
  maxOut: int
  maxConnsPerPeer: int
  protoVersion: string
  agentVersion: string
  nameResolver: NameResolver
  peerStoreCapacity: Option[int]
  autonat: bool
  circuitRelay: Relay
  rdv: RendezVous
  services: seq[Service]
  Source   Edit
TransportProvider {.public.} = proc (upgr: Upgrade): Transport {....gcsafe,
    raises: [].}
  Source   Edit

Procs

proc new(T: type[SwitchBuilder]): T:type {.public, ...raises: [].}
Creates a SwitchBuilder   Source   Edit
proc newStandardSwitch(privKey = none(PrivateKey); addrs: MultiAddress |
    seq[MultiAddress] = init(MultiAddress, "/ip4/127.0.0.1/tcp/0").tryGet();
    secureManagers: openArray[SecureProtocol] = [SecureProtocol.Noise];
                       transportFlags: set[ServerFlags] = {}; rng = newRng();
                       inTimeout: Duration = 5.minutes;
                       outTimeout: Duration = 5.minutes;
                       maxConnections = MaxConnections; maxIn = -1; maxOut = -1;
                       maxConnsPerPeer = MaxConnectionsPerPeer;
                       nameResolver: NameResolver = nil;
                       sendSignedPeerRecord = false; peerStoreCapacity = 1000): Switch {.
    ...raises: [LPError], public, ...raises: [].}
Helper for common switch configurations.   Source   Edit
proc withAddress(b: SwitchBuilder; address: MultiAddress): SwitchBuilder {.
    public, ...raises: [], tags: [].}

Set the listening address of the switch
Calling it multiple time will override the value

  Source   Edit
proc withAddresses(b: SwitchBuilder; addresses: seq[MultiAddress]): SwitchBuilder {.
    public, ...raises: [], tags: [].}

Set the listening addresses of the switch
Calling it multiple time will override the value

  Source   Edit
proc withAgentVersion(b: SwitchBuilder; agentVersion: string): SwitchBuilder {.
    public, ...raises: [], tags: [].}
  Source   Edit
proc withAutonat(b: SwitchBuilder): SwitchBuilder {....raises: [], tags: [].}
  Source   Edit
proc withCircuitRelay(b: SwitchBuilder; r: Relay = Relay.new()): SwitchBuilder {.
    ...raises: [], tags: [].}
  Source   Edit
proc withMaxConnections(b: SwitchBuilder; maxConnections: int): SwitchBuilder {.
    public, ...raises: [], tags: [].}
Maximum concurrent connections of the switch. You should either use this, or withMaxIn & withMaxOut   Source   Edit
proc withMaxConnsPerPeer(b: SwitchBuilder; maxConnsPerPeer: int): SwitchBuilder {.
    public, ...raises: [], tags: [].}
  Source   Edit
proc withMaxIn(b: SwitchBuilder; maxIn: int): SwitchBuilder {.public,
    ...raises: [], tags: [].}
Maximum concurrent incoming connections. Should be used with withMaxOut   Source   Edit
proc withMaxOut(b: SwitchBuilder; maxOut: int): SwitchBuilder {.public,
    ...raises: [], tags: [].}
Maximum concurrent outgoing connections. Should be used with withMaxIn   Source   Edit
proc withNameResolver(b: SwitchBuilder; nameResolver: NameResolver): SwitchBuilder {.
    public, ...raises: [], tags: [].}
  Source   Edit
proc withNoise(b: SwitchBuilder): SwitchBuilder {.public, ...raises: [], tags: [].}
  Source   Edit
proc withPeerStore(b: SwitchBuilder; capacity: int): SwitchBuilder {.public,
    ...raises: [], tags: [].}
  Source   Edit
proc withPrivateKey(b: SwitchBuilder; privateKey: PrivateKey): SwitchBuilder {.
    public, ...raises: [], tags: [].}
Set the private key of the switch. Will be used to generate a PeerId   Source   Edit
proc withProtoVersion(b: SwitchBuilder; protoVersion: string): SwitchBuilder {.
    public, ...raises: [], tags: [].}
  Source   Edit
proc withRendezVous(b: SwitchBuilder; rdv: RendezVous = RendezVous.new()): SwitchBuilder {.
    ...raises: [], tags: [].}
  Source   Edit
proc withRng(b: SwitchBuilder; rng: ref HmacDrbgContext): SwitchBuilder {.
    public, ...raises: [], tags: [].}
  Source   Edit
proc withServices(b: SwitchBuilder; services: seq[Service]): SwitchBuilder {.
    ...raises: [], tags: [].}
  Source   Edit
proc withSignedPeerRecord(b: SwitchBuilder; sendIt = true): SwitchBuilder {.
    public, ...raises: [], tags: [].}
  Source   Edit
proc withTcpTransport(b: SwitchBuilder; flags: set[ServerFlags] = {}): SwitchBuilder {.
    public, ...raises: [], tags: [].}
  Source   Edit
proc withTransport(b: SwitchBuilder; prov: TransportProvider): SwitchBuilder {.
    public, ...raises: [], tags: [].}
Use a custom transport

Example:

let switch =
  SwitchBuilder.new()
  .withTransport(proc(upgr: Upgrade): Transport = TcpTransport.new(flags, upgr))
  .build()
  Source   Edit

Exports

newLPStreamWriteError, DNS_OR_IP, LPStreamError, AlreadyExpectingConnectionError, removePeerEventHandler, shortLog, init, random, UDP_DNS, $, <=, MaxConnectionsPerPeer, ephemeral, dial, MaPatternOp, WS_DNS, initVBuffer, getProtoHeader, MaxSizeError, ==, DialFailedError, ProtoHeader, ProtoFlags, ==, getLen, maxIncomingStreams, ECDHEScheme, shortLog, dial, init, closed, addConnEventHandler, finish, [], new, shuffle, random, init, Secret, peekVarint, random, handshake, MaxConnections, $, validate, mapOr, Dial, PeerStore, hash, MaError, init, secure, bytes, UpgradeFailedError, IdentityInvalidMsgError, maxInlineKeyLength, addHandler, TranscoderDNS, QUIC, $, init, ephemeral, getRequiredField, init, dial, writeLp, removeConnEventHandler, getWrapped, write, public, MAKind, decode, safeConvert, write, decode, init, getField, checkFieldNumber, init, codec, getRepeatedField, matchPartial, addObservation, stop, push, getBytes, len, trackConnection, init, readLp, readVarint, HTTP, initVBuffer, finish, start, ProtoBook, atEof, PeerEventKind, getOutgoingSlot, peekSeq, SeqPeerBook, fullAddrs, payloadType, getProtoHeader, decodeProposal, $, IP, protoAddress, newRng, peekArray, mount, SecureConn, checkValid, getPublicKey, CircuitRelay, WebSockets, libp2p_failed_upgrades_incoming, extractPublicKey, mapAnd, new, UDP_IP, new, newLPStreamEOFError, selectMuxer, init, connCount, len, ==, DNSADDR, AddressMapper, IdentifyPushHandler, write, new, PeerId, WSS, LPStream, getField, TCP_IP, close, selectMuxer, writePacked, handle, init, closeImpl, identify, toBytes, TCP_DNS, shortLog, encode, TranscoderIP4, dial, init, protoName, protoArgument, PeerEventHandler, LPProtoHandler, Secure, ==, toRawBytes, IdentifyPush, getStream, TranscoderIP6Zone, $, initProtoBuffer, newLPStreamReadError, init, WSS_DNS, list, match, <, CryptoResult, parseFullAddress, ProtoResult, WebRTCDirect, init, init, upgrade, UDP, ProtoVersionBook, PeerInfo, Dialer, disconnect, TranscoderOnion, dial, StreamTracker, IdentifyNoPubKeyError, write, LPStreamResetError, isEmpty, writeArray, writeLp, IdentityNoMatchError, new, LPStreamIncompleteError, connectedPeers, LPStreamEOFError, write, maxIncomingStreams=, IP6, shortLog, new, initVBuffer, PKScheme, new, release, payload, triggerConnEvent, triggerPeerEvents, connect, newSwitch, init, Connection, write, DNSANY, TCP, PrivateKey, dropPeer, addPeerEventHandler, getBytes, start, newLPStreamIncorrectDefect, init, &=, PeerInfoError, verify, newLPStreamClosedError, random, getBytes, compilesOr, toString, close, trackMuxer, $, initProtoBuffer, toException, DNS, Upgrade, UTP, goffset, HandlerHolder, >, SecureConnTrackerName, KeyPair, init, addTransport, high, SPRBook, mac, cmp, init, SupportedWireTypes, formatItIMPL, formatItIMPL, initStream, formatItIMPL, Signature, contains, codec=, readSeq, formatItIMPL, getStream, DigestSheme, IPFS, getField, shortLog, readOnce, libp2p_pki_schemes, init, exceptionToAssert, isEmpty, ConnEventKind, ProtoScalar, shortLog, getWrapped, LPStreamIncorrectDefect, contains, hex, expandItIMPL, protocols, init, DefaultMaxIncomingStreams, HTTPS, UNIX, encode, tryAndWarn, hash, TooManyConnectionsError, ConnectionSlot, getPtr, addTransport, IdentifyCodec, TranscoderIP6, init, addHandler, storeMuxer, Switch, formatItIMPL, dial, tryDial, PeerEvent, PublicKey, supported, MaResult, init, ProtoField, connect, PeerBookChangeHandler, connect, write, getStream, writeSeq, ConnEvent, &, DNS6, [], IpTransportProtocol, toOpenArray, [], allFuturesThrowing, IP4, TranscoderPort, isEnough, readMessage, addPeerEventHandler, init, createExchange, >=, expectConnection, init, payloadDomain, update, $, MaPattern, init, handle, decode, LPStreamLimitError, TranscoderOnion3, SignedPayload, init, closeImpl, toBytes, protoArgument, secure, newLPStreamLimitError, readOnce, Identify, keyOpenArray, stretchKeys, match, createProposal, parseFullAddress, dial, isEmpty, LPStreamReadError, connectedPeers, new, getRequiredRepeatedField, connect, init, newLPStreamIncompleteError, newLPStreamReadError, write, initProtoBuffer, MAProtocol, newLPStreamResetError, getPackedRepeatedField, initStream, contains, init, shortLog, DNS4, MultiAddress, WS_IP, readArray, selectBest, write, P2PPattern, Envelope, connect, hasPublicKey, AddressBook, toException, init, isEnough, key, getConnections, Reliable, addrs, hex, removeConnEventHandler, slotsAvailable, closeImpl, write, WS, AgentVersion, init, readVarint, MultistreamSelect, encode, LPProtocol, init, init, init, TimeoutHandler, getField, getField, match, TcpOnion3, getField, writeLPVarint, iv, DefaultConnectionTimeout, readLine, Eof, CryptoError, append, vsizeof, IdentifyPushCodec, WSS_IP, LPStreamConnDownError, PeerRecord, init, decodeExchange, SupportedSchemes, getRepeatedField, LPStreamWriteError, getField, select, Unreliable, SupportedSchemesInt, random, checkFutures, LPError, PeerBook, macOpenArray, init, validate, AgentBook, addTransport, ProtoVersion, protoCode, mapEq, getField, init, removePeerEventHandler, Onion3, stop, write, guessDialableAddr, select, concat, TranscoderP2P, AddressInfo, ConnectionTrackerName, sign, new, init, write, EnvelopeError, IdentifyInfo, IdentifyError, addHandler, encode, len, newLPStreamRemoteClosedError, MaPatResult, isConnected, Direction, ProtoBuffer, data, InvalidVarintError, addConnEventHandler, WebSockets_DNS, shortLog, write, getBytes, write, dial, MultiStreamError, toBytes, getMostObservedProtosAndPorts, run, ConcurrentUpgrades, ObservedAddrManager, ConnEventHandler, WebSockets_IP, decodeMsg, VBuffer, start, getRawBytes, writePBVarint, ProtoFieldKind, readExactly, getRepeatedField, ProtoError, newLPStreamConnDownError, new, ConnManager, init, initStream, getField, KeyBook, ivOpenArray, connect, closeWithEOF, LPStreamTrackerName, orError, new, getField, LPStreamRemoteClosedError, setupStreamTracker, libp2p_failed_upgrades_outgoing, stop, MaInvalidAddress, select, LPStreamClosedError, RsaDefaultKeySize, getIncomingSlot, Service, items, write, toBytes, getOrder, hash, TranscoderUnix, setup, SignedPeerRecord, tryDial, Matcher, stop, join, writeVarint, formatItIMPL, init, safeConvert, getField, shortLog, >=, shortLog, getBytes, compilesOr, init, public, shortLog, PeerId, ==, toBytes, <=, match, random, write, init, hex, init, validate, hash, init, init, $, hasPublicKey, match, <, write, >, len, maxInlineKeyLength, exceptionToAssert, cmp, extractPublicKey, ==, decodeProposal, shortLog, UDP_DNS, $, ephemeral, MaPatternOp, ==, getProtoHeader, shortLog, $, validate, TranscoderDNS, ephemeral, getField, MAKind, getField, checkFieldNumber, init, getRepeatedField, getBytes, len, &, readVarint, peekSeq, fullAddrs, <=, init, getPublicKey, exceptionToAssert, new, DNSANY, DNSADDR, AddressMapper, WSS, init, toBytes, TCP_DNS, shortLog, encode, len, supported, init, ==, TranscoderIP6Zone, $, WSS_DNS, <, $, init, PeerInfo, TranscoderOnion, write, key, writeArray, IP6, shortLog, payload, stretchKeys, TCP, PrivateKey, getBytes, init, &=, init, $, getRawBytes, KeyPair, update, SupportedWireTypes, hash, init, DNS4, isEmpty, ProtoScalar, data, HTTPS, tryAndWarn, TranscoderIP6, encode, MaResult, DNS6, [], IpTransportProtocol, toOpenArray, allFuturesThrowing, TranscoderPort, isEnough, write, >=, payloadDomain, init, TranscoderOnion3, protoArgument, write, keyOpenArray, match, WebSockets_DNS, isEmpty, getRequiredRepeatedField, initProtoBuffer, getField, selectBest, getPtr, Envelope, init, init, Reliable, addrs, ProtoBuffer, getField, match, getField, CryptoError, append, vsizeof, parseFullAddress, init, getRepeatedField, checkFutures, shuffle, init, validate, protoCode, getField, TranscoderP2P, sign, getBytes, encode, WebSockets, shortLog, getBytes, init, hash, ProtoFieldKind, protoArgument, orError, decodeExchange, MaInvalidAddress, writeVarint, items, getOrder, TranscoderUnix, SignedPeerRecord, DNS_OR_IP, init, random, getProtoHeader, MaError, matchPartial, WS_DNS, initVBuffer, ProtoFlags, getLen, ECDHEScheme, init, [], decode, random, Secret, peekVarint, random, mapOr, bytes, maxInlineKeyLength, QUIC, getRequiredField, mac, WS_IP, public, write, init, libp2p_pki_schemes, init, HTTP, initVBuffer, TcpOnion3, write, payloadType, ProtoHeader, $, IP, protoAddress, newRng, checkValid, len, CircuitRelay, extractPublicKey, mapAnd, UDP_IP, init, init, write, PeerId, TCP_IP, writePacked, readSeq, TranscoderIP4, protoName, toRawBytes, MaPattern, initProtoBuffer, toException, init, match, writeLPVarint, CryptoResult, parseFullAddress, ProtoResult, WebRTCDirect, init, UDP, init, isEmpty, decode, initVBuffer, decode, PKScheme, random, write, init, write, PeerInfoError, compilesOr, initProtoBuffer, toException, DNS, init, goffset, >, init, high, toString, cmp, init, formatItIMPL, formatItIMPL, Signature, toBytes, DigestSheme, IPFS, getField, MultiAddress, hex, protocols, UNIX, init, ProtoField, toBytes, writeSeq, ==, VBuffer, [], IP4, safeConvert, init, createExchange, finish, SignedPayload, toBytes, init, MAProtocol, getPackedRepeatedField, contains, readArray, P2PPattern, hasPublicKey, isEnough, hex, write, WS, init, encode, init, iv, getField, WSS_IP, peekArray, PeerRecord, SupportedSchemes, getField, Unreliable, SupportedSchemesInt, random, LPError, macOpenArray, mapEq, finish, Onion3, concat, AddressInfo, write, EnvelopeError, createProposal, MaPatResult, init, init, write, write, UTP, verify, init, PublicKey, WebSockets_IP, writePBVarint, getRepeatedField, ProtoError, ivOpenArray, RsaDefaultKeySize, getField, write, newLPStreamWriteError, DNS_OR_IP, shortLog, init, random, UDP_DNS, $, <=, MaError, ephemeral, decode, MaPatternOp, ==, WS_DNS, initVBuffer, getProtoHeader, MaxSizeError, decodeProposal, ProtoFlags, ==, getLen, ECDHEScheme, shortLog, init, closed, [], macOpenArray, random, init, Secret, peekVarint, random, $, validate, mapOr, init, bytes, maxInlineKeyLength, TranscoderDNS, QUIC, [], init, getRequiredField, getField, init, supported, WS_IP, write, public, MAKind, getBytes, write, init, getField, checkFieldNumber, key, getRepeatedField, matchPartial, getBytes, len, readLp, HTTP, initVBuffer, atEof, LPStreamTrackerName, peekSeq, fullAddrs, payloadType, getProtoHeader, LPStreamError, init, IP, protoAddress, newRng, DefaultConnectionTimeout, checkValid, getPublicKey, exceptionToAssert, ProtoHeader, len, CircuitRelay, extractPublicKey, mapAnd, new, verify, UDP_IP, new, newLPStreamEOFError, init, ==, DNSADDR, AddressMapper, readVarint, write, WSS, LPStream, TCP_IP, close, writePacked, init, init, closeImpl, readSeq, toBytes, TCP_DNS, shortLog, encode, TranscoderIP4, init, protoName, ==, toRawBytes, TranscoderIP6Zone, initProtoBuffer, newLPStreamReadError, ProtoBuffer, WSS_DNS, match, writeLPVarint, CryptoResult, ProtoResult, WebRTCDirect, init, init, UDP, TranscoderOnion, StreamTracker, write, init, LPStreamResetError, isEmpty, writeArray, writeLp, parseFullAddress, LPStreamIncompleteError, PeerId, [], LPStreamEOFError, IP6, shortLog, initVBuffer, PKScheme, init, payload, init, stretchKeys, Connection, write, init, TCP, PrivateKey, getBytes, write, init, &=, PeerInfoError, newLPStreamClosedError, random, compilesOr, init, $, initProtoBuffer, toException, DNS, readVarint, init, UTP, goffset, >, KeyPair, finish, init, high, toString, init, cmp, init, SupportedWireTypes, formatItIMPL, formatItIMPL, formatItIMPL, Signature, formatItIMPL, toBytes, DigestSheme, IPFS, getField, readOnce, libp2p_pki_schemes, isEmpty, ProtoScalar, shortLog, LPStreamIncorrectDefect, hex, protocols, hash, HTTPS, tryAndWarn, hash, WebSockets, LPError, getPtr, write, sign, encode, update, MaResult, ProtoField, TimeoutHandler, toBytes, writeSeq, &, DNS6, IpTransportProtocol, toOpenArray, allFuturesThrowing, IP4, TranscoderPort, isEnough, safeConvert, getField, createExchange, >=, init, mac, ephemeral, payloadDomain, $, getRawBytes, init, LPStreamLimitError, TranscoderOnion3, SignedPayload, init, toBytes, protoArgument, newLPStreamLimitError, newLPStreamIncorrectDefect, keyOpenArray, match, createProposal, parseFullAddress, $, isEmpty, LPStreamReadError, getRequiredRepeatedField, init, newLPStreamIncompleteError, newLPStreamReadError, write, initProtoBuffer, MAProtocol, newLPStreamResetError, decode, getPackedRepeatedField, initStream, contains, init, shortLog, DNS4, data, getWrapped, readArray, selectBest, write, P2PPattern, Envelope, hasPublicKey, toException, init, isEnough, init, Reliable, addrs, hex, closeImpl, write, WS, init, encode, DNSANY, getField, match, getField, <, iv, readLine, Eof, CryptoError, getField, hash, append, MaPattern, vsizeof, init, WebSockets_DNS, WSS_IP, LPStreamConnDownError, peekArray, UNIX, PeerRecord, SupportedSchemes, getRepeatedField, LPStreamWriteError, getField, Unreliable, SupportedSchemesInt, random, checkFutures, shuffle, validate, $, protoCode, mapEq, getField, init, Onion3, write, TcpOnion3, concat, TranscoderP2P, PeerInfo, AddressInfo, ConnectionTrackerName, TranscoderIP6, write, EnvelopeError, encode, len, newLPStreamRemoteClosedError, MaPatResult, Direction, init, InvalidVarintError, shortLog, write, getBytes, write, finish, PublicKey, WebSockets_IP, VBuffer, writeLp, decode, writePBVarint, ProtoFieldKind, readExactly, protoArgument, getRepeatedField, ProtoError, newLPStreamConnDownError, initStream, MultiAddress, ivOpenArray, closeWithEOF, orError, decodeExchange, getField, LPStreamRemoteClosedError, setupStreamTracker, MaInvalidAddress, LPStreamClosedError, RsaDefaultKeySize, items, write, getOrder, TranscoderUnix, SignedPeerRecord, join, writeVarint, DNS_OR_IP, contains, hash, data, UDP_DNS, MaError, IPFS, getField, MaPatternOp, isEmpty, WS_DNS, initVBuffer, ProtoScalar, getProtoHeader, ProtoHeader, hex, protocols, bytes, ==, getLen, HTTPS, UNIX, TranscoderIP6, encode, IpTransportProtocol, init, ProtoField, peekVarint, mapOr, writeSeq, &, DNS6, TranscoderDNS, QUIC, toOpenArray, [], [], IP4, TranscoderPort, isEnough, safeConvert, getRequiredField, $, WS_IP, public, MAKind, getField, checkFieldNumber, TranscoderOnion3, getRepeatedField, matchPartial, MaResult, match, WebSockets_DNS, WebSockets, MaInvalidAddress, isEmpty, HTTP, finish, VBuffer, init, TcpOnion3, initProtoBuffer, MAProtocol, peekSeq, getPackedRepeatedField, getProtoHeader, $, IP, getField, protoAddress, DNS4, readArray, getPtr, P2PPattern, exceptionToAssert, isEnough, Reliable, ProtoBuffer, len, WS, CircuitRelay, mapAnd, UDP_IP, DNSANY, DNSADDR, append, write, WSS_IP, peekArray, WSS, getRepeatedField, TCP_IP, getField, writePacked, Unreliable, TCP_DNS, init, protoName, protoArgument, validate, mapEq, Onion3, MaPattern, initProtoBuffer, concat, TranscoderP2P, WSS_DNS, writeLPVarint, write, ProtoResult, readSeq, WebRTCDirect, len, UDP, TranscoderIP6Zone, MaPatResult, TranscoderOnion, write, init, shortLog, isEmpty, writeArray, write, init, UTP, [], IP6, shortLog, initVBuffer, ProtoFlags, getRequiredRepeatedField, WebSockets_IP, finish, writePBVarint, ProtoFieldKind, TCP, protoArgument, getRepeatedField, ProtoError, init, init, getField, MultiAddress, &=, readVarint, compilesOr, vsizeof, TranscoderIP4, init, initVBuffer, protoCode, $, initProtoBuffer, DNS, items, write, TranscoderUnix, high, toString, writeVarint, SupportedWireTypes, Signature, decodeProposal, shortLog, toBytes, DigestSheme, init, write, sign, SupportedSchemesInt, macOpenArray, supported, Secret, $, ephemeral, selectBest, init, getBytes, safeConvert, init, createExchange, init, getBytes, public, toRawBytes, init, getField, init, toBytes, libp2p_pki_schemes, random, random, createProposal, init, write, write, key, newRng, getBytes, getPublicKey, getRawBytes, init, random, stretchKeys, exceptionToAssert, init, init, init, getField, iv, ==, verify, init, SupportedSchemes, toBytes, shuffle, CryptoError, ==, ECDHEScheme, mac, write, random, keyOpenArray, CryptoResult, ephemeral, init, init, shortLog, init, PublicKey, shortLog, PKScheme, init, init, PrivateKey, write, ivOpenArray, RsaDefaultKeySize, compilesOr, orError, decodeExchange, $, goffset, getOrder, KeyPair, init, toException, toException, allFuturesThrowing, tryAndWarn, checkFutures, LPError