@libp2p/interface-compliance-tests 1.1.15 → 1.1.16
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/connection-encrypter/index.d.ts +2 -2
- package/dist/src/connection-encrypter/index.d.ts.map +1 -1
- package/dist/src/connection-encrypter/index.js.map +1 -1
- package/dist/src/mocks/connection-encrypter.d.ts +3 -0
- package/dist/src/mocks/connection-encrypter.d.ts.map +1 -0
- package/dist/src/mocks/connection-encrypter.js +93 -0
- package/dist/src/mocks/connection-encrypter.js.map +1 -0
- package/dist/src/mocks/connection-manager.d.ts +6 -3
- package/dist/src/mocks/connection-manager.d.ts.map +1 -1
- package/dist/src/mocks/connection-manager.js +9 -0
- package/dist/src/mocks/connection-manager.js.map +1 -1
- package/dist/src/mocks/connection.d.ts +1 -1
- package/dist/src/mocks/connection.d.ts.map +1 -1
- package/dist/src/mocks/connection.js +68 -49
- package/dist/src/mocks/connection.js.map +1 -1
- package/dist/src/mocks/duplex.d.ts +3 -0
- package/dist/src/mocks/duplex.d.ts.map +1 -0
- package/dist/src/mocks/duplex.js +7 -0
- package/dist/src/mocks/duplex.js.map +1 -0
- package/dist/src/mocks/index.d.ts +2 -1
- package/dist/src/mocks/index.d.ts.map +1 -1
- package/dist/src/mocks/index.js +2 -1
- package/dist/src/mocks/index.js.map +1 -1
- package/dist/src/mocks/multiaddr-connection.d.ts +12 -0
- package/dist/src/mocks/multiaddr-connection.d.ts.map +1 -1
- package/dist/src/mocks/multiaddr-connection.js +37 -0
- package/dist/src/mocks/multiaddr-connection.js.map +1 -1
- package/dist/src/mocks/muxer.d.ts +8 -2
- package/dist/src/mocks/muxer.d.ts.map +1 -1
- package/dist/src/mocks/muxer.js +18 -9
- package/dist/src/mocks/muxer.js.map +1 -1
- package/dist/src/mocks/registrar.d.ts +6 -6
- package/dist/src/mocks/registrar.d.ts.map +1 -1
- package/dist/src/mocks/registrar.js +23 -33
- package/dist/src/mocks/registrar.js.map +1 -1
- package/dist/src/mocks/upgrader.d.ts +10 -2
- package/dist/src/mocks/upgrader.d.ts.map +1 -1
- package/dist/src/mocks/upgrader.js +28 -23
- package/dist/src/mocks/upgrader.js.map +1 -1
- package/dist/src/pubsub/api.d.ts +3 -4
- package/dist/src/pubsub/api.d.ts.map +1 -1
- package/dist/src/pubsub/api.js +8 -3
- package/dist/src/pubsub/api.js.map +1 -1
- package/dist/src/pubsub/connection-handlers.d.ts +3 -4
- package/dist/src/pubsub/connection-handlers.d.ts.map +1 -1
- package/dist/src/pubsub/connection-handlers.js +41 -16
- package/dist/src/pubsub/connection-handlers.js.map +1 -1
- package/dist/src/pubsub/emit-self.d.ts +3 -4
- package/dist/src/pubsub/emit-self.d.ts.map +1 -1
- package/dist/src/pubsub/emit-self.js +15 -6
- package/dist/src/pubsub/emit-self.js.map +1 -1
- package/dist/src/pubsub/index.d.ts +8 -3
- package/dist/src/pubsub/index.d.ts.map +1 -1
- package/dist/src/pubsub/index.js.map +1 -1
- package/dist/src/pubsub/messages.d.ts +3 -4
- package/dist/src/pubsub/messages.d.ts.map +1 -1
- package/dist/src/pubsub/messages.js +13 -6
- package/dist/src/pubsub/messages.js.map +1 -1
- package/dist/src/pubsub/multiple-nodes.d.ts +3 -4
- package/dist/src/pubsub/multiple-nodes.d.ts.map +1 -1
- package/dist/src/pubsub/multiple-nodes.js +57 -24
- package/dist/src/pubsub/multiple-nodes.js.map +1 -1
- package/dist/src/pubsub/two-nodes.d.ts +3 -4
- package/dist/src/pubsub/two-nodes.d.ts.map +1 -1
- package/dist/src/pubsub/two-nodes.js +16 -7
- package/dist/src/pubsub/two-nodes.js.map +1 -1
- package/dist/src/pubsub/utils.d.ts +2 -2
- package/dist/src/pubsub/utils.js +1 -1
- package/dist/src/pubsub/utils.js.map +1 -1
- package/dist/src/stream-muxer/base-test.d.ts +2 -2
- package/dist/src/stream-muxer/base-test.d.ts.map +1 -1
- package/dist/src/stream-muxer/base-test.js +17 -8
- package/dist/src/stream-muxer/base-test.js.map +1 -1
- package/dist/src/stream-muxer/close-test.d.ts +2 -2
- package/dist/src/stream-muxer/close-test.d.ts.map +1 -1
- package/dist/src/stream-muxer/close-test.js +9 -4
- package/dist/src/stream-muxer/close-test.js.map +1 -1
- package/dist/src/stream-muxer/index.d.ts +2 -2
- package/dist/src/stream-muxer/index.d.ts.map +1 -1
- package/dist/src/stream-muxer/index.js.map +1 -1
- package/dist/src/stream-muxer/mega-stress-test.d.ts +2 -2
- package/dist/src/stream-muxer/mega-stress-test.d.ts.map +1 -1
- package/dist/src/stream-muxer/mega-stress-test.js +5 -1
- package/dist/src/stream-muxer/mega-stress-test.js.map +1 -1
- package/dist/src/stream-muxer/spawner.d.ts +2 -2
- package/dist/src/stream-muxer/spawner.d.ts.map +1 -1
- package/dist/src/stream-muxer/spawner.js.map +1 -1
- package/dist/src/stream-muxer/stress-test.d.ts +2 -2
- package/dist/src/stream-muxer/stress-test.d.ts.map +1 -1
- package/dist/src/stream-muxer/stress-test.js +5 -1
- package/dist/src/stream-muxer/stress-test.js.map +1 -1
- package/dist/src/transport/dial-test.d.ts +2 -2
- package/dist/src/transport/dial-test.d.ts.map +1 -1
- package/dist/src/transport/dial-test.js +17 -9
- package/dist/src/transport/dial-test.js.map +1 -1
- package/dist/src/transport/filter-test.d.ts +2 -2
- package/dist/src/transport/filter-test.d.ts.map +1 -1
- package/dist/src/transport/filter-test.js +1 -2
- package/dist/src/transport/filter-test.js.map +1 -1
- package/dist/src/transport/index.d.ts +3 -6
- package/dist/src/transport/index.d.ts.map +1 -1
- package/dist/src/transport/index.js.map +1 -1
- package/dist/src/transport/listen-test.d.ts +2 -2
- package/dist/src/transport/listen-test.d.ts.map +1 -1
- package/dist/src/transport/listen-test.js +35 -19
- package/dist/src/transport/listen-test.js.map +1 -1
- package/package.json +8 -8
- package/src/connection-encrypter/index.ts +3 -3
- package/src/mocks/connection-encrypter.ts +110 -0
- package/src/mocks/connection-manager.ts +15 -3
- package/src/mocks/connection.ts +104 -57
- package/src/mocks/duplex.ts +8 -0
- package/src/mocks/index.ts +2 -1
- package/src/mocks/multiaddr-connection.ts +47 -0
- package/src/mocks/muxer.ts +29 -19
- package/src/mocks/registrar.ts +30 -40
- package/src/mocks/upgrader.ts +32 -22
- package/src/pubsub/api.ts +15 -10
- package/src/pubsub/connection-handlers.ts +64 -39
- package/src/pubsub/emit-self.ts +21 -13
- package/src/pubsub/index.ts +9 -3
- package/src/pubsub/messages.ts +23 -14
- package/src/pubsub/multiple-nodes.ts +75 -42
- package/src/pubsub/two-nodes.ts +29 -20
- package/src/pubsub/utils.ts +4 -4
- package/src/stream-muxer/base-test.ts +19 -10
- package/src/stream-muxer/close-test.ts +11 -6
- package/src/stream-muxer/index.ts +2 -2
- package/src/stream-muxer/mega-stress-test.ts +7 -3
- package/src/stream-muxer/spawner.ts +2 -2
- package/src/stream-muxer/stress-test.ts +7 -3
- package/src/transport/dial-test.ts +21 -13
- package/src/transport/filter-test.ts +4 -5
- package/src/transport/index.ts +3 -7
- package/src/transport/listen-test.ts +41 -25
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { TestSetup } from '../index.js';
|
|
2
|
-
import type {
|
|
3
|
-
declare const _default: (common: TestSetup<
|
|
2
|
+
import type { ConnectionEncrypter } from '@libp2p/interfaces/connection-encrypter';
|
|
3
|
+
declare const _default: (common: TestSetup<ConnectionEncrypter>) => void;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connection-encrypter/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connection-encrypter/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;iCAI1D,UAAU,mBAAmB,CAAC;AAAtD,wBA0FC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connection-encrypter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAA;AACxD,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,KAAK,MAAM,mBAAmB,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAA;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAMnD,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connection-encrypter/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-encrypter.d.ts","sourceRoot":"","sources":["../../../src/mocks/connection-encrypter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAYlF,wBAAgB,uBAAuB,wBA2FtC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { peerIdFromBytes } from '@libp2p/peer-id';
|
|
2
|
+
import { handshake } from 'it-handshake';
|
|
3
|
+
import { duplexPair } from 'it-pair/duplex';
|
|
4
|
+
import { pipe } from 'it-pipe';
|
|
5
|
+
import { UnexpectedPeerError } from '@libp2p/interfaces/connection-encrypter/errors';
|
|
6
|
+
import { Multiaddr } from '@multiformats/multiaddr';
|
|
7
|
+
// A basic transform that does nothing to the data
|
|
8
|
+
const transform = () => {
|
|
9
|
+
return (source) => (async function* () {
|
|
10
|
+
for await (const chunk of source) {
|
|
11
|
+
yield chunk;
|
|
12
|
+
}
|
|
13
|
+
})();
|
|
14
|
+
};
|
|
15
|
+
export function mockConnectionEncrypter() {
|
|
16
|
+
const encrypter = {
|
|
17
|
+
protocol: 'insecure',
|
|
18
|
+
secureInbound: async (localPeer, duplex, expectedPeer) => {
|
|
19
|
+
// 1. Perform a basic handshake.
|
|
20
|
+
const shake = handshake(duplex);
|
|
21
|
+
shake.write(localPeer.toBytes());
|
|
22
|
+
const remoteId = await shake.read();
|
|
23
|
+
if (remoteId == null) {
|
|
24
|
+
throw new Error('Could not read remote ID');
|
|
25
|
+
}
|
|
26
|
+
const remotePeer = peerIdFromBytes(remoteId.slice());
|
|
27
|
+
shake.rest();
|
|
28
|
+
if (expectedPeer != null && !expectedPeer.equals(remotePeer)) {
|
|
29
|
+
throw new UnexpectedPeerError();
|
|
30
|
+
}
|
|
31
|
+
// 2. Create your encryption box/unbox wrapper
|
|
32
|
+
const wrapper = duplexPair();
|
|
33
|
+
const encrypt = transform(); // Use transform iterables to modify data
|
|
34
|
+
const decrypt = transform();
|
|
35
|
+
void pipe(wrapper[0], // We write to wrapper
|
|
36
|
+
encrypt, // The data is encrypted
|
|
37
|
+
shake.stream, // It goes to the remote peer
|
|
38
|
+
decrypt, // Decrypt the incoming data
|
|
39
|
+
wrapper[0] // Pipe to the wrapper
|
|
40
|
+
);
|
|
41
|
+
return {
|
|
42
|
+
conn: {
|
|
43
|
+
...wrapper[1],
|
|
44
|
+
close: async () => { },
|
|
45
|
+
localAddr: new Multiaddr('/ip4/127.0.0.1/tcp/4001'),
|
|
46
|
+
remoteAddr: new Multiaddr('/ip4/127.0.0.1/tcp/4002'),
|
|
47
|
+
timeline: {
|
|
48
|
+
open: Date.now()
|
|
49
|
+
},
|
|
50
|
+
conn: true
|
|
51
|
+
},
|
|
52
|
+
remotePeer,
|
|
53
|
+
remoteEarlyData: new Uint8Array(0)
|
|
54
|
+
};
|
|
55
|
+
},
|
|
56
|
+
secureOutbound: async (localPeer, duplex, remotePeer) => {
|
|
57
|
+
// 1. Perform a basic handshake.
|
|
58
|
+
const shake = handshake(duplex);
|
|
59
|
+
shake.write(localPeer.toBytes());
|
|
60
|
+
const remoteId = await shake.read();
|
|
61
|
+
if (remoteId == null) {
|
|
62
|
+
throw new Error('Could not read remote ID');
|
|
63
|
+
}
|
|
64
|
+
shake.rest();
|
|
65
|
+
// 2. Create your encryption box/unbox wrapper
|
|
66
|
+
const wrapper = duplexPair();
|
|
67
|
+
const encrypt = transform();
|
|
68
|
+
const decrypt = transform();
|
|
69
|
+
void pipe(wrapper[0], // We write to wrapper
|
|
70
|
+
encrypt, // The data is encrypted
|
|
71
|
+
shake.stream, // It goes to the remote peer
|
|
72
|
+
decrypt, // Decrypt the incoming data
|
|
73
|
+
wrapper[0] // Pipe to the wrapper
|
|
74
|
+
);
|
|
75
|
+
return {
|
|
76
|
+
conn: {
|
|
77
|
+
...wrapper[1],
|
|
78
|
+
close: async () => { },
|
|
79
|
+
localAddr: new Multiaddr('/ip4/127.0.0.1/tcp/4001'),
|
|
80
|
+
remoteAddr: new Multiaddr('/ip4/127.0.0.1/tcp/4002'),
|
|
81
|
+
timeline: {
|
|
82
|
+
open: Date.now()
|
|
83
|
+
},
|
|
84
|
+
conn: true
|
|
85
|
+
},
|
|
86
|
+
remotePeer: peerIdFromBytes(remoteId.slice()),
|
|
87
|
+
remoteEarlyData: new Uint8Array(0)
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
return encrypter;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=connection-encrypter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-encrypter.js","sourceRoot":"","sources":["../../../src/mocks/connection-encrypter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { EventEmitter } from '@libp2p/interfaces';
|
|
2
|
-
import type { Connection } from '@libp2p/interfaces/
|
|
3
|
-
import type { PeerId } from '@libp2p/interfaces/
|
|
4
|
-
import type { ConnectionManager, ConnectionManagerEvents } from '@libp2p/interfaces/
|
|
2
|
+
import type { Connection } from '@libp2p/interfaces/connection';
|
|
3
|
+
import type { PeerId } from '@libp2p/interfaces/peer-id';
|
|
4
|
+
import type { ConnectionManager, ConnectionManagerEvents } from '@libp2p/interfaces/registrar';
|
|
5
5
|
declare class MockConnectionManager extends EventEmitter<ConnectionManagerEvents> implements ConnectionManager {
|
|
6
|
+
getConnectionMap(): Map<string, Connection[]>;
|
|
7
|
+
getConnectionList(): Connection[];
|
|
8
|
+
getConnections(): Connection[];
|
|
6
9
|
getConnection(peerId: PeerId): Connection | undefined;
|
|
7
10
|
listenerCount(type: string): number;
|
|
8
11
|
addEventListener<U extends keyof ConnectionManagerEvents>(type: U, callback: ((evt: ConnectionManagerEvents[U]) => void) | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-manager.d.ts","sourceRoot":"","sources":["../../../src/mocks/connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"connection-manager.d.ts","sourceRoot":"","sources":["../../../src/mocks/connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAE9F,cAAM,qBAAsB,SAAQ,YAAY,CAAC,uBAAuB,CAAE,YAAW,iBAAiB;IACpG,gBAAgB,IAAK,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;IAI9C,iBAAiB,IAAK,UAAU,EAAE;IAIlC,cAAc,IAAK,UAAU,EAAE;IAI/B,aAAa,CAAE,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAItD,aAAa,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAIpC,gBAAgB,CAAC,CAAC,SAAS,MAAM,uBAAuB,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG;QAAE,WAAW,EAAE,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI;IAIhP,mBAAmB,CAAC,CAAC,SAAS,MAAM,uBAAuB,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG;QAAE,WAAW,EAAE,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI;IAI9P,aAAa,CAAE,KAAK,EAAE,KAAK,GAAG,OAAO;CAGtC;AAED,wBAAgB,qBAAqB,0BAEpC"}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import { EventEmitter } from '@libp2p/interfaces';
|
|
2
2
|
class MockConnectionManager extends EventEmitter {
|
|
3
|
+
getConnectionMap() {
|
|
4
|
+
throw new Error('Method not implemented.');
|
|
5
|
+
}
|
|
6
|
+
getConnectionList() {
|
|
7
|
+
throw new Error('Method not implemented.');
|
|
8
|
+
}
|
|
9
|
+
getConnections() {
|
|
10
|
+
throw new Error('Method not implemented.');
|
|
11
|
+
}
|
|
3
12
|
getConnection(peerId) {
|
|
4
13
|
throw new Error('Method not implemented.');
|
|
5
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-manager.js","sourceRoot":"","sources":["../../../src/mocks/connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAKjD,MAAM,qBAAsB,SAAQ,YAAqC;IACvE,aAAa,CAAE,MAAc;QAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,aAAa,CAAE,IAAY;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,gBAAgB,CAA0C,IAAO,EAAE,QAAyH,EAAE,OAA2C;QACvO,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,mBAAmB,CAA0C,IAAO,EAAE,QAAuI,EAAE,OAAwC;QACrP,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,aAAa,CAAE,KAAY;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;CACF;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,IAAI,qBAAqB,EAAE,CAAA;AACpC,CAAC"}
|
|
1
|
+
{"version":3,"file":"connection-manager.js","sourceRoot":"","sources":["../../../src/mocks/connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAKjD,MAAM,qBAAsB,SAAQ,YAAqC;IACvE,gBAAgB;QACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,iBAAiB;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,cAAc;QACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,aAAa,CAAE,MAAc;QAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,aAAa,CAAE,IAAY;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,gBAAgB,CAA0C,IAAO,EAAE,QAAyH,EAAE,OAA2C;QACvO,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,mBAAmB,CAA0C,IAAO,EAAE,QAAuI,EAAE,OAAwC;QACrP,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,aAAa,CAAE,KAAY;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;CACF;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,IAAI,qBAAqB,EAAE,CAAA;AACpC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { MultiaddrConnection } from '@libp2p/interfaces/transport';
|
|
2
2
|
import type { Connection, Stream } from '@libp2p/interfaces/connection';
|
|
3
3
|
import type { Duplex } from 'it-stream-types';
|
|
4
|
-
import type { PeerId } from '@libp2p/interfaces/
|
|
4
|
+
import type { PeerId } from '@libp2p/interfaces/peer-id';
|
|
5
5
|
import type { Registrar } from '@libp2p/interfaces/registrar';
|
|
6
6
|
export interface MockConnectionOptions {
|
|
7
7
|
direction?: 'inbound' | 'outbound';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/mocks/connection.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/mocks/connection.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAA4C,MAAM,+BAA+B,CAAA;AACjH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAW7D,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;IAClC,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AA4FD,wBAAgB,cAAc,CAAE,MAAM,EAAE,mBAAmB,EAAE,IAAI,GAAE,qBAA0B,GAAG,UAAU,CAmDzG;AAED,wBAAgB,UAAU,CAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAW9D;AAED,MAAM,WAAW,IAAI;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;CACrB;AAED,wBAAgB,cAAc,CAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,CAAE,UAAU,EAAE,UAAU,CAAE,CAe5E"}
|
|
@@ -6,8 +6,67 @@ import { mockMultiaddrConnection } from './multiaddr-connection.js';
|
|
|
6
6
|
import { mockRegistrar } from './registrar.js';
|
|
7
7
|
import { Dialer, Listener } from '@libp2p/multistream-select';
|
|
8
8
|
import { logger } from '@libp2p/logger';
|
|
9
|
-
import
|
|
9
|
+
import * as STATUS from '@libp2p/interfaces/connection/status';
|
|
10
|
+
import { Components } from '@libp2p/interfaces/components';
|
|
10
11
|
const log = logger('libp2p:mock-connection');
|
|
12
|
+
class MockConnection {
|
|
13
|
+
constructor(init) {
|
|
14
|
+
const { remoteAddr, remotePeer, direction, maConn, muxer } = init;
|
|
15
|
+
this.id = `mock-connection-${Math.random()}`;
|
|
16
|
+
this.remoteAddr = remoteAddr;
|
|
17
|
+
this.remotePeer = remotePeer;
|
|
18
|
+
this.direction = direction;
|
|
19
|
+
this.stat = {
|
|
20
|
+
status: STATUS.OPEN,
|
|
21
|
+
direction,
|
|
22
|
+
timeline: maConn.timeline,
|
|
23
|
+
multiplexer: 'test-multiplexer',
|
|
24
|
+
encryption: 'yes-yes-very-secure'
|
|
25
|
+
};
|
|
26
|
+
this.registry = new Map();
|
|
27
|
+
this.streams = [];
|
|
28
|
+
this.tags = [];
|
|
29
|
+
this.muxer = muxer;
|
|
30
|
+
this.maConn = maConn;
|
|
31
|
+
}
|
|
32
|
+
async newStream(protocols) {
|
|
33
|
+
if (!Array.isArray(protocols)) {
|
|
34
|
+
protocols = [protocols];
|
|
35
|
+
}
|
|
36
|
+
if (protocols.length === 0) {
|
|
37
|
+
throw new Error('protocols must have a length');
|
|
38
|
+
}
|
|
39
|
+
const id = `${Math.random()}`;
|
|
40
|
+
const stream = this.muxer.newStream(id);
|
|
41
|
+
const mss = new Dialer(stream);
|
|
42
|
+
const result = await mss.select(protocols);
|
|
43
|
+
const streamData = {
|
|
44
|
+
protocol: result.protocol,
|
|
45
|
+
stream: {
|
|
46
|
+
...stream,
|
|
47
|
+
...result.stream
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
this.addStream(stream, { protocol: result.protocol, metadata: {} });
|
|
51
|
+
return streamData;
|
|
52
|
+
}
|
|
53
|
+
addStream(stream, metadata) {
|
|
54
|
+
this.registry.set(stream.id, {
|
|
55
|
+
protocol: metadata.protocol ?? '',
|
|
56
|
+
metadata: metadata.metadata ?? {}
|
|
57
|
+
});
|
|
58
|
+
this.streams.push(stream);
|
|
59
|
+
}
|
|
60
|
+
removeStream(id) {
|
|
61
|
+
this.registry.delete(id);
|
|
62
|
+
this.streams = this.streams.filter(stream => stream.id !== id);
|
|
63
|
+
}
|
|
64
|
+
async close() {
|
|
65
|
+
this.stat.status = STATUS.CLOSING;
|
|
66
|
+
await this.maConn.close();
|
|
67
|
+
this.stat.status = STATUS.CLOSED;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
11
70
|
export function mockConnection(maConn, opts = {}) {
|
|
12
71
|
const remoteAddr = maConn.remoteAddr;
|
|
13
72
|
const remotePeerIdStr = remoteAddr.getPeerId() ?? '12D3KooWCrhmFM1BCPGBkNzbPfDk4cjYmtAYSpZwUBC69Qg2kZyq';
|
|
@@ -15,11 +74,10 @@ export function mockConnection(maConn, opts = {}) {
|
|
|
15
74
|
throw new Error('Remote multiaddr must contain a peer id');
|
|
16
75
|
}
|
|
17
76
|
const remotePeer = peerIdFromString(remotePeerIdStr);
|
|
18
|
-
const registry = new Map();
|
|
19
|
-
const streams = [];
|
|
20
77
|
const direction = opts.direction ?? 'inbound';
|
|
21
78
|
const registrar = opts.registrar ?? mockRegistrar();
|
|
22
|
-
const
|
|
79
|
+
const muxerFactory = mockMuxer();
|
|
80
|
+
const muxer = muxerFactory.createStreamMuxer(new Components(), {
|
|
23
81
|
onIncomingStream: (muxedStream) => {
|
|
24
82
|
const mss = new Listener(muxedStream);
|
|
25
83
|
try {
|
|
@@ -29,9 +87,7 @@ export function mockConnection(maConn, opts = {}) {
|
|
|
29
87
|
muxedStream = { ...muxedStream, ...stream };
|
|
30
88
|
connection.addStream(muxedStream, { protocol, metadata: {} });
|
|
31
89
|
const handler = registrar.getHandler(protocol);
|
|
32
|
-
handler(
|
|
33
|
-
detail: { connection, stream: muxedStream, protocol }
|
|
34
|
-
}));
|
|
90
|
+
handler({ connection, stream: muxedStream, protocol });
|
|
35
91
|
}).catch(err => {
|
|
36
92
|
log.error(err);
|
|
37
93
|
});
|
|
@@ -45,50 +101,13 @@ export function mockConnection(maConn, opts = {}) {
|
|
|
45
101
|
}
|
|
46
102
|
});
|
|
47
103
|
void pipe(maConn, muxer, maConn);
|
|
48
|
-
const connection = {
|
|
49
|
-
id: 'mock-connection',
|
|
104
|
+
const connection = new MockConnection({
|
|
50
105
|
remoteAddr,
|
|
51
106
|
remotePeer,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
multiplexer: 'test-multiplexer',
|
|
57
|
-
encryption: 'yes-yes-very-secure'
|
|
58
|
-
},
|
|
59
|
-
registry,
|
|
60
|
-
tags: [],
|
|
61
|
-
streams,
|
|
62
|
-
newStream: async (protocols) => {
|
|
63
|
-
if (!Array.isArray(protocols)) {
|
|
64
|
-
protocols = [protocols];
|
|
65
|
-
}
|
|
66
|
-
if (protocols.length === 0) {
|
|
67
|
-
throw new Error('protocols must have a length');
|
|
68
|
-
}
|
|
69
|
-
const id = `${Math.random()}`;
|
|
70
|
-
const stream = muxer.newStream(id);
|
|
71
|
-
const mss = new Dialer(stream);
|
|
72
|
-
const result = await mss.select(protocols);
|
|
73
|
-
const streamData = {
|
|
74
|
-
protocol: result.protocol,
|
|
75
|
-
stream: {
|
|
76
|
-
...stream,
|
|
77
|
-
...result.stream
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
registry.set(id, streamData);
|
|
81
|
-
return streamData;
|
|
82
|
-
},
|
|
83
|
-
addStream: (stream, metadata) => {
|
|
84
|
-
},
|
|
85
|
-
removeStream: (id) => {
|
|
86
|
-
registry.delete(id);
|
|
87
|
-
},
|
|
88
|
-
close: async () => {
|
|
89
|
-
await maConn.close();
|
|
90
|
-
}
|
|
91
|
-
};
|
|
107
|
+
direction,
|
|
108
|
+
maConn,
|
|
109
|
+
muxer
|
|
110
|
+
});
|
|
92
111
|
return connection;
|
|
93
112
|
}
|
|
94
113
|
export function mockStream(stream) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/mocks/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAI3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/mocks/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duplex.d.ts","sourceRoot":"","sources":["../../../src/mocks/duplex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C,wBAAgB,UAAU,IAAK,MAAM,CAAC,UAAU,CAAC,CAKhD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duplex.js","sourceRoot":"","sources":["../../../src/mocks/duplex.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU;IACxB,OAAO;QACL,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;KACrB,CAAA;AACH,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export { mockConnectionGater } from './connection-gater.js';
|
|
2
2
|
export { mockConnectionManager } from './connection-manager.js';
|
|
3
3
|
export { mockConnection, mockStream, connectionPair } from './connection.js';
|
|
4
|
-
export { mockMultiaddrConnection } from './multiaddr-connection.js';
|
|
4
|
+
export { mockMultiaddrConnection, mockMultiaddrConnPair } from './multiaddr-connection.js';
|
|
5
5
|
export { mockMuxer } from './muxer.js';
|
|
6
6
|
export { mockRegistrar } from './registrar.js';
|
|
7
7
|
export { mockUpgrader } from './upgrader.js';
|
|
8
|
+
export { mockDuplex } from './duplex.js';
|
|
8
9
|
export type { MockUpgraderInit } from './upgrader.js';
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mocks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mocks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA"}
|
package/dist/src/mocks/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export { mockConnectionGater } from './connection-gater.js';
|
|
2
2
|
export { mockConnectionManager } from './connection-manager.js';
|
|
3
3
|
export { mockConnection, mockStream, connectionPair } from './connection.js';
|
|
4
|
-
export { mockMultiaddrConnection } from './multiaddr-connection.js';
|
|
4
|
+
export { mockMultiaddrConnection, mockMultiaddrConnPair } from './multiaddr-connection.js';
|
|
5
5
|
export { mockMuxer } from './muxer.js';
|
|
6
6
|
export { mockRegistrar } from './registrar.js';
|
|
7
7
|
export { mockUpgrader } from './upgrader.js';
|
|
8
|
+
export { mockDuplex } from './duplex.js';
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mocks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mocks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -1,5 +1,17 @@
|
|
|
1
|
+
import { Multiaddr } from '@multiformats/multiaddr';
|
|
1
2
|
import type { MultiaddrConnection } from '@libp2p/interfaces/transport';
|
|
2
3
|
import type { Duplex } from 'it-stream-types';
|
|
3
4
|
import type { PeerId } from '@libp2p/interfaces/peer-id';
|
|
4
5
|
export declare function mockMultiaddrConnection(source: Duplex<Uint8Array> & Partial<MultiaddrConnection>, peerId: PeerId): MultiaddrConnection;
|
|
6
|
+
export interface MockMultiaddrConnPairOptions {
|
|
7
|
+
addrs: Multiaddr[];
|
|
8
|
+
remotePeer: PeerId;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Returns both sides of a mocked MultiaddrConnection
|
|
12
|
+
*/
|
|
13
|
+
export declare function mockMultiaddrConnPair(opts: MockMultiaddrConnPairOptions): {
|
|
14
|
+
inbound: MultiaddrConnection;
|
|
15
|
+
outbound: MultiaddrConnection;
|
|
16
|
+
};
|
|
5
17
|
//# sourceMappingURL=multiaddr-connection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiaddr-connection.d.ts","sourceRoot":"","sources":["../../../src/mocks/multiaddr-connection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"multiaddr-connection.d.ts","sourceRoot":"","sources":["../../../src/mocks/multiaddr-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAExD,wBAAgB,uBAAuB,CAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAavI;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAE,IAAI,EAAE,4BAA4B,GAAG;IAAE,OAAO,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,mBAAmB,CAAA;CAAE,CAmC1I"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Multiaddr } from '@multiformats/multiaddr';
|
|
2
|
+
import { duplexPair } from 'it-pair/duplex';
|
|
3
|
+
import { abortableSource } from 'abortable-iterator';
|
|
2
4
|
export function mockMultiaddrConnection(source, peerId) {
|
|
3
5
|
const maConn = {
|
|
4
6
|
async close() {
|
|
@@ -11,4 +13,39 @@ export function mockMultiaddrConnection(source, peerId) {
|
|
|
11
13
|
};
|
|
12
14
|
return maConn;
|
|
13
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Returns both sides of a mocked MultiaddrConnection
|
|
18
|
+
*/
|
|
19
|
+
export function mockMultiaddrConnPair(opts) {
|
|
20
|
+
const { addrs, remotePeer } = opts;
|
|
21
|
+
const controller = new AbortController();
|
|
22
|
+
const [localAddr, remoteAddr] = addrs;
|
|
23
|
+
const [inboundStream, outboundStream] = duplexPair();
|
|
24
|
+
const outbound = {
|
|
25
|
+
...outboundStream,
|
|
26
|
+
remoteAddr: remoteAddr.encapsulate(`/p2p/${remotePeer.toString()}`),
|
|
27
|
+
timeline: {
|
|
28
|
+
open: Date.now()
|
|
29
|
+
},
|
|
30
|
+
close: async () => {
|
|
31
|
+
outbound.timeline.close = Date.now();
|
|
32
|
+
controller.abort();
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
const inbound = {
|
|
36
|
+
...inboundStream,
|
|
37
|
+
remoteAddr: localAddr,
|
|
38
|
+
timeline: {
|
|
39
|
+
open: Date.now()
|
|
40
|
+
},
|
|
41
|
+
close: async () => {
|
|
42
|
+
inbound.timeline.close = Date.now();
|
|
43
|
+
controller.abort();
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
// Make the sources abortable so we can close them easily
|
|
47
|
+
inbound.source = abortableSource(inbound.source, controller.signal);
|
|
48
|
+
outbound.source = abortableSource(outbound.source, controller.signal);
|
|
49
|
+
return { inbound, outbound };
|
|
50
|
+
}
|
|
14
51
|
//# sourceMappingURL=multiaddr-connection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiaddr-connection.js","sourceRoot":"","sources":["../../../src/mocks/multiaddr-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"multiaddr-connection.js","sourceRoot":"","sources":["../../../src/mocks/multiaddr-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAKpD,MAAM,UAAU,uBAAuB,CAAE,MAAyD,EAAE,MAAc;IAChH,MAAM,MAAM,GAAwB;QAClC,KAAK,CAAC,KAAK;QAEX,CAAC;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;SACjB;QACD,UAAU,EAAE,IAAI,SAAS,CAAC,+BAA+B,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC7E,GAAG,MAAM;KACV,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAOD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAE,IAAkC;IACvE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;IAClC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,KAAK,CAAA;IACrC,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,UAAU,EAAc,CAAA;IAEhE,MAAM,QAAQ,GAAwB;QACpC,GAAG,cAAc;QACjB,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,QAAQ,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;QACnE,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;SACjB;QACD,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACpC,UAAU,CAAC,KAAK,EAAE,CAAA;QACpB,CAAC;KACF,CAAA;IAED,MAAM,OAAO,GAAwB;QACnC,GAAG,aAAa;QAChB,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;SACjB;QACD,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACnC,UAAU,CAAC,KAAK,EAAE,CAAA;QACpB,CAAC;KACF,CAAA;IAED,yDAAyD;IACzD,OAAO,CAAC,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IACnE,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IAErE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;AAC9B,CAAC"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type { StreamMuxer, StreamMuxerFactory, StreamMuxerInit } from '@libp2p/interfaces/stream-muxer';
|
|
2
|
+
import type { Components } from '@libp2p/interfaces/components';
|
|
3
|
+
declare class MockMuxerFactory implements StreamMuxerFactory {
|
|
4
|
+
protocol: string;
|
|
5
|
+
createStreamMuxer(c: Components, init?: StreamMuxerInit): StreamMuxer;
|
|
6
|
+
}
|
|
7
|
+
export declare function mockMuxer(): MockMuxerFactory;
|
|
8
|
+
export {};
|
|
3
9
|
//# sourceMappingURL=muxer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"muxer.d.ts","sourceRoot":"","sources":["../../../src/mocks/muxer.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"muxer.d.ts","sourceRoot":"","sources":["../../../src/mocks/muxer.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAIvG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAoV/D,cAAM,gBAAiB,YAAW,kBAAkB;IAC3C,QAAQ,EAAE,MAAM,CAAsB;IAE7C,iBAAiB,CAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,WAAW;CAkBvE;AAED,wBAAgB,SAAS,IAAK,gBAAgB,CAE7C"}
|
package/dist/src/mocks/muxer.js
CHANGED
|
@@ -144,6 +144,7 @@ class MuxedStream {
|
|
|
144
144
|
}
|
|
145
145
|
class MockMuxer {
|
|
146
146
|
constructor(init) {
|
|
147
|
+
this.protocol = '/mock-muxer/1.0.0';
|
|
147
148
|
this.name = `muxer:${muxers++}`;
|
|
148
149
|
this.log = logger(`libp2p:mock-muxer:${this.name}`);
|
|
149
150
|
this.registryInitiatorStreams = new Map();
|
|
@@ -242,15 +243,23 @@ class MockMuxer {
|
|
|
242
243
|
return muxedStream;
|
|
243
244
|
}
|
|
244
245
|
}
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
246
|
+
class MockMuxerFactory {
|
|
247
|
+
constructor() {
|
|
248
|
+
this.protocol = '/mock-muxer/1.0.0';
|
|
249
|
+
}
|
|
250
|
+
createStreamMuxer(c, init) {
|
|
251
|
+
const mockMuxer = new MockMuxer(init);
|
|
252
|
+
void Promise.resolve().then(async () => {
|
|
253
|
+
void pipe(mockMuxer.streamInput, ndjson.stringify, (source) => map(source, str => uint8ArrayFromString(str)), async (source) => {
|
|
254
|
+
for await (const buf of source) {
|
|
255
|
+
mockMuxer.input.push(buf);
|
|
256
|
+
}
|
|
257
|
+
});
|
|
252
258
|
});
|
|
253
|
-
|
|
254
|
-
|
|
259
|
+
return mockMuxer;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
export function mockMuxer() {
|
|
263
|
+
return new MockMuxerFactory();
|
|
255
264
|
}
|
|
256
265
|
//# sourceMappingURL=muxer.js.map
|