@streamr/trackerless-network 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.
Files changed (241) hide show
  1. package/README.md +57 -0
  2. package/dist/package.json +11 -11
  3. package/dist/src/NetworkNode.d.ts +6 -5
  4. package/dist/src/NetworkNode.js +9 -2
  5. package/dist/src/NetworkNode.js.map +1 -1
  6. package/dist/src/NetworkStack.d.ts +13 -9
  7. package/dist/src/NetworkStack.js +80 -12
  8. package/dist/src/NetworkStack.js.map +1 -1
  9. package/dist/src/exports.d.ts +4 -3
  10. package/dist/src/exports.js +12 -1
  11. package/dist/src/exports.js.map +1 -1
  12. package/dist/src/logic/DeliveryRpcLocal.d.ts +4 -5
  13. package/dist/src/logic/DeliveryRpcLocal.js +6 -5
  14. package/dist/src/logic/DeliveryRpcLocal.js.map +1 -1
  15. package/dist/src/logic/DeliveryRpcRemote.d.ts +5 -4
  16. package/dist/src/logic/DeliveryRpcRemote.js +4 -3
  17. package/dist/src/logic/DeliveryRpcRemote.js.map +1 -1
  18. package/dist/src/logic/DuplicateMessageDetector.d.ts +3 -3
  19. package/dist/src/logic/DuplicateMessageDetector.js +10 -6
  20. package/dist/src/logic/DuplicateMessageDetector.js.map +1 -1
  21. package/dist/src/logic/EntryPointDiscovery.d.ts +8 -5
  22. package/dist/src/logic/EntryPointDiscovery.js +24 -15
  23. package/dist/src/logic/EntryPointDiscovery.js.map +1 -1
  24. package/dist/src/logic/Layer0Node.d.ts +6 -4
  25. package/dist/src/logic/Layer1Node.d.ts +12 -6
  26. package/dist/src/logic/NodeList.d.ts +13 -15
  27. package/dist/src/logic/NodeList.js +18 -15
  28. package/dist/src/logic/NodeList.js.map +1 -1
  29. package/dist/src/logic/RandomGraphNode.d.ts +26 -22
  30. package/dist/src/logic/RandomGraphNode.js +82 -52
  31. package/dist/src/logic/RandomGraphNode.js.map +1 -1
  32. package/dist/src/logic/StreamrNode.d.ts +6 -6
  33. package/dist/src/logic/StreamrNode.js +53 -37
  34. package/dist/src/logic/StreamrNode.js.map +1 -1
  35. package/dist/src/logic/createRandomGraphNode.d.ts +2 -2
  36. package/dist/src/logic/createRandomGraphNode.js +33 -21
  37. package/dist/src/logic/createRandomGraphNode.js.map +1 -1
  38. package/dist/src/logic/formStreamPartDeliveryServiceId.d.ts +2 -1
  39. package/dist/src/logic/formStreamPartDeliveryServiceId.js.map +1 -1
  40. package/dist/src/logic/inspect/InspectSession.d.ts +4 -3
  41. package/dist/src/logic/inspect/InspectSession.js +6 -2
  42. package/dist/src/logic/inspect/InspectSession.js.map +1 -1
  43. package/dist/src/logic/inspect/Inspector.d.ts +11 -16
  44. package/dist/src/logic/inspect/Inspector.js +21 -9
  45. package/dist/src/logic/inspect/Inspector.js.map +1 -1
  46. package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.d.ts +7 -9
  47. package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js +55 -32
  48. package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js.map +1 -1
  49. package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.d.ts +8 -6
  50. package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js +25 -16
  51. package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js.map +1 -1
  52. package/dist/src/logic/neighbor-discovery/Handshaker.d.ts +9 -15
  53. package/dist/src/logic/neighbor-discovery/Handshaker.js +68 -44
  54. package/dist/src/logic/neighbor-discovery/Handshaker.js.map +1 -1
  55. package/dist/src/logic/neighbor-discovery/NeighborFinder.d.ts +8 -10
  56. package/dist/src/logic/neighbor-discovery/NeighborFinder.js +12 -2
  57. package/dist/src/logic/neighbor-discovery/NeighborFinder.js.map +1 -1
  58. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.d.ts +7 -10
  59. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js +11 -9
  60. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js.map +1 -1
  61. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.d.ts +8 -4
  62. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js +33 -24
  63. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js.map +1 -1
  64. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.d.ts +5 -4
  65. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.js +4 -5
  66. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.js.map +1 -1
  67. package/dist/src/logic/node-info/NodeInfoClient.d.ts +9 -0
  68. package/dist/src/logic/node-info/NodeInfoClient.js +21 -0
  69. package/dist/src/logic/node-info/NodeInfoClient.js.map +1 -0
  70. package/dist/src/logic/node-info/NodeInfoRpcLocal.d.ts +12 -0
  71. package/dist/src/logic/node-info/NodeInfoRpcLocal.js +22 -0
  72. package/dist/src/logic/node-info/NodeInfoRpcLocal.js.map +1 -0
  73. package/dist/src/logic/node-info/NodeInfoRpcRemote.d.ts +6 -0
  74. package/dist/src/logic/node-info/NodeInfoRpcRemote.js +11 -0
  75. package/dist/src/logic/node-info/NodeInfoRpcRemote.js.map +1 -0
  76. package/dist/src/logic/propagation/FifoMapWithTTL.js +7 -3
  77. package/dist/src/logic/propagation/FifoMapWithTTL.js.map +1 -1
  78. package/dist/src/logic/propagation/Propagation.d.ts +4 -4
  79. package/dist/src/logic/propagation/Propagation.js +4 -0
  80. package/dist/src/logic/propagation/Propagation.js.map +1 -1
  81. package/dist/src/logic/propagation/PropagationTaskStore.d.ts +2 -2
  82. package/dist/src/logic/propagation/PropagationTaskStore.js +1 -0
  83. package/dist/src/logic/propagation/PropagationTaskStore.js.map +1 -1
  84. package/dist/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.js +1 -1
  85. package/dist/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.js.map +1 -1
  86. package/dist/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.js +1 -1
  87. package/dist/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.js.map +1 -1
  88. package/dist/src/logic/protocol-integration/stream-message/StreamMessageTranslator.js +87 -53
  89. package/dist/src/logic/protocol-integration/stream-message/StreamMessageTranslator.js.map +1 -1
  90. package/dist/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.d.ts +7 -0
  91. package/dist/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.js +32 -0
  92. package/dist/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.js.map +1 -0
  93. package/dist/src/logic/proxy/ProxyClient.d.ts +8 -6
  94. package/dist/src/logic/proxy/ProxyClient.js +40 -28
  95. package/dist/src/logic/proxy/ProxyClient.js.map +1 -1
  96. package/dist/src/logic/proxy/ProxyConnectionRpcLocal.d.ts +6 -7
  97. package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js +8 -8
  98. package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js.map +1 -1
  99. package/dist/src/logic/proxy/ProxyConnectionRpcRemote.d.ts +3 -3
  100. package/dist/src/logic/proxy/ProxyConnectionRpcRemote.js +1 -1
  101. package/dist/src/logic/proxy/ProxyConnectionRpcRemote.js.map +1 -1
  102. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.d.ts +9 -4
  103. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js +21 -6
  104. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js.map +1 -1
  105. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.d.ts +4 -3
  106. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.js +13 -3
  107. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.js.map +1 -1
  108. package/dist/src/logic/utils.js.map +1 -1
  109. package/dist/src/proto/google/protobuf/any.js +8 -8
  110. package/dist/src/proto/google/protobuf/any.js.map +1 -1
  111. package/dist/src/proto/google/protobuf/empty.js +2 -4
  112. package/dist/src/proto/google/protobuf/empty.js.map +1 -1
  113. package/dist/src/proto/google/protobuf/timestamp.js +10 -10
  114. package/dist/src/proto/google/protobuf/timestamp.js.map +1 -1
  115. package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +36 -49
  116. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +54 -52
  117. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
  118. package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +184 -234
  119. package/dist/src/proto/packages/dht/protos/DhtRpc.js +118 -168
  120. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
  121. package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +20 -29
  122. package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js +1 -1
  123. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.d.ts +42 -5
  124. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js +52 -19
  125. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js.map +1 -1
  126. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.d.ts +193 -28
  127. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js +129 -20
  128. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js.map +1 -1
  129. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.server.d.ts +20 -3
  130. package/dist/test/benchmark/first-message.js +14 -15
  131. package/dist/test/benchmark/first-message.js.map +1 -1
  132. package/dist/test/utils/utils.d.ts +2 -4
  133. package/dist/test/utils/utils.js +20 -19
  134. package/dist/test/utils/utils.js.map +1 -1
  135. package/jest.config.js +3 -38
  136. package/package.json +11 -11
  137. package/protos/NetworkRpc.proto +57 -12
  138. package/src/NetworkNode.ts +13 -6
  139. package/src/NetworkStack.ts +94 -16
  140. package/src/exports.ts +11 -3
  141. package/src/logic/DeliveryRpcLocal.ts +7 -8
  142. package/src/logic/DeliveryRpcRemote.ts +7 -5
  143. package/src/logic/DuplicateMessageDetector.ts +7 -7
  144. package/src/logic/EntryPointDiscovery.ts +26 -19
  145. package/src/logic/Layer0Node.ts +6 -4
  146. package/src/logic/Layer1Node.ts +21 -6
  147. package/src/logic/NodeList.ts +25 -26
  148. package/src/logic/RandomGraphNode.ts +148 -78
  149. package/src/logic/StreamrNode.ts +58 -41
  150. package/src/logic/createRandomGraphNode.ts +37 -25
  151. package/src/logic/formStreamPartDeliveryServiceId.ts +2 -1
  152. package/src/logic/inspect/InspectSession.ts +8 -4
  153. package/src/logic/inspect/Inspector.ts +34 -24
  154. package/src/logic/neighbor-discovery/HandshakeRpcLocal.ts +72 -38
  155. package/src/logic/neighbor-discovery/HandshakeRpcRemote.ts +32 -20
  156. package/src/logic/neighbor-discovery/Handshaker.ts +90 -75
  157. package/src/logic/neighbor-discovery/NeighborFinder.ts +18 -13
  158. package/src/logic/neighbor-discovery/NeighborUpdateManager.ts +19 -20
  159. package/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts +43 -33
  160. package/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.ts +6 -6
  161. package/src/logic/node-info/NodeInfoClient.ts +23 -0
  162. package/src/logic/node-info/NodeInfoRpcLocal.ts +28 -0
  163. package/src/logic/node-info/NodeInfoRpcRemote.ts +11 -0
  164. package/src/logic/propagation/Propagation.ts +7 -6
  165. package/src/logic/propagation/PropagationTaskStore.ts +2 -2
  166. package/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.ts +1 -1
  167. package/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.ts +1 -2
  168. package/src/logic/protocol-integration/stream-message/StreamMessageTranslator.ts +95 -69
  169. package/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.ts +37 -0
  170. package/src/logic/proxy/ProxyClient.ts +60 -40
  171. package/src/logic/proxy/ProxyConnectionRpcLocal.ts +15 -19
  172. package/src/logic/proxy/ProxyConnectionRpcRemote.ts +3 -3
  173. package/src/logic/temporary-connection/TemporaryConnectionRpcLocal.ts +30 -10
  174. package/src/logic/temporary-connection/TemporaryConnectionRpcRemote.ts +14 -4
  175. package/src/proto/google/protobuf/any.ts +4 -4
  176. package/src/proto/google/protobuf/empty.ts +2 -4
  177. package/src/proto/google/protobuf/timestamp.ts +4 -4
  178. package/src/proto/packages/dht/protos/DhtRpc.client.ts +50 -66
  179. package/src/proto/packages/dht/protos/DhtRpc.server.ts +21 -30
  180. package/src/proto/packages/dht/protos/DhtRpc.ts +242 -316
  181. package/src/proto/packages/proto-rpc/protos/ProtoRpc.ts +1 -1
  182. package/src/proto/packages/trackerless-network/protos/NetworkRpc.client.ts +49 -7
  183. package/src/proto/packages/trackerless-network/protos/NetworkRpc.server.ts +21 -4
  184. package/src/proto/packages/trackerless-network/protos/NetworkRpc.ts +251 -44
  185. package/test/benchmark/StreamPartIdDataKeyDistribution.test.ts +60 -0
  186. package/test/benchmark/first-message.ts +38 -17
  187. package/test/end-to-end/inspect.test.ts +16 -4
  188. package/test/end-to-end/proxy-and-full-node.test.ts +26 -13
  189. package/test/end-to-end/proxy-connections.test.ts +23 -11
  190. package/test/end-to-end/proxy-key-exchange.test.ts +25 -15
  191. package/test/end-to-end/random-graph-with-real-connections.test.ts +35 -32
  192. package/test/end-to-end/webrtc-full-node-network.test.ts +11 -12
  193. package/test/end-to-end/websocket-full-node-network.test.ts +12 -12
  194. package/test/integration/DeliveryRpcRemote.test.ts +6 -9
  195. package/test/integration/HandshakeRpcRemote.test.ts +6 -8
  196. package/test/integration/Handshakes.test.ts +29 -27
  197. package/test/integration/Inspect.test.ts +0 -2
  198. package/test/integration/NeighborUpdateRpcRemote.test.ts +6 -7
  199. package/test/integration/NetworkNode.test.ts +27 -12
  200. package/test/integration/NetworkRpc.test.ts +3 -5
  201. package/test/integration/NetworkStack.test.ts +2 -2
  202. package/test/integration/NodeInfoRpc.test.ts +104 -0
  203. package/test/integration/Propagation.test.ts +3 -3
  204. package/test/integration/RandomGraphNode-Layer1Node-Latencies.test.ts +24 -25
  205. package/test/integration/RandomGraphNode-Layer1Node.test.ts +26 -24
  206. package/test/integration/StreamrNode.test.ts +4 -16
  207. package/test/integration/joining-streams-on-offline-peers.test.ts +7 -31
  208. package/test/integration/stream-without-default-entrypoints.test.ts +22 -23
  209. package/test/integration/streamEntryPointReplacing.test.ts +94 -0
  210. package/test/unit/DeliveryRpcLocal.test.ts +2 -1
  211. package/test/unit/EntrypointDiscovery.test.ts +11 -8
  212. package/test/unit/GroupKeyResponseTranslator.test.ts +1 -1
  213. package/test/unit/HandshakeRpcLocal.test.ts +80 -28
  214. package/test/unit/Handshaker.test.ts +14 -9
  215. package/test/unit/InspectSession.test.ts +5 -6
  216. package/test/unit/Inspector.test.ts +3 -4
  217. package/test/unit/NeighborFinder.test.ts +12 -9
  218. package/test/unit/NeighborUpdateRpcLocal.test.ts +139 -0
  219. package/test/unit/NodeList.test.ts +77 -80
  220. package/test/unit/Propagation.test.ts +21 -16
  221. package/test/unit/ProxyConnectionRpcRemote.test.ts +18 -12
  222. package/test/unit/RandomGraphNode.test.ts +23 -20
  223. package/test/unit/StreamMessageTranslator.test.ts +10 -8
  224. package/test/unit/StreamPartIDDataKey.test.ts +12 -0
  225. package/test/unit/StreamrNode.test.ts +2 -0
  226. package/test/unit/TemporaryConnectionRpcLocal.test.ts +38 -0
  227. package/test/unit/oldStreamMessageBinaryUtils.test.ts +39 -0
  228. package/test/utils/mock/MockHandshaker.ts +6 -5
  229. package/test/utils/mock/MockLayer0Node.ts +7 -2
  230. package/test/utils/mock/MockLayer1Node.ts +5 -2
  231. package/test/utils/mock/MockNeighborFinder.ts +3 -2
  232. package/test/utils/mock/MockNeighborUpdateManager.ts +3 -2
  233. package/test/utils/mock/Transport.ts +1 -1
  234. package/test/utils/utils.ts +40 -25
  235. package/tsconfig.jest.json +5 -4
  236. package/tsconfig.node.json +2 -2
  237. package/dist/src/identifiers.d.ts +0 -4
  238. package/dist/src/identifiers.js +0 -9
  239. package/dist/src/identifiers.js.map +0 -1
  240. package/src/identifiers.ts +0 -8
  241. package/test/unit/GroupKeyRequestTranslator.test.ts +0 -36
