@streamr/dht 101.1.2 → 102.0.0-beta.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.
Files changed (369) hide show
  1. package/dist/package.json +17 -18
  2. package/dist/src/connection/Connection.d.ts +1 -1
  3. package/dist/src/connection/ConnectionLockRpcLocal.d.ts +5 -3
  4. package/dist/src/connection/ConnectionLockRpcLocal.js +9 -3
  5. package/dist/src/connection/ConnectionLockRpcLocal.js.map +1 -1
  6. package/dist/src/connection/ConnectionLockRpcRemote.d.ts +3 -2
  7. package/dist/src/connection/ConnectionLockRpcRemote.js +14 -3
  8. package/dist/src/connection/ConnectionLockRpcRemote.js.map +1 -1
  9. package/dist/src/connection/ConnectionLockStates.d.ts +5 -0
  10. package/dist/src/connection/ConnectionLockStates.js +14 -0
  11. package/dist/src/connection/ConnectionLockStates.js.map +1 -1
  12. package/dist/src/connection/ConnectionManager.d.ts +8 -1
  13. package/dist/src/connection/ConnectionManager.js +96 -32
  14. package/dist/src/connection/ConnectionManager.js.map +1 -1
  15. package/dist/src/connection/ConnectionsView.d.ts +1 -1
  16. package/dist/src/connection/ConnectorFacade.d.ts +1 -1
  17. package/dist/src/connection/Handshaker.d.ts +2 -2
  18. package/dist/src/connection/Handshaker.js +11 -7
  19. package/dist/src/connection/Handshaker.js.map +1 -1
  20. package/dist/src/connection/ManagedConnection.d.ts +7 -1
  21. package/dist/src/connection/ManagedConnection.js +41 -8
  22. package/dist/src/connection/ManagedConnection.js.map +1 -1
  23. package/dist/src/connection/PendingConnection.d.ts +1 -1
  24. package/dist/src/connection/connectivityChecker.d.ts +1 -1
  25. package/dist/src/connection/connectivityChecker.js +22 -11
  26. package/dist/src/connection/connectivityChecker.js.map +1 -1
  27. package/dist/src/connection/connectivityRequestHandler.js +4 -4
  28. package/dist/src/connection/connectivityRequestHandler.js.map +1 -1
  29. package/dist/src/connection/simulator/Simulator.d.ts +1 -1
  30. package/dist/src/connection/simulator/Simulator.js +5 -4
  31. package/dist/src/connection/simulator/Simulator.js.map +1 -1
  32. package/dist/src/connection/simulator/SimulatorConnection.d.ts +1 -1
  33. package/dist/src/connection/simulator/SimulatorConnection.js +9 -9
  34. package/dist/src/connection/simulator/SimulatorConnection.js.map +1 -1
  35. package/dist/src/connection/simulator/SimulatorConnector.d.ts +1 -1
  36. package/dist/src/connection/simulator/SimulatorConnector.js +4 -4
  37. package/dist/src/connection/simulator/SimulatorConnector.js.map +1 -1
  38. package/dist/src/connection/simulator/SimulatorTransport.d.ts +1 -1
  39. package/dist/src/connection/simulator/SimulatorTransport.js +2 -1
  40. package/dist/src/connection/simulator/SimulatorTransport.js.map +1 -1
  41. package/dist/src/connection/simulator/pings.d.ts +1 -1
  42. package/dist/src/connection/simulator/pings.js +3 -3
  43. package/dist/src/connection/simulator/pings.js.map +1 -1
  44. package/dist/src/connection/webrtc/NodeWebrtcConnection.d.ts +2 -1
  45. package/dist/src/connection/webrtc/NodeWebrtcConnection.js +13 -8
  46. package/dist/src/connection/webrtc/NodeWebrtcConnection.js.map +1 -1
  47. package/dist/src/connection/webrtc/WebrtcConnector.d.ts +2 -1
  48. package/dist/src/connection/webrtc/WebrtcConnector.js +28 -17
  49. package/dist/src/connection/webrtc/WebrtcConnector.js.map +1 -1
  50. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.d.ts +3 -3
  51. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js +4 -4
  52. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js.map +1 -1
  53. package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.d.ts +1 -1
  54. package/dist/src/connection/webrtc/iceServerAsString.js +1 -2
  55. package/dist/src/connection/webrtc/iceServerAsString.js.map +1 -1
  56. package/dist/src/connection/websocket/AbstractWebsocketClientConnection.d.ts +0 -1
  57. package/dist/src/connection/websocket/WebsocketClientConnector.d.ts +1 -1
  58. package/dist/src/connection/websocket/WebsocketClientConnector.js +3 -3
  59. package/dist/src/connection/websocket/WebsocketClientConnector.js.map +1 -1
  60. package/dist/src/connection/websocket/WebsocketClientConnectorRpcLocal.d.ts +3 -4
  61. package/dist/src/connection/websocket/WebsocketClientConnectorRpcLocal.js +1 -1
  62. package/dist/src/connection/websocket/WebsocketClientConnectorRpcLocal.js.map +1 -1
  63. package/dist/src/connection/websocket/WebsocketClientConnectorRpcRemote.d.ts +1 -1
  64. package/dist/src/connection/websocket/WebsocketClientConnectorRpcRemote.js +1 -1
  65. package/dist/src/connection/websocket/WebsocketClientConnectorRpcRemote.js.map +1 -1
  66. package/dist/src/connection/websocket/WebsocketServerConnection.d.ts +0 -1
  67. package/dist/src/connection/websocket/WebsocketServerConnector.d.ts +1 -1
  68. package/dist/src/connection/websocket/WebsocketServerConnector.js +34 -24
  69. package/dist/src/connection/websocket/WebsocketServerConnector.js.map +1 -1
  70. package/dist/src/dht/DhtNode.d.ts +5 -2
  71. package/dist/src/dht/DhtNode.js +20 -8
  72. package/dist/src/dht/DhtNode.js.map +1 -1
  73. package/dist/src/dht/DhtNodeRpcLocal.d.ts +4 -4
  74. package/dist/src/dht/DhtNodeRpcLocal.js +3 -3
  75. package/dist/src/dht/DhtNodeRpcLocal.js.map +1 -1
  76. package/dist/src/dht/DhtNodeRpcRemote.d.ts +2 -2
  77. package/dist/src/dht/DhtNodeRpcRemote.js +3 -3
  78. package/dist/src/dht/DhtNodeRpcRemote.js.map +1 -1
  79. package/dist/src/dht/ExternalApiRpcLocal.d.ts +3 -3
  80. package/dist/src/dht/ExternalApiRpcLocal.js +3 -3
  81. package/dist/src/dht/ExternalApiRpcLocal.js.map +1 -1
  82. package/dist/src/dht/ExternalApiRpcRemote.d.ts +3 -3
  83. package/dist/src/dht/ExternalApiRpcRemote.js +2 -2
  84. package/dist/src/dht/ExternalApiRpcRemote.js.map +1 -1
  85. package/dist/src/dht/PeerManager.d.ts +3 -2
  86. package/dist/src/dht/PeerManager.js +12 -11
  87. package/dist/src/dht/PeerManager.js.map +1 -1
  88. package/dist/src/dht/contact/Contact.d.ts +1 -1
  89. package/dist/src/dht/contact/Contact.js +1 -1
  90. package/dist/src/dht/contact/Contact.js.map +1 -1
  91. package/dist/src/dht/contact/RingContactList.d.ts +1 -1
  92. package/dist/src/dht/contact/RingContactList.js +1 -1
  93. package/dist/src/dht/contact/RingContactList.js.map +1 -1
  94. package/dist/src/dht/contact/RpcRemote.d.ts +1 -1
  95. package/dist/src/dht/contact/SortedContactList.js +2 -2
  96. package/dist/src/dht/contact/SortedContactList.js.map +1 -1
  97. package/dist/src/dht/contact/ringIdentifiers.d.ts +1 -1
  98. package/dist/src/dht/discovery/DiscoverySession.d.ts +1 -2
  99. package/dist/src/dht/discovery/DiscoverySession.js +3 -3
  100. package/dist/src/dht/discovery/DiscoverySession.js.map +1 -1
  101. package/dist/src/dht/discovery/PeerDiscovery.d.ts +1 -2
  102. package/dist/src/dht/discovery/PeerDiscovery.js +7 -7
  103. package/dist/src/dht/discovery/PeerDiscovery.js.map +1 -1
  104. package/dist/src/dht/discovery/RingDiscoverySession.d.ts +0 -1
  105. package/dist/src/dht/discovery/RingDiscoverySession.js +1 -1
  106. package/dist/src/dht/discovery/RingDiscoverySession.js.map +1 -1
  107. package/dist/src/dht/recursive-operation/RecursiveOperationManager.d.ts +3 -3
  108. package/dist/src/dht/recursive-operation/RecursiveOperationManager.js +8 -8
  109. package/dist/src/dht/recursive-operation/RecursiveOperationManager.js.map +1 -1
  110. package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.d.ts +2 -2
  111. package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.js +2 -2
  112. package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.js.map +1 -1
  113. package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.d.ts +2 -2
  114. package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.js +3 -3
  115. package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.js.map +1 -1
  116. package/dist/src/dht/recursive-operation/RecursiveOperationSession.d.ts +1 -1
  117. package/dist/src/dht/recursive-operation/RecursiveOperationSession.js +7 -7
  118. package/dist/src/dht/recursive-operation/RecursiveOperationSession.js.map +1 -1
  119. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.d.ts +3 -3
  120. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.js +1 -1
  121. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.js.map +1 -1
  122. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcRemote.d.ts +2 -2
  123. package/dist/src/dht/routing/DuplicateDetector.js.map +1 -1
  124. package/dist/src/dht/routing/Router.d.ts +4 -1
  125. package/dist/src/dht/routing/Router.js +17 -9
  126. package/dist/src/dht/routing/Router.js.map +1 -1
  127. package/dist/src/dht/routing/RouterRpcLocal.d.ts +2 -2
  128. package/dist/src/dht/routing/RouterRpcLocal.js +5 -5
  129. package/dist/src/dht/routing/RouterRpcLocal.js.map +1 -1
  130. package/dist/src/dht/routing/RouterRpcRemote.d.ts +2 -2
  131. package/dist/src/dht/routing/RouterRpcRemote.js +7 -7
  132. package/dist/src/dht/routing/RouterRpcRemote.js.map +1 -1
  133. package/dist/src/dht/routing/RoutingSession.d.ts +1 -1
  134. package/dist/src/dht/routing/RoutingSession.js +7 -8
  135. package/dist/src/dht/routing/RoutingSession.js.map +1 -1
  136. package/dist/src/dht/routing/RoutingTablesCache.d.ts +1 -1
  137. package/dist/src/dht/routing/getPreviousPeer.d.ts +1 -1
  138. package/dist/src/dht/store/LocalDataStore.d.ts +1 -1
  139. package/dist/src/dht/store/LocalDataStore.js +3 -3
  140. package/dist/src/dht/store/LocalDataStore.js.map +1 -1
  141. package/dist/src/dht/store/StoreManager.d.ts +3 -3
  142. package/dist/src/dht/store/StoreManager.js +8 -8
  143. package/dist/src/dht/store/StoreManager.js.map +1 -1
  144. package/dist/src/dht/store/StoreRpcLocal.d.ts +4 -4
  145. package/dist/src/dht/store/StoreRpcLocal.js +4 -4
  146. package/dist/src/dht/store/StoreRpcLocal.js.map +1 -1
  147. package/dist/src/dht/store/StoreRpcRemote.d.ts +3 -3
  148. package/dist/src/dht/store/StoreRpcRemote.js +7 -4
  149. package/dist/src/dht/store/StoreRpcRemote.js.map +1 -1
  150. package/dist/src/exports.d.ts +2 -2
  151. package/dist/src/exports.js +6 -6
  152. package/dist/src/exports.js.map +1 -1
  153. package/dist/src/helpers/AddressTools.js +2 -3
  154. package/dist/src/helpers/AddressTools.js.map +1 -1
  155. package/dist/src/helpers/Connectivity.d.ts +1 -1
  156. package/dist/src/helpers/Connectivity.js +1 -1
  157. package/dist/src/helpers/Connectivity.js.map +1 -1
  158. package/dist/src/helpers/createPeerDescriptor.d.ts +1 -1
  159. package/dist/src/helpers/createPeerDescriptor.js +2 -2
  160. package/dist/src/helpers/createPeerDescriptor.js.map +1 -1
  161. package/dist/src/helpers/createPeerDescriptorSignaturePayload.d.ts +1 -1
  162. package/dist/src/helpers/createPeerDescriptorSignaturePayload.js +1 -1
  163. package/dist/src/helpers/createPeerDescriptorSignaturePayload.js.map +1 -1
  164. package/dist/src/helpers/debugHelpers.js +2 -2
  165. package/dist/src/helpers/debugHelpers.js.map +1 -1
  166. package/dist/src/helpers/protoClasses.d.ts +1 -1
  167. package/dist/src/helpers/protoClasses.js +1 -1
  168. package/dist/src/helpers/protoClasses.js.map +1 -1
  169. package/dist/src/helpers/protoToString.js +1 -2
  170. package/dist/src/helpers/protoToString.js.map +1 -1
  171. package/dist/src/helpers/version.d.ts +1 -1
  172. package/dist/src/helpers/version.js +4 -4
  173. package/dist/src/helpers/version.js.map +1 -1
  174. package/dist/src/identifiers.d.ts +5 -5
  175. package/dist/src/identifiers.js +11 -11
  176. package/dist/src/identifiers.js.map +1 -1
  177. package/dist/src/rpc-protocol/DhtCallContext.d.ts +1 -1
  178. package/dist/src/rpc-protocol/DhtRpcOptions.d.ts +1 -1
  179. package/dist/src/transport/ITransport.d.ts +2 -1
  180. package/dist/src/transport/ListeningRpcCommunicator.d.ts +2 -1
  181. package/dist/src/transport/ListeningRpcCommunicator.js +13 -4
  182. package/dist/src/transport/ListeningRpcCommunicator.js.map +1 -1
  183. package/dist/src/transport/RoutingRpcCommunicator.d.ts +1 -1
  184. package/eslint.config.mjs +12 -0
  185. package/jest.config.ts +12 -0
  186. package/package.json +17 -18
  187. package/proto.sh +2 -3
  188. package/protos/DhtRpc.proto +11 -4
  189. package/src/connection/Connection.ts +1 -1
  190. package/src/connection/ConnectionLockRpcLocal.ts +16 -7
  191. package/src/connection/ConnectionLockRpcRemote.ts +18 -6
  192. package/src/connection/ConnectionLockStates.ts +18 -0
  193. package/src/connection/ConnectionManager.ts +93 -27
  194. package/src/connection/ConnectionsView.ts +1 -1
  195. package/src/connection/ConnectorFacade.ts +1 -1
  196. package/src/connection/Handshaker.ts +18 -14
  197. package/src/connection/ManagedConnection.ts +28 -3
  198. package/src/connection/PendingConnection.ts +1 -1
  199. package/src/connection/connectivityChecker.ts +6 -5
  200. package/src/connection/connectivityRequestHandler.ts +4 -4
  201. package/src/connection/simulator/Simulator.ts +8 -7
  202. package/src/connection/simulator/SimulatorConnection.ts +10 -10
  203. package/src/connection/simulator/SimulatorConnector.ts +5 -5
  204. package/src/connection/simulator/SimulatorTransport.ts +3 -2
  205. package/src/connection/simulator/pings.ts +1 -1
  206. package/src/connection/webrtc/BrowserWebrtcConnection.ts +10 -1
  207. package/src/connection/webrtc/NodeWebrtcConnection.ts +15 -11
  208. package/src/connection/webrtc/WebrtcConnector.ts +13 -11
  209. package/src/connection/webrtc/WebrtcConnectorRpcLocal.ts +8 -8
  210. package/src/connection/webrtc/WebrtcConnectorRpcRemote.ts +2 -2
  211. package/src/connection/websocket/WebsocketClientConnector.ts +5 -5
  212. package/src/connection/websocket/WebsocketClientConnectorRpcLocal.ts +5 -5
  213. package/src/connection/websocket/WebsocketClientConnectorRpcRemote.ts +4 -4
  214. package/src/connection/websocket/WebsocketServerConnector.ts +24 -20
  215. package/src/dht/DhtNode.ts +29 -11
  216. package/src/dht/DhtNodeRpcLocal.ts +8 -8
  217. package/src/dht/DhtNodeRpcRemote.ts +5 -5
  218. package/src/dht/ExternalApiRpcLocal.ts +8 -8
  219. package/src/dht/ExternalApiRpcRemote.ts +6 -6
  220. package/src/dht/PeerManager.ts +16 -14
  221. package/src/dht/contact/Contact.ts +3 -3
  222. package/src/dht/contact/RingContactList.ts +3 -3
  223. package/src/dht/contact/RpcRemote.ts +1 -1
  224. package/src/dht/contact/SortedContactList.ts +3 -3
  225. package/src/dht/contact/ringIdentifiers.ts +1 -1
  226. package/src/dht/discovery/DiscoverySession.ts +5 -5
  227. package/src/dht/discovery/PeerDiscovery.ts +12 -12
  228. package/src/dht/discovery/RingDiscoverySession.ts +3 -3
  229. package/src/dht/recursive-operation/RecursiveOperationManager.ts +10 -10
  230. package/src/dht/recursive-operation/RecursiveOperationRpcLocal.ts +4 -4
  231. package/src/dht/recursive-operation/RecursiveOperationRpcRemote.ts +6 -6
  232. package/src/dht/recursive-operation/RecursiveOperationSession.ts +8 -8
  233. package/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.ts +5 -5
  234. package/src/dht/recursive-operation/RecursiveOperationSessionRpcRemote.ts +2 -2
  235. package/src/dht/routing/DuplicateDetector.ts +1 -1
  236. package/src/dht/routing/Router.ts +19 -10
  237. package/src/dht/routing/RouterRpcLocal.ts +7 -7
  238. package/src/dht/routing/RouterRpcRemote.ts +9 -9
  239. package/src/dht/routing/RoutingSession.ts +9 -10
  240. package/src/dht/routing/RoutingTablesCache.ts +1 -1
  241. package/src/dht/routing/getPreviousPeer.ts +1 -1
  242. package/src/dht/store/LocalDataStore.ts +5 -5
  243. package/src/dht/store/StoreManager.ts +13 -13
  244. package/src/dht/store/StoreRpcLocal.ts +9 -9
  245. package/src/dht/store/StoreRpcRemote.ts +10 -7
  246. package/src/exports.ts +5 -5
  247. package/src/helpers/Connectivity.ts +1 -1
  248. package/src/helpers/createPeerDescriptor.ts +3 -3
  249. package/src/helpers/createPeerDescriptorSignaturePayload.ts +1 -1
  250. package/src/helpers/protoClasses.ts +2 -2
  251. package/src/helpers/version.ts +2 -2
  252. package/src/identifiers.ts +7 -7
  253. package/src/rpc-protocol/DhtCallContext.ts +1 -1
  254. package/src/rpc-protocol/DhtRpcOptions.ts +1 -1
  255. package/src/transport/ITransport.ts +2 -1
  256. package/src/transport/ListeningRpcCommunicator.ts +14 -6
  257. package/src/transport/RoutingRpcCommunicator.ts +2 -2
  258. package/test/benchmark/Find.test.ts +9 -9
  259. package/test/benchmark/KademliaCorrectness.test.ts +7 -7
  260. package/test/benchmark/RingCorrectness.test.ts +8 -8
  261. package/test/benchmark/SortedContactListBenchmark.test.ts +10 -10
  262. package/test/benchmark/hybrid-network-simulation/RingContactList.test.ts +3 -3
  263. package/test/end-to-end/Layer0Webrtc-Layer1.test.ts +6 -6
  264. package/test/end-to-end/Layer0Webrtc.test.ts +6 -6
  265. package/test/end-to-end/RecoveryFromFailedAutoCertification.test.ts +1 -1
  266. package/test/end-to-end/WebsocketConnectionRequest.test.ts +3 -3
  267. package/test/end-to-end/memory-leak.test.ts +6 -6
  268. package/test/integration/ConnectionLocking.test.ts +48 -37
  269. package/test/integration/ConnectionManager.test.ts +62 -6
  270. package/test/integration/ConnectivityChecking.test.ts +3 -2
  271. package/test/integration/DhtJoinPeerDiscovery.test.ts +2 -2
  272. package/test/integration/DhtNode.test.ts +6 -6
  273. package/test/integration/DhtNodeExternalAPI.test.ts +7 -7
  274. package/test/integration/DhtNodeRpcRemote.test.ts +9 -9
  275. package/test/integration/DhtRpc.test.ts +12 -13
  276. package/test/integration/Find.test.ts +5 -5
  277. package/test/integration/GeoIpConnectivityChecking.test.ts +8 -7
  278. package/test/integration/Layer1-scale.test.ts +3 -3
  279. package/test/integration/Mock-Layer1-Layer0.test.ts +6 -6
  280. package/test/integration/MultipleEntryPointJoining.test.ts +1 -1
  281. package/test/integration/ReplicateData.test.ts +10 -11
  282. package/test/integration/RouteMessage.test.ts +13 -13
  283. package/test/integration/RouterRpcRemote.test.ts +7 -7
  284. package/test/integration/SimultaneousConnections.test.ts +14 -13
  285. package/test/integration/Store.test.ts +9 -9
  286. package/test/integration/StoreAndDelete.test.ts +10 -10
  287. package/test/integration/StoreOnDhtWithThreeNodes.test.ts +10 -10
  288. package/test/integration/StoreOnDhtWithTwoNodes.test.ts +10 -10
  289. package/test/integration/StoreRpcRemote.test.ts +11 -11
  290. package/test/integration/WebrtcConnectionManagement.test.ts +4 -31
  291. package/test/integration/WebrtcConnectorRpc.test.ts +14 -14
  292. package/test/integration/Websocket.test.ts +0 -2
  293. package/test/integration/WebsocketClientConnectorRpc.test.ts +8 -8
  294. package/test/integration/WebsocketConnectionManagement.test.ts +11 -12
  295. package/test/integration/{rpc-connections-over-webrpc.test.ts → rpc-connections-over-webrtc.test.ts} +12 -46
  296. package/test/unit/AutoCertifierClientFacade.test.ts +6 -6
  297. package/test/unit/ConnectionManager.test.ts +4 -3
  298. package/test/unit/ConnectivityHelpers.test.ts +1 -1
  299. package/test/unit/DiscoverySession.test.ts +6 -6
  300. package/test/unit/Handshaker.test.ts +2 -2
  301. package/test/unit/ListeningRpcCommunicator.test.ts +52 -0
  302. package/test/unit/LocalDataStore.test.ts +21 -21
  303. package/test/unit/PeerManager.test.ts +15 -15
  304. package/test/unit/PendingConnection.test.ts +1 -1
  305. package/test/unit/ProtobufMessage.test.ts +1 -1
  306. package/test/unit/RandomContactList.test.ts +2 -2
  307. package/test/unit/RecursiveOperationManager.test.ts +3 -3
  308. package/test/unit/RecursiveOperationSession.test.ts +6 -6
  309. package/test/unit/Router.test.ts +6 -6
  310. package/test/unit/RoutingSession.test.ts +13 -6
  311. package/test/unit/SortedContactList.test.ts +8 -8
  312. package/test/unit/StoreManager.test.ts +12 -12
  313. package/test/unit/StoreRpcLocal.test.ts +9 -9
  314. package/test/unit/WebrtcConnection.test.ts +29 -0
  315. package/test/unit/WebsocketClientConnector.test.ts +1 -1
  316. package/test/unit/WebsocketServerConnector.test.ts +1 -1
  317. package/test/unit/connectivityRequestHandler.test.ts +6 -6
  318. package/test/unit/createPeerDescriptor.test.ts +4 -4
  319. package/test/unit/customMatchers.test.ts +18 -0
  320. package/test/unit/getClosestNodes.test.ts +5 -5
  321. package/test/unit/version.test.ts +9 -9
  322. package/test/utils/FakeConnectorFacade.ts +1 -1
  323. package/test/utils/FakeTransport.ts +12 -9
  324. package/test/utils/customMatchers.ts +9 -9
  325. package/test/utils/mock/MockConnectionsView.ts +1 -1
  326. package/test/utils/mock/MockRouter.ts +5 -1
  327. package/test/utils/mock/MockTransport.ts +6 -1
  328. package/test/utils/mock/mockDataEntry.ts +6 -6
  329. package/test/utils/topology.ts +3 -4
  330. package/test/utils/utils.ts +11 -11
  331. package/tsconfig.jest.json +2 -1
  332. package/tsconfig.node.json +1 -0
  333. package/.eslintignore +0 -5
  334. package/.eslintrc +0 -3
  335. package/dist/src/proto/google/protobuf/any.d.ts +0 -173
  336. package/dist/src/proto/google/protobuf/any.js +0 -155
  337. package/dist/src/proto/google/protobuf/any.js.map +0 -1
  338. package/dist/src/proto/google/protobuf/empty.d.ts +0 -32
  339. package/dist/src/proto/google/protobuf/empty.js +0 -32
  340. package/dist/src/proto/google/protobuf/empty.js.map +0 -1
  341. package/dist/src/proto/google/protobuf/timestamp.d.ts +0 -149
  342. package/dist/src/proto/google/protobuf/timestamp.js +0 -136
  343. package/dist/src/proto/google/protobuf/timestamp.js.map +0 -1
  344. package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +0 -352
  345. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +0 -278
  346. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +0 -1
  347. package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +0 -975
  348. package/dist/src/proto/packages/dht/protos/DhtRpc.js +0 -661
  349. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +0 -1
  350. package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +0 -157
  351. package/dist/src/proto/packages/dht/protos/DhtRpc.server.js +0 -3
  352. package/dist/src/proto/packages/dht/protos/DhtRpc.server.js.map +0 -1
  353. package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.d.ts +0 -87
  354. package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js +0 -66
  355. package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js.map +0 -1
  356. package/dist/src/proto/tests.d.ts +0 -39
  357. package/dist/src/proto/tests.js +0 -34
  358. package/dist/src/proto/tests.js.map +0 -1
  359. package/jest.config.js +0 -5
  360. package/src/proto/google/protobuf/any.ts +0 -319
  361. package/src/proto/google/protobuf/empty.ts +0 -82
  362. package/src/proto/google/protobuf/timestamp.ts +0 -281
  363. package/src/proto/packages/dht/protos/DhtRpc.client.ts +0 -407
  364. package/src/proto/packages/dht/protos/DhtRpc.server.ts +0 -160
  365. package/src/proto/packages/dht/protos/DhtRpc.ts +0 -1244
  366. package/src/proto/packages/proto-rpc/protos/ProtoRpc.ts +0 -108
  367. package/src/proto/tests.ts +0 -52
  368. package/test/benchmark/any.test.ts +0 -28
  369. /package/{src/types/glogal.d.ts → test/types/global.d.ts} +0 -0
