@streamr/trackerless-network 102.0.0-beta.0 → 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 (209) hide show
  1. package/dist/generated/google/protobuf/any.js.map +1 -0
  2. package/dist/generated/google/protobuf/empty.js.map +1 -0
  3. package/dist/generated/google/protobuf/timestamp.js.map +1 -0
  4. package/dist/{src/proto → generated}/packages/dht/protos/DhtRpc.client.d.ts +9 -0
  5. package/dist/{src/proto → generated}/packages/dht/protos/DhtRpc.client.js +7 -0
  6. package/dist/generated/packages/dht/protos/DhtRpc.client.js.map +1 -0
  7. package/dist/{src/proto → generated}/packages/dht/protos/DhtRpc.d.ts +32 -8
  8. package/dist/{src/proto → generated}/packages/dht/protos/DhtRpc.js +23 -7
  9. package/dist/generated/packages/dht/protos/DhtRpc.js.map +1 -0
  10. package/dist/{src/proto → generated}/packages/dht/protos/DhtRpc.server.d.ts +5 -0
  11. package/dist/generated/packages/dht/protos/DhtRpc.server.js.map +1 -0
  12. package/dist/generated/packages/proto-rpc/protos/ProtoRpc.js.map +1 -0
  13. package/dist/generated/packages/trackerless-network/protos/NetworkRpc.client.js.map +1 -0
  14. package/dist/{src/proto → generated}/packages/trackerless-network/protos/NetworkRpc.d.ts +3 -3
  15. package/dist/{src/proto → generated}/packages/trackerless-network/protos/NetworkRpc.js +1 -1
  16. package/dist/generated/packages/trackerless-network/protos/NetworkRpc.js.map +1 -0
  17. package/dist/generated/packages/trackerless-network/protos/NetworkRpc.server.js.map +1 -0
  18. package/dist/package.json +9 -10
  19. package/dist/src/NetworkNode.d.ts +4 -3
  20. package/dist/src/NetworkNode.js.map +1 -1
  21. package/dist/src/NetworkStack.d.ts +2 -2
  22. package/dist/src/NetworkStack.js +4 -4
  23. package/dist/src/NetworkStack.js.map +1 -1
  24. package/dist/src/exports.d.ts +3 -2
  25. package/dist/src/exports.js +3 -2
  26. package/dist/src/exports.js.map +1 -1
  27. package/dist/src/logic/ContentDeliveryLayerNode.d.ts +2 -1
  28. package/dist/src/logic/ContentDeliveryLayerNode.js +5 -5
  29. package/dist/src/logic/ContentDeliveryLayerNode.js.map +1 -1
  30. package/dist/src/logic/ContentDeliveryManager.d.ts +2 -1
  31. package/dist/src/logic/ContentDeliveryManager.js +2 -1
  32. package/dist/src/logic/ContentDeliveryManager.js.map +1 -1
  33. package/dist/src/logic/ContentDeliveryRpcLocal.d.ts +3 -3
  34. package/dist/src/logic/ContentDeliveryRpcLocal.js +1 -1
  35. package/dist/src/logic/ContentDeliveryRpcLocal.js.map +1 -1
  36. package/dist/src/logic/ContentDeliveryRpcRemote.d.ts +2 -2
  37. package/dist/src/logic/ControlLayerNode.d.ts +1 -1
  38. package/dist/src/logic/DiscoveryLayerNode.d.ts +3 -3
  39. package/dist/src/logic/DuplicateMessageDetector.js +1 -1
  40. package/dist/src/logic/DuplicateMessageDetector.js.map +1 -1
  41. package/dist/src/logic/PeerDescriptorStoreManager.d.ts +1 -1
  42. package/dist/src/logic/PeerDescriptorStoreManager.js +1 -1
  43. package/dist/src/logic/PeerDescriptorStoreManager.js.map +1 -1
  44. package/dist/src/logic/inspect/InspectSession.d.ts +2 -2
  45. package/dist/src/logic/inspect/InspectSession.js +2 -2
  46. package/dist/src/logic/inspect/InspectSession.js.map +1 -1
  47. package/dist/src/logic/inspect/Inspector.d.ts +1 -1
  48. package/dist/src/logic/inspect/Inspector.js +1 -1
  49. package/dist/src/logic/inspect/Inspector.js.map +1 -1
  50. package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.d.ts +2 -2
  51. package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.d.ts +2 -2
  52. package/dist/src/logic/neighbor-discovery/Handshaker.js +2 -2
  53. package/dist/src/logic/neighbor-discovery/Handshaker.js.map +1 -1
  54. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js +2 -2
  55. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js.map +1 -1
  56. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.d.ts +2 -2
  57. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js +1 -1
  58. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js.map +1 -1
  59. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.d.ts +1 -1
  60. package/dist/src/logic/node-info/NodeInfoClient.d.ts +1 -1
  61. package/dist/src/logic/node-info/NodeInfoClient.js +1 -1
  62. package/dist/src/logic/node-info/NodeInfoClient.js.map +1 -1
  63. package/dist/src/logic/node-info/NodeInfoRpcLocal.d.ts +2 -2
  64. package/dist/src/logic/node-info/NodeInfoRpcLocal.js +1 -1
  65. package/dist/src/logic/node-info/NodeInfoRpcLocal.js.map +1 -1
  66. package/dist/src/logic/node-info/NodeInfoRpcRemote.d.ts +2 -2
  67. package/dist/src/logic/propagation/Propagation.d.ts +1 -1
  68. package/dist/src/logic/propagation/PropagationTaskStore.d.ts +1 -1
  69. package/dist/src/logic/proxy/ProxyClient.d.ts +1 -2
  70. package/dist/src/logic/proxy/ProxyClient.js +2 -3
  71. package/dist/src/logic/proxy/ProxyClient.js.map +1 -1
  72. package/dist/src/logic/proxy/ProxyConnectionRpcLocal.d.ts +2 -2
  73. package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js +4 -4
  74. package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js.map +1 -1
  75. package/dist/src/logic/proxy/ProxyConnectionRpcRemote.d.ts +2 -2
  76. package/dist/src/logic/proxy/ProxyConnectionRpcRemote.js +1 -1
  77. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.d.ts +4 -4
  78. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js +1 -1
  79. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js.map +1 -1
  80. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.d.ts +1 -1
  81. package/dist/src/logic/utils.d.ts +1 -1
  82. package/dist/src/logic/utils.js +2 -2
  83. package/dist/src/logic/utils.js.map +1 -1
  84. package/dist/src/types.d.ts +6 -0
  85. package/dist/src/types.js +3 -0
  86. package/dist/src/types.js.map +1 -0
  87. package/dist/test/benchmark/first-message.js +2 -2
  88. package/dist/test/benchmark/first-message.js.map +1 -1
  89. package/dist/test/utils/utils.d.ts +2 -2
  90. package/dist/test/utils/utils.js +5 -4
  91. package/dist/test/utils/utils.js.map +1 -1
  92. package/jest.config.ts +13 -0
  93. package/package.json +9 -10
  94. package/proto.sh +2 -2
  95. package/protos/NetworkRpc.proto +2 -3
  96. package/src/NetworkNode.ts +4 -3
  97. package/src/NetworkStack.ts +6 -7
  98. package/src/exports.ts +5 -3
  99. package/src/logic/ContentDeliveryLayerNode.ts +6 -6
  100. package/src/logic/ContentDeliveryManager.ts +4 -2
  101. package/src/logic/ContentDeliveryRpcLocal.ts +3 -3
  102. package/src/logic/ContentDeliveryRpcRemote.ts +2 -2
  103. package/src/logic/ControlLayerNode.ts +1 -1
  104. package/src/logic/DiscoveryLayerNode.ts +3 -3
  105. package/src/logic/DuplicateMessageDetector.ts +2 -2
  106. package/src/logic/PeerDescriptorStoreManager.ts +1 -1
  107. package/src/logic/createContentDeliveryLayerNode.ts +1 -1
  108. package/src/logic/inspect/InspectSession.ts +5 -4
  109. package/src/logic/inspect/Inspector.ts +2 -2
  110. package/src/logic/neighbor-discovery/HandshakeRpcLocal.ts +2 -2
  111. package/src/logic/neighbor-discovery/HandshakeRpcRemote.ts +2 -2
  112. package/src/logic/neighbor-discovery/Handshaker.ts +2 -2
  113. package/src/logic/neighbor-discovery/NeighborUpdateManager.ts +2 -2
  114. package/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts +3 -3
  115. package/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.ts +2 -2
  116. package/src/logic/node-info/NodeInfoClient.ts +2 -2
  117. package/src/logic/node-info/NodeInfoRpcLocal.ts +2 -2
  118. package/src/logic/node-info/NodeInfoRpcRemote.ts +2 -2
  119. package/src/logic/propagation/Propagation.ts +1 -1
  120. package/src/logic/propagation/PropagationTaskStore.ts +1 -1
  121. package/src/logic/proxy/ProxyClient.ts +2 -3
  122. package/src/logic/proxy/ProxyConnectionRpcLocal.ts +6 -6
  123. package/src/logic/proxy/ProxyConnectionRpcRemote.ts +4 -4
  124. package/src/logic/temporary-connection/TemporaryConnectionRpcLocal.ts +5 -5
  125. package/src/logic/temporary-connection/TemporaryConnectionRpcRemote.ts +1 -1
  126. package/src/logic/utils.ts +4 -4
  127. package/src/types.ts +13 -0
  128. package/test/benchmark/first-message.ts +4 -2
  129. package/test/end-to-end/content-delivery-layer-node-with-real-connections.test.ts +9 -4
  130. package/test/end-to-end/external-network-rpc.test.ts +2 -2
  131. package/test/end-to-end/inspect.test.ts +4 -4
  132. package/test/end-to-end/proxy-and-full-node.test.ts +3 -3
  133. package/test/end-to-end/proxy-connections.test.ts +10 -12
  134. package/test/end-to-end/proxy-key-exchange.test.ts +6 -6
  135. package/test/end-to-end/webrtc-full-node-network.test.ts +3 -5
  136. package/test/end-to-end/websocket-full-node-network.test.ts +4 -6
  137. package/test/integration/ContentDeliveryLayerNode-Layer1Node-Latencies.test.ts +7 -7
  138. package/test/integration/ContentDeliveryLayerNode-Layer1Node.test.ts +6 -6
  139. package/test/integration/ContentDeliveryManager.test.ts +17 -14
  140. package/test/integration/ContentDeliveryRpcRemote.test.ts +6 -6
  141. package/test/integration/HandshakeRpcRemote.test.ts +2 -2
  142. package/test/integration/Handshakes.test.ts +15 -50
  143. package/test/integration/NeighborUpdateRpcRemote.test.ts +2 -2
  144. package/test/integration/NetworkNode.test.ts +5 -5
  145. package/test/integration/NetworkRpc.test.ts +6 -6
  146. package/test/integration/NetworkStack.test.ts +2 -2
  147. package/test/integration/NodeInfoRpc.test.ts +3 -3
  148. package/test/integration/Propagation.test.ts +4 -4
  149. package/test/integration/joining-streams-on-offline-peers.test.ts +3 -3
  150. package/test/integration/stream-without-default-entrypoints.test.ts +8 -8
  151. package/test/integration/streamEntryPointReplacing.test.ts +3 -3
  152. package/test/types/global.d.ts +0 -1
  153. package/test/unit/ContentDeliveryLayerNode.test.ts +4 -4
  154. package/test/unit/ContentDeliveryManager.test.ts +5 -4
  155. package/test/unit/ContentDeliveryRpcLocal.test.ts +1 -1
  156. package/test/unit/DuplicateMessageDetector.test.ts +10 -10
  157. package/test/unit/ExternalNetworkRpc.test.ts +3 -3
  158. package/test/unit/HandshakeRpcLocal.test.ts +1 -14
  159. package/test/unit/InspectSession.test.ts +4 -1
  160. package/test/unit/Inspector.test.ts +1 -1
  161. package/test/unit/NeighborFinder.test.ts +2 -2
  162. package/test/unit/NeighborUpdateRpcLocal.test.ts +1 -1
  163. package/test/unit/NetworkNode.test.ts +3 -3
  164. package/test/unit/NodeList.test.ts +1 -1
  165. package/test/unit/PeerDescriptorStoreManager.test.ts +2 -2
  166. package/test/unit/Propagation.test.ts +4 -4
  167. package/test/unit/ProxyConnectionRpcRemote.test.ts +2 -2
  168. package/test/unit/StreamPartReconnect.test.ts +2 -2
  169. package/test/utils/mock/MockNeighborUpdateManager.ts +1 -1
  170. package/test/utils/utils.ts +6 -5
  171. package/tsconfig.browser.json +1 -0
  172. package/tsconfig.jest.json +1 -0
  173. package/tsconfig.node.json +1 -0
  174. package/.eslintignore +0 -7
  175. package/.eslintrc +0 -3
  176. package/dist/src/proto/google/protobuf/any.js.map +0 -1
  177. package/dist/src/proto/google/protobuf/empty.js.map +0 -1
  178. package/dist/src/proto/google/protobuf/timestamp.js.map +0 -1
  179. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +0 -1
  180. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +0 -1
  181. package/dist/src/proto/packages/dht/protos/DhtRpc.server.js.map +0 -1
  182. package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js.map +0 -1
  183. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js.map +0 -1
  184. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js.map +0 -1
  185. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.server.js.map +0 -1
  186. package/jest.config.js +0 -8
  187. package/src/proto/google/protobuf/any.ts +0 -326
  188. package/src/proto/google/protobuf/empty.ts +0 -81
  189. package/src/proto/google/protobuf/timestamp.ts +0 -287
  190. package/src/proto/packages/dht/protos/DhtRpc.client.ts +0 -407
  191. package/src/proto/packages/dht/protos/DhtRpc.server.ts +0 -160
  192. package/src/proto/packages/dht/protos/DhtRpc.ts +0 -1244
  193. package/src/proto/packages/proto-rpc/protos/ProtoRpc.ts +0 -108
  194. package/src/proto/packages/trackerless-network/protos/NetworkRpc.client.ts +0 -218
  195. package/src/proto/packages/trackerless-network/protos/NetworkRpc.server.ts +0 -85
  196. package/src/proto/packages/trackerless-network/protos/NetworkRpc.ts +0 -783
  197. /package/dist/{src/proto → generated}/google/protobuf/any.d.ts +0 -0
  198. /package/dist/{src/proto → generated}/google/protobuf/any.js +0 -0
  199. /package/dist/{src/proto → generated}/google/protobuf/empty.d.ts +0 -0
  200. /package/dist/{src/proto → generated}/google/protobuf/empty.js +0 -0
  201. /package/dist/{src/proto → generated}/google/protobuf/timestamp.d.ts +0 -0
  202. /package/dist/{src/proto → generated}/google/protobuf/timestamp.js +0 -0
  203. /package/dist/{src/proto → generated}/packages/dht/protos/DhtRpc.server.js +0 -0
  204. /package/dist/{src/proto → generated}/packages/proto-rpc/protos/ProtoRpc.d.ts +0 -0
  205. /package/dist/{src/proto → generated}/packages/proto-rpc/protos/ProtoRpc.js +0 -0
  206. /package/dist/{src/proto → generated}/packages/trackerless-network/protos/NetworkRpc.client.d.ts +0 -0
  207. /package/dist/{src/proto → generated}/packages/trackerless-network/protos/NetworkRpc.client.js +0 -0
  208. /package/dist/{src/proto → generated}/packages/trackerless-network/protos/NetworkRpc.server.d.ts +0 -0
  209. /package/dist/{src/proto → generated}/packages/trackerless-network/protos/NetworkRpc.server.js +0 -0
