@streamr/dht 100.0.0-pretestnet.4 → 100.0.0-rc.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/README.md +90 -8
- package/dist/package.json +70 -0
- package/dist/src/connection/Connection.d.ts +1 -0
- package/dist/src/connection/Connection.js +10 -3
- package/dist/src/connection/Connection.js.map +1 -1
- package/dist/src/connection/ConnectionLockHandler.d.ts +14 -14
- package/dist/src/connection/ConnectionLockHandler.js +22 -16
- package/dist/src/connection/ConnectionLockHandler.js.map +1 -1
- package/dist/src/connection/ConnectionLockRpcLocal.d.ts +3 -3
- package/dist/src/connection/ConnectionLockRpcLocal.js +7 -6
- package/dist/src/connection/ConnectionLockRpcLocal.js.map +1 -1
- package/dist/src/connection/ConnectionLockRpcRemote.d.ts +4 -6
- package/dist/src/connection/ConnectionLockRpcRemote.js +10 -37
- package/dist/src/connection/ConnectionLockRpcRemote.js.map +1 -1
- package/dist/src/connection/ConnectionManager.d.ts +19 -20
- package/dist/src/connection/ConnectionManager.js +132 -117
- package/dist/src/connection/ConnectionManager.js.map +1 -1
- package/dist/src/connection/ConnectorFacade.d.ts +3 -2
- package/dist/src/connection/ConnectorFacade.js +10 -3
- package/dist/src/connection/ConnectorFacade.js.map +1 -1
- package/dist/src/connection/Handshaker.d.ts +3 -1
- package/dist/src/connection/Handshaker.js +18 -9
- package/dist/src/connection/Handshaker.js.map +1 -1
- package/dist/src/connection/IConnection.d.ts +2 -7
- package/dist/src/connection/IConnection.js +1 -8
- package/dist/src/connection/IConnection.js.map +1 -1
- package/dist/src/connection/ManagedConnection.d.ts +5 -7
- package/dist/src/connection/ManagedConnection.js +42 -26
- package/dist/src/connection/ManagedConnection.js.map +1 -1
- package/dist/src/connection/ManagedWebrtcConnection.js.map +1 -1
- package/dist/src/connection/connectivityChecker.d.ts +9 -0
- package/dist/src/connection/connectivityChecker.js +130 -0
- package/dist/src/connection/connectivityChecker.js.map +1 -0
- package/dist/src/connection/connectivityRequestHandler.d.ts +3 -0
- package/dist/src/connection/connectivityRequestHandler.js +101 -0
- package/dist/src/connection/connectivityRequestHandler.js.map +1 -0
- package/dist/src/connection/simulator/Simulator.d.ts +0 -3
- package/dist/src/connection/simulator/Simulator.js +34 -69
- package/dist/src/connection/simulator/Simulator.js.map +1 -1
- package/dist/src/connection/simulator/SimulatorConnection.js +27 -25
- package/dist/src/connection/simulator/SimulatorConnection.js.map +1 -1
- package/dist/src/connection/simulator/SimulatorConnector.js +16 -12
- package/dist/src/connection/simulator/SimulatorConnector.js.map +1 -1
- package/dist/src/connection/simulator/pings.js.map +1 -1
- package/dist/src/connection/webrtc/NodeWebrtcConnection.d.ts +2 -3
- package/dist/src/connection/webrtc/NodeWebrtcConnection.js +40 -27
- package/dist/src/connection/webrtc/NodeWebrtcConnection.js.map +1 -1
- package/dist/src/connection/webrtc/WebrtcConnector.d.ts +0 -2
- package/dist/src/connection/webrtc/WebrtcConnector.js +24 -25
- package/dist/src/connection/webrtc/WebrtcConnector.js.map +1 -1
- package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.d.ts +2 -2
- package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js +27 -20
- package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js.map +1 -1
- package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.d.ts +3 -6
- package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.js +2 -5
- package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.js.map +1 -1
- package/dist/src/connection/webrtc/iceServerAsString.js +1 -1
- package/dist/src/connection/webrtc/iceServerAsString.js.map +1 -1
- package/dist/src/connection/websocket/AutoCertifierClientFacade.d.ts +1 -2
- package/dist/src/connection/websocket/AutoCertifierClientFacade.js +6 -4
- package/dist/src/connection/websocket/AutoCertifierClientFacade.js.map +1 -1
- package/dist/src/connection/websocket/ClientWebsocket.d.ts +1 -0
- package/dist/src/connection/websocket/ClientWebsocket.js +14 -7
- package/dist/src/connection/websocket/ClientWebsocket.js.map +1 -1
- package/dist/src/connection/websocket/WebsocketConnector.d.ts +3 -9
- package/dist/src/connection/websocket/WebsocketConnector.js +142 -74
- package/dist/src/connection/websocket/WebsocketConnector.js.map +1 -1
- package/dist/src/connection/websocket/WebsocketConnectorRpcLocal.d.ts +5 -3
- package/dist/src/connection/websocket/WebsocketConnectorRpcLocal.js +9 -12
- package/dist/src/connection/websocket/WebsocketConnectorRpcLocal.js.map +1 -1
- package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.d.ts +4 -7
- package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.js +7 -44
- package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.js.map +1 -1
- package/dist/src/connection/websocket/WebsocketServer.d.ts +1 -4
- package/dist/src/connection/websocket/WebsocketServer.js +49 -40
- package/dist/src/connection/websocket/WebsocketServer.js.map +1 -1
- package/dist/src/connection/websocket/{ServerWebsocket.d.ts → WebsocketServerConnection.d.ts} +8 -4
- package/dist/src/connection/websocket/WebsocketServerConnection.js +97 -0
- package/dist/src/connection/websocket/WebsocketServerConnection.js.map +1 -0
- package/dist/src/dht/DhtNode.d.ts +45 -49
- package/dist/src/dht/DhtNode.js +229 -317
- package/dist/src/dht/DhtNode.js.map +1 -1
- package/dist/src/dht/DhtNodeRpcLocal.d.ts +10 -9
- package/dist/src/dht/DhtNodeRpcLocal.js +19 -11
- package/dist/src/dht/DhtNodeRpcLocal.js.map +1 -1
- package/dist/src/dht/DhtNodeRpcRemote.d.ts +15 -10
- package/dist/src/dht/DhtNodeRpcRemote.js +38 -21
- package/dist/src/dht/DhtNodeRpcRemote.js.map +1 -1
- package/dist/src/dht/ExternalApiRpcLocal.d.ts +7 -6
- package/dist/src/dht/ExternalApiRpcLocal.js +9 -13
- package/dist/src/dht/ExternalApiRpcLocal.js.map +1 -1
- package/dist/src/dht/ExternalApiRpcRemote.d.ts +6 -5
- package/dist/src/dht/ExternalApiRpcRemote.js +10 -7
- package/dist/src/dht/ExternalApiRpcRemote.js.map +1 -1
- package/dist/src/dht/PeerManager.d.ts +61 -0
- package/dist/src/dht/PeerManager.js +288 -0
- package/dist/src/dht/PeerManager.js.map +1 -0
- package/dist/src/dht/contact/Contact.d.ts +2 -2
- package/dist/src/dht/contact/Contact.js +4 -3
- package/dist/src/dht/contact/Contact.js.map +1 -1
- package/dist/src/dht/contact/ContactList.d.ts +8 -8
- package/dist/src/dht/contact/ContactList.js +12 -7
- package/dist/src/dht/contact/ContactList.js.map +1 -1
- package/dist/src/dht/contact/RandomContactList.d.ts +4 -4
- package/dist/src/dht/contact/RandomContactList.js +13 -12
- package/dist/src/dht/contact/RandomContactList.js.map +1 -1
- package/dist/src/dht/contact/RingContactList.d.ts +31 -0
- package/dist/src/dht/contact/RingContactList.js +133 -0
- package/dist/src/dht/contact/RingContactList.js.map +1 -0
- package/dist/src/dht/contact/{Remote.d.ts → RpcRemote.d.ts} +8 -7
- package/dist/src/dht/contact/{Remote.js → RpcRemote.js} +16 -13
- package/dist/src/dht/contact/RpcRemote.js.map +1 -0
- package/dist/src/dht/contact/SortedContactList.d.ts +29 -15
- package/dist/src/dht/contact/SortedContactList.js +79 -42
- package/dist/src/dht/contact/SortedContactList.js.map +1 -1
- package/dist/src/dht/contact/ringIdentifiers.d.ts +16 -0
- package/dist/src/dht/contact/ringIdentifiers.js +54 -0
- package/dist/src/dht/contact/ringIdentifiers.js.map +1 -0
- package/dist/src/dht/discovery/DiscoverySession.d.ts +8 -18
- package/dist/src/dht/discovery/DiscoverySession.js +32 -48
- package/dist/src/dht/discovery/DiscoverySession.js.map +1 -1
- package/dist/src/dht/discovery/PeerDiscovery.d.ts +16 -12
- package/dist/src/dht/discovery/PeerDiscovery.js +82 -39
- package/dist/src/dht/discovery/PeerDiscovery.js.map +1 -1
- package/dist/src/dht/discovery/RingDiscoverySession.d.ts +29 -0
- package/dist/src/dht/discovery/RingDiscoverySession.js +123 -0
- package/dist/src/dht/discovery/RingDiscoverySession.js.map +1 -0
- package/dist/src/dht/recursive-operation/RecursiveOperationManager.d.ts +36 -0
- package/dist/src/dht/recursive-operation/RecursiveOperationManager.js +166 -0
- package/dist/src/dht/recursive-operation/RecursiveOperationManager.js.map +1 -0
- package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.d.ts +14 -0
- package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.js +26 -0
- package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.js.map +1 -0
- package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.d.ts +6 -0
- package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.js +44 -0
- package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.js.map +1 -0
- package/dist/src/dht/recursive-operation/RecursiveOperationSession.d.ts +44 -0
- package/dist/src/dht/recursive-operation/RecursiveOperationSession.js +187 -0
- package/dist/src/dht/recursive-operation/RecursiveOperationSession.js.map +1 -0
- package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.d.ts +14 -0
- package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.js +20 -0
- package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.js.map +1 -0
- package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcRemote.d.ts +6 -0
- package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcRemote.js +21 -0
- package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcRemote.js.map +1 -0
- package/dist/src/dht/routing/DuplicateDetector.d.ts +2 -4
- package/dist/src/dht/routing/DuplicateDetector.js +10 -15
- package/dist/src/dht/routing/DuplicateDetector.js.map +1 -1
- package/dist/src/dht/routing/Router.d.ts +11 -27
- package/dist/src/dht/routing/Router.js +92 -58
- package/dist/src/dht/routing/Router.js.map +1 -1
- package/dist/src/dht/routing/RouterRpcLocal.d.ts +3 -4
- package/dist/src/dht/routing/RouterRpcLocal.js +17 -16
- package/dist/src/dht/routing/RouterRpcLocal.js.map +1 -1
- package/dist/src/dht/routing/RouterRpcRemote.d.ts +3 -3
- package/dist/src/dht/routing/RouterRpcRemote.js +29 -20
- package/dist/src/dht/routing/RouterRpcRemote.js.map +1 -1
- package/dist/src/dht/routing/RoutingSession.d.ts +29 -21
- package/dist/src/dht/routing/RoutingSession.js +93 -68
- package/dist/src/dht/routing/RoutingSession.js.map +1 -1
- package/dist/src/dht/routing/RoutingTablesCache.d.ts +24 -0
- package/dist/src/dht/routing/RoutingTablesCache.js +46 -0
- package/dist/src/dht/routing/RoutingTablesCache.js.map +1 -0
- package/dist/src/dht/routing/getPreviousPeer.js.map +1 -1
- package/dist/src/dht/store/LocalDataStore.d.ts +9 -14
- package/dist/src/dht/store/LocalDataStore.js +46 -72
- package/dist/src/dht/store/LocalDataStore.js.map +1 -1
- package/dist/src/dht/store/StoreManager.d.ts +33 -0
- package/dist/src/dht/store/StoreManager.js +182 -0
- package/dist/src/dht/store/StoreManager.js.map +1 -0
- package/dist/src/dht/store/StoreRpcLocal.d.ts +11 -41
- package/dist/src/dht/store/StoreRpcLocal.js +27 -234
- package/dist/src/dht/store/StoreRpcLocal.js.map +1 -1
- package/dist/src/dht/store/StoreRpcRemote.d.ts +6 -7
- package/dist/src/dht/store/StoreRpcRemote.js +10 -20
- package/dist/src/dht/store/StoreRpcRemote.js.map +1 -1
- package/dist/src/exports.d.ts +5 -3
- package/dist/src/exports.js +10 -8
- package/dist/src/exports.js.map +1 -1
- package/dist/src/helpers/AddressTools.js +2 -0
- package/dist/src/helpers/AddressTools.js.map +1 -1
- package/dist/src/helpers/Connectivity.js.map +1 -1
- package/dist/src/helpers/MapWithTtl.d.ts +14 -0
- package/dist/src/helpers/MapWithTtl.js +60 -0
- package/dist/src/helpers/MapWithTtl.js.map +1 -0
- package/dist/src/helpers/createPeerDescriptor.d.ts +3 -0
- package/dist/src/helpers/createPeerDescriptor.js +57 -0
- package/dist/src/helpers/createPeerDescriptor.js.map +1 -0
- package/dist/src/helpers/createPeerDescriptorSignaturePayload.d.ts +2 -0
- package/dist/src/helpers/createPeerDescriptorSignaturePayload.js +30 -0
- package/dist/src/helpers/createPeerDescriptorSignaturePayload.js.map +1 -0
- package/dist/src/helpers/debugHelpers.js.map +1 -1
- package/dist/src/helpers/errors.js +2 -0
- package/dist/src/helpers/errors.js.map +1 -1
- package/dist/src/helpers/offering.d.ts +4 -0
- package/dist/src/helpers/offering.js +18 -0
- package/dist/src/helpers/offering.js.map +1 -0
- package/dist/src/helpers/protoClasses.js +2 -3
- package/dist/src/helpers/protoClasses.js.map +1 -1
- package/dist/src/helpers/protoToString.js.map +1 -1
- package/dist/src/helpers/version.d.ts +6 -0
- package/dist/src/helpers/version.js +38 -0
- package/dist/src/helpers/version.js.map +1 -0
- package/dist/src/identifiers.d.ts +10 -0
- package/dist/src/identifiers.js +31 -0
- package/dist/src/identifiers.js.map +1 -0
- package/dist/src/proto/google/protobuf/any.js +8 -8
- package/dist/src/proto/google/protobuf/any.js.map +1 -1
- package/dist/src/proto/google/protobuf/empty.js +2 -4
- package/dist/src/proto/google/protobuf/empty.js.map +1 -1
- package/dist/src/proto/google/protobuf/timestamp.js +10 -10
- package/dist/src/proto/google/protobuf/timestamp.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +46 -49
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +63 -54
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +226 -232
- package/dist/src/proto/packages/dht/protos/DhtRpc.js +146 -168
- package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +26 -29
- package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js +1 -1
- package/dist/src/rpc-protocol/DhtCallContext.d.ts +2 -2
- package/dist/src/rpc-protocol/DhtCallContext.js +8 -0
- package/dist/src/rpc-protocol/DhtCallContext.js.map +1 -1
- package/dist/src/rpc-protocol/DhtRpcOptions.d.ts +2 -1
- package/dist/src/transport/ITransport.d.ts +10 -2
- package/dist/src/transport/ITransport.js +5 -0
- package/dist/src/transport/ITransport.js.map +1 -1
- package/dist/src/transport/ListeningRpcCommunicator.js +3 -1
- package/dist/src/transport/ListeningRpcCommunicator.js.map +1 -1
- package/dist/src/transport/RoutingRpcCommunicator.d.ts +4 -2
- package/dist/src/transport/RoutingRpcCommunicator.js +19 -12
- package/dist/src/transport/RoutingRpcCommunicator.js.map +1 -1
- package/jest.config.js +4 -1
- package/karma-setup.js +2 -0
- package/karma.config.js +13 -9
- package/package.json +16 -13
- package/protos/DhtRpc.proto +76 -76
- package/src/connection/Connection.ts +6 -1
- package/src/connection/ConnectionLockHandler.ts +30 -22
- package/src/connection/ConnectionLockRpcLocal.ts +7 -12
- package/src/connection/ConnectionLockRpcRemote.ts +9 -19
- package/src/connection/ConnectionManager.ts +132 -138
- package/src/connection/ConnectorFacade.ts +10 -9
- package/src/connection/Handshaker.ts +23 -11
- package/src/connection/IConnection.ts +2 -8
- package/src/connection/ManagedConnection.ts +34 -35
- package/src/connection/connectivityChecker.ts +109 -0
- package/src/connection/connectivityRequestHandler.ts +103 -0
- package/src/connection/simulator/Simulator.ts +6 -37
- package/src/connection/simulator/SimulatorConnection.ts +23 -25
- package/src/connection/simulator/SimulatorConnector.ts +11 -11
- package/src/connection/webrtc/BrowserWebrtcConnection.ts +17 -25
- package/src/connection/webrtc/NodeWebrtcConnection.ts +24 -26
- package/src/connection/webrtc/WebrtcConnector.ts +18 -29
- package/src/connection/webrtc/WebrtcConnectorRpcLocal.ts +29 -24
- package/src/connection/webrtc/WebrtcConnectorRpcRemote.ts +4 -14
- package/src/connection/webrtc/iceServerAsString.ts +1 -1
- package/src/connection/websocket/AutoCertifierClientFacade.ts +4 -6
- package/src/connection/websocket/ClientWebsocket.ts +10 -4
- package/src/connection/websocket/WebsocketConnector.ts +120 -97
- package/src/connection/websocket/WebsocketConnectorRpcLocal.ts +13 -15
- package/src/connection/websocket/WebsocketConnectorRpcRemote.ts +7 -27
- package/src/connection/websocket/WebsocketServer.ts +50 -53
- package/src/connection/websocket/WebsocketServerConnection.ts +104 -0
- package/src/dht/DhtNode.ts +289 -410
- package/src/dht/DhtNodeRpcLocal.ts +25 -17
- package/src/dht/DhtNodeRpcRemote.ts +43 -27
- package/src/dht/ExternalApiRpcLocal.ts +30 -17
- package/src/dht/ExternalApiRpcRemote.ts +14 -11
- package/src/dht/PeerManager.ts +339 -0
- package/src/dht/contact/Contact.ts +4 -4
- package/src/dht/contact/ContactList.ts +11 -10
- package/src/dht/contact/RandomContactList.ts +15 -15
- package/src/dht/contact/RingContactList.ts +151 -0
- package/src/dht/contact/{Remote.ts → RpcRemote.ts} +16 -19
- package/src/dht/contact/SortedContactList.ts +120 -72
- package/src/dht/contact/ringIdentifiers.ts +62 -0
- package/src/dht/discovery/DiscoverySession.ts +36 -61
- package/src/dht/discovery/PeerDiscovery.ts +98 -43
- package/src/dht/discovery/RingDiscoverySession.ts +160 -0
- package/src/dht/recursive-operation/RecursiveOperationManager.ts +246 -0
- package/src/dht/recursive-operation/RecursiveOperationRpcLocal.ts +34 -0
- package/src/dht/recursive-operation/RecursiveOperationRpcRemote.ts +43 -0
- package/src/dht/recursive-operation/RecursiveOperationSession.ts +232 -0
- package/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.ts +35 -0
- package/src/dht/recursive-operation/RecursiveOperationSessionRpcRemote.ts +30 -0
- package/src/dht/routing/DuplicateDetector.ts +9 -21
- package/src/dht/routing/Router.ts +95 -92
- package/src/dht/routing/RouterRpcLocal.ts +16 -18
- package/src/dht/routing/RouterRpcRemote.ts +26 -24
- package/src/dht/routing/RoutingSession.ts +119 -98
- package/src/dht/routing/RoutingTablesCache.ts +58 -0
- package/src/dht/routing/getPreviousPeer.ts +1 -1
- package/src/dht/store/LocalDataStore.ts +47 -77
- package/src/dht/store/StoreManager.ts +209 -0
- package/src/dht/store/StoreRpcLocal.ts +39 -308
- package/src/dht/store/StoreRpcRemote.ts +13 -31
- package/src/exports.ts +13 -3
- package/src/helpers/AddressTools.ts +2 -0
- package/src/helpers/MapWithTtl.ts +71 -0
- package/src/helpers/createPeerDescriptor.ts +57 -0
- package/src/helpers/createPeerDescriptorSignaturePayload.ts +28 -0
- package/src/helpers/offering.ts +15 -0
- package/src/helpers/protoClasses.ts +4 -6
- package/src/helpers/version.ts +32 -0
- package/src/identifiers.ts +29 -0
- package/src/proto/google/protobuf/any.ts +4 -4
- package/src/proto/google/protobuf/empty.ts +2 -4
- package/src/proto/google/protobuf/timestamp.ts +4 -4
- package/src/proto/packages/dht/protos/DhtRpc.client.ts +65 -68
- package/src/proto/packages/dht/protos/DhtRpc.server.ts +27 -30
- package/src/proto/packages/dht/protos/DhtRpc.ts +297 -313
- package/src/proto/packages/proto-rpc/protos/ProtoRpc.ts +1 -1
- package/src/rpc-protocol/DhtCallContext.ts +2 -2
- package/src/rpc-protocol/DhtRpcOptions.ts +2 -1
- package/src/transport/ITransport.ts +11 -2
- package/src/transport/ListeningRpcCommunicator.ts +1 -1
- package/src/transport/RoutingRpcCommunicator.ts +21 -14
- package/test/RandomGraphSimulation.ts +3 -2
- package/test/benchmark/Find.test.ts +13 -28
- package/test/benchmark/KademliaCorrectness.test.ts +24 -28
- package/test/benchmark/RingCorrectness.test.ts +157 -0
- package/test/benchmark/SortedContactListBenchmark.test.ts +151 -0
- package/test/benchmark/WebsocketServerMemoryLeak.test.ts +41 -0
- package/test/benchmark/hybrid-network-simulation/RingContactList.test.ts +72 -0
- package/test/benchmark/kademlia-simulation/Contact.ts +9 -9
- package/test/benchmark/kademlia-simulation/KademliaSimulation.ts +11 -11
- package/test/benchmark/kademlia-simulation/SimulationNode.ts +29 -25
- package/test/data/generateGroundTruthData.ts +7 -6
- package/test/end-to-end/Layer0-Layer1.test.ts +11 -15
- package/test/end-to-end/Layer0.test.ts +19 -22
- package/test/end-to-end/Layer0MixedConnectionTypes.test.ts +19 -21
- package/test/end-to-end/Layer0Webrtc-Layer1.test.ts +26 -28
- package/test/end-to-end/Layer0Webrtc.test.ts +19 -19
- package/test/end-to-end/Layer1-Scale-WebSocket.test.ts +10 -18
- package/test/end-to-end/Layer1-Scale-Webrtc.test.ts +8 -15
- package/test/end-to-end/RecoveryFromFailedAutoCertification.test.ts +2 -2
- package/test/end-to-end/WebsocketConnectionRequest.test.ts +8 -9
- package/test/end-to-end/memory-leak.test.ts +19 -24
- package/test/integration/ConnectionLocking.test.ts +66 -60
- package/test/integration/ConnectionManager.test.ts +43 -63
- package/test/integration/ConnectivityChecking.test.ts +52 -0
- package/test/integration/DhtJoinPeerDiscovery.test.ts +8 -12
- package/test/integration/DhtNodeExternalAPI.test.ts +17 -21
- package/test/integration/DhtNodeRpcRemote.test.ts +19 -26
- package/test/integration/DhtRpc.test.ts +20 -24
- package/test/integration/Find.test.ts +10 -12
- package/test/integration/Layer1-scale.test.ts +25 -37
- package/test/integration/Mock-Layer1-Layer0.test.ts +39 -59
- package/test/integration/MultipleEntryPointJoining.test.ts +14 -14
- package/test/integration/ReplicateData.test.ts +106 -0
- package/test/integration/RouteMessage.test.ts +42 -68
- package/test/integration/RouterRpcRemote.test.ts +19 -24
- package/test/integration/ScaleDownDht.test.ts +14 -12
- package/test/integration/SimultaneousConnections.test.ts +112 -111
- package/test/integration/Store.test.ts +43 -27
- package/test/integration/StoreAndDelete.test.ts +36 -48
- package/test/integration/StoreOnDhtWithThreeNodes.test.ts +59 -0
- package/test/integration/StoreOnDhtWithTwoNodes.test.ts +17 -37
- package/test/integration/StoreRpcRemote.test.ts +20 -32
- package/test/integration/WebrtcConnectionManagement.test.ts +39 -25
- package/test/integration/WebrtcConnectorRpc.test.ts +6 -11
- package/test/integration/WebsocketConnectionManagement.test.ts +87 -22
- package/test/integration/WebsocketConnectorRpc.test.ts +14 -24
- package/test/integration/{RpcErrors.test.ts → rpc-connections-over-webrpc.test.ts} +15 -26
- package/test/unit/AddressTools.test.ts +4 -0
- package/test/unit/ConnectivityHelpers.test.ts +9 -17
- package/test/unit/DuplicateDetector.test.ts +8 -5
- package/test/unit/LocalDataStore.test.ts +78 -75
- package/test/unit/PeerManager.test.ts +33 -0
- package/test/unit/RandomContactList.test.ts +12 -9
- package/test/unit/RecursiveOperationManager.test.ts +157 -0
- package/test/unit/RecursiveOperationSession.test.ts +68 -0
- package/test/unit/Router.test.ts +52 -35
- package/test/unit/RoutingSession.test.ts +79 -0
- package/test/unit/SortedContactList.test.ts +61 -30
- package/test/unit/StoreManager.test.ts +138 -0
- package/test/unit/WebsocketConnector.test.ts +27 -35
- package/test/unit/connectivityRequestHandler.test.ts +104 -0
- package/test/unit/createPeerDescriptor.test.ts +69 -0
- package/test/unit/customMatchers.test.ts +16 -0
- package/test/unit/version.test.ts +18 -0
- package/test/utils/FakeTransport.ts +47 -0
- package/test/utils/customMatchers.ts +71 -0
- package/test/utils/mock/MockRpcCommunicator.ts +7 -0
- package/test/utils/mock/Router.ts +13 -3
- package/test/utils/mock/Transport.ts +1 -1
- package/test/utils/mock/mockDataEntry.ts +38 -0
- package/test/utils/utils.ts +104 -107
- package/tsconfig.browser.json +2 -1
- package/tsconfig.jest.json +4 -2
- package/tsconfig.node.json +4 -2
- package/dist/src/connection/ConnectivityChecker.d.ts +0 -17
- package/dist/src/connection/ConnectivityChecker.js +0 -208
- package/dist/src/connection/ConnectivityChecker.js.map +0 -1
- package/dist/src/connection/websocket/ServerWebsocket.js +0 -100
- package/dist/src/connection/websocket/ServerWebsocket.js.map +0 -1
- package/dist/src/dht/contact/Remote.js.map +0 -1
- package/dist/src/dht/find/FindRpcLocal.d.ts +0 -14
- package/dist/src/dht/find/FindRpcLocal.js +0 -25
- package/dist/src/dht/find/FindRpcLocal.js.map +0 -1
- package/dist/src/dht/find/FindSession.d.ts +0 -44
- package/dist/src/dht/find/FindSession.js +0 -145
- package/dist/src/dht/find/FindSession.js.map +0 -1
- package/dist/src/dht/find/FindSessionRpcLocal.d.ts +0 -12
- package/dist/src/dht/find/FindSessionRpcLocal.js +0 -17
- package/dist/src/dht/find/FindSessionRpcLocal.js.map +0 -1
- package/dist/src/dht/find/FindSessionRpcRemote.d.ts +0 -6
- package/dist/src/dht/find/FindSessionRpcRemote.js +0 -21
- package/dist/src/dht/find/FindSessionRpcRemote.js.map +0 -1
- package/dist/src/dht/find/Finder.d.ts +0 -49
- package/dist/src/dht/find/Finder.js +0 -184
- package/dist/src/dht/find/Finder.js.map +0 -1
- package/dist/src/dht/routing/FindRpcRemote.d.ts +0 -6
- package/dist/src/dht/routing/FindRpcRemote.js +0 -41
- package/dist/src/dht/routing/FindRpcRemote.js.map +0 -1
- package/dist/src/helpers/PeerID.d.ts +0 -24
- package/dist/src/helpers/PeerID.js +0 -78
- package/dist/src/helpers/PeerID.js.map +0 -1
- package/dist/src/helpers/UUID.d.ts +0 -8
- package/dist/src/helpers/UUID.js +0 -36
- package/dist/src/helpers/UUID.js.map +0 -1
- package/dist/src/helpers/kademliaId.d.ts +0 -1
- package/dist/src/helpers/kademliaId.js +0 -14
- package/dist/src/helpers/kademliaId.js.map +0 -1
- package/dist/src/helpers/peerIdFromPeerDescriptor.d.ts +0 -6
- package/dist/src/helpers/peerIdFromPeerDescriptor.js +0 -23
- package/dist/src/helpers/peerIdFromPeerDescriptor.js.map +0 -1
- package/src/connection/ConnectivityChecker.ts +0 -199
- package/src/connection/websocket/ServerWebsocket.ts +0 -114
- package/src/dht/find/FindRpcLocal.ts +0 -35
- package/src/dht/find/FindSession.ts +0 -178
- package/src/dht/find/FindSessionRpcLocal.ts +0 -25
- package/src/dht/find/FindSessionRpcRemote.ts +0 -30
- package/src/dht/find/Finder.ts +0 -275
- package/src/dht/routing/FindRpcRemote.ts +0 -40
- package/src/helpers/PeerID.ts +0 -88
- package/src/helpers/UUID.ts +0 -35
- package/src/helpers/kademliaId.ts +0 -8
- package/src/helpers/peerIdFromPeerDescriptor.ts +0 -20
- package/test/integration/MigrateData.test.ts +0 -204
- package/test/unit/Finder.test.ts +0 -110
- package/test/unit/PeerID.test.ts +0 -22
- package/test/unit/UUID.test.ts +0 -55
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createPeerDescriptor.js","sourceRoot":"","sources":["../../../src/helpers/createPeerDescriptor.ts"],"names":[],"mappings":";;;;;;AAAA,0CAGuB;AACvB,oDAA2B;AAC3B,kFAA8E;AAC9E,0GAAsG;AACtG,gDAAgF;AAChF,gEAI4C;AAE5C,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,UAAsB,EAAiB,EAAE;IACpF,2BAA2B;IAC3B,eAAe;IACf,iDAAiD;IACjD,8CAA8C;IAC9C,IAAI;IACJ,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,IAAA,YAAI,EAAC,UAAU,CAAC,CAAA;IAC/B,MAAM,SAAS,GAAG,IAAA,uBAAe,EAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IACzD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC;QAClD,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC;KAC7D,CAAC,CAAA;IACF,OAAO,SAAS,CAAA;AACpB,CAAC,CAAA;AAEM,MAAM,oBAAoB,GAAG,CAAC,oBAA0C,EAAE,MAAc,EAAE,MAAmB,EAAkB,EAAE;IACpI,MAAM,UAAU,GAAG,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IACzC,MAAM,SAAS,GAAG,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA,CAAE,2CAA2C;IACrF,IAAI,SAAwB,CAAA;IAC5B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,SAAS,GAAG,IAAA,kCAAoB,EAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;SAAM,CAAC;QACJ,SAAS,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IAC9E,CAAC;IACD,MAAM,GAAG,GAAmB;QACxB,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,IAAA,2CAAoB,GAAE,CAAC,CAAC,CAAC,iBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAQ,CAAC,MAAM;QACjE,SAAS,EAAE,oBAAoB,CAAC,SAAS;QACzC,MAAM;QACN,SAAS;KACZ,CAAA;IACD,IAAI,oBAAoB,CAAC,SAAS,EAAE,CAAC;QACjC,GAAG,CAAC,SAAS,GAAG;YACZ,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI;YACzC,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI;YACzC,GAAG,EAAE,oBAAoB,CAAC,SAAS,CAAC,GAAG;SAC1C,CAAA;IACL,CAAC;IACD,GAAG,CAAC,SAAS,GAAG,IAAA,uBAAe,EAAC,IAAA,2EAAoC,EAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAA;IACtF,OAAO,GAAG,CAAA;AACd,CAAC,CAAA;AAzBY,QAAA,oBAAoB,wBAyBhC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createPeerDescriptorSignaturePayload = void 0;
|
|
4
|
+
const DhtRpc_1 = require("../proto/packages/dht/protos/DhtRpc");
|
|
5
|
+
function convertUnsignedIntegerToBuffer(number) {
|
|
6
|
+
const buffer = Buffer.alloc(4);
|
|
7
|
+
buffer.writeUInt32BE(number);
|
|
8
|
+
return buffer;
|
|
9
|
+
}
|
|
10
|
+
const createPeerDescriptorSignaturePayload = (peerDescriptor) => {
|
|
11
|
+
const separator = Buffer.from(',');
|
|
12
|
+
const buffers = [
|
|
13
|
+
peerDescriptor.type !== undefined ? convertUnsignedIntegerToBuffer(peerDescriptor.type) : new Uint8Array(0),
|
|
14
|
+
separator,
|
|
15
|
+
peerDescriptor.udp !== undefined ? DhtRpc_1.ConnectivityMethod.toBinary(peerDescriptor.udp) : new Uint8Array(0),
|
|
16
|
+
separator,
|
|
17
|
+
peerDescriptor.tcp !== undefined ? DhtRpc_1.ConnectivityMethod.toBinary(peerDescriptor.tcp) : new Uint8Array(0),
|
|
18
|
+
separator,
|
|
19
|
+
peerDescriptor.websocket !== undefined ? DhtRpc_1.ConnectivityMethod.toBinary(peerDescriptor.websocket) : new Uint8Array(0),
|
|
20
|
+
separator,
|
|
21
|
+
peerDescriptor.region !== undefined ? convertUnsignedIntegerToBuffer(peerDescriptor.region) : new Uint8Array(0),
|
|
22
|
+
separator,
|
|
23
|
+
peerDescriptor.ipAddress !== undefined ? convertUnsignedIntegerToBuffer(peerDescriptor.ipAddress) : new Uint8Array(0),
|
|
24
|
+
separator,
|
|
25
|
+
peerDescriptor.publicKey !== undefined ? Buffer.from(peerDescriptor.publicKey) : new Uint8Array(0)
|
|
26
|
+
];
|
|
27
|
+
return Buffer.concat(buffers);
|
|
28
|
+
};
|
|
29
|
+
exports.createPeerDescriptorSignaturePayload = createPeerDescriptorSignaturePayload;
|
|
30
|
+
//# sourceMappingURL=createPeerDescriptorSignaturePayload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createPeerDescriptorSignaturePayload.js","sourceRoot":"","sources":["../../../src/helpers/createPeerDescriptorSignaturePayload.ts"],"names":[],"mappings":";;;AAAA,gEAAwF;AAExF,SAAS,8BAA8B,CAAC,MAAc;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC9B,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC5B,OAAO,MAAM,CAAA;AACjB,CAAC;AAEM,MAAM,oCAAoC,GAAG,CAAC,cAA8B,EAAc,EAAE;IAC/F,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClC,MAAM,OAAO,GAAG;QACZ,cAAc,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,8BAA8B,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;QAC3G,SAAS;QACT,cAAc,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,2BAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;QACtG,SAAS;QACT,cAAc,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,2BAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;QACtG,SAAS;QACT,cAAc,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,2BAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;QAClH,SAAS;QACT,cAAc,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,8BAA8B,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;QAC/G,SAAS;QACT,cAAc,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,8BAA8B,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;QACrH,SAAS;QACT,cAAc,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;KACrG,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AACjC,CAAC,CAAA;AAlBY,QAAA,oCAAoC,wCAkBhD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugHelpers.js","sourceRoot":"","sources":["../../../src/helpers/debugHelpers.ts"],"names":[],"mappings":";;;AAEa,QAAA,SAAS,GAAwB,EAAE,CAAA;AAEhD,SAAgB,SAAS,CAAC,MAAc,EAAE,SAAkB,EAAE,GAAW;IACrE,IAAI,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"debugHelpers.js","sourceRoot":"","sources":["../../../src/helpers/debugHelpers.ts"],"names":[],"mappings":";;;AAEa,QAAA,SAAS,GAAwB,EAAE,CAAA;AAEhD,SAAgB,SAAS,CAAC,MAAc,EAAE,SAAkB,EAAE,GAAW;IACrE,IAAI,SAAS,EAAE,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC;AACL,CAAC;AAJD,8BAIC"}
|
|
@@ -22,6 +22,8 @@ var ErrorCode;
|
|
|
22
22
|
ErrorCode["CONNECTION_NOT_OPEN"] = "CONNECTION_NOT_OPEN";
|
|
23
23
|
})(ErrorCode || (exports.ErrorCode = ErrorCode = {}));
|
|
24
24
|
class Err extends Error {
|
|
25
|
+
code;
|
|
26
|
+
originalError;
|
|
25
27
|
constructor(code, message, originalError) {
|
|
26
28
|
super(message);
|
|
27
29
|
this.code = code;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/helpers/errors.ts"],"names":[],"mappings":";AAAA,4BAA4B;;;AAE5B,IAAY,SAiBX;AAjBD,WAAY,SAAS;IACjB,oDAAuC,CAAA;IACvC,gDAAmC,CAAA;IACnC,kFAAqE,CAAA;IACrE,4FAA+E,CAAA;IAC/E,gDAAmC,CAAA;IACnC,8CAAiC,CAAA;IACjC,8DAAiD,CAAA;IACjD,gDAAmC,CAAA;IACnC,oFAAuE,CAAA;IACvE,oDAAuC,CAAA;IACvC,oHAAuG,CAAA;IACvG,oDAAuC,CAAA;IACvC,kDAAqC,CAAA;IACrC,wCAA2B,CAAA;IAC3B,wDAA2C,CAAA;IAC3C,wDAA2C,CAAA;AAC/C,CAAC,EAjBW,SAAS,yBAAT,SAAS,QAiBpB;AAED,MAAM,GAAI,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/helpers/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getOfferer = void 0;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
const getOfferer = (localNodeId, remoteNodeId) => {
|
|
9
|
+
return getOfferingHash(localNodeId + ',' + remoteNodeId) < getOfferingHash(remoteNodeId + ',' + localNodeId)
|
|
10
|
+
? 'local'
|
|
11
|
+
: 'remote';
|
|
12
|
+
};
|
|
13
|
+
exports.getOfferer = getOfferer;
|
|
14
|
+
const getOfferingHash = (idPair) => {
|
|
15
|
+
const buffer = crypto_1.default.createHash('md5').update(idPair).digest();
|
|
16
|
+
return buffer.readInt32LE(0);
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=offering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"offering.js","sourceRoot":"","sources":["../../../src/helpers/offering.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAKpB,MAAM,UAAU,GAAG,CAAC,WAAuB,EAAE,YAAwB,EAAW,EAAE;IACrF,OAAO,eAAe,CAAC,WAAW,GAAG,GAAG,GAAG,YAAY,CAAC,GAAG,eAAe,CAAC,YAAY,GAAG,GAAG,GAAG,WAAW,CAAC;QACxG,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,QAAQ,CAAA;AAClB,CAAC,CAAA;AAJY,QAAA,UAAU,cAItB;AAED,MAAM,eAAe,GAAG,CAAC,MAAc,EAAU,EAAE;IAC/C,MAAM,MAAM,GAAG,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAA;IAC/D,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;AAChC,CAAC,CAAA"}
|
|
@@ -5,8 +5,8 @@ const DhtRpc_1 = require("../proto/packages/dht/protos/DhtRpc");
|
|
|
5
5
|
exports.protoClasses = [
|
|
6
6
|
DhtRpc_1.ClosestPeersRequest,
|
|
7
7
|
DhtRpc_1.ClosestPeersResponse,
|
|
8
|
-
DhtRpc_1.
|
|
9
|
-
DhtRpc_1.
|
|
8
|
+
DhtRpc_1.RecursiveOperationRequest,
|
|
9
|
+
DhtRpc_1.RecursiveOperationResponse,
|
|
10
10
|
DhtRpc_1.PingRequest,
|
|
11
11
|
DhtRpc_1.PingResponse,
|
|
12
12
|
DhtRpc_1.LeaveNotice,
|
|
@@ -21,7 +21,6 @@ exports.protoClasses = [
|
|
|
21
21
|
DhtRpc_1.HandshakeResponse,
|
|
22
22
|
DhtRpc_1.Message,
|
|
23
23
|
DhtRpc_1.WebsocketConnectionRequest,
|
|
24
|
-
DhtRpc_1.WebsocketConnectionResponse,
|
|
25
24
|
DhtRpc_1.WebrtcConnectionRequest,
|
|
26
25
|
DhtRpc_1.RtcOffer,
|
|
27
26
|
DhtRpc_1.RtcAnswer,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protoClasses.js","sourceRoot":"","sources":["../../../src/helpers/protoClasses.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"protoClasses.js","sourceRoot":"","sources":["../../../src/helpers/protoClasses.ts"],"names":[],"mappings":";;;AACA,gEA2B4C;AAE/B,QAAA,YAAY,GAA6B;IAClD,4BAAmB;IACnB,6BAAoB;IACpB,kCAAyB;IACzB,mCAA0B;IAC1B,oBAAW;IACX,qBAAY;IACZ,oBAAW;IACX,uBAAc;IACd,2BAAkB;IAClB,yBAAgB;IAChB,4BAAmB;IACnB,wBAAe;IACf,4BAAmB;IACnB,6BAAoB;IACpB,yBAAgB;IAChB,0BAAiB;IACjB,gBAAO;IACP,mCAA0B;IAC1B,gCAAuB;IACvB,iBAAQ;IACR,kBAAS;IACT,qBAAY;IACZ,oBAAW;IACX,sBAAa;IACb,qBAAY;CACf,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protoToString.js","sourceRoot":"","sources":["../../../src/helpers/protoToString.ts"],"names":[],"mappings":";;;AAEA,iDAA6C;AAC7C,kDAAoE;AAEpE,MAAM,YAAY,GAAG,2BAAY,CAAC,MAAM,CAAC,wBAAe,CAAC,CAAA;AAEzD,SAAgB,aAAa,CAAsD,QAAW,EAC1F,UAAqB;IAErB,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI;
|
|
1
|
+
{"version":3,"file":"protoToString.js","sourceRoot":"","sources":["../../../src/helpers/protoToString.ts"],"names":[],"mappings":";;;AAEA,iDAA6C;AAC7C,kDAAoE;AAEpE,MAAM,YAAY,GAAG,2BAAY,CAAC,MAAM,CAAC,wBAAe,CAAC,CAAA;AAEzD,SAAgB,aAAa,CAAsD,QAAW,EAC1F,UAAqB;IAErB,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI,CAAC;QACD,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE;YACpC,YAAY;SACf,CAAC,CAAA;IACN,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACV,GAAG,GAAG,6BAA6B,CAAA;IACvC,CAAC;IAED,OAAO,GAAG,CAAA;AACd,CAAC;AAbD,sCAaC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseVersion = exports.isMaybeSupportedVersion = exports.LOCAL_PROTOCOL_VERSION = void 0;
|
|
4
|
+
exports.LOCAL_PROTOCOL_VERSION = '1.0';
|
|
5
|
+
/*
|
|
6
|
+
* When two nodes negotiate whether they are compatible or not, it is up to the
|
|
7
|
+
* newer version to decide if it supports the old version or not.
|
|
8
|
+
*
|
|
9
|
+
* The older version assumes optimistically that it may be supported by the newer
|
|
10
|
+
* version. It can't know for sure, but the other node will tell if it is not
|
|
11
|
+
* supported (e.g. rejecting the handshake with UNSUPPORTED_VERSION error).
|
|
12
|
+
*/
|
|
13
|
+
const isMaybeSupportedVersion = (remoteVersion) => {
|
|
14
|
+
const localMajor = (0, exports.parseVersion)(exports.LOCAL_PROTOCOL_VERSION).major;
|
|
15
|
+
const remoteMajor = (0, exports.parseVersion)(remoteVersion)?.major;
|
|
16
|
+
if ((remoteMajor === undefined) || (remoteMajor < localMajor)) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
// TODO implement proper checking when there are new protocol versions
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
exports.isMaybeSupportedVersion = isMaybeSupportedVersion;
|
|
25
|
+
const parseVersion = (version) => {
|
|
26
|
+
const parts = version.split('.');
|
|
27
|
+
if (parts.length === 2) {
|
|
28
|
+
const values = parts.map((p) => Number(p));
|
|
29
|
+
if (!values.some((v) => isNaN(v))) {
|
|
30
|
+
return { major: values[0], minor: values[1] };
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
exports.parseVersion = parseVersion;
|
|
38
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/helpers/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,KAAK,CAAA;AAE3C;;;;;;;GAOG;AACI,MAAM,uBAAuB,GAAG,CAAC,aAAqB,EAAW,EAAE;IACtE,MAAM,UAAU,GAAG,IAAA,oBAAY,EAAC,8BAAsB,CAAE,CAAC,KAAK,CAAA;IAC9D,MAAM,WAAW,GAAG,IAAA,oBAAY,EAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IACtD,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAA;IAChB,CAAC;SAAM,CAAC;QACJ,sEAAsE;QACtE,OAAO,IAAI,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AATY,QAAA,uBAAuB,2BASnC;AAEM,MAAM,YAAY,GAAG,CAAC,OAAe,EAAgD,EAAE;IAC1F,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;QACjD,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,SAAS,CAAA;IACpB,CAAC;AACL,CAAC,CAAA;AAVY,QAAA,YAAY,gBAUxB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BrandedString } from '@streamr/utils';
|
|
2
|
+
import { PeerDescriptor } from './proto/packages/dht/protos/DhtRpc';
|
|
3
|
+
export declare const KADEMLIA_ID_LENGTH_IN_BYTES = 20;
|
|
4
|
+
export type DhtAddress = BrandedString<'DhtAddress'>;
|
|
5
|
+
export type DhtAddressRaw = Uint8Array;
|
|
6
|
+
export declare const getDhtAddressFromRaw: (raw: DhtAddressRaw) => DhtAddress;
|
|
7
|
+
export declare const getRawFromDhtAddress: (address: DhtAddress) => DhtAddressRaw;
|
|
8
|
+
export declare const getNodeIdFromPeerDescriptor: (peerDescriptor: PeerDescriptor) => DhtAddress;
|
|
9
|
+
export declare const areEqualPeerDescriptors: (peerDescriptor1: PeerDescriptor, peerDescriptor2: PeerDescriptor) => boolean;
|
|
10
|
+
export declare const createRandomDhtAddress: () => DhtAddress;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createRandomDhtAddress = exports.areEqualPeerDescriptors = exports.getNodeIdFromPeerDescriptor = exports.getRawFromDhtAddress = exports.getDhtAddressFromRaw = exports.KADEMLIA_ID_LENGTH_IN_BYTES = void 0;
|
|
7
|
+
const utils_1 = require("@streamr/utils");
|
|
8
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
9
|
+
// https://www.scs.stanford.edu/~dm/home/papers/kpos.pdf
|
|
10
|
+
exports.KADEMLIA_ID_LENGTH_IN_BYTES = 20;
|
|
11
|
+
const getDhtAddressFromRaw = (raw) => {
|
|
12
|
+
return (0, utils_1.binaryToHex)(raw);
|
|
13
|
+
};
|
|
14
|
+
exports.getDhtAddressFromRaw = getDhtAddressFromRaw;
|
|
15
|
+
const getRawFromDhtAddress = (address) => {
|
|
16
|
+
return (0, utils_1.hexToBinary)(address);
|
|
17
|
+
};
|
|
18
|
+
exports.getRawFromDhtAddress = getRawFromDhtAddress;
|
|
19
|
+
const getNodeIdFromPeerDescriptor = (peerDescriptor) => {
|
|
20
|
+
return (0, exports.getDhtAddressFromRaw)(peerDescriptor.nodeId);
|
|
21
|
+
};
|
|
22
|
+
exports.getNodeIdFromPeerDescriptor = getNodeIdFromPeerDescriptor;
|
|
23
|
+
const areEqualPeerDescriptors = (peerDescriptor1, peerDescriptor2) => {
|
|
24
|
+
return (0, utils_1.areEqualBinaries)(peerDescriptor1.nodeId, peerDescriptor2.nodeId);
|
|
25
|
+
};
|
|
26
|
+
exports.areEqualPeerDescriptors = areEqualPeerDescriptors;
|
|
27
|
+
const createRandomDhtAddress = () => {
|
|
28
|
+
return (0, exports.getDhtAddressFromRaw)(crypto_1.default.randomBytes(exports.KADEMLIA_ID_LENGTH_IN_BYTES));
|
|
29
|
+
};
|
|
30
|
+
exports.createRandomDhtAddress = createRandomDhtAddress;
|
|
31
|
+
//# sourceMappingURL=identifiers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identifiers.js","sourceRoot":"","sources":["../../src/identifiers.ts"],"names":[],"mappings":";;;;;;AAAA,0CAA0F;AAC1F,oDAA2B;AAG3B,wDAAwD;AAC3C,QAAA,2BAA2B,GAAG,EAAE,CAAA;AAKtC,MAAM,oBAAoB,GAAG,CAAC,GAAkB,EAAc,EAAE;IACnE,OAAO,IAAA,mBAAW,EAAC,GAAG,CAA0B,CAAA;AACpD,CAAC,CAAA;AAFY,QAAA,oBAAoB,wBAEhC;AAEM,MAAM,oBAAoB,GAAG,CAAC,OAAmB,EAAiB,EAAE;IACvE,OAAO,IAAA,mBAAW,EAAC,OAAO,CAA6B,CAAA;AAC3D,CAAC,CAAA;AAFY,QAAA,oBAAoB,wBAEhC;AAEM,MAAM,2BAA2B,GAAG,CAAC,cAA8B,EAAc,EAAE;IACtF,OAAO,IAAA,4BAAoB,EAAC,cAAc,CAAC,MAAM,CAAC,CAAA;AACtD,CAAC,CAAA;AAFY,QAAA,2BAA2B,+BAEvC;AAEM,MAAM,uBAAuB,GAAG,CAAC,eAA+B,EAAE,eAA+B,EAAW,EAAE;IACjH,OAAO,IAAA,wBAAgB,EAAC,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;AAC3E,CAAC,CAAA;AAFY,QAAA,uBAAuB,2BAEnC;AAEM,MAAM,sBAAsB,GAAG,GAAe,EAAE;IACnD,OAAO,IAAA,4BAAoB,EAAC,gBAAM,CAAC,WAAW,CAAC,mCAA2B,CAAC,CAAC,CAAA;AAChF,CAAC,CAAA;AAFY,QAAA,sBAAsB,0BAElC"}
|
|
@@ -8,9 +8,8 @@ const runtime_4 = require("@protobuf-ts/runtime");
|
|
|
8
8
|
const runtime_5 = require("@protobuf-ts/runtime");
|
|
9
9
|
const runtime_6 = require("@protobuf-ts/runtime");
|
|
10
10
|
const runtime_7 = require("@protobuf-ts/runtime");
|
|
11
|
-
const runtime_8 = require("@protobuf-ts/runtime");
|
|
12
11
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
13
|
-
class Any$Type extends
|
|
12
|
+
class Any$Type extends runtime_7.MessageType {
|
|
14
13
|
constructor() {
|
|
15
14
|
super("google.protobuf.Any", [
|
|
16
15
|
{ no: 1, name: "type_url", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
|
|
@@ -58,20 +57,20 @@ class Any$Type extends runtime_8.MessageType {
|
|
|
58
57
|
if (any.typeUrl === "")
|
|
59
58
|
return {};
|
|
60
59
|
let typeName = this.typeUrlToName(any.typeUrl);
|
|
61
|
-
let opt = (0,
|
|
60
|
+
let opt = (0, runtime_6.jsonWriteOptions)(options);
|
|
62
61
|
let type = opt.typeRegistry?.find(t => t.typeName === typeName);
|
|
63
62
|
if (!type)
|
|
64
63
|
throw new globalThis.Error("Unable to convert google.protobuf.Any with typeUrl '" + any.typeUrl + "' to JSON. The specified type " + typeName + " is not available in the type registry.");
|
|
65
64
|
let value = type.fromBinary(any.value, { readUnknownField: false });
|
|
66
65
|
let json = type.internalJsonWrite(value, opt);
|
|
67
|
-
if (typeName.startsWith("google.protobuf.") || !(0,
|
|
66
|
+
if (typeName.startsWith("google.protobuf.") || !(0, runtime_4.isJsonObject)(json))
|
|
68
67
|
json = { value: json };
|
|
69
68
|
json["@type"] = any.typeUrl;
|
|
70
69
|
return json;
|
|
71
70
|
}
|
|
72
71
|
internalJsonRead(json, options, target) {
|
|
73
|
-
if (!(0,
|
|
74
|
-
throw new globalThis.Error("Unable to parse google.protobuf.Any from JSON " + (0,
|
|
72
|
+
if (!(0, runtime_4.isJsonObject)(json))
|
|
73
|
+
throw new globalThis.Error("Unable to parse google.protobuf.Any from JSON " + (0, runtime_5.typeofJsonValue)(json) + ".");
|
|
75
74
|
if (typeof json["@type"] != "string" || json["@type"] == "")
|
|
76
75
|
return this.create();
|
|
77
76
|
let typeName = this.typeUrlToName(json["@type"]);
|
|
@@ -107,8 +106,9 @@ class Any$Type extends runtime_8.MessageType {
|
|
|
107
106
|
return name;
|
|
108
107
|
}
|
|
109
108
|
create(value) {
|
|
110
|
-
const message =
|
|
111
|
-
|
|
109
|
+
const message = globalThis.Object.create((this.messagePrototype));
|
|
110
|
+
message.typeUrl = "";
|
|
111
|
+
message.value = new Uint8Array(0);
|
|
112
112
|
if (value !== undefined)
|
|
113
113
|
(0, runtime_3.reflectionMergePartial)(this, message, value);
|
|
114
114
|
return message;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"any.js","sourceRoot":"","sources":["../../../../../src/proto/google/protobuf/any.ts"],"names":[],"mappings":";;;AAoCA,kDAAgD;AAEhD,kDAA2D;AAE3D,kDAA8D;AAC9D,kDAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"any.js","sourceRoot":"","sources":["../../../../../src/proto/google/protobuf/any.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,15 +4,13 @@ exports.Empty = void 0;
|
|
|
4
4
|
const runtime_1 = require("@protobuf-ts/runtime");
|
|
5
5
|
const runtime_2 = require("@protobuf-ts/runtime");
|
|
6
6
|
const runtime_3 = require("@protobuf-ts/runtime");
|
|
7
|
-
const runtime_4 = require("@protobuf-ts/runtime");
|
|
8
7
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
9
|
-
class Empty$Type extends
|
|
8
|
+
class Empty$Type extends runtime_3.MessageType {
|
|
10
9
|
constructor() {
|
|
11
10
|
super("google.protobuf.Empty", []);
|
|
12
11
|
}
|
|
13
12
|
create(value) {
|
|
14
|
-
const message =
|
|
15
|
-
globalThis.Object.defineProperty(message, runtime_3.MESSAGE_TYPE, { enumerable: false, value: this });
|
|
13
|
+
const message = globalThis.Object.create((this.messagePrototype));
|
|
16
14
|
if (value !== undefined)
|
|
17
15
|
(0, runtime_2.reflectionMergePartial)(this, message, value);
|
|
18
16
|
return message;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empty.js","sourceRoot":"","sources":["../../../../../src/proto/google/protobuf/empty.ts"],"names":[],"mappings":";;;AAoCA,kDAA2D;AAI3D,kDAA8D;AAC9D,
|
|
1
|
+
{"version":3,"file":"empty.js","sourceRoot":"","sources":["../../../../../src/proto/google/protobuf/empty.ts"],"names":[],"mappings":";;;AAoCA,kDAA2D;AAI3D,kDAA8D;AAC9D,kDAAmD;AAgBnD,2FAA2F;AAC3F,MAAM,UAAW,SAAQ,qBAAkB;IACvC;QACI,KAAK,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,CAAC,KAA6B;QAChC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAiB,CAAC,CAAC,CAAC;QACnE,IAAI,KAAK,KAAK,SAAS;YACnB,IAAA,gCAAsB,EAAQ,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,kBAAkB,CAAC,MAAqB,EAAE,MAAc,EAAE,OAA0B,EAAE,MAAc;QAChG,OAAO,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IACD,mBAAmB,CAAC,OAAc,EAAE,MAAqB,EAAE,OAA2B;QAClF,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,CAAC,KAAK,KAAK;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,6BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC"}
|
|
@@ -7,9 +7,8 @@ const runtime_3 = require("@protobuf-ts/runtime");
|
|
|
7
7
|
const runtime_4 = require("@protobuf-ts/runtime");
|
|
8
8
|
const runtime_5 = require("@protobuf-ts/runtime");
|
|
9
9
|
const runtime_6 = require("@protobuf-ts/runtime");
|
|
10
|
-
const runtime_7 = require("@protobuf-ts/runtime");
|
|
11
10
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
12
|
-
class Timestamp$Type extends
|
|
11
|
+
class Timestamp$Type extends runtime_6.MessageType {
|
|
13
12
|
constructor() {
|
|
14
13
|
super("google.protobuf.Timestamp", [
|
|
15
14
|
{ no: 1, name: "seconds", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
|
|
@@ -22,7 +21,7 @@ class Timestamp$Type extends runtime_7.MessageType {
|
|
|
22
21
|
now() {
|
|
23
22
|
const msg = this.create();
|
|
24
23
|
const ms = Date.now();
|
|
25
|
-
msg.seconds =
|
|
24
|
+
msg.seconds = runtime_5.PbLong.from(Math.floor(ms / 1000)).toNumber();
|
|
26
25
|
msg.nanos = (ms % 1000) * 1000000;
|
|
27
26
|
return msg;
|
|
28
27
|
}
|
|
@@ -30,7 +29,7 @@ class Timestamp$Type extends runtime_7.MessageType {
|
|
|
30
29
|
* Converts a `Timestamp` to a JavaScript Date.
|
|
31
30
|
*/
|
|
32
31
|
toDate(message) {
|
|
33
|
-
return new Date(
|
|
32
|
+
return new Date(runtime_5.PbLong.from(message.seconds).toNumber() * 1000 + Math.ceil(message.nanos / 1000000));
|
|
34
33
|
}
|
|
35
34
|
/**
|
|
36
35
|
* Converts a JavaScript Date to a `Timestamp`.
|
|
@@ -38,7 +37,7 @@ class Timestamp$Type extends runtime_7.MessageType {
|
|
|
38
37
|
fromDate(date) {
|
|
39
38
|
const msg = this.create();
|
|
40
39
|
const ms = date.getTime();
|
|
41
|
-
msg.seconds =
|
|
40
|
+
msg.seconds = runtime_5.PbLong.from(Math.floor(ms / 1000)).toNumber();
|
|
42
41
|
msg.nanos = (ms % 1000) * 1000000;
|
|
43
42
|
return msg;
|
|
44
43
|
}
|
|
@@ -47,7 +46,7 @@ class Timestamp$Type extends runtime_7.MessageType {
|
|
|
47
46
|
* in the RFC 3339 format.
|
|
48
47
|
*/
|
|
49
48
|
internalJsonWrite(message, options) {
|
|
50
|
-
let ms =
|
|
49
|
+
let ms = runtime_5.PbLong.from(message.seconds).toNumber() * 1000;
|
|
51
50
|
if (ms < Date.parse("0001-01-01T00:00:00Z") || ms > Date.parse("9999-12-31T23:59:59Z"))
|
|
52
51
|
throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
|
|
53
52
|
if (message.nanos < 0)
|
|
@@ -70,7 +69,7 @@ class Timestamp$Type extends runtime_7.MessageType {
|
|
|
70
69
|
*/
|
|
71
70
|
internalJsonRead(json, options, target) {
|
|
72
71
|
if (typeof json !== "string")
|
|
73
|
-
throw new Error("Unable to parse Timestamp from JSON " + (0,
|
|
72
|
+
throw new Error("Unable to parse Timestamp from JSON " + (0, runtime_4.typeofJsonValue)(json) + ".");
|
|
74
73
|
let matches = json.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);
|
|
75
74
|
if (!matches)
|
|
76
75
|
throw new Error("Unable to parse Timestamp from JSON. Invalid format.");
|
|
@@ -81,15 +80,16 @@ class Timestamp$Type extends runtime_7.MessageType {
|
|
|
81
80
|
throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
|
|
82
81
|
if (!target)
|
|
83
82
|
target = this.create();
|
|
84
|
-
target.seconds =
|
|
83
|
+
target.seconds = runtime_5.PbLong.from(ms / 1000).toNumber();
|
|
85
84
|
target.nanos = 0;
|
|
86
85
|
if (matches[7])
|
|
87
86
|
target.nanos = (parseInt("1" + matches[7] + "0".repeat(9 - matches[7].length)) - 1000000000);
|
|
88
87
|
return target;
|
|
89
88
|
}
|
|
90
89
|
create(value) {
|
|
91
|
-
const message =
|
|
92
|
-
|
|
90
|
+
const message = globalThis.Object.create((this.messagePrototype));
|
|
91
|
+
message.seconds = 0;
|
|
92
|
+
message.nanos = 0;
|
|
93
93
|
if (value !== undefined)
|
|
94
94
|
(0, runtime_3.reflectionMergePartial)(this, message, value);
|
|
95
95
|
return message;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../../../../src/proto/google/protobuf/timestamp.ts"],"names":[],"mappings":";;;AAoCA,kDAAgD;AAGhD,kDAA2D;AAE3D,kDAA8D;AAC9D,
|
|
1
|
+
{"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../../../../src/proto/google/protobuf/timestamp.ts"],"names":[],"mappings":"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"}
|