libp2p 0.36.0 → 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 -581
- 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 +26 -33
- 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 -811
- 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 -85
- 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,624 +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
|
-
/**
|
|
141
|
-
* @typedef {import('libp2p-interfaces/src/connection').Connection} Connection
|
|
142
|
-
* @typedef {import('libp2p-interfaces/src/stream-muxer/types').MuxedStream} MuxedStream
|
|
143
|
-
* @typedef {import('libp2p-interfaces/src/transport/types').TransportFactory<any, any>} TransportFactory
|
|
144
|
-
* @typedef {import('libp2p-interfaces/src/stream-muxer/types').MuxerFactory} MuxerFactory
|
|
145
|
-
* @typedef {import('libp2p-interfaces/src/content-routing/types').ContentRouting} ContentRoutingModule
|
|
146
|
-
* @typedef {import('libp2p-interfaces/src/peer-discovery/types').PeerDiscoveryFactory} PeerDiscoveryFactory
|
|
147
|
-
* @typedef {import('libp2p-interfaces/src/peer-routing/types').PeerRouting} PeerRoutingModule
|
|
148
|
-
* @typedef {import('libp2p-interfaces/src/crypto/types').Crypto} Crypto
|
|
149
|
-
* @typedef {import('libp2p-interfaces/src/pubsub')} Pubsub
|
|
150
|
-
* @typedef {import('libp2p-interfaces/src/pubsub').PubsubOptions} PubsubOptions
|
|
151
|
-
* @typedef {import('interface-datastore').Datastore} Datastore
|
|
152
|
-
* @typedef {import('./pnet')} Protector
|
|
153
|
-
* @typedef {import('./types').ConnectionGater} ConnectionGater
|
|
154
|
-
* @typedef {Object} PersistentPeerStoreOptions
|
|
155
|
-
* @property {number} [threshold]
|
|
156
|
-
*/
|
|
157
|
-
/**
|
|
158
|
-
* @typedef {Object} HandlerProps
|
|
159
|
-
* @property {Connection} connection
|
|
160
|
-
* @property {MuxedStream} stream
|
|
161
|
-
* @property {string} protocol
|
|
162
|
-
*
|
|
163
|
-
* @typedef {Object} DhtOptions
|
|
164
|
-
* @property {boolean} [enabled = false]
|
|
165
|
-
* @property {number} [kBucketSize = 20]
|
|
166
|
-
* @property {boolean} [clientMode]
|
|
167
|
-
* @property {import('libp2p-interfaces/src/types').DhtSelectors} [selectors]
|
|
168
|
-
* @property {import('libp2p-interfaces/src/types').DhtValidators} [validators]
|
|
169
|
-
*
|
|
170
|
-
* @typedef {Object} KeychainOptions
|
|
171
|
-
* @property {Datastore} [datastore]
|
|
172
|
-
*
|
|
173
|
-
* @typedef {Object} PeerStoreOptions
|
|
174
|
-
* @property {boolean} persistence
|
|
175
|
-
*
|
|
176
|
-
* @typedef {Object} PubsubLocalOptions
|
|
177
|
-
* @property {boolean} enabled
|
|
178
|
-
*
|
|
179
|
-
* @typedef {Object} MetricsOptions
|
|
180
|
-
* @property {boolean} enabled
|
|
181
|
-
*
|
|
182
|
-
* @typedef {Object} RelayOptions
|
|
183
|
-
* @property {boolean} [enabled = true]
|
|
184
|
-
* @property {import('./circuit').RelayAdvertiseOptions} [advertise]
|
|
185
|
-
* @property {import('./circuit').HopOptions} [hop]
|
|
186
|
-
* @property {import('./circuit').AutoRelayOptions} [autoRelay]
|
|
187
|
-
*
|
|
188
|
-
* @typedef {Object} Libp2pConfig
|
|
189
|
-
* @property {DhtOptions} [dht] dht module options
|
|
190
|
-
* @property {import('./nat-manager').NatManagerOptions} [nat]
|
|
191
|
-
* @property {Record<string, Object|boolean>} [peerDiscovery]
|
|
192
|
-
* @property {PubsubLocalOptions & PubsubOptions} [pubsub] pubsub module options
|
|
193
|
-
* @property {RelayOptions} [relay]
|
|
194
|
-
* @property {Record<string, Object>} [transport] transport options indexed by transport key
|
|
195
|
-
*
|
|
196
|
-
* @typedef {Object} Libp2pModules
|
|
197
|
-
* @property {TransportFactory[]} transport
|
|
198
|
-
* @property {MuxerFactory[]} streamMuxer
|
|
199
|
-
* @property {Crypto[]} connEncryption
|
|
200
|
-
* @property {PeerDiscoveryFactory[]} [peerDiscovery]
|
|
201
|
-
* @property {PeerRoutingModule[]} [peerRouting]
|
|
202
|
-
* @property {ContentRoutingModule[]} [contentRouting]
|
|
203
|
-
* @property {Object} [dht]
|
|
204
|
-
* @property {{new(...args: any[]): Pubsub}} [pubsub]
|
|
205
|
-
* @property {Protector} [connProtector]
|
|
206
|
-
*
|
|
207
|
-
* @typedef {Object} Libp2pOptions
|
|
208
|
-
* @property {Libp2pModules} modules libp2p modules to use
|
|
209
|
-
* @property {import('./address-manager').AddressManagerOptions} [addresses]
|
|
210
|
-
* @property {import('./connection-manager').ConnectionManagerOptions} [connectionManager]
|
|
211
|
-
* @property {Partial<import('./types').ConnectionGater>} [connectionGater]
|
|
212
|
-
* @property {Datastore} [datastore]
|
|
213
|
-
* @property {import('./dialer').DialerOptions} [dialer]
|
|
214
|
-
* @property {import('./identify/index').HostProperties} [host] libp2p host
|
|
215
|
-
* @property {KeychainOptions & import('./keychain/index').KeychainOptions} [keychain]
|
|
216
|
-
* @property {MetricsOptions & import('./metrics').MetricsOptions} [metrics]
|
|
217
|
-
* @property {import('./peer-routing').PeerRoutingOptions} [peerRouting]
|
|
218
|
-
* @property {PeerStoreOptions} [peerStore]
|
|
219
|
-
* @property {import('./transport-manager').TransportManagerOptions} [transportManager]
|
|
220
|
-
* @property {Libp2pConfig} [config]
|
|
221
|
-
*
|
|
222
|
-
* @typedef {Object} constructorOptions
|
|
223
|
-
* @property {PeerId} peerId
|
|
224
|
-
*
|
|
225
|
-
* @typedef {Object} CreateOptions
|
|
226
|
-
* @property {PeerId} [peerId]
|
|
227
|
-
*
|
|
228
|
-
* @extends {EventEmitter}
|
|
229
|
-
* @fires Libp2p#error Emitted when an error occurs
|
|
230
|
-
* @fires Libp2p#peer:discovery Emitted when a peer is discovered
|
|
231
|
-
*/
|
|
232
|
-
persistence: boolean;
|
|
233
|
-
threshold: number;
|
|
234
|
-
};
|
|
235
|
-
peerRouting: {
|
|
236
|
-
refreshManager: {
|
|
237
|
-
enabled: boolean;
|
|
238
|
-
interval: number;
|
|
239
|
-
bootDelay: number;
|
|
240
|
-
};
|
|
241
|
-
};
|
|
242
|
-
config: {
|
|
243
|
-
protocolPrefix: string;
|
|
244
|
-
dht: {
|
|
245
|
-
enabled: boolean;
|
|
246
|
-
kBucketSize: number;
|
|
247
|
-
};
|
|
248
|
-
nat: {
|
|
249
|
-
enabled: boolean;
|
|
250
|
-
ttl: number;
|
|
251
|
-
keepAlive: boolean;
|
|
252
|
-
gateway: null;
|
|
253
|
-
externalIp: null;
|
|
254
|
-
pmp: {
|
|
255
|
-
enabled: boolean;
|
|
256
|
-
};
|
|
257
|
-
};
|
|
258
|
-
peerDiscovery: {
|
|
259
|
-
autoDial: boolean;
|
|
260
|
-
};
|
|
261
|
-
pubsub: {
|
|
262
|
-
enabled: boolean;
|
|
263
|
-
};
|
|
264
|
-
relay: {
|
|
265
|
-
enabled: boolean;
|
|
266
|
-
advertise: {
|
|
267
|
-
bootDelay: number;
|
|
268
|
-
enabled: boolean;
|
|
269
|
-
ttl: number;
|
|
270
|
-
};
|
|
271
|
-
hop: {
|
|
272
|
-
enabled: boolean;
|
|
273
|
-
active: boolean;
|
|
274
|
-
};
|
|
275
|
-
autoRelay: {
|
|
276
|
-
enabled: boolean;
|
|
277
|
-
maxListeners: number;
|
|
278
|
-
};
|
|
279
|
-
};
|
|
280
|
-
transport: {};
|
|
281
|
-
};
|
|
282
|
-
} & Libp2pOptions & constructorOptions;
|
|
283
|
-
/** @type {PeerId} */
|
|
284
|
-
peerId: PeerId;
|
|
285
|
-
datastore: import("interface-datastore").Datastore | undefined;
|
|
286
|
-
metrics: Metrics | undefined;
|
|
287
|
-
/** @type {ConnectionGater} */
|
|
288
|
-
connectionGater: ConnectionGater;
|
|
289
|
-
/** @type {import('./peer-store/types').PeerStore} */
|
|
290
|
-
peerStore: import('./peer-store/types').PeerStore;
|
|
291
|
-
addresses: {
|
|
292
|
-
listen: never[];
|
|
293
|
-
announce: never[];
|
|
294
|
-
noAnnounce: never[];
|
|
295
|
-
announceFilter: (multiaddrs: Multiaddr[]) => Multiaddr[];
|
|
296
|
-
} & AddressManager.AddressManagerOptions;
|
|
297
|
-
addressManager: AddressManager;
|
|
298
|
-
_modules: Libp2pModules;
|
|
299
|
-
_config: {
|
|
300
|
-
protocolPrefix: string;
|
|
301
|
-
dht: {
|
|
302
|
-
enabled: boolean;
|
|
303
|
-
kBucketSize: number;
|
|
304
|
-
};
|
|
305
|
-
nat: {
|
|
306
|
-
enabled: boolean;
|
|
307
|
-
ttl: number;
|
|
308
|
-
keepAlive: boolean;
|
|
309
|
-
gateway: null;
|
|
310
|
-
externalIp: null;
|
|
311
|
-
pmp: {
|
|
312
|
-
enabled: boolean;
|
|
313
|
-
};
|
|
314
|
-
};
|
|
315
|
-
peerDiscovery: {
|
|
316
|
-
autoDial: boolean;
|
|
317
|
-
};
|
|
318
|
-
pubsub: {
|
|
319
|
-
enabled: boolean;
|
|
320
|
-
};
|
|
321
|
-
relay: {
|
|
322
|
-
enabled: boolean;
|
|
323
|
-
advertise: {
|
|
324
|
-
bootDelay: number;
|
|
325
|
-
enabled: boolean;
|
|
326
|
-
ttl: number;
|
|
327
|
-
};
|
|
328
|
-
hop: {
|
|
329
|
-
enabled: boolean;
|
|
330
|
-
active: boolean;
|
|
331
|
-
};
|
|
332
|
-
autoRelay: {
|
|
333
|
-
enabled: boolean;
|
|
334
|
-
maxListeners: number;
|
|
335
|
-
};
|
|
336
|
-
};
|
|
337
|
-
transport: {};
|
|
338
|
-
} & Libp2pConfig;
|
|
339
|
-
_transport: any[];
|
|
340
|
-
_discovery: Map<any, any>;
|
|
341
|
-
connectionManager: ConnectionManager;
|
|
342
|
-
_autodialler: AutoDialler;
|
|
343
|
-
keychain: Keychain | undefined;
|
|
344
|
-
upgrader: Upgrader;
|
|
345
|
-
transportManager: TransportManager;
|
|
346
|
-
natManager: NatManager;
|
|
347
|
-
registrar: Registrar;
|
|
72
|
+
maxConnections: number;
|
|
348
73
|
/**
|
|
349
|
-
*
|
|
350
|
-
*
|
|
351
|
-
* @param {string[]|string} protocols
|
|
352
|
-
* @param {(props: HandlerProps) => void} handler
|
|
74
|
+
* The minimum number of connections to keep open
|
|
353
75
|
*/
|
|
354
|
-
|
|
355
|
-
dialer: Dialer;
|
|
356
|
-
relay: Relay | undefined;
|
|
357
|
-
identifyService: IdentifyService | undefined;
|
|
358
|
-
_dht: any;
|
|
359
|
-
/** @type {Pubsub} */
|
|
360
|
-
pubsub: import("libp2p-interfaces/src/pubsub");
|
|
361
|
-
peerRouting: PeerRouting;
|
|
362
|
-
contentRouting: ContentRouting;
|
|
76
|
+
minConnections: number;
|
|
363
77
|
/**
|
|
364
|
-
*
|
|
365
|
-
*
|
|
366
|
-
*
|
|
367
|
-
* @private
|
|
368
|
-
* @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
|
|
369
80
|
*/
|
|
370
|
-
|
|
371
|
-
|
|
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;
|
|
372
138
|
/**
|
|
373
|
-
*
|
|
374
|
-
*
|
|
375
|
-
* @returns {Promise<void>}
|
|
139
|
+
* Load keychain keys from the datastore.
|
|
140
|
+
* Imports the private key as 'self', if needed.
|
|
376
141
|
*/
|
|
377
|
-
|
|
142
|
+
loadKeychain: () => Promise<void>;
|
|
378
143
|
/**
|
|
379
|
-
*
|
|
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.
|
|
380
147
|
*
|
|
381
|
-
*
|
|
382
|
-
*
|
|
148
|
+
* If Announce addrs are specified, configured listen addresses will be
|
|
149
|
+
* ignored though observed addresses will still be included.
|
|
383
150
|
*/
|
|
384
|
-
|
|
385
|
-
_isStarted: boolean | undefined;
|
|
151
|
+
getMultiaddrs: () => Multiaddr[];
|
|
386
152
|
/**
|
|
387
|
-
*
|
|
388
|
-
*
|
|
389
|
-
*
|
|
390
|
-
* @async
|
|
391
|
-
* @returns {Promise<void>}
|
|
153
|
+
* Return a list of all connections this node has open, optionally filtering
|
|
154
|
+
* by a PeerId
|
|
392
155
|
*/
|
|
393
|
-
|
|
394
|
-
isStarted(): boolean | undefined;
|
|
156
|
+
getConnections: (peerId?: PeerId) => Connection[];
|
|
395
157
|
/**
|
|
396
|
-
*
|
|
397
|
-
* `PeerId` of the peer. The value is an array of Connections to that peer.
|
|
398
|
-
*
|
|
399
|
-
* @returns {Map<string, Connection[]>}
|
|
158
|
+
* Return a list of all peers we currently have a connection open to
|
|
400
159
|
*/
|
|
401
|
-
|
|
160
|
+
getPeers: () => PeerId[];
|
|
402
161
|
/**
|
|
403
162
|
* Dials to the provided peer. If successful, the known metadata of the
|
|
404
163
|
* peer will be added to the nodes `peerStore`
|
|
405
|
-
*
|
|
406
|
-
* @param {PeerId|Multiaddr|string} peer - The peer to dial
|
|
407
|
-
* @param {object} [options]
|
|
408
|
-
* @param {AbortSignal} [options.signal]
|
|
409
|
-
* @returns {Promise<Connection>}
|
|
410
164
|
*/
|
|
411
|
-
dial(peer: PeerId | Multiaddr
|
|
412
|
-
signal?: AbortSignal | undefined;
|
|
413
|
-
} | undefined): Promise<Connection>;
|
|
165
|
+
dial: (peer: PeerId | Multiaddr, options?: AbortOptions) => Promise<Connection>;
|
|
414
166
|
/**
|
|
415
167
|
* Dials to the provided peer and tries to handshake with the given protocols in order.
|
|
416
168
|
* If successful, the known metadata of the peer will be added to the nodes `peerStore`,
|
|
417
169
|
* and the `MuxedStream` will be returned together with the successful negotiated protocol.
|
|
418
|
-
*
|
|
419
|
-
* @async
|
|
420
|
-
* @param {PeerId|Multiaddr|string} peer - The peer to dial
|
|
421
|
-
* @param {string[]|string} protocols
|
|
422
|
-
* @param {object} [options]
|
|
423
|
-
* @param {AbortSignal} [options.signal]
|
|
424
170
|
*/
|
|
425
|
-
dialProtocol(peer: PeerId | Multiaddr
|
|
426
|
-
signal?: AbortSignal | undefined;
|
|
427
|
-
} | undefined): Promise<{
|
|
428
|
-
stream: import("libp2p-interfaces/src/stream-muxer/types").MuxedStream;
|
|
429
|
-
protocol: string;
|
|
430
|
-
}>;
|
|
431
|
-
/**
|
|
432
|
-
* @async
|
|
433
|
-
* @param {PeerId|Multiaddr|string} peer - The peer to dial
|
|
434
|
-
* @param {object} [options]
|
|
435
|
-
* @returns {Promise<Connection>}
|
|
436
|
-
*/
|
|
437
|
-
_dial(peer: PeerId | Multiaddr | string, options?: object | undefined): Promise<Connection>;
|
|
438
|
-
/**
|
|
439
|
-
* Get a deduplicated list of peer advertising multiaddrs by concatenating
|
|
440
|
-
* the listen addresses used by transports with any configured
|
|
441
|
-
* announce addresses as well as observed addresses reported by peers.
|
|
442
|
-
*
|
|
443
|
-
* If Announce addrs are specified, configured listen addresses will be
|
|
444
|
-
* ignored though observed addresses will still be included.
|
|
445
|
-
*
|
|
446
|
-
* @returns {Multiaddr[]}
|
|
447
|
-
*/
|
|
448
|
-
get multiaddrs(): Multiaddr[];
|
|
171
|
+
dialProtocol: (peer: PeerId | Multiaddr, protocols: string | string[], options?: AbortOptions) => Promise<ProtocolStream>;
|
|
449
172
|
/**
|
|
450
173
|
* Disconnects all connections to the given `peer`
|
|
451
|
-
*
|
|
452
|
-
* @param {PeerId|Multiaddr|string} peer - the peer to close connections to
|
|
453
|
-
* @returns {Promise<void>}
|
|
454
174
|
*/
|
|
455
|
-
hangUp(peer: PeerId | Multiaddr | string)
|
|
175
|
+
hangUp: (peer: PeerId | Multiaddr | string) => Promise<void>;
|
|
456
176
|
/**
|
|
457
|
-
*
|
|
458
|
-
*
|
|
459
|
-
* @param {PeerId|Multiaddr} peer
|
|
460
|
-
* @param {string} key
|
|
461
|
-
* @returns {Promise<Uint8Array | null>}
|
|
462
|
-
*/
|
|
463
|
-
fetch(peer: PeerId | Multiaddr, key: string): Promise<Uint8Array | null>;
|
|
464
|
-
/**
|
|
465
|
-
* Pings the given peer in order to obtain the operation latency.
|
|
466
|
-
*
|
|
467
|
-
* @param {PeerId|Multiaddr|string} peer - The peer to ping
|
|
468
|
-
* @returns {Promise<number>}
|
|
177
|
+
* Registers the `handler` for each protocol
|
|
469
178
|
*/
|
|
470
|
-
|
|
179
|
+
handle: (protocol: string | string[], handler: StreamHandler) => Promise<void>;
|
|
471
180
|
/**
|
|
472
181
|
* Removes the handler for each protocol. The protocol
|
|
473
182
|
* will no longer be supported on streams.
|
|
474
|
-
*
|
|
475
|
-
* @param {string[]|string} protocols
|
|
476
183
|
*/
|
|
477
|
-
unhandle(protocols: string[] | string)
|
|
478
|
-
_onStarting(): Promise<void>;
|
|
184
|
+
unhandle: (protocols: string[] | string) => Promise<void>;
|
|
479
185
|
/**
|
|
480
|
-
*
|
|
481
|
-
*
|
|
482
|
-
* @private
|
|
186
|
+
* Pings the given peer in order to obtain the operation latency
|
|
483
187
|
*/
|
|
484
|
-
|
|
188
|
+
ping: (peer: Multiaddr | PeerId) => Promise<number>;
|
|
485
189
|
/**
|
|
486
|
-
*
|
|
487
|
-
* connected peers is less than the configured `ConnectionManager`
|
|
488
|
-
* minConnections.
|
|
489
|
-
*
|
|
490
|
-
* @private
|
|
491
|
-
* @param {PeerId} peerId
|
|
190
|
+
* Sends a request to fetch the value associated with the given key from the given peer.
|
|
492
191
|
*/
|
|
493
|
-
|
|
192
|
+
fetch: (peer: PeerId | Multiaddr | string, key: string) => Promise<Uint8Array | null>;
|
|
494
193
|
/**
|
|
495
|
-
*
|
|
496
|
-
*
|
|
497
|
-
* @async
|
|
498
|
-
* @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.
|
|
499
196
|
*/
|
|
500
|
-
|
|
197
|
+
getPublicKey: (peer: PeerId, options?: AbortOptions) => Promise<Uint8Array>;
|
|
501
198
|
}
|
|
502
|
-
declare
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
* libp2p modules to use
|
|
509
|
-
*/
|
|
510
|
-
modules: Libp2pModules;
|
|
511
|
-
addresses?: AddressManager.AddressManagerOptions | undefined;
|
|
512
|
-
connectionManager?: ConnectionManager.ConnectionManagerOptions | undefined;
|
|
513
|
-
connectionGater?: Partial<import("./types").ConnectionGater> | undefined;
|
|
514
|
-
datastore?: import("interface-datastore").Datastore | undefined;
|
|
515
|
-
dialer?: Dialer.DialerOptions | undefined;
|
|
516
|
-
/**
|
|
517
|
-
* libp2p host
|
|
518
|
-
*/
|
|
519
|
-
host?: IdentifyService.HostProperties | undefined;
|
|
520
|
-
keychain?: (KeychainOptions & Keychain.KeychainOptions) | undefined;
|
|
521
|
-
metrics?: (MetricsOptions & Metrics.MetricsOptions) | undefined;
|
|
522
|
-
peerRouting?: PeerRouting.PeerRoutingOptions | undefined;
|
|
523
|
-
peerStore?: PeerStoreOptions | undefined;
|
|
524
|
-
transportManager?: TransportManager.TransportManagerOptions | undefined;
|
|
525
|
-
config?: Libp2pConfig | undefined;
|
|
526
|
-
};
|
|
527
|
-
type constructorOptions = {
|
|
528
|
-
peerId: PeerId;
|
|
529
|
-
};
|
|
530
|
-
import PeerId = require("peer-id");
|
|
531
|
-
import Metrics = require("./metrics");
|
|
532
|
-
type ConnectionGater = import('./types').ConnectionGater;
|
|
533
|
-
import AddressManager = require("./address-manager");
|
|
534
|
-
type Libp2pModules = {
|
|
535
|
-
transport: import("libp2p-interfaces/src/transport/types").TransportFactory<any, any>[];
|
|
536
|
-
streamMuxer: MuxerFactory[];
|
|
537
|
-
connEncryption: Crypto[];
|
|
538
|
-
peerDiscovery?: import("libp2p-interfaces/src/peer-discovery/types").PeerDiscoveryFactory[] | undefined;
|
|
539
|
-
peerRouting?: import("libp2p-interfaces/src/peer-routing/types").PeerRouting[] | undefined;
|
|
540
|
-
contentRouting?: import("libp2p-interfaces/src/content-routing/types").ContentRouting[] | undefined;
|
|
541
|
-
dht?: Object | undefined;
|
|
542
|
-
pubsub?: (new (...args: any[]) => Pubsub) | undefined;
|
|
543
|
-
connProtector?: import("./pnet") | undefined;
|
|
544
|
-
};
|
|
545
|
-
type Libp2pConfig = {
|
|
546
|
-
/**
|
|
547
|
-
* dht module options
|
|
548
|
-
*/
|
|
549
|
-
dht?: DhtOptions | undefined;
|
|
550
|
-
nat?: NatManager.NatManagerOptions | undefined;
|
|
551
|
-
peerDiscovery?: Record<string, boolean | Object> | undefined;
|
|
552
|
-
/**
|
|
553
|
-
* pubsub module options
|
|
554
|
-
*/
|
|
555
|
-
pubsub?: (PubsubLocalOptions & import("libp2p-interfaces/src/pubsub").PubsubOptions) | undefined;
|
|
556
|
-
relay?: RelayOptions | undefined;
|
|
557
|
-
/**
|
|
558
|
-
* transport options indexed by transport key
|
|
559
|
-
*/
|
|
560
|
-
transport?: Record<string, Object> | undefined;
|
|
561
|
-
};
|
|
562
|
-
import ConnectionManager = require("./connection-manager");
|
|
563
|
-
import AutoDialler = require("./connection-manager/auto-dialler");
|
|
564
|
-
import Keychain = require("./keychain");
|
|
565
|
-
import Upgrader = require("./upgrader");
|
|
566
|
-
import TransportManager = require("./transport-manager");
|
|
567
|
-
import NatManager = require("./nat-manager");
|
|
568
|
-
import Registrar = require("./registrar");
|
|
569
|
-
type HandlerProps = {
|
|
570
|
-
connection: Connection;
|
|
571
|
-
stream: MuxedStream;
|
|
572
|
-
protocol: string;
|
|
573
|
-
};
|
|
574
|
-
import Dialer = require("./dialer");
|
|
575
|
-
import Relay = require("./circuit");
|
|
576
|
-
import IdentifyService = require("./identify");
|
|
577
|
-
import PeerRouting = require("./peer-routing");
|
|
578
|
-
import ContentRouting = require("./content-routing");
|
|
579
|
-
import FetchService = require("./fetch");
|
|
580
|
-
import { Multiaddr } from "multiaddr";
|
|
581
|
-
type Connection = import("libp2p-interfaces/src/connection/connection");
|
|
582
|
-
type CreateOptions = {
|
|
583
|
-
peerId?: PeerId | undefined;
|
|
584
|
-
};
|
|
585
|
-
type MuxedStream = import('libp2p-interfaces/src/stream-muxer/types').MuxedStream;
|
|
586
|
-
type TransportFactory = import('libp2p-interfaces/src/transport/types').TransportFactory<any, any>;
|
|
587
|
-
type MuxerFactory = import('libp2p-interfaces/src/stream-muxer/types').MuxerFactory;
|
|
588
|
-
type ContentRoutingModule = import('libp2p-interfaces/src/content-routing/types').ContentRouting;
|
|
589
|
-
type PeerDiscoveryFactory = import('libp2p-interfaces/src/peer-discovery/types').PeerDiscoveryFactory;
|
|
590
|
-
type PeerRoutingModule = import('libp2p-interfaces/src/peer-routing/types').PeerRouting;
|
|
591
|
-
type Crypto = import('libp2p-interfaces/src/crypto/types').Crypto;
|
|
592
|
-
type Pubsub = import('libp2p-interfaces/src/pubsub');
|
|
593
|
-
type PubsubOptions = import('libp2p-interfaces/src/pubsub').PubsubOptions;
|
|
594
|
-
type Datastore = import('interface-datastore').Datastore;
|
|
595
|
-
type Protector = import('./pnet');
|
|
596
|
-
type PersistentPeerStoreOptions = {
|
|
597
|
-
threshold?: number | undefined;
|
|
598
|
-
};
|
|
599
|
-
type DhtOptions = {
|
|
600
|
-
enabled?: boolean | undefined;
|
|
601
|
-
kBucketSize?: number | undefined;
|
|
602
|
-
clientMode?: boolean | undefined;
|
|
603
|
-
selectors?: import("libp2p-interfaces/src/types").DhtSelectors | undefined;
|
|
604
|
-
validators?: import("libp2p-interfaces/src/types").DhtValidators | undefined;
|
|
605
|
-
};
|
|
606
|
-
type KeychainOptions = {
|
|
607
|
-
datastore?: import("interface-datastore").Datastore | undefined;
|
|
608
|
-
};
|
|
609
|
-
type PeerStoreOptions = {
|
|
610
|
-
persistence: boolean;
|
|
611
|
-
};
|
|
612
|
-
type PubsubLocalOptions = {
|
|
613
|
-
enabled: boolean;
|
|
614
|
-
};
|
|
615
|
-
type MetricsOptions = {
|
|
616
|
-
enabled: boolean;
|
|
617
|
-
};
|
|
618
|
-
type RelayOptions = {
|
|
619
|
-
enabled?: boolean | undefined;
|
|
620
|
-
advertise?: Relay.RelayAdvertiseOptions | undefined;
|
|
621
|
-
hop?: Relay.HopOptions | undefined;
|
|
622
|
-
autoRelay?: Relay.AutoRelayOptions | undefined;
|
|
623
|
-
};
|
|
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>;
|
|
624
205
|
//# sourceMappingURL=index.d.ts.map
|