@streamr/trackerless-network 100.0.0-testnet-three.1 → 100.0.0-testnet-three.3

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 (52) hide show
  1. package/dist/src/logic/Layer1Node.d.ts +2 -2
  2. package/dist/src/logic/RandomGraphNode.d.ts +5 -5
  3. package/dist/src/logic/RandomGraphNode.js +13 -13
  4. package/dist/src/logic/RandomGraphNode.js.map +1 -1
  5. package/dist/src/logic/StreamrNode.d.ts +1 -1
  6. package/dist/src/logic/StreamrNode.js +1 -1
  7. package/dist/src/logic/StreamrNode.js.map +1 -1
  8. package/dist/src/logic/createRandomGraphNode.d.ts +1 -1
  9. package/dist/src/logic/createRandomGraphNode.js +6 -5
  10. package/dist/src/logic/createRandomGraphNode.js.map +1 -1
  11. package/dist/src/logic/inspect/InspectSession.d.ts +1 -0
  12. package/dist/src/logic/inspect/InspectSession.js +3 -0
  13. package/dist/src/logic/inspect/InspectSession.js.map +1 -1
  14. package/dist/src/logic/inspect/Inspector.js +1 -1
  15. package/dist/src/logic/inspect/Inspector.js.map +1 -1
  16. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.d.ts +3 -2
  17. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js +1 -0
  18. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js.map +1 -1
  19. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.d.ts +3 -2
  20. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js +5 -4
  21. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js.map +1 -1
  22. package/dist/src/logic/proxy/ProxyClient.js +8 -6
  23. package/dist/src/logic/proxy/ProxyClient.js.map +1 -1
  24. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.d.ts +1 -0
  25. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js +3 -0
  26. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js.map +1 -1
  27. package/dist/test/utils/utils.d.ts +1 -2
  28. package/dist/test/utils/utils.js +2 -7
  29. package/dist/test/utils/utils.js.map +1 -1
  30. package/package.json +6 -6
  31. package/src/logic/Layer1Node.ts +2 -2
  32. package/src/logic/RandomGraphNode.ts +16 -16
  33. package/src/logic/StreamrNode.ts +2 -2
  34. package/src/logic/createRandomGraphNode.ts +7 -6
  35. package/src/logic/inspect/InspectSession.ts +4 -0
  36. package/src/logic/inspect/Inspector.ts +1 -1
  37. package/src/logic/neighbor-discovery/NeighborUpdateManager.ts +4 -2
  38. package/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts +8 -6
  39. package/src/logic/proxy/ProxyClient.ts +14 -7
  40. package/src/logic/temporary-connection/TemporaryConnectionRpcLocal.ts +4 -0
  41. package/test/end-to-end/random-graph-with-real-connections.test.ts +4 -6
  42. package/test/integration/NetworkNode.test.ts +4 -9
  43. package/test/integration/StreamrNode.test.ts +4 -16
  44. package/test/integration/joining-streams-on-offline-peers.test.ts +7 -31
  45. package/test/integration/stream-without-default-entrypoints.test.ts +2 -6
  46. package/test/unit/InspectSession.test.ts +3 -4
  47. package/test/unit/Inspector.test.ts +3 -3
  48. package/test/unit/NeighborFinder.test.ts +3 -3
  49. package/test/unit/NeighborUpdateRpcLocal.test.ts +14 -10
  50. package/test/unit/NodeList.test.ts +4 -3
  51. package/test/unit/RandomGraphNode.test.ts +5 -5
  52. package/test/utils/utils.ts +2 -8
@@ -3,12 +3,12 @@ import { NodeList } from '../../src/logic/NodeList'
3
3
  import { waitForCondition } from '@streamr/utils'
4
4
  import { range } from 'lodash'
5
5
  import { expect } from 'expect'
6
- import { createMockDeliveryRpcRemote, createRandomNodeId } from '../utils/utils'
7
- import { DhtAddress, getNodeIdFromPeerDescriptor } from '@streamr/dht'
6
+ import { createMockDeliveryRpcRemote } from '../utils/utils'
7
+ import { DhtAddress, createRandomDhtAddress, getNodeIdFromPeerDescriptor } from '@streamr/dht'
8
8
 
