@helia/ipns 10.0.1 → 10.0.2-ef258e7e
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 +3 -7
- package/dist/index.min.js +16 -5
- package/dist/index.min.js.map +4 -4
- package/dist/src/errors.d.ts +0 -8
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +0 -8
- package/dist/src/errors.js.map +1 -1
- package/dist/src/index.d.ts +58 -20
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +11 -11
- package/dist/src/index.js.map +1 -1
- package/dist/src/ipns/publisher.d.ts.map +1 -1
- package/dist/src/ipns/publisher.js +27 -14
- package/dist/src/ipns/publisher.js.map +1 -1
- package/dist/src/ipns/republisher.d.ts.map +1 -1
- package/dist/src/ipns/republisher.js +22 -9
- package/dist/src/ipns/republisher.js.map +1 -1
- package/dist/src/ipns/resolver.d.ts.map +1 -1
- package/dist/src/ipns/resolver.js +39 -17
- package/dist/src/ipns/resolver.js.map +1 -1
- package/dist/src/ipns.d.ts.map +1 -1
- package/dist/src/ipns.js +8 -8
- package/dist/src/ipns.js.map +1 -1
- package/dist/src/local-store.d.ts +4 -4
- package/dist/src/local-store.d.ts.map +1 -1
- package/dist/src/local-store.js +2 -1
- package/dist/src/local-store.js.map +1 -1
- package/dist/src/pb/ipns.d.ts +29 -29
- package/dist/src/pb/ipns.d.ts.map +1 -1
- package/dist/src/pb/ipns.js +15 -15
- package/dist/src/records.d.ts +27 -142
- package/dist/src/records.d.ts.map +1 -1
- package/dist/src/records.js +39 -46
- package/dist/src/records.js.map +1 -1
- package/dist/src/routing/helia.d.ts +5 -5
- package/dist/src/routing/helia.d.ts.map +1 -1
- package/dist/src/routing/helia.js +3 -3
- package/dist/src/routing/helia.js.map +1 -1
- package/dist/src/routing/index.d.ts +7 -7
- package/dist/src/routing/index.d.ts.map +1 -1
- package/dist/src/routing/index.js +2 -2
- package/dist/src/routing/index.js.map +1 -1
- package/dist/src/routing/local-store.d.ts +1 -1
- package/dist/src/routing/local-store.d.ts.map +1 -1
- package/dist/src/routing/local-store.js +3 -3
- package/dist/src/routing/local-store.js.map +1 -1
- package/dist/src/routing/pubsub.d.ts +11 -11
- package/dist/src/routing/pubsub.d.ts.map +1 -1
- package/dist/src/routing/pubsub.js +11 -12
- package/dist/src/routing/pubsub.js.map +1 -1
- package/dist/src/selector.d.ts +2 -2
- package/dist/src/selector.d.ts.map +1 -1
- package/dist/src/selector.js +13 -9
- package/dist/src/selector.js.map +1 -1
- package/dist/src/utils.d.ts +9 -10
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +20 -128
- package/dist/src/utils.js.map +1 -1
- package/dist/src/validator.d.ts +9 -3
- package/dist/src/validator.d.ts.map +1 -1
- package/dist/src/validator.js +57 -14
- package/dist/src/validator.js.map +1 -1
- package/package.json +6 -31
- package/src/errors.ts +0 -10
- package/src/index.ts +75 -25
- package/src/ipns/publisher.ts +27 -14
- package/src/ipns/republisher.ts +31 -13
- package/src/ipns/resolver.ts +39 -21
- package/src/ipns.ts +8 -8
- package/src/local-store.ts +8 -7
- package/src/pb/ipns.proto +1 -1
- package/src/pb/ipns.ts +37 -37
- package/src/records.ts +57 -210
- package/src/routing/helia.ts +6 -6
- package/src/routing/index.ts +7 -7
- package/src/routing/local-store.ts +6 -6
- package/src/routing/pubsub.ts +24 -25
- package/src/selector.ts +14 -11
- package/src/utils.ts +25 -147
- package/src/validator.ts +73 -16
- package/dist/typedoc-urls.json +0 -50
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/ipns/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/ipns/resolver.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;
|
|
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;IAwD/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
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { CID } from 'multiformats/cid';
|
|
2
|
+
import { IPNSEntry } from "./index.js";
|
|
2
3
|
import { IPNSPublisher } from "./ipns/publisher.js";
|
|
3
4
|
import { IPNSRepublisher } from "./ipns/republisher.js";
|
|
4
5
|
import { IPNSResolver } from "./ipns/resolver.js";
|
|
5
6
|
import { localStore } from "./local-store.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
7
|
+
import { heliaIPNSRouting } from "./routing/helia.js";
|
|
8
|
+
import { localStoreIPNSRouting } from "./routing/local-store.js";
|
|
8
9
|
import { ipnsSelector } from "./selector.js";
|
|
9
|
-
import { normalizeKey, normalizeValue
|
|
10
|
+
import { normalizeKey, normalizeValue } from "./utils.js";
|
|
10
11
|
import { ipnsValidator } from "./validator.js";
|
|
11
12
|
export class IPNS {
|
|
12
13
|
routers;
|
|
@@ -21,8 +22,8 @@ export class IPNS {
|
|
|
21
22
|
this.components = components;
|
|
22
23
|
this.started = false;
|
|
23
24
|
this.routers = [
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
localStoreIPNSRouting(this.localStore),
|
|
26
|
+
heliaIPNSRouting(components.routing),
|
|
26
27
|
...(init.routers ?? [])
|
|
27
28
|
];
|
|
28
29
|
this.publisher = new IPNSPublisher(components, {
|
|
@@ -53,12 +54,11 @@ export class IPNS {
|
|
|
53
54
|
if (isKadDHT(service)) {
|
|
54
55
|
// @ ts-expect-error https://github.com/libp2p/js-libp2p/pull/3506
|
|
55
56
|
service.selectors.ipns = async (key, values) => {
|
|
56
|
-
const records =
|
|
57
|
+
const records = values.map(buf => IPNSEntry.decode(buf));
|
|
57
58
|
return ipnsSelector(key, records);
|
|
58
59
|
};
|
|
59
60
|
service.validators.ipns = async (key, value) => {
|
|
60
|
-
|
|
61
|
-
await ipnsValidator(record);
|
|
61
|
+
await ipnsValidator(key, value, this.components.keychain);
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
64
|
}
|
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,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,
|
|
1
|
+
{"version":3,"file":"ipns.js","sourceRoot":"","sources":["../../src/ipns.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { IPNSPublishMetadata } from './pb/metadata.ts';
|
|
2
|
-
import type { DatastoreProgressEvents,
|
|
2
|
+
import type { DatastoreProgressEvents, IPNSRoutingGetOptions, IPNSRoutingPutOptions } from './routing/index.ts';
|
|
3
3
|
import type { AbortOptions, Logger } from '@libp2p/interface';
|
|
4
4
|
import type { Datastore } from 'interface-datastore';
|
|
5
5
|
export interface GetResult {
|
|
6
|
-
record: Uint8Array
|
|
6
|
+
record: Uint8Array<ArrayBuffer>;
|
|
7
7
|
created: Date;
|
|
8
8
|
}
|
|
9
9
|
export interface ListResult {
|
|
@@ -23,8 +23,8 @@ export interface LocalStore {
|
|
|
23
23
|
* @param marshaledRecord - The marshaled IPNS record
|
|
24
24
|
* @param options - options for the put operation including metadata
|
|
25
25
|
*/
|
|
26
|
-
put(routingKey: Uint8Array, marshaledRecord: Uint8Array, options?:
|
|
27
|
-
get(routingKey: Uint8Array, options?:
|
|
26
|
+
put(routingKey: Uint8Array, marshaledRecord: Uint8Array, options?: IPNSRoutingPutOptions): Promise<void>;
|
|
27
|
+
get(routingKey: Uint8Array, options?: IPNSRoutingGetOptions): Promise<GetResult>;
|
|
28
28
|
has(routingKey: Uint8Array, options?: AbortOptions): Promise<boolean>;
|
|
29
29
|
delete(routingKey: Uint8Array, options?: AbortOptions): Promise<void>;
|
|
30
30
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-store.d.ts","sourceRoot":"","sources":["../../src/local-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local-store.d.ts","sourceRoot":"","sources":["../../src/local-store.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC/G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;IAC/B,OAAO,EAAE,IAAI,CAAA;CACd;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,UAAU,CAAA;IACtB,MAAM,EAAE,UAAU,CAAA;IAClB,OAAO,EAAE,IAAI,CAAA;IACb,QAAQ,CAAC,EAAE,mBAAmB,CAAA;CAC/B;AAED,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,UAAU,CAAC,CAAC,GAAG,EAAE,uBAAuB,GAAG,IAAI,CAAA;CAChD;AAED,MAAM,WAAW,UAAU;IACzB;;;;;;OAMG;IACH,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxG,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAChF,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACrE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrE;;OAEG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;CACvD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CA+GzE"}
|
package/dist/src/local-store.js
CHANGED
|
@@ -2,6 +2,7 @@ import { Record } from '@libp2p/kad-dht';
|
|
|
2
2
|
import { CustomProgressEvent } from 'progress-events';
|
|
3
3
|
import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
|
|
4
4
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
5
|
+
import { withArrayBuffer } from 'uint8arrays/with-array-buffer';
|
|
5
6
|
import { IPNSPublishMetadata } from "./pb/metadata.js";
|
|
6
7
|
import { dhtRoutingKey, DHT_RECORD_PREFIX, ipnsMetadataKey } from "./utils.js";
|
|
7
8
|
/**
|
|
@@ -53,7 +54,7 @@ export function localStore(datastore, log) {
|
|
|
53
54
|
// Unmarshal libp2p record as the DHT does
|
|
54
55
|
const record = Record.deserialize(buf);
|
|
55
56
|
return {
|
|
56
|
-
record: record.value,
|
|
57
|
+
record: withArrayBuffer(record.value),
|
|
57
58
|
created: record.timeReceived
|
|
58
59
|
};
|
|
59
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-store.js","sourceRoot":"","sources":["../../src/local-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAuC9E;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAE,SAAoB,EAAE,GAAW;IAC3D,OAAO;QACL,KAAK,CAAC,GAAG,CAAE,UAAsB,EAAE,gBAA4B,EAAE,
|
|
1
|
+
{"version":3,"file":"local-store.js","sourceRoot":"","sources":["../../src/local-store.ts"],"names":[],"mappings":"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"}
|
package/dist/src/pb/ipns.d.ts
CHANGED
|
@@ -1,62 +1,62 @@
|
|
|
1
1
|
import type { Codec, DecodeOptions } from 'protons-runtime';
|
|
2
2
|
import type { Uint8ArrayList } from 'uint8arraylist';
|
|
3
|
-
export interface
|
|
4
|
-
value?: Uint8Array
|
|
5
|
-
signatureV1?: Uint8Array
|
|
6
|
-
validityType?:
|
|
7
|
-
validity?: Uint8Array
|
|
3
|
+
export interface IPNSEntry {
|
|
4
|
+
value?: Uint8Array<ArrayBuffer>;
|
|
5
|
+
signatureV1?: Uint8Array<ArrayBuffer>;
|
|
6
|
+
validityType?: IPNSEntry.ValidityType;
|
|
7
|
+
validity?: Uint8Array<ArrayBuffer>;
|
|
8
8
|
sequence?: bigint;
|
|
9
9
|
ttl?: bigint;
|
|
10
|
-
publicKey?: Uint8Array
|
|
11
|
-
signatureV2?: Uint8Array
|
|
12
|
-
data?: Uint8Array
|
|
10
|
+
publicKey?: Uint8Array<ArrayBuffer>;
|
|
11
|
+
signatureV2?: Uint8Array<ArrayBuffer>;
|
|
12
|
+
data?: Uint8Array<ArrayBuffer>;
|
|
13
13
|
}
|
|
14
|
-
export declare namespace
|
|
14
|
+
export declare namespace IPNSEntry {
|
|
15
15
|
enum ValidityType {
|
|
16
16
|
EOL = "EOL"
|
|
17
17
|
}
|
|
18
18
|
namespace ValidityType {
|
|
19
19
|
const codec: () => Codec<ValidityType>;
|
|
20
20
|
}
|
|
21
|
-
const codec: () => Codec<
|
|
22
|
-
interface
|
|
21
|
+
const codec: () => Codec<IPNSEntry>;
|
|
22
|
+
interface IPNSEntryValueFieldEvent {
|
|
23
23
|
field: '$.value';
|
|
24
|
-
value: Uint8Array
|
|
24
|
+
value: Uint8Array<ArrayBuffer>;
|
|
25
25
|
}
|
|
26
|
-
interface
|
|
26
|
+
interface IPNSEntrySignatureV1FieldEvent {
|
|
27
27
|
field: '$.signatureV1';
|
|
28
|
-
value: Uint8Array
|
|
28
|
+
value: Uint8Array<ArrayBuffer>;
|
|
29
29
|
}
|
|
30
|
-
interface
|
|
30
|
+
interface IPNSEntryValidityTypeFieldEvent {
|
|
31
31
|
field: '$.validityType';
|
|
32
|
-
value:
|
|
32
|
+
value: IPNSEntry.ValidityType;
|
|
33
33
|
}
|
|
34
|
-
interface
|
|
34
|
+
interface IPNSEntryValidityFieldEvent {
|
|
35
35
|
field: '$.validity';
|
|
36
|
-
value: Uint8Array
|
|
36
|
+
value: Uint8Array<ArrayBuffer>;
|
|
37
37
|
}
|
|
38
|
-
interface
|
|
38
|
+
interface IPNSEntrySequenceFieldEvent {
|
|
39
39
|
field: '$.sequence';
|
|
40
40
|
value: bigint;
|
|
41
41
|
}
|
|
42
|
-
interface
|
|
42
|
+
interface IPNSEntryTtlFieldEvent {
|
|
43
43
|
field: '$.ttl';
|
|
44
44
|
value: bigint;
|
|
45
45
|
}
|
|
46
|
-
interface
|
|
46
|
+
interface IPNSEntryPublicKeyFieldEvent {
|
|
47
47
|
field: '$.publicKey';
|
|
48
|
-
value: Uint8Array
|
|
48
|
+
value: Uint8Array<ArrayBuffer>;
|
|
49
49
|
}
|
|
50
|
-
interface
|
|
50
|
+
interface IPNSEntrySignatureV2FieldEvent {
|
|
51
51
|
field: '$.signatureV2';
|
|
52
|
-
value: Uint8Array
|
|
52
|
+
value: Uint8Array<ArrayBuffer>;
|
|
53
53
|
}
|
|
54
|
-
interface
|
|
54
|
+
interface IPNSEntryDataFieldEvent {
|
|
55
55
|
field: '$.data';
|
|
56
|
-
value: Uint8Array
|
|
56
|
+
value: Uint8Array<ArrayBuffer>;
|
|
57
57
|
}
|
|
58
|
-
function encode(obj: Partial<
|
|
59
|
-
function decode(buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<
|
|
60
|
-
function stream(buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<
|
|
58
|
+
function encode(obj: Partial<IPNSEntry>): Uint8Array<ArrayBuffer>;
|
|
59
|
+
function decode(buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<IPNSEntry>): IPNSEntry;
|
|
60
|
+
function stream(buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<IPNSEntry>): Generator<IPNSEntryValueFieldEvent | IPNSEntrySignatureV1FieldEvent | IPNSEntryValidityTypeFieldEvent | IPNSEntryValidityFieldEvent | IPNSEntrySequenceFieldEvent | IPNSEntryTtlFieldEvent | IPNSEntryPublicKeyFieldEvent | IPNSEntrySignatureV2FieldEvent | IPNSEntryDataFieldEvent>;
|
|
61
61
|
}
|
|
62
62
|
//# sourceMappingURL=ipns.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipns.d.ts","sourceRoot":"","sources":["../../../src/pb/ipns.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"ipns.d.ts","sourceRoot":"","sources":["../../../src/pb/ipns.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;IAC/B,WAAW,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;IACrC,YAAY,CAAC,EAAE,SAAS,CAAC,YAAY,CAAA;IACrC,QAAQ,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;IACnC,WAAW,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;IACrC,IAAI,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;CAC/B;AAED,yBAAiB,SAAS,CAAC;IACzB,KAAY,YAAY;QACtB,GAAG,QAAQ;KACZ;IAMD,UAAiB,YAAY,CAAC;QACrB,MAAM,KAAK,QAAO,KAAK,CAAC,YAAY,CAE1C,CAAA;KACF;IAIM,MAAM,KAAK,QAAO,KAAK,CAAC,SAAS,CA4LvC,CAAA;IAED,UAAiB,wBAAwB;QACvC,KAAK,EAAE,SAAS,CAAA;QAChB,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;KAC/B;IAED,UAAiB,8BAA8B;QAC7C,KAAK,EAAE,eAAe,CAAA;QACtB,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;KAC/B;IAED,UAAiB,+BAA+B;QAC9C,KAAK,EAAE,gBAAgB,CAAA;QACvB,KAAK,EAAE,SAAS,CAAC,YAAY,CAAA;KAC9B;IAED,UAAiB,2BAA2B;QAC1C,KAAK,EAAE,YAAY,CAAA;QACnB,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;KAC/B;IAED,UAAiB,2BAA2B;QAC1C,KAAK,EAAE,YAAY,CAAA;QACnB,KAAK,EAAE,MAAM,CAAA;KACd;IAED,UAAiB,sBAAsB;QACrC,KAAK,EAAE,OAAO,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd;IAED,UAAiB,4BAA4B;QAC3C,KAAK,EAAE,aAAa,CAAA;QACpB,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;KAC/B;IAED,UAAiB,8BAA8B;QAC7C,KAAK,EAAE,eAAe,CAAA;QACtB,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;KAC/B;IAED,UAAiB,uBAAuB;QACtC,KAAK,EAAE,QAAQ,CAAA;QACf,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;KAC/B;IAED,SAAgB,MAAM,CAAE,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,CAExE;IAED,SAAgB,MAAM,CAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS,CAEpG;IAED,SAAgB,MAAM,CAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,wBAAwB,GAAG,8BAA8B,GAAG,+BAA+B,GAAG,2BAA2B,GAAG,2BAA2B,GAAG,sBAAsB,GAAG,4BAA4B,GAAG,8BAA8B,GAAG,uBAAuB,CAAC,CAEhX;CACF"}
|
package/dist/src/pb/ipns.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { decodeMessage, encodeMessage, enumeration, message, streamMessage } from 'protons-runtime';
|
|
2
|
-
export var
|
|
3
|
-
(function (
|
|
2
|
+
export var IPNSEntry;
|
|
3
|
+
(function (IPNSEntry) {
|
|
4
4
|
let ValidityType;
|
|
5
5
|
(function (ValidityType) {
|
|
6
6
|
ValidityType["EOL"] = "EOL";
|
|
7
|
-
})(ValidityType =
|
|
7
|
+
})(ValidityType = IPNSEntry.ValidityType || (IPNSEntry.ValidityType = {}));
|
|
8
8
|
let __ValidityTypeValues;
|
|
9
9
|
(function (__ValidityTypeValues) {
|
|
10
10
|
__ValidityTypeValues[__ValidityTypeValues["EOL"] = 0] = "EOL";
|
|
@@ -13,9 +13,9 @@ export var IpnsEntry;
|
|
|
13
13
|
ValidityType.codec = () => {
|
|
14
14
|
return enumeration(__ValidityTypeValues);
|
|
15
15
|
};
|
|
16
|
-
})(ValidityType =
|
|
16
|
+
})(ValidityType = IPNSEntry.ValidityType || (IPNSEntry.ValidityType = {}));
|
|
17
17
|
let _codec;
|
|
18
|
-
|
|
18
|
+
IPNSEntry.codec = () => {
|
|
19
19
|
if (_codec == null) {
|
|
20
20
|
_codec = message((obj, w, opts = {}) => {
|
|
21
21
|
if (opts.lengthDelimited !== false) {
|
|
@@ -31,7 +31,7 @@ export var IpnsEntry;
|
|
|
31
31
|
}
|
|
32
32
|
if (obj.validityType != null) {
|
|
33
33
|
w.uint32(24);
|
|
34
|
-
|
|
34
|
+
IPNSEntry.ValidityType.codec().encode(obj.validityType, w);
|
|
35
35
|
}
|
|
36
36
|
if (obj.validity != null) {
|
|
37
37
|
w.uint32(34);
|
|
@@ -75,7 +75,7 @@ export var IpnsEntry;
|
|
|
75
75
|
break;
|
|
76
76
|
}
|
|
77
77
|
case 3: {
|
|
78
|
-
obj.validityType =
|
|
78
|
+
obj.validityType = IPNSEntry.ValidityType.codec().decode(reader);
|
|
79
79
|
break;
|
|
80
80
|
}
|
|
81
81
|
case 4: {
|
|
@@ -131,7 +131,7 @@ export var IpnsEntry;
|
|
|
131
131
|
case 3: {
|
|
132
132
|
yield {
|
|
133
133
|
field: `${prefix}.validityType`,
|
|
134
|
-
value:
|
|
134
|
+
value: IPNSEntry.ValidityType.codec().decode(reader)
|
|
135
135
|
};
|
|
136
136
|
break;
|
|
137
137
|
}
|
|
@@ -188,16 +188,16 @@ export var IpnsEntry;
|
|
|
188
188
|
return _codec;
|
|
189
189
|
};
|
|
190
190
|
function encode(obj) {
|
|
191
|
-
return encodeMessage(obj,
|
|
191
|
+
return encodeMessage(obj, IPNSEntry.codec());
|
|
192
192
|
}
|
|
193
|
-
|
|
193
|
+
IPNSEntry.encode = encode;
|
|
194
194
|
function decode(buf, opts) {
|
|
195
|
-
return decodeMessage(buf,
|
|
195
|
+
return decodeMessage(buf, IPNSEntry.codec(), opts);
|
|
196
196
|
}
|
|
197
|
-
|
|
197
|
+
IPNSEntry.decode = decode;
|
|
198
198
|
function stream(buf, opts) {
|
|
199
|
-
return streamMessage(buf,
|
|
199
|
+
return streamMessage(buf, IPNSEntry.codec(), opts);
|
|
200
200
|
}
|
|
201
|
-
|
|
202
|
-
})(
|
|
201
|
+
IPNSEntry.stream = stream;
|
|
202
|
+
})(IPNSEntry || (IPNSEntry = {}));
|
|
203
203
|
//# sourceMappingURL=ipns.js.map
|
package/dist/src/records.d.ts
CHANGED
|
@@ -1,155 +1,40 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { PrivateKey
|
|
1
|
+
import { IPNSEntry } from './pb/ipns.ts';
|
|
2
|
+
import type { PrivateKey } from '@helia/interface';
|
|
3
3
|
import type { AbortOptions } from 'abort-error';
|
|
4
|
-
|
|
5
|
-
export declare const namespace = "/ipns/";
|
|
6
|
-
export declare const namespaceLength: number;
|
|
7
|
-
export interface IPNSRecordV1V2 {
|
|
4
|
+
export interface CreateIPNSRecordOptions extends AbortOptions {
|
|
8
5
|
/**
|
|
9
|
-
*
|
|
6
|
+
* By default a IPNS V1 and a V2 signature is added to every record. Pass
|
|
7
|
+
* false here to only add a V2 signature.
|
|
8
|
+
*
|
|
9
|
+
* @default true
|
|
10
10
|
*/
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* signature of the record
|
|
14
|
-
*/
|
|
15
|
-
signatureV1: Uint8Array;
|
|
16
|
-
/**
|
|
17
|
-
* Type of validation being used
|
|
18
|
-
*/
|
|
19
|
-
validityType: IpnsEntry.ValidityType;
|
|
20
|
-
/**
|
|
21
|
-
* expiration datetime for the record in RFC3339 format
|
|
22
|
-
*/
|
|
23
|
-
validity: string;
|
|
24
|
-
/**
|
|
25
|
-
* number representing the version of the record
|
|
26
|
-
*/
|
|
27
|
-
sequence: bigint;
|
|
28
|
-
/**
|
|
29
|
-
* ttl in nanoseconds
|
|
30
|
-
*/
|
|
31
|
-
ttl?: bigint;
|
|
32
|
-
/**
|
|
33
|
-
* the public portion of the key that signed this record
|
|
34
|
-
*/
|
|
35
|
-
publicKey: PublicKey;
|
|
36
|
-
/**
|
|
37
|
-
* the v2 signature of the record
|
|
38
|
-
*/
|
|
39
|
-
signatureV2: Uint8Array;
|
|
40
|
-
/**
|
|
41
|
-
* extensible data
|
|
42
|
-
*/
|
|
43
|
-
data: Uint8Array;
|
|
44
|
-
/**
|
|
45
|
-
* The marshalled record
|
|
46
|
-
*/
|
|
47
|
-
bytes: Uint8Array;
|
|
48
|
-
}
|
|
49
|
-
export interface IPNSRecordV2 {
|
|
50
|
-
/**
|
|
51
|
-
* value of the record
|
|
52
|
-
*/
|
|
53
|
-
value: string;
|
|
54
|
-
/**
|
|
55
|
-
* the v2 signature of the record
|
|
56
|
-
*/
|
|
57
|
-
signatureV2: Uint8Array;
|
|
58
|
-
/**
|
|
59
|
-
* Type of validation being used
|
|
60
|
-
*/
|
|
61
|
-
validityType: IpnsEntry.ValidityType;
|
|
62
|
-
/**
|
|
63
|
-
* If the validity type is EOL, this is the expiration datetime for the record
|
|
64
|
-
* in RFC3339 format
|
|
65
|
-
*/
|
|
66
|
-
validity: string;
|
|
67
|
-
/**
|
|
68
|
-
* number representing the version of the record
|
|
69
|
-
*/
|
|
70
|
-
sequence: bigint;
|
|
71
|
-
/**
|
|
72
|
-
* ttl in nanoseconds
|
|
73
|
-
*/
|
|
74
|
-
ttl?: bigint;
|
|
75
|
-
/**
|
|
76
|
-
* the public portion of the key that signed this record
|
|
77
|
-
*/
|
|
78
|
-
publicKey: PublicKey;
|
|
11
|
+
v1Compatible?: boolean;
|
|
79
12
|
/**
|
|
80
|
-
*
|
|
13
|
+
* The TTL of the record in ms - after this many ms have expired, resolving
|
|
14
|
+
* the record will query the routing for an updated version.
|
|
15
|
+
*
|
|
16
|
+
* Before this many ms have expired any locally stored copy will be treated as
|
|
17
|
+
* the latest version and the routing will not be queried.
|
|
18
|
+
*
|
|
19
|
+
* @default 300_000_000_000n
|
|
81
20
|
*/
|
|
82
|
-
|
|
21
|
+
ttlNs?: bigint;
|
|
83
22
|
/**
|
|
84
|
-
*
|
|
23
|
+
* Extensible data that will be added to the IPNS record data and signed to
|
|
24
|
+
* verify it's integrity.
|
|
25
|
+
*
|
|
26
|
+
* Note that this data will be encoded as DAG-CBOR so it must be valid.
|
|
85
27
|
*/
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
export type IPNSRecord = IPNSRecordV1V2 | IPNSRecordV2;
|
|
89
|
-
export interface IPNSRecordData {
|
|
90
|
-
Value: Uint8Array;
|
|
91
|
-
Validity: Uint8Array;
|
|
92
|
-
ValidityType: IpnsEntry.ValidityType;
|
|
93
|
-
Sequence: bigint;
|
|
94
|
-
TTL: bigint;
|
|
95
|
-
}
|
|
96
|
-
export interface IDKeys {
|
|
97
|
-
routingPubKey: Key;
|
|
98
|
-
pkKey: Key;
|
|
99
|
-
routingKey: Key;
|
|
100
|
-
ipnsKey: Key;
|
|
101
|
-
}
|
|
102
|
-
export interface CreateOptions extends AbortOptions {
|
|
103
|
-
ttlNs?: number | bigint;
|
|
104
|
-
v1Compatible?: boolean;
|
|
105
|
-
}
|
|
106
|
-
export interface CreateV2OrV1Options extends AbortOptions {
|
|
107
|
-
v1Compatible: true;
|
|
108
|
-
}
|
|
109
|
-
export interface CreateV2Options extends AbortOptions {
|
|
110
|
-
v1Compatible: false;
|
|
28
|
+
data?: Record<string, any>;
|
|
111
29
|
}
|
|
112
30
|
/**
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
* Note: This function does not embed the public key. If you want to do that, use `EmbedPublicKey`.
|
|
116
|
-
*
|
|
117
|
-
* The passed value can be a CID, a PublicKey or an arbitrary string path e.g. `/ipfs/...` or `/ipns/...`.
|
|
118
|
-
*
|
|
119
|
-
* CIDs will be converted to v1 and stored in the record as a string similar to: `/ipfs/${cid}`
|
|
120
|
-
* PublicKeys will create recursive records, eg. the record value will be `/ipns/${cidV1Libp2pKey}`
|
|
121
|
-
* String paths will be stored in the record as-is, but they must start with `"/"`
|
|
122
|
-
*
|
|
123
|
-
* @param {PrivateKey} privateKey - the private key for signing the record.
|
|
124
|
-
* @param {CID | PublicKey | string} value - content to be stored in the record.
|
|
125
|
-
* @param {number | bigint} seq - number representing the current version of the record.
|
|
126
|
-
* @param {number} lifetime - lifetime of the record (in milliseconds).
|
|
127
|
-
* @param {CreateOptions} options - additional create options.
|
|
128
|
-
*/
|
|
129
|
-
export declare function createIPNSRecord(privateKey: PrivateKey, value: string, seq: number | bigint, lifetime: number, options?: CreateV2OrV1Options): Promise<IPNSRecordV1V2>;
|
|
130
|
-
export declare function createIPNSRecord(privateKey: PrivateKey, value: string, seq: number | bigint, lifetime: number, options: CreateV2Options): Promise<IPNSRecordV2>;
|
|
131
|
-
export declare function createIPNSRecord(privateKey: PrivateKey, value: string, seq: number | bigint, lifetime: number, options: CreateOptions): Promise<IPNSRecordV1V2>;
|
|
132
|
-
/**
|
|
133
|
-
* Same as create(), but instead of generating a new Date, it receives the intended expiration time
|
|
134
|
-
* WARNING: nano precision is not standard, make sure the value in seconds is 9 orders of magnitude lesser than the one provided.
|
|
135
|
-
*
|
|
136
|
-
* The passed value can be a CID, a PublicKey or an arbitrary string path e.g. `/ipfs/...` or `/ipns/...`.
|
|
31
|
+
* A low-level function that creates a new IPNS record and signs it with the
|
|
32
|
+
* passed private key.
|
|
137
33
|
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
* String paths will be stored in the record as-is, but they must start with `"/"`
|
|
34
|
+
* The IPNS Record validity should follow the [RFC3339]{@link https://www.ietf.org/rfc/rfc3339.txt}
|
|
35
|
+
* with nanosecond precision.
|
|
141
36
|
*
|
|
142
|
-
*
|
|
143
|
-
* @param {CID | PublicKey | string} value - content to be stored in the record.
|
|
144
|
-
* @param {number | bigint} seq - number representing the current version of the record.
|
|
145
|
-
* @param {string} expiration - expiration datetime for record in the [RFC3339]{@link https://www.ietf.org/rfc/rfc3339.txt} with nanoseconds precision.
|
|
146
|
-
* @param {CreateOptions} options - additional creation options.
|
|
37
|
+
* The passed value should be a string path e.g. `/ipfs/...` or `/ipns/...`.
|
|
147
38
|
*/
|
|
148
|
-
export declare function
|
|
149
|
-
export declare function createIPNSRecordWithExpiration(privateKey: PrivateKey, value: string, seq: number | bigint, expiration: string, options: CreateV2Options): Promise<IPNSRecordV2>;
|
|
150
|
-
export declare function createIPNSRecordWithExpiration(privateKey: PrivateKey, value: string, seq: number | bigint, expiration: string, options: CreateOptions): Promise<IPNSRecordV1V2>;
|
|
151
|
-
export { unmarshalIPNSRecord } from './utils.ts';
|
|
152
|
-
export { marshalIPNSRecord } from './utils.ts';
|
|
153
|
-
export { multihashToIPNSRoutingKey } from './utils.ts';
|
|
154
|
-
export { multihashFromIPNSRoutingKey } from './utils.ts';
|
|
39
|
+
export declare function createIPNSRecord(privateKey: PrivateKey, val: string, seq: number | bigint, lifetime: number, options?: CreateIPNSRecordOptions): Promise<IPNSEntry>;
|
|
155
40
|
//# 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,EAAa,MAAM,kBAAkB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAK/C,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;CAC3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,SAAS,CAAC,CAgD1K"}
|