@@ -1,5 +1,5 @@
1
1
  import { randomUserId } from '@streamr/test-utils'
2
- import { StreamPartID, StreamPartIDUtils, hexToBinary, utf8ToBinary, waitForEvent3 } from '@streamr/utils'
2
+ import { StreamPartID, StreamPartIDUtils, hexToBinary, toUserIdRaw, utf8ToBinary, waitForEvent3 } from '@streamr/utils'
3
3
  import { NetworkNode, createNetworkNode } from '../../src/NetworkNode'
4
4
  import {
5
5
  ContentType,
@@ -7,7 +7,7 @@ import {
7
7
  ProxyDirection,
8
8
  SignatureType,
9
9
  StreamMessage
10
- } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc'
10
+ } from '../../generated/packages/trackerless-network/protos/NetworkRpc'
11
11
  import { createMockPeerDescriptor } from '../utils/utils'
12
12
 
13
13
  const PROXIED_NODE_USER_ID = randomUserId()
@@ -19,7 +19,7 @@ const createMessage = (streamPartId: StreamPartID): StreamMessage => {
19
19
  streamPartition: StreamPartIDUtils.getStreamPartition(streamPartId),
20
20
  timestamp: 666,
21
21
  sequenceNumber: 0,
22
- publisherId: hexToBinary(randomUserId()),
22
+ publisherId: toUserIdRaw(randomUserId()),
23
23
  messageChainId: 'msgChainId'
24
24
  },
