@streamr/trackerless-network 100.0.0-testnet-two.1 → 100.0.0-testnet-two.2
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/dist/package.json +6 -6
- package/dist/src/NetworkNode.d.ts +3 -4
- package/dist/src/NetworkNode.js.map +1 -1
- package/dist/src/exports.d.ts +0 -1
- package/dist/src/exports.js.map +1 -1
- package/dist/src/logic/DeliveryRpcLocal.d.ts +4 -5
- package/dist/src/logic/DeliveryRpcLocal.js +3 -3
- package/dist/src/logic/DeliveryRpcLocal.js.map +1 -1
- package/dist/src/logic/DeliveryRpcRemote.d.ts +2 -1
- package/dist/src/logic/DeliveryRpcRemote.js +2 -2
- package/dist/src/logic/DeliveryRpcRemote.js.map +1 -1
- package/dist/src/logic/EntryPointDiscovery.d.ts +5 -5
- package/dist/src/logic/EntryPointDiscovery.js +4 -5
- package/dist/src/logic/EntryPointDiscovery.js.map +1 -1
- package/dist/src/logic/Layer0Node.d.ts +4 -4
- package/dist/src/logic/NodeList.d.ts +12 -13
- package/dist/src/logic/NodeList.js +4 -4
- package/dist/src/logic/NodeList.js.map +1 -1
- package/dist/src/logic/RandomGraphNode.d.ts +6 -7
- package/dist/src/logic/RandomGraphNode.js +9 -9
- package/dist/src/logic/RandomGraphNode.js.map +1 -1
- package/dist/src/logic/StreamrNode.d.ts +3 -4
- package/dist/src/logic/StreamrNode.js +2 -3
- package/dist/src/logic/StreamrNode.js.map +1 -1
- package/dist/src/logic/createRandomGraphNode.js +1 -3
- package/dist/src/logic/createRandomGraphNode.js.map +1 -1
- package/dist/src/logic/inspect/InspectSession.d.ts +3 -3
- package/dist/src/logic/inspect/InspectSession.js.map +1 -1
- package/dist/src/logic/inspect/Inspector.d.ts +3 -4
- package/dist/src/logic/inspect/Inspector.js +3 -3
- package/dist/src/logic/inspect/Inspector.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.d.ts +4 -5
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js +10 -10
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.d.ts +3 -3
- package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js +7 -8
- package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/Handshaker.d.ts +3 -4
- package/dist/src/logic/neighbor-discovery/Handshaker.js +12 -12
- package/dist/src/logic/neighbor-discovery/Handshaker.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborFinder.d.ts +3 -3
- package/dist/src/logic/neighbor-discovery/NeighborFinder.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js +4 -4
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js +5 -5
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.d.ts +2 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.js +3 -4
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.js.map +1 -1
- package/dist/src/logic/propagation/Propagation.d.ts +4 -4
- package/dist/src/logic/propagation/Propagation.js.map +1 -1
- package/dist/src/logic/propagation/PropagationTaskStore.d.ts +2 -2
- package/dist/src/logic/proxy/ProxyClient.d.ts +3 -4
- package/dist/src/logic/proxy/ProxyClient.js +8 -9
- package/dist/src/logic/proxy/ProxyClient.js.map +1 -1
- package/dist/src/logic/proxy/ProxyConnectionRpcLocal.d.ts +6 -7
- package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js +4 -4
- package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js.map +1 -1
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.d.ts +0 -2
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js +3 -3
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js.map +1 -1
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.js +1 -2
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.js.map +1 -1
- package/dist/test/benchmark/first-message.js +2 -3
- package/dist/test/benchmark/first-message.js.map +1 -1
- package/dist/test/utils/utils.d.ts +2 -3
- package/dist/test/utils/utils.js +4 -4
- package/dist/test/utils/utils.js.map +1 -1
- package/package.json +6 -6
- package/src/NetworkNode.ts +3 -4
- package/src/exports.ts +0 -1
- package/src/logic/DeliveryRpcLocal.ts +4 -5
- package/src/logic/DeliveryRpcRemote.ts +3 -2
- package/src/logic/EntryPointDiscovery.ts +11 -9
- package/src/logic/Layer0Node.ts +4 -4
- package/src/logic/NodeList.ts +15 -16
- package/src/logic/RandomGraphNode.ts +16 -17
- package/src/logic/StreamrNode.ts +6 -5
- package/src/logic/createRandomGraphNode.ts +2 -4
- package/src/logic/inspect/InspectSession.ts +4 -4
- package/src/logic/inspect/Inspector.ts +4 -6
- package/src/logic/neighbor-discovery/HandshakeRpcLocal.ts +17 -10
- package/src/logic/neighbor-discovery/HandshakeRpcRemote.ts +11 -10
- package/src/logic/neighbor-discovery/Handshaker.ts +14 -15
- package/src/logic/neighbor-discovery/NeighborFinder.ts +4 -4
- package/src/logic/neighbor-discovery/NeighborUpdateManager.ts +2 -4
- package/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts +1 -3
- package/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.ts +4 -4
- package/src/logic/propagation/Propagation.ts +6 -6
- package/src/logic/propagation/PropagationTaskStore.ts +2 -2
- package/src/logic/proxy/ProxyClient.ts +20 -21
- package/src/logic/proxy/ProxyConnectionRpcLocal.ts +10 -12
- package/src/logic/temporary-connection/TemporaryConnectionRpcLocal.ts +1 -5
- package/src/logic/temporary-connection/TemporaryConnectionRpcRemote.ts +1 -2
- package/test/benchmark/first-message.ts +2 -3
- package/test/end-to-end/proxy-connections.test.ts +2 -2
- package/test/end-to-end/webrtc-full-node-network.test.ts +1 -2
- package/test/end-to-end/websocket-full-node-network.test.ts +1 -1
- package/test/integration/DeliveryRpcRemote.test.ts +2 -5
- package/test/integration/HandshakeRpcRemote.test.ts +2 -2
- package/test/integration/Handshakes.test.ts +2 -6
- package/test/integration/NeighborUpdateRpcRemote.test.ts +1 -2
- package/test/unit/HandshakeRpcLocal.test.ts +9 -11
- package/test/unit/Handshaker.test.ts +1 -2
- package/test/unit/InspectSession.test.ts +3 -3
- package/test/unit/Inspector.test.ts +1 -2
- package/test/unit/NeighborFinder.test.ts +2 -2
- package/test/unit/NodeList.test.ts +12 -13
- package/test/unit/Propagation.test.ts +9 -9
- package/test/unit/ProxyConnectionRpcRemote.test.ts +0 -2
- package/test/unit/RandomGraphNode.test.ts +1 -1
- package/test/utils/mock/MockHandshaker.ts +3 -3
- package/test/utils/utils.ts +15 -7
- package/dist/src/identifiers.d.ts +0 -4
- package/dist/src/identifiers.js +0 -9
- package/dist/src/identifiers.js.map +0 -1
- package/src/identifiers.ts +0 -8
|
@@ -17,8 +17,6 @@ import { createStreamMessage } from '../utils/utils'
|
|
|
17
17
|
import { StreamPartIDUtils } from '@streamr/protocol'
|
|
18
18
|
import { randomEthereumAddress } from '@streamr/test-utils'
|
|
19
19
|
|
|
20
|
-
const STREAM_PART_ID = StreamPartIDUtils.parse('test-stream#0')
|
|
21
|
-
|
|
22
20
|
describe('DeliveryRpcRemote', () => {
|
|
23
21
|
let mockServerRpc: ListeningRpcCommunicator
|
|
24
22
|
let clientRpc: ListeningRpcCommunicator
|
|
@@ -71,7 +69,6 @@ describe('DeliveryRpcRemote', () => {
|
|
|
71
69
|
rpcRemote = new DeliveryRpcRemote(
|
|
72
70
|
clientNode,
|
|
73
71
|
serverNode,
|
|
74
|
-
STREAM_PART_ID,
|
|
75
72
|
clientRpc,
|
|
76
73
|
DeliveryRpcClient
|
|
77
74
|
)
|
|
@@ -88,7 +85,7 @@ describe('DeliveryRpcRemote', () => {
|
|
|
88
85
|
it('sendStreamMessage', async () => {
|
|
89
86
|
const msg = createStreamMessage(
|
|
90
87
|
JSON.stringify({ hello: 'WORLD' }),
|
|
91
|
-
|
|
88
|
+
StreamPartIDUtils.parse('test-stream#0'),
|
|
92
89
|
randomEthereumAddress()
|
|
93
90
|
)
|
|
94
91
|
|
|
@@ -97,7 +94,7 @@ describe('DeliveryRpcRemote', () => {
|
|
|
97
94
|
})
|
|
98
95
|
|
|
99
96
|
it('leaveNotice', async () => {
|
|
100
|
-
rpcRemote.leaveStreamPartNotice(false)
|
|
97
|
+
rpcRemote.leaveStreamPartNotice(StreamPartIDUtils.parse('test#0'), false)
|
|
101
98
|
await waitForCondition(() => recvCounter === 1)
|
|
102
99
|
})
|
|
103
100
|
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
HandshakeRpcClient,
|
|
14
14
|
} from '../../src/proto/packages/trackerless-network/protos/NetworkRpc.client'
|
|
15
15
|
import { HandshakeRpcRemote } from '../../src/logic/neighbor-discovery/HandshakeRpcRemote'
|
|
16
|
+
import { StreamPartIDUtils } from '@streamr/protocol'
|
|
16
17
|
|
|
17
18
|
describe('HandshakeRpcRemote', () => {
|
|
18
19
|
let mockServerRpc: ListeningRpcCommunicator
|
|
@@ -58,7 +59,6 @@ describe('HandshakeRpcRemote', () => {
|
|
|
58
59
|
rpcRemote = new HandshakeRpcRemote(
|
|
59
60
|
clientNode,
|
|
60
61
|
serverNode,
|
|
61
|
-
'test-stream-part',
|
|
62
62
|
clientRpc,
|
|
63
63
|
HandshakeRpcClient
|
|
64
64
|
)
|
|
@@ -73,7 +73,7 @@ describe('HandshakeRpcRemote', () => {
|
|
|
73
73
|
})
|
|
74
74
|
|
|
75
75
|
it('handshake', async () => {
|
|
76
|
-
const result = await rpcRemote.handshake([])
|
|
76
|
+
const result = await rpcRemote.handshake(StreamPartIDUtils.parse('test#0'), [])
|
|
77
77
|
expect(result.accepted).toEqual(true)
|
|
78
78
|
})
|
|
79
79
|
})
|
|
@@ -4,7 +4,8 @@ import {
|
|
|
4
4
|
PeerDescriptor,
|
|
5
5
|
ListeningRpcCommunicator,
|
|
6
6
|
Simulator,
|
|
7
|
-
SimulatorTransport
|
|
7
|
+
SimulatorTransport,
|
|
8
|
+
getNodeIdFromPeerDescriptor
|
|
8
9
|
} from '@streamr/dht'
|
|
9
10
|
import {
|
|
10
11
|
HandshakeRpcClient
|
|
@@ -13,7 +14,6 @@ import { NodeList } from '../../src/logic/NodeList'
|
|
|
13
14
|
import { mockConnectionLocker } from '../utils/utils'
|
|
14
15
|
import { StreamPartHandshakeRequest, StreamPartHandshakeResponse } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc'
|
|
15
16
|
import { HandshakeRpcRemote } from '../../src/logic/neighbor-discovery/HandshakeRpcRemote'
|
|
16
|
-
import { getNodeIdFromPeerDescriptor } from '../../src/identifiers'
|
|
17
17
|
import { StreamPartIDUtils } from '@streamr/protocol'
|
|
18
18
|
|
|
19
19
|
describe('Handshakes', () => {
|
|
@@ -114,7 +114,6 @@ describe('Handshakes', () => {
|
|
|
114
114
|
new HandshakeRpcRemote(
|
|
115
115
|
peerDescriptor2,
|
|
116
116
|
peerDescriptor1,
|
|
117
|
-
streamPartId,
|
|
118
117
|
rpcCommunicator2,
|
|
119
118
|
HandshakeRpcClient
|
|
120
119
|
)
|
|
@@ -130,7 +129,6 @@ describe('Handshakes', () => {
|
|
|
130
129
|
new HandshakeRpcRemote(
|
|
131
130
|
peerDescriptor2,
|
|
132
131
|
peerDescriptor1,
|
|
133
|
-
streamPartId,
|
|
134
132
|
rpcCommunicator2,
|
|
135
133
|
HandshakeRpcClient
|
|
136
134
|
)
|
|
@@ -146,7 +144,6 @@ describe('Handshakes', () => {
|
|
|
146
144
|
new HandshakeRpcRemote(
|
|
147
145
|
peerDescriptor2,
|
|
148
146
|
peerDescriptor1,
|
|
149
|
-
streamPartId,
|
|
150
147
|
rpcCommunicator2,
|
|
151
148
|
HandshakeRpcClient
|
|
152
149
|
)
|
|
@@ -163,7 +160,6 @@ describe('Handshakes', () => {
|
|
|
163
160
|
new HandshakeRpcRemote(
|
|
164
161
|
peerDescriptor2,
|
|
165
162
|
peerDescriptor1,
|
|
166
|
-
streamPartId,
|
|
167
163
|
rpcCommunicator2,
|
|
168
164
|
HandshakeRpcClient
|
|
169
165
|
)
|
|
@@ -62,7 +62,6 @@ describe('NeighborUpdateRpcRemote', () => {
|
|
|
62
62
|
rpcRemote = new NeighborUpdateRpcRemote(
|
|
63
63
|
clientNode,
|
|
64
64
|
serverNode,
|
|
65
|
-
'test-stream-part',
|
|
66
65
|
clientRpc,
|
|
67
66
|
NeighborUpdateRpcClient
|
|
68
67
|
)
|
|
@@ -77,7 +76,7 @@ describe('NeighborUpdateRpcRemote', () => {
|
|
|
77
76
|
})
|
|
78
77
|
|
|
79
78
|
it('updateNeighbors', async () => {
|
|
80
|
-
const res = await rpcRemote.updateNeighbors([])
|
|
79
|
+
const res = await rpcRemote.updateNeighbors(StreamPartIDUtils.parse('test#0'), [])
|
|
81
80
|
expect(res.peerDescriptors.length).toEqual(1)
|
|
82
81
|
})
|
|
83
82
|
})
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { NodeType } from '@streamr/dht'
|
|
2
|
-
import { hexToBinary } from '@streamr/utils'
|
|
3
|
-
import { NodeID, getNodeIdFromPeerDescriptor } from '../../src/identifiers'
|
|
1
|
+
import { DhtAddress, NodeType, getNodeIdFromPeerDescriptor, getRawFromDhtAddress } from '@streamr/dht'
|
|
4
2
|
import { NodeList } from '../../src/logic/NodeList'
|
|
5
3
|
import { HandshakeRpcLocal } from '../../src/logic/neighbor-discovery/HandshakeRpcLocal'
|
|
6
4
|
import { InterleaveRequest, StreamPartHandshakeRequest } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc'
|
|
@@ -16,8 +14,8 @@ describe('HandshakeRpcLocal', () => {
|
|
|
16
14
|
const localPeerDescriptor = createMockPeerDescriptor()
|
|
17
15
|
|
|
18
16
|
let targetNeighbors: NodeList
|
|
19
|
-
let ongoingHandshakes: Set<
|
|
20
|
-
let ongoingInterleaves: Set<
|
|
17
|
+
let ongoingHandshakes: Set<DhtAddress>
|
|
18
|
+
let ongoingInterleaves: Set<DhtAddress>
|
|
21
19
|
let handshakeWithInterleaving: jest.Mock
|
|
22
20
|
|
|
23
21
|
beforeEach(() => {
|
|
@@ -72,10 +70,10 @@ describe('HandshakeRpcLocal', () => {
|
|
|
72
70
|
})
|
|
73
71
|
|
|
74
72
|
it('unaccepted handshake', async () => {
|
|
75
|
-
ongoingHandshakes.add('0x2222' as
|
|
76
|
-
ongoingHandshakes.add('0x3333' as
|
|
77
|
-
ongoingHandshakes.add('0x4444' as
|
|
78
|
-
ongoingHandshakes.add('0x5555' as
|
|
73
|
+
ongoingHandshakes.add('0x2222' as DhtAddress)
|
|
74
|
+
ongoingHandshakes.add('0x3333' as DhtAddress)
|
|
75
|
+
ongoingHandshakes.add('0x4444' as DhtAddress)
|
|
76
|
+
ongoingHandshakes.add('0x5555' as DhtAddress)
|
|
79
77
|
const req = StreamPartHandshakeRequest.create({
|
|
80
78
|
streamPartId: STREAM_PART_ID,
|
|
81
79
|
requestId: 'requestId'
|
|
@@ -89,7 +87,7 @@ describe('HandshakeRpcLocal', () => {
|
|
|
89
87
|
it('handshakeWithInterleaving success', async () => {
|
|
90
88
|
const req: InterleaveRequest = {
|
|
91
89
|
interleaveTargetDescriptor: {
|
|
92
|
-
nodeId:
|
|
90
|
+
nodeId: getRawFromDhtAddress('0x2222' as DhtAddress),
|
|
93
91
|
type: NodeType.NODEJS
|
|
94
92
|
}
|
|
95
93
|
}
|
|
@@ -102,7 +100,7 @@ describe('HandshakeRpcLocal', () => {
|
|
|
102
100
|
it('handshakeWithInterleaving success', async () => {
|
|
103
101
|
const req: InterleaveRequest = {
|
|
104
102
|
interleaveTargetDescriptor: {
|
|
105
|
-
nodeId:
|
|
103
|
+
nodeId: getRawFromDhtAddress('0x2222' as DhtAddress),
|
|
106
104
|
type: NodeType.NODEJS
|
|
107
105
|
}
|
|
108
106
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { ListeningRpcCommunicator, Simulator, SimulatorTransport } from '@streamr/dht'
|
|
1
|
+
import { ListeningRpcCommunicator, Simulator, SimulatorTransport, getNodeIdFromPeerDescriptor } from '@streamr/dht'
|
|
2
2
|
import { range } from 'lodash'
|
|
3
|
-
import { getNodeIdFromPeerDescriptor } from '../../src/identifiers'
|
|
4
3
|
import { NodeList } from '../../src/logic/NodeList'
|
|
5
4
|
import { Handshaker } from '../../src/logic/neighbor-discovery/Handshaker'
|
|
6
5
|
import { createMockPeerDescriptor, createMockDeliveryRpcRemote, mockConnectionLocker } from '../utils/utils'
|
|
@@ -2,14 +2,14 @@ import { InspectSession, Events } from '../../src/logic/inspect/InspectSession'
|
|
|
2
2
|
import { MessageID } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc'
|
|
3
3
|
import { waitForEvent3 } from '../../../utils/dist/src/waitForEvent3'
|
|
4
4
|
import { utf8ToBinary } from '@streamr/utils'
|
|
5
|
-
import { NodeID } from '../../src/identifiers'
|
|
6
5
|
import { createRandomNodeId } from '../utils/utils'
|
|
6
|
+
import { DhtAddress } from '@streamr/dht'
|
|
7
7
|
|
|
8
8
|
describe('InspectSession', () => {
|
|
9
9
|
|
|
10
10
|
let inspectSession: InspectSession
|
|
11
|
-
let inspectedNode:
|
|
12
|
-
let anotherNode:
|
|
11
|
+
let inspectedNode: DhtAddress
|
|
12
|
+
let anotherNode: DhtAddress
|
|
13
13
|
|
|
14
14
|
const publisherId = utf8ToBinary('publisherId')
|
|
15
15
|
const messageId1: MessageID = {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { ListeningRpcCommunicator } from '@streamr/dht'
|
|
1
|
+
import { ListeningRpcCommunicator, getNodeIdFromPeerDescriptor } from '@streamr/dht'
|
|
2
2
|
import { utf8ToBinary } from '@streamr/utils'
|
|
3
|
-
import { getNodeIdFromPeerDescriptor } from '../../src/identifiers'
|
|
4
3
|
import { Inspector } from '../../src/logic/inspect/Inspector'
|
|
5
4
|
import { MockTransport } from '../utils/mock/Transport'
|
|
6
5
|
import { createMockPeerDescriptor, createRandomNodeId, mockConnectionLocker } from '../utils/utils'
|
|
@@ -4,7 +4,7 @@ import { waitForCondition } from '@streamr/utils'
|
|
|
4
4
|
import { range } from 'lodash'
|
|
5
5
|
import { expect } from 'expect'
|
|
6
6
|
import { createMockDeliveryRpcRemote, createRandomNodeId } from '../utils/utils'
|
|
7
|
-
import {
|
|
7
|
+
import { DhtAddress, getNodeIdFromPeerDescriptor } from '@streamr/dht'
|
|
8
8
|
|
|
9
9
|
describe('NeighborFinder', () => {
|
|
10
10
|
|
|
@@ -19,7 +19,7 @@ describe('NeighborFinder', () => {
|
|
|
19
19
|
targetNeighbors = new NodeList(nodeId, 15)
|
|
20
20
|
nearbyNodeView = new NodeList(nodeId, 30)
|
|
21
21
|
range(30).forEach(() => nearbyNodeView.add(createMockDeliveryRpcRemote()))
|
|
22
|
-
const mockDoFindNeighbors = async (excluded:
|
|
22
|
+
const mockDoFindNeighbors = async (excluded: DhtAddress[]) => {
|
|
23
23
|
const target = nearbyNodeView.getRandom(excluded)
|
|
24
24
|
if (Math.random() < 0.5) {
|
|
25
25
|
targetNeighbors.add(target!)
|
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
PeerDescriptor,
|
|
5
5
|
Simulator,
|
|
6
6
|
SimulatorTransport,
|
|
7
|
+
getDhtAddressFromRaw,
|
|
8
|
+
getNodeIdFromPeerDescriptor,
|
|
7
9
|
} from '@streamr/dht'
|
|
8
10
|
import { StreamPartIDUtils } from '@streamr/protocol'
|
|
9
|
-
import { binaryToHex } from '@streamr/utils'
|
|
10
11
|
import { expect } from 'expect'
|
|
11
|
-
import { NodeID, getNodeIdFromPeerDescriptor } from '../../src/identifiers'
|
|
12
12
|
import { DeliveryRpcRemote } from '../../src/logic/DeliveryRpcRemote'
|
|
13
13
|
import { NodeList } from '../../src/logic/NodeList'
|
|
14
14
|
import { formStreamPartDeliveryServiceId } from '../../src/logic/formStreamPartDeliveryServiceId'
|
|
@@ -39,7 +39,6 @@ describe('NodeList', () => {
|
|
|
39
39
|
return new DeliveryRpcRemote(
|
|
40
40
|
createMockPeerDescriptor(),
|
|
41
41
|
peerDescriptor,
|
|
42
|
-
streamPartId,
|
|
43
42
|
mockCommunicator,
|
|
44
43
|
DeliveryRpcClient
|
|
45
44
|
)
|
|
@@ -100,25 +99,25 @@ describe('NodeList', () => {
|
|
|
100
99
|
it('getClosest', () => {
|
|
101
100
|
const closest = nodeList.getClosest([])
|
|
102
101
|
expect(getNodeIdFromPeerDescriptor(closest!.getPeerDescriptor()))
|
|
103
|
-
.toEqual(
|
|
102
|
+
.toEqual(getDhtAddressFromRaw(new Uint8Array([1, 1, 1])))
|
|
104
103
|
})
|
|
105
104
|
|
|
106
105
|
it('getClosest with exclude', () => {
|
|
107
|
-
const closest = nodeList.getClosest([
|
|
106
|
+
const closest = nodeList.getClosest([getDhtAddressFromRaw(new Uint8Array([1, 1, 1]))])
|
|
108
107
|
expect(getNodeIdFromPeerDescriptor(closest!.getPeerDescriptor()))
|
|
109
|
-
.toEqual(
|
|
108
|
+
.toEqual(getDhtAddressFromRaw(new Uint8Array([1, 1, 2])))
|
|
110
109
|
})
|
|
111
110
|
|
|
112
111
|
it('getFurthest', () => {
|
|
113
112
|
const closest = nodeList.getFurthest([])
|
|
114
113
|
expect(getNodeIdFromPeerDescriptor(closest!.getPeerDescriptor()))
|
|
115
|
-
.toEqual(
|
|
114
|
+
.toEqual(getDhtAddressFromRaw(new Uint8Array([1, 1, 5])))
|
|
116
115
|
})
|
|
117
116
|
|
|
118
117
|
it('getFurthest with exclude', () => {
|
|
119
|
-
const closest = nodeList.getFurthest([
|
|
118
|
+
const closest = nodeList.getFurthest([getDhtAddressFromRaw(new Uint8Array([1, 1, 5]))])
|
|
120
119
|
expect(getNodeIdFromPeerDescriptor(closest!.getPeerDescriptor()))
|
|
121
|
-
.toEqual(
|
|
120
|
+
.toEqual(getDhtAddressFromRaw(new Uint8Array([1, 1, 4])))
|
|
122
121
|
})
|
|
123
122
|
|
|
124
123
|
it('getClosestAndFurthest', () => {
|
|
@@ -148,12 +147,12 @@ describe('NodeList', () => {
|
|
|
148
147
|
|
|
149
148
|
it('getClosestAndFurthest with exclude', () => {
|
|
150
149
|
const results = nodeList.getClosestAndFurthest([
|
|
151
|
-
|
|
152
|
-
|
|
150
|
+
getDhtAddressFromRaw(new Uint8Array([1, 1, 1])),
|
|
151
|
+
getDhtAddressFromRaw(new Uint8Array([1, 1, 5]))
|
|
153
152
|
])
|
|
154
153
|
expect(results).toEqual([
|
|
155
|
-
nodeList.getClosest([
|
|
156
|
-
nodeList.getFurthest([
|
|
154
|
+
nodeList.getClosest([getDhtAddressFromRaw(new Uint8Array([1, 1, 1]))]),
|
|
155
|
+
nodeList.getFurthest([getDhtAddressFromRaw(new Uint8Array([1, 1, 5]))])
|
|
157
156
|
])
|
|
158
157
|
})
|
|
159
158
|
})
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from '../../src/proto/packages/trackerless-network/protos/NetworkRpc'
|
|
8
8
|
import { Propagation } from '../../src/logic/propagation/Propagation'
|
|
9
9
|
import { toEthereumAddress, wait, utf8ToBinary, hexToBinary } from '@streamr/utils'
|
|
10
|
-
import {
|
|
10
|
+
import { DhtAddress } from '@streamr/dht'
|
|
11
11
|
|
|
12
12
|
const PUBLISHER_ID = toEthereumAddress('0x1111111111111111111111111111111111111111')
|
|
13
13
|
|
|
@@ -32,15 +32,15 @@ function makeMsg(streamId: string, partition: number, ts: number, msgNo: number)
|
|
|
32
32
|
|
|
33
33
|
const TTL = 100
|
|
34
34
|
|
|
35
|
-
const N1 = 'n1' as
|
|
36
|
-
const N2 = 'n2' as
|
|
37
|
-
const N3 = 'n3' as
|
|
38
|
-
const N4 = 'n4' as
|
|
39
|
-
const N5 = 'n5' as
|
|
35
|
+
const N1 = 'n1' as DhtAddress
|
|
36
|
+
const N2 = 'n2' as DhtAddress
|
|
37
|
+
const N3 = 'n3' as DhtAddress
|
|
38
|
+
const N4 = 'n4' as DhtAddress
|
|
39
|
+
const N5 = 'n5' as DhtAddress
|
|
40
40
|
|
|
41
41
|
describe(Propagation, () => {
|
|
42
|
-
let getNeighbors: jest.Mock<ReadonlyArray<
|
|
43
|
-
let sendToNeighbor: jest.Mock<Promise<void>, [
|
|
42
|
+
let getNeighbors: jest.Mock<ReadonlyArray<DhtAddress>, [string]>
|
|
43
|
+
let sendToNeighbor: jest.Mock<Promise<void>, [DhtAddress, StreamMessage]>
|
|
44
44
|
let propagation: Propagation
|
|
45
45
|
|
|
46
46
|
beforeEach(() => {
|
|
@@ -80,7 +80,7 @@ describe(Propagation, () => {
|
|
|
80
80
|
describe('#onNeighborJoined', () => {
|
|
81
81
|
let msg: StreamMessage
|
|
82
82
|
|
|
83
|
-
async function setUpAndFeed(neighbors:
|
|
83
|
+
async function setUpAndFeed(neighbors: DhtAddress[]): Promise<void> {
|
|
84
84
|
getNeighbors.mockReturnValueOnce(neighbors)
|
|
85
85
|
msg = makeMsg('s1', 0, 1000, 1)
|
|
86
86
|
propagation.feedUnseenMessage(msg, [...getNeighbors('s1#0')], N2)
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { RpcCommunicator } from '@streamr/proto-rpc'
|
|
2
|
-
import { StreamPartIDUtils } from '@streamr/protocol'
|
|
3
2
|
import { randomEthereumAddress } from '@streamr/test-utils'
|
|
4
3
|
import { hexToBinary } from '@streamr/utils'
|
|
5
4
|
import { ProxyConnectionRpcRemote } from '../../src/logic/proxy/ProxyConnectionRpcRemote'
|
|
@@ -18,7 +17,6 @@ describe('ProxyConnectionRpcRemote', () => {
|
|
|
18
17
|
const rpcRemote = new ProxyConnectionRpcRemote(
|
|
19
18
|
clientPeerDescriptor,
|
|
20
19
|
serverPeerDescriptor,
|
|
21
|
-
StreamPartIDUtils.parse('stream#0'),
|
|
22
20
|
rpcCommunicator,
|
|
23
21
|
ProxyConnectionRpcClient
|
|
24
22
|
)
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { waitForCondition } from '@streamr/utils'
|
|
2
|
-
import { getNodeIdFromPeerDescriptor } from '../../src/identifiers'
|
|
3
2
|
import { NodeList } from '../../src/logic/NodeList'
|
|
4
3
|
import { RandomGraphNode } from '../../src/logic/RandomGraphNode'
|
|
5
4
|
import { createRandomGraphNode } from '../../src/logic/createRandomGraphNode'
|
|
@@ -10,6 +9,7 @@ import { MockNeighborUpdateManager } from '../utils/mock/MockNeighborUpdateManag
|
|
|
10
9
|
import { MockTransport } from '../utils/mock/Transport'
|
|
11
10
|
import { createMockPeerDescriptor, createMockDeliveryRpcRemote, mockConnectionLocker } from '../utils/utils'
|
|
12
11
|
import { StreamPartIDUtils } from '@streamr/protocol'
|
|
12
|
+
import { getNodeIdFromPeerDescriptor } from '@streamr/dht'
|
|
13
13
|
|
|
14
14
|
describe('RandomGraphNode', () => {
|
|
15
15
|
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { Methods } from '@streamr/test-utils'
|
|
2
|
-
import { NodeID } from '../../../src/identifiers'
|
|
3
2
|
import { Handshaker } from '../../../src/logic/neighbor-discovery/Handshaker'
|
|
3
|
+
import { DhtAddress } from '@streamr/dht'
|
|
4
4
|
|
|
5
5
|
export class MockHandshaker implements Methods<Handshaker> {
|
|
6
6
|
|
|
7
7
|
// eslint-disable-next-line class-methods-use-this
|
|
8
|
-
getOngoingHandshakes(): Set<
|
|
8
|
+
getOngoingHandshakes(): Set<DhtAddress> {
|
|
9
9
|
return new Set()
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
// eslint-disable-next-line class-methods-use-this
|
|
13
|
-
async attemptHandshakesOnContacts(excludedIds:
|
|
13
|
+
async attemptHandshakesOnContacts(excludedIds: DhtAddress[]): Promise<DhtAddress[]> {
|
|
14
14
|
return excludedIds
|
|
15
15
|
}
|
|
16
16
|
|
package/test/utils/utils.ts
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import { randomBytes } from 'crypto'
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
ConnectionLocker,
|
|
4
|
+
DhtAddress,
|
|
5
|
+
DhtNode,
|
|
6
|
+
NodeType,
|
|
7
|
+
PeerDescriptor,
|
|
8
|
+
Simulator,
|
|
9
|
+
SimulatorTransport,
|
|
10
|
+
getDhtAddressFromRaw,
|
|
11
|
+
getRandomRegion,
|
|
12
|
+
getRawFromDhtAddress
|
|
13
|
+
} from '@streamr/dht'
|
|
3
14
|
import { RandomGraphNode } from '../../src/logic/RandomGraphNode'
|
|
4
15
|
import {
|
|
5
16
|
ContentType,
|
|
@@ -14,7 +25,6 @@ import { HandshakeRpcRemote } from '../../src/logic/neighbor-discovery/Handshake
|
|
|
14
25
|
import { NetworkNode, createNetworkNode } from '../../src/NetworkNode'
|
|
15
26
|
import { EthereumAddress, hexToBinary, utf8ToBinary } from '@streamr/utils'
|
|
16
27
|
import { StreamPartID, StreamPartIDUtils } from '@streamr/protocol'
|
|
17
|
-
import { NodeID } from '../../src/identifiers'
|
|
18
28
|
import { Layer1Node } from '../../src/logic/Layer1Node'
|
|
19
29
|
import { DeliveryRpcClient, HandshakeRpcClient } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc.client'
|
|
20
30
|
import { RpcCommunicator } from '@streamr/proto-rpc'
|
|
@@ -79,14 +89,14 @@ export const createStreamMessage = (
|
|
|
79
89
|
return msg
|
|
80
90
|
}
|
|
81
91
|
|
|
82
|
-
export const createRandomNodeId = ():
|
|
83
|
-
return randomBytes(10)
|
|
92
|
+
export const createRandomNodeId = (): DhtAddress => {
|
|
93
|
+
return getDhtAddressFromRaw(randomBytes(10))
|
|
84
94
|
}
|
|
85
95
|
|
|
86
96
|
export const createMockPeerDescriptor = (opts?: Omit<Partial<PeerDescriptor>, 'nodeId' | 'type'>): PeerDescriptor => {
|
|
87
97
|
return {
|
|
88
98
|
...opts,
|
|
89
|
-
nodeId:
|
|
99
|
+
nodeId: getRawFromDhtAddress(createRandomNodeId()),
|
|
90
100
|
type: NodeType.NODEJS,
|
|
91
101
|
region: getRandomRegion()
|
|
92
102
|
}
|
|
@@ -96,7 +106,6 @@ export const createMockDeliveryRpcRemote = (remotePeerDescriptor?: PeerDescripto
|
|
|
96
106
|
return new DeliveryRpcRemote(
|
|
97
107
|
createMockPeerDescriptor(),
|
|
98
108
|
remotePeerDescriptor ?? createMockPeerDescriptor(),
|
|
99
|
-
'mock',
|
|
100
109
|
new RpcCommunicator(),
|
|
101
110
|
DeliveryRpcClient
|
|
102
111
|
)
|
|
@@ -106,7 +115,6 @@ export const createMockHandshakeRpcRemote = (): HandshakeRpcRemote => {
|
|
|
106
115
|
return new HandshakeRpcRemote(
|
|
107
116
|
createMockPeerDescriptor(),
|
|
108
117
|
createMockPeerDescriptor(),
|
|
109
|
-
'mock',
|
|
110
118
|
new RpcCommunicator(),
|
|
111
119
|
HandshakeRpcClient
|
|
112
120
|
)
|
package/dist/src/identifiers.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getNodeIdFromPeerDescriptor = void 0;
|
|
4
|
-
const utils_1 = require("@streamr/utils");
|
|
5
|
-
const getNodeIdFromPeerDescriptor = (peerDescriptor) => {
|
|
6
|
-
return (0, utils_1.binaryToHex)(peerDescriptor.nodeId);
|
|
7
|
-
};
|
|
8
|
-
exports.getNodeIdFromPeerDescriptor = getNodeIdFromPeerDescriptor;
|
|
9
|
-
//# sourceMappingURL=identifiers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identifiers.js","sourceRoot":"","sources":["../../src/identifiers.ts"],"names":[],"mappings":";;;AACA,0CAA2D;AAIpD,MAAM,2BAA2B,GAAG,CAAC,cAA8B,EAAU,EAAE;IAClF,OAAO,IAAA,mBAAW,EAAC,cAAc,CAAC,MAAM,CAAsB,CAAA;AAClE,CAAC,CAAA;AAFY,QAAA,2BAA2B,+BAEvC"}
|
package/src/identifiers.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PeerDescriptor } from '@streamr/dht'
|
|
2
|
-
import { BrandedString, binaryToHex } from '@streamr/utils'
|
|
3
|
-
|
|
4
|
-
export type NodeID = BrandedString<'NodeID'>
|
|
5
|
-
|
|
6
|
-
export const getNodeIdFromPeerDescriptor = (peerDescriptor: PeerDescriptor): NodeID => {
|
|
7
|
-
return binaryToHex(peerDescriptor.nodeId) as unknown as NodeID
|
|
8
|
-
}
|