@pkcprotocol/pkc-js 0.0.88 → 0.0.90
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 +1 -1
- package/dist/browser/clients/base-client-manager.js +9 -1
- package/dist/browser/clients/base-client-manager.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 +2 -0
- package/dist/browser/helia/helia-for-pkc.js +231 -67
- package/dist/browser/helia/helia-for-pkc.js.map +1 -1
- package/dist/browser/helia/libp2pjsClient.d.ts +1 -1
- package/dist/browser/helia/lru-blockstore.d.ts +9 -8
- package/dist/browser/helia/lru-blockstore.js.map +1 -1
- package/dist/browser/helia/types.d.ts +10 -10
- package/dist/browser/helia/util.d.ts +6 -0
- package/dist/browser/helia/util.js +39 -0
- package/dist/browser/helia/util.js.map +1 -1
- package/dist/browser/rpc/src/schema.d.ts +148 -22
- package/dist/browser/runtime/node/community/local-community/cleanup.js +31 -1
- package/dist/browser/runtime/node/community/local-community/cleanup.js.map +1 -1
- package/dist/browser/schema.d.ts +8 -6
- package/dist/browser/schema.js +8 -1
- package/dist/browser/schema.js.map +1 -1
- package/dist/browser/test/test-util.js +3 -1
- package/dist/browser/test/test-util.js.map +1 -1
- package/dist/bundled/bundle-manifest.json +163 -142
- package/dist/bundled/chunks/{helia-for-pkc-CgG0H5g2.js → helia-for-pkc-CnQ8VxGw.js} +92 -41
- package/dist/bundled/chunks/{local-community-6_MVz1cc.js → local-community-CfRLoFS9.js} +32 -3
- package/dist/bundled/chunks/{local-community-rFE0QOdJ.js → local-community-Ctkg7wpX.js} +1 -1
- package/dist/bundled/chunks/{node-BjSTVzbx.js → node-cD0dEbJR.js} +5 -5
- package/dist/bundled/chunks/{rpc-local-community-Bu6Wp-tO.js → rpc-local-community-OsSRSfpT.js} +433 -7
- package/dist/bundled/chunks/{schema-By3Sh-uW.js → schema-YCcI2X94.js} +3 -3
- package/dist/bundled/chunks/{src-WLgFbUwZ.js → src-629pKfxo.js} +2731 -415
- package/dist/bundled/chunks/{src-B2CwDTfy.js → src-Dz9wtvrK.js} +18 -18
- package/dist/bundled/chunks/{util-BxLdjyTF.js → util-DDB5WFK9.js} +19 -2
- package/dist/bundled/index.js +1 -1
- package/dist/bundled/rpc/src/index.js +4 -4
- package/dist/node/clients/base-client-manager.js +9 -1
- package/dist/node/clients/base-client-manager.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 +2 -0
- package/dist/node/helia/helia-for-pkc.js +231 -67
- package/dist/node/helia/helia-for-pkc.js.map +1 -1
- package/dist/node/helia/libp2pjsClient.d.ts +1 -1
- package/dist/node/helia/lru-blockstore.d.ts +9 -8
- package/dist/node/helia/lru-blockstore.js.map +1 -1
- package/dist/node/helia/types.d.ts +10 -10
- package/dist/node/helia/util.d.ts +6 -0
- package/dist/node/helia/util.js +39 -0
- package/dist/node/helia/util.js.map +1 -1
- package/dist/node/rpc/src/schema.d.ts +148 -22
- package/dist/node/runtime/node/community/local-community/cleanup.js +31 -1
- package/dist/node/runtime/node/community/local-community/cleanup.js.map +1 -1
- package/dist/node/schema.d.ts +8 -6
- package/dist/node/schema.js +8 -1
- package/dist/node/schema.js.map +1 -1
- package/dist/node/test/test-util.js +3 -1
- package/dist/node/test/test-util.js.map +1 -1
- package/package.json +17 -16
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createHeliaLight } from "helia";
|
|
2
|
+
import { libp2pDefaults, withLibp2p } from "@helia/libp2p";
|
|
3
|
+
import { withBitswap } from "@helia/bitswap";
|
|
2
4
|
import { ipns } from "@helia/ipns";
|
|
3
5
|
import { unmarshalIPNSRecord, multihashToIPNSRoutingKey } from "ipns";
|
|
4
6
|
import { ipnsValidator } from "ipns/validator";
|
|
@@ -6,20 +8,20 @@ import { gossipsub } from "@libp2p/gossipsub";
|
|
|
6
8
|
import { identify } from "@libp2p/identify";
|
|
7
9
|
import extraLibp2pTransports from "../runtime/browser/libp2p-extra-transports.js";
|
|
8
10
|
import { CID } from "multiformats/cid";
|
|
11
|
+
import { sha512 } from "multiformats/hashes/sha2";
|
|
9
12
|
import { peerIdFromString } from "@libp2p/peer-id";
|
|
10
|
-
import { bitswap } from "@helia/block-brokers";
|
|
11
13
|
import { createBlockstoreForLibp2pJsClient } from "../runtime/browser/blockstore.js";
|
|
12
14
|
import { LruBlockstore } from "./lru-blockstore.js";
|
|
13
15
|
import { delegatedRoutingV1HttpApiClientContentRouting } from "@helia/delegated-routing-v1-http-api-client";
|
|
14
16
|
import { NotFoundError } from "@libp2p/interface";
|
|
15
17
|
import { unixfs } from "@helia/unixfs";
|
|
16
18
|
import { fetch as libp2pFetch } from "@libp2p/fetch";
|
|
17
|
-
import {
|
|
19
|
+
import { pubSubIPNSRouting as createIpnsPubusubRouter } from "@helia/ipns";
|
|
18
20
|
import Logger from "../logger.js";
|
|
19
21
|
import { EventEmitter } from "events";
|
|
20
22
|
import { PKCError } from "../pkc-error.js";
|
|
21
23
|
import { Libp2pJsClient } from "./libp2pjsClient.js";
|
|
22
|
-
import { BITSWAP_SESSION_STALLED_GET_FAILOVER_MS, cacheIpnsRecordInPubsubLocalStore, connectToPubsubPeers, directFetchIpnsRecordFromProviders, fetchBlockWithStalledSessionFailover, getHeliaDebugContext, selectBitswapSessionSeedPeers } from "./util.js";
|
|
24
|
+
import { BITSWAP_SESSION_STALLED_GET_FAILOVER_MS, cacheIpnsRecordInPubsubLocalStore, readFreshCachedIpnsRecordFromPubsubLocalStore, connectToPubsubPeers, directFetchIpnsRecordFromProviders, fetchBlockWithStalledSessionFailover, getHeliaDebugContext, selectBitswapSessionSeedPeers } from "./util.js";
|
|
23
25
|
import { createDefaultDialTransportGater } from "./dial-transport-filter.js";
|
|
24
26
|
import { ipnsNameToIpnsOverPubsubTopic } from "../util.js";
|
|
25
27
|
const log = Logger("pkc-js:libp2p-js");
|
|
@@ -84,6 +86,16 @@ function getDelegatedRoutingFields(routers) {
|
|
|
84
86
|
}
|
|
85
87
|
return routersObj;
|
|
86
88
|
}
|
|
89
|
+
// @helia/ipns routers identify themselves through a literal toString() tag ("LocalStoreRouting()",
|
|
90
|
+
// "HeliaRouting()", "PubSubRouting()"). Use that, never `constructor.name`: the classes are
|
|
91
|
+
// module-private and bundlers mangle their names, which turned the old class-name filter into a
|
|
92
|
+
// silent no-op in production builds.
|
|
93
|
+
export function ipnsRouterTag(router) {
|
|
94
|
+
return String(router);
|
|
95
|
+
}
|
|
96
|
+
export function isLocalStoreIpnsRouter(router) {
|
|
97
|
+
return ipnsRouterTag(router) === "LocalStoreRouting()";
|
|
98
|
+
}
|
|
87
99
|
export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
88
100
|
if (!pkcOptions.httpRoutersOptions?.length)
|
|
89
101
|
throw Error("You need to have pkc.httpRouterOptions to set up helia");
|
|
@@ -98,11 +110,16 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
98
110
|
client.countOfUsesOfInstance++;
|
|
99
111
|
return client;
|
|
100
112
|
}
|
|
113
|
+
// Both are set from inside the factory so that the catch handler after it can tear down
|
|
114
|
+
// whatever got started when the wiring throws part-way through: until the client lands in
|
|
115
|
+
// libp2pJsClients nothing else holds a reference to the node, and a started-but-orphaned
|
|
116
|
+
// libp2p keeps gossipsub heartbeats, bitswap and open sockets alive past pkc.destroy().
|
|
117
|
+
let startedHelia;
|
|
118
|
+
let closeBlockstore = async () => { };
|
|
101
119
|
creatingLibp2pJsClients[pkcOptions.key] = (async () => {
|
|
102
120
|
// A caller supplying their own heliaOptions.blockstore owns block storage entirely, so skip
|
|
103
121
|
// ours rather than opening a directory or IndexedDB database nothing will read.
|
|
104
122
|
let lruBlockstore;
|
|
105
|
-
let closeBlockstore = async () => { };
|
|
106
123
|
if (!pkcOptions.heliaOptions?.blockstore) {
|
|
107
124
|
const { blockstore: childBlockstore, persistent, defaultMaxBytes, close } = await createBlockstoreForLibp2pJsClient({
|
|
108
125
|
dataPath: pkcOptions.dataPath,
|
|
@@ -165,17 +182,45 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
165
182
|
// instance ever removes one, so an unbounded store grows for the life of the process.
|
|
166
183
|
// See pkc-js#240 for the measurement behind the cap.
|
|
167
184
|
blockstore: lruBlockstore,
|
|
168
|
-
blockBrokers: [bitswap()],
|
|
169
|
-
start: false,
|
|
170
185
|
...pkcOptions.heliaOptions
|
|
171
186
|
};
|
|
172
|
-
|
|
173
|
-
//
|
|
174
|
-
//
|
|
175
|
-
//
|
|
176
|
-
//
|
|
177
|
-
|
|
178
|
-
helia
|
|
187
|
+
// helia 7's createHelia() composes withHTTP() in: a public trustless-gateway block broker
|
|
188
|
+
// plus public delegated HTTP routers and recursive gateways. We use our own gateway
|
|
189
|
+
// fan-out logic in base-client-manager and only the routers the user configured, so
|
|
190
|
+
// compose the node without any HTTP components (heliaOptions.http is excluded from the
|
|
191
|
+
// schema for that reason): bitswap is the only block broker and libp2p the only content
|
|
192
|
+
// router. withLibp2p applies libp2pDefaults with shallow per-key replace semantics (same
|
|
193
|
+
// as helia 6's createHelia): every key we set above wins outright (in particular our
|
|
194
|
+
// narrow `services` map fully replaces the default one), while keys we leave out
|
|
195
|
+
// (connectionEncrypters, streamMuxers, ...) come from helia's defaults.
|
|
196
|
+
//
|
|
197
|
+
// A caller-supplied heliaOptions.blockBrokers REPLACES bitswap, as it did under helia 6
|
|
198
|
+
// (`init.blockBrokers ?? [bitswap()]`): withBitswap() is additive, so applying it on top of
|
|
199
|
+
// the caller's list would hand a gateway-only/opt-out config bitswap sessions and dials anyway.
|
|
200
|
+
//
|
|
201
|
+
// createHeliaLight registers only sha2-256/identity and dag-pb/raw, where createHelia adds
|
|
202
|
+
// sha2-512 and the dag-cbor/dag-json/json codecs. pkc records are unixfs (dag-pb/raw) so
|
|
203
|
+
// the codecs are not needed, but nothing stops a community from publishing a sha2-512 CID
|
|
204
|
+
// (e.g. `ipfs add --hash sha2-512`) and helia looks the hasher up before the first block
|
|
205
|
+
// fetch, so keep sha2-512 to match what fetched under helia 6.
|
|
206
|
+
const { libp2p: mergedLibp2pInit, bitswap: bitswapInit, blockBrokers: callerBlockBrokers, ...heliaLightInit } = mergedHeliaInit;
|
|
207
|
+
const heliaWithLibp2p = withLibp2p(createHeliaLight({
|
|
208
|
+
...heliaLightInit,
|
|
209
|
+
blockBrokers: callerBlockBrokers,
|
|
210
|
+
hashers: [sha512, ...(heliaLightInit.hashers ?? [])]
|
|
211
|
+
}), mergedLibp2pInit ?? {});
|
|
212
|
+
// The composition is typed as helia's default service map (dht, relay, upnp, ...) while our
|
|
213
|
+
// `services` above replaces it; HeliaWithLibp2pPubsub is the narrow map we actually run.
|
|
214
|
+
const helia = (callerBlockBrokers === undefined ? withBitswap(heliaWithLibp2p, bitswapInit) : heliaWithLibp2p);
|
|
215
|
+
// helia 7 creates libp2p lazily inside start() — the `helia.libp2p` getter throws
|
|
216
|
+
// NotStartedError until then — so start the node before wiring anything that reads it.
|
|
217
|
+
// Nothing can race the wiring below: no topic is subscribed and no dial is made until
|
|
218
|
+
// this factory returns the client.
|
|
219
|
+
// Assigned before start(): helia 7's start() has no rollback, so if a later mixin throws
|
|
220
|
+
// (e.g. bitswap's network.start() after withLibp2p already started libp2p) the node is
|
|
221
|
+
// half-started and must still be stopped by the catch below.
|
|
222
|
+
startedHelia = helia;
|
|
223
|
+
await helia.start();
|
|
179
224
|
log("Initialized libp2pjs helia with key", pkcOptions.key, "peer id", helia.libp2p.peerId.toString());
|
|
180
225
|
const pubsubEventHandler = new EventEmitter();
|
|
181
226
|
helia.libp2p.services.pubsub.addEventListener("message", (evt) => {
|
|
@@ -185,10 +230,6 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
185
230
|
pubsubEventHandler.emit(evt.detail.topic, msgFormatted);
|
|
186
231
|
});
|
|
187
232
|
const heliaFs = unixfs(helia);
|
|
188
|
-
const asHeliaCatCid = (ipfsPathOrCid) => {
|
|
189
|
-
CID.parse(ipfsPathOrCid.split("/")[0]); // validate the root CID; throws on malformed input
|
|
190
|
-
return ipfsPathOrCid;
|
|
191
|
-
};
|
|
192
233
|
// Issue #189: without a session, every block fetched over bitswap fires its own
|
|
193
234
|
// network.findAndConnect — a findProviders query against ALL configured HTTP routers per
|
|
194
235
|
// block, plus stray dials to whatever providers it discovers mid-fetch. cat() therefore
|
|
@@ -272,20 +313,68 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
272
313
|
signal.addEventListener("abort", onAbort, { once: true });
|
|
273
314
|
});
|
|
274
315
|
const ipnsPubsubRouter = createIpnsPubusubRouter(helia);
|
|
275
|
-
// The router's localStore is where gossipsub-delivered records get cached (handleRecord).
|
|
276
|
-
// It's declared private but is a plain class field at runtime; the direct-fetch path below
|
|
277
|
-
// writes to it to keep the cached-record invariant (issue #210).
|
|
278
|
-
const ipnsPubsubLocalStore = ipnsPubsubRouter.localStore;
|
|
279
316
|
const ipnsNameResolver = ipns(helia, {
|
|
280
317
|
routers: [ipnsPubsubRouter]
|
|
281
318
|
});
|
|
282
|
-
// @helia/ipns constructs routers as [
|
|
283
|
-
//
|
|
284
|
-
//
|
|
285
|
-
//
|
|
286
|
-
//
|
|
287
|
-
//
|
|
288
|
-
|
|
319
|
+
// @helia/ipns constructs routers as [LocalStoreIPNSRouting, HeliaIPNSRouting, ...userRouters]
|
|
320
|
+
// and hands that SAME array to its resolver/publisher/republisher, so it must be mutated in
|
|
321
|
+
// place: reassigning `.routers` only changes what pkc's own loops below iterate, while
|
|
322
|
+
// ipnsNameResolver.resolve() keeps querying (and writing the local cache through) the
|
|
323
|
+
// original list. We drop LocalStoreIPNSRouting because its get() serves whatever the
|
|
324
|
+
// datastore holds with no ttl/EOL judgment of its own: the datastore is no longer empty
|
|
325
|
+
// (gossiped pushes and the issue #210 direct-fetch write land there), and cache reads must
|
|
326
|
+
// instead go through name.resolve's ttl-honoring cache gate (issue #301) so the network
|
|
327
|
+
// fallback loop below stays a NETWORK loop rather than short-circuiting on possibly-stale
|
|
328
|
+
// cache. Keep HeliaIPNSRouting (HTTP delegated routing via helia.routing) and our pubsub
|
|
329
|
+
// router. Match by the router's toString() tag ("LocalStoreRouting()") rather than by
|
|
330
|
+
// `constructor.name`: the class is module-private and bundlers mangle its name (in 5chan's
|
|
331
|
+
// production build it becomes `dMe`), so a class-name match is a silent no-op there. The
|
|
332
|
+
// tag is a string literal and survives minification. Matching by identity (rather than
|
|
333
|
+
// by index) also means a future @helia/ipns release that re-orders the array can't make
|
|
334
|
+
// us drop the wrong router.
|
|
335
|
+
for (let i = ipnsNameResolver.routers.length - 1; i >= 0; i--) {
|
|
336
|
+
if (isLocalStoreIpnsRouter(ipnsNameResolver.routers[i]))
|
|
337
|
+
ipnsNameResolver.routers.splice(i, 1);
|
|
338
|
+
}
|
|
339
|
+
// The IPNS facade marks itself started (and runs its hourly republisher) from helia's
|
|
340
|
+
// 'start' event, which helia 7 dispatches exactly once at the end of start(), i.e. before the
|
|
341
|
+
// facade existed (its constructor walks helia's components, whose `libp2p` getter throws
|
|
342
|
+
// until start(), so it cannot be built earlier). helia 6 fell back to
|
|
343
|
+
// `libp2p.status === 'started'` and so ran the republisher; that fallback is gone in 7.
|
|
344
|
+
// Nothing in pkc depends on the facade being "started" (resolve() has no started check and
|
|
345
|
+
// pkc walks `routers` directly), so this only keeps helia-6 lifecycle parity for the
|
|
346
|
+
// republisher. start() is on the class but not on the exported IPNS interface.
|
|
347
|
+
ipnsNameResolver.start?.();
|
|
348
|
+
// The router is Startable but neither helia.start() (blockstore/datastore/routing/brokers
|
|
349
|
+
// only) nor the IPNS facade (republisher only) starts user-supplied routers. Its start()
|
|
350
|
+
// registers the libp2p/fetch topology that fills `fetchPeers`, which gates the
|
|
351
|
+
// subscription-change fast path: fetch the record over /libp2p/fetch from a server that
|
|
352
|
+
// joins the topic after our get() already ran (ipfs/helia#906) and republish it to the
|
|
353
|
+
// topic. NOTE: this path is newly enabled here, not restored. Under helia 6 nothing ever
|
|
354
|
+
// called start() on this router either, so `fetchPeers` stayed empty and the fast path
|
|
355
|
+
// never fired. It is largely redundant with the direct fetch below (issue #210) but bounded
|
|
356
|
+
// (one fetch per subscription-change event, into the router's own queue); its republish
|
|
357
|
+
// goes through raw libp2p pubsub, not pkc's mesh-gated wrapper, so a `could not publish
|
|
358
|
+
// record` error line is possible when no mesh peer exists. stop() is mirrored in stop() below.
|
|
359
|
+
await ipnsPubsubRouter.start?.();
|
|
360
|
+
// The router's localStore is where gossipsub-delivered records get cached (handleRecord).
|
|
361
|
+
// It's declared private but is a plain class field at runtime; the direct-fetch path below
|
|
362
|
+
// writes to it to keep the cached-record invariant (issue #210), and the cache gate in
|
|
363
|
+
// name.resolve reads it to serve repeat resolves locally (issue #301).
|
|
364
|
+
const ipnsPubsubLocalStore = ipnsPubsubRouter.localStore;
|
|
365
|
+
// The router's message listener drops any gossiped record whose topic is not in this
|
|
366
|
+
// private Set, and upstream only populates it inside router.get() — which the direct-fetch
|
|
367
|
+
// fast path below never calls (and which, since @helia/ipns 10, skips the add when the
|
|
368
|
+
// topic is already libp2p-subscribed). name.resolve adds every IPNS topic it subscribes
|
|
369
|
+
// here as well, so pushed records actually reach handleRecord and the localStore
|
|
370
|
+
// (issue #301). Same structural-access pattern as localStore above.
|
|
371
|
+
const ipnsPubsubRouterSubscriptions = ipnsPubsubRouter.subscriptions;
|
|
372
|
+
// Per-topic time of the last NETWORK fetch that validated a record for that name. Feeds
|
|
373
|
+
// the cache gate's freshness check (issue #301): a refetch that returns bytes identical to
|
|
374
|
+
// the cache never refreshes the localStore's write time, so without this an idle name
|
|
375
|
+
// would re-fetch on every resolve once its record's ttl first expired. Bounded by the set
|
|
376
|
+
// of IPNS names this helia instance resolves (communities the app follows).
|
|
377
|
+
const ipnsRecordNetworkValidatedAtMs = new Map();
|
|
289
378
|
// Side-channel awaitable warmup: gossipsub's pubsub.subscribe(topic) is sync and returns
|
|
290
379
|
// void, so we can't make it awaitable without breaking @helia/ipns and other internal
|
|
291
380
|
// callers that expect the sync contract. Instead, we expose `warmupForTopic(topic)` and
|
|
@@ -332,6 +421,34 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
332
421
|
log.trace("Resolving ipns name", currentName, "with options", options);
|
|
333
422
|
const ipnsPubsubTopic = ipnsNameToIpnsOverPubsubTopic(ipnsNameAsPeerId.toString());
|
|
334
423
|
const routingKey = multihashToIPNSRoutingKey(ipnsNameAsPeerId.toMultihash());
|
|
424
|
+
// Cache gate (issue #301): once a name's topic is subscribed, gossiped
|
|
425
|
+
// records keep the localStore fresh (handleRecord, enabled by the
|
|
426
|
+
// subscriptions add below), so a repeat resolve is a local read while the
|
|
427
|
+
// cached record is inside its ttl window — not a fresh multi-peer fetch
|
|
428
|
+
// race per call. This is what turns the update loop's 1s cadence from
|
|
429
|
+
// ~150 fetch streams/s at 64 communities into pushes plus one
|
|
430
|
+
// revalidation per name per ttl. Gated on the topic being subscribed
|
|
431
|
+
// because freshness relies on the push channel this resolver set up on a
|
|
432
|
+
// previous call; nocache: true bypasses the cache entirely (explicit
|
|
433
|
+
// refresh, kubo semantics). A cache read failure must never fail the
|
|
434
|
+
// resolve, so any error falls through to the network path.
|
|
435
|
+
if (options?.nocache !== true && helia.libp2p.services.pubsub.getTopics().includes(ipnsPubsubTopic)) {
|
|
436
|
+
try {
|
|
437
|
+
const cachedRecord = await readFreshCachedIpnsRecordFromPubsubLocalStore({
|
|
438
|
+
localStore: ipnsPubsubLocalStore,
|
|
439
|
+
routingKey,
|
|
440
|
+
lastNetworkValidatedAtMs: ipnsRecordNetworkValidatedAtMs.get(ipnsPubsubTopic)
|
|
441
|
+
});
|
|
442
|
+
if (cachedRecord) {
|
|
443
|
+
log.trace("Serving IPNS record for", currentName, "from the routing-layer cache");
|
|
444
|
+
yield cachedRecord.value;
|
|
445
|
+
return;
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
catch (cacheErr) {
|
|
449
|
+
log.trace("Reading the cached IPNS record for", ipnsPubsubTopic, "failed, falling through to the network", cacheErr);
|
|
450
|
+
}
|
|
451
|
+
}
|
|
335
452
|
let directFetchOutcome = { attempted: false };
|
|
336
453
|
{
|
|
337
454
|
// Subscribe so pushed record updates keep arriving (the legacy router.get() did
|
|
@@ -339,6 +456,13 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
339
456
|
// future pushes; we do NOT await it — the direct fetch does not need the mesh.
|
|
340
457
|
if (!helia.libp2p.services.pubsub.getTopics().includes(ipnsPubsubTopic))
|
|
341
458
|
helia.libp2p.services.pubsub.subscribe(ipnsPubsubTopic);
|
|
459
|
+
// Also register the topic with the pubsub router (issue #301): without
|
|
460
|
+
// this, its message listener drops every gossiped record for the topic
|
|
461
|
+
// and the subscription above only ever feeds the mesh, not the cache.
|
|
462
|
+
// Idempotent, and also heals topics first subscribed via the fallback
|
|
463
|
+
// router.get() (which since @helia/ipns 10 skips this add when the
|
|
464
|
+
// topic is already libp2p-subscribed).
|
|
465
|
+
ipnsPubsubRouterSubscriptions.add(ipnsPubsubTopic);
|
|
342
466
|
void warmupForTopic(ipnsPubsubTopic, options).catch((e) => log.trace("Fire-and-forget warmup failed for", ipnsPubsubTopic, e));
|
|
343
467
|
const directStart = Date.now();
|
|
344
468
|
try {
|
|
@@ -362,6 +486,12 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
362
486
|
// Record already validated inside the helper — unmarshal directly,
|
|
363
487
|
// do NOT re-run ipnsValidator.
|
|
364
488
|
const record = unmarshalIPNSRecord(direct.recordBytes);
|
|
489
|
+
// Stamp the network validation time for the cache gate even when
|
|
490
|
+
// the fetched bytes turn out identical to the cache (issue #301):
|
|
491
|
+
// identical bytes never refresh the localStore's write time, so
|
|
492
|
+
// this stamp is what lets an idle name serve from cache for
|
|
493
|
+
// another ttl window after a revalidation.
|
|
494
|
+
ipnsRecordNetworkValidatedAtMs.set(ipnsPubsubTopic, Date.now());
|
|
365
495
|
// Direct fetch bypasses the pubsub router's handleRecord, which is
|
|
366
496
|
// where gossipsub-delivered records get cached at the routing layer.
|
|
367
497
|
// Persist the record there ourselves (newer-only, issue #210) so
|
|
@@ -427,32 +557,28 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
427
557
|
// See docs/protocol/delegated-ipns.md.
|
|
428
558
|
//
|
|
429
559
|
// Why call routers directly instead of ipnsNameResolver.resolve():
|
|
430
|
-
//
|
|
431
|
-
//
|
|
432
|
-
//
|
|
433
|
-
//
|
|
434
|
-
//
|
|
435
|
-
//
|
|
436
|
-
//
|
|
437
|
-
//
|
|
438
|
-
//
|
|
439
|
-
//
|
|
440
|
-
//
|
|
441
|
-
//
|
|
442
|
-
//
|
|
443
|
-
//
|
|
444
|
-
//
|
|
445
|
-
//
|
|
446
|
-
//
|
|
447
|
-
//
|
|
448
|
-
//
|
|
449
|
-
//
|
|
450
|
-
//
|
|
451
|
-
//
|
|
452
|
-
// caching + ipnsSelector happen inside the pubsub router's handleRecord for
|
|
453
|
-
// gossipsub-delivered records and router.get() fetches; the direct-fetch fast path
|
|
454
|
-
// above bypasses handleRecord, so it writes the record to the router's localStore
|
|
455
|
-
// itself (cacheIpnsRecordInPubsubLocalStore, issue #210).
|
|
560
|
+
// @helia/ipns 10 reworked resolve() into an async generator that yields one
|
|
561
|
+
// IPNSResolveResult per hop (ipfs/helia#1041), so a single-hop read is now
|
|
562
|
+
// technically reachable by taking the first yield. The per-hop walk stays anyway:
|
|
563
|
+
// - the direct-fetch fast path above (libp2p/fetch from subscribers + freshly
|
|
564
|
+
// discovered providers, with the issue #210 cache write) has no equivalent
|
|
565
|
+
// inside resolve();
|
|
566
|
+
// - per-hop pubsub warmup has to happen BEFORE that hop's record is requested, and
|
|
567
|
+
// resolve() requests the next hop's record internally as soon as it yields;
|
|
568
|
+
// - per-router error aggregation below is what the tests and callers report on.
|
|
569
|
+
// Equivalence of the resolved value with resolve() is pinned in
|
|
570
|
+
// test/node/community/helia-ipns-resolve-equivalence.unit.test.ts.
|
|
571
|
+
// This does NOT bypass an active cache/TTL: the cache gate at the top of this
|
|
572
|
+
// generator (issue #301) is the cache read for this resolver, honoring
|
|
573
|
+
// `nocache !== true` and the record's ttl the way @helia/ipns' #findIpnsRecord
|
|
574
|
+
// would. IPNS here is pubsub-only (HTTP routers have getIPNS disabled in
|
|
575
|
+
// getDelegatedRoutingFields), and the pubsub router's get() never serves from
|
|
576
|
+
// cache; it always queries peers. Record caching + ipnsSelector happen inside the
|
|
577
|
+
// pubsub router's handleRecord for gossipsub-delivered records (reachable because
|
|
578
|
+
// the fast path registers each topic in the router's subscriptions Set) and
|
|
579
|
+
// router.get() fetches; the direct-fetch fast path above bypasses handleRecord, so
|
|
580
|
+
// it writes the record to the router's localStore itself
|
|
581
|
+
// (cacheIpnsRecordInPubsubLocalStore, issue #210).
|
|
456
582
|
let recordBytes;
|
|
457
583
|
const routerErrors = [];
|
|
458
584
|
for (const router of ipnsNameResolver.routers) {
|
|
@@ -486,6 +612,8 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
486
612
|
// Validate the record's signature against its routing key before trusting its value.
|
|
487
613
|
await ipnsValidator(routingKey, recordBytes);
|
|
488
614
|
const record = unmarshalIPNSRecord(recordBytes);
|
|
615
|
+
// Same freshness stamp as the direct-fetch hit above (issue #301).
|
|
616
|
+
ipnsRecordNetworkValidatedAtMs.set(ipnsPubsubTopic, Date.now());
|
|
489
617
|
yield record.value;
|
|
490
618
|
}
|
|
491
619
|
return generator();
|
|
@@ -497,7 +625,13 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
497
625
|
// see MAX_BITSWAP_SESSION_SEED_PEERS above for the why. UnixFSComponents only
|
|
498
626
|
// needs a blockstore, and blocks fetched through the session land in the same
|
|
499
627
|
// underlying blockstore helia uses, so nothing else changes.
|
|
500
|
-
|
|
628
|
+
// ipfsPath is either a bare cid or a `<root-cid>/sub/path`; derive both parts here, once,
|
|
629
|
+
// so root and sub-path can never disagree. unixfs cat takes the root CID plus the sub-path
|
|
630
|
+
// via the `path` option. (The multiformats 13/14 split that used to force string-only cat
|
|
631
|
+
// input is gone: helia 7 and our tree share a single multiformats copy.)
|
|
632
|
+
const [rootCidString, ...ipfsSubPathSegments] = ipfsPath.split("/");
|
|
633
|
+
const rootCid = CID.parse(rootCidString);
|
|
634
|
+
const ipfsSubPath = ipfsSubPathSegments.length > 0 ? ipfsSubPathSegments.join("/") : undefined;
|
|
501
635
|
const timeoutMs = parseKuboStyleTimeoutMs(options?.timeout); // throws on unparseable timeout at call time
|
|
502
636
|
// Our own option, not kubo-rpc-client's — strip it so it never reaches unixfs cat.
|
|
503
637
|
const { bitswapSessionSeedScopeIpnsPubsubTopic, ...unixfsCatOptions } = options ?? {};
|
|
@@ -520,7 +654,8 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
520
654
|
try {
|
|
521
655
|
for (let attempt = 0;; attempt++) {
|
|
522
656
|
const session = helia.blockstore.createSession(rootCid, {
|
|
523
|
-
providers
|
|
657
|
+
// helia 7 sessions take providers as libp2p-key CIDs (or multiaddrs), not PeerIds
|
|
658
|
+
providers: getBitswapSessionSeedPeers(bitswapSessionSeedScopeIpnsPubsubTopic).map((peerId) => peerId.toCID())
|
|
524
659
|
});
|
|
525
660
|
// Issue #218: the session broker waits on a single elected HAVE peer per
|
|
526
661
|
// block with no stall timeout, so one slow seeder holding the only HAVE
|
|
@@ -542,12 +677,9 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
542
677
|
});
|
|
543
678
|
let yieldedAnyBytes = false;
|
|
544
679
|
try {
|
|
545
|
-
|
|
546
|
-
// thing to cat as one string and never split out a `path` option — see
|
|
547
|
-
// asHeliaCatCid above for why the `path` option would re-trip the
|
|
548
|
-
// exporter's CID identity check.
|
|
549
|
-
const catIterable = unixfs({ blockstore: session }).cat(asHeliaCatCid(ipfsPath), {
|
|
680
|
+
const catIterable = unixfs({ blockstore: session }).cat(rootCid, {
|
|
550
681
|
...unixfsCatOptions,
|
|
682
|
+
path: ipfsSubPath,
|
|
551
683
|
signal: controller.signal
|
|
552
684
|
});
|
|
553
685
|
for await (const chunk of catIterable) {
|
|
@@ -664,8 +796,8 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
664
796
|
// createLibp2pJsClientOrUseExistingOne() can't grab a mid-stopping client.
|
|
665
797
|
delete libp2pJsClients[pkcOptions.key];
|
|
666
798
|
// Tear down the IPNS pubsub router's internal subscription state.
|
|
667
|
-
//
|
|
668
|
-
//
|
|
799
|
+
// PubSubIPNSRouting (@helia/ipns) implements Startable and tracks its own
|
|
800
|
+
// subscriptions list and fetch topology — without stop() those leak past helia.
|
|
669
801
|
for (const router of ipnsNameResolver.routers) {
|
|
670
802
|
const lifecycle = router;
|
|
671
803
|
if (typeof lifecycle.stop === "function") {
|
|
@@ -673,7 +805,7 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
673
805
|
await lifecycle.stop();
|
|
674
806
|
}
|
|
675
807
|
catch (e) {
|
|
676
|
-
log.error("Error stopping IPNS router", router
|
|
808
|
+
log.error("Error stopping IPNS router", ipnsRouterTag(router), e);
|
|
677
809
|
}
|
|
678
810
|
}
|
|
679
811
|
}
|
|
@@ -735,11 +867,43 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
735
867
|
key: pkcOptions.key
|
|
736
868
|
};
|
|
737
869
|
const client = new Libp2pJsClient(fullInstanceWithOptions);
|
|
738
|
-
await helia.start();
|
|
739
870
|
log("Helia/libp2p-js started with key", pkcOptions.key, "and peer id", helia.libp2p.peerId.toString());
|
|
740
871
|
libp2pJsClients[pkcOptions.key] = client;
|
|
741
872
|
return client;
|
|
742
|
-
})()
|
|
873
|
+
})().catch(async (creationError) => {
|
|
874
|
+
// The client never reached libp2pJsClients, so stop() can't be called on it: release
|
|
875
|
+
// whatever this factory started before rethrowing (mirrors the final-release path in stop()).
|
|
876
|
+
if (startedHelia) {
|
|
877
|
+
// The `libp2p` getter throws NotStartedError if start() failed before the libp2p mixin
|
|
878
|
+
// ran, in which case there is nothing to abort.
|
|
879
|
+
let connections = [];
|
|
880
|
+
try {
|
|
881
|
+
connections = startedHelia.libp2p.getConnections();
|
|
882
|
+
}
|
|
883
|
+
catch { }
|
|
884
|
+
for (const connection of connections) {
|
|
885
|
+
try {
|
|
886
|
+
connection.abort(new Error("pkc-js libp2p instance failed to initialize"));
|
|
887
|
+
}
|
|
888
|
+
catch (e) {
|
|
889
|
+
log.error("Error aborting libp2p connection during failed initialization", e);
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
try {
|
|
893
|
+
await startedHelia.stop();
|
|
894
|
+
}
|
|
895
|
+
catch (e) {
|
|
896
|
+
log.error("Error stopping helia after failed initialization", e);
|
|
897
|
+
}
|
|
898
|
+
}
|
|
899
|
+
try {
|
|
900
|
+
await closeBlockstore();
|
|
901
|
+
}
|
|
902
|
+
catch (e) {
|
|
903
|
+
log.error("Error closing blockstore after failed initialization", e);
|
|
904
|
+
}
|
|
905
|
+
throw creationError;
|
|
906
|
+
});
|
|
743
907
|
const createdClientPromise = creatingLibp2pJsClients[pkcOptions.key];
|
|
744
908
|
if (!createdClientPromise)
|
|
745
909
|
throw new Error("Missing creation promise after initialization");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helia-for-pkc.js","sourceRoot":"","sources":["../../../src/helia/helia-for-pkc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,MAAM,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,qBAAqB,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,6CAA6C,EAAE,MAAM,6CAA6C,CAAC;AAC5G,OAAO,EAAE,aAAa,EAAqB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,MAAM,IAAI,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,MAAM,MAAM,cAAc,CAAC;AAIlC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACH,uCAAuC,EACvC,iCAAiC,EACjC,oBAAoB,EACpB,kCAAkC,EAClC,oCAAoC,EACpC,oBAAoB,EACpB,6BAA6B,EAChC,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAE3D,MAAM,GAAG,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAEvC,MAAM,eAAe,GAA4C,EAAE,CAAC,CAAC,0CAA0C;AAC/G,MAAM,uBAAuB,GAAqD,EAAE,CAAC;AAErF,wEAAwE;AACxE,gHAAgH;AAEhH,4FAA4F;AAC5F,8FAA8F;AAC9F,+FAA+F;AAC/F,2FAA2F;AAC3F,4FAA4F;AAC5F,4EAA4E;AAC5E,MAAM,qCAAqC,GAAG,EAAE,CAAC;AAEjD,2KAA2K;AAC3K,SAAS,yBAAyB,CAAC,OAAiB;IAChD,8EAA8E;IAC9E,4FAA4F;IAC5F,oFAAoF;IACpF,iFAAiF;IACjF,0FAA0F;IAC1F,kEAAkE;IAClE,MAAM,UAAU,GAAqF,EAAE,CAAC;IACxG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,6CAA6C,CAAC;YAC1D,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;YACf,kBAAkB,EAAE,qCAAqC;SAC5D,CAAC,CAAC;QACH,UAAU,CAAC,kBAAkB,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE;YAChD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;YACpC,kFAAkF;YAClF,iFAAiF;YACjF,8EAA8E;YAC9E,OAAO,CAAC,GAAG,GAAG,KAAK,IAAI,EAAE;gBACrB,MAAM,IAAI,aAAa,CAAC,4CAA4C,CAAC,CAAC;YAC1E,CAAC,CAAC;YACF,OAAO,CAAC,GAAG,GAAG,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;YAE7B,wFAAwF;YACxF,yFAAyF;YACzF,wFAAwF;YACxF,sFAAsF;YACtF,qFAAqF;YACrF,uFAAuF;YACvF,qFAAqF;YACrF,oFAAoF;YACpF,wFAAwF;YACxF,mFAAmF;YACnF,wFAAwF;YACxF,mEAAmE;YACnE,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClE,OAAO,CAAC,aAAa,GAAG,KAAK,SAAS,CAAC,EAAE,GAAQ,EAAE,OAAsB;gBACrE,IAAI,CAAC;oBACD,KAAK,CAAC,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC/C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,SAAS,EAAE,qEAAqE,EAAE,CAAC,CAAC,CAAC;gBACrH,CAAC;YACL,CAAC,CAAC;YACF,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC;IACN,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACtD,UAEmE;IAEnE,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,MAAM;QAAE,MAAM,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAClH,MAAM,cAAc,GAAG,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACvD,IAAI,cAAc,EAAE,CAAC;QACjB,cAAc,CAAC,qBAAqB,EAAE,CAAC;QACvC,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,MAAM,qBAAqB,GAAG,uBAAuB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,qBAAqB,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC;QAC3C,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,uBAAuB,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;QAClD,4FAA4F;QAC5F,gFAAgF;QAChF,IAAI,aAAwC,CAAC;QAC7C,IAAI,eAAe,GAAG,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC;YACvC,MAAM,EACF,UAAU,EAAE,eAAe,EAC3B,UAAU,EACV,eAAe,EACf,KAAK,EACR,GAAG,MAAM,iCAAiC,CAAC;gBACxC,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,GAAG,EAAE,UAAU,CAAC,GAAG;aACtB,CAAC,CAAC;YACH,eAAe,GAAG,KAAK,CAAC;YACxB,uFAAuF;YACvF,oFAAoF;YACpF,aAAa,GAAG,IAAI,aAAa,CAAC,eAAe,EAAE;gBAC/C,QAAQ,EAAE,UAAU,CAAC,iBAAiB,EAAE,QAAQ,IAAI,eAAe;gBACnE,aAAa,EAAE,UAAU,CAAC,iBAAiB,EAAE,aAAa;aAC7D,CAAC,CAAC;YACH,wFAAwF;YACxF,yFAAyF;YACzF,oFAAoF;YACpF,oFAAoF;YACpF,IAAI,UAAU;gBACV,aAAa,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,4CAA4C,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9H,CAAC;QAED,MAAM,mBAAmB,GAAG,cAAc,EAAE,CAAC;QAC7C,MAAM,eAAe,GAAG;YACpB,MAAM,EAAE;gBACJ,sCAAsC;gBACtC,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,2GAA2G;gBACtI,aAAa,EAAE,SAAS;gBACxB,2JAA2J;gBAC3J,UAAU,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,qBAAqB,CAAC;gBACjF,4EAA4E;gBAC5E,2EAA2E;gBAC3E,+EAA+E;gBAC/E,+EAA+E;gBAC/E,sCAAsC;gBACtC,iBAAiB,EAAE,EAAE,4BAA4B,EAAE,KAAK,EAAE;gBAC1D,8EAA8E;gBAC9E,8EAA8E;gBAC9E,iFAAiF;gBACjF,mFAAmF;gBACnF,+CAA+C;gBAC/C,eAAe,EAAE,+BAA+B,EAAE;gBAClD,GAAG,UAAU,CAAC,aAAa;gBAC3B,iEAAiE;gBAEjE,QAAQ,EAAE;oBACN,+EAA+E;oBAC/E,iFAAiF;oBACjF,gFAAgF;oBAChF,6EAA6E;oBAC7E,mFAAmF;oBACnF,2EAA2E;oBAC3E,QAAQ,EAAE,QAAQ,EAAE;oBACpB,MAAM,EAAE,SAAS,EAAE;oBACnB,oGAAoG;oBACpG,KAAK,EAAE,WAAW,EAAE;oBACpB,GAAG,yBAAyB,CAAC,UAAU,CAAC,kBAAkB,CAAC;oBAC3D,GAAG,UAAU,CAAC,aAAa,EAAE,QAAQ;iBACxC;aACJ;YACD,yFAAyF;YACzF,wFAAwF;YACxF,yFAAyF;YACzF,sFAAsF;YACtF,qDAAqD;YACrD,UAAU,EAAE,aAAa;YACzB,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC;YACzB,KAAK,EAAE,KAAK;YACZ,GAAG,UAAU,CAAC,YAAY;SACY,CAAC;QAE3C,MAAM,KAAK,GAA0B,MAAM,WAAW,CAAC,eAAe,CAAC,CAAC;QAExE,wFAAwF;QACxF,mFAAmF;QACnF,yFAAyF;QACzF,uFAAuF;QACvF,sDAAsD;QACtD,KAAK,CAAC,OAAO,CAAC,OAAO,GAAI,KAAK,CAAC,OAAO,CAAC,OAAoD,CAAC,MAAM,CAC9F,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,mBAAmB,CACpD,CAAC;QAEF,GAAG,CAAC,qCAAqC,EAAE,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtG,MAAM,kBAAkB,GAAG,IAAI,YAAY,EAAE,CAAC;QAE9C,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YAC7D,GAAG,CAAC,KAAK,CAAC,oFAAoF,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAElH,kBAAkB;YAClB,MAAM,YAAY,GAAgC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5H,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAmB9B,MAAM,aAAa,GAAG,CAAC,aAAqB,EAAe,EAAE;YACzD,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mDAAmD;YAC3F,OAAO,aAAuC,CAAC;QACnD,CAAC,CAAC;QAEF,gFAAgF;QAChF,yFAAyF;QACzF,wFAAwF;QACxF,uFAAuF;QACvF,uFAAuF;QACvF,uFAAuF;QACvF,wEAAwE;QACxE,EAAE;QACF,yFAAyF;QACzF,0FAA0F;QAC1F,6EAA6E;QAC7E,MAAM,8BAA8B,GAAG,CAAC,CAAC;QACzC,0FAA0F;QAC1F,0FAA0F;QAC1F,yFAAyF;QACzF,gFAAgF;QAChF,uFAAuF;QACvF,8CAA8C;QAC9C,MAAM,0BAA0B,GAAG,CAAC,oBAA6B,EAAE,EAAE;YACjE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5C,OAAO,6BAA6B,CAAC;gBACjC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACvC,mCAAmC,EAAE,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;gBACxH,6BAA6B,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC9G,QAAQ,EAAE,8BAA8B;aAC3C,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,yFAAyF;QACzF,uFAAuF;QACvF,uFAAuF;QACvF,sFAAsF;QACtF,yFAAyF;QACzF,qBAAqB;QACrB,MAAM,wBAAwB,GAA2B,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC3H,MAAM,uBAAuB,GAAG,CAAC,OAAgB,EAAsB,EAAE;YACrE,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO,SAAS,CAAC;YAChE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC;gBAAE,OAAO,OAAO,CAAC;YAC3F,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,OAAO,GAAG,CAAC,CAAC;gBAChB,IAAI,aAAa,GAAG,CAAC,CAAC;gBACtB,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,qCAAqC,CAAC,EAAE,CAAC;oBAC9E,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7E,aAAa,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACzC,CAAC;gBACD,IAAI,aAAa,KAAK,OAAO,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC;oBAAE,OAAO,OAAO,CAAC;YACxE,CAAC;YACD,MAAM,IAAI,QAAQ,CAAC,gCAAgC,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;QACtF,CAAC,CAAC;QAEF,+EAA+E;QAC/E,iFAAiF;QACjF,4DAA4D;QAC5D,MAAM,wCAAwC,GAAG,GAAG,CAAC;QAErD,uFAAuF;QACvF,qFAAqF;QACrF,+DAA+D;QAC/D,MAAM,+BAA+B,GAAG,CAAC,KAAc,EAAW,EAAE;YAChE,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,4BAA4B;gBAAE,OAAO,IAAI,CAAC;YAC7D,IAAI,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC;gBAAE,OAAO,IAAI,CAAC;YACvG,OAAO,+BAA+B,CAAE,KAA6B,CAAC,KAAK,CAAC,CAAC;QACjF,CAAC,CAAC;QAEF,mFAAmF;QACnF,qCAAqC;QACrC,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,MAAmB,EAAiB,EAAE,CACtE,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC1B,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO,OAAO,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,GAAG,EAAE;gBACjB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,EAAE,CAAC;YACd,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC7C,OAAO,EAAE,CAAC;YACd,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEP,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACxD,0FAA0F;QAC1F,2FAA2F;QAC3F,iEAAiE;QACjE,MAAM,oBAAoB,GAAI,gBAAoE,CAAC,UAAU,CAAC;QAC9G,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE;YACjC,OAAO,EAAE,CAAC,gBAAgB,CAAC;SAC9B,CAAC,CAAC;QAEH,uFAAuF;QACvF,sFAAsF;QACtF,qFAAqF;QACrF,yFAAyF;QACzF,sFAAsF;QACtF,mCAAmC;QACnC,gBAAgB,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,KAAK,mBAAmB,CAAC,CAAC;QAEhH,yFAAyF;QACzF,sFAAsF;QACtF,wFAAwF;QACxF,qFAAqF;QACrF,4BAA4B;QAC5B,MAAM,gBAAgB,GAAG,CAAC,CAAC;QAC3B,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAyB,CAAC;QAC/D,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,OAAkC,EAAiB,EAAE;YACxF,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC5F,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;YAC9B,MAAM,CAAC,GAAG,oBAAoB,CAAC;gBAC3B,KAAK;gBACL,WAAW,EAAE,KAAK;gBAClB,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO;gBACP,GAAG,EAAE,MAAM,CAAC,4BAA4B,CAAC;aAC5C,CAAC;iBACG,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;iBACrB,OAAO,CAAC,GAAG,EAAE;gBACV,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACP,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACpC,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,+BAA+B,GAAG,GAAG,EAAE;YACzC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU;gBACvE,MAAM,IAAI,QAAQ,CAAC,gCAAgC,EAAE;oBACjD,QAAQ,EAAE,UAAU,CAAC,GAAG;oBACxB,KAAK;oBACL,GAAG,oBAAoB,CAAC,KAAK,CAAC;iBACjC,CAAC,CAAC;QACX,CAAC,CAAC;QAEF,MAAM,2BAA2B,GAAsD;YACnF,IAAI,EAAE;gBACF,OAAO,EAAE,CAAC,QAAgB,EAAE,OAAgC,EAAE,EAAE;oBAC5D,qCAAqC;oBACrC,+BAA+B,EAAE,CAAC;oBAClC,KAAK,SAAS,CAAC,CAAC,SAAS;wBACrB,MAAM,WAAW,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,QAAmC,CAAC,QAAQ,EAAE,CAAC;wBAC9G,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;wBACvD,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;wBAEvE,MAAM,eAAe,GAAG,6BAA6B,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACnF,MAAM,UAAU,GAAG,yBAAyB,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;wBAY7E,IAAI,kBAAkB,GAAuB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;wBAClE,CAAC;4BACG,gFAAgF;4BAChF,kFAAkF;4BAClF,+EAA+E;4BAC/E,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;gCACnE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;4BAC5D,KAAK,cAAc,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACtD,GAAG,CAAC,KAAK,CAAC,mCAAmC,EAAE,eAAe,EAAE,CAAC,CAAC,CACrE,CAAC;4BAEF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;4BAC/B,IAAI,CAAC;gCACD,MAAM,MAAM,GAAG,MAAM,kCAAkC,CAAC;oCACpD,KAAK;oCACL,WAAW,EAAE,eAAe;oCAC5B,UAAU;oCACV,QAAQ,EAAE,gBAAgB;oCAC1B,QAAQ,EAAE,aAAa;oCACvB,OAAO;oCACP,GAAG,EAAE,MAAM,CAAC,gCAAgC,CAAC;iCAChD,CAAC,CAAC;gCACH,IAAI,MAAM,EAAE,CAAC;oCACT,kBAAkB,GAAG;wCACjB,SAAS,EAAE,IAAI;wCACf,GAAG,EAAE,IAAI;wCACT,UAAU,EAAE,MAAM,CAAC,UAAU;wCAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;wCACrB,MAAM,EAAE,MAAM,CAAC,MAAM;qCACxB,CAAC;oCACF,mEAAmE;oCACnE,+BAA+B;oCAC/B,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oCACvD,mEAAmE;oCACnE,qEAAqE;oCACrE,iEAAiE;oCACjE,oEAAoE;oCACpE,mEAAmE;oCACnE,kEAAkE;oCAClE,kBAAkB;oCAClB,IAAI,CAAC;wCACD,MAAM,iCAAiC,CAAC;4CACpC,UAAU,EAAE,oBAAoB;4CAChC,UAAU;4CACV,gBAAgB,EAAE,MAAM,CAAC,WAAW;yCACvC,CAAC,CAAC;oCACP,CAAC;oCAAC,OAAO,QAAQ,EAAE,CAAC;wCAChB,GAAG,CAAC,KAAK,CACL,4EAA4E,EAC5E,eAAe,EACf,QAAQ,CACX,CAAC;oCACN,CAAC;oCACD,MAAM,MAAM,CAAC,KAAK,CAAC;oCACnB,OAAO;gCACX,CAAC;gCACD,kBAAkB,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;4BAC/F,CAAC;4BAAC,OAAO,SAAS,EAAE,CAAC;gCACjB,sEAAsE;gCACtE,uDAAuD;gCACvD,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO;oCAAE,MAAM,SAAS,CAAC;gCAC9C,kBAAkB,GAAG;oCACjB,SAAS,EAAE,IAAI;oCACf,GAAG,EAAE,KAAK;oCACV,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;oCACpC,KAAK,EAAE,SAAkB;iCAC5B,CAAC;gCACF,GAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;4BAChF,CAAC;wBACL,CAAC;wBAWD,IAAI,aAAa,GAAkB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;wBACxD,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;4BAC/B,IAAI,CAAC;gCACD,MAAM,cAAc,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gCAC/C,aAAa,GAAG;oCACZ,SAAS,EAAE,IAAI;oCACf,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;oCACpC,sBAAsB,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,MAAM;iCAC9F,CAAC;4BACN,CAAC;4BAAC,OAAO,SAAS,EAAE,CAAC;gCACjB,aAAa,GAAG;oCACZ,SAAS,EAAE,IAAI;oCACf,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;oCACpC,KAAK,EAAE,SAAkB;iCAC5B,CAAC;gCACF,GAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;4BAChF,CAAC;wBACL,CAAC;wBAED,4EAA4E;wBAC5E,+EAA+E;wBAC/E,gFAAgF;wBAChF,6EAA6E;wBAC7E,iFAAiF;wBACjF,oFAAoF;wBACpF,uCAAuC;wBACvC,EAAE;wBACF,mEAAmE;wBACnE,4EAA4E;wBAC5E,mFAAmF;wBACnF,oFAAoF;wBACpF,qCAAqC;wBACrC,mFAAmF;wBACnF,gFAAgF;wBAChF,oFAAoF;wBACpF,oFAAoF;wBACpF,wEAAwE;wBACxE,sFAAsF;wBACtF,wFAAwF;wBACxF,yFAAyF;wBACzF,8EAA8E;wBAC9E,uFAAuF;wBACvF,8DAA8D;wBAC9D,mEAAmE;wBACnE,oFAAoF;wBACpF,gFAAgF;wBAChF,oFAAoF;wBACpF,oFAAoF;wBACpF,qFAAqF;wBACrF,qFAAqF;wBACrF,4EAA4E;wBAC5E,mFAAmF;wBACnF,kFAAkF;wBAClF,0DAA0D;wBAC1D,IAAI,WAAmC,CAAC;wBACxC,MAAM,YAAY,GAAY,EAAE,CAAC;wBACjC,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;4BAC5C,IAAI,CAAC;gCACD,4EAA4E;gCAC5E,+EAA+E;gCAC/E,yEAAyE;gCACzE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gCAC1E,IAAI,GAAG,EAAE,CAAC;oCACN,WAAW,GAAG,GAAG,CAAC;oCAClB,MAAM;gCACV,CAAC;4BACL,CAAC;4BAAC,OAAO,GAAG,EAAE,CAAC;gCACX,YAAY,CAAC,IAAI,CAAC,GAAY,CAAC,CAAC;4BACpC,CAAC;wBACL,CAAC;wBAED,IAAI,CAAC,WAAW;4BACZ,MAAM,IAAI,QAAQ,CAAC,oCAAoC,EAAE;gCACrD,QAAQ;gCACR,WAAW;gCACX,eAAe;gCACf,kBAAkB,EAAE,OAAO;gCAC3B,kBAAkB;gCAClB,aAAa;gCACb,YAAY;gCACZ,wBAAwB,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,MAAM;gCAC7F,WAAW,EAAE,UAAU,CAAC,kBAAkB;gCAC1C,GAAG,oBAAoB,CAAC,KAAK,CAAC;6BACjC,CAAC,CAAC;wBAEP,qFAAqF;wBACrF,MAAM,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;wBAC7C,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;wBAChD,MAAM,MAAM,CAAC,KAAK,CAAC;oBACvB,CAAC;oBAED,OAAO,SAAS,EAAE,CAAC;gBACvB,CAAC;aACJ;YACD,GAAG,CAAC,QAAgB,EAAE,OAAO;gBACzB,+BAA+B,EAAE,CAAC;gBAClC,+EAA+E;gBAC/E,8EAA8E;gBAC9E,8EAA8E;gBAC9E,6DAA6D;gBAC7D,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,6CAA6C;gBAC1G,mFAAmF;gBACnF,MAAM,EAAE,sCAAsC,EAAE,GAAG,gBAAgB,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;gBAEtF,OAAO,CAAC,KAAK,SAAS,CAAC;oBACnB,2EAA2E;oBAC3E,+EAA+E;oBAC/E,+EAA+E;oBAC/E,4EAA4E;oBAC5E,6EAA6E;oBAC7E,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;oBACzC,MAAM,YAAY,GAAG,OAAO,EAAE,MAAM,CAAC;oBACrC,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;oBAC3E,IAAI,YAAY,EAAE,OAAO;wBAAE,qBAAqB,EAAE,CAAC;;wBAC9C,YAAY,EAAE,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpF,MAAM,YAAY,GACd,SAAS,KAAK,SAAS;wBACnB,CAAC,CAAC,UAAU,CACN,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,EAC1F,SAAS,CACZ;wBACH,CAAC,CAAC,SAAS,CAAC;oBACpB,IAAI,CAAC;wBACD,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;4BAChC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE;gCACpD,SAAS,EAAE,0BAA0B,CAAC,sCAAsC,CAAC;6BAChF,CAAC,CAAC;4BACH,yEAAyE;4BACzE,wEAAwE;4BACxE,iEAAiE;4BACjE,uEAAuE;4BACvE,yEAAyE;4BACzE,yEAAyE;4BACzE,mEAAmE;4BACnE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;4BAChE,OAAO,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,CACxC,oCAAoC,CAAC;gCACjC,GAAG,EAAE,QAAQ;gCACb,UAAU;gCACV,WAAW;gCACX,cAAc,EACV,2BAA2B,CAAC,mCAAmC;oCAC/D,uCAAuC;gCAC3C,OAAO,EAAE,eAAe;gCACxB,GAAG;6BACN,CAAC,CAAC;4BACP,IAAI,eAAe,GAAG,KAAK,CAAC;4BAC5B,IAAI,CAAC;gCACD,2EAA2E;gCAC3E,uEAAuE;gCACvE,kEAAkE;gCAClE,iCAAiC;gCACjC,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;oCAC7E,GAAG,gBAAgB;oCACnB,MAAM,EAAE,UAAU,CAAC,MAAM;iCAC5B,CAAC,CAAC;gCACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;oCACpC,eAAe,GAAG,IAAI,CAAC;oCACvB,MAAM,KAAK,CAAC;gCAChB,CAAC;gCACD,OAAO;4BACX,CAAC;4BAAC,OAAO,QAAQ,EAAE,CAAC;gCAChB,sEAAsE;gCACtE,oEAAoE;gCACpE,iEAAiE;gCACjE,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;oCACzB,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;gCAC1F,0EAA0E;gCAC1E,yEAAyE;gCACzE,oEAAoE;gCACpE,sEAAsE;gCACtE,qEAAqE;gCACrE,wEAAwE;gCACxE,yEAAyE;gCACzE,uEAAuE;gCACvE,iEAAiE;gCACjE,+CAA+C;gCAC/C,IAAI,eAAe,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC;oCAAE,MAAM,QAAQ,CAAC;gCAClF,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;4BACtG,CAAC;oCAAS,CAAC;gCACP,yEAAyE;gCACzE,yDAAyD;gCACzD,OAAO,CAAC,KAAK,EAAE,CAAC;4BACpB,CAAC;4BACD,MAAM,cAAc,CAChB,IAAI,CAAC,GAAG,CAAC,wCAAwC,GAAG,CAAC,IAAI,OAAO,EAAE,KAAK,CAAC,EACxE,UAAU,CAAC,MAAM,CACpB,CAAC;4BACF,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gCAC5B,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,YAAY,KAAK;oCAAE,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;gCAC9E,MAAM,IAAI,QAAQ,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;4BAC7E,CAAC;wBACL,CAAC;oBACL,CAAC;4BAAS,CAAC;wBACP,IAAI,YAAY,KAAK,SAAS;4BAAE,YAAY,CAAC,YAAY,CAAC,CAAC;wBAC3D,YAAY,EAAE,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;oBACtE,CAAC;gBACL,CAAC,CAAC,EAAE,CAAC;YACT,CAAC;YACD,MAAM,EAAE;gBACJ,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE;gBACxD,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;gBACnF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;oBACpC,+BAA+B,EAAE,CAAC;oBAClC,kFAAkF;oBAClF,iFAAiF;oBACjF,kFAAkF;oBAClF,0EAA0E;oBAC1E,gFAAgF;oBAChF,gFAAgF;oBAChF,8EAA8E;oBAC9E,4EAA4E;oBAC5E,uDAAuD;oBACvD,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACtF,IAAI,CAAC,oBAAoB;wBAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACzE,IAAI,CAAC;wBACD,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;wBACrC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;wBACpE,GAAG,CACC,qEAAqE,EACrE,KAAK,EACL,gFAAgF,EAChF,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAC1C,CAAC;oBACN,CAAC;4BAAS,CAAC;wBACP,IAAI,CAAC,oBAAoB;4BAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC/E,CAAC;gBACL,CAAC;gBACD,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;oBACzC,+BAA+B,EAAE,CAAC;oBAClC,kBAAkB;oBAClB,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBACtC,0EAA0E;oBAC1E,qEAAqE;oBACrE,yEAAyE;oBACzE,yEAAyE;oBACzE,oEAAoE;oBACpE,yEAAyE;oBACzE,2EAA2E;oBAC3E,2EAA2E;oBAC3E,0BAA0B;oBAC1B,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBACrD,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAC9C,MAAM,aAAa,CAAC;gBACxB,CAAC;gBACD,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;oBAC3C,+BAA+B,EAAE,CAAC;oBAClC,kBAAkB;oBAClB,kBAAkB,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBAClD,IAAI,kBAAkB,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;wBAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACvG,CAAC;aACJ;YACD,KAAK,CAAC,GAAG,CACL,KAA8E,EAAE,iDAAiD;YACjI,OAAiF;gBAEjF,MAAM,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC5E,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,OAAO;gBACd,MAAM,aAAa,GAAG,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACtD,IAAI,CAAC,aAAa;oBAAE,OAAO,CAAC,uBAAuB;gBACnD,IAAI,aAAa,CAAC,qBAAqB,IAAI,CAAC;oBAAE,OAAO,CAAC,4CAA4C;gBAClG,aAAa,CAAC,qBAAqB,EAAE,CAAC;gBACtC,IAAI,aAAa,CAAC,qBAAqB,KAAK,CAAC,EAAE,CAAC;oBAC5C,0EAA0E;oBAC1E,2EAA2E;oBAC3E,OAAO,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;oBAEvC,kEAAkE;oBAClE,+EAA+E;oBAC/E,+EAA+E;oBAC/E,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;wBAC5C,MAAM,SAAS,GAAG,MAA+C,CAAC;wBAClE,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;4BACvC,IAAI,CAAC;gCACD,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;4BAC3B,CAAC;4BAAC,OAAO,CAAC,EAAE,CAAC;gCACT,GAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;4BAC1E,CAAC;wBACL,CAAC;oBACL,CAAC;oBAED,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE;wBAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAE9G,6EAA6E;oBAC7E,oFAAoF;oBACpF,sFAAsF;oBACtF,kFAAkF;oBAClF,8FAA8F;oBAC9F,iFAAiF;oBACjF,sFAAsF;oBACtF,wFAAwF;oBACxF,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC;wBACrD,IAAI,CAAC;4BACD,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;wBACtE,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACT,GAAG,CAAC,KAAK,CAAC,8CAA8C,EAAE,CAAC,CAAC,CAAC;wBACjE,CAAC;oBACL,CAAC;oBAED,IAAI,CAAC;wBACD,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;oBACvB,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACT,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;oBACzC,CAAC;oBAED,uEAAuE;oBACvE,uEAAuE;oBACvE,+EAA+E;oBAC/E,cAAc;oBACd,IAAI,CAAC;wBACD,MAAM,eAAe,EAAE,CAAC;oBAC5B,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACT,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;oBAC7C,CAAC;oBAED,GAAG,CAAC,kCAAkC,EAAE,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC3G,CAAC;YACL,CAAC;SACJ,CAAC;QAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEpG,0FAA0F;QAC1F,6FAA6F;QAC7F,+FAA+F;QAC/F,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;YAC/C,+BAA+B,EAAE,CAAC;YAClC,cAAc,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACvF,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,MAAM,uBAAuB,GAAG;YAC5B,KAAK;YACL,+BAA+B,EAAE,2BAA2B;YAC5D,WAAW,EAAE,OAAO;YACpB,eAAe,EAAE,gBAAgB;YACjC,kBAAkB,EAAE,eAAe;YACnC,qBAAqB,EAAE,CAAC;YACxB,sBAAsB,EAAE,UAAU;YAClC,GAAG,EAAE,UAAU,CAAC,GAAG;SACtB,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,uBAAuB,CAAC,CAAC;QAE3D,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,GAAG,CAAC,kCAAkC,EAAE,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEvG,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QAEzC,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACrE,IAAI,CAAC,oBAAoB;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAE5F,IAAI,CAAC;QACD,OAAO,MAAM,oBAAoB,CAAC;IACtC,CAAC;YAAS,CAAC;QACP,OAAO,uBAAuB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"helia-for-pkc.js","sourceRoot":"","sources":["../../../src/helia/helia-for-pkc.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ export declare class Libp2pJsClient {
|
|
|
19
19
|
_heliaIpnsRouter: ReturnType<typeof ipns>;
|
|
20
20
|
heliaWithKuboRpcClientFunctions: HeliaWithKuboRpcClientFunctions;
|
|
21
21
|
_libp2pJsClientsOptions: NonNullable<ParsedPKCOptions["libp2pJsClientsOptions"]>[number];
|
|
22
|
-
_mergedHeliaOptions: Parameters<typeof createHelia>[0];
|
|
22
|
+
_mergedHeliaOptions: Omit<NonNullable<Parameters<typeof createHelia>[0]>, "http"> | undefined;
|
|
23
23
|
key: Libp2pJsClientInit["key"];
|
|
24
24
|
countOfUsesOfInstance: number;
|
|
25
25
|
/**
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { AbortOptions
|
|
1
|
+
import type { AbortOptions } from "@libp2p/interface";
|
|
2
|
+
type AwaitIterable<T> = Iterable<T> | AsyncIterable<T>;
|
|
2
3
|
/**
|
|
3
|
-
* The dependency tree
|
|
4
|
-
* 13 while our tree
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* is the multihash bytes, and every backend we use (blockstore-core, blockstore-fs, blockstore-idb)
|
|
4
|
+
* The dependency tree has historically carried more than one copy of multiformats (helia 6's
|
|
5
|
+
* internals were on 13 while our tree was on 14) and of interface-blockstore, making a CID handed
|
|
6
|
+
* to us by helia a different class from a CID we construct, and the packages' `Blockstore`/`Pair`
|
|
7
|
+
* types not mutually assignable. helia 7 unified the copies, but the wrapper keeps typing
|
|
8
|
+
* structurally so a future skew can't break it: the only thing it ever needs from a CID is the
|
|
9
|
+
* multihash bytes, and every backend we use (blockstore-core, blockstore-fs, blockstore-idb)
|
|
10
10
|
* addresses blocks by exactly those bytes and ignores the codec.
|
|
11
11
|
*/
|
|
12
12
|
export interface BlockstoreCid {
|
|
@@ -90,3 +90,4 @@ export declare class LruBlockstore {
|
|
|
90
90
|
bytes: number;
|
|
91
91
|
}>;
|
|
92
92
|
}
|
|
93
|
+
export {};
|