25
25
  previousMessageRef: {
@@ -1,6 +1,6 @@
1
1
  import { DhtAddress } from '@streamr/dht'
2
2
  import { randomUserId } from '@streamr/test-utils'
3
- import { StreamPartIDUtils, hexToBinary, utf8ToBinary, wait, waitForCondition, waitForEvent3 } from '@streamr/utils'
3
+ import { StreamPartIDUtils, hexToBinary, toUserIdRaw, utf8ToBinary, wait, until, waitForEvent3 } from '@streamr/utils'
4
4
  import { NetworkNode, createNetworkNode } from '../../src/NetworkNode'
5
5
  import { ContentDeliveryLayerNode } from '../../src/logic/ContentDeliveryLayerNode'
6
6
  import { ProxyClient } from '../../src/logic/proxy/ProxyClient'
@@ -10,7 +10,7 @@ import {
10
10
  ProxyDirection,
11
11
  SignatureType,
12
12
  StreamMessage
13
- } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc'
13
+ } from '../../generated/packages/trackerless-network/protos/NetworkRpc'
14
14
  import { createMockPeerDescriptor } from '../utils/utils'
15
15
 
16
16
  const PROXIED_NODE_USER_ID = randomUserId()
@@ -21,7 +21,7 @@ const MESSAGE: StreamMessage = {
21
21
  streamPartition: StreamPartIDUtils.getStreamPartition(STREAM_PART_ID),
22
22
  timestamp: 666,
23
23
  sequenceNumber: 0,
24
- publisherId: hexToBinary(randomUserId()),
24
+ publisherId: toUserIdRaw(randomUserId()),
25
25
  messageChainId: 'msgChainId'
26
26
  },
27
27
  previousMessageRef: {
@@ -79,7 +79,6 @@ describe('Proxy connections', () => {
79
79
  }
80
80
  })
81
81
  await proxyNode1.start()
82
- proxyNode1.setStreamPartEntryPoints(STREAM_PART_ID, [proxyNodeDescriptor1])
83
82
  proxyNode1.stack.getContentDeliveryManager().joinStreamPart(STREAM_PART_ID)