@@ -3,12 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NeighborUpdateRpcRemote = void 0;
4
4
  const dht_1 = require("@streamr/dht");
5
5
  const utils_1 = require("@streamr/utils");
6
- const identifiers_1 = require("../../identifiers");
7
6
  const logger = new utils_1.Logger(module);
8
- class NeighborUpdateRpcRemote extends dht_1.Remote {
9
- async updateNeighbors(neighbors) {
7
+ class NeighborUpdateRpcRemote extends dht_1.RpcRemote {
8
+ async updateNeighbors(streamPartId, neighbors) {
10
9
  const request = {
11
- streamPartId: this.getServiceId(),
10
+ streamPartId,
12
11
  neighborDescriptors: neighbors,
13
12
  removeMe: false
14
13
  };
@@ -20,7 +19,7 @@ class NeighborUpdateRpcRemote extends dht_1.Remote {
20
19
  };
21
20
  }
22
21
  catch (err) {
23
- logger.debug(`updateNeighbors to ${(0, identifiers_1.getNodeIdFromPeerDescriptor)(this.getPeerDescriptor())} failed: ${err}`);
22
+ logger.debug(`updateNeighbors to ${(0, dht_1.getNodeIdFromPeerDescriptor)(this.getPeerDescriptor())} failed: ${err}`);
24
23
  return {
25
24
  peerDescriptors: [],
26
25
  removeMe: true
@@ -1 +1 @@
1
- {"version":3,"file":"NeighborUpdateRpcRemote.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/NeighborUpdateRpcRemote.ts"],"names":[],"mappings":";;;AAAA,sCAAqD;AACrD,0CAAuC;AACvC,mDAA+D;AAI/D,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAOjC,MAAa,uBAAwB,SAAQ,YAAgC;IAEzE,KAAK,CAAC,eAAe,CAAC,SAA2B;QAC7C,MAAM,OAAO,GAAmB;YAC5B,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;YACjC,mBAAmB,EAAE,SAAS;YAC9B,QAAQ,EAAE,KAAK;SAClB,CAAA;QACD,IAAI;YACA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;YACzF,OAAO;gBACH,eAAe,EAAE,QAAQ,CAAC,mBAAmB;gBAC7C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC9B,CAAA;SACJ;QAAC,OAAO,GAAQ,EAAE;YACf,MAAM,CAAC,KAAK,CAAC,sBAAsB,IAAA,yCAA2B,EAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,CAAA;YAC1G,OAAO;gBACH,eAAe,EAAE,EAAE;gBACnB,QAAQ,EAAE,IAAI;aACjB,CAAA;SACJ;IACL,CAAC;CACJ;AAtBD,0DAsBC"}
1
+ {"version":3,"file":"NeighborUpdateRpcRemote.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/NeighborUpdateRpcRemote.ts"],"names":[],"mappings":";;;AAAA,sCAAqF;AACrF,0CAAuC;AAKvC,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAOjC,MAAa,uBAAwB,SAAQ,eAAkC;IAE3E,KAAK,CAAC,eAAe,CAAC,YAA0B,EAAE,SAA2B;QACzE,MAAM,OAAO,GAAmB;YAC5B,YAAY;YACZ,mBAAmB,EAAE,SAAS;YAC9B,QAAQ,EAAE,KAAK;SAClB,CAAA;QACD,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;YACzF,OAAO;gBACH,eAAe,EAAE,QAAQ,CAAC,mBAAmB;gBAC7C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC9B,CAAA;QACL,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,sBAAsB,IAAA,iCAA2B,EAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,CAAA;YAC1G,OAAO;gBACH,eAAe,EAAE,EAAE;gBACnB,QAAQ,EAAE,IAAI;aACjB,CAAA;QACL,CAAC;IACL,CAAC;CACJ;AAtBD,0DAsBC"}
@@ -0,0 +1,9 @@
1
+ import { DhtCallContext, PeerDescriptor } from '@streamr/dht';
2
+ import { RpcCommunicator } from '@streamr/proto-rpc';
3
+ import { NodeInfo } from '../../NetworkStack';
4
+ export declare class NodeInfoClient {
5
+ private readonly ownPeerDescriptor;
6
+ private readonly rpcCommunicator;
7
+ constructor(ownPeerDescriptor: PeerDescriptor, rpcCommunicator: RpcCommunicator<DhtCallContext>);
8
+ getInfo(node: PeerDescriptor): Promise<NodeInfo>;
9
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NodeInfoClient = void 0;
4
+ const NetworkRpc_client_1 = require("../../proto/packages/trackerless-network/protos/NetworkRpc.client");
5
+ const NodeInfoRpcRemote_1 = require("./NodeInfoRpcRemote");
6
+ class NodeInfoClient {
7
+ ownPeerDescriptor;
8
+ rpcCommunicator;
9
+ constructor(ownPeerDescriptor, rpcCommunicator) {
10
+ this.ownPeerDescriptor = ownPeerDescriptor;
11
+ this.rpcCommunicator = rpcCommunicator;
12
+ }
13
+ async getInfo(node) {
14
+ const remote = new NodeInfoRpcRemote_1.NodeInfoRpcRemote(this.ownPeerDescriptor, node, this.rpcCommunicator, NetworkRpc_client_1.NodeInfoRpcClient);
15
+ // TODO remove casting when we validate NodeInfoResponse messages and therefore can annotate
16
+ // each of the field as required in the decorated type
17
+ return remote.getInfo();
18
+ }
19
+ }
20
+ exports.NodeInfoClient = NodeInfoClient;
21
+ //# sourceMappingURL=NodeInfoClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeInfoClient.js","sourceRoot":"","sources":["../../../../src/logic/node-info/NodeInfoClient.ts"],"names":[],"mappings":";;;AAGA,yGAAqG;AACrG,2DAAuD;AAEvD,MAAa,cAAc;IACN,iBAAiB,CAAgB;IACjC,eAAe,CAAiC;IAEjE,YAAY,iBAAiC,EAAE,eAAgD;QAC3F,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAoB;QAC9B,MAAM,MAAM,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,qCAAiB,CAAC,CAAA;QAC3G,4FAA4F;QAC5F,sDAAsD;QACtD,OAAO,MAAM,CAAC,OAAO,EAAyB,CAAA;IAClD,CAAC;CAEJ;AAhBD,wCAgBC"}
@@ -0,0 +1,12 @@
1
+ import { NodeInfoResponse } from '../../proto/packages/trackerless-network/protos/NetworkRpc';
2
+ import { INodeInfoRpc } from '../../proto/packages/trackerless-network/protos/NetworkRpc.server';
3
+ import { NetworkStack } from '../../NetworkStack';
4
+ import { ListeningRpcCommunicator } from '@streamr/dht';
5
+ export declare const NODE_INFO_RPC_SERVICE_ID = "system/node-info-rpc";
6
+ export declare class NodeInfoRpcLocal implements INodeInfoRpc {
7
+ private readonly stack;
8
+ private readonly rpcCommunicator;
9
+ constructor(stack: NetworkStack, rpcCommunicator: ListeningRpcCommunicator);
10
+ private registerDefaultServerMethods;
11
+ getInfo(): Promise<NodeInfoResponse>;
12
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NodeInfoRpcLocal = exports.NODE_INFO_RPC_SERVICE_ID = void 0;
4
+ const NetworkRpc_1 = require("../../proto/packages/trackerless-network/protos/NetworkRpc");
5
+ exports.NODE_INFO_RPC_SERVICE_ID = 'system/node-info-rpc';
6
+ class NodeInfoRpcLocal {
7
+ stack;
8
+ rpcCommunicator;
9
+ constructor(stack, rpcCommunicator) {
10
+ this.stack = stack;
11
+ this.rpcCommunicator = rpcCommunicator;
12
+ this.registerDefaultServerMethods();
13
+ }
14
+ registerDefaultServerMethods() {
15
+ this.rpcCommunicator.registerRpcMethod(NetworkRpc_1.NodeInfoRequest, NetworkRpc_1.NodeInfoResponse, 'getInfo', () => this.getInfo());
16
+ }
17
+ async getInfo() {
18
+ return this.stack.createNodeInfo();
19
+ }
20
+ }
21
+ exports.NodeInfoRpcLocal = NodeInfoRpcLocal;
22
+ //# sourceMappingURL=NodeInfoRpcLocal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeInfoRpcLocal.js","sourceRoot":"","sources":["../../../../src/logic/node-info/NodeInfoRpcLocal.ts"],"names":[],"mappings":";;;AAAA,2FAA8G;AAKjG,QAAA,wBAAwB,GAAG,sBAAsB,CAAA;AAE9D,MAAa,gBAAgB;IAER,KAAK,CAAc;IACnB,eAAe,CAA0B;IAE1D,YAAY,KAAmB,EAAE,eAAyC;QACtE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,4BAA4B,EAAE,CAAA;IACvC,CAAC;IAEO,4BAA4B;QAChC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,4BAAe,EAAE,6BAAgB,EAAE,SAAS,EAC/E,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAA;IACtC,CAAC;CAEJ;AApBD,4CAoBC"}
@@ -0,0 +1,6 @@
1
+ import { NodeInfoResponse } from '../../proto/packages/trackerless-network/protos/NetworkRpc';
2
+ import { NodeInfoRpcClient } from '../../proto/packages/trackerless-network/protos/NetworkRpc.client';
3
+ import { RpcRemote } from '@streamr/dht';
4
+ export declare class NodeInfoRpcRemote extends RpcRemote<NodeInfoRpcClient> {
5
+ getInfo(): Promise<NodeInfoResponse>;
6
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NodeInfoRpcRemote = void 0;
4
+ const dht_1 = require("@streamr/dht");
5
+ class NodeInfoRpcRemote extends dht_1.RpcRemote {
6
+ async getInfo() {
7
+ return this.getClient().getInfo({}, this.formDhtRpcOptions());
8
+ }
9
+ }
10
+ exports.NodeInfoRpcRemote = NodeInfoRpcRemote;
11
+ //# sourceMappingURL=NodeInfoRpcRemote.js.map
@@ -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":"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"}
1
+ {"version":3,"file":"FifoMapWithTTL.js","sourceRoot":"","sources":["../../../../src/logic/propagation/FifoMapWithTTL.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { NodeID } from '../../identifiers';
1
+ import { DhtAddress } from '@streamr/dht';
2
2
  import { StreamMessage } from '../../proto/packages/trackerless-network/protos/NetworkRpc';
3
- type SendToNeighborFn = (neighborId: NodeID, msg: StreamMessage) => Promise<void>;
3
+ type SendToNeighborFn = (neighborId: DhtAddress, msg: StreamMessage) => Promise<void>;
4
4
  interface ConstructorOptions {
5
5
  sendToNeighbor: SendToNeighborFn;
6
6
  minPropagationTargets: number;
@@ -22,11 +22,11 @@ export declare class Propagation {
22
22
  /**
23
23
  * Node should invoke this when it learns about a new message
24
24
  */
25
- feedUnseenMessage(message: StreamMessage, targets: NodeID[], source: NodeID | null): void;
25
+ feedUnseenMessage(message: StreamMessage, targets: DhtAddress[], source: DhtAddress | null): void;
26
26
  /**
27
27
  * Node should invoke this when it learns about a new node stream assignment
28
28
  */
29
- onNeighborJoined(neighborId: NodeID): void;
29
+ onNeighborJoined(neighborId: DhtAddress): void;
30
30
  private sendAndAwaitThenMark;
31
31
  }
32
32
  export {};
@@ -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;
@@ -42,6 +45,7 @@ class Propagation {
42
45
  }
43
46
  sendAndAwaitThenMark({ message, source, handledNeighbors }, neighborId) {
44
47
  if (!handledNeighbors.has(neighborId) && neighborId !== source) {
48
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
45
49
  (async () => {
46
50
  try {
47
51
  await this.sendToNeighbor(neighborId, message);
@@ -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;IAKpB,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,OAAiB,EAAE,MAAqB;QAC9E,MAAM,IAAI,GAAG;YACT,OAAO;YACP,MAAM;YACN,gBAAgB,EAAE,IAAI,GAAG,EAAU;SACtC,CAAA;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC1B,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;SAC1C;IACL,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,UAAkB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAA;QACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;SAC9C;IACL,CAAC;IAEO,oBAAoB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAmB,EAAE,UAAkB;QACnG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,UAAU,KAAK,MAAM,EAAE;YAC5D,CAAC,KAAK,IAAI,EAAE;gBACR,IAAI;oBACA,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;iBACjD;gBAAC,MAAM;oBACJ,OAAM;iBACT;gBACD,qGAAqG;gBACrG,4FAA4F;gBAC5F,0DAA0D;gBAC1D,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBAChC,IAAI,gBAAgB,CAAC,IAAI,IAAI,IAAI,CAAC,qBAAqB,EAAE;oBACrD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,SAAU,CAAC,CAAA;iBAClD;YACL,CAAC,CAAC,EAAE,CAAA;SACP;IACL,CAAC;CACJ;AA3DD,kCA2DC"}
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"}
@@ -1,9 +1,9 @@
1
- import { NodeID } from '../../identifiers';
1
+ import { DhtAddress } from '@streamr/dht';
2
2
  import { MessageRef, StreamMessage } from '../../proto/packages/trackerless-network/protos/NetworkRpc';
3
3
  export interface PropagationTask {
4
4
  message: StreamMessage;
5
5
  source: string | null;
6
- handledNeighbors: Set<NodeID>;
6
+ handledNeighbors: Set<DhtAddress>;
7
7
  }
8
8
  /**
9
9
  * Keeps track of propagation tasks for the needs of message propagation logic.
@@ -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;IAG7B,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"}
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;SAC/B,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"}
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"}
@@ -9,7 +9,7 @@ class GroupKeyResponseTranslator {
9
9
  const groupKeys = msg.encryptedGroupKeys.map((groupKey) => {
10
10
  return {
11
11
  data: groupKey.data,
12
- id: groupKey.groupKeyId
12
+ id: groupKey.id
13
13
  };
14
14
  });
15
15
  const translated = {
@@ -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,UAAU;aAC1B,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"}
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;QACtC,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;AA5BD,gEA4BC"}
@@ -4,8 +4,6 @@ exports.StreamMessageTranslator = void 0;
4
4
  const protocol_1 = require("@streamr/protocol");
5
5
  const NetworkRpc_1 = require("../../../proto/packages/trackerless-network/protos/NetworkRpc");
6
6
  const utils_1 = require("@streamr/utils");
7
- const GroupKeyRequestTranslator_1 = require("./GroupKeyRequestTranslator");
8
- const GroupKeyResponseTranslator_1 = require("./GroupKeyResponseTranslator");
9
7
  const oldToNewEncryptionType = (type) => {
10
8
  if (type === protocol_1.EncryptionType.AES) {
11
9
  return NetworkRpc_1.EncryptionType.AES;
@@ -18,26 +16,33 @@ const newToOldEncryptionType = (type) => {
18
16
  }
19
17
  return protocol_1.EncryptionType.NONE;
20
18
  };
19
+ const oldToNewContentType = (type) => {
20
+ if (type === protocol_1.ContentType.JSON) {
21
+ return NetworkRpc_1.ContentType.JSON;
22
+ }
23
+ return NetworkRpc_1.ContentType.BINARY;
24
+ };
25
+ const newToOldContentType = (type) => {
26
+ if (type === NetworkRpc_1.ContentType.JSON) {
27
+ return protocol_1.ContentType.JSON;
28
+ }
29
+ return protocol_1.ContentType.BINARY;
30
+ };
31
+ const oldToNewSignatureType = (type) => {
32
+ if (type === protocol_1.SignatureType.LEGACY_SECP256K1) {
33
+ return NetworkRpc_1.SignatureType.LEGACY_SECP256K1;
34
+ }
35
+ return NetworkRpc_1.SignatureType.SECP256K1;
36
+ };
37
+ const newToOldSignatureType = (type) => {
38
+ if (type === NetworkRpc_1.SignatureType.LEGACY_SECP256K1) {
39
+ return protocol_1.SignatureType.LEGACY_SECP256K1;
40
+ }
41
+ return protocol_1.SignatureType.SECP256K1;
42
+ };
21
43
  // eslint-disable-next-line @typescript-eslint/no-extraneous-class
22
44
  class StreamMessageTranslator {
23
45
  static toProtobuf(msg) {
24
- let content;
25
- let messageType;
26
- if (msg.messageType === protocol_1.StreamMessageType.MESSAGE) {
27
- content = msg.serializedContent;
28
- messageType = NetworkRpc_1.StreamMessageType.MESSAGE;
29
- }
30
- else if (msg.messageType === protocol_1.StreamMessageType.GROUP_KEY_REQUEST) {
31
- content = NetworkRpc_1.GroupKeyRequest.toBinary(GroupKeyRequestTranslator_1.GroupKeyRequestTranslator.toProtobuf(protocol_1.GroupKeyRequest.deserialize((0, utils_1.binaryToUtf8)(msg.serializedContent), protocol_1.StreamMessageType.GROUP_KEY_REQUEST)));
32
- messageType = NetworkRpc_1.StreamMessageType.GROUP_KEY_REQUEST;
33
- }
34
- else if (msg.messageType === protocol_1.StreamMessageType.GROUP_KEY_RESPONSE) {
35
- content = NetworkRpc_1.GroupKeyResponse.toBinary(GroupKeyResponseTranslator_1.GroupKeyResponseTranslator.toProtobuf(protocol_1.GroupKeyResponse.deserialize((0, utils_1.binaryToUtf8)(msg.serializedContent), protocol_1.StreamMessageType.GROUP_KEY_RESPONSE)));
36
- messageType = NetworkRpc_1.StreamMessageType.GROUP_KEY_RESPONSE;
37
- }
38
- else {
39
- throw new Error('invalid message type');
40
- }
41
46
  const messageId = {
42
47
  timestamp: msg.getTimestamp(),
43
48
  sequenceNumber: msg.getSequenceNumber(),
@@ -47,54 +52,86 @@ class StreamMessageTranslator {
47
52
  messageChainId: msg.getMsgChainId()
48
53
  };
49
54
  let previousMessageRef = undefined;
50
- if (msg.getPreviousMessageRef()) {
55
+ if (msg.prevMsgRef) {
51
56
  previousMessageRef = {
52
- timestamp: msg.getPreviousMessageRef().timestamp,
53
- sequenceNumber: msg.getPreviousMessageRef().sequenceNumber,
57
+ timestamp: msg.prevMsgRef.timestamp,
58
+ sequenceNumber: msg.prevMsgRef.sequenceNumber
54
59
  };
55
60
  }
56
- let newGroupKey = undefined;
57
- if (msg.getNewGroupKey()) {
58
- newGroupKey = {
59
- id: msg.getNewGroupKey().groupKeyId,
60
- data: msg.getNewGroupKey().data
61
+ let body;
62
+ if (msg.messageType === protocol_1.StreamMessageType.MESSAGE) {
63
+ let newGroupKey = undefined;
64
+ if (msg.newGroupKey) {
65
+ newGroupKey = {
66
+ id: msg.newGroupKey.id,
67
+ data: msg.newGroupKey.data
68
+ };
69
+ }
70
+ body = {
71
+ oneofKind: 'contentMessage',
72
+ contentMessage: {
73
+ content: msg.content,
74
+ contentType: oldToNewContentType(msg.contentType),
75
+ encryptionType: oldToNewEncryptionType(msg.encryptionType),
76
+ groupKeyId: msg.groupKeyId ?? undefined,
77
+ newGroupKey
78
+ }
79
+ };
80
+ }
81
+ else if (msg.messageType === protocol_1.StreamMessageType.GROUP_KEY_REQUEST) {
82
+ body = {
83
+ oneofKind: 'groupKeyRequest',
84
+ groupKeyRequest: NetworkRpc_1.GroupKeyRequest.fromBinary(msg.content)
85
+ };
86
+ }
87
+ else if (msg.messageType === protocol_1.StreamMessageType.GROUP_KEY_RESPONSE) {
88
+ body = {
89
+ oneofKind: 'groupKeyResponse',
90
+ groupKeyResponse: NetworkRpc_1.GroupKeyResponse.fromBinary(msg.content)
61
91
  };
62
92
  }
93
+ else {
94
+ throw new Error('invalid message type');
95
+ }
63
96
  const translated = {
64
97
  messageId,
65
98
  previousMessageRef,
66
- content,
67
- messageType,
68
- contentType: NetworkRpc_1.ContentType.JSON,
69
- encryptionType: oldToNewEncryptionType(msg.encryptionType),
70
- groupKeyId: msg.groupKeyId ?? undefined,
71
- newGroupKey,
72
- signature: msg.signature
99
+ signature: msg.signature,
100
+ signatureType: oldToNewSignatureType(msg.signatureType),
101
+ body
73
102
  };
74
103
  return translated;
75
104
  }
76
105
  static toClientProtocol(msg) {
77
- let content;
78
106
  let messageType;
79
- if (msg.messageType === NetworkRpc_1.StreamMessageType.MESSAGE) {
107
+ let content;
108
+ let contentType = protocol_1.ContentType.BINARY;
109
+ let encryptionType = protocol_1.EncryptionType.NONE;
110
+ let newGroupKey = undefined;
111
+ let groupKeyId = undefined;
112
+ if (msg.body.oneofKind === 'contentMessage') {
80
113
  messageType = protocol_1.StreamMessageType.MESSAGE;
81
- content = msg.content;
114
+ content = msg.body.contentMessage.content;
115
+ contentType = newToOldContentType(msg.body.contentMessage.contentType);
116
+ encryptionType = newToOldEncryptionType(msg.body.contentMessage.encryptionType);
117
+ if (msg.body.contentMessage.newGroupKey) {
118
+ newGroupKey = new protocol_1.EncryptedGroupKey(msg.body.contentMessage.newGroupKey.id, msg.body.contentMessage.newGroupKey.data);
119
+ }
120
+ groupKeyId = msg.body.contentMessage.groupKeyId;
82
121
  }
83
- else if (msg.messageType === NetworkRpc_1.StreamMessageType.GROUP_KEY_REQUEST) {
122
+ else if (msg.body.oneofKind === 'groupKeyRequest') {
84
123
  messageType = protocol_1.StreamMessageType.GROUP_KEY_REQUEST;
85
124
  try {
86
- const parsedRequest = NetworkRpc_1.GroupKeyRequest.fromBinary(msg.content);
87
- content = (0, utils_1.utf8ToBinary)(GroupKeyRequestTranslator_1.GroupKeyRequestTranslator.toClientProtocol(parsedRequest).serialize());
125
+ content = NetworkRpc_1.GroupKeyRequest.toBinary(msg.body.groupKeyRequest);
88
126
  }
89
127
  catch (err) {
90
128
  throw new Error(`invalid group key request: ${err}`);
91
129
  }
92
130
  }
93
- else if (msg.messageType === NetworkRpc_1.StreamMessageType.GROUP_KEY_RESPONSE) {
131
+ else if (msg.body.oneofKind === 'groupKeyResponse') {
94
132
  messageType = protocol_1.StreamMessageType.GROUP_KEY_RESPONSE;
95
133
  try {
96
- const parsedResponse = NetworkRpc_1.GroupKeyResponse.fromBinary(msg.content);
97
- content = (0, utils_1.utf8ToBinary)(GroupKeyResponseTranslator_1.GroupKeyResponseTranslator.toClientProtocol(parsedResponse).serialize());
134
+ content = NetworkRpc_1.GroupKeyResponse.toBinary(msg.body.groupKeyResponse);
98
135
  }
99
136
  catch (err) {
100
137
  throw new Error(`invalid group key response: ${err}`);
@@ -108,20 +145,17 @@ class StreamMessageTranslator {
108
145
  if (msg.previousMessageRef) {
109
146
  prevMsgRef = new protocol_1.MessageRef(Number(msg.previousMessageRef.timestamp), msg.previousMessageRef.sequenceNumber);
110
147
  }
111
- let newGroupKey = undefined;
112
- if (msg.newGroupKey) {
113
- newGroupKey = new protocol_1.EncryptedGroupKey(msg.newGroupKey.id, msg.newGroupKey.data);
114
- }
115
148
  const translated = new protocol_1.StreamMessage({
116
149
  messageId,
117
150
  prevMsgRef,
118
- content,
119
151
  messageType,
120
- contentType: protocol_1.ContentType.JSON,
121
- encryptionType: newToOldEncryptionType(msg.encryptionType),
122
- groupKeyId: msg.groupKeyId,
123
- newGroupKey,
124
- signature: msg.signature
152
+ content,
153
+ contentType,
154
+ signature: msg.signature,
155
+ signatureType: newToOldSignatureType(msg.signatureType),
156
+ encryptionType,
157
+ groupKeyId,
158
+ newGroupKey
125
159
  });
126
160
  return translated;
127
161
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StreamMessageTranslator.js","sourceRoot":"","sources":["../../../../../src/logic/protocol-integration/stream-message/StreamMessageTranslator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StreamMessageTranslator.js","sourceRoot":"","sources":["../../../../../src/logic/protocol-integration/stream-message/StreamMessageTranslator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { StreamMessage as OldStreamMessage, GroupKeyRequest as OldGroupKeyRequest, GroupKeyResponse as OldGroupKeyResponse } from '@streamr/protocol';
2
+ export declare function convertStreamMessageToBytes(oldStreamMessage: OldStreamMessage): Uint8Array;
3
+ export declare function convertBytesToStreamMessage(bytes: Uint8Array): OldStreamMessage;
4
+ export declare const convertGroupKeyRequestToBytes: (oldGroupKeyRequest: OldGroupKeyRequest) => Uint8Array;
5
+ export declare const convertBytesToGroupKeyRequest: (bytes: Uint8Array) => OldGroupKeyRequest;
6
+ export declare const convertGroupKeyResponseToBytes: (oldGroupKeyResponse: OldGroupKeyResponse) => Uint8Array;
7
+ export declare const convertBytesToGroupKeyResponse: (bytes: Uint8Array) => OldGroupKeyResponse;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertBytesToGroupKeyResponse = exports.convertGroupKeyResponseToBytes = exports.convertBytesToGroupKeyRequest = exports.convertGroupKeyRequestToBytes = exports.convertBytesToStreamMessage = exports.convertStreamMessageToBytes = void 0;
4
+ const StreamMessageTranslator_1 = require("./StreamMessageTranslator");
5
+ const NetworkRpc_1 = require("../../../proto/packages/trackerless-network/protos/NetworkRpc");
6
+ const GroupKeyResponseTranslator_1 = require("./GroupKeyResponseTranslator");
7
+ const GroupKeyRequestTranslator_1 = require("./GroupKeyRequestTranslator");
8
+ function convertStreamMessageToBytes(oldStreamMessage) {
9
+ return NetworkRpc_1.StreamMessage.toBinary(StreamMessageTranslator_1.StreamMessageTranslator.toProtobuf(oldStreamMessage));
10
+ }
11
+ exports.convertStreamMessageToBytes = convertStreamMessageToBytes;
12
+ function convertBytesToStreamMessage(bytes) {
13
+ return StreamMessageTranslator_1.StreamMessageTranslator.toClientProtocol(NetworkRpc_1.StreamMessage.fromBinary(bytes));
14
+ }
15
+ exports.convertBytesToStreamMessage = convertBytesToStreamMessage;
16
+ const convertGroupKeyRequestToBytes = (oldGroupKeyRequest) => {
17
+ return NetworkRpc_1.GroupKeyRequest.toBinary(GroupKeyRequestTranslator_1.GroupKeyRequestTranslator.toProtobuf(oldGroupKeyRequest));
18
+ };
19
+ exports.convertGroupKeyRequestToBytes = convertGroupKeyRequestToBytes;
20
+ const convertBytesToGroupKeyRequest = (bytes) => {
21
+ return GroupKeyRequestTranslator_1.GroupKeyRequestTranslator.toClientProtocol(NetworkRpc_1.GroupKeyRequest.fromBinary(bytes));
22
+ };
23
+ exports.convertBytesToGroupKeyRequest = convertBytesToGroupKeyRequest;
24
+ const convertGroupKeyResponseToBytes = (oldGroupKeyResponse) => {
25
+ return NetworkRpc_1.GroupKeyResponse.toBinary(GroupKeyResponseTranslator_1.GroupKeyResponseTranslator.toProtobuf(oldGroupKeyResponse));
26
+ };
27
+ exports.convertGroupKeyResponseToBytes = convertGroupKeyResponseToBytes;
28
+ const convertBytesToGroupKeyResponse = (bytes) => {
29
+ return GroupKeyResponseTranslator_1.GroupKeyResponseTranslator.toClientProtocol(NetworkRpc_1.GroupKeyResponse.fromBinary(bytes));
30
+ };
31
+ exports.convertBytesToGroupKeyResponse = convertBytesToGroupKeyResponse;
32
+ //# 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":";;;AAKA,uEAAmE;AACnE,8FAIsE;AACtE,6EAAyE;AACzE,2EAAuE;AAEvE,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;AAEM,MAAM,6BAA6B,GAAG,CAAC,kBAAsC,EAAc,EAAE;IAChG,OAAO,4BAAe,CAAC,QAAQ,CAAC,qDAAyB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAC7F,CAAC,CAAA;AAFY,QAAA,6BAA6B,iCAEzC;AAEM,MAAM,6BAA6B,GAAG,CAAC,KAAiB,EAAsB,EAAE;IACnF,OAAO,qDAAyB,CAAC,gBAAgB,CAAC,4BAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AACxF,CAAC,CAAA;AAFY,QAAA,6BAA6B,iCAEzC;AAEM,MAAM,8BAA8B,GAAG,CAAC,mBAAwC,EAAc,EAAE;IACnG,OAAO,6BAAgB,CAAC,QAAQ,CAAC,uDAA0B,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAA;AAChG,CAAC,CAAA;AAFY,QAAA,8BAA8B,kCAE1C;AAEM,MAAM,8BAA8B,GAAG,CAAC,KAAiB,EAAuB,EAAE;IACrF,OAAO,uDAA0B,CAAC,gBAAgB,CAAC,6BAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AAC1F,CAAC,CAAA;AAFY,QAAA,8BAA8B,kCAE1C"}
@@ -1,9 +1,8 @@
1
1
  /// <reference types="node" />
2
- import { ConnectionLocker, ITransport, PeerDescriptor } from '@streamr/dht';
2
+ import { ConnectionLocker, DhtAddress, ITransport, PeerDescriptor } from '@streamr/dht';
3
3
  import { StreamPartID } from '@streamr/protocol';
4
4
  import { EthereumAddress } from '@streamr/utils';
5
5
  import { EventEmitter } from 'eventemitter3';
6
- import { NodeID } from '../../identifiers';
7
6
  import { ProxyDirection, StreamMessage } from '../../proto/packages/trackerless-network/protos/NetworkRpc';
8
7
  export declare const retry: <T>(task: () => Promise<T>, description: string, abortSignal: AbortSignal, delay?: number) => Promise<T>;
9
8
  interface ProxyClientConfig {
@@ -13,7 +12,10 @@ interface ProxyClientConfig {
13
12
  connectionLocker: ConnectionLocker;
14
13
  minPropagationTargets?: number;
15
14
  }
16
- export declare class ProxyClient extends EventEmitter {
15
+ interface Events {
16
+ message: (message: StreamMessage) => void;
17
+ }
18
+ export declare class ProxyClient extends EventEmitter<Events> {
17
19
  private readonly rpcCommunicator;
18
20
  private readonly deliveryRpcLocal;
19
21
  private readonly config;
@@ -21,7 +23,7 @@ export declare class ProxyClient extends EventEmitter {
21
23
  private definition?;
22
24
  private readonly connections;
23
25
  private readonly propagation;
24
- private readonly targetNeighbors;
26
+ private readonly neighbors;
25
27
  private readonly abortController;
26
28
  constructor(config: ProxyClientConfig);
27
29
  private registerDefaultServerMethods;
@@ -33,8 +35,8 @@ export declare class ProxyClient extends EventEmitter {
33
35
  private closeRandomConnections;
34
36
  private closeConnection;
35
37
  private removeConnection;
36
- broadcast(msg: StreamMessage, previousNode?: NodeID): void;
37
- hasConnection(nodeId: NodeID, direction: ProxyDirection): boolean;
38
+ broadcast(msg: StreamMessage, previousNode?: DhtAddress): void;
39
+ hasConnection(nodeId: DhtAddress, direction: ProxyDirection): boolean;
38
40
  getDirection(): ProxyDirection;
39
41
  private onNodeDisconnected;
40
42
  start(): Promise<void>;