@libp2p/interop 10.0.3 → 11.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/dist/src/connect.d.ts.map +1 -1
- package/dist/src/connect.js +3 -11
- package/dist/src/connect.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +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 +2 -0
- package/package.json +1 -1
- package/src/connect.ts +4 -18
- package/src/index.ts +2 -1
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/connect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/connect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAwB,aAAa,EAAE,MAAM,YAAY,CAAA;AAErE,wBAAgB,YAAY,CAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAE1D"}
|
package/dist/src/connect.js
CHANGED
|
@@ -1,18 +1,10 @@
|
|
|
1
1
|
import { expect } from 'aegir/chai';
|
|
2
|
-
import {
|
|
2
|
+
import { runTests } from './utils/test-matrix.js';
|
|
3
3
|
export function connectTests(factory) {
|
|
4
|
-
|
|
5
|
-
const impls = ['js', 'go'];
|
|
6
|
-
for (const keyType of keyTypes) {
|
|
7
|
-
for (const implA of impls) {
|
|
8
|
-
for (const implB of impls) {
|
|
9
|
-
runConnectTests(`noise/${keyType}`, factory, { type: implA, noise: true, key: keys.go[keyType] }, { type: implB, noise: true, key: keys.js[keyType] });
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
}
|
|
4
|
+
runTests('connect', runConnectTests, factory);
|
|
13
5
|
}
|
|
14
6
|
function runConnectTests(name, factory, optionsA, optionsB) {
|
|
15
|
-
describe(
|
|
7
|
+
describe(name, () => {
|
|
16
8
|
let daemonA;
|
|
17
9
|
let daemonB;
|
|
18
10
|
// Start Daemons
|
package/dist/src/connect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/connect.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -55,10 +55,11 @@ 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';
|
|
58
59
|
export interface SpawnOptions {
|
|
59
60
|
type: NodeType;
|
|
60
61
|
key?: string;
|
|
61
|
-
|
|
62
|
+
encryption?: Encryption;
|
|
62
63
|
dht?: boolean;
|
|
63
64
|
pubsub?: boolean;
|
|
64
65
|
pubsubRouter?: PubSubRouter;
|
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,cAAc,CAAA;AAC3C,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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,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;AAExC,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;CACnB;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.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,cAAc,CAAA;AAC3C,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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,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;AAgChD,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",
|
package/package.json
CHANGED
package/src/connect.ts
CHANGED
|
@@ -1,27 +1,13 @@
|
|
|
1
1
|
import { expect } from 'aegir/chai'
|
|
2
|
-
import {
|
|
3
|
-
import type { Daemon,
|
|
2
|
+
import { runTests } from './utils/test-matrix.js'
|
|
3
|
+
import type { Daemon, SpawnOptions, DaemonFactory } from './index.js'
|
|
4
4
|
|
|
5
5
|
export function connectTests (factory: DaemonFactory): void {
|
|
6
|
-
|
|
7
|
-
const impls: NodeType[] = ['js', 'go']
|
|
8
|
-
|
|
9
|
-
for (const keyType of keyTypes) {
|
|
10
|
-
for (const implA of impls) {
|
|
11
|
-
for (const implB of impls) {
|
|
12
|
-
runConnectTests(
|
|
13
|
-
`noise/${keyType}`,
|
|
14
|
-
factory,
|
|
15
|
-
{ type: implA, noise: true, key: keys.go[keyType] },
|
|
16
|
-
{ type: implB, noise: true, key: keys.js[keyType] }
|
|
17
|
-
)
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
6
|
+
runTests('connect', runConnectTests, factory)
|
|
21
7
|
}
|
|
22
8
|
|
|
23
9
|
function runConnectTests (name: string, factory: DaemonFactory, optionsA: SpawnOptions, optionsB: SpawnOptions): void {
|
|
24
|
-
describe(
|
|
10
|
+
describe(name, () => {
|
|
25
11
|
let daemonA: Daemon
|
|
26
12
|
let daemonB: Daemon
|
|
27
13
|
|
package/src/index.ts
CHANGED
|
@@ -58,11 +58,12 @@ 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'
|
|
61
62
|
|
|
62
63
|
export interface SpawnOptions {
|
|
63
64
|
type: NodeType
|
|
64
65
|
key?: string
|
|
65
|
-
|
|
66
|
+
encryption?: Encryption
|
|
66
67
|
dht?: boolean
|
|
67
68
|
pubsub?: boolean
|
|
68
69
|
pubsubRouter?: PubSubRouter
|
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
|
+
}
|