@libp2p/kad-dht 15.1.2 → 15.1.3-ae595d8db
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 +2 -2
- package/dist/index.min.js.map +4 -4
- package/dist/src/constants.d.ts +2 -0
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +4 -0
- package/dist/src/constants.js.map +1 -1
- package/dist/src/content-fetching/index.d.ts +2 -2
- package/dist/src/content-fetching/index.d.ts.map +1 -1
- package/dist/src/content-fetching/index.js +6 -6
- package/dist/src/content-fetching/index.js.map +1 -1
- package/dist/src/content-routing/index.js +3 -3
- package/dist/src/content-routing/index.js.map +1 -1
- package/dist/src/errors.d.ts +0 -6
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +0 -9
- package/dist/src/errors.js.map +1 -1
- package/dist/src/index.d.ts +24 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/kad-dht.d.ts +8 -5
- package/dist/src/kad-dht.d.ts.map +1 -1
- package/dist/src/kad-dht.js +25 -18
- package/dist/src/kad-dht.js.map +1 -1
- package/dist/src/network.d.ts +1 -1
- package/dist/src/network.d.ts.map +1 -1
- package/dist/src/network.js +2 -1
- package/dist/src/network.js.map +1 -1
- package/dist/src/peer-distance-list.d.ts +4 -4
- package/dist/src/peer-distance-list.d.ts.map +1 -1
- package/dist/src/peer-distance-list.js +6 -6
- package/dist/src/peer-distance-list.js.map +1 -1
- package/dist/src/peer-routing/index.d.ts +6 -5
- package/dist/src/peer-routing/index.d.ts.map +1 -1
- package/dist/src/peer-routing/index.js +21 -32
- package/dist/src/peer-routing/index.js.map +1 -1
- package/dist/src/providers.d.ts +0 -3
- package/dist/src/providers.d.ts.map +1 -1
- package/dist/src/providers.js +11 -31
- package/dist/src/providers.js.map +1 -1
- package/dist/src/query/manager.d.ts.map +1 -1
- package/dist/src/query/manager.js +7 -3
- package/dist/src/query/manager.js.map +1 -1
- package/dist/src/query/query-path.d.ts.map +1 -1
- package/dist/src/query/query-path.js +11 -5
- package/dist/src/query/query-path.js.map +1 -1
- package/dist/src/query-self.d.ts.map +1 -1
- package/dist/src/query-self.js +2 -1
- package/dist/src/query-self.js.map +1 -1
- package/dist/src/record/validators.d.ts +2 -1
- package/dist/src/record/validators.d.ts.map +1 -1
- package/dist/src/record/validators.js +3 -3
- package/dist/src/record/validators.js.map +1 -1
- package/dist/src/reprovider.d.ts +1 -4
- package/dist/src/reprovider.d.ts.map +1 -1
- package/dist/src/reprovider.js +13 -13
- package/dist/src/reprovider.js.map +1 -1
- package/dist/src/routing-table/index.d.ts +6 -5
- package/dist/src/routing-table/index.d.ts.map +1 -1
- package/dist/src/routing-table/index.js +72 -44
- package/dist/src/routing-table/index.js.map +1 -1
- package/dist/src/routing-table/k-bucket.d.ts +20 -8
- package/dist/src/routing-table/k-bucket.d.ts.map +1 -1
- package/dist/src/routing-table/k-bucket.js +35 -16
- package/dist/src/routing-table/k-bucket.js.map +1 -1
- package/dist/src/routing-table/refresh.d.ts +5 -5
- package/dist/src/routing-table/refresh.d.ts.map +1 -1
- package/dist/src/routing-table/refresh.js +21 -15
- package/dist/src/routing-table/refresh.js.map +1 -1
- package/dist/src/rpc/handlers/find-node.d.ts.map +1 -1
- package/dist/src/rpc/handlers/find-node.js +40 -24
- package/dist/src/rpc/handlers/find-node.js.map +1 -1
- package/dist/src/rpc/handlers/get-providers.js +1 -1
- package/dist/src/rpc/handlers/get-providers.js.map +1 -1
- package/dist/src/rpc/handlers/get-value.js +1 -1
- package/dist/src/rpc/handlers/get-value.js.map +1 -1
- package/dist/src/rpc/index.d.ts +2 -1
- package/dist/src/rpc/index.d.ts.map +1 -1
- package/dist/src/rpc/index.js +50 -19
- package/dist/src/rpc/index.js.map +1 -1
- package/dist/src/topology-listener.d.ts +1 -1
- package/dist/src/topology-listener.d.ts.map +1 -1
- package/dist/src/topology-listener.js +1 -1
- package/dist/src/topology-listener.js.map +1 -1
- package/dist/src/utils.d.ts +3 -3
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +4 -3
- package/dist/src/utils.js.map +1 -1
- package/package.json +17 -17
- package/src/constants.ts +6 -0
- package/src/content-fetching/index.ts +7 -7
- package/src/content-routing/index.ts +3 -3
- package/src/errors.ts +0 -10
- package/src/index.ts +27 -5
- package/src/kad-dht.ts +28 -20
- package/src/network.ts +2 -1
- package/src/peer-distance-list.ts +7 -7
- package/src/peer-routing/index.ts +23 -34
- package/src/providers.ts +15 -33
- package/src/query/manager.ts +7 -3
- package/src/query/query-path.ts +11 -5
- package/src/query-self.ts +3 -1
- package/src/record/validators.ts +4 -3
- package/src/reprovider.ts +13 -16
- package/src/routing-table/index.ts +74 -45
- package/src/routing-table/k-bucket.ts +54 -20
- package/src/routing-table/refresh.ts +21 -16
- package/src/rpc/handlers/find-node.ts +41 -27
- package/src/rpc/handlers/get-providers.ts +1 -1
- package/src/rpc/handlers/get-value.ts +1 -1
- package/src/rpc/index.ts +54 -23
- package/src/topology-listener.ts +1 -1
- package/src/utils.ts +5 -4
- package/dist/typedoc-urls.json +0 -63
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { setMaxListeners } from '@libp2p/interface';
|
|
2
1
|
import { createScalableCuckooFilter } from '@libp2p/utils/filters';
|
|
3
2
|
import { anySignal } from 'any-signal';
|
|
4
3
|
import merge from 'it-merge';
|
|
4
|
+
import { setMaxListeners } from 'main-event';
|
|
5
5
|
import { pEvent } from 'p-event';
|
|
6
6
|
import { raceSignal } from 'race-signal';
|
|
7
7
|
import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
|
|
@@ -107,8 +107,12 @@ export class QueryManager {
|
|
|
107
107
|
this.initialQuerySelfHasRun = undefined;
|
|
108
108
|
}
|
|
109
109
|
log('query:start');
|
|
110
|
-
const id = await convertBuffer(key
|
|
111
|
-
|
|
110
|
+
const id = await convertBuffer(key, {
|
|
111
|
+
signal
|
|
112
|
+
});
|
|
113
|
+
const peers = this.routingTable.closestPeers(id, {
|
|
114
|
+
count: this.routingTable.kBucketSize
|
|
115
|
+
});
|
|
112
116
|
// split peers into d buckets evenly(ish)
|
|
113
117
|
const peersToQuery = peers.sort(() => {
|
|
114
118
|
if (Math.random() > 0.5) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/query/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/query/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-path.d.ts","sourceRoot":"","sources":["../../../src/query/query-path.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAA0B,MAAM,mBAAmB,CAAA;AAC/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD;;OAEG;IACH,GAAG,EAAE,UAAU,CAAA;IAEf;;OAEG;IACH,aAAa,EAAE,MAAM,EAAE,CAAA;IAEvB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAA;IAEhB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,CAAA;IAEpC;;OAEG;IACH,MAAM,EAAE,WAAW,CAAA;CACpB;AAMD;;;GAGG;AACH,wBAAwB,SAAS,CAAE,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"query-path.d.ts","sourceRoot":"","sources":["../../../src/query/query-path.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAA0B,MAAM,mBAAmB,CAAA;AAC/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD;;OAEG;IACH,GAAG,EAAE,UAAU,CAAA;IAEf;;OAEG;IACH,aAAa,EAAE,MAAM,EAAE,CAAA;IAEvB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAA;IAEhB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,CAAA;IAEpC;;OAEG;IACH,MAAM,EAAE,WAAW,CAAA;CACpB;AAMD;;;GAGG;AACH,wBAAwB,SAAS,CAAE,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CA8IzG"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { AbortError } from '@libp2p/interface';
|
|
1
2
|
import { Queue } from '@libp2p/utils/queue';
|
|
2
3
|
import { pushable } from 'it-pushable';
|
|
3
4
|
import { xor as uint8ArrayXor } from 'uint8arrays/xor';
|
|
4
5
|
import { xorCompare as uint8ArrayXorCompare } from 'uint8arrays/xor-compare';
|
|
5
|
-
import { QueryAbortedError } from '../errors.js';
|
|
6
6
|
import { convertPeerId, convertBuffer } from '../utils.js';
|
|
7
7
|
import { pathEndedEvent, queryErrorEvent } from './events.js';
|
|
8
8
|
/**
|
|
@@ -36,10 +36,12 @@ export async function* queryPath(options) {
|
|
|
36
36
|
});
|
|
37
37
|
signal.addEventListener('abort', () => {
|
|
38
38
|
queue.abort();
|
|
39
|
-
events.end(new
|
|
39
|
+
events.end(new AbortError());
|
|
40
40
|
});
|
|
41
41
|
// perform lookups on kadId, not the actual value
|
|
42
|
-
const kadId = await convertBuffer(key
|
|
42
|
+
const kadId = await convertBuffer(key, {
|
|
43
|
+
signal
|
|
44
|
+
});
|
|
43
45
|
/**
|
|
44
46
|
* Adds the passed peer to the query queue if it's not us and no other path
|
|
45
47
|
* has passed through this peer
|
|
@@ -81,7 +83,9 @@ export async function* queryPath(options) {
|
|
|
81
83
|
log('not querying undialable peer');
|
|
82
84
|
continue;
|
|
83
85
|
}
|
|
84
|
-
const closerPeerKadId = await convertPeerId(closerPeer.id
|
|
86
|
+
const closerPeerKadId = await convertPeerId(closerPeer.id, {
|
|
87
|
+
signal
|
|
88
|
+
});
|
|
85
89
|
const closerPeerXor = uint8ArrayXor(closerPeerKadId, kadId);
|
|
86
90
|
// only continue query if closer peer is actually closer
|
|
87
91
|
if (uint8ArrayXorCompare(closerPeerXor, peerXor) !== -1) { // eslint-disable-line max-depth
|
|
@@ -124,7 +128,9 @@ export async function* queryPath(options) {
|
|
|
124
128
|
}
|
|
125
129
|
// begin the query with the starting peers
|
|
126
130
|
await Promise.all(startingPeers.map(async (startingPeer) => {
|
|
127
|
-
queryPeer({ id: startingPeer, multiaddrs: [] }, await convertPeerId(startingPeer
|
|
131
|
+
queryPeer({ id: startingPeer, multiaddrs: [] }, await convertPeerId(startingPeer, {
|
|
132
|
+
signal
|
|
133
|
+
}));
|
|
128
134
|
}));
|
|
129
135
|
// yield results as they come in
|
|
130
136
|
yield* events;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-path.js","sourceRoot":"","sources":["../../../src/query/query-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,GAAG,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"query-path.js","sourceRoot":"","sources":["../../../src/query/query-path.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-self.d.ts","sourceRoot":"","sources":["../../src/query-self.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAU,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sBAAsB,EAAE,eAAe,CAAC,IAAI,CAAC,CAAA;IAC7C,gBAAgB,EAAE,gBAAgB,CAAA;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,WAAW,CAAA;CACpB;AAED;;GAEG;AACH,qBAAa,SAAU,YAAW,SAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAC,CAA+B;IACjD,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,sBAAsB,CAAC,CAAuB;IACtD,OAAO,CAAC,gBAAgB,CAAC,CAAuB;gBAEnC,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,aAAa;IAejE,SAAS,IAAK,OAAO;IAIrB,KAAK,IAAK,IAAI;IAed,IAAI,IAAK,IAAI;IAYP,SAAS,IAAK,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"query-self.d.ts","sourceRoot":"","sources":["../../src/query-self.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAU,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sBAAsB,EAAE,eAAe,CAAC,IAAI,CAAC,CAAA;IAC7C,gBAAgB,EAAE,gBAAgB,CAAA;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,WAAW,CAAA;CACpB;AAED;;GAEG;AACH,qBAAa,SAAU,YAAW,SAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAC,CAA+B;IACjD,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,sBAAsB,CAAC,CAAuB;IACtD,OAAO,CAAC,gBAAgB,CAAC,CAAuB;gBAEnC,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,aAAa;IAejE,SAAS,IAAK,OAAO;IAIrB,KAAK,IAAK,IAAI;IAed,IAAI,IAAK,IAAI;IAYP,SAAS,IAAK,OAAO,CAAC,IAAI,CAAC;CA8ElC"}
|
package/dist/src/query-self.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { setMaxListeners } from '@libp2p/interface';
|
|
2
1
|
import { anySignal } from 'any-signal';
|
|
3
2
|
import length from 'it-length';
|
|
4
3
|
import { pipe } from 'it-pipe';
|
|
5
4
|
import take from 'it-take';
|
|
5
|
+
import { setMaxListeners } from 'main-event';
|
|
6
6
|
import pDefer from 'p-defer';
|
|
7
7
|
import { QUERY_SELF_INTERVAL, QUERY_SELF_TIMEOUT, K, QUERY_SELF_INITIAL_INTERVAL } from './constants.js';
|
|
8
8
|
import { timeOperationMethod } from './utils.js';
|
|
@@ -89,6 +89,7 @@ export class QuerySelf {
|
|
|
89
89
|
signal,
|
|
90
90
|
isSelfQuery: true
|
|
91
91
|
}), (source) => take(source, this.count), async (source) => length(source));
|
|
92
|
+
signal?.throwIfAborted();
|
|
92
93
|
const duration = Date.now() - start;
|
|
93
94
|
this.log('self-query found %d peers in %dms', peers, duration);
|
|
94
95
|
this.events.dispatchEvent(new CustomEvent('kad-dht:query:self', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-self.js","sourceRoot":"","sources":["../../src/query-self.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"query-self.js","sourceRoot":"","sources":["../../src/query-self.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAA;AACxG,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAwBhD;;GAEG;AACH,MAAM,OAAO,SAAS;IACH,GAAG,CAAQ;IACX,MAAM,CAAQ;IACd,WAAW,CAAa;IACxB,MAAM,CAAa;IACnB,KAAK,CAAQ;IACb,QAAQ,CAAQ;IAChB,eAAe,CAAQ;IACvB,YAAY,CAAQ;IAC7B,OAAO,CAAS;IAChB,SAAS,CAAgC;IACzC,UAAU,CAAkB;IAC5B,sBAAsB,CAAwB;IAC9C,gBAAgB,CAAwB;IAEhD,YAAa,UAA+B,EAAE,IAAmB;QAC/D,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,SAAS,aAAa,CAAC,CAAA;QACzE,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;QACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,mBAAmB,CAAA;QACpD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,2BAA2B,CAAA;QAC1E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,kBAAkB,CAAA;QAC3D,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAA;QAEzD,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAA;IACtG,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC5B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,SAAS,EAAE;iBACb,KAAK,CAAC,GAAG,CAAC,EAAE;gBACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;YACjD,CAAC,CAAC,CAAA;QACN,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;IAC1B,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QAEpB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9B,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;QACzB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAA;YACtD,OAAM;QACR,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;YACvC,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAA;QACtC,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,MAAM,EAAE,CAAA;QAEhC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;YACvC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;YAExC,oEAAoE;YACpE,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,EAAE,CAAC;gBACxC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBAC5D,eAAe,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;gBACxC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAC7B,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;YACjC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;YAEzD,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,yDAAyD,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;gBAClG,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBAExB,MAAM,KAAK,GAAG,MAAM,IAAI,CACtB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE;oBAChE,MAAM;oBACN,WAAW,EAAE,IAAI;iBAClB,CAAC,EACF,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EACpC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CACjC,CAAA;gBAED,MAAM,EAAE,cAAc,EAAE,CAAA;gBAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;gBAEnC,IAAI,CAAC,GAAG,CAAC,mCAAmC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;gBAE9D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,oBAAoB,EAAE;oBAC9D,MAAM,EAAE;wBACN,KAAK;wBACL,QAAQ;qBACT;iBACF,CAAC,CAAC,CAAA;YACL,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAA;YACzC,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,KAAK,EAAE,CAAA;gBAEd,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,EAAE,CAAC;oBACxC,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAA;oBACrC,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAA;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAA;QAC/B,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;QAEjC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,SAAS,EAAE;iBACb,KAAK,CAAC,GAAG,CAAC,EAAE;gBACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;YACjD,CAAC,CAAC,CAAA;QACN,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACnB,CAAC;CACF"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { Validators } from '../index.js';
|
|
2
2
|
import type { Libp2pRecord } from '@libp2p/record';
|
|
3
|
+
import type { AbortOptions } from 'it-pushable';
|
|
3
4
|
/**
|
|
4
5
|
* Checks a record and ensures it is still valid.
|
|
5
6
|
* It runs the needed validators.
|
|
6
7
|
* If verification fails the returned Promise will reject with the error.
|
|
7
8
|
*/
|
|
8
|
-
export declare function verifyRecord(validators: Validators, record: Libp2pRecord): Promise<void>;
|
|
9
|
+
export declare function verifyRecord(validators: Validators, record: Libp2pRecord, options?: AbortOptions): Promise<void>;
|
|
9
10
|
export declare const validators: Validators;
|
|
10
11
|
//# sourceMappingURL=validators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../src/record/validators.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../src/record/validators.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C;;;;GAIG;AACH,wBAAsB,YAAY,CAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBvH;AAkCD,eAAO,MAAM,UAAU,EAAE,UAExB,CAAA"}
|
|
@@ -7,7 +7,7 @@ import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
|
|
|
7
7
|
* It runs the needed validators.
|
|
8
8
|
* If verification fails the returned Promise will reject with the error.
|
|
9
9
|
*/
|
|
10
|
-
export async function verifyRecord(validators, record) {
|
|
10
|
+
export async function verifyRecord(validators, record, options) {
|
|
11
11
|
const key = record.key;
|
|
12
12
|
const keyString = uint8ArrayToString(key);
|
|
13
13
|
const parts = keyString.split('/');
|
|
@@ -19,7 +19,7 @@ export async function verifyRecord(validators, record) {
|
|
|
19
19
|
if (validator == null) {
|
|
20
20
|
throw new InvalidParametersError(`No validator available for key type "${parts[1]}"`);
|
|
21
21
|
}
|
|
22
|
-
await validator(key, record.value);
|
|
22
|
+
await validator(key, record.value, options);
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Validator for public key records.
|
|
@@ -30,7 +30,7 @@ export async function verifyRecord(validators, record) {
|
|
|
30
30
|
* @param {Uint8Array} key - A valid key is of the form `'/pk/<keymultihash>'`
|
|
31
31
|
* @param {Uint8Array} publicKey - The public key to validate against (protobuf encoded).
|
|
32
32
|
*/
|
|
33
|
-
const validatePublicKeyRecord = async (key, publicKey) => {
|
|
33
|
+
const validatePublicKeyRecord = async (key, publicKey, options) => {
|
|
34
34
|
if (!(key instanceof Uint8Array)) {
|
|
35
35
|
throw new InvalidParametersError('"key" must be a Uint8Array');
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/record/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/record/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAKtE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAE,UAAsB,EAAE,MAAoB,EAAE,OAAsB;IACtG,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;IACtB,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACzC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAElC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,yBAAyB;QACzB,OAAM;IACR,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;IAEjD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,sBAAsB,CAAC,wCAAwC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACvF,CAAC;IAED,MAAM,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAC7C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,uBAAuB,GAAG,KAAK,EAAE,GAAe,EAAE,SAAqB,EAAE,OAAsB,EAAiB,EAAE;IACtH,IAAI,CAAC,CAAC,GAAG,YAAY,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,CAAA;IAChE,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,sBAAsB,CAAC,2BAA2B,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAErD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,sBAAsB,CAAC,gCAAgC,CAAC,CAAA;IACpE,CAAC;IAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAE5B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,sBAAsB,CAAC,yCAAyC,CAAC,CAAA;IAC7E,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,EAAE,EAAE,uBAAuB;CAC5B,CAAA"}
|
package/dist/src/reprovider.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { TypedEventEmitter } from '
|
|
1
|
+
import { TypedEventEmitter } from 'main-event';
|
|
2
2
|
import type { ContentRouting } from './content-routing/index.js';
|
|
3
3
|
import type { OperationMetrics } from './kad-dht.js';
|
|
4
4
|
import type { ComponentLogger, Metrics, PeerId } from '@libp2p/interface';
|
|
5
5
|
import type { AddressManager } from '@libp2p/interface-internal';
|
|
6
6
|
import type { AdaptiveTimeoutInit } from '@libp2p/utils/adaptive-timeout';
|
|
7
7
|
import type { Datastore } from 'interface-datastore';
|
|
8
|
-
import type { Mortice } from 'mortice';
|
|
9
8
|
export interface ReproviderComponents {
|
|
10
9
|
peerId: PeerId;
|
|
11
10
|
datastore: Datastore;
|
|
@@ -18,7 +17,6 @@ export interface ReproviderInit {
|
|
|
18
17
|
metricsPrefix: string;
|
|
19
18
|
datastorePrefix: string;
|
|
20
19
|
contentRouting: ContentRouting;
|
|
21
|
-
lock: Mortice;
|
|
22
20
|
operationMetrics: OperationMetrics;
|
|
23
21
|
concurrency?: number;
|
|
24
22
|
maxQueueSize?: number;
|
|
@@ -46,7 +44,6 @@ export declare class Reprovider extends TypedEventEmitter<ReprovideEvents> {
|
|
|
46
44
|
private readonly addressManager;
|
|
47
45
|
private readonly validity;
|
|
48
46
|
private readonly interval;
|
|
49
|
-
private readonly lock;
|
|
50
47
|
private readonly peerId;
|
|
51
48
|
constructor(components: ReproviderComponents, init: ReproviderInit);
|
|
52
49
|
start(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reprovider.d.ts","sourceRoot":"","sources":["../../src/reprovider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reprovider.d.ts","sourceRoot":"","sources":["../../src/reprovider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,YAAY,CAAA;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAgB,eAAe,EAAU,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAGpD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,eAAe,CAAA;IACvB,cAAc,EAAE,cAAc,CAAA;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,cAAc,CAAA;IAC9B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,SAAS,CAAC,CAAA;CAC/D;AAMD,UAAU,eAAe;IACvB,iBAAiB,EAAE,WAAW,CAAA;IAC9B,eAAe,EAAE,WAAW,CAAA;CAC7B;AAED,qBAAa,UAAW,SAAQ,iBAAiB,CAAC,eAAe,CAAC;IAChE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA8B;IAC7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,OAAO,CAAC,CAA+B;IAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiB;IAClD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,kBAAkB,CAAC,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;gBAElB,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc;IA4BnE,KAAK,IAAK,IAAI;IAmBd,IAAI,IAAK,IAAI;IAOb;;;OAGG;YACW,OAAO;YAoDP,cAAc;YA8Cd,SAAS;CAIxB"}
|
package/dist/src/reprovider.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { TypedEventEmitter, setMaxListeners } from '@libp2p/interface';
|
|
2
1
|
import { AdaptiveTimeout } from '@libp2p/utils/adaptive-timeout';
|
|
3
2
|
import { Queue } from '@libp2p/utils/queue';
|
|
4
3
|
import drain from 'it-drain';
|
|
5
|
-
import {
|
|
4
|
+
import { TypedEventEmitter, setMaxListeners } from 'main-event';
|
|
5
|
+
import { PROVIDERS_VALIDITY, REPROVIDE_CONCURRENCY, REPROVIDE_INTERVAL, REPROVIDE_MAX_QUEUE_SIZE, REPROVIDE_THRESHOLD, REPROVIDE_TIMEOUT } from './constants.js';
|
|
6
6
|
import { parseProviderKey, readProviderTime, timeOperationMethod } from './utils.js';
|
|
7
7
|
export class Reprovider extends TypedEventEmitter {
|
|
8
8
|
log;
|
|
@@ -19,7 +19,6 @@ export class Reprovider extends TypedEventEmitter {
|
|
|
19
19
|
addressManager;
|
|
20
20
|
validity;
|
|
21
21
|
interval;
|
|
22
|
-
lock;
|
|
23
22
|
peerId;
|
|
24
23
|
constructor(components, init) {
|
|
25
24
|
super();
|
|
@@ -43,7 +42,6 @@ export class Reprovider extends TypedEventEmitter {
|
|
|
43
42
|
this.validity = init.validity ?? PROVIDERS_VALIDITY;
|
|
44
43
|
this.interval = init.interval ?? REPROVIDE_INTERVAL;
|
|
45
44
|
this.contentRouting = init.contentRouting;
|
|
46
|
-
this.lock = init.lock;
|
|
47
45
|
this.running = false;
|
|
48
46
|
this.reprovide = timeOperationMethod(this.reprovide.bind(this), init.operationMetrics, 'PROVIDE');
|
|
49
47
|
}
|
|
@@ -55,7 +53,9 @@ export class Reprovider extends TypedEventEmitter {
|
|
|
55
53
|
this.shutdownController = new AbortController();
|
|
56
54
|
setMaxListeners(Infinity, this.shutdownController.signal);
|
|
57
55
|
this.timeout = setTimeout(() => {
|
|
58
|
-
this.cleanUp(
|
|
56
|
+
this.cleanUp({
|
|
57
|
+
signal: AbortSignal.timeout(REPROVIDE_TIMEOUT)
|
|
58
|
+
}).catch(err => {
|
|
59
59
|
this.log.error('error running reprovide/cleanup - %e', err);
|
|
60
60
|
});
|
|
61
61
|
}, this.interval);
|
|
@@ -70,14 +70,13 @@ export class Reprovider extends TypedEventEmitter {
|
|
|
70
70
|
* Check all provider records. Delete them if they have expired, reprovide
|
|
71
71
|
* them if the provider is us and the expiry is within the reprovide window.
|
|
72
72
|
*/
|
|
73
|
-
async cleanUp() {
|
|
74
|
-
const release = await this.lock.writeLock();
|
|
73
|
+
async cleanUp(options) {
|
|
75
74
|
try {
|
|
76
75
|
this.safeDispatchEvent('reprovide:start');
|
|
77
76
|
// Get all provider entries from the datastore
|
|
78
77
|
for await (const entry of this.datastore.query({
|
|
79
78
|
prefix: this.datastorePrefix
|
|
80
|
-
})) {
|
|
79
|
+
}, options)) {
|
|
81
80
|
try {
|
|
82
81
|
// Add a delete to the batch for each expired entry
|
|
83
82
|
const { cid, peerId } = parseProviderKey(entry.key);
|
|
@@ -88,7 +87,7 @@ export class Reprovider extends TypedEventEmitter {
|
|
|
88
87
|
this.log.trace('comparing: %d < %d = %s %s', created, now - this.validity, expired, expired ? '(expired)' : '');
|
|
89
88
|
// delete the record if it has expired
|
|
90
89
|
if (expired) {
|
|
91
|
-
await this.datastore.delete(entry.key);
|
|
90
|
+
await this.datastore.delete(entry.key, options);
|
|
92
91
|
}
|
|
93
92
|
// if the provider is us and we are within the reprovide threshold,
|
|
94
93
|
// reprovide the record
|
|
@@ -106,23 +105,24 @@ export class Reprovider extends TypedEventEmitter {
|
|
|
106
105
|
this.log('reprovide/cleanup successful');
|
|
107
106
|
}
|
|
108
107
|
finally {
|
|
109
|
-
release();
|
|
110
108
|
this.safeDispatchEvent('reprovide:end');
|
|
111
109
|
if (this.running) {
|
|
112
110
|
this.timeout = setTimeout(() => {
|
|
113
|
-
this.cleanUp(
|
|
111
|
+
this.cleanUp({
|
|
112
|
+
signal: AbortSignal.timeout(REPROVIDE_TIMEOUT)
|
|
113
|
+
}).catch(err => {
|
|
114
114
|
this.log.error('error running re-provide - %e', err);
|
|
115
115
|
});
|
|
116
116
|
}, this.interval);
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
|
-
async queueReprovide(cid) {
|
|
120
|
+
async queueReprovide(cid, options) {
|
|
121
121
|
if (!this.running) {
|
|
122
122
|
return;
|
|
123
123
|
}
|
|
124
124
|
this.log.trace('waiting for queue capacity before adding %c to re-provide queue', cid);
|
|
125
|
-
await this.reprovideQueue.onSizeLessThan(this.maxQueueSize);
|
|
125
|
+
await this.reprovideQueue.onSizeLessThan(this.maxQueueSize, options);
|
|
126
126
|
const existingJob = this.reprovideQueue.queue.find(job => job.options.cid.equals(cid));
|
|
127
127
|
if (existingJob != null) {
|
|
128
128
|
this.log.trace('not adding %c to re-provide queue - already in queue', cid);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reprovider.js","sourceRoot":"","sources":["../../src/reprovider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"reprovider.js","sourceRoot":"","sources":["../../src/reprovider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAChK,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAwCpF,MAAM,OAAO,UAAW,SAAQ,iBAAkC;IAC/C,GAAG,CAAQ;IACX,cAAc,CAA8B;IAC5C,YAAY,CAAQ;IACpB,SAAS,CAAW;IAC7B,OAAO,CAAgC;IAC9B,gBAAgB,CAAiB;IAC1C,OAAO,CAAS;IAChB,kBAAkB,CAAkB;IAC3B,kBAAkB,CAAQ;IAC1B,cAAc,CAAgB;IAC9B,eAAe,CAAQ;IACvB,cAAc,CAAgB;IAC9B,QAAQ,CAAQ;IAChB,QAAQ,CAAQ;IAChB,MAAM,CAAQ;IAE/B,YAAa,UAAgC,EAAE,IAAoB;QACjE,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,SAAS,aAAa,CAAC,CAAA;QACzE,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,KAAK,CAAC;YAC9B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,qBAAqB;YACtD,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,kBAAkB;SACpD,CAAC,CAAA;QACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,CAAC;YAC1C,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;YACvB,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,iCAAiC;SACnE,CAAC,CAAA;QACF,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;QACrC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAA;QAC/C,IAAI,CAAC,eAAe,GAAG,GAAG,IAAI,CAAC,eAAe,WAAW,CAAA;QACzD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,IAAI,mBAAmB,CAAA;QAC/D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,wBAAwB,CAAA;QACjE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,kBAAkB,CAAA;QACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,kBAAkB,CAAA;QACnD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;QACzC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QAEpB,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAA;IACnG,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QAEnB,IAAI,CAAC,kBAAkB,GAAG,IAAI,eAAe,EAAE,CAAA;QAC/C,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QAEzD,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC;gBACX,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC;aAC/C,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAA;YAC7D,CAAC,CAAC,CAAA;QACJ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACnB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;QAC3B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1B,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAA;IAClC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,OAAO,CAAE,OAAsB;QAC3C,IAAI,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAA;YAEzC,8CAA8C;YAC9C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC7C,MAAM,EAAE,IAAI,CAAC,eAAe;aAC7B,EAAE,OAAO,CAAC,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,mDAAmD;oBACnD,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBACnD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;oBACvD,MAAM,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAA;oBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;oBACtB,MAAM,OAAO,GAAG,GAAG,GAAG,OAAO,CAAA;oBAE7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;oBAE/G,sCAAsC;oBACtC,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;oBACjD,CAAC;oBAED,mEAAmE;oBACnE,uBAAuB;oBACvB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBAC5E,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;6BACrB,KAAK,CAAC,GAAG,CAAC,EAAE;4BACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;wBACzD,CAAC,CAAC,CAAA;oBACN,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;gBAClF,CAAC;YACH,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;QAC1C,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAA;YAEvC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC7B,IAAI,CAAC,OAAO,CAAC;wBACX,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC;qBAC/C,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;wBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;oBACtD,CAAC,CAAC,CAAA;gBACJ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAE,GAAQ,EAAE,OAAsB;QAC5D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iEAAiE,EAAE,GAAG,CAAC,CAAA;QACtF,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAEpE,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAEtF,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sDAAsD,EAAE,GAAG,CAAC,CAAA;YAC3E,OAAO,WAAW,CAAC,IAAI,EAAE,CAAA;QAC3B,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;QAEpD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAiB,EAAE;YACvD,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,CAAA;YAEhC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAM;YACR,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;YAEtC,uBAAuB;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;YAE9D,IAAI,CAAC;gBACH,YAAY;gBACZ,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YAC5C,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACvC,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;QACvC,CAAC,EAAE;YACD,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM;YACvC,GAAG;SACJ,CAAC;aACC,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,KAAK,CAAC,SAAS,CAAE,GAAQ,EAAE,OAAsB;QACvD,YAAY;QACZ,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IAC5F,CAAC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TypedEventEmitter } from '
|
|
1
|
+
import { TypedEventEmitter } from 'main-event';
|
|
2
2
|
import { KBucket } from './k-bucket.js';
|
|
3
|
-
import type { Peer } from './k-bucket.js';
|
|
3
|
+
import type { GetClosestPeersOptions, Peer } from './k-bucket.js';
|
|
4
4
|
import type { Network } from '../network.js';
|
|
5
5
|
import type { AbortOptions, ComponentLogger, Metrics, PeerId, PeerStore, Startable } from '@libp2p/interface';
|
|
6
6
|
import type { Ping } from '@libp2p/ping';
|
|
@@ -77,6 +77,7 @@ export declare class RoutingTable extends TypedEventEmitter<RoutingTableEvents>
|
|
|
77
77
|
private readonly peerTagName;
|
|
78
78
|
private readonly peerTagValue;
|
|
79
79
|
private readonly metrics?;
|
|
80
|
+
private shutdownController;
|
|
80
81
|
constructor(components: RoutingTableComponents, init: RoutingTableInit);
|
|
81
82
|
isStarted(): boolean;
|
|
82
83
|
start(): Promise<void>;
|
|
@@ -104,7 +105,7 @@ export declare class RoutingTable extends TypedEventEmitter<RoutingTableEvents>
|
|
|
104
105
|
/**
|
|
105
106
|
* Find a specific peer by id
|
|
106
107
|
*/
|
|
107
|
-
find(peer: PeerId): Promise<PeerId | undefined>;
|
|
108
|
+
find(peer: PeerId, options?: AbortOptions): Promise<PeerId | undefined>;
|
|
108
109
|
/**
|
|
109
110
|
* Retrieve the closest peers to the given kadId
|
|
110
111
|
*/
|
|
@@ -112,7 +113,7 @@ export declare class RoutingTable extends TypedEventEmitter<RoutingTableEvents>
|
|
|
112
113
|
/**
|
|
113
114
|
* Retrieve the `count`-closest peers to the given kadId
|
|
114
115
|
*/
|
|
115
|
-
closestPeers(kadId: Uint8Array,
|
|
116
|
+
closestPeers(kadId: Uint8Array, options?: GetClosestPeersOptions): PeerId[];
|
|
116
117
|
/**
|
|
117
118
|
* Add or update the routing table with the given peer
|
|
118
119
|
*/
|
|
@@ -120,7 +121,7 @@ export declare class RoutingTable extends TypedEventEmitter<RoutingTableEvents>
|
|
|
120
121
|
/**
|
|
121
122
|
* Remove a given peer from the table
|
|
122
123
|
*/
|
|
123
|
-
remove(peer: PeerId): Promise<void>;
|
|
124
|
+
remove(peer: PeerId, options?: AbortOptions): Promise<void>;
|
|
124
125
|
private updateMetrics;
|
|
125
126
|
}
|
|
126
127
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routing-table/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routing-table/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,YAAY,CAAA;AAG/D,OAAO,EAAE,OAAO,EAAgB,MAAM,eAAe,CAAA;AACrD,OAAO,KAAK,EAAU,sBAAsB,EAAc,IAAI,EAAE,MAAM,eAAe,CAAA;AACrF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAgC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAU,MAAM,mBAAmB,CAAA;AACnJ,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAEzE,eAAO,MAAM,YAAY,KAAK,CAAA;AAC9B,eAAO,MAAM,aAAa,IAAI,CAAA;AAC9B,eAAO,MAAM,wBAAwB,OAAO,CAAA;AAC5C,eAAO,MAAM,4BAA4B,KAAK,CAAA;AAC9C,eAAO,MAAM,+BAA+B,MAAM,CAAA;AAClD,eAAO,MAAM,sBAAsB,IAAI,CAAA;AACvC,eAAO,MAAM,wBAAwB,OAAO,CAAA;AAC5C,eAAO,MAAM,4BAA4B,KAAK,CAAA;AAC9C,eAAO,MAAM,+BAA+B,MAAM,CAAA;AAClD,eAAO,MAAM,iBAAiB,aAAa,CAAA;AAC3C,eAAO,MAAM,kBAAkB,IAAI,CAAA;AACnC,eAAO,MAAM,mBAAmB,SAAS,CAAA;AACzC,eAAO,MAAM,gCAAgC,OAAO,CAAA;AACpD,eAAO,MAAM,6BAA6B,OAAO,CAAA;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qBAAqB,CAAC,EAAE,mBAAmB,CAAA;IAC3C,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,qBAAqB,CAAC,EAAE,mBAAmB,CAAA;IAC3C,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,4BAA4B,CAAC,EAAE,OAAO,CAAA;IACtC,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,6BAA6B,CAAC,EAAE,MAAM,CAAA;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;CACX;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC/B,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAClC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CACjC;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,iBAAiB,CAAC,kBAAkB,CAAE,YAAW,SAAS;IACnF,WAAW,EAAE,MAAM,CAAA;IACnB,EAAE,EAAE,OAAO,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAc;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAoB;IACxD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAoB;IACxD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAS;IACtD,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAQ;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAQxB;IAED,OAAO,CAAC,kBAAkB,CAAiB;gBAE9B,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,gBAAgB;IA8EvE,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAWvB,UAAU,IAAK,OAAO,CAAC,IAAI,CAAC;IAuD5B,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;YAQd,SAAS;YAgBT,WAAW;IAczB;;;;;;;;;OASG;IACK,eAAe,CAAE,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC;IAkErF,gBAAgB,CAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAuC1E,WAAW,CAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB3E;;OAEG;IACH,IAAI,IAAI,IAAK,MAAM,CAMlB;IAED;;OAEG;IACG,IAAI,CAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAK9E;;OAEG;IACH,WAAW,CAAE,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS;IAYnD;;OAEG;IACH,YAAY,CAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,MAAM,EAAE;IAQ5E;;OAEG;IACG,GAAG,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjE;;OAEG;IACG,MAAM,CAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlE,OAAO,CAAC,aAAa;CA4CtB"}
|