9
9
  describe('NeighborFinder', () => {
10
10
 
11
- const nodeId = createRandomNodeId()
11
+ const nodeId = createRandomDhtAddress()
12
12
  let neighbors: NodeList
13
13
  let nearbyNodeView: NodeList
14
14
  let neighborFinder: NeighborFinder
@@ -13,7 +13,7 @@ describe('NeighborUpdateRpcLocal', () => {
13
13
 
14
14
  const streamPartId = StreamPartIDUtils.parse('stream#0')
15
15
  const localPeerDescriptor = createMockPeerDescriptor()
16
- const neighborCount = 4
16
+ const neighborTargetCount = 4
17
17
 
18
18
  let rpcLocal: NeighborUpdateRpcLocal
19
19
  let neighbors: NodeList
@@ -34,11 +34,14 @@ describe('NeighborUpdateRpcLocal', () => {
34
34
 
35
35
  beforeEach(() => {
36
36
  rpcCommunicator = new ListeningRpcCommunicator('mock', new MockTransport())
37
- neighbors = new NodeList(getNodeIdFromPeerDescriptor(localPeerDescriptor), neighborCount + 1)
38
- nearbyNodeView = new NodeList(getNodeIdFromPeerDescriptor(localPeerDescriptor), neighborCount)
37
+ neighbors = new NodeList(getNodeIdFromPeerDescriptor(localPeerDescriptor), neighborTargetCount + 1)
38
+ nearbyNodeView = new NodeList(getNodeIdFromPeerDescriptor(localPeerDescriptor), neighborTargetCount)
39
39
  neighborFinder = {
40
40
  start: jest.fn()
41
41
  } as any
42
+ const connectionLocker = {
43
+ unlockConnection: jest.fn()
44
+ } as any
42
45
 
43
46
  rpcLocal = new NeighborUpdateRpcLocal({
44
47
  localPeerDescriptor,
@@ -47,7 +50,8 @@ describe('NeighborUpdateRpcLocal', () => {
47
50
  neighborFinder,
48
51
  streamPartId,
49
52
  rpcCommunicator,
50
- neighborCount
53
+ neighborTargetCount,
54
+ connectionLocker
51
55
  })
52
56
  })
53
57
 
@@ -56,21 +60,21 @@ describe('NeighborUpdateRpcLocal', () => {
56
60
  })
57
61
 
58
62
  it('response contains neighbor list of expected size', async () => {
59
- addNeighbors(neighborCount)
63
+ addNeighbors(neighborTargetCount)
60
64
  const res = await rpcLocal.neighborUpdate({
61
65
  streamPartId,
62
66
  neighborDescriptors: [localPeerDescriptor],
63
67
  removeMe: false
64
68
  }, { incomingSourceDescriptor: createMockPeerDescriptor() } as any)
65
- expect(res.neighborDescriptors.length).toEqual(neighborCount)
69
+ expect(res.neighborDescriptors.length).toEqual(neighborTargetCount)
66
70
  })
67
71
 
68
72
  it('updates contacts based on callers neighbors', async () => {
69
- addNeighbors(neighborCount)
73
+ addNeighbors(neighborTargetCount)
70
74
  expect(nearbyNodeView.size()).toEqual(0)
71
75
  await rpcLocal.neighborUpdate({
72
76
  streamPartId,
73
- neighborDescriptors: range(neighborCount).map(() => createMockPeerDescriptor()),
77
+ neighborDescriptors: range(neighborTargetCount).map(() => createMockPeerDescriptor()),
74
78
  removeMe: false
75
79
  }, { incomingSourceDescriptor: createMockPeerDescriptor() } as any)
76
80
  expect(nearbyNodeView.size()).toEqual(4)
@@ -112,10 +116,10 @@ describe('NeighborUpdateRpcLocal', () => {
112
116
  DeliveryRpcClient
113
117
  )
114
118
  neighbors.add(neighbor)
115
- addNeighbors(neighborCount)
119
+ addNeighbors(neighborTargetCount)
116
120
  const res = await rpcLocal.neighborUpdate({
117
121
  streamPartId,
118
- neighborDescriptors: [localPeerDescriptor, ...range(neighborCount).map(() => createMockPeerDescriptor())],
122
+ neighborDescriptors: [localPeerDescriptor, ...range(neighborTargetCount).map(() => createMockPeerDescriptor())],
119
123
  removeMe: false
120
124
  }, { incomingSourceDescriptor: caller } as any)
121
125
  expect(res.removeMe).toEqual(true)
@@ -2,6 +2,7 @@ import {
2
2
  ListeningRpcCommunicator,
3
3
  NodeType,
4
4
  PeerDescriptor,
5
+ createRandomDhtAddress,
5
6
  getDhtAddressFromRaw,
6
7
  getNodeIdFromPeerDescriptor,
7
8
  } from '@streamr/dht'
@@ -11,7 +12,7 @@ import { DeliveryRpcRemote } from '../../src/logic/DeliveryRpcRemote'
11
12
  import { NodeList } from '../../src/logic/NodeList'
12
13
  import { formStreamPartDeliveryServiceId } from '../../src/logic/formStreamPartDeliveryServiceId'
13
14
  import { DeliveryRpcClient } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc.client'
14
- import { createMockPeerDescriptor, createRandomNodeId } from '../utils/utils'
15
+ import { createMockPeerDescriptor } from '../utils/utils'
15
16
  import { MockTransport } from '../utils/mock/Transport'
16
17
 
17
18
  const streamPartId = StreamPartIDUtils.parse('stream#0')
@@ -25,7 +26,7 @@ describe('NodeList', () => {
25
26
  new Uint8Array([1, 1, 4]),
26
27
  new Uint8Array([1, 1, 5])
27
28
  ]
28
- const ownId = createRandomNodeId()
29
+ const ownId = createRandomDhtAddress()
29
30
  let nodeList: NodeList
30
31
 
31
32
  const createRemoteGraphNode = (peerDescriptor: PeerDescriptor) => {
@@ -135,7 +136,7 @@ describe('NodeList', () => {
135
136
  })
136
137
 
137
138
  it('items are in insertion order', () => {
138
- const list = new NodeList(createRandomNodeId(), 100)
139
+ const list = new NodeList(createRandomDhtAddress(), 100)
139
140
  const item1 = createRemoteGraphNode(createMockPeerDescriptor())
140
141
  const item2 = createRemoteGraphNode(createMockPeerDescriptor())
141
142
  const item3 = createRemoteGraphNode(createMockPeerDescriptor())
@@ -66,19 +66,19 @@ describe('RandomGraphNode', () => {
66
66
  expect(ids[0]).toEqual(getNodeIdFromPeerDescriptor(mockRemote.getPeerDescriptor()))
67
67
  })
68
68
 
69
- it('Adds Closest Nodes from layer1 newContact event to nearbyNodeView', async () => {
69
+ it('Adds Closest Nodes from layer1 contactAdded event to nearbyNodeView', async () => {
70
70
  const peerDescriptor1 = createMockPeerDescriptor()
71
71
  const peerDescriptor2 = createMockPeerDescriptor()
72
- layer1Node.emit('newContact', peerDescriptor1, [peerDescriptor1, peerDescriptor2])
72
+ layer1Node.emit('contactAdded', peerDescriptor1, [peerDescriptor1, peerDescriptor2])
73
73
  await waitForCondition(() => nearbyNodeView.size() === 2)
74
74
  expect(nearbyNodeView.get(getNodeIdFromPeerDescriptor(peerDescriptor1))).toBeTruthy()
75
75
  expect(nearbyNodeView.get(getNodeIdFromPeerDescriptor(peerDescriptor2))).toBeTruthy()
76
76
  })
77
77
 
78
- it('Adds Random Nodes from layer1 newRandomContact event to randomNodeView', async () => {
78
+ it('Adds Random Nodes from layer1 randomContactAdded event to randomNodeView', async () => {
79
79
  const peerDescriptor1 = createMockPeerDescriptor()
80
80
  const peerDescriptor2 = createMockPeerDescriptor()
81
- layer1Node.emit('newRandomContact', peerDescriptor1, [peerDescriptor1, peerDescriptor2])
81
+ layer1Node.emit('randomContactAdded', peerDescriptor1, [peerDescriptor1, peerDescriptor2])
82
82
  await waitForCondition(() => randomNodeView.size() === 2)
83
83
  expect(randomNodeView.get(getNodeIdFromPeerDescriptor(peerDescriptor1))).toBeTruthy()
84
84
  expect(randomNodeView.get(getNodeIdFromPeerDescriptor(peerDescriptor2))).toBeTruthy()
@@ -88,7 +88,7 @@ describe('RandomGraphNode', () => {
88
88
  const peerDescriptor1 = createMockPeerDescriptor()
89
89
  const peerDescriptor2 = createMockPeerDescriptor()
90
90
  layer1Node.addNewRandomPeerToKBucket()
91
- layer1Node.emit('newContact', peerDescriptor1, [peerDescriptor1, peerDescriptor2])
91
+ layer1Node.emit('contactAdded', peerDescriptor1, [peerDescriptor1, peerDescriptor2])
92
92
  await waitForCondition(() => {
93
93
  return nearbyNodeView.size() === 3
94
94
  }, 20000)
@@ -1,13 +1,11 @@
1
- import { randomBytes } from 'crypto'
2
1
  import {
3
2
  ConnectionLocker,
4
- DhtAddress,
5
3
  DhtNode,
6
4
  NodeType,
7
5
  PeerDescriptor,
8
6
  Simulator,
9
7
  SimulatorTransport,
10
- getDhtAddressFromRaw,
8
+ createRandomDhtAddress,
11
9
  getRandomRegion,
12
10
  getRawFromDhtAddress
13
11
  } from '@streamr/dht'
@@ -91,14 +89,10 @@ export const createStreamMessage = (
91
89
  return msg
92
90
  }
93
91
 
94
- export const createRandomNodeId = (): DhtAddress => {
95
- return getDhtAddressFromRaw(randomBytes(10))
96
- }
97
-
98
92
  export const createMockPeerDescriptor = (opts?: Omit<Partial<PeerDescriptor>, 'nodeId' | 'type'>): PeerDescriptor => {
99
93
  return {
100
94
  ...opts,
101
- nodeId: getRawFromDhtAddress(createRandomNodeId()),
95
+ nodeId: getRawFromDhtAddress(createRandomDhtAddress()),
102
96
  type: NodeType.NODEJS,
103
97
  region: getRandomRegion()
104
98
  }