@helia/ipns 4.0.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -7
- package/dist/index.min.js +73 -26
- package/dist/src/index.d.ts +50 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +75 -6
- package/dist/src/index.js.map +1 -1
- package/dist/src/routing/helia.d.ts +20 -0
- package/dist/src/routing/helia.d.ts.map +1 -0
- package/dist/src/routing/helia.js +32 -0
- package/dist/src/routing/helia.js.map +1 -0
- package/dist/src/routing/index.d.ts +9 -3
- package/dist/src/routing/index.d.ts.map +1 -1
- package/dist/src/routing/index.js +1 -1
- package/dist/src/routing/index.js.map +1 -1
- package/dist/typedoc-urls.json +40 -40
- package/package.json +13 -14
- package/src/index.ts +79 -6
- package/src/routing/helia.ts +45 -0
- package/src/routing/index.ts +9 -4
- package/dist/src/routing/libp2p.d.ts +0 -22
- package/dist/src/routing/libp2p.d.ts.map +0 -1
- package/dist/src/routing/libp2p.js +0 -32
- package/dist/src/routing/libp2p.js.map +0 -1
- package/src/routing/libp2p.ts +0 -47
package/dist/src/index.d.ts
CHANGED
|
@@ -3,20 +3,64 @@
|
|
|
3
3
|
*
|
|
4
4
|
* IPNS operations using a Helia node
|
|
5
5
|
*
|
|
6
|
-
* @example
|
|
6
|
+
* @example Getting started
|
|
7
7
|
*
|
|
8
8
|
* With {@link IPNSRouting} routers:
|
|
9
9
|
*
|
|
10
10
|
* ```typescript
|
|
11
11
|
* import { createHelia } from 'helia'
|
|
12
12
|
* import { ipns } from '@helia/ipns'
|
|
13
|
-
* import { libp2p, pubsub } from '@helia/ipns/routing'
|
|
14
13
|
* import { unixfs } from '@helia/unixfs'
|
|
15
14
|
*
|
|
16
15
|
* const helia = await createHelia()
|
|
16
|
+
* const name = ipns(helia)
|
|
17
|
+
*
|
|
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)
|
|
21
|
+
*
|
|
22
|
+
* // store some data to publish
|
|
23
|
+
* const fs = unixfs(helia)
|
|
24
|
+
* const cid = await fs.add(Uint8Array.from([0, 1, 2, 3, 4]))
|
|
25
|
+
*
|
|
26
|
+
* // publish the name
|
|
27
|
+
* await name.publish(peerId, cid)
|
|
28
|
+
*
|
|
29
|
+
* // resolve the name
|
|
30
|
+
* const cid = name.resolve(peerId)
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @example Using custom PubSub router
|
|
34
|
+
*
|
|
35
|
+
* Additional IPNS routers can be configured - these enable alternative means to
|
|
36
|
+
* publish and resolve IPNS names.
|
|
37
|
+
*
|
|
38
|
+
* One example is the PubSub router - this requires an instance of Helia with
|
|
39
|
+
* libp2p PubSub configured.
|
|
40
|
+
*
|
|
41
|
+
* It works by subscribing to a pubsub topic for each IPNS name that we try to
|
|
42
|
+
* resolve. Updated IPNS records are shared on these topics so an update must
|
|
43
|
+
* occur before the name is resolvable.
|
|
44
|
+
*
|
|
45
|
+
* This router is only suitable for networks where IPNS updates are frequent
|
|
46
|
+
* and multiple peers are listening on the topic(s), otherwise update messages
|
|
47
|
+
* may fail to be published with "Insufficient peers" errors.
|
|
48
|
+
*
|
|
49
|
+
* ```typescript
|
|
50
|
+
* import { createHelia, libp2pDefaults } from 'helia'
|
|
51
|
+
* import { ipns } from '@helia/ipns'
|
|
52
|
+
* import { pubsub } from '@helia/ipns/routing'
|
|
53
|
+
* import { unixfs } from '@helia/unixfs'
|
|
54
|
+
* import { gossipsub } from '@chainsafe/libp2p-gossipsub'
|
|
55
|
+
*
|
|
56
|
+
* const libp2pOptions = libp2pDefaults()
|
|
57
|
+
* libp2pOptions.services.pubsub = gossipsub()
|
|
58
|
+
*
|
|
59
|
+
* const helia = await createHelia({
|
|
60
|
+
* libp2p: libp2pOptions
|
|
61
|
+
* })
|
|
17
62
|
* const name = ipns(helia, {
|
|
18
63
|
* routers: [
|
|
19
|
-
* libp2p(helia),
|
|
20
64
|
* pubsub(helia)
|
|
21
65
|
* ]
|
|
22
66
|
* })
|
|
@@ -115,6 +159,7 @@ import { ipnsValidator } from 'ipns/validator';
|
|
|
115
159
|
import { CID } from 'multiformats/cid';
|
|
116
160
|
import type { IPNSRouting, IPNSRoutingEvents } from './routing/index.js';
|
|
117
161
|
import type { DNSResponse } from './utils/dns.js';
|
|
162
|
+
import type { Routing } from '@helia/interface';
|
|
118
163
|
import type { AbortOptions, PeerId } from '@libp2p/interface';
|
|
119
164
|
import type { Datastore } from 'interface-datastore';
|
|
120
165
|
import type { IPNSRecord } from 'ipns';
|
|
@@ -203,12 +248,13 @@ export interface IPNS {
|
|
|
203
248
|
export type { IPNSRouting } from './routing/index.js';
|
|
204
249
|
export interface IPNSComponents {
|
|
205
250
|
datastore: Datastore;
|
|
251
|
+
routing: Routing;
|
|
206
252
|
}
|
|
207
253
|
export interface IPNSOptions {
|
|
208
254
|
routers?: IPNSRouting[];
|
|
209
255
|
resolvers?: DNSResolver[];
|
|
210
256
|
}
|
|
211
|
-
export declare function ipns(components: IPNSComponents, { routers, resolvers }
|
|
257
|
+
export declare function ipns(components: IPNSComponents, { routers, resolvers }?: IPNSOptions): IPNS;
|
|
212
258
|
export { ipnsValidator };
|
|
213
259
|
export { ipnsSelector } from 'ipns/selector';
|
|
214
260
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -3,20 +3,64 @@
|
|
|
3
3
|
*
|
|
4
4
|
* IPNS operations using a Helia node
|
|
5
5
|
*
|
|
6
|
-
* @example
|
|
6
|
+
* @example Getting started
|
|
7
7
|
*
|
|
8
8
|
* With {@link IPNSRouting} routers:
|
|
9
9
|
*
|
|
10
10
|
* ```typescript
|
|
11
11
|
* import { createHelia } from 'helia'
|
|
12
12
|
* import { ipns } from '@helia/ipns'
|
|
13
|
-
* import { libp2p, pubsub } from '@helia/ipns/routing'
|
|
14
13
|
* import { unixfs } from '@helia/unixfs'
|
|
15
14
|
*
|
|
16
15
|
* const helia = await createHelia()
|
|
16
|
+
* const name = ipns(helia)
|
|
17
|
+
*
|
|
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)
|
|
21
|
+
*
|
|
22
|
+
* // store some data to publish
|
|
23
|
+
* const fs = unixfs(helia)
|
|
24
|
+
* const cid = await fs.add(Uint8Array.from([0, 1, 2, 3, 4]))
|
|
25
|
+
*
|
|
26
|
+
* // publish the name
|
|
27
|
+
* await name.publish(peerId, cid)
|
|
28
|
+
*
|
|
29
|
+
* // resolve the name
|
|
30
|
+
* const cid = name.resolve(peerId)
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @example Using custom PubSub router
|
|
34
|
+
*
|
|
35
|
+
* Additional IPNS routers can be configured - these enable alternative means to
|
|
36
|
+
* publish and resolve IPNS names.
|
|
37
|
+
*
|
|
38
|
+
* One example is the PubSub router - this requires an instance of Helia with
|
|
39
|
+
* libp2p PubSub configured.
|
|
40
|
+
*
|
|
41
|
+
* It works by subscribing to a pubsub topic for each IPNS name that we try to
|
|
42
|
+
* resolve. Updated IPNS records are shared on these topics so an update must
|
|
43
|
+
* occur before the name is resolvable.
|
|
44
|
+
*
|
|
45
|
+
* This router is only suitable for networks where IPNS updates are frequent
|
|
46
|
+
* and multiple peers are listening on the topic(s), otherwise update messages
|
|
47
|
+
* may fail to be published with "Insufficient peers" errors.
|
|
48
|
+
*
|
|
49
|
+
* ```typescript
|
|
50
|
+
* import { createHelia, libp2pDefaults } from 'helia'
|
|
51
|
+
* import { ipns } from '@helia/ipns'
|
|
52
|
+
* import { pubsub } from '@helia/ipns/routing'
|
|
53
|
+
* import { unixfs } from '@helia/unixfs'
|
|
54
|
+
* import { gossipsub } from '@chainsafe/libp2p-gossipsub'
|
|
55
|
+
*
|
|
56
|
+
* const libp2pOptions = libp2pDefaults()
|
|
57
|
+
* libp2pOptions.services.pubsub = gossipsub()
|
|
58
|
+
*
|
|
59
|
+
* const helia = await createHelia({
|
|
60
|
+
* libp2p: libp2pOptions
|
|
61
|
+
* })
|
|
17
62
|
* const name = ipns(helia, {
|
|
18
63
|
* routers: [
|
|
19
|
-
* libp2p(helia),
|
|
20
64
|
* pubsub(helia)
|
|
21
65
|
* ]
|
|
22
66
|
* })
|
|
@@ -120,6 +164,7 @@ import { ipnsValidator } from 'ipns/validator';
|
|
|
120
164
|
import { CID } from 'multiformats/cid';
|
|
121
165
|
import { CustomProgressEvent } from 'progress-events';
|
|
122
166
|
import { defaultResolver } from './dns-resolvers/default.js';
|
|
167
|
+
import { helia } from './routing/helia.js';
|
|
123
168
|
import { localStore } from './routing/local-store.js';
|
|
124
169
|
const log = logger('helia:ipns');
|
|
125
170
|
const MINUTE = 60 * 1000;
|
|
@@ -132,7 +177,10 @@ class DefaultIPNS {
|
|
|
132
177
|
timeout;
|
|
133
178
|
defaultResolvers;
|
|
134
179
|
constructor(components, routers = [], resolvers = []) {
|
|
135
|
-
this.routers =
|
|
180
|
+
this.routers = [
|
|
181
|
+
helia(components.routing),
|
|
182
|
+
...routers
|
|
183
|
+
];
|
|
136
184
|
this.localStore = localStore(components.datastore);
|
|
137
185
|
this.defaultResolvers = resolvers.length > 0 ? resolvers : [defaultResolver()];
|
|
138
186
|
}
|
|
@@ -224,17 +272,38 @@ class DefaultIPNS {
|
|
|
224
272
|
];
|
|
225
273
|
}
|
|
226
274
|
const records = [];
|
|
275
|
+
let foundInvalid = 0;
|
|
227
276
|
await Promise.all(routers.map(async (router) => {
|
|
277
|
+
let record;
|
|
278
|
+
try {
|
|
279
|
+
record = await router.get(routingKey, {
|
|
280
|
+
...options,
|
|
281
|
+
validate: false
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
catch (err) {
|
|
285
|
+
if (router === this.localStore && err.code === 'ERR_NOT_FOUND') {
|
|
286
|
+
log('did not have record locally');
|
|
287
|
+
}
|
|
288
|
+
else {
|
|
289
|
+
log.error('error finding IPNS record', err);
|
|
290
|
+
}
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
228
293
|
try {
|
|
229
|
-
const record = await router.get(routingKey, options);
|
|
230
294
|
await ipnsValidator(routingKey, record);
|
|
231
295
|
records.push(record);
|
|
232
296
|
}
|
|
233
297
|
catch (err) {
|
|
298
|
+
// we found a record, but the validator rejected it
|
|
299
|
+
foundInvalid++;
|
|
234
300
|
log.error('error finding IPNS record', err);
|
|
235
301
|
}
|
|
236
302
|
}));
|
|
237
303
|
if (records.length === 0) {
|
|
304
|
+
if (foundInvalid > 0) {
|
|
305
|
+
throw new CodeError(`${foundInvalid > 1 ? `${foundInvalid} records` : 'Record'} found for routing key ${foundInvalid > 1 ? 'were' : 'was'} invalid`, 'ERR_RECORDS_FAILED_VALIDATION');
|
|
306
|
+
}
|
|
238
307
|
throw new CodeError('Could not find record for routing key', 'ERR_NOT_FOUND');
|
|
239
308
|
}
|
|
240
309
|
const record = records[ipnsSelector(routingKey, records)];
|
|
@@ -242,7 +311,7 @@ class DefaultIPNS {
|
|
|
242
311
|
return unmarshal(record);
|
|
243
312
|
}
|
|
244
313
|
}
|
|
245
|
-
export function ipns(components, { routers = [], resolvers = [] }) {
|
|
314
|
+
export function ipns(components, { routers = [], resolvers = [] } = {}) {
|
|
246
315
|
return new DefaultIPNS(components, routers, resolvers);
|
|
247
316
|
}
|
|
248
317
|
export { ipnsValidator };
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ProgressEvent } from 'progress-events';
|
|
2
|
+
import type { GetOptions, PutOptions } from './index.js';
|
|
3
|
+
import type { IPNSRouting } from '../index.js';
|
|
4
|
+
import type { Routing } from '@helia/interface';
|
|
5
|
+
export interface HeliaRoutingComponents {
|
|
6
|
+
routing: Routing;
|
|
7
|
+
}
|
|
8
|
+
export type HeliaRoutingProgressEvents = ProgressEvent<'ipns:routing:helia:error', Error>;
|
|
9
|
+
export declare class HeliaRouting implements IPNSRouting {
|
|
10
|
+
private readonly routing;
|
|
11
|
+
constructor(routing: Routing);
|
|
12
|
+
put(routingKey: Uint8Array, marshaledRecord: Uint8Array, options?: PutOptions): Promise<void>;
|
|
13
|
+
get(routingKey: Uint8Array, options?: GetOptions): Promise<Uint8Array>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The helia routing uses any available Routers configured on the passed Helia
|
|
17
|
+
* node. This could be libp2p, HTTP API Delegated Routing, etc.
|
|
18
|
+
*/
|
|
19
|
+
export declare function helia(routing: Routing): IPNSRouting;
|
|
20
|
+
//# sourceMappingURL=helia.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helia.d.ts","sourceRoot":"","sources":["../../../src/routing/helia.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE/C,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,MAAM,0BAA0B,GACpC,aAAa,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;AAElD,qBAAa,YAAa,YAAW,WAAW;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAEpB,OAAO,EAAE,OAAO;IAIvB,GAAG,CAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlG,GAAG,CAAE,UAAU,EAAE,UAAU,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,UAAU,CAAC;CASlF;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAE,OAAO,EAAE,OAAO,GAAG,WAAW,CAEpD"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { CustomProgressEvent } from 'progress-events';
|
|
2
|
+
export class HeliaRouting {
|
|
3
|
+
routing;
|
|
4
|
+
constructor(routing) {
|
|
5
|
+
this.routing = routing;
|
|
6
|
+
}
|
|
7
|
+
async put(routingKey, marshaledRecord, options = {}) {
|
|
8
|
+
try {
|
|
9
|
+
await this.routing.put(routingKey, marshaledRecord, options);
|
|
10
|
+
}
|
|
11
|
+
catch (err) {
|
|
12
|
+
options.onProgress?.(new CustomProgressEvent('ipns:routing:helia:error', err));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
async get(routingKey, options = {}) {
|
|
16
|
+
try {
|
|
17
|
+
return await this.routing.get(routingKey, options);
|
|
18
|
+
}
|
|
19
|
+
catch (err) {
|
|
20
|
+
options.onProgress?.(new CustomProgressEvent('ipns:routing:helia:error', err));
|
|
21
|
+
}
|
|
22
|
+
throw new Error('Not found');
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The helia routing uses any available Routers configured on the passed Helia
|
|
27
|
+
* node. This could be libp2p, HTTP API Delegated Routing, etc.
|
|
28
|
+
*/
|
|
29
|
+
export function helia(routing) {
|
|
30
|
+
return new HeliaRouting(routing);
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=helia.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helia.js","sourceRoot":"","sources":["../../../src/routing/helia.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAsB,MAAM,iBAAiB,CAAA;AAYzE,MAAM,OAAO,YAAY;IACN,OAAO,CAAS;IAEjC,YAAa,OAAgB;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,UAAsB,EAAE,eAA2B,EAAE,UAAsB,EAAE;QACtF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;QAC9D,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,mBAAmB,CAAQ,0BAA0B,EAAE,GAAG,CAAC,CAAC,CAAA;QACvF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,UAAsB,EAAE,UAAsB,EAAE;QACzD,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACpD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,mBAAmB,CAAQ,0BAA0B,EAAE,GAAG,CAAC,CAAC,CAAA;QACvF,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAA;IAC9B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAE,OAAgB;IACrC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAA;AAClC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { HeliaRoutingProgressEvents } from './helia.js';
|
|
2
2
|
import type { DatastoreProgressEvents } from './local-store.js';
|
|
3
3
|
import type { PubSubProgressEvents } from './pubsub.js';
|
|
4
4
|
import type { AbortOptions } from '@libp2p/interface';
|
|
@@ -6,12 +6,18 @@ import type { ProgressOptions } from 'progress-events';
|
|
|
6
6
|
export interface PutOptions extends AbortOptions, ProgressOptions {
|
|
7
7
|
}
|
|
8
8
|
export interface GetOptions extends AbortOptions, ProgressOptions {
|
|
9
|
+
/**
|
|
10
|
+
* Pass false to not perform validation actions
|
|
11
|
+
*
|
|
12
|
+
* @default true
|
|
13
|
+
*/
|
|
14
|
+
validate?: boolean;
|
|
9
15
|
}
|
|
10
16
|
export interface IPNSRouting {
|
|
11
17
|
put(routingKey: Uint8Array, marshaledRecord: Uint8Array, options?: PutOptions): Promise<void>;
|
|
12
18
|
get(routingKey: Uint8Array, options?: GetOptions): Promise<Uint8Array>;
|
|
13
19
|
}
|
|
14
|
-
export type IPNSRoutingEvents = DatastoreProgressEvents |
|
|
15
|
-
export {
|
|
20
|
+
export type IPNSRoutingEvents = DatastoreProgressEvents | HeliaRoutingProgressEvents | PubSubProgressEvents;
|
|
21
|
+
export { helia } from './helia.js';
|
|
16
22
|
export { pubsub } from './pubsub.js';
|
|
17
23
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routing/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routing/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,WAAW,UAAW,SAAQ,YAAY,EAAE,eAAe;CAEhE;AAED,MAAM,WAAW,UAAW,SAAQ,YAAY,EAAE,eAAe;IAC/D;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7F,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CACvE;AAED,MAAM,MAAM,iBAAiB,GAC3B,uBAAuB,GACvB,0BAA0B,GAC1B,oBAAoB,CAAA;AAEtB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routing/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routing/index.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/typedoc-urls.json
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
{
|
|
2
|
-
"dnsJsonOverHttps": "https://ipfs.github.io/helia
|
|
3
|
-
"dnsOverHttps": "https://ipfs.github.io/helia
|
|
4
|
-
"DNSResolver": "https://ipfs.github.io/helia
|
|
5
|
-
".:DNSResolver": "https://ipfs.github.io/helia
|
|
6
|
-
"IPNS": "https://ipfs.github.io/helia
|
|
7
|
-
".:IPNS": "https://ipfs.github.io/helia
|
|
8
|
-
"IPNSComponents": "https://ipfs.github.io/helia
|
|
9
|
-
".:IPNSComponents": "https://ipfs.github.io/helia
|
|
10
|
-
"IPNSOptions": "https://ipfs.github.io/helia
|
|
11
|
-
".:IPNSOptions": "https://ipfs.github.io/helia
|
|
12
|
-
"PublishOptions": "https://ipfs.github.io/helia
|
|
13
|
-
".:PublishOptions": "https://ipfs.github.io/helia
|
|
14
|
-
"RepublishOptions": "https://ipfs.github.io/helia
|
|
15
|
-
".:RepublishOptions": "https://ipfs.github.io/helia
|
|
16
|
-
"ResolveDNSOptions": "https://ipfs.github.io/helia
|
|
17
|
-
".:ResolveDNSOptions": "https://ipfs.github.io/helia
|
|
18
|
-
"ResolveDnsLinkOptions": "https://ipfs.github.io/helia
|
|
19
|
-
".:ResolveDnsLinkOptions": "https://ipfs.github.io/helia
|
|
20
|
-
"ResolveOptions": "https://ipfs.github.io/helia
|
|
21
|
-
".:ResolveOptions": "https://ipfs.github.io/helia
|
|
22
|
-
"PublishProgressEvents": "https://ipfs.github.io/helia
|
|
23
|
-
".:PublishProgressEvents": "https://ipfs.github.io/helia
|
|
24
|
-
"RepublishProgressEvents": "https://ipfs.github.io/helia
|
|
25
|
-
".:RepublishProgressEvents": "https://ipfs.github.io/helia
|
|
26
|
-
"ResolveDnsLinkProgressEvents": "https://ipfs.github.io/helia
|
|
27
|
-
".:ResolveDnsLinkProgressEvents": "https://ipfs.github.io/helia
|
|
28
|
-
"ResolveProgressEvents": "https://ipfs.github.io/helia
|
|
29
|
-
".:ResolveProgressEvents": "https://ipfs.github.io/helia
|
|
30
|
-
"ipns": "https://ipfs.github.io/helia
|
|
31
|
-
".:ipns": "https://ipfs.github.io/helia
|
|
32
|
-
"GetOptions": "https://ipfs.github.io/helia
|
|
33
|
-
"./routing:GetOptions": "https://ipfs.github.io/helia
|
|
34
|
-
"IPNSRouting": "https://ipfs.github.io/helia
|
|
35
|
-
"./routing:IPNSRouting": "https://ipfs.github.io/helia
|
|
36
|
-
"PutOptions": "https://ipfs.github.io/helia
|
|
37
|
-
"./routing:PutOptions": "https://ipfs.github.io/helia
|
|
38
|
-
"IPNSRoutingEvents": "https://ipfs.github.io/helia
|
|
39
|
-
"./routing:IPNSRoutingEvents": "https://ipfs.github.io/helia
|
|
40
|
-
"
|
|
41
|
-
"pubsub": "https://ipfs.github.io/helia
|
|
2
|
+
"dnsJsonOverHttps": "https://ipfs.github.io/helia/functions/_helia_ipns.dns_resolvers.dnsJsonOverHttps.html",
|
|
3
|
+
"dnsOverHttps": "https://ipfs.github.io/helia/functions/_helia_ipns.dns_resolvers.dnsOverHttps.html",
|
|
4
|
+
"DNSResolver": "https://ipfs.github.io/helia/interfaces/_helia_ipns.index.DNSResolver.html",
|
|
5
|
+
".:DNSResolver": "https://ipfs.github.io/helia/interfaces/_helia_ipns.index.DNSResolver.html",
|
|
6
|
+
"IPNS": "https://ipfs.github.io/helia/interfaces/_helia_ipns.index.IPNS.html",
|
|
7
|
+
".:IPNS": "https://ipfs.github.io/helia/interfaces/_helia_ipns.index.IPNS.html",
|
|
8
|
+
"IPNSComponents": "https://ipfs.github.io/helia/interfaces/_helia_ipns.index.IPNSComponents.html",
|
|
9
|
+
".:IPNSComponents": "https://ipfs.github.io/helia/interfaces/_helia_ipns.index.IPNSComponents.html",
|
|
10
|
+
"IPNSOptions": "https://ipfs.github.io/helia/interfaces/_helia_ipns.index.IPNSOptions.html",
|
|
11
|
+
".:IPNSOptions": "https://ipfs.github.io/helia/interfaces/_helia_ipns.index.IPNSOptions.html",
|
|
12
|
+
"PublishOptions": "https://ipfs.github.io/helia/interfaces/_helia_ipns.index.PublishOptions.html",
|
|
13
|
+
".:PublishOptions": "https://ipfs.github.io/helia/interfaces/_helia_ipns.index.PublishOptions.html",
|
|
14
|
+
"RepublishOptions": "https://ipfs.github.io/helia/interfaces/_helia_ipns.index.RepublishOptions.html",
|
|
15
|
+
".:RepublishOptions": "https://ipfs.github.io/helia/interfaces/_helia_ipns.index.RepublishOptions.html",
|
|
16
|
+
"ResolveDNSOptions": "https://ipfs.github.io/helia/interfaces/_helia_ipns.index.ResolveDNSOptions.html",
|
|
17
|
+
".:ResolveDNSOptions": "https://ipfs.github.io/helia/interfaces/_helia_ipns.index.ResolveDNSOptions.html",
|
|
18
|
+
"ResolveDnsLinkOptions": "https://ipfs.github.io/helia/interfaces/_helia_ipns.index.ResolveDnsLinkOptions.html",
|
|
19
|
+
".:ResolveDnsLinkOptions": "https://ipfs.github.io/helia/interfaces/_helia_ipns.index.ResolveDnsLinkOptions.html",
|
|
20
|
+
"ResolveOptions": "https://ipfs.github.io/helia/interfaces/_helia_ipns.index.ResolveOptions.html",
|
|
21
|
+
".:ResolveOptions": "https://ipfs.github.io/helia/interfaces/_helia_ipns.index.ResolveOptions.html",
|
|
22
|
+
"PublishProgressEvents": "https://ipfs.github.io/helia/types/_helia_ipns.index.PublishProgressEvents.html",
|
|
23
|
+
".:PublishProgressEvents": "https://ipfs.github.io/helia/types/_helia_ipns.index.PublishProgressEvents.html",
|
|
24
|
+
"RepublishProgressEvents": "https://ipfs.github.io/helia/types/_helia_ipns.index.RepublishProgressEvents.html",
|
|
25
|
+
".:RepublishProgressEvents": "https://ipfs.github.io/helia/types/_helia_ipns.index.RepublishProgressEvents.html",
|
|
26
|
+
"ResolveDnsLinkProgressEvents": "https://ipfs.github.io/helia/types/_helia_ipns.index.ResolveDnsLinkProgressEvents.html",
|
|
27
|
+
".:ResolveDnsLinkProgressEvents": "https://ipfs.github.io/helia/types/_helia_ipns.index.ResolveDnsLinkProgressEvents.html",
|
|
28
|
+
"ResolveProgressEvents": "https://ipfs.github.io/helia/types/_helia_ipns.index.ResolveProgressEvents.html",
|
|
29
|
+
".:ResolveProgressEvents": "https://ipfs.github.io/helia/types/_helia_ipns.index.ResolveProgressEvents.html",
|
|
30
|
+
"ipns": "https://ipfs.github.io/helia/functions/_helia_ipns.index.ipns-1.html",
|
|
31
|
+
".:ipns": "https://ipfs.github.io/helia/functions/_helia_ipns.index.ipns-1.html",
|
|
32
|
+
"GetOptions": "https://ipfs.github.io/helia/interfaces/_helia_ipns.routing.GetOptions.html",
|
|
33
|
+
"./routing:GetOptions": "https://ipfs.github.io/helia/interfaces/_helia_ipns.routing.GetOptions.html",
|
|
34
|
+
"IPNSRouting": "https://ipfs.github.io/helia/interfaces/_helia_ipns.routing.IPNSRouting.html",
|
|
35
|
+
"./routing:IPNSRouting": "https://ipfs.github.io/helia/interfaces/_helia_ipns.routing.IPNSRouting.html",
|
|
36
|
+
"PutOptions": "https://ipfs.github.io/helia/interfaces/_helia_ipns.routing.PutOptions.html",
|
|
37
|
+
"./routing:PutOptions": "https://ipfs.github.io/helia/interfaces/_helia_ipns.routing.PutOptions.html",
|
|
38
|
+
"IPNSRoutingEvents": "https://ipfs.github.io/helia/types/_helia_ipns.routing.IPNSRoutingEvents.html",
|
|
39
|
+
"./routing:IPNSRoutingEvents": "https://ipfs.github.io/helia/types/_helia_ipns.routing.IPNSRoutingEvents.html",
|
|
40
|
+
"helia": "https://ipfs.github.io/helia/functions/_helia_ipns.routing.helia.html",
|
|
41
|
+
"pubsub": "https://ipfs.github.io/helia/functions/_helia_ipns.routing.pubsub.html"
|
|
42
42
|
}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helia/ipns",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"description": "An implementation of IPNS for Helia",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
|
-
"homepage": "https://github.com/ipfs/helia
|
|
6
|
+
"homepage": "https://github.com/ipfs/helia/tree/main/packages/ipns#readme",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
|
-
"url": "git+https://github.com/ipfs/helia
|
|
9
|
+
"url": "git+https://github.com/ipfs/helia.git"
|
|
10
10
|
},
|
|
11
11
|
"bugs": {
|
|
12
|
-
"url": "https://github.com/ipfs/helia
|
|
12
|
+
"url": "https://github.com/ipfs/helia/issues"
|
|
13
13
|
},
|
|
14
14
|
"publishConfig": {
|
|
15
15
|
"access": "public",
|
|
@@ -153,6 +153,7 @@
|
|
|
153
153
|
"lint": "aegir lint",
|
|
154
154
|
"dep-check": "aegir dep-check",
|
|
155
155
|
"build": "aegir build",
|
|
156
|
+
"docs": "aegir docs",
|
|
156
157
|
"test": "aegir test",
|
|
157
158
|
"test:chrome": "aegir test -t browser --cov",
|
|
158
159
|
"test:chrome-webworker": "aegir test -t webworker",
|
|
@@ -163,15 +164,16 @@
|
|
|
163
164
|
"release": "aegir release"
|
|
164
165
|
},
|
|
165
166
|
"dependencies": {
|
|
167
|
+
"@helia/interface": "^4.0.0",
|
|
166
168
|
"@libp2p/interface": "^1.1.1",
|
|
167
169
|
"@libp2p/kad-dht": "^12.0.2",
|
|
168
170
|
"@libp2p/logger": "^4.0.4",
|
|
169
|
-
"@libp2p/peer-id": "^4.0.
|
|
171
|
+
"@libp2p/peer-id": "^4.0.5",
|
|
170
172
|
"dns-over-http-resolver": "^3.0.0",
|
|
171
173
|
"dns-packet": "^5.6.0",
|
|
172
174
|
"hashlru": "^2.3.0",
|
|
173
|
-
"interface-datastore": "^8.
|
|
174
|
-
"ipns": "^
|
|
175
|
+
"interface-datastore": "^8.2.9",
|
|
176
|
+
"ipns": "^9.0.0",
|
|
175
177
|
"is-ipfs": "^8.0.1",
|
|
176
178
|
"multiformats": "^13.0.0",
|
|
177
179
|
"p-queue": "^8.0.1",
|
|
@@ -179,17 +181,14 @@
|
|
|
179
181
|
"uint8arrays": "^5.0.1"
|
|
180
182
|
},
|
|
181
183
|
"devDependencies": {
|
|
182
|
-
"@libp2p/peer-id-factory": "^4.0.
|
|
184
|
+
"@libp2p/peer-id-factory": "^4.0.5",
|
|
183
185
|
"@types/dns-packet": "^5.6.4",
|
|
184
|
-
"aegir": "^42.0
|
|
185
|
-
"datastore-core": "^9.
|
|
186
|
-
"sinon": "^17.0.
|
|
186
|
+
"aegir": "^42.1.0",
|
|
187
|
+
"datastore-core": "^9.2.7",
|
|
188
|
+
"sinon": "^17.0.1",
|
|
187
189
|
"sinon-ts": "^2.0.0"
|
|
188
190
|
},
|
|
189
191
|
"browser": {
|
|
190
192
|
"./dist/src/dns-resolvers/resolver.js": "./dist/src/dns-resolvers/resolver.browser.js"
|
|
191
|
-
},
|
|
192
|
-
"typedoc": {
|
|
193
|
-
"entryPoint": "./src/index.ts"
|
|
194
193
|
}
|
|
195
194
|
}
|