From eed85ed1685b48543b5d04ce95caec0bac4241dd Mon Sep 17 00:00:00 2001 From: tuyennhv Date: Wed, 17 Apr 2024 20:23:59 +0700 Subject: [PATCH 1/3] fix: head state regen in n-historical state (#6674) * fix: head state regen in n-historical state * chore: improve getSeedState() * chore: add more comments --- packages/beacon-node/src/chain/chain.ts | 2 +- .../chain/stateCache/fifoBlockStateCache.ts | 17 +++++++ .../stateCache/persistentCheckpointsCache.ts | 25 +++++------ .../src/chain/stateCache/stateContextCache.ts | 9 ++++ .../beacon-node/src/chain/stateCache/types.ts | 4 ++ .../stateCache/nHistoricalStates.test.ts | 1 + .../stateCache/fifoBlockStateCache.test.ts | 1 + .../persistentCheckpointsCache.test.ts | 44 ++++++++++++++++--- 8 files changed, 81 insertions(+), 22 deletions(-) diff --git a/packages/beacon-node/src/chain/chain.ts b/packages/beacon-node/src/chain/chain.ts index 22a205a797a..44568b0d942 100644 --- a/packages/beacon-node/src/chain/chain.ts +++ b/packages/beacon-node/src/chain/chain.ts @@ -257,7 +257,7 @@ export class BeaconChain implements IBeaconChain { logger, clock, shufflingCache: this.shufflingCache, - getHeadState: this.getHeadState.bind(this), + blockStateCache: stateCache, bufferPool: new BufferPool(anchorState.type.tree_serializedSize(anchorState.node), metrics), datastore: fileDataStore ? // debug option if we want to investigate any issues with the DB diff --git a/packages/beacon-node/src/chain/stateCache/fifoBlockStateCache.ts b/packages/beacon-node/src/chain/stateCache/fifoBlockStateCache.ts index 942825581c4..93b581633c0 100644 --- a/packages/beacon-node/src/chain/stateCache/fifoBlockStateCache.ts +++ b/packages/beacon-node/src/chain/stateCache/fifoBlockStateCache.ts @@ -68,6 +68,23 @@ export class FIFOBlockStateCache implements BlockStateCache { } } + /** + * Get a seed state for state reload, this could be any states. The goal is to have the same + * base merkle tree for all BeaconState objects across application. + * See packages/state-transition/src/util/loadState/loadState.ts for more detail + */ + getSeedState(): CachedBeaconStateAllForks { + const firstValue = this.cache.values().next(); + if (firstValue.done) { + // should not happen + throw Error("No state in FIFOBlockStateCache"); + } + + const firstState = firstValue.value; + // don't transfer cache because consumer only use this cache to reload another state from disc + return firstState.clone(true); + } + /** * Get a state from this cache given a state root hex. */ diff --git a/packages/beacon-node/src/chain/stateCache/persistentCheckpointsCache.ts b/packages/beacon-node/src/chain/stateCache/persistentCheckpointsCache.ts index 46f0b59334e..58aeca061bc 100644 --- a/packages/beacon-node/src/chain/stateCache/persistentCheckpointsCache.ts +++ b/packages/beacon-node/src/chain/stateCache/persistentCheckpointsCache.ts @@ -12,7 +12,7 @@ import {BufferPool, BufferWithKey} from "../../util/bufferPool.js"; import {StateCloneOpts} from "../regen/interface.js"; import {MapTracker} from "./mapMetrics.js"; import {CPStateDatastore, DatastoreKey, datastoreKeyToCheckpoint} from "./datastore/index.js"; -import {CheckpointHex, CacheItemType, CheckpointStateCache} from "./types.js"; +import {CheckpointHex, CacheItemType, CheckpointStateCache, BlockStateCache} from "./types.js"; export type PersistentCheckpointStateCacheOpts = { /** Keep max n states in memory, persist the rest to disk */ @@ -21,8 +21,6 @@ export type PersistentCheckpointStateCacheOpts = { processLateBlock?: boolean; }; -type GetHeadStateFn = () => CachedBeaconStateAllForks; - type PersistentCheckpointStateCacheModules = { metrics?: Metrics | null; logger: Logger; @@ -30,7 +28,7 @@ type PersistentCheckpointStateCacheModules = { signal?: AbortSignal; shufflingCache: ShufflingCache; datastore: CPStateDatastore; - getHeadState?: GetHeadStateFn; + blockStateCache: BlockStateCache; bufferPool?: BufferPool; }; @@ -107,7 +105,7 @@ export class PersistentCheckpointStateCache implements CheckpointStateCache { private readonly processLateBlock: boolean; private readonly datastore: CPStateDatastore; private readonly shufflingCache: ShufflingCache; - private readonly getHeadState?: GetHeadStateFn; + private readonly blockStateCache: BlockStateCache; private readonly bufferPool?: BufferPool; constructor( @@ -118,7 +116,7 @@ export class PersistentCheckpointStateCache implements CheckpointStateCache { signal, shufflingCache, datastore, - getHeadState, + blockStateCache, bufferPool, }: PersistentCheckpointStateCacheModules, opts: PersistentCheckpointStateCacheOpts @@ -158,7 +156,7 @@ export class PersistentCheckpointStateCache implements CheckpointStateCache { // Specify different datastore for testing this.datastore = datastore; this.shufflingCache = shufflingCache; - this.getHeadState = getHeadState; + this.blockStateCache = blockStateCache; this.bufferPool = bufferPool; } @@ -197,10 +195,7 @@ export class PersistentCheckpointStateCache implements CheckpointStateCache { const logMeta = {persistedKey: toHexString(persistedKey)}; this.logger.debug("Reload: read state successful", logMeta); this.metrics?.stateReloadSecFromSlot.observe(this.clock?.secFromSlot(this.clock?.currentSlot ?? 0) ?? 0); - const seedState = this.findSeedStateToReload(cp) ?? this.getHeadState?.(); - if (seedState == null) { - throw new Error("No seed state found for cp " + toCacheKey(cp)); - } + const seedState = this.findSeedStateToReload(cp); this.metrics?.stateReloadEpochDiff.observe(Math.abs(seedState.epochCtx.epoch - cp.epoch)); this.logger.debug("Reload: found seed state", {...logMeta, seedSlot: seedState.slot}); @@ -537,9 +532,9 @@ export class PersistentCheckpointStateCache implements CheckpointStateCache { * * we always reload an epoch in the past. We'll start with epoch n then (n+1) prioritizing ones with the same view of `reloadedCp`. * - * This could return null and we should get head state in that case. + * Use seed state from the block cache if cannot find any seed states within this cache. */ - findSeedStateToReload(reloadedCp: CheckpointHex): CachedBeaconStateAllForks | null { + findSeedStateToReload(reloadedCp: CheckpointHex): CachedBeaconStateAllForks { const maxEpoch = Math.max(...Array.from(this.epochIndex.keys())); const reloadedCpSlot = computeStartSlotAtEpoch(reloadedCp.epoch); let firstState: CachedBeaconStateAllForks | null = null; @@ -574,7 +569,9 @@ export class PersistentCheckpointStateCache implements CheckpointStateCache { } } - return firstState; + const seedBlockState = this.blockStateCache.getSeedState(); + this.logger.verbose("Reload: use block state as seed state", {slot: seedBlockState.slot}); + return seedBlockState; } clear(): void { diff --git a/packages/beacon-node/src/chain/stateCache/stateContextCache.ts b/packages/beacon-node/src/chain/stateCache/stateContextCache.ts index 1b1067a3cec..e15f46b91a9 100644 --- a/packages/beacon-node/src/chain/stateCache/stateContextCache.ts +++ b/packages/beacon-node/src/chain/stateCache/stateContextCache.ts @@ -77,6 +77,15 @@ export class StateContextCache implements BlockStateCache { } } + /** + * Get a seed state for state reload. + * This is to conform to the api only as this cache is not used in n-historical state. + * See ./fifoBlockStateCache.ts for implementation + */ + getSeedState(): CachedBeaconStateAllForks { + throw Error("Not implemented for StateContextCache"); + } + clear(): void { this.cache.clear(); this.epochIndex.clear(); diff --git a/packages/beacon-node/src/chain/stateCache/types.ts b/packages/beacon-node/src/chain/stateCache/types.ts index 4a86a052788..41e9b91aaa4 100644 --- a/packages/beacon-node/src/chain/stateCache/types.ts +++ b/packages/beacon-node/src/chain/stateCache/types.ts @@ -24,6 +24,10 @@ export interface BlockStateCache { get(rootHex: RootHex, opts?: StateCloneOpts): CachedBeaconStateAllForks | null; add(item: CachedBeaconStateAllForks): void; setHeadState(item: CachedBeaconStateAllForks | null): void; + /** + * Get a seed state for state reload. + */ + getSeedState(): CachedBeaconStateAllForks; clear(): void; size: number; prune(headStateRootHex: RootHex): void; diff --git a/packages/beacon-node/test/e2e/chain/stateCache/nHistoricalStates.test.ts b/packages/beacon-node/test/e2e/chain/stateCache/nHistoricalStates.test.ts index 118048495cc..7de3f14435e 100644 --- a/packages/beacon-node/test/e2e/chain/stateCache/nHistoricalStates.test.ts +++ b/packages/beacon-node/test/e2e/chain/stateCache/nHistoricalStates.test.ts @@ -249,6 +249,7 @@ describe( // chain is not finalized, epoch 4 is in-memory so CP state at epoch 0 1 2 3 are persisted numEpochsPersisted: 4, // chain is NOT finalized end of test + // TODO: remove this after proposer boost reorg is fully implemented skip: true, }, ]; diff --git a/packages/beacon-node/test/unit/chain/stateCache/fifoBlockStateCache.test.ts b/packages/beacon-node/test/unit/chain/stateCache/fifoBlockStateCache.test.ts index 994cf3f7c08..7d3f34ddac3 100644 --- a/packages/beacon-node/test/unit/chain/stateCache/fifoBlockStateCache.test.ts +++ b/packages/beacon-node/test/unit/chain/stateCache/fifoBlockStateCache.test.ts @@ -89,6 +89,7 @@ describe("FIFOBlockStateCache", function () { for (const {name, headState, addAsHeadArr, keptStates, prunedState} of testCases) { it(name, () => { + expect(cache.getSeedState().hashTreeRoot()).toEqual(state1.hashTreeRoot()); // move to head this state cache.setHeadState(headState); expect(cache.size).toEqualWithMessage(2, "Size must be same as initial 2"); diff --git a/packages/beacon-node/test/unit/chain/stateCache/persistentCheckpointsCache.test.ts b/packages/beacon-node/test/unit/chain/stateCache/persistentCheckpointsCache.test.ts index 9875ca6a847..9614263b431 100644 --- a/packages/beacon-node/test/unit/chain/stateCache/persistentCheckpointsCache.test.ts +++ b/packages/beacon-node/test/unit/chain/stateCache/persistentCheckpointsCache.test.ts @@ -10,7 +10,7 @@ import {ShufflingCache} from "../../../../src/chain/shufflingCache.js"; import {testLogger} from "../../../utils/logger.js"; import {getTestDatastore} from "../../../utils/chain/stateCache/datastore.js"; import {CheckpointHex} from "../../../../src/chain/stateCache/types.js"; -import {toCheckpointHex} from "../../../../src/chain/index.js"; +import {FIFOBlockStateCache, toCheckpointHex} from "../../../../src/chain/index.js"; describe("PersistentCheckpointStateCache", function () { let root0a: Buffer, root0b: Buffer, root1: Buffer, root2: Buffer; @@ -87,7 +87,12 @@ describe("PersistentCheckpointStateCache", function () { fileApisBuffer = new Map(); const datastore = getTestDatastore(fileApisBuffer); cache = new PersistentCheckpointStateCache( - {datastore, logger: testLogger(), shufflingCache: new ShufflingCache()}, + { + datastore, + logger: testLogger(), + shufflingCache: new ShufflingCache(), + blockStateCache: new FIFOBlockStateCache({}, {}), + }, {maxCPStateEpochsInMemory: 2, processLateBlock: true} ); cache.add(cp0a, states["cp0a"]); @@ -157,7 +162,12 @@ describe("PersistentCheckpointStateCache", function () { fileApisBuffer = new Map(); const datastore = getTestDatastore(fileApisBuffer); cache = new PersistentCheckpointStateCache( - {datastore, logger: testLogger(), shufflingCache: new ShufflingCache()}, + { + datastore, + logger: testLogger(), + shufflingCache: new ShufflingCache(), + blockStateCache: new FIFOBlockStateCache({}, {}), + }, {maxCPStateEpochsInMemory: 2, processLateBlock: true} ); cache.add(cp0a, states["cp0a"]); @@ -229,7 +239,12 @@ describe("PersistentCheckpointStateCache", function () { fileApisBuffer = new Map(); const datastore = getTestDatastore(fileApisBuffer); cache = new PersistentCheckpointStateCache( - {datastore, logger: testLogger(), shufflingCache: new ShufflingCache()}, + { + datastore, + logger: testLogger(), + shufflingCache: new ShufflingCache(), + blockStateCache: new FIFOBlockStateCache({}, {}), + }, {maxCPStateEpochsInMemory: 2, processLateBlock: true} ); cache.add(cp0a, states["cp0a"]); @@ -530,7 +545,12 @@ describe("PersistentCheckpointStateCache", function () { fileApisBuffer = new Map(); const datastore = getTestDatastore(fileApisBuffer); cache = new PersistentCheckpointStateCache( - {datastore, logger: testLogger(), shufflingCache: new ShufflingCache()}, + { + datastore, + logger: testLogger(), + shufflingCache: new ShufflingCache(), + blockStateCache: new FIFOBlockStateCache({}, {}), + }, {maxCPStateEpochsInMemory: 1, processLateBlock: true} ); cache.add(cp0a, states["cp0a"]); @@ -797,7 +817,12 @@ describe("PersistentCheckpointStateCache", function () { fileApisBuffer = new Map(); const datastore = getTestDatastore(fileApisBuffer); cache = new PersistentCheckpointStateCache( - {datastore, logger: testLogger(), shufflingCache: new ShufflingCache()}, + { + datastore, + logger: testLogger(), + shufflingCache: new ShufflingCache(), + blockStateCache: new FIFOBlockStateCache({}, {}), + }, {maxCPStateEpochsInMemory: 0, processLateBlock: true} ); cache.add(cp0a, states["cp0a"]); @@ -883,7 +908,12 @@ describe("PersistentCheckpointStateCache", function () { fileApisBuffer = new Map(); const datastore = getTestDatastore(fileApisBuffer); cache = new PersistentCheckpointStateCache( - {datastore, logger: testLogger(), shufflingCache: new ShufflingCache()}, + { + datastore, + logger: testLogger(), + shufflingCache: new ShufflingCache(), + blockStateCache: new FIFOBlockStateCache({}, {}), + }, {maxCPStateEpochsInMemory: 0, processLateBlock: true} ); From eb84b497785e4b3f436f091bc78d2ee486405cc0 Mon Sep 17 00:00:00 2001 From: tuyennhv Date: Wed, 17 Apr 2024 21:01:05 +0700 Subject: [PATCH 2/3] chore: track leaked connections in grafana (#6675) --- dashboards/lodestar_networking.json | 282 +++++++++++++++++++++------- 1 file changed, 214 insertions(+), 68 deletions(-) diff --git a/dashboards/lodestar_networking.json b/dashboards/lodestar_networking.json index e17cabf3204..d1c40e65919 100644 --- a/dashboards/lodestar_networking.json +++ b/dashboards/lodestar_networking.json @@ -90,6 +90,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -177,6 +178,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -259,6 +261,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -341,6 +344,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -527,8 +531,10 @@ "id": 70, "options": { "displayMode": "lcd", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ @@ -538,10 +544,11 @@ "values": false }, "showUnfilled": true, + "sizing": "auto", "text": {}, "valueMode": "color" }, - "pluginVersion": "10.1.1", + "pluginVersion": "10.4.1", "targets": [ { "datasource": { @@ -582,8 +589,10 @@ "id": 68, "options": { "displayMode": "lcd", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ @@ -593,10 +602,11 @@ "values": false }, "showUnfilled": true, + "sizing": "auto", "text": {}, "valueMode": "color" }, - "pluginVersion": "10.1.1", + "pluginVersion": "10.4.1", "targets": [ { "datasource": { @@ -624,6 +634,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -705,6 +716,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -829,7 +841,8 @@ "layout": "auto" }, "tooltip": { - "show": true, + "mode": "single", + "showColorScale": false, "yHistogram": false }, "yAxis": { @@ -837,7 +850,7 @@ "reverse": false } }, - "pluginVersion": "10.1.1", + "pluginVersion": "10.4.1", "targets": [ { "datasource": { @@ -880,6 +893,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -995,6 +1009,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1134,6 +1149,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1220,6 +1236,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1307,6 +1324,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1454,7 +1472,8 @@ }, "showValue": "never", "tooltip": { - "show": true, + "mode": "single", + "showColorScale": false, "yHistogram": false }, "yAxis": { @@ -1463,7 +1482,7 @@ "unit": "short" } }, - "pluginVersion": "10.1.1", + "pluginVersion": "10.4.1", "reverseYBuckets": false, "targets": [ { @@ -1507,6 +1526,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1653,7 +1673,8 @@ }, "showValue": "never", "tooltip": { - "show": true, + "mode": "single", + "showColorScale": false, "yHistogram": false }, "yAxis": { @@ -1662,7 +1683,7 @@ "unit": "short" } }, - "pluginVersion": "10.1.1", + "pluginVersion": "10.4.1", "reverseYBuckets": false, "targets": [ { @@ -1765,7 +1786,8 @@ }, "showValue": "never", "tooltip": { - "show": true, + "mode": "single", + "showColorScale": false, "yHistogram": false }, "yAxis": { @@ -1774,7 +1796,7 @@ "unit": "short" } }, - "pluginVersion": "10.1.1", + "pluginVersion": "10.4.1", "reverseYBuckets": false, "targets": [ { @@ -1818,6 +1840,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -1933,6 +1956,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2017,6 +2041,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2091,6 +2116,88 @@ "title": "Peer connect events offset (must be 0-1)", "type": "timeseries" }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [] + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 85 + }, + "id": 625, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "expr": "lodestar_peer_manager_leaked_connections_count", + "instant": false, + "legendFormat": "leaked_connections", + "range": true, + "refId": "A" + } + ], + "title": "Leaked connections", + "type": "timeseries" + }, { "collapsed": false, "datasource": { @@ -2101,7 +2208,7 @@ "h": 1, "w": 24, "x": 0, - "y": 85 + "y": 93 }, "id": 512, "panels": [], @@ -2138,7 +2245,7 @@ "h": 7, "w": 12, "x": 0, - "y": 86 + "y": 94 }, "hiddenSeries": false, "id": 294, @@ -2158,7 +2265,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "10.1.1", + "pluginVersion": "10.4.1", "pointradius": 2, "points": false, "renderer": "flot", @@ -2248,7 +2355,7 @@ "h": 7, "w": 6, "x": 12, - "y": 86 + "y": 94 }, "hiddenSeries": false, "id": 296, @@ -2268,7 +2375,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "10.1.1", + "pluginVersion": "10.4.1", "pointradius": 2, "points": false, "renderer": "flot", @@ -2344,7 +2451,7 @@ "h": 7, "w": 6, "x": 18, - "y": 86 + "y": 94 }, "hiddenSeries": false, "id": 297, @@ -2364,7 +2471,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "10.1.1", + "pluginVersion": "10.4.1", "pointradius": 2, "points": false, "renderer": "flot", @@ -2430,6 +2537,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2468,7 +2576,7 @@ "h": 8, "w": 12, "x": 0, - "y": 93 + "y": 101 }, "id": 611, "options": { @@ -2510,6 +2618,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2573,7 +2682,7 @@ "h": 8, "w": 12, "x": 12, - "y": 93 + "y": 101 }, "id": 613, "options": { @@ -2614,7 +2723,7 @@ "h": 1, "w": 24, "x": 0, - "y": 101 + "y": 109 }, "id": 75, "panels": [], @@ -2641,6 +2750,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2681,7 +2791,7 @@ "h": 8, "w": 12, "x": 0, - "y": 102 + "y": 110 }, "id": 77, "options": { @@ -2725,6 +2835,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2765,7 +2876,7 @@ "h": 8, "w": 12, "x": 12, - "y": 102 + "y": 110 }, "id": 80, "options": { @@ -2809,6 +2920,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2849,7 +2961,7 @@ "h": 9, "w": 12, "x": 0, - "y": 110 + "y": 118 }, "id": 79, "options": { @@ -2894,6 +3006,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -2934,7 +3047,7 @@ "h": 8, "w": 12, "x": 12, - "y": 110 + "y": 118 }, "id": 78, "options": { @@ -2977,6 +3090,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3017,7 +3131,7 @@ "h": 10, "w": 12, "x": 12, - "y": 118 + "y": 126 }, "id": 88, "options": { @@ -3061,6 +3175,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3101,7 +3216,7 @@ "h": 10, "w": 12, "x": 0, - "y": 119 + "y": 127 }, "id": 82, "options": { @@ -3147,6 +3262,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3186,7 +3302,7 @@ "h": 8, "w": 12, "x": 12, - "y": 128 + "y": 136 }, "id": 333, "options": { @@ -3243,6 +3359,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3283,7 +3400,7 @@ "h": 8, "w": 12, "x": 0, - "y": 129 + "y": 137 }, "id": 244, "options": { @@ -3344,7 +3461,7 @@ "h": 1, "w": 24, "x": 0, - "y": 137 + "y": 145 }, "id": 524, "panels": [], @@ -3362,6 +3479,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3425,7 +3543,7 @@ "h": 8, "w": 12, "x": 0, - "y": 138 + "y": 146 }, "id": 514, "options": { @@ -3491,6 +3609,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3530,7 +3649,7 @@ "h": 5, "w": 12, "x": 12, - "y": 138 + "y": 146 }, "id": 520, "options": { @@ -3572,6 +3691,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3612,7 +3732,7 @@ "h": 5, "w": 12, "x": 12, - "y": 143 + "y": 151 }, "id": 522, "options": { @@ -3668,7 +3788,7 @@ "h": 8, "w": 12, "x": 0, - "y": 146 + "y": 154 }, "id": 518, "options": { @@ -3696,7 +3816,8 @@ "layout": "auto" }, "tooltip": { - "show": true, + "mode": "single", + "showColorScale": false, "yHistogram": false }, "yAxis": { @@ -3704,7 +3825,7 @@ "reverse": false } }, - "pluginVersion": "10.1.1", + "pluginVersion": "10.4.1", "targets": [ { "datasource": { @@ -3734,6 +3855,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3774,7 +3896,7 @@ "h": 6, "w": 12, "x": 12, - "y": 148 + "y": 156 }, "id": 521, "options": { @@ -3817,6 +3939,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3855,7 +3978,7 @@ "h": 8, "w": 12, "x": 12, - "y": 154 + "y": 162 }, "id": 542, "options": { @@ -3892,7 +4015,7 @@ "h": 1, "w": 24, "x": 0, - "y": 162 + "y": 170 }, "id": 528, "panels": [], @@ -3910,6 +4033,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -3948,7 +4072,7 @@ "h": 8, "w": 12, "x": 0, - "y": 163 + "y": 171 }, "id": 526, "options": { @@ -3990,6 +4114,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4046,7 +4171,7 @@ "h": 8, "w": 12, "x": 12, - "y": 163 + "y": 171 }, "id": 530, "options": { @@ -4100,6 +4225,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4151,7 +4277,7 @@ "h": 8, "w": 12, "x": 0, - "y": 171 + "y": 179 }, "id": 534, "options": { @@ -4205,6 +4331,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4243,7 +4370,7 @@ "h": 8, "w": 12, "x": 12, - "y": 171 + "y": 179 }, "id": 532, "options": { @@ -4285,6 +4412,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4340,7 +4468,7 @@ "h": 8, "w": 12, "x": 0, - "y": 179 + "y": 187 }, "id": 536, "options": { @@ -4394,6 +4522,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4449,7 +4578,7 @@ "h": 8, "w": 12, "x": 12, - "y": 179 + "y": 187 }, "id": 538, "options": { @@ -4503,6 +4632,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4542,7 +4672,7 @@ "h": 8, "w": 12, "x": 0, - "y": 187 + "y": 195 }, "id": 624, "options": { @@ -4585,6 +4715,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4641,7 +4772,7 @@ "h": 8, "w": 12, "x": 12, - "y": 187 + "y": 195 }, "id": 617, "options": { @@ -4707,6 +4838,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4746,7 +4878,7 @@ "h": 8, "w": 12, "x": 0, - "y": 195 + "y": 203 }, "id": 619, "options": { @@ -4801,7 +4933,7 @@ "h": 8, "w": 12, "x": 12, - "y": 195 + "y": 203 }, "id": 621, "options": { @@ -4829,7 +4961,8 @@ "layout": "auto" }, "tooltip": { - "show": true, + "mode": "single", + "showColorScale": false, "yHistogram": false }, "yAxis": { @@ -4837,7 +4970,7 @@ "reverse": false } }, - "pluginVersion": "10.1.1", + "pluginVersion": "10.4.1", "targets": [ { "datasource": { @@ -4863,7 +4996,7 @@ "h": 1, "w": 24, "x": 0, - "y": 203 + "y": 211 }, "id": 600, "panels": [], @@ -4881,6 +5014,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -4920,7 +5054,7 @@ "h": 8, "w": 12, "x": 0, - "y": 204 + "y": 212 }, "id": 602, "options": { @@ -5010,6 +5144,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5049,7 +5184,7 @@ "h": 8, "w": 12, "x": 12, - "y": 204 + "y": 212 }, "id": 604, "options": { @@ -5139,6 +5274,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5202,7 +5338,7 @@ "h": 8, "w": 12, "x": 0, - "y": 212 + "y": 220 }, "id": 603, "options": { @@ -5244,6 +5380,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5282,7 +5419,7 @@ "h": 8, "w": 12, "x": 12, - "y": 212 + "y": 220 }, "id": 601, "options": { @@ -5323,7 +5460,7 @@ "h": 1, "w": 24, "x": 0, - "y": 220 + "y": 228 }, "id": 188, "panels": [], @@ -5350,6 +5487,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5389,7 +5527,7 @@ "h": 8, "w": 12, "x": 0, - "y": 221 + "y": 229 }, "id": 180, "options": { @@ -5431,6 +5569,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5471,7 +5610,7 @@ "h": 8, "w": 12, "x": 12, - "y": 221 + "y": 229 }, "id": 176, "options": { @@ -5513,6 +5652,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5553,7 +5693,7 @@ "h": 8, "w": 12, "x": 0, - "y": 229 + "y": 237 }, "id": 182, "options": { @@ -5595,6 +5735,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5635,7 +5776,7 @@ "h": 8, "w": 12, "x": 12, - "y": 229 + "y": 237 }, "id": 178, "options": { @@ -5677,6 +5818,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5717,7 +5859,7 @@ "h": 8, "w": 12, "x": 0, - "y": 237 + "y": 245 }, "id": 605, "options": { @@ -5761,6 +5903,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5801,7 +5944,7 @@ "h": 8, "w": 12, "x": 12, - "y": 237 + "y": 245 }, "id": 606, "options": { @@ -5845,6 +5988,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5885,7 +6029,7 @@ "h": 8, "w": 12, "x": 0, - "y": 245 + "y": 253 }, "id": 498, "options": { @@ -5927,6 +6071,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -5967,7 +6112,7 @@ "h": 8, "w": 12, "x": 12, - "y": 245 + "y": 253 }, "id": 500, "options": { @@ -6009,6 +6154,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -6049,7 +6195,7 @@ "h": 8, "w": 12, "x": 0, - "y": 253 + "y": 261 }, "id": 184, "options": { @@ -6091,6 +6237,7 @@ "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", @@ -6131,7 +6278,7 @@ "h": 8, "w": 12, "x": 12, - "y": 253 + "y": 261 }, "id": 501, "options": { @@ -6164,8 +6311,7 @@ } ], "refresh": "10s", - "schemaVersion": 38, - "style": "dark", + "schemaVersion": 39, "tags": [ "lodestar" ], From f5148b2b915f714a77bf790ddf9179aa1e89016a Mon Sep 17 00:00:00 2001 From: Cayman Date: Wed, 17 Apr 2024 11:34:46 -0400 Subject: [PATCH 3/3] fix: update @libp2p/tcp (#6676) * fix: update @libp2p/tcp * chore: fix linter error --- packages/beacon-node/package.json | 4 +- .../test/mocks/LightclientServerApiMock.ts | 2 +- packages/reqresp/package.json | 2 +- yarn.lock | 231 ++++++++---------- 4 files changed, 112 insertions(+), 127 deletions(-) diff --git a/packages/beacon-node/package.json b/packages/beacon-node/package.json index fefc2a8cc16..4610561ae15 100644 --- a/packages/beacon-node/package.json +++ b/packages/beacon-node/package.json @@ -113,13 +113,13 @@ "@fastify/swagger-ui": "^1.9.3", "@libp2p/bootstrap": "^10.0.10", "@libp2p/identify": "^1.0.9", - "@libp2p/interface": "^1.1.1", + "@libp2p/interface": "^1.2.0", "@libp2p/mdns": "^10.0.10", "@libp2p/mplex": "^10.0.10", "@libp2p/peer-id": "^4.0.4", "@libp2p/peer-id-factory": "^4.0.3", "@libp2p/prometheus-metrics": "^3.0.10", - "@libp2p/tcp": "9.0.10", + "@libp2p/tcp": "9.0.22", "@lodestar/api": "^1.17.0", "@lodestar/config": "^1.17.0", "@lodestar/db": "^1.17.0", diff --git a/packages/light-client/test/mocks/LightclientServerApiMock.ts b/packages/light-client/test/mocks/LightclientServerApiMock.ts index 941e623ba1c..0b6676ccdac 100644 --- a/packages/light-client/test/mocks/LightclientServerApiMock.ts +++ b/packages/light-client/test/mocks/LightclientServerApiMock.ts @@ -1,4 +1,4 @@ -import {concat} from "uint8arrays"; +import {concat} from "uint8arrays/concat"; import {digest} from "@chainsafe/as-sha256"; import {createProof, Proof, ProofType} from "@chainsafe/persistent-merkle-tree"; import {routes, ServerApi} from "@lodestar/api"; diff --git a/packages/reqresp/package.json b/packages/reqresp/package.json index 413eb737295..289778a645a 100644 --- a/packages/reqresp/package.json +++ b/packages/reqresp/package.json @@ -53,7 +53,7 @@ }, "dependencies": { "@chainsafe/fast-crc32c": "^4.1.1", - "@libp2p/interface": "^1.1.1", + "@libp2p/interface": "^1.2.0", "@lodestar/config": "^1.17.0", "@lodestar/params": "^1.17.0", "@lodestar/utils": "^1.17.0", diff --git a/yarn.lock b/yarn.lock index ce9e41de902..762313a687b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1541,51 +1541,28 @@ "@multiformats/multiaddr" "^12.1.10" uint8arraylist "^2.4.7" -"@libp2p/interface@^1.0.0", "@libp2p/interface@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@libp2p/interface/-/interface-1.1.1.tgz#f37ea4930bd74e1299fbcafa49fdab39a28abba9" - integrity sha512-g6xgF+q38ZDTRkjuJfuOByS4N0zGld+VPRiWPXYX8wA/9vS6lqJwKUoC6V33KUhP/zXHCkJaSD6z94fUbNM8vw== - dependencies: - "@multiformats/multiaddr" "^12.1.10" - it-pushable "^3.2.1" - it-stream-types "^2.0.1" - multiformats "^13.0.0" - progress-events "^1.0.0" - uint8arraylist "^2.4.3" - -"@libp2p/interface@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@libp2p/interface/-/interface-1.1.2.tgz#debfd9d1bd4b81929c9e30eb35c2801ca246ce2b" - integrity sha512-uC4hxtEJuWiDiZfokkSNEEbCzdyZrqb5kp67Wc5PjZsySZ2IoImdIfie003yQXlB1xBp/XUJzdC6kVu4M7LUmg== +"@libp2p/interface@^1.0.0", "@libp2p/interface@^1.1.1", "@libp2p/interface@^1.1.2", "@libp2p/interface@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@libp2p/interface/-/interface-1.2.0.tgz#3b5fdc5d96cffe17a8c88cc29ed78c70516b0a7f" + integrity sha512-ImnGNl3El/AukgaojACT8i9SNW1FOsrThcQU/qA3w5tEBR5p84Uwgzl/nxa4X5vGinItUJ9jLEJmtkQJENoiGQ== dependencies: - "@multiformats/multiaddr" "^12.1.10" + "@multiformats/multiaddr" "^12.2.1" it-pushable "^3.2.3" it-stream-types "^2.0.1" - multiformats "^13.0.0" + multiformats "^13.1.0" progress-events "^1.0.0" - uint8arraylist "^2.4.7" - -"@libp2p/logger@^4.0.1", "@libp2p/logger@^4.0.4": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@libp2p/logger/-/logger-4.0.4.tgz#98c5357e8b857d93a506f6818db6abe734d342ee" - integrity sha512-lr6/Cmj9VhtET4ZnRhWls4kY4K5moTAIEZtZugmkflT4qJXJywkmn/EpLO3kjgE+PDjrgOr8lUVVJBGvEHL8Jg== - dependencies: - "@libp2p/interface" "^1.1.1" - "@multiformats/multiaddr" "^12.1.10" - debug "^4.3.4" - interface-datastore "^8.2.0" - multiformats "^13.0.0" + uint8arraylist "^2.4.8" -"@libp2p/logger@^4.0.5": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@libp2p/logger/-/logger-4.0.5.tgz#6790776b4b2d587b75ccbdf85885c5d11533d19f" - integrity sha512-cXETMNZINnxeQBlfQ2S4di92FDDU89R7RHagrpebGrM7oLl5nf/Mw6myc23kGaM3/2YG3ko2rl9sYjemu0azTA== +"@libp2p/logger@^4.0.1", "@libp2p/logger@^4.0.10", "@libp2p/logger@^4.0.4": + version "4.0.10" + resolved "https://registry.yarnpkg.com/@libp2p/logger/-/logger-4.0.10.tgz#d59db10d74b20e78be37f8ec53c1139174c0afda" + integrity sha512-JiRfJHO/D9Jlh2rJ6STnONoeQevBAdAZaGUxrtvBf4RFfucldSFEMOtdkFO8xFGuiA90Q2kj4BE2douG6fB3Lw== dependencies: - "@libp2p/interface" "^1.1.2" - "@multiformats/multiaddr" "^12.1.10" + "@libp2p/interface" "^1.2.0" + "@multiformats/multiaddr" "^12.2.1" debug "^4.3.4" - interface-datastore "^8.2.0" - multiformats "^13.0.0" + interface-datastore "^8.2.11" + multiformats "^13.1.0" "@libp2p/mdns@^10.0.10": version "10.0.10" @@ -1738,44 +1715,57 @@ uint8arraylist "^2.4.7" uint8arrays "^5.0.0" -"@libp2p/tcp@9.0.10": - version "9.0.10" - resolved "https://registry.yarnpkg.com/@libp2p/tcp/-/tcp-9.0.10.tgz#94ad87f728b857651608582393f33a8ca095c69d" - integrity sha512-ixwa2aDpCiS3ng/TjLB/7QIWChmlKEmH6L/vS089chJ7M5mYqRJdbLeo4zfod6lSmJab2mj8Q0sKzGeplAPE5Q== +"@libp2p/tcp@9.0.22": + version "9.0.22" + resolved "https://registry.yarnpkg.com/@libp2p/tcp/-/tcp-9.0.22.tgz#9abf73e2b36e2ef677a2e02fe0f952e225baf3ca" + integrity sha512-8XQn6lw1GgeSV5lR/c6iVq79PwnLqZ+8YM0/156B4fJXXqMi2aBh57O6o3wznATUyEt4/fTXyJBBWNsKA4gtrQ== dependencies: - "@libp2p/interface" "^1.1.1" - "@libp2p/utils" "^5.2.0" + "@libp2p/interface" "^1.2.0" + "@libp2p/utils" "^5.3.1" "@multiformats/mafmt" "^12.1.6" - "@multiformats/multiaddr" "^12.1.10" - "@types/sinon" "^17.0.0" - stream-to-it "^0.2.2" + "@multiformats/multiaddr" "^12.2.1" + "@types/sinon" "^17.0.3" + stream-to-it "^1.0.0" -"@libp2p/utils@^5.2.0", "@libp2p/utils@^5.2.3": - version "5.2.3" - resolved "https://registry.yarnpkg.com/@libp2p/utils/-/utils-5.2.3.tgz#32c1dd68d661d7d93ed3428c7817da2e4b85817f" - integrity sha512-N+9pQHQ/XrxXP/RCiWUSUXnkFCWcyzMxlGXY+aQUfcfLi5M2eFtPSz2Tc5dWmYGVJeI9CNafok+72YUsPZHfOQ== +"@libp2p/utils@^5.2.0", "@libp2p/utils@^5.2.3", "@libp2p/utils@^5.3.1": + version "5.3.1" + resolved "https://registry.yarnpkg.com/@libp2p/utils/-/utils-5.3.1.tgz#1d3ff7e494f78503f33e1c8df4ad4a13209d594b" + integrity sha512-FdGzRU50PJLYSEOmVXqqtq27yjUVXkU4QNRZzMVuXF9L/sKgSC2oXwj0Satc9fHx5tG3MCX1ZOSAmYEIl2fu+w== dependencies: "@chainsafe/is-ip" "^2.0.2" - "@libp2p/interface" "^1.1.2" - "@libp2p/logger" "^4.0.5" - "@multiformats/multiaddr" "^12.1.10" - "@multiformats/multiaddr-matcher" "^1.1.0" + "@libp2p/interface" "^1.2.0" + "@libp2p/logger" "^4.0.10" + "@multiformats/multiaddr" "^12.2.1" + "@multiformats/multiaddr-matcher" "^1.2.0" delay "^6.0.0" get-iterator "^2.0.1" - is-loopback-addr "^2.0.1" + is-loopback-addr "^2.0.2" it-pushable "^3.2.3" it-stream-types "^2.0.1" netmask "^2.0.2" - p-defer "^4.0.0" - race-event "^1.1.0" + p-defer "^4.0.1" + race-event "^1.2.0" race-signal "^1.0.2" - uint8arraylist "^2.4.7" + uint8arraylist "^2.4.8" "@lukeed/ms@^2.0.1": version "2.0.1" resolved "https://registry.yarnpkg.com/@lukeed/ms/-/ms-2.0.1.tgz#3c2bbc258affd9cc0e0cc7828477383c73afa6ee" integrity sha512-Xs/4RZltsAL7pkvaNStUQt7netTkyxrS0K+RILcVr3TRMS/ToOg4I6uNfhB9SlGsnWBym4U+EaXq0f0cEMNkHA== +"@multiformats/dns@^1.0.3": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@multiformats/dns/-/dns-1.0.6.tgz#b8c7de11459a02a5f4e609d35d3cdb95cb6ad152" + integrity sha512-nt/5UqjMPtyvkG9BQYdJ4GfLK3nMqGpFZOzf4hAmIa0sJh2LlS9YKXZ4FgwBDsaHvzZqR/rUFIywIc7pkHNNuw== + dependencies: + "@types/dns-packet" "^5.6.5" + buffer "^6.0.3" + dns-packet "^5.6.1" + hashlru "^2.3.0" + p-queue "^8.0.1" + progress-events "^1.0.0" + uint8arrays "^5.0.2" + "@multiformats/mafmt@^12.1.6": version "12.1.6" resolved "https://registry.yarnpkg.com/@multiformats/mafmt/-/mafmt-12.1.6.tgz#e7c1831c1e94c94932621826049afc89f3ad43b7" @@ -1783,24 +1773,24 @@ dependencies: "@multiformats/multiaddr" "^12.0.0" -"@multiformats/multiaddr-matcher@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@multiformats/multiaddr-matcher/-/multiaddr-matcher-1.1.0.tgz#27e14a549a00594c24d85897c4b0b7e83df3e59d" - integrity sha512-B/QbKpAxaHYVXFnbTdTgYqPDxmqoF2RYffwYoOv1MWfi2vBCZLdzmEKUBKv6fQr6s+LJFSHn2j2vczmwMFCQIA== +"@multiformats/multiaddr-matcher@^1.1.0", "@multiformats/multiaddr-matcher@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@multiformats/multiaddr-matcher/-/multiaddr-matcher-1.2.0.tgz#8a2beae9eff394861668e6a2776fb1e7bf719c81" + integrity sha512-LH6yR7h3HSNKcxuvvi2UpLuowuVkYC6H9Y3jqmKuTai8XtKnXtW6NcDZFD/ooTBY+H4yX/scoJpjOalHrk5qdQ== dependencies: "@chainsafe/is-ip" "^2.0.1" "@multiformats/multiaddr" "^12.0.0" - multiformats "^12.0.1" + multiformats "^13.0.0" -"@multiformats/multiaddr@^12.0.0", "@multiformats/multiaddr@^12.1.10", "@multiformats/multiaddr@^12.1.14", "@multiformats/multiaddr@^12.1.3": - version "12.1.14" - resolved "https://registry.yarnpkg.com/@multiformats/multiaddr/-/multiaddr-12.1.14.tgz#d021072667f4dfc566cdddcb45feee60fecc8cfd" - integrity sha512-1C0Mo73chzu7pTzTquuKs5vUtw70jhqg1i6pUNznGb0WV6RFa6vyB+D697Os5+cLx+DiItrAY6VzMtlGQsMzYg== +"@multiformats/multiaddr@^12.0.0", "@multiformats/multiaddr@^12.1.10", "@multiformats/multiaddr@^12.1.14", "@multiformats/multiaddr@^12.1.3", "@multiformats/multiaddr@^12.2.1": + version "12.2.1" + resolved "https://registry.yarnpkg.com/@multiformats/multiaddr/-/multiaddr-12.2.1.tgz#d95d1590b17dbe39dcefbb4d832d14434d3fe075" + integrity sha512-UwjoArBbv64FlaetV4DDwh+PUMfzXUBltxQwdh+uTYnGFzVa8ZfJsn1vt1RJlJ6+Xtrm3RMekF/B+K338i2L5Q== dependencies: "@chainsafe/is-ip" "^2.0.1" "@chainsafe/netmask" "^2.0.0" "@libp2p/interface" "^1.0.0" - dns-over-http-resolver "^3.0.2" + "@multiformats/dns" "^1.0.3" multiformats "^13.0.0" uint8-varint "^2.0.1" uint8arrays "^5.0.0" @@ -2852,10 +2842,10 @@ dependencies: "@types/ms" "*" -"@types/dns-packet@*": - version "5.2.4" - resolved "https://registry.yarnpkg.com/@types/dns-packet/-/dns-packet-5.2.4.tgz#0de4ee48f900a62b014ce61a3c9ab5d33dc06b0d" - integrity sha512-OAruArypdNxR/tzbmrtoyEuXeNTLaZCpO19BXaNC10T5ACIbvjmvhmV2RDEy2eLc3w8IjK7SY3cvUCcAW+sfoQ== +"@types/dns-packet@*", "@types/dns-packet@^5.6.5": + version "5.6.5" + resolved "https://registry.yarnpkg.com/@types/dns-packet/-/dns-packet-5.6.5.tgz#49fc29a40f5d30227ed028fa1ee82601d3745e15" + integrity sha512-qXOC7XLOEe43ehtWJCMnQXvgcIpv6rPmQ1jXT98Ad8A3TB1Ue50jsCbSSSyuazScEuZ/Q026vHbrOTVkmwA+7Q== dependencies: "@types/node" "*" @@ -3045,10 +3035,10 @@ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.2.tgz#31f6eec1ed7ec23f4f05608d3a2d381df041f564" integrity sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw== -"@types/sinon@^17.0.0": - version "17.0.2" - resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-17.0.2.tgz#9a769f67e62b45b7233f1fe01cb1f231d2393e1c" - integrity sha512-Zt6heIGsdqERkxctIpvN5Pv3edgBrhoeb3yHyxffd4InN0AX2SVNKSrhdDZKGQICVOxWP/q4DyhpfPNMSrpIiA== +"@types/sinon@^17.0.3": + version "17.0.3" + resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-17.0.3.tgz#9aa7e62f0a323b9ead177ed23a36ea757141a5fa" + integrity sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw== dependencies: "@types/sinonjs__fake-timers" "*" @@ -5449,7 +5439,7 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dns-over-http-resolver@^2.1.1, dns-over-http-resolver@^3.0.2: +dns-over-http-resolver@^2.1.1: version "2.1.3" resolved "https://registry.yarnpkg.com/dns-over-http-resolver/-/dns-over-http-resolver-2.1.3.tgz#bb7f2e10cc18d960339a6e30e21b8c1d99be7b38" integrity sha512-zjRYFhq+CsxPAouQWzOsxNMvEN+SHisjzhX8EMxd2Y0EG3thvn6wXQgMJLnTDImkhe4jhLbOQpXtL10nALBOSA== @@ -5459,10 +5449,10 @@ dns-over-http-resolver@^2.1.1, dns-over-http-resolver@^3.0.2: receptacle "^1.3.2" undici "^5.12.0" -dns-packet@^5.2.2, dns-packet@^5.4.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.0.tgz#2202c947845c7a63c23ece58f2f70ff6ab4c2f7d" - integrity sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ== +dns-packet@^5.2.2, dns-packet@^5.4.0, dns-packet@^5.6.1: + version "5.6.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" + integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== dependencies: "@leichtgewicht/ip-codec" "^2.0.1" @@ -6716,11 +6706,6 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@ has-symbols "^1.0.3" hasown "^2.0.0" -get-iterator@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz" - integrity sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg== - get-iterator@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/get-iterator/-/get-iterator-2.0.1.tgz#a904829f61bace789e0d64bd1a504c511a015c3f" @@ -7112,6 +7097,11 @@ hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" +hashlru@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/hashlru/-/hashlru-2.3.0.tgz#5dc15928b3f6961a2056416bb3a4910216fdfb51" + integrity sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A== + hasown@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" @@ -7459,13 +7449,13 @@ inquirer@^9.1.5: through "^2.3.6" wrap-ansi "^8.1.0" -interface-datastore@^8.0.0, interface-datastore@^8.2.0, interface-datastore@^8.2.7: - version "8.2.10" - resolved "https://registry.yarnpkg.com/interface-datastore/-/interface-datastore-8.2.10.tgz#2d7fc026c8185378c4d3433fe942d9d6838f95cb" - integrity sha512-D8RuxMdjOPB+j6WMDJ+I2aXTDzUT6DIVjgzo1E+ODL7w8WrSFl9FXD2SYmgj6vVzdb7Kb5qmAI9pEnDZJz7ifg== +interface-datastore@^8.0.0, interface-datastore@^8.2.0, interface-datastore@^8.2.11, interface-datastore@^8.2.7: + version "8.2.11" + resolved "https://registry.yarnpkg.com/interface-datastore/-/interface-datastore-8.2.11.tgz#1d555ce6218ab6cba6291fc361debe9713590207" + integrity sha512-9E0iXehfp/j0UbZ2mvlYB4K9pP7uQBCppfuy8WHs1EHF6wLQrM9+zwyX+8Qt6HnH4GKZRyXX/CNXm6oD4+QYgA== dependencies: interface-store "^5.0.0" - uint8arrays "^5.0.0" + uint8arrays "^5.0.2" interface-store@^5.0.0: version "5.1.0" @@ -7637,10 +7627,10 @@ is-lambda@^1.0.1: resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== -is-loopback-addr@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-loopback-addr/-/is-loopback-addr-2.0.1.tgz#0b43534f0b16ff899f1f19f322b59c38bd25fa03" - integrity sha512-SEsepLbdWFb13B6U0tt6dYcUM0iK/U7XOC43N70Z4Qb88WpNtp+ospyNI9ddpqncs7Z7brAEsVBTQpaqSNntIw== +is-loopback-addr@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-loopback-addr/-/is-loopback-addr-2.0.2.tgz#70a6668fa3555d47caebdcee045745ab80adf5e4" + integrity sha512-26POf2KRCno/KTNL5Q0b/9TYnL00xEsSaLfiFRmjM7m7Lw7ZMmFybzzuX4CcsLAluZGd+niLUiMRxEooVE3aqg== is-my-ip-valid@^1.0.0: version "1.0.1" @@ -9256,15 +9246,10 @@ multiformats@^11.0.1: resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-11.0.2.tgz#b14735efc42cd8581e73895e66bebb9752151b60" integrity sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg== -multiformats@^12.0.1: - version "12.0.1" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-12.0.1.tgz#dd3e19dd44114c2672e4795a36888d263be30131" - integrity sha512-s01wijBJoDUqESWSzePY0lvTw7J3PVO9x2Cc6ASI5AMZM2Gnhh7BC17+nlFhHKU7dDzaCaRfb+NiqNzOsgPUoQ== - -multiformats@^13.0.0, multiformats@^13.0.1: - version "13.0.1" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-13.0.1.tgz#c0622affa5171189eacd57c06f977195ca7acb08" - integrity sha512-bt3R5iXe2O8xpp3wkmQhC73b/lC4S2ihU8Dndwcsysqbydqb8N+bpP116qMcClZ17g58iSIwtXUTcg2zT4sniA== +multiformats@^13.0.0, multiformats@^13.0.1, multiformats@^13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-13.1.0.tgz#5aa9d2175108a448fc3bdb54ba8a3d0b6cab3ac3" + integrity sha512-HzdtdBwxsIkzpeXzhQ5mAhhuxcHbjEHH+JQoxt7hG/2HGFjjwyolLo7hbaexcnhoEuV4e0TNJ8kkpMjiEYY4VQ== multimatch@5.0.0: version "5.0.0" @@ -9932,10 +9917,10 @@ p-cancelable@^3.0.0: resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== -p-defer@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-4.0.0.tgz#8082770aeeb10eb6b408abe91866738741ddd5d2" - integrity sha512-Vb3QRvQ0Y5XnF40ZUWW7JfLogicVh/EnA5gBIvKDJoYpeI82+1E3AlB9yOcKFS0AhHrWVnAQO39fbR0G99IVEQ== +p-defer@^4.0.0, p-defer@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-4.0.1.tgz#d12c6d41420785ed0d162dbd86b71ba490f7f99e" + integrity sha512-Mr5KC5efvAK5VUptYEIopP1bakB85k2IWXaRC0rsh1uwn1L6M0LVml8OIQ4Gudg4oyZakf7FmeRLkMMtZW1i5A== p-finally@^1.0.0: version "1.0.0" @@ -10038,7 +10023,7 @@ p-queue@^7.2.0: eventemitter3 "^4.0.7" p-timeout "^5.0.2" -p-queue@^8.0.0: +p-queue@^8.0.0, p-queue@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-8.0.1.tgz#718b7f83836922ef213ddec263ff4223ce70bef8" integrity sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA== @@ -10671,10 +10656,10 @@ quick-lru@^5.1.1: resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== -race-event@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/race-event/-/race-event-1.1.0.tgz#69c2d855653acf11d8b23ea8f6fa50e1180a088b" - integrity sha512-8BTiN6IAbov8mqkVEc3LiYbtUzanLfzFhwPF7kZV74ztYeQXdFPIgMCd/sy8xie6ZMtf2JPeMBedx78/RRNO3g== +race-event@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/race-event/-/race-event-1.2.0.tgz#6d3a72358db6e9fedabab7380636d1420abb0edb" + integrity sha512-7EvAjTu9uuKa03Jky8yfSy6/SnnMTh6nouNmdeWv9b0dT8eDZC5ylx30cOR9YO9otQorVjjkIuSHQ5Ml/bKwMw== race-signal@^1.0.2: version "1.0.2" @@ -11631,12 +11616,12 @@ stream-http@^3.2.0: readable-stream "^3.6.0" xtend "^4.0.2" -stream-to-it@^0.2.2: - version "0.2.3" - resolved "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.3.tgz" - integrity sha512-xaK9EjPtLox5rrC7YLSBXSanTtUJN/lzJlMFvy9VaROmnyvy0U/X6m2uMhXPJRn3g3M9uOSIzTszW7BPiWSg9w== +stream-to-it@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-to-it/-/stream-to-it-1.0.1.tgz#7d5e1b04bab70facd48273279bfa49f0d0165950" + integrity sha512-AqHYAYPHcmvMrcLNgncE/q0Aj/ajP6A4qGhxP6EVn7K3YTNs0bJpJyk57wc2Heb7MUL64jurvmnmui8D9kjZgA== dependencies: - get-iterator "^1.0.2" + it-stream-types "^2.0.1" streamx@^2.13.0: version "2.16.1" @@ -12441,10 +12426,10 @@ uint8arraylist@^2.0.0, uint8arraylist@^2.4.1, uint8arraylist@^2.4.3, uint8arrayl dependencies: uint8arrays "^5.0.1" -uint8arrays@^5.0.0, uint8arrays@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-5.0.1.tgz#6016ef944379eabb6de605934ead4d7a698c9f07" - integrity sha512-ND5RpJAnPgHmZT7hWD/2T4BwRp04j8NLKvMKC/7bhiEwEjUMkQ4kvBKiH6hOqbljd6qJ2xS8reL3vl1e33grOQ== +uint8arrays@^5.0.0, uint8arrays@^5.0.1, uint8arrays@^5.0.2: + version "5.0.3" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-5.0.3.tgz#92b894d9c4269ba97c51544d6e1f279fe6f80d1f" + integrity sha512-6LBuKji28kHjgPJMkQ6GDaBb1lRwIhyOYq6pDGwYMoDPfImE9SkuYENVmR0yu9yGgs2clHUSY9fKDukR+AXfqQ== dependencies: multiformats "^13.0.0"