libp2p 0.36.2 → 0.37.0
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 +34 -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 +216 -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 +62 -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 +52 -0
- package/dist/src/circuit/pb/index.d.ts.map +1 -0
- package/dist/src/circuit/pb/index.js +98 -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 +192 -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 +91 -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/dialer/auto-dialer.d.ts +16 -0
- package/dist/src/connection-manager/dialer/auto-dialer.d.ts.map +1 -0
- package/dist/src/connection-manager/dialer/auto-dialer.js +37 -0
- package/dist/src/connection-manager/dialer/auto-dialer.js.map +1 -0
- package/dist/src/connection-manager/dialer/dial-request.d.ts +27 -0
- package/dist/src/connection-manager/dialer/dial-request.d.ts.map +1 -0
- package/dist/src/connection-manager/dialer/dial-request.js +83 -0
- package/dist/src/connection-manager/dialer/dial-request.js.map +1 -0
- package/dist/src/connection-manager/dialer/index.d.ts +104 -0
- package/dist/src/connection-manager/dialer/index.d.ts.map +1 -0
- package/dist/src/connection-manager/dialer/index.js +267 -0
- package/dist/src/connection-manager/dialer/index.js.map +1 -0
- package/dist/src/connection-manager/index.d.ts +102 -136
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +333 -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 +27 -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/dht/dummy-dht.d.ts +20 -0
- package/dist/src/dht/dummy-dht.d.ts.map +1 -0
- package/dist/src/dht/dummy-dht.js +46 -0
- package/dist/src/dht/dummy-dht.js.map +1 -0
- package/dist/src/errors.d.ts +70 -63
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +75 -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 +27 -0
- package/dist/src/fetch/pb/proto.d.ts.map +1 -0
- package/dist/src/fetch/pb/proto.js +50 -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 +16 -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 +150 -496
- 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 +29 -0
- package/dist/src/insecure/pb/proto.d.ts.map +1 -0
- package/dist/src/insecure/pb/proto.js +53 -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 +60 -81
- package/dist/src/keychain/index.d.ts.map +1 -1
- package/dist/src/keychain/index.js +492 -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 +80 -0
- package/dist/src/libp2p.d.ts.map +1 -0
- package/dist/src/libp2p.js +397 -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 +40 -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 +57 -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 +12 -20
- package/dist/src/pnet/index.d.ts.map +1 -1
- package/dist/src/pnet/index.js +67 -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/pubsub/dummy-pubsub.d.ts +17 -0
- package/dist/src/pubsub/dummy-pubsub.d.ts.map +1 -0
- package/dist/src/pubsub/dummy-pubsub.js +37 -0
- package/dist/src/pubsub/dummy-pubsub.js.map +1 -0
- package/dist/src/registrar.d.ts +26 -65
- package/dist/src/registrar.d.ts.map +1 -1
- package/dist/src/registrar.js +144 -0
- package/dist/src/registrar.js.map +1 -0
- package/dist/src/transport-manager.d.ts +36 -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 +144 -201
- package/src/address-manager/index.ts +130 -0
- package/src/circuit/README.md +16 -11
- package/src/circuit/auto-relay.ts +286 -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.ts +82 -0
- package/src/circuit/multicodec.ts +2 -0
- package/src/circuit/{protocol → pb}/index.proto +1 -1
- package/src/circuit/pb/index.ts +117 -0
- package/src/circuit/transport.ts +219 -0
- package/src/circuit/utils.ts +12 -0
- package/src/config.ts +99 -0
- package/src/connection-manager/auto-dialler.ts +154 -0
- package/src/connection-manager/dialer/auto-dialer.ts +59 -0
- package/src/{dialer/dial-request.js → connection-manager/dialer/dial-request.ts} +60 -51
- package/src/connection-manager/dialer/index.ts +382 -0
- package/src/connection-manager/index.ts +508 -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 +144 -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/dht/dummy-dht.ts +60 -0
- package/src/errors.ts +73 -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 +65 -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 +37 -0
- package/src/index.ts +220 -0
- package/src/insecure/index.ts +101 -0
- package/src/insecure/{proto.proto → pb/proto.proto} +0 -0
- package/src/insecure/pb/proto.ts +68 -0
- package/src/keychain/{cms.js → cms.ts} +62 -58
- package/src/keychain/index.ts +587 -0
- package/src/keychain/{util.js → util.ts} +7 -17
- package/src/libp2p.ts +538 -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 +186 -0
- package/src/ping/README.md +1 -1
- package/src/ping/constants.ts +5 -0
- package/src/ping/index.ts +84 -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 +97 -0
- package/src/pnet/key-generator.ts +28 -0
- package/src/pubsub/dummy-pubsub.ts +51 -0
- package/src/registrar.ts +189 -0
- package/src/transport-manager.ts +281 -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/dialer/dial-request.d.ts +0 -55
- package/dist/src/dialer/dial-request.d.ts.map +0 -1
- package/dist/src/dialer/index.d.ts +0 -182
- package/dist/src/dialer/index.d.ts.map +0 -1
- 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/listener.js +0 -75
- 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 -374
- 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
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
const debug = require('debug')
|
|
4
|
-
const log = Object.assign(debug('libp2p:plaintext'), {
|
|
5
|
-
error: debug('libp2p:plaintext:err')
|
|
6
|
-
})
|
|
7
|
-
// @ts-ignore it-handshake do not export types
|
|
8
|
-
const handshake = require('it-handshake')
|
|
9
|
-
const lp = require('it-length-prefixed')
|
|
10
|
-
const PeerId = require('peer-id')
|
|
11
|
-
const { UnexpectedPeerError, InvalidCryptoExchangeError } = require('libp2p-interfaces/src/crypto/errors')
|
|
12
|
-
|
|
13
|
-
const { Exchange, KeyType } = require('./proto')
|
|
14
|
-
const protocol = '/plaintext/2.0.0'
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* @typedef {import('libp2p-interfaces/src/connection').Connection} Connection
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @param {import('./proto').IExchange} exchange
|
|
22
|
-
*/
|
|
23
|
-
function lpEncodeExchange (exchange) {
|
|
24
|
-
const pb = Exchange.encode(exchange).finish()
|
|
25
|
-
// @ts-ignore TODO: Uint8Array not assignable to Buffer
|
|
26
|
-
return lp.encode.single(pb)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Encrypt connection.
|
|
31
|
-
*
|
|
32
|
-
* @param {PeerId} localId
|
|
33
|
-
* @param {Connection} conn
|
|
34
|
-
* @param {PeerId} [remoteId]
|
|
35
|
-
*/
|
|
36
|
-
async function encrypt (localId, conn, remoteId) {
|
|
37
|
-
const shake = handshake(conn)
|
|
38
|
-
|
|
39
|
-
// Encode the public key and write it to the remote peer
|
|
40
|
-
shake.write(lpEncodeExchange({
|
|
41
|
-
id: localId.toBytes(),
|
|
42
|
-
pubkey: {
|
|
43
|
-
Type: KeyType.RSA, // TODO: dont hard code
|
|
44
|
-
Data: localId.marshalPubKey()
|
|
45
|
-
}
|
|
46
|
-
}))
|
|
47
|
-
|
|
48
|
-
log('write pubkey exchange to peer %j', remoteId)
|
|
49
|
-
|
|
50
|
-
// Get the Exchange message
|
|
51
|
-
const response = (await lp.decode.fromReader(shake.reader).next()).value
|
|
52
|
-
const id = Exchange.decode(response.slice())
|
|
53
|
-
log('read pubkey exchange from peer %j', remoteId)
|
|
54
|
-
|
|
55
|
-
let peerId
|
|
56
|
-
try {
|
|
57
|
-
peerId = await PeerId.createFromPubKey(id.pubkey.Data)
|
|
58
|
-
} catch (/** @type {any} */ err) {
|
|
59
|
-
log.error(err)
|
|
60
|
-
throw new InvalidCryptoExchangeError('Remote did not provide its public key')
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
if (remoteId && !peerId.equals(remoteId)) {
|
|
64
|
-
throw new UnexpectedPeerError()
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
log('plaintext key exchange completed successfully with peer %j', peerId)
|
|
68
|
-
|
|
69
|
-
shake.rest()
|
|
70
|
-
return {
|
|
71
|
-
conn: shake.stream,
|
|
72
|
-
remotePeer: peerId
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
module.exports =
|
|
77
|
-
{
|
|
78
|
-
protocol,
|
|
79
|
-
/**
|
|
80
|
-
* @param {PeerId} localId
|
|
81
|
-
* @param {Connection} conn
|
|
82
|
-
* @param {PeerId | undefined} remoteId
|
|
83
|
-
*/
|
|
84
|
-
secureInbound: (localId, conn, remoteId) => {
|
|
85
|
-
return encrypt(localId, conn, remoteId)
|
|
86
|
-
},
|
|
87
|
-
/**
|
|
88
|
-
* @param {PeerId} localId
|
|
89
|
-
* @param {Connection} conn
|
|
90
|
-
* @param {PeerId | undefined} remoteId
|
|
91
|
-
*/
|
|
92
|
-
secureOutbound: (localId, conn, remoteId) => {
|
|
93
|
-
return encrypt(localId, conn, remoteId)
|
|
94
|
-
}
|
|
95
|
-
}
|
package/src/insecure/proto.d.ts
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import * as $protobuf from "protobufjs";
|
|
2
|
-
/** Properties of an Exchange. */
|
|
3
|
-
export interface IExchange {
|
|
4
|
-
|
|
5
|
-
/** Exchange id */
|
|
6
|
-
id?: (Uint8Array|null);
|
|
7
|
-
|
|
8
|
-
/** Exchange pubkey */
|
|
9
|
-
pubkey?: (IPublicKey|null);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/** Represents an Exchange. */
|
|
13
|
-
export class Exchange implements IExchange {
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Constructs a new Exchange.
|
|
17
|
-
* @param [p] Properties to set
|
|
18
|
-
*/
|
|
19
|
-
constructor(p?: IExchange);
|
|
20
|
-
|
|
21
|
-
/** Exchange id. */
|
|
22
|
-
public id: Uint8Array;
|
|
23
|
-
|
|
24
|
-
/** Exchange pubkey. */
|
|
25
|
-
public pubkey?: (IPublicKey|null);
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Encodes the specified Exchange message. Does not implicitly {@link Exchange.verify|verify} messages.
|
|
29
|
-
* @param m Exchange message or plain object to encode
|
|
30
|
-
* @param [w] Writer to encode to
|
|
31
|
-
* @returns Writer
|
|
32
|
-
*/
|
|
33
|
-
public static encode(m: IExchange, w?: $protobuf.Writer): $protobuf.Writer;
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Decodes an Exchange message from the specified reader or buffer.
|
|
37
|
-
* @param r Reader or buffer to decode from
|
|
38
|
-
* @param [l] Message length if known beforehand
|
|
39
|
-
* @returns Exchange
|
|
40
|
-
* @throws {Error} If the payload is not a reader or valid buffer
|
|
41
|
-
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
|
42
|
-
*/
|
|
43
|
-
public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): Exchange;
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Creates an Exchange message from a plain object. Also converts values to their respective internal types.
|
|
47
|
-
* @param d Plain object
|
|
48
|
-
* @returns Exchange
|
|
49
|
-
*/
|
|
50
|
-
public static fromObject(d: { [k: string]: any }): Exchange;
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Creates a plain object from an Exchange message. Also converts values to other types if specified.
|
|
54
|
-
* @param m Exchange
|
|
55
|
-
* @param [o] Conversion options
|
|
56
|
-
* @returns Plain object
|
|
57
|
-
*/
|
|
58
|
-
public static toObject(m: Exchange, o?: $protobuf.IConversionOptions): { [k: string]: any };
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Converts this Exchange to JSON.
|
|
62
|
-
* @returns JSON object
|
|
63
|
-
*/
|
|
64
|
-
public toJSON(): { [k: string]: any };
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/** KeyType enum. */
|
|
68
|
-
export enum KeyType {
|
|
69
|
-
RSA = 0,
|
|
70
|
-
Ed25519 = 1,
|
|
71
|
-
Secp256k1 = 2,
|
|
72
|
-
ECDSA = 3
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/** Represents a PublicKey. */
|
|
76
|
-
export class PublicKey implements IPublicKey {
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Constructs a new PublicKey.
|
|
80
|
-
* @param [p] Properties to set
|
|
81
|
-
*/
|
|
82
|
-
constructor(p?: IPublicKey);
|
|
83
|
-
|
|
84
|
-
/** PublicKey Type. */
|
|
85
|
-
public Type: KeyType;
|
|
86
|
-
|
|
87
|
-
/** PublicKey Data. */
|
|
88
|
-
public Data: Uint8Array;
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Encodes the specified PublicKey message. Does not implicitly {@link PublicKey.verify|verify} messages.
|
|
92
|
-
* @param m PublicKey message or plain object to encode
|
|
93
|
-
* @param [w] Writer to encode to
|
|
94
|
-
* @returns Writer
|
|
95
|
-
*/
|
|
96
|
-
public static encode(m: IPublicKey, w?: $protobuf.Writer): $protobuf.Writer;
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Decodes a PublicKey message from the specified reader or buffer.
|
|
100
|
-
* @param r Reader or buffer to decode from
|
|
101
|
-
* @param [l] Message length if known beforehand
|
|
102
|
-
* @returns PublicKey
|
|
103
|
-
* @throws {Error} If the payload is not a reader or valid buffer
|
|
104
|
-
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
|
105
|
-
*/
|
|
106
|
-
public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): PublicKey;
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Creates a PublicKey message from a plain object. Also converts values to their respective internal types.
|
|
110
|
-
* @param d Plain object
|
|
111
|
-
* @returns PublicKey
|
|
112
|
-
*/
|
|
113
|
-
public static fromObject(d: { [k: string]: any }): PublicKey;
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Creates a plain object from a PublicKey message. Also converts values to other types if specified.
|
|
117
|
-
* @param m PublicKey
|
|
118
|
-
* @param [o] Conversion options
|
|
119
|
-
* @returns Plain object
|
|
120
|
-
*/
|
|
121
|
-
public static toObject(m: PublicKey, o?: $protobuf.IConversionOptions): { [k: string]: any };
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Converts this PublicKey to JSON.
|
|
125
|
-
* @returns JSON object
|
|
126
|
-
*/
|
|
127
|
-
public toJSON(): { [k: string]: any };
|
|
128
|
-
}
|
package/src/insecure/proto.js
DELETED
|
@@ -1,371 +0,0 @@
|
|
|
1
|
-
/*eslint-disable*/
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
var $protobuf = require("protobufjs/minimal");
|
|
5
|
-
|
|
6
|
-
// Common aliases
|
|
7
|
-
var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;
|
|
8
|
-
|
|
9
|
-
// Exported root namespace
|
|
10
|
-
var $root = $protobuf.roots["libp2p-plaintext"] || ($protobuf.roots["libp2p-plaintext"] = {});
|
|
11
|
-
|
|
12
|
-
$root.Exchange = (function() {
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Properties of an Exchange.
|
|
16
|
-
* @exports IExchange
|
|
17
|
-
* @interface IExchange
|
|
18
|
-
* @property {Uint8Array|null} [id] Exchange id
|
|
19
|
-
* @property {IPublicKey|null} [pubkey] Exchange pubkey
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Constructs a new Exchange.
|
|
24
|
-
* @exports Exchange
|
|
25
|
-
* @classdesc Represents an Exchange.
|
|
26
|
-
* @implements IExchange
|
|
27
|
-
* @constructor
|
|
28
|
-
* @param {IExchange=} [p] Properties to set
|
|
29
|
-
*/
|
|
30
|
-
function Exchange(p) {
|
|
31
|
-
if (p)
|
|
32
|
-
for (var ks = Object.keys(p), i = 0; i < ks.length; ++i)
|
|
33
|
-
if (p[ks[i]] != null)
|
|
34
|
-
this[ks[i]] = p[ks[i]];
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Exchange id.
|
|
39
|
-
* @member {Uint8Array} id
|
|
40
|
-
* @memberof Exchange
|
|
41
|
-
* @instance
|
|
42
|
-
*/
|
|
43
|
-
Exchange.prototype.id = $util.newBuffer([]);
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Exchange pubkey.
|
|
47
|
-
* @member {IPublicKey|null|undefined} pubkey
|
|
48
|
-
* @memberof Exchange
|
|
49
|
-
* @instance
|
|
50
|
-
*/
|
|
51
|
-
Exchange.prototype.pubkey = null;
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Encodes the specified Exchange message. Does not implicitly {@link Exchange.verify|verify} messages.
|
|
55
|
-
* @function encode
|
|
56
|
-
* @memberof Exchange
|
|
57
|
-
* @static
|
|
58
|
-
* @param {IExchange} m Exchange message or plain object to encode
|
|
59
|
-
* @param {$protobuf.Writer} [w] Writer to encode to
|
|
60
|
-
* @returns {$protobuf.Writer} Writer
|
|
61
|
-
*/
|
|
62
|
-
Exchange.encode = function encode(m, w) {
|
|
63
|
-
if (!w)
|
|
64
|
-
w = $Writer.create();
|
|
65
|
-
if (m.id != null && Object.hasOwnProperty.call(m, "id"))
|
|
66
|
-
w.uint32(10).bytes(m.id);
|
|
67
|
-
if (m.pubkey != null && Object.hasOwnProperty.call(m, "pubkey"))
|
|
68
|
-
$root.PublicKey.encode(m.pubkey, w.uint32(18).fork()).ldelim();
|
|
69
|
-
return w;
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Decodes an Exchange message from the specified reader or buffer.
|
|
74
|
-
* @function decode
|
|
75
|
-
* @memberof Exchange
|
|
76
|
-
* @static
|
|
77
|
-
* @param {$protobuf.Reader|Uint8Array} r Reader or buffer to decode from
|
|
78
|
-
* @param {number} [l] Message length if known beforehand
|
|
79
|
-
* @returns {Exchange} Exchange
|
|
80
|
-
* @throws {Error} If the payload is not a reader or valid buffer
|
|
81
|
-
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
|
82
|
-
*/
|
|
83
|
-
Exchange.decode = function decode(r, l) {
|
|
84
|
-
if (!(r instanceof $Reader))
|
|
85
|
-
r = $Reader.create(r);
|
|
86
|
-
var c = l === undefined ? r.len : r.pos + l, m = new $root.Exchange();
|
|
87
|
-
while (r.pos < c) {
|
|
88
|
-
var t = r.uint32();
|
|
89
|
-
switch (t >>> 3) {
|
|
90
|
-
case 1:
|
|
91
|
-
m.id = r.bytes();
|
|
92
|
-
break;
|
|
93
|
-
case 2:
|
|
94
|
-
m.pubkey = $root.PublicKey.decode(r, r.uint32());
|
|
95
|
-
break;
|
|
96
|
-
default:
|
|
97
|
-
r.skipType(t & 7);
|
|
98
|
-
break;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return m;
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Creates an Exchange message from a plain object. Also converts values to their respective internal types.
|
|
106
|
-
* @function fromObject
|
|
107
|
-
* @memberof Exchange
|
|
108
|
-
* @static
|
|
109
|
-
* @param {Object.<string,*>} d Plain object
|
|
110
|
-
* @returns {Exchange} Exchange
|
|
111
|
-
*/
|
|
112
|
-
Exchange.fromObject = function fromObject(d) {
|
|
113
|
-
if (d instanceof $root.Exchange)
|
|
114
|
-
return d;
|
|
115
|
-
var m = new $root.Exchange();
|
|
116
|
-
if (d.id != null) {
|
|
117
|
-
if (typeof d.id === "string")
|
|
118
|
-
$util.base64.decode(d.id, m.id = $util.newBuffer($util.base64.length(d.id)), 0);
|
|
119
|
-
else if (d.id.length)
|
|
120
|
-
m.id = d.id;
|
|
121
|
-
}
|
|
122
|
-
if (d.pubkey != null) {
|
|
123
|
-
if (typeof d.pubkey !== "object")
|
|
124
|
-
throw TypeError(".Exchange.pubkey: object expected");
|
|
125
|
-
m.pubkey = $root.PublicKey.fromObject(d.pubkey);
|
|
126
|
-
}
|
|
127
|
-
return m;
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Creates a plain object from an Exchange message. Also converts values to other types if specified.
|
|
132
|
-
* @function toObject
|
|
133
|
-
* @memberof Exchange
|
|
134
|
-
* @static
|
|
135
|
-
* @param {Exchange} m Exchange
|
|
136
|
-
* @param {$protobuf.IConversionOptions} [o] Conversion options
|
|
137
|
-
* @returns {Object.<string,*>} Plain object
|
|
138
|
-
*/
|
|
139
|
-
Exchange.toObject = function toObject(m, o) {
|
|
140
|
-
if (!o)
|
|
141
|
-
o = {};
|
|
142
|
-
var d = {};
|
|
143
|
-
if (o.defaults) {
|
|
144
|
-
if (o.bytes === String)
|
|
145
|
-
d.id = "";
|
|
146
|
-
else {
|
|
147
|
-
d.id = [];
|
|
148
|
-
if (o.bytes !== Array)
|
|
149
|
-
d.id = $util.newBuffer(d.id);
|
|
150
|
-
}
|
|
151
|
-
d.pubkey = null;
|
|
152
|
-
}
|
|
153
|
-
if (m.id != null && m.hasOwnProperty("id")) {
|
|
154
|
-
d.id = o.bytes === String ? $util.base64.encode(m.id, 0, m.id.length) : o.bytes === Array ? Array.prototype.slice.call(m.id) : m.id;
|
|
155
|
-
}
|
|
156
|
-
if (m.pubkey != null && m.hasOwnProperty("pubkey")) {
|
|
157
|
-
d.pubkey = $root.PublicKey.toObject(m.pubkey, o);
|
|
158
|
-
}
|
|
159
|
-
return d;
|
|
160
|
-
};
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Converts this Exchange to JSON.
|
|
164
|
-
* @function toJSON
|
|
165
|
-
* @memberof Exchange
|
|
166
|
-
* @instance
|
|
167
|
-
* @returns {Object.<string,*>} JSON object
|
|
168
|
-
*/
|
|
169
|
-
Exchange.prototype.toJSON = function toJSON() {
|
|
170
|
-
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
return Exchange;
|
|
174
|
-
})();
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* KeyType enum.
|
|
178
|
-
* @exports KeyType
|
|
179
|
-
* @enum {number}
|
|
180
|
-
* @property {number} RSA=0 RSA value
|
|
181
|
-
* @property {number} Ed25519=1 Ed25519 value
|
|
182
|
-
* @property {number} Secp256k1=2 Secp256k1 value
|
|
183
|
-
* @property {number} ECDSA=3 ECDSA value
|
|
184
|
-
*/
|
|
185
|
-
$root.KeyType = (function() {
|
|
186
|
-
var valuesById = {}, values = Object.create(valuesById);
|
|
187
|
-
values[valuesById[0] = "RSA"] = 0;
|
|
188
|
-
values[valuesById[1] = "Ed25519"] = 1;
|
|
189
|
-
values[valuesById[2] = "Secp256k1"] = 2;
|
|
190
|
-
values[valuesById[3] = "ECDSA"] = 3;
|
|
191
|
-
return values;
|
|
192
|
-
})();
|
|
193
|
-
|
|
194
|
-
$root.PublicKey = (function() {
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
* Properties of a PublicKey.
|
|
198
|
-
* @exports IPublicKey
|
|
199
|
-
* @interface IPublicKey
|
|
200
|
-
* @property {KeyType|null} [Type] PublicKey Type
|
|
201
|
-
* @property {Uint8Array|null} [Data] PublicKey Data
|
|
202
|
-
*/
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* Constructs a new PublicKey.
|
|
206
|
-
* @exports PublicKey
|
|
207
|
-
* @classdesc Represents a PublicKey.
|
|
208
|
-
* @implements IPublicKey
|
|
209
|
-
* @constructor
|
|
210
|
-
* @param {IPublicKey=} [p] Properties to set
|
|
211
|
-
*/
|
|
212
|
-
function PublicKey(p) {
|
|
213
|
-
if (p)
|
|
214
|
-
for (var ks = Object.keys(p), i = 0; i < ks.length; ++i)
|
|
215
|
-
if (p[ks[i]] != null)
|
|
216
|
-
this[ks[i]] = p[ks[i]];
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* PublicKey Type.
|
|
221
|
-
* @member {KeyType} Type
|
|
222
|
-
* @memberof PublicKey
|
|
223
|
-
* @instance
|
|
224
|
-
*/
|
|
225
|
-
PublicKey.prototype.Type = 0;
|
|
226
|
-
|
|
227
|
-
/**
|
|
228
|
-
* PublicKey Data.
|
|
229
|
-
* @member {Uint8Array} Data
|
|
230
|
-
* @memberof PublicKey
|
|
231
|
-
* @instance
|
|
232
|
-
*/
|
|
233
|
-
PublicKey.prototype.Data = $util.newBuffer([]);
|
|
234
|
-
|
|
235
|
-
/**
|
|
236
|
-
* Encodes the specified PublicKey message. Does not implicitly {@link PublicKey.verify|verify} messages.
|
|
237
|
-
* @function encode
|
|
238
|
-
* @memberof PublicKey
|
|
239
|
-
* @static
|
|
240
|
-
* @param {IPublicKey} m PublicKey message or plain object to encode
|
|
241
|
-
* @param {$protobuf.Writer} [w] Writer to encode to
|
|
242
|
-
* @returns {$protobuf.Writer} Writer
|
|
243
|
-
*/
|
|
244
|
-
PublicKey.encode = function encode(m, w) {
|
|
245
|
-
if (!w)
|
|
246
|
-
w = $Writer.create();
|
|
247
|
-
if (m.Type != null && Object.hasOwnProperty.call(m, "Type"))
|
|
248
|
-
w.uint32(8).int32(m.Type);
|
|
249
|
-
if (m.Data != null && Object.hasOwnProperty.call(m, "Data"))
|
|
250
|
-
w.uint32(18).bytes(m.Data);
|
|
251
|
-
return w;
|
|
252
|
-
};
|
|
253
|
-
|
|
254
|
-
/**
|
|
255
|
-
* Decodes a PublicKey message from the specified reader or buffer.
|
|
256
|
-
* @function decode
|
|
257
|
-
* @memberof PublicKey
|
|
258
|
-
* @static
|
|
259
|
-
* @param {$protobuf.Reader|Uint8Array} r Reader or buffer to decode from
|
|
260
|
-
* @param {number} [l] Message length if known beforehand
|
|
261
|
-
* @returns {PublicKey} PublicKey
|
|
262
|
-
* @throws {Error} If the payload is not a reader or valid buffer
|
|
263
|
-
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
|
264
|
-
*/
|
|
265
|
-
PublicKey.decode = function decode(r, l) {
|
|
266
|
-
if (!(r instanceof $Reader))
|
|
267
|
-
r = $Reader.create(r);
|
|
268
|
-
var c = l === undefined ? r.len : r.pos + l, m = new $root.PublicKey();
|
|
269
|
-
while (r.pos < c) {
|
|
270
|
-
var t = r.uint32();
|
|
271
|
-
switch (t >>> 3) {
|
|
272
|
-
case 1:
|
|
273
|
-
m.Type = r.int32();
|
|
274
|
-
break;
|
|
275
|
-
case 2:
|
|
276
|
-
m.Data = r.bytes();
|
|
277
|
-
break;
|
|
278
|
-
default:
|
|
279
|
-
r.skipType(t & 7);
|
|
280
|
-
break;
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
return m;
|
|
284
|
-
};
|
|
285
|
-
|
|
286
|
-
/**
|
|
287
|
-
* Creates a PublicKey message from a plain object. Also converts values to their respective internal types.
|
|
288
|
-
* @function fromObject
|
|
289
|
-
* @memberof PublicKey
|
|
290
|
-
* @static
|
|
291
|
-
* @param {Object.<string,*>} d Plain object
|
|
292
|
-
* @returns {PublicKey} PublicKey
|
|
293
|
-
*/
|
|
294
|
-
PublicKey.fromObject = function fromObject(d) {
|
|
295
|
-
if (d instanceof $root.PublicKey)
|
|
296
|
-
return d;
|
|
297
|
-
var m = new $root.PublicKey();
|
|
298
|
-
switch (d.Type) {
|
|
299
|
-
case "RSA":
|
|
300
|
-
case 0:
|
|
301
|
-
m.Type = 0;
|
|
302
|
-
break;
|
|
303
|
-
case "Ed25519":
|
|
304
|
-
case 1:
|
|
305
|
-
m.Type = 1;
|
|
306
|
-
break;
|
|
307
|
-
case "Secp256k1":
|
|
308
|
-
case 2:
|
|
309
|
-
m.Type = 2;
|
|
310
|
-
break;
|
|
311
|
-
case "ECDSA":
|
|
312
|
-
case 3:
|
|
313
|
-
m.Type = 3;
|
|
314
|
-
break;
|
|
315
|
-
}
|
|
316
|
-
if (d.Data != null) {
|
|
317
|
-
if (typeof d.Data === "string")
|
|
318
|
-
$util.base64.decode(d.Data, m.Data = $util.newBuffer($util.base64.length(d.Data)), 0);
|
|
319
|
-
else if (d.Data.length)
|
|
320
|
-
m.Data = d.Data;
|
|
321
|
-
}
|
|
322
|
-
return m;
|
|
323
|
-
};
|
|
324
|
-
|
|
325
|
-
/**
|
|
326
|
-
* Creates a plain object from a PublicKey message. Also converts values to other types if specified.
|
|
327
|
-
* @function toObject
|
|
328
|
-
* @memberof PublicKey
|
|
329
|
-
* @static
|
|
330
|
-
* @param {PublicKey} m PublicKey
|
|
331
|
-
* @param {$protobuf.IConversionOptions} [o] Conversion options
|
|
332
|
-
* @returns {Object.<string,*>} Plain object
|
|
333
|
-
*/
|
|
334
|
-
PublicKey.toObject = function toObject(m, o) {
|
|
335
|
-
if (!o)
|
|
336
|
-
o = {};
|
|
337
|
-
var d = {};
|
|
338
|
-
if (o.defaults) {
|
|
339
|
-
d.Type = o.enums === String ? "RSA" : 0;
|
|
340
|
-
if (o.bytes === String)
|
|
341
|
-
d.Data = "";
|
|
342
|
-
else {
|
|
343
|
-
d.Data = [];
|
|
344
|
-
if (o.bytes !== Array)
|
|
345
|
-
d.Data = $util.newBuffer(d.Data);
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
if (m.Type != null && m.hasOwnProperty("Type")) {
|
|
349
|
-
d.Type = o.enums === String ? $root.KeyType[m.Type] : m.Type;
|
|
350
|
-
}
|
|
351
|
-
if (m.Data != null && m.hasOwnProperty("Data")) {
|
|
352
|
-
d.Data = o.bytes === String ? $util.base64.encode(m.Data, 0, m.Data.length) : o.bytes === Array ? Array.prototype.slice.call(m.Data) : m.Data;
|
|
353
|
-
}
|
|
354
|
-
return d;
|
|
355
|
-
};
|
|
356
|
-
|
|
357
|
-
/**
|
|
358
|
-
* Converts this PublicKey to JSON.
|
|
359
|
-
* @function toJSON
|
|
360
|
-
* @memberof PublicKey
|
|
361
|
-
* @instance
|
|
362
|
-
* @returns {Object.<string,*>} JSON object
|
|
363
|
-
*/
|
|
364
|
-
PublicKey.prototype.toJSON = function toJSON() {
|
|
365
|
-
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
|
|
366
|
-
};
|
|
367
|
-
|
|
368
|
-
return PublicKey;
|
|
369
|
-
})();
|
|
370
|
-
|
|
371
|
-
module.exports = $root;
|