@helia/delegated-routing-v1-http-api-client 6.0.1 → 7.0.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/README.md +8 -0
- package/dist/index.min.js +1 -15
- package/dist/index.min.js.map +4 -4
- package/dist/src/client.d.ts +6 -12
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +42 -45
- package/dist/src/client.js.map +1 -1
- package/dist/src/constants.d.ts +2 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/src/constants.js +2 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/index.d.ts +11 -18
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/routings.d.ts +11 -4
- package/dist/src/routings.d.ts.map +1 -1
- package/dist/src/routings.js +30 -15
- package/dist/src/routings.js.map +1 -1
- package/dist/typedoc-urls.json +7 -3
- package/package.json +8 -7
- package/src/client.ts +47 -54
- package/src/constants.ts +1 -0
- package/src/index.ts +19 -20
- package/src/routings.ts +40 -20
package/dist/src/client.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { contentRoutingSymbol, peerRoutingSymbol } from '@libp2p/interface';
|
|
2
1
|
import { CID } from 'multiformats/cid';
|
|
3
|
-
import type { DelegatedRoutingV1HttpApiClient as DelegatedRoutingV1HttpApiClientInterface, DelegatedRoutingV1HttpApiClientInit, GetProvidersOptions, GetPeersOptions, GetIPNSOptions, PeerRecord, DelegatedRoutingV1HttpApiClientComponents, GetClosestPeersOptions } from './index.
|
|
4
|
-
import type {
|
|
5
|
-
import type { IPNSRecord } from 'ipns';
|
|
2
|
+
import type { DelegatedRoutingV1HttpApiClient as DelegatedRoutingV1HttpApiClientInterface, DelegatedRoutingV1HttpApiClientInit, GetProvidersOptions, GetPeersOptions, GetIPNSOptions, PeerRecord, DelegatedRoutingV1HttpApiClientComponents, GetClosestPeersOptions } from './index.ts';
|
|
3
|
+
import type { AbortOptions } from '@libp2p/interface';
|
|
6
4
|
export declare class DelegatedRoutingV1HttpApiClient implements DelegatedRoutingV1HttpApiClientInterface {
|
|
7
5
|
#private;
|
|
8
6
|
readonly url: URL;
|
|
@@ -10,8 +8,6 @@ export declare class DelegatedRoutingV1HttpApiClient implements DelegatedRouting
|
|
|
10
8
|
private readonly httpQueue;
|
|
11
9
|
private readonly shutDownController;
|
|
12
10
|
private readonly timeout;
|
|
13
|
-
private readonly contentRouting;
|
|
14
|
-
private readonly peerRouting;
|
|
15
11
|
private readonly filterAddrs?;
|
|
16
12
|
private readonly filterProtocols?;
|
|
17
13
|
private readonly inFlightRequests;
|
|
@@ -25,16 +21,14 @@ export declare class DelegatedRoutingV1HttpApiClient implements DelegatedRouting
|
|
|
25
21
|
constructor(components: DelegatedRoutingV1HttpApiClientComponents, init: DelegatedRoutingV1HttpApiClientInit & {
|
|
26
22
|
url: string | URL;
|
|
27
23
|
});
|
|
28
|
-
get [contentRoutingSymbol](): ContentRouting;
|
|
29
|
-
get [peerRoutingSymbol](): PeerRouting;
|
|
30
24
|
isStarted(): boolean;
|
|
31
25
|
start(): Promise<void>;
|
|
32
26
|
stop(): Promise<void>;
|
|
33
27
|
getProviders(cid: CID, options?: GetProvidersOptions): AsyncGenerator<PeerRecord>;
|
|
34
|
-
getPeers(
|
|
35
|
-
getClosestPeers(key: CID
|
|
36
|
-
getIPNS(
|
|
37
|
-
putIPNS(libp2pKey: CID
|
|
28
|
+
getPeers(cid: CID, options?: GetPeersOptions): AsyncGenerator<PeerRecord>;
|
|
29
|
+
getClosestPeers(key: CID, options?: GetClosestPeersOptions): AsyncGenerator<PeerRecord>;
|
|
30
|
+
getIPNS(cid: CID, options?: GetIPNSOptions): Promise<Uint8Array<ArrayBuffer>>;
|
|
31
|
+
putIPNS(libp2pKey: CID, record: Uint8Array, options?: AbortOptions): Promise<void>;
|
|
38
32
|
toString(): string;
|
|
39
33
|
private logRequest;
|
|
40
34
|
private logResponse;
|
package/dist/src/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAMA,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,YAAY,EAAU,MAAM,mBAAmB,CAAA;AAU7D,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,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;IAkBrI,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;IA6FtF,QAAQ,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,eAAoB,GAAG,cAAc,CAAC,UAAU,CAAC;IA0E9E,eAAe,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,sBAA2B,GAAG,cAAc,CAAC,UAAU,CAAC;IAkF9F,OAAO,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAuElF,OAAO,CAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgK7F,QAAQ,IAAK,MAAM;IAInB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,WAAW;CAOpB"}
|
package/dist/src/client.js
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
import { InvalidParametersError, NotFoundError,
|
|
1
|
+
import { InvalidParametersError, NotFoundError, 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';
|
|
5
5
|
import toIt from 'browser-readablestream-to-it';
|
|
6
|
-
import { unmarshalIPNSRecord, marshalIPNSRecord, multihashToIPNSRoutingKey } from 'ipns';
|
|
7
|
-
import { ipnsValidator } from 'ipns/validator';
|
|
8
6
|
import { parse as ndjson } from 'it-ndjson';
|
|
9
7
|
import { CID } from 'multiformats/cid';
|
|
10
8
|
import defer from 'p-defer';
|
|
11
9
|
import PQueue from 'p-queue';
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
10
|
+
import { withArrayBuffer } from 'uint8arrays/with-array-buffer';
|
|
11
|
+
import { BadResponseError, InvalidRequestError } from "./errors.js";
|
|
14
12
|
const defaultValues = {
|
|
15
13
|
concurrentRequests: 4,
|
|
16
14
|
timeout: 30e3,
|
|
@@ -23,8 +21,6 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
23
21
|
httpQueue;
|
|
24
22
|
shutDownController;
|
|
25
23
|
timeout;
|
|
26
|
-
contentRouting;
|
|
27
|
-
peerRouting;
|
|
28
24
|
filterAddrs;
|
|
29
25
|
filterProtocols;
|
|
30
26
|
inFlightRequests;
|
|
@@ -48,17 +44,9 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
48
44
|
this.timeout = init.timeout ?? defaultValues.timeout;
|
|
49
45
|
this.filterAddrs = init.filterAddrs;
|
|
50
46
|
this.filterProtocols = init.filterProtocols;
|
|
51
|
-
this.contentRouting = new DelegatedRoutingV1HttpApiClientContentRouting(this);
|
|
52
|
-
this.peerRouting = new DelegatedRoutingV1HttpApiClientPeerRouting(this);
|
|
53
47
|
this.cacheName = init.cacheName ?? defaultValues.cacheName;
|
|
54
48
|
this.cacheTTL = init.cacheTTL ?? defaultValues.cacheTTL;
|
|
55
49
|
}
|
|
56
|
-
get [contentRoutingSymbol]() {
|
|
57
|
-
return this.contentRouting;
|
|
58
|
-
}
|
|
59
|
-
get [peerRoutingSymbol]() {
|
|
60
|
-
return this.peerRouting;
|
|
61
|
-
}
|
|
62
50
|
isStarted() {
|
|
63
51
|
return this.started;
|
|
64
52
|
}
|
|
@@ -98,13 +86,12 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
98
86
|
// https://specs.ipfs.tech/routing/http-routing-v1/
|
|
99
87
|
const url = new URL(`${this.url}routing/v1/providers/${cid}`);
|
|
100
88
|
this.#addFilterParams(url, options.filterAddrs, options.filterProtocols);
|
|
101
|
-
const
|
|
89
|
+
const res = await this.#makeRequest(url.toString(), {
|
|
102
90
|
headers: {
|
|
103
91
|
accept: 'application/x-ndjson, application/json;q=0.8'
|
|
104
92
|
},
|
|
105
93
|
signal
|
|
106
|
-
};
|
|
107
|
-
const res = await this.#makeRequest(url.toString(), getOptions);
|
|
94
|
+
});
|
|
108
95
|
if (!res.ok) {
|
|
109
96
|
// Per IPIP-0513: Handle 404 as empty results (not an error)
|
|
110
97
|
// Old servers return 404, new servers return 200 with empty array
|
|
@@ -163,8 +150,8 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
163
150
|
this.log('getProviders finished found %d providers for %c', found, cid);
|
|
164
151
|
}
|
|
165
152
|
}
|
|
166
|
-
async *getPeers(
|
|
167
|
-
this.log('getPeers starts: %c',
|
|
153
|
+
async *getPeers(cid, options = {}) {
|
|
154
|
+
this.log('getPeers starts: %c', cid);
|
|
168
155
|
const timeoutSignal = AbortSignal.timeout(this.timeout);
|
|
169
156
|
const signal = anySignal([this.shutDownController.signal, timeoutSignal, options.signal]);
|
|
170
157
|
setMaxListeners(Infinity, timeoutSignal, signal);
|
|
@@ -177,10 +164,14 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
177
164
|
try {
|
|
178
165
|
await onStart.promise;
|
|
179
166
|
// https://specs.ipfs.tech/routing/http-routing-v1/
|
|
180
|
-
const url = new URL(`${this.url}routing/v1/peers/${
|
|
167
|
+
const url = new URL(`${this.url}routing/v1/peers/${cid}`);
|
|
181
168
|
this.#addFilterParams(url, options.filterAddrs, options.filterProtocols);
|
|
182
|
-
const
|
|
183
|
-
|
|
169
|
+
const res = await this.#makeRequest(url.toString(), {
|
|
170
|
+
headers: {
|
|
171
|
+
Accept: 'application/x-ndjson'
|
|
172
|
+
},
|
|
173
|
+
signal
|
|
174
|
+
});
|
|
184
175
|
// Per IPIP-0513: Handle 404 as empty results (not an error)
|
|
185
176
|
// Old servers return 404, new servers return 200 with empty array
|
|
186
177
|
// Both should result in an empty iterator, not an error
|
|
@@ -222,19 +213,16 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
222
213
|
finally {
|
|
223
214
|
signal.clear();
|
|
224
215
|
onFinish.resolve();
|
|
225
|
-
this.log('getPeers finished: %c',
|
|
216
|
+
this.log('getPeers finished: %c', cid);
|
|
226
217
|
}
|
|
227
218
|
}
|
|
228
219
|
async *getClosestPeers(key, options = {}) {
|
|
229
220
|
let target;
|
|
230
|
-
if (
|
|
231
|
-
target = key.toCID().toString();
|
|
232
|
-
}
|
|
233
|
-
else if (CID.asCID(key) === key || key instanceof CID) {
|
|
221
|
+
if (CID.asCID(key) === key || key instanceof CID) {
|
|
234
222
|
target = key.toV1().toString();
|
|
235
223
|
}
|
|
236
224
|
else {
|
|
237
|
-
throw new InvalidParametersError('Key must be CID
|
|
225
|
+
throw new InvalidParametersError('Key must be CID');
|
|
238
226
|
}
|
|
239
227
|
this.log('getClosestPeers starts: %s', target);
|
|
240
228
|
const timeoutSignal = AbortSignal.timeout(this.timeout);
|
|
@@ -251,8 +239,12 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
251
239
|
// https://specs.ipfs.tech/routing/http-routing-v1/
|
|
252
240
|
const url = new URL(`${this.url}routing/v1/dht/closest/peers/${target}`);
|
|
253
241
|
this.#addFilterParams(url, options.filterAddrs, options.filterProtocols);
|
|
254
|
-
const
|
|
255
|
-
|
|
242
|
+
const res = await this.#makeRequest(url.toString(), {
|
|
243
|
+
headers: {
|
|
244
|
+
Accept: 'application/x-ndjson'
|
|
245
|
+
},
|
|
246
|
+
signal
|
|
247
|
+
});
|
|
256
248
|
// Per IPIP-0513: Handle 404 as empty results (not an error)
|
|
257
249
|
// Old servers return 404, new servers return 200 with empty array
|
|
258
250
|
// Both should result in an empty iterator, not an error
|
|
@@ -297,8 +289,8 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
297
289
|
this.log('getClosestPeers finished: %s', target);
|
|
298
290
|
}
|
|
299
291
|
}
|
|
300
|
-
async getIPNS(
|
|
301
|
-
this.log('getIPNS starts: %
|
|
292
|
+
async getIPNS(cid, options = {}) {
|
|
293
|
+
this.log('getIPNS starts: %c', cid);
|
|
302
294
|
const timeoutSignal = AbortSignal.timeout(this.timeout);
|
|
303
295
|
const signal = anySignal([this.shutDownController.signal, timeoutSignal, options.signal]);
|
|
304
296
|
setMaxListeners(Infinity, timeoutSignal, signal);
|
|
@@ -309,11 +301,15 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
309
301
|
return onFinish.promise;
|
|
310
302
|
});
|
|
311
303
|
// https://specs.ipfs.tech/routing/http-routing-v1/
|
|
312
|
-
const resource = `${this.url}routing/v1/ipns/${
|
|
304
|
+
const resource = `${this.url}routing/v1/ipns/${cid}`;
|
|
313
305
|
try {
|
|
314
306
|
await onStart.promise;
|
|
315
|
-
const
|
|
316
|
-
|
|
307
|
+
const res = await this.#makeRequest(resource, {
|
|
308
|
+
headers: {
|
|
309
|
+
Accept: 'application/vnd.ipfs.ipns-record'
|
|
310
|
+
},
|
|
311
|
+
signal
|
|
312
|
+
});
|
|
317
313
|
this.log('getIPNS GET %s %d', resource, res.status);
|
|
318
314
|
// Per IPIP-0513: Handle 404 as "no record found" for backward compatibility
|
|
319
315
|
// IPNS is different - we still throw NotFoundError for 404 (backward compat)
|
|
@@ -339,11 +335,7 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
339
335
|
throw new BadResponseError('GET ipns response had no body');
|
|
340
336
|
}
|
|
341
337
|
const buf = await res.arrayBuffer();
|
|
342
|
-
|
|
343
|
-
if (options.validate !== false) {
|
|
344
|
-
await ipnsValidator(multihashToIPNSRoutingKey(libp2pKey.multihash), body);
|
|
345
|
-
}
|
|
346
|
-
return unmarshalIPNSRecord(body);
|
|
338
|
+
return new Uint8Array(buf, 0, buf.byteLength);
|
|
347
339
|
}
|
|
348
340
|
catch (err) {
|
|
349
341
|
this.log.error('getIPNS GET %s error - %e', resource, err);
|
|
@@ -352,7 +344,7 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
352
344
|
finally {
|
|
353
345
|
signal.clear();
|
|
354
346
|
onFinish.resolve();
|
|
355
|
-
this.log('getIPNS finished: %
|
|
347
|
+
this.log('getIPNS finished: %c', cid);
|
|
356
348
|
}
|
|
357
349
|
}
|
|
358
350
|
async putIPNS(libp2pKey, record, options = {}) {
|
|
@@ -370,9 +362,14 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
370
362
|
const resource = `${this.url}routing/v1/ipns/${libp2pKey}`;
|
|
371
363
|
try {
|
|
372
364
|
await onStart.promise;
|
|
373
|
-
const
|
|
374
|
-
|
|
375
|
-
|
|
365
|
+
const res = await this.#makeRequest(resource, {
|
|
366
|
+
method: 'PUT',
|
|
367
|
+
headers: {
|
|
368
|
+
'Content-Type': 'application/vnd.ipfs.ipns-record'
|
|
369
|
+
},
|
|
370
|
+
body: withArrayBuffer(record),
|
|
371
|
+
signal
|
|
372
|
+
});
|
|
376
373
|
this.log('putIPNS PUT %s %d', resource, res.status);
|
|
377
374
|
if (res.status !== 200) {
|
|
378
375
|
throw new BadResponseError('PUT ipns response had status other than 200');
|
package/dist/src/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,MAAO,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAA"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -97,9 +97,8 @@
|
|
|
97
97
|
* }
|
|
98
98
|
* ```
|
|
99
99
|
*/
|
|
100
|
-
import type { AbortOptions, ComponentLogger, PeerId } from '@libp2p/interface';
|
|
100
|
+
import type { AbortOptions, ComponentLogger, ContentRouting, PeerId, PeerRouting } from '@libp2p/interface';
|
|
101
101
|
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
102
|
-
import type { IPNSRecord } from 'ipns';
|
|
103
102
|
import type { CID } from 'multiformats/cid';
|
|
104
103
|
/**
|
|
105
104
|
* A peer that conforms to the [Peer Schema](https://specs.ipfs.tech/routing/http-routing-v1/#peer-schema).
|
|
@@ -168,15 +167,7 @@ export interface DelegatedRoutingV1HttpApiClientInit extends FilterOptions {
|
|
|
168
167
|
export interface DelegatedRoutingV1HttpApiClientComponents {
|
|
169
168
|
logger: ComponentLogger;
|
|
170
169
|
}
|
|
171
|
-
export
|
|
172
|
-
/**
|
|
173
|
-
* By default incoming IPNS records are validated, pass false here to skip
|
|
174
|
-
* validation and just return the record.
|
|
175
|
-
*
|
|
176
|
-
* @default true
|
|
177
|
-
*/
|
|
178
|
-
validate?: boolean;
|
|
179
|
-
}
|
|
170
|
+
export type GetIPNSOptions = AbortOptions;
|
|
180
171
|
export type GetProvidersOptions = FilterOptions & AbortOptions;
|
|
181
172
|
export type GetPeersOptions = FilterOptions & AbortOptions;
|
|
182
173
|
export type GetClosestPeersOptions = FilterOptions & AbortOptions;
|
|
@@ -192,22 +183,22 @@ export interface DelegatedRoutingV1HttpApiClient {
|
|
|
192
183
|
getProviders(cid: CID, options?: GetProvidersOptions): AsyncGenerator<PeerRecord>;
|
|
193
184
|
/**
|
|
194
185
|
* Returns an async generator of {@link PeerRecord}s for the provided
|
|
195
|
-
* {@link
|
|
186
|
+
* {@link CID}
|
|
196
187
|
*/
|
|
197
|
-
getPeers(
|
|
188
|
+
getPeers(cid: CID, options?: GetPeersOptions): AsyncGenerator<PeerRecord>;
|
|
198
189
|
/**
|
|
199
190
|
* Returns an async generator of {@link PeerRecord}s of the closest peers to
|
|
200
191
|
* the supplied key
|
|
201
192
|
*/
|
|
202
|
-
getClosestPeers(
|
|
193
|
+
getClosestPeers(cid: CID, options?: GetClosestPeersOptions): AsyncGenerator<PeerRecord>;
|
|
203
194
|
/**
|
|
204
|
-
* Returns a promise of a
|
|
195
|
+
* Returns a promise of a serialized IPNS record for passed CID
|
|
205
196
|
*/
|
|
206
|
-
getIPNS(
|
|
197
|
+
getIPNS(cid: CID, options?: GetIPNSOptions): Promise<Uint8Array<ArrayBuffer>>;
|
|
207
198
|
/**
|
|
208
|
-
* Publishes
|
|
199
|
+
* Publishes a serialized IPNS record for the passed CID
|
|
209
200
|
*/
|
|
210
|
-
putIPNS(
|
|
201
|
+
putIPNS(cid: CID, record: Uint8Array, options?: AbortOptions): Promise<void>;
|
|
211
202
|
/**
|
|
212
203
|
* Create the request/response cache used to ensure duplicate requests aren't
|
|
213
204
|
* made for the same data
|
|
@@ -223,4 +214,6 @@ export interface DelegatedRoutingV1HttpApiClient {
|
|
|
223
214
|
* Create and return a client to use with a Routing V1 HTTP API server
|
|
224
215
|
*/
|
|
225
216
|
export declare function delegatedRoutingV1HttpApiClient(init: DelegatedRoutingV1HttpApiClientInit): (components: DelegatedRoutingV1HttpApiClientComponents) => DelegatedRoutingV1HttpApiClient;
|
|
217
|
+
export declare function delegatedRoutingV1HttpApiClientContentRouting(init: DelegatedRoutingV1HttpApiClientInit): (components: DelegatedRoutingV1HttpApiClientComponents) => ContentRouting;
|
|
218
|
+
export declare function delegatedRoutingV1HttpApiClientPeerRouting(init: DelegatedRoutingV1HttpApiClientInit): (components: DelegatedRoutingV1HttpApiClientComponents) => PeerRouting;
|
|
226
219
|
//# sourceMappingURL=index.d.ts.map
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkGG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -97,11 +97,18 @@
|
|
|
97
97
|
* }
|
|
98
98
|
* ```
|
|
99
99
|
*/
|
|
100
|
-
import { DelegatedRoutingV1HttpApiClient as DelegatedRoutingV1HttpApiClientClass } from
|
|
100
|
+
import { DelegatedRoutingV1HttpApiClient as DelegatedRoutingV1HttpApiClientClass } from "./client.js";
|
|
101
|
+
import { DelegatedRoutingV1HttpApiClientContentRouting, DelegatedRoutingV1HttpApiClientPeerRouting } from "./routings.js";
|
|
101
102
|
/**
|
|
102
103
|
* Create and return a client to use with a Routing V1 HTTP API server
|
|
103
104
|
*/
|
|
104
105
|
export function delegatedRoutingV1HttpApiClient(init) {
|
|
105
106
|
return (components) => new DelegatedRoutingV1HttpApiClientClass(components, init);
|
|
106
107
|
}
|
|
108
|
+
export function delegatedRoutingV1HttpApiClientContentRouting(init) {
|
|
109
|
+
return (components) => new DelegatedRoutingV1HttpApiClientContentRouting(delegatedRoutingV1HttpApiClient(init)(components));
|
|
110
|
+
}
|
|
111
|
+
export function delegatedRoutingV1HttpApiClientPeerRouting(init) {
|
|
112
|
+
return (components) => new DelegatedRoutingV1HttpApiClientPeerRouting(delegatedRoutingV1HttpApiClient(init)(components));
|
|
113
|
+
}
|
|
107
114
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkGG;AAEH,OAAO,EAAE,+BAA+B,IAAI,oCAAoC,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkGG;AAEH,OAAO,EAAE,+BAA+B,IAAI,oCAAoC,EAAE,MAAM,aAAa,CAAA;AACrG,OAAO,EAAE,6CAA6C,EAAE,0CAA0C,EAAE,MAAM,eAAe,CAAA;AAoIzH;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAAE,IAAyC;IACxF,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,oCAAoC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;AACnF,CAAC;AAED,MAAM,UAAU,6CAA6C,CAAE,IAAyC;IACtG,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,6CAA6C,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;AAC7H,CAAC;AAED,MAAM,UAAU,0CAA0C,CAAE,IAAyC;IACnG,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,0CAA0C,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;AAC1H,CAAC"}
|
package/dist/src/routings.d.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
|
+
import { contentRoutingSymbol, peerRoutingSymbol } from '@libp2p/interface';
|
|
1
2
|
import { CID } from 'multiformats/cid';
|
|
2
|
-
import type { DelegatedRoutingV1HttpApiClient } from './index.
|
|
3
|
-
import type { ContentRouting, PeerRouting, AbortOptions, PeerId, PeerInfo, Provider } from '@libp2p/interface';
|
|
3
|
+
import type { DelegatedRoutingV1HttpApiClient } from './index.ts';
|
|
4
|
+
import type { ContentRouting, PeerRouting, AbortOptions, PeerId, PeerInfo, Provider, Startable } from '@libp2p/interface';
|
|
4
5
|
/**
|
|
5
6
|
* Wrapper class to convert [http-routing-v1 content events](https://specs.ipfs.tech/routing/http-routing-v1/#response-body) into returned values
|
|
6
7
|
*/
|
|
7
|
-
export declare class DelegatedRoutingV1HttpApiClientContentRouting implements ContentRouting {
|
|
8
|
+
export declare class DelegatedRoutingV1HttpApiClientContentRouting implements ContentRouting, Startable {
|
|
8
9
|
private readonly client;
|
|
9
10
|
constructor(client: DelegatedRoutingV1HttpApiClient);
|
|
11
|
+
get [contentRoutingSymbol](): ContentRouting;
|
|
12
|
+
start(): Promise<void>;
|
|
13
|
+
stop(): Promise<void>;
|
|
10
14
|
findProviders(cid: CID, options?: AbortOptions): AsyncIterable<Provider>;
|
|
11
15
|
provide(): Promise<void>;
|
|
12
16
|
cancelReprovide(): Promise<void>;
|
|
@@ -17,9 +21,12 @@ export declare class DelegatedRoutingV1HttpApiClientContentRouting implements Co
|
|
|
17
21
|
/**
|
|
18
22
|
* Wrapper class to convert [http-routing-v1](https://specs.ipfs.tech/routing/http-routing-v1/#response-body-0) events into expected libp2p values
|
|
19
23
|
*/
|
|
20
|
-
export declare class DelegatedRoutingV1HttpApiClientPeerRouting implements PeerRouting {
|
|
24
|
+
export declare class DelegatedRoutingV1HttpApiClientPeerRouting implements PeerRouting, Startable {
|
|
21
25
|
private readonly client;
|
|
22
26
|
constructor(client: DelegatedRoutingV1HttpApiClient);
|
|
27
|
+
get [peerRoutingSymbol](): PeerRouting;
|
|
28
|
+
start(): Promise<void>;
|
|
29
|
+
stop(): Promise<void>;
|
|
23
30
|
findPeer(peerId: PeerId, options?: AbortOptions): Promise<PeerInfo>;
|
|
24
31
|
getClosestPeers(key: Uint8Array, options?: AbortOptions): AsyncIterable<PeerInfo>;
|
|
25
32
|
toString(): string;
|
|
@@ -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":"AAAA,OAAO,EAAE,oBAAoB,EAAiB,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAI1F,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAMtC,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,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAQzH;;GAEG;AACH,qBAAa,6CAA8C,YAAW,cAAc,EAAE,SAAS;IAC7F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;gBAE3C,MAAM,EAAE,+BAA+B;IAIpD,IAAI,CAAC,oBAAoB,CAAC,IAAK,cAAc,CAE5C;IAEK,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAIvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAIpB,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;IAW/E,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IAqBxE,QAAQ,IAAK,MAAM;CAGpB;AAED;;GAEG;AACH,qBAAa,0CAA2C,YAAW,WAAW,EAAE,SAAS;IACvF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;gBAE3C,MAAM,EAAE,+BAA+B;IAIpD,IAAI,CAAC,iBAAiB,CAAC,IAAK,WAAW,CAEtC;IAEK,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAIvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAItB,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;IAqB9F,QAAQ,IAAK,MAAM;CAGpB"}
|
package/dist/src/routings.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { NotFoundError } from '@libp2p/interface';
|
|
2
|
-
import { peerIdFromMultihash } from '@libp2p/peer-id';
|
|
3
|
-
import { marshalIPNSRecord, multihashFromIPNSRoutingKey, unmarshalIPNSRecord } from 'ipns';
|
|
1
|
+
import { contentRoutingSymbol, NotFoundError, peerRoutingSymbol } from '@libp2p/interface';
|
|
4
2
|
import first from 'it-first';
|
|
5
3
|
import map from 'it-map';
|
|
6
4
|
import { digest } from 'multiformats';
|
|
7
5
|
import { CID } from 'multiformats/cid';
|
|
8
6
|
import * as raw from 'multiformats/codecs/raw';
|
|
7
|
+
import * as Digest from 'multiformats/hashes/digest';
|
|
9
8
|
import { identity } from 'multiformats/hashes/identity';
|
|
10
9
|
import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
|
|
11
10
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
@@ -21,6 +20,15 @@ export class DelegatedRoutingV1HttpApiClientContentRouting {
|
|
|
21
20
|
constructor(client) {
|
|
22
21
|
this.client = client;
|
|
23
22
|
}
|
|
23
|
+
get [contentRoutingSymbol]() {
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
async start() {
|
|
27
|
+
await this.client.start();
|
|
28
|
+
}
|
|
29
|
+
async stop() {
|
|
30
|
+
await this.client.stop();
|
|
31
|
+
}
|
|
24
32
|
async *findProviders(cid, options = {}) {
|
|
25
33
|
try {
|
|
26
34
|
yield* map(this.client.getProviders(cid, options), (record) => {
|
|
@@ -50,20 +58,18 @@ export class DelegatedRoutingV1HttpApiClientContentRouting {
|
|
|
50
58
|
if (!isIPNSKey(key)) {
|
|
51
59
|
return;
|
|
52
60
|
}
|
|
53
|
-
const digest =
|
|
61
|
+
const digest = Digest.decode(key.slice(IPNS_PREFIX.length));
|
|
54
62
|
const cid = CID.createV1(0x72, digest);
|
|
55
|
-
|
|
56
|
-
await this.client.putIPNS(cid, record, options);
|
|
63
|
+
await this.client.putIPNS(cid, value, options);
|
|
57
64
|
}
|
|
58
65
|
async get(key, options) {
|
|
59
66
|
if (!isIPNSKey(key)) {
|
|
60
67
|
throw new NotFoundError('Not found');
|
|
61
68
|
}
|
|
62
|
-
const digest =
|
|
69
|
+
const digest = Digest.decode(key.slice(IPNS_PREFIX.length));
|
|
63
70
|
const cid = CID.createV1(0x72, digest);
|
|
64
71
|
try {
|
|
65
|
-
|
|
66
|
-
return marshalIPNSRecord(record);
|
|
72
|
+
return await this.client.getIPNS(cid, options);
|
|
67
73
|
}
|
|
68
74
|
catch (err) {
|
|
69
75
|
// BadResponseError is thrown when the response had no body, which means
|
|
@@ -86,8 +92,17 @@ export class DelegatedRoutingV1HttpApiClientPeerRouting {
|
|
|
86
92
|
constructor(client) {
|
|
87
93
|
this.client = client;
|
|
88
94
|
}
|
|
95
|
+
get [peerRoutingSymbol]() {
|
|
96
|
+
return this;
|
|
97
|
+
}
|
|
98
|
+
async start() {
|
|
99
|
+
await this.client.start();
|
|
100
|
+
}
|
|
101
|
+
async stop() {
|
|
102
|
+
await this.client.stop();
|
|
103
|
+
}
|
|
89
104
|
async findPeer(peerId, options = {}) {
|
|
90
|
-
const peer = await first(this.client.getPeers(peerId, options));
|
|
105
|
+
const peer = await first(this.client.getPeers(peerId.toCID(), options));
|
|
91
106
|
if (peer != null) {
|
|
92
107
|
return {
|
|
93
108
|
id: peer.ID,
|
|
@@ -97,19 +112,19 @@ export class DelegatedRoutingV1HttpApiClientPeerRouting {
|
|
|
97
112
|
throw new NotFoundError('Not found');
|
|
98
113
|
}
|
|
99
114
|
async *getClosestPeers(key, options = {}) {
|
|
100
|
-
let
|
|
115
|
+
let cid;
|
|
101
116
|
try {
|
|
102
|
-
|
|
117
|
+
cid = CID.decode(key);
|
|
103
118
|
}
|
|
104
119
|
catch {
|
|
105
120
|
try {
|
|
106
|
-
|
|
121
|
+
cid = CID.createV1(0x72, digest.decode(key));
|
|
107
122
|
}
|
|
108
123
|
catch {
|
|
109
|
-
|
|
124
|
+
cid = CID.createV1(raw.code, identity.digest(key));
|
|
110
125
|
}
|
|
111
126
|
}
|
|
112
|
-
for await (const peer of this.client.getClosestPeers(
|
|
127
|
+
for await (const peer of this.client.getClosestPeers(cid, options)) {
|
|
113
128
|
yield {
|
|
114
129
|
id: peer.ID,
|
|
115
130
|
multiaddrs: peer.Addrs ?? []
|
package/dist/src/routings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routings.js","sourceRoot":"","sources":["../../src/routings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"routings.js","sourceRoot":"","sources":["../../src/routings.ts"],"names":[],"mappings":"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"}
|