@helia/delegated-routing-v1-http-api-client 5.1.3 → 5.2.0
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/dist/index.min.js +5 -5
- package/dist/index.min.js.map +4 -4
- package/dist/src/client.d.ts +3 -2
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +79 -3
- package/dist/src/client.js.map +1 -1
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/routings.d.ts.map +1 -1
- package/dist/src/routings.js +15 -1
- package/dist/src/routings.js.map +1 -1
- package/dist/typedoc-urls.json +2 -0
- package/package.json +1 -1
- package/src/client.ts +88 -5
- package/src/index.ts +7 -0
- package/src/routings.ts +16 -1
package/dist/src/client.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { contentRoutingSymbol, peerRoutingSymbol } from '@libp2p/interface';
|
|
2
|
-
import
|
|
2
|
+
import { CID } from 'multiformats/cid';
|
|
3
|
+
import type { DelegatedRoutingV1HttpApiClient as DelegatedRoutingV1HttpApiClientInterface, DelegatedRoutingV1HttpApiClientInit, GetProvidersOptions, GetPeersOptions, GetIPNSOptions, PeerRecord, DelegatedRoutingV1HttpApiClientComponents, GetClosestPeersOptions } from './index.js';
|
|
3
4
|
import type { ContentRouting, PeerRouting, AbortOptions, PeerId } from '@libp2p/interface';
|
|
4
5
|
import type { IPNSRecord } from 'ipns';
|
|
5
|
-
import type { CID } from 'multiformats';
|
|
6
6
|
export declare class DelegatedRoutingV1HttpApiClient implements DelegatedRoutingV1HttpApiClientInterface {
|
|
7
7
|
#private;
|
|
8
8
|
readonly url: URL;
|
|
@@ -32,6 +32,7 @@ export declare class DelegatedRoutingV1HttpApiClient implements DelegatedRouting
|
|
|
32
32
|
stop(): Promise<void>;
|
|
33
33
|
getProviders(cid: CID, options?: GetProvidersOptions): AsyncGenerator<PeerRecord>;
|
|
34
34
|
getPeers(peerId: PeerId, options?: GetPeersOptions): AsyncGenerator<PeerRecord>;
|
|
35
|
+
getClosestPeers(key: CID | PeerId, options?: GetClosestPeersOptions): AsyncGenerator<PeerRecord>;
|
|
35
36
|
getIPNS(libp2pKey: CID<unknown, 0x72, 0x00 | 0x12, 1>, options?: GetIPNSOptions): Promise<IPNSRecord>;
|
|
36
37
|
putIPNS(libp2pKey: CID<unknown, 0x72, 0x00 | 0x12, 1>, record: IPNSRecord, options?: AbortOptions): Promise<void>;
|
|
37
38
|
toString(): string;
|
package/dist/src/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,oBAAoB,EAAY,iBAAiB,EAAmB,MAAM,mBAAmB,CAAA;AAQ7I,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAKtC,OAAO,KAAK,EAAE,+BAA+B,IAAI,wCAAwC,EAAE,mCAAmC,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,yCAAyC,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACvR,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAU,MAAM,mBAAmB,CAAA;AAElG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAStC,qBAAa,+BAAgC,YAAW,wCAAwC;;IAC9F,SAAgB,GAAG,EAAE,GAAG,CAAA;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,KAAK,CAAC,CAAO;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,GAAG,CAAQ;IAEnB;;OAEG;gBACU,UAAU,EAAE,yCAAyC,EAAE,IAAI,EAAE,mCAAmC,GAAG;QAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;IAoBrI,IAAI,CAAC,oBAAoB,CAAC,IAAK,cAAc,CAE5C;IAED,IAAI,CAAC,iBAAiB,CAAC,IAAK,WAAW,CAEtC;IAED,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAgBvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAUpB,YAAY,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,mBAAwB,GAAG,cAAc,CAAC,UAAU,CAAC;IA8FtF,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,cAAc,CAAC,UAAU,CAAC;IAsEpF,eAAe,CAAE,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,OAAO,GAAE,sBAA2B,GAAG,cAAc,CAAC,UAAU,CAAC;IAgFvG,OAAO,CAAE,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAwE1G,OAAO,CAAE,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4J5H,QAAQ,IAAK,MAAM;IAInB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,WAAW;CAOpB"}
|
package/dist/src/client.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NotFoundError, contentRoutingSymbol, peerRoutingSymbol, setMaxListeners } from '@libp2p/interface';
|
|
1
|
+
import { InvalidParametersError, NotFoundError, contentRoutingSymbol, isPeerId, peerRoutingSymbol, setMaxListeners } from '@libp2p/interface';
|
|
2
2
|
import { peerIdFromString } from '@libp2p/peer-id';
|
|
3
3
|
import { multiaddr } from '@multiformats/multiaddr';
|
|
4
4
|
import { anySignal } from 'any-signal';
|
|
@@ -6,6 +6,7 @@ import toIt from 'browser-readablestream-to-it';
|
|
|
6
6
|
import { unmarshalIPNSRecord, marshalIPNSRecord, multihashToIPNSRoutingKey } from 'ipns';
|
|
7
7
|
import { ipnsValidator } from 'ipns/validator';
|
|
8
8
|
import { parse as ndjson } from 'it-ndjson';
|
|
9
|
+
import { CID } from 'multiformats/cid';
|
|
9
10
|
import defer from 'p-defer';
|
|
10
11
|
import PQueue from 'p-queue';
|
|
11
12
|
import { BadResponseError, InvalidRequestError } from './errors.js';
|
|
@@ -87,6 +88,7 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
87
88
|
setMaxListeners(Infinity, timeoutSignal, signal);
|
|
88
89
|
const onStart = defer();
|
|
89
90
|
const onFinish = defer();
|
|
91
|
+
let found = 0;
|
|
90
92
|
void this.httpQueue.add(async () => {
|
|
91
93
|
onStart.resolve();
|
|
92
94
|
return onFinish.promise;
|
|
@@ -98,7 +100,7 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
98
100
|
this.#addFilterParams(url, options.filterAddrs, options.filterProtocols);
|
|
99
101
|
const getOptions = {
|
|
100
102
|
headers: {
|
|
101
|
-
accept: 'application/x-ndjson, application/json'
|
|
103
|
+
accept: 'application/x-ndjson, application/json;q=0.8'
|
|
102
104
|
},
|
|
103
105
|
signal
|
|
104
106
|
};
|
|
@@ -137,6 +139,7 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
137
139
|
for (const provider of providers) {
|
|
138
140
|
const record = this.#conformToPeerSchema(provider);
|
|
139
141
|
if (record != null) {
|
|
142
|
+
found++;
|
|
140
143
|
yield record;
|
|
141
144
|
}
|
|
142
145
|
}
|
|
@@ -145,6 +148,7 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
145
148
|
for await (const provider of ndjson(toIt(res.body))) {
|
|
146
149
|
const record = this.#conformToPeerSchema(provider);
|
|
147
150
|
if (record != null) {
|
|
151
|
+
found++;
|
|
148
152
|
yield record;
|
|
149
153
|
}
|
|
150
154
|
}
|
|
@@ -156,7 +160,7 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
156
160
|
finally {
|
|
157
161
|
signal.clear();
|
|
158
162
|
onFinish.resolve();
|
|
159
|
-
this.log('getProviders finished
|
|
163
|
+
this.log('getProviders finished found %d providers for %c', found, cid);
|
|
160
164
|
}
|
|
161
165
|
}
|
|
162
166
|
async *getPeers(peerId, options = {}) {
|
|
@@ -221,6 +225,78 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
221
225
|
this.log('getPeers finished: %c', peerId);
|
|
222
226
|
}
|
|
223
227
|
}
|
|
228
|
+
async *getClosestPeers(key, options = {}) {
|
|
229
|
+
let target;
|
|
230
|
+
if (isPeerId(key)) {
|
|
231
|
+
target = key.toCID().toString();
|
|
232
|
+
}
|
|
233
|
+
else if (CID.asCID(key) === key || key instanceof CID) {
|
|
234
|
+
target = key.toV1().toString();
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
throw new InvalidParametersError('Key must be CID or PeerId');
|
|
238
|
+
}
|
|
239
|
+
this.log('getClosestPeers starts: %s', target);
|
|
240
|
+
const timeoutSignal = AbortSignal.timeout(this.timeout);
|
|
241
|
+
const signal = anySignal([this.shutDownController.signal, timeoutSignal, options.signal]);
|
|
242
|
+
setMaxListeners(Infinity, timeoutSignal, signal);
|
|
243
|
+
const onStart = defer();
|
|
244
|
+
const onFinish = defer();
|
|
245
|
+
void this.httpQueue.add(async () => {
|
|
246
|
+
onStart.resolve();
|
|
247
|
+
return onFinish.promise;
|
|
248
|
+
});
|
|
249
|
+
try {
|
|
250
|
+
await onStart.promise;
|
|
251
|
+
// https://specs.ipfs.tech/routing/http-routing-v1/
|
|
252
|
+
const url = new URL(`${this.url}routing/v1/dht/closest/peers/${target}`);
|
|
253
|
+
this.#addFilterParams(url, options.filterAddrs, options.filterProtocols);
|
|
254
|
+
const getOptions = { headers: { Accept: 'application/x-ndjson' }, signal };
|
|
255
|
+
const res = await this.#makeRequest(url.toString(), getOptions);
|
|
256
|
+
// Per IPIP-0513: Handle 404 as empty results (not an error)
|
|
257
|
+
// Old servers return 404, new servers return 200 with empty array
|
|
258
|
+
// Both should result in an empty iterator, not an error
|
|
259
|
+
if (res.status === 404) {
|
|
260
|
+
return; // Return empty iterator
|
|
261
|
+
}
|
|
262
|
+
if (res.status === 422) {
|
|
263
|
+
// https://specs.ipfs.tech/routing/http-routing-v1/#response-status-codes
|
|
264
|
+
// 422 (Unprocessable Entity): request does not conform to schema or semantic constraints
|
|
265
|
+
throw new InvalidRequestError('Request does not conform to schema or semantic constraints');
|
|
266
|
+
}
|
|
267
|
+
if (res.body == null) {
|
|
268
|
+
throw new BadResponseError('Routing response had no body');
|
|
269
|
+
}
|
|
270
|
+
const contentType = res.headers.get('Content-Type');
|
|
271
|
+
if (contentType?.startsWith('application/json')) {
|
|
272
|
+
const body = await res.json();
|
|
273
|
+
// Handle null/undefined Peers from servers (both old and new may return empty arrays)
|
|
274
|
+
const peers = body.Peers ?? [];
|
|
275
|
+
for (const peer of peers) {
|
|
276
|
+
const record = this.#conformToPeerSchema(peer);
|
|
277
|
+
if (record != null) {
|
|
278
|
+
yield record;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
for await (const peer of ndjson(toIt(res.body))) {
|
|
284
|
+
const record = this.#conformToPeerSchema(peer);
|
|
285
|
+
if (record != null) {
|
|
286
|
+
yield record;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
catch (err) {
|
|
292
|
+
this.log.error('getClosestPeers errored - %e', err);
|
|
293
|
+
}
|
|
294
|
+
finally {
|
|
295
|
+
signal.clear();
|
|
296
|
+
onFinish.resolve();
|
|
297
|
+
this.log('getClosestPeers finished: %s', target);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
224
300
|
async getIPNS(libp2pKey, options = {}) {
|
|
225
301
|
this.log('getIPNS starts: %s', libp2pKey);
|
|
226
302
|
const timeoutSignal = AbortSignal.timeout(this.timeout);
|
package/dist/src/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC3G,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,IAAI,MAAM,8BAA8B,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,MAAM,CAAA;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACnE,OAAO,EAAE,6CAA6C,EAAE,0CAA0C,EAAE,MAAM,eAAe,CAAA;AAOzH,MAAM,aAAa,GAAG;IACpB,kBAAkB,EAAE,CAAC;IACrB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,6FAA6F;IACtH,SAAS,EAAE,4BAA4B;CACxC,CAAA;AAED,MAAM,OAAO,+BAA+B;IAC1B,GAAG,CAAK;IAChB,OAAO,CAAS;IACP,SAAS,CAAQ;IACjB,kBAAkB,CAAiB;IACnC,OAAO,CAAQ;IACf,cAAc,CAAgB;IAC9B,WAAW,CAAa;IACxB,WAAW,CAAW;IACtB,eAAe,CAAW;IAC1B,gBAAgB,CAAgC;IAChD,SAAS,CAAQ;IAC1B,KAAK,CAAQ;IACJ,QAAQ,CAAQ;IACzB,GAAG,CAAQ;IAEnB;;OAEG;IACH,YAAa,UAAqD,EAAE,IAAiE;QACnI,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,sCAAsC,CAAC,CAAA;QACjF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,kBAAkB,GAAG,IAAI,eAAe,EAAE,CAAA;QAC/C,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QACzD,IAAI,CAAC,SAAS,GAAG,IAAI,MAAM,CAAC;YAC1B,WAAW,EAAE,IAAI,CAAC,kBAAkB,IAAI,aAAa,CAAC,kBAAkB;SACzE,CAAC,CAAA;QACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAA,CAAC,wDAAwD;QAC1F,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAA;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAA;QAC3C,IAAI,CAAC,cAAc,GAAG,IAAI,6CAA6C,CAAC,IAAI,CAAC,CAAA;QAC7E,IAAI,CAAC,WAAW,GAAG,IAAI,0CAA0C,CAAC,IAAI,CAAC,CAAA;QAEvE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,CAAA;QAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAA;IACzD,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC;QACxB,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC;QACrB,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QAEnB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAE1D,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QACtB,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAA;QAE/B,gCAAgC;QAChC,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAE/C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,CAAE,YAAY,CAAE,GAAQ,EAAE,UAA+B,EAAE;QAC/D,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAA;QAExC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACvD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;QACzF,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,KAAK,EAAE,CAAA;QACvB,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAA;QAExB,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YACjC,OAAO,CAAC,OAAO,EAAE,CAAA;YACjB,OAAO,QAAQ,CAAC,OAAO,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,OAAO,CAAA;YAErB,mDAAmD;YACnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,wBAAwB,GAAG,EAAE,CAAC,CAAA;YAE7D,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;YACxE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE;oBACP,MAAM,EAAE,wCAAwC;iBACjD;gBACD,MAAM;aACP,CAAA;YACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAA;YAE/D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,4DAA4D;gBAC5D,kEAAkE;gBAClE,wDAAwD;gBACxD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACvB,wBAAwB;oBACxB,OAAM;gBACR,CAAC;gBAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACzB,yEAAyE;oBACzE,yFAAyF;oBACvF,MAAM,IAAI,mBAAmB,CAAC,4DAA4D,CAAC,CAAA;gBAC7F,CAAC;gBAED,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;YACrE,CAAC;YAED,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YAEnD,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,IAAI,gBAAgB,CAAC,iCAAiC,CAAC,CAAA;YAC/D,CAAC;YAED,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,WAAW,KAAK,sBAAsB,EAAE,CAAC;oBAC3C,MAAM,IAAI,gBAAgB,CAAC,8BAA8B,CAAC,CAAA;gBAC5D,CAAC;gBAED,wEAAwE;gBACxE,aAAa;gBACb,OAAM;YACR,CAAC;YAED,IAAI,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;gBAC7B,0FAA0F;gBAC1F,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAA;gBAEtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;oBAClD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;wBACnB,MAAM,MAAM,CAAA;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBACxD,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACpD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;oBAClD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;wBACnB,MAAM,MAAM,CAAA;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,gBAAgB,CAAC,6BAA6B,WAAW,EAAE,CAAC,CAAA;YACxE,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,QAAQ,CAAC,OAAO,EAAE,CAAA;YAClB,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAE,QAAQ,CAAE,MAAc,EAAE,UAA2B,EAAE;QAC7D,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;QAEvC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACvD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;QACzF,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,KAAK,EAAE,CAAA;QACvB,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAA;QAExB,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YACjC,OAAO,CAAC,OAAO,EAAE,CAAA;YACjB,OAAO,QAAQ,CAAC,OAAO,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,OAAO,CAAA;YAErB,mDAAmD;YACnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,oBAAoB,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YAC/E,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;YAExE,MAAM,UAAU,GAAG,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE,EAAE,MAAM,EAAE,CAAA;YAC1E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAA;YAE/D,4DAA4D;YAC5D,kEAAkE;YAClE,wDAAwD;YACxD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,OAAM,CAAC,wBAAwB;YACjC,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,yEAAyE;gBACzE,yFAAyF;gBACzF,MAAM,IAAI,mBAAmB,CAAC,4DAA4D,CAAC,CAAA;YAC7F,CAAC;YAED,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,gBAAgB,CAAC,8BAA8B,CAAC,CAAA;YAC5D,CAAC;YAED,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YACnD,IAAI,WAAW,EAAE,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;gBAC7B,sFAAsF;gBACtF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAA;gBAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;oBAC9C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;wBACnB,MAAM,MAAM,CAAA;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBAChD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;oBAC9C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;wBACnB,MAAM,MAAM,CAAA;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAA;QAC9C,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,QAAQ,CAAC,OAAO,EAAE,CAAA;YAClB,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAE,SAA6C,EAAE,UAA0B,EAAE;QACxF,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAA;QAEzC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACvD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;QACzF,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,KAAK,EAAE,CAAA;QACvB,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAA;QAExB,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YACjC,OAAO,CAAC,OAAO,EAAE,CAAA;YACjB,OAAO,QAAQ,CAAC,OAAO,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,mDAAmD;QACnD,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,mBAAmB,SAAS,EAAE,CAAA;QAE1D,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,OAAO,CAAA;YAErB,MAAM,UAAU,GAAG,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,kCAAkC,EAAE,EAAE,MAAM,EAAE,CAAA;YACtF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;YAEzD,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;YAEnD,4EAA4E;YAC5E,6EAA6E;YAC7E,6DAA6D;YAC7D,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,aAAa,CAAC,2BAA2B,CAAC,CAAA;YACtD,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,yEAAyE;gBACzE,yFAAyF;gBACzF,MAAM,IAAI,mBAAmB,CAAC,4DAA4D,CAAC,CAAA;YAC7F,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;YACrE,CAAC;YAED,8FAA8F;YAC9F,yEAAyE;YACzE,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YACnD,IAAI,WAAW,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kCAAkC,CAAC,EAAE,CAAC;gBACrF,MAAM,IAAI,aAAa,CAAC,2BAA2B,CAAC,CAAA;YACtD,CAAC;YAED,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,gBAAgB,CAAC,+BAA+B,CAAC,CAAA;YAC7D,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAA;YACnC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;YAEnD,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;gBAC/B,MAAM,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAA;YAC3E,CAAC;YAED,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAA;YAE1D,MAAM,GAAG,CAAA;QACX,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,QAAQ,CAAC,OAAO,EAAE,CAAA;YAClB,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAE,SAA6C,EAAE,MAAkB,EAAE,UAAwB,EAAE;QAC1G,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAA;QAEzC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACvD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;QACzF,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,KAAK,EAAE,CAAA;QACvB,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAA;QAExB,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YACjC,OAAO,CAAC,OAAO,EAAE,CAAA;YACjB,OAAO,QAAQ,CAAC,OAAO,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,mDAAmD;QACnD,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,mBAAmB,SAAS,EAAE,CAAA;QAE1D,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,OAAO,CAAA;YAErB,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;YAEtC,MAAM,UAAU,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kCAAkC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;YACnH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;YAEzD,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;YAEnD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,gBAAgB,CAAC,6CAA6C,CAAC,CAAA;YAC3E,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;YAEhE,MAAM,GAAG,CAAA;QACX,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,QAAQ,CAAC,OAAO,EAAE,CAAA;YAClB,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,oBAAoB,CAAE,MAAW;QAC/B,IAAI,CAAC;YACH,MAAM,SAAS,GAAa,EAAE,CAAA;YAC9B,MAAM,UAAU,GAAgB,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;YAElE,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;gBAC7B,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;YACrC,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;gBAC5B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAC/B,OAAO,MAAM,CAAC,QAAQ,CAAA;YACxB,CAAC;YAED,OAAO;gBACL,GAAG,MAAM;gBACT,MAAM,EAAE,MAAM;gBACd,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,KAAK,EAAE,UAAU;gBACjB,SAAS,EAAE,SAAS;aACrB,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8CAA8C,EAAE,GAAG,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAED,gBAAgB,CAAE,GAAQ,EAAE,WAAsB,EAAE,eAA0B;QAC5E,yEAAyE;QACzE,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YACpD,MAAM,YAAY,GAAG,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;YAChF,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;gBACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;YACpD,CAAC;QACH,CAAC;QACD,IAAI,eAAe,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;YAC5D,MAAM,cAAc,GAAG,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;YAC1F,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;gBAC1B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAA;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAE,GAAW,EAAE,OAAoB;QACnD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAA;QAC7C,MAAM,GAAG,GAAG,GAAG,aAAa,IAAI,GAAG,EAAE,CAAA;QAErC,yCAAyC;QACzC,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;YAC5B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;YAEnD,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;gBAC3B,2CAA2C;gBAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAA;gBAClF,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBACzB,IAAI,CAAC,GAAG,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAA;oBACjD,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;oBAEhC,OAAO,cAAc,CAAA;gBACvB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAA;oBAChD,qCAAqC;oBACrC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;gBAC/B,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAA;YACpC,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtD,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAA;YACtC,IAAI,CAAC,GAAG,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAA;YACtD,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAA;QACzB,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;QAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAE7B,kCAAkC;QAClC,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE;YAC/D,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;YAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YAE1B,qCAAqC;YACrC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,QAAQ,CAAC,EAAE,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;gBACjE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAA;gBAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;gBAC7C,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAElD,+CAA+C;gBAC/C,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE;oBACzD,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,OAAO;iBACR,CAAC,CAAA;gBAEF,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;YAC3C,CAAC;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACd,iDAAiD;YACjD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;QAC9C,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAA;QACrC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,QAAQ;QACN,OAAO,0CAA0C,IAAI,CAAC,GAAG,GAAG,CAAA;IAC9D,CAAC;IAEO,UAAU,CAAE,GAAW,EAAE,IAAiB;QAChD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,GAAG,CAAC,CAAA;QAErD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAEO,WAAW,CAAE,QAAkB;QACrC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;QAEhE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -160,6 +160,7 @@ export interface GetIPNSOptions extends AbortOptions {
|
|
|
160
160
|
}
|
|
161
161
|
export type GetProvidersOptions = FilterOptions & AbortOptions;
|
|
162
162
|
export type GetPeersOptions = FilterOptions & AbortOptions;
|
|
163
|
+
export type GetClosestPeersOptions = FilterOptions & AbortOptions;
|
|
163
164
|
export interface DelegatedRoutingV1HttpApiClient {
|
|
164
165
|
/**
|
|
165
166
|
* The URL that requests are sent to
|
|
@@ -175,6 +176,11 @@ export interface DelegatedRoutingV1HttpApiClient {
|
|
|
175
176
|
* {@link PeerId}
|
|
176
177
|
*/
|
|
177
178
|
getPeers(peerId: PeerId, options?: GetPeersOptions): AsyncGenerator<PeerRecord>;
|
|
179
|
+
/**
|
|
180
|
+
* Returns an async generator of {@link PeerRecord}s of the closest peers to
|
|
181
|
+
* the supplied key
|
|
182
|
+
*/
|
|
183
|
+
getClosestPeers(key: CID | PeerId, options?: GetClosestPeersOptions): AsyncGenerator<PeerRecord>;
|
|
178
184
|
/**
|
|
179
185
|
* Returns a promise of a {@link IPNSRecord} for the given {@link MultihashDigest}
|
|
180
186
|
*/
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACtC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAE1B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AACD,MAAM,WAAW,mCAAoC,SAAQ,aAAa;IACxE;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,yCAAyC;IACxD,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,YAAY,CAAA;AAC9D,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,+BAA+B,IAAI,oCAAoC,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,+BAA+B,IAAI,oCAAoC,EAAE,MAAM,aAAa,CAAA;AAyIrG;;;;GAIG;AACH,MAAM,UAAU,qCAAqC,CAAE,GAAiB,EAAE,OAAyD,EAAE;IACnI,OAAO,IAAI,oCAAoC,CAAC;QAC9C,MAAM,EAAE,aAAa,EAAE;KACxB,EAAE;QACD,GAAG,IAAI;QACP,GAAG,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC;KAClB,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAAE,IAAiE;IAChH,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,oCAAoC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;AACnF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routings.d.ts","sourceRoot":"","sources":["../../src/routings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"routings.d.ts","sourceRoot":"","sources":["../../src/routings.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAGtC,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAQ9G;;GAEG;AACH,qBAAa,6CAA8C,YAAW,cAAc;IAClF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;gBAE3C,MAAM,EAAE,+BAA+B;IAI5C,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,YAAiB,GAAG,aAAa,CAAC,QAAQ,CAAC;IAoB/E,OAAO,IAAK,OAAO,CAAC,IAAI,CAAC;IAIzB,eAAe,IAAK,OAAO,CAAC,IAAI,CAAC;IAIjC,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/E,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IAuBxE,QAAQ,IAAK,MAAM;CAGpB;AAED;;GAEG;AACH,qBAAa,0CAA2C,YAAW,WAAW;IAC5E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;gBAE3C,MAAM,EAAE,+BAA+B;IAI9C,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAatE,eAAe,CAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE,YAAiB,GAAG,aAAa,CAAC,QAAQ,CAAC;IAiB9F,QAAQ,IAAK,MAAM;CAGpB"}
|
package/dist/src/routings.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { NotFoundError } from '@libp2p/interface';
|
|
2
|
+
import { peerIdFromMultihash } from '@libp2p/peer-id';
|
|
2
3
|
import { marshalIPNSRecord, multihashFromIPNSRoutingKey, unmarshalIPNSRecord } from 'ipns';
|
|
3
4
|
import first from 'it-first';
|
|
4
5
|
import map from 'it-map';
|
|
6
|
+
import { digest } from 'multiformats';
|
|
5
7
|
import { CID } from 'multiformats/cid';
|
|
6
8
|
import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
|
|
7
9
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
@@ -93,7 +95,19 @@ export class DelegatedRoutingV1HttpApiClientPeerRouting {
|
|
|
93
95
|
throw new NotFoundError('Not found');
|
|
94
96
|
}
|
|
95
97
|
async *getClosestPeers(key, options = {}) {
|
|
96
|
-
|
|
98
|
+
let cidOrPeer;
|
|
99
|
+
try {
|
|
100
|
+
cidOrPeer = CID.decode(key);
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
cidOrPeer = peerIdFromMultihash(digest.decode(key));
|
|
104
|
+
}
|
|
105
|
+
for await (const peer of this.client.getClosestPeers(cidOrPeer, options)) {
|
|
106
|
+
yield {
|
|
107
|
+
id: peer.ID,
|
|
108
|
+
multiaddrs: peer.Addrs ?? []
|
|
109
|
+
};
|
|
110
|
+
}
|
|
97
111
|
}
|
|
98
112
|
toString() {
|
|
99
113
|
return `DelegatedRoutingV1HttpApiClientPeerRouting(${this.client.url})`;
|
package/dist/src/routings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routings.js","sourceRoot":"","sources":["../../src/routings.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"routings.js","sourceRoot":"","sources":["../../src/routings.ts"],"names":[],"mappings":"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"}
|
package/dist/typedoc-urls.json
CHANGED
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
".:GetIPNSOptions": "https://ipfs.github.io/helia-delegated-routing-v1-http-api/interfaces/_helia_delegated-routing-v1-http-api-client.GetIPNSOptions.html",
|
|
12
12
|
"PeerRecord": "https://ipfs.github.io/helia-delegated-routing-v1-http-api/interfaces/_helia_delegated-routing-v1-http-api-client.PeerRecord.html",
|
|
13
13
|
".:PeerRecord": "https://ipfs.github.io/helia-delegated-routing-v1-http-api/interfaces/_helia_delegated-routing-v1-http-api-client.PeerRecord.html",
|
|
14
|
+
"GetClosestPeersOptions": "https://ipfs.github.io/helia-delegated-routing-v1-http-api/types/_helia_delegated-routing-v1-http-api-client.GetClosestPeersOptions.html",
|
|
15
|
+
".:GetClosestPeersOptions": "https://ipfs.github.io/helia-delegated-routing-v1-http-api/types/_helia_delegated-routing-v1-http-api-client.GetClosestPeersOptions.html",
|
|
14
16
|
"GetPeersOptions": "https://ipfs.github.io/helia-delegated-routing-v1-http-api/types/_helia_delegated-routing-v1-http-api-client.GetPeersOptions.html",
|
|
15
17
|
".:GetPeersOptions": "https://ipfs.github.io/helia-delegated-routing-v1-http-api/types/_helia_delegated-routing-v1-http-api-client.GetPeersOptions.html",
|
|
16
18
|
"GetProvidersOptions": "https://ipfs.github.io/helia-delegated-routing-v1-http-api/types/_helia_delegated-routing-v1-http-api-client.GetProvidersOptions.html",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helia/delegated-routing-v1-http-api-client",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.2.0",
|
|
4
4
|
"description": "A Delegated Routing V1 HTTP API client",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/ipfs/helia-delegated-routing-v1-http-api/tree/main/packages/client#readme",
|
package/src/client.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NotFoundError, contentRoutingSymbol, peerRoutingSymbol, setMaxListeners } from '@libp2p/interface'
|
|
1
|
+
import { InvalidParametersError, NotFoundError, contentRoutingSymbol, isPeerId, peerRoutingSymbol, setMaxListeners } from '@libp2p/interface'
|
|
2
2
|
import { peerIdFromString } from '@libp2p/peer-id'
|
|
3
3
|
import { multiaddr } from '@multiformats/multiaddr'
|
|
4
4
|
import { anySignal } from 'any-signal'
|
|
@@ -6,15 +6,15 @@ import toIt from 'browser-readablestream-to-it'
|
|
|
6
6
|
import { unmarshalIPNSRecord, marshalIPNSRecord, multihashToIPNSRoutingKey } from 'ipns'
|
|
7
7
|
import { ipnsValidator } from 'ipns/validator'
|
|
8
8
|
import { parse as ndjson } from 'it-ndjson'
|
|
9
|
+
import { CID } from 'multiformats/cid'
|
|
9
10
|
import defer from 'p-defer'
|
|
10
11
|
import PQueue from 'p-queue'
|
|
11
12
|
import { BadResponseError, InvalidRequestError } from './errors.js'
|
|
12
13
|
import { DelegatedRoutingV1HttpApiClientContentRouting, DelegatedRoutingV1HttpApiClientPeerRouting } from './routings.js'
|
|
13
|
-
import type { DelegatedRoutingV1HttpApiClient as DelegatedRoutingV1HttpApiClientInterface, DelegatedRoutingV1HttpApiClientInit, GetProvidersOptions, GetPeersOptions, GetIPNSOptions, PeerRecord, DelegatedRoutingV1HttpApiClientComponents } from './index.js'
|
|
14
|
+
import type { DelegatedRoutingV1HttpApiClient as DelegatedRoutingV1HttpApiClientInterface, DelegatedRoutingV1HttpApiClientInit, GetProvidersOptions, GetPeersOptions, GetIPNSOptions, PeerRecord, DelegatedRoutingV1HttpApiClientComponents, GetClosestPeersOptions } from './index.js'
|
|
14
15
|
import type { ContentRouting, PeerRouting, AbortOptions, PeerId, Logger } from '@libp2p/interface'
|
|
15
16
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
16
17
|
import type { IPNSRecord } from 'ipns'
|
|
17
|
-
import type { CID } from 'multiformats'
|
|
18
18
|
|
|
19
19
|
const defaultValues = {
|
|
20
20
|
concurrentRequests: 4,
|
|
@@ -108,6 +108,7 @@ export class DelegatedRoutingV1HttpApiClient implements DelegatedRoutingV1HttpAp
|
|
|
108
108
|
setMaxListeners(Infinity, timeoutSignal, signal)
|
|
109
109
|
const onStart = defer()
|
|
110
110
|
const onFinish = defer()
|
|
111
|
+
let found = 0
|
|
111
112
|
|
|
112
113
|
void this.httpQueue.add(async () => {
|
|
113
114
|
onStart.resolve()
|
|
@@ -123,7 +124,7 @@ export class DelegatedRoutingV1HttpApiClient implements DelegatedRoutingV1HttpAp
|
|
|
123
124
|
this.#addFilterParams(url, options.filterAddrs, options.filterProtocols)
|
|
124
125
|
const getOptions = {
|
|
125
126
|
headers: {
|
|
126
|
-
accept: 'application/x-ndjson, application/json'
|
|
127
|
+
accept: 'application/x-ndjson, application/json;q=0.8'
|
|
127
128
|
},
|
|
128
129
|
signal
|
|
129
130
|
}
|
|
@@ -171,6 +172,7 @@ export class DelegatedRoutingV1HttpApiClient implements DelegatedRoutingV1HttpAp
|
|
|
171
172
|
for (const provider of providers) {
|
|
172
173
|
const record = this.#conformToPeerSchema(provider)
|
|
173
174
|
if (record != null) {
|
|
175
|
+
found++
|
|
174
176
|
yield record
|
|
175
177
|
}
|
|
176
178
|
}
|
|
@@ -178,6 +180,7 @@ export class DelegatedRoutingV1HttpApiClient implements DelegatedRoutingV1HttpAp
|
|
|
178
180
|
for await (const provider of ndjson(toIt(res.body))) {
|
|
179
181
|
const record = this.#conformToPeerSchema(provider)
|
|
180
182
|
if (record != null) {
|
|
183
|
+
found++
|
|
181
184
|
yield record
|
|
182
185
|
}
|
|
183
186
|
}
|
|
@@ -187,7 +190,7 @@ export class DelegatedRoutingV1HttpApiClient implements DelegatedRoutingV1HttpAp
|
|
|
187
190
|
} finally {
|
|
188
191
|
signal.clear()
|
|
189
192
|
onFinish.resolve()
|
|
190
|
-
this.log('getProviders finished
|
|
193
|
+
this.log('getProviders finished found %d providers for %c', found, cid)
|
|
191
194
|
}
|
|
192
195
|
}
|
|
193
196
|
|
|
@@ -261,6 +264,86 @@ export class DelegatedRoutingV1HttpApiClient implements DelegatedRoutingV1HttpAp
|
|
|
261
264
|
}
|
|
262
265
|
}
|
|
263
266
|
|
|
267
|
+
async * getClosestPeers (key: CID | PeerId, options: GetClosestPeersOptions = {}): AsyncGenerator<PeerRecord> {
|
|
268
|
+
let target: string
|
|
269
|
+
|
|
270
|
+
if (isPeerId(key)) {
|
|
271
|
+
target = key.toCID().toString()
|
|
272
|
+
} else if (CID.asCID(key) === key || key instanceof CID) {
|
|
273
|
+
target = key.toV1().toString()
|
|
274
|
+
} else {
|
|
275
|
+
throw new InvalidParametersError('Key must be CID or PeerId')
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
this.log('getClosestPeers starts: %s', target)
|
|
279
|
+
|
|
280
|
+
const timeoutSignal = AbortSignal.timeout(this.timeout)
|
|
281
|
+
const signal = anySignal([this.shutDownController.signal, timeoutSignal, options.signal])
|
|
282
|
+
setMaxListeners(Infinity, timeoutSignal, signal)
|
|
283
|
+
const onStart = defer()
|
|
284
|
+
const onFinish = defer()
|
|
285
|
+
|
|
286
|
+
void this.httpQueue.add(async () => {
|
|
287
|
+
onStart.resolve()
|
|
288
|
+
return onFinish.promise
|
|
289
|
+
})
|
|
290
|
+
|
|
291
|
+
try {
|
|
292
|
+
await onStart.promise
|
|
293
|
+
|
|
294
|
+
// https://specs.ipfs.tech/routing/http-routing-v1/
|
|
295
|
+
const url = new URL(`${this.url}routing/v1/dht/closest/peers/${target}`)
|
|
296
|
+
this.#addFilterParams(url, options.filterAddrs, options.filterProtocols)
|
|
297
|
+
|
|
298
|
+
const getOptions = { headers: { Accept: 'application/x-ndjson' }, signal }
|
|
299
|
+
const res = await this.#makeRequest(url.toString(), getOptions)
|
|
300
|
+
|
|
301
|
+
// Per IPIP-0513: Handle 404 as empty results (not an error)
|
|
302
|
+
// Old servers return 404, new servers return 200 with empty array
|
|
303
|
+
// Both should result in an empty iterator, not an error
|
|
304
|
+
if (res.status === 404) {
|
|
305
|
+
return // Return empty iterator
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
if (res.status === 422) {
|
|
309
|
+
// https://specs.ipfs.tech/routing/http-routing-v1/#response-status-codes
|
|
310
|
+
// 422 (Unprocessable Entity): request does not conform to schema or semantic constraints
|
|
311
|
+
throw new InvalidRequestError('Request does not conform to schema or semantic constraints')
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
if (res.body == null) {
|
|
315
|
+
throw new BadResponseError('Routing response had no body')
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
const contentType = res.headers.get('Content-Type')
|
|
319
|
+
if (contentType?.startsWith('application/json')) {
|
|
320
|
+
const body = await res.json()
|
|
321
|
+
// Handle null/undefined Peers from servers (both old and new may return empty arrays)
|
|
322
|
+
const peers = body.Peers ?? []
|
|
323
|
+
|
|
324
|
+
for (const peer of peers) {
|
|
325
|
+
const record = this.#conformToPeerSchema(peer)
|
|
326
|
+
if (record != null) {
|
|
327
|
+
yield record
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
} else {
|
|
331
|
+
for await (const peer of ndjson(toIt(res.body))) {
|
|
332
|
+
const record = this.#conformToPeerSchema(peer)
|
|
333
|
+
if (record != null) {
|
|
334
|
+
yield record
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
} catch (err) {
|
|
339
|
+
this.log.error('getClosestPeers errored - %e', err)
|
|
340
|
+
} finally {
|
|
341
|
+
signal.clear()
|
|
342
|
+
onFinish.resolve()
|
|
343
|
+
this.log('getClosestPeers finished: %s', target)
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
|
|
264
347
|
async getIPNS (libp2pKey: CID<unknown, 0x72, 0x00 | 0x12, 1>, options: GetIPNSOptions = {}): Promise<IPNSRecord> {
|
|
265
348
|
this.log('getIPNS starts: %s', libp2pKey)
|
|
266
349
|
|
package/src/index.ts
CHANGED
|
@@ -172,6 +172,7 @@ export interface GetIPNSOptions extends AbortOptions {
|
|
|
172
172
|
|
|
173
173
|
export type GetProvidersOptions = FilterOptions & AbortOptions
|
|
174
174
|
export type GetPeersOptions = FilterOptions & AbortOptions
|
|
175
|
+
export type GetClosestPeersOptions = FilterOptions & AbortOptions
|
|
175
176
|
|
|
176
177
|
export interface DelegatedRoutingV1HttpApiClient {
|
|
177
178
|
/**
|
|
@@ -191,6 +192,12 @@ export interface DelegatedRoutingV1HttpApiClient {
|
|
|
191
192
|
*/
|
|
192
193
|
getPeers(peerId: PeerId, options?: GetPeersOptions): AsyncGenerator<PeerRecord>
|
|
193
194
|
|
|
195
|
+
/**
|
|
196
|
+
* Returns an async generator of {@link PeerRecord}s of the closest peers to
|
|
197
|
+
* the supplied key
|
|
198
|
+
*/
|
|
199
|
+
getClosestPeers (key: CID | PeerId, options?: GetClosestPeersOptions): AsyncGenerator<PeerRecord>
|
|
200
|
+
|
|
194
201
|
/**
|
|
195
202
|
* Returns a promise of a {@link IPNSRecord} for the given {@link MultihashDigest}
|
|
196
203
|
*/
|
package/src/routings.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { NotFoundError } from '@libp2p/interface'
|
|
2
|
+
import { peerIdFromMultihash } from '@libp2p/peer-id'
|
|
2
3
|
import { marshalIPNSRecord, multihashFromIPNSRoutingKey, unmarshalIPNSRecord } from 'ipns'
|
|
3
4
|
import first from 'it-first'
|
|
4
5
|
import map from 'it-map'
|
|
6
|
+
import { digest } from 'multiformats'
|
|
5
7
|
import { CID } from 'multiformats/cid'
|
|
6
8
|
import { equals as uint8ArrayEquals } from 'uint8arrays/equals'
|
|
7
9
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
|
|
@@ -116,7 +118,20 @@ export class DelegatedRoutingV1HttpApiClientPeerRouting implements PeerRouting {
|
|
|
116
118
|
}
|
|
117
119
|
|
|
118
120
|
async * getClosestPeers (key: Uint8Array, options: AbortOptions = {}): AsyncIterable<PeerInfo> {
|
|
119
|
-
|
|
121
|
+
let cidOrPeer: CID | PeerId
|
|
122
|
+
|
|
123
|
+
try {
|
|
124
|
+
cidOrPeer = CID.decode(key)
|
|
125
|
+
} catch {
|
|
126
|
+
cidOrPeer = peerIdFromMultihash(digest.decode(key))
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
for await (const peer of this.client.getClosestPeers(cidOrPeer, options)) {
|
|
130
|
+
yield {
|
|
131
|
+
id: peer.ID,
|
|
132
|
+
multiaddrs: peer.Addrs ?? []
|
|
133
|
+
}
|
|
134
|
+
}
|
|
120
135
|
}
|
|
121
136
|
|
|
122
137
|
toString (): string {
|