@helia/ipns 10.1.1 → 10.2.0-bbf05cb7
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 +40 -0
- package/dist/index.min.js +5 -5
- package/dist/index.min.js.map +4 -4
- package/dist/src/errors.d.ts +11 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +13 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/index.d.ts +136 -7
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +41 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/ipns/publisher.d.ts +3 -3
- package/dist/src/ipns/publisher.d.ts.map +1 -1
- package/dist/src/ipns/publisher.js +17 -18
- package/dist/src/ipns/publisher.js.map +1 -1
- package/dist/src/ipns/republisher.d.ts +6 -1
- package/dist/src/ipns/republisher.d.ts.map +1 -1
- package/dist/src/ipns/republisher.js +157 -24
- package/dist/src/ipns/republisher.js.map +1 -1
- package/dist/src/ipns/resolver.d.ts +13 -1
- package/dist/src/ipns/resolver.d.ts.map +1 -1
- package/dist/src/ipns/resolver.js +40 -31
- package/dist/src/ipns/resolver.js.map +1 -1
- package/dist/src/ipns.d.ts +6 -3
- package/dist/src/ipns.d.ts.map +1 -1
- package/dist/src/ipns.js +12 -3
- package/dist/src/ipns.js.map +1 -1
- package/dist/src/local-store.d.ts +5 -0
- package/dist/src/local-store.d.ts.map +1 -1
- package/dist/src/local-store.js +68 -23
- package/dist/src/local-store.js.map +1 -1
- package/dist/src/pb/ipns.js +1 -1
- package/dist/src/pb/metadata.d.ts +14 -1
- package/dist/src/pb/metadata.d.ts.map +1 -1
- package/dist/src/pb/metadata.js +36 -3
- package/dist/src/pb/metadata.js.map +1 -1
- package/dist/src/routing/index.d.ts +13 -1
- package/dist/src/routing/index.d.ts.map +1 -1
- package/dist/src/routing/index.js +17 -0
- package/dist/src/routing/index.js.map +1 -1
- package/dist/src/utils.d.ts +5 -0
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +18 -0
- package/dist/src/utils.js.map +1 -1
- package/dist/src/validator.d.ts +6 -0
- package/dist/src/validator.d.ts.map +1 -1
- package/dist/src/validator.js +24 -14
- package/dist/src/validator.js.map +1 -1
- package/package.json +4 -4
- package/src/errors.ts +18 -0
- package/src/index.ts +145 -7
- package/src/ipns/publisher.ts +22 -20
- package/src/ipns/republisher.ts +182 -26
- package/src/ipns/resolver.ts +54 -36
- package/src/ipns.ts +20 -6
- package/src/local-store.ts +77 -22
- package/src/pb/ipns.ts +1 -1
- package/src/pb/metadata.proto +10 -0
- package/src/pb/metadata.ts +45 -4
- package/src/routing/index.ts +30 -1
- package/src/utils.ts +19 -0
- package/src/validator.ts +30 -18
- package/dist/typedoc-urls.json +0 -68
package/dist/src/local-store.js
CHANGED
|
@@ -3,8 +3,54 @@ 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
5
|
import { withArrayBuffer } from 'uint8arrays/with-array-buffer';
|
|
6
|
-
import { IPNSPublishMetadata } from "./pb/metadata.js";
|
|
6
|
+
import { IPNSPublishMetadata, Upkeep } from "./pb/metadata.js";
|
|
7
7
|
import { dhtRoutingKey, DHT_RECORD_PREFIX, ipnsMetadataKey } from "./utils.js";
|
|
8
|
+
/**
|
|
9
|
+
* Merge a (possibly partial) metadata update into any metadata already stored
|
|
10
|
+
* for the routing key, so fields that are not being changed are preserved.
|
|
11
|
+
*
|
|
12
|
+
* Throws if the existing metadata cannot be read (rather than silently
|
|
13
|
+
* overwriting it and dropping keyName/lifetime), or if the resulting policy
|
|
14
|
+
* needs a keyName it does not have.
|
|
15
|
+
*/
|
|
16
|
+
async function mergeMetadata(datastore, routingKey, incoming, options) {
|
|
17
|
+
let metadata = incoming;
|
|
18
|
+
try {
|
|
19
|
+
// merge into any existing metadata so a partial update (e.g. republish
|
|
20
|
+
// setting only `upkeep`) preserves keyName/lifetime instead of wiping them
|
|
21
|
+
const existing = IPNSPublishMetadata.decode(await datastore.get(ipnsMetadataKey(routingKey), options));
|
|
22
|
+
metadata = { ...existing, ...incoming };
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
if (err.name !== 'NotFoundError') {
|
|
26
|
+
// the stored metadata is unreadable, surface it rather than silently
|
|
27
|
+
// overwriting and dropping keyName/lifetime
|
|
28
|
+
throw err;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
// the reissue upkeep policy re-signs the record, which needs the key, so
|
|
32
|
+
// refuse to persist that policy without a keyName
|
|
33
|
+
if (metadata.upkeep === Upkeep.reissue && (metadata.keyName == null || metadata.keyName === '')) {
|
|
34
|
+
throw new Error('a keyName is required to reissue a record');
|
|
35
|
+
}
|
|
36
|
+
return metadata;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Read the stored upkeep metadata for a routing key, if any. A record with no
|
|
40
|
+
* metadata is normal (imported, or unpublished), so that is not an error; only
|
|
41
|
+
* an actual decode/corruption failure is logged.
|
|
42
|
+
*/
|
|
43
|
+
async function readMetadata(datastore, routingKey, log, options) {
|
|
44
|
+
try {
|
|
45
|
+
return IPNSPublishMetadata.decode(await datastore.get(ipnsMetadataKey(routingKey), options));
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
if (err.name !== 'NotFoundError') {
|
|
49
|
+
log.error('error deserializing metadata for %b - %e', routingKey, err);
|
|
50
|
+
}
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
8
54
|
/**
|
|
9
55
|
* Read/write IPNS records to the datastore as DHT records.
|
|
10
56
|
*
|
|
@@ -16,18 +62,20 @@ export function localStore(datastore, log) {
|
|
|
16
62
|
async put(routingKey, marshalledRecord, options = {}) {
|
|
17
63
|
try {
|
|
18
64
|
const key = dhtRoutingKey(routingKey);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
65
|
+
if (options.overwrite !== true) {
|
|
66
|
+
// don't overwrite existing, identical records as this will affect the
|
|
67
|
+
// TTL
|
|
68
|
+
try {
|
|
69
|
+
const existingBuf = await datastore.get(key);
|
|
70
|
+
const existingRecord = Record.deserialize(existingBuf);
|
|
71
|
+
if (uint8ArrayEquals(existingRecord.value, marshalledRecord)) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
26
74
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
75
|
+
catch (err) {
|
|
76
|
+
if (err.name !== 'NotFoundError') {
|
|
77
|
+
throw err;
|
|
78
|
+
}
|
|
31
79
|
}
|
|
32
80
|
}
|
|
33
81
|
// Marshal to libp2p record as the DHT does
|
|
@@ -36,8 +84,10 @@ export function localStore(datastore, log) {
|
|
|
36
84
|
const batch = datastore.batch();
|
|
37
85
|
batch.put(key, record.serialize());
|
|
38
86
|
if (options.metadata != null) {
|
|
39
|
-
//
|
|
40
|
-
|
|
87
|
+
// merge into any existing metadata (preserving keyName/lifetime on a
|
|
88
|
+
// partial update) and validate the result before writing it
|
|
89
|
+
const metadata = await mergeMetadata(datastore, routingKey, options.metadata, options);
|
|
90
|
+
batch.put(ipnsMetadataKey(routingKey), IPNSPublishMetadata.encode(metadata));
|
|
41
91
|
}
|
|
42
92
|
await batch.commit(options);
|
|
43
93
|
}
|
|
@@ -74,6 +124,9 @@ export function localStore(datastore, log) {
|
|
|
74
124
|
batch.delete(ipnsMetadataKey(routingKey));
|
|
75
125
|
await batch.commit(options);
|
|
76
126
|
},
|
|
127
|
+
async deleteMetadata(routingKey, options) {
|
|
128
|
+
await datastore.delete(ipnsMetadataKey(routingKey), options);
|
|
129
|
+
},
|
|
77
130
|
async *list(options = {}) {
|
|
78
131
|
try {
|
|
79
132
|
options.onProgress?.(new CustomProgressEvent('ipns:routing:datastore:list'));
|
|
@@ -88,15 +141,7 @@ export function localStore(datastore, log) {
|
|
|
88
141
|
const keyString = key.toString();
|
|
89
142
|
const routingKeyBase32 = keyString.substring(DHT_RECORD_PREFIX.length);
|
|
90
143
|
const routingKey = uint8ArrayFromString(routingKeyBase32, 'base32');
|
|
91
|
-
const
|
|
92
|
-
let metadata;
|
|
93
|
-
try {
|
|
94
|
-
const metadataBuf = await datastore.get(metadataKey, options);
|
|
95
|
-
metadata = IPNSPublishMetadata.decode(metadataBuf);
|
|
96
|
-
}
|
|
97
|
-
catch (err) {
|
|
98
|
-
log.error('Error deserializing metadata for %s - %e', routingKeyBase32, err);
|
|
99
|
-
}
|
|
144
|
+
const metadata = await readMetadata(datastore, routingKey, log, options);
|
|
100
145
|
yield {
|
|
101
146
|
routingKey,
|
|
102
147
|
metadata,
|
|
@@ -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,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;
|
|
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,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AA4C9E;;;;;;;GAOG;AACH,KAAK,UAAU,aAAa,CAAE,SAAoB,EAAE,UAAsB,EAAE,QAAsC,EAAE,OAAsB;IACxI,IAAI,QAAQ,GAAG,QAAQ,CAAA;IAEvB,IAAI,CAAC;QACH,uEAAuE;QACvE,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;QACtG,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAA;IACzC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACjC,qEAAqE;YACrE,4CAA4C;YAC5C,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,kDAAkD;IAClD,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,IAAI,QAAQ,CAAC,OAAO,KAAK,EAAE,CAAC,EAAE,CAAC;QAChG,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,YAAY,CAAE,SAAoB,EAAE,UAAsB,EAAE,GAAW,EAAE,OAAsB;IAC5G,IAAI,CAAC;QACH,OAAO,mBAAmB,CAAC,MAAM,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9F,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACjC,GAAG,CAAC,KAAK,CAAC,0CAA0C,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;QACxE,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAE,SAAoB,EAAE,GAAW;IAC3D,OAAO;QACL,KAAK,CAAC,GAAG,CAAE,UAAsB,EAAE,gBAA4B,EAAE,UAAiC,EAAE;YAClG,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;gBAErC,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;oBAC/B,sEAAsE;oBACtE,MAAM;oBACN,IAAI,CAAC;wBACH,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;wBAC5C,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;wBAEtD,IAAI,gBAAgB,CAAC,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC;4BAC7D,OAAM;wBACR,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;4BACjC,MAAM,GAAG,CAAA;wBACX,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,2CAA2C;gBAC3C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,gBAAgB,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;gBAEnE,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,mBAAmB,CAAC,4BAA4B,CAAC,CAAC,CAAA;gBAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAA;gBAC/B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;gBAElC,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;oBAC7B,qEAAqE;oBACrE,4DAA4D;oBAC5D,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;oBACtF,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;gBAC9E,CAAC;gBACD,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAC7B,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,mBAAmB,CAAQ,8BAA8B,EAAE,GAAG,CAAC,CAAC,CAAA;gBACzF,MAAM,GAAG,CAAA;YACX,CAAC;QACH,CAAC;QACD,KAAK,CAAC,GAAG,CAAE,UAAsB,EAAE,UAAiC,EAAE;YACpE,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;gBAErC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,mBAAmB,CAAC,4BAA4B,CAAC,CAAC,CAAA;gBAC3E,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;gBAE7C,0CAA0C;gBAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;gBAEtC,OAAO;oBACL,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC;oBACrC,OAAO,EAAE,MAAM,CAAC,YAAY;iBAC7B,CAAA;YACH,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,mBAAmB,CAAQ,8BAA8B,EAAE,GAAG,CAAC,CAAC,CAAA;gBACzF,MAAM,GAAG,CAAA;YACX,CAAC;QACH,CAAC;QACD,KAAK,CAAC,GAAG,CAAE,UAAsB,EAAE,UAAwB,EAAE;YAC3D,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;YACrC,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACpC,CAAC;QACD,KAAK,CAAC,MAAM,CAAE,UAAU,EAAE,OAAO;YAC/B,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;YACrC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAA;YAC/B,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACjB,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAA;YACzC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC7B,CAAC;QACD,KAAK,CAAC,cAAc,CAAE,UAAU,EAAE,OAAO;YACvC,MAAM,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAA;QAC9D,CAAC;QACD,KAAK,CAAC,CAAE,IAAI,CAAE,UAAuB,EAAE;YACrC,IAAI,CAAC;gBACH,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,mBAAmB,CAAC,6BAA6B,CAAC,CAAC,CAAA;gBAE5E,+CAA+C;gBAC/C,IAAI,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC;oBACjD,MAAM,EAAE,iBAAiB;iBAC1B,EAAE,OAAO,CAAC,EAAE,CAAC;oBACZ,IAAI,CAAC;wBACH,yBAAyB;wBACzB,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;wBAE9C,iDAAiD;wBACjD,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;wBAChC,MAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;wBACtE,MAAM,UAAU,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAA;wBAEnE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;wBAExE,MAAM;4BACJ,UAAU;4BACV,QAAQ;4BACR,MAAM,EAAE,YAAY,CAAC,KAAK;4BAC1B,OAAO,EAAE,YAAY,CAAC,YAAY;yBACnC,CAAA;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,uBAAuB;wBACvB,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAA;oBACnD,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,mBAAmB,CAAQ,8BAA8B,EAAE,GAAG,CAAC,CAAC,CAAA;gBACzF,MAAM,GAAG,CAAA;YACX,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/dist/src/pb/ipns.js
CHANGED
|
@@ -109,7 +109,7 @@ export var IPNSEntry;
|
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
return obj;
|
|
112
|
-
}, function* (reader,
|
|
112
|
+
}, function* (reader, length, prefix, opts = {}) {
|
|
113
113
|
const end = length == null ? reader.len : reader.pos + length;
|
|
114
114
|
if (prefix !== '.') {
|
|
115
115
|
yield {
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import type { Codec, DecodeOptions } from 'protons-runtime';
|
|
2
2
|
import type { Uint8ArrayList } from 'uint8arraylist';
|
|
3
|
+
export declare enum Upkeep {
|
|
4
|
+
reissue = "reissue",
|
|
5
|
+
rebroadcast = "rebroadcast",
|
|
6
|
+
none = "none"
|
|
7
|
+
}
|
|
8
|
+
export declare namespace Upkeep {
|
|
9
|
+
const codec: () => Codec<Upkeep>;
|
|
10
|
+
}
|
|
3
11
|
export interface IPNSPublishMetadata {
|
|
4
12
|
keyName: string;
|
|
5
13
|
lifetime: number;
|
|
14
|
+
upkeep: Upkeep;
|
|
6
15
|
}
|
|
7
16
|
export declare namespace IPNSPublishMetadata {
|
|
8
17
|
const codec: () => Codec<IPNSPublishMetadata>;
|
|
@@ -14,8 +23,12 @@ export declare namespace IPNSPublishMetadata {
|
|
|
14
23
|
field: '.lifetime';
|
|
15
24
|
value: number;
|
|
16
25
|
}
|
|
26
|
+
interface IPNSPublishMetadataUpkeepFieldEvent {
|
|
27
|
+
field: '.upkeep';
|
|
28
|
+
value: Upkeep;
|
|
29
|
+
}
|
|
17
30
|
function encode(obj: Partial<IPNSPublishMetadata>): Uint8Array<ArrayBuffer>;
|
|
18
31
|
function decode(buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<IPNSPublishMetadata>): IPNSPublishMetadata;
|
|
19
|
-
function stream(buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<IPNSPublishMetadata>): Generator<IPNSPublishMetadataKeyNameFieldEvent | IPNSPublishMetadataLifetimeFieldEvent>;
|
|
32
|
+
function stream(buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<IPNSPublishMetadata>): Generator<IPNSPublishMetadataKeyNameFieldEvent | IPNSPublishMetadataLifetimeFieldEvent | IPNSPublishMetadataUpkeepFieldEvent>;
|
|
20
33
|
}
|
|
21
34
|
//# sourceMappingURL=metadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/pb/metadata.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,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/pb/metadata.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,oBAAY,MAAM;IAChB,OAAO,YAAY;IACnB,WAAW,gBAAgB;IAC3B,IAAI,SAAS;CACd;AAQD,yBAAiB,MAAM,CAAC;IACf,MAAM,KAAK,QAAO,KAAK,CAAC,MAAM,CAEpC,CAAA;CACF;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,yBAAiB,mBAAmB,CAAC;IAG5B,MAAM,KAAK,QAAO,KAAK,CAAC,mBAAmB,CAgHjD,CAAA;IAED,UAAiB,oCAAoC;QACnD,KAAK,EAAE,UAAU,CAAA;QACjB,KAAK,EAAE,MAAM,CAAA;KACd;IAED,UAAiB,qCAAqC;QACpD,KAAK,EAAE,WAAW,CAAA;QAClB,KAAK,EAAE,MAAM,CAAA;KACd;IAED,UAAiB,mCAAmC;QAClD,KAAK,EAAE,SAAS,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;KACd;IAED,SAAgB,MAAM,CAAE,GAAG,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,CAElF;IAED,SAAgB,MAAM,CAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAExH;IAED,SAAgB,MAAM,CAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC,oCAAoC,GAAG,qCAAqC,GAAG,mCAAmC,CAAC,CAElO;CACF"}
|
package/dist/src/pb/metadata.js
CHANGED
|
@@ -1,4 +1,21 @@
|
|
|
1
|
-
import { decodeMessage, encodeMessage, message, streamMessage } from 'protons-runtime';
|
|
1
|
+
import { decodeMessage, encodeMessage, enumeration, message, streamMessage } from 'protons-runtime';
|
|
2
|
+
export var Upkeep;
|
|
3
|
+
(function (Upkeep) {
|
|
4
|
+
Upkeep["reissue"] = "reissue";
|
|
5
|
+
Upkeep["rebroadcast"] = "rebroadcast";
|
|
6
|
+
Upkeep["none"] = "none";
|
|
7
|
+
})(Upkeep || (Upkeep = {}));
|
|
8
|
+
var __UpkeepValues;
|
|
9
|
+
(function (__UpkeepValues) {
|
|
10
|
+
__UpkeepValues[__UpkeepValues["reissue"] = 0] = "reissue";
|
|
11
|
+
__UpkeepValues[__UpkeepValues["rebroadcast"] = 1] = "rebroadcast";
|
|
12
|
+
__UpkeepValues[__UpkeepValues["none"] = 2] = "none";
|
|
13
|
+
})(__UpkeepValues || (__UpkeepValues = {}));
|
|
14
|
+
(function (Upkeep) {
|
|
15
|
+
Upkeep.codec = () => {
|
|
16
|
+
return enumeration(__UpkeepValues);
|
|
17
|
+
};
|
|
18
|
+
})(Upkeep || (Upkeep = {}));
|
|
2
19
|
export var IPNSPublishMetadata;
|
|
3
20
|
(function (IPNSPublishMetadata) {
|
|
4
21
|
let _codec;
|
|
@@ -16,13 +33,18 @@ export var IPNSPublishMetadata;
|
|
|
16
33
|
w.uint32(16);
|
|
17
34
|
w.uint32(obj.lifetime);
|
|
18
35
|
}
|
|
36
|
+
if (obj.upkeep != null && __UpkeepValues[obj.upkeep] !== 0) {
|
|
37
|
+
w.uint32(24);
|
|
38
|
+
Upkeep.codec().encode(obj.upkeep, w);
|
|
39
|
+
}
|
|
19
40
|
if (opts.lengthDelimited !== false) {
|
|
20
41
|
w.ldelim();
|
|
21
42
|
}
|
|
22
43
|
}, (reader, length, opts = {}) => {
|
|
23
44
|
const obj = {
|
|
24
45
|
keyName: '',
|
|
25
|
-
lifetime: 0
|
|
46
|
+
lifetime: 0,
|
|
47
|
+
upkeep: Upkeep.reissue
|
|
26
48
|
};
|
|
27
49
|
const end = length == null ? reader.len : reader.pos + length;
|
|
28
50
|
while (reader.pos < end) {
|
|
@@ -36,6 +58,10 @@ export var IPNSPublishMetadata;
|
|
|
36
58
|
obj.lifetime = reader.uint32();
|
|
37
59
|
break;
|
|
38
60
|
}
|
|
61
|
+
case 3: {
|
|
62
|
+
obj.upkeep = Upkeep.codec().decode(reader);
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
39
65
|
default: {
|
|
40
66
|
reader.skipType(tag & 7);
|
|
41
67
|
break;
|
|
@@ -43,7 +69,7 @@ export var IPNSPublishMetadata;
|
|
|
43
69
|
}
|
|
44
70
|
}
|
|
45
71
|
return obj;
|
|
46
|
-
}, function* (reader,
|
|
72
|
+
}, function* (reader, length, prefix, opts = {}) {
|
|
47
73
|
const end = length == null ? reader.len : reader.pos + length;
|
|
48
74
|
if (prefix !== '.') {
|
|
49
75
|
yield {
|
|
@@ -69,6 +95,13 @@ export var IPNSPublishMetadata;
|
|
|
69
95
|
};
|
|
70
96
|
break;
|
|
71
97
|
}
|
|
98
|
+
case 3: {
|
|
99
|
+
yield {
|
|
100
|
+
field: `${prefix}upkeep`,
|
|
101
|
+
value: Upkeep.codec().decode(reader)
|
|
102
|
+
};
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
72
105
|
default: {
|
|
73
106
|
reader.skipType(tag & 7);
|
|
74
107
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/pb/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/pb/metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,13 @@ import type { IPNSPublishMetadata } from '../pb/metadata.ts';
|
|
|
5
5
|
import type { AbortOptions } from '@libp2p/interface';
|
|
6
6
|
import type { ProgressOptions } from 'progress-events';
|
|
7
7
|
export interface IPNSRoutingPutOptions extends AbortOptions, ProgressOptions {
|
|
8
|
-
metadata?: IPNSPublishMetadata
|
|
8
|
+
metadata?: Partial<IPNSPublishMetadata>;
|
|
9
|
+
/**
|
|
10
|
+
* Overwrite an identical stored record instead of keeping the existing one,
|
|
11
|
+
* re-stamping its local timestamp. Passed on republish/rebroadcast so the
|
|
12
|
+
* record is not re-selected for republishing every cycle.
|
|
13
|
+
*/
|
|
14
|
+
overwrite?: boolean;
|
|
9
15
|
}
|
|
10
16
|
export interface IPNSRoutingGetOptions extends AbortOptions, ProgressOptions {
|
|
11
17
|
/**
|
|
@@ -19,6 +25,12 @@ export interface IPNSRouting {
|
|
|
19
25
|
put(routingKey: Uint8Array, marshaledRecord: Uint8Array, options?: IPNSRoutingPutOptions): Promise<void>;
|
|
20
26
|
get(routingKey: Uint8Array, options?: IPNSRoutingGetOptions): Promise<Uint8Array>;
|
|
21
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Return a printable name for a router, falling back to `CustomRouting()` when
|
|
30
|
+
* the router does not set its own `toString`.
|
|
31
|
+
*/
|
|
32
|
+
export declare function routerName(router: IPNSRouting): string;
|
|
33
|
+
export declare function isLocalStoreRouting(router: IPNSRouting): boolean;
|
|
22
34
|
export type { DatastoreProgressEvents };
|
|
23
35
|
export type { HeliaRoutingProgressEvents };
|
|
24
36
|
export type { PubSubProgressEvents };
|
|
@@ -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,qBAAsB,SAAQ,YAAY,EAAE,eAAe;IAC1E,QAAQ,CAAC,EAAE,mBAAmB,CAAA;
|
|
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,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAEvC;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;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;;;GAGG;AACH,wBAAgB,UAAU,CAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAYvD;AAED,wBAAgB,mBAAmB,CAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAEjE;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,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return a printable name for a router, falling back to `CustomRouting()` when
|
|
3
|
+
* the router does not set its own `toString`.
|
|
4
|
+
*/
|
|
5
|
+
export function routerName(router) {
|
|
6
|
+
if (router.toString === Object.prototype.toString) {
|
|
7
|
+
return 'CustomRouting()';
|
|
8
|
+
}
|
|
9
|
+
const name = router.toString();
|
|
10
|
+
if (typeof name !== 'string' || name === '') {
|
|
11
|
+
return 'CustomRouting()';
|
|
12
|
+
}
|
|
13
|
+
return name;
|
|
14
|
+
}
|
|
15
|
+
export function isLocalStoreRouting(router) {
|
|
16
|
+
return String(router) === 'LocalStoreRouting()';
|
|
17
|
+
}
|
|
1
18
|
export { heliaIPNSRouting } from "./helia.js";
|
|
2
19
|
export { pubSubIPNSRouting } from "./pubsub.js";
|
|
3
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -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":"AAgCA;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAE,MAAmB;IAC7C,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAClD,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;IAE9B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAC5C,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAE,MAAmB;IACtD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,qBAAqB,CAAA;AACjD,CAAC;AAWD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/src/utils.d.ts
CHANGED
|
@@ -52,5 +52,10 @@ export declare function normalizeKey(key?: PublicKey | CID | MultihashDigest | s
|
|
|
52
52
|
digest: MultihashDigest;
|
|
53
53
|
path: string;
|
|
54
54
|
};
|
|
55
|
+
/**
|
|
56
|
+
* Normalize a key identifier for unpublish: CID/PublicKey/multihash become a
|
|
57
|
+
* MultihashDigest, a keychain key name stays a string.
|
|
58
|
+
*/
|
|
59
|
+
export declare function normalizeKeyName(keyName: CID<unknown, 0x72> | PublicKey | MultihashDigest | string): MultihashDigest | string;
|
|
55
60
|
export declare function validateCborDataMatchesPbData(entry: IPNSEntry, data: IPNSRecordData): void;
|
|
56
61
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAGzC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAStC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,eAAO,MAAM,gBAAgB,MAAO,CAAA;AACpC,eAAO,MAAM,cAAc,IAAM,CAAA;AACjC,eAAO,MAAM,cAAc,KAAO,CAAA;AAGlC,eAAO,MAAM,kBAAkB,WAAW,CAAA;AAE1C,wBAAgB,OAAO,CAAE,CAAC,SAAS,MAAM,EAAG,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,CAE3G;AAED,eAAO,MAAM,iBAAiB,iBAAiB,CAAA;AAC/C,eAAO,MAAM,oBAAoB,oBAAoB,CAAA;AAErD,wBAAgB,aAAa,CAAE,GAAG,EAAE,UAAU,GAAG,GAAG,CAEnD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAE,GAAG,EAAE,UAAU,GAAG,GAAG,CAErD;AAED,wBAAgB,eAAe,CAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAerE;AAMD,wBAAgB,WAAW,CAAE,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,CAcjF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,GAAG,UAAU,CAQjI;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAIpE;AAED,wBAAgB,uBAAuB,CAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAUlE;AAED,wBAAgB,yBAAyB,CAAE,MAAM,EAAE,eAAe,GAAG,UAAU,CAK9E;AAED,wBAAgB,2BAA2B,CAAE,GAAG,EAAE,UAAU,GAAG,eAAe,CAE7E;AAED,wBAAgB,oBAAoB,CAAE,IAAI,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC,CAEpF;AAED,wBAAgB,oBAAoB,CAAE,GAAG,CAAC,EAAE,UAAU,GAAG,cAAc,CA2BtE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAE,KAAK,CAAC,EAAE,SAAS,GAAG,GAAG,GAAG,eAAe,GAAG,MAAM,GAAG,MAAM,CAsC1F;AAMD,wBAAgB,YAAY,CAAE,GAAG,CAAC,EAAE,SAAS,GAAG,GAAG,GAAG,eAAe,GAAG,MAAM,GAAG;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CA4DzH;AAED,wBAAgB,6BAA6B,CAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CAoB3F"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAGzC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAStC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,eAAO,MAAM,gBAAgB,MAAO,CAAA;AACpC,eAAO,MAAM,cAAc,IAAM,CAAA;AACjC,eAAO,MAAM,cAAc,KAAO,CAAA;AAGlC,eAAO,MAAM,kBAAkB,WAAW,CAAA;AAE1C,wBAAgB,OAAO,CAAE,CAAC,SAAS,MAAM,EAAG,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,CAE3G;AAED,eAAO,MAAM,iBAAiB,iBAAiB,CAAA;AAC/C,eAAO,MAAM,oBAAoB,oBAAoB,CAAA;AAErD,wBAAgB,aAAa,CAAE,GAAG,EAAE,UAAU,GAAG,GAAG,CAEnD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAE,GAAG,EAAE,UAAU,GAAG,GAAG,CAErD;AAED,wBAAgB,eAAe,CAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAerE;AAMD,wBAAgB,WAAW,CAAE,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,CAcjF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,GAAG,UAAU,CAQjI;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAIpE;AAED,wBAAgB,uBAAuB,CAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAUlE;AAED,wBAAgB,yBAAyB,CAAE,MAAM,EAAE,eAAe,GAAG,UAAU,CAK9E;AAED,wBAAgB,2BAA2B,CAAE,GAAG,EAAE,UAAU,GAAG,eAAe,CAE7E;AAED,wBAAgB,oBAAoB,CAAE,IAAI,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC,CAEpF;AAED,wBAAgB,oBAAoB,CAAE,GAAG,CAAC,EAAE,UAAU,GAAG,cAAc,CA2BtE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAE,KAAK,CAAC,EAAE,SAAS,GAAG,GAAG,GAAG,eAAe,GAAG,MAAM,GAAG,MAAM,CAsC1F;AAMD,wBAAgB,YAAY,CAAE,GAAG,CAAC,EAAE,SAAS,GAAG,GAAG,GAAG,eAAe,GAAG,MAAM,GAAG;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CA4DzH;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,SAAS,GAAG,eAAe,GAAG,MAAM,GAAG,eAAe,GAAG,MAAM,CAa9H;AAED,wBAAgB,6BAA6B,CAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CAoB3F"}
|
package/dist/src/utils.js
CHANGED
|
@@ -224,6 +224,24 @@ export function normalizeKey(key) {
|
|
|
224
224
|
}
|
|
225
225
|
throw new InvalidValueError('Value must be a valid IPNS path starting with /');
|
|
226
226
|
}
|
|
227
|
+
/**
|
|
228
|
+
* Normalize a key identifier for unpublish: CID/PublicKey/multihash become a
|
|
229
|
+
* MultihashDigest, a keychain key name stays a string.
|
|
230
|
+
*/
|
|
231
|
+
export function normalizeKeyName(keyName) {
|
|
232
|
+
// a CID/PublicKey/MultihashDigest is always an IPNS name, let it throw if invalid
|
|
233
|
+
if (typeof keyName !== 'string') {
|
|
234
|
+
return normalizeKey(keyName).digest;
|
|
235
|
+
}
|
|
236
|
+
try {
|
|
237
|
+
// a string may be an IPNS name...
|
|
238
|
+
return normalizeKey(keyName).digest;
|
|
239
|
+
}
|
|
240
|
+
catch {
|
|
241
|
+
// ...otherwise treat it as a keychain key name
|
|
242
|
+
return keyName;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
227
245
|
export function validateCborDataMatchesPbData(entry, data) {
|
|
228
246
|
if (!uint8ArrayEquals(data.Value, entry.value ?? new Uint8Array(0))) {
|
|
229
247
|
throw new SignatureVerificationError('Field "value" did not match between protobuf and CBOR');
|
package/dist/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/src/validator.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IPNSEntry } from './pb/ipns.ts';
|
|
2
|
+
import type { PublicKey } from '@ipshipyard/crypto';
|
|
2
3
|
import type { Keychain } from '@ipshipyard/keychain';
|
|
3
4
|
import type { AbortOptions } from '@libp2p/interface';
|
|
4
5
|
/**
|
|
@@ -13,6 +14,11 @@ import type { AbortOptions } from '@libp2p/interface';
|
|
|
13
14
|
* format of the routing key
|
|
14
15
|
*/
|
|
15
16
|
export declare function ipnsValidator(routingKey: Uint8Array, marshalledRecord: Uint8Array, keychain: Keychain, options?: AbortOptions): Promise<IPNSEntry>;
|
|
17
|
+
/**
|
|
18
|
+
* Extract the public key that signed an IPNS record, either from an
|
|
19
|
+
* identity-hashed routing key or from the key embedded in the record.
|
|
20
|
+
*/
|
|
21
|
+
export declare function extractPublicKey(routingKey: Uint8Array, record: IPNSEntry, keychain: Keychain, options?: AbortOptions): Promise<PublicKey>;
|
|
16
22
|
/**
|
|
17
23
|
* Returns the number of milliseconds until the record expires.
|
|
18
24
|
* If the record is already expired, returns 0.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAOrD;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAqDzJ;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAsBjJ;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAE,MAAM,EAAE,SAAS,GAAG,MAAM,CAmBnD"}
|
package/dist/src/validator.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import NanoDate from 'timestamp-nano';
|
|
2
|
+
import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
|
|
2
3
|
import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
|
|
3
4
|
import { InvalidEmbeddedPublicKeyError, RecordExpiredError, RecordTooLargeError, SignatureVerificationError, UnsupportedValidityError } from "./errors.js";
|
|
4
5
|
import { IPNSEntry } from "./pb/ipns.js";
|
|
@@ -31,20 +32,7 @@ export async function ipnsValidator(routingKey, marshalledRecord, keychain, opti
|
|
|
31
32
|
}
|
|
32
33
|
const data = decodeExtensibleData(record.data);
|
|
33
34
|
const validity = uint8ArrayToString(data.Validity);
|
|
34
|
-
|
|
35
|
-
// try to extract public key from routing key
|
|
36
|
-
const routingMultihash = multihashFromIPNSRoutingKey(routingKey);
|
|
37
|
-
// identity hash
|
|
38
|
-
if (isCodec(routingMultihash, 0x0)) {
|
|
39
|
-
publicKey = await keychain.loadPublicKeyFromProtobuf(routingMultihash.digest, options);
|
|
40
|
-
}
|
|
41
|
-
// otherwise try to load key from message
|
|
42
|
-
if (publicKey == null && record.publicKey != null) {
|
|
43
|
-
publicKey = await keychain.loadPublicKeyFromProtobuf(record.publicKey, options);
|
|
44
|
-
}
|
|
45
|
-
if (publicKey == null) {
|
|
46
|
-
throw new InvalidEmbeddedPublicKeyError('Could not extract public key from IPNS record or routing key');
|
|
47
|
-
}
|
|
35
|
+
const publicKey = await extractPublicKey(routingKey, record, keychain, options);
|
|
48
36
|
// Validate Signature V2
|
|
49
37
|
let isValid;
|
|
50
38
|
try {
|
|
@@ -76,6 +64,28 @@ export async function ipnsValidator(routingKey, marshalledRecord, keychain, opti
|
|
|
76
64
|
}
|
|
77
65
|
return record;
|
|
78
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Extract the public key that signed an IPNS record, either from an
|
|
69
|
+
* identity-hashed routing key or from the key embedded in the record.
|
|
70
|
+
*/
|
|
71
|
+
export async function extractPublicKey(routingKey, record, keychain, options) {
|
|
72
|
+
const routingMultihash = multihashFromIPNSRoutingKey(routingKey);
|
|
73
|
+
// identity hash, the routing key is the public key
|
|
74
|
+
if (isCodec(routingMultihash, 0x0)) {
|
|
75
|
+
return keychain.loadPublicKeyFromProtobuf(routingMultihash.digest, options);
|
|
76
|
+
}
|
|
77
|
+
// otherwise the record must embed the public key, and that key must correspond
|
|
78
|
+
// to the routing key, otherwise the record was paired with a routing key it was
|
|
79
|
+
// not signed for
|
|
80
|
+
if (record.publicKey != null) {
|
|
81
|
+
const publicKey = await keychain.loadPublicKeyFromProtobuf(record.publicKey, options);
|
|
82
|
+
if (!uint8ArrayEquals(publicKey.toMultihash().bytes, routingMultihash.bytes)) {
|
|
83
|
+
throw new InvalidEmbeddedPublicKeyError('Embedded public key does not match the routing key');
|
|
84
|
+
}
|
|
85
|
+
return publicKey;
|
|
86
|
+
}
|
|
87
|
+
throw new InvalidEmbeddedPublicKeyError('Could not extract public key from IPNS record or routing key');
|
|
88
|
+
}
|
|
79
89
|
/**
|
|
80
90
|
* Returns the number of milliseconds until the record expires.
|
|
81
91
|
* If the record is already expired, returns 0.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAC1J,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAA;AAK9I;;GAEG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,EAAE,CAAA;AAEjC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAE,UAAsB,EAAE,gBAA4B,EAAE,QAAkB,EAAE,OAAsB;IACnI,IAAI,gBAAgB,CAAC,UAAU,GAAG,eAAe,EAAE,CAAC;QAClD,MAAM,IAAI,mBAAmB,CAAC,yBAAyB,CAAC,CAAA;IAC1D,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAEjD,8EAA8E;IAC9E,8EAA8E;IAC9E,sBAAsB;IACtB,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,0BAA0B,CAAC,qBAAqB,CAAC,CAAA;IAC7D,CAAC;IAED,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAElD,
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helia/ipns",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.2.0-bbf05cb7",
|
|
4
4
|
"description": "An implementation of IPNS for Helia",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/ipfs/helia/tree/main/packages/ipns#readme",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"test:electron-main": "aegir test -t electron-main"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@helia/interface": "
|
|
53
|
+
"@helia/interface": "7.1.1-bbf05cb7",
|
|
54
54
|
"@ipld/dag-cbor": "^10.0.1",
|
|
55
55
|
"@ipshipyard/crypto": "^1.1.0",
|
|
56
56
|
"@ipshipyard/keychain": "^1.0.2",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"interface-datastore": "^10.0.1",
|
|
67
67
|
"multiformats": "^14.0.0",
|
|
68
68
|
"progress-events": "^1.1.0",
|
|
69
|
-
"protons-runtime": "^7.1.
|
|
69
|
+
"protons-runtime": "^7.1.1",
|
|
70
70
|
"race-signal": "^2.0.0",
|
|
71
71
|
"timestamp-nano": "^1.0.1",
|
|
72
72
|
"uint8arraylist": "^3.0.2",
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"datastore-core": "^12.0.1",
|
|
79
79
|
"it-drain": "^3.0.12",
|
|
80
80
|
"it-last": "^3.0.11",
|
|
81
|
-
"protons": "^9.1.
|
|
81
|
+
"protons": "^9.1.1",
|
|
82
82
|
"sinon": "^22.0.0",
|
|
83
83
|
"sinon-ts": "^2.0.0"
|
|
84
84
|
},
|
package/src/errors.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { IPNSEntry } from './pb/ipns.ts'
|
|
2
|
+
|
|
1
3
|
export class RecordsFailedValidationError extends Error {
|
|
2
4
|
static name = 'RecordsFailedValidationError'
|
|
3
5
|
name = 'RecordsFailedValidationError'
|
|
@@ -18,6 +20,22 @@ export class RecordNotFoundError extends Error {
|
|
|
18
20
|
name = 'RecordNotFoundError'
|
|
19
21
|
}
|
|
20
22
|
|
|
23
|
+
export class RecordObsoleteError extends Error {
|
|
24
|
+
static name = 'RecordObsoleteError'
|
|
25
|
+
name = 'RecordObsoleteError'
|
|
26
|
+
/**
|
|
27
|
+
* The more suitable record that made the one being imported or republished
|
|
28
|
+
* obsolete.
|
|
29
|
+
*/
|
|
30
|
+
readonly record: IPNSEntry
|
|
31
|
+
|
|
32
|
+
constructor (message: string, record: IPNSEntry) {
|
|
33
|
+
super(message)
|
|
34
|
+
|
|
35
|
+
this.record = record
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
21
39
|
export class SignatureCreationError extends Error {
|
|
22
40
|
static name = 'SignatureCreationError'
|
|
23
41
|
name = 'SignatureCreationError'
|