@helia/ipns 10.0.7 → 10.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +5 -4
- package/dist/index.min.js.map +4 -4
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/ipns/publisher.d.ts +4 -2
- package/dist/src/ipns/publisher.d.ts.map +1 -1
- package/dist/src/ipns/publisher.js.map +1 -1
- package/dist/src/ipns.d.ts.map +1 -1
- package/dist/src/ipns.js +0 -1
- package/dist/src/ipns.js.map +1 -1
- package/dist/src/records.d.ts +11 -2
- package/dist/src/records.d.ts.map +1 -1
- package/dist/src/records.js +3 -2
- package/dist/src/records.js.map +1 -1
- package/dist/typedoc-urls.json +2 -0
- package/package.json +1 -1
- package/src/index.ts +2 -0
- package/src/ipns/publisher.ts +4 -2
- package/src/ipns.ts +0 -1
- package/src/records.ts +14 -3
package/dist/src/index.d.ts
CHANGED
|
@@ -358,4 +358,6 @@ export interface IPNSResolverOptions {
|
|
|
358
358
|
export declare function ipns(components: IPNSComponents, options?: IPNSOptions): IPNS;
|
|
359
359
|
export declare function ipnsResolver(components: IPNSResolverComponents, options?: IPNSResolverOptions): IPNSResolver;
|
|
360
360
|
export type { IPNSRoutingProgressEvents };
|
|
361
|
+
export { ipnsValidator } from './validator.ts';
|
|
362
|
+
export { ipnsSelector } from './selector.ts';
|
|
361
363
|
//# 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":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2IG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAWhE,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAE5B,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EAC1B,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,gBAAgB,EACjB,MAAM,cAAc,CAAA;AAoPrB,MAAM,UAAU,IAAI,CAAE,UAA0B,EAAE,UAAuB,EAAE;IACzE,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,YAAY,CAAE,UAAkC,EAAE,UAA+B,EAAE;IACjG,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAA;IACxG,MAAM,OAAO,GAAG;QACd,qBAAqB,CAAC,KAAK,CAAC;QAC5B,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC;QACpC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;KAC3B,CAAA;IAED,OAAO,IAAI,iBAAiB,CAAC,UAAU,EAAE;QACvC,OAAO;QACP,UAAU,EAAE,KAAK;KAClB,CAAC,CAAA;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2IG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAWhE,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAE5B,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EAC1B,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,gBAAgB,EACjB,MAAM,cAAc,CAAA;AAoPrB,MAAM,UAAU,IAAI,CAAE,UAA0B,EAAE,UAAuB,EAAE;IACzE,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,YAAY,CAAE,UAAkC,EAAE,UAA+B,EAAE;IACjG,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAA;IACxG,MAAM,OAAO,GAAG;QACd,qBAAqB,CAAC,KAAK,CAAC;QAC5B,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC;QACpC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;KAC3B,CAAA;IAED,OAAO,IAAI,iBAAiB,CAAC,UAAU,EAAE;QACvC,OAAO;QACP,UAAU,EAAE,KAAK;KAClB,CAAC,CAAA;AACJ,CAAC;AAGD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { IPNSPublishResult, PublishOptions } from '../index.ts';
|
|
2
2
|
import type { LocalStore } from '../local-store.ts';
|
|
3
3
|
import type { IPNSRouting } from '../routing/index.ts';
|
|
4
|
-
import type { Keychain } from '@helia/interface';
|
|
4
|
+
import type { Keychain, PublicKey } from '@helia/interface';
|
|
5
5
|
import type { AbortOptions, ComponentLogger } from '@libp2p/interface';
|
|
6
6
|
import type { Datastore } from 'interface-datastore';
|
|
7
|
+
import type { CID } from 'multiformats/cid';
|
|
8
|
+
import type { MultihashDigest } from 'multiformats/hashes/interface';
|
|
7
9
|
export interface IPNSPublisherComponents {
|
|
8
10
|
datastore: Datastore;
|
|
9
11
|
logger: ComponentLogger;
|
|
@@ -19,7 +21,7 @@ export declare class IPNSPublisher {
|
|
|
19
21
|
private readonly localStore;
|
|
20
22
|
private readonly keychain;
|
|
21
23
|
constructor(components: IPNSPublisherComponents, init: IPNSPublisherInit);
|
|
22
|
-
publish(keyName: string, value: string, options?: PublishOptions): Promise<IPNSPublishResult>;
|
|
24
|
+
publish(keyName: string, value: PublicKey | CID | MultihashDigest | string, options?: PublishOptions): Promise<IPNSPublishResult>;
|
|
23
25
|
unpublish(keyName: string, options?: AbortOptions): Promise<void>;
|
|
24
26
|
}
|
|
25
27
|
//# sourceMappingURL=publisher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../../src/ipns/publisher.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../../src/ipns/publisher.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAc,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,WAAW,EAAE,CAAA;CACvB;AAED,qBAAa,aAAa;;IACxB,SAAgB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;gBAEtB,UAAU,EAAE,uBAAuB,EAAE,IAAI,EAAE,iBAAiB;IAMnE,OAAO,CAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,GAAG,GAAG,eAAe,GAAG,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAyEtI,SAAS,CAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAMzE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../../src/ipns/publisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../../src/ipns/publisher.ts"],"names":[],"mappings":"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"}
|
package/dist/src/ipns.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipns.d.ts","sourceRoot":"","sources":["../../src/ipns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAWtC,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,IAAI,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9J,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAU,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,qBAAa,IAAK,YAAW,aAAa,EAAE,SAAS;IACnD,SAAgB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,OAAO,CAAS;gBAEX,UAAU,EAAE,cAAc,EAAE,IAAI,GAAE,WAAgB;
|
|
1
|
+
{"version":3,"file":"ipns.d.ts","sourceRoot":"","sources":["../../src/ipns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAWtC,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,IAAI,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9J,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAU,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,qBAAa,IAAK,YAAW,aAAa,EAAE,SAAS;IACnD,SAAgB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,OAAO,CAAS;gBAEX,UAAU,EAAE,cAAc,EAAE,IAAI,GAAE,WAAgB;IAuD/D,KAAK,IAAK,IAAI;IASd,IAAI,IAAK,IAAI;IASP,OAAO,CAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,GAAG,GAAG,eAAe,GAAG,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIpI,OAAO,CAAE,GAAG,EAAE,SAAS,GAAG,GAAG,GAAG,eAAe,GAAG,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,cAAc,CAAC,iBAAiB,CAAC;IAMhI,SAAS,CAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAGzE"}
|
package/dist/src/ipns.js
CHANGED
|
@@ -52,7 +52,6 @@ export class IPNS {
|
|
|
52
52
|
if (isLibp2p(component)) {
|
|
53
53
|
for (const service of Object.values(component.services)) {
|
|
54
54
|
if (isKadDHT(service)) {
|
|
55
|
-
// @ ts-expect-error https://github.com/libp2p/js-libp2p/pull/3506
|
|
56
55
|
service.selectors.ipns = async (key, values) => {
|
|
57
56
|
const records = values.map(buf => IPNSEntry.decode(buf));
|
|
58
57
|
return ipnsSelector(key, records);
|
package/dist/src/ipns.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipns.js","sourceRoot":"","sources":["../../src/ipns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAS9C,MAAM,OAAO,IAAI;IACC,OAAO,CAAe;IACrB,SAAS,CAAe;IACxB,WAAW,CAAiB;IAC5B,QAAQ,CAAc;IACtB,UAAU,CAAY;IACtB,UAAU,CAAgB;IACnC,OAAO,CAAS;IAExB,YAAa,UAA0B,EAAE,OAAoB,EAAE;QAC7D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAA;QAC5G,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QAEpB,IAAI,CAAC,OAAO,GAAG;YACb,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC;YACtC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC;YACpC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;SACxB,CAAA;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE;YAC7C,GAAG,IAAI;YACP,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAA;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,eAAe,CAAC,UAAU,EAAE;YACjD,GAAG,IAAI;YACP,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,UAAU,EAAE;YAC3C,GAAG,IAAI;YACP,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAA;QAEF,oCAAoC;QACpC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAClE,kCAAkC;QAClC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAEhE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QAC1B,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACxD,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;wBACtB,
|
|
1
|
+
{"version":3,"file":"ipns.js","sourceRoot":"","sources":["../../src/ipns.ts"],"names":[],"mappings":"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"}
|
package/dist/src/records.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { IPNSEntry } from './pb/ipns.ts';
|
|
2
|
-
import type { PrivateKey } from '@helia/interface';
|
|
2
|
+
import type { PrivateKey, PublicKey } from '@helia/interface';
|
|
3
3
|
import type { AbortOptions } from 'abort-error';
|
|
4
|
+
import type { CID } from 'multiformats/cid';
|
|
5
|
+
import type { MultihashDigest } from 'multiformats/hashes/interface';
|
|
4
6
|
export interface CreateIPNSRecordOptions extends AbortOptions {
|
|
5
7
|
/**
|
|
6
8
|
* By default a IPNS V1 and a V2 signature is added to every record. Pass
|
|
@@ -26,6 +28,13 @@ export interface CreateIPNSRecordOptions extends AbortOptions {
|
|
|
26
28
|
* Note that this data will be encoded as DAG-CBOR so it must be valid.
|
|
27
29
|
*/
|
|
28
30
|
data?: Record<string, any>;
|
|
31
|
+
/**
|
|
32
|
+
* When to calculate the TTL/Validity fields from. Useful for testing and
|
|
33
|
+
* investigations.
|
|
34
|
+
*
|
|
35
|
+
* @default Date.now()
|
|
36
|
+
*/
|
|
37
|
+
now?: number;
|
|
29
38
|
}
|
|
30
39
|
/**
|
|
31
40
|
* A low-level function that creates a new IPNS record and signs it with the
|
|
@@ -36,5 +45,5 @@ export interface CreateIPNSRecordOptions extends AbortOptions {
|
|
|
36
45
|
*
|
|
37
46
|
* The passed value should be a string path e.g. `/ipfs/...` or `/ipns/...`.
|
|
38
47
|
*/
|
|
39
|
-
export declare function createIPNSRecord(privateKey: PrivateKey, val: string, seq: number | bigint, lifetime: number, options?: CreateIPNSRecordOptions): Promise<IPNSEntry>;
|
|
48
|
+
export declare function createIPNSRecord(privateKey: PrivateKey, val: PublicKey | CID | MultihashDigest | string, seq: number | bigint, lifetime: number, options?: CreateIPNSRecordOptions): Promise<IPNSEntry>;
|
|
40
49
|
//# sourceMappingURL=records.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../src/records.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,KAAK,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../src/records.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAKpE,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE1B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,GAAG,GAAG,GAAG,eAAe,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,SAAS,CAAC,CAiD9M"}
|
package/dist/src/records.js
CHANGED
|
@@ -3,7 +3,7 @@ import NanoDate from 'timestamp-nano';
|
|
|
3
3
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
4
4
|
import { SignatureCreationError } from "./errors.js";
|
|
5
5
|
import { IPNSEntry } from "./pb/ipns.js";
|
|
6
|
-
import { encodeExtensibleData, IDENTITY_CODEC, ipnsRecordDataForV1Sig, ipnsRecordDataForV2Sig } from "./utils.js";
|
|
6
|
+
import { encodeExtensibleData, IDENTITY_CODEC, ipnsRecordDataForV1Sig, ipnsRecordDataForV2Sig, normalizeValue } from "./utils.js";
|
|
7
7
|
const log = logger('ipns');
|
|
8
8
|
const DEFAULT_TTL_NS = 300000000000n; // 5 Minutes or 300 Seconds, as suggested by https://specs.ipfs.tech/ipns/ipns-record/#ttl-uint64
|
|
9
9
|
/**
|
|
@@ -17,11 +17,12 @@ const DEFAULT_TTL_NS = 300000000000n; // 5 Minutes or 300 Seconds, as suggested
|
|
|
17
17
|
*/
|
|
18
18
|
export async function createIPNSRecord(privateKey, val, seq, lifetime, options) {
|
|
19
19
|
seq = BigInt(seq);
|
|
20
|
+
val = normalizeValue(val);
|
|
20
21
|
const value = uint8ArrayFromString(val);
|
|
21
22
|
// convert ttl from milliseconds to nanoseconds as createIPNSRecord expects
|
|
22
23
|
const ttlNs = options?.ttlNs ?? DEFAULT_TTL_NS;
|
|
23
24
|
// Validity in ISOString with nanoseconds precision and validity type EOL
|
|
24
|
-
const expirationDate = new NanoDate(Date.now() + Number(lifetime));
|
|
25
|
+
const expirationDate = new NanoDate((options?.now ?? Date.now()) + Number(lifetime));
|
|
25
26
|
const validityType = IPNSEntry.ValidityType.EOL;
|
|
26
27
|
const validity = uint8ArrayFromString(expirationDate.toString());
|
|
27
28
|
const data = encodeExtensibleData({
|
package/dist/src/records.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/records.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/records.ts"],"names":[],"mappings":"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"}
|
package/dist/typedoc-urls.json
CHANGED
|
@@ -60,6 +60,8 @@
|
|
|
60
60
|
".:ipns": "https://ipfs.github.io/helia/functions/_helia_ipns.ipns.html",
|
|
61
61
|
"ipnsResolver": "https://ipfs.github.io/helia/functions/_helia_ipns.ipnsResolver.html",
|
|
62
62
|
".:ipnsResolver": "https://ipfs.github.io/helia/functions/_helia_ipns.ipnsResolver.html",
|
|
63
|
+
"ipnsSelector": "https://ipfs.github.io/helia/functions/_helia_ipns.ipnsSelector.html",
|
|
64
|
+
"ipnsValidator": "https://ipfs.github.io/helia/functions/_helia_ipns.ipnsValidator.html",
|
|
63
65
|
"multihashFromIPNSRoutingKey": "https://ipfs.github.io/helia/functions/_helia_ipns.multihashFromIPNSRoutingKey.html",
|
|
64
66
|
"multihashToIPNSRoutingKey": "https://ipfs.github.io/helia/functions/_helia_ipns.multihashToIPNSRoutingKey.html",
|
|
65
67
|
"pubSubIPNSRouting": "https://ipfs.github.io/helia/functions/_helia_ipns.pubSubIPNSRouting.html"
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
package/src/ipns/publisher.ts
CHANGED
|
@@ -7,9 +7,11 @@ import { decodeExtensibleData, multihashToIPNSRoutingKey } from '../utils.ts'
|
|
|
7
7
|
import type { IPNSPublishResult, PublishOptions } from '../index.ts'
|
|
8
8
|
import type { LocalStore } from '../local-store.ts'
|
|
9
9
|
import type { IPNSRouting } from '../routing/index.ts'
|
|
10
|
-
import type { Keychain, PrivateKey } from '@helia/interface'
|
|
10
|
+
import type { Keychain, PrivateKey, PublicKey } from '@helia/interface'
|
|
11
11
|
import type { AbortOptions, ComponentLogger } from '@libp2p/interface'
|
|
12
12
|
import type { Datastore } from 'interface-datastore'
|
|
13
|
+
import type { CID } from 'multiformats/cid'
|
|
14
|
+
import type { MultihashDigest } from 'multiformats/hashes/interface'
|
|
13
15
|
|
|
14
16
|
export interface IPNSPublisherComponents {
|
|
15
17
|
datastore: Datastore
|
|
@@ -33,7 +35,7 @@ export class IPNSPublisher {
|
|
|
33
35
|
this.routers = init.routers
|
|
34
36
|
}
|
|
35
37
|
|
|
36
|
-
async publish (keyName: string, value: string, options: PublishOptions = {}): Promise<IPNSPublishResult> {
|
|
38
|
+
async publish (keyName: string, value: PublicKey | CID | MultihashDigest | string, options: PublishOptions = {}): Promise<IPNSPublishResult> {
|
|
37
39
|
try {
|
|
38
40
|
const key = await this.#loadOrCreateKey(keyName, options)
|
|
39
41
|
const digest = key.publicKey.toMultihash()
|
package/src/ipns.ts
CHANGED
|
@@ -66,7 +66,6 @@ export class IPNS implements IPNSInterface, Startable {
|
|
|
66
66
|
if (isLibp2p(component)) {
|
|
67
67
|
for (const service of Object.values(component.services)) {
|
|
68
68
|
if (isKadDHT(service)) {
|
|
69
|
-
// @ ts-expect-error https://github.com/libp2p/js-libp2p/pull/3506
|
|
70
69
|
service.selectors.ipns = async (key: Uint8Array, values: Uint8Array[]): Promise<number> => {
|
|
71
70
|
const records = values.map(buf => IPNSEntry.decode(buf))
|
|
72
71
|
|
package/src/records.ts
CHANGED
|
@@ -3,9 +3,11 @@ import NanoDate from 'timestamp-nano'
|
|
|
3
3
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
|
|
4
4
|
import { SignatureCreationError } from './errors.ts'
|
|
5
5
|
import { IPNSEntry } from './pb/ipns.ts'
|
|
6
|
-
import { encodeExtensibleData, IDENTITY_CODEC, ipnsRecordDataForV1Sig, ipnsRecordDataForV2Sig } from './utils.ts'
|
|
6
|
+
import { encodeExtensibleData, IDENTITY_CODEC, ipnsRecordDataForV1Sig, ipnsRecordDataForV2Sig, normalizeValue } from './utils.ts'
|
|
7
7
|
import type { PrivateKey, PublicKey } from '@helia/interface'
|
|
8
8
|
import type { AbortOptions } from 'abort-error'
|
|
9
|
+
import type { CID } from 'multiformats/cid'
|
|
10
|
+
import type { MultihashDigest } from 'multiformats/hashes/interface'
|
|
9
11
|
|
|
10
12
|
const log = logger('ipns')
|
|
11
13
|
const DEFAULT_TTL_NS = 300_000_000_000n // 5 Minutes or 300 Seconds, as suggested by https://specs.ipfs.tech/ipns/ipns-record/#ttl-uint64
|
|
@@ -37,6 +39,14 @@ export interface CreateIPNSRecordOptions extends AbortOptions {
|
|
|
37
39
|
* Note that this data will be encoded as DAG-CBOR so it must be valid.
|
|
38
40
|
*/
|
|
39
41
|
data?: Record<string, any>
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* When to calculate the TTL/Validity fields from. Useful for testing and
|
|
45
|
+
* investigations.
|
|
46
|
+
*
|
|
47
|
+
* @default Date.now()
|
|
48
|
+
*/
|
|
49
|
+
now?: number
|
|
40
50
|
}
|
|
41
51
|
|
|
42
52
|
/**
|
|
@@ -48,14 +58,15 @@ export interface CreateIPNSRecordOptions extends AbortOptions {
|
|
|
48
58
|
*
|
|
49
59
|
* The passed value should be a string path e.g. `/ipfs/...` or `/ipns/...`.
|
|
50
60
|
*/
|
|
51
|
-
export async function createIPNSRecord (privateKey: PrivateKey, val: string, seq: number | bigint, lifetime: number, options?: CreateIPNSRecordOptions): Promise<IPNSEntry> {
|
|
61
|
+
export async function createIPNSRecord (privateKey: PrivateKey, val: PublicKey | CID | MultihashDigest | string, seq: number | bigint, lifetime: number, options?: CreateIPNSRecordOptions): Promise<IPNSEntry> {
|
|
52
62
|
seq = BigInt(seq)
|
|
63
|
+
val = normalizeValue(val)
|
|
53
64
|
const value = uint8ArrayFromString(val)
|
|
54
65
|
// convert ttl from milliseconds to nanoseconds as createIPNSRecord expects
|
|
55
66
|
const ttlNs = options?.ttlNs ?? DEFAULT_TTL_NS
|
|
56
67
|
|
|
57
68
|
// Validity in ISOString with nanoseconds precision and validity type EOL
|
|
58
|
-
const expirationDate = new NanoDate(Date.now() + Number(lifetime))
|
|
69
|
+
const expirationDate = new NanoDate((options?.now ?? Date.now()) + Number(lifetime))
|
|
59
70
|
const validityType = IPNSEntry.ValidityType.EOL
|
|
60
71
|
const validity = uint8ArrayFromString(expirationDate.toString())
|
|
61
72
|
|