@@ -8,12 +8,12 @@ import { LOCAL_PROTOCOL_VERSION } from '../../src/helpers/version'
8
8
  import { WebsocketServerConnection } from '../../src/connection/websocket/WebsocketServerConnection'
9
9
  import fs from 'fs'
10
10
 
11
- // www.gov.za
12
- const testIp = '164.151.129.20'
11
+ // helsinki.fi
12
+ const testIp = '128.214.222.50'
13
13
 
14
- // Pretoria, South Africa
15
- const testLatitude = -25.7599
16
- const testLongitude = 28.2604
14
+ // Helsinki, Finland
15
+ const testLatitude = 60.1719
16
+ const testLongitude = 24.9347
17
17
 
18
18
  const dbPath = '/tmp/geoipdatabasesintegration'
19
19
 
@@ -43,7 +43,8 @@ describe('ConnectivityChecking', () => {
43
43
  transport: new MockTransport(),
44
44
  geoIpDatabaseFolder: dbPath
45
45
  }),
46
- metricsContext: new MetricsContext()
46
+ metricsContext: new MetricsContext(),
47
+ allowIncomingPrivateConnections: false
47
48
  })
48
49
  await server.start()
49
50
  mock = jest.spyOn(WebsocketServerConnection.prototype, 'getRemoteIpAddress').mockImplementation(() => testIp)
