@streamr/trackerless-network 100.0.0-testnet-two.4 → 100.0.0-testnet-three.1
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/dist/src/NetworkNode.d.ts +2 -1
- package/dist/src/NetworkNode.js +6 -2
- package/dist/src/NetworkNode.js.map +1 -1
- package/dist/src/NetworkStack.d.ts +6 -2
- package/dist/src/NetworkStack.js +21 -1
- package/dist/src/NetworkStack.js.map +1 -1
- package/dist/src/exports.d.ts +1 -0
- package/dist/src/exports.js +4 -1
- package/dist/src/exports.js.map +1 -1
- package/dist/src/logic/DeliveryRpcLocal.js +1 -0
- package/dist/src/logic/DeliveryRpcLocal.js.map +1 -1
- package/dist/src/logic/DuplicateMessageDetector.d.ts +3 -3
- package/dist/src/logic/DuplicateMessageDetector.js +10 -6
- package/dist/src/logic/DuplicateMessageDetector.js.map +1 -1
- package/dist/src/logic/EntryPointDiscovery.js +8 -5
- package/dist/src/logic/EntryPointDiscovery.js.map +1 -1
- package/dist/src/logic/Layer0Node.d.ts +2 -0
- package/dist/src/logic/Layer1Node.d.ts +4 -4
- package/dist/src/logic/NodeList.d.ts +6 -8
- package/dist/src/logic/NodeList.js +10 -12
- package/dist/src/logic/NodeList.js.map +1 -1
- package/dist/src/logic/RandomGraphNode.d.ts +5 -5
- package/dist/src/logic/RandomGraphNode.js +27 -22
- package/dist/src/logic/RandomGraphNode.js.map +1 -1
- package/dist/src/logic/StreamrNode.d.ts +3 -2
- package/dist/src/logic/StreamrNode.js +25 -6
- package/dist/src/logic/StreamrNode.js.map +1 -1
- package/dist/src/logic/createRandomGraphNode.d.ts +2 -2
- package/dist/src/logic/createRandomGraphNode.js +16 -15
- package/dist/src/logic/createRandomGraphNode.js.map +1 -1
- package/dist/src/logic/inspect/InspectSession.js +3 -2
- package/dist/src/logic/inspect/InspectSession.js.map +1 -1
- package/dist/src/logic/inspect/Inspector.d.ts +5 -3
- package/dist/src/logic/inspect/Inspector.js +15 -2
- package/dist/src/logic/inspect/Inspector.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.d.ts +1 -1
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js +18 -17
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/Handshaker.d.ts +3 -4
- package/dist/src/logic/neighbor-discovery/Handshaker.js +29 -27
- package/dist/src/logic/neighbor-discovery/Handshaker.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborFinder.d.ts +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborFinder.js +4 -2
- package/dist/src/logic/neighbor-discovery/NeighborFinder.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.d.ts +2 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js +8 -4
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.d.ts +4 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js +31 -20
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.js.map +1 -1
- package/dist/src/logic/node-info/NodeInfoClient.d.ts +9 -0
- package/dist/src/logic/node-info/NodeInfoClient.js +19 -0
- package/dist/src/logic/node-info/NodeInfoClient.js.map +1 -0
- package/dist/src/logic/node-info/NodeInfoRpcLocal.d.ts +12 -0
- package/dist/src/logic/node-info/NodeInfoRpcLocal.js +29 -0
- package/dist/src/logic/node-info/NodeInfoRpcLocal.js.map +1 -0
- package/dist/src/logic/node-info/NodeInfoRpcRemote.d.ts +6 -0
- package/dist/src/logic/node-info/NodeInfoRpcRemote.js +11 -0
- package/dist/src/logic/node-info/NodeInfoRpcRemote.js.map +1 -0
- package/dist/src/logic/propagation/FifoMapWithTTL.js +7 -3
- package/dist/src/logic/propagation/FifoMapWithTTL.js.map +1 -1
- package/dist/src/logic/propagation/Propagation.js +3 -0
- package/dist/src/logic/propagation/Propagation.js.map +1 -1
- package/dist/src/logic/propagation/PropagationTaskStore.js +1 -0
- package/dist/src/logic/propagation/PropagationTaskStore.js.map +1 -1
- package/dist/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.js +1 -1
- package/dist/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.js.map +1 -1
- package/dist/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.js +1 -1
- package/dist/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.js.map +1 -1
- package/dist/src/logic/protocol-integration/stream-message/StreamMessageTranslator.js +43 -15
- package/dist/src/logic/protocol-integration/stream-message/StreamMessageTranslator.js.map +1 -1
- package/dist/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.d.ts +3 -0
- package/dist/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.js +14 -0
- package/dist/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.js.map +1 -0
- package/dist/src/logic/proxy/ProxyClient.d.ts +1 -1
- package/dist/src/logic/proxy/ProxyClient.js +18 -11
- package/dist/src/logic/proxy/ProxyClient.js.map +1 -1
- package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js +2 -1
- package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js.map +1 -1
- package/dist/src/logic/proxy/ProxyConnectionRpcRemote.js.map +1 -1
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.d.ts +5 -3
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js +9 -2
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js.map +1 -1
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.d.ts +1 -0
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.js +11 -0
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.js.map +1 -1
- package/dist/src/logic/utils.js.map +1 -1
- 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 +4 -5
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +38 -29
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +26 -12
- package/dist/src/proto/packages/dht/protos/DhtRpc.js +12 -16
- package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +2 -3
- package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js +1 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.d.ts +36 -0
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js +50 -17
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js.map +1 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.d.ts +118 -5
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js +91 -8
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js.map +1 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.server.d.ts +16 -0
- package/dist/test/benchmark/first-message.js +7 -5
- package/dist/test/benchmark/first-message.js.map +1 -1
- package/dist/test/utils/utils.js +2 -1
- package/dist/test/utils/utils.js.map +1 -1
- package/jest.config.js +3 -38
- package/package.json +7 -7
- package/protos/NetworkRpc.proto +38 -5
- package/src/NetworkNode.ts +5 -1
- package/src/NetworkStack.ts +23 -2
- package/src/exports.ts +4 -0
- package/src/logic/DuplicateMessageDetector.ts +7 -7
- package/src/logic/EntryPointDiscovery.ts +3 -3
- package/src/logic/Layer0Node.ts +2 -0
- package/src/logic/Layer1Node.ts +4 -4
- package/src/logic/NodeList.ts +9 -15
- package/src/logic/RandomGraphNode.ts +27 -23
- package/src/logic/StreamrNode.ts +18 -4
- package/src/logic/createRandomGraphNode.ts +19 -18
- package/src/logic/inspect/Inspector.ts +18 -5
- package/src/logic/neighbor-discovery/HandshakeRpcLocal.ts +18 -18
- package/src/logic/neighbor-discovery/Handshaker.ts +31 -32
- package/src/logic/neighbor-discovery/NeighborFinder.ts +2 -2
- package/src/logic/neighbor-discovery/NeighborUpdateManager.ts +7 -5
- package/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts +39 -27
- package/src/logic/node-info/NodeInfoClient.ts +21 -0
- package/src/logic/node-info/NodeInfoRpcLocal.ts +35 -0
- package/src/logic/node-info/NodeInfoRpcRemote.ts +11 -0
- package/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.ts +1 -1
- package/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.ts +1 -1
- package/src/logic/protocol-integration/stream-message/StreamMessageTranslator.ts +56 -27
- package/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.ts +11 -0
- package/src/logic/proxy/ProxyClient.ts +10 -10
- package/src/logic/temporary-connection/TemporaryConnectionRpcLocal.ts +15 -4
- package/src/logic/temporary-connection/TemporaryConnectionRpcRemote.ts +11 -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 +6 -7
- package/src/proto/packages/dht/protos/DhtRpc.server.ts +3 -4
- package/src/proto/packages/dht/protos/DhtRpc.ts +37 -20
- package/src/proto/packages/proto-rpc/protos/ProtoRpc.ts +1 -1
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.client.ts +42 -1
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.server.ts +17 -1
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.ts +155 -12
- package/test/benchmark/first-message.ts +28 -8
- package/test/end-to-end/inspect.test.ts +13 -1
- package/test/end-to-end/proxy-and-full-node.test.ts +14 -1
- package/test/end-to-end/proxy-connections.test.ts +14 -2
- package/test/end-to-end/proxy-key-exchange.test.ts +15 -8
- package/test/end-to-end/random-graph-with-real-connections.test.ts +21 -21
- package/test/end-to-end/webrtc-full-node-network.test.ts +3 -3
- package/test/end-to-end/websocket-full-node-network.test.ts +3 -3
- package/test/integration/Handshakes.test.ts +8 -8
- package/test/integration/NetworkNode.test.ts +19 -1
- package/test/integration/NetworkRpc.test.ts +3 -2
- package/test/integration/NodeInfoRpc.test.ts +103 -0
- package/test/integration/Propagation.test.ts +2 -2
- package/test/integration/RandomGraphNode-Layer1Node-Latencies.test.ts +20 -21
- package/test/integration/RandomGraphNode-Layer1Node.test.ts +22 -19
- package/test/integration/stream-without-default-entrypoints.test.ts +17 -11
- package/test/unit/HandshakeRpcLocal.test.ts +15 -15
- package/test/unit/Handshaker.test.ts +3 -3
- package/test/unit/NeighborFinder.test.ts +5 -5
- package/test/unit/NeighborUpdateRpcLocal.test.ts +125 -0
- package/test/unit/NodeList.test.ts +56 -57
- package/test/unit/Propagation.test.ts +4 -2
- package/test/unit/RandomGraphNode.test.ts +7 -8
- package/test/unit/StreamMessageTranslator.test.ts +7 -4
- package/test/unit/StreamrNode.test.ts +2 -0
- package/test/unit/TemporaryConnectionRpcLocal.test.ts +32 -0
- package/test/unit/oldStreamMessageBinaryUtils.test.ts +39 -0
- package/test/utils/mock/MockLayer0Node.ts +6 -1
- package/test/utils/mock/MockLayer1Node.ts +2 -2
- package/test/utils/mock/Transport.ts +1 -1
- package/test/utils/utils.ts +3 -1
- package/tsconfig.jest.json +3 -3
- package/tsconfig.node.json +0 -1
- package/dist/package.json +0 -55
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeInfoRpcRemote.js","sourceRoot":"","sources":["../../../../src/logic/node-info/NodeInfoRpcRemote.ts"],"names":[],"mappings":";;;AAEA,sCAAwC;AAExC,MAAa,iBAAkB,SAAQ,eAA4B;IAE/D,KAAK,CAAC,OAAO;QACT,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;IACjE,CAAC;CAEJ;AAND,8CAMC"}
|
|
@@ -12,10 +12,14 @@ const yallist_1 = require("yallist");
|
|
|
12
12
|
*
|
|
13
13
|
*/
|
|
14
14
|
class FifoMapWithTTL {
|
|
15
|
+
// class invariant: the keys present in `items` and `dropQueue` are the same set.
|
|
16
|
+
items = new Map();
|
|
17
|
+
dropQueue = (0, yallist_1.create)(); // queue is used to determine deletion order when full
|
|
18
|
+
ttlInMs;
|
|
19
|
+
maxSize;
|
|
20
|
+
onItemDropped;
|
|
21
|
+
timeProvider;
|
|
15
22
|
constructor({ ttlInMs, maxSize, onItemDropped = () => { }, timeProvider = Date.now }) {
|
|
16
|
-
// class invariant: the keys present in `items` and `dropQueue` are the same set.
|
|
17
|
-
this.items = new Map();
|
|
18
|
-
this.dropQueue = (0, yallist_1.create)(); // queue is used to determine deletion order when full
|
|
19
23
|
if (ttlInMs < 0) {
|
|
20
24
|
throw new Error(`ttlInMs (${ttlInMs}) cannot be < 0`);
|
|
21
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FifoMapWithTTL.js","sourceRoot":"","sources":["../../../../src/logic/propagation/FifoMapWithTTL.ts"],"names":[],"mappings":";;;AAAA,qCAAsC;AAgBtC;;;;;;;;GAQG;AACH,MAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"FifoMapWithTTL.js","sourceRoot":"","sources":["../../../../src/logic/propagation/FifoMapWithTTL.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,9 @@ const DEFAULT_TTL = 30 * 1000;
|
|
|
12
12
|
* only be propagated exactly once, to neighbors that are present at that moment, in a fire-and-forget manner.
|
|
13
13
|
*/
|
|
14
14
|
class Propagation {
|
|
15
|
+
sendToNeighbor;
|
|
16
|
+
minPropagationTargets;
|
|
17
|
+
activeTaskStore;
|
|
15
18
|
constructor({ sendToNeighbor, minPropagationTargets, ttl = DEFAULT_TTL, maxMessages = DEFAULT_MAX_MESSAGES }) {
|
|
16
19
|
this.sendToNeighbor = sendToNeighbor;
|
|
17
20
|
this.minPropagationTargets = minPropagationTargets;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Propagation.js","sourceRoot":"","sources":["../../../../src/logic/propagation/Propagation.ts"],"names":[],"mappings":";;;AAEA,iEAA8E;AAW9E,MAAM,oBAAoB,GAAG,GAAG,CAAA;AAChC,MAAM,WAAW,GAAG,EAAE,GAAG,IAAI,CAAA;AAE7B;;;;;;GAMG;AAEH,MAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"Propagation.js","sourceRoot":"","sources":["../../../../src/logic/propagation/Propagation.ts"],"names":[],"mappings":";;;AAEA,iEAA8E;AAW9E,MAAM,oBAAoB,GAAG,GAAG,CAAA;AAChC,MAAM,WAAW,GAAG,EAAE,GAAG,IAAI,CAAA;AAE7B;;;;;;GAMG;AAEH,MAAa,WAAW;IACH,cAAc,CAAkB;IAChC,qBAAqB,CAAQ;IAC7B,eAAe,CAAsB;IAEtD,YAAY,EACR,cAAc,EACd,qBAAqB,EACrB,GAAG,GAAG,WAAW,EACjB,WAAW,GAAG,oBAAoB,EACjB;QACjB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAA;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,2CAAoB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;IACrE,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,OAAsB,EAAE,OAAqB,EAAE,MAAyB;QACtF,MAAM,IAAI,GAAG;YACT,OAAO;YACP,MAAM;YACN,gBAAgB,EAAE,IAAI,GAAG,EAAc;SAC1C,CAAA;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC3C,CAAC;IACL,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,UAAsB;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAA;QACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAC/C,CAAC;IACL,CAAC;IAEO,oBAAoB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAmB,EAAE,UAAsB;QACvG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;YAC7D,mEAAmE;YACnE,CAAC,KAAK,IAAI,EAAE;gBACR,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;gBAClD,CAAC;gBAAC,MAAM,CAAC;oBACL,OAAM;gBACV,CAAC;gBACD,qGAAqG;gBACrG,4FAA4F;gBAC5F,0DAA0D;gBAC1D,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBAChC,IAAI,gBAAgB,CAAC,IAAI,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBACtD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,SAAU,CAAC,CAAA;gBACnD,CAAC;YACL,CAAC,CAAC,EAAE,CAAA;QACR,CAAC;IACL,CAAC;CACJ;AA5DD,kCA4DC"}
|
|
@@ -11,6 +11,7 @@ const FifoMapWithTTL_1 = require("./FifoMapWithTTL");
|
|
|
11
11
|
* - Items have a TTL, after which they are considered stale and not returned when querying
|
|
12
12
|
**/
|
|
13
13
|
class PropagationTaskStore {
|
|
14
|
+
tasks;
|
|
14
15
|
constructor(ttlInMs, maxTasks) {
|
|
15
16
|
this.tasks = new FifoMapWithTTL_1.FifoMapWithTTL({
|
|
16
17
|
ttlInMs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropagationTaskStore.js","sourceRoot":"","sources":["../../../../src/logic/propagation/PropagationTaskStore.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAQjD;;;;;;;GAOG;AACH,MAAa,oBAAoB;
|
|
1
|
+
{"version":3,"file":"PropagationTaskStore.js","sourceRoot":"","sources":["../../../../src/logic/propagation/PropagationTaskStore.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAQjD;;;;;;;GAOG;AACH,MAAa,oBAAoB;IACZ,KAAK,CAA6C;IAEnE,YAAY,OAAe,EAAE,QAAgB;QACzC,IAAI,CAAC,KAAK,GAAG,IAAI,+BAAc,CAA8B;YACzD,OAAO;YACP,OAAO,EAAE,QAAQ;SACpB,CAAC,CAAA;IACN,CAAC;IAED,GAAG;QACC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACxD,CAAC;IAED,GAAG,CAAC,IAAqB;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAU,CAAA;QACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,CAAC,SAAqB;QACxB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA,CAAC,sCAAsC;IACvE,CAAC;CACJ;AAtBD,oDAsBC"}
|
|
@@ -10,7 +10,7 @@ class GroupKeyRequestTranslator {
|
|
|
10
10
|
recipientId: (0, utils_1.hexToBinary)(msg.recipient),
|
|
11
11
|
requestId: msg.requestId,
|
|
12
12
|
rsaPublicKey: (0, utils_1.utf8ToBinary)(msg.rsaPublicKey),
|
|
13
|
-
groupKeyIds: msg.groupKeyIds
|
|
13
|
+
groupKeyIds: [...msg.groupKeyIds]
|
|
14
14
|
};
|
|
15
15
|
return translated;
|
|
16
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupKeyRequestTranslator.js","sourceRoot":"","sources":["../../../../../src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.ts"],"names":[],"mappings":";;;AAAA,gDAAyE;AAEzE,0CAAwG;AAExG,kEAAkE;AAClE,MAAa,yBAAyB;IAElC,MAAM,CAAC,UAAU,CAAC,GAAuB;QACrC,MAAM,UAAU,GAAoB;YAChC,WAAW,EAAE,IAAA,mBAAW,EAAC,GAAG,CAAC,SAAS,CAAC;YACvC,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,YAAY,EAAE,IAAA,oBAAY,EAAC,GAAG,CAAC,YAAY,CAAC;YAC5C,WAAW,EAAE,GAAG,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"GroupKeyRequestTranslator.js","sourceRoot":"","sources":["../../../../../src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.ts"],"names":[],"mappings":";;;AAAA,gDAAyE;AAEzE,0CAAwG;AAExG,kEAAkE;AAClE,MAAa,yBAAyB;IAElC,MAAM,CAAC,UAAU,CAAC,GAAuB;QACrC,MAAM,UAAU,GAAoB;YAChC,WAAW,EAAE,IAAA,mBAAW,EAAC,GAAG,CAAC,SAAS,CAAC;YACvC,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,YAAY,EAAE,IAAA,oBAAY,EAAC,GAAG,CAAC,YAAY,CAAC;YAC5C,WAAW,EAAE,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;SACpC,CAAA;QACD,OAAO,UAAU,CAAA;IACrB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,GAAoB;QACxC,MAAM,UAAU,GAAG,IAAI,0BAAkB,CAAC;YACtC,SAAS,EAAE,IAAA,yBAAiB,EAAC,IAAA,mBAAW,EAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAChE,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,YAAY,EAAE,IAAA,oBAAY,EAAC,GAAG,CAAC,YAAY,CAAC;YAC5C,WAAW,EAAE,GAAG,CAAC,WAAW;SAC/B,CAAC,CAAA;QACF,OAAO,UAAU,CAAA;IACrB,CAAC;CAEJ;AAtBD,8DAsBC"}
|
package/dist/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupKeyResponseTranslator.js","sourceRoot":"","sources":["../../../../../src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.ts"],"names":[],"mappings":";;;AAAA,gDAAsH;AAEtH,0CAA4E;AAE5E,kEAAkE;AAClE,MAAa,0BAA0B;IAEnC,MAAM,CAAC,UAAU,CAAC,GAAwB;QAEtC,MAAM,SAAS,GAAG,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YACtD,OAAO;gBACH,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,EAAE,EAAE,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"GroupKeyResponseTranslator.js","sourceRoot":"","sources":["../../../../../src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.ts"],"names":[],"mappings":";;;AAAA,gDAAsH;AAEtH,0CAA4E;AAE5E,kEAAkE;AAClE,MAAa,0BAA0B;IAEnC,MAAM,CAAC,UAAU,CAAC,GAAwB;QAEtC,MAAM,SAAS,GAAG,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YACtD,OAAO;gBACH,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,EAAE,EAAE,QAAQ,CAAC,EAAE;aAClB,CAAA;QACL,CAAC,CAAC,CAAA;QACF,MAAM,UAAU,GAAqB;YACjC,WAAW,EAAE,IAAA,mBAAW,EAAC,GAAG,CAAC,SAAS,CAAC;YACvC,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS;SACZ,CAAA;QACD,OAAO,UAAU,CAAA;IACrB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,GAAqB;QACzC,MAAM,kBAAkB,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,IAAI,4BAAoB,CACzF,QAAQ,CAAC,EAAE,EACX,QAAQ,CAAC,IAAI,CAChB,CAAC,CAAA;QACF,OAAO,IAAI,2BAAmB,CAAC;YAC3B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,IAAA,yBAAiB,EAAC,IAAA,mBAAW,EAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAChE,kBAAkB;SACrB,CAAC,CAAA;IACN,CAAC;CACJ;AA7BD,gEA6BC"}
|
|
@@ -18,21 +18,45 @@ const newToOldEncryptionType = (type) => {
|
|
|
18
18
|
}
|
|
19
19
|
return protocol_1.EncryptionType.NONE;
|
|
20
20
|
};
|
|
21
|
+
const oldToNewContentType = (type) => {
|
|
22
|
+
if (type === protocol_1.ContentType.JSON) {
|
|
23
|
+
return NetworkRpc_1.ContentType.JSON;
|
|
24
|
+
}
|
|
25
|
+
return NetworkRpc_1.ContentType.BINARY;
|
|
26
|
+
};
|
|
27
|
+
const newToOldContentType = (type) => {
|
|
28
|
+
if (type === NetworkRpc_1.ContentType.JSON) {
|
|
29
|
+
return protocol_1.ContentType.JSON;
|
|
30
|
+
}
|
|
31
|
+
return protocol_1.ContentType.BINARY;
|
|
32
|
+
};
|
|
33
|
+
const oldToNewSignatureType = (type) => {
|
|
34
|
+
if (type === protocol_1.SignatureType.LEGACY_SECP256K1) {
|
|
35
|
+
return NetworkRpc_1.SignatureType.LEGACY_SECP256K1;
|
|
36
|
+
}
|
|
37
|
+
return NetworkRpc_1.SignatureType.SECP256K1;
|
|
38
|
+
};
|
|
39
|
+
const newToOldSignatureType = (type) => {
|
|
40
|
+
if (type === NetworkRpc_1.SignatureType.LEGACY_SECP256K1) {
|
|
41
|
+
return protocol_1.SignatureType.LEGACY_SECP256K1;
|
|
42
|
+
}
|
|
43
|
+
return protocol_1.SignatureType.SECP256K1;
|
|
44
|
+
};
|
|
21
45
|
// eslint-disable-next-line @typescript-eslint/no-extraneous-class
|
|
22
46
|
class StreamMessageTranslator {
|
|
23
47
|
static toProtobuf(msg) {
|
|
24
48
|
let content;
|
|
25
49
|
let messageType;
|
|
26
50
|
if (msg.messageType === protocol_1.StreamMessageType.MESSAGE) {
|
|
27
|
-
content = msg.
|
|
51
|
+
content = msg.content;
|
|
28
52
|
messageType = NetworkRpc_1.StreamMessageType.MESSAGE;
|
|
29
53
|
}
|
|
30
54
|
else if (msg.messageType === protocol_1.StreamMessageType.GROUP_KEY_REQUEST) {
|
|
31
|
-
content = NetworkRpc_1.GroupKeyRequest.toBinary(GroupKeyRequestTranslator_1.GroupKeyRequestTranslator.toProtobuf(
|
|
55
|
+
content = NetworkRpc_1.GroupKeyRequest.toBinary(GroupKeyRequestTranslator_1.GroupKeyRequestTranslator.toProtobuf((0, protocol_1.deserializeGroupKeyRequest)(msg.content)));
|
|
32
56
|
messageType = NetworkRpc_1.StreamMessageType.GROUP_KEY_REQUEST;
|
|
33
57
|
}
|
|
34
58
|
else if (msg.messageType === protocol_1.StreamMessageType.GROUP_KEY_RESPONSE) {
|
|
35
|
-
content = NetworkRpc_1.GroupKeyResponse.toBinary(GroupKeyResponseTranslator_1.GroupKeyResponseTranslator.toProtobuf(
|
|
59
|
+
content = NetworkRpc_1.GroupKeyResponse.toBinary(GroupKeyResponseTranslator_1.GroupKeyResponseTranslator.toProtobuf((0, protocol_1.deserializeGroupKeyResponse)(msg.content)));
|
|
36
60
|
messageType = NetworkRpc_1.StreamMessageType.GROUP_KEY_RESPONSE;
|
|
37
61
|
}
|
|
38
62
|
else {
|
|
@@ -47,17 +71,17 @@ class StreamMessageTranslator {
|
|
|
47
71
|
messageChainId: msg.getMsgChainId()
|
|
48
72
|
};
|
|
49
73
|
let previousMessageRef = undefined;
|
|
50
|
-
if (msg.
|
|
74
|
+
if (msg.prevMsgRef) {
|
|
51
75
|
previousMessageRef = {
|
|
52
|
-
timestamp: msg.
|
|
53
|
-
sequenceNumber: msg.
|
|
76
|
+
timestamp: msg.prevMsgRef.timestamp,
|
|
77
|
+
sequenceNumber: msg.prevMsgRef.sequenceNumber,
|
|
54
78
|
};
|
|
55
79
|
}
|
|
56
80
|
let newGroupKey = undefined;
|
|
57
|
-
if (msg.
|
|
81
|
+
if (msg.newGroupKey) {
|
|
58
82
|
newGroupKey = {
|
|
59
|
-
id: msg.
|
|
60
|
-
data: msg.
|
|
83
|
+
id: msg.newGroupKey.id,
|
|
84
|
+
data: msg.newGroupKey.data
|
|
61
85
|
};
|
|
62
86
|
}
|
|
63
87
|
const translated = {
|
|
@@ -65,11 +89,12 @@ class StreamMessageTranslator {
|
|
|
65
89
|
previousMessageRef,
|
|
66
90
|
content,
|
|
67
91
|
messageType,
|
|
68
|
-
contentType:
|
|
92
|
+
contentType: oldToNewContentType(msg.contentType),
|
|
69
93
|
encryptionType: oldToNewEncryptionType(msg.encryptionType),
|
|
70
94
|
groupKeyId: msg.groupKeyId ?? undefined,
|
|
71
95
|
newGroupKey,
|
|
72
|
-
signature: msg.signature
|
|
96
|
+
signature: msg.signature,
|
|
97
|
+
signatureType: oldToNewSignatureType(msg.signatureType),
|
|
73
98
|
};
|
|
74
99
|
return translated;
|
|
75
100
|
}
|
|
@@ -84,7 +109,8 @@ class StreamMessageTranslator {
|
|
|
84
109
|
messageType = protocol_1.StreamMessageType.GROUP_KEY_REQUEST;
|
|
85
110
|
try {
|
|
86
111
|
const parsedRequest = NetworkRpc_1.GroupKeyRequest.fromBinary(msg.content);
|
|
87
|
-
|
|
112
|
+
const oldGroupKeyRequest = GroupKeyRequestTranslator_1.GroupKeyRequestTranslator.toClientProtocol(parsedRequest);
|
|
113
|
+
content = (0, protocol_1.serializeGroupKeyRequest)(oldGroupKeyRequest);
|
|
88
114
|
}
|
|
89
115
|
catch (err) {
|
|
90
116
|
throw new Error(`invalid group key request: ${err}`);
|
|
@@ -94,7 +120,8 @@ class StreamMessageTranslator {
|
|
|
94
120
|
messageType = protocol_1.StreamMessageType.GROUP_KEY_RESPONSE;
|
|
95
121
|
try {
|
|
96
122
|
const parsedResponse = NetworkRpc_1.GroupKeyResponse.fromBinary(msg.content);
|
|
97
|
-
|
|
123
|
+
const oldGroupKeyResponse = GroupKeyResponseTranslator_1.GroupKeyResponseTranslator.toClientProtocol(parsedResponse);
|
|
124
|
+
content = (0, protocol_1.serializeGroupKeyResponse)(oldGroupKeyResponse);
|
|
98
125
|
}
|
|
99
126
|
catch (err) {
|
|
100
127
|
throw new Error(`invalid group key response: ${err}`);
|
|
@@ -117,11 +144,12 @@ class StreamMessageTranslator {
|
|
|
117
144
|
prevMsgRef,
|
|
118
145
|
content,
|
|
119
146
|
messageType,
|
|
120
|
-
contentType:
|
|
147
|
+
contentType: newToOldContentType(msg.contentType),
|
|
121
148
|
encryptionType: newToOldEncryptionType(msg.encryptionType),
|
|
122
149
|
groupKeyId: msg.groupKeyId,
|
|
123
150
|
newGroupKey,
|
|
124
|
-
signature: msg.signature
|
|
151
|
+
signature: msg.signature,
|
|
152
|
+
signatureType: newToOldSignatureType(msg.signatureType)
|
|
125
153
|
});
|
|
126
154
|
return translated;
|
|
127
155
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamMessageTranslator.js","sourceRoot":"","sources":["../../../../../src/logic/protocol-integration/stream-message/StreamMessageTranslator.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"StreamMessageTranslator.js","sourceRoot":"","sources":["../../../../../src/logic/protocol-integration/stream-message/StreamMessageTranslator.ts"],"names":[],"mappings":";;;AAAA,gDAc0B;AAC1B,8FAWsE;AACtE,0CAA4E;AAC5E,2EAAuE;AACvE,6EAAyE;AAEzE,MAAM,sBAAsB,GAAG,CAAC,IAAuB,EAAkB,EAAE;IACvE,IAAI,IAAI,KAAK,yBAAiB,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,2BAAc,CAAC,GAAG,CAAA;IAC7B,CAAC;IACD,OAAO,2BAAc,CAAC,IAAI,CAAA;AAC9B,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,IAAoB,EAAqB,EAAE;IACvE,IAAI,IAAI,KAAK,2BAAc,CAAC,GAAG,EAAE,CAAC;QAC9B,OAAO,yBAAiB,CAAC,GAAG,CAAA;IAChC,CAAC;IACD,OAAO,yBAAiB,CAAC,IAAI,CAAA;AACjC,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,IAAoB,EAAe,EAAE;IAC9D,IAAI,IAAI,KAAK,sBAAc,CAAC,IAAI,EAAE,CAAC;QAC/B,OAAO,wBAAW,CAAC,IAAI,CAAA;IAC3B,CAAC;IACD,OAAO,wBAAW,CAAC,MAAM,CAAA;AAC7B,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,IAAiB,EAAkB,EAAE;IAC9D,IAAI,IAAI,KAAK,wBAAW,CAAC,IAAI,EAAE,CAAC;QAC5B,OAAO,sBAAc,CAAC,IAAI,CAAA;IAC9B,CAAC;IACD,OAAO,sBAAc,CAAC,MAAM,CAAA;AAChC,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,IAAsB,EAAiB,EAAE;IACpE,IAAI,IAAI,KAAK,wBAAgB,CAAC,gBAAgB,EAAE,CAAC;QAC7C,OAAO,0BAAa,CAAC,gBAAgB,CAAA;IACzC,CAAC;IACD,OAAO,0BAAa,CAAC,SAAS,CAAA;AAClC,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,IAAmB,EAAoB,EAAE;IACpE,IAAI,IAAI,KAAK,0BAAa,CAAC,gBAAgB,EAAE,CAAC;QAC1C,OAAO,wBAAgB,CAAC,gBAAgB,CAAA;IAC5C,CAAC;IACD,OAAO,wBAAgB,CAAC,SAAS,CAAA;AAErC,CAAC,CAAA;AAED,kEAAkE;AAClE,MAAa,uBAAuB;IAEhC,MAAM,CAAC,UAAU,CAAC,GAAqB;QACnC,IAAI,OAAmB,CAAA;QACvB,IAAI,WAA8B,CAAA;QAClC,IAAI,GAAG,CAAC,WAAW,KAAK,4BAAoB,CAAC,OAAO,EAAE,CAAC;YACnD,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;YACrB,WAAW,GAAG,8BAAiB,CAAC,OAAO,CAAA;QAC3C,CAAC;aAAM,IAAI,GAAG,CAAC,WAAW,KAAK,4BAAoB,CAAC,iBAAiB,EAAE,CAAC;YACpE,OAAO,GAAG,4BAAe,CAAC,QAAQ,CAC9B,qDAAyB,CAAC,UAAU,CAAC,IAAA,qCAA6B,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CACnF,CAAA;YACD,WAAW,GAAG,8BAAiB,CAAC,iBAAiB,CAAA;QACrD,CAAC;aAAM,IAAI,GAAG,CAAC,WAAW,KAAK,4BAAoB,CAAC,kBAAkB,EAAE,CAAC;YACrE,OAAO,GAAG,6BAAgB,CAAC,QAAQ,CAC/B,uDAA0B,CAAC,UAAU,CAAC,IAAA,sCAA8B,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CACrF,CAAA;YACD,WAAW,GAAG,8BAAiB,CAAC,kBAAkB,CAAA;QACtD,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC3C,CAAC;QACD,MAAM,SAAS,GAAc;YACzB,SAAS,EAAE,GAAG,CAAC,YAAY,EAAE;YAC7B,cAAc,EAAE,GAAG,CAAC,iBAAiB,EAAE;YACvC,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAY;YACrC,eAAe,EAAE,GAAG,CAAC,kBAAkB,EAAE;YACzC,WAAW,EAAE,IAAA,mBAAW,EAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YAC9C,cAAc,EAAE,GAAG,CAAC,aAAa,EAAE;SACtC,CAAA;QACD,IAAI,kBAAkB,GAA2B,SAAS,CAAA;QAC1D,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACjB,kBAAkB,GAAG;gBACjB,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,SAAS;gBACnC,cAAc,EAAE,GAAG,CAAC,UAAU,CAAC,cAAc;aAChD,CAAA;QACL,CAAC;QACD,IAAI,WAAW,GAAyB,SAAS,CAAA;QACjD,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YAClB,WAAW,GAAG;gBACV,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE;gBACtB,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI;aAC7B,CAAA;QACL,CAAC;QACD,MAAM,UAAU,GAAkB;YAC9B,SAAS;YACT,kBAAkB;YAClB,OAAO;YACP,WAAW;YACX,WAAW,EAAE,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC;YACjD,cAAc,EAAE,sBAAsB,CAAC,GAAG,CAAC,cAAc,CAAC;YAC1D,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;YACvC,WAAW;YACX,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,aAAa,EAAE,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC;SAC1D,CAAA;QACD,OAAO,UAAU,CAAA;IACrB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,GAAkB;QACtC,IAAI,OAAmB,CAAA;QACvB,IAAI,WAAiC,CAAA;QACrC,IAAI,GAAG,CAAC,WAAW,KAAK,8BAAiB,CAAC,OAAO,EAAE,CAAC;YAChD,WAAW,GAAG,4BAAoB,CAAC,OAAO,CAAA;YAC1C,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;QACzB,CAAC;aAAM,IAAI,GAAG,CAAC,WAAW,KAAK,8BAAiB,CAAC,iBAAiB,EAAE,CAAC;YACjE,WAAW,GAAG,4BAAoB,CAAC,iBAAiB,CAAA;YACpD,IAAI,CAAC;gBACD,MAAM,aAAa,GAAG,4BAAe,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAC7D,MAAM,kBAAkB,GAAG,qDAAyB,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;gBACpF,OAAO,GAAG,IAAA,mCAA2B,EAAC,kBAAkB,CAAC,CAAA;YAC7D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAA;YACxD,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,WAAW,KAAK,8BAAiB,CAAC,kBAAkB,EAAE,CAAC;YAClE,WAAW,GAAG,4BAAoB,CAAC,kBAAkB,CAAA;YACrD,IAAI,CAAC;gBACD,MAAM,cAAc,GAAG,6BAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAC/D,MAAM,mBAAmB,GAAG,uDAA0B,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAA;gBACvF,OAAO,GAAG,IAAA,oCAA4B,EAAC,mBAAmB,CAAC,CAAA;YAC/D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAA;YACzD,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC3C,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,oBAAY,CAC9B,GAAG,CAAC,SAAU,CAAC,QAAoB,EACnC,GAAG,CAAC,SAAU,CAAC,eAAe,EAC9B,MAAM,CAAC,GAAG,CAAC,SAAU,CAAC,SAAS,CAAC,EAChC,GAAG,CAAC,SAAU,CAAC,cAAc,EAC7B,IAAA,yBAAiB,EAAC,IAAA,mBAAW,EAAC,GAAG,CAAC,SAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,EAChE,GAAG,CAAC,SAAU,CAAC,cAAc,CAChC,CAAA;QACD,IAAI,UAAU,GAA8B,SAAS,CAAA;QACrD,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;YACzB,UAAU,GAAG,IAAI,qBAAa,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA;QACnH,CAAC;QACD,IAAI,WAAW,GAAqC,SAAS,CAAA;QAC7D,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YAClB,WAAW,GAAG,IAAI,4BAAoB,CAClC,GAAG,CAAC,WAAW,CAAC,EAAE,EAClB,GAAG,CAAC,WAAW,CAAC,IAAI,CACvB,CAAA;QACL,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,wBAAgB,CAAC;YACpC,SAAS;YACT,UAAU;YACV,OAAO;YACP,WAAW;YACX,WAAW,EAAE,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC;YACjD,cAAc,EAAE,sBAAsB,CAAC,GAAG,CAAC,cAAc,CAAC;YAC1D,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,WAAW;YACX,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,aAAa,EAAE,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC;SAC1D,CAAC,CAAA;QACF,OAAO,UAAU,CAAA;IACrB,CAAC;CACJ;AAtHD,0DAsHC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertBytesToStreamMessage = exports.convertStreamMessageToBytes = void 0;
|
|
4
|
+
const StreamMessageTranslator_1 = require("./StreamMessageTranslator");
|
|
5
|
+
const NetworkRpc_1 = require("../../../proto/packages/trackerless-network/protos/NetworkRpc");
|
|
6
|
+
function convertStreamMessageToBytes(oldStreamMessage) {
|
|
7
|
+
return NetworkRpc_1.StreamMessage.toBinary(StreamMessageTranslator_1.StreamMessageTranslator.toProtobuf(oldStreamMessage));
|
|
8
|
+
}
|
|
9
|
+
exports.convertStreamMessageToBytes = convertStreamMessageToBytes;
|
|
10
|
+
function convertBytesToStreamMessage(bytes) {
|
|
11
|
+
return StreamMessageTranslator_1.StreamMessageTranslator.toClientProtocol(NetworkRpc_1.StreamMessage.fromBinary(bytes));
|
|
12
|
+
}
|
|
13
|
+
exports.convertBytesToStreamMessage = convertBytesToStreamMessage;
|
|
14
|
+
//# sourceMappingURL=oldStreamMessageBinaryUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oldStreamMessageBinaryUtils.js","sourceRoot":"","sources":["../../../../../src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.ts"],"names":[],"mappings":";;;AACA,uEAAmE;AACnE,8FAA6F;AAE7F,SAAgB,2BAA2B,CAAC,gBAAkC;IAC1E,OAAO,0BAAa,CAAC,QAAQ,CAAC,iDAAuB,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAA;AACvF,CAAC;AAFD,kEAEC;AAED,SAAgB,2BAA2B,CAAC,KAAiB;IACzD,OAAO,iDAAuB,CAAC,gBAAgB,CAAC,0BAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AACpF,CAAC;AAFD,kEAEC"}
|
|
@@ -23,7 +23,7 @@ export declare class ProxyClient extends EventEmitter<Events> {
|
|
|
23
23
|
private definition?;
|
|
24
24
|
private readonly connections;
|
|
25
25
|
private readonly propagation;
|
|
26
|
-
private readonly
|
|
26
|
+
private readonly neighbors;
|
|
27
27
|
private readonly abortController;
|
|
28
28
|
constructor(config: ProxyClientConfig);
|
|
29
29
|
private registerDefaultServerMethods;
|
|
@@ -34,21 +34,28 @@ exports.retry = retry;
|
|
|
34
34
|
const logger = new utils_1.Logger(module);
|
|
35
35
|
const SERVICE_ID = 'system/proxy-client';
|
|
36
36
|
class ProxyClient extends eventemitter3_1.EventEmitter {
|
|
37
|
+
rpcCommunicator;
|
|
38
|
+
deliveryRpcLocal;
|
|
39
|
+
config;
|
|
40
|
+
duplicateDetectors = new Map();
|
|
41
|
+
definition;
|
|
42
|
+
connections = new Map();
|
|
43
|
+
propagation;
|
|
44
|
+
neighbors;
|
|
45
|
+
abortController;
|
|
37
46
|
constructor(config) {
|
|
38
47
|
super();
|
|
39
|
-
this.duplicateDetectors = new Map();
|
|
40
|
-
this.connections = new Map();
|
|
41
48
|
this.config = config;
|
|
42
49
|
this.rpcCommunicator = new dht_1.ListeningRpcCommunicator((0, formStreamPartDeliveryServiceId_1.formStreamPartDeliveryServiceId)(config.streamPartId), config.transport);
|
|
43
50
|
// TODO use config option or named constant?
|
|
44
|
-
this.
|
|
51
|
+
this.neighbors = new NodeList_1.NodeList((0, dht_1.getNodeIdFromPeerDescriptor)(this.config.localPeerDescriptor), 1000);
|
|
45
52
|
this.deliveryRpcLocal = new DeliveryRpcLocal_1.DeliveryRpcLocal({
|
|
46
53
|
localPeerDescriptor: this.config.localPeerDescriptor,
|
|
47
54
|
streamPartId: this.config.streamPartId,
|
|
48
55
|
markAndCheckDuplicate: (msg, prev) => (0, utils_2.markAndCheckDuplicate)(this.duplicateDetectors, msg, prev),
|
|
49
56
|
broadcast: (message, previousNode) => this.broadcast(message, previousNode),
|
|
50
57
|
onLeaveNotice: (senderId) => {
|
|
51
|
-
const contact = this.
|
|
58
|
+
const contact = this.neighbors.get(senderId);
|
|
52
59
|
if (contact) {
|
|
53
60
|
// TODO should we catch possible promise rejection?
|
|
54
61
|
setImmediate(() => this.onNodeDisconnected(contact.getPeerDescriptor()));
|
|
@@ -61,7 +68,7 @@ class ProxyClient extends eventemitter3_1.EventEmitter {
|
|
|
61
68
|
// TODO use config option or named constant?
|
|
62
69
|
minPropagationTargets: config.minPropagationTargets ?? 2,
|
|
63
70
|
sendToNeighbor: async (neighborId, msg) => {
|
|
64
|
-
const remote = this.
|
|
71
|
+
const remote = this.neighbors.get(neighborId);
|
|
65
72
|
if (remote) {
|
|
66
73
|
await remote.sendStreamMessage(msg);
|
|
67
74
|
}
|
|
@@ -123,7 +130,7 @@ class ProxyClient extends eventemitter3_1.EventEmitter {
|
|
|
123
130
|
this.config.connectionLocker.lockConnection(peerDescriptor, SERVICE_ID);
|
|
124
131
|
this.connections.set(nodeId, direction);
|
|
125
132
|
const remote = new DeliveryRpcRemote_1.DeliveryRpcRemote(this.config.localPeerDescriptor, peerDescriptor, this.rpcCommunicator, NetworkRpc_client_1.DeliveryRpcClient);
|
|
126
|
-
this.
|
|
133
|
+
this.neighbors.add(remote);
|
|
127
134
|
this.propagation.onNeighborJoined(nodeId);
|
|
128
135
|
logger.info('Open proxy connection', {
|
|
129
136
|
nodeId,
|
|
@@ -146,21 +153,21 @@ class ProxyClient extends eventemitter3_1.EventEmitter {
|
|
|
146
153
|
logger.info('Close proxy connection', {
|
|
147
154
|
nodeId
|
|
148
155
|
});
|
|
149
|
-
const server = this.
|
|
156
|
+
const server = this.neighbors.get(nodeId);
|
|
150
157
|
server?.leaveStreamPartNotice(this.config.streamPartId, false);
|
|
151
158
|
this.removeConnection(nodeId);
|
|
152
159
|
}
|
|
153
160
|
}
|
|
154
161
|
removeConnection(nodeId) {
|
|
155
162
|
this.connections.delete(nodeId);
|
|
156
|
-
this.
|
|
163
|
+
this.neighbors.remove(nodeId);
|
|
157
164
|
}
|
|
158
165
|
broadcast(msg, previousNode) {
|
|
159
166
|
if (!previousNode) {
|
|
160
167
|
(0, utils_2.markAndCheckDuplicate)(this.duplicateDetectors, msg.messageId, msg.previousMessageRef);
|
|
161
168
|
}
|
|
162
169
|
this.emit('message', msg);
|
|
163
|
-
this.propagation.feedUnseenMessage(msg, this.
|
|
170
|
+
this.propagation.feedUnseenMessage(msg, this.neighbors.getIds(), previousNode ?? null);
|
|
164
171
|
}
|
|
165
172
|
hasConnection(nodeId, direction) {
|
|
166
173
|
return this.connections.has(nodeId) && this.connections.get(nodeId) === direction;
|
|
@@ -183,11 +190,11 @@ class ProxyClient extends eventemitter3_1.EventEmitter {
|
|
|
183
190
|
(peerDescriptor) => this.onNodeDisconnected(peerDescriptor), this.abortController.signal);
|
|
184
191
|
}
|
|
185
192
|
stop() {
|
|
186
|
-
this.
|
|
193
|
+
this.neighbors.getAll().forEach((remote) => {
|
|
187
194
|
this.config.connectionLocker.unlockConnection(remote.getPeerDescriptor(), SERVICE_ID);
|
|
188
195
|
remote.leaveStreamPartNotice(this.config.streamPartId, false);
|
|
189
196
|
});
|
|
190
|
-
this.
|
|
197
|
+
this.neighbors.stop();
|
|
191
198
|
this.rpcCommunicator.destroy();
|
|
192
199
|
this.connections.clear();
|
|
193
200
|
this.abortController.abort();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProxyClient.js","sourceRoot":"","sources":["../../../../src/logic/proxy/ProxyClient.ts"],"names":[],"mappings":";;;AAAA,sCAOqB;AAErB,0CAAuF;AACvF,iDAA4C;AAC5C,mCAAmC;AACnC,2FAMmE;AACnE,yGAA+H;AAE/H,0CAAsC;AACtC,4DAAwD;AACxD,0DAAsD;AACtD,4DAAwD;AACxD,oCAAgD;AAChD,yEAAqE;AACrE,wFAAoF;AAEpF,4CAA4C;AACrC,MAAM,KAAK,GAAG,KAAK,EAAK,IAAsB,EAAE,WAAmB,EAAE,WAAwB,EAAE,KAAK,GAAG,KAAK,EAAc,EAAE;IAC/H,iDAAiD;IACjD,OAAO,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"ProxyClient.js","sourceRoot":"","sources":["../../../../src/logic/proxy/ProxyClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,10 @@ const eventemitter3_1 = require("eventemitter3");
|
|
|
9
9
|
const utils_1 = require("@streamr/utils");
|
|
10
10
|
const logger = new utils_1.Logger(module);
|
|
11
11
|
class ProxyConnectionRpcLocal extends eventemitter3_1.EventEmitter {
|
|
12
|
+
config;
|
|
13
|
+
connections = new Map();
|
|
12
14
|
constructor(config) {
|
|
13
15
|
super();
|
|
14
|
-
this.connections = new Map();
|
|
15
16
|
this.config = config;
|
|
16
17
|
this.config.rpcCommunicator.registerRpcMethod(NetworkRpc_1.ProxyConnectionRequest, NetworkRpc_1.ProxyConnectionResponse, 'requestConnection', (msg, context) => this.requestConnection(msg, context));
|
|
17
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProxyConnectionRpcLocal.js","sourceRoot":"","sources":["../../../../src/logic/proxy/ProxyConnectionRpcLocal.ts"],"names":[],"mappings":";;;AACA,2FAOmE;AAEnE,4DAAwD;AACxD,sCAAgI;AAChI,yGAAqG;AACrG,iDAA4C;AAC5C,0CAAwF;AAGxF,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAkBjC,MAAa,uBAAwB,SAAQ,4BAAoB;
|
|
1
|
+
{"version":3,"file":"ProxyConnectionRpcLocal.js","sourceRoot":"","sources":["../../../../src/logic/proxy/ProxyConnectionRpcLocal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProxyConnectionRpcRemote.js","sourceRoot":"","sources":["../../../../src/logic/proxy/ProxyConnectionRpcRemote.ts"],"names":[],"mappings":";;;AAAA,sCAAqE;AACrE,0CAAqE;AAIrE,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,wBAAyB,SAAQ,eAAmC;IAE7E,KAAK,CAAC,iBAAiB,CAAC,SAAyB,EAAE,MAAuB;QACtE,MAAM,OAAO,GAA2B;YACpC,SAAS;YACT,MAAM,EAAE,IAAA,mBAAW,EAAC,MAAM,CAAC;SAC9B,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,OAAO,EAAE,iCAA2B;SACvC,CAAC,CAAA;QACF,IAAI;
|
|
1
|
+
{"version":3,"file":"ProxyConnectionRpcRemote.js","sourceRoot":"","sources":["../../../../src/logic/proxy/ProxyConnectionRpcRemote.ts"],"names":[],"mappings":";;;AAAA,sCAAqE;AACrE,0CAAqE;AAIrE,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,wBAAyB,SAAQ,eAAmC;IAE7E,KAAK,CAAC,iBAAiB,CAAC,SAAyB,EAAE,MAAuB;QACtE,MAAM,OAAO,GAA2B;YACpC,SAAS;YACT,MAAM,EAAE,IAAA,mBAAW,EAAC,MAAM,CAAC;SAC9B,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,OAAO,EAAE,iCAA2B;SACvC,CAAC,CAAA;QACF,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACtE,OAAO,GAAG,CAAC,QAAQ,CAAA;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,6CAA6C,GAAG,EAAE,CAAC,CAAA;YAChE,OAAO,KAAK,CAAA;QAChB,CAAC;IACL,CAAC;CACJ;AAlBD,4DAkBC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ServerCallContext } from '@protobuf-ts/runtime-rpc';
|
|
2
|
-
import { TemporaryConnectionRequest, TemporaryConnectionResponse } from '../../proto/packages/trackerless-network/protos/NetworkRpc';
|
|
2
|
+
import { CloseTemporaryConnection, TemporaryConnectionRequest, TemporaryConnectionResponse } from '../../proto/packages/trackerless-network/protos/NetworkRpc';
|
|
3
3
|
import { ITemporaryConnectionRpc } from '../../proto/packages/trackerless-network/protos/NetworkRpc.server';
|
|
4
|
-
import { ListeningRpcCommunicator } from '@streamr/dht';
|
|
4
|
+
import { DhtAddress, ListeningRpcCommunicator } from '@streamr/dht';
|
|
5
5
|
import { NodeList } from '../NodeList';
|
|
6
6
|
import { PeerDescriptor } from '../../proto/packages/dht/protos/DhtRpc';
|
|
7
|
+
import { Empty } from '../../proto/google/protobuf/empty';
|
|
7
8
|
interface TemporaryConnectionRpcLocalConfig {
|
|
8
9
|
rpcCommunicator: ListeningRpcCommunicator;
|
|
9
10
|
localPeerDescriptor: PeerDescriptor;
|
|
@@ -13,7 +14,8 @@ export declare class TemporaryConnectionRpcLocal implements ITemporaryConnection
|
|
|
13
14
|
private readonly temporaryNodes;
|
|
14
15
|
constructor(config: TemporaryConnectionRpcLocalConfig);
|
|
15
16
|
getNodes(): NodeList;
|
|
16
|
-
removeNode(
|
|
17
|
+
removeNode(nodeId: DhtAddress): void;
|
|
17
18
|
openConnection(_request: TemporaryConnectionRequest, context: ServerCallContext): Promise<TemporaryConnectionResponse>;
|
|
19
|
+
closeConnection(_request: CloseTemporaryConnection, context: ServerCallContext): Promise<Empty>;
|
|
18
20
|
}
|
|
19
21
|
export {};
|
|
@@ -6,6 +6,8 @@ const NetworkRpc_client_1 = require("../../proto/packages/trackerless-network/pr
|
|
|
6
6
|
const NodeList_1 = require("../NodeList");
|
|
7
7
|
const DeliveryRpcRemote_1 = require("../DeliveryRpcRemote");
|
|
8
8
|
class TemporaryConnectionRpcLocal {
|
|
9
|
+
config;
|
|
10
|
+
temporaryNodes;
|
|
9
11
|
constructor(config) {
|
|
10
12
|
this.config = config;
|
|
11
13
|
// TODO use config option or named constant?
|
|
@@ -14,8 +16,8 @@ class TemporaryConnectionRpcLocal {
|
|
|
14
16
|
getNodes() {
|
|
15
17
|
return this.temporaryNodes;
|
|
16
18
|
}
|
|
17
|
-
removeNode(
|
|
18
|
-
this.temporaryNodes.remove(
|
|
19
|
+
removeNode(nodeId) {
|
|
20
|
+
this.temporaryNodes.remove(nodeId);
|
|
19
21
|
}
|
|
20
22
|
async openConnection(_request, context) {
|
|
21
23
|
const sender = context.incomingSourceDescriptor;
|
|
@@ -25,6 +27,11 @@ class TemporaryConnectionRpcLocal {
|
|
|
25
27
|
accepted: true
|
|
26
28
|
};
|
|
27
29
|
}
|
|
30
|
+
async closeConnection(_request, context) {
|
|
31
|
+
const senderId = (0, dht_1.getNodeIdFromPeerDescriptor)(context.incomingSourceDescriptor);
|
|
32
|
+
this.removeNode(senderId);
|
|
33
|
+
return {};
|
|
34
|
+
}
|
|
28
35
|
}
|
|
29
36
|
exports.TemporaryConnectionRpcLocal = TemporaryConnectionRpcLocal;
|
|
30
37
|
//# sourceMappingURL=TemporaryConnectionRpcLocal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemporaryConnectionRpcLocal.js","sourceRoot":"","sources":["../../../../src/logic/temporary-connection/TemporaryConnectionRpcLocal.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"TemporaryConnectionRpcLocal.js","sourceRoot":"","sources":["../../../../src/logic/temporary-connection/TemporaryConnectionRpcLocal.ts"],"names":[],"mappings":";;;AAOA,sCAAgH;AAChH,yGAAqG;AACrG,0CAAsC;AACtC,4DAAwD;AASxD,MAAa,2BAA2B;IAEnB,MAAM,CAAmC;IACzC,cAAc,CAAU;IAEzC,YAAY,MAAyC;QACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,4CAA4C;QAC5C,IAAI,CAAC,cAAc,GAAG,IAAI,mBAAQ,CAAC,IAAA,iCAA2B,EAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,CAAA;IACnG,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,cAAc,CAAA;IAC9B,CAAC;IAED,UAAU,CAAC,MAAkB;QACzB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,cAAc,CAChB,QAAoC,EACpC,OAA0B;QAE1B,MAAM,MAAM,GAAI,OAA0B,CAAC,wBAAyB,CAAA;QACpE,MAAM,MAAM,GAAG,IAAI,qCAAiB,CAChC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAC/B,MAAM,EACN,IAAI,CAAC,MAAM,CAAC,eAAe,EAC3B,qCAAiB,CACpB,CAAA;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC/B,OAAO;YACH,QAAQ,EAAE,IAAI;SACjB,CAAA;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAkC,EAAE,OAA0B;QAChF,MAAM,QAAQ,GAAG,IAAA,iCAA2B,EAAE,OAA0B,CAAC,wBAAyB,CAAC,CAAA;QACnG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QACzB,OAAO,EAAE,CAAA;IACb,CAAC;CACJ;AAzCD,kEAyCC"}
|
|
@@ -2,4 +2,5 @@ import { RpcRemote } from '@streamr/dht';
|
|
|
2
2
|
import { TemporaryConnectionRpcClient } from '../../proto/packages/trackerless-network/protos/NetworkRpc.client';
|
|
3
3
|
export declare class TemporaryConnectionRpcRemote extends RpcRemote<TemporaryConnectionRpcClient> {
|
|
4
4
|
openConnection(): Promise<boolean>;
|
|
5
|
+
closeConnection(): Promise<void>;
|
|
5
6
|
}
|
|
@@ -15,6 +15,17 @@ class TemporaryConnectionRpcRemote extends dht_1.RpcRemote {
|
|
|
15
15
|
return false;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
+
async closeConnection() {
|
|
19
|
+
try {
|
|
20
|
+
await this.getClient().closeConnection({}, this.formDhtRpcOptions({
|
|
21
|
+
connect: false,
|
|
22
|
+
notification: true
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
logger.trace(`closeConnection to ${(0, dht_1.getNodeIdFromPeerDescriptor)(this.getPeerDescriptor())} failed: ${err}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
18
29
|
}
|
|
19
30
|
exports.TemporaryConnectionRpcRemote = TemporaryConnectionRpcRemote;
|
|
20
31
|
//# sourceMappingURL=TemporaryConnectionRpcRemote.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemporaryConnectionRpcRemote.js","sourceRoot":"","sources":["../../../../src/logic/temporary-connection/TemporaryConnectionRpcRemote.ts"],"names":[],"mappings":";;;AAAA,sCAAqE;AACrE,0CAAuC;AAGvC,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,4BAA6B,SAAQ,eAAuC;IAErF,KAAK,CAAC,cAAc;QAChB,IAAI;
|
|
1
|
+
{"version":3,"file":"TemporaryConnectionRpcRemote.js","sourceRoot":"","sources":["../../../../src/logic/temporary-connection/TemporaryConnectionRpcRemote.ts"],"names":[],"mappings":";;;AAAA,sCAAqE;AACrE,0CAAuC;AAGvC,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,4BAA6B,SAAQ,eAAuC;IAErF,KAAK,CAAC,cAAc;QAChB,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;YACpF,OAAO,QAAQ,CAAC,QAAQ,CAAA;QAC5B,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,0BAA0B,IAAA,iCAA2B,EAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,CAAA;YAC9G,OAAO,KAAK,CAAA;QAChB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC;gBAC9D,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,IAAI;aACrB,CAAC,CAAC,CAAA;QACP,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,sBAAsB,IAAA,iCAA2B,EAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,CAAA;QAC9G,CAAC;IACL,CAAC;CACJ;AAtBD,oEAsBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/logic/utils.ts"],"names":[],"mappings":";;;AAAA,yEAAiF;AAEjF,0CAA4C;AAErC,MAAM,qBAAqB,GAAG,CACjC,kBAAyD,EACzD,cAAyB,EACzB,kBAA+B,EACxB,EAAE;IACT,MAAM,WAAW,GAAG,GAAG,IAAA,mBAAW,EAAC,cAAc,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,cAAc,EAAE,CAAA;IACjG,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,CAAC;QAC3C,IAAI,qCAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAClG,MAAM,iBAAiB,GAAG,IAAI,qCAAU,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAA;IACzG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/logic/utils.ts"],"names":[],"mappings":";;;AAAA,yEAAiF;AAEjF,0CAA4C;AAErC,MAAM,qBAAqB,GAAG,CACjC,kBAAyD,EACzD,cAAyB,EACzB,kBAA+B,EACxB,EAAE;IACT,MAAM,WAAW,GAAG,GAAG,IAAA,mBAAW,EAAC,cAAc,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,cAAc,EAAE,CAAA;IACjG,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,CAAC;QAC3C,IAAI,qCAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAClG,MAAM,iBAAiB,GAAG,IAAI,qCAAU,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAA;IACzG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,kBAAkB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,mDAAwB,EAAE,CAAC,CAAA;IACvE,CAAC;IACD,OAAO,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAA;AACnG,CAAC,CAAA;AAbY,QAAA,qBAAqB,yBAajC"}
|