@streamr/trackerless-network 100.0.0-testnet-three.2 → 100.0.0-testnet-three.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -0
- package/dist/package.json +55 -0
- package/dist/src/NetworkStack.js +7 -2
- package/dist/src/NetworkStack.js.map +1 -1
- package/dist/src/exports.d.ts +2 -1
- package/dist/src/exports.js +4 -1
- package/dist/src/exports.js.map +1 -1
- package/dist/src/logic/Layer1Node.d.ts +2 -2
- package/dist/src/logic/RandomGraphNode.d.ts +4 -4
- package/dist/src/logic/RandomGraphNode.js +11 -11
- package/dist/src/logic/RandomGraphNode.js.map +1 -1
- package/dist/src/logic/createRandomGraphNode.js +6 -2
- package/dist/src/logic/createRandomGraphNode.js.map +1 -1
- package/dist/src/logic/inspect/InspectSession.d.ts +1 -0
- package/dist/src/logic/inspect/InspectSession.js +3 -0
- package/dist/src/logic/inspect/InspectSession.js.map +1 -1
- package/dist/src/logic/inspect/Inspector.js +1 -1
- package/dist/src/logic/inspect/Inspector.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/Handshaker.d.ts +1 -1
- package/dist/src/logic/neighbor-discovery/Handshaker.js +17 -15
- package/dist/src/logic/neighbor-discovery/Handshaker.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.d.ts +3 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js +1 -0
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.d.ts +3 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js +2 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js.map +1 -1
- package/dist/src/logic/node-info/NodeInfoRpcLocal.js +3 -1
- package/dist/src/logic/node-info/NodeInfoRpcLocal.js.map +1 -1
- package/dist/src/logic/proxy/ProxyClient.js +8 -6
- package/dist/src/logic/proxy/ProxyClient.js.map +1 -1
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.d.ts +1 -0
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js +3 -0
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js.map +1 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.d.ts +4 -0
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js +2 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js.map +1 -1
- package/dist/test/utils/utils.d.ts +1 -2
- package/dist/test/utils/utils.js +2 -7
- package/dist/test/utils/utils.js.map +1 -1
- package/package.json +6 -6
- package/protos/NetworkRpc.proto +1 -0
- package/src/NetworkStack.ts +9 -3
- package/src/exports.ts +2 -1
- package/src/logic/Layer1Node.ts +2 -2
- package/src/logic/RandomGraphNode.ts +13 -13
- package/src/logic/createRandomGraphNode.ts +6 -2
- package/src/logic/inspect/InspectSession.ts +4 -0
- package/src/logic/inspect/Inspector.ts +1 -1
- package/src/logic/neighbor-discovery/Handshaker.ts +20 -15
- package/src/logic/neighbor-discovery/NeighborUpdateManager.ts +4 -1
- package/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts +5 -2
- package/src/logic/node-info/NodeInfoRpcLocal.ts +3 -1
- package/src/logic/proxy/ProxyClient.ts +14 -7
- package/src/logic/temporary-connection/TemporaryConnectionRpcLocal.ts +4 -0
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.ts +6 -1
- package/test/end-to-end/proxy-key-exchange.test.ts +2 -2
- package/test/end-to-end/random-graph-with-real-connections.test.ts +4 -6
- package/test/integration/Handshakes.test.ts +2 -1
- package/test/integration/NetworkNode.test.ts +4 -9
- package/test/integration/NodeInfoRpc.test.ts +2 -1
- package/test/integration/StreamrNode.test.ts +4 -16
- package/test/integration/joining-streams-on-offline-peers.test.ts +7 -31
- package/test/integration/stream-without-default-entrypoints.test.ts +2 -6
- package/test/unit/Handshaker.test.ts +2 -1
- package/test/unit/InspectSession.test.ts +3 -4
- package/test/unit/Inspector.test.ts +3 -3
- package/test/unit/NeighborFinder.test.ts +3 -3
- package/test/unit/NeighborUpdateRpcLocal.test.ts +20 -2
- package/test/unit/NodeList.test.ts +4 -3
- package/test/unit/RandomGraphNode.test.ts +5 -5
- package/test/utils/utils.ts +2 -8
- package/tsconfig.jest.json +2 -1
- package/tsconfig.node.json +2 -1
|
@@ -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
|
|
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 =
|
|
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(
|
|
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
|
|
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('
|
|
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
|
|
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('
|
|
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('
|
|
91
|
+
layer1Node.emit('contactAdded', peerDescriptor1, [peerDescriptor1, peerDescriptor2])
|
|
92
92
|
await waitForCondition(() => {
|
|
93
93
|
return nearbyNodeView.size() === 3
|
|
94
94
|
}, 20000)
|
package/test/utils/utils.ts
CHANGED
|
@@ -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
|
-
|
|
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(
|
|
95
|
+
nodeId: getRawFromDhtAddress(createRandomDhtAddress()),
|
|
102
96
|
type: NodeType.NODEJS,
|
|
103
97
|
region: getRandomRegion()
|
|
104
98
|
}
|
package/tsconfig.jest.json
CHANGED