@helia/interop 3.0.1-f2853f8 → 4.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/fixtures/connect.d.ts +1 -1
- package/dist/src/fixtures/connect.d.ts.map +1 -1
- package/dist/src/fixtures/connect.js.map +1 -1
- package/dist/src/fixtures/create-helia.browser.d.ts +2 -0
- package/dist/src/fixtures/create-helia.browser.d.ts.map +1 -1
- package/dist/src/fixtures/create-helia.browser.js +2 -1
- package/dist/src/fixtures/create-helia.browser.js.map +1 -1
- package/dist/src/fixtures/create-helia.d.ts +2 -0
- package/dist/src/fixtures/create-helia.d.ts.map +1 -1
- package/dist/src/fixtures/create-helia.js +2 -1
- package/dist/src/fixtures/create-helia.js.map +1 -1
- package/dist/src/ipns-pubsub.spec.js +6 -1
- package/dist/src/ipns-pubsub.spec.js.map +1 -1
- package/package.json +18 -15
- package/src/fixtures/connect.ts +1 -1
- package/src/fixtures/create-helia.browser.ts +5 -1
- package/src/fixtures/create-helia.ts +5 -1
- package/src/ipns-pubsub.spec.ts +9 -2
|
@@ -3,5 +3,5 @@ import type { Controller } from 'ipfsd-ctl';
|
|
|
3
3
|
/**
|
|
4
4
|
* Connect the two nodes by dialing a protocol stream
|
|
5
5
|
*/
|
|
6
|
-
export declare function connect(helia: HeliaLibp2p
|
|
6
|
+
export declare function connect(helia: HeliaLibp2p<any>, kubo: Controller, protocol: string): Promise<void>;
|
|
7
7
|
//# sourceMappingURL=connect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/fixtures/connect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3C;;GAEG;AACH,wBAAsB,OAAO,CAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/fixtures/connect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3C;;GAEG;AACH,wBAAsB,OAAO,CAAE,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWzG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/fixtures/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAInC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAE,
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/fixtures/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAInC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAE,KAAuB,EAAE,IAAgB,EAAE,QAAgB;IACxF,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC/C,SAAS,GAAG,IAAI,CAAA;YAChB,MAAK;QACP,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC;IACb,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;AACjE,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { Libp2p } from '@libp2p/interface';
|
|
2
2
|
import type { DefaultLibp2pServices, HeliaLibp2p } from 'helia';
|
|
3
|
+
import type { Libp2pOptions } from 'libp2p';
|
|
3
4
|
export declare function createHeliaNode(): Promise<HeliaLibp2p<Libp2p<DefaultLibp2pServices>>>;
|
|
5
|
+
export declare function createHeliaNode<Services extends Record<string, unknown>>(libp2pOptions: Libp2pOptions<Services>): Promise<HeliaLibp2p<Libp2p<Services & DefaultLibp2pServices>>>;
|
|
4
6
|
//# sourceMappingURL=create-helia.browser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-helia.browser.d.ts","sourceRoot":"","sources":["../../../src/fixtures/create-helia.browser.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"create-helia.browser.d.ts","sourceRoot":"","sources":["../../../src/fixtures/create-helia.browser.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAE3C,wBAAsB,eAAe,IAAK,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;AAC7F,wBAAsB,eAAe,CAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAG,aAAa,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -5,7 +5,7 @@ import { webSockets } from '@libp2p/websockets';
|
|
|
5
5
|
import { all } from '@libp2p/websockets/filters';
|
|
6
6
|
import { sha3512 } from '@multiformats/sha3';
|
|
7
7
|
import { createHelia, libp2pDefaults } from 'helia';
|
|
8
|
-
export async function createHeliaNode() {
|
|
8
|
+
export async function createHeliaNode(libp2pOptions) {
|
|
9
9
|
const defaults = libp2pDefaults();
|
|
10
10
|
// allow dialing insecure WebSockets
|
|
11
11
|
defaults.transports?.pop();
|
|
@@ -22,6 +22,7 @@ export async function createHeliaNode() {
|
|
|
22
22
|
// use LAN DHT
|
|
23
23
|
defaults.services = {
|
|
24
24
|
...(defaults.services ?? {}),
|
|
25
|
+
...(libp2pOptions?.services ?? {}),
|
|
25
26
|
dht: kadDHT({
|
|
26
27
|
validators: {
|
|
27
28
|
ipns: ipnsValidator
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-helia.browser.js","sourceRoot":"","sources":["../../../src/fixtures/create-helia.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"create-helia.browser.js","sourceRoot":"","sources":["../../../src/fixtures/create-helia.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAOnD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAE,aAA6B;IAClE,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAA;IAEjC,oCAAoC;IACpC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,CAAA;IAC1B,QAAQ,CAAC,UAAU,GAAG;QACpB,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;QAC9B,UAAU,CAAC;YACT,MAAM,EAAE,GAAG;SACZ,CAAC;KACH,CAAA;IAED,yBAAyB;IACzB,QAAQ,CAAC,eAAe,GAAG;QACzB,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK;KAC/B,CAAA;IAED,cAAc;IACd,QAAQ,CAAC,QAAQ,GAAG;QAClB,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC5B,GAAG,CAAC,aAAa,EAAE,QAAQ,IAAI,EAAE,CAAC;QAClC,GAAG,EAAE,MAAM,CAAC;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,aAAa;aACpB;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,YAAY;aACnB;YACD,yDAAyD;YACzD,uBAAuB,EAAE,IAAI;YAE7B,QAAQ,EAAE,qBAAqB;YAC/B,cAAc,EAAE,2BAA2B;YAC3C,UAAU,EAAE,KAAK;SAClB,CAAC;KACH,CAAA;IAED,uBAAuB;IACvB,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAA;IAE3B,6CAA6C;IAC7C,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAA;IAChC,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAA;IAC9B,OAAO,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAA;IAEzC,OAAO,WAAW,CAAgC;QAChD,YAAY,EAAE;YACZ,OAAO,EAAE;SACV;QACD,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE;YACP,OAAO;SACR;KACF,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { Libp2p } from '@libp2p/interface';
|
|
2
2
|
import type { DefaultLibp2pServices, HeliaLibp2p } from 'helia';
|
|
3
|
+
import type { Libp2pOptions } from 'libp2p';
|
|
3
4
|
export declare function createHeliaNode(): Promise<HeliaLibp2p<Libp2p<DefaultLibp2pServices>>>;
|
|
5
|
+
export declare function createHeliaNode<Services extends Record<string, unknown>>(libp2pOptions: Libp2pOptions<Services>): Promise<HeliaLibp2p<Libp2p<Services & DefaultLibp2pServices>>>;
|
|
4
6
|
//# sourceMappingURL=create-helia.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-helia.d.ts","sourceRoot":"","sources":["../../../src/fixtures/create-helia.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"create-helia.d.ts","sourceRoot":"","sources":["../../../src/fixtures/create-helia.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAE3C,wBAAsB,eAAe,IAAK,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;AAC7F,wBAAsB,eAAe,CAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAG,aAAa,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -3,7 +3,7 @@ import { ipnsValidator, ipnsSelector } from '@helia/ipns';
|
|
|
3
3
|
import { kadDHT, removePublicAddressesMapper } from '@libp2p/kad-dht';
|
|
4
4
|
import { sha3512 } from '@multiformats/sha3';
|
|
5
5
|
import { createHelia, libp2pDefaults } from 'helia';
|
|
6
|
-
export async function createHeliaNode() {
|
|
6
|
+
export async function createHeliaNode(libp2pOptions) {
|
|
7
7
|
const defaults = libp2pDefaults();
|
|
8
8
|
defaults.addresses = {
|
|
9
9
|
listen: [
|
|
@@ -12,6 +12,7 @@ export async function createHeliaNode() {
|
|
|
12
12
|
};
|
|
13
13
|
defaults.services = {
|
|
14
14
|
...(defaults.services ?? {}),
|
|
15
|
+
...(libp2pOptions?.services ?? {}),
|
|
15
16
|
dht: kadDHT({
|
|
16
17
|
validators: {
|
|
17
18
|
ipns: ipnsValidator
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-helia.js","sourceRoot":"","sources":["../../../src/fixtures/create-helia.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"create-helia.js","sourceRoot":"","sources":["../../../src/fixtures/create-helia.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAOnD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAE,aAA6B;IAClE,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAA;IACjC,QAAQ,CAAC,SAAS,GAAG;QACnB,MAAM,EAAE;YACN,oBAAoB;SACrB;KACF,CAAA;IACD,QAAQ,CAAC,QAAQ,GAAG;QAClB,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC5B,GAAG,CAAC,aAAa,EAAE,QAAQ,IAAI,EAAE,CAAC;QAClC,GAAG,EAAE,MAAM,CAAC;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,aAAa;aACpB;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,YAAY;aACnB;YACD,yDAAyD;YACzD,uBAAuB,EAAE,IAAI;YAE7B,QAAQ,EAAE,qBAAqB;YAC/B,cAAc,EAAE,2BAA2B;YAC3C,UAAU,EAAE,KAAK;SAClB,CAAC;KACH,CAAA;IAED,kCAAkC;IAClC,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAA;IAE3B,6CAA6C;IAC7C,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAA;IAChC,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAA;IAC9B,OAAO,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAA;IAEzC,OAAO,WAAW,CAAgC;QAChD,YAAY,EAAE;YACZ,OAAO,EAAE;SACV;QACD,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE;YACP,OAAO;SACR;KACF,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/* eslint-env mocha */
|
|
2
2
|
/* eslint max-nested-callbacks: ["error", 5] */
|
|
3
|
+
import { gossipsub } from '@chainsafe/libp2p-gossipsub';
|
|
3
4
|
import { ipns } from '@helia/ipns';
|
|
4
5
|
import { pubsub } from '@helia/ipns/routing';
|
|
5
6
|
import { peerIdFromKeys } from '@libp2p/peer-id';
|
|
@@ -28,7 +29,11 @@ keyTypes.filter(keyType => keyType !== 'RSA').forEach(keyType => {
|
|
|
28
29
|
let kubo;
|
|
29
30
|
let name;
|
|
30
31
|
beforeEach(async () => {
|
|
31
|
-
helia = await createHeliaNode(
|
|
32
|
+
helia = await createHeliaNode({
|
|
33
|
+
services: {
|
|
34
|
+
pubsub: gossipsub()
|
|
35
|
+
}
|
|
36
|
+
});
|
|
32
37
|
kubo = await createKuboNode();
|
|
33
38
|
// connect the two nodes
|
|
34
39
|
await connect(helia, kubo, '/meshsub/1.1.0');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipns-pubsub.spec.js","sourceRoot":"","sources":["../../src/ipns-pubsub.spec.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,+CAA+C;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"ipns-pubsub.spec.js","sourceRoot":"","sources":["../../src/ipns-pubsub.spec.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,+CAA+C;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAOhD,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAE7B,wEAAwE;AACxE,gEAAgE;AAChE,mDAAmD;AACnD,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;IAC9D,QAAQ,CAAC,qCAAqC,OAAO,OAAO,EAAE,GAAG,EAAE;QACjE,IAAI,KAAkE,CAAA;QACtE,IAAI,IAAgB,CAAA;QACpB,IAAI,IAAU,CAAA;QAEd,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,KAAK,GAAG,MAAM,eAAe,CAAC;gBAC5B,QAAQ,EAAE;oBACR,MAAM,EAAE,SAAS,EAAE;iBACpB;aACF,CAAC,CAAA;YACF,IAAI,GAAG,MAAM,cAAc,EAAE,CAAA;YAE7B,wBAAwB;YACxB,MAAM,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAA;YAE5C,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE;gBACjB,OAAO,EAAE;oBACP,MAAM,CAAC,KAAK,CAAC;iBACd;aACF,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;YACpB,CAAC;YAED,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;YACnB,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACzC,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAE1C,MAAM,OAAO,GAAG,aAAa,CAAA;YAC7B,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAChE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;YAEzE,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;YAC1C,CAAC;YAED,gFAAgF;YAChF,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;iBAChE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAA;YAE7D,yFAAyF;YACzF,6CAA6C;YAC7C,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBAC9C,OAAO,EAAE,GAAG;aACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAA;YAEjC,iCAAiC;YACjC,MAAM,gBAAgB,GAAG,SAAS,GAAG,CAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAA;YAEtH,4CAA4C;YAC5C,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE;gBACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;gBAE9C,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;YACxC,CAAC,EAAE;gBACD,OAAO,EAAE,KAAK;aACf,CAAC,CAAA;YAEF,6BAA6B;YAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;YAE/B,+CAA+C;YAC/C,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACxD,OAAO,EAAE,GAAG;aACb,CAAC,CAAC,CAAA;YAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACtD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6CAA6C,EAAE,KAAK;YACrD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;gBAC5B,sCAAsC;gBACtC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;YACpB,CAAC;YAED,MAAM,OAAO,GAAG,aAAa,CAAA;YAC7B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE;gBAC7C,iDAAiD;gBACjD,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE;aAC5B,CAAC,CAAA;YAEF,kFAAkF;YAClF,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;YAC5C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YAE7D,wFAAwF;YACxF,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAA;YAE9D,kCAAkC;YAClC,MAAM,gBAAgB,GAAG,WAAW,kBAAkB,CAAC,gBAAgB,CAAC;gBACtE,oBAAoB,CAAC,QAAQ,CAAC;gBAC9B,MAAM,CAAC,OAAO,EAAE;aACjB,CAAC,EAAE,WAAW,CAAC,EAAE,CAAA;YAElB,kEAAkE;YAClE,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE;gBACvB,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;YAC5E,CAAC,EAAE;gBACD,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,2CAA2C;aACrD,CAAC,CAAA;YAEF,gFAAgF;YAChF,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE;gBACvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;gBAE3D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC9E,CAAC,EAAE;gBACD,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,+DAA+D;aACzE,CAAC,CAAA;YAEF,kFAAkF;YAClF,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC/B,GAAG,EAAE,OAAO;aACb,CAAC,CAAA;YAEF,IAAI,WAA4B,CAAA;YAEhC,qCAAqC;YACrC,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE;gBACvB,IAAI,CAAC;oBACH,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;oBAExC,OAAO,IAAI,CAAA;gBACb,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,KAAK,CAAA;gBACd,CAAC;YACH,CAAC,EAAE;gBACD,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,yCAAyC;aACnD,CAAC,CAAA;YAEF,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;YAC1C,CAAC;YAED,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helia/interop",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "Interop tests for Helia",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/ipfs/helia/tree/main/packages/interop#readme",
|
|
@@ -57,28 +57,30 @@
|
|
|
57
57
|
"test:electron-main": "aegir test -t electron-main"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@
|
|
61
|
-
"@helia/
|
|
62
|
-
"@helia/
|
|
63
|
-
"@helia/dag-
|
|
64
|
-
"@helia/
|
|
65
|
-
"@helia/
|
|
66
|
-
"@helia/
|
|
67
|
-
"@helia/
|
|
68
|
-
"@helia/
|
|
69
|
-
"@helia/
|
|
70
|
-
"@helia/
|
|
71
|
-
"@helia/
|
|
60
|
+
"@chainsafe/libp2p-gossipsub": "^11.1.0",
|
|
61
|
+
"@helia/block-brokers": "^2.0.0",
|
|
62
|
+
"@helia/car": "^3.0.0",
|
|
63
|
+
"@helia/dag-cbor": "^3.0.0",
|
|
64
|
+
"@helia/dag-json": "^3.0.0",
|
|
65
|
+
"@helia/http": "^1.0.0",
|
|
66
|
+
"@helia/interface": "^4.0.0",
|
|
67
|
+
"@helia/ipns": "^5.0.0",
|
|
68
|
+
"@helia/json": "^3.0.0",
|
|
69
|
+
"@helia/mfs": "^3.0.0",
|
|
70
|
+
"@helia/routers": "^1.0.0",
|
|
71
|
+
"@helia/strings": "^3.0.0",
|
|
72
|
+
"@helia/unixfs": "^3.0.0",
|
|
72
73
|
"@ipld/car": "^5.2.5",
|
|
73
74
|
"@ipld/dag-cbor": "^9.0.7",
|
|
74
75
|
"@libp2p/interface": "^1.1.1",
|
|
75
76
|
"@libp2p/kad-dht": "^12.0.2",
|
|
77
|
+
"@libp2p/keychain": "^4.0.7",
|
|
76
78
|
"@libp2p/peer-id": "^4.0.5",
|
|
77
79
|
"@libp2p/peer-id-factory": "^4.0.3",
|
|
78
80
|
"@libp2p/websockets": "^8.0.10",
|
|
79
81
|
"@multiformats/sha3": "^3.0.0",
|
|
80
82
|
"aegir": "^42.1.0",
|
|
81
|
-
"helia": "
|
|
83
|
+
"helia": "^4.0.0",
|
|
82
84
|
"ipfs-core-types": "^0.14.1",
|
|
83
85
|
"ipfs-unixfs-importer": "^15.2.3",
|
|
84
86
|
"ipfsd-ctl": "^13.0.0",
|
|
@@ -87,8 +89,9 @@
|
|
|
87
89
|
"it-last": "^3.0.4",
|
|
88
90
|
"it-map": "^3.0.5",
|
|
89
91
|
"it-to-buffer": "^4.0.2",
|
|
90
|
-
"kubo": "^0.
|
|
92
|
+
"kubo": "^0.26.0",
|
|
91
93
|
"kubo-rpc-client": "^3.0.1",
|
|
94
|
+
"libp2p": "^1.2.0",
|
|
92
95
|
"multiformats": "^13.0.0",
|
|
93
96
|
"p-defer": "^4.0.0",
|
|
94
97
|
"uint8arrays": "^5.0.1",
|
package/src/fixtures/connect.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { Controller } from 'ipfsd-ctl'
|
|
|
5
5
|
/**
|
|
6
6
|
* Connect the two nodes by dialing a protocol stream
|
|
7
7
|
*/
|
|
8
|
-
export async function connect (helia: HeliaLibp2p
|
|
8
|
+
export async function connect (helia: HeliaLibp2p<any>, kubo: Controller, protocol: string): Promise<void> {
|
|
9
9
|
let connected = false
|
|
10
10
|
for (const addr of kubo.peer.addresses) {
|
|
11
11
|
try {
|
|
@@ -7,8 +7,11 @@ import { sha3512 } from '@multiformats/sha3'
|
|
|
7
7
|
import { createHelia, libp2pDefaults } from 'helia'
|
|
8
8
|
import type { Libp2p } from '@libp2p/interface'
|
|
9
9
|
import type { DefaultLibp2pServices, HeliaLibp2p } from 'helia'
|
|
10
|
+
import type { Libp2pOptions } from 'libp2p'
|
|
10
11
|
|
|
11
|
-
export async function createHeliaNode (): Promise<HeliaLibp2p<Libp2p<DefaultLibp2pServices>>>
|
|
12
|
+
export async function createHeliaNode (): Promise<HeliaLibp2p<Libp2p<DefaultLibp2pServices>>>
|
|
13
|
+
export async function createHeliaNode <Services extends Record<string, unknown>> (libp2pOptions: Libp2pOptions<Services>): Promise<HeliaLibp2p<Libp2p<Services & DefaultLibp2pServices>>>
|
|
14
|
+
export async function createHeliaNode (libp2pOptions?: Libp2pOptions): Promise<HeliaLibp2p<Libp2p<DefaultLibp2pServices>>> {
|
|
12
15
|
const defaults = libp2pDefaults()
|
|
13
16
|
|
|
14
17
|
// allow dialing insecure WebSockets
|
|
@@ -28,6 +31,7 @@ export async function createHeliaNode (): Promise<HeliaLibp2p<Libp2p<DefaultLibp
|
|
|
28
31
|
// use LAN DHT
|
|
29
32
|
defaults.services = {
|
|
30
33
|
...(defaults.services ?? {}),
|
|
34
|
+
...(libp2pOptions?.services ?? {}),
|
|
31
35
|
dht: kadDHT({
|
|
32
36
|
validators: {
|
|
33
37
|
ipns: ipnsValidator
|
|
@@ -5,8 +5,11 @@ import { sha3512 } from '@multiformats/sha3'
|
|
|
5
5
|
import { createHelia, libp2pDefaults } from 'helia'
|
|
6
6
|
import type { Libp2p } from '@libp2p/interface'
|
|
7
7
|
import type { DefaultLibp2pServices, HeliaLibp2p } from 'helia'
|
|
8
|
+
import type { Libp2pOptions } from 'libp2p'
|
|
8
9
|
|
|
9
|
-
export async function createHeliaNode (): Promise<HeliaLibp2p<Libp2p<DefaultLibp2pServices>>>
|
|
10
|
+
export async function createHeliaNode (): Promise<HeliaLibp2p<Libp2p<DefaultLibp2pServices>>>
|
|
11
|
+
export async function createHeliaNode <Services extends Record<string, unknown>> (libp2pOptions: Libp2pOptions<Services>): Promise<HeliaLibp2p<Libp2p<Services & DefaultLibp2pServices>>>
|
|
12
|
+
export async function createHeliaNode (libp2pOptions?: Libp2pOptions): Promise<HeliaLibp2p<Libp2p<DefaultLibp2pServices>>> {
|
|
10
13
|
const defaults = libp2pDefaults()
|
|
11
14
|
defaults.addresses = {
|
|
12
15
|
listen: [
|
|
@@ -15,6 +18,7 @@ export async function createHeliaNode (): Promise<HeliaLibp2p<Libp2p<DefaultLibp
|
|
|
15
18
|
}
|
|
16
19
|
defaults.services = {
|
|
17
20
|
...(defaults.services ?? {}),
|
|
21
|
+
...(libp2pOptions?.services ?? {}),
|
|
18
22
|
dht: kadDHT({
|
|
19
23
|
validators: {
|
|
20
24
|
ipns: ipnsValidator
|
package/src/ipns-pubsub.spec.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* eslint-env mocha */
|
|
2
2
|
/* eslint max-nested-callbacks: ["error", 5] */
|
|
3
3
|
|
|
4
|
+
import { gossipsub } from '@chainsafe/libp2p-gossipsub'
|
|
4
5
|
import { ipns } from '@helia/ipns'
|
|
5
6
|
import { pubsub } from '@helia/ipns/routing'
|
|
6
7
|
import { peerIdFromKeys } from '@libp2p/peer-id'
|
|
@@ -20,6 +21,8 @@ import { createKuboNode } from './fixtures/create-kubo.js'
|
|
|
20
21
|
import { keyTypes } from './fixtures/key-types.js'
|
|
21
22
|
import { waitFor } from './fixtures/wait-for.js'
|
|
22
23
|
import type { IPNS } from '@helia/ipns'
|
|
24
|
+
import type { Libp2p, PubSub } from '@libp2p/interface'
|
|
25
|
+
import type { Keychain } from '@libp2p/keychain'
|
|
23
26
|
import type { HeliaLibp2p } from 'helia'
|
|
24
27
|
import type { Controller } from 'ipfsd-ctl'
|
|
25
28
|
|
|
@@ -30,12 +33,16 @@ const LIBP2P_KEY_CODEC = 0x72
|
|
|
30
33
|
// resolution because Kubo will use the DHT as well
|
|
31
34
|
keyTypes.filter(keyType => keyType !== 'RSA').forEach(keyType => {
|
|
32
35
|
describe(`@helia/ipns - pubsub routing with ${keyType} keys`, () => {
|
|
33
|
-
let helia: HeliaLibp2p
|
|
36
|
+
let helia: HeliaLibp2p<Libp2p<{ pubsub: PubSub, keychain: Keychain }>>
|
|
34
37
|
let kubo: Controller
|
|
35
38
|
let name: IPNS
|
|
36
39
|
|
|
37
40
|
beforeEach(async () => {
|
|
38
|
-
helia = await createHeliaNode(
|
|
41
|
+
helia = await createHeliaNode({
|
|
42
|
+
services: {
|
|
43
|
+
pubsub: gossipsub()
|
|
44
|
+
}
|
|
45
|
+
})
|
|
39
46
|
kubo = await createKuboNode()
|
|
40
47
|
|
|
41
48
|
// connect the two nodes
|