@@ -64,7 +65,7 @@ describe('ConnectivityChecking', () => {
64
65
  allowSelfSignedCertificate: false
65
66
  }
66
67
  const response = await sendConnectivityRequest(request, server.getLocalPeerDescriptor())
67
- expect(response.version).toEqual(LOCAL_PROTOCOL_VERSION)
68
+ expect(response.protocolVersion).toEqual(LOCAL_PROTOCOL_VERSION)
68
69
  expect(response.latitude).toEqual(testLatitude)
69
70
  expect(response.longitude).toEqual(testLongitude)
70
71
  })
@@ -1,6 +1,6 @@
1
1
  import { Simulator } from '../../src/connection/simulator/Simulator'
2
2
  import { DhtNode } from '../../src/dht/DhtNode'
3
- import { getDhtAddressFromRaw } from '../../src/identifiers'
3
+ import { toDhtAddress } from '../../src/identifiers'
4
4
  import { createMockConnectionDhtNode, createMockConnectionLayer1Node, createMockPeerDescriptor } from '../utils/utils'
5
5
 
6
6
  const NODE_COUNT = 48
@@ -16,7 +16,7 @@ describe('Layer1', () => {
16
16
 
17
17
  beforeEach(async () => {
18
18
  simulator = new Simulator()
19
- layer0EntryPoint = await createMockConnectionDhtNode(simulator, getDhtAddressFromRaw(entryPoint0Descriptor.nodeId))
19
+ layer0EntryPoint = await createMockConnectionDhtNode(simulator, toDhtAddress(entryPoint0Descriptor.nodeId))
20
20
  await layer0EntryPoint.joinDht([entryPoint0Descriptor])
21
21
 
22
22
  nodes = []
@@ -178,7 +178,7 @@ describe('Layer1', () => {
178
178
  // })
179
179
  // })
180
180
  //
181
- // await waitForCondition(() => {
181
+ // await until(() => {
182
182
  // return [...receivedMessages.values()].every((set) => {
183
183
  // return set.size === receivedMessages.size - 1
184
184
  // })
@@ -2,7 +2,7 @@ import { Logger } from '@streamr/utils'
2
2
  import { Simulator } from '../../src/connection/simulator/Simulator'
3
3
  import { DhtNode } from '../../src/dht/DhtNode'
4
4
  import { createMockConnectionDhtNode, createMockConnectionLayer1Node } from '../utils/utils'
5
- import { createRandomDhtAddress } from '../../src/identifiers'
5
+ import { randomDhtAddress } from '../../src/identifiers'
6
6
 
7
7
  const logger = new Logger(module)
8
8
 
@@ -22,11 +22,11 @@ describe('Layer 1 on Layer 0 with mocked connections', () => {
22
22
 
23
23
  beforeEach(async () => {
24
24
 
25
- layer0EntryPoint = await createMockConnectionDhtNode(simulator, createRandomDhtAddress())
26
- layer0Node1 = await createMockConnectionDhtNode(simulator, createRandomDhtAddress())
27
- layer0Node2 = await createMockConnectionDhtNode(simulator, createRandomDhtAddress())
28
- layer0Node3 = await createMockConnectionDhtNode(simulator, createRandomDhtAddress())
29
- layer0Node4 = await createMockConnectionDhtNode(simulator, createRandomDhtAddress())
25
+ layer0EntryPoint = await createMockConnectionDhtNode(simulator, randomDhtAddress())
26
+ layer0Node1 = await createMockConnectionDhtNode(simulator, randomDhtAddress())
27
+ layer0Node2 = await createMockConnectionDhtNode(simulator, randomDhtAddress())
28
+ layer0Node3 = await createMockConnectionDhtNode(simulator, randomDhtAddress())
29
+ layer0Node4 = await createMockConnectionDhtNode(simulator, randomDhtAddress())
30
30
 
31
31
  layer1EntryPoint = await createMockConnectionLayer1Node(layer0EntryPoint)
32
32
 
@@ -1,6 +1,6 @@
1
1
  import { LatencyType, Simulator } from '../../src/connection/simulator/Simulator'
2
2
  import { DhtNode } from '../../src/dht/DhtNode'
3
- import { PeerDescriptor } from '../../src/proto/packages/dht/protos/DhtRpc'
3
+ import { PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc'
4
4
  import { createMockConnectionDhtNode } from '../utils/utils'
5
5
 
6
6
  describe('multiple entry point joining', () => {
@@ -1,12 +1,11 @@
1
- /* eslint-disable no-console */
2
1
  import { LatencyType, Simulator } from '../../src/connection/simulator/Simulator'
3
2
  import { DhtNode } from '../../src/dht/DhtNode'
4
3
  import { createMockConnectionDhtNode, waitForStableTopology } from '../utils/utils'
5
4
  import { SortedContactList } from '../../src/dht/contact/SortedContactList'
6
5
  import { createMockDataEntry, expectEqualData } from '../utils/mock/mockDataEntry'
7
- import { DhtAddress, createRandomDhtAddress, getDhtAddressFromRaw, getNodeIdFromPeerDescriptor } from '../../src/identifiers'
6
+ import { DhtAddress, randomDhtAddress, toDhtAddress, toNodeId } from '../../src/identifiers'
8
7
  import { sample } from 'lodash'
9
- import { DataEntry, PeerDescriptor } from '../../src/proto/packages/dht/protos/DhtRpc'
8
+ import { DataEntry, PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc'
10
9
 
11
10
  const DATA = createMockDataEntry()
12
11
  const NUM_NODES = 100
@@ -17,7 +16,7 @@ const ENTRY_POINT_INDEX = 0
17
16
  const getDataEntries = (node: DhtNode): DataEntry[] => {
18
17
  // @ts-expect-error private field
19
18
  const store = node.localDataStore
20
- return Array.from(store.values(getDhtAddressFromRaw(DATA.key)))
19
+ return Array.from(store.values(toDhtAddress(DATA.key)))
21
20
  }
22
21
 
23
22
  describe('Replicate data from node to node in DHT', () => {
@@ -27,7 +26,7 @@ describe('Replicate data from node to node in DHT', () => {
27
26
  const simulator = new Simulator(LatencyType.FIXED, 20)
28
27
 
29
28
  beforeEach(async () => {
30
- const entryPoint = await createMockConnectionDhtNode(simulator, createRandomDhtAddress(), K, MAX_CONNECTIONS)
29
+ const entryPoint = await createMockConnectionDhtNode(simulator, randomDhtAddress(), K, MAX_CONNECTIONS)
31
30
  entryPointDescriptor = entryPoint.getLocalPeerDescriptor()
32
31
  await entryPoint.joinDht([entryPointDescriptor])
33
32
  nodes = []
@@ -35,7 +34,7 @@ describe('Replicate data from node to node in DHT', () => {
35
34
  for (let i = 1; i < NUM_NODES; i++) {
36
35
  const node = await createMockConnectionDhtNode(
37
36
  simulator,
38
- createRandomDhtAddress(),
37
+ randomDhtAddress(),
39
38
  K,
40
39
  MAX_CONNECTIONS
41
40
  )
@@ -54,14 +53,14 @@ describe('Replicate data from node to node in DHT', () => {
54
53
  it('Data replicates to the closest node no matter where it is stored', async () => {
55
54
  // calculate offline which node is closest to the data
56
55
  const sortedList = new SortedContactList<DhtNode>({
57
- referenceId: getDhtAddressFromRaw(DATA.key),
56
+ referenceId: toDhtAddress(DATA.key),
58
57
  maxSize: 10000,
59
58
  allowToContainReferenceId: true
60
59
  })
61
60
  nodes.forEach((node) => sortedList.addContact(node))
62
61
 
63
62
  const closest = sortedList.getClosestContacts()
64
- const successfulStorers = await nodes[0].storeDataToDht(getDhtAddressFromRaw(DATA.key), DATA.data!)
63
+ const successfulStorers = await nodes[0].storeDataToDht(toDhtAddress(DATA.key), DATA.data!)
65
64
  expect(successfulStorers.length).toBe(1)
66
65
 
67
66
  await Promise.all(
@@ -89,16 +88,16 @@ describe('Replicate data from node to node in DHT', () => {
89
88
  await waitForStableTopology(nodes)
90
89
 
91
90
  const randomIndex = Math.floor(Math.random() * nodes.length)
92
- const storerDescriptors = await nodes[randomIndex].storeDataToDht(getDhtAddressFromRaw(DATA.key), DATA.data!)
91
+ const storerDescriptors = await nodes[randomIndex].storeDataToDht(toDhtAddress(DATA.key), DATA.data!)
93
92
  const stoppedNodeIds: DhtAddress[] = []
94
93
  await Promise.all(storerDescriptors.map(async (storerDescriptor) => {
95
- const storer = nodes.find((n) => n.getNodeId() === getNodeIdFromPeerDescriptor(storerDescriptor))!
94
+ const storer = nodes.find((n) => n.getNodeId() === toNodeId(storerDescriptor))!
96
95
  await storer.stop()
97
96
  stoppedNodeIds.push(storer.getNodeId())
98
97
  }))
99
98
 
100
99
  const randomNonStoppedNode = sample(nodes.filter((n) => !stoppedNodeIds.includes(n.getNodeId())))!
101
- const data = await randomNonStoppedNode.fetchDataFromDht(getDhtAddressFromRaw(DATA.key))
100
+ const data = await randomNonStoppedNode.fetchDataFromDht(toDhtAddress(DATA.key))
102
101
  expect(data).toHaveLength(1)
103
102
  expectEqualData(data[0], DATA)
104
103
  }, 180000)
@@ -1,13 +1,13 @@
1
1
  import { DhtNode, Events as DhtNodeEvents } from '../../src/dht/DhtNode'
2
- import { Message, NodeType, PeerDescriptor, RouteMessageWrapper } from '../../src/proto/packages/dht/protos/DhtRpc'
3
- import { RpcMessage } from '../../src/proto/packages/proto-rpc/protos/ProtoRpc'
4
- import { Logger, runAndWaitForEvents3, waitForCondition } from '@streamr/utils'
2
+ import { Message, NodeType, PeerDescriptor, RouteMessageWrapper } from '../../generated/packages/dht/protos/DhtRpc'
3
+ import { RpcMessage } from '../../generated/packages/proto-rpc/protos/ProtoRpc'
4
+ import { Logger, runAndWaitForEvents3, until } from '@streamr/utils'
5
5
  import { createMockConnectionDhtNode, createWrappedClosestPeersRequest } from '../utils/utils'
6
6
  import { Simulator } from '../../src/connection/simulator/Simulator'
7
7
  import { v4 } from 'uuid'
8
- import { Any } from '../../src/proto/google/protobuf/any'
8
+ import { Any } from '../../generated/google/protobuf/any'
9
9
  import { RoutingMode } from '../../src/dht/routing/RoutingSession'
10
- import { DhtAddress, createRandomDhtAddress, getRawFromDhtAddress } from '../../src/identifiers'
10
+ import { DhtAddress, randomDhtAddress, toDhtAddressRaw } from '../../src/identifiers'
11
11
 
12
12
  const logger = new Logger(module)
13
13
 
@@ -25,18 +25,18 @@ describe('Route Message With Mock Connections', () => {
25
25
  beforeEach(async () => {
26
26
  routerNodes = []
27
27
  simulator = new Simulator()
28
- entryPoint = await createMockConnectionDhtNode(simulator, createRandomDhtAddress())
28
+ entryPoint = await createMockConnectionDhtNode(simulator, randomDhtAddress())
29
29
 
30
30
  entryPointDescriptor = {
31
- nodeId: getRawFromDhtAddress(entryPoint.getNodeId()),
31
+ nodeId: toDhtAddressRaw(entryPoint.getNodeId()),
32
32
  type: NodeType.NODEJS
33
33
  }
34
34
 
35
- sourceNode = await createMockConnectionDhtNode(simulator, createRandomDhtAddress())
36
- destinationNode = await createMockConnectionDhtNode(simulator, createRandomDhtAddress())
35
+ sourceNode = await createMockConnectionDhtNode(simulator, randomDhtAddress())
36
+ destinationNode = await createMockConnectionDhtNode(simulator, randomDhtAddress())
37
37
 
38
38
  for (let i = 1; i < NUM_NODES; i++) {
39
- const node = await createMockConnectionDhtNode(simulator, createRandomDhtAddress())
39
+ const node = await createMockConnectionDhtNode(simulator, randomDhtAddress())
40
40
  routerNodes.push(node)
41
41
  }
42
42
 
@@ -116,7 +116,7 @@ describe('Route Message With Mock Connections', () => {
116
116
  parallelRootNodeIds: []
117
117
  })
118
118
  }
119
- await waitForCondition(() => receivedMessages === messageCount)
119
+ await until(() => receivedMessages === messageCount)
120
120
  })
121
121
 
122
122
  it('From all to all', async () => {
@@ -157,10 +157,10 @@ describe('Route Message With Mock Connections', () => {
157
157
  }))
158
158
  )
159
159
  )
160
- await waitForCondition(() => receivedMessageCounts[routerNodes[0].getNodeId()] >= routerNodes.length - 1, 30000)
160
+ await until(() => receivedMessageCounts[routerNodes[0].getNodeId()] >= routerNodes.length - 1, 30000)
161
161
  await Promise.all(
162
162
  Object.keys(receivedMessageCounts).map(async (key) =>
163
- waitForCondition(() => receivedMessageCounts[key as DhtAddress] >= routerNodes.length - 1, 30000)
163
+ until(() => receivedMessageCounts[key as DhtAddress] >= routerNodes.length - 1, 30000)
164
164
  )
165
165
  )
166
166
 
@@ -1,8 +1,8 @@
1
1
  import { RpcCommunicator } from '@streamr/proto-rpc'
2
2
  import { RouterRpcRemote } from '../../src/dht/routing/RouterRpcRemote'
3
- import { Message, RouteMessageAck, RouteMessageWrapper } from '../../src/proto/packages/dht/protos/DhtRpc'
4
- import { RouterRpcClient } from '../../src/proto/packages/dht/protos/DhtRpc.client'
5
- import { RpcMessage } from '../../src/proto/packages/proto-rpc/protos/ProtoRpc'
3
+ import { Message, RouteMessageAck, RouteMessageWrapper } from '../../generated/packages/dht/protos/DhtRpc'
4
+ import { RouterRpcClient } from '../../generated/packages/dht/protos/DhtRpc.client'
5
+ import { RpcMessage } from '../../generated/packages/proto-rpc/protos/ProtoRpc'
6
6
  import { createMockPeerDescriptor, createWrappedClosestPeersRequest, mockRouterRpc } from '../utils/utils'
7
7
  import { DhtCallContext } from '../../src/rpc-protocol/DhtCallContext'
8
8
 
@@ -20,11 +20,11 @@ describe('RemoteRouter', () => {
20
20
  clientRpcCommunicator = new RpcCommunicator()
21
21
  serverRpcCommunicator = new RpcCommunicator()
22
22
  serverRpcCommunicator.registerRpcMethod(RouteMessageWrapper, RouteMessageAck, 'routeMessage', mockRouterRpc.routeMessage)
23
- clientRpcCommunicator.on('outgoingMessage', (message: RpcMessage) => {
24
- serverRpcCommunicator.handleIncomingMessage(message)
23
+ clientRpcCommunicator.setOutgoingMessageListener(async (message: RpcMessage) => {
24
+ serverRpcCommunicator.handleIncomingMessage(message, new DhtCallContext())
25
25
  })
26
- serverRpcCommunicator.on('outgoingMessage', (message: RpcMessage) => {
27
- clientRpcCommunicator.handleIncomingMessage(message)
26
+ serverRpcCommunicator.setOutgoingMessageListener(async (message: RpcMessage) => {
27
+ clientRpcCommunicator.handleIncomingMessage(message, new DhtCallContext())
28
28
  })
29
29
  remoteRouter = new RouterRpcRemote(clientPeerDescriptor, serverPeerDescriptor, clientRpcCommunicator, RouterRpcClient)
30
30
  })
@@ -1,14 +1,14 @@
1
- import { MetricsContext, waitForCondition } from '@streamr/utils'
1
+ import { MetricsContext, until } from '@streamr/utils'
2
2
  import { ConnectionManager } from '../../src/connection/ConnectionManager'
3
3
  import { DefaultConnectorFacade, DefaultConnectorFacadeOptions } from '../../src/connection/ConnectorFacade'
4
4
  import { LatencyType, Simulator } from '../../src/connection/simulator/Simulator'
5
5
  import { SimulatorTransport } from '../../src/connection/simulator/SimulatorTransport'
6
- import { Message, PeerDescriptor } from '../../src/proto/packages/dht/protos/DhtRpc'
7
- import { RpcMessage } from '../../src/proto/packages/proto-rpc/protos/ProtoRpc'
6
+ import { Message, PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc'
7
+ import { RpcMessage } from '../../generated/packages/proto-rpc/protos/ProtoRpc'
8
8
  import { createMockPeerDescriptor } from '../utils/utils'
9
9
  import { getRandomRegion } from '../../src/connection/simulator/pings'
10
10
  import { MockTransport } from '../utils/mock/MockTransport'
11
- import { getNodeIdFromPeerDescriptor } from '../../src/identifiers'
11
+ import { toNodeId } from '../../src/identifiers'
12
12
 
13
13
  const BASE_MESSAGE: Message = {
14
14
  serviceId: 'serviceId',
@@ -25,7 +25,8 @@ const createConnectionManager = (localPeerDescriptor: PeerDescriptor, opts: Omit
25
25
  createLocalPeerDescriptor: async () => localPeerDescriptor,
26
26
  ...opts
27
27
  }),
28
- metricsContext: new MetricsContext()
28
+ metricsContext: new MetricsContext(),
29
+ allowIncomingPrivateConnections: false
29
30
  })
30
31
  }
31
32
 
@@ -78,8 +79,8 @@ describe('SimultaneousConnections', () => {
78
79
  simTransport1.send(msg1),
79
80
  simTransport2.send(msg2)
80
81
  ])
81
- await waitForCondition(() => simTransport2.hasConnection(getNodeIdFromPeerDescriptor(peerDescriptor1)))
82
- await waitForCondition(() => simTransport1.hasConnection(getNodeIdFromPeerDescriptor(peerDescriptor2)))
82
+ await until(() => simTransport2.hasConnection(toNodeId(peerDescriptor1)))
83
+ await until(() => simTransport1.hasConnection(toNodeId(peerDescriptor2)))
83
84
  })
84
85
 
85
86
  describe('Websocket 2 servers', () => {
@@ -159,8 +160,8 @@ describe('SimultaneousConnections', () => {
159
160
  connectionManager2.send(msg2)
160
161
  ])
161
162
 
162
- await waitForCondition(() => connectionManager1.hasConnection(getNodeIdFromPeerDescriptor(wsPeerDescriptor2)))
163
- await waitForCondition(() => connectionManager2.hasConnection(getNodeIdFromPeerDescriptor(wsPeerDescriptor1)))
163
+ await until(() => connectionManager1.hasConnection(toNodeId(wsPeerDescriptor2)))
164
+ await until(() => connectionManager2.hasConnection(toNodeId(wsPeerDescriptor1)))
164
165
  })
165
166
  })
166
167
 
@@ -239,8 +240,8 @@ describe('SimultaneousConnections', () => {
239
240
  connectionManager2.send(msg2)
240
241
  ])
241
242
 
242
- await waitForCondition(() => connectionManager1.hasConnection(getNodeIdFromPeerDescriptor(wsPeerDescriptor2)))
243
- await waitForCondition(() => connectionManager2.hasConnection(getNodeIdFromPeerDescriptor(wsPeerDescriptor1)))
243
+ await until(() => connectionManager1.hasConnection(toNodeId(wsPeerDescriptor2)))
244
+ await until(() => connectionManager2.hasConnection(toNodeId(wsPeerDescriptor1)))
244
245
  })
245
246
  })
246
247
 
@@ -307,8 +308,8 @@ describe('SimultaneousConnections', () => {
307
308
  connectionManager2.send(msg2)
308
309
  ])
309
310
 
310
- await waitForCondition(() => connectionManager1.hasConnection(getNodeIdFromPeerDescriptor(wrtcPeerDescriptor2)))
311
- await waitForCondition(() => connectionManager2.hasConnection(getNodeIdFromPeerDescriptor(wrtcPeerDescriptor1)))
311
+ await until(() => connectionManager1.hasConnection(toNodeId(wrtcPeerDescriptor2)))
312
+ await until(() => connectionManager2.hasConnection(toNodeId(wrtcPeerDescriptor1)))
312
313
  })
313
314
  })
314
315
 
@@ -1,7 +1,7 @@
1
1
  import { LatencyType, Simulator } from '../../src/connection/simulator/Simulator'
2
2
  import { DhtNode } from '../../src/dht/DhtNode'
3
- import { getDhtAddressFromRaw, getNodeIdFromPeerDescriptor } from '../../src/identifiers'
4
- import { PeerDescriptor } from '../../src/proto/packages/dht/protos/DhtRpc'
3
+ import { toDhtAddress, toNodeId } from '../../src/identifiers'
4
+ import { PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc'
5
5
  import { createMockDataEntry, expectEqualData } from '../utils/mock/mockDataEntry'
6
6
  import { createMockConnectionDhtNode, createMockPeerDescriptor, waitForStableTopology } from '../utils/utils'
7
7
 
@@ -44,7 +44,7 @@ describe('Storing data in DHT', () => {
44
44
  const storingNodeIndex = 34
45
45
  const entry = createMockDataEntry()
46
46
  const successfulStorers = await nodes[storingNodeIndex].storeDataToDht(
47
- getDhtAddressFromRaw(entry.key),
47
+ toDhtAddress(entry.key),
48
48
  entry.data!
49
49
  )
50
50
  expect(successfulStorers.length).toBeGreaterThan(4)
@@ -54,12 +54,12 @@ describe('Storing data in DHT', () => {
54
54
  const storingNode = getRandomNode()
55
55
  const entry = createMockDataEntry()
56
56
  const successfulStorers = await storingNode.storeDataToDht(
57
- getDhtAddressFromRaw(entry.key),
57
+ toDhtAddress(entry.key),
58
58
  entry.data!
59
59
  )
60
60
  expect(successfulStorers.length).toBeGreaterThan(4)
61
61
  const fetchingNode = getRandomNode()
62
- const results = await fetchingNode.fetchDataFromDht(getDhtAddressFromRaw(entry.key))
62
+ const results = await fetchingNode.fetchDataFromDht(toDhtAddress(entry.key))
63
63
  results.forEach((result) => {
64
64
  expectEqualData(result, entry)
65
65
  })
@@ -70,16 +70,16 @@ describe('Storing data in DHT', () => {
70
70
  const entry = createMockDataEntry()
71
71
  const requestor = createMockPeerDescriptor()
72
72
  const successfulStorers = await storingNode.storeDataToDht(
73
- getDhtAddressFromRaw(entry.key),
73
+ toDhtAddress(entry.key),
74
74
  entry.data!,
75
- getDhtAddressFromRaw(requestor.nodeId)
75
+ toDhtAddress(requestor.nodeId)
76
76
  )
77
77
  expect(successfulStorers.length).toBeGreaterThan(4)
78
78
  const fetchingNode = getRandomNode()
79
- const results = await fetchingNode.fetchDataFromDht(getDhtAddressFromRaw(entry.key))
79
+ const results = await fetchingNode.fetchDataFromDht(toDhtAddress(entry.key))
80
80
  results.forEach((result) => {
81
81
  expectEqualData(result, entry)
82
- expect(getDhtAddressFromRaw(result.creator)).toEqual(getNodeIdFromPeerDescriptor(requestor))
82
+ expect(toDhtAddress(result.creator)).toEqual(toNodeId(requestor))
83
83
  })
84
84
  }, 30000)
85
85
  })
@@ -2,7 +2,7 @@ import { LatencyType, Simulator } from '../../src/connection/simulator/Simulator
2
2
  import { DhtNode } from '../../src/dht/DhtNode'
3
3
  import { createMockConnectionDhtNode, waitForStableTopology } from '../utils/utils'
4
4
  import { createMockDataEntry, expectEqualData } from '../utils/mock/mockDataEntry'
5
- import { createRandomDhtAddress, getDhtAddressFromRaw } from '../../src/identifiers'
5
+ import { randomDhtAddress, toDhtAddress } from '../../src/identifiers'
6
6
  import { wait } from '@streamr/utils'
7
7
 
8
8
  const NUM_NODES = 5
@@ -21,7 +21,7 @@ describe('Storing data in DHT', () => {
21
21
  beforeEach(async () => {
22
22
  nodes = []
23
23
  const entryPoint = await createMockConnectionDhtNode(simulator,
24
- createRandomDhtAddress(), K, MAX_CONNECTIONS)
24
+ randomDhtAddress(), K, MAX_CONNECTIONS)
25
25
  nodes.push(entryPoint)
26
26
  for (let i = 1; i < NUM_NODES; i++) {
27
27
  const node = await createMockConnectionDhtNode(simulator,
@@ -39,13 +39,13 @@ describe('Storing data in DHT', () => {
39
39
  it('Data can be deleted', async () => {
40
40
  const storingNode = getRandomNode()
41
41
  const entry = createMockDataEntry()
42
- const successfulStorers = await storingNode.storeDataToDht(getDhtAddressFromRaw(entry.key), entry.data!)
42
+ const successfulStorers = await storingNode.storeDataToDht(toDhtAddress(entry.key), entry.data!)
43
43
  expect(successfulStorers.length).toBeGreaterThan(4)
44
- await storingNode.deleteDataFromDht(getDhtAddressFromRaw(entry.key), true)
44
+ await storingNode.deleteDataFromDht(toDhtAddress(entry.key), true)
45
45
  // Wait for the delete operation to propagate
46
46
  await wait(500)
47
47
  const fetchingNode = getRandomNode()
48
- const results = await fetchingNode.fetchDataFromDht(getDhtAddressFromRaw(entry.key))
48
+ const results = await fetchingNode.fetchDataFromDht(toDhtAddress(entry.key))
49
49
  results.forEach((result) => {
50
50
  expect(result.deleted).toBeTrue()
51
51
  expectEqualData(result, entry)
@@ -55,20 +55,20 @@ describe('Storing data in DHT', () => {
55
55
  it('Data can be deleted and re-stored', async () => {
56
56
  const storingNode = getRandomNode()
57
57
  const entry = createMockDataEntry()
58
- const successfulStorers1 = await storingNode.storeDataToDht(getDhtAddressFromRaw(entry.key), entry.data!)
58
+ const successfulStorers1 = await storingNode.storeDataToDht(toDhtAddress(entry.key), entry.data!)
59
59
  expect(successfulStorers1.length).toBeGreaterThan(4)
60
- await storingNode.deleteDataFromDht(getDhtAddressFromRaw(entry.key), true)
60
+ await storingNode.deleteDataFromDht(toDhtAddress(entry.key), true)
61
61
  // Wait for the delete operation to propagate
62
62
  await wait(500)
63
63
  const fetchingNode = getRandomNode()
64
- const results1 = await fetchingNode.fetchDataFromDht(getDhtAddressFromRaw(entry.key))
64
+ const results1 = await fetchingNode.fetchDataFromDht(toDhtAddress(entry.key))
65
65
  results1.forEach((result) => {
66
66
  expect(result.deleted).toBeTrue()
67
67
  expectEqualData(result, entry)
68
68
  })
69
- const successfulStorers2 = await storingNode.storeDataToDht(getDhtAddressFromRaw(entry.key), entry.data!)
69
+ const successfulStorers2 = await storingNode.storeDataToDht(toDhtAddress(entry.key), entry.data!)
70
70
  expect(successfulStorers2.length).toBeGreaterThan(4)
71
- const results2 = await fetchingNode.fetchDataFromDht(getDhtAddressFromRaw(entry.key))
71
+ const results2 = await fetchingNode.fetchDataFromDht(toDhtAddress(entry.key))
72
72
  results2.forEach((result) => {
73
73
  expect(result.deleted).toBeFalse()
74
74
  expectEqualData(result, entry)
@@ -2,7 +2,7 @@ import { createMockConnectionDhtNode } from '../utils/utils'
2
2
  import { DhtNode } from '../../src/dht/DhtNode'
3
3
  import { Simulator } from '../../src/connection/simulator/Simulator'
4
4
  import { createMockDataEntry, expectEqualData } from '../utils/mock/mockDataEntry'
5
- import { getDhtAddressFromRaw } from '../../src/identifiers'
5
+ import { toDhtAddress } from '../../src/identifiers'
6
6
 
7
7
  describe('Storing data in DHT with two peers', () => {
8
8
 
@@ -34,22 +34,22 @@ describe('Storing data in DHT with two peers', () => {
34
34
  await entryPoint.stop()
35
35
  await node1.stop()
36
36
  await node2.stop()
37
- simulator?.stop()
37
+ simulator!.stop()
38
38
  })
39
39
 
40
40
  it('Node can store on three peer DHT', async () => {
41
41
  const storedData1 = createMockDataEntry()
42
42
  const storedData2 = createMockDataEntry()
43
43
  // Here we effectively test that fetching "null" data doesn't take too long. A test timeout here indicates an issue.
44
- await node1.fetchDataFromDht(getDhtAddressFromRaw(storedData1.key))
45
- await node2.fetchDataFromDht(getDhtAddressFromRaw(storedData1.key))
44
+ await node1.fetchDataFromDht(toDhtAddress(storedData1.key))
45
+ await node2.fetchDataFromDht(toDhtAddress(storedData1.key))
46
46
 
47
- await node1.storeDataToDht(getDhtAddressFromRaw(storedData1.key), storedData1.data!)
48
- await node2.storeDataToDht(getDhtAddressFromRaw(storedData1.key), storedData1.data!)
49
- await entryPoint.storeDataToDht(getDhtAddressFromRaw(storedData2.key), storedData2.data!)
50
- const foundData1 = await node1.fetchDataFromDht(getDhtAddressFromRaw(storedData1.key))
51
- const foundData2 = await node2.fetchDataFromDht(getDhtAddressFromRaw(storedData1.key))
52
- const foundData3 = await entryPoint.fetchDataFromDht(getDhtAddressFromRaw(storedData2.key))
47
+ await node1.storeDataToDht(toDhtAddress(storedData1.key), storedData1.data!)
48
+ await node2.storeDataToDht(toDhtAddress(storedData1.key), storedData1.data!)
49
+ await entryPoint.storeDataToDht(toDhtAddress(storedData2.key), storedData2.data!)
50
+ const foundData1 = await node1.fetchDataFromDht(toDhtAddress(storedData1.key))
51
+ const foundData2 = await node2.fetchDataFromDht(toDhtAddress(storedData1.key))
52
+ const foundData3 = await entryPoint.fetchDataFromDht(toDhtAddress(storedData2.key))
53
53
  expectEqualData(foundData1[0], storedData1)
54
54
  expectEqualData(foundData1[1], storedData1)
55
55
  expectEqualData(foundData2[0], storedData1)
@@ -1,9 +1,9 @@
1
1
  import { createMockConnectionDhtNode } from '../utils/utils'
2
2
  import { DhtNode } from '../../src/dht/DhtNode'
3
3
  import { Simulator } from '../../src/connection/simulator/Simulator'
4
- import { waitForCondition } from '@streamr/utils'
4
+ import { until } from '@streamr/utils'
5
5
  import { createMockDataEntry, expectEqualData } from '../utils/mock/mockDataEntry'
6
- import { getDhtAddressFromRaw } from '../../src/identifiers'
6
+ import { toDhtAddress } from '../../src/identifiers'
7
7
 
8
8
  describe('Storing data in DHT with two peers', () => {
9
9
 
@@ -26,26 +26,26 @@ describe('Storing data in DHT with two peers', () => {
26
26
  afterEach(async () => {
27
27
  await entryPoint.stop()
28
28
  await otherNode.stop()
29
- simulator?.stop()
29
+ simulator!.stop()
30
30
  })
31
31
 
32
32
  it('Node can store on two peer DHT', async () => {
33
33
  const storedData1 = createMockDataEntry()
34
34
  const storedData2 = createMockDataEntry()
35
- await otherNode.storeDataToDht(getDhtAddressFromRaw(storedData1.key), storedData1.data!)
36
- await entryPoint.storeDataToDht(getDhtAddressFromRaw(storedData2.key), storedData2.data!)
37
- const foundData1 = await otherNode.fetchDataFromDht(getDhtAddressFromRaw(storedData1.key))
38
- const foundData2 = await entryPoint.fetchDataFromDht(getDhtAddressFromRaw(storedData2.key))
35
+ await otherNode.storeDataToDht(toDhtAddress(storedData1.key), storedData1.data!)
36
+ await entryPoint.storeDataToDht(toDhtAddress(storedData2.key), storedData2.data!)
37
+ const foundData1 = await otherNode.fetchDataFromDht(toDhtAddress(storedData1.key))
38
+ const foundData2 = await entryPoint.fetchDataFromDht(toDhtAddress(storedData2.key))
39
39
  expectEqualData(foundData1[0], storedData1)
40
40
  expectEqualData(foundData2[0], storedData2)
41
41
  })
42
42
 
43
43
  it('Can store on one peer DHT', async () => {
44
44
  await otherNode.stop()
45
- await waitForCondition(() => entryPoint.getNeighborCount() === 0)
45
+ await until(() => entryPoint.getNeighborCount() === 0)
46
46
  const storedData = createMockDataEntry()
47
- await entryPoint.storeDataToDht(getDhtAddressFromRaw(storedData.key), storedData.data!)
48
- const foundData = await entryPoint.fetchDataFromDht(getDhtAddressFromRaw(storedData.key))
47
+ await entryPoint.storeDataToDht(toDhtAddress(storedData.key), storedData.data!)
48
+ const foundData = await entryPoint.fetchDataFromDht(toDhtAddress(storedData.key))
49
49
  expectEqualData(foundData[0], storedData)
50
50
  }, 60000)
51
51
  })
@@ -2,14 +2,14 @@ import { RpcCommunicator } from '@streamr/proto-rpc'
2
2
  import {
3
3
  StoreDataRequest,
4
4
  StoreDataResponse
5
- } from '../../src/proto/packages/dht/protos/DhtRpc'
5
+ } from '../../generated/packages/dht/protos/DhtRpc'
6
6
  import { createMockPeerDescriptor, mockStoreRpc } from '../utils/utils'
7
- import { RpcMessage } from '../../src/proto/packages/proto-rpc/protos/ProtoRpc'
8
- import { StoreRpcClient } from '../../src/proto/packages/dht/protos/DhtRpc.client'
7
+ import { RpcMessage } from '../../generated/packages/proto-rpc/protos/ProtoRpc'
8
+ import { StoreRpcClient } from '../../generated/packages/dht/protos/DhtRpc.client'
9
9
  import { StoreRpcRemote } from '../../src/dht/store/StoreRpcRemote'
10
10
  import { createMockDataEntry } from '../utils/mock/mockDataEntry'
11
11
  import { DhtCallContext } from '../../src/rpc-protocol/DhtCallContext'
12
- import { createRandomDhtAddress, getNodeIdFromPeerDescriptor, getRawFromDhtAddress } from '../../src/identifiers'
12
+ import { randomDhtAddress, toNodeId, toDhtAddressRaw } from '../../src/identifiers'
13
13
 
14
14
  describe('StoreRpcRemote', () => {
15
15
 
@@ -22,7 +22,7 @@ describe('StoreRpcRemote', () => {
22
22
  const request: StoreDataRequest = {
23
23
  key: data.key,
24
24
  data: data.data,
25
- creator: getRawFromDhtAddress(createRandomDhtAddress()),
25
+ creator: toDhtAddressRaw(randomDhtAddress()),
26
26
  ttl: 10
27
27
  }
28
28
 
@@ -30,11 +30,11 @@ describe('StoreRpcRemote', () => {
30
30
  clientRpcCommunicator = new RpcCommunicator()
31
31
  serverRpcCommunicator = new RpcCommunicator()
32
32
  serverRpcCommunicator.registerRpcMethod(StoreDataRequest, StoreDataResponse, 'storeData', mockStoreRpc.storeData)
33
- clientRpcCommunicator.on('outgoingMessage', (message: RpcMessage) => {
34
- serverRpcCommunicator.handleIncomingMessage(message)
33
+ clientRpcCommunicator.setOutgoingMessageListener(async (message: RpcMessage) => {
34
+ serverRpcCommunicator.handleIncomingMessage(message, new DhtCallContext())
35
35
  })
36
- serverRpcCommunicator.on('outgoingMessage', (message: RpcMessage) => {
37
- clientRpcCommunicator.handleIncomingMessage(message)
36
+ serverRpcCommunicator.setOutgoingMessageListener(async (message: RpcMessage) => {
37
+ clientRpcCommunicator.handleIncomingMessage(message, new DhtCallContext())
38
38
  })
39
39
  rpcRemote = new StoreRpcRemote(clientPeerDescriptor, serverPeerDescriptor, clientRpcCommunicator, StoreRpcClient)
40
40
  })
@@ -45,9 +45,9 @@ describe('StoreRpcRemote', () => {
45
45
 
46
46
  it('storeData rejects', async () => {
47
47
  serverRpcCommunicator.registerRpcMethod(StoreDataRequest, StoreDataResponse, 'storeData', mockStoreRpc.throwStoreDataError)
48
- await expect(rpcRemote.storeData(request)).rejects.toThrowError(
48
+ await expect(rpcRemote.storeData(request)).rejects.toThrow(
49
49
  'Could not store data to'
50
- + ` ${getNodeIdFromPeerDescriptor(serverPeerDescriptor)} from ${getNodeIdFromPeerDescriptor(clientPeerDescriptor)}`
50
+ + ` ${toNodeId(serverPeerDescriptor)} from ${toNodeId(clientPeerDescriptor)}`
51
51
  + ' Error: Mock'
52
52
  )
53
53
  })