@pkcprotocol/pkc-js 0.0.74 → 0.0.76
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 +34 -1
- package/dist/browser/clients/rpc-client/pkc-rpc-client.d.ts +3 -1
- package/dist/browser/clients/rpc-client/pkc-rpc-client.js +12 -1
- package/dist/browser/clients/rpc-client/pkc-rpc-client.js.map +1 -1
- package/dist/browser/clients/rpc-client/rpc-schema-util.d.ts +18 -0
- package/dist/browser/clients/rpc-client/rpc-schema-util.js +5 -1
- package/dist/browser/clients/rpc-client/rpc-schema-util.js.map +1 -1
- package/dist/browser/clients/rpc-client/schema.d.ts +15 -0
- package/dist/browser/clients/rpc-client/schema.js +20 -0
- package/dist/browser/clients/rpc-client/schema.js.map +1 -1
- package/dist/browser/clients/rpc-client/types.d.ts +3 -2
- package/dist/browser/community/community-client-manager.js +9 -9
- package/dist/browser/community/community-client-manager.js.map +1 -1
- package/dist/browser/community/rpc-local-community.d.ts +6 -1
- package/dist/browser/community/rpc-local-community.js +32 -0
- package/dist/browser/community/rpc-local-community.js.map +1 -1
- package/dist/browser/community/schema.d.ts +15 -0
- package/dist/browser/community/schema.js +16 -1
- package/dist/browser/community/schema.js.map +1 -1
- package/dist/browser/community/types.d.ts +14 -1
- package/dist/browser/constants.d.ts +3 -1
- package/dist/browser/constants.js +9 -1
- package/dist/browser/constants.js.map +1 -1
- package/dist/browser/errors.d.ts +10 -0
- package/dist/browser/errors.js +10 -0
- package/dist/browser/errors.js.map +1 -1
- package/dist/browser/generated-version.d.ts +1 -1
- package/dist/browser/generated-version.js +1 -1
- package/dist/browser/helia/helia-for-pkc.d.ts +1 -1
- package/dist/browser/helia/helia-for-pkc.js +41 -5
- package/dist/browser/helia/helia-for-pkc.js.map +1 -1
- package/dist/browser/helia/lru-blockstore.d.ts +92 -0
- package/dist/browser/helia/lru-blockstore.js +224 -0
- package/dist/browser/helia/lru-blockstore.js.map +1 -0
- package/dist/browser/index-with-compile-cache.d.ts +2 -0
- package/dist/browser/index-with-compile-cache.js +1 -0
- package/dist/browser/index-with-compile-cache.js.map +1 -1
- package/dist/browser/index.d.ts +3 -0
- package/dist/browser/index.js +8 -0
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/pkc/pkc.js +41 -4
- package/dist/browser/pkc/pkc.js.map +1 -1
- package/dist/browser/pkc-error.d.ts +1 -1
- package/dist/browser/rpc/src/index.d.ts +4 -1
- package/dist/browser/rpc/src/index.js +29 -1
- package/dist/browser/rpc/src/index.js.map +1 -1
- package/dist/browser/rpc/src/lib/pkc-js/index.d.ts +1 -0
- package/dist/browser/rpc/src/schema.d.ts +16 -0
- package/dist/browser/runtime/browser/blockstore.d.ts +25 -0
- package/dist/browser/runtime/browser/blockstore.js +40 -0
- package/dist/browser/runtime/browser/blockstore.js.map +1 -0
- package/dist/browser/runtime/node/blockstore.d.ts +32 -0
- package/dist/browser/runtime/node/blockstore.js +42 -0
- package/dist/browser/runtime/node/blockstore.js.map +1 -0
- package/dist/browser/runtime/node/community/local-community/anchor-publishing.d.ts +9 -0
- package/dist/browser/runtime/node/community/local-community/anchor-publishing.js +197 -0
- package/dist/browser/runtime/node/community/local-community/anchor-publishing.js.map +1 -0
- package/dist/browser/runtime/node/community/local-community/db-state.js +22 -4
- package/dist/browser/runtime/node/community/local-community/db-state.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/identity.d.ts +2 -0
- package/dist/browser/runtime/node/community/local-community/identity.js +13 -0
- package/dist/browser/runtime/node/community/local-community/identity.js.map +1 -0
- package/dist/browser/runtime/node/community/local-community/lifecycle.js +24 -0
- package/dist/browser/runtime/node/community/local-community/lifecycle.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/publication-store.js +7 -3
- package/dist/browser/runtime/node/community/local-community/publication-store.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/publication-validation.js +6 -2
- package/dist/browser/runtime/node/community/local-community/publication-validation.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community.d.ts +5 -1
- package/dist/browser/runtime/node/community/local-community.js +47 -6
- package/dist/browser/runtime/node/community/local-community.js.map +1 -1
- package/dist/browser/schema/schema-util.d.ts +6 -0
- package/dist/browser/schema/schema.d.ts +1 -0
- package/dist/browser/schema/schema.js +11 -0
- package/dist/browser/schema/schema.js.map +1 -1
- package/dist/browser/schema.d.ts +20 -0
- package/dist/browser/schema.js +11 -1
- package/dist/browser/schema.js.map +1 -1
- package/dist/browser/signer/index.d.ts +1 -0
- package/dist/browser/signer/index.js +1 -0
- package/dist/browser/signer/index.js.map +1 -1
- package/dist/browser/signer/ipns-record.d.ts +7 -0
- package/dist/browser/signer/ipns-record.js +34 -0
- package/dist/browser/signer/ipns-record.js.map +1 -0
- package/dist/browser/signer/signatures.d.ts +2 -2
- package/dist/browser/signer/signatures.js +18 -6
- package/dist/browser/signer/signatures.js.map +1 -1
- package/dist/browser/test/test-util.d.ts +4 -0
- package/dist/bundled/bundle-manifest.json +204 -92
- package/dist/bundled/chunks/helia-for-pkc-cKp6JSwA.js +6915 -0
- package/dist/bundled/chunks/{local-community-Br1ipu1Z.js → local-community-B3Fhrtiy.js} +205 -38
- package/dist/bundled/chunks/{local-community-CIVs_iuS.js → local-community-DerKPzJm.js} +1 -1
- package/dist/bundled/chunks/{node-Cn7VaPDJ.js → node-DffqRPit.js} +43 -9
- package/dist/bundled/chunks/{rpc-local-community-DtdeJBOq.js → rpc-local-community-BdNiruAf.js} +96 -38
- package/dist/bundled/chunks/{schema-B1Ot-kux.js → schema-BvBJX6m7.js} +29 -5
- package/dist/bundled/chunks/{src-o_MYSn-E.js → src-B2CwDTfy.js} +2 -142
- package/dist/bundled/chunks/{src-4u0f92eE.js → src-BEjAH2gY.js} +3 -128
- package/dist/bundled/chunks/src-Cpx2Sts8.js +127 -0
- package/dist/bundled/chunks/src-DKntVmyX.js +142 -0
- package/dist/bundled/chunks/{util-B6v5HAdy.js → util-BRxHPb9G.js} +1 -1
- package/dist/bundled/index-with-compile-cache.js +2 -1
- package/dist/bundled/index.js +2 -2
- package/dist/bundled/rpc/src/index.js +27 -4
- package/dist/node/clients/rpc-client/pkc-rpc-client.d.ts +3 -1
- package/dist/node/clients/rpc-client/pkc-rpc-client.js +12 -1
- package/dist/node/clients/rpc-client/pkc-rpc-client.js.map +1 -1
- package/dist/node/clients/rpc-client/rpc-schema-util.d.ts +18 -0
- package/dist/node/clients/rpc-client/rpc-schema-util.js +5 -1
- package/dist/node/clients/rpc-client/rpc-schema-util.js.map +1 -1
- package/dist/node/clients/rpc-client/schema.d.ts +15 -0
- package/dist/node/clients/rpc-client/schema.js +20 -0
- package/dist/node/clients/rpc-client/schema.js.map +1 -1
- package/dist/node/clients/rpc-client/types.d.ts +3 -2
- package/dist/node/community/community-client-manager.js +9 -9
- package/dist/node/community/community-client-manager.js.map +1 -1
- package/dist/node/community/rpc-local-community.d.ts +6 -1
- package/dist/node/community/rpc-local-community.js +32 -0
- package/dist/node/community/rpc-local-community.js.map +1 -1
- package/dist/node/community/schema.d.ts +15 -0
- package/dist/node/community/schema.js +16 -1
- package/dist/node/community/schema.js.map +1 -1
- package/dist/node/community/types.d.ts +14 -1
- package/dist/node/constants.d.ts +3 -1
- package/dist/node/constants.js +9 -1
- package/dist/node/constants.js.map +1 -1
- package/dist/node/errors.d.ts +10 -0
- package/dist/node/errors.js +10 -0
- package/dist/node/errors.js.map +1 -1
- package/dist/node/generated-version.d.ts +1 -1
- package/dist/node/generated-version.js +1 -1
- package/dist/node/helia/helia-for-pkc.d.ts +1 -1
- package/dist/node/helia/helia-for-pkc.js +41 -5
- package/dist/node/helia/helia-for-pkc.js.map +1 -1
- package/dist/node/helia/lru-blockstore.d.ts +92 -0
- package/dist/node/helia/lru-blockstore.js +224 -0
- package/dist/node/helia/lru-blockstore.js.map +1 -0
- package/dist/node/index-with-compile-cache.d.ts +2 -0
- package/dist/node/index-with-compile-cache.js +1 -0
- package/dist/node/index-with-compile-cache.js.map +1 -1
- package/dist/node/index.d.ts +3 -0
- package/dist/node/index.js +8 -0
- package/dist/node/index.js.map +1 -1
- package/dist/node/pkc/pkc.js +41 -4
- package/dist/node/pkc/pkc.js.map +1 -1
- package/dist/node/pkc-error.d.ts +1 -1
- package/dist/node/rpc/src/index.d.ts +4 -1
- package/dist/node/rpc/src/index.js +29 -1
- package/dist/node/rpc/src/index.js.map +1 -1
- package/dist/node/rpc/src/lib/pkc-js/index.d.ts +1 -0
- package/dist/node/rpc/src/schema.d.ts +16 -0
- package/dist/node/runtime/browser/blockstore.d.ts +25 -0
- package/dist/node/runtime/browser/blockstore.js +40 -0
- package/dist/node/runtime/browser/blockstore.js.map +1 -0
- package/dist/node/runtime/node/blockstore.d.ts +32 -0
- package/dist/node/runtime/node/blockstore.js +42 -0
- package/dist/node/runtime/node/blockstore.js.map +1 -0
- package/dist/node/runtime/node/community/local-community/anchor-publishing.d.ts +9 -0
- package/dist/node/runtime/node/community/local-community/anchor-publishing.js +197 -0
- package/dist/node/runtime/node/community/local-community/anchor-publishing.js.map +1 -0
- package/dist/node/runtime/node/community/local-community/db-state.js +22 -4
- package/dist/node/runtime/node/community/local-community/db-state.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/identity.d.ts +2 -0
- package/dist/node/runtime/node/community/local-community/identity.js +13 -0
- package/dist/node/runtime/node/community/local-community/identity.js.map +1 -0
- package/dist/node/runtime/node/community/local-community/lifecycle.js +24 -0
- package/dist/node/runtime/node/community/local-community/lifecycle.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/publication-store.js +7 -3
- package/dist/node/runtime/node/community/local-community/publication-store.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/publication-validation.js +6 -2
- package/dist/node/runtime/node/community/local-community/publication-validation.js.map +1 -1
- package/dist/node/runtime/node/community/local-community.d.ts +5 -1
- package/dist/node/runtime/node/community/local-community.js +47 -6
- package/dist/node/runtime/node/community/local-community.js.map +1 -1
- package/dist/node/schema/schema-util.d.ts +6 -0
- package/dist/node/schema/schema.d.ts +1 -0
- package/dist/node/schema/schema.js +11 -0
- package/dist/node/schema/schema.js.map +1 -1
- package/dist/node/schema.d.ts +20 -0
- package/dist/node/schema.js +11 -1
- package/dist/node/schema.js.map +1 -1
- package/dist/node/signer/index.d.ts +1 -0
- package/dist/node/signer/index.js +1 -0
- package/dist/node/signer/index.js.map +1 -1
- package/dist/node/signer/ipns-record.d.ts +7 -0
- package/dist/node/signer/ipns-record.js +34 -0
- package/dist/node/signer/ipns-record.js.map +1 -0
- package/dist/node/signer/signatures.d.ts +2 -2
- package/dist/node/signer/signatures.js +18 -6
- package/dist/node/signer/signatures.js.map +1 -1
- package/dist/node/test/test-util.d.ts +4 -0
- package/package.json +8 -5
- package/dist/bundled/chunks/helia-for-pkc-B-75U9z9.js +0 -495
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helia-for-pkc.js","sourceRoot":"","sources":["../../../src/helia/helia-for-pkc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helia-for-pkc.js","sourceRoot":"","sources":["../../../src/helia/helia-for-pkc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { AbortOptions, AwaitIterable } from "interface-store";
|
|
2
|
+
/**
|
|
3
|
+
* The dependency tree contains more than one copy of multiformats (helia 6's internals are still on
|
|
4
|
+
* 13 while our tree is on 14), and blockstore-core ships its own nested interface-blockstore. A CID
|
|
5
|
+
* handed to us by helia is therefore not the same class as a CID we construct, and the packages'
|
|
6
|
+
* `Blockstore`/`Pair` types are not mutually assignable.
|
|
7
|
+
*
|
|
8
|
+
* This wrapper sidesteps all of it by typing structurally: the only thing it ever needs from a CID
|
|
9
|
+
* is the multihash bytes, and every backend we use (blockstore-core, blockstore-fs, blockstore-idb)
|
|
10
|
+
* addresses blocks by exactly those bytes and ignores the codec.
|
|
11
|
+
*/
|
|
12
|
+
export interface BlockstoreCid {
|
|
13
|
+
multihash: {
|
|
14
|
+
bytes: Uint8Array;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export interface BlockstorePair {
|
|
18
|
+
cid: BlockstoreCid;
|
|
19
|
+
bytes: AwaitIterable<Uint8Array>;
|
|
20
|
+
}
|
|
21
|
+
export interface ChildBlockstore {
|
|
22
|
+
has(cid: BlockstoreCid, options?: AbortOptions): boolean | Promise<boolean>;
|
|
23
|
+
put(cid: BlockstoreCid, val: Uint8Array | AwaitIterable<Uint8Array>, options?: AbortOptions): unknown;
|
|
24
|
+
get(cid: BlockstoreCid, options?: AbortOptions): AwaitIterable<Uint8Array>;
|
|
25
|
+
delete(cid: BlockstoreCid, options?: AbortOptions): void | Promise<void>;
|
|
26
|
+
getAll(options?: AbortOptions): AwaitIterable<BlockstorePair>;
|
|
27
|
+
}
|
|
28
|
+
export interface LruBlockstoreOptions {
|
|
29
|
+
maxBytes: number;
|
|
30
|
+
lowWaterRatio?: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A size-capped LRU cache in front of any blockstore.
|
|
34
|
+
*
|
|
35
|
+
* pkc-js pins nothing: every block we hold is refetchable from the network and we are not a
|
|
36
|
+
* provider of record for any of it. So the eviction policy here is a plain cache policy rather
|
|
37
|
+
* than helia's pin-based `gc()`, which with zero pins would simply delete everything.
|
|
38
|
+
*
|
|
39
|
+
* Recency is tracked by `_sizes` insertion order (a Map iterates in insertion order, so the front
|
|
40
|
+
* is the least recently used). Reads and writes move a key to the back; `getAll` deliberately does
|
|
41
|
+
* NOT, since a full scan would otherwise flatten the LRU ordering into scan order.
|
|
42
|
+
*
|
|
43
|
+
* Nothing protects a block that an in-flight DAG walk is midway through reading. Worst case an
|
|
44
|
+
* eviction lands between two blocks of an active load and that load re-fetches the block, which is
|
|
45
|
+
* latency rather than corruption. Do not "fix" this with pins.
|
|
46
|
+
*/
|
|
47
|
+
export declare class LruBlockstore {
|
|
48
|
+
private readonly _child;
|
|
49
|
+
private readonly _maxBytes;
|
|
50
|
+
private readonly _lowWaterBytes;
|
|
51
|
+
private readonly _sizes;
|
|
52
|
+
private _totalBytes;
|
|
53
|
+
private _evicting?;
|
|
54
|
+
constructor(child: ChildBlockstore, options: LruBlockstoreOptions);
|
|
55
|
+
get totalBytes(): number;
|
|
56
|
+
get blockCount(): number;
|
|
57
|
+
private _keyOf;
|
|
58
|
+
private _touch;
|
|
59
|
+
private _register;
|
|
60
|
+
private _unregister;
|
|
61
|
+
has(cid: BlockstoreCid, options?: AbortOptions): Promise<boolean>;
|
|
62
|
+
put(cid: BlockstoreCid, val: Uint8Array | AwaitIterable<Uint8Array>, options?: AbortOptions): Promise<BlockstoreCid>;
|
|
63
|
+
get(cid: BlockstoreCid, options?: AbortOptions): AsyncGenerator<Uint8Array<ArrayBufferLike>, void, unknown>;
|
|
64
|
+
delete(cid: BlockstoreCid, options?: AbortOptions): Promise<void>;
|
|
65
|
+
putMany(source: AwaitIterable<{
|
|
66
|
+
cid: BlockstoreCid;
|
|
67
|
+
bytes: Uint8Array | AwaitIterable<Uint8Array>;
|
|
68
|
+
}>, options?: AbortOptions): AsyncGenerator<BlockstoreCid, void, unknown>;
|
|
69
|
+
getMany(source: AwaitIterable<BlockstoreCid>, options?: AbortOptions): AsyncGenerator<{
|
|
70
|
+
cid: BlockstoreCid;
|
|
71
|
+
bytes: AsyncGenerator<Uint8Array<ArrayBufferLike>, void, unknown>;
|
|
72
|
+
}, void, unknown>;
|
|
73
|
+
deleteMany(source: AwaitIterable<BlockstoreCid>, options?: AbortOptions): AsyncGenerator<BlockstoreCid, void, unknown>;
|
|
74
|
+
getAll(options?: AbortOptions): AsyncGenerator<BlockstorePair, void, any>;
|
|
75
|
+
private _evictIfNeeded;
|
|
76
|
+
private _evict;
|
|
77
|
+
/**
|
|
78
|
+
* Populate the index from a child that already holds blocks (a persistent backend on a second
|
|
79
|
+
* run). Sizes are only knowable by reading every block back, so this is O(store) in IO and is
|
|
80
|
+
* meant to be kicked off in the background rather than awaited before the first load. Until it
|
|
81
|
+
* finishes the store can sit over its cap, since we cannot evict what we have not counted.
|
|
82
|
+
*
|
|
83
|
+
* Resilient by design: blockstore-fs reconstructs a CID in `getAll` by decoding raw multihash
|
|
84
|
+
* bytes, which throws for any hash that is not a valid CIDv0 (i.e. anything but sha2-256).
|
|
85
|
+
* A store holding such a block would otherwise abort the whole scan, so a failure here leaves
|
|
86
|
+
* a partial index rather than propagating.
|
|
87
|
+
*/
|
|
88
|
+
rebuildIndex(options?: AbortOptions): Promise<{
|
|
89
|
+
blocks: number;
|
|
90
|
+
bytes: number;
|
|
91
|
+
}>;
|
|
92
|
+
}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import { base32 } from "multiformats/bases/base32";
|
|
2
|
+
import { CID } from "multiformats/cid";
|
|
3
|
+
import * as Digest from "multiformats/hashes/digest";
|
|
4
|
+
import * as raw from "multiformats/codecs/raw";
|
|
5
|
+
import Logger from "../logger.js";
|
|
6
|
+
const log = Logger("pkc-js:libp2p-js:blockstore");
|
|
7
|
+
// Sum an incoming block value, which the streaming blockstore API allows to be either a single
|
|
8
|
+
// Uint8Array or an (async) iterable of chunks. We have to materialize it either way: the value is
|
|
9
|
+
// consumed once, so measuring it and then handing the original iterable to the child would give
|
|
10
|
+
// the child an already-drained iterator.
|
|
11
|
+
async function materialize(val) {
|
|
12
|
+
if (val instanceof Uint8Array)
|
|
13
|
+
return { chunks: [val], size: val.byteLength };
|
|
14
|
+
const chunks = [];
|
|
15
|
+
let size = 0;
|
|
16
|
+
for await (const chunk of val) {
|
|
17
|
+
chunks.push(chunk);
|
|
18
|
+
size += chunk.byteLength;
|
|
19
|
+
}
|
|
20
|
+
return { chunks, size };
|
|
21
|
+
}
|
|
22
|
+
// blockstore-core keys on `base32(cid.multihash.bytes)`, blockstore-idb on the base32upper of the
|
|
23
|
+
// same bytes, and blockstore-fs shards on them too, so a CID rebuilt with the raw codec addresses
|
|
24
|
+
// the same block that was originally put under dag-pb or any other codec.
|
|
25
|
+
function cidFromIndexKey(key) {
|
|
26
|
+
return CID.createV1(raw.code, Digest.decode(base32.decode(key)));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* A size-capped LRU cache in front of any blockstore.
|
|
30
|
+
*
|
|
31
|
+
* pkc-js pins nothing: every block we hold is refetchable from the network and we are not a
|
|
32
|
+
* provider of record for any of it. So the eviction policy here is a plain cache policy rather
|
|
33
|
+
* than helia's pin-based `gc()`, which with zero pins would simply delete everything.
|
|
34
|
+
*
|
|
35
|
+
* Recency is tracked by `_sizes` insertion order (a Map iterates in insertion order, so the front
|
|
36
|
+
* is the least recently used). Reads and writes move a key to the back; `getAll` deliberately does
|
|
37
|
+
* NOT, since a full scan would otherwise flatten the LRU ordering into scan order.
|
|
38
|
+
*
|
|
39
|
+
* Nothing protects a block that an in-flight DAG walk is midway through reading. Worst case an
|
|
40
|
+
* eviction lands between two blocks of an active load and that load re-fetches the block, which is
|
|
41
|
+
* latency rather than corruption. Do not "fix" this with pins.
|
|
42
|
+
*/
|
|
43
|
+
export class LruBlockstore {
|
|
44
|
+
constructor(child, options) {
|
|
45
|
+
// base32(multihash) => block size in bytes. Insertion order is the LRU order.
|
|
46
|
+
this._sizes = new Map();
|
|
47
|
+
this._totalBytes = 0;
|
|
48
|
+
if (!(options.maxBytes > 0))
|
|
49
|
+
throw Error("LruBlockstore requires a positive maxBytes");
|
|
50
|
+
const lowWaterRatio = options.lowWaterRatio ?? 0.75;
|
|
51
|
+
if (!(lowWaterRatio > 0 && lowWaterRatio <= 1))
|
|
52
|
+
throw Error("LruBlockstore requires lowWaterRatio in (0, 1]");
|
|
53
|
+
this._child = child;
|
|
54
|
+
this._maxBytes = options.maxBytes;
|
|
55
|
+
this._lowWaterBytes = Math.floor(options.maxBytes * lowWaterRatio);
|
|
56
|
+
}
|
|
57
|
+
get totalBytes() {
|
|
58
|
+
return this._totalBytes;
|
|
59
|
+
}
|
|
60
|
+
get blockCount() {
|
|
61
|
+
return this._sizes.size;
|
|
62
|
+
}
|
|
63
|
+
_keyOf(cid) {
|
|
64
|
+
return base32.encode(cid.multihash.bytes);
|
|
65
|
+
}
|
|
66
|
+
// move an already-known key to the back of the LRU order
|
|
67
|
+
_touch(key) {
|
|
68
|
+
const size = this._sizes.get(key);
|
|
69
|
+
if (size === undefined)
|
|
70
|
+
return;
|
|
71
|
+
this._sizes.delete(key);
|
|
72
|
+
this._sizes.set(key, size);
|
|
73
|
+
}
|
|
74
|
+
_register(key, size) {
|
|
75
|
+
const previous = this._sizes.get(key);
|
|
76
|
+
if (previous !== undefined) {
|
|
77
|
+
this._totalBytes -= previous;
|
|
78
|
+
this._sizes.delete(key);
|
|
79
|
+
}
|
|
80
|
+
this._sizes.set(key, size);
|
|
81
|
+
this._totalBytes += size;
|
|
82
|
+
}
|
|
83
|
+
_unregister(key) {
|
|
84
|
+
const size = this._sizes.get(key);
|
|
85
|
+
if (size === undefined)
|
|
86
|
+
return;
|
|
87
|
+
this._sizes.delete(key);
|
|
88
|
+
this._totalBytes -= size;
|
|
89
|
+
}
|
|
90
|
+
async has(cid, options) {
|
|
91
|
+
return this._child.has(cid, options);
|
|
92
|
+
}
|
|
93
|
+
async put(cid, val, options) {
|
|
94
|
+
const { chunks, size } = await materialize(val);
|
|
95
|
+
await this._child.put(cid, chunks, options);
|
|
96
|
+
this._register(this._keyOf(cid), size);
|
|
97
|
+
await this._evictIfNeeded();
|
|
98
|
+
return cid;
|
|
99
|
+
}
|
|
100
|
+
async *get(cid, options) {
|
|
101
|
+
const key = this._keyOf(cid);
|
|
102
|
+
const known = this._sizes.has(key);
|
|
103
|
+
if (known)
|
|
104
|
+
this._touch(key);
|
|
105
|
+
let size = 0;
|
|
106
|
+
try {
|
|
107
|
+
for await (const chunk of this._child.get(cid, options)) {
|
|
108
|
+
size += chunk.byteLength;
|
|
109
|
+
yield chunk;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
catch (e) {
|
|
113
|
+
// The block is gone from the child but still in our index, so the index is now lying
|
|
114
|
+
// about both the block count and the byte total. Happens when a second process sharing
|
|
115
|
+
// the same directory evicted it, or when something outside pkc-js cleaned the store.
|
|
116
|
+
// Drop it so the accounting stays honest and the cap keeps meaning what it says.
|
|
117
|
+
this._unregister(key);
|
|
118
|
+
throw e;
|
|
119
|
+
}
|
|
120
|
+
// A block already in a persistent child from a previous session is absent from the index
|
|
121
|
+
// until something reads it (or the rebuild scan reaches it), so register it now that its
|
|
122
|
+
// size is known. Only on full consumption: a caller that abandons the iterator mid-block
|
|
123
|
+
// would otherwise register a short size and drift the byte total downward.
|
|
124
|
+
if (!known) {
|
|
125
|
+
this._register(key, size);
|
|
126
|
+
await this._evictIfNeeded();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
async delete(cid, options) {
|
|
130
|
+
await this._child.delete(cid, options);
|
|
131
|
+
this._unregister(this._keyOf(cid));
|
|
132
|
+
}
|
|
133
|
+
// blockstore-core's BaseBlockstore would supply these in terms of put/get/delete, but extending
|
|
134
|
+
// it would pull in its nested interface-blockstore copy and that copy's incompatible Pair type.
|
|
135
|
+
async *putMany(source, options) {
|
|
136
|
+
for await (const { cid, bytes } of source) {
|
|
137
|
+
await this.put(cid, bytes, options);
|
|
138
|
+
yield cid;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
async *getMany(source, options) {
|
|
142
|
+
for await (const cid of source)
|
|
143
|
+
yield { cid, bytes: this.get(cid, options) };
|
|
144
|
+
}
|
|
145
|
+
async *deleteMany(source, options) {
|
|
146
|
+
for await (const cid of source) {
|
|
147
|
+
await this.delete(cid, options);
|
|
148
|
+
yield cid;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
async *getAll(options) {
|
|
152
|
+
// deliberately does not touch: see class docstring
|
|
153
|
+
yield* this._child.getAll(options);
|
|
154
|
+
}
|
|
155
|
+
async _evictIfNeeded() {
|
|
156
|
+
if (this._totalBytes <= this._maxBytes)
|
|
157
|
+
return;
|
|
158
|
+
// fold into an in-flight run rather than starting a second one
|
|
159
|
+
if (this._evicting)
|
|
160
|
+
return this._evicting;
|
|
161
|
+
this._evicting = this._evict().finally(() => {
|
|
162
|
+
this._evicting = undefined;
|
|
163
|
+
});
|
|
164
|
+
return this._evicting;
|
|
165
|
+
}
|
|
166
|
+
async _evict() {
|
|
167
|
+
const startBytes = this._totalBytes;
|
|
168
|
+
let evicted = 0;
|
|
169
|
+
while (this._totalBytes > this._lowWaterBytes) {
|
|
170
|
+
// Map iteration order is insertion order, so the first entry is the least recently used
|
|
171
|
+
const oldest = this._sizes.keys().next();
|
|
172
|
+
if (oldest.done === true)
|
|
173
|
+
break;
|
|
174
|
+
const key = oldest.value;
|
|
175
|
+
const size = this._sizes.get(key) ?? 0;
|
|
176
|
+
// Drop from the index first: if the child delete fails we must not keep counting bytes
|
|
177
|
+
// for a block we have given up on, or the total drifts upward forever and every
|
|
178
|
+
// subsequent put triggers a futile eviction pass.
|
|
179
|
+
this._sizes.delete(key);
|
|
180
|
+
this._totalBytes -= size;
|
|
181
|
+
evicted++;
|
|
182
|
+
try {
|
|
183
|
+
await this._child.delete(cidFromIndexKey(key));
|
|
184
|
+
}
|
|
185
|
+
catch (e) {
|
|
186
|
+
log.error("Failed to evict block from blockstore", key, e);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
log(`Evicted ${evicted} blocks from blockstore, ${startBytes} bytes => ${this._totalBytes} bytes (max ${this._maxBytes}, low water ${this._lowWaterBytes})`);
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Populate the index from a child that already holds blocks (a persistent backend on a second
|
|
193
|
+
* run). Sizes are only knowable by reading every block back, so this is O(store) in IO and is
|
|
194
|
+
* meant to be kicked off in the background rather than awaited before the first load. Until it
|
|
195
|
+
* finishes the store can sit over its cap, since we cannot evict what we have not counted.
|
|
196
|
+
*
|
|
197
|
+
* Resilient by design: blockstore-fs reconstructs a CID in `getAll` by decoding raw multihash
|
|
198
|
+
* bytes, which throws for any hash that is not a valid CIDv0 (i.e. anything but sha2-256).
|
|
199
|
+
* A store holding such a block would otherwise abort the whole scan, so a failure here leaves
|
|
200
|
+
* a partial index rather than propagating.
|
|
201
|
+
*/
|
|
202
|
+
async rebuildIndex(options) {
|
|
203
|
+
let scanned = 0;
|
|
204
|
+
try {
|
|
205
|
+
for await (const { cid, bytes } of this._child.getAll(options)) {
|
|
206
|
+
const key = this._keyOf(cid);
|
|
207
|
+
if (this._sizes.has(key))
|
|
208
|
+
continue; // written during the scan; already counted
|
|
209
|
+
let size = 0;
|
|
210
|
+
for await (const chunk of bytes)
|
|
211
|
+
size += chunk.byteLength;
|
|
212
|
+
this._register(key, size);
|
|
213
|
+
scanned++;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
catch (e) {
|
|
217
|
+
log.error("Failed to fully rebuild blockstore index, continuing with a partial index", e);
|
|
218
|
+
}
|
|
219
|
+
log(`Rebuilt blockstore index from ${scanned} existing blocks, ${this._totalBytes} bytes`);
|
|
220
|
+
await this._evictIfNeeded();
|
|
221
|
+
return { blocks: scanned, bytes: this._totalBytes };
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=lru-blockstore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lru-blockstore.js","sourceRoot":"","sources":["../../../src/helia/lru-blockstore.ts"],"names":[],"mappings":"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"}
|
|
@@ -124,6 +124,7 @@ declare const _default: {
|
|
|
124
124
|
reason: import("zod").ZodOptional<import("zod").ZodString>;
|
|
125
125
|
}, import("zod/v4/core").$strip>]>]>>>;
|
|
126
126
|
}, import("zod/v4/core").$strict>>>;
|
|
127
|
+
createAnchorIpnsRecord: typeof import("./signer/ipns-record.js").createAnchorIpnsRecord;
|
|
127
128
|
};
|
|
128
129
|
export default _default;
|
|
129
130
|
export declare const setNativeFunctions: (newNativeFunctions: Partial<import("./types.js").NativeFunctions>) => void;
|
|
@@ -250,5 +251,6 @@ export declare const challenges: Record<string, import("zod/v4/core").$InferInne
|
|
|
250
251
|
reason: import("zod").ZodOptional<import("zod").ZodString>;
|
|
251
252
|
}, import("zod/v4/core").$strip>]>]>>>;
|
|
252
253
|
}, import("zod/v4/core").$strict>>>;
|
|
254
|
+
export declare const createAnchorIpnsRecord: typeof import("./signer/ipns-record.js").createAnchorIpnsRecord;
|
|
253
255
|
export type { NameResolverInterface } from "./schema.js";
|
|
254
256
|
export type { NameResolver } from "./types.js";
|
|
@@ -22,4 +22,5 @@ export const nativeFunctions = index.nativeFunctions;
|
|
|
22
22
|
export const getShortCid = index.getShortCid;
|
|
23
23
|
export const getShortAddress = index.getShortAddress;
|
|
24
24
|
export const challenges = index.challenges;
|
|
25
|
+
export const createAnchorIpnsRecord = index.createAnchorIpnsRecord;
|
|
25
26
|
//# sourceMappingURL=index-with-compile-cache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-with-compile-cache.js","sourceRoot":"","sources":["../../src/index-with-compile-cache.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,yFAAyF;AACzF,yFAAyF;AACzF,mFAAmF;AACnF,sCAAsC;AACtC,EAAE;AACF,sFAAsF;AACtF,0FAA0F;AAC1F,yFAAyF;AACzF,kFAAkF;AAClF,qCAAqC;AACrC,EAAE;AACF,yFAAyF;AACzF,wFAAwF;AACxF,0DAA0D;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,sBAAsB,EAAE,CAAC;AAEzB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;AAEzC,eAAe,KAAK,CAAC,OAAO,CAAC;AAC7B,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;AACrD,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index-with-compile-cache.js","sourceRoot":"","sources":["../../src/index-with-compile-cache.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,yFAAyF;AACzF,yFAAyF;AACzF,mFAAmF;AACnF,sCAAsC;AACtC,EAAE;AACF,sFAAsF;AACtF,0FAA0F;AAC1F,yFAAyF;AACzF,kFAAkF;AAClF,qCAAqC;AACrC,EAAE;AACF,yFAAyF;AACzF,wFAAwF;AACxF,0DAA0D;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,sBAAsB,EAAE,CAAC;AAEzB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;AAEzC,eAAe,KAAK,CAAC,OAAO,CAAC;AAC7B,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;AACrD,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;AAC3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC,sBAAsB,CAAC"}
|
package/dist/browser/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import "./zod-error-map.js";
|
|
2
2
|
import * as PKCClass from "./pkc/pkc.js";
|
|
3
3
|
import type { InputPKCOptions } from "./types.js";
|
|
4
|
+
import { createAnchorIpnsRecord as signerCreateAnchorIpnsRecord } from "./signer/ipns-record.js";
|
|
4
5
|
import type { AuthorNameRpcParam, CidRpcParam } from "./clients/rpc-client/types.js";
|
|
5
6
|
declare const PKC: {
|
|
6
7
|
(pkcOptions?: InputPKCOptions): Promise<PKCClass.PKC>;
|
|
@@ -128,6 +129,7 @@ declare const PKC: {
|
|
|
128
129
|
reason: import("zod").ZodOptional<import("zod").ZodString>;
|
|
129
130
|
}, import("zod/v4/core").$strip>]>]>>>;
|
|
130
131
|
}, import("zod/v4/core").$strict>>>;
|
|
132
|
+
createAnchorIpnsRecord: typeof signerCreateAnchorIpnsRecord;
|
|
131
133
|
};
|
|
132
134
|
export default PKC;
|
|
133
135
|
export declare const setNativeFunctions: (newNativeFunctions: Partial<import("./types.js").NativeFunctions>) => void;
|
|
@@ -254,6 +256,7 @@ export declare const challenges: Record<string, import("zod/v4/core").$InferInne
|
|
|
254
256
|
reason: import("zod").ZodOptional<import("zod").ZodString>;
|
|
255
257
|
}, import("zod/v4/core").$strip>]>]>>>;
|
|
256
258
|
}, import("zod/v4/core").$strict>>>;
|
|
259
|
+
export declare const createAnchorIpnsRecord: typeof signerCreateAnchorIpnsRecord;
|
|
257
260
|
export type { NameResolverInterface } from "./schema.js";
|
|
258
261
|
export type { NameResolver } from "./types.js";
|
|
259
262
|
export type { Libp2pJsClient } from "./helia/libp2pjsClient.js";
|
package/dist/browser/index.js
CHANGED
|
@@ -6,6 +6,7 @@ import { setNativeFunctions as utilSetNativeFunctions } from "./runtime/browser/
|
|
|
6
6
|
import nodeNativeFunctions from "./runtime/browser/native-functions.js";
|
|
7
7
|
import browserNativeFunctions from "./runtime/browser/native-functions.js";
|
|
8
8
|
import { shortifyAddress, shortifyCid } from "./util.js";
|
|
9
|
+
import { createAnchorIpnsRecord as signerCreateAnchorIpnsRecord } from "./signer/ipns-record.js";
|
|
9
10
|
import { pkcJsChallenges } from "./runtime/browser/community/challenges/index.js";
|
|
10
11
|
import { PKCWithRpcClient } from "./pkc/pkc-with-rpc-client.js";
|
|
11
12
|
import { parseRpcAuthorNameParam, parseRpcCidParam } from "./clients/rpc-client/rpc-schema-util.js";
|
|
@@ -27,10 +28,17 @@ PKC.nativeFunctions = { node: nodeNativeFunctions, browser: browserNativeFunctio
|
|
|
27
28
|
PKC.getShortCid = getShortCidValue;
|
|
28
29
|
PKC.getShortAddress = getShortAddressValue;
|
|
29
30
|
PKC.challenges = pkcJsChallenges;
|
|
31
|
+
// Delegation setup (#234): the anchor record An -> Mn is signed with As, the one key that by design
|
|
32
|
+
// never reaches the node, so this is the single step of the flow that has to run in the consumer's
|
|
33
|
+
// process. Nothing in src/ calls it and nothing ever can, which is exactly why it belongs on the
|
|
34
|
+
// public entry: without it the primitive is unreachable, since package.json's exports map has no
|
|
35
|
+
// subpath that would let a consumer deep-import src/signer. Browser-safe, same as the browser entry.
|
|
36
|
+
PKC.createAnchorIpnsRecord = signerCreateAnchorIpnsRecord;
|
|
30
37
|
export default PKC;
|
|
31
38
|
export const setNativeFunctions = PKC.setNativeFunctions;
|
|
32
39
|
export const nativeFunctions = PKC.nativeFunctions;
|
|
33
40
|
export const getShortCid = PKC.getShortCid;
|
|
34
41
|
export const getShortAddress = PKC.getShortAddress;
|
|
35
42
|
export const challenges = PKC.challenges;
|
|
43
|
+
export const createAnchorIpnsRecord = PKC.createAnchorIpnsRecord;
|
|
36
44
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAC5B,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,QAAQ,EAAE,CAAC;AACX,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,kBAAkB,IAAI,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAEpG,MAAM,GAAG,GAAG,KAAK,UAAU,GAAG,CAAC,aAA8B,EAAE;IAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9G,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IAClB,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,MAA0B,EAAE,EAAE;IACxD,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG,CAAC,MAAmB,EAAE,EAAE;IAC7C,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,GAAG,CAAC,kBAAkB,GAAG,sBAAsB,CAAC;AAChD,GAAG,CAAC,eAAe,GAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;AACrF,GAAG,CAAC,WAAW,GAAG,gBAAgB,CAAC;AACnC,GAAG,CAAC,eAAe,GAAG,oBAAoB,CAAC;AAC3C,GAAG,CAAC,UAAU,GAAG,eAAe,CAAC;AACjC,eAAe,GAAG,CAAC;AACnB,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC,kBAAkB,CAAC;AACzD,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;AACnD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAC5B,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,QAAQ,EAAE,CAAC;AACX,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,kBAAkB,IAAI,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,sBAAsB,IAAI,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAEpG,MAAM,GAAG,GAAG,KAAK,UAAU,GAAG,CAAC,aAA8B,EAAE;IAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9G,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IAClB,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,MAA0B,EAAE,EAAE;IACxD,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG,CAAC,MAAmB,EAAE,EAAE;IAC7C,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,GAAG,CAAC,kBAAkB,GAAG,sBAAsB,CAAC;AAChD,GAAG,CAAC,eAAe,GAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;AACrF,GAAG,CAAC,WAAW,GAAG,gBAAgB,CAAC;AACnC,GAAG,CAAC,eAAe,GAAG,oBAAoB,CAAC;AAC3C,GAAG,CAAC,UAAU,GAAG,eAAe,CAAC;AACjC,oGAAoG;AACpG,mGAAmG;AACnG,iGAAiG;AACjG,iGAAiG;AACjG,qGAAqG;AACrG,GAAG,CAAC,sBAAsB,GAAG,4BAA4B,CAAC;AAC1D,eAAe,GAAG,CAAC;AACnB,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC,kBAAkB,CAAC;AACzD,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;AACnD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;AACzC,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC,sBAAsB,CAAC"}
|
package/dist/browser/pkc/pkc.js
CHANGED
|
@@ -18,7 +18,7 @@ import { RemoteCommunity } from "../community/remote-community.js";
|
|
|
18
18
|
import { extractCommunityRuntimeFieldsFromParsedPages } from "../pages/util.js";
|
|
19
19
|
import pTimeout, { TimeoutError } from "p-timeout";
|
|
20
20
|
import { clone, flat, isEmpty, omit, pick, unique } from "remeda";
|
|
21
|
-
import { PubsubTopicSchema, CommunityIpfsSchema } from "../community/schema.js";
|
|
21
|
+
import { CommunityAnchorSchema, PubsubTopicSchema, CommunityIpfsSchema } from "../community/schema.js";
|
|
22
22
|
import { parseCidStringSchemaWithPKCErrorIfItFails, parseCommentEditPubsubMessagePublicationSchemaWithPKCErrorIfItFails, parseCommentIpfsSchemaWithPKCErrorIfItFails, parseCommentModerationPubsubMessagePublicationSchemaWithPKCErrorIfItFails, parseCommentPubsubMessagePublicationWithPKCErrorIfItFails, parseCreateCommentEditOptionsSchemaWithPKCErrorIfItFails, parseCreateCommentModerationOptionsSchemaWithPKCErrorIfItFails, parseCreateCommentOptionsSchemaWithPKCErrorIfItFails, parseCreateRemoteCommunityFunctionArgumentSchemaWithPKCErrorIfItFails, parseCreateCommunityEditPublicationOptionsSchemaWithPKCErrorIfItFails, parseCreateVoteOptionsSchemaWithPKCErrorIfItFails, parsePKCUserOptionsSchemaWithPKCErrorIfItFails, parseCommunityAddressWithPKCErrorIfItFails, parseCommunityEditPubsubMessagePublicationSchemaWithPKCErrorIfItFails, parseVotePubsubMessagePublicationSchemaWithPKCErrorIfItFails } from "../schema/schema-util.js";
|
|
23
23
|
import { CommentModeration } from "../publications/comment-moderation/comment-moderation.js";
|
|
24
24
|
import { setupKuboAddressesRewriterAndHttpRouters } from "../runtime/browser/setup-kubo-address-rewriter-and-http-router.js";
|
|
@@ -194,7 +194,10 @@ export class PKC extends PKCTypedEmitter {
|
|
|
194
194
|
for (const clientOptions of this.libp2pJsClientsOptions) {
|
|
195
195
|
const heliaNode = await createLibp2pJsClientOrUseExistingOne({
|
|
196
196
|
...clientOptions,
|
|
197
|
-
httpRoutersOptions: this.httpRoutersOptions
|
|
197
|
+
httpRoutersOptions: this.httpRoutersOptions,
|
|
198
|
+
// where the persistent blockstore lives on node; undefined (noData, or the browser)
|
|
199
|
+
// falls back to an in-memory blockstore
|
|
200
|
+
dataPath: this.dataPath
|
|
198
201
|
});
|
|
199
202
|
this.clients.libp2pJsClients[clientOptions.key] = heliaNode;
|
|
200
203
|
}
|
|
@@ -584,7 +587,27 @@ export class PKC extends PKCTypedEmitter {
|
|
|
584
587
|
const hasName = "name" in parsedOptions && typeof parsedOptions.name === "string";
|
|
585
588
|
const hasPublicKey = "publicKey" in parsedOptions && typeof parsedOptions.publicKey === "string";
|
|
586
589
|
const hasSigner = "signer" in parsedOptions && parsedOptions.signer !== undefined;
|
|
590
|
+
// Delegated community (#234): the caller supplies the anchor's public key and keeps its private
|
|
591
|
+
// half. Which key the caller supplies is the discriminator — a full signer means the node holds
|
|
592
|
+
// the identity key (today's behavior), an anchor public key means the owner does.
|
|
593
|
+
const anchor = parsedOptions.anchor ?? undefined;
|
|
594
|
+
const hasAnchor = anchor !== undefined;
|
|
595
|
+
// createCommunity casts its options rather than parsing them, so the anchor has to be checked
|
|
596
|
+
// here or an invalid publicKey becomes the community's address and surfaces later as a generic
|
|
597
|
+
// bad-address error, or later still inside peerIdFromString during publishAnchorRecord.
|
|
598
|
+
if (hasAnchor) {
|
|
599
|
+
const parsedAnchor = CommunityAnchorSchema.safeParse(anchor);
|
|
600
|
+
if (!parsedAnchor.success)
|
|
601
|
+
throw new PKCError("ERR_ANCHOR_PUBLIC_KEY_IS_INVALID", { anchor, zodError: parsedAnchor.error });
|
|
602
|
+
}
|
|
603
|
+
if (hasAnchor && hasSigner)
|
|
604
|
+
throw new PKCError("ERR_CAN_NOT_CREATE_A_COMMUNITY_WITH_BOTH_SIGNER_AND_ANCHOR", { ...parsedOptions });
|
|
587
605
|
const hasIdentifier = hasAddress || hasName || hasPublicKey; // can identify an existing community
|
|
606
|
+
// A delegated community is keyed by its anchor, so any identifier passed alongside would be
|
|
607
|
+
// silently dropped — {anchor, name: "x.bso"} would create a community addressed by the anchor
|
|
608
|
+
// with the name nowhere. Reject rather than ignore, same as the signer case above.
|
|
609
|
+
if (hasAnchor && hasIdentifier)
|
|
610
|
+
throw new PKCError("ERR_CAN_NOT_CREATE_A_COMMUNITY_WITH_BOTH_ANCHOR_AND_IDENTIFIER", { ...parsedOptions });
|
|
588
611
|
// Derive effective address for local-vs-remote checks
|
|
589
612
|
const effectiveAddress = parsedOptions.address ||
|
|
590
613
|
parsedOptions.name ||
|
|
@@ -594,7 +617,7 @@ export class PKC extends PKCTypedEmitter {
|
|
|
594
617
|
// Creating a community when we're connected to RPC will be handled in pkc-with-rpc-client
|
|
595
618
|
// Code below is for NodeJS and browser using IPFS-P2P/gateway
|
|
596
619
|
const canCreateLocalCommunity = this._canCreateNewLocalCommunity(); // this is true if we're on NodeJS and have a dataPath
|
|
597
|
-
if (hasSigner && !canCreateLocalCommunity)
|
|
620
|
+
if ((hasSigner || hasAnchor) && !canCreateLocalCommunity)
|
|
598
621
|
throw new PKCError("ERR_CAN_NOT_CREATE_A_LOCAL_COMMUNITY", {
|
|
599
622
|
pkcOptions: this._userPKCOptions,
|
|
600
623
|
isEnvNode: Boolean(process),
|
|
@@ -605,7 +628,21 @@ export class PKC extends PKCTypedEmitter {
|
|
|
605
628
|
const parsedRemoteOptions = parseCreateRemoteCommunityFunctionArgumentSchemaWithPKCErrorIfItFails(options);
|
|
606
629
|
return this._createRemoteCommunityInstance(parsedRemoteOptions);
|
|
607
630
|
}
|
|
608
|
-
if (
|
|
631
|
+
if (hasAnchor) {
|
|
632
|
+
// Delegated community: generate the minter (Mn/Ms) here and key the community by the anchor,
|
|
633
|
+
// which is the identity every reader resolves. The community is not resolvable until the
|
|
634
|
+
// owner signs the An -> Mn record with As and hands it back (#234).
|
|
635
|
+
// See docs/protocol/delegated-ipns.md.
|
|
636
|
+
const minterSigner = await this.createSigner();
|
|
637
|
+
const localOptions = {
|
|
638
|
+
...parsedOptions,
|
|
639
|
+
signer: minterSigner,
|
|
640
|
+
address: anchor.publicKey
|
|
641
|
+
};
|
|
642
|
+
log(`Creating a delegated local community with anchor (${anchor.publicKey}) and minter (${minterSigner.address})`);
|
|
643
|
+
return this._createLocalCommunity(localOptions);
|
|
644
|
+
}
|
|
645
|
+
else if (hasIdentifier && !hasSigner) {
|
|
609
646
|
// community is already created, need to check if it's local or remote
|
|
610
647
|
const localCommunities = await nodeListCommunities(this);
|
|
611
648
|
// Check for exact match or .eth/.bso alias match
|