84
83
  proxyNode2 = createNetworkNode({
85
84
  layer0: {
@@ -92,7 +91,6 @@ describe('Proxy connections', () => {
92
91
  }
93
92
  })
94
93
  await proxyNode2.start()
95
- proxyNode2.setStreamPartEntryPoints(STREAM_PART_ID, [proxyNodeDescriptor1])
96
94
  proxyNode2.stack.getContentDeliveryManager().joinStreamPart(STREAM_PART_ID)
97
95
  proxiedNode = createNetworkNode({
98
96
  layer0: {
@@ -131,7 +129,7 @@ describe('Proxy connections', () => {
131
129
  expect(hasConnectionFromProxy(proxyNode1)).toBe(true)
132
130
  await proxiedNode.setProxies(STREAM_PART_ID, [], ProxyDirection.PUBLISH, PROXIED_NODE_USER_ID, 0)
133
131
  expect(proxiedNode.hasStreamPart(STREAM_PART_ID)).toBe(false)
134
- await waitForCondition(() => hasConnectionFromProxy(proxyNode1) === false)
132
+ await until(() => hasConnectionFromProxy(proxyNode1) === false)
135
133
  })
136
134
 
137
135
  it('can leave proxy subscribe connection', async () => {
@@ -140,7 +138,7 @@ describe('Proxy connections', () => {
140
138
  expect(hasConnectionFromProxy(proxyNode1)).toBe(true)
141
139
  await proxiedNode.setProxies(STREAM_PART_ID, [], ProxyDirection.SUBSCRIBE, PROXIED_NODE_USER_ID, 0)
142
140
  expect(proxiedNode.hasStreamPart(STREAM_PART_ID)).toBe(false)
143
- await waitForCondition(() => hasConnectionFromProxy(proxyNode1) === false)
141
+ await until(() => hasConnectionFromProxy(proxyNode1) === false)
144
142
  })
145
143
 
146
144
  it('can open multiple proxy connections', async () => {
@@ -167,7 +165,7 @@ describe('Proxy connections', () => {
167
165
  expect(hasConnectionFromProxy(proxyNode2)).toBe(true)
168
166
  await proxiedNode.setProxies(STREAM_PART_ID, [proxyNode1.getPeerDescriptor()], ProxyDirection.SUBSCRIBE, PROXIED_NODE_USER_ID)
169
167
  expect(proxiedNode.hasStreamPart(STREAM_PART_ID)).toBe(true)
170
- await waitForCondition(() => hasConnectionFromProxy(proxyNode2) === false)
168
+ await until(() => hasConnectionFromProxy(proxyNode2) === false)
171
169
  expect(hasConnectionFromProxy(proxyNode1)).toBe(true)
172
170
  })
173
171
 
@@ -184,8 +182,8 @@ describe('Proxy connections', () => {
184
182
 
185
183
  await proxiedNode.setProxies(STREAM_PART_ID, [], ProxyDirection.SUBSCRIBE, PROXIED_NODE_USER_ID)
186
184
  expect(proxiedNode.hasStreamPart(STREAM_PART_ID)).toBe(false)
187
- await waitForCondition(() => hasConnectionFromProxy(proxyNode1) === false)
188
- await waitForCondition(() => hasConnectionFromProxy(proxyNode2) === false)
185
+ await until(() => hasConnectionFromProxy(proxyNode1) === false)
186
+ await until(() => hasConnectionFromProxy(proxyNode2) === false)
189
187
  })
190
188
 
191
189
  it('will reconnect if proxy node goes offline and comes back online', async () => {
@@ -197,10 +195,10 @@ describe('Proxy connections', () => {
197
195
  )
198
196
  expect(proxiedNode.hasStreamPart(STREAM_PART_ID)).toBe(true)
199
197
  await proxyNode1.leave(STREAM_PART_ID)
200
- await waitForCondition(() => hasConnectionToProxy(proxyNode1.getNodeId(), ProxyDirection.SUBSCRIBE))
198
+ await until(() => hasConnectionToProxy(proxyNode1.getNodeId(), ProxyDirection.SUBSCRIBE))
201
199
  expect(hasConnectionFromProxy(proxyNode1)).toBe(false)
202
200
  proxyNode1.stack.getContentDeliveryManager().joinStreamPart(STREAM_PART_ID)
203
- await waitForCondition(() => hasConnectionToProxy(proxyNode1.getNodeId(), ProxyDirection.SUBSCRIBE), 25000)
201
+ await until(() => hasConnectionToProxy(proxyNode1.getNodeId(), ProxyDirection.SUBSCRIBE), 25000)
204
202
  // TODO why wait is needed?
205
203
  await wait(100)
206
204
  expect(hasConnectionFromProxy(proxyNode1)).toBe(true)
@@ -2,10 +2,11 @@ import { randomUserId } from '@streamr/test-utils'
2
2
  import {
3
3
  StreamPartIDUtils,
4
4
  hexToBinary,
5
+ toUserIdRaw,
5
6
  waitForEvent3
6
7
  } from '@streamr/utils'
7
8
  import { NetworkNode, createNetworkNode } from '../../src/NetworkNode'
8
- import { ProxyDirection, SignatureType, StreamMessage } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc'
9
+ import { ProxyDirection, SignatureType, StreamMessage } from '../../generated/packages/trackerless-network/protos/NetworkRpc'
9
10
  import { createMockPeerDescriptor } from '../utils/utils'
10
11
 
11
12
  const STREAM_PART_ID = StreamPartIDUtils.parse('proxy-test#0')
@@ -36,7 +37,6 @@ describe('proxy group key exchange', () => {
36
37
  }
37
38
  })
38
39
  await proxyNode.start()
39
- proxyNode.setStreamPartEntryPoints(STREAM_PART_ID, [proxyNodeDescriptor])
40
40
  proxyNode.stack.getContentDeliveryManager().joinStreamPart(STREAM_PART_ID)
41
41
  publisher = createNetworkNode({
42
42
  layer0: {
@@ -71,14 +71,14 @@ describe('proxy group key exchange', () => {
71
71
  streamPartition: StreamPartIDUtils.getStreamPartition(STREAM_PART_ID),
72
72
  timestamp: Date.now(),
73
73
  sequenceNumber: 0,
74
- publisherId: hexToBinary(subscriberUserId),
74
+ publisherId: toUserIdRaw(subscriberUserId),
75
75
  messageChainId: '0'
76
76
  },
77
77
  body: {
78
78
  oneofKind: 'groupKeyRequest' as const,
79
79
  groupKeyRequest: {
80
80
  requestId: 'requestId',
81
- recipientId: hexToBinary(publisherUserId),
81
+ recipientId: toUserIdRaw(publisherUserId),
82
82
  rsaPublicKey: new Uint8Array(),
83
83
  groupKeyIds: ['mock']
84
84
  }
@@ -103,14 +103,14 @@ describe('proxy group key exchange', () => {
103
103
  streamPartition: StreamPartIDUtils.getStreamPartition(STREAM_PART_ID),
104
104
  timestamp: Date.now(),
105
105
  sequenceNumber: 0,
106
- publisherId: hexToBinary(publisherUserId),
106
+ publisherId: toUserIdRaw(publisherUserId),
107
107
  messageChainId: '0'
108
108
  },
109
109
  body: {
110
110
  oneofKind: 'groupKeyResponse' as const,
111
111
  groupKeyResponse: {
112
112
  requestId: 'requestId',
113
- recipientId: hexToBinary(publisherUserId),
113
+ recipientId: toUserIdRaw(publisherUserId),
114
114
  groupKeys: []
115
115
  }
116
116
  },
@@ -1,5 +1,5 @@
1
1
  import { toNodeId, getRandomRegion } from '@streamr/dht'
2
- import { StreamPartIDUtils, waitForCondition } from '@streamr/utils'
2
+ import { StreamPartIDUtils, until } from '@streamr/utils'
3
3
  import { range } from 'lodash'
4
4
  import { NetworkStack } from '../../src/NetworkStack'
5
5
  import { createMockPeerDescriptor, createStreamMessage } from '../utils/utils'
@@ -32,7 +32,6 @@ describe('Full node network with WebRTC connections', () => {
32
32
  }
33
33
  })
34
34
  await entryPoint.start()
35
- entryPoint.getContentDeliveryManager().setStreamPartEntryPoints(streamPartId, [epPeerDescriptor])
36
35
  entryPoint.getContentDeliveryManager().joinStreamPart(streamPartId)
37
36
 
38
37
  await Promise.all(range(NUM_OF_NODES).map(async () => {
@@ -45,7 +44,6 @@ describe('Full node network with WebRTC connections', () => {
45
44
  })
46
45
  nodes.push(node)
47
46
  await node.start()
48
- node.getContentDeliveryManager().setStreamPartEntryPoints(streamPartId, [epPeerDescriptor])
49
47
  node.getContentDeliveryManager().joinStreamPart(streamPartId)
50
48
  }))
51
49
 
@@ -60,7 +58,7 @@ describe('Full node network with WebRTC connections', () => {
60
58
 
61
59
  it('happy path', async () => {
62
60
  await Promise.all(nodes.map((node) =>
63
- waitForCondition(() => {
61
+ until(() => {
64
62
  return node.getContentDeliveryManager().getNeighbors(streamPartId).length >= 3
65
63
  }
66
64
  , 30000)
@@ -79,7 +77,7 @@ describe('Full node network with WebRTC connections', () => {
79
77
  randomUserId()
80
78
  )
81
79
  entryPoint.getContentDeliveryManager().broadcast(msg)
82
- await waitForCondition(() => receivedMessageCount === NUM_OF_NODES)
80
+ await until(() => receivedMessageCount === NUM_OF_NODES)
83
81
  }, 120000)
84
82
 
85
83
  })
@@ -1,5 +1,5 @@
1
1
  import { toNodeId } from '@streamr/dht'
2
- import { StreamPartIDUtils, waitForCondition } from '@streamr/utils'
2
+ import { StreamPartIDUtils, until } from '@streamr/utils'
3
3
  import { range } from 'lodash'
4
4
  import { NetworkStack } from '../../src/NetworkStack'
5
5
  import { createMockPeerDescriptor, createStreamMessage } from '../utils/utils'
@@ -7,7 +7,7 @@ import { randomUserId } from '@streamr/test-utils'
7
7
 
8
8
  describe('Full node network with WebSocket connections only', () => {
9
9
 
10
- const NUM_OF_NODES = 20
10
+ const NUM_OF_NODES = 12
11
11
  const epPeerDescriptor = createMockPeerDescriptor({
12
12
  websocket: { host: '127.0.0.1', port: 15555, tls: false }
13
13
  })
@@ -29,7 +29,6 @@ describe('Full node network with WebSocket connections only', () => {
29
29
  }
30
30
  })
31
31
  await entryPoint.start()
32
- entryPoint.getContentDeliveryManager().setStreamPartEntryPoints(streamPartId, [epPeerDescriptor])
33
32
  entryPoint.getContentDeliveryManager().joinStreamPart(streamPartId)
34
33
 
35
34
  await Promise.all(range(NUM_OF_NODES).map(async (i) => {
@@ -43,7 +42,6 @@ describe('Full node network with WebSocket connections only', () => {
43
42
  })
44
43
  nodes.push(node)
45
44
  await node.start()
46
- node.getContentDeliveryManager().setStreamPartEntryPoints(streamPartId, [epPeerDescriptor])
47
45
  node.getContentDeliveryManager().joinStreamPart(streamPartId)
48
46
  }))
49
47
 
@@ -58,7 +56,7 @@ describe('Full node network with WebSocket connections only', () => {
58
56
 
59
57
  it('happy path', async () => {
60
58
  await Promise.all(nodes.map((node) =>
61
- waitForCondition(() => {
59
+ until(() => {
62
60
  return node.getContentDeliveryManager().getNeighbors(streamPartId).length >= 4
63
61
  }
64
62
  , 30000)
@@ -78,7 +76,7 @@ describe('Full node network with WebSocket connections only', () => {
78
76
  randomUserId()
79
77
  )
80
78
  entryPoint.getContentDeliveryManager().broadcast(msg)
81
- await waitForCondition(() => receivedMessageCount === NUM_OF_NODES)
79
+ await until(() => receivedMessageCount === NUM_OF_NODES)
82
80
  }, 220000)
83
81
 
84
82
  })
@@ -1,5 +1,5 @@
1
1
  import { DhtNode, LatencyType, PeerDescriptor, Simulator, SimulatorTransport, toNodeId } from '@streamr/dht'
2
- import { StreamPartIDUtils, waitForCondition } from '@streamr/utils'
2
+ import { StreamPartIDUtils, until } from '@streamr/utils'
3
3
  import { range } from 'lodash'
4
4
  import { ContentDeliveryLayerNode } from '../../src/logic/ContentDeliveryLayerNode'
5
5
  import { DiscoveryLayerNode } from '../../src/logic/DiscoveryLayerNode'
@@ -72,8 +72,8 @@ describe('ContentDeliveryLayerNode-DhtNode-Latencies', () => {
72
72
  await otherContentDeliveryLayerNodes[0].start()
73
73
  await otherDiscoveryLayerNodes[0].joinDht([entrypointDescriptor])
74
74
  await Promise.all([
75
- waitForCondition(() => otherContentDeliveryLayerNodes[0].getNearbyNodeView().getIds().length === 1),
76
- waitForCondition(() => otherContentDeliveryLayerNodes[0].getNeighbors().length === 1)
75
+ until(() => otherContentDeliveryLayerNodes[0].getNearbyNodeView().getIds().length === 1),
76
+ until(() => otherContentDeliveryLayerNodes[0].getNeighbors().length === 1)
77
77
  ])
78
78
  expect(otherContentDeliveryLayerNodes[0].getNearbyNodeView().getIds().length).toEqual(1)
79
79
  expect(otherContentDeliveryLayerNodes[0].getNeighbors().length).toEqual(1)
@@ -84,7 +84,7 @@ describe('ContentDeliveryLayerNode-DhtNode-Latencies', () => {
84
84
  await Promise.all(range(4).map(async (i) => {
85
85
  await otherDiscoveryLayerNodes[i].joinDht([entrypointDescriptor])
86
86
  }))
87
- await waitForCondition(() => range(4).every((i) => otherContentDeliveryLayerNodes[i].getNeighbors().length >= 4), 15000, 1000)
87
+ await until(() => range(4).every((i) => otherContentDeliveryLayerNodes[i].getNeighbors().length >= 4), 15000, 1000)
88
88
  range(4).forEach((i) => {
89
89
  expect(otherContentDeliveryLayerNodes[i].getNearbyNodeView().getIds().length).toBeGreaterThanOrEqual(4)
90
90
  expect(otherContentDeliveryLayerNodes[i].getNeighbors().length).toBeGreaterThanOrEqual(4)
@@ -110,14 +110,14 @@ describe('ContentDeliveryLayerNode-DhtNode-Latencies', () => {
110
110
  otherDiscoveryLayerNodes[i].joinDht([entrypointDescriptor])
111
111
  }))
112
112
  await Promise.all(otherContentDeliveryLayerNodes.map((node) =>
113
- waitForCondition(() => node.getNeighbors().length >= 4, 10000)
113
+ until(() => node.getNeighbors().length >= 4, 10000)
114
114
  ))
115
115
 
116
116
  await Promise.all(otherContentDeliveryLayerNodes.map((node) =>
117
- waitForCondition(() => node.getOutgoingHandshakeCount() === 0)
117
+ until(() => node.getOutgoingHandshakeCount() === 0)
118
118
  ))
119
119
 
120
- await waitForCondition(() => {
120
+ await until(() => {
121
121
  let mismatchCounter = 0
122
122
  otherContentDeliveryLayerNodes.forEach((node) => {
123
123
  const nodeId = node.getOwnNodeId()
@@ -1,5 +1,5 @@
1
1
  import { ConnectionManager, DhtNode, PeerDescriptor, Simulator, SimulatorTransport, toNodeId, getRandomRegion } from '@streamr/dht'
2
- import { Logger, StreamPartIDUtils, waitForCondition } from '@streamr/utils'
2
+ import { Logger, StreamPartIDUtils, until } from '@streamr/utils'
3
3
  import { range } from 'lodash'
4
4
  import { ContentDeliveryLayerNode } from '../../src/logic/ContentDeliveryLayerNode'
5
5
  import { DiscoveryLayerNode } from '../../src/logic/DiscoveryLayerNode'
@@ -92,7 +92,7 @@ describe('ContentDeliveryLayerNode-DhtNode', () => {
92
92
  await otherContentDeliveryLayerNodes[0].start()
93
93
  await otherDiscoveryLayerNodes[0].joinDht([entrypointDescriptor])
94
94
 
95
- await waitForCondition(() => otherContentDeliveryLayerNodes[0].getNeighbors().length === 1)
95
+ await until(() => otherContentDeliveryLayerNodes[0].getNeighbors().length === 1)
96
96
  expect(otherContentDeliveryLayerNodes[0].getNearbyNodeView().getIds().length).toEqual(1)
97
97
  expect(otherContentDeliveryLayerNodes[0].getNeighbors().length).toEqual(1)
98
98
  })
@@ -103,7 +103,7 @@ describe('ContentDeliveryLayerNode-DhtNode', () => {
103
103
  await otherDiscoveryLayerNodes[i].joinDht([entrypointDescriptor])
104
104
  }))
105
105
 
106
- await waitForCondition(() => range(4).every((i) => otherContentDeliveryLayerNodes[i].getNeighbors().length === 4))
106
+ await until(() => range(4).every((i) => otherContentDeliveryLayerNodes[i].getNeighbors().length === 4))
107
107
  range(4).forEach((i) => {
108
108
  expect(otherContentDeliveryLayerNodes[i].getNearbyNodeView().getIds().length).toBeGreaterThanOrEqual(4)
109
109
  expect(otherContentDeliveryLayerNodes[i].getNeighbors().length).toBeGreaterThanOrEqual(4)
@@ -129,7 +129,7 @@ describe('ContentDeliveryLayerNode-DhtNode', () => {
129
129
  otherDiscoveryLayerNodes[i].joinDht([entrypointDescriptor])
130
130
  }))
131
131
  await Promise.all(otherContentDeliveryLayerNodes.map((node) =>
132
- waitForCondition(() => node.getNeighbors().length >= 4, 10000)
132
+ until(() => node.getNeighbors().length >= 4, 10000)
133
133
  ))
134
134
 
135
135
  const avg = otherContentDeliveryLayerNodes.reduce((acc, curr) => {
@@ -138,9 +138,9 @@ describe('ContentDeliveryLayerNode-DhtNode', () => {
138
138
 
139
139
  logger.info(`AVG Number of neighbors: ${avg}`)
140
140
  await Promise.all(otherContentDeliveryLayerNodes.map((node) =>
141
- waitForCondition(() => node.getOutgoingHandshakeCount() === 0)
141
+ until(() => node.getOutgoingHandshakeCount() === 0)
142
142
  ))
143
- await waitForCondition(() => {
143
+ await until(() => {
144
144
  let mismatchCounter = 0
145
145
  otherContentDeliveryLayerNodes.forEach((node) => {
146
146
  const nodeId = node.getOwnNodeId()
@@ -3,7 +3,7 @@ import {
3
3
  Simulator,
4
4
  SimulatorTransport
5
5
  } from '@streamr/dht'
6
- import { StreamPartIDUtils, waitForCondition, waitForEvent3, wait } from '@streamr/utils'
6
+ import { StreamPartIDUtils, until, waitForEvent3, wait } from '@streamr/utils'
7
7
  import { ContentDeliveryManager, Events } from '../../src/logic/ContentDeliveryManager'
8
8
  import { ControlLayerNode } from '../../src/logic/ControlLayerNode'
9
9
  import { createMockPeerDescriptor, createStreamMessage } from '../utils/utils'
@@ -84,8 +84,8 @@ describe('ContentDeliveryManager', () => {
84
84
  it('Joining stream', async () => {
85
85
  manager1.joinStreamPart(STREAM_PART_ID)
86
86
  manager2.joinStreamPart(STREAM_PART_ID)
87
- await waitForCondition(() => manager1.getNeighbors(STREAM_PART_ID).length === 1)
88
- await waitForCondition(() => manager2.getNeighbors(STREAM_PART_ID).length === 1)
87
+ await until(() => manager1.getNeighbors(STREAM_PART_ID).length === 1)
88
+ await until(() => manager2.getNeighbors(STREAM_PART_ID).length === 1)
89
89
  expect(manager1.getNeighbors(STREAM_PART_ID).length).toEqual(1)
90
90
  expect(manager2.getNeighbors(STREAM_PART_ID).length).toEqual(1)
91
91
  })
@@ -93,10 +93,11 @@ describe('ContentDeliveryManager', () => {
93
93
  it('Publishing after joining and waiting for neighbors', async () => {
94
94
  manager1.joinStreamPart(STREAM_PART_ID)
95
95
  manager2.joinStreamPart(STREAM_PART_ID)
96
- await waitForCondition(() => manager1.getNeighbors(STREAM_PART_ID).length === 1)
97
- await waitForCondition(() => manager2.getNeighbors(STREAM_PART_ID).length === 1)
96
+ await until(() => manager1.getNeighbors(STREAM_PART_ID).length === 1)
97
+ await until(() => manager2.getNeighbors(STREAM_PART_ID).length === 1)
98
98
  await Promise.all([
99
99
  waitForEvent3<Events>(manager1, 'newMessage'),
100
+ // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression
100
101
  manager2.broadcast(msg)
101
102
  ])
102
103
  })
@@ -110,10 +111,10 @@ describe('ContentDeliveryManager', () => {
110
111
  manager2.joinStreamPart(STREAM_PART_ID)
111
112
  manager2.joinStreamPart(streamPartId2)
112
113
  await Promise.all([
113
- waitForCondition(() => manager1.getNeighbors(STREAM_PART_ID).length === 1),
114
- waitForCondition(() => manager2.getNeighbors(STREAM_PART_ID).length === 1),
115
- waitForCondition(() => manager1.getNeighbors(streamPartId2).length === 1),
116
- waitForCondition(() => manager2.getNeighbors(streamPartId2).length === 1)
114
+ until(() => manager1.getNeighbors(STREAM_PART_ID).length === 1),
115
+ until(() => manager2.getNeighbors(STREAM_PART_ID).length === 1),
116
+ until(() => manager1.getNeighbors(streamPartId2).length === 1),
117
+ until(() => manager2.getNeighbors(streamPartId2).length === 1)
117
118
  ])
118
119
  const msg2 = createStreamMessage(
119
120
  JSON.stringify({ hello: 'WORLD' }),
@@ -123,7 +124,9 @@ describe('ContentDeliveryManager', () => {
123
124
  await Promise.all([
124
125
  waitForEvent3<Events>(manager1, 'newMessage'),
125
126
  waitForEvent3<Events>(manager2, 'newMessage'),
127
+ // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression
126
128
  manager1.broadcast(msg2),
129
+ // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression
127
130
  manager2.broadcast(msg)
128
131
  ])
129
132
  })
@@ -132,19 +135,19 @@ describe('ContentDeliveryManager', () => {
132
135
  manager1.joinStreamPart(STREAM_PART_ID)
133
136
  manager2.joinStreamPart(STREAM_PART_ID)
134
137
  await Promise.all([
135
- waitForCondition(() => manager1.getNeighbors(STREAM_PART_ID).length === 1),
136
- waitForCondition(() => manager2.getNeighbors(STREAM_PART_ID).length === 1)
138
+ until(() => manager1.getNeighbors(STREAM_PART_ID).length === 1),
139
+ until(() => manager2.getNeighbors(STREAM_PART_ID).length === 1)
137
140
  ])
138
141
  await manager2.leaveStreamPart(STREAM_PART_ID)
139
- await waitForCondition(() => manager1.getNeighbors(STREAM_PART_ID).length === 0)
142
+ await until(() => manager1.getNeighbors(STREAM_PART_ID).length === 0)
140
143
  })
141
144
 
142
145
  it('RTTs are updated for node info', async () => {
143
146
  manager1.joinStreamPart(STREAM_PART_ID)
144
147
  manager2.joinStreamPart(STREAM_PART_ID)
145
148
  await Promise.all([
146
- waitForCondition(() => manager1.getNeighbors(STREAM_PART_ID).length === 1),
147
- waitForCondition(() => manager2.getNeighbors(STREAM_PART_ID).length === 1)
149
+ until(() => manager1.getNeighbors(STREAM_PART_ID).length === 1),
150
+ until(() => manager2.getNeighbors(STREAM_PART_ID).length === 1)
148
151
  ])
149
152
  // Wait for RTTs to be updated
150
153
  await wait(500)
@@ -5,14 +5,14 @@ import {
5
5
  Simulator,
6
6
  SimulatorTransport
7
7
  } from '@streamr/dht'
8
- import { StreamPartIDUtils, waitForCondition } from '@streamr/utils'
8
+ import { StreamPartIDUtils, until } from '@streamr/utils'
9
9
  import { ContentDeliveryRpcRemote } from '../../src/logic/ContentDeliveryRpcRemote'
10
- import { Empty } from '../../src/proto/google/protobuf/empty'
10
+ import { Empty } from '../../generated/google/protobuf/empty'
11
11
  import {
12
12
  LeaveStreamPartNotice,
13
13
  StreamMessage
14
- } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc'
15
- import { ContentDeliveryRpcClient } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc.client'
14
+ } from '../../generated/packages/trackerless-network/protos/NetworkRpc'
15
+ import { ContentDeliveryRpcClient } from '../../generated/packages/trackerless-network/protos/NetworkRpc.client'
16
16
  import { createStreamMessage } from '../utils/utils'
17
17
  import { randomUserId } from '@streamr/test-utils'
18
18
 
@@ -89,12 +89,12 @@ describe('ContentDeliveryRpcRemote', () => {
89
89
  )
90
90
 
91
91
  await rpcRemote.sendStreamMessage(msg)
92
- await waitForCondition(() => recvCounter === 1)
92
+ await until(() => recvCounter === 1)
93
93
  })
94
94
 
95
95
  it('leaveNotice', async () => {
96
96
  rpcRemote.leaveStreamPartNotice(StreamPartIDUtils.parse('test#0'), false)
97
- await waitForCondition(() => recvCounter === 1)
97
+ await until(() => recvCounter === 1)
98
98
  })
99
99
 
100
100
  })
@@ -10,10 +10,10 @@ import { HandshakeRpcRemote } from '../../src/logic/neighbor-discovery/Handshake
10
10
  import {
11
11
  StreamPartHandshakeRequest,
12
12
  StreamPartHandshakeResponse
13
- } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc'
13
+ } from '../../generated/packages/trackerless-network/protos/NetworkRpc'
14
14
  import {
15
15
  HandshakeRpcClient,
16
- } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc.client'
16
+ } from '../../generated/packages/trackerless-network/protos/NetworkRpc.client'
17
17
 
18
18
  describe('HandshakeRpcRemote', () => {
19
19
  let mockServerRpc: ListeningRpcCommunicator
@@ -8,12 +8,10 @@ import {
8
8
  } from '@streamr/dht'
9
9
  import { StreamPartIDUtils } from '@streamr/utils'
10
10
  import { NodeList } from '../../src/logic/NodeList'
11
- import { HandshakeRpcRemote } from '../../src/logic/neighbor-discovery/HandshakeRpcRemote'
12
11
  import { Handshaker } from '../../src/logic/neighbor-discovery/Handshaker'
13
- import { StreamPartHandshakeRequest, StreamPartHandshakeResponse } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc'
14
- import {
15
- HandshakeRpcClient
16
- } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc.client'
12
+ import { StreamPartHandshakeRequest, StreamPartHandshakeResponse } from '../../generated/packages/trackerless-network/protos/NetworkRpc'
13
+ import { ContentDeliveryRpcClient } from '../../generated/packages/trackerless-network/protos/NetworkRpc.client'
14
+ import { ContentDeliveryRpcRemote } from '../../src/logic/ContentDeliveryRpcRemote'
17
15
 
18
16
  describe('Handshakes', () => {
19
17
 
@@ -86,6 +84,12 @@ describe('Handshakes', () => {
86
84
  leftNodeView = new NodeList(handshakerNodeId, 10)
87
85
  rightNodeView = new NodeList(handshakerNodeId, 10)
88
86
  nodeView = new NodeList(handshakerNodeId, 10)
87
+ nodeView.add(new ContentDeliveryRpcRemote(
88
+ peerDescriptor2,
89
+ peerDescriptor1,
90
+ rpcCommunicator2,
91
+ ContentDeliveryRpcClient
92
+ ))
89
93
  neighbors = new NodeList(handshakerNodeId, 4)
90
94
  handshaker = new Handshaker({
91
95
  localPeerDescriptor: peerDescriptor2,
@@ -112,64 +116,25 @@ describe('Handshakes', () => {
112
116
  simulator.stop()
113
117
  })
114
118
 
115
- it('Two nodes can handshake', async () => {
116
- rpcCommunicator1.registerRpcMethod(StreamPartHandshakeRequest, StreamPartHandshakeResponse, 'handshake', acceptHandshake)
117
- // @ts-expect-error private
118
- const res = await handshaker.handshakeWithTarget(
119
- new HandshakeRpcRemote(
120
- peerDescriptor2,
121
- peerDescriptor1,
122
- rpcCommunicator2,
123
- HandshakeRpcClient
124
- )
125
- )
126
- expect(res).toEqual(true)
127
- expect(neighbors.has(toNodeId(peerDescriptor1))).toEqual(true)
128
- })
129
-
130
119
  it('Handshake accepted', async () => {
131
120
  rpcCommunicator1.registerRpcMethod(StreamPartHandshakeRequest, StreamPartHandshakeResponse, 'handshake', acceptHandshake)
132
- // @ts-expect-error private
133
- const res = await handshaker.handshakeWithTarget(
134
- new HandshakeRpcRemote(
135
- peerDescriptor2,
136
- peerDescriptor1,
137
- rpcCommunicator2,
138
- HandshakeRpcClient
139
- )
140
- )
141
- expect(res).toEqual(true)
121
+ const res = await handshaker.attemptHandshakesOnContacts([])
122
+ expect(res).toHaveLength(0)
142
123
  expect(neighbors.has(toNodeId(peerDescriptor1))).toEqual(true)
143
124
  })
144
125
 
145
126
  it('Handshake rejected', async () => {
146
127
  rpcCommunicator1.registerRpcMethod(StreamPartHandshakeRequest, StreamPartHandshakeResponse, 'handshake', rejectHandshake)
147
- // @ts-expect-error private
148
- const res = await handshaker.handshakeWithTarget(
149
- new HandshakeRpcRemote(
150
- peerDescriptor2,
151
- peerDescriptor1,
152
- rpcCommunicator2,
153
- HandshakeRpcClient
154
- )
155
- )
156
- expect(res).toEqual(false)
128
+ const res = await handshaker.attemptHandshakesOnContacts([])
129
+ expect(res[0]).toEqual(toNodeId(peerDescriptor1))
157
130
  expect(neighbors.has(toNodeId(peerDescriptor1))).toEqual(false)
158
131
  })
159
132
 
160
133
  it('Handshake with Interleaving', async () => {
161
134
  rpcCommunicator1.registerRpcMethod(StreamPartHandshakeRequest, StreamPartHandshakeResponse, 'handshake', interleavingHandshake)
162
135
  rpcCommunicator3.registerRpcMethod(StreamPartHandshakeRequest, StreamPartHandshakeResponse, 'handshake', acceptHandshake)
163
- // @ts-expect-error private
164
- const res = await handshaker.handshakeWithTarget(
165
- new HandshakeRpcRemote(
166
- peerDescriptor2,
167
- peerDescriptor1,
168
- rpcCommunicator2,
169
- HandshakeRpcClient
170
- )
171
- )
172
- expect(res).toEqual(true)
136
+ const res = await handshaker.attemptHandshakesOnContacts([])
137
+ expect(res).toHaveLength(0)
173
138
  expect(neighbors.has(toNodeId(peerDescriptor1))).toEqual(true)
174
139
  expect(neighbors.has(toNodeId(peerDescriptor3))).toEqual(true)
175
140
  })
@@ -7,10 +7,10 @@ import {
7
7
  } from '@streamr/dht'
8
8
  import { StreamPartIDUtils } from '@streamr/utils'
9
9
  import { NeighborUpdateRpcRemote } from '../../src/logic/neighbor-discovery/NeighborUpdateRpcRemote'
10
- import { NeighborUpdate } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc'
10
+ import { NeighborUpdate } from '../../generated/packages/trackerless-network/protos/NetworkRpc'
11
11
  import {
12
12
  NeighborUpdateRpcClient,
13
- } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc.client'
13
+ } from '../../generated/packages/trackerless-network/protos/NetworkRpc.client'
14
14
 
15
15
  describe('NeighborUpdateRpcRemote', () => {
16
16
  let mockServerRpc: ListeningRpcCommunicator
@@ -1,9 +1,9 @@
1
1
  import { PeerDescriptor, Simulator, SimulatorTransport } from '@streamr/dht'
2
- import { StreamPartIDUtils, hexToBinary, utf8ToBinary, waitForCondition } from '@streamr/utils'
2
+ import { randomUserId } from '@streamr/test-utils'
3
+ import { StreamPartIDUtils, hexToBinary, toUserIdRaw, utf8ToBinary, until } from '@streamr/utils'
3
4
  import { NetworkNode, createNetworkNode } from '../../src/NetworkNode'
4
- import { ContentType, EncryptionType, SignatureType, StreamMessage } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc'
5
+ import { ContentType, EncryptionType, SignatureType, StreamMessage } from '../../generated/packages/trackerless-network/protos/NetworkRpc'
5
6
  import { createMockPeerDescriptor } from '../utils/utils'
6
- import { randomUserId } from '@streamr/test-utils'
7
7
 
8
8
  const STREAM_PART_ID = StreamPartIDUtils.parse('test#0')
9
9
 
@@ -63,7 +63,7 @@ describe('NetworkNode', () => {
63
63
  streamPartition: StreamPartIDUtils.getStreamPartition(STREAM_PART_ID),
64
64
  timestamp: 666,
65
65
  sequenceNumber: 0,
66
- publisherId: hexToBinary(randomUserId()),
66
+ publisherId: toUserIdRaw(randomUserId()),
67
67
  messageChainId: 'msgChainId'
68
68
  },
69
69
  previousMessageRef: {
@@ -92,7 +92,7 @@ describe('NetworkNode', () => {
92
92
  msgCount += 1
93
93
  })
94
94
  await node2.broadcast(streamMessage)
95
- await waitForCondition(() => msgCount === 1)
95
+ await until(() => msgCount === 1)
96
96
  })
97
97
 
98
98
  it('fetchNodeInfo', async () => {