@helia/ipns 7.2.2 → 7.2.3-2f88fc8

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.
@@ -1,5 +1,5 @@
1
- import { type Logger } from '@libp2p/interface';
2
1
  import type { ResolveDNSLinkOptions } from './index.js';
2
+ import type { Logger } from '@libp2p/interface';
3
3
  import type { Answer, DNS } from '@multiformats/dns';
4
4
  export interface DNSLinkResult {
5
5
  answer: Answer;
@@ -1 +1 @@
1
- {"version":3,"file":"dnslink.d.ts","sourceRoot":"","sources":["../../src/dnslink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAI1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAIpD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AA0ID,wBAAsB,cAAc,CAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,aAAa,CAAC,CAExI"}
1
+ {"version":3,"file":"dnslink.d.ts","sourceRoot":"","sources":["../../src/dnslink.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAIpD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AA0ID,wBAAsB,cAAc,CAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,aAAa,CAAC,CAExI"}
@@ -1,7 +1,8 @@
1
- import { CodeError } from '@libp2p/interface';
1
+ import {} from '@libp2p/interface';
2
2
  import { peerIdFromString } from '@libp2p/peer-id';
3
3
  import { RecordType } from '@multiformats/dns';
4
4
  import { CID } from 'multiformats/cid';
5
+ import { DNSLinkNotFoundError } from './errors.js';
5
6
  const MAX_RECURSIVE_DEPTH = 32;
6
7
  async function recursiveResolveDnslink(domain, depth, dns, log, options = {}) {
7
8
  if (depth === 0) {
@@ -15,7 +16,7 @@ async function recursiveResolveDnslink(domain, depth, dns, log, options = {}) {
15
16
  ]
16
17
  });
17
18
  // sort the TXT records to ensure deterministic processing
18
- const txtRecords = txtRecordsResponse.Answer
19
+ const txtRecords = (txtRecordsResponse?.Answer ?? [])
19
20
  .sort((a, b) => a.data.localeCompare(b.data));
20
21
  log('found %d TXT records for %s', txtRecords.length, domain);
21
22
  for (const answer of txtRecords) {
@@ -79,7 +80,7 @@ async function recursiveResolveDnslink(domain, depth, dns, log, options = {}) {
79
80
  ]
80
81
  });
81
82
  // sort the CNAME records to ensure deterministic processing
82
- const cnameRecords = cnameRecordsResponse.Answer
83
+ const cnameRecords = (cnameRecordsResponse?.Answer ?? [])
83
84
  .sort((a, b) => a.data.localeCompare(b.data));
84
85
  log('found %d CNAME records for %s', cnameRecords.length, domain);
85
86
  for (const cname of cnameRecords) {
@@ -90,7 +91,7 @@ async function recursiveResolveDnslink(domain, depth, dns, log, options = {}) {
90
91
  log.error('domain %s cname %s had no DNSLink records', domain, cname.data, err);
91
92
  }
92
93
  }
93
- throw new CodeError(`No DNSLink records found for domain: ${domain}`, 'ERR_DNSLINK_NOT_FOUND');
94
+ throw new DNSLinkNotFoundError(`No DNSLink records found for domain: ${domain}`);
94
95
  }
95
96
  async function recursiveResolveDomain(domain, depth, dns, log, options = {}) {
96
97
  if (depth === 0) {
@@ -107,7 +108,7 @@ async function recursiveResolveDomain(domain, depth, dns, log, options = {}) {
107
108
  }
108
109
  catch (err) {
109
110
  // If the code is not ENOTFOUND or ERR_DNSLINK_NOT_FOUND or ENODATA then throw the error
110
- if (err.code !== 'ENOTFOUND' && err.code !== 'ERR_DNSLINK_NOT_FOUND' && err.code !== 'ENODATA') {
111
+ if (err.code !== 'ENOTFOUND' && err.code !== 'ENODATA' && err.name !== 'DNSLinkNotFoundError' && err.name !== 'NotFoundError') {
111
112
  throw err;
112
113
  }
113
114
  if (domain.startsWith('_dnslink.')) {
@@ -120,7 +121,7 @@ async function recursiveResolveDomain(domain, depth, dns, log, options = {}) {
120
121
  domain = `_dnslink.${domain}`;
121
122
  }
122
123
  // If this throws then we propagate the error
123
- return await recursiveResolveDnslink(domain, depth, dns, log, options);
124
+ return recursiveResolveDnslink(domain, depth, dns, log, options);
124
125
  }
125
126
  }
126
127
  export async function resolveDNSLink(domain, dns, log, options = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"dnslink.js","sourceRoot":"","sources":["../../src/dnslink.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dnslink.js","sourceRoot":"","sources":["../../src/dnslink.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ export declare class DNSLinkNotFoundError extends Error {
2
+ static name: string;
3
+ constructor(message?: string);
4
+ }
5
+ export declare class RecordsFailedValidationError extends Error {
6
+ static name: string;
7
+ constructor(message?: string);
8
+ }
9
+ export declare class UnsupportedMultibasePrefixError extends Error {
10
+ static name: string;
11
+ constructor(message?: string);
12
+ }
13
+ export declare class UnsupportedMultihashCodecError extends Error {
14
+ static name: string;
15
+ constructor(message?: string);
16
+ }
17
+ export declare class InvalidValueError extends Error {
18
+ static name: string;
19
+ constructor(message?: string);
20
+ }
21
+ export declare class InvalidTopicError extends Error {
22
+ static name: string;
23
+ constructor(message?: string);
24
+ }
25
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,MAAM,CAAC,IAAI,SAAyB;gBAEvB,OAAO,SAAsB;CAI3C;AAED,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,MAAM,CAAC,IAAI,SAAiC;gBAE/B,OAAO,SAA8B;CAInD;AAED,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,MAAM,CAAC,IAAI,SAAoC;gBAElC,OAAO,SAAiC;CAItD;AAED,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,MAAM,CAAC,IAAI,SAAmC;gBAEjC,OAAO,SAAgC;CAIrD;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,MAAM,CAAC,IAAI,SAAsB;gBAEpB,OAAO,SAAkB;CAIvC;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,MAAM,CAAC,IAAI,SAAsB;gBAEpB,OAAO,SAAkB;CAIvC"}
@@ -0,0 +1,43 @@
1
+ export class DNSLinkNotFoundError extends Error {
2
+ static name = 'DNSLinkNotFoundError';
3
+ constructor(message = 'DNSLink not found') {
4
+ super(message);
5
+ this.name = 'DNSLinkNotFoundError';
6
+ }
7
+ }
8
+ export class RecordsFailedValidationError extends Error {
9
+ static name = 'RecordsFailedValidationError';
10
+ constructor(message = 'Records failed validation') {
11
+ super(message);
12
+ this.name = 'RecordsFailedValidationError';
13
+ }
14
+ }
15
+ export class UnsupportedMultibasePrefixError extends Error {
16
+ static name = 'UnsupportedMultibasePrefixError';
17
+ constructor(message = 'Unsupported multibase prefix') {
18
+ super(message);
19
+ this.name = 'UnsupportedMultibasePrefixError';
20
+ }
21
+ }
22
+ export class UnsupportedMultihashCodecError extends Error {
23
+ static name = 'UnsupportedMultihashCodecError';
24
+ constructor(message = 'Unsupported multihash codec') {
25
+ super(message);
26
+ this.name = 'UnsupportedMultihashCodecError';
27
+ }
28
+ }
29
+ export class InvalidValueError extends Error {
30
+ static name = 'InvalidValueError';
31
+ constructor(message = 'Invalid value') {
32
+ super(message);
33
+ this.name = 'InvalidValueError';
34
+ }
35
+ }
36
+ export class InvalidTopicError extends Error {
37
+ static name = 'InvalidTopicError';
38
+ constructor(message = 'Invalid topic') {
39
+ super(message);
40
+ this.name = 'InvalidTopicError';
41
+ }
42
+ }
43
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,MAAM,CAAC,IAAI,GAAG,sBAAsB,CAAA;IAEpC,YAAa,OAAO,GAAG,mBAAmB;QACxC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAA;IACpC,CAAC;;AAGH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACrD,MAAM,CAAC,IAAI,GAAG,8BAA8B,CAAA;IAE5C,YAAa,OAAO,GAAG,2BAA2B;QAChD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAA;IAC5C,CAAC;;AAGH,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IACxD,MAAM,CAAC,IAAI,GAAG,iCAAiC,CAAA;IAE/C,YAAa,OAAO,GAAG,8BAA8B;QACnD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAA;IAC/C,CAAC;;AAGH,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IACvD,MAAM,CAAC,IAAI,GAAG,gCAAgC,CAAA;IAE9C,YAAa,OAAO,GAAG,6BAA6B;QAClD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAA;IAC9C,CAAC;;AAGH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,MAAM,CAAC,IAAI,GAAG,mBAAmB,CAAA;IAEjC,YAAa,OAAO,GAAG,eAAe;QACpC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;;AAGH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,MAAM,CAAC,IAAI,GAAG,mBAAmB,CAAA;IAEjC,YAAa,OAAO,GAAG,eAAe;QACpC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC"}
@@ -11,23 +11,23 @@
11
11
  * import { createHelia } from 'helia'
12
12
  * import { ipns } from '@helia/ipns'
13
13
  * import { unixfs } from '@helia/unixfs'
14
+ * import { generateKeyPair } from '@libp2p/crypto/keys'
14
15
  *
15
16
  * const helia = await createHelia()
16
17
  * const name = ipns(helia)
17
18
  *
18
- * // create a public key to publish as an IPNS name
19
- * const keyInfo = await helia.libp2p.services.keychain.createKey('my-key')
20
- * const peerId = await helia.libp2p.services.keychain.exportPeerId(keyInfo.name)
19
+ * // create a keypair to publish an IPNS name
20
+ * const privateKey = await generateKeyPair('Ed25519')
21
21
  *
22
22
  * // store some data to publish
23
23
  * const fs = unixfs(helia)
24
- * const cid = await fs.add(Uint8Array.from([0, 1, 2, 3, 4]))
24
+ * const cid = await fs.addBytes(Uint8Array.from([0, 1, 2, 3, 4]))
25
25
  *
26
26
  * // publish the name
27
- * await name.publish(peerId, cid)
27
+ * await name.publish(privateKey, cid)
28
28
  *
29
29
  * // resolve the name
30
- * const result = name.resolve(peerId)
30
+ * const result = await name.resolve(privateKey.publicKey)
31
31
  *
32
32
  * console.info(result.cid, result.path)
33
33
  * ```
@@ -41,30 +41,29 @@
41
41
  * import { createHelia } from 'helia'
42
42
  * import { ipns } from '@helia/ipns'
43
43
  * import { unixfs } from '@helia/unixfs'
44
+ * import { generateKeyPair } from '@libp2p/crypto/keys'
44
45
  *
45
46
  * const helia = await createHelia()
46
47
  * const name = ipns(helia)
47
48
  *
48
- * // create a public key to publish as an IPNS name
49
- * const keyInfo = await helia.libp2p.services.keychain.createKey('my-key')
50
- * const peerId = await helia.libp2p.services.keychain.exportPeerId(keyInfo.name)
49
+ * // create a keypair to publish an IPNS name
50
+ * const privateKey = await generateKeyPair('Ed25519')
51
51
  *
52
52
  * // store some data to publish
53
53
  * const fs = unixfs(helia)
54
- * const cid = await fs.add(Uint8Array.from([0, 1, 2, 3, 4]))
54
+ * const cid = await fs.addBytes(Uint8Array.from([0, 1, 2, 3, 4]))
55
55
  *
56
56
  * // publish the name
57
- * await name.publish(peerId, cid)
57
+ * await name.publish(privateKey, cid)
58
58
  *
59
- * // create another public key to re-publish the original record
60
- * const recursiveKeyInfo = await helia.libp2p.services.keychain.createKey('my-recursive-key')
61
- * const recursivePeerId = await helia.libp2p.services.keychain.exportPeerId(recursiveKeyInfo.name)
59
+ * // create another keypair to re-publish the original record
60
+ * const recursivePrivateKey = await generateKeyPair('Ed25519')
62
61
  *
63
62
  * // publish the recursive name
64
- * await name.publish(recursivePeerId, peerId)
63
+ * await name.publish(recursivePrivateKey, privateKey.publicKey)
65
64
  *
66
65
  * // resolve the name recursively - it resolves until a CID is found
67
- * const result = name.resolve(recursivePeerId)
66
+ * const result = await name.resolve(recursivePrivateKey.publicKey)
68
67
  * console.info(result.cid.toString() === cid.toString()) // true
69
68
  * ```
70
69
  *
@@ -76,27 +75,27 @@
76
75
  * import { createHelia } from 'helia'
77
76
  * import { ipns } from '@helia/ipns'
78
77
  * import { unixfs } from '@helia/unixfs'
78
+ * import { generateKeyPair } from '@libp2p/crypto/keys'
79
79
  *
80
80
  * const helia = await createHelia()
81
81
  * const name = ipns(helia)
82
82
  *
83
- * // create a public key to publish as an IPNS name
84
- * const keyInfo = await helia.libp2p.services.keychain.createKey('my-key')
85
- * const peerId = await helia.libp2p.services.keychain.exportPeerId(keyInfo.name)
83
+ * // create a keypair to publish an IPNS name
84
+ * const privateKey = await generateKeyPair('Ed25519')
86
85
  *
87
86
  * // store some data to publish
88
87
  * const fs = unixfs(helia)
89
- * const fileCid = await fs.add(Uint8Array.from([0, 1, 2, 3, 4]))
88
+ * const fileCid = await fs.addBytes(Uint8Array.from([0, 1, 2, 3, 4]))
90
89
  *
91
90
  * // store the file in a directory
92
- * const dirCid = await fs.mkdir()
91
+ * const dirCid = await fs.addDirectory()
93
92
  * const finalDirCid = await fs.cp(fileCid, dirCid, '/foo.txt')
94
93
  *
95
94
  * // publish the name
96
- * await name.publish(peerId, `/ipfs/${finalDirCid}/foo.txt)
95
+ * await name.publish(privateKey, `/ipfs/${finalDirCid}/foo.txt`)
97
96
  *
98
97
  * // resolve the name
99
- * const result = name.resolve(peerId)
98
+ * const result = await name.resolve(privateKey.publicKey)
100
99
  *
101
100
  * console.info(result.cid, result.path) // QmFoo.. 'foo.txt'
102
101
  * ```
@@ -123,11 +122,14 @@
123
122
  * import { pubsub } from '@helia/ipns/routing'
124
123
  * import { unixfs } from '@helia/unixfs'
125
124
  * import { gossipsub } from '@chainsafe/libp2p-gossipsub'
125
+ * import { generateKeyPair } from '@libp2p/crypto/keys'
126
+ * import type { Libp2p, PubSub } from '@libp2p/interface'
127
+ * import type { DefaultLibp2pServices } from 'helia'
126
128
  *
127
129
  * const libp2pOptions = libp2pDefaults()
128
130
  * libp2pOptions.services.pubsub = gossipsub()
129
131
  *
130
- * const helia = await createHelia({
132
+ * const helia = await createHelia<Libp2p<DefaultLibp2pServices & { pubsub: PubSub }>>({
131
133
  * libp2p: libp2pOptions
132
134
  * })
133
135
  * const name = ipns(helia, {
@@ -136,44 +138,50 @@
136
138
  * ]
137
139
  * })
138
140
  *
139
- * // create a public key to publish as an IPNS name
140
- * const keyInfo = await helia.libp2p.services.keychain.createKey('my-key')
141
- * const peerId = await helia.libp2p.services.keychain.exportPeerId(keyInfo.name)
141
+ * // create a keypair to publish an IPNS name
142
+ * const privateKey = await generateKeyPair('Ed25519')
142
143
  *
143
144
  * // store some data to publish
144
145
  * const fs = unixfs(helia)
145
- * const cid = await fs.add(Uint8Array.from([0, 1, 2, 3, 4]))
146
+ * const cid = await fs.addBytes(Uint8Array.from([0, 1, 2, 3, 4]))
146
147
  *
147
148
  * // publish the name
148
- * await name.publish(peerId, cid)
149
+ * await name.publish(privateKey, cid)
149
150
  *
150
151
  * // resolve the name
151
- * const { cid, path } = name.resolve(peerId)
152
+ * const result = await name.resolve(privateKey.publicKey)
152
153
  * ```
153
154
  *
154
155
  * @example Using custom DNS over HTTPS resolvers
155
156
  *
156
- * With default {@link DNSResolver} resolvers:
157
+ * To use custom resolvers, configure Helia's `dns` option:
157
158
  *
158
159
  * ```TypeScript
159
160
  * import { createHelia } from 'helia'
160
161
  * import { ipns } from '@helia/ipns'
161
- * import { unixfs } from '@helia/unixfs'
162
- * import { dnsOverHttps } from '@helia/ipns/dns-resolvers'
163
- *
164
- * const helia = await createHelia()
165
- * const name = ipns(helia, {
166
- * resolvers: [
167
- * dnsOverHttps('https://private-dns-server.me/dns-query'),
162
+ * import { dns } from '@multiformats/dns'
163
+ * import { dnsOverHttps } from '@multiformats/dns/resolvers'
164
+ * import { helia } from '@helia/ipns/routing'
165
+ *
166
+ * const node = await createHelia({
167
+ * dns: dns({
168
+ * resolvers: {
169
+ * '.': dnsOverHttps('https://private-dns-server.me/dns-query')
170
+ * }
171
+ * })
172
+ * })
173
+ * const name = ipns(node, {
174
+ * routers: [
175
+ * helia(node.routing)
168
176
  * ]
169
177
  * })
170
178
  *
171
- * const { cid, path } = name.resolveDns('some-domain-with-dnslink-entry.com')
179
+ * const result = name.resolveDNSLink('some-domain-with-dnslink-entry.com')
172
180
  * ```
173
181
  *
174
182
  * @example Resolving a domain with a dnslink entry
175
183
  *
176
- * Calling `resolveDns` with the `@helia/ipns` instance:
184
+ * Calling `resolveDNSLink` with the `@helia/ipns` instance:
177
185
  *
178
186
  * ```TypeScript
179
187
  * // resolve a CID from a TXT record in a DNS zone file, using the default
@@ -185,10 +193,16 @@
185
193
  * // ;; ANSWER SECTION:
186
194
  * // _dnslink.website.ipfs.io. 60 IN TXT "dnslink=/ipfs/QmWebsite"
187
195
  *
188
- * const { cid, path } = name.resolveDns('ipfs.io')
196
+ * import { createHelia } from 'helia'
197
+ * import { ipns } from '@helia/ipns'
198
+ *
199
+ * const node = await createHelia()
200
+ * const name = ipns(node)
189
201
  *
190
- * console.info(cid)
191
- * // QmWebsite
202
+ * const { answer } = await name.resolveDNSLink('ipfs.io')
203
+ *
204
+ * console.info(answer)
205
+ * // { data: '/ipfs/QmWebsite' }
192
206
  * ```
193
207
  *
194
208
  * @example Using DNS-Over-HTTPS
@@ -200,14 +214,21 @@
200
214
  * If this is a concern, use the DNS-JSON-Over-HTTPS resolver instead.
201
215
  *
202
216
  * ```TypeScript
203
- * // use DNS-Over-HTTPS
204
- * import { dnsOverHttps } from '@helia/ipns/dns-resolvers'
205
- *
206
- * const { cid, path } = name.resolveDns('ipfs.io', {
207
- * resolvers: [
208
- * dnsOverHttps('https://mozilla.cloudflare-dns.com/dns-query')
209
- * ]
217
+ * import { createHelia } from 'helia'
218
+ * import { ipns } from '@helia/ipns'
219
+ * import { dns } from '@multiformats/dns'
220
+ * import { dnsOverHttps } from '@multiformats/dns/resolvers'
221
+ *
222
+ * const node = await createHelia({
223
+ * dns: dns({
224
+ * resolvers: {
225
+ * '.': dnsOverHttps('https://mozilla.cloudflare-dns.com/dns-query')
226
+ * }
227
+ * })
210
228
  * })
229
+ * const name = ipns(node)
230
+ *
231
+ * const result = await name.resolveDNSLink('ipfs.io')
211
232
  * ```
212
233
  *
213
234
  * @example Using DNS-JSON-Over-HTTPS
@@ -216,24 +237,32 @@
216
237
  * result in a smaller browser bundle due to the response being plain JSON.
217
238
  *
218
239
  * ```TypeScript
219
- * // use DNS-JSON-Over-HTTPS
220
- * import { dnsJsonOverHttps } from '@helia/ipns/dns-resolvers'
221
- *
222
- * const { cid, path } = name.resolveDns('ipfs.io', {
223
- * resolvers: [
224
- * dnsJsonOverHttps('https://mozilla.cloudflare-dns.com/dns-query')
225
- * ]
240
+ * import { createHelia } from 'helia'
241
+ * import { ipns } from '@helia/ipns'
242
+ * import { dns } from '@multiformats/dns'
243
+ * import { dnsJsonOverHttps } from '@multiformats/dns/resolvers'
244
+ *
245
+ * const node = await createHelia({
246
+ * dns: dns({
247
+ * resolvers: {
248
+ * '.': dnsJsonOverHttps('https://mozilla.cloudflare-dns.com/dns-query')
249
+ * }
250
+ * })
226
251
  * })
252
+ * const name = ipns(node)
253
+ *
254
+ * const result = await name.resolveDNSLink('ipfs.io')
227
255
  * ```
228
256
  */
257
+ import { type IPNSRecord } from 'ipns';
229
258
  import { ipnsValidator } from 'ipns/validator';
230
259
  import { CID } from 'multiformats/cid';
231
260
  import type { IPNSRouting, IPNSRoutingEvents } from './routing/index.js';
232
261
  import type { Routing } from '@helia/interface';
233
- import type { AbortOptions, ComponentLogger, PeerId } from '@libp2p/interface';
262
+ import type { AbortOptions, ComponentLogger, PrivateKey, PublicKey } from '@libp2p/interface';
234
263
  import type { Answer, DNS, ResolveDnsProgressEvents } from '@multiformats/dns';
235
264
  import type { Datastore } from 'interface-datastore';
236
- import type { IPNSRecord } from 'ipns';
265
+ import type { MultihashDigest } from 'multiformats/hashes/interface';
237
266
  import type { ProgressEvent, ProgressOptions } from 'progress-events';
238
267
  export type PublishProgressEvents = ProgressEvent<'ipns:publish:start'> | ProgressEvent<'ipns:publish:success', IPNSRecord> | ProgressEvent<'ipns:publish:error', Error>;
239
268
  export type ResolveProgressEvents = ProgressEvent<'ipns:resolve:start', unknown> | ProgressEvent<'ipns:resolve:success', IPNSRecord> | ProgressEvent<'ipns:resolve:error', Error>;
@@ -328,12 +357,12 @@ export interface IPNS {
328
357
  *
329
358
  * If the value is a PeerId, a recursive IPNS record will be created.
330
359
  */
331
- publish(key: PeerId, value: CID | PeerId | string, options?: PublishOptions): Promise<IPNSRecord>;
360
+ publish(key: PrivateKey, value: CID | PublicKey | MultihashDigest<0x00 | 0x12> | string, options?: PublishOptions): Promise<IPNSRecord>;
332
361
  /**
333
362
  * Accepts a public key formatted as a libp2p PeerID and resolves the IPNS record
334
363
  * corresponding to that public key until a value is found
335
364
  */
336
- resolve(key: PeerId, options?: ResolveOptions): Promise<IPNSResolveResult>;
365
+ resolve(key: PublicKey | MultihashDigest<0x00 | 0x12>, options?: ResolveOptions): Promise<IPNSResolveResult>;
337
366
  /**
338
367
  * Resolve a CID from a dns-link style IPNS record
339
368
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}