libp2p 0.36.1 → 0.36.2-1473044
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +3 -21
- package/README.md +13 -10
- package/dist/src/address-manager/index.d.ts +33 -52
- package/dist/src/address-manager/index.d.ts.map +1 -1
- package/dist/src/address-manager/index.js +81 -0
- package/dist/src/address-manager/index.js.map +1 -0
- package/dist/src/circuit/auto-relay.d.ts +24 -85
- package/dist/src/circuit/auto-relay.d.ts.map +1 -1
- package/dist/src/circuit/auto-relay.js +215 -0
- package/dist/src/circuit/auto-relay.js.map +1 -0
- package/dist/src/circuit/circuit/hop.d.ts +26 -53
- package/dist/src/circuit/circuit/hop.d.ts.map +1 -1
- package/dist/src/circuit/circuit/hop.js +138 -0
- package/dist/src/circuit/circuit/hop.js.map +1 -0
- package/dist/src/circuit/circuit/stop.d.ts +18 -10
- package/dist/src/circuit/circuit/stop.d.ts.map +1 -1
- package/dist/src/circuit/circuit/stop.js +49 -0
- package/dist/src/circuit/circuit/stop.js.map +1 -0
- package/dist/src/circuit/circuit/stream-handler.d.ts +19 -38
- package/dist/src/circuit/circuit/stream-handler.d.ts.map +1 -1
- package/dist/src/circuit/circuit/stream-handler.js +59 -0
- package/dist/src/circuit/circuit/stream-handler.js.map +1 -0
- package/dist/src/circuit/circuit/utils.d.ts +3 -6
- package/dist/src/circuit/circuit/utils.d.ts.map +1 -1
- package/dist/src/circuit/circuit/utils.js +43 -0
- package/dist/src/circuit/circuit/utils.js.map +1 -0
- package/dist/src/circuit/constants.d.ts +24 -6
- package/dist/src/circuit/constants.d.ts.map +1 -1
- package/dist/src/circuit/constants.js +26 -0
- package/dist/src/circuit/constants.js.map +1 -0
- package/dist/src/circuit/index.d.ts +41 -74
- package/dist/src/circuit/index.d.ts.map +1 -1
- package/dist/src/circuit/index.js +69 -0
- package/dist/src/circuit/index.js.map +1 -0
- package/dist/src/circuit/listener.d.ts +8 -3
- package/dist/src/circuit/listener.d.ts.map +1 -1
- package/dist/src/circuit/listener.js +54 -0
- package/dist/src/circuit/listener.js.map +1 -0
- package/dist/src/circuit/multicodec.d.ts +1 -1
- package/dist/src/circuit/multicodec.d.ts.map +1 -1
- package/dist/src/circuit/multicodec.js +2 -0
- package/dist/src/circuit/multicodec.js.map +1 -0
- package/dist/src/circuit/pb/index.d.ts +51 -0
- package/dist/src/circuit/pb/index.d.ts.map +1 -0
- package/dist/src/circuit/pb/index.js +72 -0
- package/dist/src/circuit/pb/index.js.map +1 -0
- package/dist/src/circuit/transport.d.ts +18 -78
- package/dist/src/circuit/transport.d.ts.map +1 -1
- package/dist/src/circuit/transport.js +190 -0
- package/dist/src/circuit/transport.js.map +1 -0
- package/dist/src/circuit/utils.d.ts +5 -2
- package/dist/src/circuit/utils.d.ts.map +1 -1
- package/dist/src/circuit/utils.js +11 -0
- package/dist/src/circuit/utils.js.map +1 -0
- package/dist/src/config.d.ts +3 -85
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +93 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/connection-manager/auto-dialler.d.ts +24 -41
- package/dist/src/connection-manager/auto-dialler.d.ts.map +1 -1
- package/dist/src/connection-manager/auto-dialler.js +105 -0
- package/dist/src/connection-manager/auto-dialler.js.map +1 -0
- package/dist/src/connection-manager/index.d.ts +79 -144
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +295 -0
- package/dist/src/connection-manager/index.js.map +1 -0
- package/dist/src/connection-manager/latency-monitor.d.ts +72 -97
- package/dist/src/connection-manager/latency-monitor.d.ts.map +1 -1
- package/dist/src/connection-manager/latency-monitor.js +220 -0
- package/dist/src/connection-manager/latency-monitor.js.map +1 -0
- package/dist/src/connection-manager/visibility-change-emitter.d.ts +15 -16
- package/dist/src/connection-manager/visibility-change-emitter.d.ts.map +1 -1
- package/dist/src/connection-manager/visibility-change-emitter.js +118 -0
- package/dist/src/connection-manager/visibility-change-emitter.js.map +1 -0
- package/dist/src/constants.d.ts +22 -10
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +27 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/content-routing/index.d.ts +26 -81
- package/dist/src/content-routing/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.js +99 -0
- package/dist/src/content-routing/index.js.map +1 -0
- package/dist/src/content-routing/utils.d.ts +6 -49
- package/dist/src/content-routing/utils.d.ts.map +1 -1
- package/dist/src/content-routing/utils.js +42 -0
- package/dist/src/content-routing/utils.js.map +1 -0
- package/dist/src/dht/dht-content-routing.d.ts +10 -24
- package/dist/src/dht/dht-content-routing.d.ts.map +1 -1
- package/dist/src/dht/dht-content-routing.js +32 -0
- package/dist/src/dht/dht-content-routing.js.map +1 -0
- package/dist/src/dht/dht-peer-routing.d.ts +9 -24
- package/dist/src/dht/dht-peer-routing.d.ts.map +1 -1
- package/dist/src/dht/dht-peer-routing.js +26 -0
- package/dist/src/dht/dht-peer-routing.js.map +1 -0
- package/dist/src/dialer/auto-dialer.d.ts +14 -0
- package/dist/src/dialer/auto-dialer.d.ts.map +1 -0
- package/dist/src/dialer/auto-dialer.js +24 -0
- package/dist/src/dialer/auto-dialer.js.map +1 -0
- package/dist/src/dialer/dial-request.d.ts +18 -46
- package/dist/src/dialer/dial-request.d.ts.map +1 -1
- package/dist/src/dialer/dial-request.js +83 -0
- package/dist/src/dialer/dial-request.js.map +1 -0
- package/dist/src/dialer/index.d.ts +41 -148
- package/dist/src/dialer/index.d.ts.map +1 -1
- package/dist/src/dialer/index.js +280 -0
- package/dist/src/dialer/index.js.map +1 -0
- package/dist/src/errors.d.ts +68 -63
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +73 -0
- package/dist/src/errors.js.map +1 -0
- package/dist/src/fetch/constants.d.ts +1 -1
- package/dist/src/fetch/constants.d.ts.map +1 -1
- package/dist/src/fetch/constants.js +3 -0
- package/dist/src/fetch/constants.js.map +1 -0
- package/dist/src/fetch/index.d.ts +30 -49
- package/dist/src/fetch/index.d.ts.map +1 -1
- package/dist/src/fetch/index.js +129 -0
- package/dist/src/fetch/index.js.map +1 -0
- package/dist/src/fetch/pb/proto.d.ts +26 -0
- package/dist/src/fetch/pb/proto.d.ts.map +1 -0
- package/dist/src/fetch/pb/proto.js +44 -0
- package/dist/src/fetch/pb/proto.js.map +1 -0
- package/dist/src/get-peer.d.ts +4 -11
- package/dist/src/get-peer.d.ts.map +1 -1
- package/dist/src/get-peer.js +43 -0
- package/dist/src/get-peer.js.map +1 -0
- package/dist/src/identify/consts.d.ts +9 -9
- package/dist/src/identify/consts.d.ts.map +1 -1
- package/dist/src/identify/consts.js +11 -0
- package/dist/src/identify/consts.js.map +1 -0
- package/dist/src/identify/index.d.ts +42 -96
- package/dist/src/identify/index.d.ts.map +1 -1
- package/dist/src/identify/index.js +322 -0
- package/dist/src/identify/index.js.map +1 -0
- package/dist/src/identify/pb/message.d.ts +15 -0
- package/dist/src/identify/pb/message.d.ts.map +1 -0
- package/dist/src/identify/pb/message.js +24 -0
- package/dist/src/identify/pb/message.js.map +1 -0
- package/dist/src/index.d.ts +162 -491
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +9 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/insecure/index.d.ts +9 -0
- package/dist/src/insecure/index.d.ts.map +1 -0
- package/dist/src/insecure/index.js +81 -0
- package/dist/src/insecure/index.js.map +1 -0
- package/dist/src/insecure/pb/proto.d.ts +28 -0
- package/dist/src/insecure/pb/proto.d.ts.map +1 -0
- package/dist/src/insecure/pb/proto.js +46 -0
- package/dist/src/insecure/pb/proto.js.map +1 -0
- package/dist/src/keychain/cms.d.ts +6 -14
- package/dist/src/keychain/cms.d.ts.map +1 -1
- package/dist/src/keychain/cms.js +129 -0
- package/dist/src/keychain/cms.js.map +1 -0
- package/dist/src/keychain/index.d.ts +61 -81
- package/dist/src/keychain/index.d.ts.map +1 -1
- package/dist/src/keychain/index.js +493 -0
- package/dist/src/keychain/index.js.map +1 -0
- package/dist/src/keychain/util.d.ts +3 -6
- package/dist/src/keychain/util.d.ts.map +1 -1
- package/dist/src/keychain/util.js +79 -0
- package/dist/src/keychain/util.js.map +1 -0
- package/dist/src/libp2p.d.ts +78 -0
- package/dist/src/libp2p.d.ts.map +1 -0
- package/dist/src/libp2p.js +375 -0
- package/dist/src/libp2p.js.map +1 -0
- package/dist/src/metrics/index.d.ts +47 -104
- package/dist/src/metrics/index.d.ts.map +1 -1
- package/dist/src/metrics/index.js +231 -0
- package/dist/src/metrics/index.js.map +1 -0
- package/dist/src/metrics/moving-average.d.ts +14 -0
- package/dist/src/metrics/moving-average.d.ts.map +1 -0
- package/dist/src/metrics/moving-average.js +40 -0
- package/dist/src/metrics/moving-average.js.map +1 -0
- package/dist/src/metrics/stats.d.ts +41 -93
- package/dist/src/metrics/stats.d.ts.map +1 -1
- package/dist/src/metrics/stats.js +183 -0
- package/dist/src/metrics/stats.js.map +1 -0
- package/dist/src/nat-manager.d.ts +42 -99
- package/dist/src/nat-manager.d.ts.map +1 -1
- package/dist/src/nat-manager.js +114 -0
- package/dist/src/nat-manager.js.map +1 -0
- package/dist/src/peer-record-updater.d.ts +15 -0
- package/dist/src/peer-record-updater.d.ts.map +1 -0
- package/dist/src/peer-record-updater.js +44 -0
- package/dist/src/peer-record-updater.js.map +1 -0
- package/dist/src/peer-routing.d.ts +39 -84
- package/dist/src/peer-routing.d.ts.map +1 -1
- package/dist/src/peer-routing.js +108 -0
- package/dist/src/peer-routing.js.map +1 -0
- package/dist/src/ping/constants.d.ts +4 -4
- package/dist/src/ping/constants.d.ts.map +1 -1
- package/dist/src/ping/constants.js +5 -0
- package/dist/src/ping/constants.js.map +1 -0
- package/dist/src/ping/index.d.ts +17 -31
- package/dist/src/ping/index.d.ts.map +1 -1
- package/dist/src/ping/index.js +56 -0
- package/dist/src/ping/index.js.map +1 -0
- package/dist/src/pnet/crypto.d.ts +15 -5
- package/dist/src/pnet/crypto.d.ts.map +1 -1
- package/dist/src/pnet/crypto.js +60 -0
- package/dist/src/pnet/crypto.js.map +1 -0
- package/dist/src/pnet/errors.d.ts +5 -5
- package/dist/src/pnet/errors.d.ts.map +1 -1
- package/dist/src/pnet/errors.js +6 -0
- package/dist/src/pnet/errors.js.map +1 -0
- package/dist/src/pnet/index.d.ts +11 -20
- package/dist/src/pnet/index.d.ts.map +1 -1
- package/dist/src/pnet/index.js +66 -0
- package/dist/src/pnet/index.js.map +1 -0
- package/dist/src/pnet/key-generator.d.ts +3 -7
- package/dist/src/pnet/key-generator.d.ts.map +1 -1
- package/dist/src/pnet/key-generator.js +25 -0
- package/dist/src/pnet/key-generator.js.map +1 -0
- package/dist/src/registrar.d.ts +27 -65
- package/dist/src/registrar.d.ts.map +1 -1
- package/dist/src/registrar.js +159 -0
- package/dist/src/registrar.js.map +1 -0
- package/dist/src/transport-manager.d.ts +34 -82
- package/dist/src/transport-manager.d.ts.map +1 -1
- package/dist/src/transport-manager.js +223 -0
- package/dist/src/transport-manager.js.map +1 -0
- package/dist/src/upgrader.d.ts +49 -129
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +402 -0
- package/dist/src/upgrader.js.map +1 -0
- package/dist/src/version.d.ts +3 -0
- package/dist/src/version.d.ts.map +1 -0
- package/dist/src/version.js +3 -0
- package/dist/src/version.js.map +1 -0
- package/package.json +150 -197
- package/src/address-manager/index.ts +129 -0
- package/src/circuit/README.md +16 -11
- package/src/circuit/auto-relay.ts +284 -0
- package/src/circuit/circuit/hop.ts +211 -0
- package/src/circuit/circuit/stop.ts +78 -0
- package/src/circuit/circuit/stream-handler.ts +86 -0
- package/src/circuit/circuit/{utils.js → utils.ts} +9 -25
- package/src/circuit/constants.ts +31 -0
- package/src/circuit/index.ts +120 -0
- package/src/circuit/{listener.js → listener.ts} +21 -27
- package/src/circuit/multicodec.ts +2 -0
- package/src/circuit/{protocol → pb}/index.proto +1 -1
- package/src/circuit/pb/index.ts +88 -0
- package/src/circuit/transport.ts +216 -0
- package/src/circuit/utils.ts +12 -0
- package/src/config.ts +101 -0
- package/src/connection-manager/auto-dialler.ts +154 -0
- package/src/connection-manager/index.ts +422 -0
- package/src/connection-manager/latency-monitor.ts +319 -0
- package/src/connection-manager/{visibility-change-emitter.js → visibility-change-emitter.ts} +48 -38
- package/src/constants.ts +31 -0
- package/src/content-routing/index.ts +143 -0
- package/src/content-routing/utils.ts +54 -0
- package/src/dht/dht-content-routing.ts +43 -0
- package/src/dht/dht-peer-routing.ts +35 -0
- package/src/dialer/auto-dialer.ts +40 -0
- package/src/dialer/{dial-request.js → dial-request.ts} +60 -51
- package/src/dialer/index.ts +371 -0
- package/src/errors.ts +71 -0
- package/src/fetch/README.md +1 -1
- package/src/fetch/constants.ts +3 -0
- package/src/fetch/index.ts +167 -0
- package/src/fetch/{proto.proto → pb/proto.proto} +0 -0
- package/src/fetch/pb/proto.ts +58 -0
- package/src/get-peer.ts +57 -0
- package/src/identify/consts.ts +13 -0
- package/src/identify/index.ts +445 -0
- package/src/identify/{message.proto → pb/message.proto} +0 -0
- package/src/identify/pb/message.ts +36 -0
- package/src/index.ts +242 -0
- package/src/insecure/index.ts +101 -0
- package/src/insecure/{proto.proto → pb/proto.proto} +0 -0
- package/src/insecure/pb/proto.ts +61 -0
- package/src/keychain/{cms.js → cms.ts} +62 -58
- package/src/keychain/index.ts +588 -0
- package/src/keychain/{util.js → util.ts} +7 -17
- package/src/libp2p.ts +513 -0
- package/src/metrics/index.ts +310 -0
- package/src/metrics/moving-average.ts +53 -0
- package/src/metrics/stats.ts +238 -0
- package/src/nat-manager.ts +194 -0
- package/src/peer-record-updater.ts +55 -0
- package/src/peer-routing.ts +185 -0
- package/src/ping/README.md +1 -1
- package/src/ping/constants.ts +5 -0
- package/src/ping/index.ts +83 -0
- package/src/pnet/README.md +2 -2
- package/src/pnet/crypto.ts +67 -0
- package/src/pnet/errors.ts +5 -0
- package/src/pnet/index.ts +95 -0
- package/src/pnet/key-generator.ts +28 -0
- package/src/registrar.ts +205 -0
- package/src/transport-manager.ts +279 -0
- package/src/upgrader.ts +499 -0
- package/src/version.ts +3 -0
- package/dist/index.min.js +0 -55
- package/dist/src/circuit/protocol/index.d.ts +0 -173
- package/dist/src/fetch/proto.d.ts +0 -134
- package/dist/src/identify/message.d.ts +0 -95
- package/dist/src/insecure/plaintext.d.ts +0 -12
- package/dist/src/insecure/plaintext.d.ts.map +0 -1
- package/dist/src/insecure/proto.d.ts +0 -128
- package/dist/src/metrics/old-peers.d.ts +0 -3
- package/dist/src/metrics/old-peers.d.ts.map +0 -1
- package/dist/src/metrics/tracked-map.d.ts +0 -8
- package/dist/src/metrics/tracked-map.d.ts.map +0 -1
- package/dist/src/peer-store/address-book.d.ts +0 -67
- package/dist/src/peer-store/address-book.d.ts.map +0 -1
- package/dist/src/peer-store/index.d.ts +0 -58
- package/dist/src/peer-store/index.d.ts.map +0 -1
- package/dist/src/peer-store/key-book.d.ts +0 -40
- package/dist/src/peer-store/key-book.d.ts.map +0 -1
- package/dist/src/peer-store/metadata-book.d.ts +0 -58
- package/dist/src/peer-store/metadata-book.d.ts.map +0 -1
- package/dist/src/peer-store/pb/peer.d.ts +0 -222
- package/dist/src/peer-store/proto-book.d.ts +0 -43
- package/dist/src/peer-store/proto-book.d.ts.map +0 -1
- package/dist/src/peer-store/store.d.ts +0 -73
- package/dist/src/peer-store/store.d.ts.map +0 -1
- package/dist/src/peer-store/types.d.ts +0 -202
- package/dist/src/peer-store/types.d.ts.map +0 -1
- package/dist/src/ping/util.d.ts +0 -5
- package/dist/src/ping/util.d.ts.map +0 -1
- package/dist/src/pubsub-adapter.d.ts +0 -22
- package/dist/src/pubsub-adapter.d.ts.map +0 -1
- package/dist/src/record/envelope/envelope.d.ts +0 -77
- package/dist/src/record/envelope/index.d.ts +0 -80
- package/dist/src/record/envelope/index.d.ts.map +0 -1
- package/dist/src/record/peer-record/consts.d.ts +0 -4
- package/dist/src/record/peer-record/consts.d.ts.map +0 -1
- package/dist/src/record/peer-record/index.d.ts +0 -60
- package/dist/src/record/peer-record/index.d.ts.map +0 -1
- package/dist/src/record/peer-record/peer-record.d.ts +0 -133
- package/dist/src/record/utils.d.ts +0 -12
- package/dist/src/record/utils.d.ts.map +0 -1
- package/dist/src/types.d.ts +0 -90
- package/dist/src/types.d.ts.map +0 -1
- package/src/address-manager/index.js +0 -96
- package/src/circuit/auto-relay.js +0 -302
- package/src/circuit/circuit/hop.js +0 -205
- package/src/circuit/circuit/stop.js +0 -81
- package/src/circuit/circuit/stream-handler.js +0 -94
- package/src/circuit/constants.js +0 -12
- package/src/circuit/index.js +0 -102
- package/src/circuit/multicodec.js +0 -5
- package/src/circuit/protocol/index.d.ts +0 -173
- package/src/circuit/protocol/index.js +0 -530
- package/src/circuit/transport.js +0 -229
- package/src/circuit/utils.js +0 -17
- package/src/config.js +0 -114
- package/src/connection-manager/auto-dialler.js +0 -132
- package/src/connection-manager/index.js +0 -363
- package/src/connection-manager/latency-monitor.js +0 -264
- package/src/constants.js +0 -18
- package/src/content-routing/index.js +0 -163
- package/src/content-routing/utils.js +0 -89
- package/src/dht/dht-content-routing.js +0 -44
- package/src/dht/dht-peer-routing.js +0 -51
- package/src/dialer/index.js +0 -376
- package/src/errors.js +0 -66
- package/src/fetch/constants.js +0 -6
- package/src/fetch/index.js +0 -159
- package/src/fetch/proto.d.ts +0 -134
- package/src/fetch/proto.js +0 -333
- package/src/get-peer.js +0 -49
- package/src/identify/consts.js +0 -15
- package/src/identify/index.js +0 -384
- package/src/identify/message.d.ts +0 -95
- package/src/identify/message.js +0 -328
- package/src/index.js +0 -813
- package/src/insecure/plaintext.js +0 -95
- package/src/insecure/proto.d.ts +0 -128
- package/src/insecure/proto.js +0 -371
- package/src/keychain/index.js +0 -561
- package/src/metrics/index.js +0 -290
- package/src/metrics/old-peers.js +0 -16
- package/src/metrics/stats.js +0 -270
- package/src/metrics/tracked-map.js +0 -94
- package/src/nat-manager.js +0 -197
- package/src/peer-routing.js +0 -176
- package/src/peer-store/README.md +0 -145
- package/src/peer-store/address-book.js +0 -382
- package/src/peer-store/index.js +0 -121
- package/src/peer-store/key-book.js +0 -141
- package/src/peer-store/metadata-book.js +0 -250
- package/src/peer-store/pb/peer.d.ts +0 -222
- package/src/peer-store/pb/peer.js +0 -643
- package/src/peer-store/pb/peer.proto +0 -31
- package/src/peer-store/proto-book.js +0 -237
- package/src/peer-store/store.js +0 -263
- package/src/peer-store/types.ts +0 -245
- package/src/ping/constants.js +0 -8
- package/src/ping/index.js +0 -84
- package/src/ping/util.js +0 -18
- package/src/pnet/crypto.js +0 -84
- package/src/pnet/errors.js +0 -7
- package/src/pnet/index.js +0 -86
- package/src/pnet/key-generator.js +0 -33
- package/src/pubsub-adapter.js +0 -61
- package/src/record/README.md +0 -130
- package/src/record/envelope/envelope.d.ts +0 -77
- package/src/record/envelope/envelope.js +0 -243
- package/src/record/envelope/envelope.proto +0 -19
- package/src/record/envelope/index.js +0 -183
- package/src/record/peer-record/consts.js +0 -14
- package/src/record/peer-record/index.js +0 -113
- package/src/record/peer-record/peer-record.d.ts +0 -133
- package/src/record/peer-record/peer-record.js +0 -367
- package/src/record/peer-record/peer-record.proto +0 -18
- package/src/record/utils.js +0 -25
- package/src/registrar.js +0 -127
- package/src/transport-manager.js +0 -269
- package/src/types.ts +0 -98
- package/src/upgrader.js +0 -492
package/dist/src/index.d.ts
CHANGED
|
@@ -1,534 +1,205 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
* @property {Object} [dht]
|
|
66
|
-
* @property {{new(...args: any[]): Pubsub}} [pubsub]
|
|
67
|
-
* @property {Protector} [connProtector]
|
|
68
|
-
*
|
|
69
|
-
* @typedef {Object} Libp2pOptions
|
|
70
|
-
* @property {Libp2pModules} modules libp2p modules to use
|
|
71
|
-
* @property {import('./address-manager').AddressManagerOptions} [addresses]
|
|
72
|
-
* @property {import('./connection-manager').ConnectionManagerOptions} [connectionManager]
|
|
73
|
-
* @property {Partial<import('./types').ConnectionGater>} [connectionGater]
|
|
74
|
-
* @property {Datastore} [datastore]
|
|
75
|
-
* @property {import('./dialer').DialerOptions} [dialer]
|
|
76
|
-
* @property {import('./identify/index').HostProperties} [host] libp2p host
|
|
77
|
-
* @property {KeychainOptions & import('./keychain/index').KeychainOptions} [keychain]
|
|
78
|
-
* @property {MetricsOptions & import('./metrics').MetricsOptions} [metrics]
|
|
79
|
-
* @property {import('./peer-routing').PeerRoutingOptions} [peerRouting]
|
|
80
|
-
* @property {PeerStoreOptions} [peerStore]
|
|
81
|
-
* @property {import('./transport-manager').TransportManagerOptions} [transportManager]
|
|
82
|
-
* @property {Libp2pConfig} [config]
|
|
83
|
-
*
|
|
84
|
-
* @typedef {Object} constructorOptions
|
|
85
|
-
* @property {PeerId} peerId
|
|
86
|
-
*
|
|
87
|
-
* @typedef {Object} CreateOptions
|
|
88
|
-
* @property {PeerId} [peerId]
|
|
89
|
-
*
|
|
90
|
-
* @extends {EventEmitter}
|
|
91
|
-
* @fires Libp2p#error Emitted when an error occurs
|
|
92
|
-
* @fires Libp2p#peer:discovery Emitted when a peer is discovered
|
|
93
|
-
*/
|
|
94
|
-
declare class Libp2p extends EventEmitter {
|
|
1
|
+
import type { AbortOptions, EventEmitter, RecursivePartial, Startable } from '@libp2p/interfaces';
|
|
2
|
+
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
3
|
+
import type { FaultTolerance } from './transport-manager.js';
|
|
4
|
+
import type { HostProperties } from './identify/index.js';
|
|
5
|
+
import type { DualDHT } from '@libp2p/interfaces/dht';
|
|
6
|
+
import type { Datastore } from 'interface-datastore';
|
|
7
|
+
import type { PeerStore, PeerStoreInit } from '@libp2p/interfaces/peer-store';
|
|
8
|
+
import type { PeerId } from '@libp2p/interfaces/peer-id';
|
|
9
|
+
import type { AutoRelayConfig, RelayAdvertiseConfig } from './circuit/index.js';
|
|
10
|
+
import type { PeerDiscovery } from '@libp2p/interfaces/peer-discovery';
|
|
11
|
+
import type { Connection, ConnectionGater, ConnectionProtector, ProtocolStream } from '@libp2p/interfaces/connection';
|
|
12
|
+
import type { Transport } from '@libp2p/interfaces/transport';
|
|
13
|
+
import type { StreamMuxerFactory } from '@libp2p/interfaces/stream-muxer';
|
|
14
|
+
import type { ConnectionEncrypter } from '@libp2p/interfaces/connection-encrypter';
|
|
15
|
+
import type { PeerRouting } from '@libp2p/interfaces/peer-routing';
|
|
16
|
+
import type { ContentRouting } from '@libp2p/interfaces/content-routing';
|
|
17
|
+
import type { PubSub } from '@libp2p/interfaces/pubsub';
|
|
18
|
+
import type { ConnectionManager, Registrar, StreamHandler } from '@libp2p/interfaces/registrar';
|
|
19
|
+
import type { Metrics, MetricsInit } from '@libp2p/interfaces/metrics';
|
|
20
|
+
import type { PeerInfo } from '@libp2p/interfaces/peer-info';
|
|
21
|
+
import type { DialerInit } from '@libp2p/interfaces/dialer';
|
|
22
|
+
import type { KeyChain } from './keychain/index.js';
|
|
23
|
+
export interface PersistentPeerStoreOptions {
|
|
24
|
+
threshold?: number;
|
|
25
|
+
}
|
|
26
|
+
export interface DEKConfig {
|
|
27
|
+
keyLength: number;
|
|
28
|
+
iterationCount: number;
|
|
29
|
+
salt: string;
|
|
30
|
+
hash: string;
|
|
31
|
+
}
|
|
32
|
+
export interface KeychainConfig {
|
|
33
|
+
pass?: string;
|
|
34
|
+
dek?: DEKConfig;
|
|
35
|
+
}
|
|
36
|
+
export interface MetricsConfig {
|
|
37
|
+
enabled?: boolean;
|
|
38
|
+
}
|
|
39
|
+
export interface HopConfig {
|
|
40
|
+
enabled?: boolean;
|
|
41
|
+
active?: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface RelayConfig {
|
|
44
|
+
enabled: boolean;
|
|
45
|
+
advertise: RelayAdvertiseConfig;
|
|
46
|
+
hop: HopConfig;
|
|
47
|
+
autoRelay: AutoRelayConfig;
|
|
48
|
+
}
|
|
49
|
+
export interface NatManagerConfig {
|
|
50
|
+
enabled: boolean;
|
|
51
|
+
externalAddress?: string;
|
|
52
|
+
localAddress?: string;
|
|
53
|
+
description?: string;
|
|
54
|
+
ttl?: number;
|
|
55
|
+
keepAlive: boolean;
|
|
56
|
+
gateway?: string;
|
|
57
|
+
}
|
|
58
|
+
export interface AddressesConfig {
|
|
59
|
+
listen: string[];
|
|
60
|
+
announce: string[];
|
|
61
|
+
noAnnounce: string[];
|
|
62
|
+
announceFilter: (multiaddrs: Multiaddr[]) => Multiaddr[];
|
|
63
|
+
}
|
|
64
|
+
export interface ConnectionManagerConfig {
|
|
95
65
|
/**
|
|
96
|
-
*
|
|
97
|
-
* instance if one is not provided in options.
|
|
98
|
-
*
|
|
99
|
-
* @param {Libp2pOptions & CreateOptions} options - Libp2p configuration options
|
|
100
|
-
* @returns {Promise<Libp2p>}
|
|
66
|
+
* If true, try to connect to all discovered peers up to the connection manager limit
|
|
101
67
|
*/
|
|
102
|
-
|
|
68
|
+
autoDial?: boolean;
|
|
103
69
|
/**
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
* @class
|
|
107
|
-
* @param {Libp2pOptions & constructorOptions} _options
|
|
70
|
+
* The maximum number of connections to keep open
|
|
108
71
|
*/
|
|
109
|
-
|
|
110
|
-
_options: {
|
|
111
|
-
addresses: {
|
|
112
|
-
listen: never[];
|
|
113
|
-
announce: never[];
|
|
114
|
-
noAnnounce: never[];
|
|
115
|
-
announceFilter: (multiaddrs: Multiaddr[]) => Multiaddr[];
|
|
116
|
-
};
|
|
117
|
-
connectionManager: {
|
|
118
|
-
minConnections: number;
|
|
119
|
-
};
|
|
120
|
-
connectionGater: {};
|
|
121
|
-
transportManager: {
|
|
122
|
-
faultTolerance: number;
|
|
123
|
-
};
|
|
124
|
-
dialer: {
|
|
125
|
-
maxParallelDials: number;
|
|
126
|
-
maxDialsPerPeer: number;
|
|
127
|
-
dialTimeout: number;
|
|
128
|
-
resolvers: {
|
|
129
|
-
dnsaddr: any;
|
|
130
|
-
};
|
|
131
|
-
addressSorter: typeof import("libp2p-utils/src/address-sort").publicAddressesFirst;
|
|
132
|
-
};
|
|
133
|
-
host: {
|
|
134
|
-
agentVersion: string;
|
|
135
|
-
};
|
|
136
|
-
metrics: {
|
|
137
|
-
enabled: boolean;
|
|
138
|
-
};
|
|
139
|
-
peerStore: {
|
|
140
|
-
persistence: boolean;
|
|
141
|
-
threshold: number;
|
|
142
|
-
};
|
|
143
|
-
peerRouting: {
|
|
144
|
-
refreshManager: {
|
|
145
|
-
enabled: boolean;
|
|
146
|
-
interval: number;
|
|
147
|
-
bootDelay: number;
|
|
148
|
-
};
|
|
149
|
-
};
|
|
150
|
-
config: {
|
|
151
|
-
protocolPrefix: string;
|
|
152
|
-
dht: {
|
|
153
|
-
enabled: boolean;
|
|
154
|
-
kBucketSize: number;
|
|
155
|
-
};
|
|
156
|
-
nat: {
|
|
157
|
-
enabled: boolean;
|
|
158
|
-
ttl: number;
|
|
159
|
-
keepAlive: boolean;
|
|
160
|
-
gateway: null;
|
|
161
|
-
externalIp: null;
|
|
162
|
-
pmp: {
|
|
163
|
-
enabled: boolean;
|
|
164
|
-
};
|
|
165
|
-
};
|
|
166
|
-
peerDiscovery: {
|
|
167
|
-
autoDial: boolean;
|
|
168
|
-
};
|
|
169
|
-
pubsub: {
|
|
170
|
-
enabled: boolean;
|
|
171
|
-
};
|
|
172
|
-
relay: {
|
|
173
|
-
enabled: boolean;
|
|
174
|
-
advertise: {
|
|
175
|
-
bootDelay: number;
|
|
176
|
-
enabled: boolean;
|
|
177
|
-
ttl: number;
|
|
178
|
-
};
|
|
179
|
-
hop: {
|
|
180
|
-
enabled: boolean;
|
|
181
|
-
active: boolean;
|
|
182
|
-
};
|
|
183
|
-
autoRelay: {
|
|
184
|
-
enabled: boolean;
|
|
185
|
-
maxListeners: number;
|
|
186
|
-
};
|
|
187
|
-
};
|
|
188
|
-
transport: {};
|
|
189
|
-
};
|
|
190
|
-
} & Libp2pOptions & constructorOptions;
|
|
191
|
-
/** @type {PeerId} */
|
|
192
|
-
peerId: PeerId;
|
|
193
|
-
datastore: import("interface-datastore").Datastore | undefined;
|
|
194
|
-
metrics: Metrics | undefined;
|
|
195
|
-
/** @type {ConnectionGater} */
|
|
196
|
-
connectionGater: ConnectionGater;
|
|
197
|
-
/** @type {import('./peer-store/types').PeerStore} */
|
|
198
|
-
peerStore: import('./peer-store/types').PeerStore;
|
|
199
|
-
addresses: {
|
|
200
|
-
listen: never[];
|
|
201
|
-
announce: never[];
|
|
202
|
-
noAnnounce: never[];
|
|
203
|
-
announceFilter: (multiaddrs: Multiaddr[]) => Multiaddr[];
|
|
204
|
-
} & AddressManager.AddressManagerOptions;
|
|
205
|
-
addressManager: AddressManager;
|
|
206
|
-
_modules: Libp2pModules;
|
|
207
|
-
_config: {
|
|
208
|
-
protocolPrefix: string;
|
|
209
|
-
dht: {
|
|
210
|
-
enabled: boolean;
|
|
211
|
-
kBucketSize: number;
|
|
212
|
-
};
|
|
213
|
-
nat: {
|
|
214
|
-
enabled: boolean;
|
|
215
|
-
ttl: number;
|
|
216
|
-
keepAlive: boolean;
|
|
217
|
-
gateway: null;
|
|
218
|
-
externalIp: null;
|
|
219
|
-
pmp: {
|
|
220
|
-
enabled: boolean;
|
|
221
|
-
};
|
|
222
|
-
};
|
|
223
|
-
peerDiscovery: {
|
|
224
|
-
autoDial: boolean;
|
|
225
|
-
};
|
|
226
|
-
pubsub: {
|
|
227
|
-
enabled: boolean;
|
|
228
|
-
};
|
|
229
|
-
relay: {
|
|
230
|
-
enabled: boolean;
|
|
231
|
-
advertise: {
|
|
232
|
-
bootDelay: number;
|
|
233
|
-
enabled: boolean;
|
|
234
|
-
ttl: number;
|
|
235
|
-
};
|
|
236
|
-
hop: {
|
|
237
|
-
enabled: boolean;
|
|
238
|
-
active: boolean;
|
|
239
|
-
};
|
|
240
|
-
autoRelay: {
|
|
241
|
-
enabled: boolean;
|
|
242
|
-
maxListeners: number;
|
|
243
|
-
};
|
|
244
|
-
};
|
|
245
|
-
transport: {};
|
|
246
|
-
} & Libp2pConfig;
|
|
247
|
-
_transport: any[];
|
|
248
|
-
_discovery: Map<any, any>;
|
|
249
|
-
connectionManager: ConnectionManager;
|
|
250
|
-
_autodialler: AutoDialler;
|
|
251
|
-
keychain: Keychain | undefined;
|
|
252
|
-
upgrader: Upgrader;
|
|
253
|
-
transportManager: TransportManager;
|
|
254
|
-
natManager: NatManager;
|
|
255
|
-
registrar: Registrar;
|
|
72
|
+
maxConnections: number;
|
|
256
73
|
/**
|
|
257
|
-
*
|
|
258
|
-
*
|
|
259
|
-
* @param {string[]|string} protocols
|
|
260
|
-
* @param {(props: HandlerProps) => void} handler
|
|
74
|
+
* The minimum number of connections to keep open
|
|
261
75
|
*/
|
|
262
|
-
|
|
263
|
-
dialer: Dialer;
|
|
264
|
-
relay: Relay | undefined;
|
|
265
|
-
identifyService: IdentifyService | undefined;
|
|
266
|
-
_dht: any;
|
|
267
|
-
/** @type {Pubsub} */
|
|
268
|
-
pubsub: import("libp2p-interfaces/src/pubsub");
|
|
269
|
-
peerRouting: PeerRouting;
|
|
270
|
-
contentRouting: ContentRouting;
|
|
76
|
+
minConnections: number;
|
|
271
77
|
/**
|
|
272
|
-
*
|
|
273
|
-
*
|
|
274
|
-
*
|
|
275
|
-
* @private
|
|
276
|
-
* @param {{ id: PeerId, multiaddrs: Multiaddr[], protocols: string[] }} peer
|
|
78
|
+
* How long to wait between attempting to keep our number of concurrent connections
|
|
79
|
+
* above minConnections
|
|
277
80
|
*/
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
81
|
+
autoDialInterval: number;
|
|
82
|
+
}
|
|
83
|
+
export interface TransportManagerConfig {
|
|
84
|
+
faultTolerance?: FaultTolerance;
|
|
85
|
+
}
|
|
86
|
+
export interface PeerStoreConfig {
|
|
87
|
+
persistence?: boolean;
|
|
88
|
+
threshold?: number;
|
|
89
|
+
}
|
|
90
|
+
export interface PeerRoutingConfig {
|
|
91
|
+
refreshManager: RefreshManagerConfig;
|
|
92
|
+
}
|
|
93
|
+
export interface RefreshManagerConfig {
|
|
94
|
+
enabled?: boolean;
|
|
95
|
+
interval: number;
|
|
96
|
+
bootDelay: number;
|
|
97
|
+
}
|
|
98
|
+
export interface Libp2pInit {
|
|
99
|
+
peerId: PeerId;
|
|
100
|
+
host: HostProperties;
|
|
101
|
+
addresses: AddressesConfig;
|
|
102
|
+
connectionManager: ConnectionManagerConfig;
|
|
103
|
+
connectionGater: Partial<ConnectionGater>;
|
|
104
|
+
transportManager: TransportManagerConfig;
|
|
105
|
+
datastore: Datastore;
|
|
106
|
+
dialer: DialerInit;
|
|
107
|
+
metrics: MetricsInit;
|
|
108
|
+
peerStore: PeerStoreInit;
|
|
109
|
+
peerRouting: PeerRoutingConfig;
|
|
110
|
+
keychain: KeychainConfig;
|
|
111
|
+
protocolPrefix: string;
|
|
112
|
+
nat: NatManagerConfig;
|
|
113
|
+
relay: RelayConfig;
|
|
114
|
+
transports: Transport[];
|
|
115
|
+
streamMuxers?: StreamMuxerFactory[];
|
|
116
|
+
connectionEncryption?: ConnectionEncrypter[];
|
|
117
|
+
peerDiscovery?: PeerDiscovery[];
|
|
118
|
+
peerRouters?: PeerRouting[];
|
|
119
|
+
contentRouters?: ContentRouting[];
|
|
120
|
+
dht?: DualDHT;
|
|
121
|
+
pubsub?: PubSub;
|
|
122
|
+
connectionProtector?: ConnectionProtector;
|
|
123
|
+
}
|
|
124
|
+
export interface Libp2pEvents {
|
|
125
|
+
'peer:discovery': CustomEvent<PeerInfo>;
|
|
126
|
+
}
|
|
127
|
+
export interface Libp2p extends Startable, EventEmitter<Libp2pEvents> {
|
|
128
|
+
peerId: PeerId;
|
|
129
|
+
peerStore: PeerStore;
|
|
130
|
+
peerRouting: PeerRouting;
|
|
131
|
+
contentRouting: ContentRouting;
|
|
132
|
+
keychain: KeyChain;
|
|
133
|
+
connectionManager: ConnectionManager;
|
|
134
|
+
registrar: Registrar;
|
|
135
|
+
metrics?: Metrics;
|
|
136
|
+
pubsub?: PubSub;
|
|
137
|
+
dht?: DualDHT;
|
|
281
138
|
/**
|
|
282
|
-
*
|
|
283
|
-
*
|
|
284
|
-
* @returns {Promise<void>}
|
|
139
|
+
* Load keychain keys from the datastore.
|
|
140
|
+
* Imports the private key as 'self', if needed.
|
|
285
141
|
*/
|
|
286
|
-
|
|
142
|
+
loadKeychain: () => Promise<void>;
|
|
287
143
|
/**
|
|
288
|
-
*
|
|
144
|
+
* Get a deduplicated list of peer advertising multiaddrs by concatenating
|
|
145
|
+
* the listen addresses used by transports with any configured
|
|
146
|
+
* announce addresses as well as observed addresses reported by peers.
|
|
289
147
|
*
|
|
290
|
-
*
|
|
291
|
-
*
|
|
148
|
+
* If Announce addrs are specified, configured listen addresses will be
|
|
149
|
+
* ignored though observed addresses will still be included.
|
|
292
150
|
*/
|
|
293
|
-
|
|
294
|
-
_isStarted: boolean | undefined;
|
|
151
|
+
getMultiaddrs: () => Multiaddr[];
|
|
295
152
|
/**
|
|
296
|
-
*
|
|
297
|
-
*
|
|
298
|
-
*
|
|
299
|
-
* @async
|
|
300
|
-
* @returns {Promise<void>}
|
|
153
|
+
* Return a list of all connections this node has open, optionally filtering
|
|
154
|
+
* by a PeerId
|
|
301
155
|
*/
|
|
302
|
-
|
|
303
|
-
isStarted(): boolean | undefined;
|
|
156
|
+
getConnections: (peerId?: PeerId) => Connection[];
|
|
304
157
|
/**
|
|
305
|
-
*
|
|
306
|
-
* `PeerId` of the peer. The value is an array of Connections to that peer.
|
|
307
|
-
*
|
|
308
|
-
* @returns {Map<string, Connection[]>}
|
|
158
|
+
* Return a list of all peers we currently have a connection open to
|
|
309
159
|
*/
|
|
310
|
-
|
|
160
|
+
getPeers: () => PeerId[];
|
|
311
161
|
/**
|
|
312
162
|
* Dials to the provided peer. If successful, the known metadata of the
|
|
313
163
|
* peer will be added to the nodes `peerStore`
|
|
314
|
-
*
|
|
315
|
-
* @param {PeerId|Multiaddr|string} peer - The peer to dial
|
|
316
|
-
* @param {object} [options]
|
|
317
|
-
* @param {AbortSignal} [options.signal]
|
|
318
|
-
* @returns {Promise<Connection>}
|
|
319
164
|
*/
|
|
320
|
-
dial(peer: PeerId | Multiaddr
|
|
321
|
-
signal?: AbortSignal | undefined;
|
|
322
|
-
} | undefined): Promise<Connection>;
|
|
165
|
+
dial: (peer: PeerId | Multiaddr, options?: AbortOptions) => Promise<Connection>;
|
|
323
166
|
/**
|
|
324
167
|
* Dials to the provided peer and tries to handshake with the given protocols in order.
|
|
325
168
|
* If successful, the known metadata of the peer will be added to the nodes `peerStore`,
|
|
326
169
|
* and the `MuxedStream` will be returned together with the successful negotiated protocol.
|
|
327
|
-
*
|
|
328
|
-
* @async
|
|
329
|
-
* @param {PeerId|Multiaddr|string} peer - The peer to dial
|
|
330
|
-
* @param {string[]|string} protocols
|
|
331
|
-
* @param {object} [options]
|
|
332
|
-
* @param {AbortSignal} [options.signal]
|
|
333
170
|
*/
|
|
334
|
-
dialProtocol(peer: PeerId | Multiaddr
|
|
335
|
-
signal?: AbortSignal | undefined;
|
|
336
|
-
} | undefined): Promise<{
|
|
337
|
-
stream: import("libp2p-interfaces/src/stream-muxer/types").MuxedStream;
|
|
338
|
-
protocol: string;
|
|
339
|
-
}>;
|
|
340
|
-
/**
|
|
341
|
-
* @async
|
|
342
|
-
* @param {PeerId|Multiaddr|string} peer - The peer to dial
|
|
343
|
-
* @param {object} [options]
|
|
344
|
-
* @returns {Promise<Connection>}
|
|
345
|
-
*/
|
|
346
|
-
_dial(peer: PeerId | Multiaddr | string, options?: object | undefined): Promise<Connection>;
|
|
347
|
-
/**
|
|
348
|
-
* Get a deduplicated list of peer advertising multiaddrs by concatenating
|
|
349
|
-
* the listen addresses used by transports with any configured
|
|
350
|
-
* announce addresses as well as observed addresses reported by peers.
|
|
351
|
-
*
|
|
352
|
-
* If Announce addrs are specified, configured listen addresses will be
|
|
353
|
-
* ignored though observed addresses will still be included.
|
|
354
|
-
*
|
|
355
|
-
* @returns {Multiaddr[]}
|
|
356
|
-
*/
|
|
357
|
-
get multiaddrs(): Multiaddr[];
|
|
171
|
+
dialProtocol: (peer: PeerId | Multiaddr, protocols: string | string[], options?: AbortOptions) => Promise<ProtocolStream>;
|
|
358
172
|
/**
|
|
359
173
|
* Disconnects all connections to the given `peer`
|
|
360
|
-
*
|
|
361
|
-
* @param {PeerId|Multiaddr|string} peer - the peer to close connections to
|
|
362
|
-
* @returns {Promise<void>}
|
|
363
174
|
*/
|
|
364
|
-
hangUp(peer: PeerId | Multiaddr | string)
|
|
175
|
+
hangUp: (peer: PeerId | Multiaddr | string) => Promise<void>;
|
|
365
176
|
/**
|
|
366
|
-
*
|
|
367
|
-
*
|
|
368
|
-
* @param {PeerId|Multiaddr} peer
|
|
369
|
-
* @param {string} key
|
|
370
|
-
* @returns {Promise<Uint8Array | null>}
|
|
371
|
-
*/
|
|
372
|
-
fetch(peer: PeerId | Multiaddr, key: string): Promise<Uint8Array | null>;
|
|
373
|
-
/**
|
|
374
|
-
* Pings the given peer in order to obtain the operation latency.
|
|
375
|
-
*
|
|
376
|
-
* @param {PeerId|Multiaddr|string} peer - The peer to ping
|
|
377
|
-
* @returns {Promise<number>}
|
|
177
|
+
* Registers the `handler` for each protocol
|
|
378
178
|
*/
|
|
379
|
-
|
|
179
|
+
handle: (protocol: string | string[], handler: StreamHandler) => Promise<void>;
|
|
380
180
|
/**
|
|
381
181
|
* Removes the handler for each protocol. The protocol
|
|
382
182
|
* will no longer be supported on streams.
|
|
383
|
-
*
|
|
384
|
-
* @param {string[]|string} protocols
|
|
385
183
|
*/
|
|
386
|
-
unhandle(protocols: string[] | string)
|
|
387
|
-
_onStarting(): Promise<void>;
|
|
184
|
+
unhandle: (protocols: string[] | string) => Promise<void>;
|
|
388
185
|
/**
|
|
389
|
-
*
|
|
390
|
-
*
|
|
391
|
-
* @private
|
|
186
|
+
* Pings the given peer in order to obtain the operation latency
|
|
392
187
|
*/
|
|
393
|
-
|
|
188
|
+
ping: (peer: Multiaddr | PeerId) => Promise<number>;
|
|
394
189
|
/**
|
|
395
|
-
*
|
|
396
|
-
* connected peers is less than the configured `ConnectionManager`
|
|
397
|
-
* minConnections.
|
|
398
|
-
*
|
|
399
|
-
* @private
|
|
400
|
-
* @param {PeerId} peerId
|
|
190
|
+
* Sends a request to fetch the value associated with the given key from the given peer.
|
|
401
191
|
*/
|
|
402
|
-
|
|
192
|
+
fetch: (peer: PeerId | Multiaddr | string, key: string) => Promise<Uint8Array | null>;
|
|
403
193
|
/**
|
|
404
|
-
*
|
|
405
|
-
*
|
|
406
|
-
* @async
|
|
407
|
-
* @private
|
|
194
|
+
* Returns the public key for the passed PeerId. If the PeerId is of the 'RSA' type
|
|
195
|
+
* this may mean searching the DHT if the key is not present in the KeyStore.
|
|
408
196
|
*/
|
|
409
|
-
|
|
197
|
+
getPublicKey: (peer: PeerId, options?: AbortOptions) => Promise<Uint8Array>;
|
|
410
198
|
}
|
|
411
|
-
declare
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
* libp2p modules to use
|
|
418
|
-
*/
|
|
419
|
-
modules: Libp2pModules;
|
|
420
|
-
addresses?: AddressManager.AddressManagerOptions | undefined;
|
|
421
|
-
connectionManager?: ConnectionManager.ConnectionManagerOptions | undefined;
|
|
422
|
-
connectionGater?: Partial<import("./types").ConnectionGater> | undefined;
|
|
423
|
-
datastore?: import("interface-datastore").Datastore | undefined;
|
|
424
|
-
dialer?: Dialer.DialerOptions | undefined;
|
|
425
|
-
/**
|
|
426
|
-
* libp2p host
|
|
427
|
-
*/
|
|
428
|
-
host?: IdentifyService.HostProperties | undefined;
|
|
429
|
-
keychain?: (KeychainOptions & Keychain.KeychainOptions) | undefined;
|
|
430
|
-
metrics?: (MetricsOptions & Metrics.MetricsOptions) | undefined;
|
|
431
|
-
peerRouting?: PeerRouting.PeerRoutingOptions | undefined;
|
|
432
|
-
peerStore?: PeerStoreOptions | undefined;
|
|
433
|
-
transportManager?: TransportManager.TransportManagerOptions | undefined;
|
|
434
|
-
config?: Libp2pConfig | undefined;
|
|
435
|
-
};
|
|
436
|
-
type constructorOptions = {
|
|
437
|
-
peerId: PeerId;
|
|
438
|
-
};
|
|
439
|
-
import PeerId = require("peer-id");
|
|
440
|
-
import Metrics = require("./metrics");
|
|
441
|
-
type ConnectionGater = import('./types').ConnectionGater;
|
|
442
|
-
import AddressManager = require("./address-manager");
|
|
443
|
-
type Libp2pModules = {
|
|
444
|
-
transport: import("libp2p-interfaces/src/transport/types").TransportFactory<any, any>[];
|
|
445
|
-
streamMuxer: MuxerFactory[];
|
|
446
|
-
connEncryption: Crypto[];
|
|
447
|
-
peerDiscovery?: import("libp2p-interfaces/src/peer-discovery/types").PeerDiscoveryFactory[] | undefined;
|
|
448
|
-
peerRouting?: import("libp2p-interfaces/src/peer-routing/types").PeerRouting[] | undefined;
|
|
449
|
-
contentRouting?: import("libp2p-interfaces/src/content-routing/types").ContentRouting[] | undefined;
|
|
450
|
-
dht?: Object | undefined;
|
|
451
|
-
pubsub?: (new (...args: any[]) => Pubsub) | undefined;
|
|
452
|
-
connProtector?: import("./pnet") | undefined;
|
|
453
|
-
};
|
|
454
|
-
type Libp2pConfig = {
|
|
455
|
-
/**
|
|
456
|
-
* dht module options
|
|
457
|
-
*/
|
|
458
|
-
dht?: DhtOptions | undefined;
|
|
459
|
-
nat?: NatManager.NatManagerOptions | undefined;
|
|
460
|
-
peerDiscovery?: Record<string, boolean | Object> | undefined;
|
|
461
|
-
/**
|
|
462
|
-
* pubsub module options
|
|
463
|
-
*/
|
|
464
|
-
pubsub?: (PubsubLocalOptions & import("libp2p-interfaces/src/pubsub").PubsubOptions) | undefined;
|
|
465
|
-
relay?: RelayOptions | undefined;
|
|
466
|
-
/**
|
|
467
|
-
* transport options indexed by transport key
|
|
468
|
-
*/
|
|
469
|
-
transport?: Record<string, Object> | undefined;
|
|
470
|
-
};
|
|
471
|
-
import ConnectionManager = require("./connection-manager");
|
|
472
|
-
import AutoDialler = require("./connection-manager/auto-dialler");
|
|
473
|
-
import Keychain = require("./keychain");
|
|
474
|
-
import Upgrader = require("./upgrader");
|
|
475
|
-
import TransportManager = require("./transport-manager");
|
|
476
|
-
import NatManager = require("./nat-manager");
|
|
477
|
-
import Registrar = require("./registrar");
|
|
478
|
-
type HandlerProps = {
|
|
479
|
-
connection: Connection;
|
|
480
|
-
stream: MuxedStream;
|
|
481
|
-
protocol: string;
|
|
482
|
-
};
|
|
483
|
-
import Dialer = require("./dialer");
|
|
484
|
-
import Relay = require("./circuit");
|
|
485
|
-
import IdentifyService = require("./identify");
|
|
486
|
-
import PeerRouting = require("./peer-routing");
|
|
487
|
-
import ContentRouting = require("./content-routing");
|
|
488
|
-
import FetchService = require("./fetch");
|
|
489
|
-
import PingService = require("./ping");
|
|
490
|
-
import { Multiaddr } from "multiaddr";
|
|
491
|
-
type Connection = import("libp2p-interfaces/src/connection/connection");
|
|
492
|
-
type CreateOptions = {
|
|
493
|
-
peerId?: PeerId | undefined;
|
|
494
|
-
};
|
|
495
|
-
type MuxedStream = import('libp2p-interfaces/src/stream-muxer/types').MuxedStream;
|
|
496
|
-
type TransportFactory = import('libp2p-interfaces/src/transport/types').TransportFactory<any, any>;
|
|
497
|
-
type MuxerFactory = import('libp2p-interfaces/src/stream-muxer/types').MuxerFactory;
|
|
498
|
-
type ContentRoutingModule = import('libp2p-interfaces/src/content-routing/types').ContentRouting;
|
|
499
|
-
type PeerDiscoveryFactory = import('libp2p-interfaces/src/peer-discovery/types').PeerDiscoveryFactory;
|
|
500
|
-
type PeerRoutingModule = import('libp2p-interfaces/src/peer-routing/types').PeerRouting;
|
|
501
|
-
type Crypto = import('libp2p-interfaces/src/crypto/types').Crypto;
|
|
502
|
-
type Pubsub = import('libp2p-interfaces/src/pubsub');
|
|
503
|
-
type PubsubOptions = import('libp2p-interfaces/src/pubsub').PubsubOptions;
|
|
504
|
-
type Datastore = import('interface-datastore').Datastore;
|
|
505
|
-
type Protector = import('./pnet');
|
|
506
|
-
type PersistentPeerStoreOptions = {
|
|
507
|
-
threshold?: number | undefined;
|
|
508
|
-
};
|
|
509
|
-
type DhtOptions = {
|
|
510
|
-
enabled?: boolean | undefined;
|
|
511
|
-
kBucketSize?: number | undefined;
|
|
512
|
-
clientMode?: boolean | undefined;
|
|
513
|
-
selectors?: import("libp2p-interfaces/src/types").DhtSelectors | undefined;
|
|
514
|
-
validators?: import("libp2p-interfaces/src/types").DhtValidators | undefined;
|
|
515
|
-
};
|
|
516
|
-
type KeychainOptions = {
|
|
517
|
-
datastore?: import("interface-datastore").Datastore | undefined;
|
|
518
|
-
};
|
|
519
|
-
type PeerStoreOptions = {
|
|
520
|
-
persistence: boolean;
|
|
521
|
-
};
|
|
522
|
-
type PubsubLocalOptions = {
|
|
523
|
-
enabled: boolean;
|
|
524
|
-
};
|
|
525
|
-
type MetricsOptions = {
|
|
526
|
-
enabled: boolean;
|
|
527
|
-
};
|
|
528
|
-
type RelayOptions = {
|
|
529
|
-
enabled?: boolean | undefined;
|
|
530
|
-
advertise?: Relay.RelayAdvertiseOptions | undefined;
|
|
531
|
-
hop?: Relay.HopOptions | undefined;
|
|
532
|
-
autoRelay?: Relay.AutoRelayOptions | undefined;
|
|
533
|
-
};
|
|
199
|
+
export declare type Libp2pOptions = RecursivePartial<Libp2pInit>;
|
|
200
|
+
/**
|
|
201
|
+
* Returns a new instance of the Libp2p interface, generating a new PeerId
|
|
202
|
+
* if one is not passed as part of the options.
|
|
203
|
+
*/
|
|
204
|
+
export declare function createLibp2p(options: Libp2pOptions): Promise<Libp2p>;
|
|
534
205
|
//# sourceMappingURL=index.d.ts.map
|