@libp2p/interop 10.0.3 → 12.0.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/README.md +15 -0
- package/dist/src/connect/index.d.ts +3 -0
- package/dist/src/connect/index.d.ts.map +1 -0
- package/dist/src/{connect.js → connect/index.js} +10 -11
- package/dist/src/connect/index.js.map +1 -0
- package/dist/src/index.d.ts +5 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/relay/index.js +3 -3
- package/dist/src/relay/index.js.map +1 -1
- package/dist/src/streams/echo.d.ts +2 -2
- package/dist/src/streams/echo.d.ts.map +1 -1
- package/dist/src/streams/echo.js +2 -10
- package/dist/src/streams/echo.js.map +1 -1
- package/dist/src/streams/index.d.ts.map +1 -1
- package/dist/src/streams/index.js +2 -2
- package/dist/src/streams/index.js.map +1 -1
- package/dist/src/utils/test-matrix.d.ts +6 -0
- package/dist/src/utils/test-matrix.d.ts.map +1 -0
- package/dist/src/utils/test-matrix.js +20 -0
- package/dist/src/utils/test-matrix.js.map +1 -0
- package/dist/typedoc-urls.json +4 -0
- package/package.json +1 -1
- package/src/{connect.ts → connect/index.ts} +12 -13
- package/src/index.ts +5 -2
- package/src/relay/index.ts +3 -3
- package/src/streams/echo.ts +3 -18
- package/src/streams/index.ts +2 -2
- package/src/utils/test-matrix.ts +31 -0
- package/dist/src/connect.d.ts +0 -3
- package/dist/src/connect.d.ts.map +0 -1
- package/dist/src/connect.js.map +0 -1
package/README.md
CHANGED
|
@@ -7,6 +7,21 @@
|
|
|
7
7
|
|
|
8
8
|
# About
|
|
9
9
|
|
|
10
|
+
<!--
|
|
11
|
+
|
|
12
|
+
!IMPORTANT!
|
|
13
|
+
|
|
14
|
+
Everything in this README between "# About" and "# Install" is automatically
|
|
15
|
+
generated and will be overwritten the next time the doc generator is run.
|
|
16
|
+
|
|
17
|
+
To make changes to this section, please update the @packageDocumentation section
|
|
18
|
+
of src/index.js or src/index.ts
|
|
19
|
+
|
|
20
|
+
To experiment with formatting, please run "npm run docs" from the root of this
|
|
21
|
+
repo and examine the changes made.
|
|
22
|
+
|
|
23
|
+
-->
|
|
24
|
+
|
|
10
25
|
This repository holds interop tests for testing compatibility between different libp2p implementations.
|
|
11
26
|
|
|
12
27
|
## Example - How to run the tests
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connect/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAU,aAAa,EAAyC,MAAM,aAAa,CAAA;AAE/F,wBAAgB,YAAY,CAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAgB1D"}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import { expect } from 'aegir/chai';
|
|
2
|
-
import { keys } from './resources/keys/index.js';
|
|
3
2
|
export function connectTests(factory) {
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
for (const
|
|
7
|
-
for (const
|
|
8
|
-
|
|
9
|
-
runConnectTests(
|
|
10
|
-
}
|
|
3
|
+
const nodeTypes = ['js', 'go'];
|
|
4
|
+
const transportTypes = ['tcp', 'webtransport'];
|
|
5
|
+
for (const typeA of nodeTypes) {
|
|
6
|
+
for (const typeB of nodeTypes) {
|
|
7
|
+
transportTypes.forEach(transport => {
|
|
8
|
+
runConnectTests(transport, factory, { type: typeA, transport }, { type: typeB, transport });
|
|
9
|
+
});
|
|
11
10
|
}
|
|
12
11
|
}
|
|
13
12
|
}
|
|
14
13
|
function runConnectTests(name, factory, optionsA, optionsB) {
|
|
15
|
-
describe(`
|
|
14
|
+
describe(`connection.${name}`, () => {
|
|
16
15
|
let daemonA;
|
|
17
16
|
let daemonB;
|
|
18
17
|
// Start Daemons
|
|
@@ -27,7 +26,7 @@ function runConnectTests(name, factory, optionsA, optionsB) {
|
|
|
27
26
|
.filter(Boolean)
|
|
28
27
|
.map(async (d) => { await d.stop(); }));
|
|
29
28
|
});
|
|
30
|
-
it(`${optionsA.type} peer to ${optionsB.type} peer`, async function () {
|
|
29
|
+
it(`${optionsA.type} peer to ${optionsB.type} peer over ${name}`, async function () {
|
|
31
30
|
this.timeout(10 * 1000);
|
|
32
31
|
const identify1 = await daemonA.client.identify();
|
|
33
32
|
const identify2 = await daemonB.client.identify();
|
|
@@ -50,4 +49,4 @@ function runConnectTests(name, factory, optionsA, optionsB) {
|
|
|
50
49
|
});
|
|
51
50
|
});
|
|
52
51
|
}
|
|
53
|
-
//# sourceMappingURL=
|
|
52
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connect/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
*
|
|
42
42
|
* For an example, see the js-libp2p interop test runner.
|
|
43
43
|
*/
|
|
44
|
-
import { connectTests } from './connect.js';
|
|
44
|
+
import { connectTests } from './connect/index.js';
|
|
45
45
|
import { dhtTests } from './dht/index.js';
|
|
46
46
|
import { pubsubTests } from './pubsub/index.js';
|
|
47
47
|
import { relayTests } from './relay/index.js';
|
|
@@ -55,16 +55,19 @@ export type NodeType = 'js' | 'go';
|
|
|
55
55
|
export type PeerIdType = 'rsa' | 'ed25519' | 'secp256k1';
|
|
56
56
|
export type PubSubRouter = 'gossipsub' | 'floodsub';
|
|
57
57
|
export type Muxer = 'mplex' | 'yamux';
|
|
58
|
+
export type Encryption = 'noise' | 'tls';
|
|
59
|
+
export type TransportType = 'tcp' | 'webtransport';
|
|
58
60
|
export interface SpawnOptions {
|
|
59
61
|
type: NodeType;
|
|
60
62
|
key?: string;
|
|
61
|
-
|
|
63
|
+
encryption?: Encryption;
|
|
62
64
|
dht?: boolean;
|
|
63
65
|
pubsub?: boolean;
|
|
64
66
|
pubsubRouter?: PubSubRouter;
|
|
65
67
|
muxer?: Muxer;
|
|
66
68
|
relay?: boolean;
|
|
67
69
|
noListen?: boolean;
|
|
70
|
+
transport?: TransportType;
|
|
68
71
|
}
|
|
69
72
|
export interface DaemonFactory {
|
|
70
73
|
spawn(options: SpawnOptions): Promise<Daemon>;
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,MAAM,WAAW,MAAM;IACrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB,MAAM,EAAE,YAAY,CAAA;CACrB;AAED,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAA;AAClC,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,SAAS,GAAG,WAAW,CAAA;AACxD,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,UAAU,CAAA;AACnD,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,OAAO,CAAA;AACrC,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,KAAK,CAAA;AACxC,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,cAAc,CAAA;AAElD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;IAGf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,aAAa,CAAA;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAC9C;AAED,wBAAsB,YAAY,CAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAMzE;AAED,OAAO,EACL,YAAY,IAAI,mBAAmB,EACnC,QAAQ,IAAI,eAAe,EAC3B,WAAW,IAAI,kBAAkB,EACjC,WAAW,IAAI,kBAAkB,EACjC,UAAU,IAAI,iBAAiB,EAChC,CAAA"}
|
package/dist/src/index.js
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
*
|
|
42
42
|
* For an example, see the js-libp2p interop test runner.
|
|
43
43
|
*/
|
|
44
|
-
import { connectTests } from './connect.js';
|
|
44
|
+
import { connectTests } from './connect/index.js';
|
|
45
45
|
import { dhtTests } from './dht/index.js';
|
|
46
46
|
import { pubsubTests } from './pubsub/index.js';
|
|
47
47
|
import { relayTests } from './relay/index.js';
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAkChD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAE,OAAsB;IACxD,YAAY,CAAC,OAAO,CAAC,CAAA;IACrB,UAAU,CAAC,OAAO,CAAC,CAAA;IACnB,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAA;IACvB,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;IAC1B,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC;AAED,OAAO,EACL,YAAY,IAAI,mBAAmB,EACnC,QAAQ,IAAI,eAAe,EAC3B,WAAW,IAAI,kBAAkB,EACjC,WAAW,IAAI,kBAAkB,EACjC,UAAU,IAAI,iBAAiB,EAChC,CAAA"}
|
package/dist/src/relay/index.js
CHANGED
|
@@ -11,9 +11,9 @@ export function relayTests(factory) {
|
|
|
11
11
|
function relayTest(factory, aType, bType, relayType) {
|
|
12
12
|
describe(`${aType} to ${bType} over relay ${relayType}`, () => {
|
|
13
13
|
const opts = [
|
|
14
|
-
{ type: aType,
|
|
15
|
-
{ type: bType,
|
|
16
|
-
{ type: relayType,
|
|
14
|
+
{ type: aType, encryption: 'noise', noListen: true },
|
|
15
|
+
{ type: bType, encryption: 'noise', noListen: true },
|
|
16
|
+
{ type: relayType, encryption: 'noise', relay: true }
|
|
17
17
|
];
|
|
18
18
|
let aNode;
|
|
19
19
|
let bNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/relay/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIhD,MAAM,UAAU,UAAU,CAAE,OAAsB;IAChD,MAAM,CAAC,GAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAClC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;AACzF,CAAC;AAED,SAAS,SAAS,CAAE,OAAsB,EAAE,KAAe,EAAE,KAAe,EAAE,SAAmB;IAC/F,QAAQ,CAAC,GAAG,KAAK,OAAO,KAAK,eAAe,SAAS,EAAE,EAAE,GAAG,EAAE;QAC5D,MAAM,IAAI,GAAmB;YAC3B,EAAE,IAAI,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/relay/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { DaemonFactory,
|
|
2
|
-
export declare function echoStreamTests(factory: DaemonFactory,
|
|
1
|
+
import type { DaemonFactory, SpawnOptions } from '../index.js';
|
|
2
|
+
export declare function echoStreamTests(name: string, factory: DaemonFactory, optionsA: SpawnOptions, optionsB: SpawnOptions): void;
|
|
3
3
|
//# sourceMappingURL=echo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"echo.d.ts","sourceRoot":"","sources":["../../../src/streams/echo.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAU,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"echo.d.ts","sourceRoot":"","sources":["../../../src/streams/echo.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAU,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEtE,wBAAgB,eAAe,CAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAyE3H"}
|
package/dist/src/streams/echo.js
CHANGED
|
@@ -4,16 +4,8 @@ import all from 'it-all';
|
|
|
4
4
|
import { pipe } from 'it-pipe';
|
|
5
5
|
import defer from 'p-defer';
|
|
6
6
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
7
|
-
export function echoStreamTests(factory,
|
|
8
|
-
|
|
9
|
-
for (const typeA of nodeTypes) {
|
|
10
|
-
for (const typeB of nodeTypes) {
|
|
11
|
-
runEchoStreamTests(factory, muxer, { type: typeA, muxer }, { type: typeB, muxer });
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
function runEchoStreamTests(factory, muxer, optionsA, optionsB) {
|
|
16
|
-
describe(`echo streams - ${muxer}`, () => {
|
|
7
|
+
export function echoStreamTests(name, factory, optionsA, optionsB) {
|
|
8
|
+
describe(name, () => {
|
|
17
9
|
let daemonA;
|
|
18
10
|
let daemonB;
|
|
19
11
|
// Start Daemons
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"echo.js","sourceRoot":"","sources":["../../../src/streams/echo.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAG5E,MAAM,UAAU,eAAe,CAAE,
|
|
1
|
+
{"version":3,"file":"echo.js","sourceRoot":"","sources":["../../../src/streams/echo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/streams/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/streams/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,wBAAsB,WAAW,CAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAExE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { runTests } from '../utils/test-matrix.js';
|
|
1
2
|
import { echoStreamTests } from './echo.js';
|
|
2
3
|
export async function streamTests(factory) {
|
|
3
|
-
|
|
4
|
-
echoStreamTests(factory, 'yamux');
|
|
4
|
+
runTests('echo', echoStreamTests, factory);
|
|
5
5
|
}
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/streams/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAG3C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAE,OAAsB;IACvD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/streams/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAG3C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAE,OAAsB;IACvD,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;AAC5C,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { DaemonFactory, SpawnOptions } from '../index.js';
|
|
2
|
+
export interface TestFunction {
|
|
3
|
+
(name: string, factory: DaemonFactory, optionsA: SpawnOptions, optionsB: SpawnOptions): void;
|
|
4
|
+
}
|
|
5
|
+
export declare function runTests(name: string, fn: TestFunction, factory: DaemonFactory): void;
|
|
6
|
+
//# sourceMappingURL=test-matrix.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-matrix.d.ts","sourceRoot":"","sources":["../../../src/utils/test-matrix.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAA2C,YAAY,EAAE,MAAM,aAAa,CAAA;AAEvG,MAAM,WAAW,YAAY;IAC3B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;CAC7F;AAED,wBAAgB,QAAQ,CAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAuBtF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { keys } from '../resources/keys/index.js';
|
|
2
|
+
export function runTests(name, fn, factory) {
|
|
3
|
+
const keyTypes = ['ed25519', 'rsa', 'secp256k1'];
|
|
4
|
+
const impls = ['js', 'go'];
|
|
5
|
+
const encrypters = ['noise', 'tls'];
|
|
6
|
+
const muxers = ['mplex', 'yamux'];
|
|
7
|
+
for (const keyType of keyTypes) {
|
|
8
|
+
for (const implA of impls) {
|
|
9
|
+
for (const implB of impls) {
|
|
10
|
+
for (const encrypter of encrypters) {
|
|
11
|
+
// eslint-disable-next-line max-depth
|
|
12
|
+
for (const muxer of muxers) {
|
|
13
|
+
fn(`${keyType}/${encrypter}/${muxer} ${name}`, factory, { type: implA, encryption: encrypter, key: keys.go[keyType] }, { type: implB, encryption: encrypter, key: keys.js[keyType] });
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=test-matrix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-matrix.js","sourceRoot":"","sources":["../../../src/utils/test-matrix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AAOjD,MAAM,UAAU,QAAQ,CAAE,IAAY,EAAE,EAAgB,EAAE,OAAsB;IAC9E,MAAM,QAAQ,GAAiB,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;IAC9D,MAAM,KAAK,GAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACtC,MAAM,UAAU,GAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACjD,MAAM,MAAM,GAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAE1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;oBACnC,qCAAqC;oBACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,EAAE,CACA,GAAG,OAAO,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI,EAAE,EAC1C,OAAO,EACP,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAC7D,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAC9D,CAAA;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/typedoc-urls.json
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
".:DaemonFactory": "https://libp2p.github.io/interop/interfaces/DaemonFactory.html",
|
|
6
6
|
"SpawnOptions": "https://libp2p.github.io/interop/interfaces/SpawnOptions.html",
|
|
7
7
|
".:SpawnOptions": "https://libp2p.github.io/interop/interfaces/SpawnOptions.html",
|
|
8
|
+
"Encryption": "https://libp2p.github.io/interop/types/Encryption.html",
|
|
9
|
+
".:Encryption": "https://libp2p.github.io/interop/types/Encryption.html",
|
|
8
10
|
"Muxer": "https://libp2p.github.io/interop/types/Muxer.html",
|
|
9
11
|
".:Muxer": "https://libp2p.github.io/interop/types/Muxer.html",
|
|
10
12
|
"NodeType": "https://libp2p.github.io/interop/types/NodeType.html",
|
|
@@ -13,6 +15,8 @@
|
|
|
13
15
|
".:PeerIdType": "https://libp2p.github.io/interop/types/PeerIdType.html",
|
|
14
16
|
"PubSubRouter": "https://libp2p.github.io/interop/types/PubSubRouter.html",
|
|
15
17
|
".:PubSubRouter": "https://libp2p.github.io/interop/types/PubSubRouter.html",
|
|
18
|
+
"TransportType": "https://libp2p.github.io/interop/types/TransportType.html",
|
|
19
|
+
".:TransportType": "https://libp2p.github.io/interop/types/TransportType.html",
|
|
16
20
|
"connectInteropTests": "https://libp2p.github.io/interop/functions/connectInteropTests.html",
|
|
17
21
|
"dhtInteropTests": "https://libp2p.github.io/interop/functions/dhtInteropTests.html",
|
|
18
22
|
"interopTests": "https://libp2p.github.io/interop/functions/interopTests.html",
|
package/package.json
CHANGED
|
@@ -1,27 +1,26 @@
|
|
|
1
1
|
import { expect } from 'aegir/chai'
|
|
2
|
-
import {
|
|
3
|
-
import type { Daemon, NodeType, SpawnOptions, DaemonFactory, PeerIdType } from './index.js'
|
|
2
|
+
import type { Daemon, DaemonFactory, NodeType, SpawnOptions, TransportType } from '../index.js'
|
|
4
3
|
|
|
5
4
|
export function connectTests (factory: DaemonFactory): void {
|
|
6
|
-
const
|
|
7
|
-
const
|
|
5
|
+
const nodeTypes: NodeType[] = ['js', 'go']
|
|
6
|
+
const transportTypes: TransportType[] = ['tcp', 'webtransport']
|
|
8
7
|
|
|
9
|
-
for (const
|
|
10
|
-
for (const
|
|
11
|
-
|
|
8
|
+
for (const typeA of nodeTypes) {
|
|
9
|
+
for (const typeB of nodeTypes) {
|
|
10
|
+
transportTypes.forEach(transport => {
|
|
12
11
|
runConnectTests(
|
|
13
|
-
|
|
12
|
+
transport,
|
|
14
13
|
factory,
|
|
15
|
-
{ type:
|
|
16
|
-
{ type:
|
|
14
|
+
{ type: typeA, transport },
|
|
15
|
+
{ type: typeB, transport }
|
|
17
16
|
)
|
|
18
|
-
}
|
|
17
|
+
})
|
|
19
18
|
}
|
|
20
19
|
}
|
|
21
20
|
}
|
|
22
21
|
|
|
23
22
|
function runConnectTests (name: string, factory: DaemonFactory, optionsA: SpawnOptions, optionsB: SpawnOptions): void {
|
|
24
|
-
describe(`
|
|
23
|
+
describe(`connection.${name}`, () => {
|
|
25
24
|
let daemonA: Daemon
|
|
26
25
|
let daemonB: Daemon
|
|
27
26
|
|
|
@@ -42,7 +41,7 @@ function runConnectTests (name: string, factory: DaemonFactory, optionsA: SpawnO
|
|
|
42
41
|
)
|
|
43
42
|
})
|
|
44
43
|
|
|
45
|
-
it(`${optionsA.type} peer to ${optionsB.type} peer`, async function () {
|
|
44
|
+
it(`${optionsA.type} peer to ${optionsB.type} peer over ${name}`, async function () {
|
|
46
45
|
this.timeout(10 * 1000)
|
|
47
46
|
|
|
48
47
|
const identify1 = await daemonA.client.identify()
|
package/src/index.ts
CHANGED
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
* For an example, see the js-libp2p interop test runner.
|
|
43
43
|
*/
|
|
44
44
|
|
|
45
|
-
import { connectTests } from './connect.js'
|
|
45
|
+
import { connectTests } from './connect/index.js'
|
|
46
46
|
import { dhtTests } from './dht/index.js'
|
|
47
47
|
import { pubsubTests } from './pubsub/index.js'
|
|
48
48
|
import { relayTests } from './relay/index.js'
|
|
@@ -58,11 +58,13 @@ export type NodeType = 'js' | 'go'
|
|
|
58
58
|
export type PeerIdType = 'rsa' | 'ed25519' | 'secp256k1'
|
|
59
59
|
export type PubSubRouter = 'gossipsub' | 'floodsub'
|
|
60
60
|
export type Muxer = 'mplex' | 'yamux'
|
|
61
|
+
export type Encryption = 'noise' | 'tls'
|
|
62
|
+
export type TransportType = 'tcp' | 'webtransport'
|
|
61
63
|
|
|
62
64
|
export interface SpawnOptions {
|
|
63
65
|
type: NodeType
|
|
64
66
|
key?: string
|
|
65
|
-
|
|
67
|
+
encryption?: Encryption
|
|
66
68
|
dht?: boolean
|
|
67
69
|
pubsub?: boolean
|
|
68
70
|
pubsubRouter?: PubSubRouter
|
|
@@ -71,6 +73,7 @@ export interface SpawnOptions {
|
|
|
71
73
|
// the node will not listen on any
|
|
72
74
|
// addresses if true
|
|
73
75
|
noListen?: boolean
|
|
76
|
+
transport?: TransportType
|
|
74
77
|
}
|
|
75
78
|
|
|
76
79
|
export interface DaemonFactory {
|
package/src/relay/index.ts
CHANGED
|
@@ -15,9 +15,9 @@ export function relayTests (factory: DaemonFactory): void {
|
|
|
15
15
|
function relayTest (factory: DaemonFactory, aType: NodeType, bType: NodeType, relayType: NodeType): void {
|
|
16
16
|
describe(`${aType} to ${bType} over relay ${relayType}`, () => {
|
|
17
17
|
const opts: SpawnOptions[] = [
|
|
18
|
-
{ type: aType,
|
|
19
|
-
{ type: bType,
|
|
20
|
-
{ type: relayType,
|
|
18
|
+
{ type: aType, encryption: 'noise', noListen: true },
|
|
19
|
+
{ type: bType, encryption: 'noise', noListen: true },
|
|
20
|
+
{ type: relayType, encryption: 'noise', relay: true }
|
|
21
21
|
]
|
|
22
22
|
|
|
23
23
|
let aNode: Daemon
|
package/src/streams/echo.ts
CHANGED
|
@@ -5,25 +5,10 @@ import all from 'it-all'
|
|
|
5
5
|
import { pipe } from 'it-pipe'
|
|
6
6
|
import defer from 'p-defer'
|
|
7
7
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
|
|
8
|
-
import type { Daemon, DaemonFactory,
|
|
8
|
+
import type { Daemon, DaemonFactory, SpawnOptions } from '../index.js'
|
|
9
9
|
|
|
10
|
-
export function echoStreamTests (factory: DaemonFactory,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
for (const typeA of nodeTypes) {
|
|
14
|
-
for (const typeB of nodeTypes) {
|
|
15
|
-
runEchoStreamTests(
|
|
16
|
-
factory,
|
|
17
|
-
muxer,
|
|
18
|
-
{ type: typeA, muxer },
|
|
19
|
-
{ type: typeB, muxer }
|
|
20
|
-
)
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
function runEchoStreamTests (factory: DaemonFactory, muxer: Muxer, optionsA: SpawnOptions, optionsB: SpawnOptions): void {
|
|
26
|
-
describe(`echo streams - ${muxer}`, () => {
|
|
10
|
+
export function echoStreamTests (name: string, factory: DaemonFactory, optionsA: SpawnOptions, optionsB: SpawnOptions): void {
|
|
11
|
+
describe(name, () => {
|
|
27
12
|
let daemonA: Daemon
|
|
28
13
|
let daemonB: Daemon
|
|
29
14
|
|
package/src/streams/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { runTests } from '../utils/test-matrix.js'
|
|
1
2
|
import { echoStreamTests } from './echo.js'
|
|
2
3
|
import type { DaemonFactory } from '../index.js'
|
|
3
4
|
|
|
4
5
|
export async function streamTests (factory: DaemonFactory): Promise<void> {
|
|
5
|
-
|
|
6
|
-
echoStreamTests(factory, 'yamux')
|
|
6
|
+
runTests('echo', echoStreamTests, factory)
|
|
7
7
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { keys } from '../resources/keys/index.js'
|
|
2
|
+
import type { DaemonFactory, Encryption, Muxer, NodeType, PeerIdType, SpawnOptions } from '../index.js'
|
|
3
|
+
|
|
4
|
+
export interface TestFunction {
|
|
5
|
+
(name: string, factory: DaemonFactory, optionsA: SpawnOptions, optionsB: SpawnOptions): void
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export function runTests (name: string, fn: TestFunction, factory: DaemonFactory): void {
|
|
9
|
+
const keyTypes: PeerIdType[] = ['ed25519', 'rsa', 'secp256k1']
|
|
10
|
+
const impls: NodeType[] = ['js', 'go']
|
|
11
|
+
const encrypters: Encryption[] = ['noise', 'tls']
|
|
12
|
+
const muxers: Muxer[] = ['mplex', 'yamux']
|
|
13
|
+
|
|
14
|
+
for (const keyType of keyTypes) {
|
|
15
|
+
for (const implA of impls) {
|
|
16
|
+
for (const implB of impls) {
|
|
17
|
+
for (const encrypter of encrypters) {
|
|
18
|
+
// eslint-disable-next-line max-depth
|
|
19
|
+
for (const muxer of muxers) {
|
|
20
|
+
fn(
|
|
21
|
+
`${keyType}/${encrypter}/${muxer} ${name}`,
|
|
22
|
+
factory,
|
|
23
|
+
{ type: implA, encryption: encrypter, key: keys.go[keyType] },
|
|
24
|
+
{ type: implB, encryption: encrypter, key: keys.js[keyType] }
|
|
25
|
+
)
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
package/dist/src/connect.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/connect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkC,aAAa,EAAc,MAAM,YAAY,CAAA;AAE3F,wBAAgB,YAAY,CAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAgB1D"}
|
package/dist/src/connect.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/connect.ts"],"names":[],"mappings":"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"}
|