@helia/interop 10.2.5-6f8165b5 → 10.2.5-73a28eda

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/.aegir.js CHANGED
@@ -6,7 +6,7 @@ import { path } from 'kubo'
6
6
  /** @type {import('aegir').PartialOptions} */
7
7
  export default {
8
8
  test: {
9
- files: './dist/src/*.spec.js',
9
+ files: './src/*.spec.ts',
10
10
  before: async (options) => {
11
11
  if (options.runner !== 'node') {
12
12
  const ipfsdPort = await getPort()
@@ -1 +1 @@
1
- {"version":3,"file":"create-helia.browser.d.ts","sourceRoot":"","sources":["../../../src/fixtures/create-helia.browser.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAE3C,wBAAsB,eAAe,IAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;AACvF,wBAAsB,eAAe,CAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAG,aAAa,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"create-helia.browser.d.ts","sourceRoot":"","sources":["../../../src/fixtures/create-helia.browser.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAE3C,wBAAsB,eAAe,IAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;AACvF,wBAAsB,eAAe,CAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAG,aAAa,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA"}
@@ -1,5 +1,4 @@
1
1
  import { bitswap } from '@helia/block-brokers';
2
- import { ipnsValidator, ipnsSelector } from '@helia/ipns';
3
2
  import { kadDHT, removePublicAddressesMapper } from '@libp2p/kad-dht';
4
3
  import { webSockets } from '@libp2p/websockets';
5
4
  import { sha3512 } from '@multiformats/sha3';
@@ -21,14 +20,6 @@ export async function createHeliaNode(libp2pOptions) {
21
20
  ...(defaults.services ?? {}),
22
21
  ...(libp2pOptions?.services ?? {}),
23
22
  dht: kadDHT({
24
- validators: {
25
- ipns: ipnsValidator
26
- },
27
- selectors: {
28
- ipns: ipnsSelector
29
- },
30
- // skips waiting for the initial self-query to find peers
31
- allowQueryWithZeroPeers: true,
32
23
  protocol: '/ipfs/lan/kad/1.0.0',
33
24
  peerInfoMapper: removePublicAddressesMapper,
34
25
  clientMode: false
@@ -41,8 +32,10 @@ export async function createHeliaNode(libp2pOptions) {
41
32
  delete defaults.services.autoNAT;
42
33
  // @ts-expect-error services.dcutr is not optional
43
34
  delete defaults.services.dcutr;
44
- // @ts-expect-error services.delegatedRouting is not optional
45
- delete defaults.services.delegatedRouting;
35
+ // @ts-expect-error services.delegatedContentRouting is not optional
36
+ delete defaults.services.delegatedContentRouting;
37
+ // @ts-expect-error services.delegatedPeerRouting is not optional
38
+ delete defaults.services.delegatedPeerRouting;
46
39
  return createHelia({
47
40
  blockBrokers: [
48
41
  bitswap()
@@ -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,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,EAAE;KACb,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,yBAAyB;IACzB,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAA;IAE3B,6CAA6C;IAC7C,oDAAoD;IACpD,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAA;IAChC,kDAAkD;IAClD,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAA;IAC9B,6DAA6D;IAC7D,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
+ {"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,MAAM,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,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,EAAE;KACb,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,QAAQ,EAAE,qBAAqB;YAC/B,cAAc,EAAE,2BAA2B;YAC3C,UAAU,EAAE,KAAK;SAClB,CAAC;KACH,CAAA;IAED,yBAAyB;IACzB,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAA;IAE3B,6CAA6C;IAC7C,oDAAoD;IACpD,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAA;IAChC,kDAAkD;IAClD,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAA;IAC9B,oEAAoE;IACpE,OAAO,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAA;IAChD,iEAAiE;IACjE,OAAO,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAA;IAE7C,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 +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,KAAK,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAE3C,wBAAsB,eAAe,IAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;AACvF,wBAAsB,eAAe,CAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAG,aAAa,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"create-helia.d.ts","sourceRoot":"","sources":["../../../src/fixtures/create-helia.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAE3C,wBAAsB,eAAe,IAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;AACvF,wBAAsB,eAAe,CAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAG,aAAa,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA"}
@@ -1,5 +1,4 @@
1
1
  import { bitswap } from '@helia/block-brokers';
2
- import { ipnsValidator, ipnsSelector } from '@helia/ipns';
3
2
  import { kadDHT, removePublicAddressesMapper } from '@libp2p/kad-dht';
4
3
  import { sha3512 } from '@multiformats/sha3';
5
4
  import { createHelia, libp2pDefaults } from 'helia';
@@ -14,12 +13,6 @@ export async function createHeliaNode(libp2pOptions) {
14
13
  ...(defaults.services ?? {}),
15
14
  ...(libp2pOptions?.services ?? {}),
16
15
  dht: kadDHT({
17
- validators: {
18
- ipns: ipnsValidator
19
- },
20
- selectors: {
21
- ipns: ipnsSelector
22
- },
23
16
  protocol: '/ipfs/lan/kad/1.0.0',
24
17
  peerInfoMapper: removePublicAddressesMapper,
25
18
  clientMode: false
@@ -34,8 +27,10 @@ export async function createHeliaNode(libp2pOptions) {
34
27
  delete defaults.services.upnp;
35
28
  // @ts-expect-error services.dcutr is not optional
36
29
  delete defaults.services.dcutr;
37
- // @ts-expect-error services.delegatedRouting is not optional
38
- delete defaults.services.delegatedRouting;
30
+ // @ts-expect-error services.delegatedContentRouting is not optional
31
+ delete defaults.services.delegatedContentRouting;
32
+ // @ts-expect-error services.delegatedPeerRouting is not optional
33
+ delete defaults.services.delegatedPeerRouting;
39
34
  // @ts-expect-error services.autoTLS is not optional
40
35
  delete defaults.services.autoTLS;
41
36
  return createHelia({
@@ -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;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,QAAQ,EAAE,qBAAqB;YAC/B,cAAc,EAAE,2BAA2B;YAC3C,UAAU,EAAE,KAAK;SAClB,CAAC;KACH,CAAA;IAED,oCAAoC;IACpC,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAA;IAE3B,6CAA6C;IAC7C,oDAAoD;IACpD,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAA;IAChC,iDAAiD;IACjD,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAA;IAC7B,kDAAkD;IAClD,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAA;IAC9B,6DAA6D;IAC7D,OAAO,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAA;IACzC,oDAAoD;IACpD,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAA;IAEhC,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
+ {"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,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,QAAQ,EAAE,qBAAqB;YAC/B,cAAc,EAAE,2BAA2B;YAC3C,UAAU,EAAE,KAAK;SAClB,CAAC;KACH,CAAA;IAED,oCAAoC;IACpC,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAA;IAE3B,6CAA6C;IAC7C,oDAAoD;IACpD,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAA;IAChC,iDAAiD;IACjD,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAA;IAC7B,kDAAkD;IAClD,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAA;IAC9B,oEAAoE;IACpE,OAAO,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAA;IAChD,iEAAiE;IACjE,OAAO,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAA;IAC7C,oDAAoD;IACpD,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAA;IAEhC,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 +1 @@
1
- {"version":3,"file":"key-types.d.ts","sourceRoot":"","sources":["../../../src/fixtures/key-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,eAAO,MAAM,QAAQ,EAAE,OAAO,EAI7B,CAAA"}
1
+ {"version":3,"file":"key-types.d.ts","sourceRoot":"","sources":["../../../src/fixtures/key-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,eAAO,MAAM,QAAQ,EAAE,OAAO,EAG7B,CAAA"}
@@ -1,6 +1,5 @@
1
1
  export const keyTypes = [
2
2
  'Ed25519',
3
- 'secp256k1',
4
3
  'RSA'
5
4
  ];
6
5
  //# sourceMappingURL=key-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"key-types.js","sourceRoot":"","sources":["../../../src/fixtures/key-types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAc;IACjC,SAAS;IACT,WAAW;IACX,KAAK;CACN,CAAA"}
1
+ {"version":3,"file":"key-types.js","sourceRoot":"","sources":["../../../src/fixtures/key-types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAc;IACjC,SAAS;IACT,KAAK;CACN,CAAA"}
@@ -1,4 +1,3 @@
1
- import { randomBytes } from '@libp2p/crypto';
2
1
  import { multiaddr } from '@multiformats/multiaddr';
3
2
  import { expect } from 'aegir/chai';
4
3
  import toBuffer from 'it-to-buffer';
@@ -27,7 +26,7 @@ describe('helia - blockstore', () => {
27
26
  }
28
27
  });
29
28
  it('should be able to send a block', async () => {
30
- const input = randomBytes(10);
29
+ const input = crypto.getRandomValues(new Uint8Array(10));
31
30
  const digest = await sha256.digest(input);
32
31
  const cid = CID.createV1(raw.code, digest);
33
32
  await helia.blockstore.put(cid, input);
@@ -35,7 +34,7 @@ describe('helia - blockstore', () => {
35
34
  expect(output).to.equalBytes(input);
36
35
  });
37
36
  it('should be able to receive a block', async () => {
38
- const input = randomBytes(10);
37
+ const input = crypto.getRandomValues(new Uint8Array(10));
39
38
  const { cid } = await kubo.api.add({ content: input }, {
40
39
  cidVersion: 1,
41
40
  rawLeaves: true
@@ -1 +1 @@
1
- {"version":3,"file":"helia-blockstore.spec.js","sourceRoot":"","sources":["../../src/helia-blockstore.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,KAAY,CAAA;IAChB,IAAI,IAAc,CAAA;IAClB,IAAI,QAAkB,CAAA;IAEtB,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,IAAI,GAAG,MAAM,cAAc,EAAE,CAAA;QAC7B,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAC5B,KAAK,GAAG,MAAM,eAAe,EAAE,CAAA;QAE/B,wBAAwB;QACxB,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACzE,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QACpB,CAAC;QAED,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAA;QAC7B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACzC,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC1C,MAAM,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAEhD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAA;QAC7B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YACrD,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;SAChB,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;QAE9E,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"helia-blockstore.spec.js","sourceRoot":"","sources":["../../src/helia-blockstore.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,KAAY,CAAA;IAChB,IAAI,IAAc,CAAA;IAClB,IAAI,QAAkB,CAAA;IAEtB,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,IAAI,GAAG,MAAM,cAAc,EAAE,CAAA;QAC7B,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAC5B,KAAK,GAAG,MAAM,eAAe,EAAE,CAAA;QAE/B,wBAAwB;QACxB,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACzE,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QACpB,CAAC;QAED,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;QACxD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACzC,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC1C,MAAM,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAEhD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;QACxD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YACrD,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;SAChB,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;QAE9E,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,4 +1,3 @@
1
- import { randomBytes } from '@libp2p/crypto';
2
1
  import { contentRoutingSymbol } from '@libp2p/interface';
3
2
  import { peerIdFromString } from '@libp2p/peer-id';
4
3
  import { CODE_P2P, multiaddr } from '@multiformats/multiaddr';
@@ -53,7 +52,7 @@ describe('helia - progress events', () => {
53
52
  }
54
53
  });
55
54
  it('should yield routing events', async () => {
56
- const input = randomBytes(10);
55
+ const input = crypto.getRandomValues(new Uint8Array(10));
57
56
  const { cid } = await kubo.api.add({ content: input }, {
58
57
  cidVersion: 1,
59
58
  rawLeaves: true
@@ -71,7 +70,7 @@ describe('helia - progress events', () => {
71
70
  expect(events.get('helia:routing:find-providers:end')).to.be.greaterThan(0);
72
71
  });
73
72
  it('should yield block broker events', async () => {
74
- const input = randomBytes(10);
73
+ const input = crypto.getRandomValues(new Uint8Array(10));
75
74
  const { cid } = await kubo.api.add({ content: input }, {
76
75
  cidVersion: 1,
77
76
  rawLeaves: true
@@ -1 +1 @@
1
- {"version":3,"file":"helia-progress-events.spec.js","sourceRoot":"","sources":["../../src/helia-progress-events.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helia-progress-events.spec.js","sourceRoot":"","sources":["../../src/helia-progress-events.spec.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { ipns } from '@helia/ipns';
3
3
  import { delegatedHTTPRouting } from '@helia/routers';
4
4
  import { peerIdFromCID } from '@libp2p/peer-id';
5
5
  import { expect } from 'aegir/chai';
6
+ import last from 'it-last';
6
7
  import { CID } from 'multiformats/cid';
7
8
  import { isNode } from 'wherearewe';
8
9
  import { createKuboNode } from "./fixtures/create-kubo.js";
@@ -49,9 +50,11 @@ describe('@helia/ipns - http', () => {
49
50
  key: keyName
50
51
  });
51
52
  const key = peerIdFromCID(CID.parse(res.name));
52
- // @ts-expect-error @libp2p/peer-id needs dep updates
53
- const { cid: resolvedCid } = await name.resolve(key.toMultihash());
54
- expect(resolvedCid.toString()).to.equal(cid.toString());
53
+ const result = await last(name.resolve(key.toMultihash()));
54
+ if (result == null) {
55
+ throw new Error('No results found');
56
+ }
57
+ expect(result.record.value).to.equal(`/ipfs/${cid}`);
55
58
  });
56
59
  });
57
60
  //# sourceMappingURL=ipns-http.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ipns-http.spec.js","sourceRoot":"","sources":["../../src/ipns-http.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAM1D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,KAAyB,CAAA;IAC7B,IAAI,IAAc,CAAA;IAClB,IAAI,IAAU,CAAA;IAEd;;;;OAIG;IACH,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,IAAI,GAAG,MAAM,cAAc,EAAE,CAAA;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAClC,KAAK,GAAG,MAAM,eAAe,CAAC;YAC5B,OAAO,EAAE;gBACP,oBAAoB,CAAC;oBACnB,GAAG,EAAE,QAAQ,CAAC,OAAO;iBACtB,CAAC;aACH;SACF,CAAC,CAAA;QACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QACpB,CAAC;QAED,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,KAAK;QACrD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,iFAAiF;YACjF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;QACpB,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAA;QAC7B,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;QAEpE,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE;YAC9B,IAAI,EAAE,SAAS;SAChB,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAC3C,GAAG,EAAE,OAAO;SACb,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,qDAAqD;QACrD,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;QAClE,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"ipns-http.spec.js","sourceRoot":"","sources":["../../src/ipns-http.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAM1D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,KAAyB,CAAA;IAC7B,IAAI,IAAc,CAAA;IAClB,IAAI,IAAU,CAAA;IAEd;;;;OAIG;IACH,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,IAAI,GAAG,MAAM,cAAc,EAAE,CAAA;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAClC,KAAK,GAAG,MAAM,eAAe,CAAC;YAC5B,OAAO,EAAE;gBACP,oBAAoB,CAAC;oBACnB,GAAG,EAAE,QAAQ,CAAC,OAAO;iBACtB,CAAC;aACH;SACF,CAAC,CAAA;QACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QACpB,CAAC;QAED,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,KAAK;QACrD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,iFAAiF;YACjF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;QACpB,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAA;QAC7B,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;QAEpE,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE;YAC9B,IAAI,EAAE,SAAS;SAChB,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAC3C,GAAG,EAAE,OAAO;SACb,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAE1D,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACrC,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,7 +1,6 @@
1
1
  /* eslint max-nested-callbacks: ["error", 5] */
2
2
  import { ipns } from '@helia/ipns';
3
3
  import { pubsub } from '@helia/ipns/routing';
4
- import { generateKeyPair } from '@libp2p/crypto/keys';
5
4
  import { floodsub } from '@libp2p/floodsub';
6
5
  import { peerIdFromCID } from '@libp2p/peer-id';
7
6
  import { expect } from 'aegir/chai';
@@ -55,12 +54,11 @@ keyTypes.filter(keyType => keyType !== 'RSA').forEach(keyType => {
55
54
  const input = Uint8Array.from([0, 1, 2, 3, 4]);
56
55
  const digest = await sha256.digest(input);
57
56
  const cid = CID.createV1(raw.code, digest);
58
- const privateKey = await generateKeyPair('Ed25519');
59
57
  const keyName = 'my-ipns-key';
60
- await helia.libp2p.services.keychain.importKey(keyName, privateKey);
58
+ const privateKey = await helia.keychain.generateKey(keyName);
61
59
  // first call to pubsub resolver will fail but we should trigger
62
60
  // subscribing pubsub for updates
63
- await expect(last(kubo.api.name.resolve(privateKey.publicKey.toString(), {
61
+ await expect(last(kubo.api.name.resolve(`${privateKey.publicKey}`, {
64
62
  timeout: 100
65
63
  }))).to.eventually.be.undefined();
66
64
  // wait for kubo to be subscribed to updates
@@ -111,7 +109,7 @@ keyTypes.filter(keyType => keyType !== 'RSA').forEach(keyType => {
111
109
  throw new Error('Incorrect hash type');
112
110
  }
113
111
  // first call to pubsub resolver should fail but we should now be subscribed for updates
114
- await expect(name.resolve(peerCid.multihash)).to.eventually.be.rejected();
112
+ await expect(last(name.resolve(peerCid.multihash))).to.eventually.be.rejected();
115
113
  // actual pubsub subscription name
116
114
  const subscriptionName = `/record/${uint8ArrayToString(uint8ArrayConcat([
117
115
  uint8ArrayFromString('/ipns/'),
@@ -140,8 +138,7 @@ keyTypes.filter(keyType => keyType !== 'RSA').forEach(keyType => {
140
138
  // we should get an update eventually
141
139
  await waitFor(async () => {
142
140
  try {
143
- // @ts-expect-error @libp2p/peer-id needs dep updates
144
- resolveResult = await name.resolve(peerId.toMultihash());
141
+ resolveResult = await last(name.resolve(peerId.toMultihash()));
145
142
  return true;
146
143
  }
147
144
  catch {
@@ -154,7 +151,7 @@ keyTypes.filter(keyType => keyType !== 'RSA').forEach(keyType => {
154
151
  if (resolveResult == null) {
155
152
  throw new Error('Failed to resolve CID');
156
153
  }
157
- expect(resolveResult.cid.toString()).to.equal(cid.toString());
154
+ expect(resolveResult.record.value).to.equal(`/ipfs/${cid}`);
158
155
  });
159
156
  });
160
157
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ipns-pubsub.spec.js","sourceRoot":"","sources":["../../src/ipns-pubsub.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipns-pubsub.spec.js","sourceRoot":"","sources":["../../src/ipns-pubsub.spec.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import { ipns } from '@helia/ipns';
2
- import { generateKeyPair, privateKeyToProtobuf } from '@libp2p/crypto/keys';
3
2
  import { peerIdFromString } from '@libp2p/peer-id';
4
3
  import { expect } from 'aegir/chai';
5
- import { multihashToIPNSRoutingKey } from 'ipns';
6
4
  import last from 'it-last';
5
+ import { base36 } from 'multiformats/bases/base36';
7
6
  import { CID } from 'multiformats/cid';
8
7
  import * as raw from 'multiformats/codecs/raw';
9
8
  import { sha256 } from 'multiformats/hashes/sha2';
9
+ import { concat as uint8ArrayConcat } from 'uint8arrays/concat';
10
+ import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
10
11
  import { isElectronMain } from 'wherearewe';
11
12
  import { connect } from "./fixtures/connect.js";
12
13
  import { createHeliaNode } from "./fixtures/create-helia.js";
@@ -14,6 +15,12 @@ import { createKuboNode } from "./fixtures/create-kubo.js";
14
15
  import { sortClosestPeers } from "./fixtures/create-peer-ids.js";
15
16
  import { keyTypes } from "./fixtures/key-types.js";
16
17
  import { waitFor } from "./fixtures/wait-for.js";
18
+ function multihashToIPNSRoutingKey(digest) {
19
+ return uint8ArrayConcat([
20
+ uint8ArrayFromString('/ipns/'),
21
+ digest.bytes
22
+ ]);
23
+ }
17
24
  keyTypes.forEach(type => {
18
25
  describe(`@helia/ipns - default routing with ${type} keys`, () => {
19
26
  let helia;
@@ -21,7 +28,7 @@ keyTypes.forEach(type => {
21
28
  let name;
22
29
  // the CID we are going to publish
23
30
  let value;
24
- // the public key we will use to publish the value
31
+ // the key we will use to publish the value
25
32
  let key;
26
33
  /**
27
34
  * Ensure that for the CID we are going to publish, the resolver has a peer ID that
@@ -34,19 +41,15 @@ keyTypes.forEach(type => {
34
41
  value = CID.createV1(raw.code, digest);
35
42
  helia = await createHeliaNode();
36
43
  kubo = await createKuboNode();
37
- // find a PeerId that is KAD-closer to the resolver than the publisher when used as an IPNS key
44
+ // find a key that is KAD-closer to the resolver than the publisher when
45
+ // used as an IPNS key
38
46
  while (true) {
39
- if (type === 'Ed25519') {
40
- key = await generateKeyPair('Ed25519');
41
- }
42
- else if (type === 'secp256k1') {
43
- key = await generateKeyPair('secp256k1');
44
- }
45
- else {
46
- key = await generateKeyPair('RSA', 2048);
47
- }
48
- // @ts-expect-error @libp2p/crypto needs dep updates
49
- const routingKey = multihashToIPNSRoutingKey(key.publicKey?.toMultihash());
47
+ await helia.keychain.removeKey('test-key');
48
+ key = await helia.keychain.generateKey('test-key', {
49
+ type
50
+ });
51
+ await helia.keychain.removeKey('test-key');
52
+ const routingKey = multihashToIPNSRoutingKey(key.publicKey.toMultihash());
50
53
  const [closest] = await sortClosestPeers(routingKey, [
51
54
  helia.libp2p.peerId,
52
55
  peerIdFromString((await kubo.api.id()).id.toString())
@@ -97,11 +100,10 @@ keyTypes.forEach(type => {
97
100
  await kubo.stop();
98
101
  }
99
102
  });
100
- it(`should publish on helia and resolve on kubo using a ${type} key`, async () => {
103
+ it('should publish on helia and resolve on kubo', async () => {
101
104
  await createNodes('kubo');
102
- const privateKey = await generateKeyPair('Ed25519');
103
105
  const keyName = 'my-ipns-key';
104
- await helia.libp2p.services.keychain.importKey(keyName, privateKey);
106
+ const privateKey = await helia.keychain.generateKey(keyName);
105
107
  await name.publish(keyName, value);
106
108
  const resolved = await last(kubo.api.name.resolve(privateKey.publicKey.toString()));
107
109
  if (resolved == null) {
@@ -124,8 +126,7 @@ keyTypes.forEach(type => {
124
126
  const { cid } = await kubo.api.add(Uint8Array.from([0, 1, 2, 3, 4]));
125
127
  // ensure the key is in the kubo keychain so we can use it to publish the IPNS record
126
128
  const body = new FormData();
127
- // @ts-expect-error @libp2p/crypto needs dep updates
128
- body.append('key', new Blob([privateKeyToProtobuf(key)]));
129
+ body.append('key', new Blob([key.toProtobuf()]));
129
130
  // can't use the kubo-rpc-api for this call yet
130
131
  const config = kubo.api.getEndpointConfig();
131
132
  const response = await fetch(`http://${config.host}:${config.port}${config.pathname}/key/import?arg=${keyName}`, {
@@ -133,14 +134,19 @@ keyTypes.forEach(type => {
133
134
  body
134
135
  });
135
136
  expect(response).to.have.property('status', 200);
137
+ const json = await response.json();
138
+ expect(json.Id).to.equal(key.publicKey.toCID().toString(base36), 'did not import key correctly');
136
139
  const oneHourNS = BigInt(60 * 60 * 1e+9);
137
140
  await kubo.api.name.publish(cid, {
138
141
  key: keyName,
139
142
  ttl: '1h'
140
143
  });
141
- const { cid: resolvedCid, record } = await name.resolve(key.publicKey);
142
- expect(resolvedCid.toString()).to.equal(cid.toString());
143
- expect(record.ttl).to.equal(oneHourNS);
144
+ const result = await last(name.resolve(key.publicKey));
145
+ if (result == null) {
146
+ throw new Error('No result found');
147
+ }
148
+ expect(result.record.value).to.equal(`/ipfs/${cid}`);
149
+ expect(result.record.ttl).to.equal(oneHourNS);
144
150
  });
145
151
  });
146
152
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ipns.spec.js","sourceRoot":"","sources":["../../src/ipns.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipns.spec.js","sourceRoot":"","sources":["../../src/ipns.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helia/interop",
3
- "version": "10.2.5-6f8165b5",
3
+ "version": "10.2.5-73a28eda",
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",
@@ -52,37 +52,35 @@
52
52
  "test:electron-main": "aegir test -t electron-main"
53
53
  },
54
54
  "dependencies": {
55
- "@helia/block-brokers": "5.2.4-6f8165b5",
56
- "@helia/car": "5.4.2-6f8165b5",
57
- "@helia/dag-cbor": "5.1.1-6f8165b5",
58
- "@helia/dag-json": "5.1.1-6f8165b5",
59
- "@helia/dnslink": "1.2.1-6f8165b5",
60
- "@helia/http": "3.1.4-6f8165b5",
61
- "@helia/interface": "6.2.1-6f8165b5",
62
- "@helia/ipns": "9.2.1-6f8165b5",
63
- "@helia/json": "5.1.1-6f8165b5",
64
- "@helia/mfs": "7.1.1-6f8165b5",
65
- "@helia/routers": "5.1.1-6f8165b5",
66
- "@helia/strings": "5.1.1-6f8165b5",
67
- "@helia/unixfs": "7.2.1-6f8165b5",
55
+ "@helia/block-brokers": "5.2.4-73a28eda",
56
+ "@helia/car": "5.4.2-73a28eda",
57
+ "@helia/dag-cbor": "5.1.1-73a28eda",
58
+ "@helia/dag-json": "5.1.1-73a28eda",
59
+ "@helia/dnslink": "1.2.1-73a28eda",
60
+ "@helia/http": "3.1.4-73a28eda",
61
+ "@helia/interface": "6.2.1-73a28eda",
62
+ "@helia/ipns": "9.2.1-73a28eda",
63
+ "@helia/json": "5.1.1-73a28eda",
64
+ "@helia/mfs": "7.1.1-73a28eda",
65
+ "@helia/routers": "5.1.1-73a28eda",
66
+ "@helia/strings": "5.1.1-73a28eda",
67
+ "@helia/unixfs": "7.2.1-73a28eda",
68
68
  "@ipld/car": "^5.4.3",
69
69
  "@ipld/dag-cbor": "^10.0.0",
70
70
  "@ipld/dag-pb": "^4.1.5",
71
- "@libp2p/crypto": "^5.1.15",
72
71
  "@libp2p/floodsub": "^11.0.16",
73
72
  "@libp2p/interface": "^3.2.0",
74
73
  "@libp2p/kad-dht": "^16.2.0",
75
- "@libp2p/keychain": "^6.0.12",
74
+ "@libp2p/keychain": "^6.1.1",
76
75
  "@libp2p/peer-id": "^6.0.6",
77
76
  "@libp2p/utils": "^7.0.15",
78
77
  "@libp2p/websockets": "^10.1.8",
79
78
  "@multiformats/multiaddr": "^13.0.1",
80
79
  "@multiformats/sha3": "^4.0.0",
81
80
  "aegir": "^48.0.4",
82
- "helia": "6.1.4-6f8165b5",
81
+ "helia": "6.1.4-73a28eda",
83
82
  "ipfs-unixfs-importer": "^17.0.0",
84
83
  "ipfsd-ctl": "^17.0.0",
85
- "ipns": "^11.0.0",
86
84
  "it-all": "^3.0.11",
87
85
  "it-drain": "^3.0.12",
88
86
  "it-last": "^3.0.11",
@@ -96,8 +94,8 @@
96
94
  "wherearewe": "^2.0.1"
97
95
  },
98
96
  "browser": {
99
- "./dist/src/fixtures/create-helia.js": "./dist/src/fixtures/create-helia.browser.js",
100
- "./dist/src/fixtures/create-kubo.js": "./dist/src/fixtures/create-kubo.browser.js",
97
+ "./src/fixtures/create-helia.ts": "./src/fixtures/create-helia.browser.ts",
98
+ "./src/fixtures/create-kubo.ts": "./src/fixtures/create-kubo.browser.ts",
101
99
  "./dist/src/bin.js": "./dist/src/index.js",
102
100
  "kubo": false
103
101
  },
@@ -1,5 +1,4 @@
1
1
  import { bitswap } from '@helia/block-brokers'
2
- import { ipnsValidator, ipnsSelector } from '@helia/ipns'
3
2
  import { kadDHT, removePublicAddressesMapper } from '@libp2p/kad-dht'
4
3
  import { webSockets } from '@libp2p/websockets'
5
4
  import { sha3512 } from '@multiformats/sha3'
@@ -30,15 +29,6 @@ export async function createHeliaNode (libp2pOptions?: Libp2pOptions): Promise<H
30
29
  ...(defaults.services ?? {}),
31
30
  ...(libp2pOptions?.services ?? {}),
32
31
  dht: kadDHT({
33
- validators: {
34
- ipns: ipnsValidator
35
- },
36
- selectors: {
37
- ipns: ipnsSelector
38
- },
39
- // skips waiting for the initial self-query to find peers
40
- allowQueryWithZeroPeers: true,
41
-
42
32
  protocol: '/ipfs/lan/kad/1.0.0',
43
33
  peerInfoMapper: removePublicAddressesMapper,
44
34
  clientMode: false
@@ -53,8 +43,10 @@ export async function createHeliaNode (libp2pOptions?: Libp2pOptions): Promise<H
53
43
  delete defaults.services.autoNAT
54
44
  // @ts-expect-error services.dcutr is not optional
55
45
  delete defaults.services.dcutr
56
- // @ts-expect-error services.delegatedRouting is not optional
57
- delete defaults.services.delegatedRouting
46
+ // @ts-expect-error services.delegatedContentRouting is not optional
47
+ delete defaults.services.delegatedContentRouting
48
+ // @ts-expect-error services.delegatedPeerRouting is not optional
49
+ delete defaults.services.delegatedPeerRouting
58
50
 
59
51
  return createHelia<Libp2p<DefaultLibp2pServices>>({
60
52
  blockBrokers: [
@@ -1,5 +1,4 @@
1
1
  import { bitswap } from '@helia/block-brokers'
2
- import { ipnsValidator, ipnsSelector } from '@helia/ipns'
3
2
  import { kadDHT, removePublicAddressesMapper } from '@libp2p/kad-dht'
4
3
  import { sha3512 } from '@multiformats/sha3'
5
4
  import { createHelia, libp2pDefaults } from 'helia'
@@ -20,12 +19,6 @@ export async function createHeliaNode (libp2pOptions?: Libp2pOptions): Promise<H
20
19
  ...(defaults.services ?? {}),
21
20
  ...(libp2pOptions?.services ?? {}),
22
21
  dht: kadDHT({
23
- validators: {
24
- ipns: ipnsValidator
25
- },
26
- selectors: {
27
- ipns: ipnsSelector
28
- },
29
22
  protocol: '/ipfs/lan/kad/1.0.0',
30
23
  peerInfoMapper: removePublicAddressesMapper,
31
24
  clientMode: false
@@ -42,8 +35,10 @@ export async function createHeliaNode (libp2pOptions?: Libp2pOptions): Promise<H
42
35
  delete defaults.services.upnp
43
36
  // @ts-expect-error services.dcutr is not optional
44
37
  delete defaults.services.dcutr
45
- // @ts-expect-error services.delegatedRouting is not optional
46
- delete defaults.services.delegatedRouting
38
+ // @ts-expect-error services.delegatedContentRouting is not optional
39
+ delete defaults.services.delegatedContentRouting
40
+ // @ts-expect-error services.delegatedPeerRouting is not optional
41
+ delete defaults.services.delegatedPeerRouting
47
42
  // @ts-expect-error services.autoTLS is not optional
48
43
  delete defaults.services.autoTLS
49
44
 
@@ -2,6 +2,5 @@ import type { KeyType } from '@libp2p/interface'
2
2
 
3
3
  export const keyTypes: KeyType[] = [
4
4
  'Ed25519',
5
- 'secp256k1',
6
5
  'RSA'
7
6
  ]
@@ -1,4 +1,3 @@
1
- import { randomBytes } from '@libp2p/crypto'
2
1
  import { multiaddr } from '@multiformats/multiaddr'
3
2
  import { expect } from 'aegir/chai'
4
3
  import toBuffer from 'it-to-buffer'
@@ -35,7 +34,7 @@ describe('helia - blockstore', () => {
35
34
  })
36
35
 
37
36
  it('should be able to send a block', async () => {
38
- const input = randomBytes(10)
37
+ const input = crypto.getRandomValues(new Uint8Array(10))
39
38
  const digest = await sha256.digest(input)
40
39
  const cid = CID.createV1(raw.code, digest)
41
40
  await helia.blockstore.put(cid, input)
@@ -45,7 +44,7 @@ describe('helia - blockstore', () => {
45
44
  })
46
45
 
47
46
  it('should be able to receive a block', async () => {
48
- const input = randomBytes(10)
47
+ const input = crypto.getRandomValues(new Uint8Array(10))
49
48
  const { cid } = await kubo.api.add({ content: input }, {
50
49
  cidVersion: 1,
51
50
  rawLeaves: true
@@ -1,4 +1,3 @@
1
- import { randomBytes } from '@libp2p/crypto'
2
1
  import { contentRoutingSymbol } from '@libp2p/interface'
3
2
  import { peerIdFromString } from '@libp2p/peer-id'
4
3
  import { CODE_P2P, multiaddr } from '@multiformats/multiaddr'
@@ -62,7 +61,7 @@ describe('helia - progress events', () => {
62
61
  })
63
62
 
64
63
  it('should yield routing events', async () => {
65
- const input = randomBytes(10)
64
+ const input = crypto.getRandomValues(new Uint8Array(10))
66
65
  const { cid } = await kubo.api.add({ content: input }, {
67
66
  cidVersion: 1,
68
67
  rawLeaves: true
@@ -82,7 +81,7 @@ describe('helia - progress events', () => {
82
81
  })
83
82
 
84
83
  it('should yield block broker events', async () => {
85
- const input = randomBytes(10)
84
+ const input = crypto.getRandomValues(new Uint8Array(10))
86
85
  const { cid } = await kubo.api.add({ content: input }, {
87
86
  cidVersion: 1,
88
87
  rawLeaves: true
@@ -3,6 +3,7 @@ import { ipns } from '@helia/ipns'
3
3
  import { delegatedHTTPRouting } from '@helia/routers'
4
4
  import { peerIdFromCID } from '@libp2p/peer-id'
5
5
  import { expect } from 'aegir/chai'
6
+ import last from 'it-last'
6
7
  import { CID } from 'multiformats/cid'
7
8
  import { isNode } from 'wherearewe'
8
9
  import { createKuboNode } from './fixtures/create-kubo.ts'
@@ -62,8 +63,12 @@ describe('@helia/ipns - http', () => {
62
63
  })
63
64
 
64
65
  const key = peerIdFromCID(CID.parse(res.name))
65
- // @ts-expect-error @libp2p/peer-id needs dep updates
66
- const { cid: resolvedCid } = await name.resolve(key.toMultihash())
67
- expect(resolvedCid.toString()).to.equal(cid.toString())
66
+ const result = await last(name.resolve(key.toMultihash()))
67
+
68
+ if (result == null) {
69
+ throw new Error('No results found')
70
+ }
71
+
72
+ expect(result.record.value).to.equal(`/ipfs/${cid}`)
68
73
  })
69
74
  })
@@ -2,7 +2,6 @@
2
2
 
3
3
  import { ipns } from '@helia/ipns'
4
4
  import { pubsub } from '@helia/ipns/routing'
5
- import { generateKeyPair } from '@libp2p/crypto/keys'
6
5
  import { floodsub } from '@libp2p/floodsub'
7
6
  import { peerIdFromCID } from '@libp2p/peer-id'
8
7
  import { expect } from 'aegir/chai'
@@ -70,13 +69,12 @@ keyTypes.filter(keyType => keyType !== 'RSA').forEach(keyType => {
70
69
  const digest = await sha256.digest(input)
71
70
  const cid = CID.createV1(raw.code, digest)
72
71
 
73
- const privateKey = await generateKeyPair('Ed25519')
74
72
  const keyName = 'my-ipns-key'
75
- await helia.libp2p.services.keychain.importKey(keyName, privateKey)
73
+ const privateKey = await helia.keychain.generateKey(keyName)
76
74
 
77
75
  // first call to pubsub resolver will fail but we should trigger
78
76
  // subscribing pubsub for updates
79
- await expect(last(kubo.api.name.resolve(privateKey.publicKey.toString(), {
77
+ await expect(last(kubo.api.name.resolve(`${privateKey.publicKey}`, {
80
78
  timeout: 100
81
79
  }))).to.eventually.be.undefined()
82
80
 
@@ -137,7 +135,7 @@ keyTypes.filter(keyType => keyType !== 'RSA').forEach(keyType => {
137
135
  }
138
136
 
139
137
  // first call to pubsub resolver should fail but we should now be subscribed for updates
140
- await expect(name.resolve(peerCid.multihash)).to.eventually.be.rejected()
138
+ await expect(last(name.resolve(peerCid.multihash))).to.eventually.be.rejected()
141
139
 
142
140
  // actual pubsub subscription name
143
141
  const subscriptionName = `/record/${uint8ArrayToString(uint8ArrayConcat([
@@ -173,8 +171,7 @@ keyTypes.filter(keyType => keyType !== 'RSA').forEach(keyType => {
173
171
  // we should get an update eventually
174
172
  await waitFor(async () => {
175
173
  try {
176
- // @ts-expect-error @libp2p/peer-id needs dep updates
177
- resolveResult = await name.resolve(peerId.toMultihash())
174
+ resolveResult = await last(name.resolve(peerId.toMultihash()))
178
175
 
179
176
  return true
180
177
  } catch {
@@ -189,7 +186,7 @@ keyTypes.filter(keyType => keyType !== 'RSA').forEach(keyType => {
189
186
  throw new Error('Failed to resolve CID')
190
187
  }
191
188
 
192
- expect(resolveResult.cid.toString()).to.equal(cid.toString())
189
+ expect(resolveResult.record.value).to.equal(`/ipfs/${cid}`)
193
190
  })
194
191
  })
195
192
  })
package/src/ipns.spec.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  import { ipns } from '@helia/ipns'
2
- import { generateKeyPair, privateKeyToProtobuf } from '@libp2p/crypto/keys'
3
2
  import { peerIdFromString } from '@libp2p/peer-id'
4
3
  import { expect } from 'aegir/chai'
5
- import { multihashToIPNSRoutingKey } from 'ipns'
6
4
  import last from 'it-last'
5
+ import { base36 } from 'multiformats/bases/base36'
7
6
  import { CID } from 'multiformats/cid'
8
7
  import * as raw from 'multiformats/codecs/raw'
9
8
  import { sha256 } from 'multiformats/hashes/sha2'
9
+ import { concat as uint8ArrayConcat } from 'uint8arrays/concat'
10
+ import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
10
11
  import { isElectronMain } from 'wherearewe'
11
12
  import { connect } from './fixtures/connect.ts'
12
13
  import { createHeliaNode } from './fixtures/create-helia.ts'
@@ -14,10 +15,19 @@ import { createKuboNode } from './fixtures/create-kubo.ts'
14
15
  import { sortClosestPeers } from './fixtures/create-peer-ids.ts'
15
16
  import { keyTypes } from './fixtures/key-types.ts'
16
17
  import { waitFor } from './fixtures/wait-for.ts'
18
+ import type { PrivateKey } from '@helia/interface'
17
19
  import type { IPNS } from '@helia/ipns'
18
- import type { Libp2p, PrivateKey } from '@libp2p/interface'
20
+ import type { Libp2p } from '@libp2p/interface'
19
21
  import type { DefaultLibp2pServices, Helia } from 'helia'
20
22
  import type { KuboNode } from 'ipfsd-ctl'
23
+ import type { MultihashDigest } from 'multiformats/cid'
24
+
25
+ function multihashToIPNSRoutingKey (digest: MultihashDigest): Uint8Array<ArrayBuffer> {
26
+ return uint8ArrayConcat([
27
+ uint8ArrayFromString('/ipns/'),
28
+ digest.bytes
29
+ ])
30
+ }
21
31
 
22
32
  keyTypes.forEach(type => {
23
33
  describe(`@helia/ipns - default routing with ${type} keys`, () => {
@@ -28,7 +38,7 @@ keyTypes.forEach(type => {
28
38
  // the CID we are going to publish
29
39
  let value: CID
30
40
 
31
- // the public key we will use to publish the value
41
+ // the key we will use to publish the value
32
42
  let key: PrivateKey
33
43
 
34
44
  /**
@@ -44,18 +54,16 @@ keyTypes.forEach(type => {
44
54
  helia = await createHeliaNode()
45
55
  kubo = await createKuboNode()
46
56
 
47
- // find a PeerId that is KAD-closer to the resolver than the publisher when used as an IPNS key
57
+ // find a key that is KAD-closer to the resolver than the publisher when
58
+ // used as an IPNS key
48
59
  while (true) {
49
- if (type === 'Ed25519') {
50
- key = await generateKeyPair('Ed25519')
51
- } else if (type === 'secp256k1') {
52
- key = await generateKeyPair('secp256k1')
53
- } else {
54
- key = await generateKeyPair('RSA', 2048)
55
- }
60
+ await helia.keychain.removeKey('test-key')
61
+ key = await helia.keychain.generateKey('test-key', {
62
+ type
63
+ })
64
+ await helia.keychain.removeKey('test-key')
56
65
 
57
- // @ts-expect-error @libp2p/crypto needs dep updates
58
- const routingKey = multihashToIPNSRoutingKey(key.publicKey?.toMultihash())
66
+ const routingKey = multihashToIPNSRoutingKey(key.publicKey.toMultihash())
59
67
 
60
68
  const [closest] = await sortClosestPeers(routingKey, [
61
69
  helia.libp2p.peerId,
@@ -120,12 +128,11 @@ keyTypes.forEach(type => {
120
128
  }
121
129
  })
122
130
 
123
- it(`should publish on helia and resolve on kubo using a ${type} key`, async () => {
131
+ it('should publish on helia and resolve on kubo', async () => {
124
132
  await createNodes('kubo')
125
133
 
126
- const privateKey = await generateKeyPair('Ed25519')
127
134
  const keyName = 'my-ipns-key'
128
- await helia.libp2p.services.keychain.importKey(keyName, privateKey)
135
+ const privateKey = await helia.keychain.generateKey(keyName)
129
136
  await name.publish(keyName, value)
130
137
 
131
138
  const resolved = await last(kubo.api.name.resolve(privateKey.publicKey.toString()))
@@ -156,8 +163,7 @@ keyTypes.forEach(type => {
156
163
 
157
164
  // ensure the key is in the kubo keychain so we can use it to publish the IPNS record
158
165
  const body = new FormData()
159
- // @ts-expect-error @libp2p/crypto needs dep updates
160
- body.append('key', new Blob([privateKeyToProtobuf(key)]))
166
+ body.append('key', new Blob([key.toProtobuf()]))
161
167
 
162
168
  // can't use the kubo-rpc-api for this call yet
163
169
  const config = kubo.api.getEndpointConfig()
@@ -168,6 +174,9 @@ keyTypes.forEach(type => {
168
174
 
169
175
  expect(response).to.have.property('status', 200)
170
176
 
177
+ const json = await response.json()
178
+ expect(json.Id).to.equal(key.publicKey.toCID().toString(base36), 'did not import key correctly')
179
+
171
180
  const oneHourNS = BigInt(60 * 60 * 1e+9)
172
181
 
173
182
  await kubo.api.name.publish(cid, {
@@ -175,9 +184,14 @@ keyTypes.forEach(type => {
175
184
  ttl: '1h'
176
185
  })
177
186
 
178
- const { cid: resolvedCid, record } = await name.resolve(key.publicKey)
179
- expect(resolvedCid.toString()).to.equal(cid.toString())
180
- expect(record.ttl).to.equal(oneHourNS)
187
+ const result = await last(name.resolve(key.publicKey))
188
+
189
+ if (result == null) {
190
+ throw new Error('No result found')
191
+ }
192
+
193
+ expect(result.record.value).to.equal(`/ipfs/${cid}`)
194
+ expect(result.record.ttl).to.equal(oneHourNS)
181
195
  })
182
196
  })
183
197
  })