@streamr/trackerless-network 100.0.0-testnet-two.3 → 100.0.0-testnet-three.0
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/src/NetworkNode.d.ts +2 -1
- package/dist/src/NetworkNode.js +6 -2
- package/dist/src/NetworkNode.js.map +1 -1
- package/dist/src/NetworkStack.d.ts +6 -2
- package/dist/src/NetworkStack.js +21 -1
- package/dist/src/NetworkStack.js.map +1 -1
- package/dist/src/exports.d.ts +1 -0
- package/dist/src/exports.js +4 -1
- package/dist/src/exports.js.map +1 -1
- package/dist/src/logic/DeliveryRpcLocal.js +1 -0
- package/dist/src/logic/DeliveryRpcLocal.js.map +1 -1
- package/dist/src/logic/DuplicateMessageDetector.d.ts +3 -3
- package/dist/src/logic/DuplicateMessageDetector.js +10 -6
- package/dist/src/logic/DuplicateMessageDetector.js.map +1 -1
- package/dist/src/logic/EntryPointDiscovery.js +8 -5
- package/dist/src/logic/EntryPointDiscovery.js.map +1 -1
- package/dist/src/logic/Layer0Node.d.ts +2 -0
- package/dist/src/logic/Layer1Node.d.ts +4 -4
- package/dist/src/logic/NodeList.d.ts +6 -8
- package/dist/src/logic/NodeList.js +10 -12
- package/dist/src/logic/NodeList.js.map +1 -1
- package/dist/src/logic/RandomGraphNode.d.ts +5 -5
- package/dist/src/logic/RandomGraphNode.js +26 -22
- package/dist/src/logic/RandomGraphNode.js.map +1 -1
- package/dist/src/logic/StreamrNode.d.ts +3 -2
- package/dist/src/logic/StreamrNode.js +25 -6
- package/dist/src/logic/StreamrNode.js.map +1 -1
- package/dist/src/logic/createRandomGraphNode.d.ts +2 -2
- package/dist/src/logic/createRandomGraphNode.js +14 -14
- package/dist/src/logic/createRandomGraphNode.js.map +1 -1
- package/dist/src/logic/inspect/InspectSession.js +3 -2
- package/dist/src/logic/inspect/InspectSession.js.map +1 -1
- package/dist/src/logic/inspect/Inspector.d.ts +2 -3
- package/dist/src/logic/inspect/Inspector.js +7 -1
- package/dist/src/logic/inspect/Inspector.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.d.ts +1 -1
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js +18 -17
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js.map +1 -1
- 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 +29 -27
- package/dist/src/logic/neighbor-discovery/Handshaker.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborFinder.d.ts +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborFinder.js +4 -2
- package/dist/src/logic/neighbor-discovery/NeighborFinder.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.d.ts +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js +8 -4
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.d.ts +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js +5 -4
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.js.map +1 -1
- package/dist/src/logic/node-info/NodeInfoClient.d.ts +9 -0
- package/dist/src/logic/node-info/NodeInfoClient.js +19 -0
- package/dist/src/logic/node-info/NodeInfoClient.js.map +1 -0
- package/dist/src/logic/node-info/NodeInfoRpcLocal.d.ts +12 -0
- package/dist/src/logic/node-info/NodeInfoRpcLocal.js +29 -0
- package/dist/src/logic/node-info/NodeInfoRpcLocal.js.map +1 -0
- package/dist/src/logic/node-info/NodeInfoRpcRemote.d.ts +6 -0
- package/dist/src/logic/node-info/NodeInfoRpcRemote.js +11 -0
- package/dist/src/logic/node-info/NodeInfoRpcRemote.js.map +1 -0
- package/dist/src/logic/propagation/FifoMapWithTTL.js +7 -3
- package/dist/src/logic/propagation/FifoMapWithTTL.js.map +1 -1
- package/dist/src/logic/propagation/Propagation.js +3 -0
- package/dist/src/logic/propagation/Propagation.js.map +1 -1
- package/dist/src/logic/propagation/PropagationTaskStore.js +1 -0
- package/dist/src/logic/propagation/PropagationTaskStore.js.map +1 -1
- package/dist/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.js +1 -1
- package/dist/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.js.map +1 -1
- package/dist/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.js +1 -1
- package/dist/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.js.map +1 -1
- package/dist/src/logic/protocol-integration/stream-message/StreamMessageTranslator.js +43 -15
- package/dist/src/logic/protocol-integration/stream-message/StreamMessageTranslator.js.map +1 -1
- package/dist/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.d.ts +3 -0
- package/dist/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.js +14 -0
- package/dist/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.js.map +1 -0
- package/dist/src/logic/proxy/ProxyClient.d.ts +1 -1
- package/dist/src/logic/proxy/ProxyClient.js +18 -11
- package/dist/src/logic/proxy/ProxyClient.js.map +1 -1
- package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js +2 -1
- package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js.map +1 -1
- package/dist/src/logic/proxy/ProxyConnectionRpcRemote.js.map +1 -1
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.d.ts +2 -2
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js +4 -2
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js.map +1 -1
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.js.map +1 -1
- package/dist/src/logic/utils.js.map +1 -1
- package/dist/src/proto/google/protobuf/any.js.map +1 -1
- package/dist/src/proto/google/protobuf/timestamp.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +4 -5
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +38 -29
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +22 -12
- package/dist/src/proto/packages/dht/protos/DhtRpc.js +11 -16
- package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +2 -3
- package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js +1 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.d.ts +27 -0
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js +43 -17
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js.map +1 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.d.ts +106 -5
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js +79 -7
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js.map +1 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.server.d.ts +11 -0
- package/dist/test/benchmark/first-message.js +7 -5
- package/dist/test/benchmark/first-message.js.map +1 -1
- package/dist/test/utils/utils.js +2 -1
- package/dist/test/utils/utils.js.map +1 -1
- package/jest.config.js +3 -38
- package/package.json +7 -7
- package/protos/NetworkRpc.proto +34 -5
- package/src/NetworkNode.ts +5 -1
- package/src/NetworkStack.ts +23 -2
- package/src/exports.ts +4 -0
- package/src/logic/DuplicateMessageDetector.ts +7 -7
- package/src/logic/EntryPointDiscovery.ts +3 -3
- package/src/logic/Layer0Node.ts +2 -0
- package/src/logic/Layer1Node.ts +4 -4
- package/src/logic/NodeList.ts +9 -15
- package/src/logic/RandomGraphNode.ts +24 -23
- package/src/logic/StreamrNode.ts +18 -4
- package/src/logic/createRandomGraphNode.ts +17 -17
- package/src/logic/inspect/Inspector.ts +3 -4
- package/src/logic/neighbor-discovery/HandshakeRpcLocal.ts +18 -18
- package/src/logic/neighbor-discovery/Handshaker.ts +31 -32
- package/src/logic/neighbor-discovery/NeighborFinder.ts +2 -2
- package/src/logic/neighbor-discovery/NeighborUpdateManager.ts +6 -5
- package/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts +5 -5
- package/src/logic/node-info/NodeInfoClient.ts +21 -0
- package/src/logic/node-info/NodeInfoRpcLocal.ts +35 -0
- package/src/logic/node-info/NodeInfoRpcRemote.ts +11 -0
- package/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.ts +1 -1
- package/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.ts +1 -1
- package/src/logic/protocol-integration/stream-message/StreamMessageTranslator.ts +56 -27
- package/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.ts +11 -0
- package/src/logic/proxy/ProxyClient.ts +10 -10
- package/src/logic/temporary-connection/TemporaryConnectionRpcLocal.ts +3 -3
- package/src/proto/packages/dht/protos/DhtRpc.client.ts +6 -7
- package/src/proto/packages/dht/protos/DhtRpc.server.ts +3 -4
- package/src/proto/packages/dht/protos/DhtRpc.ts +32 -20
- package/src/proto/packages/proto-rpc/protos/ProtoRpc.ts +1 -1
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.client.ts +30 -1
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.server.ts +12 -1
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.ts +138 -11
- package/test/benchmark/first-message.ts +28 -8
- package/test/end-to-end/inspect.test.ts +13 -1
- package/test/end-to-end/proxy-and-full-node.test.ts +14 -1
- package/test/end-to-end/proxy-connections.test.ts +14 -2
- package/test/end-to-end/proxy-key-exchange.test.ts +15 -8
- package/test/end-to-end/random-graph-with-real-connections.test.ts +21 -21
- package/test/end-to-end/webrtc-full-node-network.test.ts +3 -3
- package/test/end-to-end/websocket-full-node-network.test.ts +3 -3
- package/test/integration/Handshakes.test.ts +8 -8
- package/test/integration/NetworkNode.test.ts +19 -1
- package/test/integration/NetworkRpc.test.ts +3 -2
- package/test/integration/NodeInfoRpc.test.ts +103 -0
- package/test/integration/Propagation.test.ts +2 -2
- package/test/integration/RandomGraphNode-Layer1Node-Latencies.test.ts +20 -21
- package/test/integration/RandomGraphNode-Layer1Node.test.ts +22 -19
- package/test/integration/stream-without-default-entrypoints.test.ts +17 -11
- package/test/unit/HandshakeRpcLocal.test.ts +15 -15
- package/test/unit/Handshaker.test.ts +3 -3
- package/test/unit/NeighborFinder.test.ts +5 -5
- package/test/unit/NodeList.test.ts +56 -57
- package/test/unit/Propagation.test.ts +4 -2
- package/test/unit/RandomGraphNode.test.ts +7 -8
- package/test/unit/StreamMessageTranslator.test.ts +7 -4
- package/test/unit/StreamrNode.test.ts +2 -0
- package/test/unit/oldStreamMessageBinaryUtils.test.ts +39 -0
- package/test/utils/mock/MockLayer0Node.ts +6 -1
- package/test/utils/mock/MockLayer1Node.ts +2 -2
- package/test/utils/mock/Transport.ts +1 -1
- package/test/utils/utils.ts +3 -1
- package/tsconfig.jest.json +3 -3
- package/tsconfig.node.json +0 -1
- package/dist/package.json +0 -55
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
// @generated by protobuf-ts 2.9.
|
|
1
|
+
// @generated by protobuf-ts 2.9.3 with parameter server_generic,generate_dependencies,long_type_number
|
|
2
2
|
// @generated from protobuf file "packages/dht/protos/DhtRpc.proto" (package "dht", syntax proto3)
|
|
3
3
|
// tslint:disable
|
|
4
4
|
import { ExternalStoreDataResponse } from "./DhtRpc";
|
|
5
5
|
import { ExternalStoreDataRequest } from "./DhtRpc";
|
|
6
6
|
import { ExternalFindDataResponse } from "./DhtRpc";
|
|
7
7
|
import { ExternalFindDataRequest } from "./DhtRpc";
|
|
8
|
-
import { DisconnectNoticeResponse } from "./DhtRpc";
|
|
9
8
|
import { DisconnectNotice } from "./DhtRpc";
|
|
10
9
|
import { UnlockRequest } from "./DhtRpc";
|
|
11
10
|
import { LockResponse } from "./DhtRpc";
|
|
@@ -132,9 +131,9 @@ export interface IConnectionLockRpc<T = ServerCallContext> {
|
|
|
132
131
|
*/
|
|
133
132
|
unlockRequest(request: UnlockRequest, context: T): Promise<Empty>;
|
|
134
133
|
/**
|
|
135
|
-
* @generated from protobuf rpc: gracefulDisconnect(dht.DisconnectNotice) returns (
|
|
134
|
+
* @generated from protobuf rpc: gracefulDisconnect(dht.DisconnectNotice) returns (google.protobuf.Empty);
|
|
136
135
|
*/
|
|
137
|
-
gracefulDisconnect(request: DisconnectNotice, context: T): Promise<
|
|
136
|
+
gracefulDisconnect(request: DisconnectNotice, context: T): Promise<Empty>;
|
|
138
137
|
}
|
|
139
138
|
/**
|
|
140
139
|
* @generated from protobuf service dht.ExternalApiRpc
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @generated by protobuf-ts 2.9.
|
|
1
|
+
// @generated by protobuf-ts 2.9.3 with parameter server_generic,generate_dependencies,long_type_number
|
|
2
2
|
// @generated from protobuf file "packages/dht/protos/DhtRpc.proto" (package "dht", syntax proto3)
|
|
3
3
|
// tslint:disable
|
|
4
4
|
import { Empty } from "../../../google/protobuf/empty";
|
|
@@ -218,6 +218,20 @@ export interface PeerDescriptor {
|
|
|
218
218
|
* @generated from protobuf field: optional uint32 region = 6;
|
|
219
219
|
*/
|
|
220
220
|
region?: number;
|
|
221
|
+
/**
|
|
222
|
+
* @generated from protobuf field: optional uint32 ipAddress = 7;
|
|
223
|
+
*/
|
|
224
|
+
ipAddress?: number;
|
|
225
|
+
/**
|
|
226
|
+
* @generated from protobuf field: optional bytes publicKey = 8;
|
|
227
|
+
*/
|
|
228
|
+
publicKey?: Uint8Array;
|
|
229
|
+
/**
|
|
230
|
+
* signature of fields 2-8
|
|
231
|
+
*
|
|
232
|
+
* @generated from protobuf field: optional bytes signature = 9;
|
|
233
|
+
*/
|
|
234
|
+
signature?: Uint8Array;
|
|
221
235
|
}
|
|
222
236
|
/**
|
|
223
237
|
* @generated from protobuf message dht.ConnectivityMethod
|
|
@@ -264,6 +278,10 @@ export interface RouteMessageWrapper {
|
|
|
264
278
|
* @generated from protobuf field: repeated dht.PeerDescriptor routingPath = 6;
|
|
265
279
|
*/
|
|
266
280
|
routingPath: PeerDescriptor[];
|
|
281
|
+
/**
|
|
282
|
+
* @generated from protobuf field: repeated string parallelRootNodeIds = 7;
|
|
283
|
+
*/
|
|
284
|
+
parallelRootNodeIds: string[];
|
|
267
285
|
}
|
|
268
286
|
/**
|
|
269
287
|
* @generated from protobuf message dht.RouteMessageAck
|
|
@@ -317,6 +335,10 @@ export interface ConnectivityResponse {
|
|
|
317
335
|
* @generated from protobuf field: dht.ConnectivityMethod websocket = 3;
|
|
318
336
|
*/
|
|
319
337
|
websocket?: ConnectivityMethod;
|
|
338
|
+
/**
|
|
339
|
+
* @generated from protobuf field: uint32 ipAddress = 4;
|
|
340
|
+
*/
|
|
341
|
+
ipAddress: number;
|
|
320
342
|
}
|
|
321
343
|
/**
|
|
322
344
|
* @generated from protobuf message dht.HandshakeRequest
|
|
@@ -514,11 +536,6 @@ export interface DisconnectNotice {
|
|
|
514
536
|
*/
|
|
515
537
|
disconnectMode: DisconnectMode;
|
|
516
538
|
}
|
|
517
|
-
/**
|
|
518
|
-
* @generated from protobuf message dht.DisconnectNoticeResponse
|
|
519
|
-
*/
|
|
520
|
-
export interface DisconnectNoticeResponse {
|
|
521
|
-
}
|
|
522
539
|
/**
|
|
523
540
|
* @generated from protobuf message dht.ExternalFindDataRequest
|
|
524
541
|
*/
|
|
@@ -848,7 +865,10 @@ class PeerDescriptor$Type extends MessageType$<PeerDescriptor> {
|
|
|
848
865
|
{ no: 3, name: "udp", kind: "message", T: () => ConnectivityMethod },
|
|
849
866
|
{ no: 4, name: "tcp", kind: "message", T: () => ConnectivityMethod },
|
|
850
867
|
{ no: 5, name: "websocket", kind: "message", T: () => ConnectivityMethod },
|
|
851
|
-
{ no: 6, name: "region", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/ }
|
|
868
|
+
{ no: 6, name: "region", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/ },
|
|
869
|
+
{ no: 7, name: "ipAddress", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/ },
|
|
870
|
+
{ no: 8, name: "publicKey", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
|
|
871
|
+
{ no: 9, name: "signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
|
|
852
872
|
]);
|
|
853
873
|
}
|
|
854
874
|
}
|
|
@@ -879,7 +899,8 @@ class RouteMessageWrapper$Type extends MessageType$<RouteMessageWrapper> {
|
|
|
879
899
|
{ no: 3, name: "target", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
|
|
880
900
|
{ no: 4, name: "message", kind: "message", T: () => Message },
|
|
881
901
|
{ no: 5, name: "reachableThrough", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor },
|
|
882
|
-
{ no: 6, name: "routingPath", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor }
|
|
902
|
+
{ no: 6, name: "routingPath", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor },
|
|
903
|
+
{ no: 7, name: "parallelRootNodeIds", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
|
|
883
904
|
]);
|
|
884
905
|
}
|
|
885
906
|
}
|
|
@@ -921,7 +942,8 @@ class ConnectivityResponse$Type extends MessageType$<ConnectivityResponse> {
|
|
|
921
942
|
super("dht.ConnectivityResponse", [
|
|
922
943
|
{ no: 1, name: "host", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
|
|
923
944
|
{ no: 2, name: "natType", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
|
|
924
|
-
{ no: 3, name: "websocket", kind: "message", T: () => ConnectivityMethod }
|
|
945
|
+
{ no: 3, name: "websocket", kind: "message", T: () => ConnectivityMethod },
|
|
946
|
+
{ no: 4, name: "ipAddress", kind: "scalar", T: 13 /*ScalarType.UINT32*/ }
|
|
925
947
|
]);
|
|
926
948
|
}
|
|
927
949
|
}
|
|
@@ -1088,16 +1110,6 @@ class DisconnectNotice$Type extends MessageType$<DisconnectNotice> {
|
|
|
1088
1110
|
*/
|
|
1089
1111
|
export const DisconnectNotice = new DisconnectNotice$Type();
|
|
1090
1112
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1091
|
-
class DisconnectNoticeResponse$Type extends MessageType$<DisconnectNoticeResponse> {
|
|
1092
|
-
constructor() {
|
|
1093
|
-
super("dht.DisconnectNoticeResponse", []);
|
|
1094
|
-
}
|
|
1095
|
-
}
|
|
1096
|
-
/**
|
|
1097
|
-
* @generated MessageType for protobuf message dht.DisconnectNoticeResponse
|
|
1098
|
-
*/
|
|
1099
|
-
export const DisconnectNoticeResponse = new DisconnectNoticeResponse$Type();
|
|
1100
|
-
// @generated message type with reflection information, may provide speed optimized methods
|
|
1101
1113
|
class ExternalFindDataRequest$Type extends MessageType$<ExternalFindDataRequest> {
|
|
1102
1114
|
constructor() {
|
|
1103
1115
|
super("dht.ExternalFindDataRequest", [
|
|
@@ -1176,7 +1188,7 @@ export const WebrtcConnectorRpc = new ServiceType("dht.WebrtcConnectorRpc", [
|
|
|
1176
1188
|
export const ConnectionLockRpc = new ServiceType("dht.ConnectionLockRpc", [
|
|
1177
1189
|
{ name: "lockRequest", options: {}, I: LockRequest, O: LockResponse },
|
|
1178
1190
|
{ name: "unlockRequest", options: {}, I: UnlockRequest, O: Empty },
|
|
1179
|
-
{ name: "gracefulDisconnect", options: {}, I: DisconnectNotice, O:
|
|
1191
|
+
{ name: "gracefulDisconnect", options: {}, I: DisconnectNotice, O: Empty }
|
|
1180
1192
|
]);
|
|
1181
1193
|
/**
|
|
1182
1194
|
* @generated ServiceType for protobuf service dht.ExternalApiRpc
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @generated by protobuf-ts 2.9.
|
|
1
|
+
// @generated by protobuf-ts 2.9.3 with parameter server_generic,generate_dependencies,long_type_number
|
|
2
2
|
// @generated from protobuf file "packages/proto-rpc/protos/ProtoRpc.proto" (package "protorpc", syntax proto3)
|
|
3
3
|
// tslint:disable
|
|
4
4
|
import { MessageType } from "@protobuf-ts/runtime";
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
// @generated by protobuf-ts 2.9.
|
|
1
|
+
// @generated by protobuf-ts 2.9.3 with parameter server_generic,generate_dependencies,long_type_number
|
|
2
2
|
// @generated from protobuf file "packages/trackerless-network/protos/NetworkRpc.proto" (syntax proto3)
|
|
3
3
|
// tslint:disable
|
|
4
|
+
import { NodeInfoRpc } from "./NetworkRpc";
|
|
5
|
+
import type { NodeInfoResponse } from "./NetworkRpc";
|
|
6
|
+
import type { NodeInfoRequest } from "./NetworkRpc";
|
|
4
7
|
import { TemporaryConnectionRpc } from "./NetworkRpc";
|
|
5
8
|
import type { TemporaryConnectionResponse } from "./NetworkRpc";
|
|
6
9
|
import type { TemporaryConnectionRequest } from "./NetworkRpc";
|
|
@@ -175,3 +178,29 @@ export class TemporaryConnectionRpcClient implements ITemporaryConnectionRpcClie
|
|
|
175
178
|
return stackIntercept<TemporaryConnectionRequest, TemporaryConnectionResponse>("unary", this._transport, method, opt, input);
|
|
176
179
|
}
|
|
177
180
|
}
|
|
181
|
+
/**
|
|
182
|
+
* @generated from protobuf service NodeInfoRpc
|
|
183
|
+
*/
|
|
184
|
+
export interface INodeInfoRpcClient {
|
|
185
|
+
/**
|
|
186
|
+
* @generated from protobuf rpc: getInfo(NodeInfoRequest) returns (NodeInfoResponse);
|
|
187
|
+
*/
|
|
188
|
+
getInfo(input: NodeInfoRequest, options?: RpcOptions): UnaryCall<NodeInfoRequest, NodeInfoResponse>;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* @generated from protobuf service NodeInfoRpc
|
|
192
|
+
*/
|
|
193
|
+
export class NodeInfoRpcClient implements INodeInfoRpcClient, ServiceInfo {
|
|
194
|
+
typeName = NodeInfoRpc.typeName;
|
|
195
|
+
methods = NodeInfoRpc.methods;
|
|
196
|
+
options = NodeInfoRpc.options;
|
|
197
|
+
constructor(private readonly _transport: RpcTransport) {
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* @generated from protobuf rpc: getInfo(NodeInfoRequest) returns (NodeInfoResponse);
|
|
201
|
+
*/
|
|
202
|
+
getInfo(input: NodeInfoRequest, options?: RpcOptions): UnaryCall<NodeInfoRequest, NodeInfoResponse> {
|
|
203
|
+
const method = this.methods[0], opt = this._transport.mergeOptions(options);
|
|
204
|
+
return stackIntercept<NodeInfoRequest, NodeInfoResponse>("unary", this._transport, method, opt, input);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
// @generated by protobuf-ts 2.9.
|
|
1
|
+
// @generated by protobuf-ts 2.9.3 with parameter server_generic,generate_dependencies,long_type_number
|
|
2
2
|
// @generated from protobuf file "packages/trackerless-network/protos/NetworkRpc.proto" (syntax proto3)
|
|
3
3
|
// tslint:disable
|
|
4
|
+
import { NodeInfoResponse } from "./NetworkRpc";
|
|
5
|
+
import { NodeInfoRequest } from "./NetworkRpc";
|
|
4
6
|
import { TemporaryConnectionResponse } from "./NetworkRpc";
|
|
5
7
|
import { TemporaryConnectionRequest } from "./NetworkRpc";
|
|
6
8
|
import { NeighborUpdate } from "./NetworkRpc";
|
|
@@ -67,3 +69,12 @@ export interface ITemporaryConnectionRpc<T = ServerCallContext> {
|
|
|
67
69
|
*/
|
|
68
70
|
openConnection(request: TemporaryConnectionRequest, context: T): Promise<TemporaryConnectionResponse>;
|
|
69
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* @generated from protobuf service NodeInfoRpc
|
|
74
|
+
*/
|
|
75
|
+
export interface INodeInfoRpc<T = ServerCallContext> {
|
|
76
|
+
/**
|
|
77
|
+
* @generated from protobuf rpc: getInfo(NodeInfoRequest) returns (NodeInfoResponse);
|
|
78
|
+
*/
|
|
79
|
+
getInfo(request: NodeInfoRequest, context: T): Promise<NodeInfoResponse>;
|
|
80
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @generated by protobuf-ts 2.9.
|
|
1
|
+
// @generated by protobuf-ts 2.9.3 with parameter server_generic,generate_dependencies,long_type_number
|
|
2
2
|
// @generated from protobuf file "packages/trackerless-network/protos/NetworkRpc.proto" (syntax proto3)
|
|
3
3
|
// tslint:disable
|
|
4
4
|
import { Empty } from "../../../google/protobuf/empty";
|
|
@@ -68,25 +68,29 @@ export interface StreamMessage {
|
|
|
68
68
|
*/
|
|
69
69
|
content: Uint8Array;
|
|
70
70
|
/**
|
|
71
|
-
* @generated from protobuf field:
|
|
71
|
+
* @generated from protobuf field: SignatureType signatureType = 5;
|
|
72
|
+
*/
|
|
73
|
+
signatureType: SignatureType;
|
|
74
|
+
/**
|
|
75
|
+
* @generated from protobuf field: bytes signature = 6;
|
|
72
76
|
*/
|
|
73
77
|
signature: Uint8Array;
|
|
74
78
|
/**
|
|
75
79
|
* this is a required field but in generated NetworkRpc.ts it is incorrectly annotated as optional (NET-1082)
|
|
76
80
|
*
|
|
77
|
-
* @generated from protobuf field: MessageID messageId =
|
|
81
|
+
* @generated from protobuf field: MessageID messageId = 7;
|
|
78
82
|
*/
|
|
79
83
|
messageId?: MessageID;
|
|
80
84
|
/**
|
|
81
|
-
* @generated from protobuf field: optional MessageRef previousMessageRef =
|
|
85
|
+
* @generated from protobuf field: optional MessageRef previousMessageRef = 8;
|
|
82
86
|
*/
|
|
83
87
|
previousMessageRef?: MessageRef;
|
|
84
88
|
/**
|
|
85
|
-
* @generated from protobuf field: optional string groupKeyId =
|
|
89
|
+
* @generated from protobuf field: optional string groupKeyId = 9;
|
|
86
90
|
*/
|
|
87
91
|
groupKeyId?: string;
|
|
88
92
|
/**
|
|
89
|
-
* @generated from protobuf field: optional GroupKey newGroupKey =
|
|
93
|
+
* @generated from protobuf field: optional GroupKey newGroupKey = 10;
|
|
90
94
|
*/
|
|
91
95
|
newGroupKey?: GroupKey;
|
|
92
96
|
}
|
|
@@ -269,6 +273,58 @@ export interface TemporaryConnectionResponse {
|
|
|
269
273
|
*/
|
|
270
274
|
accepted: boolean;
|
|
271
275
|
}
|
|
276
|
+
/**
|
|
277
|
+
* @generated from protobuf message StreamPartitionInfo
|
|
278
|
+
*/
|
|
279
|
+
export interface StreamPartitionInfo {
|
|
280
|
+
/**
|
|
281
|
+
* @generated from protobuf field: string id = 1;
|
|
282
|
+
*/
|
|
283
|
+
id: string;
|
|
284
|
+
/**
|
|
285
|
+
* @generated from protobuf field: repeated dht.PeerDescriptor controlLayerNeighbors = 2;
|
|
286
|
+
*/
|
|
287
|
+
controlLayerNeighbors: PeerDescriptor[];
|
|
288
|
+
/**
|
|
289
|
+
* @generated from protobuf field: repeated dht.PeerDescriptor deliveryLayerNeighbors = 3;
|
|
290
|
+
*/
|
|
291
|
+
deliveryLayerNeighbors: PeerDescriptor[];
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* @generated from protobuf message ControlLayerInfo
|
|
295
|
+
*/
|
|
296
|
+
export interface ControlLayerInfo {
|
|
297
|
+
/**
|
|
298
|
+
* @generated from protobuf field: repeated dht.PeerDescriptor neighbors = 1;
|
|
299
|
+
*/
|
|
300
|
+
neighbors: PeerDescriptor[];
|
|
301
|
+
/**
|
|
302
|
+
* @generated from protobuf field: repeated dht.PeerDescriptor connections = 2;
|
|
303
|
+
*/
|
|
304
|
+
connections: PeerDescriptor[];
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* @generated from protobuf message NodeInfoRequest
|
|
308
|
+
*/
|
|
309
|
+
export interface NodeInfoRequest {
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* @generated from protobuf message NodeInfoResponse
|
|
313
|
+
*/
|
|
314
|
+
export interface NodeInfoResponse {
|
|
315
|
+
/**
|
|
316
|
+
* @generated from protobuf field: dht.PeerDescriptor peerDescriptor = 1;
|
|
317
|
+
*/
|
|
318
|
+
peerDescriptor?: PeerDescriptor;
|
|
319
|
+
/**
|
|
320
|
+
* @generated from protobuf field: repeated StreamPartitionInfo streamPartitions = 2;
|
|
321
|
+
*/
|
|
322
|
+
streamPartitions: StreamPartitionInfo[];
|
|
323
|
+
/**
|
|
324
|
+
* @generated from protobuf field: optional ControlLayerInfo controlLayer = 3;
|
|
325
|
+
*/
|
|
326
|
+
controlLayer?: ControlLayerInfo;
|
|
327
|
+
}
|
|
272
328
|
/**
|
|
273
329
|
* @generated from protobuf enum StreamMessageType
|
|
274
330
|
*/
|
|
@@ -312,6 +368,19 @@ export enum EncryptionType {
|
|
|
312
368
|
*/
|
|
313
369
|
AES = 1
|
|
314
370
|
}
|
|
371
|
+
/**
|
|
372
|
+
* @generated from protobuf enum SignatureType
|
|
373
|
+
*/
|
|
374
|
+
export enum SignatureType {
|
|
375
|
+
/**
|
|
376
|
+
* @generated from protobuf enum value: LEGACY_SECP256K1 = 0;
|
|
377
|
+
*/
|
|
378
|
+
LEGACY_SECP256K1 = 0,
|
|
379
|
+
/**
|
|
380
|
+
* @generated from protobuf enum value: SECP256K1 = 1;
|
|
381
|
+
*/
|
|
382
|
+
SECP256K1 = 1
|
|
383
|
+
}
|
|
315
384
|
/**
|
|
316
385
|
* @generated from protobuf enum ProxyDirection
|
|
317
386
|
*/
|
|
@@ -363,11 +432,12 @@ class StreamMessage$Type extends MessageType<StreamMessage> {
|
|
|
363
432
|
{ no: 2, name: "contentType", kind: "enum", T: () => ["ContentType", ContentType] },
|
|
364
433
|
{ no: 3, name: "encryptionType", kind: "enum", T: () => ["EncryptionType", EncryptionType] },
|
|
365
434
|
{ no: 4, name: "content", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
|
|
366
|
-
{ no: 5, name: "
|
|
367
|
-
{ no: 6, name: "
|
|
368
|
-
{ no: 7, name: "
|
|
369
|
-
{ no: 8, name: "
|
|
370
|
-
{ no: 9, name: "
|
|
435
|
+
{ no: 5, name: "signatureType", kind: "enum", T: () => ["SignatureType", SignatureType] },
|
|
436
|
+
{ no: 6, name: "signature", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
|
|
437
|
+
{ no: 7, name: "messageId", kind: "message", T: () => MessageID },
|
|
438
|
+
{ no: 8, name: "previousMessageRef", kind: "message", T: () => MessageRef },
|
|
439
|
+
{ no: 9, name: "groupKeyId", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
|
|
440
|
+
{ no: 10, name: "newGroupKey", kind: "message", T: () => GroupKey }
|
|
371
441
|
]);
|
|
372
442
|
}
|
|
373
443
|
}
|
|
@@ -545,6 +615,57 @@ class TemporaryConnectionResponse$Type extends MessageType<TemporaryConnectionRe
|
|
|
545
615
|
* @generated MessageType for protobuf message TemporaryConnectionResponse
|
|
546
616
|
*/
|
|
547
617
|
export const TemporaryConnectionResponse = new TemporaryConnectionResponse$Type();
|
|
618
|
+
// @generated message type with reflection information, may provide speed optimized methods
|
|
619
|
+
class StreamPartitionInfo$Type extends MessageType<StreamPartitionInfo> {
|
|
620
|
+
constructor() {
|
|
621
|
+
super("StreamPartitionInfo", [
|
|
622
|
+
{ no: 1, name: "id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
|
|
623
|
+
{ no: 2, name: "controlLayerNeighbors", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor },
|
|
624
|
+
{ no: 3, name: "deliveryLayerNeighbors", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor }
|
|
625
|
+
]);
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
/**
|
|
629
|
+
* @generated MessageType for protobuf message StreamPartitionInfo
|
|
630
|
+
*/
|
|
631
|
+
export const StreamPartitionInfo = new StreamPartitionInfo$Type();
|
|
632
|
+
// @generated message type with reflection information, may provide speed optimized methods
|
|
633
|
+
class ControlLayerInfo$Type extends MessageType<ControlLayerInfo> {
|
|
634
|
+
constructor() {
|
|
635
|
+
super("ControlLayerInfo", [
|
|
636
|
+
{ no: 1, name: "neighbors", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor },
|
|
637
|
+
{ no: 2, name: "connections", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor }
|
|
638
|
+
]);
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
/**
|
|
642
|
+
* @generated MessageType for protobuf message ControlLayerInfo
|
|
643
|
+
*/
|
|
644
|
+
export const ControlLayerInfo = new ControlLayerInfo$Type();
|
|
645
|
+
// @generated message type with reflection information, may provide speed optimized methods
|
|
646
|
+
class NodeInfoRequest$Type extends MessageType<NodeInfoRequest> {
|
|
647
|
+
constructor() {
|
|
648
|
+
super("NodeInfoRequest", []);
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
/**
|
|
652
|
+
* @generated MessageType for protobuf message NodeInfoRequest
|
|
653
|
+
*/
|
|
654
|
+
export const NodeInfoRequest = new NodeInfoRequest$Type();
|
|
655
|
+
// @generated message type with reflection information, may provide speed optimized methods
|
|
656
|
+
class NodeInfoResponse$Type extends MessageType<NodeInfoResponse> {
|
|
657
|
+
constructor() {
|
|
658
|
+
super("NodeInfoResponse", [
|
|
659
|
+
{ no: 1, name: "peerDescriptor", kind: "message", T: () => PeerDescriptor },
|
|
660
|
+
{ no: 2, name: "streamPartitions", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => StreamPartitionInfo },
|
|
661
|
+
{ no: 3, name: "controlLayer", kind: "message", T: () => ControlLayerInfo }
|
|
662
|
+
]);
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
/**
|
|
666
|
+
* @generated MessageType for protobuf message NodeInfoResponse
|
|
667
|
+
*/
|
|
668
|
+
export const NodeInfoResponse = new NodeInfoResponse$Type();
|
|
548
669
|
/**
|
|
549
670
|
* @generated ServiceType for protobuf service DeliveryRpc
|
|
550
671
|
*/
|
|
@@ -577,3 +698,9 @@ export const NeighborUpdateRpc = new ServiceType("NeighborUpdateRpc", [
|
|
|
577
698
|
export const TemporaryConnectionRpc = new ServiceType("TemporaryConnectionRpc", [
|
|
578
699
|
{ name: "openConnection", options: {}, I: TemporaryConnectionRequest, O: TemporaryConnectionResponse }
|
|
579
700
|
]);
|
|
701
|
+
/**
|
|
702
|
+
* @generated ServiceType for protobuf service NodeInfoRpc
|
|
703
|
+
*/
|
|
704
|
+
export const NodeInfoRpc = new ServiceType("NodeInfoRpc", [
|
|
705
|
+
{ name: "getInfo", options: {}, I: NodeInfoRequest, O: NodeInfoResponse }
|
|
706
|
+
]);
|
|
@@ -1,10 +1,27 @@
|
|
|
1
1
|
/* eslint-disable no-console */
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import {
|
|
4
|
+
DhtNode,
|
|
5
|
+
getNodeIdFromPeerDescriptor,
|
|
6
|
+
getRandomRegion,
|
|
7
|
+
LatencyType,
|
|
8
|
+
PeerDescriptor,
|
|
9
|
+
Simulator
|
|
10
|
+
} from '@streamr/dht'
|
|
11
|
+
import {
|
|
12
|
+
ContentType,
|
|
13
|
+
EncryptionType,
|
|
14
|
+
MessageID,
|
|
15
|
+
SignatureType,
|
|
16
|
+
StreamMessage,
|
|
17
|
+
StreamMessageType,
|
|
18
|
+
StreamPartID,
|
|
19
|
+
StreamPartIDUtils,
|
|
20
|
+
toStreamID,
|
|
21
|
+
toStreamPartID
|
|
22
|
+
} from '@streamr/protocol'
|
|
5
23
|
import { hexToBinary, utf8ToBinary, waitForEvent3 } from '@streamr/utils'
|
|
6
24
|
import fs from 'fs'
|
|
7
|
-
import { PeerDescriptor } from '@streamr/dht'
|
|
8
25
|
import { NetworkNode } from '../../src/NetworkNode'
|
|
9
26
|
import { streamPartIdToDataKey } from '../../src/logic/EntryPointDiscovery'
|
|
10
27
|
import { createMockPeerDescriptor, createNetworkNodeWithSimulator } from '../utils/utils'
|
|
@@ -78,12 +95,15 @@ const measureJoiningTime = async () => {
|
|
|
78
95
|
'2222' as any,
|
|
79
96
|
'msgChainId'
|
|
80
97
|
),
|
|
81
|
-
prevMsgRef: null,
|
|
82
98
|
content: utf8ToBinary(JSON.stringify({
|
|
83
99
|
hello: 'world'
|
|
84
100
|
})),
|
|
85
101
|
messageType: StreamMessageType.MESSAGE,
|
|
102
|
+
contentType: ContentType.JSON,
|
|
103
|
+
encryptionType: EncryptionType.NONE,
|
|
86
104
|
signature: hexToBinary('0x1234'),
|
|
105
|
+
signatureType: SignatureType.SECP256K1,
|
|
106
|
+
|
|
87
107
|
})
|
|
88
108
|
streamParts.get(stream)!.broadcast(streamMessage)
|
|
89
109
|
}, 1000)
|
|
@@ -138,11 +158,11 @@ run().then(() => {
|
|
|
138
158
|
const foundData = nodes[0].stack.getLayer0Node().getDataFromDht(streamPartIdToDataKey(streamParts[0]))
|
|
139
159
|
console.log(foundData)
|
|
140
160
|
const layer0Node = currentNode.stack.getLayer0Node() as DhtNode
|
|
141
|
-
console.log(layer0Node.
|
|
142
|
-
console.log(layer0Node.
|
|
161
|
+
console.log(layer0Node.getNeighbors().length)
|
|
162
|
+
console.log(layer0Node.getConnectionCount())
|
|
143
163
|
const streamPartDelivery = streamrNode.getStreamPartDelivery(streamParts[0])! as { layer1Node: Layer1Node, node: RandomGraphNode }
|
|
144
|
-
console.log(streamPartDelivery.layer1Node.
|
|
145
|
-
console.log(streamPartDelivery.node.
|
|
164
|
+
console.log(streamPartDelivery.layer1Node.getNeighbors())
|
|
165
|
+
console.log(streamPartDelivery.node.getNeighbors())
|
|
146
166
|
console.log(nodes[nodes.length - 1])
|
|
147
167
|
if (publishInterval) {
|
|
148
168
|
clearInterval(publishInterval)
|
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
ContentType,
|
|
3
|
+
EncryptionType,
|
|
4
|
+
MessageID,
|
|
5
|
+
MessageRef,
|
|
6
|
+
SignatureType,
|
|
7
|
+
StreamMessage,
|
|
8
|
+
StreamMessageType,
|
|
9
|
+
StreamPartIDUtils
|
|
10
|
+
} from '@streamr/protocol'
|
|
2
11
|
import { randomEthereumAddress } from '@streamr/test-utils'
|
|
3
12
|
import { hexToBinary, utf8ToBinary, waitForCondition } from '@streamr/utils'
|
|
4
13
|
import { NetworkNode, createNetworkNode } from '../../src/NetworkNode'
|
|
@@ -52,6 +61,9 @@ describe('inspect', () => {
|
|
|
52
61
|
hello: 'world'
|
|
53
62
|
})),
|
|
54
63
|
messageType: StreamMessageType.MESSAGE,
|
|
64
|
+
contentType: ContentType.JSON,
|
|
65
|
+
encryptionType: EncryptionType.NONE,
|
|
66
|
+
signatureType: SignatureType.SECP256K1,
|
|
55
67
|
signature: hexToBinary('0x1234'),
|
|
56
68
|
})
|
|
57
69
|
|
|
@@ -1,4 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
ContentType,
|
|
3
|
+
EncryptionType,
|
|
4
|
+
MessageID,
|
|
5
|
+
MessageRef,
|
|
6
|
+
SignatureType,
|
|
7
|
+
StreamMessage,
|
|
8
|
+
StreamMessageType,
|
|
9
|
+
StreamPartID,
|
|
10
|
+
StreamPartIDUtils
|
|
11
|
+
} from '@streamr/protocol'
|
|
2
12
|
import { randomEthereumAddress } from '@streamr/test-utils'
|
|
3
13
|
import { hexToBinary, utf8ToBinary, waitForEvent3 } from '@streamr/utils'
|
|
4
14
|
import { NetworkNode, createNetworkNode } from '../../src/NetworkNode'
|
|
@@ -22,6 +32,9 @@ const createMessage = (streamPartId: StreamPartID): StreamMessage => {
|
|
|
22
32
|
hello: 'world'
|
|
23
33
|
})),
|
|
24
34
|
messageType: StreamMessageType.MESSAGE,
|
|
35
|
+
contentType: ContentType.JSON,
|
|
36
|
+
encryptionType: EncryptionType.NONE,
|
|
37
|
+
signatureType: SignatureType.SECP256K1,
|
|
25
38
|
signature: hexToBinary('0x1234'),
|
|
26
39
|
})
|
|
27
40
|
}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
ContentType,
|
|
3
|
+
EncryptionType,
|
|
4
|
+
MessageID,
|
|
5
|
+
MessageRef,
|
|
6
|
+
SignatureType,
|
|
7
|
+
StreamMessage,
|
|
8
|
+
StreamMessageType,
|
|
9
|
+
StreamPartIDUtils
|
|
10
|
+
} from '@streamr/protocol'
|
|
2
11
|
import { randomEthereumAddress } from '@streamr/test-utils'
|
|
3
12
|
import { hexToBinary, utf8ToBinary, wait, waitForCondition, waitForEvent3 } from '@streamr/utils'
|
|
4
13
|
import { NetworkNode, createNetworkNode } from '../../src/NetworkNode'
|
|
@@ -24,7 +33,10 @@ const MESSAGE = new StreamMessage({
|
|
|
24
33
|
hello: 'world'
|
|
25
34
|
})),
|
|
26
35
|
messageType: StreamMessageType.MESSAGE,
|
|
27
|
-
|
|
36
|
+
encryptionType: EncryptionType.NONE,
|
|
37
|
+
signatureType: SignatureType.SECP256K1,
|
|
38
|
+
signature: hexToBinary('0x1234'),
|
|
39
|
+
contentType: ContentType.JSON
|
|
28
40
|
})
|
|
29
41
|
|
|
30
42
|
describe('Proxy connections', () => {
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
|
+
ContentType,
|
|
2
3
|
EncryptionType,
|
|
3
4
|
GroupKeyRequest,
|
|
4
5
|
GroupKeyResponse,
|
|
5
6
|
MessageID,
|
|
7
|
+
serializeGroupKeyRequest,
|
|
8
|
+
serializeGroupKeyResponse, SignatureType,
|
|
6
9
|
StreamMessage,
|
|
7
10
|
StreamMessageType,
|
|
8
11
|
StreamPartIDUtils
|
|
9
12
|
} from '@streamr/protocol'
|
|
10
|
-
import { hexToBinary, toEthereumAddress,
|
|
13
|
+
import { hexToBinary, toEthereumAddress, waitForEvent3 } from '@streamr/utils'
|
|
11
14
|
import { NetworkNode, createNetworkNode } from '../../src/NetworkNode'
|
|
12
15
|
import { ProxyDirection } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc'
|
|
13
16
|
import { createMockPeerDescriptor } from '../utils/utils'
|
|
@@ -69,14 +72,14 @@ describe('proxy group key exchange', () => {
|
|
|
69
72
|
await publisher.setProxies(STREAM_PART_ID, [proxyNodeDescriptor], ProxyDirection.PUBLISH, publisherUserId)
|
|
70
73
|
await subscriber.setProxies(STREAM_PART_ID, [proxyNodeDescriptor], ProxyDirection.SUBSCRIBE, subscriberUserId)
|
|
71
74
|
|
|
72
|
-
const
|
|
75
|
+
const groupKeyRequest = new GroupKeyRequest({
|
|
73
76
|
recipient: publisherUserId,
|
|
74
77
|
requestId: 'requestId',
|
|
75
78
|
rsaPublicKey: 'mockKey',
|
|
76
79
|
groupKeyIds: [
|
|
77
80
|
'mock'
|
|
78
81
|
],
|
|
79
|
-
})
|
|
82
|
+
})
|
|
80
83
|
const request = new StreamMessage({
|
|
81
84
|
messageId: new MessageID(
|
|
82
85
|
StreamPartIDUtils.getStreamID(STREAM_PART_ID),
|
|
@@ -87,8 +90,10 @@ describe('proxy group key exchange', () => {
|
|
|
87
90
|
'0'
|
|
88
91
|
),
|
|
89
92
|
messageType: StreamMessageType.GROUP_KEY_REQUEST,
|
|
93
|
+
contentType: ContentType.JSON,
|
|
90
94
|
encryptionType: EncryptionType.NONE,
|
|
91
|
-
content:
|
|
95
|
+
content: serializeGroupKeyRequest(groupKeyRequest),
|
|
96
|
+
signatureType: SignatureType.SECP256K1,
|
|
92
97
|
signature: hexToBinary('1234')
|
|
93
98
|
})
|
|
94
99
|
|
|
@@ -102,11 +107,11 @@ describe('proxy group key exchange', () => {
|
|
|
102
107
|
await publisher.setProxies(STREAM_PART_ID, [proxyNodeDescriptor], ProxyDirection.PUBLISH, publisherUserId)
|
|
103
108
|
await subscriber.setProxies(STREAM_PART_ID, [proxyNodeDescriptor], ProxyDirection.SUBSCRIBE, subscriberUserId)
|
|
104
109
|
|
|
105
|
-
const
|
|
110
|
+
const groupKeyResponse = new GroupKeyResponse({
|
|
106
111
|
recipient: publisherUserId,
|
|
107
112
|
requestId: 'requestId',
|
|
108
113
|
encryptedGroupKeys: []
|
|
109
|
-
})
|
|
114
|
+
})
|
|
110
115
|
const response = new StreamMessage({
|
|
111
116
|
messageId: new MessageID(
|
|
112
117
|
StreamPartIDUtils.getStreamID(STREAM_PART_ID),
|
|
@@ -117,8 +122,10 @@ describe('proxy group key exchange', () => {
|
|
|
117
122
|
'0'
|
|
118
123
|
),
|
|
119
124
|
messageType: StreamMessageType.GROUP_KEY_RESPONSE,
|
|
120
|
-
|
|
121
|
-
|
|
125
|
+
contentType: ContentType.JSON,
|
|
126
|
+
encryptionType: EncryptionType.NONE,
|
|
127
|
+
content: serializeGroupKeyResponse(groupKeyResponse),
|
|
128
|
+
signatureType: SignatureType.SECP256K1,
|
|
122
129
|
signature: hexToBinary('1234')
|
|
123
130
|
})
|
|
124
131
|
|