@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
package/dist/src/records.js
CHANGED
|
@@ -2,70 +2,63 @@ import { logger } from '@libp2p/logger';
|
|
|
2
2
|
import NanoDate from 'timestamp-nano';
|
|
3
3
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
4
4
|
import { SignatureCreationError } from "./errors.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { IPNSEntry } from "./pb/ipns.js";
|
|
6
|
+
import { encodeExtensibleData, IDENTITY_CODEC, ipnsRecordDataForV1Sig, ipnsRecordDataForV2Sig } from "./utils.js";
|
|
7
7
|
const log = logger('ipns');
|
|
8
|
-
const DEFAULT_TTL_NS =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
const DEFAULT_TTL_NS = 300000000000n; // 5 Minutes or 300 Seconds, as suggested by https://specs.ipfs.tech/ipns/ipns-record/#ttl-uint64
|
|
9
|
+
/**
|
|
10
|
+
* A low-level function that creates a new IPNS record and signs it with the
|
|
11
|
+
* passed private key.
|
|
12
|
+
*
|
|
13
|
+
* The IPNS Record validity should follow the [RFC3339]{@link https://www.ietf.org/rfc/rfc3339.txt}
|
|
14
|
+
* with nanosecond precision.
|
|
15
|
+
*
|
|
16
|
+
* The passed value should be a string path e.g. `/ipfs/...` or `/ipns/...`.
|
|
17
|
+
*/
|
|
18
|
+
export async function createIPNSRecord(privateKey, val, seq, lifetime, options) {
|
|
19
|
+
seq = BigInt(seq);
|
|
20
|
+
const value = uint8ArrayFromString(val);
|
|
21
|
+
// convert ttl from milliseconds to nanoseconds as createIPNSRecord expects
|
|
22
|
+
const ttlNs = options?.ttlNs ?? DEFAULT_TTL_NS;
|
|
16
23
|
// Validity in ISOString with nanoseconds precision and validity type EOL
|
|
17
24
|
const expirationDate = new NanoDate(Date.now() + Number(lifetime));
|
|
18
|
-
const validityType =
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
seq = BigInt(seq);
|
|
30
|
-
const isoValidity = uint8ArrayFromString(validity);
|
|
31
|
-
const data = createCborData(value, validityType, isoValidity, seq, ttl);
|
|
25
|
+
const validityType = IPNSEntry.ValidityType.EOL;
|
|
26
|
+
const validity = uint8ArrayFromString(expirationDate.toString());
|
|
27
|
+
const data = encodeExtensibleData({
|
|
28
|
+
...(options?.data ?? {}),
|
|
29
|
+
Value: value,
|
|
30
|
+
Validity: validity,
|
|
31
|
+
// @ts-expect-error should be a number
|
|
32
|
+
ValidityType: 0,
|
|
33
|
+
Sequence: seq,
|
|
34
|
+
TTL: ttlNs
|
|
35
|
+
});
|
|
32
36
|
const sigData = ipnsRecordDataForV2Sig(data);
|
|
33
37
|
const signatureV2 = await privateKey.sign(sigData, options);
|
|
34
|
-
const publicKey = shouldEmbedPublicKey(privateKey.publicKey) ? privateKey.publicKey : undefined;
|
|
35
38
|
let record;
|
|
36
|
-
if (options
|
|
37
|
-
const signatureV1 = await signLegacyV1(privateKey, value, validityType, isoValidity);
|
|
39
|
+
if (options?.v1Compatible === false) {
|
|
38
40
|
record = {
|
|
39
|
-
value,
|
|
40
|
-
signatureV1,
|
|
41
|
-
validity,
|
|
42
|
-
validityType,
|
|
43
|
-
sequence: seq,
|
|
44
|
-
ttl,
|
|
45
41
|
signatureV2,
|
|
46
|
-
data
|
|
47
|
-
publicKey
|
|
42
|
+
data
|
|
48
43
|
};
|
|
49
44
|
}
|
|
50
45
|
else {
|
|
51
46
|
record = {
|
|
52
47
|
value,
|
|
53
|
-
validity,
|
|
48
|
+
signatureV1: await signLegacyV1(privateKey, value, validityType, validity),
|
|
54
49
|
validityType,
|
|
50
|
+
validity,
|
|
55
51
|
sequence: seq,
|
|
56
|
-
ttl,
|
|
52
|
+
ttl: ttlNs,
|
|
57
53
|
signatureV2,
|
|
58
|
-
data
|
|
59
|
-
publicKey
|
|
54
|
+
data
|
|
60
55
|
};
|
|
61
56
|
}
|
|
62
|
-
|
|
57
|
+
if (shouldEmbedPublicKey(privateKey.publicKey)) {
|
|
58
|
+
record.publicKey = privateKey.publicKey.toProtobuf();
|
|
59
|
+
}
|
|
63
60
|
return record;
|
|
64
|
-
}
|
|
65
|
-
export { unmarshalIPNSRecord } from "./utils.js";
|
|
66
|
-
export { marshalIPNSRecord } from "./utils.js";
|
|
67
|
-
export { multihashToIPNSRoutingKey } from "./utils.js";
|
|
68
|
-
export { multihashFromIPNSRoutingKey } from "./utils.js";
|
|
61
|
+
}
|
|
69
62
|
/**
|
|
70
63
|
* Sign ipns record data using the legacy V1 signature scheme
|
|
71
64
|
*/
|
|
@@ -83,6 +76,6 @@ const signLegacyV1 = async (privateKey, value, validityType, validity, options)
|
|
|
83
76
|
* Returns true if the public key multihash is not an identity hash
|
|
84
77
|
*/
|
|
85
78
|
function shouldEmbedPublicKey(key) {
|
|
86
|
-
return key.toMultihash().code !==
|
|
79
|
+
return key.toMultihash().code !== IDENTITY_CODEC;
|
|
87
80
|
}
|
|
88
81
|
//# sourceMappingURL=records.js.map
|
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,
|
|
1
|
+
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/records.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { IPNSRoutingGetOptions, IPNSRoutingPutOptions } from './index.ts';
|
|
2
2
|
import type { IPNSRouting } from '../index.ts';
|
|
3
3
|
import type { Routing } from '@helia/interface';
|
|
4
4
|
import type { ProgressEvent } from 'progress-events';
|
|
@@ -6,16 +6,16 @@ export interface HeliaRoutingComponents {
|
|
|
6
6
|
routing: Routing;
|
|
7
7
|
}
|
|
8
8
|
export type HeliaRoutingProgressEvents = ProgressEvent<'ipns:routing:helia:error', Error>;
|
|
9
|
-
export declare class
|
|
9
|
+
export declare class HeliaIPNSRouting implements IPNSRouting {
|
|
10
10
|
private readonly routing;
|
|
11
11
|
constructor(routing: Routing);
|
|
12
|
-
put(routingKey: Uint8Array, marshaledRecord: Uint8Array, options?:
|
|
13
|
-
get(routingKey: Uint8Array, options?:
|
|
12
|
+
put(routingKey: Uint8Array, marshaledRecord: Uint8Array, options?: IPNSRoutingPutOptions): Promise<void>;
|
|
13
|
+
get(routingKey: Uint8Array, options?: IPNSRoutingGetOptions): Promise<Uint8Array<ArrayBuffer>>;
|
|
14
14
|
toString(): string;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* The helia routing uses any available Routers configured on the passed Helia
|
|
18
18
|
* node. This could be libp2p, HTTP API Delegated Routing, etc.
|
|
19
19
|
*/
|
|
20
|
-
export declare function
|
|
20
|
+
export declare function heliaIPNSRouting(routing: Routing): IPNSRouting;
|
|
21
21
|
//# sourceMappingURL=helia.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helia.d.ts","sourceRoot":"","sources":["../../../src/routing/helia.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"helia.d.ts","sourceRoot":"","sources":["../../../src/routing/helia.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,MAAM,0BAA0B,GACpC,aAAa,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;AAElD,qBAAa,gBAAiB,YAAW,WAAW;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAEpB,OAAO,EAAE,OAAO;IAIvB,GAAG,CAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7G,GAAG,CAAE,UAAU,EAAE,UAAU,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IASzG,QAAQ,IAAK,MAAM;CAGpB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAE,OAAO,EAAE,OAAO,GAAG,WAAW,CAE/D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CustomProgressEvent } from 'progress-events';
|
|
2
|
-
export class
|
|
2
|
+
export class HeliaIPNSRouting {
|
|
3
3
|
routing;
|
|
4
4
|
constructor(routing) {
|
|
5
5
|
this.routing = routing;
|
|
@@ -30,7 +30,7 @@ export class HeliaRouting {
|
|
|
30
30
|
* The helia routing uses any available Routers configured on the passed Helia
|
|
31
31
|
* node. This could be libp2p, HTTP API Delegated Routing, etc.
|
|
32
32
|
*/
|
|
33
|
-
export function
|
|
34
|
-
return new
|
|
33
|
+
export function heliaIPNSRouting(routing) {
|
|
34
|
+
return new HeliaIPNSRouting(routing);
|
|
35
35
|
}
|
|
36
36
|
//# sourceMappingURL=helia.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helia.js","sourceRoot":"","sources":["../../../src/routing/helia.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAarD,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"helia.js","sourceRoot":"","sources":["../../../src/routing/helia.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAarD,MAAM,OAAO,gBAAgB;IACV,OAAO,CAAS;IAEjC,YAAa,OAAgB;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,UAAsB,EAAE,eAA2B,EAAE,UAAiC,EAAE;QACjG,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;YACrF,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,UAAsB,EAAE,UAAiC,EAAE;QACpE,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;YACrF,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,QAAQ;QACN,OAAO,gBAAgB,CAAA;IACzB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAE,OAAgB;IAChD,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAA;AACtC,CAAC"}
|
|
@@ -4,10 +4,10 @@ import type { PubSubProgressEvents } from './pubsub.ts';
|
|
|
4
4
|
import type { IPNSPublishMetadata } from '../pb/metadata.ts';
|
|
5
5
|
import type { AbortOptions } from '@libp2p/interface';
|
|
6
6
|
import type { ProgressOptions } from 'progress-events';
|
|
7
|
-
export interface
|
|
7
|
+
export interface IPNSRoutingPutOptions extends AbortOptions, ProgressOptions {
|
|
8
8
|
metadata?: IPNSPublishMetadata;
|
|
9
9
|
}
|
|
10
|
-
export interface
|
|
10
|
+
export interface IPNSRoutingGetOptions extends AbortOptions, ProgressOptions {
|
|
11
11
|
/**
|
|
12
12
|
* Pass false to not perform validation actions
|
|
13
13
|
*
|
|
@@ -16,14 +16,14 @@ export interface GetOptions extends AbortOptions, ProgressOptions {
|
|
|
16
16
|
validate?: boolean;
|
|
17
17
|
}
|
|
18
18
|
export interface IPNSRouting {
|
|
19
|
-
put(routingKey: Uint8Array, marshaledRecord: Uint8Array, options?:
|
|
20
|
-
get(routingKey: Uint8Array, options?:
|
|
19
|
+
put(routingKey: Uint8Array, marshaledRecord: Uint8Array, options?: IPNSRoutingPutOptions): Promise<void>;
|
|
20
|
+
get(routingKey: Uint8Array, options?: IPNSRoutingGetOptions): Promise<Uint8Array>;
|
|
21
21
|
}
|
|
22
22
|
export type { DatastoreProgressEvents };
|
|
23
23
|
export type { HeliaRoutingProgressEvents };
|
|
24
24
|
export type { PubSubProgressEvents };
|
|
25
25
|
export type IPNSRoutingProgressEvents = DatastoreProgressEvents | HeliaRoutingProgressEvents | PubSubProgressEvents;
|
|
26
|
-
export {
|
|
27
|
-
export {
|
|
28
|
-
export type { PubsubRoutingComponents, PubSub,
|
|
26
|
+
export { heliaIPNSRouting } from './helia.ts';
|
|
27
|
+
export { pubSubIPNSRouting } from './pubsub.ts';
|
|
28
|
+
export type { PubsubRoutingComponents, PubSub, PubSubMessage, PublishResult, PubSubEvents, PubSubSubscription, PubSubSubscriptionChangeData } from './pubsub.ts';
|
|
29
29
|
//# 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,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,WAAW,
|
|
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,aAAa,CAAA;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,WAAW,qBAAsB,SAAQ,YAAY,EAAE,eAAe;IAC1E,QAAQ,CAAC,EAAE,mBAAmB,CAAA;CAC/B;AAED,MAAM,WAAW,qBAAsB,SAAQ,YAAY,EAAE,eAAe;IAC1E;;;;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,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxG,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CAClF;AAED,YAAY,EAAE,uBAAuB,EAAE,CAAA;AACvC,YAAY,EAAE,0BAA0B,EAAE,CAAA;AAC1C,YAAY,EAAE,oBAAoB,EAAE,CAAA;AAEpC,MAAM,MAAM,yBAAyB,GACnC,uBAAuB,GACvB,0BAA0B,GAC1B,oBAAoB,CAAA;AAEtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,YAAY,EAAE,uBAAuB,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
1
|
+
export { heliaIPNSRouting } from "./helia.js";
|
|
2
|
+
export { pubSubIPNSRouting } from "./pubsub.js";
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routing/index.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routing/index.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -3,5 +3,5 @@ import type { IPNSRouting } from './index.ts';
|
|
|
3
3
|
/**
|
|
4
4
|
* Returns an IPNSRouting implementation that reads/writes to the local store
|
|
5
5
|
*/
|
|
6
|
-
export declare function
|
|
6
|
+
export declare function localStoreIPNSRouting(localStore: LocalStore): IPNSRouting;
|
|
7
7
|
//# sourceMappingURL=local-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-store.d.ts","sourceRoot":"","sources":["../../../src/routing/local-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"local-store.d.ts","sourceRoot":"","sources":["../../../src/routing/local-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAgD,MAAM,YAAY,CAAA;AAwB3F;;GAEG;AACH,wBAAgB,qBAAqB,CAAE,UAAU,EAAE,UAAU,GAAG,WAAW,CAE1E"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
class
|
|
1
|
+
class LocalStoreIPNSRouting {
|
|
2
2
|
localStore;
|
|
3
3
|
constructor(localStore) {
|
|
4
4
|
this.localStore = localStore;
|
|
@@ -17,7 +17,7 @@ class LocalStoreRouting {
|
|
|
17
17
|
/**
|
|
18
18
|
* Returns an IPNSRouting implementation that reads/writes to the local store
|
|
19
19
|
*/
|
|
20
|
-
export function
|
|
21
|
-
return new
|
|
20
|
+
export function localStoreIPNSRouting(localStore) {
|
|
21
|
+
return new LocalStoreIPNSRouting(localStore);
|
|
22
22
|
}
|
|
23
23
|
//# sourceMappingURL=local-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-store.js","sourceRoot":"","sources":["../../../src/routing/local-store.ts"],"names":[],"mappings":"AAGA,MAAM,
|
|
1
|
+
{"version":3,"file":"local-store.js","sourceRoot":"","sources":["../../../src/routing/local-store.ts"],"names":[],"mappings":"AAGA,MAAM,qBAAqB;IACjB,UAAU,CAAY;IAE9B,YAAa,UAAsB;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,UAAsB,EAAE,eAA2B,EAAE,OAA+B;QAC7F,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;IACjE,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,UAAsB,EAAE,OAA+B;QAChE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAEjE,OAAO,MAAM,CAAA;IACf,CAAC;IAED,QAAQ;QACN,OAAO,qBAAqB,CAAA;IAC9B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAE,UAAsB;IAC3D,OAAO,IAAI,qBAAqB,CAAC,UAAU,CAAC,CAAA;AAC9C,CAAC"}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { IPNSRoutingGetOptions, IPNSRouting, IPNSRoutingPutOptions } from './index.ts';
|
|
2
2
|
import type { Keychain } from '@helia/interface';
|
|
3
3
|
import type { Fetch } from '@libp2p/fetch';
|
|
4
4
|
import type { PeerId, PublicKey, TypedEventTarget, ComponentLogger, Startable, Metrics, Libp2p } from '@libp2p/interface';
|
|
5
5
|
import type { Datastore } from 'interface-datastore';
|
|
6
6
|
import type { MultihashDigest } from 'multiformats/hashes/interface';
|
|
7
7
|
import type { ProgressEvent } from 'progress-events';
|
|
8
|
-
export interface
|
|
8
|
+
export interface PubSubMessage {
|
|
9
9
|
type: 'signed' | 'unsigned';
|
|
10
10
|
from: PeerId;
|
|
11
11
|
topic: string;
|
|
12
12
|
data: Uint8Array;
|
|
13
13
|
}
|
|
14
|
-
export interface
|
|
14
|
+
export interface PubSubSubscription {
|
|
15
15
|
topic: string;
|
|
16
16
|
subscribe: boolean;
|
|
17
17
|
}
|
|
18
|
-
export interface
|
|
18
|
+
export interface PubSubSubscriptionChangeData {
|
|
19
19
|
peerId: PeerId;
|
|
20
|
-
subscriptions:
|
|
20
|
+
subscriptions: PubSubSubscription[];
|
|
21
21
|
}
|
|
22
22
|
export interface PubSubEvents {
|
|
23
|
-
'subscription-change': CustomEvent<
|
|
24
|
-
message: CustomEvent<
|
|
23
|
+
'subscription-change': CustomEvent<PubSubSubscriptionChangeData>;
|
|
24
|
+
message: CustomEvent<PubSubMessage>;
|
|
25
25
|
}
|
|
26
26
|
export interface PublishResult {
|
|
27
27
|
recipients: PeerId[];
|
|
@@ -69,7 +69,7 @@ export type PubSubProgressEvents = ProgressEvent<'ipns:pubsub:publish', {
|
|
|
69
69
|
}> | ProgressEvent<'ipns:pubsub:subscribe', {
|
|
70
70
|
topic: string;
|
|
71
71
|
}> | ProgressEvent<'ipns:pubsub:error', Error>;
|
|
72
|
-
export declare class
|
|
72
|
+
export declare class PubSubIPNSRouting implements IPNSRouting, Startable {
|
|
73
73
|
#private;
|
|
74
74
|
private readonly subscriptions;
|
|
75
75
|
private readonly localStore;
|
|
@@ -86,13 +86,13 @@ export declare class PubSubRouting implements IPNSRouting, Startable {
|
|
|
86
86
|
/**
|
|
87
87
|
* Put a value to the pubsub datastore indexed by the received key properly encoded
|
|
88
88
|
*/
|
|
89
|
-
put(routingKey: Uint8Array, marshaledRecord: Uint8Array, options?:
|
|
89
|
+
put(routingKey: Uint8Array, marshaledRecord: Uint8Array, options?: IPNSRoutingPutOptions): Promise<void>;
|
|
90
90
|
/**
|
|
91
91
|
* Get a value from the pubsub datastore indexed by the received key properly encoded.
|
|
92
92
|
* Also, the identifier topic is subscribed to and the pubsub datastore records will be
|
|
93
93
|
* updated once new publishes occur
|
|
94
94
|
*/
|
|
95
|
-
get(routingKey: Uint8Array, options?:
|
|
95
|
+
get(routingKey: Uint8Array, options?: IPNSRoutingGetOptions): Promise<Uint8Array<ArrayBuffer>>;
|
|
96
96
|
/**
|
|
97
97
|
* Get pubsub subscriptions related to ipns
|
|
98
98
|
*/
|
|
@@ -113,5 +113,5 @@ export declare class PubSubRouting implements IPNSRouting, Startable {
|
|
|
113
113
|
* updated records, so the first call to `.get` should be expected
|
|
114
114
|
* to fail!
|
|
115
115
|
*/
|
|
116
|
-
export declare function
|
|
116
|
+
export declare function pubSubIPNSRouting(components: PubsubRoutingComponents, init?: PubsubRoutingInit): IPNSRouting;
|
|
117
117
|
//# sourceMappingURL=pubsub.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pubsub.d.ts","sourceRoot":"","sources":["../../../src/routing/pubsub.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"pubsub.d.ts","sourceRoot":"","sources":["../../../src/routing/pubsub.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,14 +9,14 @@ import { raceSignal } from 'race-signal';
|
|
|
9
9
|
import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
|
|
10
10
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
11
11
|
import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
|
|
12
|
+
import { withArrayBuffer } from 'uint8arrays/with-array-buffer';
|
|
12
13
|
import { InvalidTopicError } from "../errors.js";
|
|
13
14
|
import { localStore } from "../local-store.js";
|
|
14
|
-
import { multihashToIPNSRoutingKey } from "../records.js";
|
|
15
15
|
import { ipnsSelector } from "../selector.js";
|
|
16
|
-
import { IPNS_STRING_PREFIX,
|
|
16
|
+
import { IPNS_STRING_PREFIX, multihashToIPNSRoutingKey } from "../utils.js";
|
|
17
17
|
import { ipnsValidator } from "../validator.js";
|
|
18
18
|
const log = logger('helia:ipns:routing:pubsub');
|
|
19
|
-
export class
|
|
19
|
+
export class PubSubIPNSRouting {
|
|
20
20
|
subscriptions;
|
|
21
21
|
localStore;
|
|
22
22
|
libp2p;
|
|
@@ -140,21 +140,20 @@ export class PubSubRouting {
|
|
|
140
140
|
return this.#handleRecord(topic, routingKey, marshalledRecord, true, options);
|
|
141
141
|
}
|
|
142
142
|
async #handleRecord(topic, routingKey, marshalledRecord, publish, options) {
|
|
143
|
-
const record = await
|
|
144
|
-
await ipnsValidator(record, options);
|
|
143
|
+
const record = await ipnsValidator(routingKey, marshalledRecord, this.keychain, options);
|
|
145
144
|
this.shutdownController.signal.throwIfAborted();
|
|
146
145
|
if (await this.localStore.has(routingKey)) {
|
|
147
146
|
const { record: marshaledCurrentRecord } = await this.localStore.get(routingKey, options);
|
|
148
|
-
const currentRecord = await
|
|
149
|
-
if (uint8ArrayEquals(marshaledCurrentRecord,
|
|
147
|
+
const currentRecord = await ipnsValidator(routingKey, marshaledCurrentRecord, this.keychain, options);
|
|
148
|
+
if (uint8ArrayEquals(marshaledCurrentRecord, marshalledRecord)) {
|
|
150
149
|
log.trace('found identical record for %m', routingKey);
|
|
151
|
-
return
|
|
150
|
+
return marshaledCurrentRecord;
|
|
152
151
|
}
|
|
153
152
|
const records = [currentRecord, record];
|
|
154
153
|
const index = ipnsSelector(routingKey, records);
|
|
155
154
|
if (index === 0) {
|
|
156
155
|
log.trace('found old record for %m', routingKey);
|
|
157
|
-
return
|
|
156
|
+
return marshaledCurrentRecord;
|
|
158
157
|
}
|
|
159
158
|
}
|
|
160
159
|
log('found new record for %m', routingKey);
|
|
@@ -170,7 +169,7 @@ export class PubSubRouting {
|
|
|
170
169
|
log.error('could not publish record on topic %s - %e', err);
|
|
171
170
|
}
|
|
172
171
|
}
|
|
173
|
-
return marshalledRecord;
|
|
172
|
+
return withArrayBuffer(marshalledRecord);
|
|
174
173
|
}
|
|
175
174
|
/**
|
|
176
175
|
* Put a value to the pubsub datastore indexed by the received key properly encoded
|
|
@@ -311,7 +310,7 @@ function topicToKey(topic) {
|
|
|
311
310
|
* updated records, so the first call to `.get` should be expected
|
|
312
311
|
* to fail!
|
|
313
312
|
*/
|
|
314
|
-
export function
|
|
315
|
-
return new
|
|
313
|
+
export function pubSubIPNSRouting(components, init = {}) {
|
|
314
|
+
return new PubSubIPNSRouting(components, init);
|
|
316
315
|
}
|
|
317
316
|
//# sourceMappingURL=pubsub.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../../src/routing/pubsub.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../../src/routing/pubsub.ts"],"names":[],"mappings":"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"}
|
package/dist/src/selector.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { IPNSEntry } from './pb/ipns.ts';
|
|
2
2
|
/**
|
|
3
3
|
* Selects the latest valid IPNS record from an array of marshalled IPNS records.
|
|
4
4
|
*
|
|
@@ -10,5 +10,5 @@ import type { IPNSRecord } from './records.ts';
|
|
|
10
10
|
* @param data - Array of marshalled IPNS records to select from
|
|
11
11
|
* @returns The index of the most valid record from the input array
|
|
12
12
|
*/
|
|
13
|
-
export declare function ipnsSelector(key: Uint8Array, data:
|
|
13
|
+
export declare function ipnsSelector(key: Uint8Array, data: IPNSEntry[]): number;
|
|
14
14
|
//# sourceMappingURL=selector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selector.d.ts","sourceRoot":"","sources":["../../src/selector.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"selector.d.ts","sourceRoot":"","sources":["../../src/selector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAGxC;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAyCxE"}
|
package/dist/src/selector.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import NanoDate from 'timestamp-nano';
|
|
2
|
-
import {
|
|
2
|
+
import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
|
|
3
|
+
import { IPNSEntry } from "./pb/ipns.js";
|
|
4
|
+
import { decodeExtensibleData } from "./utils.js";
|
|
3
5
|
/**
|
|
4
6
|
* Selects the latest valid IPNS record from an array of marshalled IPNS records.
|
|
5
7
|
*
|
|
@@ -17,11 +19,13 @@ export function ipnsSelector(key, data) {
|
|
|
17
19
|
index
|
|
18
20
|
}));
|
|
19
21
|
entries.sort((a, b) => {
|
|
20
|
-
// Before we'd sort based on the signature version.
|
|
21
|
-
//
|
|
22
|
-
// records
|
|
23
|
-
const
|
|
24
|
-
const
|
|
22
|
+
// Before we'd sort based on the signature version. Validation fails if a
|
|
23
|
+
// record does not have SignatureV2, so that is no longer needed. V1-only
|
|
24
|
+
// records will have all expired by this point.
|
|
25
|
+
const aData = decodeExtensibleData(a.record.data);
|
|
26
|
+
const bData = decodeExtensibleData(b.record.data);
|
|
27
|
+
const aSeq = aData.Sequence;
|
|
28
|
+
const bSeq = bData.Sequence;
|
|
25
29
|
// choose later sequence number
|
|
26
30
|
if (aSeq > bSeq) {
|
|
27
31
|
return -1;
|
|
@@ -29,10 +33,10 @@ export function ipnsSelector(key, data) {
|
|
|
29
33
|
else if (aSeq < bSeq) {
|
|
30
34
|
return 1;
|
|
31
35
|
}
|
|
32
|
-
if (
|
|
36
|
+
if (aData.ValidityType === IPNSEntry.ValidityType.EOL && bData.ValidityType === IPNSEntry.ValidityType.EOL) {
|
|
33
37
|
// choose longer lived record if sequence numbers the same
|
|
34
|
-
const recordAValidityDate = NanoDate.fromString(
|
|
35
|
-
const recordBValidityDate = NanoDate.fromString(
|
|
38
|
+
const recordAValidityDate = NanoDate.fromString(uint8ArrayToString(aData.Validity)).toDate();
|
|
39
|
+
const recordBValidityDate = NanoDate.fromString(uint8ArrayToString(bData.Validity)).toDate();
|
|
36
40
|
if (recordAValidityDate.getTime() > recordBValidityDate.getTime()) {
|
|
37
41
|
return -1;
|
|
38
42
|
}
|
package/dist/src/selector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selector.js","sourceRoot":"","sources":["../../src/selector.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"selector.js","sourceRoot":"","sources":["../../src/selector.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEjD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAE,GAAe,EAAE,IAAiB;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM;QACN,KAAK;KACN,CAAC,CAAC,CAAA;IAEH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACpB,yEAAyE;QACzE,yEAAyE;QACzE,+CAA+C;QAC/C,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAEjD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAA;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAA;QAE3B,+BAA+B;QAC/B,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;aAAM,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,CAAA;QACV,CAAC;QAED,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,YAAY,CAAC,GAAG,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YAC3G,0DAA0D;YAC1D,MAAM,mBAAmB,GAAG,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;YAC5F,MAAM,mBAAmB,GAAG,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;YAE5F,IAAI,mBAAmB,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC;gBAClE,OAAO,CAAC,CAAC,CAAA;YACX,CAAC;YAED,IAAI,mBAAmB,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC;gBAClE,OAAO,CAAC,CAAA;YACV,CAAC;QACH,CAAC;QAED,OAAO,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AACzB,CAAC"}
|
package/dist/src/utils.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { Key } from 'interface-datastore';
|
|
2
2
|
import { CID } from 'multiformats/cid';
|
|
3
|
-
import {
|
|
4
|
-
import type {
|
|
5
|
-
import type { PublicKey
|
|
6
|
-
import type { AbortOptions } from '@libp2p/interface';
|
|
3
|
+
import { IPNSEntry } from './pb/ipns.ts';
|
|
4
|
+
import type { IPNSRecordData } from './index.ts';
|
|
5
|
+
import type { PublicKey } from '@helia/interface';
|
|
7
6
|
import type { MultihashDigest } from 'multiformats/hashes/interface';
|
|
8
7
|
export declare const LIBP2P_KEY_CODEC = 114;
|
|
9
8
|
export declare const IDENTITY_CODEC = 0;
|
|
@@ -28,22 +27,21 @@ export declare function dhtRoutingKey(key: Uint8Array): Key;
|
|
|
28
27
|
* @returns The local storage key for IPNS record metadata
|
|
29
28
|
*/
|
|
30
29
|
export declare function ipnsMetadataKey(key: Uint8Array): Key;
|
|
31
|
-
export declare function shouldRepublish(
|
|
30
|
+
export declare function shouldRepublish(created: Date, expiry: Date): boolean;
|
|
32
31
|
export declare function isLibp2pCID(obj?: any): obj is CID<unknown, 0x72, 0x00 | 0x12, 1>;
|
|
33
32
|
/**
|
|
34
33
|
* Utility for creating the record data for being signed
|
|
35
34
|
*/
|
|
36
|
-
export declare function ipnsRecordDataForV1Sig(value:
|
|
35
|
+
export declare function ipnsRecordDataForV1Sig(value: Uint8Array, validityType: IPNSEntry.ValidityType, validity: Uint8Array): Uint8Array;
|
|
37
36
|
/**
|
|
38
37
|
* Utility for creating the record data for being signed
|
|
39
38
|
*/
|
|
40
39
|
export declare function ipnsRecordDataForV2Sig(data: Uint8Array): Uint8Array;
|
|
41
|
-
export declare function
|
|
42
|
-
export declare function unmarshalIPNSRecord(routingKey: Uint8Array, marshalledRecord: Uint8Array, keychain: Keychain, options?: AbortOptions): Promise<IPNSRecord>;
|
|
40
|
+
export declare function ipnsRecordValueToString(value: Uint8Array): string;
|
|
43
41
|
export declare function multihashToIPNSRoutingKey(digest: MultihashDigest): Uint8Array;
|
|
44
42
|
export declare function multihashFromIPNSRoutingKey(key: Uint8Array): MultihashDigest;
|
|
45
|
-
export declare function
|
|
46
|
-
export declare function
|
|
43
|
+
export declare function encodeExtensibleData(data?: IPNSRecordData): Uint8Array<ArrayBuffer>;
|
|
44
|
+
export declare function decodeExtensibleData(buf?: Uint8Array): IPNSRecordData;
|
|
47
45
|
/**
|
|
48
46
|
* Normalizes the given record value. It ensures it is a PeerID, a CID or a
|
|
49
47
|
* string starting with '/'. PeerIDs become `/ipns/${cidV1Libp2pKey}`,
|
|
@@ -54,4 +52,5 @@ export declare function normalizeKey(key?: PublicKey | CID | MultihashDigest | s
|
|
|
54
52
|
digest: MultihashDigest;
|
|
55
53
|
path: string;
|
|
56
54
|
};
|
|
55
|
+
export declare function validateCborDataMatchesPbData(entry: IPNSEntry, data: IPNSRecordData): void;
|
|
57
56
|
//# sourceMappingURL=utils.d.ts.map
|