From 76f0d0d11f8873376a7a48de23d7a9e5a0f125b0 Mon Sep 17 00:00:00 2001 From: g11tech Date: Wed, 25 May 2022 14:50:10 +0530 Subject: [PATCH 01/24] check for bellatrix block in mayb^CssueNextProposerEngineFcU (#4057) --- packages/lodestar/src/chain/blocks/importBlock.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/lodestar/src/chain/blocks/importBlock.ts b/packages/lodestar/src/chain/blocks/importBlock.ts index 986226301629..c89ee60fb123 100644 --- a/packages/lodestar/src/chain/blocks/importBlock.ts +++ b/packages/lodestar/src/chain/blocks/importBlock.ts @@ -268,8 +268,9 @@ async function maybeIssueNextProposerEngineFcU( state: CachedBeaconStateAllForks ): Promise { const prepareSlot = state.slot + 1; + const prepareEpoch = computeEpochAtSlot(prepareSlot); // No need to try building block if we are not synced - if (prepareSlot > chain.clock.currentSlot + 1) { + if (prepareSlot !== chain.clock.currentSlot + 1 || prepareEpoch < chain.config.BELLATRIX_FORK_EPOCH) { return null; } const prepareState = allForks.processSlots(state, prepareSlot); From 3db3bf667f6edab96bddffcd9bee1eba2e512f32 Mon Sep 17 00:00:00 2001 From: tuyennhv Date: Wed, 25 May 2022 20:59:35 +0700 Subject: [PATCH 02/24] Remove processed attestation log (#4040) * Remove processed attestation log * Fix lint * Add more comments --- packages/lodestar/src/chain/eventHandlers.ts | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/packages/lodestar/src/chain/eventHandlers.ts b/packages/lodestar/src/chain/eventHandlers.ts index 9bea2b23fb60..5b38870448c1 100644 --- a/packages/lodestar/src/chain/eventHandlers.ts +++ b/packages/lodestar/src/chain/eventHandlers.ts @@ -1,6 +1,6 @@ import {AbortSignal} from "@chainsafe/abort-controller"; import {toHexString} from "@chainsafe/ssz"; -import {allForks, Epoch, phase0, Slot, ssz, Version} from "@chainsafe/lodestar-types"; +import {allForks, Epoch, phase0, Slot, Version} from "@chainsafe/lodestar-types"; import {ILogger} from "@chainsafe/lodestar-utils"; import {CheckpointWithHex, IProtoBlock} from "@chainsafe/lodestar-fork-choice"; import {CachedBeaconStateAllForks, computeStartSlotAtEpoch} from "@chainsafe/lodestar-beacon-state-transition"; @@ -176,13 +176,10 @@ export function onForkChoiceReorg(this: BeaconChain, head: IProtoBlock, oldHead: this.logger.verbose("Chain reorg", {depth}); } -export function onAttestation(this: BeaconChain, attestation: phase0.Attestation): void { - this.logger.debug("Attestation processed", { - slot: attestation.data.slot, - index: attestation.data.index, - targetRoot: toHexString(attestation.data.target.root), - aggregationBits: ssz.phase0.CommitteeBits.toJson(attestation.aggregationBits) as string, - }); +export function onAttestation(this: BeaconChain, _: phase0.Attestation): void { + // don't want to log the processed attestations here as there are so many attestations and it takes too much disc space, + // users may want to keep more log files instead of unnecessary processed attestations log + // see https://github.com/ChainSafe/lodestar/pull/4032 } export async function onBlock( From 1031e7e2bf3eaf0571530ce28f176e801a4ce935 Mon Sep 17 00:00:00 2001 From: tuyennhv Date: Wed, 25 May 2022 21:00:41 +0700 Subject: [PATCH 03/24] More logs when forkchoice reorg (#4059) --- packages/lodestar/src/chain/eventHandlers.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/lodestar/src/chain/eventHandlers.ts b/packages/lodestar/src/chain/eventHandlers.ts index 5b38870448c1..3b1d311751dc 100644 --- a/packages/lodestar/src/chain/eventHandlers.ts +++ b/packages/lodestar/src/chain/eventHandlers.ts @@ -173,7 +173,15 @@ export function onForkChoiceHead(this: BeaconChain, head: IProtoBlock): void { } export function onForkChoiceReorg(this: BeaconChain, head: IProtoBlock, oldHead: IProtoBlock, depth: number): void { - this.logger.verbose("Chain reorg", {depth}); + this.logger.verbose("Chain reorg", { + depth, + previousHead: oldHead.blockRoot, + previousHeadParent: oldHead.parentRoot, + previousSlot: oldHead.slot, + newHead: head.blockRoot, + newHeadParent: head.parentRoot, + newSlot: head.slot, + }); } export function onAttestation(this: BeaconChain, _: phase0.Attestation): void { From 18c504c016214db3f645228346fab0f80accc9e4 Mon Sep 17 00:00:00 2001 From: Cayman Date: Wed, 25 May 2022 22:26:44 -0400 Subject: [PATCH 04/24] Remove @chainsafe/abort-controller (#4064) --- packages/api/package.json | 1 - packages/api/src/client/utils/httpClient.ts | 1 - packages/api/src/server/events.ts | 1 - packages/api/test/unit/client/httpClient.test.ts | 1 - packages/api/test/unit/events.test.ts | 1 - packages/cli/package.json | 1 - packages/cli/src/cmds/beacon/handler.ts | 1 - packages/cli/src/cmds/beacon/initBeaconState.ts | 1 - packages/cli/src/cmds/dev/handler.ts | 1 - packages/cli/src/cmds/validator/handler.ts | 1 - packages/keymanager-server/package.json | 1 - packages/light-client/package.json | 1 - packages/light-client/src/index.ts | 1 - packages/lodestar/package.json | 1 - packages/lodestar/src/chain/archiver/index.ts | 1 - packages/lodestar/src/chain/blocks/index.ts | 1 - packages/lodestar/src/chain/bls/multithread/index.ts | 1 - packages/lodestar/src/chain/chain.ts | 1 - packages/lodestar/src/chain/clock/LocalClock.ts | 1 - packages/lodestar/src/chain/eventHandlers.ts | 1 - packages/lodestar/src/chain/genesis/genesis.ts | 1 - packages/lodestar/src/chain/initState.ts | 1 - packages/lodestar/src/chain/precomputeNextEpochTransition.ts | 1 - packages/lodestar/src/chain/regen/queued.ts | 1 - packages/lodestar/src/eth1/eth1DepositDataTracker.ts | 1 - packages/lodestar/src/eth1/eth1MergeBlockTracker.ts | 1 - packages/lodestar/src/eth1/provider/eth1Provider.ts | 1 - packages/lodestar/src/eth1/provider/jsonRpcHttpClient.ts | 1 - packages/lodestar/src/eth1/stream.ts | 1 - packages/lodestar/src/executionEngine/http.ts | 1 - packages/lodestar/src/executionEngine/index.ts | 1 - packages/lodestar/src/network/gossip/gossipsub.ts | 1 - packages/lodestar/src/network/gossip/validation/index.ts | 1 - packages/lodestar/src/network/gossip/validation/queue.ts | 1 - packages/lodestar/src/network/network.ts | 1 - packages/lodestar/src/network/reqresp/reqResp.ts | 1 - packages/lodestar/src/network/reqresp/request/index.ts | 1 - .../src/network/reqresp/request/responseTimeoutsHandler.ts | 1 - packages/lodestar/src/network/reqresp/response/index.ts | 1 - packages/lodestar/src/node/nodejs.ts | 1 - packages/lodestar/src/node/notifier.ts | 1 - packages/lodestar/src/sync/backfill/backfill.ts | 1 - packages/lodestar/test/e2e/chain/bls/multithread.test.ts | 1 - packages/lodestar/test/e2e/eth1/eth1ForBlockProduction.test.ts | 1 - packages/lodestar/test/e2e/eth1/eth1MergeBlockTracker.test.ts | 1 - packages/lodestar/test/e2e/eth1/eth1Provider.test.ts | 1 - packages/lodestar/test/e2e/eth1/jsonRpcHttpClient.test.ts | 1 - packages/lodestar/test/e2e/eth1/stream.test.ts | 1 - packages/lodestar/test/e2e/network/gossipsub.test.ts | 1 - packages/lodestar/test/e2e/network/network.test.ts | 1 - packages/lodestar/test/e2e/network/reqresp.test.ts | 1 - packages/lodestar/test/sim/merge-interop.test.ts | 1 - packages/lodestar/test/sim/shell.ts | 1 - packages/lodestar/test/unit/api/impl/events/events.test.ts | 1 - packages/lodestar/test/unit/chain/clock/local.test.ts | 1 - packages/lodestar/test/unit/chain/genesis/genesis.test.ts | 1 - .../test/unit/chain/precomputeNextEpochTransition.test.ts | 1 - packages/lodestar/test/unit/eth1/eth1MergeBlockTracker.test.ts | 1 - packages/lodestar/test/unit/executionEngine/http.test.ts | 1 - .../unit/network/reqresp/request/responseTimeoutsHandler.test.ts | 1 - .../lodestar/test/unit/network/reqresp/response/index.test.ts | 1 - packages/lodestar/test/unit/util/queue.test.ts | 1 - packages/lodestar/test/utils/mocks/chain/chain.ts | 1 - packages/utils/package.json | 1 - packages/utils/src/sleep.ts | 1 - packages/utils/src/timeout.ts | 1 - packages/utils/test/unit/sleep.test.ts | 1 - packages/utils/test/unit/timeout.test.ts | 1 - packages/validator/package.json | 1 - packages/validator/src/genesis.ts | 1 - packages/validator/src/services/attestation.ts | 1 - packages/validator/src/services/syncCommittee.ts | 1 - packages/validator/src/util/clock.ts | 1 - packages/validator/src/validator.ts | 1 - packages/validator/test/unit/services/attestation.test.ts | 1 - packages/validator/test/unit/services/attestationDuties.test.ts | 1 - packages/validator/test/unit/services/block.test.ts | 1 - packages/validator/test/unit/services/blockDuties.test.ts | 1 - packages/validator/test/unit/services/syncCommitteDuties.test.ts | 1 - packages/validator/test/unit/services/syncCommittee.test.ts | 1 - packages/validator/test/unit/utils/clock.test.ts | 1 - packages/validator/test/utils/clock.ts | 1 - 82 files changed, 82 deletions(-) diff --git a/packages/api/package.json b/packages/api/package.json index 70c61928dea7..ac95cab24ad6 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -60,7 +60,6 @@ "check-readme": "typescript-docs-verifier" }, "dependencies": { - "@chainsafe/abort-controller": "^3.0.1", "@chainsafe/lodestar-config": "^0.37.0", "@chainsafe/lodestar-params": "^0.37.0", "@chainsafe/lodestar-types": "^0.37.0", diff --git a/packages/api/src/client/utils/httpClient.ts b/packages/api/src/client/utils/httpClient.ts index c6fb9559e1c7..a312a0e865bc 100644 --- a/packages/api/src/client/utils/httpClient.ts +++ b/packages/api/src/client/utils/httpClient.ts @@ -1,5 +1,4 @@ import {fetch} from "cross-fetch"; -import {AbortSignal, AbortController} from "@chainsafe/abort-controller"; import {ErrorAborted, ILogger, TimeoutError} from "@chainsafe/lodestar-utils"; import {ReqGeneric, RouteDef} from "../../utils/index.js"; import {stringifyQuery, urlJoin} from "./format.js"; diff --git a/packages/api/src/server/events.ts b/packages/api/src/server/events.ts index f07e77be8435..3dded05de65a 100644 --- a/packages/api/src/server/events.ts +++ b/packages/api/src/server/events.ts @@ -1,4 +1,3 @@ -import {AbortController} from "@chainsafe/abort-controller"; import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {ServerRoutes} from "./utils/index.js"; import {Api, ReqTypes, routesData, getEventSerdes} from "../routes/events.js"; diff --git a/packages/api/test/unit/client/httpClient.test.ts b/packages/api/test/unit/client/httpClient.test.ts index b2324fbce26b..7e168e6a2a72 100644 --- a/packages/api/test/unit/client/httpClient.test.ts +++ b/packages/api/test/unit/client/httpClient.test.ts @@ -1,5 +1,4 @@ import {ErrorAborted, TimeoutError} from "@chainsafe/lodestar-utils"; -import {AbortController} from "@chainsafe/abort-controller"; import chai, {expect} from "chai"; import chaiAsPromised from "chai-as-promised"; import fastify, {RouteOptions} from "fastify"; diff --git a/packages/api/test/unit/events.test.ts b/packages/api/test/unit/events.test.ts index d71a9f5915e4..e381f3139e85 100644 --- a/packages/api/test/unit/events.test.ts +++ b/packages/api/test/unit/events.test.ts @@ -1,4 +1,3 @@ -import {AbortController} from "@chainsafe/abort-controller"; import {sleep} from "@chainsafe/lodestar-utils"; import {config} from "@chainsafe/lodestar-config/default"; import {Api, routesData, EventType, BeaconEvent} from "../../src/routes/events.js"; diff --git a/packages/cli/package.json b/packages/cli/package.json index 5973dc36f598..b17d1adecbc4 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -50,7 +50,6 @@ "blockchain" ], "dependencies": { - "@chainsafe/abort-controller": "^3.0.1", "@chainsafe/as-sha256": "^0.3.1", "@chainsafe/bls": "7.1.0", "@chainsafe/bls-keygen": "^0.3.0", diff --git a/packages/cli/src/cmds/beacon/handler.ts b/packages/cli/src/cmds/beacon/handler.ts index 675eea478149..84bc76a1bd38 100644 --- a/packages/cli/src/cmds/beacon/handler.ts +++ b/packages/cli/src/cmds/beacon/handler.ts @@ -1,5 +1,4 @@ import {Registry} from "prom-client"; -import {AbortController} from "@chainsafe/abort-controller"; import {ErrorAborted} from "@chainsafe/lodestar-utils"; import {LevelDbController} from "@chainsafe/lodestar-db"; import {BeaconNode, BeaconDb, createNodeJsLibp2p} from "@chainsafe/lodestar"; diff --git a/packages/cli/src/cmds/beacon/initBeaconState.ts b/packages/cli/src/cmds/beacon/initBeaconState.ts index bdbbc2b9e8e2..2520cea3f10c 100644 --- a/packages/cli/src/cmds/beacon/initBeaconState.ts +++ b/packages/cli/src/cmds/beacon/initBeaconState.ts @@ -1,4 +1,3 @@ -import {AbortSignal} from "@chainsafe/abort-controller"; import {ssz} from "@chainsafe/lodestar-types"; import {createIBeaconConfig, IBeaconConfig, IChainForkConfig} from "@chainsafe/lodestar-config"; import {ILogger} from "@chainsafe/lodestar-utils"; diff --git a/packages/cli/src/cmds/dev/handler.ts b/packages/cli/src/cmds/dev/handler.ts index 7dff22e67393..c662fd81166b 100644 --- a/packages/cli/src/cmds/dev/handler.ts +++ b/packages/cli/src/cmds/dev/handler.ts @@ -3,7 +3,6 @@ import {promisify} from "node:util"; import rimraf from "rimraf"; import path from "node:path"; import {fromHexString} from "@chainsafe/ssz"; -import {AbortController} from "@chainsafe/abort-controller"; import {GENESIS_SLOT} from "@chainsafe/lodestar-params"; import {BeaconNode, BeaconDb, initStateFromAnchorState, createNodeJsLibp2p, nodeUtils} from "@chainsafe/lodestar"; import {SlashingProtection, Validator, SignerType} from "@chainsafe/lodestar-validator"; diff --git a/packages/cli/src/cmds/validator/handler.ts b/packages/cli/src/cmds/validator/handler.ts index ae66ecb5b85f..221a59a839f1 100644 --- a/packages/cli/src/cmds/validator/handler.ts +++ b/packages/cli/src/cmds/validator/handler.ts @@ -1,4 +1,3 @@ -import {AbortController} from "@chainsafe/abort-controller"; import {LevelDbController} from "@chainsafe/lodestar-db"; import {SignerType, Signer, SlashingProtection, Validator} from "@chainsafe/lodestar-validator"; import {getMetrics, MetricsRegister} from "@chainsafe/lodestar-validator"; diff --git a/packages/keymanager-server/package.json b/packages/keymanager-server/package.json index 3b3f2022a995..8e50b5e56843 100644 --- a/packages/keymanager-server/package.json +++ b/packages/keymanager-server/package.json @@ -45,7 +45,6 @@ "blockchain" ], "dependencies": { - "@chainsafe/abort-controller": "^3.0.1", "@chainsafe/bls": "7.1.0", "@chainsafe/bls-keystore": "^2.0.0", "@chainsafe/lodestar-api": "^0.37.0", diff --git a/packages/light-client/package.json b/packages/light-client/package.json index 79c1c55a6490..a7e9dfc5df18 100644 --- a/packages/light-client/package.json +++ b/packages/light-client/package.json @@ -38,7 +38,6 @@ "check-readme": "typescript-docs-verifier" }, "dependencies": { - "@chainsafe/abort-controller": "^3.0.1", "@chainsafe/bls": "7.1.1", "@chainsafe/lodestar-api": "^0.37.0", "@chainsafe/lodestar-config": "^0.37.0", diff --git a/packages/light-client/src/index.ts b/packages/light-client/src/index.ts index 36b128083d8d..6a30e2befa8d 100644 --- a/packages/light-client/src/index.ts +++ b/packages/light-client/src/index.ts @@ -1,5 +1,4 @@ import mitt from "mitt"; -import {AbortController} from "@chainsafe/abort-controller"; import {EPOCHS_PER_SYNC_COMMITTEE_PERIOD, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {getClient, Api, routes} from "@chainsafe/lodestar-api"; import {altair, phase0, RootHex, ssz, SyncPeriod} from "@chainsafe/lodestar-types"; diff --git a/packages/lodestar/package.json b/packages/lodestar/package.json index 05cab4cd3ba9..0268ff8c8c6a 100644 --- a/packages/lodestar/package.json +++ b/packages/lodestar/package.json @@ -67,7 +67,6 @@ "check-readme": "typescript-docs-verifier" }, "dependencies": { - "@chainsafe/abort-controller": "^3.0.1", "@chainsafe/as-sha256": "^0.3.1", "@chainsafe/bls": "7.1.1", "@chainsafe/discv5": "^0.7.1", diff --git a/packages/lodestar/src/chain/archiver/index.ts b/packages/lodestar/src/chain/archiver/index.ts index d7a8d48d87b6..fbbc3aed5ba4 100644 --- a/packages/lodestar/src/chain/archiver/index.ts +++ b/packages/lodestar/src/chain/archiver/index.ts @@ -1,4 +1,3 @@ -import {AbortSignal} from "@chainsafe/abort-controller"; import {ILogger} from "@chainsafe/lodestar-utils"; import {IBeaconDb} from "../../db/index.js"; diff --git a/packages/lodestar/src/chain/blocks/index.ts b/packages/lodestar/src/chain/blocks/index.ts index e94c24067e69..5947e02a5636 100644 --- a/packages/lodestar/src/chain/blocks/index.ts +++ b/packages/lodestar/src/chain/blocks/index.ts @@ -1,5 +1,4 @@ /* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment */ -import {AbortSignal} from "@chainsafe/abort-controller"; import {allForks} from "@chainsafe/lodestar-types"; import {sleep} from "@chainsafe/lodestar-utils"; import {ChainEvent} from "../emitter.js"; diff --git a/packages/lodestar/src/chain/bls/multithread/index.ts b/packages/lodestar/src/chain/bls/multithread/index.ts index e339bdc1bc16..292bae271d78 100644 --- a/packages/lodestar/src/chain/bls/multithread/index.ts +++ b/packages/lodestar/src/chain/bls/multithread/index.ts @@ -6,7 +6,6 @@ import {spawn, Worker} from "@chainsafe/threads"; // @ts-ignore // eslint-disable-next-line self = undefined; -import {AbortSignal} from "@chainsafe/abort-controller"; import bls from "@chainsafe/bls"; import {Implementation, PointFormat} from "@chainsafe/bls/types"; import {ILogger} from "@chainsafe/lodestar-utils"; diff --git a/packages/lodestar/src/chain/chain.ts b/packages/lodestar/src/chain/chain.ts index 49b5ee24954e..0e844a006aa5 100644 --- a/packages/lodestar/src/chain/chain.ts +++ b/packages/lodestar/src/chain/chain.ts @@ -16,7 +16,6 @@ import {IForkChoice} from "@chainsafe/lodestar-fork-choice"; import {allForks, UintNum64, Root, phase0, Slot, RootHex, Epoch} from "@chainsafe/lodestar-types"; import {ILogger} from "@chainsafe/lodestar-utils"; import {fromHexString} from "@chainsafe/ssz"; -import {AbortController} from "@chainsafe/abort-controller"; import {GENESIS_EPOCH, ZERO_HASH} from "../constants/index.js"; import {IBeaconDb} from "../db/index.js"; import {CheckpointStateCache, StateContextCache} from "./stateCache/index.js"; diff --git a/packages/lodestar/src/chain/clock/LocalClock.ts b/packages/lodestar/src/chain/clock/LocalClock.ts index d1108a194fc9..1ce7695aaf46 100644 --- a/packages/lodestar/src/chain/clock/LocalClock.ts +++ b/packages/lodestar/src/chain/clock/LocalClock.ts @@ -1,4 +1,3 @@ -import {AbortSignal} from "@chainsafe/abort-controller"; import {Epoch, Slot} from "@chainsafe/lodestar-types"; import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {ErrorAborted} from "@chainsafe/lodestar-utils"; diff --git a/packages/lodestar/src/chain/eventHandlers.ts b/packages/lodestar/src/chain/eventHandlers.ts index 3b1d311751dc..984ab14e1295 100644 --- a/packages/lodestar/src/chain/eventHandlers.ts +++ b/packages/lodestar/src/chain/eventHandlers.ts @@ -1,4 +1,3 @@ -import {AbortSignal} from "@chainsafe/abort-controller"; import {toHexString} from "@chainsafe/ssz"; import {allForks, Epoch, phase0, Slot, Version} from "@chainsafe/lodestar-types"; import {ILogger} from "@chainsafe/lodestar-utils"; diff --git a/packages/lodestar/src/chain/genesis/genesis.ts b/packages/lodestar/src/chain/genesis/genesis.ts index 71723fb0b13a..3b02b346a55b 100644 --- a/packages/lodestar/src/chain/genesis/genesis.ts +++ b/packages/lodestar/src/chain/genesis/genesis.ts @@ -6,7 +6,6 @@ import {GENESIS_EPOCH, GENESIS_SLOT} from "@chainsafe/lodestar-params"; import {phase0, ssz} from "@chainsafe/lodestar-types"; import {IBeaconConfig, IChainForkConfig} from "@chainsafe/lodestar-config"; import {toGindex, Tree} from "@chainsafe/persistent-merkle-tree"; -import {AbortSignal} from "@chainsafe/abort-controller"; import { getTemporaryBlockHeader, getGenesisBeaconState, diff --git a/packages/lodestar/src/chain/initState.ts b/packages/lodestar/src/chain/initState.ts index 6202157a3e18..4f2fca693fd6 100644 --- a/packages/lodestar/src/chain/initState.ts +++ b/packages/lodestar/src/chain/initState.ts @@ -2,7 +2,6 @@ * @module chain */ -import {AbortSignal} from "@chainsafe/abort-controller"; import { blockToHeader, computeEpochAtSlot, diff --git a/packages/lodestar/src/chain/precomputeNextEpochTransition.ts b/packages/lodestar/src/chain/precomputeNextEpochTransition.ts index c999cea7db9f..dcccd90a2cfd 100644 --- a/packages/lodestar/src/chain/precomputeNextEpochTransition.ts +++ b/packages/lodestar/src/chain/precomputeNextEpochTransition.ts @@ -1,4 +1,3 @@ -import {AbortSignal} from "@chainsafe/abort-controller"; import {computeEpochAtSlot} from "@chainsafe/lodestar-beacon-state-transition"; import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; diff --git a/packages/lodestar/src/chain/regen/queued.ts b/packages/lodestar/src/chain/regen/queued.ts index d181b9a4f2e2..85109db30001 100644 --- a/packages/lodestar/src/chain/regen/queued.ts +++ b/packages/lodestar/src/chain/regen/queued.ts @@ -1,4 +1,3 @@ -import {AbortSignal} from "@chainsafe/abort-controller"; import {phase0, Slot, allForks, RootHex} from "@chainsafe/lodestar-types"; import {IForkChoice} from "@chainsafe/lodestar-fork-choice"; import {CachedBeaconStateAllForks, computeEpochAtSlot} from "@chainsafe/lodestar-beacon-state-transition"; diff --git a/packages/lodestar/src/eth1/eth1DepositDataTracker.ts b/packages/lodestar/src/eth1/eth1DepositDataTracker.ts index 392a23bfbb9e..042176f3c56c 100644 --- a/packages/lodestar/src/eth1/eth1DepositDataTracker.ts +++ b/packages/lodestar/src/eth1/eth1DepositDataTracker.ts @@ -2,7 +2,6 @@ import {phase0, ssz} from "@chainsafe/lodestar-types"; import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {allForks, BeaconStateAllForks} from "@chainsafe/lodestar-beacon-state-transition"; import {ErrorAborted, ILogger, isErrorAborted, sleep} from "@chainsafe/lodestar-utils"; -import {AbortSignal} from "@chainsafe/abort-controller"; import {IBeaconDb} from "../db/index.js"; import {Eth1DepositsCache} from "./eth1DepositsCache.js"; import {Eth1DataCache} from "./eth1DataCache.js"; diff --git a/packages/lodestar/src/eth1/eth1MergeBlockTracker.ts b/packages/lodestar/src/eth1/eth1MergeBlockTracker.ts index 615a9f9d96f0..8bfd5bf5301f 100644 --- a/packages/lodestar/src/eth1/eth1MergeBlockTracker.ts +++ b/packages/lodestar/src/eth1/eth1MergeBlockTracker.ts @@ -1,4 +1,3 @@ -import {AbortSignal} from "@chainsafe/abort-controller"; import {IChainConfig} from "@chainsafe/lodestar-config"; import {Epoch, RootHex} from "@chainsafe/lodestar-types"; import {ILogger, isErrorAborted, sleep} from "@chainsafe/lodestar-utils"; diff --git a/packages/lodestar/src/eth1/provider/eth1Provider.ts b/packages/lodestar/src/eth1/provider/eth1Provider.ts index 470dba86d2eb..607356aa5146 100644 --- a/packages/lodestar/src/eth1/provider/eth1Provider.ts +++ b/packages/lodestar/src/eth1/provider/eth1Provider.ts @@ -1,6 +1,5 @@ import {toHexString} from "@chainsafe/ssz"; import {phase0} from "@chainsafe/lodestar-types"; -import {AbortSignal} from "@chainsafe/abort-controller"; import {IChainConfig} from "@chainsafe/lodestar-config"; import {fromHex} from "@chainsafe/lodestar-utils"; diff --git a/packages/lodestar/src/eth1/provider/jsonRpcHttpClient.ts b/packages/lodestar/src/eth1/provider/jsonRpcHttpClient.ts index 6f1104cab601..76a6bdd8c58c 100644 --- a/packages/lodestar/src/eth1/provider/jsonRpcHttpClient.ts +++ b/packages/lodestar/src/eth1/provider/jsonRpcHttpClient.ts @@ -1,7 +1,6 @@ // Uses cross-fetch for browser + NodeJS cross compatibility // Note: isomorphic-fetch is not well mantained and does not support abort signals import fetch from "cross-fetch"; -import {AbortController, AbortSignal} from "@chainsafe/abort-controller"; import {ErrorAborted, TimeoutError} from "@chainsafe/lodestar-utils"; import {IJson, IRpcPayload, ReqOpts} from "../interface.js"; diff --git a/packages/lodestar/src/eth1/stream.ts b/packages/lodestar/src/eth1/stream.ts index 049d8651c41f..dc603a1035e8 100644 --- a/packages/lodestar/src/eth1/stream.ts +++ b/packages/lodestar/src/eth1/stream.ts @@ -2,7 +2,6 @@ * @module eth1 */ -import {AbortSignal} from "@chainsafe/abort-controller"; import {Eth1Block, IBatchDepositEvents, IEth1Provider, IEth1StreamParams} from "./interface.js"; import {groupDepositEventsByBlock} from "./utils/groupDepositEventsByBlock.js"; import {optimizeNextBlockDiffForGenesis} from "./utils/optimizeNextBlockDiffForGenesis.js"; diff --git a/packages/lodestar/src/executionEngine/http.ts b/packages/lodestar/src/executionEngine/http.ts index b3d1f84e10d7..1835830dec36 100644 --- a/packages/lodestar/src/executionEngine/http.ts +++ b/packages/lodestar/src/executionEngine/http.ts @@ -1,4 +1,3 @@ -import {AbortSignal} from "@chainsafe/abort-controller"; import {bellatrix, RootHex, Root} from "@chainsafe/lodestar-types"; import {BYTES_PER_LOGS_BLOOM} from "@chainsafe/lodestar-params"; import {fromHex} from "@chainsafe/lodestar-utils"; diff --git a/packages/lodestar/src/executionEngine/index.ts b/packages/lodestar/src/executionEngine/index.ts index 25fd39e0bedf..6ecdda0952cb 100644 --- a/packages/lodestar/src/executionEngine/index.ts +++ b/packages/lodestar/src/executionEngine/index.ts @@ -1,4 +1,3 @@ -import {AbortSignal} from "@chainsafe/abort-controller"; import {IExecutionEngine} from "./interface.js"; import {ExecutionEngineDisabled} from "./disabled.js"; import {ExecutionEngineHttp, ExecutionEngineHttpOpts, defaultExecutionEngineHttpOpts} from "./http.js"; diff --git a/packages/lodestar/src/network/gossip/gossipsub.ts b/packages/lodestar/src/network/gossip/gossipsub.ts index 6199e4c97253..c58b72588272 100644 --- a/packages/lodestar/src/network/gossip/gossipsub.ts +++ b/packages/lodestar/src/network/gossip/gossipsub.ts @@ -6,7 +6,6 @@ const Gossipsub = ((GossipsubDefault as unknown) as {default: unknown}).default import {GossipsubMessage, SignaturePolicy, TopicStr} from "libp2p-gossipsub/src/types.js"; import {PeerScore, PeerScoreParams} from "libp2p-gossipsub/src/score/index.js"; import PeerId from "peer-id"; -import {AbortSignal} from "@chainsafe/abort-controller"; import {IBeaconConfig} from "@chainsafe/lodestar-config"; import {ATTESTATION_SUBNET_COUNT, ForkName, SYNC_COMMITTEE_SUBNET_COUNT} from "@chainsafe/lodestar-params"; import {allForks, altair, phase0} from "@chainsafe/lodestar-types"; diff --git a/packages/lodestar/src/network/gossip/validation/index.ts b/packages/lodestar/src/network/gossip/validation/index.ts index 3ee446a01bfa..f8fc0e26ca52 100644 --- a/packages/lodestar/src/network/gossip/validation/index.ts +++ b/packages/lodestar/src/network/gossip/validation/index.ts @@ -1,5 +1,4 @@ import {MessageAcceptance} from "libp2p-gossipsub/src/types.js"; -import {AbortSignal} from "@chainsafe/abort-controller"; import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {ILogger, mapValues} from "@chainsafe/lodestar-utils"; import {IMetrics} from "../../../metrics/index.js"; diff --git a/packages/lodestar/src/network/gossip/validation/queue.ts b/packages/lodestar/src/network/gossip/validation/queue.ts index 44403208d493..e39b8d34dd07 100644 --- a/packages/lodestar/src/network/gossip/validation/queue.ts +++ b/packages/lodestar/src/network/gossip/validation/queue.ts @@ -1,4 +1,3 @@ -import {AbortSignal} from "@chainsafe/abort-controller"; import {mapValues} from "@chainsafe/lodestar-utils"; import {IMetrics} from "../../../metrics/index.js"; import {JobItemQueue, JobQueueOpts, QueueType} from "../../../util/queue/index.js"; diff --git a/packages/lodestar/src/network/network.ts b/packages/lodestar/src/network/network.ts index 1076a4ead336..309e56b10e0e 100644 --- a/packages/lodestar/src/network/network.ts +++ b/packages/lodestar/src/network/network.ts @@ -5,7 +5,6 @@ import LibP2p, {Connection} from "libp2p"; import PeerId from "peer-id"; import {Multiaddr} from "multiaddr"; -import {AbortSignal} from "@chainsafe/abort-controller"; import {IBeaconConfig} from "@chainsafe/lodestar-config"; import {ILogger} from "@chainsafe/lodestar-utils"; import {ATTESTATION_SUBNET_COUNT, ForkName, SYNC_COMMITTEE_SUBNET_COUNT} from "@chainsafe/lodestar-params"; diff --git a/packages/lodestar/src/network/reqresp/reqResp.ts b/packages/lodestar/src/network/reqresp/reqResp.ts index 07f32c80ae98..d0f7b982a232 100644 --- a/packages/lodestar/src/network/reqresp/reqResp.ts +++ b/packages/lodestar/src/network/reqresp/reqResp.ts @@ -7,7 +7,6 @@ import {ForkName} from "@chainsafe/lodestar-params"; import {IBeaconConfig} from "@chainsafe/lodestar-config"; import {allForks, phase0} from "@chainsafe/lodestar-types"; import {ILogger} from "@chainsafe/lodestar-utils"; -import {AbortController} from "@chainsafe/abort-controller"; import LibP2p from "libp2p"; import PeerId from "peer-id"; import {RespStatus, timeoutOptions} from "../../constants/index.js"; diff --git a/packages/lodestar/src/network/reqresp/request/index.ts b/packages/lodestar/src/network/reqresp/request/index.ts index 9dcca352b36d..89b9d27e580f 100644 --- a/packages/lodestar/src/network/reqresp/request/index.ts +++ b/packages/lodestar/src/network/reqresp/request/index.ts @@ -1,4 +1,3 @@ -import {AbortSignal} from "@chainsafe/abort-controller"; import pipe from "it-pipe"; import PeerId from "peer-id"; import {Libp2p} from "libp2p/src/connection-manager"; diff --git a/packages/lodestar/src/network/reqresp/request/responseTimeoutsHandler.ts b/packages/lodestar/src/network/reqresp/request/responseTimeoutsHandler.ts index 9865c13afe24..3234c6f3ba08 100644 --- a/packages/lodestar/src/network/reqresp/request/responseTimeoutsHandler.ts +++ b/packages/lodestar/src/network/reqresp/request/responseTimeoutsHandler.ts @@ -1,4 +1,3 @@ -import {AbortController} from "@chainsafe/abort-controller"; import pipe from "it-pipe"; import {timeoutOptions} from "../../../constants/index.js"; import {abortableSource} from "../../../util/abortableSource.js"; diff --git a/packages/lodestar/src/network/reqresp/response/index.ts b/packages/lodestar/src/network/reqresp/response/index.ts index c7d8f2b8a953..d3406a5da130 100644 --- a/packages/lodestar/src/network/reqresp/response/index.ts +++ b/packages/lodestar/src/network/reqresp/response/index.ts @@ -1,6 +1,5 @@ import PeerId from "peer-id"; import pipe from "it-pipe"; -import {AbortSignal} from "@chainsafe/abort-controller"; import {ILogger, TimeoutError, withTimeout} from "@chainsafe/lodestar-utils"; import {IBeaconConfig} from "@chainsafe/lodestar-config"; import {REQUEST_TIMEOUT, RespStatus} from "../../../constants/index.js"; diff --git a/packages/lodestar/src/node/nodejs.ts b/packages/lodestar/src/node/nodejs.ts index 6c90af7af312..6704953a7b4d 100644 --- a/packages/lodestar/src/node/nodejs.ts +++ b/packages/lodestar/src/node/nodejs.ts @@ -2,7 +2,6 @@ * @module node */ -import {AbortController} from "@chainsafe/abort-controller"; import LibP2p from "libp2p"; import {Registry} from "prom-client"; diff --git a/packages/lodestar/src/node/notifier.ts b/packages/lodestar/src/node/notifier.ts index b818bb4a0739..0a417284a9f3 100644 --- a/packages/lodestar/src/node/notifier.ts +++ b/packages/lodestar/src/node/notifier.ts @@ -1,6 +1,5 @@ import {IBeaconConfig} from "@chainsafe/lodestar-config"; import {ErrorAborted, ILogger, sleep, prettyBytes} from "@chainsafe/lodestar-utils"; -import {AbortSignal} from "@chainsafe/abort-controller"; import {EPOCHS_PER_SYNC_COMMITTEE_PERIOD, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {computeEpochAtSlot, bellatrix} from "@chainsafe/lodestar-beacon-state-transition"; import {IBeaconChain} from "../chain/index.js"; diff --git a/packages/lodestar/src/sync/backfill/backfill.ts b/packages/lodestar/src/sync/backfill/backfill.ts index f61e167b86a2..2e53f273224e 100644 --- a/packages/lodestar/src/sync/backfill/backfill.ts +++ b/packages/lodestar/src/sync/backfill/backfill.ts @@ -7,7 +7,6 @@ import {IBeaconConfig, IChainForkConfig} from "@chainsafe/lodestar-config"; import {phase0, Root, Slot, allForks, ssz} from "@chainsafe/lodestar-types"; import {ErrorAborted, ILogger, sleep} from "@chainsafe/lodestar-utils"; import {toHexString} from "@chainsafe/ssz"; -import {AbortSignal} from "@chainsafe/abort-controller"; import {IBeaconChain} from "../../chain/index.js"; import {GENESIS_SLOT, ZERO_HASH} from "../../constants/index.js"; diff --git a/packages/lodestar/test/e2e/chain/bls/multithread.test.ts b/packages/lodestar/test/e2e/chain/bls/multithread.test.ts index 4b04053c42f8..3354d514cf14 100644 --- a/packages/lodestar/test/e2e/chain/bls/multithread.test.ts +++ b/packages/lodestar/test/e2e/chain/bls/multithread.test.ts @@ -1,6 +1,5 @@ import chai, {expect} from "chai"; import chaiAsPromised from "chai-as-promised"; -import {AbortController} from "@chainsafe/abort-controller"; import bls from "@chainsafe/bls"; import {ISignatureSet, SignatureSetType} from "@chainsafe/lodestar-beacon-state-transition"; import {BlsMultiThreadWorkerPool} from "../../../../src/chain/bls/multithread/index.js"; diff --git a/packages/lodestar/test/e2e/eth1/eth1ForBlockProduction.test.ts b/packages/lodestar/test/e2e/eth1/eth1ForBlockProduction.test.ts index e1d3256b4224..1338a61d69da 100644 --- a/packages/lodestar/test/e2e/eth1/eth1ForBlockProduction.test.ts +++ b/packages/lodestar/test/e2e/eth1/eth1ForBlockProduction.test.ts @@ -3,7 +3,6 @@ import "mocha"; import {expect} from "chai"; import {promisify} from "node:util"; import leveldown from "leveldown"; -import {AbortController} from "@chainsafe/abort-controller"; import {sleep} from "@chainsafe/lodestar-utils"; import {LevelDbController} from "@chainsafe/lodestar-db"; diff --git a/packages/lodestar/test/e2e/eth1/eth1MergeBlockTracker.test.ts b/packages/lodestar/test/e2e/eth1/eth1MergeBlockTracker.test.ts index e0ef167861a7..9fc90bee17c7 100644 --- a/packages/lodestar/test/e2e/eth1/eth1MergeBlockTracker.test.ts +++ b/packages/lodestar/test/e2e/eth1/eth1MergeBlockTracker.test.ts @@ -1,4 +1,3 @@ -import {AbortController} from "@chainsafe/abort-controller"; import {IChainConfig} from "@chainsafe/lodestar-config"; import {sleep} from "@chainsafe/lodestar-utils"; import {fromHexString} from "@chainsafe/ssz"; diff --git a/packages/lodestar/test/e2e/eth1/eth1Provider.test.ts b/packages/lodestar/test/e2e/eth1/eth1Provider.test.ts index 95a9c1ab9e67..83dc9fecd85d 100644 --- a/packages/lodestar/test/e2e/eth1/eth1Provider.test.ts +++ b/packages/lodestar/test/e2e/eth1/eth1Provider.test.ts @@ -1,6 +1,5 @@ import "mocha"; import {expect} from "chai"; -import {AbortController} from "@chainsafe/abort-controller"; import {Eth1Options} from "../../../src/eth1/options.js"; import {getTestnetConfig} from "../../utils/testnet.js"; import {fromHexString} from "@chainsafe/ssz"; diff --git a/packages/lodestar/test/e2e/eth1/jsonRpcHttpClient.test.ts b/packages/lodestar/test/e2e/eth1/jsonRpcHttpClient.test.ts index 820dbd8a0fd8..65ad277f8410 100644 --- a/packages/lodestar/test/e2e/eth1/jsonRpcHttpClient.test.ts +++ b/packages/lodestar/test/e2e/eth1/jsonRpcHttpClient.test.ts @@ -2,7 +2,6 @@ import "mocha"; import chai, {expect} from "chai"; import chaiAsPromised from "chai-as-promised"; import http from "node:http"; -import {AbortController} from "@chainsafe/abort-controller"; import {JsonRpcHttpClient} from "../../../src/eth1/provider/jsonRpcHttpClient.js"; import {getGoerliRpcUrl} from "../../testParams.js"; import {IRpcPayload} from "../../../src/eth1/interface.js"; diff --git a/packages/lodestar/test/e2e/eth1/stream.test.ts b/packages/lodestar/test/e2e/eth1/stream.test.ts index 1af4fe01d184..98278318f842 100644 --- a/packages/lodestar/test/e2e/eth1/stream.test.ts +++ b/packages/lodestar/test/e2e/eth1/stream.test.ts @@ -1,6 +1,5 @@ import "mocha"; import {expect} from "chai"; -import {AbortController} from "@chainsafe/abort-controller"; import {getTestnetConfig, medallaTestnetConfig} from "../../utils/testnet.js"; import {getDepositsStream, getDepositsAndBlockStreamForGenesis} from "../../../src/eth1/stream.js"; import {Eth1Provider} from "../../../src/eth1/provider/eth1Provider.js"; diff --git a/packages/lodestar/test/e2e/network/gossipsub.test.ts b/packages/lodestar/test/e2e/network/gossipsub.test.ts index 9dc3457f33a4..fcbd18373e70 100644 --- a/packages/lodestar/test/e2e/network/gossipsub.test.ts +++ b/packages/lodestar/test/e2e/network/gossipsub.test.ts @@ -1,6 +1,5 @@ import sinon from "sinon"; import {expect} from "chai"; -import {AbortController} from "@chainsafe/abort-controller"; import {createIBeaconConfig} from "@chainsafe/lodestar-config"; import {config} from "@chainsafe/lodestar-config/default"; import {phase0, ssz} from "@chainsafe/lodestar-types"; diff --git a/packages/lodestar/test/e2e/network/network.test.ts b/packages/lodestar/test/e2e/network/network.test.ts index 5935c313277d..087c9adef111 100644 --- a/packages/lodestar/test/e2e/network/network.test.ts +++ b/packages/lodestar/test/e2e/network/network.test.ts @@ -1,6 +1,5 @@ import sinon from "sinon"; import {expect} from "chai"; -import {AbortController} from "@chainsafe/abort-controller"; import PeerId from "peer-id"; import {ENR} from "@chainsafe/discv5"; diff --git a/packages/lodestar/test/e2e/network/reqresp.test.ts b/packages/lodestar/test/e2e/network/reqresp.test.ts index 893173c6c78a..208b6909faf3 100644 --- a/packages/lodestar/test/e2e/network/reqresp.test.ts +++ b/packages/lodestar/test/e2e/network/reqresp.test.ts @@ -1,6 +1,5 @@ import chai, {expect} from "chai"; import chaiAsPromised from "chai-as-promised"; -import {AbortController} from "@chainsafe/abort-controller"; import PeerId from "peer-id"; import {createIBeaconConfig} from "@chainsafe/lodestar-config"; import {config} from "@chainsafe/lodestar-config/default"; diff --git a/packages/lodestar/test/sim/merge-interop.test.ts b/packages/lodestar/test/sim/merge-interop.test.ts index 914aea9bafc8..f2ad29b5e06c 100644 --- a/packages/lodestar/test/sim/merge-interop.test.ts +++ b/packages/lodestar/test/sim/merge-interop.test.ts @@ -2,7 +2,6 @@ import fs from "node:fs"; import net from "node:net"; import {spawn} from "node:child_process"; import {Context} from "mocha"; -import {AbortController, AbortSignal} from "@chainsafe/abort-controller"; import {fromHexString} from "@chainsafe/ssz"; import {LogLevel, sleep, TimestampFormatCode} from "@chainsafe/lodestar-utils"; import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; diff --git a/packages/lodestar/test/sim/shell.ts b/packages/lodestar/test/sim/shell.ts index 335e532e3c6e..071ca7082a69 100644 --- a/packages/lodestar/test/sim/shell.ts +++ b/packages/lodestar/test/sim/shell.ts @@ -1,5 +1,4 @@ import childProcess from "node:child_process"; -import {AbortSignal} from "@chainsafe/abort-controller"; /** * If timeout is greater than 0, the parent will send the signal diff --git a/packages/lodestar/test/unit/api/impl/events/events.test.ts b/packages/lodestar/test/unit/api/impl/events/events.test.ts index 83a731b41eab..a55621f6c8ea 100644 --- a/packages/lodestar/test/unit/api/impl/events/events.test.ts +++ b/packages/lodestar/test/unit/api/impl/events/events.test.ts @@ -1,4 +1,3 @@ -import {AbortController} from "@chainsafe/abort-controller"; import {expect} from "chai"; import sinon, {SinonStubbedInstance} from "sinon"; import {routes} from "@chainsafe/lodestar-api"; diff --git a/packages/lodestar/test/unit/chain/clock/local.test.ts b/packages/lodestar/test/unit/chain/clock/local.test.ts index 52ed2589c7de..02de8c5d81a7 100644 --- a/packages/lodestar/test/unit/chain/clock/local.test.ts +++ b/packages/lodestar/test/unit/chain/clock/local.test.ts @@ -1,5 +1,4 @@ import sinon from "sinon"; -import {AbortController} from "@chainsafe/abort-controller"; import {expect} from "chai"; import {config} from "@chainsafe/lodestar-config/default"; diff --git a/packages/lodestar/test/unit/chain/genesis/genesis.test.ts b/packages/lodestar/test/unit/chain/genesis/genesis.test.ts index 046bfe1204fc..e54a4e006930 100644 --- a/packages/lodestar/test/unit/chain/genesis/genesis.test.ts +++ b/packages/lodestar/test/unit/chain/genesis/genesis.test.ts @@ -13,7 +13,6 @@ import { import {ValidatorIndex, phase0, ssz} from "@chainsafe/lodestar-types"; import {ErrorAborted} from "@chainsafe/lodestar-utils"; import {toHexString} from "@chainsafe/ssz"; -import {AbortController} from "@chainsafe/abort-controller"; import {GenesisBuilder} from "../../../../src/chain/genesis/genesis.js"; import {testLogger} from "../../../utils/logger.js"; import {ZERO_HASH_HEX} from "../../../../src/constants/index.js"; diff --git a/packages/lodestar/test/unit/chain/precomputeNextEpochTransition.test.ts b/packages/lodestar/test/unit/chain/precomputeNextEpochTransition.test.ts index c691af725842..0bb9a9111670 100644 --- a/packages/lodestar/test/unit/chain/precomputeNextEpochTransition.test.ts +++ b/packages/lodestar/test/unit/chain/precomputeNextEpochTransition.test.ts @@ -1,5 +1,4 @@ import {config} from "@chainsafe/lodestar-config/default"; -import {AbortController} from "@chainsafe/abort-controller"; import {ForkChoice, IProtoBlock} from "@chainsafe/lodestar-fork-choice"; import {WinstonLogger} from "@chainsafe/lodestar-utils"; import {expect} from "chai"; diff --git a/packages/lodestar/test/unit/eth1/eth1MergeBlockTracker.test.ts b/packages/lodestar/test/unit/eth1/eth1MergeBlockTracker.test.ts index 0aa5b5dbb9b5..94a881b59f31 100644 --- a/packages/lodestar/test/unit/eth1/eth1MergeBlockTracker.test.ts +++ b/packages/lodestar/test/unit/eth1/eth1MergeBlockTracker.test.ts @@ -1,4 +1,3 @@ -import {AbortController} from "@chainsafe/abort-controller"; import {IChainConfig} from "@chainsafe/lodestar-config"; import {sleep} from "@chainsafe/lodestar-utils"; import {toHexString} from "@chainsafe/ssz"; diff --git a/packages/lodestar/test/unit/executionEngine/http.test.ts b/packages/lodestar/test/unit/executionEngine/http.test.ts index 898bb2c87397..f999ef3cfc54 100644 --- a/packages/lodestar/test/unit/executionEngine/http.test.ts +++ b/packages/lodestar/test/unit/executionEngine/http.test.ts @@ -1,7 +1,6 @@ import chai, {expect} from "chai"; import chaiAsPromised from "chai-as-promised"; import {fastify} from "fastify"; -import {AbortController} from "@chainsafe/abort-controller"; import { ExecutionEngineHttp, parseExecutionPayload, diff --git a/packages/lodestar/test/unit/network/reqresp/request/responseTimeoutsHandler.test.ts b/packages/lodestar/test/unit/network/reqresp/request/responseTimeoutsHandler.test.ts index 3146a0de4818..5fac8ff837a8 100644 --- a/packages/lodestar/test/unit/network/reqresp/request/responseTimeoutsHandler.test.ts +++ b/packages/lodestar/test/unit/network/reqresp/request/responseTimeoutsHandler.test.ts @@ -1,4 +1,3 @@ -import {AbortController} from "@chainsafe/abort-controller"; import all from "it-all"; import pipe from "it-pipe"; import {LodestarError, sleep as _sleep} from "@chainsafe/lodestar-utils"; diff --git a/packages/lodestar/test/unit/network/reqresp/response/index.test.ts b/packages/lodestar/test/unit/network/reqresp/response/index.test.ts index a12d8bb330f2..7deaf25cbac9 100644 --- a/packages/lodestar/test/unit/network/reqresp/response/index.test.ts +++ b/packages/lodestar/test/unit/network/reqresp/response/index.test.ts @@ -1,6 +1,5 @@ import chai, {expect} from "chai"; import chaiAsPromised from "chai-as-promised"; -import {AbortController} from "@chainsafe/abort-controller"; import {LodestarError} from "@chainsafe/lodestar-utils"; import {RespStatus} from "../../../../../src/constants/index.js"; import {Method, Encoding, Version} from "../../../../../src/network/reqresp/types.js"; diff --git a/packages/lodestar/test/unit/util/queue.test.ts b/packages/lodestar/test/unit/util/queue.test.ts index e5556cc05a3b..8b68179a29e1 100644 --- a/packages/lodestar/test/unit/util/queue.test.ts +++ b/packages/lodestar/test/unit/util/queue.test.ts @@ -1,5 +1,4 @@ import {sleep} from "@chainsafe/lodestar-utils"; -import {AbortController} from "@chainsafe/abort-controller"; import {expect} from "chai"; import {JobFnQueue, QueueError, QueueErrorCode, QueueType} from "../../../src/util/queue/index.js"; diff --git a/packages/lodestar/test/utils/mocks/chain/chain.ts b/packages/lodestar/test/utils/mocks/chain/chain.ts index 1e3ef49ec7f0..6620eea0a66e 100644 --- a/packages/lodestar/test/utils/mocks/chain/chain.ts +++ b/packages/lodestar/test/utils/mocks/chain/chain.ts @@ -1,4 +1,3 @@ -import {AbortController} from "@chainsafe/abort-controller"; import sinon from "sinon"; import {toHexString} from "@chainsafe/ssz"; diff --git a/packages/utils/package.json b/packages/utils/package.json index 88897830f6da..9ee05b05a352 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -38,7 +38,6 @@ }, "types": "lib/index.d.ts", "dependencies": { - "@chainsafe/abort-controller": "^3.0.1", "@chainsafe/as-sha256": "^0.3.1", "any-signal": "2.1.2", "bigint-buffer": "^1.1.5", diff --git a/packages/utils/src/sleep.ts b/packages/utils/src/sleep.ts index 651d2e9ce351..9f46f12074af 100644 --- a/packages/utils/src/sleep.ts +++ b/packages/utils/src/sleep.ts @@ -1,4 +1,3 @@ -import {AbortSignal} from "@chainsafe/abort-controller"; import {ErrorAborted} from "./errors.js"; /** diff --git a/packages/utils/src/timeout.ts b/packages/utils/src/timeout.ts index c3d5f4d485c7..fee437bb4352 100644 --- a/packages/utils/src/timeout.ts +++ b/packages/utils/src/timeout.ts @@ -1,4 +1,3 @@ -import {AbortSignal, AbortController} from "@chainsafe/abort-controller"; import {anySignal} from "any-signal"; import {TimeoutError} from "./errors.js"; import {sleep} from "./sleep.js"; diff --git a/packages/utils/test/unit/sleep.test.ts b/packages/utils/test/unit/sleep.test.ts index 81f335ac8d55..640c37af526b 100644 --- a/packages/utils/test/unit/sleep.test.ts +++ b/packages/utils/test/unit/sleep.test.ts @@ -1,6 +1,5 @@ import chai, {expect} from "chai"; import chaiAsPromised from "chai-as-promised"; -import {AbortController} from "@chainsafe/abort-controller"; import {sleep} from "../../src/sleep.js"; import {ErrorAborted} from "../../src/errors.js"; diff --git a/packages/utils/test/unit/timeout.test.ts b/packages/utils/test/unit/timeout.test.ts index c9f2a250be61..4beafaa59af2 100644 --- a/packages/utils/test/unit/timeout.test.ts +++ b/packages/utils/test/unit/timeout.test.ts @@ -1,6 +1,5 @@ import chai, {expect} from "chai"; import chaiAsPromised from "chai-as-promised"; -import {AbortController} from "@chainsafe/abort-controller"; import {withTimeout} from "../../src/timeout.js"; import {ErrorAborted, TimeoutError} from "../../src/errors.js"; diff --git a/packages/validator/package.json b/packages/validator/package.json index af5db12e53c4..dd559d30003c 100644 --- a/packages/validator/package.json +++ b/packages/validator/package.json @@ -48,7 +48,6 @@ "blockchain" ], "dependencies": { - "@chainsafe/abort-controller": "^3.0.1", "@chainsafe/bls": "7.1.1", "@chainsafe/lodestar-api": "^0.37.0", "@chainsafe/lodestar-beacon-state-transition": "^0.37.0", diff --git a/packages/validator/src/genesis.ts b/packages/validator/src/genesis.ts index 95b040415444..6d161a7b630c 100644 --- a/packages/validator/src/genesis.ts +++ b/packages/validator/src/genesis.ts @@ -1,4 +1,3 @@ -import {AbortSignal} from "@chainsafe/abort-controller"; import {Genesis} from "@chainsafe/lodestar-types/phase0"; import {ILogger, sleep} from "@chainsafe/lodestar-utils"; import {Api} from "@chainsafe/lodestar-api"; diff --git a/packages/validator/src/services/attestation.ts b/packages/validator/src/services/attestation.ts index edf28d23414e..ae4a1f5ab94d 100644 --- a/packages/validator/src/services/attestation.ts +++ b/packages/validator/src/services/attestation.ts @@ -1,4 +1,3 @@ -import {AbortSignal} from "@chainsafe/abort-controller"; import {phase0, Slot, ssz} from "@chainsafe/lodestar-types"; import {computeEpochAtSlot} from "@chainsafe/lodestar-beacon-state-transition"; import {extendError, sleep} from "@chainsafe/lodestar-utils"; diff --git a/packages/validator/src/services/syncCommittee.ts b/packages/validator/src/services/syncCommittee.ts index e6e522f5d14c..46b3ea02f907 100644 --- a/packages/validator/src/services/syncCommittee.ts +++ b/packages/validator/src/services/syncCommittee.ts @@ -1,4 +1,3 @@ -import {AbortSignal} from "@chainsafe/abort-controller"; import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {Slot, CommitteeIndex, altair, Root} from "@chainsafe/lodestar-types"; import {extendError, sleep} from "@chainsafe/lodestar-utils"; diff --git a/packages/validator/src/util/clock.ts b/packages/validator/src/util/clock.ts index bf6495b0ea3a..54da5dfcee75 100644 --- a/packages/validator/src/util/clock.ts +++ b/packages/validator/src/util/clock.ts @@ -1,4 +1,3 @@ -import {AbortSignal} from "@chainsafe/abort-controller"; import {ErrorAborted, ILogger, isErrorAborted, sleep} from "@chainsafe/lodestar-utils"; import {GENESIS_SLOT, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {IChainForkConfig} from "@chainsafe/lodestar-config"; diff --git a/packages/validator/src/validator.ts b/packages/validator/src/validator.ts index 90091457477f..c01677c1daeb 100644 --- a/packages/validator/src/validator.ts +++ b/packages/validator/src/validator.ts @@ -1,4 +1,3 @@ -import {AbortController, AbortSignal} from "@chainsafe/abort-controller"; import {IDatabaseApiOptions} from "@chainsafe/lodestar-db"; import {ssz} from "@chainsafe/lodestar-types"; import {createIBeaconConfig, IBeaconConfig} from "@chainsafe/lodestar-config"; diff --git a/packages/validator/test/unit/services/attestation.test.ts b/packages/validator/test/unit/services/attestation.test.ts index 2cf14b2c5600..744f5ff186bb 100644 --- a/packages/validator/test/unit/services/attestation.test.ts +++ b/packages/validator/test/unit/services/attestation.test.ts @@ -1,4 +1,3 @@ -import {AbortController} from "@chainsafe/abort-controller"; import {expect} from "chai"; import sinon from "sinon"; import bls from "@chainsafe/bls"; diff --git a/packages/validator/test/unit/services/attestationDuties.test.ts b/packages/validator/test/unit/services/attestationDuties.test.ts index 64aee311162e..6da3d086b26d 100644 --- a/packages/validator/test/unit/services/attestationDuties.test.ts +++ b/packages/validator/test/unit/services/attestationDuties.test.ts @@ -1,4 +1,3 @@ -import {AbortController} from "@chainsafe/abort-controller"; import {toBufferBE} from "bigint-buffer"; import {expect} from "chai"; import sinon from "sinon"; diff --git a/packages/validator/test/unit/services/block.test.ts b/packages/validator/test/unit/services/block.test.ts index 1e9dcbb471ea..be9ce472fe24 100644 --- a/packages/validator/test/unit/services/block.test.ts +++ b/packages/validator/test/unit/services/block.test.ts @@ -1,4 +1,3 @@ -import {AbortController} from "@chainsafe/abort-controller"; import {expect} from "chai"; import sinon from "sinon"; import bls from "@chainsafe/bls"; diff --git a/packages/validator/test/unit/services/blockDuties.test.ts b/packages/validator/test/unit/services/blockDuties.test.ts index f217b91bbd4f..80f81d7e7c57 100644 --- a/packages/validator/test/unit/services/blockDuties.test.ts +++ b/packages/validator/test/unit/services/blockDuties.test.ts @@ -1,4 +1,3 @@ -import {AbortController} from "@chainsafe/abort-controller"; import {expect} from "chai"; import sinon from "sinon"; import bls from "@chainsafe/bls"; diff --git a/packages/validator/test/unit/services/syncCommitteDuties.test.ts b/packages/validator/test/unit/services/syncCommitteDuties.test.ts index de3e198bf056..ffe8978c460a 100644 --- a/packages/validator/test/unit/services/syncCommitteDuties.test.ts +++ b/packages/validator/test/unit/services/syncCommitteDuties.test.ts @@ -1,4 +1,3 @@ -import {AbortController} from "@chainsafe/abort-controller"; import {toBufferBE} from "bigint-buffer"; import {expect} from "chai"; import sinon from "sinon"; diff --git a/packages/validator/test/unit/services/syncCommittee.test.ts b/packages/validator/test/unit/services/syncCommittee.test.ts index 9014477a6696..14794edaacf8 100644 --- a/packages/validator/test/unit/services/syncCommittee.test.ts +++ b/packages/validator/test/unit/services/syncCommittee.test.ts @@ -1,4 +1,3 @@ -import {AbortController} from "@chainsafe/abort-controller"; import {expect} from "chai"; import sinon from "sinon"; import bls from "@chainsafe/bls"; diff --git a/packages/validator/test/unit/utils/clock.test.ts b/packages/validator/test/unit/utils/clock.test.ts index d9b7b82f7c4c..220d3d9efa1a 100644 --- a/packages/validator/test/unit/utils/clock.test.ts +++ b/packages/validator/test/unit/utils/clock.test.ts @@ -1,6 +1,5 @@ import sinon from "sinon"; import {expect} from "chai"; -import {AbortController} from "@chainsafe/abort-controller"; import {config} from "@chainsafe/lodestar-config/default"; import {Clock, getCurrentSlotAround} from "../../../src/util/clock.js"; import {testLogger} from "../../utils/logger.js"; diff --git a/packages/validator/test/utils/clock.ts b/packages/validator/test/utils/clock.ts index f6de2e3c53b7..ce797154eaa3 100644 --- a/packages/validator/test/utils/clock.ts +++ b/packages/validator/test/utils/clock.ts @@ -1,4 +1,3 @@ -import {AbortSignal} from "@chainsafe/abort-controller"; import {Epoch, Slot} from "@chainsafe/lodestar-types"; import {IClock} from "../../src/util/index.js"; From f4619affeb2a4f18f269668bf6fc8a0be480e2f6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 26 May 2022 12:12:45 +0700 Subject: [PATCH 05/24] Bump eventsource from 1.1.0 to 2.0.2 (#4065) Bumps [eventsource](https://github.com/EventSource/eventsource) from 1.1.0 to 2.0.2. - [Release notes](https://github.com/EventSource/eventsource/releases) - [Changelog](https://github.com/EventSource/eventsource/blob/master/HISTORY.md) - [Commits](https://github.com/EventSource/eventsource/compare/v1.1.0...v2.0.2) --- updated-dependencies: - dependency-name: eventsource dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/api/package.json | 2 +- packages/lodestar/package.json | 2 +- yarn.lock | 35 ++++------------------------------ 3 files changed, 6 insertions(+), 33 deletions(-) diff --git a/packages/api/package.json b/packages/api/package.json index ac95cab24ad6..3c06542971f9 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -67,7 +67,7 @@ "@chainsafe/persistent-merkle-tree": "^0.4.1", "@chainsafe/ssz": "^0.9.1", "cross-fetch": "^3.1.4", - "eventsource": "^1.1.0", + "eventsource": "^2.0.2", "qs": "^6.10.1" }, "devDependencies": { diff --git a/packages/lodestar/package.json b/packages/lodestar/package.json index 0268ff8c8c6a..0308dc514a78 100644 --- a/packages/lodestar/package.json +++ b/packages/lodestar/package.json @@ -126,7 +126,7 @@ "@types/supertest": "^2.0.8", "@types/tmp": "^0.2.0", "@types/varint": "^6.0.0", - "eventsource": "^1.1.0", + "eventsource": "^2.0.2", "rewiremock": "^3.14.3", "rimraf": "^3.0.2", "tmp": "^0.2.1" diff --git a/yarn.lock b/yarn.lock index 11b111b21e3a..bf484e9b7491 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5137,12 +5137,10 @@ events@^3.3.0: resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -eventsource@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.1.0.tgz#00e8ca7c92109e94b0ddf32dac677d841028cfaf" - integrity sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg== - dependencies: - original "^1.0.0" +eventsource@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-2.0.2.tgz#76dfcc02930fb2ff339520b6d290da573a9e8508" + integrity sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA== evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" @@ -8779,13 +8777,6 @@ ora@^5.4.1: strip-ansi "^6.0.0" wcwidth "^1.0.1" -original@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" - integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== - dependencies: - url-parse "^1.4.3" - os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" @@ -9538,11 +9529,6 @@ querystring@0.2.0: resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - queue-microtask@^1.1.2, queue-microtask@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -9838,11 +9824,6 @@ require-main-filename@^2.0.0: resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - resolve-alpn@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.1.2.tgz#30b60cfbb0c0b8dc897940fe13fe255afcdd4d28" @@ -11275,14 +11256,6 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -url-parse@^1.4.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862" - integrity sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - url@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" From 868295177eaf078159d54c7941a9aafee7589069 Mon Sep 17 00:00:00 2001 From: g11tech Date: Thu, 26 May 2022 14:37:30 +0530 Subject: [PATCH 06/24] Run forkChoice to get correct head for proposal (#4058) * Run forkChoice to get correct head for proposal * add a small comment * return early if already updated --- packages/fork-choice/src/forkChoice/forkChoice.ts | 4 +++- packages/lodestar/src/api/impl/validator/index.ts | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/fork-choice/src/forkChoice/forkChoice.ts b/packages/fork-choice/src/forkChoice/forkChoice.ts index 4cdbe579eaa4..6a79f8e12957 100644 --- a/packages/fork-choice/src/forkChoice/forkChoice.ts +++ b/packages/fork-choice/src/forkChoice/forkChoice.ts @@ -505,6 +505,7 @@ export class ForkChoice implements IForkChoice { * Call `onTick` for all slots between `fcStore.getCurrentSlot()` and the provided `currentSlot`. */ updateTime(currentSlot: Slot): void { + if (this.fcStore.currentSlot >= currentSlot) return; while (this.fcStore.currentSlot < currentSlot) { const previousSlot = this.fcStore.currentSlot; // Note: we are relying upon `onTick` to update `fcStore.time` to ensure we don't get stuck in a loop. @@ -951,7 +952,8 @@ export class ForkChoice implements IForkChoice { private processAttestationQueue(): void { const currentSlot = this.fcStore.currentSlot; for (const attestation of this.queuedAttestations.values()) { - if (attestation.slot <= currentSlot) { + // Delay consideration in the fork choice until their slot is in the past. + if (attestation.slot < currentSlot) { this.queuedAttestations.delete(attestation); const {blockRoot, targetEpoch} = attestation; const blockRootHex = blockRoot; diff --git a/packages/lodestar/src/api/impl/validator/index.ts b/packages/lodestar/src/api/impl/validator/index.ts index 92ab209c135f..b2a8aeafe258 100644 --- a/packages/lodestar/src/api/impl/validator/index.ts +++ b/packages/lodestar/src/api/impl/validator/index.ts @@ -176,6 +176,12 @@ export function getValidatorApi({chain, config, logger, metrics, network, sync}: notWhileSyncing(); await waitForSlot(slot); // Must never request for a future slot > currentSlot + // Process the queued attestations in the forkchoice for correct head estimation + // forkChoice.updateTime() might have already been called by the onSlot clock + // handler, in which case this should just return. + chain.forkChoice.updateTime(slot); + chain.forkChoice.updateHead(); + timer = metrics?.blockProductionTime.startTimer(); const block = await assembleBlock( {chain, metrics}, From 7f7ef80d113fb603851f87288dd568238757cbd2 Mon Sep 17 00:00:00 2001 From: Phil Ngo <58080811+philknows@users.noreply.github.com> Date: Thu, 26 May 2022 12:34:39 -0600 Subject: [PATCH 07/24] Update Ropsten TTD to XXL (#4072) --- kiln/devnets/ropsten.vars | 2 +- packages/config/src/chainConfig/networks/ropsten.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kiln/devnets/ropsten.vars b/kiln/devnets/ropsten.vars index 5bb15d6ac345..12673e4911eb 100644 --- a/kiln/devnets/ropsten.vars +++ b/kiln/devnets/ropsten.vars @@ -2,7 +2,7 @@ DEVNET_NAME=ropsten # Empty config git dir will be assumed to be clients having bakedin configs CONFIG_GIT_DIR= NETWORK_ID=3 -MERGE_TTD=43531756765713534 +MERGE_TTD=100000000000000000000000 # This will be available in /data/jwtsecret JWT_SECRET="0xdc6457099f127cf0bac78de8b297df04951281909db4f58b43def7c7151e765d" diff --git a/packages/config/src/chainConfig/networks/ropsten.ts b/packages/config/src/chainConfig/networks/ropsten.ts index 79027b5ae61c..141c446e5816 100644 --- a/packages/config/src/chainConfig/networks/ropsten.ts +++ b/packages/config/src/chainConfig/networks/ropsten.ts @@ -26,7 +26,7 @@ export const ropstenChainConfig: IChainConfig = { // # Merge BELLATRIX_FORK_VERSION: b("0x80000071"), BELLATRIX_FORK_EPOCH: 750, - TERMINAL_TOTAL_DIFFICULTY: BigInt(43531756765713534), + TERMINAL_TOTAL_DIFFICULTY: BigInt(100000000000000000000000), // # Sharding SHARDING_FORK_VERSION: b("0x03001020"), SHARDING_FORK_EPOCH: Infinity, From dfd4cdcbf5a364fa0c41aeaac2c69d8b344c0ebe Mon Sep 17 00:00:00 2001 From: dadepo Date: Fri, 27 May 2022 02:32:34 +0200 Subject: [PATCH 08/24] Added the eslint rule to help with import order and ran the fix (#3885) * Added the eslint rule to help with import order and ran the fix * Tweaked the eslint rule to have siblings as the last imports * upgraded es-lint versions. ran eslint fix * fix linting errors due to @typescript-eslint/member-ordering * Revert "fix linting errors due to @typescript-eslint/member-ordering" This reverts commit 4dbafef538dc2e62d1df2f8355c31429432634ed. * set member-ordering issues to warn --- .eslintrc.js | 17 +- package.json | 12 +- packages/api/package.json | 6 +- packages/api/src/client/beacon.ts | 2 +- packages/api/src/client/config.ts | 2 +- packages/api/src/client/debug.ts | 2 +- packages/api/src/client/lightclient.ts | 2 +- packages/api/src/client/lodestar.ts | 2 +- packages/api/src/client/node.ts | 2 +- packages/api/src/client/utils/client.ts | 2 +- packages/api/src/client/validator.ts | 2 +- packages/api/src/keymanager/client.ts | 2 +- packages/api/src/routes/debug.ts | 2 +- packages/api/src/server/beacon.ts | 2 +- packages/api/src/server/config.ts | 2 +- packages/api/src/server/debug.ts | 2 +- packages/api/src/server/events.ts | 2 +- packages/api/src/server/index.ts | 2 +- packages/api/src/server/lightclient.ts | 2 +- packages/api/src/server/lodestar.ts | 2 +- packages/api/src/server/node.ts | 2 +- packages/api/src/server/utils/server.ts | 4 +- packages/api/src/server/validator.ts | 2 +- .../api/test/unit/client/httpClient.test.ts | 5 +- packages/api/test/unit/config.test.ts | 2 +- packages/api/test/unit/debug.test.ts | 2 +- packages/api/test/unit/events.test.ts | 3 +- packages/api/test/unit/lightclient.test.ts | 2 +- packages/api/test/utils/genericServerTest.ts | 2 +- packages/api/test/utils/utils.ts | 4 +- .../src/allForks/block/processRandao.ts | 2 +- .../signatureSets/attesterSlashings.ts | 2 +- .../src/allForks/signatureSets/index.ts | 2 +- .../src/allForks/stateTransition.ts | 4 +- .../src/altair/block/processAttestation.ts | 4 +- .../src/altair/block/processOperations.ts | 2 +- .../src/altair/upgradeState.ts | 4 +- .../src/bellatrix/block/index.ts | 4 +- .../src/bellatrix/block/processOperations.ts | 4 +- .../src/cache/epochContext.ts | 2 +- .../src/phase0/block/processAttestation.ts | 4 +- .../src/phase0/epoch/getAttestationDeltas.ts | 6 +- .../src/util/blockRoot.ts | 4 +- .../src/util/genesis.ts | 6 +- .../beacon-state-transition/src/util/seed.ts | 2 +- .../perf/allForks/util/epochContext.test.ts | 2 +- .../perf/altair/block/processEth1Data.test.ts | 2 +- .../epoch/processSyncCommitteeUpdates.test.ts | 2 +- .../test/perf/analyzeEpochs.ts | 2 +- .../test/perf/dataStructures/arrayish.test.ts | 2 +- .../effectiveBalanceIncrements.test.ts | 2 +- .../perf/phase0/block/processBlock.test.ts | 2 +- .../beacon-state-transition/test/perf/util.ts | 18 +- .../block/isValidIndexedAttestation.test.ts | 2 +- .../test/unit/cachedBeaconState.test.ts | 2 +- .../test/unit/constants.test.ts | 2 +- .../unit/signatureSets/signatureSets.test.ts | 6 +- .../test/unit/util/misc.test.ts | 2 +- .../test/unit/util/seed.test.ts | 2 +- .../test/unit/util/slot.test.ts | 2 +- .../test/unit/util/weakSubjectivity.test.ts | 2 +- .../test/utils/state.ts | 4 +- .../test/utils/testFileCache.ts | 4 +- .../src/cmds/account/cmds/validator/create.ts | 4 +- .../cmds/account/cmds/validator/deposit.ts | 2 +- .../src/cmds/account/cmds/validator/import.ts | 2 +- .../src/cmds/account/cmds/validator/list.ts | 2 +- .../cmds/account/cmds/validator/recover.ts | 14 +- .../validator/slashingProtection/utils.ts | 2 +- .../account/cmds/validator/voluntaryExit.ts | 4 +- .../src/cmds/account/cmds/wallet/recover.ts | 2 +- packages/cli/src/cmds/beacon/handler.ts | 4 +- .../cli/src/cmds/beacon/initBeaconState.ts | 2 +- packages/cli/src/cmds/beacon/options.ts | 2 +- packages/cli/src/cmds/dev/handler.ts | 4 +- packages/cli/src/cmds/init/handler.ts | 2 +- packages/cli/src/cmds/validator/keys.ts | 2 +- packages/cli/src/cmds/validator/options.ts | 2 +- packages/cli/src/config/beaconParams.ts | 2 +- packages/cli/src/config/fileEnr.ts | 2 +- packages/cli/src/networks/index.ts | 4 +- packages/cli/src/options/globalOptions.ts | 2 +- packages/cli/src/options/keymanagerOptions.ts | 2 +- packages/cli/src/util/gitData/writeGitData.ts | 2 +- packages/cli/src/util/passphrase.ts | 2 +- .../src/validatorDir/ValidatorDirBuilder.ts | 2 +- .../src/validatorDir/ValidatorDirManager.ts | 2 +- packages/cli/src/wallet/WalletManager.ts | 2 +- .../unit/config/beaconNodeOptions.test.ts | 4 +- .../cli/test/unit/config/beaconParams.test.ts | 2 +- packages/cli/test/unit/config/fileEnr.test.ts | 4 +- .../unit/options/beaconNodeOptions.test.ts | 2 +- packages/cli/test/unit/util/gitData.test.ts | 4 +- packages/cli/test/unit/validator/keys.test.ts | 2 +- .../config/src/chainConfig/presets/mainnet.ts | 2 +- .../config/src/chainConfig/presets/minimal.ts | 2 +- packages/config/test/unit/index.test.ts | 2 +- .../db/test/unit/controller/level.test.ts | 2 +- packages/fork-choice/src/forkChoice/store.ts | 5 +- .../test/perf/forkChoice/forkChoice.test.ts | 2 +- .../perf/protoArray/computeDeltas.test.ts | 2 +- .../test/unit/forkChoice/forkChoice.test.ts | 4 +- .../unit/protoArray/computeDeltas.test.ts | 2 +- .../test/unit/protoArray/protoArray.test.ts | 2 +- packages/keymanager-server/src/server.ts | 8 +- packages/light-client/src/index.ts | 10 +- .../light-client/test/lightclientApiServer.ts | 4 +- packages/light-client/test/naive/update.ts | 2 +- .../light-client/test/prepareUpdateNaive.ts | 2 +- packages/light-client/test/unit/sync.test.ts | 4 +- .../light-client/test/unit/syncNaive.test.ts | 2 +- .../src/api/impl/beacon/blocks/utils.ts | 2 +- .../src/api/impl/beacon/pool/index.ts | 2 +- .../src/api/impl/beacon/state/utils.ts | 2 +- packages/lodestar/src/api/impl/debug/index.ts | 2 +- .../lodestar/src/api/impl/events/index.ts | 4 +- .../src/api/impl/lightclient/index.ts | 6 +- packages/lodestar/src/api/impl/node/index.ts | 2 +- packages/lodestar/src/api/impl/node/utils.ts | 2 +- .../lodestar/src/api/impl/validator/index.ts | 4 +- packages/lodestar/src/api/rest/index.ts | 2 +- .../src/chain/archiver/archiveBlocks.ts | 4 +- .../src/chain/archiver/archiveStates.ts | 2 +- packages/lodestar/src/chain/archiver/index.ts | 6 +- .../lodestar/src/chain/beaconProposerCache.ts | 4 +- .../lodestar/src/chain/blocks/importBlock.ts | 6 +- packages/lodestar/src/chain/blocks/index.ts | 2 +- .../lodestar/src/chain/blocks/verifyBlock.ts | 2 +- .../src/chain/bls/multithread/index.ts | 6 +- packages/lodestar/src/chain/chain.ts | 6 +- .../lodestar/src/chain/clock/LocalClock.ts | 2 +- .../lodestar/src/chain/errors/blockError.ts | 2 +- .../lodestar/src/chain/factory/block/index.ts | 2 +- .../lodestar/src/chain/genesis/genesis.ts | 2 +- packages/lodestar/src/chain/initState.ts | 2 +- .../lodestar/src/chain/lightClient/index.ts | 6 +- .../src/chain/opPools/attestationPool.ts | 2 +- packages/lodestar/src/chain/regen/queued.ts | 2 +- packages/lodestar/src/chain/regen/regen.ts | 4 +- .../stateContextCheckpointsCache.ts | 2 +- .../src/chain/validation/aggregateAndProof.ts | 4 +- packages/lodestar/src/db/interface.ts | 2 +- .../src/eth1/eth1MergeBlockTracker.ts | 2 +- packages/lodestar/src/eth1/stream.ts | 4 +- packages/lodestar/src/executionEngine/mock.ts | 2 +- .../src/executionEngine/payloadIdCache.ts | 2 +- packages/lodestar/src/metrics/metrics.ts | 4 +- .../lodestar/src/network/gossip/encoding.ts | 6 +- .../lodestar/src/network/gossip/gossipsub.ts | 10 +- .../src/network/gossip/handlers/index.ts | 2 +- .../lodestar/src/network/gossip/interface.ts | 8 +- .../src/network/gossip/scoringParameters.ts | 6 +- packages/lodestar/src/network/interface.ts | 2 +- .../lodestar/src/network/nodejs/bundle.ts | 2 +- packages/lodestar/src/network/nodejs/util.ts | 4 +- .../lodestar/src/network/peers/discover.ts | 4 +- .../lodestar/src/network/peers/peerManager.ts | 6 +- .../lodestar/src/network/peers/peersData.ts | 4 +- .../network/peers/utils/prioritizePeers.ts | 2 +- .../reqresp/encoders/responseEncode.ts | 2 +- .../lodestar/src/network/reqresp/interface.ts | 2 +- .../lodestar/src/network/reqresp/reqResp.ts | 15 +- .../src/network/reqresp/request/index.ts | 1 + .../request/responseTimeoutsHandler.ts | 1 + .../network/reqresp/response/rateLimiter.ts | 2 +- packages/lodestar/src/network/util.ts | 2 +- packages/lodestar/src/node/nodejs.ts | 1 + packages/lodestar/src/node/options.ts | 2 +- packages/lodestar/src/node/utils/state.ts | 4 +- .../lodestar/src/sync/backfill/backfill.ts | 8 +- packages/lodestar/src/sync/backfill/errors.ts | 2 +- packages/lodestar/src/sync/range/batch.ts | 2 +- packages/lodestar/src/sync/range/range.ts | 2 +- packages/lodestar/src/sync/sync.ts | 4 +- packages/lodestar/src/sync/unknownBlock.ts | 2 +- .../beacon/repositories/blockArchive.test.ts | 8 +- .../e2e/eth1/eth1ForBlockProduction.test.ts | 6 +- .../e2e/eth1/eth1MergeBlockTracker.test.ts | 3 +- .../test/e2e/eth1/eth1Provider.test.ts | 3 +- .../test/e2e/eth1/jsonRpcHttpClient.test.ts | 3 +- .../test/e2e/interop/genesisState.test.ts | 2 +- .../test/e2e/keymanager/keymanager.test.ts | 6 +- .../lodestar/test/e2e/network/network.test.ts | 3 +- .../e2e/network/peers/peerManager.test.ts | 8 +- .../lodestar/test/e2e/network/reqresp.test.ts | 1 + .../test/e2e/sync/finalizedSync.test.ts | 6 +- .../test/e2e/sync/unknownBlockSync.test.ts | 8 +- packages/lodestar/test/e2e/sync/wss.test.ts | 4 +- packages/lodestar/test/memory/bytesHex.ts | 2 +- .../lodestar/test/memory/pubkeysToIndex.ts | 2 +- .../opPools/aggregatedAttestationPool.test.ts | 4 +- .../seenCache/seenAggregateAndProof.test.ts | 2 +- .../perf/chain/verifyImportBlocks.test.ts | 10 +- .../test/perf/eth1/pickEth1Vote.test.ts | 2 +- .../peers/enrSubnetsDeserialize.test.ts | 2 +- .../peers/util/prioritizePeers.test.ts | 4 +- .../lodestar/test/perf/util/bitArray.test.ts | 2 +- .../lodestar/test/sim/merge-interop.test.ts | 4 +- .../test/sim/multiNodeMultiThread.test.ts | 4 +- .../test/sim/multiNodeSingleThread.test.ts | 10 +- .../test/sim/singleNodeSingleThread.test.ts | 6 +- .../test/sim/threaded/noEth1SimWorker.ts | 12 +- packages/lodestar/test/spec/presets/fork.ts | 2 +- .../lodestar/test/spec/presets/fork_choice.ts | 18 +- .../lodestar/test/spec/presets/index.test.ts | 2 +- packages/lodestar/test/spec/presets/merkle.ts | 2 +- .../lodestar/test/spec/presets/operations.ts | 2 +- .../lodestar/test/spec/presets/transition.ts | 4 +- .../test/spec/utils/specTestIterator.ts | 6 +- .../test/spec/utils/sszTestCaseParser.ts | 2 +- .../network/gossip/scoringParameters.test.ts | 4 +- .../sszSnappy/encode.test.ts | 2 +- .../test/unit/api/impl/beacon/beacon.test.ts | 4 +- .../api/impl/beacon/blocks/getBlock.test.ts | 2 +- .../impl/beacon/blocks/getBlockHeader.test.ts | 2 +- .../beacon/blocks/getBlockHeaders.test.ts | 4 +- .../impl/beacon/blocks/publishBlock.test.ts | 2 +- .../unit/api/impl/beacon/blocks/utils.test.ts | 6 +- .../unit/api/impl/beacon/pool/pool.test.ts | 4 +- .../unit/api/impl/beacon/state/fork.test.ts | 6 +- .../unit/api/impl/beacon/state/utils.test.ts | 6 +- .../test/unit/api/impl/config/config.test.ts | 2 +- .../test/unit/api/impl/debug/index.test.ts | 6 +- .../test/unit/api/impl/events/events.test.ts | 1 + .../lodestar/test/unit/api/impl/index.test.ts | 4 +- .../test/unit/api/impl/node/node.test.ts | 14 +- .../impl/validator/duties/proposer.test.ts | 4 +- .../validator/produceAttestationData.test.ts | 6 +- .../unit/api/impl/validator/utils.test.ts | 2 +- .../unit/chain/archive/blockArchiver.test.ts | 2 +- .../unit/chain/blocks/verifyBlock.test.ts | 2 +- .../test/unit/chain/clock/local.test.ts | 3 +- .../unit/chain/forkChoice/forkChoice.test.ts | 8 +- .../test/unit/chain/lightclient/proof.test.ts | 2 +- .../opPools/aggregatedAttestationPool.test.ts | 2 +- .../unit/chain/opPools/syncCommittee.test.ts | 2 +- .../opPools/syncCommitteeContribution.test.ts | 2 +- .../precomputeNextEpochTransition.test.ts | 4 +- .../chain/seenCache/aggregateAndProof.test.ts | 2 +- .../chain/seenCache/syncCommittee.test.ts | 2 +- .../stateCache/stateContextCache.test.ts | 6 +- .../test/unit/chain/validation/block.test.ts | 4 +- .../validation/contributionAndProof.test.ts | 6 +- .../chain/validation/syncCommittee.test.ts | 6 +- .../chain/validation/voluntaryExit.test.ts | 8 +- .../db/api/repositories/blockArchive.test.ts | 2 +- .../unit/eth1/eth1MergeBlockTracker.test.ts | 2 +- .../unit/network/attestationService.test.ts | 4 +- .../peers/utils/assertPeerRelevance.test.ts | 2 +- .../network/peers/utils/enrSubnets.test.ts | 2 +- .../network/reqresp/encoders/response.test.ts | 2 +- .../reqresp/encoders/responseTypes.test.ts | 2 +- .../sszSnappy/encode.test.ts | 2 +- .../request/responseTimeoutsHandler.test.ts | 1 + .../reqresp/response/rateLimiter.test.ts | 2 +- .../test/unit/network/reqresp/utils.ts | 2 +- .../lodestar/test/unit/network/util.test.ts | 4 +- .../test/unit/sync/backfill/verify.test.ts | 10 +- .../test/unit/sync/range/chain.test.ts | 2 +- .../test/unit/sync/unknownBlock.test.ts | 2 +- .../unit/sync/utils/pendingBlocksTree.test.ts | 2 +- .../unit/sync/utils/remoteSyncType.test.ts | 2 +- .../lodestar/test/unit/util/queue.test.ts | 2 +- .../lodestar/test/utils/aggregateAndProof.ts | 6 +- packages/lodestar/test/utils/attestation.ts | 2 +- packages/lodestar/test/utils/block.ts | 2 +- .../test/utils/contributionAndProof.ts | 2 +- .../lodestar/test/utils/events/resolver.ts | 2 +- .../lodestar/test/utils/mocks/chain/chain.ts | 1 + packages/lodestar/test/utils/node/beacon.ts | 4 +- .../lodestar/test/utils/node/validator.ts | 6 +- packages/lodestar/test/utils/state.ts | 2 +- packages/lodestar/test/utils/stub/beaconDb.ts | 2 +- packages/lodestar/test/utils/syncCommittee.ts | 2 +- .../test/utils/validationData/attestation.ts | 6 +- packages/params/src/presets/mainnet/index.ts | 2 +- packages/params/src/presets/minimal/index.ts | 2 +- packages/params/test/e2e/setPresetOk.ts | 1 + .../params/test/unit/activePreset.test.ts | 2 +- packages/spec-test-util/src/downloadTests.ts | 4 +- packages/spec-test-util/src/single.ts | 2 +- packages/spec-test-util/src/sszGeneric.ts | 2 +- .../test/e2e/single/index.test.ts | 2 +- packages/types/src/bellatrix/sszTypes.ts | 6 +- packages/types/test/unit/constants.test.ts | 2 +- packages/utils/src/logger/transport.ts | 2 +- packages/utils/src/logger/winston.ts | 4 +- packages/utils/test/unit/logger/json.test.ts | 2 +- .../utils/test/unit/logger/winston.test.ts | 2 +- .../validator/src/services/attestation.ts | 6 +- .../src/services/attestationDuties.ts | 6 +- packages/validator/src/services/block.ts | 4 +- .../validator/src/services/blockDuties.ts | 2 +- packages/validator/src/services/indices.ts | 2 +- .../src/services/prepareBeaconProposer.ts | 4 +- .../validator/src/services/syncCommittee.ts | 4 +- .../src/services/syncCommitteeDuties.ts | 4 +- .../src/slashingProtection/block/index.ts | 2 +- packages/validator/src/validator.ts | 4 +- .../test/unit/services/attestation.test.ts | 1 + .../unit/services/attestationDuties.test.ts | 5 +- .../test/unit/services/block.test.ts | 1 + .../test/unit/services/blockDuties.test.ts | 1 + .../unit/services/syncCommitteDuties.test.ts | 3 +- .../test/unit/services/syncCommittee.test.ts | 3 +- .../minMaxSurround/surroundTests.test.ts | 2 +- .../minMaxSurround/updateSpans.test.ts | 2 +- .../validator/test/unit/utils/clock.test.ts | 4 +- .../validator/test/unit/utils/params.test.ts | 2 +- yarn.lock | 3967 +++++++++-------- 310 files changed, 2599 insertions(+), 2432 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 79dbd0a96849..00167c2d333a 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -27,6 +27,19 @@ module.exports = { "prettier/prettier": "error", //doesnt work, it reports false errors "constructor-super": "off", + "import/order" : [ + "error", + { "groups": + [ + "builtin", + "external", + "internal", + "parent", + "sibling", + "index", + ], + } + ], "@typescript-eslint/await-thenable": "error", "@typescript-eslint/naming-convention": [ "error", @@ -70,7 +83,8 @@ module.exports = { }, ], "@typescript-eslint/func-call-spacing": "error", - "@typescript-eslint/member-ordering": "error", + // TODO after upgrading es-lint, member-ordering is now leading to lint errors. Set to warning now and fix in another PR + "@typescript-eslint/member-ordering": "warn", "@typescript-eslint/no-explicit-any": "error", "@typescript-eslint/no-require-imports": "error", "@typescript-eslint/no-unused-vars": [ @@ -161,6 +175,7 @@ module.exports = { ], }, settings: { + "import/internal-regex": "^@chainsafe/", "import/core-modules": [ "node:child_process", "node:crypto", diff --git a/package.json b/package.json index 416130b2701c..ee0703013bbf 100644 --- a/package.json +++ b/package.json @@ -39,15 +39,15 @@ "@types/mocha": "^8.0.3", "@types/node": "^14.14.17", "@types/sinon": "^9.0.0", - "@typescript-eslint/eslint-plugin": "4.31.1", - "@typescript-eslint/parser": "4.31.1", + "@typescript-eslint/eslint-plugin": "5.26.0", + "@typescript-eslint/parser": "5.26.0", "chai": "^4.2.0", "chai-as-promised": "^7.1.1", "codecov": "^3.8.3", - "eslint": "^7.14.0", - "eslint-plugin-import": "^2.23.0", - "eslint-plugin-no-only-tests": "^2.4.0", - "eslint-plugin-prettier": "^3.1.4", + "eslint": "^8.16.0", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-no-only-tests": "^2.6.0", + "eslint-plugin-prettier": "^4.0.0", "lerna": "^4.0.0", "mocha": "^9.2.2", "npm-run-all": "^4.1.5", diff --git a/packages/api/package.json b/packages/api/package.json index 3c06542971f9..44ab0b1ebd5a 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -68,12 +68,12 @@ "@chainsafe/ssz": "^0.9.1", "cross-fetch": "^3.1.4", "eventsource": "^2.0.2", - "qs": "^6.10.1" + "qs": "^6.10.1", + "fastify": "3.15.1" }, "devDependencies": { "@types/eventsource": "^1.1.5", - "@types/qs": "^6.9.6", - "fastify": "3.15.1" + "@types/qs": "^6.9.6" }, "peerDependencies": { "fastify": "3.15.1" diff --git a/packages/api/src/client/beacon.ts b/packages/api/src/client/beacon.ts index 5728a251cb3b..2954017548e5 100644 --- a/packages/api/src/client/beacon.ts +++ b/packages/api/src/client/beacon.ts @@ -1,6 +1,6 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; -import {IHttpClient, generateGenericJsonClient} from "./utils/index.js"; import {Api, ReqTypes, routesData, getReqSerializers, getReturnTypes} from "../routes/beacon/index.js"; +import {IHttpClient, generateGenericJsonClient} from "./utils/index.js"; /** * REST HTTP client for beacon routes diff --git a/packages/api/src/client/config.ts b/packages/api/src/client/config.ts index 019c0e798368..a4a6f06d13c4 100644 --- a/packages/api/src/client/config.ts +++ b/packages/api/src/client/config.ts @@ -1,6 +1,6 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; -import {IHttpClient, generateGenericJsonClient} from "./utils/index.js"; import {Api, ReqTypes, routesData, getReqSerializers, getReturnTypes} from "../routes/config.js"; +import {IHttpClient, generateGenericJsonClient} from "./utils/index.js"; /** * REST HTTP client for config routes diff --git a/packages/api/src/client/debug.ts b/packages/api/src/client/debug.ts index 1f9e36e8f6ac..7775e0677c52 100644 --- a/packages/api/src/client/debug.ts +++ b/packages/api/src/client/debug.ts @@ -1,6 +1,6 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; -import {IHttpClient, getFetchOptsSerializers, generateGenericJsonClient} from "./utils/index.js"; import {Api, ReqTypes, routesData, getReqSerializers, getReturnTypes, StateFormat} from "../routes/debug.js"; +import {IHttpClient, getFetchOptsSerializers, generateGenericJsonClient} from "./utils/index.js"; /** * REST HTTP client for debug routes diff --git a/packages/api/src/client/lightclient.ts b/packages/api/src/client/lightclient.ts index 7f7b78ec9305..80f1ca20edd4 100644 --- a/packages/api/src/client/lightclient.ts +++ b/packages/api/src/client/lightclient.ts @@ -1,7 +1,7 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {deserializeProof} from "@chainsafe/persistent-merkle-tree"; -import {IHttpClient, getFetchOptsSerializers, generateGenericJsonClient} from "./utils/index.js"; import {Api, ReqTypes, routesData, getReqSerializers, getReturnTypes} from "../routes/lightclient.js"; +import {IHttpClient, getFetchOptsSerializers, generateGenericJsonClient} from "./utils/index.js"; /** * REST HTTP client for lightclient routes diff --git a/packages/api/src/client/lodestar.ts b/packages/api/src/client/lodestar.ts index 16aa64ed3ebb..6695f640c0d8 100644 --- a/packages/api/src/client/lodestar.ts +++ b/packages/api/src/client/lodestar.ts @@ -1,6 +1,6 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; -import {IHttpClient, generateGenericJsonClient} from "./utils/index.js"; import {Api, ReqTypes, routesData, getReqSerializers, getReturnTypes} from "../routes/lodestar.js"; +import {IHttpClient, generateGenericJsonClient} from "./utils/index.js"; /** * REST HTTP client for lodestar routes diff --git a/packages/api/src/client/node.ts b/packages/api/src/client/node.ts index de6f9c53febe..e7a04f0bd952 100644 --- a/packages/api/src/client/node.ts +++ b/packages/api/src/client/node.ts @@ -1,6 +1,6 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; -import {IHttpClient, generateGenericJsonClient} from "./utils/index.js"; import {Api, ReqTypes, routesData, getReqSerializers, getReturnTypes} from "../routes/node.js"; +import {IHttpClient, generateGenericJsonClient} from "./utils/index.js"; /** * REST HTTP client for beacon routes diff --git a/packages/api/src/client/utils/client.ts b/packages/api/src/client/utils/client.ts index 3dfe61fb8c70..24606b1cdd7d 100644 --- a/packages/api/src/client/utils/client.ts +++ b/packages/api/src/client/utils/client.ts @@ -1,5 +1,4 @@ import {mapValues} from "@chainsafe/lodestar-utils"; -import {FetchOpts, IHttpClient} from "./httpClient.js"; import {compileRouteUrlFormater} from "../../utils/urlFormat.js"; import { RouteDef, @@ -11,6 +10,7 @@ import { ReqSerializers, RoutesData, } from "../../utils/types.js"; +import {FetchOpts, IHttpClient} from "./httpClient.js"; // See /packages/api/src/routes/index.ts for reasoning diff --git a/packages/api/src/client/validator.ts b/packages/api/src/client/validator.ts index adb5ab87ed7b..1924bb3464d5 100644 --- a/packages/api/src/client/validator.ts +++ b/packages/api/src/client/validator.ts @@ -1,6 +1,6 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; -import {IHttpClient, generateGenericJsonClient} from "./utils/index.js"; import {Api, ReqTypes, routesData, getReqSerializers, getReturnTypes} from "../routes/validator.js"; +import {IHttpClient, generateGenericJsonClient} from "./utils/index.js"; /** * REST HTTP client for validator routes diff --git a/packages/api/src/keymanager/client.ts b/packages/api/src/keymanager/client.ts index 23e9453a75a0..5f5433ffa31c 100644 --- a/packages/api/src/keymanager/client.ts +++ b/packages/api/src/keymanager/client.ts @@ -1,6 +1,6 @@ +import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {IHttpClient, generateGenericJsonClient} from "../client/utils/index.js"; import {Api, ReqTypes, routesData, getReqSerializers, getReturnTypes} from "./routes.js"; -import {IChainForkConfig} from "@chainsafe/lodestar-config"; export function getClient(_config: IChainForkConfig, httpClient: IHttpClient): Api { const reqSerializers = getReqSerializers(); diff --git a/packages/api/src/routes/debug.ts b/packages/api/src/routes/debug.ts index ade808e2bfcc..2e2843ef44d3 100644 --- a/packages/api/src/routes/debug.ts +++ b/packages/api/src/routes/debug.ts @@ -1,7 +1,6 @@ import {ForkName} from "@chainsafe/lodestar-params"; import {allForks, Slot, RootHex, ssz, StringType} from "@chainsafe/lodestar-types"; import {ContainerType} from "@chainsafe/ssz"; -import {StateId} from "./beacon/state.js"; import { ArrayOf, ContainerData, @@ -15,6 +14,7 @@ import { ReqEmpty, ReqSerializer, } from "../utils/index.js"; +import {StateId} from "./beacon/state.js"; // See /packages/api/src/routes/index.ts for reasoning and instructions to add new routes diff --git a/packages/api/src/server/beacon.ts b/packages/api/src/server/beacon.ts index 287a1facc98c..e9c2bf912502 100644 --- a/packages/api/src/server/beacon.ts +++ b/packages/api/src/server/beacon.ts @@ -1,6 +1,6 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; -import {ServerRoutes, getGenericJsonServer} from "./utils/index.js"; import {Api, ReqTypes, routesData, getReturnTypes, getReqSerializers} from "../routes/beacon/index.js"; +import {ServerRoutes, getGenericJsonServer} from "./utils/index.js"; export function getRoutes(config: IChainForkConfig, api: Api): ServerRoutes { // All routes return JSON, use a server auto-generator diff --git a/packages/api/src/server/config.ts b/packages/api/src/server/config.ts index 86bd3610a0ba..ad1ba68c6576 100644 --- a/packages/api/src/server/config.ts +++ b/packages/api/src/server/config.ts @@ -1,6 +1,6 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; -import {ServerRoutes, getGenericJsonServer} from "./utils/index.js"; import {Api, ReqTypes, routesData, getReturnTypes, getReqSerializers} from "../routes/config.js"; +import {ServerRoutes, getGenericJsonServer} from "./utils/index.js"; export function getRoutes(config: IChainForkConfig, api: Api): ServerRoutes { // All routes return JSON, use a server auto-generator diff --git a/packages/api/src/server/debug.ts b/packages/api/src/server/debug.ts index b7224eef4fa1..b2b35838538e 100644 --- a/packages/api/src/server/debug.ts +++ b/packages/api/src/server/debug.ts @@ -1,6 +1,6 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; -import {ServerRoutes, getGenericJsonServer} from "./utils/index.js"; import {Api, ReqTypes, routesData, getReturnTypes, getReqSerializers} from "../routes/debug.js"; +import {ServerRoutes, getGenericJsonServer} from "./utils/index.js"; export function getRoutes(config: IChainForkConfig, api: Api): ServerRoutes { const reqSerializers = getReqSerializers(); diff --git a/packages/api/src/server/events.ts b/packages/api/src/server/events.ts index 3dded05de65a..ffe134794c05 100644 --- a/packages/api/src/server/events.ts +++ b/packages/api/src/server/events.ts @@ -1,6 +1,6 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; -import {ServerRoutes} from "./utils/index.js"; import {Api, ReqTypes, routesData, getEventSerdes} from "../routes/events.js"; +import {ServerRoutes} from "./utils/index.js"; export function getRoutes(config: IChainForkConfig, api: Api): ServerRoutes { const eventSerdes = getEventSerdes(); diff --git a/packages/api/src/server/index.ts b/packages/api/src/server/index.ts index b3a17d8e2e8b..ce5cd75356d2 100644 --- a/packages/api/src/server/index.ts +++ b/packages/api/src/server/index.ts @@ -1,6 +1,6 @@ +import {FastifyInstance} from "fastify"; import {IChainForkConfig} from "@chainsafe/lodestar-config"; // eslint-disable-next-line import/no-extraneous-dependencies -import {FastifyInstance} from "fastify"; import {Api} from "../interface.js"; import {ServerRoute} from "./utils/index.js"; diff --git a/packages/api/src/server/lightclient.ts b/packages/api/src/server/lightclient.ts index 8a5375817562..ec7629d2ab0d 100644 --- a/packages/api/src/server/lightclient.ts +++ b/packages/api/src/server/lightclient.ts @@ -1,7 +1,7 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {serializeProof} from "@chainsafe/persistent-merkle-tree"; -import {ServerRoutes, getGenericJsonServer} from "./utils/index.js"; import {Api, ReqTypes, routesData, getReturnTypes, getReqSerializers} from "../routes/lightclient.js"; +import {ServerRoutes, getGenericJsonServer} from "./utils/index.js"; export function getRoutes(config: IChainForkConfig, api: Api): ServerRoutes { const reqSerializers = getReqSerializers(); diff --git a/packages/api/src/server/lodestar.ts b/packages/api/src/server/lodestar.ts index 710d06ee393c..cc2223f1b6d4 100644 --- a/packages/api/src/server/lodestar.ts +++ b/packages/api/src/server/lodestar.ts @@ -1,6 +1,6 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; -import {ServerRoutes, getGenericJsonServer} from "./utils/index.js"; import {Api, ReqTypes, routesData, getReturnTypes, getReqSerializers} from "../routes/lodestar.js"; +import {ServerRoutes, getGenericJsonServer} from "./utils/index.js"; export function getRoutes(config: IChainForkConfig, api: Api): ServerRoutes { // All routes return JSON, use a server auto-generator diff --git a/packages/api/src/server/node.ts b/packages/api/src/server/node.ts index 323aa70d17da..20a64fe46081 100644 --- a/packages/api/src/server/node.ts +++ b/packages/api/src/server/node.ts @@ -1,6 +1,6 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; -import {ServerRoutes, getGenericJsonServer} from "./utils/index.js"; import {Api, ReqTypes, routesData, getReturnTypes, getReqSerializers} from "../routes/node.js"; +import {ServerRoutes, getGenericJsonServer} from "./utils/index.js"; export function getRoutes(config: IChainForkConfig, api: Api): ServerRoutes { // All routes return JSON, use a server auto-generator diff --git a/packages/api/src/server/utils/server.ts b/packages/api/src/server/utils/server.ts index 19f2336ee2f2..2cf1a6649d26 100644 --- a/packages/api/src/server/utils/server.ts +++ b/packages/api/src/server/utils/server.ts @@ -1,9 +1,9 @@ +import * as fastify from "fastify"; import {mapValues} from "@chainsafe/lodestar-utils"; // eslint-disable-next-line import/no-extraneous-dependencies -import * as fastify from "fastify"; +import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {ReqGeneric, RouteGeneric, ReturnTypes, TypeJson, Resolves, RouteGroupDefinition} from "../../utils/types.js"; import {getFastifySchema} from "../../utils/schema.js"; -import {IChainForkConfig} from "@chainsafe/lodestar-config"; // See /packages/api/src/routes/index.ts for reasoning diff --git a/packages/api/src/server/validator.ts b/packages/api/src/server/validator.ts index c3406d4b7c53..beb2ac19df82 100644 --- a/packages/api/src/server/validator.ts +++ b/packages/api/src/server/validator.ts @@ -1,6 +1,6 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; -import {ServerRoutes, getGenericJsonServer} from "./utils/index.js"; import {Api, ReqTypes, routesData, getReturnTypes, getReqSerializers} from "../routes/validator.js"; +import {ServerRoutes, getGenericJsonServer} from "./utils/index.js"; export function getRoutes(config: IChainForkConfig, api: Api): ServerRoutes { // All routes return JSON, use a server auto-generator diff --git a/packages/api/test/unit/client/httpClient.test.ts b/packages/api/test/unit/client/httpClient.test.ts index 7e168e6a2a72..4ff890295101 100644 --- a/packages/api/test/unit/client/httpClient.test.ts +++ b/packages/api/test/unit/client/httpClient.test.ts @@ -1,8 +1,9 @@ -import {ErrorAborted, TimeoutError} from "@chainsafe/lodestar-utils"; +import {IncomingMessage} from "node:http"; import chai, {expect} from "chai"; import chaiAsPromised from "chai-as-promised"; import fastify, {RouteOptions} from "fastify"; -import {IncomingMessage} from "node:http"; +import {ErrorAborted, TimeoutError} from "@chainsafe/lodestar-utils"; +import {AbortController} from "@chainsafe/abort-controller"; import {HttpClient, HttpError} from "../../../src/client/utils/index.js"; chai.use(chaiAsPromised); diff --git a/packages/api/test/unit/config.test.ts b/packages/api/test/unit/config.test.ts index e72a793a5f3d..f250b6d27d1c 100644 --- a/packages/api/test/unit/config.test.ts +++ b/packages/api/test/unit/config.test.ts @@ -1,3 +1,4 @@ +import {expect} from "chai"; import {ssz} from "@chainsafe/lodestar-types"; import {chainConfigToJson} from "@chainsafe/lodestar-config"; import {config, chainConfig} from "@chainsafe/lodestar-config/default"; @@ -6,7 +7,6 @@ import {Api, ReqTypes, getReturnTypes} from "../../src/routes/config.js"; import {getClient} from "../../src/client/config.js"; import {getRoutes} from "../../src/server/config.js"; import {runGenericServerTest} from "../utils/genericServerTest.js"; -import {expect} from "chai"; /* eslint-disable @typescript-eslint/naming-convention */ diff --git a/packages/api/test/unit/debug.test.ts b/packages/api/test/unit/debug.test.ts index fc04a11aec5b..05705ce4815c 100644 --- a/packages/api/test/unit/debug.test.ts +++ b/packages/api/test/unit/debug.test.ts @@ -1,3 +1,4 @@ +import {expect} from "chai"; import {ForkName} from "@chainsafe/lodestar-params"; import {ssz} from "@chainsafe/lodestar-types"; import {toHexString} from "@chainsafe/ssz"; @@ -8,7 +9,6 @@ import {getRoutes} from "../../src/server/debug.js"; import {runGenericServerTest} from "../utils/genericServerTest.js"; import {getMockApi, getTestServer} from "../utils/utils.js"; import {registerRoutesGroup} from "../../src/server/index.js"; -import {expect} from "chai"; import {HttpClient} from "../../src/index.js"; describe("debug", function () { diff --git a/packages/api/test/unit/events.test.ts b/packages/api/test/unit/events.test.ts index e381f3139e85..70b5351e8c41 100644 --- a/packages/api/test/unit/events.test.ts +++ b/packages/api/test/unit/events.test.ts @@ -1,3 +1,5 @@ +import {expect} from "chai"; +import {AbortController} from "@chainsafe/abort-controller"; import {sleep} from "@chainsafe/lodestar-utils"; import {config} from "@chainsafe/lodestar-config/default"; import {Api, routesData, EventType, BeaconEvent} from "../../src/routes/events.js"; @@ -5,7 +7,6 @@ import {getClient} from "../../src/client/events.js"; import {getRoutes} from "../../src/server/events.js"; import {getMockApi, getTestServer} from "../utils/utils.js"; import {registerRoutesGroup} from "../../src/server/index.js"; -import {expect} from "chai"; describe("events", () => { const rootHex = "0x" + "01".repeat(32); diff --git a/packages/api/test/unit/lightclient.test.ts b/packages/api/test/unit/lightclient.test.ts index 7aaa554e8641..f9cc42831efd 100644 --- a/packages/api/test/unit/lightclient.test.ts +++ b/packages/api/test/unit/lightclient.test.ts @@ -1,11 +1,11 @@ import {ssz} from "@chainsafe/lodestar-types"; import {config} from "@chainsafe/lodestar-config/default"; import {ProofType} from "@chainsafe/persistent-merkle-tree"; +import {toHexString} from "@chainsafe/ssz"; import {Api, ReqTypes} from "../../src/routes/lightclient.js"; import {getClient} from "../../src/client/lightclient.js"; import {getRoutes} from "../../src/server/lightclient.js"; import {runGenericServerTest} from "../utils/genericServerTest.js"; -import {toHexString} from "@chainsafe/ssz"; const root = Uint8Array.from(Buffer.alloc(32, 1)); diff --git a/packages/api/test/utils/genericServerTest.ts b/packages/api/test/utils/genericServerTest.ts index a8a4ee42a6e4..df6d2ffa0c40 100644 --- a/packages/api/test/utils/genericServerTest.ts +++ b/packages/api/test/utils/genericServerTest.ts @@ -3,8 +3,8 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {RouteGeneric, ReqGeneric, Resolves} from "../../src/utils/index.js"; import {FetchOpts, HttpClient, IHttpClient} from "../../src/client/utils/index.js"; import {ServerRoutes} from "../../src/server/utils/index.js"; -import {getMockApi, getTestServer} from "./utils.js"; import {registerRoutesGroup} from "../../src/server/index.js"; +import {getMockApi, getTestServer} from "./utils.js"; type IgnoreVoid = T extends void ? undefined : T; diff --git a/packages/api/test/utils/utils.ts b/packages/api/test/utils/utils.ts index afc42f59b8e5..05fbc5508f6b 100644 --- a/packages/api/test/utils/utils.ts +++ b/packages/api/test/utils/utils.ts @@ -1,7 +1,7 @@ -import fastify, {FastifyInstance} from "fastify"; import querystring from "querystring"; -import {mapValues} from "@chainsafe/lodestar-utils"; +import fastify, {FastifyInstance} from "fastify"; import Sinon from "sinon"; +import {mapValues} from "@chainsafe/lodestar-utils"; export function getTestServer(): {baseUrl: string; server: FastifyInstance} { const port = Math.floor(Math.random() * (65535 - 49152)) + 49152; diff --git a/packages/beacon-state-transition/src/allForks/block/processRandao.ts b/packages/beacon-state-transition/src/allForks/block/processRandao.ts index db88793e2acf..5d3aabc5fa9b 100644 --- a/packages/beacon-state-transition/src/allForks/block/processRandao.ts +++ b/packages/beacon-state-transition/src/allForks/block/processRandao.ts @@ -1,10 +1,10 @@ import xor from "buffer-xor"; import {digest} from "@chainsafe/as-sha256"; import {allForks} from "@chainsafe/lodestar-types"; +import {EPOCHS_PER_HISTORICAL_VECTOR} from "@chainsafe/lodestar-params"; import {getRandaoMix} from "../../util/index.js"; import {verifyRandaoSignature} from "../signatureSets/index.js"; import {CachedBeaconStateAllForks} from "../../types.js"; -import {EPOCHS_PER_HISTORICAL_VECTOR} from "@chainsafe/lodestar-params"; /** * Commit a randao reveal to generate pseudorandomness seeds diff --git a/packages/beacon-state-transition/src/allForks/signatureSets/attesterSlashings.ts b/packages/beacon-state-transition/src/allForks/signatureSets/attesterSlashings.ts index 153e76329e6d..ffd8238d721b 100644 --- a/packages/beacon-state-transition/src/allForks/signatureSets/attesterSlashings.ts +++ b/packages/beacon-state-transition/src/allForks/signatureSets/attesterSlashings.ts @@ -1,7 +1,7 @@ import {allForks, phase0, ssz} from "@chainsafe/lodestar-types"; +import {DOMAIN_BEACON_ATTESTER} from "@chainsafe/lodestar-params"; import {computeSigningRoot, computeStartSlotAtEpoch, ISignatureSet, SignatureSetType} from "../../util/index.js"; import {CachedBeaconStateAllForks} from "../../types.js"; -import {DOMAIN_BEACON_ATTESTER} from "@chainsafe/lodestar-params"; /** Get signature sets from all AttesterSlashing objects in a block */ export function getAttesterSlashingsSignatureSets( diff --git a/packages/beacon-state-transition/src/allForks/signatureSets/index.ts b/packages/beacon-state-transition/src/allForks/signatureSets/index.ts index 6992781aade0..1d6f90489811 100644 --- a/packages/beacon-state-transition/src/allForks/signatureSets/index.ts +++ b/packages/beacon-state-transition/src/allForks/signatureSets/index.ts @@ -1,13 +1,13 @@ import {allForks, altair} from "@chainsafe/lodestar-types"; import {computeEpochAtSlot, ISignatureSet} from "../../util/index.js"; import {CachedBeaconStateAllForks, CachedBeaconStateAltair} from "../../types.js"; +import {getSyncCommitteeSignatureSet} from "../../altair/block/processSyncCommittee.js"; import {getProposerSlashingsSignatureSets} from "./proposerSlashings.js"; import {getAttesterSlashingsSignatureSets} from "./attesterSlashings.js"; import {getAttestationsSignatureSets} from "./indexedAttestation.js"; import {getProposerSignatureSet} from "./proposer.js"; import {getRandaoRevealSignatureSet} from "./randao.js"; import {getVoluntaryExitsSignatureSets} from "./voluntaryExits.js"; -import {getSyncCommitteeSignatureSet} from "../../altair/block/processSyncCommittee.js"; export * from "./attesterSlashings.js"; export * from "./indexedAttestation.js"; diff --git a/packages/beacon-state-transition/src/allForks/stateTransition.ts b/packages/beacon-state-transition/src/allForks/stateTransition.ts index 08785c59a3cc..bb56734cb3af 100644 --- a/packages/beacon-state-transition/src/allForks/stateTransition.ts +++ b/packages/beacon-state-transition/src/allForks/stateTransition.ts @@ -7,10 +7,10 @@ import * as altair from "../altair/index.js"; import * as bellatrix from "../bellatrix/index.js"; import {IBeaconStateTransitionMetrics} from "../metrics.js"; import {EpochProcess, beforeProcessEpoch} from "../cache/epochProcess.js"; -import {verifyProposerSignature} from "./signatureSets/index.js"; import {CachedBeaconStateAllForks, CachedBeaconStatePhase0, CachedBeaconStateAltair} from "../types.js"; -import {processSlot} from "./slot/index.js"; import {computeEpochAtSlot} from "../util/index.js"; +import {verifyProposerSignature} from "./signatureSets/index.js"; +import {processSlot} from "./slot/index.js"; type StateAllForks = CachedBeaconStateAllForks; type StatePhase0 = CachedBeaconStatePhase0; diff --git a/packages/beacon-state-transition/src/altair/block/processAttestation.ts b/packages/beacon-state-transition/src/altair/block/processAttestation.ts index 6d6e3d54f175..5fad86822f84 100644 --- a/packages/beacon-state-transition/src/altair/block/processAttestation.ts +++ b/packages/beacon-state-transition/src/altair/block/processAttestation.ts @@ -2,8 +2,6 @@ import {Epoch, phase0, Root, Slot} from "@chainsafe/lodestar-types"; import {byteArrayEquals} from "@chainsafe/ssz"; import {intSqrt} from "@chainsafe/lodestar-utils"; -import {getBlockRoot, getBlockRootAtSlot, increaseBalance, verifySignatureSet} from "../../util/index.js"; -import {CachedBeaconStateAltair, CachedBeaconStateAllForks} from "../../types.js"; import { MIN_ATTESTATION_INCLUSION_DELAY, PROPOSER_WEIGHT, @@ -16,6 +14,8 @@ import { TIMELY_TARGET_WEIGHT, WEIGHT_DENOMINATOR, } from "@chainsafe/lodestar-params"; +import {getBlockRoot, getBlockRootAtSlot, increaseBalance, verifySignatureSet} from "../../util/index.js"; +import {CachedBeaconStateAltair, CachedBeaconStateAllForks} from "../../types.js"; import {checkpointToStr, validateAttestation} from "../../phase0/block/processAttestation.js"; import {getAttestationWithIndicesSignatureSet} from "../../allForks/index.js"; diff --git a/packages/beacon-state-transition/src/altair/block/processOperations.ts b/packages/beacon-state-transition/src/altair/block/processOperations.ts index 7c88ec0ad50a..8cbc38788f28 100644 --- a/packages/beacon-state-transition/src/altair/block/processOperations.ts +++ b/packages/beacon-state-transition/src/altair/block/processOperations.ts @@ -1,12 +1,12 @@ import {altair} from "@chainsafe/lodestar-types"; +import {MAX_DEPOSITS} from "@chainsafe/lodestar-params"; import {CachedBeaconStateAltair} from "../../types.js"; import {processProposerSlashing} from "./processProposerSlashing.js"; import {processAttesterSlashing} from "./processAttesterSlashing.js"; import {processAttestations} from "./processAttestation.js"; import {processDeposit} from "./processDeposit.js"; import {processVoluntaryExit} from "./processVoluntaryExit.js"; -import {MAX_DEPOSITS} from "@chainsafe/lodestar-params"; export function processOperations( state: CachedBeaconStateAltair, diff --git a/packages/beacon-state-transition/src/altair/upgradeState.ts b/packages/beacon-state-transition/src/altair/upgradeState.ts index 68dbb3ef6edf..5ad94d1eb7b4 100644 --- a/packages/beacon-state-transition/src/altair/upgradeState.ts +++ b/packages/beacon-state-transition/src/altair/upgradeState.ts @@ -1,10 +1,10 @@ import {ssz} from "@chainsafe/lodestar-types"; +import {CompositeViewDU} from "@chainsafe/ssz"; import {CachedBeaconStatePhase0, CachedBeaconStateAltair} from "../types.js"; import {newZeroedArray} from "../util/index.js"; -import {getAttestationParticipationStatus, RootCache} from "./block/processAttestation.js"; import {getNextSyncCommittee} from "../util/syncCommittee.js"; -import {CompositeViewDU} from "@chainsafe/ssz"; import {getCachedBeaconState} from "../cache/stateCache.js"; +import {getAttestationParticipationStatus, RootCache} from "./block/processAttestation.js"; /** * Upgrade a state from phase0 to altair. diff --git a/packages/beacon-state-transition/src/bellatrix/block/index.ts b/packages/beacon-state-transition/src/bellatrix/block/index.ts index 1220b86cf493..79727da9c06b 100644 --- a/packages/beacon-state-transition/src/bellatrix/block/index.ts +++ b/packages/beacon-state-transition/src/bellatrix/block/index.ts @@ -2,11 +2,11 @@ import {bellatrix} from "@chainsafe/lodestar-types"; import {CachedBeaconStateBellatrix} from "../../types.js"; import {processBlockHeader, processEth1Data, processRandao} from "../../allForks/block/index.js"; -import {processOperations} from "./processOperations.js"; import {processSyncAggregate} from "../../altair/block/processSyncCommittee.js"; -import {processExecutionPayload} from "./processExecutionPayload.js"; import {ExecutionEngine} from "../executionEngine.js"; import {isExecutionEnabled} from "../utils.js"; +import {processExecutionPayload} from "./processExecutionPayload.js"; +import {processOperations} from "./processOperations.js"; import {processAttesterSlashing} from "./processAttesterSlashing.js"; import {processProposerSlashing} from "./processProposerSlashing.js"; diff --git a/packages/beacon-state-transition/src/bellatrix/block/processOperations.ts b/packages/beacon-state-transition/src/bellatrix/block/processOperations.ts index f2cfc542c277..0418f8377394 100644 --- a/packages/beacon-state-transition/src/bellatrix/block/processOperations.ts +++ b/packages/beacon-state-transition/src/bellatrix/block/processOperations.ts @@ -2,11 +2,11 @@ import {bellatrix} from "@chainsafe/lodestar-types"; import {MAX_DEPOSITS} from "@chainsafe/lodestar-params"; import {CachedBeaconStateBellatrix, CachedBeaconStateAltair, CachedBeaconStateAllForks} from "../../types.js"; -import {processProposerSlashing} from "./processProposerSlashing.js"; -import {processAttesterSlashing} from "./processAttesterSlashing.js"; import {processAttestations} from "../../altair/block/processAttestation.js"; import {processDeposit} from "../../altair/block/processDeposit.js"; import {processVoluntaryExit} from "../../altair/block/processVoluntaryExit.js"; +import {processAttesterSlashing} from "./processAttesterSlashing.js"; +import {processProposerSlashing} from "./processProposerSlashing.js"; export function processOperations( state: CachedBeaconStateBellatrix, diff --git a/packages/beacon-state-transition/src/cache/epochContext.ts b/packages/beacon-state-transition/src/cache/epochContext.ts index c4c10f69c38b..dc8a7f85f9c0 100644 --- a/packages/beacon-state-transition/src/cache/epochContext.ts +++ b/packages/beacon-state-transition/src/cache/epochContext.ts @@ -25,6 +25,7 @@ import { computeProposers, } from "../util/index.js"; import {computeEpochShuffling, IEpochShuffling} from "../util/epochShuffling.js"; +import {computeBaseRewardPerIncrement, computeSyncParticipantReward} from "../util/syncCommittee.js"; import {EffectiveBalanceIncrements, getEffectiveBalanceIncrementsWithLen} from "./effectiveBalanceIncrements.js"; import {Index2PubkeyCache, PubkeyIndexMap, syncPubkeys} from "./pubkeyCache.js"; import {BeaconStateAllForks, BeaconStateAltair} from "./types.js"; @@ -34,7 +35,6 @@ import { SyncCommitteeCache, SyncCommitteeCacheEmpty, } from "./syncCommitteeCache.js"; -import {computeBaseRewardPerIncrement, computeSyncParticipantReward} from "../util/syncCommittee.js"; /** `= PROPOSER_WEIGHT / (WEIGHT_DENOMINATOR - PROPOSER_WEIGHT)` */ export const PROPOSER_WEIGHT_FACTOR = PROPOSER_WEIGHT / (WEIGHT_DENOMINATOR - PROPOSER_WEIGHT); diff --git a/packages/beacon-state-transition/src/phase0/block/processAttestation.ts b/packages/beacon-state-transition/src/phase0/block/processAttestation.ts index a4dfec05c3e6..940a88e5b6f4 100644 --- a/packages/beacon-state-transition/src/phase0/block/processAttestation.ts +++ b/packages/beacon-state-transition/src/phase0/block/processAttestation.ts @@ -1,10 +1,10 @@ import {phase0, ssz} from "@chainsafe/lodestar-types"; +import {MIN_ATTESTATION_INCLUSION_DELAY, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; +import {toHexString} from "@chainsafe/ssz"; import {computeEpochAtSlot} from "../../util/index.js"; import {CachedBeaconStatePhase0, CachedBeaconStateAllForks} from "../../types.js"; import {isValidIndexedAttestation} from "../../allForks/block/index.js"; -import {MIN_ATTESTATION_INCLUSION_DELAY, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; -import {toHexString} from "@chainsafe/ssz"; /** * Process an Attestation operation. Validates an attestation and appends it to state.currentEpochAttestations or diff --git a/packages/beacon-state-transition/src/phase0/epoch/getAttestationDeltas.ts b/packages/beacon-state-transition/src/phase0/epoch/getAttestationDeltas.ts index d03758d05cc1..35945c51d722 100644 --- a/packages/beacon-state-transition/src/phase0/epoch/getAttestationDeltas.ts +++ b/packages/beacon-state-transition/src/phase0/epoch/getAttestationDeltas.ts @@ -1,7 +1,4 @@ import {bigIntSqrt, bnToNum} from "@chainsafe/lodestar-utils"; -import {BASE_REWARDS_PER_EPOCH as BASE_REWARDS_PER_EPOCH_CONST} from "../../constants/index.js"; -import {newZeroedArray} from "../../util/index.js"; -import {EpochProcess, CachedBeaconStatePhase0} from "../../types.js"; import { BASE_REWARD_FACTOR, EFFECTIVE_BALANCE_INCREMENT, @@ -9,6 +6,9 @@ import { MIN_EPOCHS_TO_INACTIVITY_PENALTY, PROPOSER_REWARD_QUOTIENT, } from "@chainsafe/lodestar-params"; +import {BASE_REWARDS_PER_EPOCH as BASE_REWARDS_PER_EPOCH_CONST} from "../../constants/index.js"; +import {newZeroedArray} from "../../util/index.js"; +import {EpochProcess, CachedBeaconStatePhase0} from "../../types.js"; import {hasMarkers} from "../../util/attesterStatus.js"; /** diff --git a/packages/beacon-state-transition/src/util/blockRoot.ts b/packages/beacon-state-transition/src/util/blockRoot.ts index 2f4fd8737a69..d70510c5e73f 100644 --- a/packages/beacon-state-transition/src/util/blockRoot.ts +++ b/packages/beacon-state-transition/src/util/blockRoot.ts @@ -5,10 +5,10 @@ import {Epoch, Slot, Root, phase0, allForks} from "@chainsafe/lodestar-types"; import {IChainForkConfig} from "@chainsafe/lodestar-config"; -import {ZERO_HASH} from "../constants/index.js"; -import {computeStartSlotAtEpoch} from "./epoch.js"; import {SLOTS_PER_HISTORICAL_ROOT} from "@chainsafe/lodestar-params"; +import {ZERO_HASH} from "../constants/index.js"; import {BeaconStateAllForks} from "../types.js"; +import {computeStartSlotAtEpoch} from "./epoch.js"; /** * Return the block root at a recent [[slot]]. diff --git a/packages/beacon-state-transition/src/util/genesis.ts b/packages/beacon-state-transition/src/util/genesis.ts index 4c5c85c2dc95..d7de8a19dc30 100644 --- a/packages/beacon-state-transition/src/util/genesis.ts +++ b/packages/beacon-state-transition/src/util/genesis.ts @@ -9,16 +9,16 @@ import { } from "@chainsafe/lodestar-params"; import {Bytes32, phase0, Root, ssz, TimeSeconds} from "@chainsafe/lodestar-types"; +import {CompositeViewDU, ListCompositeType} from "@chainsafe/ssz"; import {processDeposit} from "../allForks/index.js"; import {CachedBeaconStateAllForks, BeaconStateAllForks} from "../types.js"; +import {createCachedBeaconState} from "../cache/stateCache.js"; +import {EpochContextImmutableData} from "../cache/epochContext.js"; import {computeEpochAtSlot} from "./epoch.js"; import {getActiveValidatorIndices} from "./validator.js"; import {getTemporaryBlockHeader} from "./blockRoot.js"; -import {CompositeViewDU, ListCompositeType} from "@chainsafe/ssz"; import {newFilledArray} from "./array.js"; import {getNextSyncCommittee} from "./syncCommittee.js"; -import {createCachedBeaconState} from "../cache/stateCache.js"; -import {EpochContextImmutableData} from "../cache/epochContext.js"; type DepositDataRootListType = ListCompositeType; type DepositDataRootViewDU = CompositeViewDU; diff --git a/packages/beacon-state-transition/src/util/seed.ts b/packages/beacon-state-transition/src/util/seed.ts index 2fc5741a9a49..02efb493d413 100644 --- a/packages/beacon-state-transition/src/util/seed.ts +++ b/packages/beacon-state-transition/src/util/seed.ts @@ -16,8 +16,8 @@ import { SYNC_COMMITTEE_SIZE, } from "@chainsafe/lodestar-params"; import {BeaconStateAllForks} from "../types.js"; -import {computeStartSlotAtEpoch} from "./epoch.js"; import {EffectiveBalanceIncrements} from "../cache/effectiveBalanceIncrements.js"; +import {computeStartSlotAtEpoch} from "./epoch.js"; import {computeEpochAtSlot} from "./epoch.js"; /** diff --git a/packages/beacon-state-transition/test/perf/allForks/util/epochContext.test.ts b/packages/beacon-state-transition/test/perf/allForks/util/epochContext.test.ts index d2fe8fc4c838..d54ca1169fce 100644 --- a/packages/beacon-state-transition/test/perf/allForks/util/epochContext.test.ts +++ b/packages/beacon-state-transition/test/perf/allForks/util/epochContext.test.ts @@ -1,5 +1,5 @@ -import {Epoch} from "@chainsafe/lodestar-types"; import {itBench} from "@dapplion/benchmark"; +import {Epoch} from "@chainsafe/lodestar-types"; import {computeEpochAtSlot, CachedBeaconStateAllForks} from "../../../../src/index.js"; import {generatePerfTestCachedStatePhase0, numValidators} from "../../util.js"; diff --git a/packages/beacon-state-transition/test/perf/altair/block/processEth1Data.test.ts b/packages/beacon-state-transition/test/perf/altair/block/processEth1Data.test.ts index 789df0d1187d..48f95d83f79d 100644 --- a/packages/beacon-state-transition/test/perf/altair/block/processEth1Data.test.ts +++ b/packages/beacon-state-transition/test/perf/altair/block/processEth1Data.test.ts @@ -1,9 +1,9 @@ import {itBench} from "@dapplion/benchmark"; import {ACTIVE_PRESET, PresetName, SYNC_COMMITTEE_SIZE} from "@chainsafe/lodestar-params"; +import {phase0} from "@chainsafe/lodestar-types"; import {allForks, CachedBeaconStateAllForks, CachedBeaconStateAltair} from "../../../../src/index.js"; import {generatePerfTestCachedStateAltair, perfStateId} from "../../util.js"; import {getBlockAltair} from "../../phase0/block/util.js"; -import {phase0} from "@chainsafe/lodestar-types"; type StateEth1Data = { state: CachedBeaconStateAllForks; diff --git a/packages/beacon-state-transition/test/perf/altair/epoch/processSyncCommitteeUpdates.test.ts b/packages/beacon-state-transition/test/perf/altair/epoch/processSyncCommitteeUpdates.test.ts index 8230ee652801..485a2c28f22b 100644 --- a/packages/beacon-state-transition/test/perf/altair/epoch/processSyncCommitteeUpdates.test.ts +++ b/packages/beacon-state-transition/test/perf/altair/epoch/processSyncCommitteeUpdates.test.ts @@ -1,5 +1,5 @@ -import {EPOCHS_PER_SYNC_COMMITTEE_PERIOD} from "@chainsafe/lodestar-params"; import {itBench} from "@dapplion/benchmark"; +import {EPOCHS_PER_SYNC_COMMITTEE_PERIOD} from "@chainsafe/lodestar-params"; import {processSyncCommitteeUpdates} from "../../../../src/altair/index.js"; import {StateAltair} from "../../types.js"; import {generatePerfTestCachedStateAltair, numValidators} from "../../util.js"; diff --git a/packages/beacon-state-transition/test/perf/analyzeEpochs.ts b/packages/beacon-state-transition/test/perf/analyzeEpochs.ts index cd7593ea17d3..4b425d66b611 100644 --- a/packages/beacon-state-transition/test/perf/analyzeEpochs.ts +++ b/packages/beacon-state-transition/test/perf/analyzeEpochs.ts @@ -12,9 +12,9 @@ import { parseAttesterFlags, } from "../../src/index.js"; import {Validator} from "../../src/phase0/index.js"; -import {csvAppend, readCsv} from "./csv.js"; import {getInfuraBeaconUrl} from "../utils/infura.js"; import {createCachedBeaconStateTest} from "../utils/state.js"; +import {csvAppend, readCsv} from "./csv.js"; // Understand the real network characteristics regarding epoch transitions to accurately produce performance test data. // diff --git a/packages/beacon-state-transition/test/perf/dataStructures/arrayish.test.ts b/packages/beacon-state-transition/test/perf/dataStructures/arrayish.test.ts index f9853ed843bd..59162b6eecca 100644 --- a/packages/beacon-state-transition/test/perf/dataStructures/arrayish.test.ts +++ b/packages/beacon-state-transition/test/perf/dataStructures/arrayish.test.ts @@ -1,6 +1,6 @@ +import {itBench, setBenchOpts} from "@dapplion/benchmark"; import {LeafNode, toGindex, Tree, zeroNode} from "@chainsafe/persistent-merkle-tree"; import {MutableVector} from "@chainsafe/persistent-ts"; -import {itBench, setBenchOpts} from "@dapplion/benchmark"; // Understand the cost of each array-ish data structure to: // - Get one element diff --git a/packages/beacon-state-transition/test/perf/dataStructures/effectiveBalanceIncrements.test.ts b/packages/beacon-state-transition/test/perf/dataStructures/effectiveBalanceIncrements.test.ts index 3cced84bba0c..13c2d982e86b 100644 --- a/packages/beacon-state-transition/test/perf/dataStructures/effectiveBalanceIncrements.test.ts +++ b/packages/beacon-state-transition/test/perf/dataStructures/effectiveBalanceIncrements.test.ts @@ -1,5 +1,5 @@ -import {MutableVector} from "@chainsafe/persistent-ts"; import {itBench, setBenchOpts} from "@dapplion/benchmark"; +import {MutableVector} from "@chainsafe/persistent-ts"; import {newZeroedArray} from "../../../src/index.js"; describe("effectiveBalanceIncrements", () => { diff --git a/packages/beacon-state-transition/test/perf/phase0/block/processBlock.test.ts b/packages/beacon-state-transition/test/perf/phase0/block/processBlock.test.ts index c008ba48b57f..163ca8b3f2e7 100644 --- a/packages/beacon-state-transition/test/perf/phase0/block/processBlock.test.ts +++ b/packages/beacon-state-transition/test/perf/phase0/block/processBlock.test.ts @@ -10,8 +10,8 @@ import { } from "@chainsafe/lodestar-params"; import {allForks} from "../../../../src/index.js"; import {generatePerfTestCachedStatePhase0, perfStateId} from "../../util.js"; -import {BlockOpts, getBlockPhase0} from "./util.js"; import {StateBlock} from "../../types.js"; +import {BlockOpts, getBlockPhase0} from "./util.js"; // As of Jun 12 2021 // Process block diff --git a/packages/beacon-state-transition/test/perf/util.ts b/packages/beacon-state-transition/test/perf/util.ts index 7e6e014157bf..71cdad1e5a8b 100644 --- a/packages/beacon-state-transition/test/perf/util.ts +++ b/packages/beacon-state-transition/test/perf/util.ts @@ -3,6 +3,15 @@ import {phase0, ssz, Slot, altair} from "@chainsafe/lodestar-types"; import {CoordType, PublicKey, SecretKey} from "@chainsafe/bls/types"; import bls from "@chainsafe/bls"; import {BitArray, fromHexString} from "@chainsafe/ssz"; +import {createIBeaconConfig, createIChainForkConfig} from "@chainsafe/lodestar-config"; +import { + EPOCHS_PER_ETH1_VOTING_PERIOD, + EPOCHS_PER_HISTORICAL_VECTOR, + MAX_ATTESTATIONS, + MAX_EFFECTIVE_BALANCE, + SLOTS_PER_EPOCH, + SLOTS_PER_HISTORICAL_ROOT, +} from "@chainsafe/lodestar-params"; import { allForks, interopSecretKey, @@ -13,7 +22,6 @@ import { createCachedBeaconState, computeCommitteeCount, } from "../../src/index.js"; -import {createIBeaconConfig, createIChainForkConfig} from "@chainsafe/lodestar-config"; import { CachedBeaconStateAllForks, CachedBeaconStatePhase0, @@ -23,14 +31,6 @@ import { } from "../../src/types.js"; import {profilerLogger} from "../utils/logger.js"; import {interopPubkeysCached} from "../utils/interop.js"; -import { - EPOCHS_PER_ETH1_VOTING_PERIOD, - EPOCHS_PER_HISTORICAL_VECTOR, - MAX_ATTESTATIONS, - MAX_EFFECTIVE_BALANCE, - SLOTS_PER_EPOCH, - SLOTS_PER_HISTORICAL_ROOT, -} from "@chainsafe/lodestar-params"; import {getNextSyncCommittee} from "../../src/util/syncCommittee.js"; import {getEffectiveBalanceIncrements} from "../../src/cache/effectiveBalanceIncrements.js"; diff --git a/packages/beacon-state-transition/test/unit/block/isValidIndexedAttestation.test.ts b/packages/beacon-state-transition/test/unit/block/isValidIndexedAttestation.test.ts index 2ff1d7bc516c..0fa41ce871e5 100644 --- a/packages/beacon-state-transition/test/unit/block/isValidIndexedAttestation.test.ts +++ b/packages/beacon-state-transition/test/unit/block/isValidIndexedAttestation.test.ts @@ -1,7 +1,7 @@ +import {expect} from "chai"; import {config} from "@chainsafe/lodestar-config/default"; import {FAR_FUTURE_EPOCH, MAX_EFFECTIVE_BALANCE} from "@chainsafe/lodestar-params"; import {generateAttestationData} from "../../utils/attestation.js"; -import {expect} from "chai"; import {EMPTY_SIGNATURE} from "../../../src/index.js"; import {phase0} from "../../../src/index.js"; import {generateCachedState} from "../../utils/state.js"; diff --git a/packages/beacon-state-transition/test/unit/cachedBeaconState.test.ts b/packages/beacon-state-transition/test/unit/cachedBeaconState.test.ts index 080ec506e432..29ad45ba30ad 100644 --- a/packages/beacon-state-transition/test/unit/cachedBeaconState.test.ts +++ b/packages/beacon-state-transition/test/unit/cachedBeaconState.test.ts @@ -1,6 +1,6 @@ +import {expect} from "chai"; import {ssz} from "@chainsafe/lodestar-types"; import {toHexString} from "@chainsafe/lodestar-utils"; -import {expect} from "chai"; import {createCachedBeaconStateTest} from "../utils/state.js"; describe("CachedBeaconState", () => { diff --git a/packages/beacon-state-transition/test/unit/constants.test.ts b/packages/beacon-state-transition/test/unit/constants.test.ts index 0faedfa235f2..d4975a8a86f5 100644 --- a/packages/beacon-state-transition/test/unit/constants.test.ts +++ b/packages/beacon-state-transition/test/unit/constants.test.ts @@ -1,5 +1,5 @@ -import * as blst from "@chainsafe/blst"; import {expect} from "chai"; +import * as blst from "@chainsafe/blst"; import {G2_POINT_AT_INFINITY} from "../../src/index.js"; describe("constants", () => { diff --git a/packages/beacon-state-transition/test/unit/signatureSets/signatureSets.test.ts b/packages/beacon-state-transition/test/unit/signatureSets/signatureSets.test.ts index 68d863473552..3c689afc09f6 100644 --- a/packages/beacon-state-transition/test/unit/signatureSets/signatureSets.test.ts +++ b/packages/beacon-state-transition/test/unit/signatureSets/signatureSets.test.ts @@ -1,14 +1,14 @@ import crypto from "node:crypto"; +import {expect} from "chai"; import bls from "@chainsafe/bls"; import {config} from "@chainsafe/lodestar-config/default"; import {ValidatorIndex, BLSSignature} from "@chainsafe/lodestar-types"; +import {FAR_FUTURE_EPOCH, MAX_EFFECTIVE_BALANCE} from "@chainsafe/lodestar-params"; +import {BitArray} from "@chainsafe/ssz"; import {ZERO_HASH} from "../../../src/constants/index.js"; import {generateCachedState} from "../../utils/state.js"; import {generateValidators} from "../../utils/validator.js"; -import {expect} from "chai"; import {phase0, allForks} from "../../../src/index.js"; -import {FAR_FUTURE_EPOCH, MAX_EFFECTIVE_BALANCE} from "@chainsafe/lodestar-params"; -import {BitArray} from "@chainsafe/ssz"; const EMPTY_SIGNATURE = Buffer.alloc(96); diff --git a/packages/beacon-state-transition/test/unit/util/misc.test.ts b/packages/beacon-state-transition/test/unit/util/misc.test.ts index 9c56e588f45a..da71ba94e92b 100644 --- a/packages/beacon-state-transition/test/unit/util/misc.test.ts +++ b/packages/beacon-state-transition/test/unit/util/misc.test.ts @@ -1,7 +1,7 @@ import {assert} from "chai"; -import {GENESIS_SLOT, SLOTS_PER_HISTORICAL_ROOT} from "@chainsafe/lodestar-params"; import {toBigIntLE} from "bigint-buffer"; +import {GENESIS_SLOT, SLOTS_PER_HISTORICAL_ROOT} from "@chainsafe/lodestar-params"; import {getBlockRoot} from "../../../src/util/index.js"; import {generateState} from "../../utils/state.js"; diff --git a/packages/beacon-state-transition/test/unit/util/seed.test.ts b/packages/beacon-state-transition/test/unit/util/seed.test.ts index 9c4835a6cff0..c83b23651227 100644 --- a/packages/beacon-state-transition/test/unit/util/seed.test.ts +++ b/packages/beacon-state-transition/test/unit/util/seed.test.ts @@ -1,10 +1,10 @@ import {expect} from "chai"; import {GENESIS_EPOCH, GENESIS_SLOT, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; +import {toHexString} from "@chainsafe/ssz"; import {getRandaoMix} from "../../../src/util/index.js"; import {generateState} from "../../utils/state.js"; -import {toHexString} from "@chainsafe/ssz"; describe("getRandaoMix", () => { const randaoMix1 = Buffer.alloc(32, 1); diff --git a/packages/beacon-state-transition/test/unit/util/slot.test.ts b/packages/beacon-state-transition/test/unit/util/slot.test.ts index 8c0c0f146ee1..a344a92366d9 100644 --- a/packages/beacon-state-transition/test/unit/util/slot.test.ts +++ b/packages/beacon-state-transition/test/unit/util/slot.test.ts @@ -1,7 +1,7 @@ import {assert} from "chai"; -import {computeSlotsSinceEpochStart} from "../../../src/util/index.js"; import {Slot} from "@chainsafe/lodestar-types"; +import {computeSlotsSinceEpochStart} from "../../../src/util/index.js"; describe("computeSlotsSinceEpochStart", () => { const pairs = [ diff --git a/packages/beacon-state-transition/test/unit/util/weakSubjectivity.test.ts b/packages/beacon-state-transition/test/unit/util/weakSubjectivity.test.ts index 3f00dadc00ef..a50853285218 100644 --- a/packages/beacon-state-transition/test/unit/util/weakSubjectivity.test.ts +++ b/packages/beacon-state-transition/test/unit/util/weakSubjectivity.test.ts @@ -1,5 +1,5 @@ -import {config} from "@chainsafe/lodestar-config/default"; import {expect} from "chai"; +import {config} from "@chainsafe/lodestar-config/default"; import {computeWeakSubjectivityPeriodFromConstituents} from "../../../src/util/weakSubjectivity.js"; import {getChurnLimit} from "../../../src/util/validator.js"; diff --git a/packages/beacon-state-transition/test/utils/state.ts b/packages/beacon-state-transition/test/utils/state.ts index 9614c199dee6..ba37943a43bb 100644 --- a/packages/beacon-state-transition/test/utils/state.ts +++ b/packages/beacon-state-transition/test/utils/state.ts @@ -9,10 +9,10 @@ import { import {phase0, ssz} from "@chainsafe/lodestar-types"; import {config} from "@chainsafe/lodestar-config/default"; +import {createIBeaconConfig, IChainForkConfig} from "@chainsafe/lodestar-config"; import {ZERO_HASH} from "../../src/constants/index.js"; import {newZeroedBigIntArray} from "../../src/util/index.js"; -import {generateEmptyBlock} from "./block.js"; import { BeaconStatePhase0, CachedBeaconStateAllForks, @@ -20,9 +20,9 @@ import { createCachedBeaconState, PubkeyIndexMap, } from "../../src/index.js"; -import {createIBeaconConfig, IChainForkConfig} from "@chainsafe/lodestar-config"; import {BeaconStateCache} from "../../src/cache/stateCache.js"; import {EpochContextOpts} from "../../src/cache/epochContext.js"; +import {generateEmptyBlock} from "./block.js"; /** * Copy of BeaconState, but all fields are marked optional to allow for swapping out variables as needed. diff --git a/packages/beacon-state-transition/test/utils/testFileCache.ts b/packages/beacon-state-transition/test/utils/testFileCache.ts index d629bdf1c68b..7ef12a9dcb8f 100644 --- a/packages/beacon-state-transition/test/utils/testFileCache.ts +++ b/packages/beacon-state-transition/test/utils/testFileCache.ts @@ -4,11 +4,11 @@ import got from "got"; import {getClient} from "@chainsafe/lodestar-api"; import {NetworkName, networksChainConfig} from "@chainsafe/lodestar-config/networks"; import {createIChainForkConfig, IChainForkConfig} from "@chainsafe/lodestar-config"; +import {allForks} from "@chainsafe/lodestar-types"; import {CachedBeaconStateAllForks, computeEpochAtSlot} from "../../src/index.js"; -import {getInfuraBeaconUrl} from "./infura.js"; import {testCachePath} from "../cache.js"; import {createCachedBeaconStateTest} from "../utils/state.js"; -import {allForks} from "@chainsafe/lodestar-types"; +import {getInfuraBeaconUrl} from "./infura.js"; /** * Full link example: diff --git a/packages/cli/src/cmds/account/cmds/validator/create.ts b/packages/cli/src/cmds/account/cmds/validator/create.ts index 41cbfd36144a..82cfb6a65bff 100644 --- a/packages/cli/src/cmds/account/cmds/validator/create.ts +++ b/packages/cli/src/cmds/account/cmds/validator/create.ts @@ -1,11 +1,11 @@ +import {MAX_EFFECTIVE_BALANCE} from "@chainsafe/lodestar-params"; import {getAccountPaths} from "../../paths.js"; import {WalletManager} from "../../../../wallet/index.js"; import {ValidatorDirBuilder} from "../../../../validatorDir/index.js"; import {getBeaconConfigFromArgs} from "../../../../config/index.js"; import {ICliCommand, YargsError, readPassphraseFile, add0xPrefix, ICliCommandOptions} from "../../../../util/index.js"; -import {IAccountValidatorArgs} from "./options.js"; import {IGlobalArgs} from "../../../../options/index.js"; -import {MAX_EFFECTIVE_BALANCE} from "@chainsafe/lodestar-params"; +import {IAccountValidatorArgs} from "./options.js"; export interface IValidatorCreateArgs { name: string; diff --git a/packages/cli/src/cmds/account/cmds/validator/deposit.ts b/packages/cli/src/cmds/account/cmds/validator/deposit.ts index 6043ee1027c2..5f9c6f07c121 100644 --- a/packages/cli/src/cmds/account/cmds/validator/deposit.ts +++ b/packages/cli/src/cmds/account/cmds/validator/deposit.ts @@ -1,6 +1,6 @@ import {YargsError, ICliCommand} from "../../../../util/index.js"; -import {IAccountValidatorArgs} from "./options.js"; import {IGlobalArgs} from "../../../../options/index.js"; +import {IAccountValidatorArgs} from "./options.js"; const deprecatedDescription = "DEPRECATED. Please use the official tools to perform your deposits \ diff --git a/packages/cli/src/cmds/account/cmds/validator/import.ts b/packages/cli/src/cmds/account/cmds/validator/import.ts index 3eafe9e0cea4..ea5775b77477 100644 --- a/packages/cli/src/cmds/account/cmds/validator/import.ts +++ b/packages/cli/src/cmds/account/cmds/validator/import.ts @@ -13,9 +13,9 @@ import { ICliCommand, } from "../../../../util/index.js"; import {VOTING_KEYSTORE_FILE, getValidatorDirPath} from "../../../../validatorDir/paths.js"; -import {IAccountValidatorArgs} from "./options.js"; import {getAccountPaths} from "../../paths.js"; import {IGlobalArgs} from "../../../../options/index.js"; +import {IAccountValidatorArgs} from "./options.js"; /* eslint-disable no-console */ diff --git a/packages/cli/src/cmds/account/cmds/validator/list.ts b/packages/cli/src/cmds/account/cmds/validator/list.ts index 9ea4278f05d1..bddbee7ead71 100644 --- a/packages/cli/src/cmds/account/cmds/validator/list.ts +++ b/packages/cli/src/cmds/account/cmds/validator/list.ts @@ -1,9 +1,9 @@ import {ValidatorDirManager} from "../../../../validatorDir/index.js"; import {getAccountPaths} from "../../paths.js"; -import {IAccountValidatorArgs} from "./options.js"; import {ICliCommand} from "../../../../util/index.js"; import {IGlobalArgs} from "../../../../options/index.js"; import {add0xPrefix} from "../../../../util/format.js"; +import {IAccountValidatorArgs} from "./options.js"; export type ReturnType = string[]; diff --git a/packages/cli/src/cmds/account/cmds/validator/recover.ts b/packages/cli/src/cmds/account/cmds/validator/recover.ts index c9920d8a5b22..a6e7969cb70f 100644 --- a/packages/cli/src/cmds/account/cmds/validator/recover.ts +++ b/packages/cli/src/cmds/account/cmds/validator/recover.ts @@ -1,22 +1,22 @@ import * as fs from "node:fs"; -import {add0xPrefix, ICliCommand, randomPassword} from "../../../../util/index.js"; -import {IGlobalArgs} from "../../../../options/index.js"; import inquirer from "inquirer"; import {validateMnemonic} from "bip39"; -import {ValidatorDirBuilder} from "../../../../validatorDir/index.js"; -import {getAccountPaths} from "../../paths.js"; +import mapValues from "lodash/mapValues.js"; import { deriveEth2ValidatorKeys, deriveKeyFromMnemonic, eth2ValidatorPaths, IEth2ValidatorKeys, } from "@chainsafe/bls-keygen"; -import {IValidatorCreateArgs, validatorCreateOptions} from "./create.js"; -import mapValues from "lodash/mapValues.js"; import bls from "@chainsafe/bls"; import {Keystore} from "@chainsafe/bls-keystore"; -import {getBeaconConfigFromArgs} from "../../../../config/index.js"; import {MAX_EFFECTIVE_BALANCE} from "@chainsafe/lodestar-params"; +import {getBeaconConfigFromArgs} from "../../../../config/index.js"; +import {getAccountPaths} from "../../paths.js"; +import {ValidatorDirBuilder} from "../../../../validatorDir/index.js"; +import {IGlobalArgs} from "../../../../options/index.js"; +import {add0xPrefix, ICliCommand, randomPassword} from "../../../../util/index.js"; +import {IValidatorCreateArgs, validatorCreateOptions} from "./create.js"; /* eslint-disable no-console */ diff --git a/packages/cli/src/cmds/account/cmds/validator/slashingProtection/utils.ts b/packages/cli/src/cmds/account/cmds/validator/slashingProtection/utils.ts index c0223df4610a..e47866b0811b 100644 --- a/packages/cli/src/cmds/account/cmds/validator/slashingProtection/utils.ts +++ b/packages/cli/src/cmds/account/cmds/validator/slashingProtection/utils.ts @@ -6,8 +6,8 @@ import {YargsError} from "../../../../../util/index.js"; import {IGlobalArgs} from "../../../../../options/index.js"; import {getValidatorPaths} from "../../../../validator/paths.js"; import {getBeaconConfigFromArgs} from "../../../../../config/index.js"; -import {ISlashingProtectionArgs} from "./options.js"; import {errorLogger} from "../../../../../util/logger.js"; +import {ISlashingProtectionArgs} from "./options.js"; /** * Returns a new SlashingProtection object instance based on global args. diff --git a/packages/cli/src/cmds/account/cmds/validator/voluntaryExit.ts b/packages/cli/src/cmds/account/cmds/validator/voluntaryExit.ts index 6f6a50b9b2c3..91a29a36f84a 100644 --- a/packages/cli/src/cmds/account/cmds/validator/voluntaryExit.ts +++ b/packages/cli/src/cmds/account/cmds/validator/voluntaryExit.ts @@ -1,7 +1,7 @@ -import {SignerType, SlashingProtection, Validator} from "@chainsafe/lodestar-validator"; import {readdirSync} from "node:fs"; -import {LevelDbController} from "@chainsafe/lodestar-db"; import inquirer from "inquirer"; +import {SignerType, SlashingProtection, Validator} from "@chainsafe/lodestar-validator"; +import {LevelDbController} from "@chainsafe/lodestar-db"; import {ICliCommand} from "../../../../util/index.js"; import {IGlobalArgs} from "../../../../options/index.js"; import {ValidatorDirManager} from "../../../../validatorDir/index.js"; diff --git a/packages/cli/src/cmds/account/cmds/wallet/recover.ts b/packages/cli/src/cmds/account/cmds/wallet/recover.ts index 7245e768fbaa..c4dfc96e99a6 100644 --- a/packages/cli/src/cmds/account/cmds/wallet/recover.ts +++ b/packages/cli/src/cmds/account/cmds/wallet/recover.ts @@ -1,7 +1,7 @@ import * as fs from "node:fs"; +import inquirer from "inquirer"; import {ICliCommand} from "../../../../util/index.js"; import {IGlobalArgs} from "../../../../options/index.js"; -import inquirer from "inquirer"; import {createWalletFromArgsAndMnemonic} from "./utils.js"; import {IWalletCreateArgs, walletCreateOptions} from "./create.js"; diff --git a/packages/cli/src/cmds/beacon/handler.ts b/packages/cli/src/cmds/beacon/handler.ts index 84bc76a1bd38..d8172e6f6166 100644 --- a/packages/cli/src/cmds/beacon/handler.ts +++ b/packages/cli/src/cmds/beacon/handler.ts @@ -9,11 +9,11 @@ import {parseEnrArgs} from "../../options/enrOptions.js"; import {onGracefulShutdown, getCliLogger} from "../../util/index.js"; import {FileENR, overwriteEnrWithCliArgs, readPeerId} from "../../config/index.js"; import {initializeOptionsAndConfig, persistOptionsAndConfig} from "../init/handler.js"; +import {getVersionData} from "../../util/version.js"; +import {deleteOldPeerstorePreV036} from "../../migrations/index.js"; import {IBeaconArgs} from "./options.js"; import {getBeaconPaths} from "./paths.js"; import {initBeaconState} from "./initBeaconState.js"; -import {getVersionData} from "../../util/version.js"; -import {deleteOldPeerstorePreV036} from "../../migrations/index.js"; /** * Runs a beacon node. diff --git a/packages/cli/src/cmds/beacon/initBeaconState.ts b/packages/cli/src/cmds/beacon/initBeaconState.ts index 2520cea3f10c..acc919988da8 100644 --- a/packages/cli/src/cmds/beacon/initBeaconState.ts +++ b/packages/cli/src/cmds/beacon/initBeaconState.ts @@ -17,10 +17,10 @@ import { import {Checkpoint} from "@chainsafe/lodestar-types/phase0"; import {downloadOrLoadFile} from "../../util/index.js"; -import {IBeaconArgs} from "./options.js"; import {defaultNetwork, IGlobalArgs} from "../../options/globalOptions.js"; import {parseWSSArgs, WSSOptions} from "../../options/wssOptions.js"; import {fetchWeakSubjectivityState, getGenesisFileUrl, getCheckpointFromArg} from "../../networks/index.js"; +import {IBeaconArgs} from "./options.js"; function getCheckpointFromState(state: BeaconStateAllForks): Checkpoint { return { diff --git a/packages/cli/src/cmds/beacon/options.ts b/packages/cli/src/cmds/beacon/options.ts index 9dcfbdde7ad1..3194831ce546 100644 --- a/packages/cli/src/cmds/beacon/options.ts +++ b/packages/cli/src/cmds/beacon/options.ts @@ -9,8 +9,8 @@ import { IWSSArgs, wssOptions, } from "../../options/index.js"; -import {defaultBeaconPaths, IBeaconPaths} from "./paths.js"; import {ICliCommandOptions, ILogArgs} from "../../util/index.js"; +import {defaultBeaconPaths, IBeaconPaths} from "./paths.js"; interface IBeaconExtraArgs { port?: number; diff --git a/packages/cli/src/cmds/dev/handler.ts b/packages/cli/src/cmds/dev/handler.ts index c662fd81166b..e591de05f615 100644 --- a/packages/cli/src/cmds/dev/handler.ts +++ b/packages/cli/src/cmds/dev/handler.ts @@ -1,7 +1,7 @@ import fs from "node:fs"; import {promisify} from "node:util"; -import rimraf from "rimraf"; import path from "node:path"; +import rimraf from "rimraf"; import {fromHexString} from "@chainsafe/ssz"; import {GENESIS_SLOT} from "@chainsafe/lodestar-params"; import {BeaconNode, BeaconDb, initStateFromAnchorState, createNodeJsLibp2p, nodeUtils} from "@chainsafe/lodestar"; @@ -14,12 +14,12 @@ import {ACTIVE_PRESET, PresetName} from "@chainsafe/lodestar-params"; import {onGracefulShutdown} from "../../util/process.js"; import {createEnr, createPeerId, overwriteEnrWithCliArgs} from "../../config/index.js"; import {IGlobalArgs, parseEnrArgs} from "../../options/index.js"; -import {IDevArgs} from "./options.js"; import {initializeOptionsAndConfig} from "../init/handler.js"; import {mkdir, getCliLogger} from "../../util/index.js"; import {getBeaconPaths} from "../beacon/paths.js"; import {getValidatorPaths} from "../validator/paths.js"; import {getVersionData} from "../../util/version.js"; +import {IDevArgs} from "./options.js"; /** * Run a beacon node with validator diff --git a/packages/cli/src/cmds/init/handler.ts b/packages/cli/src/cmds/init/handler.ts index 3f9e705aa6e1..3a051a19d9a1 100644 --- a/packages/cli/src/cmds/init/handler.ts +++ b/packages/cli/src/cmds/init/handler.ts @@ -1,4 +1,5 @@ import fs from "node:fs"; +import {IChainForkConfig} from "@chainsafe/lodestar-config"; import { BeaconNodeOptions, getBeaconConfigFromArgs, @@ -12,7 +13,6 @@ import {mkdir} from "../../util/index.js"; import {fetchBootnodes} from "../../networks/index.js"; import {getBeaconPaths} from "../beacon/paths.js"; import {IBeaconArgs} from "../beacon/options.js"; -import {IChainForkConfig} from "@chainsafe/lodestar-config"; export type ReturnType = { beaconNodeOptions: BeaconNodeOptions; diff --git a/packages/cli/src/cmds/validator/keys.ts b/packages/cli/src/cmds/validator/keys.ts index 06b4c1f1a656..b36d5a46ab44 100644 --- a/packages/cli/src/cmds/validator/keys.ts +++ b/packages/cli/src/cmds/validator/keys.ts @@ -7,12 +7,12 @@ import {deriveEth2ValidatorKeys, deriveKeyFromMnemonic} from "@chainsafe/bls-key import {interopSecretKey} from "@chainsafe/lodestar-beacon-state-transition"; import {externalSignerGetKeys} from "@chainsafe/lodestar-validator"; import {lockFilepath, unlockFilepath} from "@chainsafe/lodestar-keymanager-server"; +import {fromHexString} from "@chainsafe/ssz"; import {defaultNetwork, IGlobalArgs} from "../../options/index.js"; import {parseRange, stripOffNewlines, YargsError} from "../../util/index.js"; import {ValidatorDirManager} from "../../validatorDir/index.js"; import {getAccountPaths} from "../account/paths.js"; import {IValidatorCliArgs} from "./options.js"; -import {fromHexString} from "@chainsafe/ssz"; const depositDataPattern = new RegExp(/^deposit_data-\d+\.json$/gi); diff --git a/packages/cli/src/cmds/validator/options.ts b/packages/cli/src/cmds/validator/options.ts index a2ecbfb5cb47..fc7815225db7 100644 --- a/packages/cli/src/cmds/validator/options.ts +++ b/packages/cli/src/cmds/validator/options.ts @@ -1,10 +1,10 @@ import {defaultOptions} from "@chainsafe/lodestar"; import {ICliCommandOptions, ILogArgs} from "../../util/index.js"; -import {defaultValidatorPaths} from "./paths.js"; import {accountValidatorOptions, IAccountValidatorArgs} from "../account/cmds/validator/options.js"; import {logOptions, beaconPathsOptions} from "../beacon/options.js"; import {IBeaconPaths} from "../beacon/paths.js"; import {KeymanagerArgs, keymanagerOptions} from "../../options/keymanagerOptions.js"; +import {defaultValidatorPaths} from "./paths.js"; export const validatorMetricsDefaultOptions = { enabled: false, diff --git a/packages/cli/src/config/beaconParams.ts b/packages/cli/src/config/beaconParams.ts index 9bc41ba03533..c3b6c93d1965 100644 --- a/packages/cli/src/config/beaconParams.ts +++ b/packages/cli/src/config/beaconParams.ts @@ -8,8 +8,8 @@ import { import {readFile} from "../util/index.js"; import {getNetworkBeaconParams, NetworkName} from "../networks/index.js"; import {getGlobalPaths, IGlobalPaths} from "../paths/global.js"; -import {IBeaconParamsUnparsed} from "./types.js"; import {parseBeaconParamsArgs, parseTerminalPowArgs, ITerminalPowArgs} from "../options/index.js"; +import {IBeaconParamsUnparsed} from "./types.js"; type IBeaconParamsCliArgs = { network?: NetworkName; diff --git a/packages/cli/src/config/fileEnr.ts b/packages/cli/src/config/fileEnr.ts index 753dfac0eb13..f76857b1221c 100644 --- a/packages/cli/src/config/fileEnr.ts +++ b/packages/cli/src/config/fileEnr.ts @@ -1,6 +1,6 @@ +import PeerId from "peer-id"; import {createKeypairFromPeerId, ENR, ENRKey, ENRValue} from "@chainsafe/discv5"; import {writeFile, readFile} from "../util/index.js"; -import PeerId from "peer-id"; /** * `FileENR` is an `ENR` that saves the ENR contents to a file on every modification diff --git a/packages/cli/src/networks/index.ts b/packages/cli/src/networks/index.ts index c91ffaab138c..f167b1d1fcc0 100644 --- a/packages/cli/src/networks/index.ts +++ b/packages/cli/src/networks/index.ts @@ -1,3 +1,5 @@ +import fs from "node:fs"; +import got from "got"; import {SLOTS_PER_EPOCH, ForkName} from "@chainsafe/lodestar-params"; import {getClient} from "@chainsafe/lodestar-api"; import {IBeaconNodeOptions, getStateTypeFromBytes} from "@chainsafe/lodestar"; @@ -5,8 +7,6 @@ import {IChainConfig, IChainForkConfig} from "@chainsafe/lodestar-config"; import {Checkpoint} from "@chainsafe/lodestar-types/phase0"; import {RecursivePartial, fromHex} from "@chainsafe/lodestar-utils"; import {BeaconStateAllForks} from "@chainsafe/lodestar-beacon-state-transition"; -import fs from "node:fs"; -import got from "got"; import * as mainnet from "./mainnet.js"; import * as prater from "./prater.js"; import * as kiln from "./kiln.js"; diff --git a/packages/cli/src/options/globalOptions.ts b/packages/cli/src/options/globalOptions.ts index 862a93c4f503..a9b35949a7f0 100644 --- a/packages/cli/src/options/globalOptions.ts +++ b/packages/cli/src/options/globalOptions.ts @@ -1,6 +1,6 @@ -import {paramsOptions, IParamsArgs} from "./paramsOptions.js"; import {NetworkName, networkNames} from "../networks/index.js"; import {ICliCommandOptions, readFile} from "../util/index.js"; +import {paramsOptions, IParamsArgs} from "./paramsOptions.js"; interface IGlobalSingleArgs { rootDir: string; diff --git a/packages/cli/src/options/keymanagerOptions.ts b/packages/cli/src/options/keymanagerOptions.ts index 66c35d849bab..6730e7ee948c 100644 --- a/packages/cli/src/options/keymanagerOptions.ts +++ b/packages/cli/src/options/keymanagerOptions.ts @@ -1,5 +1,5 @@ -import {ICliCommandOptions} from "../util/index.js"; import {restApiOptionsDefault} from "@chainsafe/lodestar-keymanager-server"; +import {ICliCommandOptions} from "../util/index.js"; export type KeymanagerArgs = { keymanagerEnabled?: boolean; diff --git a/packages/cli/src/util/gitData/writeGitData.ts b/packages/cli/src/util/gitData/writeGitData.ts index b124c49390fd..f2d974d1402a 100644 --- a/packages/cli/src/util/gitData/writeGitData.ts +++ b/packages/cli/src/util/gitData/writeGitData.ts @@ -3,8 +3,8 @@ // For RATIONALE of this file, check packages/cli/src/util/gitData/gitDataPath.ts // Persist exact commit in NPM distributions for easier tracking of the build -import {getGitData} from "./index.js"; import {writeGitDataFile} from "./gitDataPath.js"; +import {getGitData} from "./index.js"; // Script to write the git data file (json) used by the build procedures to persist git data. writeGitDataFile(getGitData()); diff --git a/packages/cli/src/util/passphrase.ts b/packages/cli/src/util/passphrase.ts index 5de7bd002b4a..72a6e9fd867e 100644 --- a/packages/cli/src/util/passphrase.ts +++ b/packages/cli/src/util/passphrase.ts @@ -1,7 +1,7 @@ import fs from "node:fs"; +import {getValidatorPassphrasePath} from "../validatorDir/paths.js"; import {stripOffNewlines} from "./stripOffNewlines.js"; import {writeFile600Perm} from "./fs.js"; -import {getValidatorPassphrasePath} from "../validatorDir/paths.js"; /** * Utility to read file as UTF8 and strip any trailing new lines. diff --git a/packages/cli/src/validatorDir/ValidatorDirBuilder.ts b/packages/cli/src/validatorDir/ValidatorDirBuilder.ts index 13d432e67f7c..3406d782cc03 100644 --- a/packages/cli/src/validatorDir/ValidatorDirBuilder.ts +++ b/packages/cli/src/validatorDir/ValidatorDirBuilder.ts @@ -4,9 +4,9 @@ import {Keystore} from "@chainsafe/bls-keystore"; import bls from "@chainsafe/bls"; import {IEth2ValidatorKeys} from "@chainsafe/bls-keygen"; import {IChainForkConfig} from "@chainsafe/lodestar-config"; -import {ValidatorDir} from "./ValidatorDir.js"; import {encodeDepositData} from "../depositContract/depositData.js"; import {ensureDirExists, YargsError, writeValidatorPassphrase} from "../util/index.js"; +import {ValidatorDir} from "./ValidatorDir.js"; import { VOTING_KEYSTORE_FILE, WITHDRAWAL_KEYSTORE_FILE, diff --git a/packages/cli/src/validatorDir/ValidatorDirManager.ts b/packages/cli/src/validatorDir/ValidatorDirManager.ts index 376e0c584d02..573c73fac50b 100644 --- a/packages/cli/src/validatorDir/ValidatorDirManager.ts +++ b/packages/cli/src/validatorDir/ValidatorDirManager.ts @@ -1,8 +1,8 @@ import fs from "node:fs"; import path from "node:path"; -import {ValidatorDir, IValidatorDirOptions} from "./ValidatorDir.js"; import type {SecretKey} from "@chainsafe/bls/types"; import {YargsError} from "../util/index.js"; +import {ValidatorDir, IValidatorDirOptions} from "./ValidatorDir.js"; /** * Manages a directory containing multiple `ValidatorDir` directories. diff --git a/packages/cli/src/wallet/WalletManager.ts b/packages/cli/src/wallet/WalletManager.ts index e5ce76cb3bc5..568e4bd7e981 100644 --- a/packages/cli/src/wallet/WalletManager.ts +++ b/packages/cli/src/wallet/WalletManager.ts @@ -1,8 +1,8 @@ import fs from "node:fs"; import path from "node:path"; import {isUuid} from "uuidv4"; -import {Wallet, IWalletKeystoreJson} from "./Wallet.js"; import {ensureDirExists, YargsError} from "../util/index.js"; +import {Wallet, IWalletKeystoreJson} from "./Wallet.js"; /** * Manages a directory containing EIP-2386 wallets. diff --git a/packages/cli/test/unit/config/beaconNodeOptions.test.ts b/packages/cli/test/unit/config/beaconNodeOptions.test.ts index cddfbf939219..2b5e38551321 100644 --- a/packages/cli/test/unit/config/beaconNodeOptions.test.ts +++ b/packages/cli/test/unit/config/beaconNodeOptions.test.ts @@ -1,7 +1,7 @@ -import {defaultOptions} from "@chainsafe/lodestar"; -import {expect} from "chai"; import fs from "node:fs"; import path from "node:path"; +import {expect} from "chai"; +import {defaultOptions} from "@chainsafe/lodestar"; import {getBeaconPaths} from "../../../src/cmds/beacon/paths.js"; import {BeaconNodeOptions, mergeBeaconNodeOptions} from "../../../src/config/index.js"; import {enrsToNetworkConfig, parseBootnodesFile} from "../../../src/networks/index.js"; diff --git a/packages/cli/test/unit/config/beaconParams.test.ts b/packages/cli/test/unit/config/beaconParams.test.ts index 43b6d39aec2b..830bf0dec302 100644 --- a/packages/cli/test/unit/config/beaconParams.test.ts +++ b/packages/cli/test/unit/config/beaconParams.test.ts @@ -1,5 +1,5 @@ -import {expect} from "chai"; import fs from "node:fs"; +import {expect} from "chai"; import yaml from "js-yaml"; import {toHexString} from "@chainsafe/ssz"; import {getTestdirPath} from "../../utils.js"; diff --git a/packages/cli/test/unit/config/fileEnr.test.ts b/packages/cli/test/unit/config/fileEnr.test.ts index d65ed127b20b..941df3c9f64a 100644 --- a/packages/cli/test/unit/config/fileEnr.test.ts +++ b/packages/cli/test/unit/config/fileEnr.test.ts @@ -1,8 +1,8 @@ -import {toHexString} from "@chainsafe/ssz"; +import {existsSync} from "node:fs"; import {expect} from "chai"; import {before, after} from "mocha"; -import {existsSync} from "node:fs"; import rimraf from "rimraf"; +import {toHexString} from "@chainsafe/ssz"; import {initEnr, initPeerId, readPeerId, FileENR} from "../../../src/config/index.js"; import {testFilesDir} from "../../utils.js"; import {getBeaconPaths} from "../../../src/cmds/beacon/paths.js"; diff --git a/packages/cli/test/unit/options/beaconNodeOptions.test.ts b/packages/cli/test/unit/options/beaconNodeOptions.test.ts index 6c5e363815c5..e727dce10c3f 100644 --- a/packages/cli/test/unit/options/beaconNodeOptions.test.ts +++ b/packages/cli/test/unit/options/beaconNodeOptions.test.ts @@ -1,5 +1,5 @@ -import {expect} from "chai"; import fs from "node:fs"; +import {expect} from "chai"; import {IBeaconNodeOptions} from "@chainsafe/lodestar"; import {LogLevel, RecursivePartial} from "@chainsafe/lodestar-utils"; import {parseBeaconNodeArgs, IBeaconNodeArgs} from "../../../src/options/beaconNodeOptions/index.js"; diff --git a/packages/cli/test/unit/util/gitData.test.ts b/packages/cli/test/unit/util/gitData.test.ts index 264afa937737..b60bd3075b0d 100644 --- a/packages/cli/test/unit/util/gitData.test.ts +++ b/packages/cli/test/unit/util/gitData.test.ts @@ -1,8 +1,8 @@ -import {expect} from "chai"; import fs from "node:fs"; import path from "node:path"; -import findUp from "find-up"; import {fileURLToPath} from "node:url"; +import {expect} from "chai"; +import findUp from "find-up"; import {gitDataPath, readGitDataFile} from "../../../src/util/gitData/gitDataPath.js"; import {getGitData} from "../../../src/util/index.js"; diff --git a/packages/cli/test/unit/validator/keys.test.ts b/packages/cli/test/unit/validator/keys.test.ts index 224b31b38198..d488356bf8eb 100644 --- a/packages/cli/test/unit/validator/keys.test.ts +++ b/packages/cli/test/unit/validator/keys.test.ts @@ -1,6 +1,6 @@ +import fs, {Dirent, Stats} from "node:fs"; import {expect} from "chai"; import sinon from "sinon"; -import fs, {Dirent, Stats} from "node:fs"; import {resolveKeystorePaths} from "../../../src/cmds/validator/keys.js"; import {isVotingKeystore} from "../../../src/util/index.js"; diff --git a/packages/config/src/chainConfig/presets/mainnet.ts b/packages/config/src/chainConfig/presets/mainnet.ts index 4efc503467b1..36b543b9cc65 100644 --- a/packages/config/src/chainConfig/presets/mainnet.ts +++ b/packages/config/src/chainConfig/presets/mainnet.ts @@ -8,7 +8,7 @@ export const chainConfig: IChainConfig = { // Transition // TBD, 2**256-1 is a placeholder - TERMINAL_TOTAL_DIFFICULTY: BigInt(115792089237316195423570985008687907853269984665640564039457584007913129639935), + TERMINAL_TOTAL_DIFFICULTY: BigInt("115792089237316195423570985008687907853269984665640564039457584007913129639935"), TERMINAL_BLOCK_HASH: b("0x0000000000000000000000000000000000000000000000000000000000000000"), TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH: Infinity, diff --git a/packages/config/src/chainConfig/presets/minimal.ts b/packages/config/src/chainConfig/presets/minimal.ts index 386b9eb32472..74401885346c 100644 --- a/packages/config/src/chainConfig/presets/minimal.ts +++ b/packages/config/src/chainConfig/presets/minimal.ts @@ -9,7 +9,7 @@ export const chainConfig: IChainConfig = { // Transition // TBD, 2**256-1 is a placeholder - TERMINAL_TOTAL_DIFFICULTY: BigInt(115792089237316195423570985008687907853269984665640564039457584007913129639935), + TERMINAL_TOTAL_DIFFICULTY: BigInt("115792089237316195423570985008687907853269984665640564039457584007913129639935"), TERMINAL_BLOCK_HASH: b("0x0000000000000000000000000000000000000000000000000000000000000000"), TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH: Infinity, diff --git a/packages/config/test/unit/index.test.ts b/packages/config/test/unit/index.test.ts index 9878cd4c7746..fd3835eea9f7 100644 --- a/packages/config/test/unit/index.test.ts +++ b/packages/config/test/unit/index.test.ts @@ -1,5 +1,5 @@ -import {ForkName} from "@chainsafe/lodestar-params"; import {expect} from "chai"; +import {ForkName} from "@chainsafe/lodestar-params"; import {config} from "../../src/default.js"; describe("forks", () => { diff --git a/packages/db/test/unit/controller/level.test.ts b/packages/db/test/unit/controller/level.test.ts index cc5777a09cbe..1b779986cf67 100644 --- a/packages/db/test/unit/controller/level.test.ts +++ b/packages/db/test/unit/controller/level.test.ts @@ -1,7 +1,7 @@ import {expect} from "chai"; -import {WinstonLogger} from "@chainsafe/lodestar-utils"; import leveldown from "leveldown"; import all from "it-all"; +import {WinstonLogger} from "@chainsafe/lodestar-utils"; import {LevelDbController} from "../../../src/controller/index.js"; describe("LevelDB controller", () => { diff --git a/packages/fork-choice/src/forkChoice/store.ts b/packages/fork-choice/src/forkChoice/store.ts index b63c96beb845..3767015bedec 100644 --- a/packages/fork-choice/src/forkChoice/store.ts +++ b/packages/fork-choice/src/forkChoice/store.ts @@ -27,7 +27,7 @@ export interface IForkChoiceStore { bestJustifiedCheckpoint: CheckpointWithHex; } -/* eslint-disable @typescript-eslint/naming-convention */ +/* eslint-disable @typescript-eslint/naming-convention, @typescript-eslint/member-ordering */ /** * IForkChoiceStore implementer which emits forkChoice events on updated justified and finalized checkpoints. @@ -54,17 +54,14 @@ export class ForkChoiceStore implements IForkChoiceStore { get justifiedCheckpoint(): CheckpointWithHex { return this._justifiedCheckpoint; } - set justifiedCheckpoint(checkpoint: CheckpointWithHex) { const cp = toCheckpointWithHex(checkpoint); this._justifiedCheckpoint = cp; this.events?.onJustified(cp); } - get finalizedCheckpoint(): CheckpointWithHex { return this._finalizedCheckpoint; } - set finalizedCheckpoint(checkpoint: CheckpointWithHex) { const cp = toCheckpointWithHex(checkpoint); this._finalizedCheckpoint = cp; diff --git a/packages/fork-choice/test/perf/forkChoice/forkChoice.test.ts b/packages/fork-choice/test/perf/forkChoice/forkChoice.test.ts index 483c23ff969a..580459258113 100644 --- a/packages/fork-choice/test/perf/forkChoice/forkChoice.test.ts +++ b/packages/fork-choice/test/perf/forkChoice/forkChoice.test.ts @@ -1,5 +1,5 @@ -import {config} from "@chainsafe/lodestar-config/default"; import {itBench} from "@dapplion/benchmark"; +import {config} from "@chainsafe/lodestar-config/default"; import {AttestationData, IndexedAttestation} from "@chainsafe/lodestar-types/phase0"; import {ATTESTATION_SUBNET_COUNT} from "@chainsafe/lodestar-params"; import {getEffectiveBalanceIncrementsZeroed} from "@chainsafe/lodestar-beacon-state-transition"; diff --git a/packages/fork-choice/test/perf/protoArray/computeDeltas.test.ts b/packages/fork-choice/test/perf/protoArray/computeDeltas.test.ts index 93b9a598b1cf..c1d72d904c8c 100644 --- a/packages/fork-choice/test/perf/protoArray/computeDeltas.test.ts +++ b/packages/fork-choice/test/perf/protoArray/computeDeltas.test.ts @@ -6,8 +6,8 @@ import { EffectiveBalanceIncrements, getEffectiveBalanceIncrementsZeroed, } from "@chainsafe/lodestar-beacon-state-transition"; -import {generatePerfTestCachedStateAltair} from "../../../../beacon-state-transition/test/perf/util.js"; import {TIMELY_SOURCE_FLAG_INDEX} from "@chainsafe/lodestar-params"; +import {generatePerfTestCachedStateAltair} from "../../../../beacon-state-transition/test/perf/util.js"; import {IVoteTracker} from "../../../src/protoArray/interface.js"; import {computeDeltas} from "../../../src/protoArray/computeDeltas.js"; import {computeProposerBoostScoreFromBalances} from "../../../src/forkChoice/forkChoice.js"; diff --git a/packages/fork-choice/test/unit/forkChoice/forkChoice.test.ts b/packages/fork-choice/test/unit/forkChoice/forkChoice.test.ts index a3579e17fb5d..9af2c22f0b99 100644 --- a/packages/fork-choice/test/unit/forkChoice/forkChoice.test.ts +++ b/packages/fork-choice/test/unit/forkChoice/forkChoice.test.ts @@ -1,8 +1,8 @@ -import {ForkChoice, IForkChoiceStore, IProtoBlock, ProtoArray, ExecutionStatus} from "../../../src/index.js"; -import {config} from "@chainsafe/lodestar-config/default"; import {expect} from "chai"; +import {config} from "@chainsafe/lodestar-config/default"; import {fromHexString} from "@chainsafe/ssz"; import {getEffectiveBalanceIncrementsZeroed} from "@chainsafe/lodestar-beacon-state-transition"; +import {ForkChoice, IForkChoiceStore, IProtoBlock, ProtoArray, ExecutionStatus} from "../../../src/index.js"; describe("Forkchoice", function () { const genesisSlot = 0; diff --git a/packages/fork-choice/test/unit/protoArray/computeDeltas.test.ts b/packages/fork-choice/test/unit/protoArray/computeDeltas.test.ts index b023a6648160..18c03110cdbc 100644 --- a/packages/fork-choice/test/unit/protoArray/computeDeltas.test.ts +++ b/packages/fork-choice/test/unit/protoArray/computeDeltas.test.ts @@ -1,5 +1,5 @@ -import {getEffectiveBalanceIncrementsZeroed} from "@chainsafe/lodestar-beacon-state-transition"; import {expect} from "chai"; +import {getEffectiveBalanceIncrementsZeroed} from "@chainsafe/lodestar-beacon-state-transition"; import {computeDeltas} from "../../../src/protoArray/computeDeltas.js"; diff --git a/packages/fork-choice/test/unit/protoArray/protoArray.test.ts b/packages/fork-choice/test/unit/protoArray/protoArray.test.ts index ecc6bf2d9943..4f4e7a22872b 100644 --- a/packages/fork-choice/test/unit/protoArray/protoArray.test.ts +++ b/packages/fork-choice/test/unit/protoArray/protoArray.test.ts @@ -1,5 +1,5 @@ -import {RootHex} from "@chainsafe/lodestar-types"; import {expect} from "chai"; +import {RootHex} from "@chainsafe/lodestar-types"; import {ProtoArray, ExecutionStatus} from "../../../src/index.js"; diff --git a/packages/keymanager-server/src/server.ts b/packages/keymanager-server/src/server.ts index d7b5f9d5da36..ba53b0080e5f 100644 --- a/packages/keymanager-server/src/server.ts +++ b/packages/keymanager-server/src/server.ts @@ -1,10 +1,11 @@ -import fastify, {FastifyError, FastifyInstance} from "fastify"; -import fastifyCors from "fastify-cors"; -import bearerAuthPlugin from "fastify-bearer-auth"; import querystring from "querystring"; import {IncomingMessage} from "node:http"; import crypto from "node:crypto"; import fs from "node:fs"; +import {join} from "node:path"; +import fastify, {FastifyError, FastifyInstance} from "fastify"; +import fastifyCors from "fastify-cors"; +import bearerAuthPlugin from "fastify-bearer-auth"; import {toHexString} from "@chainsafe/ssz"; export {allNamespaces} from "@chainsafe/lodestar-api"; import {Api} from "@chainsafe/lodestar-api/keymanager"; @@ -12,7 +13,6 @@ import {getRoutes} from "@chainsafe/lodestar-api/keymanager/server"; import {registerRoutesGroup, RouteConfig} from "@chainsafe/lodestar-api/server"; import {ErrorAborted, ILogger} from "@chainsafe/lodestar-utils"; import {IChainForkConfig} from "@chainsafe/lodestar-config"; -import {join} from "node:path"; export type RestApiOptions = { host: string; diff --git a/packages/light-client/src/index.ts b/packages/light-client/src/index.ts index 6a30e2befa8d..6701aea0f923 100644 --- a/packages/light-client/src/index.ts +++ b/packages/light-client/src/index.ts @@ -169,6 +169,11 @@ export class Lightclient { }; } + // Embed lightweigth clock. The epoch cycles are handled with `this.runLoop()` + get currentSlot(): number { + return getCurrentSlot(this.config, this.genesisTime); + } + static async initializeFromCheckpointRoot({ config, logger, @@ -229,11 +234,6 @@ export class Lightclient { this.status = {code: RunStatusCode.stopped}; } - // Embed lightweigth clock. The epoch cycles are handled with `this.runLoop()` - get currentSlot(): number { - return getCurrentSlot(this.config, this.genesisTime); - } - getHead(): phase0.BeaconBlockHeader { return this.head.header; } diff --git a/packages/light-client/test/lightclientApiServer.ts b/packages/light-client/test/lightclientApiServer.ts index 78bfb48c6ce2..266c14f0c029 100644 --- a/packages/light-client/test/lightclientApiServer.ts +++ b/packages/light-client/test/lightclientApiServer.ts @@ -1,8 +1,8 @@ +import querystring from "querystring"; import fastify, {FastifyInstance} from "fastify"; +import fastifyCors from "fastify-cors"; import {Api, routes} from "@chainsafe/lodestar-api"; import {registerRoutes} from "@chainsafe/lodestar-api/server"; -import fastifyCors from "fastify-cors"; -import querystring from "querystring"; import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {JsonPath} from "@chainsafe/ssz"; import {altair, RootHex, SyncPeriod} from "@chainsafe/lodestar-types"; diff --git a/packages/light-client/test/naive/update.ts b/packages/light-client/test/naive/update.ts index 2a659ff65948..b9f59d58dd2a 100644 --- a/packages/light-client/test/naive/update.ts +++ b/packages/light-client/test/naive/update.ts @@ -1,10 +1,10 @@ import {EPOCHS_PER_SYNC_COMMITTEE_PERIOD, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {altair, Slot} from "@chainsafe/lodestar-types"; +import {IBeaconConfig} from "@chainsafe/lodestar-config"; import {LightClientSnapshotFast, LightClientStoreFast} from "../../src/types.js"; import {assertValidLightClientUpdate} from "../../src/validation.js"; import {deserializeSyncCommittee, isEmptyHeader, sumBits} from "../../src/utils/utils.js"; import {computeSyncPeriodAtSlot} from "../../src/utils/clock.js"; -import {IBeaconConfig} from "@chainsafe/lodestar-config"; // // A lightclient has two types of syncing: diff --git a/packages/light-client/test/prepareUpdateNaive.ts b/packages/light-client/test/prepareUpdateNaive.ts index e75f06142613..54c0b8d1db3e 100644 --- a/packages/light-client/test/prepareUpdateNaive.ts +++ b/packages/light-client/test/prepareUpdateNaive.ts @@ -1,9 +1,9 @@ import {altair, phase0, Root, ssz} from "@chainsafe/lodestar-types"; import {CompositeViewDU} from "@chainsafe/ssz"; import {FINALIZED_ROOT_GINDEX, NEXT_SYNC_COMMITTEE_GINDEX, SLOTS_PER_HISTORICAL_ROOT} from "@chainsafe/lodestar-params"; +import {Tree} from "@chainsafe/persistent-merkle-tree"; import {computeEpochAtSlot} from "../src/utils/clock.js"; import {getForkVersion} from "../src/utils/domain.js"; -import {Tree} from "@chainsafe/persistent-merkle-tree"; export interface IBeaconChainLc { getBlockHeaderByRoot(blockRoot: Root): Promise; diff --git a/packages/light-client/test/unit/sync.test.ts b/packages/light-client/test/unit/sync.test.ts index 34b6d92c4536..39598305ffb4 100644 --- a/packages/light-client/test/unit/sync.test.ts +++ b/packages/light-client/test/unit/sync.test.ts @@ -1,9 +1,11 @@ +import {expect} from "chai"; import {EPOCHS_PER_SYNC_COMMITTEE_PERIOD, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {BeaconStateAllForks, BeaconStateAltair} from "@chainsafe/lodestar-beacon-state-transition"; import {phase0, ssz} from "@chainsafe/lodestar-types"; import {routes, Api} from "@chainsafe/lodestar-api"; import {chainConfig as chainConfigDef} from "@chainsafe/lodestar-config/default"; import {createIBeaconConfig, IChainConfig} from "@chainsafe/lodestar-config"; +import {toHexString} from "@chainsafe/ssz"; import {Lightclient, LightclientEvent} from "../../src/index.js"; import {EventsServerApi, LightclientServerApi, ServerOpts, startServer} from "../lightclientApiServer.js"; import { @@ -15,8 +17,6 @@ import { committeeUpdateToLatestFinalizedHeadUpdate, lastInMap, } from "../utils.js"; -import {toHexString} from "@chainsafe/ssz"; -import {expect} from "chai"; const SOME_HASH = Buffer.alloc(32, 0xff); diff --git a/packages/light-client/test/unit/syncNaive.test.ts b/packages/light-client/test/unit/syncNaive.test.ts index e4600838f93b..6e18a77d62af 100644 --- a/packages/light-client/test/unit/syncNaive.test.ts +++ b/packages/light-client/test/unit/syncNaive.test.ts @@ -5,11 +5,11 @@ import {BeaconStateAltair} from "@chainsafe/lodestar-beacon-state-transition"; import {toHexString} from "@chainsafe/ssz"; import {chainConfig} from "@chainsafe/lodestar-config/default"; import {createIBeaconConfig} from "@chainsafe/lodestar-config"; +import {EPOCHS_PER_SYNC_COMMITTEE_PERIOD, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {processLightClientUpdate} from "../naive/update.js"; import {prepareUpdateNaive, IBeaconChainLc} from "../prepareUpdateNaive.js"; import {getInteropSyncCommittee, getSyncAggregateSigningRoot, SyncCommitteeKeys} from "../utils.js"; import {LightClientStoreFast} from "../../src/types.js"; -import {EPOCHS_PER_SYNC_COMMITTEE_PERIOD, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; /* eslint-disable @typescript-eslint/naming-convention */ diff --git a/packages/lodestar/src/api/impl/beacon/blocks/utils.ts b/packages/lodestar/src/api/impl/beacon/blocks/utils.ts index 8ebf57e2c907..6ac6fcf0443c 100644 --- a/packages/lodestar/src/api/impl/beacon/blocks/utils.ts +++ b/packages/lodestar/src/api/impl/beacon/blocks/utils.ts @@ -3,9 +3,9 @@ import {routes} from "@chainsafe/lodestar-api"; import {blockToHeader} from "@chainsafe/lodestar-beacon-state-transition"; import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {IForkChoice} from "@chainsafe/lodestar-fork-choice"; +import {fromHexString} from "@chainsafe/ssz"; import {IBeaconDb} from "../../../../db/index.js"; import {GENESIS_SLOT} from "../../../../constants/index.js"; -import {fromHexString} from "@chainsafe/ssz"; import {ApiError, ValidationError} from "../../errors.js"; export function toBeaconHeaderResponse( diff --git a/packages/lodestar/src/api/impl/beacon/pool/index.ts b/packages/lodestar/src/api/impl/beacon/pool/index.ts index 41a8ab0867ea..e5f81e9dd9d3 100644 --- a/packages/lodestar/src/api/impl/beacon/pool/index.ts +++ b/packages/lodestar/src/api/impl/beacon/pool/index.ts @@ -1,13 +1,13 @@ import {routes} from "@chainsafe/lodestar-api"; import {Epoch, ssz} from "@chainsafe/lodestar-types"; import {SYNC_COMMITTEE_SUBNET_SIZE} from "@chainsafe/lodestar-params"; +import {toHexString} from "@chainsafe/ssz"; import {validateGossipAttestation} from "../../../../chain/validation/index.js"; import {validateGossipAttesterSlashing} from "../../../../chain/validation/attesterSlashing.js"; import {validateGossipProposerSlashing} from "../../../../chain/validation/proposerSlashing.js"; import {validateGossipVoluntaryExit} from "../../../../chain/validation/voluntaryExit.js"; import {validateSyncCommitteeSigOnly} from "../../../../chain/validation/syncCommittee.js"; import {ApiModules} from "../../types.js"; -import {toHexString} from "@chainsafe/ssz"; import {AttestationError, GossipAction, SyncCommitteeError} from "../../../../chain/errors/index.js"; export function getBeaconPoolApi({ diff --git a/packages/lodestar/src/api/impl/beacon/state/utils.ts b/packages/lodestar/src/api/impl/beacon/state/utils.ts index c91a57e92ac6..2d716fa30d3d 100644 --- a/packages/lodestar/src/api/impl/beacon/state/utils.ts +++ b/packages/lodestar/src/api/impl/beacon/state/utils.ts @@ -14,11 +14,11 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {IForkChoice} from "@chainsafe/lodestar-fork-choice"; import {Epoch, ValidatorIndex, Slot} from "@chainsafe/lodestar-types"; import {fromHexString} from "@chainsafe/ssz"; +import {sleep, assert} from "@chainsafe/lodestar-utils"; import {IBeaconChain} from "../../../../chain/index.js"; import {StateContextCache} from "../../../../chain/stateCache/index.js"; import {IBeaconDb} from "../../../../db/index.js"; import {ApiError, ValidationError} from "../../errors.js"; -import {sleep, assert} from "@chainsafe/lodestar-utils"; type ResolveStateIdOpts = { /** diff --git a/packages/lodestar/src/api/impl/debug/index.ts b/packages/lodestar/src/api/impl/debug/index.ts index c7e4b132000b..9ac6da810e74 100644 --- a/packages/lodestar/src/api/impl/debug/index.ts +++ b/packages/lodestar/src/api/impl/debug/index.ts @@ -1,6 +1,6 @@ -import {routes} from "@chainsafe/lodestar-api"; import {Multiaddr} from "multiaddr"; import {createFromB58String} from "peer-id"; +import {routes} from "@chainsafe/lodestar-api"; import {resolveStateId} from "../beacon/state/utils.js"; import {ApiModules} from "../types.js"; diff --git a/packages/lodestar/src/api/impl/events/index.ts b/packages/lodestar/src/api/impl/events/index.ts index 1758c0eacf99..776ac6f44705 100644 --- a/packages/lodestar/src/api/impl/events/index.ts +++ b/packages/lodestar/src/api/impl/events/index.ts @@ -3,11 +3,11 @@ import { computeStartSlotAtEpoch, getBlockRootAtSlot, } from "@chainsafe/lodestar-beacon-state-transition"; +import {routes} from "@chainsafe/lodestar-api"; +import {toHexString} from "@chainsafe/ssz"; import {ApiModules} from "../types.js"; import {ChainEvent, IChainEvents} from "../../../chain/index.js"; -import {routes} from "@chainsafe/lodestar-api"; import {ApiError} from "../errors.js"; -import {toHexString} from "@chainsafe/ssz"; /** * Mapping of internal `ChainEvents` to API spec events diff --git a/packages/lodestar/src/api/impl/lightclient/index.ts b/packages/lodestar/src/api/impl/lightclient/index.ts index 0d4d92976857..f83c528d680b 100644 --- a/packages/lodestar/src/api/impl/lightclient/index.ts +++ b/packages/lodestar/src/api/impl/lightclient/index.ts @@ -1,9 +1,9 @@ -import {ApiModules} from "../types.js"; -import {resolveStateId} from "../beacon/state/utils.js"; import {routes} from "@chainsafe/lodestar-api"; -import {linspace} from "../../../util/numpy.js"; import {fromHexString} from "@chainsafe/ssz"; import {ProofType, Tree} from "@chainsafe/persistent-merkle-tree"; +import {ApiModules} from "../types.js"; +import {resolveStateId} from "../beacon/state/utils.js"; +import {linspace} from "../../../util/numpy.js"; import {IApiOptions} from "../../options.js"; // TODO: Import from lightclient/server package diff --git a/packages/lodestar/src/api/impl/node/index.ts b/packages/lodestar/src/api/impl/node/index.ts index 08db02422523..43466da9bed2 100644 --- a/packages/lodestar/src/api/impl/node/index.ts +++ b/packages/lodestar/src/api/impl/node/index.ts @@ -1,9 +1,9 @@ import {routes} from "@chainsafe/lodestar-api"; import {createKeypairFromPeerId} from "@chainsafe/discv5"; -import {formatNodePeer, getRevelantConnection} from "./utils.js"; import {ApiError} from "../errors.js"; import {ApiModules} from "../types.js"; import {IApiOptions} from "../../options.js"; +import {formatNodePeer, getRevelantConnection} from "./utils.js"; export function getNodeApi(opts: IApiOptions, {network, sync}: Pick): routes.node.Api { return { diff --git a/packages/lodestar/src/api/impl/node/utils.ts b/packages/lodestar/src/api/impl/node/utils.ts index 1648545b6949..1308658f915b 100644 --- a/packages/lodestar/src/api/impl/node/utils.ts +++ b/packages/lodestar/src/api/impl/node/utils.ts @@ -1,5 +1,5 @@ -import {routes} from "@chainsafe/lodestar-api"; import {Connection} from "libp2p"; +import {routes} from "@chainsafe/lodestar-api"; import {PeerStatus} from "../../../network/index.js"; /** diff --git a/packages/lodestar/src/api/impl/validator/index.ts b/packages/lodestar/src/api/impl/validator/index.ts index b2a8aeafe258..2aad7034ac49 100644 --- a/packages/lodestar/src/api/impl/validator/index.ts +++ b/packages/lodestar/src/api/impl/validator/index.ts @@ -16,6 +16,7 @@ import { import {Root, Slot, ValidatorIndex, ssz} from "@chainsafe/lodestar-types"; import {ExecutionStatus} from "@chainsafe/lodestar-fork-choice"; +import {fromHexString, toHexString} from "@chainsafe/ssz"; import {assembleBlock} from "../../../chain/factory/block/index.js"; import {AttestationError, AttestationErrorCode, GossipAction, SyncCommitteeError} from "../../../chain/errors/index.js"; import {validateGossipAggregateAndProof} from "../../../chain/validation/index.js"; @@ -25,10 +26,9 @@ import {toGraffitiBuffer} from "../../../util/graffiti.js"; import {ApiError, NodeIsSyncing} from "../errors.js"; import {validateSyncCommitteeGossipContributionAndProof} from "../../../chain/validation/syncCommitteeContributionAndProof.js"; import {CommitteeSubscription} from "../../../network/subnets/index.js"; -import {computeSubnetForCommitteesAtSlot, getPubkeysForIndices} from "./utils.js"; import {ApiModules} from "../types.js"; import {RegenCaller} from "../../../chain/regen/index.js"; -import {fromHexString, toHexString} from "@chainsafe/ssz"; +import {computeSubnetForCommitteesAtSlot, getPubkeysForIndices} from "./utils.js"; /** * Validator clock may be advanced from beacon's clock. If the validator requests a resource in a diff --git a/packages/lodestar/src/api/rest/index.ts b/packages/lodestar/src/api/rest/index.ts index f3f5764af485..34c3d0aab6b9 100644 --- a/packages/lodestar/src/api/rest/index.ts +++ b/packages/lodestar/src/api/rest/index.ts @@ -1,6 +1,6 @@ +import querystring from "querystring"; import fastify, {FastifyError, FastifyInstance} from "fastify"; import fastifyCors from "fastify-cors"; -import querystring from "querystring"; import {Api} from "@chainsafe/lodestar-api"; import {registerRoutes, RouteConfig} from "@chainsafe/lodestar-api/server"; import {ErrorAborted, ILogger} from "@chainsafe/lodestar-utils"; diff --git a/packages/lodestar/src/chain/archiver/archiveBlocks.ts b/packages/lodestar/src/chain/archiver/archiveBlocks.ts index 00f8a5d5b929..c7d30ad41342 100644 --- a/packages/lodestar/src/chain/archiver/archiveBlocks.ts +++ b/packages/lodestar/src/chain/archiver/archiveBlocks.ts @@ -2,10 +2,10 @@ import {fromHexString} from "@chainsafe/ssz"; import {Epoch, Slot} from "@chainsafe/lodestar-types"; import {IForkChoice} from "@chainsafe/lodestar-fork-choice"; import {ILogger} from "@chainsafe/lodestar-utils"; -import {IBeaconDb} from "../../db/index.js"; -import {BlockArchiveBatchPutBinaryItem} from "../../db/repositories/index.js"; import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {computeEpochAtSlot} from "@chainsafe/lodestar-beacon-state-transition"; +import {IBeaconDb} from "../../db/index.js"; +import {BlockArchiveBatchPutBinaryItem} from "../../db/repositories/index.js"; import {LightClientServer} from "../lightClient/index.js"; // Process in chunks to avoid OOM diff --git a/packages/lodestar/src/chain/archiver/archiveStates.ts b/packages/lodestar/src/chain/archiver/archiveStates.ts index 673d916f2e32..ba64c390caa3 100644 --- a/packages/lodestar/src/chain/archiver/archiveStates.ts +++ b/packages/lodestar/src/chain/archiver/archiveStates.ts @@ -4,9 +4,9 @@ import {ILogger} from "@chainsafe/lodestar-utils"; import {computeEpochAtSlot} from "@chainsafe/lodestar-beacon-state-transition"; +import {CheckpointWithHex} from "@chainsafe/lodestar-fork-choice"; import {IBeaconDb} from "../../db/index.js"; import {CheckpointStateCache} from "../stateCache/index.js"; -import {CheckpointWithHex} from "@chainsafe/lodestar-fork-choice"; /** * Minimum number of epochs between archived states diff --git a/packages/lodestar/src/chain/archiver/index.ts b/packages/lodestar/src/chain/archiver/index.ts index fbbc3aed5ba4..6d73ba060530 100644 --- a/packages/lodestar/src/chain/archiver/index.ts +++ b/packages/lodestar/src/chain/archiver/index.ts @@ -1,12 +1,12 @@ import {ILogger} from "@chainsafe/lodestar-utils"; +import {CheckpointWithHex} from "@chainsafe/lodestar-fork-choice"; import {IBeaconDb} from "../../db/index.js"; -import {archiveBlocks} from "./archiveBlocks.js"; -import {StatesArchiver} from "./archiveStates.js"; import {JobItemQueue} from "../../util/queue/index.js"; -import {CheckpointWithHex} from "@chainsafe/lodestar-fork-choice"; import {IBeaconChain} from "../interface.js"; import {ChainEvent} from "../emitter.js"; +import {StatesArchiver} from "./archiveStates.js"; +import {archiveBlocks} from "./archiveBlocks.js"; const PROCESS_FINALIZED_CHECKPOINT_QUEUE_LEN = 256; diff --git a/packages/lodestar/src/chain/beaconProposerCache.ts b/packages/lodestar/src/chain/beaconProposerCache.ts index c83651b7bf73..6cb933639fc5 100644 --- a/packages/lodestar/src/chain/beaconProposerCache.ts +++ b/packages/lodestar/src/chain/beaconProposerCache.ts @@ -1,7 +1,7 @@ -import {MapDef} from "../util/map.js"; import {Epoch} from "@chainsafe/lodestar-types"; -import {IMetrics} from "../metrics/index.js"; import {routes} from "@chainsafe/lodestar-api"; +import {MapDef} from "../util/map.js"; +import {IMetrics} from "../metrics/index.js"; const PROPOSER_PRESERVE_EPOCHS = 2; diff --git a/packages/lodestar/src/chain/blocks/importBlock.ts b/packages/lodestar/src/chain/blocks/importBlock.ts index c89ee60fb123..b106833a2ac4 100644 --- a/packages/lodestar/src/chain/blocks/importBlock.ts +++ b/packages/lodestar/src/chain/blocks/importBlock.ts @@ -22,14 +22,14 @@ import {CheckpointStateCache, StateContextCache, toCheckpointHex} from "../state import {ChainEvent} from "../emitter.js"; import {ChainEventEmitter} from "../emitter.js"; import {LightClientServer} from "../lightClient/index.js"; -import {getCheckpointFromState} from "./utils/checkpoint.js"; -import {PendingEvents} from "./utils/pendingEvents.js"; -import {FullyVerifiedBlock} from "./types.js"; import {SeenAggregatedAttestations} from "../seenCache/seenAggregateAndProof.js"; import {prepareExecutionPayload} from "../factory/block/body.js"; import {IEth1ForBlockProduction} from "../../eth1/index.js"; import {BeaconProposerCache} from "../beaconProposerCache.js"; import {IBeaconClock} from "../clock/index.js"; +import {FullyVerifiedBlock} from "./types.js"; +import {PendingEvents} from "./utils/pendingEvents.js"; +import {getCheckpointFromState} from "./utils/checkpoint.js"; /** * Fork-choice allows to import attestations from current (0) or past (1) epoch. diff --git a/packages/lodestar/src/chain/blocks/index.ts b/packages/lodestar/src/chain/blocks/index.ts index 5947e02a5636..a5ff70f531d9 100644 --- a/packages/lodestar/src/chain/blocks/index.ts +++ b/packages/lodestar/src/chain/blocks/index.ts @@ -4,10 +4,10 @@ import {sleep} from "@chainsafe/lodestar-utils"; import {ChainEvent} from "../emitter.js"; import {JobItemQueue} from "../../util/queue/index.js"; import {BlockError, BlockErrorCode, ChainSegmentError} from "../errors/index.js"; +import {BlockProcessOpts} from "../options.js"; import {verifyBlock, VerifyBlockModules} from "./verifyBlock.js"; import {importBlock, ImportBlockModules} from "./importBlock.js"; import {assertLinearChainSegment} from "./utils/chainSegment.js"; -import {BlockProcessOpts} from "../options.js"; import {PartiallyVerifiedBlock} from "./types.js"; export {PartiallyVerifiedBlockFlags} from "./types.js"; diff --git a/packages/lodestar/src/chain/blocks/verifyBlock.ts b/packages/lodestar/src/chain/blocks/verifyBlock.ts index 4b350b642ae7..04e46f32c26a 100644 --- a/packages/lodestar/src/chain/blocks/verifyBlock.ts +++ b/packages/lodestar/src/chain/blocks/verifyBlock.ts @@ -15,10 +15,10 @@ import {IBeaconClock} from "../clock/index.js"; import {BlockProcessOpts} from "../options.js"; import {IStateRegenerator, RegenCaller} from "../regen/index.js"; import {IBlsVerifier} from "../bls/index.js"; -import {FullyVerifiedBlock, PartiallyVerifiedBlock} from "./types.js"; import {ExecutePayloadStatus} from "../../executionEngine/interface.js"; import {byteArrayEquals} from "../../util/bytes.js"; import {IEth1ForBlockProduction} from "../../eth1/index.js"; +import {FullyVerifiedBlock, PartiallyVerifiedBlock} from "./types.js"; import {POS_PANDA_MERGE_TRANSITION_BANNER} from "./utils/pandaMergeTransitionBanner.js"; export type VerifyBlockModules = { diff --git a/packages/lodestar/src/chain/bls/multithread/index.ts b/packages/lodestar/src/chain/bls/multithread/index.ts index 292bae271d78..5bfa0ef4fe54 100644 --- a/packages/lodestar/src/chain/bls/multithread/index.ts +++ b/packages/lodestar/src/chain/bls/multithread/index.ts @@ -9,15 +9,15 @@ self = undefined; import bls from "@chainsafe/bls"; import {Implementation, PointFormat} from "@chainsafe/bls/types"; import {ILogger} from "@chainsafe/lodestar-utils"; +import {ISignatureSet} from "@chainsafe/lodestar-beacon-state-transition"; import {QueueError, QueueErrorCode} from "../../../util/queue/index.js"; import {IMetrics} from "../../../metrics/index.js"; import {IBlsVerifier, VerifySignatureOpts} from "../interface.js"; +import {getAggregatedPubkey} from "../utils.js"; +import {verifySignatureSetsMaybeBatch} from "../maybeBatch.js"; import {BlsWorkReq, BlsWorkResult, WorkerData, WorkResultCode} from "./types.js"; import {chunkifyMaximizeChunkSize} from "./utils.js"; import {defaultPoolSize} from "./poolSize.js"; -import {ISignatureSet} from "@chainsafe/lodestar-beacon-state-transition"; -import {getAggregatedPubkey} from "../utils.js"; -import {verifySignatureSetsMaybeBatch} from "../maybeBatch.js"; export type BlsMultiThreadWorkerPoolModules = { logger: ILogger; diff --git a/packages/lodestar/src/chain/chain.ts b/packages/lodestar/src/chain/chain.ts index 0e844a006aa5..399f05a832c7 100644 --- a/packages/lodestar/src/chain/chain.ts +++ b/packages/lodestar/src/chain/chain.ts @@ -18,8 +18,10 @@ import {ILogger} from "@chainsafe/lodestar-utils"; import {fromHexString} from "@chainsafe/ssz"; import {GENESIS_EPOCH, ZERO_HASH} from "../constants/index.js"; import {IBeaconDb} from "../db/index.js"; -import {CheckpointStateCache, StateContextCache} from "./stateCache/index.js"; import {IMetrics} from "../metrics/index.js"; +import {IEth1ForBlockProduction} from "../eth1/index.js"; +import {IExecutionEngine} from "../executionEngine/index.js"; +import {CheckpointStateCache, StateContextCache} from "./stateCache/index.js"; import {BlockProcessor, PartiallyVerifiedBlockFlags} from "./blocks/index.js"; import {IBeaconClock, LocalClock} from "./clock/index.js"; import {ChainEventEmitter} from "./emitter.js"; @@ -46,8 +48,6 @@ import { } from "./opPools/index.js"; import {LightClientServer} from "./lightClient/index.js"; import {Archiver} from "./archiver/index.js"; -import {IEth1ForBlockProduction} from "../eth1/index.js"; -import {IExecutionEngine} from "../executionEngine/index.js"; import {PrecomputeNextEpochTransitionScheduler} from "./precomputeNextEpochTransition.js"; import {ReprocessController} from "./reprocess.js"; import {SeenAggregatedAttestations} from "./seenCache/seenAggregateAndProof.js"; diff --git a/packages/lodestar/src/chain/clock/LocalClock.ts b/packages/lodestar/src/chain/clock/LocalClock.ts index 1ce7695aaf46..8f89278e5f25 100644 --- a/packages/lodestar/src/chain/clock/LocalClock.ts +++ b/packages/lodestar/src/chain/clock/LocalClock.ts @@ -5,8 +5,8 @@ import {computeEpochAtSlot, computeTimeAtSlot, getCurrentSlot} from "@chainsafe/ import {ChainEvent, ChainEventEmitter} from "../emitter.js"; -import {IBeaconClock} from "./interface.js"; import {MAXIMUM_GOSSIP_CLOCK_DISPARITY} from "../../constants/index.js"; +import {IBeaconClock} from "./interface.js"; /** * A local clock, the clock time is assumed to be trusted diff --git a/packages/lodestar/src/chain/errors/blockError.ts b/packages/lodestar/src/chain/errors/blockError.ts index dc6fcf5ab01e..26dc29cc3469 100644 --- a/packages/lodestar/src/chain/errors/blockError.ts +++ b/packages/lodestar/src/chain/errors/blockError.ts @@ -2,8 +2,8 @@ import {allForks, RootHex, Slot, ValidatorIndex} from "@chainsafe/lodestar-types import {LodestarError} from "@chainsafe/lodestar-utils"; import {toHexString} from "@chainsafe/ssz"; import {CachedBeaconStateAllForks} from "@chainsafe/lodestar-beacon-state-transition"; -import {GossipActionError} from "./gossipValidation.js"; import {ExecutePayloadStatus} from "../../executionEngine/interface.js"; +import {GossipActionError} from "./gossipValidation.js"; export enum BlockErrorCode { /** The prestate cannot be fetched */ diff --git a/packages/lodestar/src/chain/factory/block/index.ts b/packages/lodestar/src/chain/factory/block/index.ts index f20da0457942..3add4cf8773e 100644 --- a/packages/lodestar/src/chain/factory/block/index.ts +++ b/packages/lodestar/src/chain/factory/block/index.ts @@ -9,8 +9,8 @@ import {fromHexString} from "@chainsafe/ssz"; import {ZERO_HASH} from "../../../constants/index.js"; import {IMetrics} from "../../../metrics/index.js"; import {IBeaconChain} from "../../interface.js"; -import {assembleBody} from "./body.js"; import {RegenCaller} from "../../regen/index.js"; +import {assembleBody} from "./body.js"; type AssembleBlockModules = { chain: IBeaconChain; diff --git a/packages/lodestar/src/chain/genesis/genesis.ts b/packages/lodestar/src/chain/genesis/genesis.ts index 3b02b346a55b..c5b5d2aa55ac 100644 --- a/packages/lodestar/src/chain/genesis/genesis.ts +++ b/packages/lodestar/src/chain/genesis/genesis.ts @@ -22,8 +22,8 @@ import {ILogger} from "@chainsafe/lodestar-utils"; import {IEth1Provider} from "../../eth1/index.js"; import {IEth1StreamParams} from "../../eth1/interface.js"; import {getDepositsAndBlockStreamForGenesis, getDepositsStream} from "../../eth1/stream.js"; -import {IGenesisBuilder, IGenesisResult} from "./interface.js"; import {DepositTree} from "../../db/repositories/depositDataRoot.js"; +import {IGenesisBuilder, IGenesisResult} from "./interface.js"; export interface IGenesisBuilderKwargs { config: IChainForkConfig; diff --git a/packages/lodestar/src/chain/initState.ts b/packages/lodestar/src/chain/initState.ts index 4f2fca693fd6..6b25639f2f0b 100644 --- a/packages/lodestar/src/chain/initState.ts +++ b/packages/lodestar/src/chain/initState.ts @@ -18,9 +18,9 @@ import {GENESIS_SLOT, ZERO_HASH} from "../constants/index.js"; import {IBeaconDb} from "../db/index.js"; import {Eth1Provider} from "../eth1/index.js"; import {IMetrics} from "../metrics/index.js"; +import {Eth1Options} from "../eth1/options.js"; import {GenesisBuilder} from "./genesis/genesis.js"; import {IGenesisResult} from "./genesis/interface.js"; -import {Eth1Options} from "../eth1/options.js"; export async function persistGenesisResult( db: IBeaconDb, diff --git a/packages/lodestar/src/chain/lightClient/index.ts b/packages/lodestar/src/chain/lightClient/index.ts index b7cc6315720c..a7e1f53ae553 100644 --- a/packages/lodestar/src/chain/lightClient/index.ts +++ b/packages/lodestar/src/chain/lightClient/index.ts @@ -8,10 +8,13 @@ import { import {ILogger} from "@chainsafe/lodestar-utils"; import {routes} from "@chainsafe/lodestar-api"; import {BitArray, CompositeViewDU, toHexString} from "@chainsafe/ssz"; +import {SYNC_COMMITTEE_SIZE} from "@chainsafe/lodestar-params"; import {IBeaconDb} from "../../db/index.js"; import {IMetrics} from "../../metrics/index.js"; import {MapDef, pruneSetToMax} from "../../util/map.js"; import {ChainEvent, ChainEventEmitter} from "../emitter.js"; +import {byteArrayEquals} from "../../util/bytes.js"; +import {ZERO_HASH} from "../../constants/index.js"; import { getNextSyncCommitteeBranch, getSyncCommitteesWitness, @@ -19,9 +22,6 @@ import { getCurrentSyncCommitteeBranch, } from "./proofs.js"; import {PartialLightClientUpdate} from "./types.js"; -import {SYNC_COMMITTEE_SIZE} from "@chainsafe/lodestar-params"; -import {byteArrayEquals} from "../../util/bytes.js"; -import {ZERO_HASH} from "../../constants/index.js"; type DependantRootHex = RootHex; type BlockRooHex = RootHex; diff --git a/packages/lodestar/src/chain/opPools/attestationPool.ts b/packages/lodestar/src/chain/opPools/attestationPool.ts index d37d8ba22fc3..cb9a3ab6cdc9 100644 --- a/packages/lodestar/src/chain/opPools/attestationPool.ts +++ b/packages/lodestar/src/chain/opPools/attestationPool.ts @@ -2,9 +2,9 @@ import {phase0, Slot, Root, ssz} from "@chainsafe/lodestar-types"; import {PointFormat, Signature} from "@chainsafe/bls/types"; import bls from "@chainsafe/bls"; import {BitArray, toHexString} from "@chainsafe/ssz"; +import {MapDef} from "../../util/map.js"; import {InsertOutcome, OpPoolError, OpPoolErrorCode} from "./types.js"; import {pruneBySlot} from "./utils.js"; -import {MapDef} from "../../util/map.js"; /** * The number of slots that will be stored in the pool. diff --git a/packages/lodestar/src/chain/regen/queued.ts b/packages/lodestar/src/chain/regen/queued.ts index 85109db30001..d96adc582d58 100644 --- a/packages/lodestar/src/chain/regen/queued.ts +++ b/packages/lodestar/src/chain/regen/queued.ts @@ -1,13 +1,13 @@ import {phase0, Slot, allForks, RootHex} from "@chainsafe/lodestar-types"; import {IForkChoice} from "@chainsafe/lodestar-fork-choice"; import {CachedBeaconStateAllForks, computeEpochAtSlot} from "@chainsafe/lodestar-beacon-state-transition"; +import {toHexString} from "@chainsafe/ssz"; import {CheckpointStateCache, StateContextCache, toCheckpointHex} from "../stateCache/index.js"; import {IMetrics} from "../../metrics/index.js"; import {JobItemQueue} from "../../util/queue/index.js"; import {IStateRegenerator, RegenCaller, RegenFnName} from "./interface.js"; import {StateRegenerator, RegenModules} from "./regen.js"; import {RegenError, RegenErrorCode} from "./errors.js"; -import {toHexString} from "@chainsafe/ssz"; const REGEN_QUEUE_MAX_LEN = 256; diff --git a/packages/lodestar/src/chain/regen/regen.ts b/packages/lodestar/src/chain/regen/regen.ts index 687d4e643c09..4e5acc498dc5 100644 --- a/packages/lodestar/src/chain/regen/regen.ts +++ b/packages/lodestar/src/chain/regen/regen.ts @@ -13,10 +13,10 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {IMetrics} from "../../metrics/index.js"; import {IBeaconDb} from "../../db/index.js"; import {CheckpointStateCache, StateContextCache} from "../stateCache/index.js"; -import {IStateRegenerator, RegenCaller} from "./interface.js"; -import {RegenError, RegenErrorCode} from "./errors.js"; import {getCheckpointFromState} from "../blocks/utils/checkpoint.js"; import {ChainEvent, ChainEventEmitter} from "../emitter.js"; +import {IStateRegenerator, RegenCaller} from "./interface.js"; +import {RegenError, RegenErrorCode} from "./errors.js"; export type RegenModules = { db: IBeaconDb; diff --git a/packages/lodestar/src/chain/stateCache/stateContextCheckpointsCache.ts b/packages/lodestar/src/chain/stateCache/stateContextCheckpointsCache.ts index d1558b65576a..358d94199ee9 100644 --- a/packages/lodestar/src/chain/stateCache/stateContextCheckpointsCache.ts +++ b/packages/lodestar/src/chain/stateCache/stateContextCheckpointsCache.ts @@ -3,8 +3,8 @@ import {phase0, Epoch, RootHex} from "@chainsafe/lodestar-types"; import {CachedBeaconStateAllForks} from "@chainsafe/lodestar-beacon-state-transition"; import {routes} from "@chainsafe/lodestar-api"; import {IMetrics} from "../../metrics/index.js"; -import {MapTracker} from "./mapMetrics.js"; import {MapDef} from "../../util/map.js"; +import {MapTracker} from "./mapMetrics.js"; type CheckpointHex = {epoch: Epoch; rootHex: RootHex}; const MAX_EPOCHS = 10; diff --git a/packages/lodestar/src/chain/validation/aggregateAndProof.ts b/packages/lodestar/src/chain/validation/aggregateAndProof.ts index e16dab97ea6c..e50377cab1ab 100644 --- a/packages/lodestar/src/chain/validation/aggregateAndProof.ts +++ b/packages/lodestar/src/chain/validation/aggregateAndProof.ts @@ -7,10 +7,10 @@ import { isAggregatorFromCommitteeLength, } from "@chainsafe/lodestar-beacon-state-transition"; import {IBeaconChain} from ".."; -import {getSelectionProofSignatureSet, getAggregateAndProofSignatureSet} from "./signatureSets/index.js"; import {AttestationError, AttestationErrorCode, GossipAction} from "../errors/index.js"; -import {getCommitteeIndices, verifyHeadBlockAndTargetRoot, verifyPropagationSlotRange} from "./attestation.js"; import {RegenCaller} from "../regen/index.js"; +import {getSelectionProofSignatureSet, getAggregateAndProofSignatureSet} from "./signatureSets/index.js"; +import {getCommitteeIndices, verifyHeadBlockAndTargetRoot, verifyPropagationSlotRange} from "./attestation.js"; export async function validateGossipAggregateAndProof( chain: IBeaconChain, diff --git a/packages/lodestar/src/db/interface.ts b/packages/lodestar/src/db/interface.ts index 4a5e77a8a6e4..f9a5a6bfeeae 100644 --- a/packages/lodestar/src/db/interface.ts +++ b/packages/lodestar/src/db/interface.ts @@ -2,8 +2,8 @@ * @module db/api/beacon */ -import {IDbMetrics} from "@chainsafe/lodestar-db"; import {Registry} from "prom-client"; +import {IDbMetrics} from "@chainsafe/lodestar-db"; import { AttesterSlashingRepository, diff --git a/packages/lodestar/src/eth1/eth1MergeBlockTracker.ts b/packages/lodestar/src/eth1/eth1MergeBlockTracker.ts index 8bfd5bf5301f..85fad3b7533d 100644 --- a/packages/lodestar/src/eth1/eth1MergeBlockTracker.ts +++ b/packages/lodestar/src/eth1/eth1MergeBlockTracker.ts @@ -3,9 +3,9 @@ import {Epoch, RootHex} from "@chainsafe/lodestar-types"; import {ILogger, isErrorAborted, sleep} from "@chainsafe/lodestar-utils"; import {toHexString} from "@chainsafe/ssz"; import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; +import {ZERO_HASH_HEX} from "../constants/index.js"; import {IEth1Provider, EthJsonRpcBlockRaw, PowMergeBlock} from "./interface.js"; import {quantityToNum, quantityToBigint, dataToRootHex} from "./provider/utils.js"; -import {ZERO_HASH_HEX} from "../constants/index.js"; export enum StatusCode { PRE_MERGE = "PRE_MERGE", diff --git a/packages/lodestar/src/eth1/stream.ts b/packages/lodestar/src/eth1/stream.ts index dc603a1035e8..73da07aca400 100644 --- a/packages/lodestar/src/eth1/stream.ts +++ b/packages/lodestar/src/eth1/stream.ts @@ -2,11 +2,11 @@ * @module eth1 */ +import {sleep} from "@chainsafe/lodestar-utils"; +import {phase0} from "@chainsafe/lodestar-types"; import {Eth1Block, IBatchDepositEvents, IEth1Provider, IEth1StreamParams} from "./interface.js"; import {groupDepositEventsByBlock} from "./utils/groupDepositEventsByBlock.js"; import {optimizeNextBlockDiffForGenesis} from "./utils/optimizeNextBlockDiffForGenesis.js"; -import {sleep} from "@chainsafe/lodestar-utils"; -import {phase0} from "@chainsafe/lodestar-types"; import {parseEth1Block} from "./provider/eth1Provider.js"; /** diff --git a/packages/lodestar/src/executionEngine/mock.ts b/packages/lodestar/src/executionEngine/mock.ts index 44dfea2d5804..dfc25985c28c 100644 --- a/packages/lodestar/src/executionEngine/mock.ts +++ b/packages/lodestar/src/executionEngine/mock.ts @@ -1,8 +1,8 @@ import crypto from "node:crypto"; import {bellatrix, RootHex, Root} from "@chainsafe/lodestar-types"; import {toHexString, fromHexString} from "@chainsafe/ssz"; -import {ZERO_HASH, ZERO_HASH_HEX} from "../constants/index.js"; import {BYTES_PER_LOGS_BLOOM} from "@chainsafe/lodestar-params"; +import {ZERO_HASH, ZERO_HASH_HEX} from "../constants/index.js"; import { ExecutePayloadStatus, ExecutePayloadResponse, diff --git a/packages/lodestar/src/executionEngine/payloadIdCache.ts b/packages/lodestar/src/executionEngine/payloadIdCache.ts index b4e3846116d0..e1c786418f16 100644 --- a/packages/lodestar/src/executionEngine/payloadIdCache.ts +++ b/packages/lodestar/src/executionEngine/payloadIdCache.ts @@ -1,6 +1,6 @@ +import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {pruneSetToMax} from "../util/map.js"; import {IMetrics} from "../metrics/index.js"; -import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {DATA, QUANTITY} from "../eth1/provider/utils.js"; // Idealy this only need to be set to the max head reorgs number diff --git a/packages/lodestar/src/metrics/metrics.ts b/packages/lodestar/src/metrics/metrics.ts index 4a91569bd366..088179c25173 100644 --- a/packages/lodestar/src/metrics/metrics.ts +++ b/packages/lodestar/src/metrics/metrics.ts @@ -1,11 +1,11 @@ /** * @module metrics */ +import {collectDefaultMetrics, Counter, Metric, Registry} from "prom-client"; +import gcStats from "prometheus-gc-stats"; import {ILogger} from "@chainsafe/lodestar-utils"; import {BeaconStateAllForks, getCurrentSlot} from "@chainsafe/lodestar-beacon-state-transition"; import {IChainForkConfig} from "@chainsafe/lodestar-config"; -import {collectDefaultMetrics, Counter, Metric, Registry} from "prom-client"; -import gcStats from "prometheus-gc-stats"; import {DbMetricLabels, IDbMetrics} from "@chainsafe/lodestar-db"; import {createBeaconMetrics, IBeaconMetrics} from "./metrics/beacon.js"; import {createLodestarMetrics, ILodestarMetrics} from "./metrics/lodestar.js"; diff --git a/packages/lodestar/src/network/gossip/encoding.ts b/packages/lodestar/src/network/gossip/encoding.ts index 644b5c2d31d9..6f3a0e38a7e9 100644 --- a/packages/lodestar/src/network/gossip/encoding.ts +++ b/packages/lodestar/src/network/gossip/encoding.ts @@ -1,11 +1,11 @@ -import {digest} from "@chainsafe/as-sha256"; import {compress, uncompress} from "snappyjs"; +import {RPC} from "libp2p-gossipsub/src/message/rpc"; +import {GossipsubMessage} from "libp2p-gossipsub/src/types"; +import {digest} from "@chainsafe/as-sha256"; import {intToBytes} from "@chainsafe/lodestar-utils"; import {ForkName} from "@chainsafe/lodestar-params"; import {MESSAGE_DOMAIN_VALID_SNAPPY} from "./constants.js"; import {GossipTopicCache} from "./topic.js"; -import {RPC} from "libp2p-gossipsub/src/message/rpc"; -import {GossipsubMessage} from "libp2p-gossipsub/src/types"; /** * The function used to generate a gossipsub message id diff --git a/packages/lodestar/src/network/gossip/gossipsub.ts b/packages/lodestar/src/network/gossip/gossipsub.ts index c58b72588272..788ebae48e24 100644 --- a/packages/lodestar/src/network/gossip/gossipsub.ts +++ b/packages/lodestar/src/network/gossip/gossipsub.ts @@ -6,6 +6,7 @@ const Gossipsub = ((GossipsubDefault as unknown) as {default: unknown}).default import {GossipsubMessage, SignaturePolicy, TopicStr} from "libp2p-gossipsub/src/types.js"; import {PeerScore, PeerScoreParams} from "libp2p-gossipsub/src/score/index.js"; import PeerId from "peer-id"; +import {MetricsRegister, TopicLabel, TopicStrToLabel} from "libp2p-gossipsub/src/metrics"; import {IBeaconConfig} from "@chainsafe/lodestar-config"; import {ATTESTATION_SUBNET_COUNT, ForkName, SYNC_COMMITTEE_SUBNET_COUNT} from "@chainsafe/lodestar-params"; import {allForks, altair, phase0} from "@chainsafe/lodestar-types"; @@ -13,6 +14,10 @@ import {ILogger} from "@chainsafe/lodestar-utils"; import {computeStartSlotAtEpoch} from "@chainsafe/lodestar-beacon-state-transition"; import {IMetrics} from "../../metrics/index.js"; +import {Map2d, Map2dArr} from "../../util/map.js"; +import {Eth2Context} from "../../chain/index.js"; +import {PeersData} from "../peers/peersData.js"; +import {ClientKind} from "../peers/client.js"; import { GossipJobQueues, GossipTopic, @@ -25,7 +30,6 @@ import { import {getGossipSSZType, GossipTopicCache, stringifyGossipTopic} from "./topic.js"; import {DataTransformSnappy, fastMsgIdFn, msgIdFn} from "./encoding.js"; import {createValidatorFnsByType} from "./validation/index.js"; -import {Map2d, Map2dArr} from "../../util/map.js"; import { computeGossipPeerScoreParams, @@ -34,10 +38,6 @@ import { GOSSIP_D_HIGH, GOSSIP_D_LOW, } from "./scoringParameters.js"; -import {Eth2Context} from "../../chain/index.js"; -import {MetricsRegister, TopicLabel, TopicStrToLabel} from "libp2p-gossipsub/src/metrics"; -import {PeersData} from "../peers/peersData.js"; -import {ClientKind} from "../peers/client.js"; /* eslint-disable @typescript-eslint/naming-convention */ /** As specified in https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md */ diff --git a/packages/lodestar/src/network/gossip/handlers/index.ts b/packages/lodestar/src/network/gossip/handlers/index.ts index d177c8a69e1e..a79943025443 100644 --- a/packages/lodestar/src/network/gossip/handlers/index.ts +++ b/packages/lodestar/src/network/gossip/handlers/index.ts @@ -1,5 +1,5 @@ -import {toHexString} from "@chainsafe/ssz"; import PeerId from "peer-id"; +import {toHexString} from "@chainsafe/ssz"; import {IBeaconConfig} from "@chainsafe/lodestar-config"; import {phase0, ssz} from "@chainsafe/lodestar-types"; import {ILogger, prettyBytes} from "@chainsafe/lodestar-utils"; diff --git a/packages/lodestar/src/network/gossip/interface.ts b/packages/lodestar/src/network/gossip/interface.ts index 26533bf3da71..a63d06f515a4 100644 --- a/packages/lodestar/src/network/gossip/interface.ts +++ b/packages/lodestar/src/network/gossip/interface.ts @@ -2,13 +2,13 @@ * @module network/gossip */ -import {ForkName} from "@chainsafe/lodestar-params"; -import {allForks, altair, phase0} from "@chainsafe/lodestar-types"; -import StrictEventEmitter from "strict-event-emitter-types"; import {EventEmitter} from "events"; -import {IBeaconConfig} from "@chainsafe/lodestar-config"; +import StrictEventEmitter from "strict-event-emitter-types"; import LibP2p from "libp2p"; import {GossipsubMessage, MessageAcceptance, PeerIdStr} from "libp2p-gossipsub/src/types"; +import {ForkName} from "@chainsafe/lodestar-params"; +import {allForks, altair, phase0} from "@chainsafe/lodestar-types"; +import {IBeaconConfig} from "@chainsafe/lodestar-config"; import {ILogger} from "@chainsafe/lodestar-utils"; import {IBeaconChain} from "../../chain/index.js"; import {NetworkEvent} from "../events.js"; diff --git a/packages/lodestar/src/network/gossip/scoringParameters.ts b/packages/lodestar/src/network/gossip/scoringParameters.ts index 494ebfdb65c9..1d29eb9f831e 100644 --- a/packages/lodestar/src/network/gossip/scoringParameters.ts +++ b/packages/lodestar/src/network/gossip/scoringParameters.ts @@ -1,12 +1,12 @@ -import {computeCommitteeCount} from "@chainsafe/lodestar-beacon-state-transition"; -import {IBeaconConfig} from "@chainsafe/lodestar-config"; -import {ATTESTATION_SUBNET_COUNT, SLOTS_PER_EPOCH, TARGET_AGGREGATORS_PER_COMMITTEE} from "@chainsafe/lodestar-params"; import {PeerScoreThresholds} from "libp2p-gossipsub/src/score/index.js"; import { defaultTopicScoreParams, PeerScoreParams, TopicScoreParams, } from "libp2p-gossipsub/src/score/peer-score-params.js"; +import {computeCommitteeCount} from "@chainsafe/lodestar-beacon-state-transition"; +import {IBeaconConfig} from "@chainsafe/lodestar-config"; +import {ATTESTATION_SUBNET_COUNT, SLOTS_PER_EPOCH, TARGET_AGGREGATORS_PER_COMMITTEE} from "@chainsafe/lodestar-params"; import {Eth2Context} from "../../chain/index.js"; import {getActiveForks} from "../forks.js"; import {Eth2GossipsubModules} from "./gossipsub.js"; diff --git a/packages/lodestar/src/network/interface.ts b/packages/lodestar/src/network/interface.ts index 77df36793775..3a860bc388f5 100644 --- a/packages/lodestar/src/network/interface.ts +++ b/packages/lodestar/src/network/interface.ts @@ -2,9 +2,9 @@ * @module network */ import {Connection} from "libp2p"; -import {Discv5, ENR} from "@chainsafe/discv5"; import {Multiaddr} from "multiaddr"; import PeerId from "peer-id"; +import {Discv5, ENR} from "@chainsafe/discv5"; import {INetworkEventBus} from "./events.js"; import {Eth2Gossipsub} from "./gossip/index.js"; import {MetadataController} from "./metadata.js"; diff --git a/packages/lodestar/src/network/nodejs/bundle.ts b/packages/lodestar/src/network/nodejs/bundle.ts index fa04409cf05b..fd466030529f 100644 --- a/packages/lodestar/src/network/nodejs/bundle.ts +++ b/packages/lodestar/src/network/nodejs/bundle.ts @@ -5,11 +5,11 @@ import LibP2p from "libp2p"; import TCP from "libp2p-tcp"; import Mplex from "libp2p-mplex"; -import {NOISE} from "@chainsafe/libp2p-noise"; import Bootstrap from "libp2p-bootstrap"; import MDNS from "libp2p-mdns"; import PeerId from "peer-id"; import {Datastore} from "interface-datastore"; +import {NOISE} from "@chainsafe/libp2p-noise"; export interface ILibp2pOptions { peerId: PeerId; diff --git a/packages/lodestar/src/network/nodejs/util.ts b/packages/lodestar/src/network/nodejs/util.ts index aca2a174b44c..47d28f9e79c2 100644 --- a/packages/lodestar/src/network/nodejs/util.ts +++ b/packages/lodestar/src/network/nodejs/util.ts @@ -4,11 +4,11 @@ import PeerId from "peer-id"; import LibP2p from "libp2p"; -import {NodejsNode} from "./bundle.js"; -import {defaultDiscv5Options, defaultNetworkOptions, INetworkOptions} from "../options.js"; import {ENR} from "@chainsafe/discv5"; +import {defaultDiscv5Options, defaultNetworkOptions, INetworkOptions} from "../options.js"; import {Eth2PeerDataStore} from "../peers/datastore.js"; import {isLocalMultiAddr, clearMultiaddrUDP} from "../util.js"; +import {NodejsNode} from "./bundle.js"; export type NodeJsLibp2pOpts = { peerStoreDir?: string; diff --git a/packages/lodestar/src/network/peers/discover.ts b/packages/lodestar/src/network/peers/discover.ts index 21886a81f1a4..8a1f9dfc4f1d 100644 --- a/packages/lodestar/src/network/peers/discover.ts +++ b/packages/lodestar/src/network/peers/discover.ts @@ -1,7 +1,7 @@ +import crypto from "node:crypto"; import LibP2p from "libp2p"; import PeerId from "peer-id"; import {Multiaddr} from "multiaddr"; -import crypto from "node:crypto"; import {IBeaconConfig} from "@chainsafe/lodestar-config"; import {ILogger} from "@chainsafe/lodestar-utils"; import {Discv5, ENR, IDiscv5Metrics, IDiscv5DiscoveryInputOptions} from "@chainsafe/discv5"; @@ -9,8 +9,8 @@ import {ATTESTATION_SUBNET_COUNT, SYNC_COMMITTEE_SUBNET_COUNT} from "@chainsafe/ import {IMetrics} from "../../metrics/index.js"; import {ENRKey, SubnetType} from "../metadata.js"; import {prettyPrintPeerId} from "../util.js"; -import {IPeerRpcScoreStore, ScoreState} from "./score.js"; import {pruneSetToMax} from "../../util/map.js"; +import {IPeerRpcScoreStore, ScoreState} from "./score.js"; import {deserializeEnrSubnets, zeroAttnets, zeroSyncnets} from "./utils/enrSubnetsDeserialize.js"; /** Max number of cached ENRs after discovering a good peer */ diff --git a/packages/lodestar/src/network/peers/peerManager.ts b/packages/lodestar/src/network/peers/peerManager.ts index fd54afae22c0..1bd4f550d7fe 100644 --- a/packages/lodestar/src/network/peers/peerManager.ts +++ b/packages/lodestar/src/network/peers/peerManager.ts @@ -12,8 +12,10 @@ import {IMetrics} from "../../metrics/index.js"; import {NetworkEvent, INetworkEventBus} from "../events.js"; import {IReqResp, ReqRespMethod, RequestTypedContainer} from "../reqresp/index.js"; import {prettyPrintPeerId} from "../util.js"; -import {PeersData, PeerData} from "./peersData.js"; import {ISubnetsService} from "../subnets/index.js"; +import {SubnetType} from "../metadata.js"; +import {Eth2Gossipsub} from "../gossip/gossipsub.js"; +import {PeersData, PeerData} from "./peersData.js"; import {PeerDiscovery, SubnetDiscvQueryMs} from "./discover.js"; import {IPeerRpcScoreStore, ScoreState, updateGossipsubScores} from "./score.js"; import {clientFromAgentVersion, ClientKind} from "./client.js"; @@ -24,8 +26,6 @@ import { prioritizePeers, renderIrrelevantPeerType, } from "./utils/index.js"; -import {SubnetType} from "../metadata.js"; -import {Eth2Gossipsub} from "../gossip/gossipsub.js"; /** heartbeat performs regular updates such as updating reputations and performing discovery requests */ const HEARTBEAT_INTERVAL_MS = 30 * 1000; diff --git a/packages/lodestar/src/network/peers/peersData.ts b/packages/lodestar/src/network/peers/peersData.ts index 225cec6bfb5d..5fa4759e9b97 100644 --- a/packages/lodestar/src/network/peers/peersData.ts +++ b/packages/lodestar/src/network/peers/peersData.ts @@ -1,7 +1,7 @@ -import {altair} from "@chainsafe/lodestar-types"; import PeerId from "peer-id"; -import {ClientKind} from "./client.js"; +import {altair} from "@chainsafe/lodestar-types"; import {Encoding} from "../reqresp/types.js"; +import {ClientKind} from "./client.js"; type PeerIdStr = string; diff --git a/packages/lodestar/src/network/peers/utils/prioritizePeers.ts b/packages/lodestar/src/network/peers/utils/prioritizePeers.ts index 7de69671179c..6625ca595d93 100644 --- a/packages/lodestar/src/network/peers/utils/prioritizePeers.ts +++ b/packages/lodestar/src/network/peers/utils/prioritizePeers.ts @@ -4,8 +4,8 @@ import {BitArray} from "@chainsafe/ssz"; import {ATTESTATION_SUBNET_COUNT, SYNC_COMMITTEE_SUBNET_COUNT} from "@chainsafe/lodestar-params"; import {shuffle} from "../../../util/shuffle.js"; import {sortBy} from "../../../util/sortBy.js"; -import {RequestedSubnet} from "./subnetMap.js"; import {MapDef} from "../../../util/map.js"; +import {RequestedSubnet} from "./subnetMap.js"; /** Target number of peers we'd like to have connected to a given long-lived subnet */ const TARGET_SUBNET_PEERS = 6; diff --git a/packages/lodestar/src/network/reqresp/encoders/responseEncode.ts b/packages/lodestar/src/network/reqresp/encoders/responseEncode.ts index 14b7c5508a65..3fafd90db329 100644 --- a/packages/lodestar/src/network/reqresp/encoders/responseEncode.ts +++ b/packages/lodestar/src/network/reqresp/encoders/responseEncode.ts @@ -1,6 +1,6 @@ import {ForkName} from "@chainsafe/lodestar-params"; -import {RespStatus, RpcResponseStatusError} from "../../../constants/index.js"; import {IBeaconConfig} from "@chainsafe/lodestar-config"; +import {RespStatus, RpcResponseStatusError} from "../../../constants/index.js"; import {writeEncodedPayload} from "../encodingStrategies/index.js"; import {encodeErrorMessage} from "../utils/index.js"; import { diff --git a/packages/lodestar/src/network/reqresp/interface.ts b/packages/lodestar/src/network/reqresp/interface.ts index a7436b89a5b3..980a53c63465 100644 --- a/packages/lodestar/src/network/reqresp/interface.ts +++ b/packages/lodestar/src/network/reqresp/interface.ts @@ -8,8 +8,8 @@ import {IPeerRpcScoreStore} from "../peers/index.js"; import {MetadataController} from "../metadata.js"; import {INetworkEventBus} from "../events.js"; import {PeersData} from "../peers/peersData.js"; -import {ReqRespHandlers} from "./handlers/index.js"; import {IMetrics} from "../../metrics/index.js"; +import {ReqRespHandlers} from "./handlers/index.js"; import {RequestTypedContainer} from "./types.js"; export interface IReqResp { diff --git a/packages/lodestar/src/network/reqresp/reqResp.ts b/packages/lodestar/src/network/reqresp/reqResp.ts index d0f7b982a232..498f94d15c83 100644 --- a/packages/lodestar/src/network/reqresp/reqResp.ts +++ b/packages/lodestar/src/network/reqresp/reqResp.ts @@ -3,24 +3,25 @@ */ import {Connection} from "libp2p"; import {HandlerProps} from "libp2p/src/registrar"; +import LibP2p from "libp2p"; +import PeerId from "peer-id"; import {ForkName} from "@chainsafe/lodestar-params"; import {IBeaconConfig} from "@chainsafe/lodestar-config"; import {allForks, phase0} from "@chainsafe/lodestar-types"; import {ILogger} from "@chainsafe/lodestar-utils"; -import LibP2p from "libp2p"; -import PeerId from "peer-id"; +import {AbortController} from "@chainsafe/abort-controller"; import {RespStatus, timeoutOptions} from "../../constants/index.js"; +import {IPeerRpcScoreStore} from "../peers/index.js"; +import {MetadataController} from "../metadata.js"; +import {INetworkEventBus, NetworkEvent} from "../events.js"; +import {PeersData} from "../peers/peersData.js"; +import {IMetrics} from "../../metrics/index.js"; import {IReqResp, IReqRespModules, IRateLimiter, Libp2pStream} from "./interface.js"; import {sendRequest} from "./request/index.js"; import {handleRequest, ResponseError} from "./response/index.js"; import {onOutgoingReqRespError} from "./score.js"; -import {IPeerRpcScoreStore} from "../peers/index.js"; import {assertSequentialBlocksInRange, formatProtocolId} from "./utils/index.js"; -import {MetadataController} from "../metadata.js"; -import {INetworkEventBus, NetworkEvent} from "../events.js"; -import {PeersData} from "../peers/peersData.js"; import {ReqRespHandlers} from "./handlers/index.js"; -import {IMetrics} from "../../metrics/index.js"; import {RequestError, RequestErrorCode} from "./request/index.js"; import { Method, diff --git a/packages/lodestar/src/network/reqresp/request/index.ts b/packages/lodestar/src/network/reqresp/request/index.ts index 89b9d27e580f..44067d839070 100644 --- a/packages/lodestar/src/network/reqresp/request/index.ts +++ b/packages/lodestar/src/network/reqresp/request/index.ts @@ -1,6 +1,7 @@ import pipe from "it-pipe"; import PeerId from "peer-id"; import {Libp2p} from "libp2p/src/connection-manager"; +import {AbortSignal} from "@chainsafe/abort-controller"; import {IForkDigestContext} from "@chainsafe/lodestar-config"; import {ErrorAborted, ILogger, withTimeout, TimeoutError} from "@chainsafe/lodestar-utils"; import {timeoutOptions} from "../../../constants/index.js"; diff --git a/packages/lodestar/src/network/reqresp/request/responseTimeoutsHandler.ts b/packages/lodestar/src/network/reqresp/request/responseTimeoutsHandler.ts index 3234c6f3ba08..e2d7a3c2bfd0 100644 --- a/packages/lodestar/src/network/reqresp/request/responseTimeoutsHandler.ts +++ b/packages/lodestar/src/network/reqresp/request/responseTimeoutsHandler.ts @@ -1,4 +1,5 @@ import pipe from "it-pipe"; +import {AbortController} from "@chainsafe/abort-controller"; import {timeoutOptions} from "../../../constants/index.js"; import {abortableSource} from "../../../util/abortableSource.js"; import {onChunk} from "../utils/index.js"; diff --git a/packages/lodestar/src/network/reqresp/response/rateLimiter.ts b/packages/lodestar/src/network/reqresp/response/rateLimiter.ts index 3a921543137a..f25ae2b565f8 100644 --- a/packages/lodestar/src/network/reqresp/response/rateLimiter.ts +++ b/packages/lodestar/src/network/reqresp/response/rateLimiter.ts @@ -1,5 +1,5 @@ -import {ILogger} from "@chainsafe/lodestar-utils"; import PeerId from "peer-id"; +import {ILogger} from "@chainsafe/lodestar-utils"; import {IMetrics} from "../../../metrics/index.js"; import {MapDef} from "../../../util/map.js"; import {IPeerRpcScoreStore, PeerAction} from "../../peers/score.js"; diff --git a/packages/lodestar/src/network/util.ts b/packages/lodestar/src/network/util.ts index f0208bdb30d8..e6fb3079f458 100644 --- a/packages/lodestar/src/network/util.ts +++ b/packages/lodestar/src/network/util.ts @@ -3,9 +3,9 @@ * @module network */ +import {networkInterfaces} from "node:os"; import PeerId from "peer-id"; import {Multiaddr} from "multiaddr"; -import {networkInterfaces} from "node:os"; import {ENR} from "@chainsafe/discv5"; // peers diff --git a/packages/lodestar/src/node/nodejs.ts b/packages/lodestar/src/node/nodejs.ts index 6704953a7b4d..f5afb5bb075e 100644 --- a/packages/lodestar/src/node/nodejs.ts +++ b/packages/lodestar/src/node/nodejs.ts @@ -4,6 +4,7 @@ import LibP2p from "libp2p"; import {Registry} from "prom-client"; +import {AbortController} from "@chainsafe/abort-controller"; import {IBeaconConfig} from "@chainsafe/lodestar-config"; import {phase0} from "@chainsafe/lodestar-types"; diff --git a/packages/lodestar/src/node/options.ts b/packages/lodestar/src/node/options.ts index 4bee906f38b5..48b4997da055 100644 --- a/packages/lodestar/src/node/options.ts +++ b/packages/lodestar/src/node/options.ts @@ -6,11 +6,11 @@ import {defaultApiOptions, IApiOptions} from "../api/options.js"; import {defaultChainOptions, IChainOptions} from "../chain/options.js"; import {defaultDbOptions, IDatabaseOptions} from "../db/options.js"; import {defaultEth1Options, Eth1Options} from "../eth1/options.js"; -import {defaultLoggerOptions, IBeaconLoggerOptions} from "./loggerOptions.js"; import {defaultMetricsOptions, MetricsOptions} from "../metrics/options.js"; import {defaultNetworkOptions, INetworkOptions} from "../network/options.js"; import {defaultSyncOptions, SyncOptions} from "../sync/options.js"; import {defaultExecutionEngineOpts, ExecutionEngineOpts} from "../executionEngine/index.js"; +import {defaultLoggerOptions, IBeaconLoggerOptions} from "./loggerOptions.js"; // Re-export so the CLI doesn't need to depend on lodestar-api export {allNamespaces} from "../api/rest/index.js"; diff --git a/packages/lodestar/src/node/utils/state.ts b/packages/lodestar/src/node/utils/state.ts index 1e110c9b83d9..cb164da253b8 100644 --- a/packages/lodestar/src/node/utils/state.ts +++ b/packages/lodestar/src/node/utils/state.ts @@ -1,10 +1,10 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {BeaconStateAllForks} from "@chainsafe/lodestar-beacon-state-transition"; import {phase0, ssz} from "@chainsafe/lodestar-types"; -import {interopDeposits} from "./interop/deposits.js"; -import {getInteropState, InteropStateOpts} from "./interop/state.js"; import {IBeaconDb} from "../../db/index.js"; import {GENESIS_SLOT} from "../../constants/index.js"; +import {interopDeposits} from "./interop/deposits.js"; +import {getInteropState, InteropStateOpts} from "./interop/state.js"; export async function initDevState( config: IChainForkConfig, diff --git a/packages/lodestar/src/sync/backfill/backfill.ts b/packages/lodestar/src/sync/backfill/backfill.ts index 2e53f273224e..823f13ec897a 100644 --- a/packages/lodestar/src/sync/backfill/backfill.ts +++ b/packages/lodestar/src/sync/backfill/backfill.ts @@ -1,4 +1,3 @@ -import {IMetrics} from "../../metrics/metrics"; import {EventEmitter} from "events"; import PeerId from "peer-id"; import {StrictEventEmitter} from "strict-event-emitter-types"; @@ -8,6 +7,7 @@ import {phase0, Root, Slot, allForks, ssz} from "@chainsafe/lodestar-types"; import {ErrorAborted, ILogger, sleep} from "@chainsafe/lodestar-utils"; import {toHexString} from "@chainsafe/ssz"; +import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {IBeaconChain} from "../../chain/index.js"; import {GENESIS_SLOT, ZERO_HASH} from "../../constants/index.js"; import {IBeaconDb} from "../../db/index.js"; @@ -15,11 +15,11 @@ import {INetwork, NetworkEvent, PeerAction} from "../../network/index.js"; import {ItTrigger} from "../../util/itTrigger.js"; import {PeerSet} from "../../util/peerMap.js"; import {shuffleOne} from "../../util/shuffle.js"; -import {BackfillSyncError, BackfillSyncErrorCode} from "./errors.js"; -import {verifyBlockProposerSignature, verifyBlockSequence, BackfillBlockHeader, BackfillBlock} from "./verify.js"; -import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; +import {IMetrics} from "../../metrics/metrics"; import {byteArrayEquals} from "../../util/bytes.js"; import {computeAnchorCheckpoint} from "../../chain/initState.js"; +import {verifyBlockProposerSignature, verifyBlockSequence, BackfillBlockHeader, BackfillBlock} from "./verify.js"; +import {BackfillSyncError, BackfillSyncErrorCode} from "./errors.js"; /** * Timeout in ms to take a break from reading a backfillBatchSize from db, as just yielding * to sync loop gives hardly any. diff --git a/packages/lodestar/src/sync/backfill/errors.ts b/packages/lodestar/src/sync/backfill/errors.ts index b06ec2c9a340..5f1e04980079 100644 --- a/packages/lodestar/src/sync/backfill/errors.ts +++ b/packages/lodestar/src/sync/backfill/errors.ts @@ -1,5 +1,5 @@ -import {LodestarError} from "@chainsafe/lodestar-utils"; import PeerId from "peer-id"; +import {LodestarError} from "@chainsafe/lodestar-utils"; import {Root} from "@chainsafe/lodestar-types"; export enum BackfillSyncErrorCode { diff --git a/packages/lodestar/src/sync/range/batch.ts b/packages/lodestar/src/sync/range/batch.ts index 6bc29a5bdc88..f35d8f357aad 100644 --- a/packages/lodestar/src/sync/range/batch.ts +++ b/packages/lodestar/src/sync/range/batch.ts @@ -5,8 +5,8 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {LodestarError} from "@chainsafe/lodestar-utils"; import {computeStartSlotAtEpoch} from "@chainsafe/lodestar-beacon-state-transition"; import {BATCH_SLOT_OFFSET, MAX_BATCH_DOWNLOAD_ATTEMPTS, MAX_BATCH_PROCESSING_ATTEMPTS} from "../constants.js"; -import {hashBlocks} from "./utils/index.js"; import {ChainSegmentError, BlockErrorCode} from "../../chain/errors/index.js"; +import {hashBlocks} from "./utils/index.js"; export type BatchOpts = { epochsPerBatch: Epoch; diff --git a/packages/lodestar/src/sync/range/range.ts b/packages/lodestar/src/sync/range/range.ts index a434cf2b37d3..bc7037d02fbc 100644 --- a/packages/lodestar/src/sync/range/range.ts +++ b/packages/lodestar/src/sync/range/range.ts @@ -9,9 +9,9 @@ import {IBeaconChain} from "../../chain/index.js"; import {INetwork} from "../../network/index.js"; import {IMetrics} from "../../metrics/index.js"; import {RangeSyncType, getRangeSyncType, rangeSyncTypes} from "../utils/remoteSyncType.js"; +import {PartiallyVerifiedBlockFlags} from "../../chain/blocks/index.js"; import {updateChains} from "./utils/index.js"; import {ChainTarget, SyncChainFns, SyncChain, SyncChainOpts, SyncChainDebugState} from "./chain.js"; -import {PartiallyVerifiedBlockFlags} from "../../chain/blocks/index.js"; export enum RangeSyncEvent { completedChain = "RangeSync-completedChain", diff --git a/packages/lodestar/src/sync/sync.ts b/packages/lodestar/src/sync/sync.ts index 99fea2f6f935..2d77865da73b 100644 --- a/packages/lodestar/src/sync/sync.ts +++ b/packages/lodestar/src/sync/sync.ts @@ -1,11 +1,11 @@ import PeerId from "peer-id"; -import {IBeaconSync, ISyncModules, SyncingStatus} from "./interface.js"; -import {INetwork, NetworkEvent} from "../network/index.js"; import {ILogger} from "@chainsafe/lodestar-utils"; import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {Slot, phase0} from "@chainsafe/lodestar-types"; +import {INetwork, NetworkEvent} from "../network/index.js"; import {IMetrics} from "../metrics/index.js"; import {ChainEvent, IBeaconChain} from "../chain/index.js"; +import {IBeaconSync, ISyncModules, SyncingStatus} from "./interface.js"; import {RangeSync, RangeSyncStatus, RangeSyncEvent} from "./range/range.js"; import {getPeerSyncType, PeerSyncType, peerSyncTypes} from "./utils/remoteSyncType.js"; import {MIN_EPOCH_TO_START_GOSSIP} from "./constants.js"; diff --git a/packages/lodestar/src/sync/unknownBlock.ts b/packages/lodestar/src/sync/unknownBlock.ts index 5f27e7978b9b..8886a6e355cd 100644 --- a/packages/lodestar/src/sync/unknownBlock.ts +++ b/packages/lodestar/src/sync/unknownBlock.ts @@ -1,3 +1,4 @@ +import PeerId from "peer-id"; import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {ILogger} from "@chainsafe/lodestar-utils"; import {allForks, Root, RootHex} from "@chainsafe/lodestar-types"; @@ -7,7 +8,6 @@ import {IBeaconChain} from "../chain/index.js"; import {IMetrics} from "../metrics/index.js"; import {shuffle} from "../util/shuffle.js"; import {byteArrayEquals} from "../util/bytes.js"; -import PeerId from "peer-id"; import {BlockError, BlockErrorCode} from "../chain/errors/index.js"; import {wrapError} from "../util/wrapError.js"; import {pruneSetToMax} from "../util/map.js"; diff --git a/packages/lodestar/test/e2e/db/api/beacon/repositories/blockArchive.test.ts b/packages/lodestar/test/e2e/db/api/beacon/repositories/blockArchive.test.ts index a866967bea11..f7546f0af5b0 100644 --- a/packages/lodestar/test/e2e/db/api/beacon/repositories/blockArchive.test.ts +++ b/packages/lodestar/test/e2e/db/api/beacon/repositories/blockArchive.test.ts @@ -1,11 +1,11 @@ -import {BeaconDb} from "../../../../../../src/db/index.js"; +import {expect} from "chai"; import {config} from "@chainsafe/lodestar-config/default"; import {LevelDbController} from "@chainsafe/lodestar-db"; -import {generateSignedBlock} from "../../../../../utils/block.js"; -import {testLogger} from "../../../../../utils/logger.js"; import {fromHexString} from "@chainsafe/ssz"; import {allForks, phase0, ssz} from "@chainsafe/lodestar-types"; -import {expect} from "chai"; +import {BeaconDb} from "../../../../../../src/db/index.js"; +import {generateSignedBlock} from "../../../../../utils/block.js"; +import {testLogger} from "../../../../../utils/logger.js"; import {BlockArchiveBatchPutBinaryItem} from "../../../../../../src/db/repositories/index.js"; describe("BlockArchiveRepository", function () { diff --git a/packages/lodestar/test/e2e/eth1/eth1ForBlockProduction.test.ts b/packages/lodestar/test/e2e/eth1/eth1ForBlockProduction.test.ts index 1338a61d69da..f97a5bacc042 100644 --- a/packages/lodestar/test/e2e/eth1/eth1ForBlockProduction.test.ts +++ b/packages/lodestar/test/e2e/eth1/eth1ForBlockProduction.test.ts @@ -1,19 +1,19 @@ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ import "mocha"; -import {expect} from "chai"; import {promisify} from "node:util"; +import {expect} from "chai"; import leveldown from "leveldown"; import {sleep} from "@chainsafe/lodestar-utils"; import {LevelDbController} from "@chainsafe/lodestar-db"; +import {fromHexString, toHexString} from "@chainsafe/ssz"; +import {ssz} from "@chainsafe/lodestar-types"; import {Eth1ForBlockProduction} from "../../../src/eth1/index.js"; import {Eth1Options} from "../../../src/eth1/options.js"; import {getTestnetConfig, medallaTestnetConfig} from "../../utils/testnet.js"; import {testLogger} from "../../utils/logger.js"; import {BeaconDb} from "../../../src/db/index.js"; import {generateState} from "../../utils/state.js"; -import {fromHexString, toHexString} from "@chainsafe/ssz"; -import {ssz} from "@chainsafe/lodestar-types"; import {Eth1Provider} from "../../../src/eth1/provider/eth1Provider.js"; import {getGoerliRpcUrl} from "../../testParams.js"; import {createCachedBeaconStateTest} from "../../utils/cachedBeaconState.js"; diff --git a/packages/lodestar/test/e2e/eth1/eth1MergeBlockTracker.test.ts b/packages/lodestar/test/e2e/eth1/eth1MergeBlockTracker.test.ts index 9fc90bee17c7..e9b5459f3e56 100644 --- a/packages/lodestar/test/e2e/eth1/eth1MergeBlockTracker.test.ts +++ b/packages/lodestar/test/e2e/eth1/eth1MergeBlockTracker.test.ts @@ -1,7 +1,8 @@ +import {expect} from "chai"; +import {AbortController} from "@chainsafe/abort-controller"; import {IChainConfig} from "@chainsafe/lodestar-config"; import {sleep} from "@chainsafe/lodestar-utils"; import {fromHexString} from "@chainsafe/ssz"; -import {expect} from "chai"; import {Eth1Provider, IEth1Provider} from "../../../src/index.js"; import {Eth1MergeBlockTracker, StatusCode} from "../../../src/eth1/eth1MergeBlockTracker.js"; import {Eth1Options} from "../../../src/eth1/options.js"; diff --git a/packages/lodestar/test/e2e/eth1/eth1Provider.test.ts b/packages/lodestar/test/e2e/eth1/eth1Provider.test.ts index 83dc9fecd85d..35ac2c58100a 100644 --- a/packages/lodestar/test/e2e/eth1/eth1Provider.test.ts +++ b/packages/lodestar/test/e2e/eth1/eth1Provider.test.ts @@ -1,8 +1,9 @@ import "mocha"; import {expect} from "chai"; +import {AbortController} from "@chainsafe/abort-controller"; +import {fromHexString} from "@chainsafe/ssz"; import {Eth1Options} from "../../../src/eth1/options.js"; import {getTestnetConfig} from "../../utils/testnet.js"; -import {fromHexString} from "@chainsafe/ssz"; import {goerliTestnetDepositEvents} from "../../utils/testnet.js"; import {Eth1Provider, parseEth1Block} from "../../../src/eth1/provider/eth1Provider.js"; import {Eth1Block} from "../../../src/eth1/interface.js"; diff --git a/packages/lodestar/test/e2e/eth1/jsonRpcHttpClient.test.ts b/packages/lodestar/test/e2e/eth1/jsonRpcHttpClient.test.ts index 65ad277f8410..9c9c7df5b084 100644 --- a/packages/lodestar/test/e2e/eth1/jsonRpcHttpClient.test.ts +++ b/packages/lodestar/test/e2e/eth1/jsonRpcHttpClient.test.ts @@ -1,7 +1,8 @@ import "mocha"; +import http from "node:http"; import chai, {expect} from "chai"; import chaiAsPromised from "chai-as-promised"; -import http from "node:http"; +import {AbortController} from "@chainsafe/abort-controller"; import {JsonRpcHttpClient} from "../../../src/eth1/provider/jsonRpcHttpClient.js"; import {getGoerliRpcUrl} from "../../testParams.js"; import {IRpcPayload} from "../../../src/eth1/interface.js"; diff --git a/packages/lodestar/test/e2e/interop/genesisState.test.ts b/packages/lodestar/test/e2e/interop/genesisState.test.ts index f4ce969c2761..e51b6a8f229b 100644 --- a/packages/lodestar/test/e2e/interop/genesisState.test.ts +++ b/packages/lodestar/test/e2e/interop/genesisState.test.ts @@ -2,11 +2,11 @@ import {expect} from "chai"; import {toHexString} from "@chainsafe/ssz"; import {LevelDbController} from "@chainsafe/lodestar-db"; import {config} from "@chainsafe/lodestar-config/default"; +import {ssz} from "@chainsafe/lodestar-types"; import {BeaconDb} from "../../../src/index.js"; import {initDevState} from "../../../src/node/utils/state.js"; import {testLogger} from "../../utils/logger.js"; import {interopDeposits} from "../../../src/node/utils/interop/deposits.js"; -import {ssz} from "@chainsafe/lodestar-types"; describe("interop / initDevState", () => { let db: BeaconDb; diff --git a/packages/lodestar/test/e2e/keymanager/keymanager.test.ts b/packages/lodestar/test/e2e/keymanager/keymanager.test.ts index 02a5aa5cc577..f09e884187b8 100644 --- a/packages/lodestar/test/e2e/keymanager/keymanager.test.ts +++ b/packages/lodestar/test/e2e/keymanager/keymanager.test.ts @@ -1,17 +1,17 @@ -import chaiAsPromised from "chai-as-promised"; -import chai, {expect} from "chai"; import fs from "node:fs"; import path from "node:path"; +import chaiAsPromised from "chai-as-promised"; +import chai, {expect} from "chai"; import tmp from "tmp"; import {createIBeaconConfig, IBeaconConfig, IChainConfig} from "@chainsafe/lodestar-config"; import {KeymanagerApi, KeymanagerServer} from "@chainsafe/lodestar-keymanager-server"; import {chainConfig as chainConfigDef} from "@chainsafe/lodestar-config/default"; import {HttpClient} from "@chainsafe/lodestar-api"; -import {getClient} from "../../../../api/src/keymanager/client.js"; import {ISlashingProtection, Validator} from "@chainsafe/lodestar-validator"; import {fromHexString} from "@chainsafe/ssz"; import {WinstonLogger} from "@chainsafe/lodestar-utils"; import {ssz} from "@chainsafe/lodestar-types"; +import {getClient} from "../../../../api/src/keymanager/client.js"; import {LogLevel, testLogger, TestLoggerOpts} from "../../utils/logger.js"; import {getDevBeaconNode} from "../../utils/node/beacon.js"; import {getAndInitDevValidators, getAndInitValidatorsWithKeystore} from "../../utils/node/validator.js"; diff --git a/packages/lodestar/test/e2e/network/network.test.ts b/packages/lodestar/test/e2e/network/network.test.ts index 087c9adef111..ce937f071352 100644 --- a/packages/lodestar/test/e2e/network/network.test.ts +++ b/packages/lodestar/test/e2e/network/network.test.ts @@ -2,6 +2,8 @@ import sinon from "sinon"; import {expect} from "chai"; import PeerId from "peer-id"; +import {Multiaddr} from "multiaddr"; + import {ENR} from "@chainsafe/discv5"; import {createIBeaconConfig} from "@chainsafe/lodestar-config"; import {config} from "@chainsafe/lodestar-config/default"; @@ -23,7 +25,6 @@ import {CommitteeSubscription} from "../../../src/network/subnets/index.js"; import {GossipHandlers} from "../../../src/network/gossip/index.js"; import {ENRKey} from "../../../src/network/metadata.js"; import {memoOnce} from "../../utils/cache.js"; -import {Multiaddr} from "multiaddr"; let port = 9000; const multiaddr = "/ip4/127.0.0.1/tcp/0"; diff --git a/packages/lodestar/test/e2e/network/peers/peerManager.test.ts b/packages/lodestar/test/e2e/network/peers/peerManager.test.ts index 312f242cce5d..304c2939f35d 100644 --- a/packages/lodestar/test/e2e/network/peers/peerManager.test.ts +++ b/packages/lodestar/test/e2e/network/peers/peerManager.test.ts @@ -1,9 +1,12 @@ -import {Connection} from "libp2p"; import {EventEmitter} from "events"; +import {Connection} from "libp2p"; import sinon from "sinon"; import {expect} from "chai"; import {config} from "@chainsafe/lodestar-config/default"; import {BitArray} from "@chainsafe/ssz"; +import {altair, phase0, ssz} from "@chainsafe/lodestar-types"; +import {sleep} from "@chainsafe/lodestar-utils"; +import {createIBeaconConfig} from "@chainsafe/lodestar-config"; import {IReqResp, ReqRespMethod} from "../../../../src/network/reqresp/index.js"; import {PeerRpcScoreStore, PeerManager} from "../../../../src/network/peers/index.js"; import {Eth2Gossipsub, NetworkEvent, NetworkEventBus} from "../../../../src/network/index.js"; @@ -12,13 +15,10 @@ import {createNode, getAttnets, getSyncnets} from "../../../utils/network.js"; import {MockBeaconChain} from "../../../utils/mocks/chain/chain.js"; import {generateEmptySignedBlock} from "../../../utils/block.js"; import {generateState} from "../../../utils/state.js"; -import {altair, phase0, ssz} from "@chainsafe/lodestar-types"; -import {sleep} from "@chainsafe/lodestar-utils"; import {waitForEvent} from "../../../utils/events/resolver.js"; import {testLogger} from "../../../utils/logger.js"; import {getValidPeerId} from "../../../utils/peer.js"; import {IAttnetsService} from "../../../../src/network/subnets/index.js"; -import {createIBeaconConfig} from "@chainsafe/lodestar-config"; const logger = testLogger(); diff --git a/packages/lodestar/test/e2e/network/reqresp.test.ts b/packages/lodestar/test/e2e/network/reqresp.test.ts index 208b6909faf3..0cbdf96a1b9f 100644 --- a/packages/lodestar/test/e2e/network/reqresp.test.ts +++ b/packages/lodestar/test/e2e/network/reqresp.test.ts @@ -1,6 +1,7 @@ import chai, {expect} from "chai"; import chaiAsPromised from "chai-as-promised"; import PeerId from "peer-id"; +import {AbortController} from "@chainsafe/abort-controller"; import {createIBeaconConfig} from "@chainsafe/lodestar-config"; import {config} from "@chainsafe/lodestar-config/default"; import {sleep as _sleep} from "@chainsafe/lodestar-utils"; diff --git a/packages/lodestar/test/e2e/sync/finalizedSync.test.ts b/packages/lodestar/test/e2e/sync/finalizedSync.test.ts index 522f76741a86..25d249c0caf8 100644 --- a/packages/lodestar/test/e2e/sync/finalizedSync.test.ts +++ b/packages/lodestar/test/e2e/sync/finalizedSync.test.ts @@ -1,14 +1,14 @@ -import {IChainConfig} from "@chainsafe/lodestar-config"; import {assert} from "chai"; +import {IChainConfig} from "@chainsafe/lodestar-config"; +import {phase0, ssz} from "@chainsafe/lodestar-types"; +import {fromHexString} from "@chainsafe/ssz"; import {getDevBeaconNode} from "../../utils/node/beacon.js"; import {waitForEvent} from "../../utils/events/resolver.js"; -import {phase0, ssz} from "@chainsafe/lodestar-types"; import {getAndInitDevValidators} from "../../utils/node/validator.js"; import {ChainEvent} from "../../../src/chain/index.js"; import {Network} from "../../../src/network/index.js"; import {connect} from "../../utils/network.js"; import {testLogger, LogLevel, TestLoggerOpts} from "../../utils/logger.js"; -import {fromHexString} from "@chainsafe/ssz"; describe("sync / finalized sync", function () { const validatorCount = 8; diff --git a/packages/lodestar/test/e2e/sync/unknownBlockSync.test.ts b/packages/lodestar/test/e2e/sync/unknownBlockSync.test.ts index bf4b7a4e64d2..c3413eb294e1 100644 --- a/packages/lodestar/test/e2e/sync/unknownBlockSync.test.ts +++ b/packages/lodestar/test/e2e/sync/unknownBlockSync.test.ts @@ -1,15 +1,15 @@ import {IChainConfig} from "@chainsafe/lodestar-config"; +import {phase0, ssz} from "@chainsafe/lodestar-types"; +import {fromHexString} from "@chainsafe/ssz"; +import {TimestampFormatCode} from "@chainsafe/lodestar-utils"; +import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {getDevBeaconNode} from "../../utils/node/beacon.js"; import {waitForEvent} from "../../utils/events/resolver.js"; -import {phase0, ssz} from "@chainsafe/lodestar-types"; import {getAndInitDevValidators} from "../../utils/node/validator.js"; import {ChainEvent} from "../../../src/chain/index.js"; import {Network, NetworkEvent} from "../../../src/network/index.js"; import {connect} from "../../utils/network.js"; import {testLogger, LogLevel, TestLoggerOpts} from "../../utils/logger.js"; -import {fromHexString} from "@chainsafe/ssz"; -import {TimestampFormatCode} from "@chainsafe/lodestar-utils"; -import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {BlockError, BlockErrorCode} from "../../../src/chain/errors/index.js"; describe("sync / unknown block sync", function () { diff --git a/packages/lodestar/test/e2e/sync/wss.test.ts b/packages/lodestar/test/e2e/sync/wss.test.ts index d161cc8c6f95..8ee331115680 100644 --- a/packages/lodestar/test/e2e/sync/wss.test.ts +++ b/packages/lodestar/test/e2e/sync/wss.test.ts @@ -1,8 +1,9 @@ import {GENESIS_SLOT, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {phase0, Slot} from "@chainsafe/lodestar-types"; import {IChainConfig} from "@chainsafe/lodestar-config"; -import {fetchWeakSubjectivityState} from "../../../../cli/src/networks/index.js"; import {config} from "@chainsafe/lodestar-config/default"; +import {TimestampFormatCode} from "@chainsafe/lodestar-utils"; +import {fetchWeakSubjectivityState} from "../../../../cli/src/networks/index.js"; import {getDevBeaconNode} from "../../utils/node/beacon.js"; import {waitForEvent} from "../../utils/events/resolver.js"; import {getAndInitDevValidators} from "../../utils/node/validator.js"; @@ -12,7 +13,6 @@ import {testLogger, TestLoggerOpts} from "../../utils/logger.js"; import {connect} from "../../utils/network.js"; import {Network} from "../../../src/network/index.js"; import {BackfillSyncEvent} from "../../../src/sync/backfill/index.js"; -import {TimestampFormatCode} from "@chainsafe/lodestar-utils"; /* eslint-disable @typescript-eslint/naming-convention */ describe("Start from WSS", function () { diff --git a/packages/lodestar/test/memory/bytesHex.ts b/packages/lodestar/test/memory/bytesHex.ts index f832c82e6a3e..44115d345b2c 100644 --- a/packages/lodestar/test/memory/bytesHex.ts +++ b/packages/lodestar/test/memory/bytesHex.ts @@ -1,5 +1,5 @@ -import {toHexString} from "@chainsafe/ssz"; import crypto from "node:crypto"; +import {toHexString} from "@chainsafe/ssz"; import {testRunnerMemory} from "./testRunnerMemory.js"; // Results in Linux Dec 2021 diff --git a/packages/lodestar/test/memory/pubkeysToIndex.ts b/packages/lodestar/test/memory/pubkeysToIndex.ts index 39125c8cbdc1..b647d153dba2 100644 --- a/packages/lodestar/test/memory/pubkeysToIndex.ts +++ b/packages/lodestar/test/memory/pubkeysToIndex.ts @@ -1,5 +1,5 @@ -import {toHexString} from "@chainsafe/ssz"; import crypto from "node:crypto"; +import {toHexString} from "@chainsafe/ssz"; import {testRunnerMemory} from "./testRunnerMemory.js"; // Results in Linux Jan 2022 diff --git a/packages/lodestar/test/perf/chain/opPools/aggregatedAttestationPool.test.ts b/packages/lodestar/test/perf/chain/opPools/aggregatedAttestationPool.test.ts index da6cef164571..bc4b6b2035d5 100644 --- a/packages/lodestar/test/perf/chain/opPools/aggregatedAttestationPool.test.ts +++ b/packages/lodestar/test/perf/chain/opPools/aggregatedAttestationPool.test.ts @@ -6,10 +6,10 @@ import { computeStartSlotAtEpoch, getBlockRootAtSlot, } from "@chainsafe/lodestar-beacon-state-transition"; -import {AggregatedAttestationPool} from "../../../../src/chain/opPools/aggregatedAttestationPool.js"; import {SLOTS_PER_EPOCH, TIMELY_SOURCE_FLAG_INDEX} from "@chainsafe/lodestar-params"; -import {generatePerfTestCachedStateAltair} from "../../../../../beacon-state-transition/test/perf/util.js"; import {BitArray} from "@chainsafe/ssz"; +import {AggregatedAttestationPool} from "../../../../src/chain/opPools/aggregatedAttestationPool.js"; +import {generatePerfTestCachedStateAltair} from "../../../../../beacon-state-transition/test/perf/util.js"; /** Same to https://github.com/ethereum/eth2.0-specs/blob/v1.1.0-alpha.5/specs/altair/beacon-chain.md#has_flag */ const TIMELY_SOURCE = 1 << TIMELY_SOURCE_FLAG_INDEX; diff --git a/packages/lodestar/test/perf/chain/seenCache/seenAggregateAndProof.test.ts b/packages/lodestar/test/perf/chain/seenCache/seenAggregateAndProof.test.ts index bcd44e59d4e2..b51fef5a256a 100644 --- a/packages/lodestar/test/perf/chain/seenCache/seenAggregateAndProof.test.ts +++ b/packages/lodestar/test/perf/chain/seenCache/seenAggregateAndProof.test.ts @@ -1,6 +1,6 @@ +import {itBench} from "@dapplion/benchmark"; import {TARGET_AGGREGATORS_PER_COMMITTEE} from "@chainsafe/lodestar-params"; import {BitArray} from "@chainsafe/ssz"; -import {itBench} from "@dapplion/benchmark"; import {SeenAggregatedAttestations} from "../../../../src/chain/seenCache/seenAggregateAndProof.js"; describe("SeenAggregatedAttestations perf test", function () { diff --git a/packages/lodestar/test/perf/chain/verifyImportBlocks.test.ts b/packages/lodestar/test/perf/chain/verifyImportBlocks.test.ts index 606981aca242..4e4e2d71bbc8 100644 --- a/packages/lodestar/test/perf/chain/verifyImportBlocks.test.ts +++ b/packages/lodestar/test/perf/chain/verifyImportBlocks.test.ts @@ -1,21 +1,21 @@ import {itBench, setBenchOpts} from "@dapplion/benchmark"; +import {config} from "@chainsafe/lodestar-config/default"; +import {SAFE_SLOTS_TO_IMPORT_OPTIMISTICALLY, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; +import {LevelDbController} from "@chainsafe/lodestar-db"; +import {sleep} from "@chainsafe/lodestar-utils"; +import {defaultDefaultFeeRecipient} from "@chainsafe/lodestar-validator"; import { beforeValue, getNetworkCachedState, getNetworkCachedBlock, } from "../../../../beacon-state-transition/test/utils/index.js"; import {rangeSyncTest} from "../../../../beacon-state-transition/test/perf/params.js"; -import {config} from "@chainsafe/lodestar-config/default"; -import {SAFE_SLOTS_TO_IMPORT_OPTIMISTICALLY, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {BeaconChain} from "../../../src/chain/index.js"; import {ExecutionEngineDisabled} from "../../../src/executionEngine/index.js"; import {Eth1ForBlockProductionDisabled} from "../../../src/eth1/index.js"; import {testLogger} from "../../utils/logger.js"; import {linspace} from "../../../src/util/numpy.js"; import {BeaconDb} from "../../../src/index.js"; -import {LevelDbController} from "@chainsafe/lodestar-db"; -import {sleep} from "@chainsafe/lodestar-utils"; -import {defaultDefaultFeeRecipient} from "@chainsafe/lodestar-validator"; // Define this params in `packages/beacon-state-transition/test/perf/params.ts` // to trigger Github actions CI cache diff --git a/packages/lodestar/test/perf/eth1/pickEth1Vote.test.ts b/packages/lodestar/test/perf/eth1/pickEth1Vote.test.ts index 33eaca98a89f..a34e654273f4 100644 --- a/packages/lodestar/test/perf/eth1/pickEth1Vote.test.ts +++ b/packages/lodestar/test/perf/eth1/pickEth1Vote.test.ts @@ -1,8 +1,8 @@ import {itBench, setBenchOpts} from "@dapplion/benchmark"; import {phase0, ssz} from "@chainsafe/lodestar-types"; -import {fastSerializeEth1Data, pickEth1Vote} from "../../../src/eth1/utils/eth1Vote.js"; import {ContainerType, ListCompositeType} from "@chainsafe/ssz"; import {newFilledArray, BeaconStateAllForks} from "@chainsafe/lodestar-beacon-state-transition"; +import {fastSerializeEth1Data, pickEth1Vote} from "../../../src/eth1/utils/eth1Vote.js"; describe("eth1 / pickEth1Vote", () => { const ETH1_FOLLOW_DISTANCE_MAINNET = 2048; diff --git a/packages/lodestar/test/perf/network/peers/enrSubnetsDeserialize.test.ts b/packages/lodestar/test/perf/network/peers/enrSubnetsDeserialize.test.ts index 3a6d55314672..6cda9581e82b 100644 --- a/packages/lodestar/test/perf/network/peers/enrSubnetsDeserialize.test.ts +++ b/packages/lodestar/test/perf/network/peers/enrSubnetsDeserialize.test.ts @@ -1,7 +1,7 @@ import {itBench} from "@dapplion/benchmark"; +import {expect} from "chai"; import {SYNC_COMMITTEE_SUBNET_COUNT, ATTESTATION_SUBNET_COUNT} from "@chainsafe/lodestar-params"; import {ssz} from "@chainsafe/lodestar-types"; -import {expect} from "chai"; import {deserializeEnrSubnets} from "../../../../src/network/peers/utils/enrSubnetsDeserialize.js"; /** diff --git a/packages/lodestar/test/perf/network/peers/util/prioritizePeers.test.ts b/packages/lodestar/test/perf/network/peers/util/prioritizePeers.test.ts index 47e8b3431edb..5f5a766bce9e 100644 --- a/packages/lodestar/test/perf/network/peers/util/prioritizePeers.test.ts +++ b/packages/lodestar/test/perf/network/peers/util/prioritizePeers.test.ts @@ -1,7 +1,7 @@ -import {ATTESTATION_SUBNET_COUNT, SYNC_COMMITTEE_SUBNET_COUNT} from "@chainsafe/lodestar-params"; -import {altair, phase0} from "@chainsafe/lodestar-types"; import {itBench} from "@dapplion/benchmark"; import PeerId from "peer-id"; +import {ATTESTATION_SUBNET_COUNT, SYNC_COMMITTEE_SUBNET_COUNT} from "@chainsafe/lodestar-params"; +import {altair, phase0} from "@chainsafe/lodestar-types"; import {defaultNetworkOptions} from "../../../../../src/network/options.js"; import {prioritizePeers, RequestedSubnet} from "../../../../../src/network/peers/utils/index.js"; import {getAttnets, getSyncnets} from "../../../../utils/network.js"; diff --git a/packages/lodestar/test/perf/util/bitArray.test.ts b/packages/lodestar/test/perf/util/bitArray.test.ts index 865edd80a6b7..fe86aad11a09 100644 --- a/packages/lodestar/test/perf/util/bitArray.test.ts +++ b/packages/lodestar/test/perf/util/bitArray.test.ts @@ -1,5 +1,5 @@ -import {BitArray} from "@chainsafe/ssz"; import {itBench, setBenchOpts} from "@dapplion/benchmark"; +import {BitArray} from "@chainsafe/ssz"; import {intersectUint8Arrays} from "../../../src/util/bitArray.js"; /** diff --git a/packages/lodestar/test/sim/merge-interop.test.ts b/packages/lodestar/test/sim/merge-interop.test.ts index f2ad29b5e06c..b2d9b1ed5765 100644 --- a/packages/lodestar/test/sim/merge-interop.test.ts +++ b/packages/lodestar/test/sim/merge-interop.test.ts @@ -11,10 +11,8 @@ import {bellatrix} from "@chainsafe/lodestar-beacon-state-transition"; import {ExecutePayloadStatus} from "../../src/executionEngine/interface.js"; import {ExecutionEngineHttp} from "../../src/executionEngine/http.js"; -import {shell} from "./shell.js"; import {ChainEvent} from "../../src/chain/index.js"; import {testLogger, TestLoggerOpts} from "../utils/logger.js"; -import {logFilesDir} from "./params.js"; import {getDevBeaconNode} from "../utils/node/beacon.js"; import {RestApiOptions} from "../../src/api/index.js"; import {simTestInfoTracker} from "../utils/node/simTest.js"; @@ -22,6 +20,8 @@ import {getAndInitDevValidators} from "../utils/node/validator.js"; import {Eth1Provider} from "../../src/index.js"; import {ZERO_HASH} from "../../src/constants/index.js"; import {bytesToData, dataToBytes, quantityToNum} from "../../src/eth1/provider/utils.js"; +import {logFilesDir} from "./params.js"; +import {shell} from "./shell.js"; // NOTE: Must specify // EL_BINARY_DIR: File path to locate the EL executable diff --git a/packages/lodestar/test/sim/multiNodeMultiThread.test.ts b/packages/lodestar/test/sim/multiNodeMultiThread.test.ts index 717ee86e473b..6e1ca80e0084 100644 --- a/packages/lodestar/test/sim/multiNodeMultiThread.test.ts +++ b/packages/lodestar/test/sim/multiNodeMultiThread.test.ts @@ -1,15 +1,15 @@ import path from "node:path"; import os from "node:os"; import {Worker} from "worker_threads"; +import {fileURLToPath} from "node:url"; import {phase0} from "@chainsafe/lodestar-types"; import {toHexString} from "@chainsafe/ssz"; +import {IChainConfig} from "@chainsafe/lodestar-config"; import {waitForEvent} from "../utils/events/resolver.js"; import {ChainEvent} from "../../src/chain/index.js"; import {createPeerId} from "../../src/network/index.js"; import {logFilesDir} from "./params.js"; import {NodeWorkerOptions} from "./threaded/types.js"; -import {IChainConfig} from "@chainsafe/lodestar-config"; -import {fileURLToPath} from "node:url"; // Global variable __dirname no longer available in ES6 modules. // Solutions: https://stackoverflow.com/questions/46745014/alternative-for-dirname-in-node-js-when-using-es6-modules diff --git a/packages/lodestar/test/sim/multiNodeSingleThread.test.ts b/packages/lodestar/test/sim/multiNodeSingleThread.test.ts index c0d6d001be74..c9e4698d7292 100644 --- a/packages/lodestar/test/sim/multiNodeSingleThread.test.ts +++ b/packages/lodestar/test/sim/multiNodeSingleThread.test.ts @@ -1,18 +1,18 @@ import {IChainConfig} from "@chainsafe/lodestar-config"; +import {phase0} from "@chainsafe/lodestar-types"; +import {Validator} from "@chainsafe/lodestar-validator/lib"; +import {ILogger, sleep, TimestampFormatCode} from "@chainsafe/lodestar-utils"; +import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {Network} from "../../src/network/index.js"; import {getDevBeaconNode} from "../utils/node/beacon.js"; import {waitForEvent} from "../utils/events/resolver.js"; -import {phase0} from "@chainsafe/lodestar-types"; import {getAndInitDevValidators} from "../utils/node/validator.js"; -import {Validator} from "@chainsafe/lodestar-validator/lib"; import {BeaconNode} from "../../src/node/index.js"; import {ChainEvent} from "../../src/chain/index.js"; import {testLogger, LogLevel, TestLoggerOpts} from "../utils/logger.js"; import {connect} from "../utils/network.js"; -import {logFilesDir} from "./params.js"; import {simTestInfoTracker} from "../utils/node/simTest.js"; -import {ILogger, sleep, TimestampFormatCode} from "@chainsafe/lodestar-utils"; -import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; +import {logFilesDir} from "./params.js"; /* eslint-disable no-console, @typescript-eslint/naming-convention */ diff --git a/packages/lodestar/test/sim/singleNodeSingleThread.test.ts b/packages/lodestar/test/sim/singleNodeSingleThread.test.ts index e148e1c89671..5127ed6fe452 100644 --- a/packages/lodestar/test/sim/singleNodeSingleThread.test.ts +++ b/packages/lodestar/test/sim/singleNodeSingleThread.test.ts @@ -1,18 +1,18 @@ import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {phase0} from "@chainsafe/lodestar-types"; import {toHexString} from "@chainsafe/ssz"; +import {sleep, TimestampFormatCode} from "@chainsafe/lodestar-utils"; +import {IChainConfig} from "@chainsafe/lodestar-config"; import {getDevBeaconNode} from "../utils/node/beacon.js"; import {waitForEvent} from "../utils/events/resolver.js"; import {getAndInitDevValidators} from "../utils/node/validator.js"; import {ChainEvent} from "../../src/chain/index.js"; import {RestApiOptions} from "../../src/api/rest/index.js"; import {testLogger, TestLoggerOpts, LogLevel} from "../utils/logger.js"; -import {logFilesDir} from "./params.js"; import {simTestInfoTracker} from "../utils/node/simTest.js"; -import {sleep, TimestampFormatCode} from "@chainsafe/lodestar-utils"; -import {IChainConfig} from "@chainsafe/lodestar-config"; import {INTEROP_BLOCK_HASH} from "../../src/node/utils/interop/state.js"; import {createExternalSignerServer} from "../../../validator/test/utils/createExternalSignerServer.js"; +import {logFilesDir} from "./params.js"; /* eslint-disable no-console, @typescript-eslint/naming-convention */ diff --git a/packages/lodestar/test/sim/threaded/noEth1SimWorker.ts b/packages/lodestar/test/sim/threaded/noEth1SimWorker.ts index f2ba2ef9d8c7..46aec8f9374d 100644 --- a/packages/lodestar/test/sim/threaded/noEth1SimWorker.ts +++ b/packages/lodestar/test/sim/threaded/noEth1SimWorker.ts @@ -2,20 +2,20 @@ // NOTE: @typescript*no-unsafe* rules are disabled above because `workerData` is typed as `any` import {parentPort, workerData} from "worker_threads"; +import {Multiaddr} from "multiaddr"; +import {createFromPrivKey} from "peer-id"; import {phase0, ssz} from "@chainsafe/lodestar-types"; +import {sleep, TimestampFormatCode, withTimeout} from "@chainsafe/lodestar-utils"; +import {fromHexString} from "@chainsafe/ssz"; +import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {getDevBeaconNode} from "../../utils/node/beacon.js"; import {getAndInitDevValidators} from "../../utils/node/validator.js"; import {testLogger, LogLevel, TestLoggerOpts} from "../../utils/logger.js"; import {connect} from "../../utils/network.js"; import {Network} from "../../../src/network/index.js"; -import {NodeWorkerOptions, Message} from "./types.js"; -import {Multiaddr} from "multiaddr"; -import {sleep, TimestampFormatCode, withTimeout} from "@chainsafe/lodestar-utils"; -import {fromHexString} from "@chainsafe/ssz"; -import {createFromPrivKey} from "peer-id"; import {simTestInfoTracker} from "../../utils/node/simTest.js"; -import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; +import {NodeWorkerOptions, Message} from "./types.js"; /* eslint-disable no-console */ diff --git a/packages/lodestar/test/spec/presets/fork.ts b/packages/lodestar/test/spec/presets/fork.ts index 81c99934dfd3..f0abfd83314e 100644 --- a/packages/lodestar/test/spec/presets/fork.ts +++ b/packages/lodestar/test/spec/presets/fork.ts @@ -1,10 +1,10 @@ import {allForks, phase0, BeaconStateAllForks} from "@chainsafe/lodestar-beacon-state-transition"; import {ssz} from "@chainsafe/lodestar-types"; import {ForkName} from "@chainsafe/lodestar-params"; +import {createIChainForkConfig, IChainForkConfig} from "@chainsafe/lodestar-config"; import {expectEqualBeaconState, inputTypeSszTreeViewDU} from "../utils/expectEqualBeaconState.js"; import {createCachedBeaconStateTest} from "../../utils/cachedBeaconState.js"; import {TestRunnerFn} from "../utils/types.js"; -import {createIChainForkConfig, IChainForkConfig} from "@chainsafe/lodestar-config"; export const fork: TestRunnerFn = (forkNext) => { if (forkNext === ForkName.phase0) { diff --git a/packages/lodestar/test/spec/presets/fork_choice.ts b/packages/lodestar/test/spec/presets/fork_choice.ts index 2accb5d34435..35837cd66b9a 100644 --- a/packages/lodestar/test/spec/presets/fork_choice.ts +++ b/packages/lodestar/test/spec/presets/fork_choice.ts @@ -12,13 +12,6 @@ import { bellatrix, } from "@chainsafe/lodestar-beacon-state-transition"; import {InputType} from "@chainsafe/lodestar-spec-test-util"; -import { - ChainEventEmitter, - initializeForkChoice, - CheckpointStateCache, - toCheckpointHex, - toCheckpointKey, -} from "../../../src/chain/index.js"; import {toHexString} from "@chainsafe/ssz"; import { CheckpointWithHex, @@ -32,6 +25,13 @@ import { import {ssz, RootHex} from "@chainsafe/lodestar-types"; import {bnToNum} from "@chainsafe/lodestar-utils"; import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; +import { + ChainEventEmitter, + initializeForkChoice, + CheckpointStateCache, + toCheckpointHex, + toCheckpointKey, +} from "../../../src/chain/index.js"; import {createCachedBeaconStateTest} from "../../utils/cachedBeaconState.js"; import {testLogger} from "../../utils/logger.js"; import {getConfig} from "../utils/getConfig.js"; @@ -331,7 +331,7 @@ function toSpecTestCheckpoint(checkpoint: CheckpointWithHex): SpecTestCheckpoint type Step = OnTick | OnAttestation | OnBlock | OnPowBlock | Checks; -type SpecTestCheckpoint = {epoch: BigInt; root: string}; +type SpecTestCheckpoint = {epoch: bigint; root: string}; // This test executes steps in sequence. There may be multiple items of the following types: // on_tick execution step @@ -383,7 +383,7 @@ type Checks = { type ForkChoiceTestCase = { meta?: { description?: string; - bls_setting: BigInt; + bls_setting: bigint; }; anchorState: BeaconStateAllForks; anchorBlock: allForks.BeaconBlock; diff --git a/packages/lodestar/test/spec/presets/index.test.ts b/packages/lodestar/test/spec/presets/index.test.ts index ab32a0b31761..5a49b4d8f1f7 100644 --- a/packages/lodestar/test/spec/presets/index.test.ts +++ b/packages/lodestar/test/spec/presets/index.test.ts @@ -1,5 +1,6 @@ import {ACTIVE_PRESET} from "@chainsafe/lodestar-params"; import {RunnerType} from "../utils/types.js"; +import {specTestIterator} from "../utils/specTestIterator.js"; import {epochProcessing} from "./epoch_processing.js"; import {finality} from "./finality.js"; import {fork} from "./fork.js"; @@ -12,7 +13,6 @@ import {sanity, sanityBlocks} from "./sanity.js"; import {shuffling} from "./shuffling.js"; import {sszStatic} from "./ssz_static.js"; import {transition} from "./transition.js"; -import {specTestIterator} from "../utils/specTestIterator.js"; /* eslint-disable @typescript-eslint/naming-convention */ diff --git a/packages/lodestar/test/spec/presets/merkle.ts b/packages/lodestar/test/spec/presets/merkle.ts index 882d64318360..0242e3b5bc34 100644 --- a/packages/lodestar/test/spec/presets/merkle.ts +++ b/packages/lodestar/test/spec/presets/merkle.ts @@ -1,10 +1,10 @@ +import {expect} from "chai"; import {ssz} from "@chainsafe/lodestar-types"; import {BeaconStateAllForks} from "@chainsafe/lodestar-beacon-state-transition"; import {InputType} from "@chainsafe/lodestar-spec-test-util"; import {ProofType, SingleProof, Tree} from "@chainsafe/persistent-merkle-tree"; import {fromHexString, toHexString} from "@chainsafe/ssz"; import {verifyMerkleBranch} from "@chainsafe/lodestar-utils"; -import {expect} from "chai"; import {TestRunnerFn} from "../utils/types.js"; /* eslint-disable @typescript-eslint/naming-convention */ diff --git a/packages/lodestar/test/spec/presets/operations.ts b/packages/lodestar/test/spec/presets/operations.ts index 4508759165d8..f3ac81ba3a38 100644 --- a/packages/lodestar/test/spec/presets/operations.ts +++ b/packages/lodestar/test/spec/presets/operations.ts @@ -12,11 +12,11 @@ import { import {processExecutionPayload} from "@chainsafe/lodestar-beacon-state-transition/bellatrix"; import {ssz} from "@chainsafe/lodestar-types"; import {ForkName} from "@chainsafe/lodestar-params"; +import {InputType} from "@chainsafe/lodestar-spec-test-util"; import {createCachedBeaconStateTest} from "../../utils/cachedBeaconState.js"; import {expectEqualBeaconState, inputTypeSszTreeViewDU} from "../utils/expectEqualBeaconState.js"; import {getConfig} from "../utils/getConfig.js"; import {BaseSpecTest, shouldVerify, TestRunnerFn} from "../utils/types.js"; -import {InputType} from "@chainsafe/lodestar-spec-test-util"; /* eslint-disable @typescript-eslint/naming-convention */ diff --git a/packages/lodestar/test/spec/presets/transition.ts b/packages/lodestar/test/spec/presets/transition.ts index 19348673326b..f36dbad0dce3 100644 --- a/packages/lodestar/test/spec/presets/transition.ts +++ b/packages/lodestar/test/spec/presets/transition.ts @@ -2,11 +2,11 @@ import {allForks, BeaconStateAllForks} from "@chainsafe/lodestar-beacon-state-tr import {ssz} from "@chainsafe/lodestar-types"; import {createIChainForkConfig, IChainConfig} from "@chainsafe/lodestar-config"; import {ForkName} from "@chainsafe/lodestar-params"; -import {expectEqualBeaconState, inputTypeSszTreeViewDU} from "../utils/expectEqualBeaconState.js"; import {bnToNum} from "@chainsafe/lodestar-utils"; +import {config} from "@chainsafe/lodestar-config/default"; +import {expectEqualBeaconState, inputTypeSszTreeViewDU} from "../utils/expectEqualBeaconState.js"; import {createCachedBeaconStateTest} from "../../utils/cachedBeaconState.js"; import {TestRunnerFn} from "../utils/types.js"; -import {config} from "@chainsafe/lodestar-config/default"; import {getPreviousFork} from "./fork.js"; export const transition: TestRunnerFn = (forkNext) => { diff --git a/packages/lodestar/test/spec/utils/specTestIterator.ts b/packages/lodestar/test/spec/utils/specTestIterator.ts index 95bddd298830..d9dc438b6d80 100644 --- a/packages/lodestar/test/spec/utils/specTestIterator.ts +++ b/packages/lodestar/test/spec/utils/specTestIterator.ts @@ -1,10 +1,10 @@ -import {ForkName} from "@chainsafe/lodestar-params"; import fs from "node:fs"; import path from "node:path"; -import {SPEC_TEST_LOCATION} from "../specTestVersioning.js"; +import {expect} from "chai"; +import {ForkName} from "@chainsafe/lodestar-params"; import {describeDirectorySpecTest} from "@chainsafe/lodestar-spec-test-util"; +import {SPEC_TEST_LOCATION} from "../specTestVersioning.js"; import {RunnerType, TestRunner} from "./types.js"; -import {expect} from "chai"; const specTestsTestPath = path.join(SPEC_TEST_LOCATION, "tests"); const ARTIFACT_FILENAMES = new Set(["._.DS_Store", ".DS_Store"]); diff --git a/packages/lodestar/test/spec/utils/sszTestCaseParser.ts b/packages/lodestar/test/spec/utils/sszTestCaseParser.ts index d3c99a6a238d..c50f33b5c0f9 100644 --- a/packages/lodestar/test/spec/utils/sszTestCaseParser.ts +++ b/packages/lodestar/test/spec/utils/sszTestCaseParser.ts @@ -1,8 +1,8 @@ import path from "node:path"; import fs from "node:fs"; import {uncompress} from "snappyjs"; -import {loadYaml} from "@chainsafe/lodestar-utils"; import jsyaml from "js-yaml"; +import {loadYaml} from "@chainsafe/lodestar-utils"; /* eslint-disable @typescript-eslint/explicit-module-boundary-types, diff --git a/packages/lodestar/test/unit-mainnet/network/gossip/scoringParameters.test.ts b/packages/lodestar/test/unit-mainnet/network/gossip/scoringParameters.test.ts index 09af77acb791..eafd739493d7 100644 --- a/packages/lodestar/test/unit-mainnet/network/gossip/scoringParameters.test.ts +++ b/packages/lodestar/test/unit-mainnet/network/gossip/scoringParameters.test.ts @@ -1,11 +1,11 @@ +import {expect} from "chai"; +import {TopicScoreParams} from "libp2p-gossipsub/src/score/index.js"; import {ATTESTATION_SUBNET_COUNT, ForkName, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {createIBeaconConfig} from "@chainsafe/lodestar-config"; import {mainnetChainConfig} from "@chainsafe/lodestar-config/presets"; import {computeGossipPeerScoreParams, gossipScoreThresholds} from "../../../../src/network/gossip/scoringParameters.js"; -import {expect} from "chai"; import {stringifyGossipTopic} from "../../../../src/network/gossip/topic.js"; import {GossipType} from "../../../../src/network/index.js"; -import {TopicScoreParams} from "libp2p-gossipsub/src/score/index.js"; import {ZERO_HASH} from "../../../../src/constants/index.js"; /** diff --git a/packages/lodestar/test/unit-mainnet/network/reqresp/encodingStrategies/sszSnappy/encode.test.ts b/packages/lodestar/test/unit-mainnet/network/reqresp/encodingStrategies/sszSnappy/encode.test.ts index af43232cc873..7434a7adc1a6 100644 --- a/packages/lodestar/test/unit-mainnet/network/reqresp/encodingStrategies/sszSnappy/encode.test.ts +++ b/packages/lodestar/test/unit-mainnet/network/reqresp/encodingStrategies/sszSnappy/encode.test.ts @@ -7,8 +7,8 @@ import {allForks, ssz} from "@chainsafe/lodestar-types"; import {reqRespBlockResponseSerializer} from "../../../../../../src/network/reqresp/types.js"; import {writeSszSnappyPayload} from "../../../../../../src/network/reqresp/encodingStrategies/sszSnappy/index.js"; -import {goerliShadowForkBlock13249} from "./testData.js"; import {RequestOrOutgoingResponseBody} from "../../../../../../src/network/reqresp/types.js"; +import {goerliShadowForkBlock13249} from "./testData.js"; describe("network / reqresp / sszSnappy / encode", () => { describe("Test data vectors (generated in a previous version)", () => { diff --git a/packages/lodestar/test/unit/api/impl/beacon/beacon.test.ts b/packages/lodestar/test/unit/api/impl/beacon/beacon.test.ts index 93fc47227fd6..d7f4423199b2 100644 --- a/packages/lodestar/test/unit/api/impl/beacon/beacon.test.ts +++ b/packages/lodestar/test/unit/api/impl/beacon/beacon.test.ts @@ -1,8 +1,8 @@ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ +import {expect} from "chai"; +import {config} from "@chainsafe/lodestar-config/default"; import {getBeaconApi} from "../../../../../src/api/impl/beacon/index.js"; import {StubbedBeaconDb} from "../../../../utils/stub/index.js"; -import {config} from "@chainsafe/lodestar-config/default"; -import {expect} from "chai"; import {setupApiImplTestServer, ApiImplTestModules} from "../index.test.js"; import {testLogger} from "../../../../utils/logger.js"; diff --git a/packages/lodestar/test/unit/api/impl/beacon/blocks/getBlock.test.ts b/packages/lodestar/test/unit/api/impl/beacon/blocks/getBlock.test.ts index 7642016a5423..c9e8bcf1c80b 100644 --- a/packages/lodestar/test/unit/api/impl/beacon/blocks/getBlock.test.ts +++ b/packages/lodestar/test/unit/api/impl/beacon/blocks/getBlock.test.ts @@ -1,7 +1,7 @@ import sinon from "sinon"; -import * as blockUtils from "../../../../../../src/api/impl/beacon/blocks/utils.js"; import {expect, use} from "chai"; import chaiAsPromised from "chai-as-promised"; +import * as blockUtils from "../../../../../../src/api/impl/beacon/blocks/utils.js"; import {generateEmptySignedBlock} from "../../../../../utils/block.js"; import {setupApiImplTestServer, ApiImplTestModules} from "../../index.test.js"; import {SinonStubFn} from "../../../../../utils/types.js"; diff --git a/packages/lodestar/test/unit/api/impl/beacon/blocks/getBlockHeader.test.ts b/packages/lodestar/test/unit/api/impl/beacon/blocks/getBlockHeader.test.ts index f2ba96016deb..a943de373ba1 100644 --- a/packages/lodestar/test/unit/api/impl/beacon/blocks/getBlockHeader.test.ts +++ b/packages/lodestar/test/unit/api/impl/beacon/blocks/getBlockHeader.test.ts @@ -1,7 +1,7 @@ import sinon from "sinon"; -import * as blockUtils from "../../../../../../src/api/impl/beacon/blocks/utils.js"; import {expect, use} from "chai"; import chaiAsPromised from "chai-as-promised"; +import * as blockUtils from "../../../../../../src/api/impl/beacon/blocks/utils.js"; import {generateEmptySignedBlock} from "../../../../../utils/block.js"; import {ApiImplTestModules, setupApiImplTestServer} from "../../index.test.js"; import {SinonStubFn} from "../../../../../utils/types.js"; diff --git a/packages/lodestar/test/unit/api/impl/beacon/blocks/getBlockHeaders.test.ts b/packages/lodestar/test/unit/api/impl/beacon/blocks/getBlockHeaders.test.ts index dfe510225b15..4db064d3cd96 100644 --- a/packages/lodestar/test/unit/api/impl/beacon/blocks/getBlockHeaders.test.ts +++ b/packages/lodestar/test/unit/api/impl/beacon/blocks/getBlockHeaders.test.ts @@ -1,4 +1,6 @@ +import {expect} from "chai"; import {ssz} from "@chainsafe/lodestar-types"; +import {toHexString} from "@chainsafe/ssz"; import { generateProtoBlock, generateEmptyBlock, @@ -6,9 +8,7 @@ import { generateEmptySignedBlock, generateSignedBlock, } from "../../../../../utils/block.js"; -import {expect} from "chai"; import {setupApiImplTestServer, ApiImplTestModules} from "../../index.test.js"; -import {toHexString} from "@chainsafe/ssz"; describe("api - beacon - getBlockHeaders", function () { let server: ApiImplTestModules; diff --git a/packages/lodestar/test/unit/api/impl/beacon/blocks/publishBlock.test.ts b/packages/lodestar/test/unit/api/impl/beacon/blocks/publishBlock.test.ts index 069a9fc9dbcf..5ad1b7fce66b 100644 --- a/packages/lodestar/test/unit/api/impl/beacon/blocks/publishBlock.test.ts +++ b/packages/lodestar/test/unit/api/impl/beacon/blocks/publishBlock.test.ts @@ -1,11 +1,11 @@ import {expect, use} from "chai"; import chaiAsPromised from "chai-as-promised"; import sinon, {SinonStubbedInstance} from "sinon"; +import {allForks} from "@chainsafe/lodestar-types"; import {getBeaconBlockApi} from "../../../../../../src/api/impl/beacon/blocks/index.js"; import {BeaconChain} from "../../../../../../src/chain/index.js"; import {Eth2Gossipsub} from "../../../../../../src/network/gossip/index.js"; import {generateEmptySignedBlock} from "../../../../../utils/block.js"; -import {allForks} from "@chainsafe/lodestar-types"; import {BeaconSync} from "../../../../../../src/sync/index.js"; import {setupApiImplTestServer, ApiImplTestModules} from "../../index.test.js"; diff --git a/packages/lodestar/test/unit/api/impl/beacon/blocks/utils.test.ts b/packages/lodestar/test/unit/api/impl/beacon/blocks/utils.test.ts index 348284714e39..1697cb60af32 100644 --- a/packages/lodestar/test/unit/api/impl/beacon/blocks/utils.test.ts +++ b/packages/lodestar/test/unit/api/impl/beacon/blocks/utils.test.ts @@ -1,10 +1,10 @@ import {SinonStubbedInstance} from "sinon"; -import {ForkChoice, IProtoBlock, ExecutionStatus} from "@chainsafe/lodestar-fork-choice"; -import {resolveBlockId} from "../../../../../../src/api/impl/beacon/blocks/utils.js"; import {expect, use} from "chai"; +import chaiAsPromised from "chai-as-promised"; +import {ForkChoice, IProtoBlock, ExecutionStatus} from "@chainsafe/lodestar-fork-choice"; import {toHexString} from "@chainsafe/ssz"; +import {resolveBlockId} from "../../../../../../src/api/impl/beacon/blocks/utils.js"; import {generateEmptySignedBlock, generateProtoBlock} from "../../../../../utils/block.js"; -import chaiAsPromised from "chai-as-promised"; import {StubbedBeaconDb} from "../../../../../utils/stub/index.js"; import {GENESIS_SLOT} from "../../../../../../src/constants/index.js"; import {bufferEqualsMatcher} from "../../../../../utils/sinon/matcher.js"; diff --git a/packages/lodestar/test/unit/api/impl/beacon/pool/pool.test.ts b/packages/lodestar/test/unit/api/impl/beacon/pool/pool.test.ts index f44157f53b58..e32148eaa4fb 100644 --- a/packages/lodestar/test/unit/api/impl/beacon/pool/pool.test.ts +++ b/packages/lodestar/test/unit/api/impl/beacon/pool/pool.test.ts @@ -1,5 +1,7 @@ import {expect} from "chai"; import sinon from "sinon"; +import {SinonStubbedInstance} from "sinon"; +import {phase0} from "@chainsafe/lodestar-types"; import {generateAttestationDataBigint} from "../../../../../../../beacon-state-transition/test/utils/attestation.js"; import {getBeaconPoolApi} from "../../../../../../src/api/impl/beacon/pool/index.js"; import {Network} from "../../../../../../src/network/network.js"; @@ -8,13 +10,11 @@ import { generateAttestationData, generateEmptySignedVoluntaryExit, } from "../../../../../utils/attestation.js"; -import {SinonStubbedInstance} from "sinon"; import {IBeaconChain} from "../../../../../../src/chain/index.js"; import * as attesterSlashingValidation from "../../../../../../src/chain/validation/attesterSlashing.js"; import * as proposerSlashingValidation from "../../../../../../src/chain/validation/proposerSlashing.js"; import * as voluntaryExitValidation from "../../../../../../src/chain/validation/voluntaryExit.js"; -import {phase0} from "@chainsafe/lodestar-types"; import {Eth2Gossipsub} from "../../../../../../src/network/gossip/index.js"; import {generateSignedBlockHeaderBn} from "../../../../../utils/block.js"; import {setupApiImplTestServer} from "../../index.test.js"; diff --git a/packages/lodestar/test/unit/api/impl/beacon/state/fork.test.ts b/packages/lodestar/test/unit/api/impl/beacon/state/fork.test.ts index 9e6a7ad606ad..cc786fa1f164 100644 --- a/packages/lodestar/test/unit/api/impl/beacon/state/fork.test.ts +++ b/packages/lodestar/test/unit/api/impl/beacon/state/fork.test.ts @@ -1,9 +1,9 @@ -import {getBeaconStateApi} from "../../../../../../src/api/impl/beacon/state/index.js"; -import {config} from "@chainsafe/lodestar-config/default"; import sinon, {SinonStubbedMember} from "sinon"; +import {expect} from "chai"; +import {config} from "@chainsafe/lodestar-config/default"; +import {getBeaconStateApi} from "../../../../../../src/api/impl/beacon/state/index.js"; import * as stateApiUtils from "../../../../../../src/api/impl/beacon/state/utils.js"; import {generateCachedState} from "../../../../../utils/state.js"; -import {expect} from "chai"; import {setupApiImplTestServer, ApiImplTestModules} from "../../index.test.js"; // TODO remove stub diff --git a/packages/lodestar/test/unit/api/impl/beacon/state/utils.test.ts b/packages/lodestar/test/unit/api/impl/beacon/state/utils.test.ts index 88737d2bd3c8..e81bfb063603 100644 --- a/packages/lodestar/test/unit/api/impl/beacon/state/utils.test.ts +++ b/packages/lodestar/test/unit/api/impl/beacon/state/utils.test.ts @@ -1,10 +1,10 @@ +import {expect, use} from "chai"; +import chaiAsPromised from "chai-as-promised"; +import sinon from "sinon"; import {phase0} from "@chainsafe/lodestar-beacon-state-transition"; import {config} from "@chainsafe/lodestar-config/default"; import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {toHexString} from "@chainsafe/ssz"; -import {expect, use} from "chai"; -import chaiAsPromised from "chai-as-promised"; -import sinon from "sinon"; import {resolveStateId, getValidatorStatus} from "../../../../../../src/api/impl/beacon/state/utils.js"; import {IBeaconChain} from "../../../../../../src/chain/index.js"; import {PERSIST_STATE_EVERY_EPOCHS} from "../../../../../../src/chain/archiver/archiveStates.js"; diff --git a/packages/lodestar/test/unit/api/impl/config/config.test.ts b/packages/lodestar/test/unit/api/impl/config/config.test.ts index 289aaa573e59..5eb134f4d14d 100644 --- a/packages/lodestar/test/unit/api/impl/config/config.test.ts +++ b/packages/lodestar/test/unit/api/impl/config/config.test.ts @@ -1,5 +1,5 @@ -import {config} from "@chainsafe/lodestar-config/default"; import {expect} from "chai"; +import {config} from "@chainsafe/lodestar-config/default"; import {getConfigApi} from "../../../../../src/api/impl/config/index.js"; describe("config api implementation", function () { diff --git a/packages/lodestar/test/unit/api/impl/debug/index.test.ts b/packages/lodestar/test/unit/api/impl/debug/index.test.ts index 3e6f784ad7ed..76660dfa72bd 100644 --- a/packages/lodestar/test/unit/api/impl/debug/index.test.ts +++ b/packages/lodestar/test/unit/api/impl/debug/index.test.ts @@ -1,12 +1,12 @@ +import {expect} from "chai"; +import sinon from "sinon"; +import {SinonStubbedInstance} from "sinon"; import {config} from "@chainsafe/lodestar-config/default"; import {config as minimalConfig} from "@chainsafe/lodestar-config/default"; import {altair, phase0, ssz} from "@chainsafe/lodestar-types"; import {ZERO_HASH} from "@chainsafe/lodestar-beacon-state-transition"; import {ForkChoice, IForkChoice} from "@chainsafe/lodestar-fork-choice"; import {toHexString} from "@chainsafe/ssz"; -import {expect} from "chai"; -import sinon from "sinon"; -import {SinonStubbedInstance} from "sinon"; import * as stateApiUtils from "../../../../../src/api/impl/beacon/state/utils.js"; import {getDebugApi} from "../../../../../src/api/impl/debug/index.js"; import {INetwork, Network} from "../../../../../src/network/index.js"; diff --git a/packages/lodestar/test/unit/api/impl/events/events.test.ts b/packages/lodestar/test/unit/api/impl/events/events.test.ts index a55621f6c8ea..b842e2412651 100644 --- a/packages/lodestar/test/unit/api/impl/events/events.test.ts +++ b/packages/lodestar/test/unit/api/impl/events/events.test.ts @@ -1,5 +1,6 @@ import {expect} from "chai"; import sinon, {SinonStubbedInstance} from "sinon"; +import {AbortController} from "@chainsafe/abort-controller"; import {routes} from "@chainsafe/lodestar-api"; import {config} from "@chainsafe/lodestar-config/default"; import {BeaconChain, ChainEvent, ChainEventEmitter, IBeaconChain} from "../../../../../src/chain/index.js"; diff --git a/packages/lodestar/test/unit/api/impl/index.test.ts b/packages/lodestar/test/unit/api/impl/index.test.ts index f8e4abd02e33..c4074b9a25a2 100644 --- a/packages/lodestar/test/unit/api/impl/index.test.ts +++ b/packages/lodestar/test/unit/api/impl/index.test.ts @@ -1,13 +1,13 @@ -import {config} from "@chainsafe/lodestar-config/default"; import {SinonSandbox, SinonStubbedInstance} from "sinon"; import sinon from "sinon"; +import {config} from "@chainsafe/lodestar-config/default"; import {ForkChoice} from "@chainsafe/lodestar-fork-choice"; +import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {getBeaconBlockApi} from "../../../../src/api/impl/beacon/blocks/index.js"; import {BeaconChain} from "../../../../src/chain/index.js"; import {Network} from "../../../../src/network/index.js"; import {BeaconSync} from "../../../../src/sync/index.js"; import {StubbedBeaconDb} from "../../../utils/stub/index.js"; -import {IChainForkConfig} from "@chainsafe/lodestar-config"; export type ApiImplTestModules = { sandbox: SinonSandbox; diff --git a/packages/lodestar/test/unit/api/impl/node/node.test.ts b/packages/lodestar/test/unit/api/impl/node/node.test.ts index 75d32102a684..9697ace46c28 100644 --- a/packages/lodestar/test/unit/api/impl/node/node.test.ts +++ b/packages/lodestar/test/unit/api/impl/node/node.test.ts @@ -1,21 +1,21 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/no-unsafe-return */ import {Connection} from "libp2p"; -import {getNodeApi} from "../../../../../src/api/impl/node/index.js"; import sinon, {SinonStubbedInstance} from "sinon"; -import {BitArray} from "@chainsafe/ssz"; -import {createPeerId, INetwork, Network} from "../../../../../src/network/index.js"; -import {BeaconSync, IBeaconSync} from "../../../../../src/sync/index.js"; -import {createKeypairFromPeerId, ENR} from "@chainsafe/discv5"; import PeerId from "peer-id"; import {expect, use} from "chai"; import chaiAsPromised from "chai-as-promised"; import {Multiaddr} from "multiaddr"; +import {BitArray} from "@chainsafe/ssz"; +import {createKeypairFromPeerId, ENR} from "@chainsafe/discv5"; +import {altair} from "@chainsafe/lodestar-types"; +import {routes} from "@chainsafe/lodestar-api"; +import {createPeerId, INetwork, Network} from "../../../../../src/network/index.js"; +import {BeaconSync, IBeaconSync} from "../../../../../src/sync/index.js"; import {MetadataController} from "../../../../../src/network/metadata.js"; import {defaultApiOptions} from "../../../../../src/api/options.js"; -import {altair} from "@chainsafe/lodestar-types"; import {PeerStatus, PeerDirection} from "../../../../../src/network/index.js"; -import {routes} from "@chainsafe/lodestar-api"; +import {getNodeApi} from "../../../../../src/api/impl/node/index.js"; use(chaiAsPromised); diff --git a/packages/lodestar/test/unit/api/impl/validator/duties/proposer.test.ts b/packages/lodestar/test/unit/api/impl/validator/duties/proposer.test.ts index 2d7e3b351c49..89642962e560 100644 --- a/packages/lodestar/test/unit/api/impl/validator/duties/proposer.test.ts +++ b/packages/lodestar/test/unit/api/impl/validator/duties/proposer.test.ts @@ -4,6 +4,8 @@ import chaiAsPromised from "chai-as-promised"; import {config} from "@chainsafe/lodestar-config/default"; import {ForkChoice} from "@chainsafe/lodestar-fork-choice"; +import {ssz} from "@chainsafe/lodestar-types"; +import {MAX_EFFECTIVE_BALANCE, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {IBeaconChain} from "../../../../../../src/chain/index.js"; import {LocalClock} from "../../../../../../src/chain/clock/index.js"; import {FAR_FUTURE_EPOCH} from "../../../../../../src/constants/index.js"; @@ -16,8 +18,6 @@ import {StubbedBeaconDb} from "../../../../../utils/stub/index.js"; import {setupApiImplTestServer, ApiImplTestModules} from "../../index.test.js"; import {testLogger} from "../../../../../utils/logger.js"; import {createCachedBeaconStateTest} from "../../../../../utils/cachedBeaconState.js"; -import {ssz} from "@chainsafe/lodestar-types"; -import {MAX_EFFECTIVE_BALANCE, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; use(chaiAsPromised); diff --git a/packages/lodestar/test/unit/api/impl/validator/produceAttestationData.test.ts b/packages/lodestar/test/unit/api/impl/validator/produceAttestationData.test.ts index 7737d09b706d..aca96ba3babd 100644 --- a/packages/lodestar/test/unit/api/impl/validator/produceAttestationData.test.ts +++ b/packages/lodestar/test/unit/api/impl/validator/produceAttestationData.test.ts @@ -1,13 +1,13 @@ +import sinon, {SinonStubbedInstance} from "sinon"; +import chaiAsPromised from "chai-as-promised"; +import {use, expect} from "chai"; import {config} from "@chainsafe/lodestar-config/default"; import {IProtoBlock} from "@chainsafe/lodestar-fork-choice"; -import sinon, {SinonStubbedInstance} from "sinon"; import {IBeaconSync, SyncState} from "../../../../../src/sync/interface.js"; import {ApiModules} from "../../../../../src/api/impl/types.js"; import {getValidatorApi} from "../../../../../src/api/impl/validator/index.js"; import {LocalClock} from "../../../../../src/chain/clock/index.js"; import {testLogger} from "../../../../utils/logger.js"; -import chaiAsPromised from "chai-as-promised"; -import {use, expect} from "chai"; import {ApiImplTestModules, setupApiImplTestServer} from "../index.test.js"; use(chaiAsPromised); diff --git a/packages/lodestar/test/unit/api/impl/validator/utils.test.ts b/packages/lodestar/test/unit/api/impl/validator/utils.test.ts index d7ae28465240..9e10a71b464a 100644 --- a/packages/lodestar/test/unit/api/impl/validator/utils.test.ts +++ b/packages/lodestar/test/unit/api/impl/validator/utils.test.ts @@ -1,8 +1,8 @@ import {expect} from "chai"; import {toHexString} from "@chainsafe/ssz"; import {BLSPubkey, ssz, ValidatorIndex} from "@chainsafe/lodestar-types"; -import {getPubkeysForIndices} from "../../../../../src/api/impl/validator/utils.js"; import {BeaconStateAllForks} from "@chainsafe/lodestar-beacon-state-transition"; +import {getPubkeysForIndices} from "../../../../../src/api/impl/validator/utils.js"; describe("api / impl / validator / utils", () => { const vc = 32; diff --git a/packages/lodestar/test/unit/chain/archive/blockArchiver.test.ts b/packages/lodestar/test/unit/chain/archive/blockArchiver.test.ts index 4be164cd5353..87f4ee21fb2f 100644 --- a/packages/lodestar/test/unit/chain/archive/blockArchiver.test.ts +++ b/packages/lodestar/test/unit/chain/archive/blockArchiver.test.ts @@ -1,9 +1,9 @@ import {expect} from "chai"; import sinon, {SinonStubbedInstance} from "sinon"; import {ssz} from "@chainsafe/lodestar-types"; -import {ZERO_HASH_HEX} from "../../../../src/constants/index.js"; import {ForkChoice} from "@chainsafe/lodestar-fork-choice"; import {fromHexString, toHexString} from "@chainsafe/ssz"; +import {ZERO_HASH_HEX} from "../../../../src/constants/index.js"; import {generateProtoBlock, generateEmptySignedBlock} from "../../../utils/block.js"; import {StubbedBeaconDb} from "../../../utils/stub/index.js"; import {testLogger} from "../../../utils/logger.js"; diff --git a/packages/lodestar/test/unit/chain/blocks/verifyBlock.test.ts b/packages/lodestar/test/unit/chain/blocks/verifyBlock.test.ts index f652c4ac2cda..6c261caced26 100644 --- a/packages/lodestar/test/unit/chain/blocks/verifyBlock.test.ts +++ b/packages/lodestar/test/unit/chain/blocks/verifyBlock.test.ts @@ -3,10 +3,10 @@ import sinon, {SinonStubbedInstance} from "sinon"; import {config} from "@chainsafe/lodestar-config/default"; import {ForkChoice, IProtoBlock} from "@chainsafe/lodestar-fork-choice"; +import {allForks, ssz} from "@chainsafe/lodestar-types"; import {verifyBlockSanityChecks, VerifyBlockModules} from "../../../../src/chain/blocks/verifyBlock.js"; import {LocalClock} from "../../../../src/chain/clock/index.js"; import {BlockErrorCode} from "../../../../src/chain/errors/index.js"; -import {allForks, ssz} from "@chainsafe/lodestar-types"; import {expectThrowsLodestarError} from "../../../utils/errors.js"; describe("chain / blocks / verifyBlock", function () { diff --git a/packages/lodestar/test/unit/chain/clock/local.test.ts b/packages/lodestar/test/unit/chain/clock/local.test.ts index 02de8c5d81a7..ccc94e3a1fda 100644 --- a/packages/lodestar/test/unit/chain/clock/local.test.ts +++ b/packages/lodestar/test/unit/chain/clock/local.test.ts @@ -1,11 +1,12 @@ import sinon from "sinon"; import {expect} from "chai"; +import {AbortController} from "@chainsafe/abort-controller"; import {config} from "@chainsafe/lodestar-config/default"; +import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {LocalClock} from "../../../../src/chain/clock/LocalClock.js"; import {ChainEvent, ChainEventEmitter} from "../../../../src/chain/emitter.js"; import {MAXIMUM_GOSSIP_CLOCK_DISPARITY} from "../../../../src/constants/index.js"; -import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; describe("LocalClock", function () { const sandbox = sinon.createSandbox(); diff --git a/packages/lodestar/test/unit/chain/forkChoice/forkChoice.test.ts b/packages/lodestar/test/unit/chain/forkChoice/forkChoice.test.ts index 47e898fdcd82..b9da14daa270 100644 --- a/packages/lodestar/test/unit/chain/forkChoice/forkChoice.test.ts +++ b/packages/lodestar/test/unit/chain/forkChoice/forkChoice.test.ts @@ -1,10 +1,8 @@ -import {ChainEventEmitter, computeAnchorCheckpoint, initializeForkChoice} from "../../../../src/chain/index.js"; -import {generateState} from "../../../utils/state.js"; +import {expect} from "chai"; import {FAR_FUTURE_EPOCH, MAX_EFFECTIVE_BALANCE} from "@chainsafe/lodestar-params"; import {config} from "@chainsafe/lodestar-config/default"; import {Slot, ssz, ValidatorIndex} from "@chainsafe/lodestar-types"; import {ForkChoice} from "@chainsafe/lodestar-fork-choice"; -import {generateSignedBlock} from "../../../utils/block.js"; import { allForks, computeEpochAtSlot, @@ -14,8 +12,10 @@ import { getEffectiveBalanceIncrementsZeroed, BeaconStateAllForks, } from "@chainsafe/lodestar-beacon-state-transition"; -import {expect} from "chai"; import {toHexString} from "@chainsafe/ssz"; +import {generateSignedBlock} from "../../../utils/block.js"; +import {generateState} from "../../../utils/state.js"; +import {ChainEventEmitter, computeAnchorCheckpoint, initializeForkChoice} from "../../../../src/chain/index.js"; import {createCachedBeaconStateTest} from "../../../utils/cachedBeaconState.js"; import {generateValidators} from "../../../utils/validator.js"; diff --git a/packages/lodestar/test/unit/chain/lightclient/proof.test.ts b/packages/lodestar/test/unit/chain/lightclient/proof.test.ts index a4700640abc2..25d0a82a5d24 100644 --- a/packages/lodestar/test/unit/chain/lightclient/proof.test.ts +++ b/packages/lodestar/test/unit/chain/lightclient/proof.test.ts @@ -1,8 +1,8 @@ +import {expect} from "chai"; import {BeaconStateAltair} from "@chainsafe/lodestar-beacon-state-transition"; import {SYNC_COMMITTEE_SIZE} from "@chainsafe/lodestar-params"; import {altair, ssz} from "@chainsafe/lodestar-types"; import {verifyMerkleBranch, hash} from "@chainsafe/lodestar-utils"; -import {expect} from "chai"; import {getNextSyncCommitteeBranch, getSyncCommitteesWitness} from "../../../../src/chain/lightClient/proofs.js"; const currentSyncCommitteeGindex = 54; diff --git a/packages/lodestar/test/unit/chain/opPools/aggregatedAttestationPool.test.ts b/packages/lodestar/test/unit/chain/opPools/aggregatedAttestationPool.test.ts index 7d8c02158aa1..53fc0a67741a 100644 --- a/packages/lodestar/test/unit/chain/opPools/aggregatedAttestationPool.test.ts +++ b/packages/lodestar/test/unit/chain/opPools/aggregatedAttestationPool.test.ts @@ -1,10 +1,10 @@ +import {expect} from "chai"; import type {SecretKey} from "@chainsafe/bls/types"; import bls from "@chainsafe/bls"; import {BitArray, fromHexString} from "@chainsafe/ssz"; import {createIChainForkConfig, defaultChainConfig} from "@chainsafe/lodestar-config"; import {CachedBeaconStateAllForks} from "@chainsafe/lodestar-beacon-state-transition"; import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; -import {expect} from "chai"; import {ssz, phase0} from "@chainsafe/lodestar-types"; import { AggregatedAttestationPool, diff --git a/packages/lodestar/test/unit/chain/opPools/syncCommittee.test.ts b/packages/lodestar/test/unit/chain/opPools/syncCommittee.test.ts index af27da93b57d..4813468026d3 100644 --- a/packages/lodestar/test/unit/chain/opPools/syncCommittee.test.ts +++ b/packages/lodestar/test/unit/chain/opPools/syncCommittee.test.ts @@ -1,7 +1,7 @@ +import {expect} from "chai"; import bls from "@chainsafe/bls"; import {altair} from "@chainsafe/lodestar-types"; import {toHexString} from "@chainsafe/ssz"; -import {expect} from "chai"; import {SyncCommitteeMessagePool} from "../../../../src/chain/opPools/index.js"; import {generateSyncCommitteeSignature} from "../../../utils/syncCommittee.js"; diff --git a/packages/lodestar/test/unit/chain/opPools/syncCommitteeContribution.test.ts b/packages/lodestar/test/unit/chain/opPools/syncCommitteeContribution.test.ts index 8dc070341d65..3a891b0cddbd 100644 --- a/packages/lodestar/test/unit/chain/opPools/syncCommitteeContribution.test.ts +++ b/packages/lodestar/test/unit/chain/opPools/syncCommitteeContribution.test.ts @@ -1,10 +1,10 @@ +import {expect} from "chai"; import {altair, ssz} from "@chainsafe/lodestar-types"; import {newFilledArray} from "@chainsafe/lodestar-beacon-state-transition"; import type {SecretKey} from "@chainsafe/bls/types"; import bls from "@chainsafe/bls"; import {BitArray} from "@chainsafe/ssz"; import {SYNC_COMMITTEE_SIZE, SYNC_COMMITTEE_SUBNET_COUNT} from "@chainsafe/lodestar-params"; -import {expect} from "chai"; import { aggregate, replaceIfBetter, diff --git a/packages/lodestar/test/unit/chain/precomputeNextEpochTransition.test.ts b/packages/lodestar/test/unit/chain/precomputeNextEpochTransition.test.ts index 0bb9a9111670..8a67ab3bc706 100644 --- a/packages/lodestar/test/unit/chain/precomputeNextEpochTransition.test.ts +++ b/packages/lodestar/test/unit/chain/precomputeNextEpochTransition.test.ts @@ -1,9 +1,9 @@ +import {expect} from "chai"; +import sinon, {SinonStubbedInstance} from "sinon"; import {config} from "@chainsafe/lodestar-config/default"; import {ForkChoice, IProtoBlock} from "@chainsafe/lodestar-fork-choice"; import {WinstonLogger} from "@chainsafe/lodestar-utils"; -import {expect} from "chai"; import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; -import sinon, {SinonStubbedInstance} from "sinon"; import {BeaconChain, ChainEventEmitter} from "../../../src/chain/index.js"; import {LocalClock} from "../../../src/chain/clock/index.js"; import {PrecomputeNextEpochTransitionScheduler} from "../../../src/chain/precomputeNextEpochTransition.js"; diff --git a/packages/lodestar/test/unit/chain/seenCache/aggregateAndProof.test.ts b/packages/lodestar/test/unit/chain/seenCache/aggregateAndProof.test.ts index 10a64ad8635f..e20c65f06642 100644 --- a/packages/lodestar/test/unit/chain/seenCache/aggregateAndProof.test.ts +++ b/packages/lodestar/test/unit/chain/seenCache/aggregateAndProof.test.ts @@ -1,5 +1,5 @@ -import {BitArray} from "@chainsafe/ssz"; import {expect} from "chai"; +import {BitArray} from "@chainsafe/ssz"; import { AggregationInfo, insertDesc, diff --git a/packages/lodestar/test/unit/chain/seenCache/syncCommittee.test.ts b/packages/lodestar/test/unit/chain/seenCache/syncCommittee.test.ts index d75bd8afb4e0..8b46c9647e09 100644 --- a/packages/lodestar/test/unit/chain/seenCache/syncCommittee.test.ts +++ b/packages/lodestar/test/unit/chain/seenCache/syncCommittee.test.ts @@ -1,5 +1,5 @@ -import {BitArray} from "@chainsafe/ssz"; import {expect} from "chai"; +import {BitArray} from "@chainsafe/ssz"; import {SeenSyncCommitteeMessages, SeenContributionAndProof} from "../../../../src/chain/seenCache/index.js"; import {generateContributionAndProof} from "../../../utils/contributionAndProof.js"; diff --git a/packages/lodestar/test/unit/chain/stateCache/stateContextCache.test.ts b/packages/lodestar/test/unit/chain/stateCache/stateContextCache.test.ts index 1018b907a592..c91e34b1eeae 100644 --- a/packages/lodestar/test/unit/chain/stateCache/stateContextCache.test.ts +++ b/packages/lodestar/test/unit/chain/stateCache/stateContextCache.test.ts @@ -1,11 +1,11 @@ import {expect} from "chai"; import {IEpochShuffling} from "@chainsafe/lodestar-beacon-state-transition"; -import {StateContextCache} from "../../../../src/chain/stateCache/index.js"; -import {generateCachedState} from "../../../utils/state.js"; -import {ZERO_HASH} from "../../../../src/constants/index.js"; import {toHexString} from "@chainsafe/ssz"; import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {Root} from "@chainsafe/lodestar-types"; +import {StateContextCache} from "../../../../src/chain/stateCache/index.js"; +import {generateCachedState} from "../../../utils/state.js"; +import {ZERO_HASH} from "../../../../src/constants/index.js"; describe("StateContextCache", function () { let cache: StateContextCache; diff --git a/packages/lodestar/test/unit/chain/validation/block.test.ts b/packages/lodestar/test/unit/chain/validation/block.test.ts index 6492c08ceb71..adbf733ae1c2 100644 --- a/packages/lodestar/test/unit/chain/validation/block.test.ts +++ b/packages/lodestar/test/unit/chain/validation/block.test.ts @@ -1,6 +1,8 @@ import sinon, {SinonStubbedInstance} from "sinon"; import {config} from "@chainsafe/lodestar-config/default"; import {ForkChoice, IProtoBlock} from "@chainsafe/lodestar-fork-choice"; +import {allForks, ssz} from "@chainsafe/lodestar-types"; +import {ForkName} from "@chainsafe/lodestar-params"; import {BeaconChain, IBeaconChain} from "../../../../src/chain/index.js"; import {LocalClock} from "../../../../src/chain/clock/index.js"; import {StateRegenerator} from "../../../../src/chain/regen/index.js"; @@ -10,9 +12,7 @@ import {BlockErrorCode} from "../../../../src/chain/errors/index.js"; import {SinonStubFn} from "../../../utils/types.js"; import {expectRejectedWithLodestarError} from "../../../utils/errors.js"; import {SeenBlockProposers} from "../../../../src/chain/seenCache/index.js"; -import {allForks, ssz} from "@chainsafe/lodestar-types"; import {EMPTY_SIGNATURE, ZERO_HASH} from "../../../../src/constants/index.js"; -import {ForkName} from "@chainsafe/lodestar-params"; describe("gossip block validation", function () { let chain: SinonStubbedInstance; diff --git a/packages/lodestar/test/unit/chain/validation/contributionAndProof.test.ts b/packages/lodestar/test/unit/chain/validation/contributionAndProof.test.ts index cac75b2a586f..8a98bb31dbc7 100644 --- a/packages/lodestar/test/unit/chain/validation/contributionAndProof.test.ts +++ b/packages/lodestar/test/unit/chain/validation/contributionAndProof.test.ts @@ -1,7 +1,9 @@ -import {defaultChainConfig} from "@chainsafe/lodestar-config"; import sinon from "sinon"; import {SinonStubbedInstance} from "sinon"; +import {defaultChainConfig} from "@chainsafe/lodestar-config"; import {BitArray} from "@chainsafe/ssz"; +import {SLOTS_PER_EPOCH, SYNC_COMMITTEE_SUBNET_SIZE} from "@chainsafe/lodestar-params"; +import {createIChainForkConfig} from "@chainsafe/lodestar-config"; import {BeaconChain, IBeaconChain} from "../../../../src/chain/index.js"; import {LocalClock} from "../../../../src/chain/clock/index.js"; import {SyncCommitteeErrorCode} from "../../../../src/chain/errors/syncCommitteeError.js"; @@ -12,8 +14,6 @@ import {validateSyncCommitteeGossipContributionAndProof} from "../../../../src/c import * as syncCommitteeUtils from "../../../../../beacon-state-transition/src/util/aggregator.js"; import {SinonStubFn} from "../../../utils/types.js"; import {generateCachedStateWithPubkeys} from "../../../utils/state.js"; -import {SLOTS_PER_EPOCH, SYNC_COMMITTEE_SUBNET_SIZE} from "@chainsafe/lodestar-params"; -import {createIChainForkConfig} from "@chainsafe/lodestar-config"; import {SeenContributionAndProof} from "../../../../src/chain/seenCache/index.js"; // https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/altair/p2p-interface.md diff --git a/packages/lodestar/test/unit/chain/validation/syncCommittee.test.ts b/packages/lodestar/test/unit/chain/validation/syncCommittee.test.ts index 980671126553..ef52c1f3ff31 100644 --- a/packages/lodestar/test/unit/chain/validation/syncCommittee.test.ts +++ b/packages/lodestar/test/unit/chain/validation/syncCommittee.test.ts @@ -1,5 +1,8 @@ import sinon from "sinon"; import {SinonStubbedInstance} from "sinon"; +import {Epoch} from "@chainsafe/lodestar-types"; +import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; +import {createIChainForkConfig, defaultChainConfig} from "@chainsafe/lodestar-config"; import {BeaconChain, IBeaconChain} from "../../../../src/chain/index.js"; import {LocalClock} from "../../../../src/chain/clock/index.js"; import {SyncCommitteeErrorCode} from "../../../../src/chain/errors/syncCommitteeError.js"; @@ -7,9 +10,6 @@ import {validateGossipSyncCommittee} from "../../../../src/chain/validation/sync import {expectRejectedWithLodestarError} from "../../../utils/errors.js"; import {generateCachedState} from "../../../utils/state.js"; import {generateSyncCommitteeSignature} from "../../../utils/syncCommittee.js"; -import {Epoch} from "@chainsafe/lodestar-types"; -import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; -import {createIChainForkConfig, defaultChainConfig} from "@chainsafe/lodestar-config"; import {SeenSyncCommitteeMessages} from "../../../../src/chain/seenCache/index.js"; // https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/altair/p2p-interface.md diff --git a/packages/lodestar/test/unit/chain/validation/voluntaryExit.test.ts b/packages/lodestar/test/unit/chain/validation/voluntaryExit.test.ts index 3491e21099fb..18bb5c2e192a 100644 --- a/packages/lodestar/test/unit/chain/validation/voluntaryExit.test.ts +++ b/packages/lodestar/test/unit/chain/validation/voluntaryExit.test.ts @@ -11,6 +11,10 @@ import { import {ForkChoice} from "@chainsafe/lodestar-fork-choice"; import {ssz} from "@chainsafe/lodestar-types"; +import {DOMAIN_VOLUNTARY_EXIT, FAR_FUTURE_EPOCH, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; +import bls from "@chainsafe/bls"; +import {PointFormat} from "@chainsafe/bls/types"; +import {createIBeaconConfig} from "@chainsafe/lodestar-config"; import {BeaconChain} from "../../../../src/chain/index.js"; import {StubbedChain} from "../../../utils/stub/index.js"; import {generateState} from "../../../utils/state.js"; @@ -18,10 +22,6 @@ import {validateGossipVoluntaryExit} from "../../../../src/chain/validation/volu import {VoluntaryExitErrorCode} from "../../../../src/chain/errors/voluntaryExitError.js"; import {OpPool} from "../../../../src/chain/opPools/index.js"; import {expectRejectedWithLodestarError} from "../../../utils/errors.js"; -import {DOMAIN_VOLUNTARY_EXIT, FAR_FUTURE_EPOCH, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; -import bls from "@chainsafe/bls"; -import {PointFormat} from "@chainsafe/bls/types"; -import {createIBeaconConfig} from "@chainsafe/lodestar-config"; import {createCachedBeaconStateTest} from "../../../utils/cachedBeaconState.js"; describe("validate voluntary exit", () => { diff --git a/packages/lodestar/test/unit/db/api/repositories/blockArchive.test.ts b/packages/lodestar/test/unit/db/api/repositories/blockArchive.test.ts index 70472b266979..4fb3f6ac70dc 100644 --- a/packages/lodestar/test/unit/db/api/repositories/blockArchive.test.ts +++ b/packages/lodestar/test/unit/db/api/repositories/blockArchive.test.ts @@ -1,5 +1,6 @@ import {expect} from "chai"; import rimraf from "rimraf"; +import sinon from "sinon"; import {ssz} from "@chainsafe/lodestar-types"; import {config} from "@chainsafe/lodestar-config/default"; import {intToBytes} from "@chainsafe/lodestar-utils"; @@ -7,7 +8,6 @@ import {LevelDbController, Bucket, encodeKey} from "@chainsafe/lodestar-db"; import {generateEmptySignedBlock} from "../../../../utils/block.js"; import {BlockArchiveRepository} from "../../../../../src/db/repositories/index.js"; -import sinon from "sinon"; import {testLogger} from "../../../../utils/logger.js"; describe("block archive repository", function () { diff --git a/packages/lodestar/test/unit/eth1/eth1MergeBlockTracker.test.ts b/packages/lodestar/test/unit/eth1/eth1MergeBlockTracker.test.ts index 94a881b59f31..2e4a4a8574c8 100644 --- a/packages/lodestar/test/unit/eth1/eth1MergeBlockTracker.test.ts +++ b/packages/lodestar/test/unit/eth1/eth1MergeBlockTracker.test.ts @@ -1,7 +1,7 @@ +import {expect} from "chai"; import {IChainConfig} from "@chainsafe/lodestar-config"; import {sleep} from "@chainsafe/lodestar-utils"; import {toHexString} from "@chainsafe/ssz"; -import {expect} from "chai"; import {IEth1Provider} from "../../../src/index.js"; import {ZERO_HASH} from "../../../src/constants/index.js"; import {Eth1MergeBlockTracker, StatusCode, toPowBlock} from "../../../src/eth1/eth1MergeBlockTracker.js"; diff --git a/packages/lodestar/test/unit/network/attestationService.test.ts b/packages/lodestar/test/unit/network/attestationService.test.ts index 02974fc12773..721f50059d6f 100644 --- a/packages/lodestar/test/unit/network/attestationService.test.ts +++ b/packages/lodestar/test/unit/network/attestationService.test.ts @@ -1,3 +1,5 @@ +import sinon, {SinonStubbedInstance} from "sinon"; +import {expect} from "chai"; import { ATTESTATION_SUBNET_COUNT, EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION, @@ -8,11 +10,9 @@ import {createIBeaconConfig} from "@chainsafe/lodestar-config"; import {BeaconStateAllForks, getCurrentSlot} from "@chainsafe/lodestar-beacon-state-transition"; import * as mathUtils from "@chainsafe/lodestar-utils"; import * as shuffleUtils from "../../../src/util/shuffle.js"; -import sinon, {SinonStubbedInstance} from "sinon"; import {MockBeaconChain} from "../../utils/mocks/chain/chain.js"; import {generateState} from "../../utils/state.js"; import {testLogger} from "../../utils/logger.js"; -import {expect} from "chai"; import {SinonStubFn} from "../../utils/types.js"; import {MetadataController} from "../../../src/network/metadata.js"; import {Eth2Gossipsub, GossipType} from "../../../src/network/gossip/index.js"; diff --git a/packages/lodestar/test/unit/network/peers/utils/assertPeerRelevance.test.ts b/packages/lodestar/test/unit/network/peers/utils/assertPeerRelevance.test.ts index de2d70f63789..22fc3edd5cef 100644 --- a/packages/lodestar/test/unit/network/peers/utils/assertPeerRelevance.test.ts +++ b/packages/lodestar/test/unit/network/peers/utils/assertPeerRelevance.test.ts @@ -1,8 +1,8 @@ +import {expect} from "chai"; import {phase0} from "@chainsafe/lodestar-types"; import {MockBeaconChain} from "../../../../utils/mocks/chain/chain.js"; import {assertPeerRelevance, IrrelevantPeerCode} from "../../../../../src/network/peers/utils/assertPeerRelevance.js"; import {IBeaconClock} from "../../../../../src/chain/clock/index.js"; -import {expect} from "chai"; describe("network / peers / utils / assertPeerRelevance", () => { const correctForkDigest = Buffer.alloc(4, 0); diff --git a/packages/lodestar/test/unit/network/peers/utils/enrSubnets.test.ts b/packages/lodestar/test/unit/network/peers/utils/enrSubnets.test.ts index afa62e7670a9..25a1861c64d3 100644 --- a/packages/lodestar/test/unit/network/peers/utils/enrSubnets.test.ts +++ b/packages/lodestar/test/unit/network/peers/utils/enrSubnets.test.ts @@ -1,8 +1,8 @@ +import {expect} from "chai"; import {SYNC_COMMITTEE_SUBNET_COUNT} from "@chainsafe/lodestar-params"; import {ssz} from "@chainsafe/lodestar-types"; import {toHex} from "@chainsafe/lodestar-utils"; import {BitArray} from "@chainsafe/ssz"; -import {expect} from "chai"; import {deserializeEnrSubnets} from "../../../../../src/network/peers/utils/enrSubnetsDeserialize.js"; describe("ENR syncnets", () => { diff --git a/packages/lodestar/test/unit/network/reqresp/encoders/response.test.ts b/packages/lodestar/test/unit/network/reqresp/encoders/response.test.ts index d71238d5f622..1a4325ca934e 100644 --- a/packages/lodestar/test/unit/network/reqresp/encoders/response.test.ts +++ b/packages/lodestar/test/unit/network/reqresp/encoders/response.test.ts @@ -6,6 +6,7 @@ import {ForkName, SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {chainConfig} from "@chainsafe/lodestar-config/default"; import {createIBeaconConfig} from "@chainsafe/lodestar-config"; import {LodestarError} from "@chainsafe/lodestar-utils"; +import {allForks} from "@chainsafe/lodestar-types"; import { Method, Version, @@ -36,7 +37,6 @@ import { sszSnappySignedBeaconBlockAltair, } from "../encodingStrategies/sszSnappy/testData.js"; import {blocksToReqRespBlockResponses} from "../../../../utils/block.js"; -import {allForks} from "@chainsafe/lodestar-types"; chai.use(chaiAsPromised); diff --git a/packages/lodestar/test/unit/network/reqresp/encoders/responseTypes.test.ts b/packages/lodestar/test/unit/network/reqresp/encoders/responseTypes.test.ts index b50b06743817..df92e3cb9a1b 100644 --- a/packages/lodestar/test/unit/network/reqresp/encoders/responseTypes.test.ts +++ b/packages/lodestar/test/unit/network/reqresp/encoders/responseTypes.test.ts @@ -1,8 +1,8 @@ import chai from "chai"; import chaiAsPromised from "chai-as-promised"; import pipe from "it-pipe"; -import {allForks} from "@chainsafe/lodestar-types"; import all from "it-all"; +import {allForks} from "@chainsafe/lodestar-types"; import {ForkName} from "@chainsafe/lodestar-params"; import { Method, diff --git a/packages/lodestar/test/unit/network/reqresp/encodingStrategies/sszSnappy/encode.test.ts b/packages/lodestar/test/unit/network/reqresp/encodingStrategies/sszSnappy/encode.test.ts index 35ce2d688a5e..3246c609cb64 100644 --- a/packages/lodestar/test/unit/network/reqresp/encodingStrategies/sszSnappy/encode.test.ts +++ b/packages/lodestar/test/unit/network/reqresp/encodingStrategies/sszSnappy/encode.test.ts @@ -14,9 +14,9 @@ import { } from "../../../../../../src/network/reqresp/encodingStrategies/sszSnappy/index.js"; import {expectRejectedWithLodestarError} from "../../../../../utils/errors.js"; import {expectEqualByteChunks} from "../../utils.js"; -import {sszSnappyPing, sszSnappyStatus, sszSnappySignedBeaconBlockPhase0} from "./testData.js"; import {blocksToReqRespBlockResponses} from "../../../../../utils/block.js"; import {RequestOrOutgoingResponseBody} from "../../../../../../src/network/reqresp/types.js"; +import {sszSnappyPing, sszSnappyStatus, sszSnappySignedBeaconBlockPhase0} from "./testData.js"; describe("network / reqresp / sszSnappy / encode", () => { describe("Test data vectors (generated in a previous version)", () => { diff --git a/packages/lodestar/test/unit/network/reqresp/request/responseTimeoutsHandler.test.ts b/packages/lodestar/test/unit/network/reqresp/request/responseTimeoutsHandler.test.ts index 5fac8ff837a8..66ecb613be65 100644 --- a/packages/lodestar/test/unit/network/reqresp/request/responseTimeoutsHandler.test.ts +++ b/packages/lodestar/test/unit/network/reqresp/request/responseTimeoutsHandler.test.ts @@ -1,5 +1,6 @@ import all from "it-all"; import pipe from "it-pipe"; +import {AbortController} from "@chainsafe/abort-controller"; import {LodestarError, sleep as _sleep} from "@chainsafe/lodestar-utils"; import {timeoutOptions} from "../../../../../src/constants/index.js"; import {responseTimeoutsHandler} from "../../../../../src/network/reqresp/request/responseTimeoutsHandler.js"; diff --git a/packages/lodestar/test/unit/network/reqresp/response/rateLimiter.test.ts b/packages/lodestar/test/unit/network/reqresp/response/rateLimiter.test.ts index d6aad3713a3a..7523ed242517 100644 --- a/packages/lodestar/test/unit/network/reqresp/response/rateLimiter.test.ts +++ b/packages/lodestar/test/unit/network/reqresp/response/rateLimiter.test.ts @@ -1,7 +1,7 @@ -import {WinstonLogger} from "@chainsafe/lodestar-utils"; import {expect} from "chai"; import PeerId from "peer-id"; import sinon, {SinonStubbedInstance} from "sinon"; +import {WinstonLogger} from "@chainsafe/lodestar-utils"; import {IPeerRpcScoreStore, PeerAction, PeerRpcScoreStore} from "../../../../../src/network/index.js"; import {defaultNetworkOptions} from "../../../../../src/network/options.js"; import {InboundRateLimiter} from "../../../../../src/network/reqresp/response/rateLimiter.js"; diff --git a/packages/lodestar/test/unit/network/reqresp/utils.ts b/packages/lodestar/test/unit/network/reqresp/utils.ts index f4520b04cbce..3d8fae5b117b 100644 --- a/packages/lodestar/test/unit/network/reqresp/utils.ts +++ b/packages/lodestar/test/unit/network/reqresp/utils.ts @@ -1,6 +1,6 @@ +import {expect} from "chai"; import {Root, phase0} from "@chainsafe/lodestar-types"; import {toHexString} from "@chainsafe/ssz"; -import {expect} from "chai"; import {Libp2pStream} from "../../../../src/network/index.js"; import {generateEmptySignedBlock} from "../../../utils/block.js"; diff --git a/packages/lodestar/test/unit/network/util.test.ts b/packages/lodestar/test/unit/network/util.test.ts index 8ab7780db516..eb8149925a04 100644 --- a/packages/lodestar/test/unit/network/util.test.ts +++ b/packages/lodestar/test/unit/network/util.test.ts @@ -1,14 +1,14 @@ import {Multiaddr} from "multiaddr"; import {expect} from "chai"; +import PeerId from "peer-id"; import {config} from "@chainsafe/lodestar-config/default"; import {ForkName} from "@chainsafe/lodestar-params"; +import {ENR} from "@chainsafe/discv5"; import {Method, Version, Encoding} from "../../../src/network/reqresp/types.js"; import {defaultNetworkOptions} from "../../../src/network/options.js"; import {formatProtocolId, parseProtocolId} from "../../../src/network/reqresp/utils/index.js"; import {createNodeJsLibp2p, isLocalMultiAddr} from "../../../src/network/index.js"; import {getCurrentAndNextFork} from "../../../src/network/forks.js"; -import {ENR} from "@chainsafe/discv5"; -import PeerId from "peer-id"; async function createPeerId(): Promise { return await PeerId.create({keyType: "secp256k1"}); diff --git a/packages/lodestar/test/unit/sync/backfill/verify.test.ts b/packages/lodestar/test/unit/sync/backfill/verify.test.ts index 2438314420c4..67841a49781a 100644 --- a/packages/lodestar/test/unit/sync/backfill/verify.test.ts +++ b/packages/lodestar/test/unit/sync/backfill/verify.test.ts @@ -1,12 +1,12 @@ -import {BackfillSyncErrorCode, BackfillSyncError} from "./../../../../src/sync/backfill/errors.js"; +import {readFileSync} from "node:fs"; +import path from "node:path"; +import {fileURLToPath} from "node:url"; +import {expect} from "chai"; import {createIBeaconConfig} from "@chainsafe/lodestar-config"; import {config} from "@chainsafe/lodestar-config/default"; import {phase0, ssz} from "@chainsafe/lodestar-types"; -import {expect} from "chai"; -import {readFileSync} from "node:fs"; import {verifyBlockSequence} from "../../../../src/sync/backfill/verify.js"; -import path from "node:path"; -import {fileURLToPath} from "node:url"; +import {BackfillSyncErrorCode, BackfillSyncError} from "./../../../../src/sync/backfill/errors.js"; // Global variable __dirname no longer available in ES6 modules. // Solutions: https://stackoverflow.com/questions/46745014/alternative-for-dirname-in-node-js-when-using-es6-modules diff --git a/packages/lodestar/test/unit/sync/range/chain.test.ts b/packages/lodestar/test/unit/sync/range/chain.test.ts index b5a2bfab8f2c..a82449e3384f 100644 --- a/packages/lodestar/test/unit/sync/range/chain.test.ts +++ b/packages/lodestar/test/unit/sync/range/chain.test.ts @@ -1,10 +1,10 @@ import {config} from "@chainsafe/lodestar-config/default"; import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {Epoch, phase0, Slot} from "@chainsafe/lodestar-types"; +import {computeStartSlotAtEpoch} from "@chainsafe/lodestar-beacon-state-transition"; import {linspace} from "../../../../src/util/numpy.js"; import {generateEmptyBlock, generateEmptySignedBlock} from "../../../utils/block.js"; import {SyncChain, SyncChainFns, ChainTarget} from "../../../../src/sync/range/chain.js"; -import {computeStartSlotAtEpoch} from "@chainsafe/lodestar-beacon-state-transition"; import {RangeSyncType} from "../../../../src/sync/utils/remoteSyncType.js"; import {ZERO_HASH} from "../../../../src/constants/index.js"; import {testLogger} from "../../../utils/logger.js"; diff --git a/packages/lodestar/test/unit/sync/unknownBlock.test.ts b/packages/lodestar/test/unit/sync/unknownBlock.test.ts index 9e81ab31bb5e..13f4bf1cdf9b 100644 --- a/packages/lodestar/test/unit/sync/unknownBlock.test.ts +++ b/packages/lodestar/test/unit/sync/unknownBlock.test.ts @@ -1,9 +1,9 @@ +import {expect} from "chai"; import {config} from "@chainsafe/lodestar-config/default"; import {IForkChoice} from "@chainsafe/lodestar-fork-choice"; import {ssz} from "@chainsafe/lodestar-types"; import {notNullish, sleep} from "@chainsafe/lodestar-utils"; import {toHexString} from "@chainsafe/ssz"; -import {expect} from "chai"; import {IBeaconChain} from "../../../src/chain/index.js"; import {INetwork, IReqResp, NetworkEvent, NetworkEventBus} from "../../../src/network/index.js"; import {UnknownBlockSync} from "../../../src/sync/unknownBlock.js"; diff --git a/packages/lodestar/test/unit/sync/utils/pendingBlocksTree.test.ts b/packages/lodestar/test/unit/sync/utils/pendingBlocksTree.test.ts index aaabb7ba3323..99f7043f20bd 100644 --- a/packages/lodestar/test/unit/sync/utils/pendingBlocksTree.test.ts +++ b/packages/lodestar/test/unit/sync/utils/pendingBlocksTree.test.ts @@ -1,5 +1,5 @@ -import {RootHex} from "@chainsafe/lodestar-types"; import {expect} from "chai"; +import {RootHex} from "@chainsafe/lodestar-types"; import {PendingBlock, PendingBlockStatus} from "../../../../src/sync/index.js"; import { getAllDescendantBlocks, diff --git a/packages/lodestar/test/unit/sync/utils/remoteSyncType.test.ts b/packages/lodestar/test/unit/sync/utils/remoteSyncType.test.ts index ba1ba5f385c7..beaa6644a520 100644 --- a/packages/lodestar/test/unit/sync/utils/remoteSyncType.test.ts +++ b/packages/lodestar/test/unit/sync/utils/remoteSyncType.test.ts @@ -1,7 +1,7 @@ +import {expect} from "chai"; import {IForkChoice} from "@chainsafe/lodestar-fork-choice"; import {Root, phase0} from "@chainsafe/lodestar-types"; import {toHexString} from "@chainsafe/ssz"; -import {expect} from "chai"; import {ZERO_HASH} from "../../../../src/constants/index.js"; import { getPeerSyncType, diff --git a/packages/lodestar/test/unit/util/queue.test.ts b/packages/lodestar/test/unit/util/queue.test.ts index 8b68179a29e1..ef425513a8be 100644 --- a/packages/lodestar/test/unit/util/queue.test.ts +++ b/packages/lodestar/test/unit/util/queue.test.ts @@ -1,5 +1,5 @@ -import {sleep} from "@chainsafe/lodestar-utils"; import {expect} from "chai"; +import {sleep} from "@chainsafe/lodestar-utils"; import {JobFnQueue, QueueError, QueueErrorCode, QueueType} from "../../../src/util/queue/index.js"; import {expectLodestarError, expectRejectedWithLodestarError} from "../../utils/errors.js"; diff --git a/packages/lodestar/test/utils/aggregateAndProof.ts b/packages/lodestar/test/utils/aggregateAndProof.ts index bf691a65c503..8da8640a60e0 100644 --- a/packages/lodestar/test/utils/aggregateAndProof.ts +++ b/packages/lodestar/test/utils/aggregateAndProof.ts @@ -1,9 +1,9 @@ -import {phase0} from "@chainsafe/lodestar-types"; -import {generateEmptyAttestation} from "./attestation.js"; -import {EMPTY_SIGNATURE} from "../../src/constants/index.js"; import deepmerge from "deepmerge"; +import {phase0} from "@chainsafe/lodestar-types"; import {isPlainObject} from "@chainsafe/lodestar-utils"; import {RecursivePartial} from "@chainsafe/lodestar-utils"; +import {EMPTY_SIGNATURE} from "../../src/constants/index.js"; +import {generateEmptyAttestation} from "./attestation.js"; export function generateAggregateAndProof( override: RecursivePartial = {} diff --git a/packages/lodestar/test/utils/attestation.ts b/packages/lodestar/test/utils/attestation.ts index ba5d4b9a3f63..17cb3c31f449 100644 --- a/packages/lodestar/test/utils/attestation.ts +++ b/packages/lodestar/test/utils/attestation.ts @@ -1,6 +1,6 @@ -import {CommitteeIndex, Epoch, Slot, phase0} from "@chainsafe/lodestar-types"; import crypto from "node:crypto"; import deepmerge from "deepmerge"; +import {CommitteeIndex, Epoch, Slot, phase0} from "@chainsafe/lodestar-types"; import {isPlainObject} from "@chainsafe/lodestar-utils"; import {RecursivePartial} from "@chainsafe/lodestar-utils"; import {BitArray} from "@chainsafe/ssz"; diff --git a/packages/lodestar/test/utils/block.ts b/packages/lodestar/test/utils/block.ts index 8d70ce05d92b..fafdbfdff5b4 100644 --- a/packages/lodestar/test/utils/block.ts +++ b/packages/lodestar/test/utils/block.ts @@ -1,3 +1,4 @@ +import deepmerge from "deepmerge"; import {ssz} from "@chainsafe/lodestar-types"; import {config as defaultConfig} from "@chainsafe/lodestar-config/default"; import {IChainForkConfig} from "@chainsafe/lodestar-config"; @@ -5,7 +6,6 @@ import {allForks, phase0} from "@chainsafe/lodestar-types"; import {IProtoBlock, ExecutionStatus} from "@chainsafe/lodestar-fork-choice"; import {isPlainObject} from "@chainsafe/lodestar-utils"; import {RecursivePartial} from "@chainsafe/lodestar-utils"; -import deepmerge from "deepmerge"; import {EMPTY_SIGNATURE, ZERO_HASH} from "../../src/constants/index.js"; import {ReqRespBlockResponse} from "../../src/network/reqresp/types.js"; diff --git a/packages/lodestar/test/utils/contributionAndProof.ts b/packages/lodestar/test/utils/contributionAndProof.ts index 0e5b8bb0a0c4..b5e0ef64a1e0 100644 --- a/packages/lodestar/test/utils/contributionAndProof.ts +++ b/packages/lodestar/test/utils/contributionAndProof.ts @@ -1,9 +1,9 @@ +import deepmerge from "deepmerge"; import {EMPTY_SIGNATURE} from "@chainsafe/lodestar-beacon-state-transition"; import {SYNC_COMMITTEE_SUBNET_SIZE} from "@chainsafe/lodestar-params"; import {altair} from "@chainsafe/lodestar-types"; import {isPlainObject, RecursivePartial} from "@chainsafe/lodestar-utils"; import {BitArray, fromHexString} from "@chainsafe/ssz"; -import deepmerge from "deepmerge"; export function generateEmptyContribution(): altair.SyncCommitteeContribution { return { diff --git a/packages/lodestar/test/utils/events/resolver.ts b/packages/lodestar/test/utils/events/resolver.ts index b2fac4ded541..055a49b4f682 100644 --- a/packages/lodestar/test/utils/events/resolver.ts +++ b/packages/lodestar/test/utils/events/resolver.ts @@ -1,5 +1,5 @@ -import {TimeoutError} from "@chainsafe/lodestar-utils"; import {EventEmitter} from "events"; +import {TimeoutError} from "@chainsafe/lodestar-utils"; export function waitForEvent( emitter: EventEmitter, diff --git a/packages/lodestar/test/utils/mocks/chain/chain.ts b/packages/lodestar/test/utils/mocks/chain/chain.ts index 6620eea0a66e..7ba57044b911 100644 --- a/packages/lodestar/test/utils/mocks/chain/chain.ts +++ b/packages/lodestar/test/utils/mocks/chain/chain.ts @@ -1,4 +1,5 @@ import sinon from "sinon"; +import {AbortController} from "@chainsafe/abort-controller"; import {toHexString} from "@chainsafe/ssz"; import {allForks, UintNum64, Root, Slot, ssz, Uint16, UintBn64} from "@chainsafe/lodestar-types"; diff --git a/packages/lodestar/test/utils/node/beacon.ts b/packages/lodestar/test/utils/node/beacon.ts index f3fea54fb7e6..90ba2e7eb097 100644 --- a/packages/lodestar/test/utils/node/beacon.ts +++ b/packages/lodestar/test/utils/node/beacon.ts @@ -1,13 +1,14 @@ import deepmerge from "deepmerge"; import tmp from "tmp"; import PeerId from "peer-id"; -import {createEnr} from "../../../../cli/src/config/enr.js"; import {config as minimalConfig} from "@chainsafe/lodestar-config/default"; import {createIBeaconConfig, createIChainForkConfig, IChainConfig} from "@chainsafe/lodestar-config"; import {ILogger, RecursivePartial} from "@chainsafe/lodestar-utils"; import {LevelDbController} from "@chainsafe/lodestar-db"; import {phase0} from "@chainsafe/lodestar-types"; import {BeaconStateAllForks} from "@chainsafe/lodestar-beacon-state-transition"; +import {isPlainObject} from "@chainsafe/lodestar-utils"; +import {createEnr} from "../../../../cli/src/config/enr.js"; import {BeaconNode} from "../../../src/node/index.js"; import {createNodeJsLibp2p} from "../../../src/network/nodejs/index.js"; import {createPeerId} from "../../../src/network/index.js"; @@ -18,7 +19,6 @@ import {defaultOptions} from "../../../src/node/options.js"; import {BeaconDb} from "../../../src/db/index.js"; import {testLogger} from "../logger.js"; import {InteropStateOpts} from "../../../src/node/utils/interop/state.js"; -import {isPlainObject} from "@chainsafe/lodestar-utils"; export async function getDevBeaconNode( opts: { diff --git a/packages/lodestar/test/utils/node/validator.ts b/packages/lodestar/test/utils/node/validator.ts index e1bb13e5fd3f..f290044a704d 100644 --- a/packages/lodestar/test/utils/node/validator.ts +++ b/packages/lodestar/test/utils/node/validator.ts @@ -1,6 +1,6 @@ -import tmp, {DirResult, FileResult} from "tmp"; import fs from "node:fs"; import path from "node:path"; +import tmp, {DirResult, FileResult} from "tmp"; import {LevelDbController} from "@chainsafe/lodestar-db"; import {interopSecretKey} from "@chainsafe/lodestar-beacon-state-transition"; import { @@ -11,13 +11,13 @@ import { ISlashingProtection, SignerLocal, } from "@chainsafe/lodestar-validator"; +import type {SecretKey} from "@chainsafe/bls/types"; +import {KEY_IMPORTED_PREFIX} from "@chainsafe/lodestar-keymanager-server"; import {BeaconNode} from "../../../src/node/index.js"; import {testLogger, TestLoggerOpts} from "../logger.js"; -import type {SecretKey} from "@chainsafe/bls/types"; import {getLocalSecretKeys} from "../../../../cli/src/cmds/validator/keys.js"; import {IValidatorCliArgs} from "../../../../cli/src/cmds/validator/options.js"; import {IGlobalArgs} from "../../../../cli/src/options/index.js"; -import {KEY_IMPORTED_PREFIX} from "@chainsafe/lodestar-keymanager-server"; export async function getAndInitValidatorsWithKeystore({ node, diff --git a/packages/lodestar/test/utils/state.ts b/packages/lodestar/test/utils/state.ts index 91fe8da597e4..c9d16da6f90e 100644 --- a/packages/lodestar/test/utils/state.ts +++ b/packages/lodestar/test/utils/state.ts @@ -18,10 +18,10 @@ import { SYNC_COMMITTEE_SIZE, } from "@chainsafe/lodestar-params"; +import bls from "@chainsafe/bls"; import {GENESIS_EPOCH, GENESIS_SLOT, ZERO_HASH} from "../../src/constants/index.js"; import {generateEmptyBlock} from "./block.js"; import {generateValidator, generateValidators} from "./validator.js"; -import bls from "@chainsafe/bls"; /** * Copy of BeaconState, but all fields are marked optional to allow for swapping out variables as needed. diff --git a/packages/lodestar/test/utils/stub/beaconDb.ts b/packages/lodestar/test/utils/stub/beaconDb.ts index 7847f3ecd843..30840d039859 100644 --- a/packages/lodestar/test/utils/stub/beaconDb.ts +++ b/packages/lodestar/test/utils/stub/beaconDb.ts @@ -1,6 +1,7 @@ import {SinonStubbedInstance} from "sinon"; import {LevelDbController} from "@chainsafe/lodestar-db"; +import {config as minimalConfig} from "@chainsafe/lodestar-config/default"; import {BeaconDb} from "../../../src/db/index.js"; import { AttesterSlashingRepository, @@ -13,7 +14,6 @@ import { StateArchiveRepository, VoluntaryExitRepository, } from "../../../src/db/repositories/index.js"; -import {config as minimalConfig} from "@chainsafe/lodestar-config/default"; import {createStubInstance} from "../types.js"; export class StubbedBeaconDb extends BeaconDb { diff --git a/packages/lodestar/test/utils/syncCommittee.ts b/packages/lodestar/test/utils/syncCommittee.ts index d4b0a5cfc755..2a5be374d74c 100644 --- a/packages/lodestar/test/utils/syncCommittee.ts +++ b/packages/lodestar/test/utils/syncCommittee.ts @@ -1,6 +1,6 @@ +import deepmerge from "deepmerge"; import {altair} from "@chainsafe/lodestar-types"; import {isPlainObject, RecursivePartial} from "@chainsafe/lodestar-utils"; -import deepmerge from "deepmerge"; export function generateSyncCommitteeSignature( override: RecursivePartial diff --git a/packages/lodestar/test/utils/validationData/attestation.ts b/packages/lodestar/test/utils/validationData/attestation.ts index c2a3421369d3..42251a28a99c 100644 --- a/packages/lodestar/test/utils/validationData/attestation.ts +++ b/packages/lodestar/test/utils/validationData/attestation.ts @@ -6,6 +6,9 @@ import { import {IProtoBlock, IForkChoice, ExecutionStatus} from "@chainsafe/lodestar-fork-choice"; import {DOMAIN_BEACON_ATTESTER} from "@chainsafe/lodestar-params"; import {phase0, Slot, ssz} from "@chainsafe/lodestar-types"; +import {BitArray, toHexString} from "@chainsafe/ssz"; +import {config} from "@chainsafe/lodestar-config/default"; +import {IBeaconConfig} from "@chainsafe/lodestar-config"; import {IBeaconChain} from "../../../src/chain/index.js"; import {IStateRegenerator} from "../../../src/chain/regen/index.js"; import {ZERO_HASH, ZERO_HASH_HEX} from "../../../src/constants/index.js"; @@ -17,9 +20,6 @@ import {SeenAttesters} from "../../../src/chain/seenCache/index.js"; import {BlsSingleThreadVerifier} from "../../../src/chain/bls/index.js"; import {signCached} from "../cache.js"; import {ClockStatic} from "../clock.js"; -import {BitArray, toHexString} from "@chainsafe/ssz"; -import {config} from "@chainsafe/lodestar-config/default"; -import {IBeaconConfig} from "@chainsafe/lodestar-config"; import {SeenAggregatedAttestations} from "../../../src/chain/seenCache/seenAggregateAndProof.js"; export type AttestationValidDataOpts = { diff --git a/packages/params/src/presets/mainnet/index.ts b/packages/params/src/presets/mainnet/index.ts index d4ea6d8fdf12..4bd48ce22fcb 100644 --- a/packages/params/src/presets/mainnet/index.ts +++ b/packages/params/src/presets/mainnet/index.ts @@ -1,7 +1,7 @@ +import {BeaconPreset} from "../../interface/index.js"; import {phase0} from "./phase0.js"; import {altair} from "./altair.js"; import {bellatrix} from "./bellatrix.js"; -import {BeaconPreset} from "../../interface/index.js"; export const commit = "v1.1.9"; diff --git a/packages/params/src/presets/minimal/index.ts b/packages/params/src/presets/minimal/index.ts index d4ea6d8fdf12..4bd48ce22fcb 100644 --- a/packages/params/src/presets/minimal/index.ts +++ b/packages/params/src/presets/minimal/index.ts @@ -1,7 +1,7 @@ +import {BeaconPreset} from "../../interface/index.js"; import {phase0} from "./phase0.js"; import {altair} from "./altair.js"; import {bellatrix} from "./bellatrix.js"; -import {BeaconPreset} from "../../interface/index.js"; export const commit = "v1.1.9"; diff --git a/packages/params/test/e2e/setPresetOk.ts b/packages/params/test/e2e/setPresetOk.ts index 99cd420b2d0f..0d4a72a22ae7 100644 --- a/packages/params/test/e2e/setPresetOk.ts +++ b/packages/params/test/e2e/setPresetOk.ts @@ -1,3 +1,4 @@ +/* eslint import/order: "off" */ // This script is should be run in an e2e !! // It demostrates how to properly change the Lodestar preset safely diff --git a/packages/params/test/unit/activePreset.test.ts b/packages/params/test/unit/activePreset.test.ts index 516623bdcf75..0527a76584dd 100644 --- a/packages/params/test/unit/activePreset.test.ts +++ b/packages/params/test/unit/activePreset.test.ts @@ -1,9 +1,9 @@ +import {expect} from "chai"; import {preset as mainnetParams} from "../../src/presets/mainnet/index.js"; import {preset as minimalParams} from "../../src/presets/minimal/index.js"; import {ACTIVE_PRESET, PresetName} from "../../src/index.js"; import {setActivePreset} from "../../src/setPreset.js"; import {setActivePreset as setActivePresetLib} from "../../src/setPreset.js"; -import {expect} from "chai"; describe("active preset", async () => { const exports = (await import("../../src/index.js")) as Record; diff --git a/packages/spec-test-util/src/downloadTests.ts b/packages/spec-test-util/src/downloadTests.ts index 598de1330477..9d56ee514202 100644 --- a/packages/spec-test-util/src/downloadTests.ts +++ b/packages/spec-test-util/src/downloadTests.ts @@ -1,11 +1,11 @@ /* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment */ import fs from "node:fs"; import path from "node:path"; +import stream from "node:stream"; +import {promisify} from "node:util"; import rimraf from "rimraf"; import axios from "axios"; import tar from "tar"; -import stream from "node:stream"; -import {promisify} from "node:util"; import retry from "async-retry"; export type TestToDownload = "general" | "mainnet" | "minimal"; diff --git a/packages/spec-test-util/src/single.ts b/packages/spec-test-util/src/single.ts index 049a9c55ae5c..40d4ef8d6f52 100644 --- a/packages/spec-test-util/src/single.ts +++ b/packages/spec-test-util/src/single.ts @@ -1,6 +1,6 @@ -import {expect} from "chai"; import fs from "node:fs"; import {basename, join, parse} from "node:path"; +import {expect} from "chai"; import {uncompress} from "snappyjs"; import {loadYaml} from "@chainsafe/lodestar-utils"; diff --git a/packages/spec-test-util/src/sszGeneric.ts b/packages/spec-test-util/src/sszGeneric.ts index a40b5faa8115..3f7a2faada28 100644 --- a/packages/spec-test-util/src/sszGeneric.ts +++ b/packages/spec-test-util/src/sszGeneric.ts @@ -1,7 +1,7 @@ import path from "node:path"; import fs from "node:fs"; -import {loadYaml} from "@chainsafe/lodestar-utils"; import {uncompress} from "snappyjs"; +import {loadYaml} from "@chainsafe/lodestar-utils"; /* eslint-disable @typescript-eslint/explicit-module-boundary-types, diff --git a/packages/spec-test-util/test/e2e/single/index.test.ts b/packages/spec-test-util/test/e2e/single/index.test.ts index b85d792217dd..276ddcbdf486 100644 --- a/packages/spec-test-util/test/e2e/single/index.test.ts +++ b/packages/spec-test-util/test/e2e/single/index.test.ts @@ -22,7 +22,7 @@ export interface ISimpleCase extends Iterable { input: ISimpleStruct; output: number; meta?: { - bls_setting?: BigInt; + bls_setting?: bigint; }; } diff --git a/packages/types/src/bellatrix/sszTypes.ts b/packages/types/src/bellatrix/sszTypes.ts index e22d62f06690..dc015f6e5d9e 100644 --- a/packages/types/src/bellatrix/sszTypes.ts +++ b/packages/types/src/bellatrix/sszTypes.ts @@ -1,7 +1,4 @@ import {ByteListType, ByteVectorType, ContainerType, ListCompositeType, VectorCompositeType} from "@chainsafe/ssz"; -import {ssz as primitiveSsz} from "../primitive/index.js"; -import {ssz as phase0Ssz} from "../phase0/index.js"; -import {ssz as altairSsz} from "../altair/index.js"; import { BYTES_PER_LOGS_BLOOM, HISTORICAL_ROOTS_LIMIT, @@ -10,6 +7,9 @@ import { MAX_EXTRA_DATA_BYTES, SLOTS_PER_HISTORICAL_ROOT, } from "@chainsafe/lodestar-params"; +import {ssz as primitiveSsz} from "../primitive/index.js"; +import {ssz as phase0Ssz} from "../phase0/index.js"; +import {ssz as altairSsz} from "../altair/index.js"; const {Bytes20, Bytes32, UintNum64, Slot, ValidatorIndex, Root, BLSSignature, UintBn256: Uint256} = primitiveSsz; diff --git a/packages/types/test/unit/constants.test.ts b/packages/types/test/unit/constants.test.ts index dec4a79d3822..2892ac9f07e2 100644 --- a/packages/types/test/unit/constants.test.ts +++ b/packages/types/test/unit/constants.test.ts @@ -1,6 +1,6 @@ +import {expect} from "chai"; import * as constants from "@chainsafe/lodestar-params"; import {ssz} from "../../src/index.js"; -import {expect} from "chai"; /* eslint-disable @typescript-eslint/naming-convention */ diff --git a/packages/utils/src/logger/transport.ts b/packages/utils/src/logger/transport.ts index a0e4d498f171..e013f4cdc889 100644 --- a/packages/utils/src/logger/transport.ts +++ b/packages/utils/src/logger/transport.ts @@ -1,7 +1,7 @@ import winston from "winston"; import DailyRotateFile from "winston-daily-rotate-file"; -import {LogLevel} from "./interface.js"; import TransportStream from "winston-transport"; +import {LogLevel} from "./interface.js"; const {transports} = winston; diff --git a/packages/utils/src/logger/winston.ts b/packages/utils/src/logger/winston.ts index ce054272492b..d6d7094436a8 100644 --- a/packages/utils/src/logger/winston.ts +++ b/packages/utils/src/logger/winston.ts @@ -2,12 +2,12 @@ * @module logger */ +import {Writable} from "node:stream"; import winston from "winston"; import type {Logger} from "winston"; -import {defaultLogLevel, ILogger, ILoggerOptions, LogLevel, logLevelNum} from "./interface.js"; import chalk from "chalk"; +import {defaultLogLevel, ILogger, ILoggerOptions, LogLevel, logLevelNum} from "./interface.js"; import {getFormat} from "./format.js"; -import {Writable} from "node:stream"; import {TransportOpts, TransportType, fromTransportOpts} from "./transport.js"; import {LogData} from "./json.js"; diff --git a/packages/utils/test/unit/logger/json.test.ts b/packages/utils/test/unit/logger/json.test.ts index 777ce0d74bfd..86448609604c 100644 --- a/packages/utils/test/unit/logger/json.test.ts +++ b/packages/utils/test/unit/logger/json.test.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment */ -import {fromHexString, toHexString} from "@chainsafe/ssz"; import {expect} from "chai"; +import {fromHexString, toHexString} from "@chainsafe/ssz"; import {LodestarError} from "../../../src/index.js"; import {logCtxToJson, logCtxToString} from "../../../src/logger/json.js"; diff --git a/packages/utils/test/unit/logger/winston.test.ts b/packages/utils/test/unit/logger/winston.test.ts index ad448ddb4d86..ca7fe5e69789 100644 --- a/packages/utils/test/unit/logger/winston.test.ts +++ b/packages/utils/test/unit/logger/winston.test.ts @@ -1,7 +1,7 @@ import fs from "node:fs"; import path from "node:path"; -import rimraf from "rimraf"; import {Writable} from "node:stream"; +import rimraf from "rimraf"; import {expect} from "chai"; import {LogData, LodestarError, LogFormat, logFormats, LogLevel, WinstonLogger} from "../../../src/index.js"; import {TransportType} from "../../../src/logger/transport.js"; diff --git a/packages/validator/src/services/attestation.ts b/packages/validator/src/services/attestation.ts index ae4a1f5ab94d..210ea6ca86bc 100644 --- a/packages/validator/src/services/attestation.ts +++ b/packages/validator/src/services/attestation.ts @@ -2,16 +2,16 @@ import {phase0, Slot, ssz} from "@chainsafe/lodestar-types"; import {computeEpochAtSlot} from "@chainsafe/lodestar-beacon-state-transition"; import {extendError, sleep} from "@chainsafe/lodestar-utils"; import {Api} from "@chainsafe/lodestar-api"; +import {toHexString} from "@chainsafe/ssz"; import {IClock, ILoggerVc} from "../util/index.js"; +import {PubkeyHex} from "../types.js"; +import {Metrics} from "../metrics.js"; import {ValidatorStore} from "./validatorStore.js"; import {AttestationDutiesService, AttDutyAndProof} from "./attestationDuties.js"; import {groupAttDutiesByCommitteeIndex} from "./utils.js"; import {IndicesService} from "./indices.js"; -import {toHexString} from "@chainsafe/ssz"; import {ChainHeaderTracker, HeadEventData} from "./chainHeaderTracker.js"; import {ValidatorEvent, ValidatorEventEmitter} from "./emitter.js"; -import {PubkeyHex} from "../types.js"; -import {Metrics} from "../metrics.js"; type AttestationServiceOpts = { afterBlockDelaySlotFraction?: number; diff --git a/packages/validator/src/services/attestationDuties.ts b/packages/validator/src/services/attestationDuties.ts index 59c86764670c..b218bcd5fd66 100644 --- a/packages/validator/src/services/attestationDuties.ts +++ b/packages/validator/src/services/attestationDuties.ts @@ -4,12 +4,12 @@ import {computeEpochAtSlot, isAggregatorFromCommitteeLength} from "@chainsafe/lo import {BLSSignature, Epoch, Slot, ValidatorIndex, RootHex} from "@chainsafe/lodestar-types"; import {Api, routes} from "@chainsafe/lodestar-api"; import {toHexString} from "@chainsafe/ssz"; -import {IndicesService} from "./indices.js"; import {IClock, ILoggerVc} from "../util/index.js"; -import {ValidatorStore} from "./validatorStore.js"; -import {ChainHeaderTracker, HeadEventData} from "./chainHeaderTracker.js"; import {PubkeyHex} from "../types.js"; import {Metrics} from "../metrics.js"; +import {IndicesService} from "./indices.js"; +import {ValidatorStore} from "./validatorStore.js"; +import {ChainHeaderTracker, HeadEventData} from "./chainHeaderTracker.js"; /** Only retain `HISTORICAL_DUTIES_EPOCHS` duties prior to the current epoch. */ const HISTORICAL_DUTIES_EPOCHS = 2; diff --git a/packages/validator/src/services/block.ts b/packages/validator/src/services/block.ts index 039d655655ff..dc942fa363d1 100644 --- a/packages/validator/src/services/block.ts +++ b/packages/validator/src/services/block.ts @@ -5,10 +5,10 @@ import {extendError, prettyBytes} from "@chainsafe/lodestar-utils"; import {toHexString} from "@chainsafe/ssz"; import {Api} from "@chainsafe/lodestar-api"; import {IClock, ILoggerVc} from "../util/index.js"; -import {ValidatorStore} from "./validatorStore.js"; -import {BlockDutiesService, GENESIS_SLOT} from "./blockDuties.js"; import {PubkeyHex} from "../types.js"; import {Metrics} from "../metrics.js"; +import {ValidatorStore} from "./validatorStore.js"; +import {BlockDutiesService, GENESIS_SLOT} from "./blockDuties.js"; type BlockProposingServiceOpts = { graffiti?: string; diff --git a/packages/validator/src/services/blockDuties.ts b/packages/validator/src/services/blockDuties.ts index 0701dff68a51..cc151c047f6f 100644 --- a/packages/validator/src/services/blockDuties.ts +++ b/packages/validator/src/services/blockDuties.ts @@ -4,9 +4,9 @@ import {toHexString} from "@chainsafe/ssz"; import {Api, routes} from "@chainsafe/lodestar-api"; import {extendError} from "@chainsafe/lodestar-utils"; import {IClock, differenceHex, ILoggerVc} from "../util/index.js"; -import {ValidatorStore} from "./validatorStore.js"; import {PubkeyHex} from "../types.js"; import {Metrics} from "../metrics.js"; +import {ValidatorStore} from "./validatorStore.js"; /** Only retain `HISTORICAL_DUTIES_EPOCHS` duties prior to the current epoch */ const HISTORICAL_DUTIES_EPOCHS = 2; diff --git a/packages/validator/src/services/indices.ts b/packages/validator/src/services/indices.ts index 684ac4eb6c2b..a1fec8d1315d 100644 --- a/packages/validator/src/services/indices.ts +++ b/packages/validator/src/services/indices.ts @@ -2,9 +2,9 @@ import {ValidatorIndex} from "@chainsafe/lodestar-types"; import {ILogger} from "@chainsafe/lodestar-utils"; import {toHexString} from "@chainsafe/ssz"; import {Api} from "@chainsafe/lodestar-api"; -import {ValidatorStore} from "./validatorStore.js"; import {batchItems} from "../util/batch.js"; import {Metrics} from "../metrics.js"; +import {ValidatorStore} from "./validatorStore.js"; /** * URLs have a limitation on size, adding an unbounded num of pubkeys will break the request. diff --git a/packages/validator/src/services/prepareBeaconProposer.ts b/packages/validator/src/services/prepareBeaconProposer.ts index 46d96072cba1..db38d91e4c0f 100644 --- a/packages/validator/src/services/prepareBeaconProposer.ts +++ b/packages/validator/src/services/prepareBeaconProposer.ts @@ -1,10 +1,10 @@ import {Epoch} from "@chainsafe/lodestar-types"; import {Api, routes} from "@chainsafe/lodestar-api"; -import {ValidatorStore} from "./validatorStore.js"; -import {IndicesService} from "./indices.js"; import {IClock, ILoggerVc} from "../util/index.js"; import {Metrics} from "../metrics.js"; +import {ValidatorStore} from "./validatorStore.js"; +import {IndicesService} from "./indices.js"; /** * This service is responsible for updating the BNs and/or Mev relays with diff --git a/packages/validator/src/services/syncCommittee.ts b/packages/validator/src/services/syncCommittee.ts index 46b3ea02f907..4a32b1d2f47a 100644 --- a/packages/validator/src/services/syncCommittee.ts +++ b/packages/validator/src/services/syncCommittee.ts @@ -4,13 +4,13 @@ import {extendError, sleep} from "@chainsafe/lodestar-utils"; import {computeEpochAtSlot} from "@chainsafe/lodestar-beacon-state-transition"; import {Api} from "@chainsafe/lodestar-api"; import {IClock, ILoggerVc} from "../util/index.js"; +import {PubkeyHex} from "../types.js"; +import {Metrics} from "../metrics.js"; import {ValidatorStore} from "./validatorStore.js"; import {SyncCommitteeDutiesService, SyncDutyAndProofs} from "./syncCommitteeDuties.js"; import {groupSyncDutiesBySubcommitteeIndex, SubcommitteeDuty} from "./utils.js"; import {IndicesService} from "./indices.js"; import {ChainHeaderTracker} from "./chainHeaderTracker.js"; -import {PubkeyHex} from "../types.js"; -import {Metrics} from "../metrics.js"; /** * Service that sets up and handles validator sync duties. diff --git a/packages/validator/src/services/syncCommitteeDuties.ts b/packages/validator/src/services/syncCommitteeDuties.ts index 7bdab2e22263..bca9e9bbd9ed 100644 --- a/packages/validator/src/services/syncCommitteeDuties.ts +++ b/packages/validator/src/services/syncCommitteeDuties.ts @@ -9,11 +9,11 @@ import {BLSSignature, Epoch, Root, Slot, SyncPeriod, ValidatorIndex} from "@chai import {toHexString} from "@chainsafe/ssz"; import {Api, routes} from "@chainsafe/lodestar-api"; import {extendError} from "@chainsafe/lodestar-utils"; -import {IndicesService} from "./indices.js"; import {IClock, ILoggerVc} from "../util/index.js"; -import {ValidatorStore} from "./validatorStore.js"; import {PubkeyHex} from "../types.js"; import {Metrics} from "../metrics.js"; +import {ValidatorStore} from "./validatorStore.js"; +import {IndicesService} from "./indices.js"; /** Only retain `HISTORICAL_DUTIES_PERIODS` duties prior to the current periods. */ const HISTORICAL_DUTIES_PERIODS = 2; diff --git a/packages/validator/src/slashingProtection/block/index.ts b/packages/validator/src/slashingProtection/block/index.ts index b047580982e7..0f0aef9959e9 100644 --- a/packages/validator/src/slashingProtection/block/index.ts +++ b/packages/validator/src/slashingProtection/block/index.ts @@ -1,8 +1,8 @@ import {BLSPubkey} from "@chainsafe/lodestar-types"; import {isEqualNonZeroRoot} from "../utils.js"; +import {SlashingProtectionBlock} from "../types.js"; import {InvalidBlockError, InvalidBlockErrorCode} from "./errors.js"; import {BlockBySlotRepository} from "./blockBySlotRepository.js"; -import {SlashingProtectionBlock} from "../types.js"; export {BlockBySlotRepository, InvalidBlockError, InvalidBlockErrorCode}; enum SafeStatus { diff --git a/packages/validator/src/validator.ts b/packages/validator/src/validator.ts index c01677c1daeb..7b07beab7a63 100644 --- a/packages/validator/src/validator.ts +++ b/packages/validator/src/validator.ts @@ -4,6 +4,8 @@ import {createIBeaconConfig, IBeaconConfig} from "@chainsafe/lodestar-config"; import {Genesis} from "@chainsafe/lodestar-types/phase0"; import {ILogger} from "@chainsafe/lodestar-utils"; import {getClient, Api} from "@chainsafe/lodestar-api"; +import {toHexString} from "@chainsafe/ssz"; +import {computeEpochAtSlot, getCurrentSlot} from "@chainsafe/lodestar-beacon-state-transition"; import {Clock, IClock} from "./util/clock.js"; import {waitForGenesis} from "./genesis.js"; import {BlockProposingService} from "./services/block.js"; @@ -14,10 +16,8 @@ import {PrepareBeaconProposerService} from "./services/prepareBeaconProposer.js" import {ISlashingProtection} from "./slashingProtection/index.js"; import {assertEqualParams, getLoggerVc, NotEqualParamsError} from "./util/index.js"; import {ChainHeaderTracker} from "./services/chainHeaderTracker.js"; -import {toHexString} from "@chainsafe/ssz"; import {ValidatorEventEmitter} from "./services/emitter.js"; import {ValidatorStore, Signer} from "./services/validatorStore.js"; -import {computeEpochAtSlot, getCurrentSlot} from "@chainsafe/lodestar-beacon-state-transition"; import {PubkeyHex} from "./types.js"; import {Metrics} from "./metrics.js"; import {MetaDataRepository} from "./repositories/metaDataRepository.js"; diff --git a/packages/validator/test/unit/services/attestation.test.ts b/packages/validator/test/unit/services/attestation.test.ts index 744f5ff186bb..06c0a33b2ba9 100644 --- a/packages/validator/test/unit/services/attestation.test.ts +++ b/packages/validator/test/unit/services/attestation.test.ts @@ -1,5 +1,6 @@ import {expect} from "chai"; import sinon from "sinon"; +import {AbortController} from "@chainsafe/abort-controller"; import bls from "@chainsafe/bls"; import {toHexString} from "@chainsafe/ssz"; import { diff --git a/packages/validator/test/unit/services/attestationDuties.test.ts b/packages/validator/test/unit/services/attestationDuties.test.ts index 6da3d086b26d..58edbafee470 100644 --- a/packages/validator/test/unit/services/attestationDuties.test.ts +++ b/packages/validator/test/unit/services/attestationDuties.test.ts @@ -1,18 +1,19 @@ import {toBufferBE} from "bigint-buffer"; import {expect} from "chai"; import sinon from "sinon"; +import {AbortController} from "@chainsafe/abort-controller"; import bls from "@chainsafe/bls"; import {toHexString} from "@chainsafe/ssz"; import {routes} from "@chainsafe/lodestar-api"; +import {ssz} from "@chainsafe/lodestar-types"; +import {computeEpochAtSlot} from "@chainsafe/lodestar-beacon-state-transition"; import {AttestationDutiesService} from "../../../src/services/attestationDuties.js"; import {ValidatorStore} from "../../../src/services/validatorStore.js"; import {getApiClientStub} from "../../utils/apiStub.js"; import {loggerVc, testLogger} from "../../utils/logger.js"; import {ClockMock} from "../../utils/clock.js"; import {IndicesService} from "../../../src/services/indices.js"; -import {ssz} from "@chainsafe/lodestar-types"; import {ChainHeaderTracker} from "../../../src/services/chainHeaderTracker.js"; -import {computeEpochAtSlot} from "@chainsafe/lodestar-beacon-state-transition"; describe("AttestationDutiesService", function () { const sandbox = sinon.createSandbox(); diff --git a/packages/validator/test/unit/services/block.test.ts b/packages/validator/test/unit/services/block.test.ts index be9ce472fe24..7515123394aa 100644 --- a/packages/validator/test/unit/services/block.test.ts +++ b/packages/validator/test/unit/services/block.test.ts @@ -1,5 +1,6 @@ import {expect} from "chai"; import sinon from "sinon"; +import {AbortController} from "@chainsafe/abort-controller"; import bls from "@chainsafe/bls"; import {toHexString} from "@chainsafe/ssz"; import {createIChainForkConfig} from "@chainsafe/lodestar-config"; diff --git a/packages/validator/test/unit/services/blockDuties.test.ts b/packages/validator/test/unit/services/blockDuties.test.ts index 80f81d7e7c57..12c76eb5cf50 100644 --- a/packages/validator/test/unit/services/blockDuties.test.ts +++ b/packages/validator/test/unit/services/blockDuties.test.ts @@ -1,5 +1,6 @@ import {expect} from "chai"; import sinon from "sinon"; +import {AbortController} from "@chainsafe/abort-controller"; import bls from "@chainsafe/bls"; import {toHexString} from "@chainsafe/ssz"; import {Root} from "@chainsafe/lodestar-types"; diff --git a/packages/validator/test/unit/services/syncCommitteDuties.test.ts b/packages/validator/test/unit/services/syncCommitteDuties.test.ts index ffe8978c460a..04a3bed26e27 100644 --- a/packages/validator/test/unit/services/syncCommitteDuties.test.ts +++ b/packages/validator/test/unit/services/syncCommitteDuties.test.ts @@ -1,18 +1,19 @@ import {toBufferBE} from "bigint-buffer"; import {expect} from "chai"; import sinon from "sinon"; +import {AbortController} from "@chainsafe/abort-controller"; import bls from "@chainsafe/bls"; import {toHexString} from "@chainsafe/ssz"; import {createIChainForkConfig} from "@chainsafe/lodestar-config"; import {config as mainnetConfig} from "@chainsafe/lodestar-config/default"; import {routes} from "@chainsafe/lodestar-api"; +import {ssz} from "@chainsafe/lodestar-types"; import {SyncCommitteeDutiesService} from "../../../src/services/syncCommitteeDuties.js"; import {ValidatorStore} from "../../../src/services/validatorStore.js"; import {getApiClientStub} from "../../utils/apiStub.js"; import {loggerVc, testLogger} from "../../utils/logger.js"; import {ClockMock} from "../../utils/clock.js"; import {IndicesService} from "../../../src/services/indices.js"; -import {ssz} from "@chainsafe/lodestar-types"; /* eslint-disable @typescript-eslint/naming-convention */ diff --git a/packages/validator/test/unit/services/syncCommittee.test.ts b/packages/validator/test/unit/services/syncCommittee.test.ts index 14794edaacf8..0ed825723dee 100644 --- a/packages/validator/test/unit/services/syncCommittee.test.ts +++ b/packages/validator/test/unit/services/syncCommittee.test.ts @@ -1,9 +1,11 @@ import {expect} from "chai"; import sinon from "sinon"; +import {AbortController} from "@chainsafe/abort-controller"; import bls from "@chainsafe/bls"; import {toHexString} from "@chainsafe/ssz"; import {createIChainForkConfig} from "@chainsafe/lodestar-config"; import {config as mainnetConfig} from "@chainsafe/lodestar-config/default"; +import {ssz} from "@chainsafe/lodestar-types"; import {SyncCommitteeService} from "../../../src/services/syncCommittee.js"; import {SyncDutyAndProofs} from "../../../src/services/syncCommitteeDuties.js"; import {ValidatorStore} from "../../../src/services/validatorStore.js"; @@ -11,7 +13,6 @@ import {getApiClientStub} from "../../utils/apiStub.js"; import {loggerVc, testLogger} from "../../utils/logger.js"; import {ClockMock} from "../../utils/clock.js"; import {IndicesService} from "../../../src/services/indices.js"; -import {ssz} from "@chainsafe/lodestar-types"; import {ChainHeaderTracker} from "../../../src/services/chainHeaderTracker.js"; /* eslint-disable @typescript-eslint/naming-convention */ diff --git a/packages/validator/test/unit/slashingProtection/minMaxSurround/surroundTests.test.ts b/packages/validator/test/unit/slashingProtection/minMaxSurround/surroundTests.test.ts index 1ceb19c9b516..57bf628d1b62 100644 --- a/packages/validator/test/unit/slashingProtection/minMaxSurround/surroundTests.test.ts +++ b/packages/validator/test/unit/slashingProtection/minMaxSurround/surroundTests.test.ts @@ -1,11 +1,11 @@ import chai, {expect} from "chai"; import chaiAsPromised from "chai-as-promised"; -import {DistanceStoreMemory, emptyPubkey} from "./utils.js"; import { MinMaxSurround, MinMaxSurroundAttestation, SurroundAttestationError, } from "../../../../src/slashingProtection/minMaxSurround/index.js"; +import {DistanceStoreMemory, emptyPubkey} from "./utils.js"; chai.use(chaiAsPromised); diff --git a/packages/validator/test/unit/slashingProtection/minMaxSurround/updateSpans.test.ts b/packages/validator/test/unit/slashingProtection/minMaxSurround/updateSpans.test.ts index d1b9e87b9d49..dd370325a101 100644 --- a/packages/validator/test/unit/slashingProtection/minMaxSurround/updateSpans.test.ts +++ b/packages/validator/test/unit/slashingProtection/minMaxSurround/updateSpans.test.ts @@ -1,6 +1,6 @@ import {expect} from "chai"; -import {DistanceStoreMemory, storeToSpansPerEpoch, emptyPubkey} from "./utils.js"; import {MinMaxSurroundAttestation, MinMaxSurround} from "../../../../src/slashingProtection/minMaxSurround/index.js"; +import {DistanceStoreMemory, storeToSpansPerEpoch, emptyPubkey} from "./utils.js"; const updateSpansTests: { name: string; diff --git a/packages/validator/test/unit/utils/clock.test.ts b/packages/validator/test/unit/utils/clock.test.ts index 220d3d9efa1a..cb39c8b379c4 100644 --- a/packages/validator/test/unit/utils/clock.test.ts +++ b/packages/validator/test/unit/utils/clock.test.ts @@ -1,10 +1,10 @@ import sinon from "sinon"; import {expect} from "chai"; import {config} from "@chainsafe/lodestar-config/default"; -import {Clock, getCurrentSlotAround} from "../../../src/util/clock.js"; -import {testLogger} from "../../utils/logger.js"; import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {IBeaconConfig} from "@chainsafe/lodestar-config"; +import {Clock, getCurrentSlotAround} from "../../../src/util/clock.js"; +import {testLogger} from "../../utils/logger.js"; describe("util / Clock", function () { const logger = testLogger(); diff --git a/packages/validator/test/unit/utils/params.test.ts b/packages/validator/test/unit/utils/params.test.ts index 58b6c827190a..7d1bdd587a9f 100644 --- a/packages/validator/test/unit/utils/params.test.ts +++ b/packages/validator/test/unit/utils/params.test.ts @@ -1,6 +1,6 @@ +import {expect} from "chai"; import {chainConfigToJson} from "@chainsafe/lodestar-config"; import {chainConfig} from "@chainsafe/lodestar-config/default"; -import {expect} from "chai"; import {assertEqualParams, NotEqualParamsError} from "../../../src/util/params.js"; describe("utils / params / assertEqualParams", () => { diff --git a/yarn.lock b/yarn.lock index bf484e9b7491..020c20c61273 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4,7 +4,7 @@ "@actions/cache@^1.0.7": version "1.0.7" - resolved "https://registry.yarnpkg.com/@actions/cache/-/cache-1.0.7.tgz#d80b0f5ac1e1ad48a5e77c39685100bd49b56b1c" + resolved "https://registry.npmjs.org/@actions/cache/-/cache-1.0.7.tgz" integrity sha512-MY69kxuubqUFq84pFlu8m6Poxl5sR/xyhpC4JEvno7Yg9ASYdGizEmKgt0m8ovewpYKf15UAOcSC0hzS+DuosA== dependencies: "@actions/core" "^1.2.6" @@ -19,19 +19,19 @@ "@actions/core@^1.2.6": version "1.4.0" - resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.4.0.tgz#cf2e6ee317e314b03886adfeb20e448d50d6e524" + resolved "https://registry.npmjs.org/@actions/core/-/core-1.4.0.tgz" integrity sha512-CGx2ilGq5i7zSLgiiGUtBCxhRRxibJYU6Fim0Q1Wg2aQL2LTnF27zbqZOrxfvFQ55eSBW0L8uVStgtKMpa0Qlg== "@actions/exec@^1.0.1": version "1.1.0" - resolved "https://registry.yarnpkg.com/@actions/exec/-/exec-1.1.0.tgz#53441d968e56d2fec69ad3f15773d4d94e01162c" + resolved "https://registry.npmjs.org/@actions/exec/-/exec-1.1.0.tgz" integrity sha512-LImpN9AY0J1R1mEYJjVJfSZWU4zYOlEcwSTgPve1rFQqK5AwrEs6uWW5Rv70gbDIQIAUwI86z6B+9mPK4w9Sbg== dependencies: "@actions/io" "^1.0.1" "@actions/github@^5.0.0": version "5.0.0" - resolved "https://registry.yarnpkg.com/@actions/github/-/github-5.0.0.tgz#1754127976c50bd88b2e905f10d204d76d1472f8" + resolved "https://registry.npmjs.org/@actions/github/-/github-5.0.0.tgz" integrity sha512-QvE9eAAfEsS+yOOk0cylLBIO/d6WyWIOvsxxzdrPFaud39G6BOkUwScXZn1iBzQzHyu9SBkkLSWlohDWdsasAQ== dependencies: "@actions/http-client" "^1.0.11" @@ -41,7 +41,7 @@ "@actions/glob@^0.1.0": version "0.1.2" - resolved "https://registry.yarnpkg.com/@actions/glob/-/glob-0.1.2.tgz#9685ed2d6583093479c8f137d067c4329d7d0974" + resolved "https://registry.npmjs.org/@actions/glob/-/glob-0.1.2.tgz" integrity sha512-SclLR7Ia5sEqjkJTPs7Sd86maMDw43p769YxBOxvPvEWuPEhpAnBsQfENOpXjFYMmhCqd127bmf+YdvJqVqR4A== dependencies: "@actions/core" "^1.2.6" @@ -49,31 +49,31 @@ "@actions/http-client@^1.0.11", "@actions/http-client@^1.0.9": version "1.0.11" - resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-1.0.11.tgz#c58b12e9aa8b159ee39e7dd6cbd0e91d905633c0" + resolved "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz" integrity sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg== dependencies: tunnel "0.0.6" "@actions/io@^1.0.1": version "1.1.1" - resolved "https://registry.yarnpkg.com/@actions/io/-/io-1.1.1.tgz#4a157406309e212ab27ed3ae30e8c1d641686a66" + resolved "https://registry.npmjs.org/@actions/io/-/io-1.1.1.tgz" integrity sha512-Qi4JoKXjmE0O67wAOH6y0n26QXhMKMFo7GD/4IXNVcrtLjUlGjGuVys6pQgwF3ArfGTQu0XpqaNr0YhED2RaRA== "@azure/abort-controller@^1.0.0": version "1.0.4" - resolved "https://registry.yarnpkg.com/@azure/abort-controller/-/abort-controller-1.0.4.tgz#fd3c4d46c8ed67aace42498c8e2270960250eafd" + resolved "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.0.4.tgz" integrity sha512-lNUmDRVGpanCsiUN3NWxFTdwmdFI53xwhkTFfHDGTYk46ca7Ind3nanJc+U6Zj9Tv+9nTCWRBscWEW1DyKOpTw== dependencies: tslib "^2.0.0" "@azure/core-asynciterator-polyfill@^1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@azure/core-asynciterator-polyfill/-/core-asynciterator-polyfill-1.0.0.tgz#dcccebb88406e5c76e0e1d52e8cc4c43a68b3ee7" + resolved "https://registry.npmjs.org/@azure/core-asynciterator-polyfill/-/core-asynciterator-polyfill-1.0.0.tgz" integrity sha512-kmv8CGrPfN9SwMwrkiBK9VTQYxdFQEGe0BmQk+M8io56P9KNzpAxcWE/1fxJj7uouwN4kXF0BHW8DNlgx+wtCg== "@azure/core-auth@^1.1.4", "@azure/core-auth@^1.3.0": version "1.3.0" - resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.3.0.tgz#0d55517cf0650aefe755669aca8a2f3724fcf536" + resolved "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.3.0.tgz" integrity sha512-kSDSZBL6c0CYdhb+7KuutnKGf2geeT+bCJAgccB0DD7wmNJSsQPcF7TcuoZX83B7VK4tLz/u+8sOO/CnCsYp8A== dependencies: "@azure/abort-controller" "^1.0.0" @@ -81,7 +81,7 @@ "@azure/core-http@^1.2.0": version "1.2.6" - resolved "https://registry.yarnpkg.com/@azure/core-http/-/core-http-1.2.6.tgz#9cd508418572d2062fd3175274219438772bdb65" + resolved "https://registry.npmjs.org/@azure/core-http/-/core-http-1.2.6.tgz" integrity sha512-odtH7UMKtekc5YQ86xg9GlVHNXR6pq2JgJ5FBo7/jbOjNGdBqcrIVrZx2bevXVJz/uUTSx6vUf62gzTXTfqYSQ== dependencies: "@azure/abort-controller" "^1.0.0" @@ -102,7 +102,7 @@ "@azure/core-lro@^1.0.2": version "1.0.5" - resolved "https://registry.yarnpkg.com/@azure/core-lro/-/core-lro-1.0.5.tgz#856a2cb6a9bec739ee9cde33a27cc28f81ac0522" + resolved "https://registry.npmjs.org/@azure/core-lro/-/core-lro-1.0.5.tgz" integrity sha512-0EFCFZxARrIoLWMIRt4vuqconRVIO2Iin7nFBfJiYCCbKp5eEmxutNk8uqudPmG0XFl5YqlVh68/al/vbE5OOg== dependencies: "@azure/abort-controller" "^1.0.0" @@ -113,14 +113,14 @@ "@azure/core-paging@^1.1.1": version "1.1.3" - resolved "https://registry.yarnpkg.com/@azure/core-paging/-/core-paging-1.1.3.tgz#3587c9898a0530cacb64bab216d7318468aa5efc" + resolved "https://registry.npmjs.org/@azure/core-paging/-/core-paging-1.1.3.tgz" integrity sha512-his7Ah40ThEYORSpIAwuh6B8wkGwO/zG7gqVtmSE4WAJ46e36zUDXTKReUCLBDc6HmjjApQQxxcRFy5FruG79A== dependencies: "@azure/core-asynciterator-polyfill" "^1.0.0" "@azure/core-tracing@1.0.0-preview.11": version "1.0.0-preview.11" - resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.0-preview.11.tgz#bdfb2ba73cd6c39b7d6c207b9522eb98e08b4ddd" + resolved "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.0-preview.11.tgz" integrity sha512-frF0pJc9HTmKncVokhBxCqipjbql02DThQ1ZJ9wLi7SDMLdPAFyDI5xZNzX5guLz+/DtPkY+SGK2li9FIXqshQ== dependencies: "@opencensus/web-types" "0.0.7" @@ -129,14 +129,14 @@ "@azure/logger@^1.0.0": version "1.0.2" - resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.0.2.tgz#ad2d06478eeda7835f53def7e4566981b47d9787" + resolved "https://registry.npmjs.org/@azure/logger/-/logger-1.0.2.tgz" integrity sha512-YZNjNV0vL3nN2nedmcjQBcpCTo3oqceXmgiQtEm6fLpucjRZyQKAQruhCmCpRlB1iykqKJJ/Y8CDmT5rIE6IJw== dependencies: tslib "^2.0.0" "@azure/ms-rest-js@^2.0.7": version "2.5.2" - resolved "https://registry.yarnpkg.com/@azure/ms-rest-js/-/ms-rest-js-2.5.2.tgz#41d2e12456447dc21b4aaa09e74d1550eaf38f14" + resolved "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-2.5.2.tgz" integrity sha512-9nCuuoYwHZEZw1t0MVtENH+c1k2R4maYAlBBDSZhZu6bEucyfYUUigNXXKjt2cFBt4sO+sTzi0uI0f/fiPFr+Q== dependencies: "@azure/core-auth" "^1.1.4" @@ -151,7 +151,7 @@ "@azure/storage-blob@^12.1.2": version "12.6.0" - resolved "https://registry.yarnpkg.com/@azure/storage-blob/-/storage-blob-12.6.0.tgz#9905d80e5f908a573cc65e1cb8302abc32818844" + resolved "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.6.0.tgz" integrity sha512-cAzsae+5ZdhugQfIT7o5SlVyF2Sc+HygZdPO41ZYdXklfGUyEt+5K4PyM5HQDc0MTVt6x7+waXcaAXT2eF9E6A== dependencies: "@azure/abort-controller" "^1.0.0" @@ -163,30 +163,23 @@ events "^3.0.0" tslib "^2.0.0" -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - "@babel/code-frame@^7.0.0": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz" integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== dependencies: "@babel/highlight" "^7.8.3" "@babel/code-frame@^7.10.4": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz" integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== dependencies: "@babel/highlight" "^7.10.4" "@babel/core@^7.7.5": version "7.11.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.4.tgz#4301dfdfafa01eeb97f1896c5501a3f0655d4229" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.11.4.tgz" integrity sha512-5deljj5HlqRXN+5oJTY7Zs37iH3z3b++KjiKtIsJy1NrjOOVSEaJHEetLBhyu0aQOSNNZ/0IuEAan9GzRuDXHg== dependencies: "@babel/code-frame" "^7.10.4" @@ -208,7 +201,7 @@ "@babel/generator@^7.11.0", "@babel/generator@^7.11.4": version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.0.tgz#a7d0c172e0d814974bad5aa77ace543b97917f15" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz" integrity sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ== dependencies: "@babel/types" "^7.15.0" @@ -217,7 +210,7 @@ "@babel/helper-function-name@^7.10.4": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz" integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== dependencies: "@babel/helper-get-function-arity" "^7.10.4" @@ -226,28 +219,28 @@ "@babel/helper-get-function-arity@^7.10.4": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" + resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz" integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== dependencies: "@babel/types" "^7.10.4" "@babel/helper-member-expression-to-functions@^7.10.4": version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz" integrity sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q== dependencies: "@babel/types" "^7.11.0" "@babel/helper-module-imports@^7.10.4": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz" integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw== dependencies: "@babel/types" "^7.10.4" "@babel/helper-module-transforms@^7.11.0": version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz" integrity sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg== dependencies: "@babel/helper-module-imports" "^7.10.4" @@ -260,14 +253,14 @@ "@babel/helper-optimise-call-expression@^7.10.4": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz" integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== dependencies: "@babel/types" "^7.10.4" "@babel/helper-replace-supers@^7.10.4": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz" integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A== dependencies: "@babel/helper-member-expression-to-functions" "^7.10.4" @@ -277,7 +270,7 @@ "@babel/helper-simple-access@^7.10.4": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz" integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw== dependencies: "@babel/template" "^7.10.4" @@ -285,24 +278,24 @@ "@babel/helper-split-export-declaration@^7.11.0": version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz" integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== dependencies: "@babel/types" "^7.11.0" "@babel/helper-validator-identifier@^7.10.4", "@babel/helper-validator-identifier@^7.14.9": version "7.14.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz#6654d171b2024f6d8ee151bf2509699919131d48" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz" integrity sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g== "@babel/helper-validator-identifier@^7.9.0": version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz" integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g== "@babel/helpers@^7.10.4": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz" integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA== dependencies: "@babel/template" "^7.10.4" @@ -311,7 +304,7 @@ "@babel/highlight@^7.10.4": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz" integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== dependencies: "@babel/helper-validator-identifier" "^7.10.4" @@ -320,7 +313,7 @@ "@babel/highlight@^7.8.3": version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz" integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ== dependencies: "@babel/helper-validator-identifier" "^7.9.0" @@ -329,12 +322,12 @@ "@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.4": version "7.15.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.3.tgz#3416d9bea748052cfcb63dbcc27368105b1ed862" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz" integrity sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA== "@babel/template@^7.10.4": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz" integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== dependencies: "@babel/code-frame" "^7.10.4" @@ -343,7 +336,7 @@ "@babel/traverse@^7.10.4", "@babel/traverse@^7.11.0": version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.0.tgz#9b996ce1b98f53f7c3e4175115605d56ed07dd24" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.0.tgz" integrity sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg== dependencies: "@babel/code-frame" "^7.10.4" @@ -358,7 +351,7 @@ "@babel/types@^7.10.4", "@babel/types@^7.11.0": version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.0.tgz#2ae6bf1ba9ae8c3c43824e5861269871b206e90d" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.11.0.tgz" integrity sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA== dependencies: "@babel/helper-validator-identifier" "^7.10.4" @@ -367,7 +360,7 @@ "@babel/types@^7.15.0": version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz" integrity sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ== dependencies: "@babel/helper-validator-identifier" "^7.14.9" @@ -375,19 +368,19 @@ "@chainsafe/abort-controller@^3.0.1": version "3.0.1" - resolved "https://registry.yarnpkg.com/@chainsafe/abort-controller/-/abort-controller-3.0.1.tgz#9f99ff6c641fa08e76ca346ecea54496ccb0662e" + resolved "https://registry.npmjs.org/@chainsafe/abort-controller/-/abort-controller-3.0.1.tgz" integrity sha512-oyq0qgFJDIIgLpyPwTv4j/sHX/MITatFzY3/b42VSldyZfnUC1lYBx5RwFvzBv1Sq4APOj2VCZO23pDRwy5kew== dependencies: event-target-shim "^5.0.0" "@chainsafe/as-sha256@^0.3.1": version "0.3.1" - resolved "https://registry.yarnpkg.com/@chainsafe/as-sha256/-/as-sha256-0.3.1.tgz#3639df0e1435cab03f4d9870cc3ac079e57a6fc9" + resolved "https://registry.npmjs.org/@chainsafe/as-sha256/-/as-sha256-0.3.1.tgz" integrity sha512-hldFFYuf49ed7DAakWVXSJODuq3pzJEguD8tQ7h+sGkM18vja+OFoJI9krnGmgzyuZC2ETX0NOIcCTy31v2Mtg== "@chainsafe/bls-hd-key@^0.2.0": version "0.2.1" - resolved "https://registry.yarnpkg.com/@chainsafe/bls-hd-key/-/bls-hd-key-0.2.1.tgz#3387a63f36f3cac20276bef40bb16a46294e6724" + resolved "https://registry.npmjs.org/@chainsafe/bls-hd-key/-/bls-hd-key-0.2.1.tgz" integrity sha512-FGmRLcOd9KxfH9q7x+FT20lJy9ooQ/Xd5fFLFGpPaf9GW4AnE0oGPGakPuV5//g8db7OzZ3ZfVMKtB4M7qq/wA== dependencies: assert "^2.0.0" @@ -397,14 +390,14 @@ "@chainsafe/bls-hd-key@^0.3.0": version "0.3.0" - resolved "https://registry.yarnpkg.com/@chainsafe/bls-hd-key/-/bls-hd-key-0.3.0.tgz#2de2649d5daa76f7460fc23caacf4ed3ebd2c02a" + resolved "https://registry.npmjs.org/@chainsafe/bls-hd-key/-/bls-hd-key-0.3.0.tgz" integrity sha512-LsYYnfBEEmqGFPDm8hQN3Kc+v9wPFnhn+CToD403KEynUiUSHKLAf5B6UCY5eooShDOcaGCUgAUhIw1CmpEf3Q== dependencies: "@noble/hashes" "^1.0.0" "@chainsafe/bls-keygen@^0.3.0": version "0.3.0" - resolved "https://registry.yarnpkg.com/@chainsafe/bls-keygen/-/bls-keygen-0.3.0.tgz#d7472a945f6f49b5cb357241bfba2f5c12a635c5" + resolved "https://registry.npmjs.org/@chainsafe/bls-keygen/-/bls-keygen-0.3.0.tgz" integrity sha512-5Iq6E5E987hyio74G1fXPYI3t9iVeHxRX1tDMpnCV9T82rPz061yFsMz3W3aXE26+k6+fcz0bsYX3ijOizkx+A== dependencies: "@chainsafe/bls-hd-key" "^0.2.0" @@ -414,7 +407,7 @@ "@chainsafe/bls-keygen@^0.4.0": version "0.4.0" - resolved "https://registry.yarnpkg.com/@chainsafe/bls-keygen/-/bls-keygen-0.4.0.tgz#782c6555cfb05b9efa6f144d782799e8695ca1b0" + resolved "https://registry.npmjs.org/@chainsafe/bls-keygen/-/bls-keygen-0.4.0.tgz" integrity sha512-wqtuj4G/sWpIugJW1mb/nSTwcTuZKqB3DS3ANUIOn7pva8EB6LfxgIL34o4qk3lti/8Mdxqtqc2n4xRszrNdzA== dependencies: "@chainsafe/bls-hd-key" "^0.3.0" @@ -423,7 +416,7 @@ "@chainsafe/bls-keystore@^2.0.0": version "2.0.0" - resolved "https://registry.yarnpkg.com/@chainsafe/bls-keystore/-/bls-keystore-2.0.0.tgz#6ac15109579c2caeae62c83c0257add0e8be2508" + resolved "https://registry.npmjs.org/@chainsafe/bls-keystore/-/bls-keystore-2.0.0.tgz" integrity sha512-XGtgGKdjYqKP09SUsfwaStsYuWuXB56/614dC1XhggG4LH8KTrFOjxb9SkS+T1BUu5doCXd9YA+gNLy01zv+Ww== dependencies: ajv "^6.12.2" @@ -433,7 +426,7 @@ "@chainsafe/bls@7.1.0": version "7.1.0" - resolved "https://registry.yarnpkg.com/@chainsafe/bls/-/bls-7.1.0.tgz#a6e92a6f2c4c46fa934dbb345b2972a1ef5f79f0" + resolved "https://registry.npmjs.org/@chainsafe/bls/-/bls-7.1.0.tgz" integrity sha512-9MR4l8Mc8BAPizo7mqaEBGCUJKzMuqzlvyXA9k8zMhcXZaiZ4wTyAU5BDJJLaMNLAjBVcLT/VSGOWe2O7E8J8A== dependencies: "@chainsafe/bls-keygen" "^0.4.0" @@ -442,7 +435,7 @@ "@chainsafe/bls@7.1.1": version "7.1.1" - resolved "https://registry.yarnpkg.com/@chainsafe/bls/-/bls-7.1.1.tgz#57db4b565a1a1a544c4091bb5f172d683fc65750" + resolved "https://registry.npmjs.org/@chainsafe/bls/-/bls-7.1.1.tgz" integrity sha512-56hjFJujW0Z0Ntkr8y22xIAfT4SChYWQtCGM8dfUMkWWX8xLOXkhBFFSNTvPXA5cBlsFlo102CtBo+6A60II2w== dependencies: "@chainsafe/bls-keygen" "^0.4.0" @@ -451,7 +444,7 @@ "@chainsafe/blst@^0.2.4": version "0.2.4" - resolved "https://registry.yarnpkg.com/@chainsafe/blst/-/blst-0.2.4.tgz#ed0737dcf52a8775bd163c9a892424fa365d2c8b" + resolved "https://registry.npmjs.org/@chainsafe/blst/-/blst-0.2.4.tgz" integrity sha512-jjhB4dALUvLdTc2flHE6BEI7KCvXVGevIP8si4OdtERu+Ed+cc6zBsrpLvOySX9pgAMAmAuTnB349AlmRfmR2Q== dependencies: node-fetch "^2.6.1" @@ -459,7 +452,7 @@ "@chainsafe/discv5@^0.7.1": version "0.7.1" - resolved "https://registry.yarnpkg.com/@chainsafe/discv5/-/discv5-0.7.1.tgz#261ad273b24e98e9867cdc54105b0a67f37780b5" + resolved "https://registry.npmjs.org/@chainsafe/discv5/-/discv5-0.7.1.tgz" integrity sha512-tH8iNm2StTm2VaC7HvammGTr3F7oWFsBJXUMlhOq9rbVaC6gJKKuIjfGMCyxaLH3GslEggq5SASHASIne3H13g== dependencies: "@chainsafe/abort-controller" "^3.0.1" @@ -481,7 +474,7 @@ "@chainsafe/eslint-plugin-node@^11.2.3": version "11.2.3" - resolved "https://registry.yarnpkg.com/@chainsafe/eslint-plugin-node/-/eslint-plugin-node-11.2.3.tgz#ff2c3fbf11db204aeaa72dcee60233140ad1c34a" + resolved "https://registry.npmjs.org/@chainsafe/eslint-plugin-node/-/eslint-plugin-node-11.2.3.tgz" integrity sha512-2iQv5JEaPcJuKP4pdawGd6iOVoUEDwx/PhsLqevwQXXz0WYwazW+p1fTF1bAcQNvZzLz4/wEBPtcVpQKNwY+jw== dependencies: eslint-plugin-es "^4.1.0" @@ -494,14 +487,14 @@ "@chainsafe/fast-crc32c@3.0.0": version "3.0.0" - resolved "https://registry.yarnpkg.com/@chainsafe/fast-crc32c/-/fast-crc32c-3.0.0.tgz#34879af40d7e75643bc5206e6502c2231494a7ba" + resolved "https://registry.npmjs.org/@chainsafe/fast-crc32c/-/fast-crc32c-3.0.0.tgz" integrity sha512-++icGd/h7oflrdLhRWrlRZt5dAZGo9W9we6hmLR5xEFFQTxnB1k5nQSshG+DbYQwBtda3NPQjnHHkXYkJI4nog== optionalDependencies: "@node-rs/crc32" "1.1.0" "@chainsafe/libp2p-noise@5.0.3": version "5.0.3" - resolved "https://registry.yarnpkg.com/@chainsafe/libp2p-noise/-/libp2p-noise-5.0.3.tgz#d9fbdef7cb3fada7ba467e3495ca74a0710d6274" + resolved "https://registry.npmjs.org/@chainsafe/libp2p-noise/-/libp2p-noise-5.0.3.tgz" integrity sha512-IT7q9JaEjv4aU3zO8zeomWyw79rLo8hGcmnyWOE1P/dVIT+jqrF08R3rVXonujBbmi6SSgZbB6NModqW+Oa2jw== dependencies: "@stablelib/chacha20poly1305" "^1.0.1" @@ -521,19 +514,19 @@ "@chainsafe/persistent-merkle-tree@^0.4.1": version "0.4.1" - resolved "https://registry.yarnpkg.com/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.4.1.tgz#b14163eb7f0240e5b821ced17355bd957704c110" + resolved "https://registry.npmjs.org/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.4.1.tgz" integrity sha512-/eDoJoj8Od4Wp7OSvwRRhl01mm4U0EGjh314/oV3JYS5pU92qPDvO4YRO68IEDvMzp0ewGSoC8muDQ5iArcwlw== dependencies: "@chainsafe/as-sha256" "^0.3.1" "@chainsafe/persistent-ts@^0.19.1": version "0.19.1" - resolved "https://registry.yarnpkg.com/@chainsafe/persistent-ts/-/persistent-ts-0.19.1.tgz#53d03aa31ef7698b09327f74eef01e286b97bae3" + resolved "https://registry.npmjs.org/@chainsafe/persistent-ts/-/persistent-ts-0.19.1.tgz" integrity sha512-fUFFFFxdcpYkMAHnjm83EYL/R/smtVmEkJr3FGSI6dwPk4ue9rXjEHf7FTd3V8AbVOcTJGriN4cYf2V+HOYkjQ== "@chainsafe/snappy-stream@5.1.1": version "5.1.1" - resolved "https://registry.yarnpkg.com/@chainsafe/snappy-stream/-/snappy-stream-5.1.1.tgz#9f3c79fd936b591d4a79d1801ffb582df54f1858" + resolved "https://registry.npmjs.org/@chainsafe/snappy-stream/-/snappy-stream-5.1.1.tgz" integrity sha512-wy1c0RLUttVYMQHN/zs473LIzZ6NEL2xG3T8vJp+Ag99H/lQldnwYY6aKGcMrt6hEhndRx0a4NaUxr70MTzsLg== dependencies: "@chainsafe/fast-crc32c" "3.0.0" @@ -545,7 +538,7 @@ "@chainsafe/ssz@^0.9.1": version "0.9.1" - resolved "https://registry.yarnpkg.com/@chainsafe/ssz/-/ssz-0.9.1.tgz#dda45ae135089eb1754a5f21adb52b70a7fe6718" + resolved "https://registry.npmjs.org/@chainsafe/ssz/-/ssz-0.9.1.tgz" integrity sha512-TstYq9W0Rh76sh8Ajj9nT54qGEikBN3vrHj/L607paf4dly+iNS1mn80W50z+LEKFK3/w3QnsZiL3bAnoXv0lA== dependencies: "@chainsafe/as-sha256" "^0.3.1" @@ -554,7 +547,7 @@ "@chainsafe/threads@^1.10.0": version "1.10.0" - resolved "https://registry.yarnpkg.com/@chainsafe/threads/-/threads-1.10.0.tgz#1b98eccb2791f0737b2d8ddf56e8c2fc3c45162c" + resolved "https://registry.npmjs.org/@chainsafe/threads/-/threads-1.10.0.tgz" integrity sha512-1PRtW3s5welk2WUAMN0bjEGtQ3PSqLWAxlMTSeOYJ2NV+bgNgi8PsALX/xEiB/CHd8XG5gS2BlmYZ+Q3b4wR7Q== dependencies: callsites "^3.1.0" @@ -566,26 +559,19 @@ "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" + resolved "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz" integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== -"@cspotcode/source-map-support@0.6.1": - version "0.6.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.6.1.tgz#118511f316e2e87ee4294761868e254d3da47960" - integrity sha512-DX3Z+T5dt1ockmPdobJS/FAsQPW4V4SrWEhD2iYQT2Cb2tQsiMnYxrcUH9By/Z3B+v0S5LMBkQtV/XOBbpLEOg== - dependencies: - "@cspotcode/source-map-consumer" "0.8.0" - "@cspotcode/source-map-support@0.7.0": version "0.7.0" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5" + resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz" integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA== dependencies: "@cspotcode/source-map-consumer" "0.8.0" "@dabh/diagnostics@^2.0.2": version "2.0.2" - resolved "https://registry.yarnpkg.com/@dabh/diagnostics/-/diagnostics-2.0.2.tgz#290d08f7b381b8f94607dc8f471a12c675f9db31" + resolved "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz" integrity sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q== dependencies: colorspace "1.1.x" @@ -594,7 +580,7 @@ "@dapplion/benchmark@^0.2.2": version "0.2.2" - resolved "https://registry.yarnpkg.com/@dapplion/benchmark/-/benchmark-0.2.2.tgz#cc9c78e5b8d2d04311bcf30cbc4c67783e2efc6f" + resolved "https://registry.npmjs.org/@dapplion/benchmark/-/benchmark-0.2.2.tgz" integrity sha512-1wkplmCOVo5U3vv6Vej9MkQ1KtWtTT7WIpwVKyZdNIPnLHG82X4JwySuaaXeAKwiMs0kQzE/+ax5gNwsfqqYpQ== dependencies: "@actions/cache" "^1.0.7" @@ -605,24 +591,24 @@ csv-stringify "^5.6.2" yargs "^17.1.1" -"@eslint/eslintrc@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547" - integrity sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog== +"@eslint/eslintrc@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f" + integrity sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw== dependencies: ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^12.1.0" - ignore "^4.0.6" + debug "^4.3.2" + espree "^9.3.2" + globals "^13.15.0" + ignore "^5.2.0" import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" + js-yaml "^4.1.0" + minimatch "^3.1.2" strip-json-comments "^3.1.1" "@ethersproject/abi@5.1.2", "@ethersproject/abi@^5.0.0", "@ethersproject/abi@^5.1.0": version "5.1.2" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.1.2.tgz#a8e75cd0455e6dc9e4861c3d1c22bbe436c1d775" + resolved "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.1.2.tgz" integrity sha512-uMhoQVPX0UtfzTpekYQSEUcJGDgsJ25ifz+SV6PDETWaUFhcR8RNgb1QPTASP13inW8r6iy0/Xdq9D5hK2pNvA== dependencies: "@ethersproject/address" "^5.1.0" @@ -637,7 +623,7 @@ "@ethersproject/abstract-provider@5.1.0", "@ethersproject/abstract-provider@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.1.0.tgz#1f24c56cda5524ef4ed3cfc562a01d6b6f8eeb0b" + resolved "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.1.0.tgz" integrity sha512-8dJUnT8VNvPwWhYIau4dwp7qe1g+KgdRm4XTWvjkI9gAT2zZa90WF5ApdZ3vl1r6NDmnn6vUVvyphClRZRteTQ== dependencies: "@ethersproject/bignumber" "^5.1.0" @@ -650,7 +636,7 @@ "@ethersproject/abstract-signer@5.1.0", "@ethersproject/abstract-signer@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.1.0.tgz#744c7a2d0ebe3cc0bc38294d0f53d5ca3f4e49e3" + resolved "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.1.0.tgz" integrity sha512-qQDMkjGZSSJSKl6AnfTgmz9FSnzq3iEoEbHTYwjDlEAv+LNP7zd4ixCcVWlWyk+2siud856M5CRhAmPdupeN9w== dependencies: "@ethersproject/abstract-provider" "^5.1.0" @@ -661,7 +647,7 @@ "@ethersproject/address@5.1.0", "@ethersproject/address@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.1.0.tgz#3854fd7ebcb6af7597de66f847c3345dae735b58" + resolved "https://registry.npmjs.org/@ethersproject/address/-/address-5.1.0.tgz" integrity sha512-rfWQR12eHn2cpstCFS4RF7oGjfbkZb0oqep+BfrT+gWEGWG2IowJvIsacPOvzyS1jhNF4MQ4BS59B04Mbovteg== dependencies: "@ethersproject/bignumber" "^5.1.0" @@ -672,14 +658,14 @@ "@ethersproject/base64@5.1.0", "@ethersproject/base64@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.1.0.tgz#27240c174d0a4e13f6eae87416fd876caf7f42b6" + resolved "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.1.0.tgz" integrity sha512-npD1bLvK4Bcxz+m4EMkx+F8Rd7CnqS9DYnhNu0/GlQBXhWjvfoAZzk5HJ0f1qeyp8d+A86PTuzLOGOXf4/CN8g== dependencies: "@ethersproject/bytes" "^5.1.0" "@ethersproject/basex@5.1.0", "@ethersproject/basex@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.1.0.tgz#80da2e86f9da0cb5ccd446b337364d791f6a131c" + resolved "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.1.0.tgz" integrity sha512-vBKr39bum7DDbOvkr1Sj19bRMEPA4FnST6Utt6xhDzI7o7L6QNkDn2yrCfP+hnvJGhZFKtLygWwqlTBZoBXYLg== dependencies: "@ethersproject/bytes" "^5.1.0" @@ -687,7 +673,7 @@ "@ethersproject/bignumber@5.1.1", "@ethersproject/bignumber@^5.1.0": version "5.1.1" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.1.1.tgz#84812695253ccbc639117f7ac49ee1529b68e637" + resolved "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.1.1.tgz" integrity sha512-AVz5iqz7+70RIqoQTznsdJ6DOVBYciNlvO+AlQmPTB6ofCvoihI9bQdr6wljsX+d5W7Yc4nyvQvP4JMzg0Agig== dependencies: "@ethersproject/bytes" "^5.1.0" @@ -696,21 +682,21 @@ "@ethersproject/bytes@5.1.0", "@ethersproject/bytes@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.1.0.tgz#55dfa9c4c21df1b1b538be3accb50fb76d5facfd" + resolved "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.1.0.tgz" integrity sha512-sGTxb+LVjFxJcJeUswAIK6ncgOrh3D8c192iEJd7mLr95V6du119rRfYT/b87WPkZ5I3gRBUYIYXtdgCWACe8g== dependencies: "@ethersproject/logger" "^5.1.0" "@ethersproject/constants@5.1.0", "@ethersproject/constants@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.1.0.tgz#4e7da6367ea0e9be87585d8b09f3fccf384b1452" + resolved "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.1.0.tgz" integrity sha512-0/SuHrxc8R8k+JiLmJymxHJbojUDWBQqO+b+XFdwaP0jGzqC09YDy/CAlSZB6qHsBifY8X3I89HcK/oMqxRdBw== dependencies: "@ethersproject/bignumber" "^5.1.0" "@ethersproject/contracts@5.1.1": version "5.1.1" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.1.1.tgz#c66cb6d618fcbd73e20a6b808e8f768b2b781d0b" + resolved "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.1.1.tgz" integrity sha512-6WwktLJ0DFWU8pDkgH4IGttQHhQN4SnwKFu9h+QYVe48VGWtbDu4W8/q/7QA1u/HWlWMrKxqawPiZUJj0UMvOw== dependencies: "@ethersproject/abi" "^5.1.0" @@ -726,7 +712,7 @@ "@ethersproject/hash@5.1.0", "@ethersproject/hash@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.1.0.tgz#40961d64837d57f580b7b055e0d74174876d891e" + resolved "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.1.0.tgz" integrity sha512-fNwry20yLLPpnRRwm3fBL+2ksgO+KMadxM44WJmRIoTKzy4269+rbq9KFoe2LTqq2CXJM2CE70beGaNrpuqflQ== dependencies: "@ethersproject/abstract-signer" "^5.1.0" @@ -740,7 +726,7 @@ "@ethersproject/hdnode@5.1.0", "@ethersproject/hdnode@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.1.0.tgz#2bf5c4048935136ce83e9242e1bd570afcc0bc83" + resolved "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.1.0.tgz" integrity sha512-obIWdlujloExPHWJGmhJO/sETOOo7SEb6qemV4f8kyFoXg+cJK+Ta9SvBrj7hsUK85n3LZeZJZRjjM7oez3Clg== dependencies: "@ethersproject/abstract-signer" "^5.1.0" @@ -758,7 +744,7 @@ "@ethersproject/json-wallets@5.1.0", "@ethersproject/json-wallets@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.1.0.tgz#bba7af2e520e8aea4d3829d80520db5d2e4fb8d2" + resolved "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.1.0.tgz" integrity sha512-00n2iBy27w8zrGZSiU762UOVuzCQZxUZxopsZC47++js6xUFuI74DHcJ5K/2pddlF1YBskvmMuboEu1geK8mnA== dependencies: "@ethersproject/abstract-signer" "^5.1.0" @@ -777,7 +763,7 @@ "@ethersproject/keccak256@5.1.0", "@ethersproject/keccak256@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.1.0.tgz#fdcd88fb13bfef4271b225cdd8dec4d315c8e60e" + resolved "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.1.0.tgz" integrity sha512-vrTB1W6AEYoadww5c9UyVJ2YcSiyIUTNDRccZIgwTmFFoSHwBtcvG1hqy9RzJ1T0bMdATbM9Hfx2mJ6H0i7Hig== dependencies: "@ethersproject/bytes" "^5.1.0" @@ -785,19 +771,19 @@ "@ethersproject/logger@5.1.0", "@ethersproject/logger@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.1.0.tgz#4cdeeefac029373349d5818f39c31b82cc6d9bbf" + resolved "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.1.0.tgz" integrity sha512-wtUaD1lBX10HBXjjKV9VHCBnTdUaKQnQ2XSET1ezglqLdPdllNOIlLfhyCRqXm5xwcjExVI5ETokOYfjPtaAlw== "@ethersproject/networks@5.1.0", "@ethersproject/networks@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.1.0.tgz#f537290cb05aa6dc5e81e910926c04cfd5814bca" + resolved "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.1.0.tgz" integrity sha512-A/NIrIED/G/IgU1XUukOA3WcFRxn2I4O5GxsYGA5nFlIi+UZWdGojs85I1VXkR1gX9eFnDXzjE6OtbgZHjFhIA== dependencies: "@ethersproject/logger" "^5.1.0" "@ethersproject/pbkdf2@5.1.0", "@ethersproject/pbkdf2@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.1.0.tgz#6b740a85dc780e879338af74856ca2c0d3b24d19" + resolved "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.1.0.tgz" integrity sha512-B8cUbHHTgs8OtgJIafrRcz/YPDobVd5Ru8gTnShOiM9EBuFpYHQpq3+8iQJ6pyczDu6HP/oc/njAsIBhwFZYew== dependencies: "@ethersproject/bytes" "^5.1.0" @@ -805,14 +791,14 @@ "@ethersproject/properties@5.1.0", "@ethersproject/properties@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.1.0.tgz#9484bd6def16595fc6e4bdc26f29dff4d3f6ac42" + resolved "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.1.0.tgz" integrity sha512-519KKTwgmH42AQL3+GFV3SX6khYEfHsvI6v8HYejlkigSDuqttdgVygFTDsGlofNFchhDwuclrxQnD5B0YLNMg== dependencies: "@ethersproject/logger" "^5.1.0" "@ethersproject/providers@5.1.2": version "5.1.2" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.1.2.tgz#4e4459698903f911402fe91aa7544eb07f3921ed" + resolved "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.1.2.tgz" integrity sha512-GqsS8rd+eyd4eNkcNgzZ4l9IRULBPUZa7JPnv22k4MHflMobUseyhfbVnmoN5bVNNkOxjV1IPTw9i0sV1hwdpg== dependencies: "@ethersproject/abstract-provider" "^5.1.0" @@ -837,7 +823,7 @@ "@ethersproject/random@5.1.0", "@ethersproject/random@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.1.0.tgz#0bdff2554df03ebc5f75689614f2d58ea0d9a71f" + resolved "https://registry.npmjs.org/@ethersproject/random/-/random-5.1.0.tgz" integrity sha512-+uuczLQZ4+no9cP6TCoCktXx0u2YbNaRT7lRkSt12d8263e702f0u+4JnnRO8Qmv5nylWJebnqCHzyxP+6mLqw== dependencies: "@ethersproject/bytes" "^5.1.0" @@ -845,7 +831,7 @@ "@ethersproject/rlp@5.1.0", "@ethersproject/rlp@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.1.0.tgz#700f4f071c27fa298d3c1d637485fefe919dd084" + resolved "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.1.0.tgz" integrity sha512-vDTyHIwNPrecy55gKGZ47eJZhBm8LLBxihzi5ou+zrSvYTpkSTWRcKUlXFDFQVwfWB+P5PGyERAdiDEI76clxw== dependencies: "@ethersproject/bytes" "^5.1.0" @@ -853,7 +839,7 @@ "@ethersproject/sha2@5.1.0", "@ethersproject/sha2@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.1.0.tgz#6ca42d1a26884b3e32ffa943fe6494af7211506c" + resolved "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.1.0.tgz" integrity sha512-+fNSeZRstOpdRJpdGUkRONFCaiAqWkc91zXgg76Nlp5ndBQE25Kk5yK8gCPG1aGnCrbariiPr5j9DmrYH78JCA== dependencies: "@ethersproject/bytes" "^5.1.0" @@ -862,7 +848,7 @@ "@ethersproject/signing-key@5.1.0", "@ethersproject/signing-key@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.1.0.tgz#6eddfbddb6826b597b9650e01acf817bf8991b9c" + resolved "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.1.0.tgz" integrity sha512-tE5LFlbmdObG8bY04NpuwPWSRPgEswfxweAI1sH7TbP0ml1elNfqcq7ii/3AvIN05i5U0Pkm3Tf8bramt8MmLw== dependencies: "@ethersproject/bytes" "^5.1.0" @@ -873,7 +859,7 @@ "@ethersproject/solidity@5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.1.0.tgz#095a9c75244edccb26c452c155736d363399b954" + resolved "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.1.0.tgz" integrity sha512-kPodsGyo9zg1g9XSXp1lGhFaezBAUUsAUB1Vf6OkppE5Wksg4Et+x3kG4m7J/uShDMP2upkJtHNsIBK2XkVpKQ== dependencies: "@ethersproject/bignumber" "^5.1.0" @@ -884,7 +870,7 @@ "@ethersproject/strings@5.1.0", "@ethersproject/strings@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.1.0.tgz#0f95a56c3c8c9d5510a06c241d818779750e2da5" + resolved "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.1.0.tgz" integrity sha512-perBZy0RrmmL0ejiFGUOlBVjMsUceqLut3OBP3zP96LhiJWWbS8u1NqQVgN4/Gyrbziuda66DxiQocXhsvx+Sw== dependencies: "@ethersproject/bytes" "^5.1.0" @@ -893,7 +879,7 @@ "@ethersproject/transactions@5.1.1", "@ethersproject/transactions@^5.1.0": version "5.1.1" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.1.1.tgz#5a6bbb25fb062c3cc75eb0db12faefcdd3870813" + resolved "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.1.1.tgz" integrity sha512-Nwgbp09ttIVN0OoUBatCXaHxR7grWPHbozJN8v7AXDLrl6nnOIBEMDh+yJTnosSQlFhcyjfTGGN+Mx6R8HdvMw== dependencies: "@ethersproject/address" "^5.1.0" @@ -908,7 +894,7 @@ "@ethersproject/units@5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.1.0.tgz#b6ab3430ebc22adc3cb4839516496f167bee3ad5" + resolved "https://registry.npmjs.org/@ethersproject/units/-/units-5.1.0.tgz" integrity sha512-isvJrx6qG0nKWfxsGORNjmOq/nh175fStfvRTA2xEKrGqx8JNJY83fswu4GkILowfriEM/eYpretfJnfzi7YhA== dependencies: "@ethersproject/bignumber" "^5.1.0" @@ -917,7 +903,7 @@ "@ethersproject/wallet@5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.1.0.tgz#134c5816eaeaa586beae9f9ff67891104a2c9a15" + resolved "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.1.0.tgz" integrity sha512-ULmUtiYQLTUS+y3DgkLzRhFEK10zMwmjOthnjiZxee3Q/MVwr3rnmuAnXIUZrPjna6hvUPnyRIdW5XuF0Ld0YQ== dependencies: "@ethersproject/abstract-provider" "^5.1.0" @@ -938,7 +924,7 @@ "@ethersproject/web@5.1.0", "@ethersproject/web@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.1.0.tgz#ed56bbe4e3d9a8ffe3b2ed882da5c62d3551381b" + resolved "https://registry.npmjs.org/@ethersproject/web/-/web-5.1.0.tgz" integrity sha512-LTeluWgTq04+RNqAkVhpydPcRZK/kKxD2Vy7PYGrAD27ABO9kTqTBKwiOuzTyAHKUQHfnvZbXmxBXJAGViSDcA== dependencies: "@ethersproject/base64" "^5.1.0" @@ -949,7 +935,7 @@ "@ethersproject/wordlists@5.1.0", "@ethersproject/wordlists@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.1.0.tgz#54eb9ef3a00babbff90ffe124e19c89e07e6aace" + resolved "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.1.0.tgz" integrity sha512-NsUCi/TpBb+oTFvMSccUkJGtp5o/84eOyqp5q5aBeiNBSLkYyw21znRn9mAmxZgySpxgruVgKbaapnYPgvctPQ== dependencies: "@ethersproject/bytes" "^5.1.0" @@ -960,12 +946,12 @@ "@fastify/forwarded@^1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@fastify/forwarded/-/forwarded-1.0.0.tgz#cc4a3bc1f02856e56e67d6d655026e8d8c2e7429" + resolved "https://registry.npmjs.org/@fastify/forwarded/-/forwarded-1.0.0.tgz" integrity sha512-VoO+6WD0aRz8bwgJZ8pkkxjq7o/782cQ1j945HWg0obZMgIadYW3Pew0+an+k1QL7IPZHM3db5WF6OP6x4ymMA== "@fastify/proxy-addr@^3.0.0": version "3.0.0" - resolved "https://registry.yarnpkg.com/@fastify/proxy-addr/-/proxy-addr-3.0.0.tgz#7d3bb6474a01b206010329291f4edf6af8af582d" + resolved "https://registry.npmjs.org/@fastify/proxy-addr/-/proxy-addr-3.0.0.tgz" integrity sha512-ty7wnUd/GeSqKTC2Jozsl5xGbnxUnEFC0On2/zPv/8ixywipQmVZwuWvNGnBoitJ2wixwVqofwXNua8j6Y62lQ== dependencies: "@fastify/forwarded" "^1.0.0" @@ -973,12 +959,26 @@ "@gar/promisify@^1.0.1": version "1.1.3" - resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" + resolved "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== +"@humanwhocodes/config-array@^0.9.2": + version "0.9.5" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7" + integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== dependencies: camelcase "^5.3.1" @@ -989,12 +989,12 @@ "@istanbuljs/schema@^0.1.2": version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== "@lerna/add@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/add/-/add-4.0.0.tgz#c36f57d132502a57b9e7058d1548b7a565ef183f" + resolved "https://registry.npmjs.org/@lerna/add/-/add-4.0.0.tgz" integrity sha512-cpmAH1iS3k8JBxNvnMqrGTTjbY/ZAiKa1ChJzFevMYY3eeqbvhsBKnBcxjRXtdrJ6bd3dCQM+ZtK+0i682Fhng== dependencies: "@lerna/bootstrap" "4.0.0" @@ -1010,7 +1010,7 @@ "@lerna/bootstrap@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/bootstrap/-/bootstrap-4.0.0.tgz#5f5c5e2c6cfc8fcec50cb2fbe569a8c607101891" + resolved "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-4.0.0.tgz" integrity sha512-RkS7UbeM2vu+kJnHzxNRCLvoOP9yGNgkzRdy4UV2hNalD7EP41bLvRVOwRYQ7fhc2QcbhnKNdOBihYRL0LcKtw== dependencies: "@lerna/command" "4.0.0" @@ -1038,7 +1038,7 @@ "@lerna/changed@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/changed/-/changed-4.0.0.tgz#b9fc76cea39b9292a6cd263f03eb57af85c9270b" + resolved "https://registry.npmjs.org/@lerna/changed/-/changed-4.0.0.tgz" integrity sha512-cD+KuPRp6qiPOD+BO6S6SN5cARspIaWSOqGBpGnYzLb4uWT8Vk4JzKyYtc8ym1DIwyoFXHosXt8+GDAgR8QrgQ== dependencies: "@lerna/collect-updates" "4.0.0" @@ -1048,7 +1048,7 @@ "@lerna/check-working-tree@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/check-working-tree/-/check-working-tree-4.0.0.tgz#257e36a602c00142e76082a19358e3e1ae8dbd58" + resolved "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-4.0.0.tgz" integrity sha512-/++bxM43jYJCshBiKP5cRlCTwSJdRSxVmcDAXM+1oUewlZJVSVlnks5eO0uLxokVFvLhHlC5kHMc7gbVFPHv6Q== dependencies: "@lerna/collect-uncommitted" "4.0.0" @@ -1057,7 +1057,7 @@ "@lerna/child-process@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/child-process/-/child-process-4.0.0.tgz#341b96a57dffbd9705646d316e231df6fa4df6e1" + resolved "https://registry.npmjs.org/@lerna/child-process/-/child-process-4.0.0.tgz" integrity sha512-XtCnmCT9eyVsUUHx6y/CTBYdV9g2Cr/VxyseTWBgfIur92/YKClfEtJTbOh94jRT62hlKLqSvux/UhxXVh613Q== dependencies: chalk "^4.1.0" @@ -1066,7 +1066,7 @@ "@lerna/clean@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/clean/-/clean-4.0.0.tgz#8f778b6f2617aa2a936a6b5e085ae62498e57dc5" + resolved "https://registry.npmjs.org/@lerna/clean/-/clean-4.0.0.tgz" integrity sha512-uugG2iN9k45ITx2jtd8nEOoAtca8hNlDCUM0N3lFgU/b1mEQYAPRkqr1qs4FLRl/Y50ZJ41wUz1eazS+d/0osA== dependencies: "@lerna/command" "4.0.0" @@ -1080,7 +1080,7 @@ "@lerna/cli@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/cli/-/cli-4.0.0.tgz#8eabd334558836c1664df23f19acb95e98b5bbf3" + resolved "https://registry.npmjs.org/@lerna/cli/-/cli-4.0.0.tgz" integrity sha512-Neaw3GzFrwZiRZv2g7g6NwFjs3er1vhraIniEs0jjVLPMNC4eata0na3GfE5yibkM/9d3gZdmihhZdZ3EBdvYA== dependencies: "@lerna/global-options" "4.0.0" @@ -1090,7 +1090,7 @@ "@lerna/collect-uncommitted@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/collect-uncommitted/-/collect-uncommitted-4.0.0.tgz#855cd64612969371cfc2453b90593053ff1ba779" + resolved "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-4.0.0.tgz" integrity sha512-ufSTfHZzbx69YNj7KXQ3o66V4RC76ffOjwLX0q/ab//61bObJ41n03SiQEhSlmpP+gmFbTJ3/7pTe04AHX9m/g== dependencies: "@lerna/child-process" "4.0.0" @@ -1099,7 +1099,7 @@ "@lerna/collect-updates@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/collect-updates/-/collect-updates-4.0.0.tgz#8e208b1bafd98a372ff1177f7a5e288f6bea8041" + resolved "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-4.0.0.tgz" integrity sha512-bnNGpaj4zuxsEkyaCZLka9s7nMs58uZoxrRIPJ+nrmrZYp1V5rrd+7/NYTuunOhY2ug1sTBvTAxj3NZQ+JKnOw== dependencies: "@lerna/child-process" "4.0.0" @@ -1110,7 +1110,7 @@ "@lerna/command@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/command/-/command-4.0.0.tgz#991c7971df8f5bf6ae6e42c808869a55361c1b98" + resolved "https://registry.npmjs.org/@lerna/command/-/command-4.0.0.tgz" integrity sha512-LM9g3rt5FsPNFqIHUeRwWXLNHJ5NKzOwmVKZ8anSp4e1SPrv2HNc1V02/9QyDDZK/w+5POXH5lxZUI1CHaOK/A== dependencies: "@lerna/child-process" "4.0.0" @@ -1126,7 +1126,7 @@ "@lerna/conventional-commits@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/conventional-commits/-/conventional-commits-4.0.0.tgz#660fb2c7b718cb942ead70110df61f18c6f99750" + resolved "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-4.0.0.tgz" integrity sha512-CSUQRjJHFrH8eBn7+wegZLV3OrNc0Y1FehYfYGhjLE2SIfpCL4bmfu/ViYuHh9YjwHaA+4SX6d3hR+xkeseKmw== dependencies: "@lerna/validation-error" "4.0.0" @@ -1143,7 +1143,7 @@ "@lerna/create-symlink@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/create-symlink/-/create-symlink-4.0.0.tgz#8c5317ce5ae89f67825443bd7651bf4121786228" + resolved "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-4.0.0.tgz" integrity sha512-I0phtKJJdafUiDwm7BBlEUOtogmu8+taxq6PtIrxZbllV9hWg59qkpuIsiFp+no7nfRVuaasNYHwNUhDAVQBig== dependencies: cmd-shim "^4.1.0" @@ -1152,7 +1152,7 @@ "@lerna/create@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/create/-/create-4.0.0.tgz#b6947e9b5dfb6530321952998948c3e63d64d730" + resolved "https://registry.npmjs.org/@lerna/create/-/create-4.0.0.tgz" integrity sha512-mVOB1niKByEUfxlbKTM1UNECWAjwUdiioIbRQZEeEabtjCL69r9rscIsjlGyhGWCfsdAG5wfq4t47nlDXdLLag== dependencies: "@lerna/child-process" "4.0.0" @@ -1176,7 +1176,7 @@ "@lerna/describe-ref@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/describe-ref/-/describe-ref-4.0.0.tgz#53c53b4ea65fdceffa072a62bfebe6772c45d9ec" + resolved "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-4.0.0.tgz" integrity sha512-eTU5+xC4C5Gcgz+Ey4Qiw9nV2B4JJbMulsYJMW8QjGcGh8zudib7Sduj6urgZXUYNyhYpRs+teci9M2J8u+UvQ== dependencies: "@lerna/child-process" "4.0.0" @@ -1184,7 +1184,7 @@ "@lerna/diff@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/diff/-/diff-4.0.0.tgz#6d3071817aaa4205a07bf77cfc6e932796d48b92" + resolved "https://registry.npmjs.org/@lerna/diff/-/diff-4.0.0.tgz" integrity sha512-jYPKprQVg41+MUMxx6cwtqsNm0Yxx9GDEwdiPLwcUTFx+/qKCEwifKNJ1oGIPBxyEHX2PFCOjkK39lHoj2qiag== dependencies: "@lerna/child-process" "4.0.0" @@ -1194,7 +1194,7 @@ "@lerna/exec@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/exec/-/exec-4.0.0.tgz#eb6cb95cb92d42590e9e2d628fcaf4719d4a8be6" + resolved "https://registry.npmjs.org/@lerna/exec/-/exec-4.0.0.tgz" integrity sha512-VGXtL/b/JfY84NB98VWZpIExfhLOzy0ozm/0XaS4a2SmkAJc5CeUfrhvHxxkxiTBLkU+iVQUyYEoAT0ulQ8PCw== dependencies: "@lerna/child-process" "4.0.0" @@ -1207,7 +1207,7 @@ "@lerna/filter-options@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/filter-options/-/filter-options-4.0.0.tgz#ac94cc515d7fa3b47e2f7d74deddeabb1de5e9e6" + resolved "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-4.0.0.tgz" integrity sha512-vV2ANOeZhOqM0rzXnYcFFCJ/kBWy/3OA58irXih9AMTAlQLymWAK0akWybl++sUJ4HB9Hx12TOqaXbYS2NM5uw== dependencies: "@lerna/collect-updates" "4.0.0" @@ -1217,7 +1217,7 @@ "@lerna/filter-packages@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/filter-packages/-/filter-packages-4.0.0.tgz#b1f70d70e1de9cdd36a4e50caa0ac501f8d012f2" + resolved "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-4.0.0.tgz" integrity sha512-+4AJIkK7iIiOaqCiVTYJxh/I9qikk4XjNQLhE3kixaqgMuHl1NQ99qXRR0OZqAWB9mh8Z1HA9bM5K1HZLBTOqA== dependencies: "@lerna/validation-error" "4.0.0" @@ -1226,14 +1226,14 @@ "@lerna/get-npm-exec-opts@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-4.0.0.tgz#dc955be94a4ae75c374ef9bce91320887d34608f" + resolved "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-4.0.0.tgz" integrity sha512-yvmkerU31CTWS2c7DvmAWmZVeclPBqI7gPVr5VATUKNWJ/zmVcU4PqbYoLu92I9Qc4gY1TuUplMNdNuZTSL7IQ== dependencies: npmlog "^4.1.2" "@lerna/get-packed@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/get-packed/-/get-packed-4.0.0.tgz#0989d61624ac1f97e393bdad2137c49cd7a37823" + resolved "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-4.0.0.tgz" integrity sha512-rfWONRsEIGyPJTxFzC8ECb3ZbsDXJbfqWYyeeQQDrJRPnEJErlltRLPLgC2QWbxFgFPsoDLeQmFHJnf0iDfd8w== dependencies: fs-extra "^9.1.0" @@ -1242,7 +1242,7 @@ "@lerna/github-client@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/github-client/-/github-client-4.0.0.tgz#2ced67721363ef70f8e12ffafce4410918f4a8a4" + resolved "https://registry.npmjs.org/@lerna/github-client/-/github-client-4.0.0.tgz" integrity sha512-2jhsldZtTKXYUBnOm23Lb0Fx8G4qfSXF9y7UpyUgWUj+YZYd+cFxSuorwQIgk5P4XXrtVhsUesIsli+BYSThiw== dependencies: "@lerna/child-process" "4.0.0" @@ -1253,7 +1253,7 @@ "@lerna/gitlab-client@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/gitlab-client/-/gitlab-client-4.0.0.tgz#00dad73379c7b38951d4b4ded043504c14e2b67d" + resolved "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-4.0.0.tgz" integrity sha512-OMUpGSkeDWFf7BxGHlkbb35T7YHqVFCwBPSIR6wRsszY8PAzCYahtH3IaJzEJyUg6vmZsNl0FSr3pdA2skhxqA== dependencies: node-fetch "^2.6.1" @@ -1262,12 +1262,12 @@ "@lerna/global-options@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/global-options/-/global-options-4.0.0.tgz#c7d8b0de6a01d8a845e2621ea89e7f60f18c6a5f" + resolved "https://registry.npmjs.org/@lerna/global-options/-/global-options-4.0.0.tgz" integrity sha512-TRMR8afAHxuYBHK7F++Ogop2a82xQjoGna1dvPOY6ltj/pEx59pdgcJfYcynYqMkFIk8bhLJJN9/ndIfX29FTQ== "@lerna/has-npm-version@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/has-npm-version/-/has-npm-version-4.0.0.tgz#d3fc3292c545eb28bd493b36e6237cf0279f631c" + resolved "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-4.0.0.tgz" integrity sha512-LQ3U6XFH8ZmLCsvsgq1zNDqka0Xzjq5ibVN+igAI5ccRWNaUsE/OcmsyMr50xAtNQMYMzmpw5GVLAivT2/YzCg== dependencies: "@lerna/child-process" "4.0.0" @@ -1275,7 +1275,7 @@ "@lerna/import@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/import/-/import-4.0.0.tgz#bde656c4a451fa87ae41733ff8a8da60547c5465" + resolved "https://registry.npmjs.org/@lerna/import/-/import-4.0.0.tgz" integrity sha512-FaIhd+4aiBousKNqC7TX1Uhe97eNKf5/SC7c5WZANVWtC7aBWdmswwDt3usrzCNpj6/Wwr9EtEbYROzxKH8ffg== dependencies: "@lerna/child-process" "4.0.0" @@ -1289,7 +1289,7 @@ "@lerna/info@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/info/-/info-4.0.0.tgz#b9fb0e479d60efe1623603958a831a88b1d7f1fc" + resolved "https://registry.npmjs.org/@lerna/info/-/info-4.0.0.tgz" integrity sha512-8Uboa12kaCSZEn4XRfPz5KU9XXoexSPS4oeYGj76s2UQb1O1GdnEyfjyNWoUl1KlJ2i/8nxUskpXIftoFYH0/Q== dependencies: "@lerna/command" "4.0.0" @@ -1298,7 +1298,7 @@ "@lerna/init@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/init/-/init-4.0.0.tgz#dadff67e6dfb981e8ccbe0e6a310e837962f6c7a" + resolved "https://registry.npmjs.org/@lerna/init/-/init-4.0.0.tgz" integrity sha512-wY6kygop0BCXupzWj5eLvTUqdR7vIAm0OgyV9WHpMYQGfs1V22jhztt8mtjCloD/O0nEe4tJhdG62XU5aYmPNQ== dependencies: "@lerna/child-process" "4.0.0" @@ -1309,7 +1309,7 @@ "@lerna/link@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/link/-/link-4.0.0.tgz#c3a38aabd44279d714e90f2451e31b63f0fb65ba" + resolved "https://registry.npmjs.org/@lerna/link/-/link-4.0.0.tgz" integrity sha512-KlvPi7XTAcVOByfaLlOeYOfkkDcd+bejpHMCd1KcArcFTwijOwXOVi24DYomIeHvy6HsX/IUquJ4PPUJIeB4+w== dependencies: "@lerna/command" "4.0.0" @@ -1320,7 +1320,7 @@ "@lerna/list@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/list/-/list-4.0.0.tgz#24b4e6995bd73f81c556793fe502b847efd9d1d7" + resolved "https://registry.npmjs.org/@lerna/list/-/list-4.0.0.tgz" integrity sha512-L2B5m3P+U4Bif5PultR4TI+KtW+SArwq1i75QZ78mRYxPc0U/piau1DbLOmwrdqr99wzM49t0Dlvl6twd7GHFg== dependencies: "@lerna/command" "4.0.0" @@ -1330,7 +1330,7 @@ "@lerna/listable@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/listable/-/listable-4.0.0.tgz#d00d6cb4809b403f2b0374fc521a78e318b01214" + resolved "https://registry.npmjs.org/@lerna/listable/-/listable-4.0.0.tgz" integrity sha512-/rPOSDKsOHs5/PBLINZOkRIX1joOXUXEtyUs5DHLM8q6/RP668x/1lFhw6Dx7/U+L0+tbkpGtZ1Yt0LewCLgeQ== dependencies: "@lerna/query-graph" "4.0.0" @@ -1339,7 +1339,7 @@ "@lerna/log-packed@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/log-packed/-/log-packed-4.0.0.tgz#95168fe2e26ac6a71e42f4be857519b77e57a09f" + resolved "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-4.0.0.tgz" integrity sha512-+dpCiWbdzgMAtpajLToy9PO713IHoE6GV/aizXycAyA07QlqnkpaBNZ8DW84gHdM1j79TWockGJo9PybVhrrZQ== dependencies: byte-size "^7.0.0" @@ -1349,7 +1349,7 @@ "@lerna/npm-conf@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/npm-conf/-/npm-conf-4.0.0.tgz#b259fd1e1cee2bf5402b236e770140ff9ade7fd2" + resolved "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-4.0.0.tgz" integrity sha512-uS7H02yQNq3oejgjxAxqq/jhwGEE0W0ntr8vM3EfpCW1F/wZruwQw+7bleJQ9vUBjmdXST//tk8mXzr5+JXCfw== dependencies: config-chain "^1.1.12" @@ -1357,7 +1357,7 @@ "@lerna/npm-dist-tag@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/npm-dist-tag/-/npm-dist-tag-4.0.0.tgz#d1e99b4eccd3414142f0548ad331bf2d53f3257a" + resolved "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-4.0.0.tgz" integrity sha512-F20sg28FMYTgXqEQihgoqSfwmq+Id3zT23CnOwD+XQMPSy9IzyLf1fFVH319vXIw6NF6Pgs4JZN2Qty6/CQXGw== dependencies: "@lerna/otplease" "4.0.0" @@ -1367,7 +1367,7 @@ "@lerna/npm-install@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/npm-install/-/npm-install-4.0.0.tgz#31180be3ab3b7d1818a1a0c206aec156b7094c78" + resolved "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-4.0.0.tgz" integrity sha512-aKNxq2j3bCH3eXl3Fmu4D54s/YLL9WSwV8W7X2O25r98wzrO38AUN6AB9EtmAx+LV/SP15et7Yueg9vSaanRWg== dependencies: "@lerna/child-process" "4.0.0" @@ -1380,7 +1380,7 @@ "@lerna/npm-publish@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/npm-publish/-/npm-publish-4.0.0.tgz#84eb62e876fe949ae1fd62c60804423dbc2c4472" + resolved "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-4.0.0.tgz" integrity sha512-vQb7yAPRo5G5r77DRjHITc9piR9gvEKWrmfCH7wkfBnGWEqu7n8/4bFQ7lhnkujvc8RXOsYpvbMQkNfkYibD/w== dependencies: "@lerna/otplease" "4.0.0" @@ -1394,7 +1394,7 @@ "@lerna/npm-run-script@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/npm-run-script/-/npm-run-script-4.0.0.tgz#dfebf4f4601442e7c0b5214f9fb0d96c9350743b" + resolved "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-4.0.0.tgz" integrity sha512-Jmyh9/IwXJjOXqKfIgtxi0bxi1pUeKe5bD3S81tkcy+kyng/GNj9WSqD5ZggoNP2NP//s4CLDAtUYLdP7CU9rA== dependencies: "@lerna/child-process" "4.0.0" @@ -1403,21 +1403,21 @@ "@lerna/otplease@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/otplease/-/otplease-4.0.0.tgz#84972eb43448f8a1077435ba1c5e59233b725850" + resolved "https://registry.npmjs.org/@lerna/otplease/-/otplease-4.0.0.tgz" integrity sha512-Sgzbqdk1GH4psNiT6hk+BhjOfIr/5KhGBk86CEfHNJTk9BK4aZYyJD4lpDbDdMjIV4g03G7pYoqHzH765T4fxw== dependencies: "@lerna/prompt" "4.0.0" "@lerna/output@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/output/-/output-4.0.0.tgz#b1d72215c0e35483e4f3e9994debc82c621851f2" + resolved "https://registry.npmjs.org/@lerna/output/-/output-4.0.0.tgz" integrity sha512-Un1sHtO1AD7buDQrpnaYTi2EG6sLF+KOPEAMxeUYG5qG3khTs2Zgzq5WE3dt2N/bKh7naESt20JjIW6tBELP0w== dependencies: npmlog "^4.1.2" "@lerna/pack-directory@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/pack-directory/-/pack-directory-4.0.0.tgz#8b617db95d20792f043aaaa13a9ccc0e04cb4c74" + resolved "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-4.0.0.tgz" integrity sha512-NJrmZNmBHS+5aM+T8N6FVbaKFScVqKlQFJNY2k7nsJ/uklNKsLLl6VhTQBPwMTbf6Tf7l6bcKzpy7aePuq9UiQ== dependencies: "@lerna/get-packed" "4.0.0" @@ -1430,7 +1430,7 @@ "@lerna/package-graph@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/package-graph/-/package-graph-4.0.0.tgz#16a00253a8ac810f72041481cb46bcee8d8123dd" + resolved "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-4.0.0.tgz" integrity sha512-QED2ZCTkfXMKFoTGoccwUzjHtZMSf3UKX14A4/kYyBms9xfFsesCZ6SLI5YeySEgcul8iuIWfQFZqRw+Qrjraw== dependencies: "@lerna/prerelease-id-from-version" "4.0.0" @@ -1441,7 +1441,7 @@ "@lerna/package@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/package/-/package-4.0.0.tgz#1b4c259c4bcff45c876ee1d591a043aacbc0d6b7" + resolved "https://registry.npmjs.org/@lerna/package/-/package-4.0.0.tgz" integrity sha512-l0M/izok6FlyyitxiQKr+gZLVFnvxRQdNhzmQ6nRnN9dvBJWn+IxxpM+cLqGACatTnyo9LDzNTOj2Db3+s0s8Q== dependencies: load-json-file "^6.2.0" @@ -1450,14 +1450,14 @@ "@lerna/prerelease-id-from-version@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-4.0.0.tgz#c7e0676fcee1950d85630e108eddecdd5b48c916" + resolved "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-4.0.0.tgz" integrity sha512-GQqguzETdsYRxOSmdFZ6zDBXDErIETWOqomLERRY54f4p+tk4aJjoVdd9xKwehC9TBfIFvlRbL1V9uQGHh1opg== dependencies: semver "^7.3.4" "@lerna/profiler@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/profiler/-/profiler-4.0.0.tgz#8a53ab874522eae15d178402bff90a14071908e9" + resolved "https://registry.npmjs.org/@lerna/profiler/-/profiler-4.0.0.tgz" integrity sha512-/BaEbqnVh1LgW/+qz8wCuI+obzi5/vRE8nlhjPzdEzdmWmZXuCKyWSEzAyHOJWw1ntwMiww5dZHhFQABuoFz9Q== dependencies: fs-extra "^9.1.0" @@ -1466,7 +1466,7 @@ "@lerna/project@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/project/-/project-4.0.0.tgz#ff84893935833533a74deff30c0e64ddb7f0ba6b" + resolved "https://registry.npmjs.org/@lerna/project/-/project-4.0.0.tgz" integrity sha512-o0MlVbDkD5qRPkFKlBZsXZjoNTWPyuL58564nSfZJ6JYNmgAptnWPB2dQlAc7HWRZkmnC2fCkEdoU+jioPavbg== dependencies: "@lerna/package" "4.0.0" @@ -1484,7 +1484,7 @@ "@lerna/prompt@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/prompt/-/prompt-4.0.0.tgz#5ec69a803f3f0db0ad9f221dad64664d3daca41b" + resolved "https://registry.npmjs.org/@lerna/prompt/-/prompt-4.0.0.tgz" integrity sha512-4Ig46oCH1TH5M7YyTt53fT6TuaKMgqUUaqdgxvp6HP6jtdak6+amcsqB8YGz2eQnw/sdxunx84DfI9XpoLj4bQ== dependencies: inquirer "^7.3.3" @@ -1492,7 +1492,7 @@ "@lerna/publish@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/publish/-/publish-4.0.0.tgz#f67011305adeba120066a3b6d984a5bb5fceef65" + resolved "https://registry.npmjs.org/@lerna/publish/-/publish-4.0.0.tgz" integrity sha512-K8jpqjHrChH22qtkytA5GRKIVFEtqBF6JWj1I8dWZtHs4Jywn8yB1jQ3BAMLhqmDJjWJtRck0KXhQQKzDK2UPg== dependencies: "@lerna/check-working-tree" "4.0.0" @@ -1526,21 +1526,21 @@ "@lerna/pulse-till-done@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/pulse-till-done/-/pulse-till-done-4.0.0.tgz#04bace7d483a8205c187b806bcd8be23d7bb80a3" + resolved "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-4.0.0.tgz" integrity sha512-Frb4F7QGckaybRhbF7aosLsJ5e9WuH7h0KUkjlzSByVycxY91UZgaEIVjS2oN9wQLrheLMHl6SiFY0/Pvo0Cxg== dependencies: npmlog "^4.1.2" "@lerna/query-graph@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/query-graph/-/query-graph-4.0.0.tgz#09dd1c819ac5ee3f38db23931143701f8a6eef63" + resolved "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-4.0.0.tgz" integrity sha512-YlP6yI3tM4WbBmL9GCmNDoeQyzcyg1e4W96y/PKMZa5GbyUvkS2+Jc2kwPD+5KcXou3wQZxSPzR3Te5OenaDdg== dependencies: "@lerna/package-graph" "4.0.0" "@lerna/resolve-symlink@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/resolve-symlink/-/resolve-symlink-4.0.0.tgz#6d006628a210c9b821964657a9e20a8c9a115e14" + resolved "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-4.0.0.tgz" integrity sha512-RtX8VEUzqT+uLSCohx8zgmjc6zjyRlh6i/helxtZTMmc4+6O4FS9q5LJas2uGO2wKvBlhcD6siibGt7dIC3xZA== dependencies: fs-extra "^9.1.0" @@ -1549,7 +1549,7 @@ "@lerna/rimraf-dir@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/rimraf-dir/-/rimraf-dir-4.0.0.tgz#2edf3b62d4eb0ef4e44e430f5844667d551ec25a" + resolved "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-4.0.0.tgz" integrity sha512-QNH9ABWk9mcMJh2/muD9iYWBk1oQd40y6oH+f3wwmVGKYU5YJD//+zMiBI13jxZRtwBx0vmBZzkBkK1dR11cBg== dependencies: "@lerna/child-process" "4.0.0" @@ -1559,7 +1559,7 @@ "@lerna/run-lifecycle@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/run-lifecycle/-/run-lifecycle-4.0.0.tgz#e648a46f9210a9bcd7c391df6844498cb5079334" + resolved "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-4.0.0.tgz" integrity sha512-IwxxsajjCQQEJAeAaxF8QdEixfI7eLKNm4GHhXHrgBu185JcwScFZrj9Bs+PFKxwb+gNLR4iI5rpUdY8Y0UdGQ== dependencies: "@lerna/npm-conf" "4.0.0" @@ -1568,7 +1568,7 @@ "@lerna/run-topologically@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/run-topologically/-/run-topologically-4.0.0.tgz#af846eeee1a09b0c2be0d1bfb5ef0f7b04bb1827" + resolved "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-4.0.0.tgz" integrity sha512-EVZw9hGwo+5yp+VL94+NXRYisqgAlj0jWKWtAIynDCpghRxCE5GMO3xrQLmQgqkpUl9ZxQFpICgYv5DW4DksQA== dependencies: "@lerna/query-graph" "4.0.0" @@ -1576,7 +1576,7 @@ "@lerna/run@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/run/-/run-4.0.0.tgz#4bc7fda055a729487897c23579694f6183c91262" + resolved "https://registry.npmjs.org/@lerna/run/-/run-4.0.0.tgz" integrity sha512-9giulCOzlMPzcZS/6Eov6pxE9gNTyaXk0Man+iCIdGJNMrCnW7Dme0Z229WWP/UoxDKg71F2tMsVVGDiRd8fFQ== dependencies: "@lerna/command" "4.0.0" @@ -1591,7 +1591,7 @@ "@lerna/symlink-binary@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/symlink-binary/-/symlink-binary-4.0.0.tgz#21009f62d53a425f136cb4c1a32c6b2a0cc02d47" + resolved "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-4.0.0.tgz" integrity sha512-zualodWC4q1QQc1pkz969hcFeWXOsVYZC5AWVtAPTDfLl+TwM7eG/O6oP+Rr3fFowspxo6b1TQ6sYfDV6HXNWA== dependencies: "@lerna/create-symlink" "4.0.0" @@ -1601,7 +1601,7 @@ "@lerna/symlink-dependencies@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/symlink-dependencies/-/symlink-dependencies-4.0.0.tgz#8910eca084ae062642d0490d8972cf2d98e9ebbd" + resolved "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-4.0.0.tgz" integrity sha512-BABo0MjeUHNAe2FNGty1eantWp8u83BHSeIMPDxNq0MuW2K3CiQRaeWT3EGPAzXpGt0+hVzBrA6+OT0GPn7Yuw== dependencies: "@lerna/create-symlink" "4.0.0" @@ -1613,19 +1613,19 @@ "@lerna/timer@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/timer/-/timer-4.0.0.tgz#a52e51bfcd39bfd768988049ace7b15c1fd7a6da" + resolved "https://registry.npmjs.org/@lerna/timer/-/timer-4.0.0.tgz" integrity sha512-WFsnlaE7SdOvjuyd05oKt8Leg3ENHICnvX3uYKKdByA+S3g+TCz38JsNs7OUZVt+ba63nC2nbXDlUnuT2Xbsfg== "@lerna/validation-error@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/validation-error/-/validation-error-4.0.0.tgz#af9d62fe8304eaa2eb9a6ba1394f9aa807026d35" + resolved "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz" integrity sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw== dependencies: npmlog "^4.1.2" "@lerna/version@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/version/-/version-4.0.0.tgz#532659ec6154d8a8789c5ab53878663e244e3228" + resolved "https://registry.npmjs.org/@lerna/version/-/version-4.0.0.tgz" integrity sha512-otUgiqs5W9zGWJZSCCMRV/2Zm2A9q9JwSDS7s/tlKq4mWCYriWo7+wsHEA/nPTMDyYyBO5oyZDj+3X50KDUzeA== dependencies: "@lerna/check-working-tree" "4.0.0" @@ -1657,7 +1657,7 @@ "@lerna/write-log-file@4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@lerna/write-log-file/-/write-log-file-4.0.0.tgz#18221a38a6a307d6b0a5844dd592ad53fa27091e" + resolved "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-4.0.0.tgz" integrity sha512-XRG5BloiArpXRakcnPHmEHJp+4AtnhRtpDIHSghmXD5EichI1uD73J7FgPp30mm2pDRq3FdqB0NbwSEsJ9xFQg== dependencies: npmlog "^4.1.2" @@ -1665,82 +1665,82 @@ "@multiformats/base-x@^4.0.1": version "4.0.1" - resolved "https://registry.yarnpkg.com/@multiformats/base-x/-/base-x-4.0.1.tgz#95ff0fa58711789d53aefb2590a8b7a4e715d121" + resolved "https://registry.npmjs.org/@multiformats/base-x/-/base-x-4.0.1.tgz" integrity sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw== "@napi-rs/triples@^1.0.2": version "1.0.2" - resolved "https://registry.yarnpkg.com/@napi-rs/triples/-/triples-1.0.2.tgz#2ce4c6a78568358772008f564ee5009093d20a19" + resolved "https://registry.npmjs.org/@napi-rs/triples/-/triples-1.0.2.tgz" integrity sha512-EL3SiX43m9poFSnhDx4d4fn9SSaqyO2rHsCNhETi9bWPmjXK3uPJ0QpPFtx39FEdHcz1vJmsiW41kqc0AgvtzQ== "@noble/ed25519@^1.3.0": version "1.3.0" - resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.3.0.tgz#a55b6bdd18991d6051f819e9c71d9341706a751e" + resolved "https://registry.npmjs.org/@noble/ed25519/-/ed25519-1.3.0.tgz" integrity sha512-k6ddjHcmfHF5LoZRv2j7WktgY8C8lzAqiu5ukWfGIlPUlpLn1tn1pfILXaXHY1DCG0s3qvGM1SluLtVpckWwMA== "@noble/ed25519@^1.5.1": version "1.5.1" - resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.5.1.tgz#e5f602440b03046b02b79a49c143460bbb728e64" + resolved "https://registry.npmjs.org/@noble/ed25519/-/ed25519-1.5.1.tgz" integrity sha512-VX0TyIhKghm/NoTno/k71oCQO55f36yiSwuNOqEHu9BvxQuzel0tsvcsU2KjX/iN6pCkN53Bvfq1+gWNiwXDGQ== "@noble/hashes@^1.0.0", "@noble/hashes@~1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.0.0.tgz#d5e38bfbdaba174805a4e649f13be9a9ed3351ae" + resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.0.0.tgz" integrity sha512-DZVbtY62kc3kkBtMHqwCOfXrT/hnoORy5BJ4+HU1IR59X0KWAOqsfzQPcUl/lQLlG7qXbe/fZ3r/emxtAl+sqg== "@noble/secp256k1@^1.3.0": version "1.3.0" - resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.3.0.tgz#426880cf0355b24d81c129af1ec31dfa6eee8b9c" + resolved "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.3.0.tgz" integrity sha512-wuFthUc6Ul4xflhY5u1+p1bDILPzVEisekxt5M+iLg4R+gG6+k2jnRR19sC9fMtzlsN5sKloBwprziDS0XlmyQ== "@node-rs/crc32-android-arm64@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@node-rs/crc32-android-arm64/-/crc32-android-arm64-1.1.0.tgz#869f5f4414d145e00e6b12d1841eda0d70188db2" - integrity sha512-DXcsyCmTXEHr+aCocDtrSTBkIghvQ87rZNxQrThpNU3RgCAvCtNCPJw4F8/Il5MXN3c+xzl/ZglN03USqSPmAA== + version "1.5.1" + resolved "https://registry.yarnpkg.com/@node-rs/crc32-android-arm64/-/crc32-android-arm64-1.5.1.tgz#0a2f4bba20867aa5c9ee06d7a72691be987dfa9b" + integrity sha512-pdSaFLNl9qGVk/5Q6CMp89V7+W+CxHNDrN/fNVZq9VilgNrLhJW7HeQIhKa8Sa+wZ3vENP8mc79B/WbujyfA3Q== "@node-rs/crc32-darwin-arm64@^1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@node-rs/crc32-darwin-arm64/-/crc32-darwin-arm64-1.1.0.tgz#b6f41c931f992f8fff93a5c086eb1c7f0b393fa5" + resolved "https://registry.npmjs.org/@node-rs/crc32-darwin-arm64/-/crc32-darwin-arm64-1.1.0.tgz" integrity sha512-dE04JL+w4+V0YBw+nrnzw7U0c5yTtAWg1jelNuZl+4BWCFrkHpAmUR+dHiz2OhZvbKV7RApwDNmYbvG+ppYK0Q== "@node-rs/crc32-darwin-x64@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@node-rs/crc32-darwin-x64/-/crc32-darwin-x64-1.1.0.tgz#291f4b4b0a562c220537bdf69bd72b19bf7a19be" - integrity sha512-/nfj8EixjXc3iuyR5CybB2vOzQ23xjv/MrQiWtozcS2mLNsbMG/Ue0C9QLq4FQbL6HXEnhbrVbAQnByNurP4Ew== + version "1.5.1" + resolved "https://registry.yarnpkg.com/@node-rs/crc32-darwin-x64/-/crc32-darwin-x64-1.5.1.tgz#9c1f0adaaeba36de039099c61d0598584839c631" + integrity sha512-shonLEeViiUBdl0yZ2LU3rZxmdmNGDa+nnlcO3n3fvQdk4DwQigXIBhJbV+6w1Xvjnrof4iuO9wYZoMCQDCoBw== "@node-rs/crc32-linux-arm-gnueabihf@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@node-rs/crc32-linux-arm-gnueabihf/-/crc32-linux-arm-gnueabihf-1.1.0.tgz#b54c7f12661f8c2ef0d1200716dce67811beb2ea" - integrity sha512-RX7VTEKfM/KMLeRMw89vJdsdvxZafoHQrwUvR290vuHE2Zfqc10YQQMJvq0iU7IaKmgDAnYZtUPhSAv1FdbtFQ== + version "1.5.1" + resolved "https://registry.yarnpkg.com/@node-rs/crc32-linux-arm-gnueabihf/-/crc32-linux-arm-gnueabihf-1.5.1.tgz#f58f24262a276c6ebbdce45830c9dd529a998a12" + integrity sha512-gWNtzBPBDrMBuz+nRtbp6ziJSkUo2RopwAZ1Yg6sKRjyZx4aa0DNXOxVJkr5ZQNuvopBaFet42XYqS9SuoTMrQ== "@node-rs/crc32-linux-arm64-gnu@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@node-rs/crc32-linux-arm64-gnu/-/crc32-linux-arm64-gnu-1.1.0.tgz#736f745a16fd4c8be448646a957d3115cea9d18f" - integrity sha512-Age/YDyYhQEMSBZgHx4RhHXx6xcWNSGA3jDBu5NcBXo5dZZ2b3HAOjosdhfHqTGIrOdd+CAx3BqO5O46UiLU2Q== + version "1.5.1" + resolved "https://registry.yarnpkg.com/@node-rs/crc32-linux-arm64-gnu/-/crc32-linux-arm64-gnu-1.5.1.tgz#a8b6ba165999a5085ca2237b543b69efd24e53a5" + integrity sha512-8DmoVY0acSlSz1A3aWQmvVPOHNfWCGvfocV9QTF9xdhzrJDZFCLcSFggsYAYmaFL6RDU8o8uY9DOfA+DSKdUsQ== "@node-rs/crc32-linux-x64-gnu@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@node-rs/crc32-linux-x64-gnu/-/crc32-linux-x64-gnu-1.1.0.tgz#9eca53c5ec185c838fa9ce4344efef7fb020dc3e" - integrity sha512-QUB3hkejwnziEyOT4zo51/qHEAW6YMs3eogQxOyB/IIkji8SwC1dgx94PC6MypBWSnjs2eAi0UiiZh6iK5+7kw== + version "1.5.1" + resolved "https://registry.yarnpkg.com/@node-rs/crc32-linux-x64-gnu/-/crc32-linux-x64-gnu-1.5.1.tgz#339ca11f81b4d3ffed39a5546c66f3200b3ef79c" + integrity sha512-7A5b6xh8jdDzd1xVlS9mrzyvbrnWL5z9VgJy6lcm222Ae1va/uxWdQpPxhl9aqIQbvi++6nS+FfewKZUYbaZQg== "@node-rs/crc32-linux-x64-musl@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@node-rs/crc32-linux-x64-musl/-/crc32-linux-x64-musl-1.1.0.tgz#28c5433ac1b5c30cb8b083a02c12ec302b97bb10" - integrity sha512-avmN8ZU69+U1kUZ9CKjhpBcwL4LD29pg+sRJ4+zQSbqbAqOaMfWsvEemKymfOENrQJLR80azwKWfgxldP7/X3A== + version "1.5.1" + resolved "https://registry.yarnpkg.com/@node-rs/crc32-linux-x64-musl/-/crc32-linux-x64-musl-1.5.1.tgz#b81ca35b4259f8782749dc1364e5a9fcb04af0b9" + integrity sha512-XcW/gBkq7NiARM9XqNDK9P/ukzlRCmsD2Yp0U7eIl3lh6kYEpFynySTU5KbTu6zwAKy4ni/OdOkZFcKDkvTS1w== "@node-rs/crc32-win32-ia32-msvc@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@node-rs/crc32-win32-ia32-msvc/-/crc32-win32-ia32-msvc-1.1.0.tgz#7bf9c3ba184465b30ad1f652cce1e154c0e53d4c" - integrity sha512-91SMBA7836eubTR9sd2xCwYt6c2MZwBw8j0x+jt3bxn32opgcwL4n6O89lKpMRZO8k6S8An51hBs1nYBB/5Wwg== + version "1.5.1" + resolved "https://registry.yarnpkg.com/@node-rs/crc32-win32-ia32-msvc/-/crc32-win32-ia32-msvc-1.5.1.tgz#fb00776e575928f7cc17b115d7ccab2173ef429c" + integrity sha512-OByR728WARMiPJQHnGnveQum2cXEqZqB4AsQwuaaonkFWQFVyr6HKEF9+icCtX4rnRw5GHWOGXojEGUO5FR/Iw== "@node-rs/crc32-win32-x64-msvc@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@node-rs/crc32-win32-x64-msvc/-/crc32-win32-x64-msvc-1.1.0.tgz#e47d43161bec61c2c9f61bf577bdaa4c2887bc16" - integrity sha512-dqEQP+PxidHalhaEdat/54pGKx/aVIt7FDgWho5AEp2Wfc90aUdH4o1UX/sE4azDejo7eXc+kUHrTn3ZZWrRfw== + version "1.5.1" + resolved "https://registry.yarnpkg.com/@node-rs/crc32-win32-x64-msvc/-/crc32-win32-x64-msvc-1.5.1.tgz#8f709bd8c27babaed9a110ca386ff119bbfa0de6" + integrity sha512-Jl3gosWZLo/VyLMWj87eqUT6nBqLsl9+7PPSF5bc7QCCayOrYEcA70zD47u3UnwK9Qae8E7318H0FhGh+W87Bw== "@node-rs/crc32@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@node-rs/crc32/-/crc32-1.1.0.tgz#a0a4cb7f3b2d14a56621a26fb8b760c90782b965" + resolved "https://registry.npmjs.org/@node-rs/crc32/-/crc32-1.1.0.tgz" integrity sha512-f3LSfNx3jw93ThDF8SrFOCGeKqBt9gOnOdUyPiBL6peQ5qS8035ByilkNUomcz7OpaAXtRjNWSanP+E2/XKTFw== dependencies: "@node-rs/helper" "^1.1.0" @@ -1757,7 +1757,7 @@ "@node-rs/helper@^1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@node-rs/helper/-/helper-1.1.0.tgz#4fcbbebae3b81932d1ff3e431c7cd3886b504742" + resolved "https://registry.npmjs.org/@node-rs/helper/-/helper-1.1.0.tgz" integrity sha512-r43YnnrY5JNzDuXJdW3sBJrKzvejvFmFWbiItUEoBJsaPzOIWFMhXB7i5j4c9EMXcFfxveF4l7hT+rLmwtjrVQ== dependencies: "@napi-rs/triples" "^1.0.2" @@ -1765,7 +1765,7 @@ "@nodelib/fs.scandir@2.1.4": version "2.1.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz" integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== dependencies: "@nodelib/fs.stat" "2.0.4" @@ -1773,12 +1773,12 @@ "@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": version "2.0.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz" integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== "@nodelib/fs.walk@^1.2.3": version "1.2.6" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz" integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== dependencies: "@nodelib/fs.scandir" "2.1.4" @@ -1786,12 +1786,12 @@ "@npmcli/ci-detect@^1.0.0": version "1.3.0" - resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-1.3.0.tgz#6c1d2c625fb6ef1b9dea85ad0a5afcbef85ef22a" + resolved "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.3.0.tgz" integrity sha512-oN3y7FAROHhrAt7Rr7PnTSwrHrZVRTS2ZbyxeQwSSYD0ifwM3YNgQqbaRmjcWoPyq77MjchusjJDspbzMmip1Q== "@npmcli/fs@^1.0.0": version "1.1.1" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257" + resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz" integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== dependencies: "@gar/promisify" "^1.0.1" @@ -1799,7 +1799,7 @@ "@npmcli/git@^2.0.1": version "2.0.9" - resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-2.0.9.tgz#915bbfe66300e67b4da5ef765a4475ffb2ca5b6b" + resolved "https://registry.npmjs.org/@npmcli/git/-/git-2.0.9.tgz" integrity sha512-hTMbMryvOqGLwnmMBKs5usbPsJtyEsMsgXwJbmNrsEuQQh1LAIMDU77IoOrwkCg+NgQWl+ySlarJASwM3SutCA== dependencies: "@npmcli/promise-spawn" "^1.3.2" @@ -1813,7 +1813,7 @@ "@npmcli/installed-package-contents@^1.0.6": version "1.0.7" - resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa" + resolved "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz" integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw== dependencies: npm-bundled "^1.1.1" @@ -1821,7 +1821,7 @@ "@npmcli/move-file@^1.0.1": version "1.1.2" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" + resolved "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz" integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== dependencies: mkdirp "^1.0.4" @@ -1829,19 +1829,19 @@ "@npmcli/node-gyp@^1.0.2": version "1.0.2" - resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz#3cdc1f30e9736dbc417373ed803b42b1a0a29ede" + resolved "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz" integrity sha512-yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg== "@npmcli/promise-spawn@^1.2.0", "@npmcli/promise-spawn@^1.3.2": version "1.3.2" - resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz#42d4e56a8e9274fba180dabc0aea6e38f29274f5" + resolved "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz" integrity sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg== dependencies: infer-owner "^1.0.4" "@npmcli/run-script@^1.8.2": version "1.8.5" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-1.8.5.tgz#f250a0c5e1a08a792d775a315d0ff42fc3a51e1d" + resolved "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.5.tgz" integrity sha512-NQspusBCpTjNwNRFMtz2C5MxoxyzlbuJ4YEhxAKrIonTiirKDtatsZictx9RgamQIx6+QuHMNmPl0wQdoESs9A== dependencies: "@npmcli/node-gyp" "^1.0.2" @@ -1852,14 +1852,14 @@ "@octokit/auth-token@^2.4.4": version "2.4.5" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.5.tgz#568ccfb8cb46f36441fac094ce34f7a875b197f3" + resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz" integrity sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA== dependencies: "@octokit/types" "^6.0.3" "@octokit/core@^3.2.3": version "3.4.0" - resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.4.0.tgz#b48aa27d755b339fe7550548b340dcc2b513b742" + resolved "https://registry.npmjs.org/@octokit/core/-/core-3.4.0.tgz" integrity sha512-6/vlKPP8NF17cgYXqucdshWqmMZGXkuvtcrWCgU5NOI0Pl2GjlmZyWgBMrU8zJ3v2MJlM6++CiB45VKYmhiWWg== dependencies: "@octokit/auth-token" "^2.4.4" @@ -1872,7 +1872,7 @@ "@octokit/core@^3.4.0": version "3.5.1" - resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.5.1.tgz#8601ceeb1ec0e1b1b8217b960a413ed8e947809b" + resolved "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz" integrity sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw== dependencies: "@octokit/auth-token" "^2.4.4" @@ -1885,7 +1885,7 @@ "@octokit/endpoint@^6.0.1": version "6.0.11" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.11.tgz#082adc2aebca6dcefa1fb383f5efb3ed081949d1" + resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.11.tgz" integrity sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ== dependencies: "@octokit/types" "^6.0.3" @@ -1894,7 +1894,7 @@ "@octokit/graphql@^4.5.8": version "4.6.2" - resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.6.2.tgz#ec44abdfa87f2b9233282136ae33e4ba446a04e7" + resolved "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.6.2.tgz" integrity sha512-WmsIR1OzOr/3IqfG9JIczI8gMJUMzzyx5j0XXQ4YihHtKlQc+u35VpVoOXhlKAlaBntvry1WpAzPl/a+s3n89Q== dependencies: "@octokit/request" "^5.3.0" @@ -1903,46 +1903,46 @@ "@octokit/openapi-types@^6.2.1": version "6.2.1" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-6.2.1.tgz#5830395622ca0d8e945532c7ace722aec3670508" + resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-6.2.1.tgz" integrity sha512-rSyuVb2zVwEbWpl1FJzVziyDfvEhNcvIsp6QxmEJkpiFuPfcZ4LwXz2/fhVdVC8Xy7BCugUQr7/ISdhYwgs3zQ== "@octokit/openapi-types@^7.2.3": version "7.2.3" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-7.2.3.tgz#a7105796db9b85d25d3feba9a1785a124c7803e4" + resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-7.2.3.tgz" integrity sha512-V1ycxkR19jqbIl3evf2RQiMRBvTNRi+Iy9h20G5OP5dPfEF6GJ1DPlUeiZRxo2HJxRr+UA4i0H1nn4btBDPFrw== "@octokit/openapi-types@^7.3.4": version "7.3.4" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-7.3.4.tgz#9f075e263d1d3c1ba7a789e0085a5ed75d6daad1" + resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-7.3.4.tgz" integrity sha512-binmLrMQWBG0CvUE/jS3/XXrZbX3oN/6gF7ocSsb/ZJ0xfox2isJN4ZhGeL91SDJVzFK7XuUYBm2mlIDedkxsg== "@octokit/plugin-enterprise-rest@^6.0.1": version "6.0.1" - resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437" + resolved "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz" integrity sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw== "@octokit/plugin-paginate-rest@^2.13.3": version "2.13.5" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.5.tgz#e459f9b5dccbe0a53f039a355d5b80c0a2b0dc57" + resolved "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.5.tgz" integrity sha512-3WSAKBLa1RaR/7GG+LQR/tAZ9fp9H9waE9aPXallidyci9oZsfgsLn5M836d3LuDC6Fcym+2idRTBpssHZePVg== dependencies: "@octokit/types" "^6.13.0" "@octokit/plugin-paginate-rest@^2.6.2": version "2.13.3" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.3.tgz#f0f1792230805108762d87906fb02d573b9e070a" + resolved "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.3.tgz" integrity sha512-46lptzM9lTeSmIBt/sVP/FLSTPGx6DCzAdSX3PfeJ3mTf4h9sGC26WpaQzMEq/Z44cOcmx8VsOhO+uEgE3cjYg== dependencies: "@octokit/types" "^6.11.0" "@octokit/plugin-request-log@^1.0.2": version "1.0.3" - resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz#70a62be213e1edc04bb8897ee48c311482f9700d" + resolved "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz" integrity sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ== "@octokit/plugin-rest-endpoint-methods@5.3.1": version "5.3.1" - resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.3.1.tgz#deddce769b4ec3179170709ab42e4e9e6195aaa9" + resolved "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.3.1.tgz" integrity sha512-3B2iguGmkh6bQQaVOtCsS0gixrz8Lg0v4JuXPqBcFqLKuJtxAUf3K88RxMEf/naDOI73spD+goJ/o7Ie7Cvdjg== dependencies: "@octokit/types" "^6.16.2" @@ -1950,7 +1950,7 @@ "@octokit/plugin-rest-endpoint-methods@^5.1.1": version "5.3.3" - resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.3.3.tgz#b447ed80126d36a9cf99daabb055bf0c157c8d89" + resolved "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.3.3.tgz" integrity sha512-xHlZK9gxVFP2YQYXOmR1ItCwl9k+0Z3cA40oGMQfpPbWIYY32FTM15Qj+V0V6oLJZr0E26Sz3VX6qYlM/ytfig== dependencies: "@octokit/types" "^6.16.6" @@ -1958,7 +1958,7 @@ "@octokit/request-error@^2.0.0", "@octokit/request-error@^2.0.5": version "2.0.5" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.5.tgz#72cc91edc870281ad583a42619256b380c600143" + resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz" integrity sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg== dependencies: "@octokit/types" "^6.0.3" @@ -1967,7 +1967,7 @@ "@octokit/request-error@^2.1.0": version "2.1.0" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" + resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz" integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== dependencies: "@octokit/types" "^6.0.3" @@ -1976,7 +1976,7 @@ "@octokit/request@^5.3.0", "@octokit/request@^5.4.12": version "5.4.15" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.15.tgz#829da413dc7dd3aa5e2cdbb1c7d0ebe1f146a128" + resolved "https://registry.npmjs.org/@octokit/request/-/request-5.4.15.tgz" integrity sha512-6UnZfZzLwNhdLRreOtTkT9n57ZwulCve8q3IT/Z477vThu6snfdkBuhxnChpOKNGxcQ71ow561Qoa6uqLdPtag== dependencies: "@octokit/endpoint" "^6.0.1" @@ -1988,7 +1988,7 @@ "@octokit/request@^5.6.0": version "5.6.0" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.0.tgz#6084861b6e4fa21dc40c8e2a739ec5eff597e672" + resolved "https://registry.npmjs.org/@octokit/request/-/request-5.6.0.tgz" integrity sha512-4cPp/N+NqmaGQwbh3vUsYqokQIzt7VjsgTYVXiwpUP2pxd5YiZB2XuTedbb0SPtv9XS7nzAKjAuQxmY8/aZkiA== dependencies: "@octokit/endpoint" "^6.0.1" @@ -2000,7 +2000,7 @@ "@octokit/rest@^18.1.0": version "18.5.6" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.5.6.tgz#8c9a7c9329c7bbf478af20df78ddeab0d21f6d89" + resolved "https://registry.npmjs.org/@octokit/rest/-/rest-18.5.6.tgz" integrity sha512-8HdG6ZjQdZytU6tCt8BQ2XLC7EJ5m4RrbyU/EARSkAM1/HP3ceOzMG/9atEfe17EDMer3IVdHWLedz2wDi73YQ== dependencies: "@octokit/core" "^3.2.3" @@ -2010,58 +2010,58 @@ "@octokit/types@^6.0.3", "@octokit/types@^6.7.1": version "6.14.1" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.14.1.tgz#4579bbdabee9a8349ce302f29ebc6f81775f0f5c" + resolved "https://registry.npmjs.org/@octokit/types/-/types-6.14.1.tgz" integrity sha512-RDzkeFPaT2TgZcNtB2s1HtaMmtOrvXsc5VsAdpzApNkTwNN7Jk76RRCzGYhjm+hQ/HHuQXZkxUDWhJlt2QAyKQ== dependencies: "@octokit/openapi-types" "^6.2.1" "@octokit/types@^6.11.0", "@octokit/types@^6.16.2": version "6.16.2" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.16.2.tgz#62242e0565a3eb99ca2fd376283fe78b4ea057b4" + resolved "https://registry.npmjs.org/@octokit/types/-/types-6.16.2.tgz" integrity sha512-wWPSynU4oLy3i4KGyk+J1BLwRKyoeW2TwRHgwbDz17WtVFzSK2GOErGliruIx8c+MaYtHSYTx36DSmLNoNbtgA== dependencies: "@octokit/openapi-types" "^7.2.3" "@octokit/types@^6.13.0", "@octokit/types@^6.16.1", "@octokit/types@^6.16.6": version "6.16.6" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.16.6.tgz#c113a0408a799ccb93c8749806733ad5d3edd142" + resolved "https://registry.npmjs.org/@octokit/types/-/types-6.16.6.tgz" integrity sha512-PrEGjMnEhLlNttsuLadEWqXdMYJX3icHHaRs/ChJebRT79VDh/cNkk8bURx05BEEwr7QvaLsRzjt3hNxUJZfXA== dependencies: "@octokit/openapi-types" "^7.3.4" "@opencensus/web-types@0.0.7": version "0.0.7" - resolved "https://registry.yarnpkg.com/@opencensus/web-types/-/web-types-0.0.7.tgz#4426de1fe5aa8f624db395d2152b902874f0570a" + resolved "https://registry.npmjs.org/@opencensus/web-types/-/web-types-0.0.7.tgz" integrity sha512-xB+w7ZDAu3YBzqH44rCmG9/RlrOmFuDPt/bpf17eJr8eZSrLt7nc7LnWdxM9Mmoj/YKMHpxRg28txu3TcpiL+g== "@opentelemetry/api@1.0.0-rc.0": version "1.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.0.0-rc.0.tgz#0c7c3f5e1285f99cedb563d74ad1adb9822b5144" + resolved "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.0-rc.0.tgz" integrity sha512-iXKByCMfrlO5S6Oh97BuM56tM2cIBB0XsL/vWF/AtJrJEKx4MC/Xdu0xDsGXMGcNWpqF7ujMsjjnp0+UHBwnDQ== "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + resolved "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz" integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78= "@protobufjs/base64@^1.1.2": version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" + resolved "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz" integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== "@protobufjs/codegen@^2.0.4": version "2.0.4" - resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" + resolved "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz" integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== "@protobufjs/eventemitter@^1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + resolved "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz" integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A= "@protobufjs/fetch@^1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + resolved "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz" integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU= dependencies: "@protobufjs/aspromise" "^1.1.1" @@ -2069,37 +2069,37 @@ "@protobufjs/float@^1.0.2": version "1.0.2" - resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + resolved "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz" integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E= "@protobufjs/inquire@^1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + resolved "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz" integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik= "@protobufjs/path@^1.1.2": version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + resolved "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz" integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0= "@protobufjs/pool@^1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + resolved "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz" integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q= "@protobufjs/utf8@^1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + resolved "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz" integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= "@scure/base@~1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.0.0.tgz#109fb595021de285f05a7db6806f2f48296fcee7" + resolved "https://registry.npmjs.org/@scure/base/-/base-1.0.0.tgz" integrity sha512-gIVaYhUsy+9s58m/ETjSJVKHhKTBMmcRb9cEV5/5dwvfDlfORjKrFsDeDHWRrm6RjcPvCLZFwGJjAjLj1gg4HA== "@scure/bip39@^1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.0.0.tgz#47504e58de9a56a4bbed95159d2d6829fa491bb0" + resolved "https://registry.npmjs.org/@scure/bip39/-/bip39-1.0.0.tgz" integrity sha512-HrtcikLbd58PWOkl02k9V6nXWQyoa7A0+Ek9VF7z17DDk9XZAFUcIdqfh0jJXLypmizc5/8P6OxoUeKliiWv4w== dependencies: "@noble/hashes" "~1.0.0" @@ -2107,26 +2107,26 @@ "@sindresorhus/is@^4.0.0": version "4.0.1" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.1.tgz#d26729db850fa327b7cacc5522252194404226f5" + resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.1.tgz" integrity sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g== "@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.7.0", "@sinonjs/commons@^1.8.1": version "1.8.3" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== dependencies: type-detect "4.0.8" "@sinonjs/fake-timers@^6.0.0", "@sinonjs/fake-timers@^6.0.1": version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz" integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== dependencies: "@sinonjs/commons" "^1.7.0" "@sinonjs/samsam@^5.3.1": version "5.3.1" - resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-5.3.1.tgz#375a45fe6ed4e92fca2fb920e007c48232a6507f" + resolved "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz" integrity sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg== dependencies: "@sinonjs/commons" "^1.6.0" @@ -2135,29 +2135,29 @@ "@sinonjs/text-encoding@^0.7.1": version "0.7.1" - resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5" + resolved "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz" integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ== "@stablelib/aead@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/aead/-/aead-1.0.1.tgz#c4b1106df9c23d1b867eb9b276d8f42d5fc4c0c3" + resolved "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz" integrity sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg== "@stablelib/binary@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/binary/-/binary-1.0.1.tgz#c5900b94368baf00f811da5bdb1610963dfddf7f" + resolved "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz" integrity sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q== dependencies: "@stablelib/int" "^1.0.1" "@stablelib/bytes@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/bytes/-/bytes-1.0.1.tgz#0f4aa7b03df3080b878c7dea927d01f42d6a20d8" + resolved "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz" integrity sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ== "@stablelib/chacha20poly1305@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz#de6b18e283a9cb9b7530d8767f99cde1fec4c2ee" + resolved "https://registry.npmjs.org/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz" integrity sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA== dependencies: "@stablelib/aead" "^1.0.1" @@ -2169,7 +2169,7 @@ "@stablelib/chacha@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/chacha/-/chacha-1.0.1.tgz#deccfac95083e30600c3f92803a3a1a4fa761371" + resolved "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz" integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== dependencies: "@stablelib/binary" "^1.0.1" @@ -2177,17 +2177,17 @@ "@stablelib/constant-time@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/constant-time/-/constant-time-1.0.1.tgz#bde361465e1cf7b9753061b77e376b0ca4c77e35" + resolved "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz" integrity sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg== "@stablelib/hash@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/hash/-/hash-1.0.1.tgz#3c944403ff2239fad8ebb9015e33e98444058bc5" + resolved "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz" integrity sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg== "@stablelib/hkdf@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/hkdf/-/hkdf-1.0.1.tgz#b4efd47fd56fb43c6a13e8775a54b354f028d98d" + resolved "https://registry.npmjs.org/@stablelib/hkdf/-/hkdf-1.0.1.tgz" integrity sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g== dependencies: "@stablelib/hash" "^1.0.1" @@ -2196,7 +2196,7 @@ "@stablelib/hmac@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/hmac/-/hmac-1.0.1.tgz#3d4c1b8cf194cb05d28155f0eed8a299620a07ec" + resolved "https://registry.npmjs.org/@stablelib/hmac/-/hmac-1.0.1.tgz" integrity sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA== dependencies: "@stablelib/constant-time" "^1.0.1" @@ -2205,19 +2205,19 @@ "@stablelib/int@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/int/-/int-1.0.1.tgz#75928cc25d59d73d75ae361f02128588c15fd008" + resolved "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz" integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== "@stablelib/keyagreement@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz#4612efb0a30989deb437cd352cee637ca41fc50f" + resolved "https://registry.npmjs.org/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz" integrity sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg== dependencies: "@stablelib/bytes" "^1.0.1" "@stablelib/poly1305@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/poly1305/-/poly1305-1.0.1.tgz#93bfb836c9384685d33d70080718deae4ddef1dc" + resolved "https://registry.npmjs.org/@stablelib/poly1305/-/poly1305-1.0.1.tgz" integrity sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA== dependencies: "@stablelib/constant-time" "^1.0.1" @@ -2225,7 +2225,7 @@ "@stablelib/random@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/random/-/random-1.0.1.tgz#4357a00cb1249d484a9a71e6054bc7b8324a7009" + resolved "https://registry.npmjs.org/@stablelib/random/-/random-1.0.1.tgz" integrity sha512-zOh+JHX3XG9MSfIB0LZl/YwPP9w3o6WBiJkZvjPoKKu5LKFW4OLV71vMxWp9qG5T43NaWyn0QQTWgqCdO+yOBQ== dependencies: "@stablelib/binary" "^1.0.1" @@ -2233,7 +2233,7 @@ "@stablelib/sha256@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/sha256/-/sha256-1.0.1.tgz#77b6675b67f9b0ea081d2e31bda4866297a3ae4f" + resolved "https://registry.npmjs.org/@stablelib/sha256/-/sha256-1.0.1.tgz" integrity sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ== dependencies: "@stablelib/binary" "^1.0.1" @@ -2242,12 +2242,12 @@ "@stablelib/wipe@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/wipe/-/wipe-1.0.1.tgz#d21401f1d59ade56a62e139462a97f104ed19a36" + resolved "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz" integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== "@stablelib/x25519@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/x25519/-/x25519-1.0.1.tgz#bcd6132ac4dd94f28f1479e228c85b3468d6ed27" + resolved "https://registry.npmjs.org/@stablelib/x25519/-/x25519-1.0.1.tgz" integrity sha512-nmyUI2ZArxYDh1PhdoSCPEtlTYE0DYugp2qqx8OtjrX3Hmh7boIlDsD0X71ihAxzxqJf3TyQqN/p58ToWhnp+Q== dependencies: "@stablelib/keyagreement" "^1.0.1" @@ -2256,51 +2256,51 @@ "@szmarczak/http-timer@^4.0.5": version "4.0.5" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.5.tgz#bfbd50211e9dfa51ba07da58a14cdfd333205152" + resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.5.tgz" integrity sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ== dependencies: defer-to-connect "^2.0.0" "@tootallnate/once@1": version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== "@tsconfig/node10@^1.0.7": version "1.0.8" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" + resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz" integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== "@tsconfig/node12@^1.0.7": version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" + resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz" integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== "@tsconfig/node14@^1.0.0": version "1.0.1" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" + resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz" integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== "@tsconfig/node16@^1.0.2": version "1.0.2" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" + resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz" integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== "@types/abstract-leveldown@*": version "5.0.1" - resolved "https://registry.yarnpkg.com/@types/abstract-leveldown/-/abstract-leveldown-5.0.1.tgz#3c7750d0186b954c7f2d2f6acc8c3c7ba0c3412e" + resolved "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-5.0.1.tgz" integrity sha512-wYxU3kp5zItbxKmeRYCEplS2MW7DzyBnxPGj+GJVHZEUZiK/nn5Ei1sUFgURDh+X051+zsGe28iud3oHjrYWQQ== "@types/async-retry@^1.4.3": version "1.4.3" - resolved "https://registry.yarnpkg.com/@types/async-retry/-/async-retry-1.4.3.tgz#8b78f6ce88d97e568961732cdd9e5325cdc8c246" + resolved "https://registry.npmjs.org/@types/async-retry/-/async-retry-1.4.3.tgz" integrity sha512-B3C9QmmNULVPL2uSJQ088eGWTNPIeUk35hca6CV8rRDJ8GXuQJP5CCVWA1ZUCrb9xYP7Js/RkLqnNNwKhe+Zsw== dependencies: "@types/retry" "*" "@types/bl@^5.0.1": version "5.0.1" - resolved "https://registry.yarnpkg.com/@types/bl/-/bl-5.0.1.tgz#72e61e17bf2c4b0e1a87621c6505c34ac41fd9e3" + resolved "https://registry.npmjs.org/@types/bl/-/bl-5.0.1.tgz" integrity sha512-hcjx0OAaT82pFU0bN2f6k4n6nyyIKsTe9PuXtY1zkANNPbUmJJmTtt98UebGHZuPwll7atG3UPXxYJ634cnLqg== dependencies: "@types/node" "*" @@ -2308,14 +2308,14 @@ "@types/buffer-xor@^2.0.0": version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/buffer-xor/-/buffer-xor-2.0.0.tgz#15738051e0720b68120cd2cc3f204aa4dc16bab1" + resolved "https://registry.npmjs.org/@types/buffer-xor/-/buffer-xor-2.0.0.tgz" integrity sha512-NEJkIKUE/xboduuIAJmdtUvbXgUOfMkjOo6lWsiBVUIWBC5fVWGT+50yEw9W1Xp4ga76khg57pHELXw5Xm3Y+A== dependencies: "@types/node" "*" "@types/cacheable-request@^6.0.1": version "6.0.1" - resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.1.tgz#5d22f3dded1fd3a84c0bbeb5039a7419c2c91976" + resolved "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz" integrity sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ== dependencies: "@types/http-cache-semantics" "*" @@ -2325,43 +2325,43 @@ "@types/chai-as-promised@^7.1.2": version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.3.tgz#779166b90fda611963a3adbfd00b339d03b747bd" + resolved "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.3.tgz" integrity sha512-FQnh1ohPXJELpKhzjuDkPLR2BZCAqed+a6xV4MI/T3XzHfd2FlarfUGUdZYgqYe8oxkYn0fchHEeHfHqdZ96sg== dependencies: "@types/chai" "*" "@types/chai@*": version "4.2.17" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.17.tgz#85f9f0610f514b22a94125d441f73eef65bde5cc" + resolved "https://registry.npmjs.org/@types/chai/-/chai-4.2.17.tgz" integrity sha512-LaiwWNnYuL8xJlQcE91QB2JoswWZckq9A4b+nMPq8dt8AP96727Nb3X4e74u+E3tm4NLTILNI9MYFsyVc30wSA== "@types/chai@4.2.0": version "4.2.0" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.0.tgz#2478260021408dec32c123a7cad3414beb811a07" + resolved "https://registry.npmjs.org/@types/chai/-/chai-4.2.0.tgz" integrity sha512-zw8UvoBEImn392tLjxoavuonblX/4Yb9ha4KBU10FirCfwgzhKO0dvyJSF9ByxV1xK1r2AgnAi/tvQaLgxQqxA== "@types/cookiejar@*": version "2.1.2" - resolved "https://registry.yarnpkg.com/@types/cookiejar/-/cookiejar-2.1.2.tgz#66ad9331f63fe8a3d3d9d8c6e3906dd10f6446e8" + resolved "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz" integrity sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog== "@types/datastore-level@^3.0.0": version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/datastore-level/-/datastore-level-3.0.0.tgz#9049d0363ab171cc119633043c1eaa272b02df71" + resolved "https://registry.npmjs.org/@types/datastore-level/-/datastore-level-3.0.0.tgz" integrity sha512-R11fJUqWS6kFUd1Vr8CXuwKrn7Jr5Hz+yy7TnGRNZ2oTueU5lpYmxY9NJon28UsL7BiX1Q9MjC5IowfV5saBcg== dependencies: datastore-level "*" "@types/debug@^4.1.7": version "4.1.7" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82" + resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz" integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg== dependencies: "@types/ms" "*" "@types/encoding-down@*": version "5.0.0" - resolved "https://registry.yarnpkg.com/@types/encoding-down/-/encoding-down-5.0.0.tgz#0b5b90b93ac3aa75148f19508044e7bd36463557" + resolved "https://registry.npmjs.org/@types/encoding-down/-/encoding-down-5.0.0.tgz" integrity sha512-G0MlS/+/U2RIQLcSEhhAcoMrXw3hXUCFSKbhbeEljoKMra2kq+NPX6tfOveSWQLX2hJXBo+YrvKgAGe+tFL1Aw== dependencies: "@types/abstract-leveldown" "*" @@ -2369,17 +2369,17 @@ "@types/eventsource@^1.1.5": version "1.1.5" - resolved "https://registry.yarnpkg.com/@types/eventsource/-/eventsource-1.1.5.tgz#408e9b45efb176c8bea672ab58c81e7ab00d24bc" + resolved "https://registry.npmjs.org/@types/eventsource/-/eventsource-1.1.5.tgz" integrity sha512-BA9q9uC2PAMkUS7DunHTxWZZaVpeNzDG8lkBxcKwzKJClfDQ4Z59/Csx7HSH/SIqFN2JWh0tAKAM6k/wRR0OZg== "@types/expand-tilde@^2.0.0": version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/expand-tilde/-/expand-tilde-2.0.0.tgz#c01a706675b9d60931bf6a7dc7dfa45d63540c97" + resolved "https://registry.npmjs.org/@types/expand-tilde/-/expand-tilde-2.0.0.tgz" integrity sha512-17h/6MRHoetV2QVUVnUfrmaFCXNIFJ3uDJmXlklX2xDtlEb1W0OXLgP+qwND2Ibg/PtQfQi0vx19KGuPayjLiw== "@types/glob@*": version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" + resolved "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz" integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== dependencies: "@types/minimatch" "*" @@ -2387,7 +2387,7 @@ "@types/got@^9.6.11": version "9.6.11" - resolved "https://registry.yarnpkg.com/@types/got/-/got-9.6.11.tgz#482b402cc5ee459481aeeadb08142ebb1a9afb26" + resolved "https://registry.npmjs.org/@types/got/-/got-9.6.11.tgz" integrity sha512-dr3IiDNg5TDesGyuwTrN77E1Cd7DCdmCFtEfSGqr83jMMtcwhf/SGPbN2goY4JUWQfvxwY56+e5tjfi+oXeSdA== dependencies: "@types/node" "*" @@ -2396,12 +2396,12 @@ "@types/http-cache-semantics@*": version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz#9140779736aa2655635ee756e2467d787cfe8a2a" + resolved "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz" integrity sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A== "@types/inquirer@^7.3.0": version "7.3.1" - resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-7.3.1.tgz#1f231224e7df11ccfaf4cf9acbcc3b935fea292d" + resolved "https://registry.npmjs.org/@types/inquirer/-/inquirer-7.3.1.tgz" integrity sha512-osD38QVIfcdgsPCT0V3lD7eH0OFurX71Jft18bZrsVQWVRt6TuxRzlr0GJLrxoHZR2V5ph7/qP8se/dcnI7o0g== dependencies: "@types/through" "*" @@ -2409,54 +2409,54 @@ "@types/it-all@^1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/it-all/-/it-all-1.0.0.tgz#481c5ec6bcec47436b84254678052345ea8f7ce6" + resolved "https://registry.npmjs.org/@types/it-all/-/it-all-1.0.0.tgz" integrity sha512-sF9Os6utVd3/H+PSj7YV5Fwd/aC0LLAOr0/oW1aEx8BQFfLsq7fKIuj7vH1vzbaiQ8IkYpoP1Yu8HSIepL3xgg== "@types/js-yaml@^3.12.1", "@types/js-yaml@^3.12.5": version "3.12.6" - resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.12.6.tgz#7f10c926aa41e189a2755c4c7fcf8e4573bd7ac1" + resolved "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.6.tgz" integrity sha512-cK4XqrLvP17X6c0C8n4iTbT59EixqyXL3Fk8/Rsk4dF3oX4dg70gYUXrXVUUHpnsGMPNlTQMqf+TVmNPX6FmSQ== "@types/js-yaml@^4.0.3": version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.3.tgz#9f33cd6fbf0d5ec575dc8c8fc69c7fec1b4eb200" + resolved "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.3.tgz" integrity sha512-5t9BhoORasuF5uCPr+d5/hdB++zRFUTMIZOzbNkr+jZh3yQht4HYbRDyj9fY8n2TZT30iW9huzav73x4NikqWg== -"@types/json-schema@^7.0.7": - version "7.0.9" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" - integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== +"@types/json-schema@^7.0.9": + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/json5@^0.0.29": version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= "@types/jwt-simple@0.5.33": version "0.5.33" - resolved "https://registry.yarnpkg.com/@types/jwt-simple/-/jwt-simple-0.5.33.tgz#fb839cabe81437954f7d0cd01760ad8096ec526e" + resolved "https://registry.npmjs.org/@types/jwt-simple/-/jwt-simple-0.5.33.tgz" integrity sha1-+4Ocq+gUN5VPfQzQF2CtgJbsUm4= "@types/keyv@*": version "3.1.1" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.1.tgz#e45a45324fca9dab716ab1230ee249c9fb52cfa7" + resolved "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.1.tgz" integrity sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw== dependencies: "@types/node" "*" "@types/level-codec@*": version "9.0.0" - resolved "https://registry.yarnpkg.com/@types/level-codec/-/level-codec-9.0.0.tgz#9f1dc7f9017b6fba094a450602ec0b91cc384059" + resolved "https://registry.npmjs.org/@types/level-codec/-/level-codec-9.0.0.tgz" integrity sha512-SWYkVJylo1dqblkhrr7UtmsQh4wdZA9bV1y3QJSywMPSqGfW0p1w37N1EayZtKbg1dGReIIQEEOtxk4wZvGrWQ== "@types/level-errors@*": version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/level-errors/-/level-errors-3.0.0.tgz#15c1f4915a5ef763b51651b15e90f6dc081b96a8" + resolved "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.0.tgz" integrity sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ== "@types/level@^6.0.0": version "6.0.0" - resolved "https://registry.yarnpkg.com/@types/level/-/level-6.0.0.tgz#0bc0aaf1106598e1774e1dc5b69f0d58885d9d34" + resolved "https://registry.npmjs.org/@types/level/-/level-6.0.0.tgz" integrity sha512-NjaUpukKfCvnV4Wk0jUaodFi2/66HxgpYghc2aV8iP+zk2NMt/9ps1eVlifqOU/+eLzMlDIY69NWkbPaAstukQ== dependencies: "@types/abstract-leveldown" "*" @@ -2465,7 +2465,7 @@ "@types/leveldown@^4.0.2": version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/leveldown/-/leveldown-4.0.2.tgz#edb44a33668ae58656721bb1852345e6a2f2e42a" + resolved "https://registry.npmjs.org/@types/leveldown/-/leveldown-4.0.2.tgz" integrity sha512-VW6QbUnPb5yLbUBcXEh93lFNphyxkBul7Ae41OCgROd76WfLM3qzAbuzErx1LtsTqwcNlbavTr9rWXHCiGVF8A== dependencies: "@types/abstract-leveldown" "*" @@ -2473,7 +2473,7 @@ "@types/leveldown@^4.0.3": version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/leveldown/-/leveldown-4.0.3.tgz#4b868fd747808d378df6ffb27de7f889cae46aad" + resolved "https://registry.npmjs.org/@types/leveldown/-/leveldown-4.0.3.tgz" integrity sha512-fzIXOuUCSZQKkRadWhURwu6mMYbfqi/nRDA+yBwz8kj7AK/L7L//u6A0MqSv0gsilzo7N/5+FlZOx8G6m03EVQ== dependencies: "@types/abstract-leveldown" "*" @@ -2481,7 +2481,7 @@ "@types/levelup@*": version "4.3.0" - resolved "https://registry.yarnpkg.com/@types/levelup/-/levelup-4.3.0.tgz#4f55585e05a33caa08c1439c344bbba93e947327" + resolved "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.0.tgz" integrity sha512-h82BoajhjU/zwLoM4BUBX/SCodCFi1ae/ZlFOYh5Z4GbHeaXj9H709fF1LYl/StrK8KSwnJOeMRPo9lnC6sz4w== dependencies: "@types/abstract-leveldown" "*" @@ -2489,7 +2489,7 @@ "@types/levelup@^4.3.3": version "4.3.3" - resolved "https://registry.yarnpkg.com/@types/levelup/-/levelup-4.3.3.tgz#4dc2b77db079b1cf855562ad52321aa4241b8ef4" + resolved "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz" integrity sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA== dependencies: "@types/abstract-leveldown" "*" @@ -2498,114 +2498,109 @@ "@types/lockfile@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/lockfile/-/lockfile-1.0.1.tgz#434a3455e89843312f01976e010c60f1bcbd56f7" + resolved "https://registry.npmjs.org/@types/lockfile/-/lockfile-1.0.1.tgz" integrity sha512-65WZedEm4AnOsBDdsapJJG42MhROu3n4aSSiu87JXF/pSdlubxZxp3S1yz3kTfkJ2KBPud4CpjoHVAptOm9Zmw== "@types/lodash@^4.14.157": version "4.14.168" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.168.tgz#fe24632e79b7ade3f132891afff86caa5e5ce008" + resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz" integrity sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q== "@types/long@^4.0.1": version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9" + resolved "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz" integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w== "@types/minimatch@*", "@types/minimatch@^3.0.3": version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21" + resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz" integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA== "@types/minimatch@^3.0.4": version "3.0.5" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz" integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== "@types/minimist@^1.2.0": version "1.2.1" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256" + resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz" integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg== "@types/minipass@*": version "2.2.0" - resolved "https://registry.yarnpkg.com/@types/minipass/-/minipass-2.2.0.tgz#51ad404e8eb1fa961f75ec61205796807b6f9651" + resolved "https://registry.npmjs.org/@types/minipass/-/minipass-2.2.0.tgz" integrity sha512-wuzZksN4w4kyfoOv/dlpov4NOunwutLA/q7uc00xU02ZyUY+aoM5PWIXEKBMnm0NHd4a+N71BMjq+x7+2Af1fg== dependencies: "@types/node" "*" "@types/mocha@^8.0.3": version "8.2.2" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-8.2.2.tgz#91daa226eb8c2ff261e6a8cbf8c7304641e095e0" + resolved "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.2.tgz" integrity sha512-Lwh0lzzqT5Pqh6z61P3c3P5nm6fzQK/MMHl9UKeneAeInVflBSz1O2EkX6gM6xfJd7FBXBY5purtLx7fUiZ7Hw== "@types/mockery@^1.4.29": version "1.4.29" - resolved "https://registry.yarnpkg.com/@types/mockery/-/mockery-1.4.29.tgz#9ba22df37f07e3780fff8531d1a38e633f9457a5" + resolved "https://registry.npmjs.org/@types/mockery/-/mockery-1.4.29.tgz" integrity sha1-m6It838H43gP/4Ux0aOOYz+UV6U= "@types/ms@*": version "0.7.31" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" + resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== "@types/node-fetch@^2.5.0": version "2.5.10" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.10.tgz#9b4d4a0425562f9fcea70b12cb3fcdd946ca8132" + resolved "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.10.tgz" integrity sha512-IpkX0AasN44hgEad0gEF/V6EgR5n69VEqPEgnmoM8GsIGro3PowbWs4tR6IhxUTyPLpOn+fiGG6nrQhcmoCuIQ== dependencies: "@types/node" "*" form-data "^3.0.0" -"@types/node@*": - version "15.0.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-15.0.1.tgz#ef34dea0881028d11398be5bf4e856743e3dc35a" - integrity sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA== +"@types/node@*", "@types/node@^14.14.17": + version "14.14.43" + resolved "https://registry.npmjs.org/@types/node/-/node-14.14.43.tgz" + integrity sha512-3pwDJjp1PWacPTpH0LcfhgjvurQvrZFBrC6xxjaUEZ7ifUtT32jtjPxEMMblpqd2Mvx+k8haqQJLQxolyGN/cQ== "@types/node@11.11.6": version "11.11.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a" + resolved "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz" integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== "@types/node@>=13.7.0": version "16.6.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.6.2.tgz#331b7b9f8621c638284787c5559423822fdffc50" + resolved "https://registry.npmjs.org/@types/node/-/node-16.6.2.tgz" integrity sha512-LSw8TZt12ZudbpHc6EkIyDM3nHVWKYrAvGy6EAJfNfjusbwnThqjqxUKKRwuV3iWYeW/LYMzNgaq3MaLffQ2xA== -"@types/node@^14.14.17": - version "14.14.43" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.43.tgz#26bcbb0595b305400e8ceaf9a127a7f905ae49c8" - integrity sha512-3pwDJjp1PWacPTpH0LcfhgjvurQvrZFBrC6xxjaUEZ7ifUtT32jtjPxEMMblpqd2Mvx+k8haqQJLQxolyGN/cQ== - "@types/normalize-package-data@^2.4.0": version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz" integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== "@types/parse-json@^4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/pbkdf2@^3.0.0": version "3.1.0" - resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" + resolved "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz" integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== dependencies: "@types/node" "*" "@types/prometheus-gc-stats@^0.6.1": version "0.6.1" - resolved "https://registry.yarnpkg.com/@types/prometheus-gc-stats/-/prometheus-gc-stats-0.6.1.tgz#f47b54a59455ffd1f6c62f86751203467bfcba55" + resolved "https://registry.npmjs.org/@types/prometheus-gc-stats/-/prometheus-gc-stats-0.6.1.tgz" integrity sha512-tSj7MRNgEJCSqVRgPL4WIIcslZChgL6gVwnVFsAj2nTx0RdcG7iSpWm+0fkAKEe7e/YQ08TZH4wQWxpFODYqJw== "@types/qs@^6.9.6": version "6.9.6" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.6.tgz#df9c3c8b31a247ec315e6996566be3171df4b3b1" + resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz" integrity sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA== "@types/readable-stream@*": version "2.3.11" - resolved "https://registry.yarnpkg.com/@types/readable-stream/-/readable-stream-2.3.11.tgz#942bc4574a1d7ca4368cb9cb4352e3d2b4b51dea" + resolved "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.11.tgz" integrity sha512-0z+/apYJwKFz/RHp6mOMxz/y7xOvWPYPevuCEyAY3gXsjtaac02E26RvxA+I96rfvmVH/dEMGXNvyJfViR1FSQ== dependencies: "@types/node" "*" @@ -2613,19 +2608,19 @@ "@types/responselike@*", "@types/responselike@^1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" + resolved "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz" integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== dependencies: "@types/node" "*" "@types/retry@*", "@types/retry@^0.12.0": version "0.12.1" - resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.1.tgz#d8f1c0d0dc23afad6dc16a9e993a0865774b4065" + resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz" integrity sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== "@types/rimraf@^3.0.2": version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-3.0.2.tgz#a63d175b331748e5220ad48c901d7bbf1f44eef8" + resolved "https://registry.npmjs.org/@types/rimraf/-/rimraf-3.0.2.tgz" integrity sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ== dependencies: "@types/glob" "*" @@ -2633,36 +2628,36 @@ "@types/secp256k1@^4.0.1": version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.2.tgz#20c29a87149d980f64464e56539bf4810fdb5d1d" + resolved "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.2.tgz" integrity sha512-QMg+9v0bbNJ2peLuHRWxzmy0HRJIG6gFZNhaRSp7S3ggSbCCxiqQB2/ybvhXyhHOCequpNkrx7OavNhrWOsW0A== dependencies: "@types/node" "*" "@types/sinon@^9.0.0": version "9.0.11" - resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-9.0.11.tgz#7af202dda5253a847b511c929d8b6dda170562eb" + resolved "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.11.tgz" integrity sha512-PwP4UY33SeeVKodNE37ZlOsR9cReypbMJOhZ7BVE0lB+Hix3efCOxiJWiE5Ia+yL9Cn2Ch72EjFTRze8RZsNtg== dependencies: "@types/sinonjs__fake-timers" "*" "@types/sinonjs__fake-timers@*": version "6.0.2" - resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.2.tgz#3a84cf5ec3249439015e14049bd3161419bf9eae" + resolved "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.2.tgz" integrity sha512-dIPoZ3g5gcx9zZEszaxLSVTvMReD3xxyyDnQUjA6IYDG9Ba2AV0otMPs+77sG9ojB4Qr2N2Vk5RnKeuA0X/0bg== "@types/strip-bom@^3.0.0": version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2" + resolved "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz" integrity sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I= "@types/strip-json-comments@0.0.30": version "0.0.30" - resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1" + resolved "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz" integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ== "@types/superagent@*": version "4.1.10" - resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-4.1.10.tgz#5e2cc721edf58f64fe9b819f326ee74803adee86" + resolved "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.10.tgz" integrity sha512-xAgkb2CMWUMCyVc/3+7iQfOEBE75NvuZeezvmixbUw3nmENf2tCnQkW5yQLTYqvXUQ+R6EXxdqKKbal2zM5V/g== dependencies: "@types/cookiejar" "*" @@ -2670,14 +2665,14 @@ "@types/supertest@^2.0.8": version "2.0.11" - resolved "https://registry.yarnpkg.com/@types/supertest/-/supertest-2.0.11.tgz#2e70f69f220bc77b4f660d72c2e1a4231f44a77d" + resolved "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.11.tgz" integrity sha512-uci4Esokrw9qGb9bvhhSVEjd6rkny/dk5PK/Qz4yxKiyppEI+dOPlNrZBahE3i+PoKFYyDxChVXZ/ysS/nrm1Q== dependencies: "@types/superagent" "*" "@types/tar@^4.0.4": version "4.0.4" - resolved "https://registry.yarnpkg.com/@types/tar/-/tar-4.0.4.tgz#d680de60855e7778a51c672b755869a3b8d2889f" + resolved "https://registry.npmjs.org/@types/tar/-/tar-4.0.4.tgz" integrity sha512-0Xv+xcmkTsOZdIF4yCnd7RkOOyfyqPaqJ7RZFKnwdxfDbkN3eAAE9sHl8zJFqBz4VhxolW9EErbjR1oyH7jK2A== dependencies: "@types/minipass" "*" @@ -2685,139 +2680,150 @@ "@types/through@*": version "0.0.30" - resolved "https://registry.yarnpkg.com/@types/through/-/through-0.0.30.tgz#e0e42ce77e897bd6aead6f6ea62aeb135b8a3895" + resolved "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz" integrity sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg== dependencies: "@types/node" "*" "@types/tmp@^0.2.0": version "0.2.0" - resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.2.0.tgz#e3f52b4d7397eaa9193592ef3fdd44dc0af4298c" + resolved "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.0.tgz" integrity sha512-flgpHJjntpBAdJD43ShRosQvNC0ME97DCfGvZEDlAThQmnerRXrLbX6YgzRBQCZTthET9eAWFAMaYP0m0Y4HzQ== "@types/tough-cookie@*": version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.0.tgz#fef1904e4668b6e5ecee60c52cc6a078ffa6697d" + resolved "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.0.tgz" integrity sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A== "@types/triple-beam@^1.3.2": version "1.3.2" - resolved "https://registry.yarnpkg.com/@types/triple-beam/-/triple-beam-1.3.2.tgz#38ecb64f01aa0d02b7c8f4222d7c38af6316fef8" + resolved "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.2.tgz" integrity sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g== "@types/tunnel@^0.0.1": version "0.0.1" - resolved "https://registry.yarnpkg.com/@types/tunnel/-/tunnel-0.0.1.tgz#0d72774768b73df26f25df9184273a42da72b19c" + resolved "https://registry.npmjs.org/@types/tunnel/-/tunnel-0.0.1.tgz" integrity sha512-AOqu6bQu5MSWwYvehMXLukFHnupHrpZ8nvgae5Ggie9UwzDR1CCwoXgSSWNZJuyOlCdfdsWMA5F2LlmvyoTv8A== dependencies: "@types/node" "*" "@types/uuid@8.3.0": version "8.3.0" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.0.tgz#215c231dff736d5ba92410e6d602050cce7e273f" + resolved "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.0.tgz" integrity sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ== "@types/varint@^6.0.0": version "6.0.0" - resolved "https://registry.yarnpkg.com/@types/varint/-/varint-6.0.0.tgz#4ad73c23cbc9b7e44379a7729ace7ed9c8bc9854" + resolved "https://registry.npmjs.org/@types/varint/-/varint-6.0.0.tgz" integrity sha512-2jBazyxGl4644tvu3VAez8UA/AtrcEetT9HOeAbqZ/vAcRVL/ZDFQjSS7rkWusU5cyONQVUz+nwwrNZdMva4ow== dependencies: "@types/node" "*" "@types/yargs-parser@*": version "20.2.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz" integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== "@types/yargs@^15.0.9": version "15.0.13" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz" integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@4.31.1": - version "4.31.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.1.tgz#e938603a136f01dcabeece069da5fb2e331d4498" - integrity sha512-UDqhWmd5i0TvPLmbK5xY3UZB0zEGseF+DHPghZ37Sb83Qd3p8ujhvAtkU4OF46Ka5Pm5kWvFIx0cCTBFKo0alA== +"@typescript-eslint/eslint-plugin@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.26.0.tgz#c1f98ccba9d345e38992975d3ca56ed6260643c2" + integrity sha512-oGCmo0PqnRZZndr+KwvvAUvD3kNE4AfyoGCwOZpoCncSh4MVD06JTE8XQa2u9u+NX5CsyZMBTEc2C72zx38eYA== dependencies: - "@typescript-eslint/experimental-utils" "4.31.1" - "@typescript-eslint/scope-manager" "4.31.1" - debug "^4.3.1" + "@typescript-eslint/scope-manager" "5.26.0" + "@typescript-eslint/type-utils" "5.26.0" + "@typescript-eslint/utils" "5.26.0" + debug "^4.3.4" functional-red-black-tree "^1.0.1" - regexpp "^3.1.0" - semver "^7.3.5" + ignore "^5.2.0" + regexpp "^3.2.0" + semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/experimental-utils@4.31.1": - version "4.31.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.31.1.tgz#0c900f832f270b88e13e51753647b02d08371ce5" - integrity sha512-NtoPsqmcSsWty0mcL5nTZXMf7Ei0Xr2MT8jWjXMVgRK0/1qeQ2jZzLFUh4QtyJ4+/lPUyMw5cSfeeME+Zrtp9Q== +"@typescript-eslint/parser@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.26.0.tgz#a61b14205fe2ab7533deb4d35e604add9a4ceee2" + integrity sha512-n/IzU87ttzIdnAH5vQ4BBDnLPly7rC5VnjN3m0xBG82HK6rhRxnCb3w/GyWbNDghPd+NktJqB/wl6+YkzZ5T5Q== dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.31.1" - "@typescript-eslint/types" "4.31.1" - "@typescript-eslint/typescript-estree" "4.31.1" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" + "@typescript-eslint/scope-manager" "5.26.0" + "@typescript-eslint/types" "5.26.0" + "@typescript-eslint/typescript-estree" "5.26.0" + debug "^4.3.4" -"@typescript-eslint/parser@4.31.1": - version "4.31.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.31.1.tgz#8f9a2672033e6f6d33b1c0260eebdc0ddf539064" - integrity sha512-dnVZDB6FhpIby6yVbHkwTKkn2ypjVIfAR9nh+kYsA/ZL0JlTsd22BiDjouotisY3Irmd3OW1qlk9EI5R8GrvRQ== +"@typescript-eslint/scope-manager@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.26.0.tgz#44209c7f649d1a120f0717e0e82da856e9871339" + integrity sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw== dependencies: - "@typescript-eslint/scope-manager" "4.31.1" - "@typescript-eslint/types" "4.31.1" - "@typescript-eslint/typescript-estree" "4.31.1" - debug "^4.3.1" + "@typescript-eslint/types" "5.26.0" + "@typescript-eslint/visitor-keys" "5.26.0" -"@typescript-eslint/scope-manager@4.31.1": - version "4.31.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.31.1.tgz#0c21e8501f608d6a25c842fcf59541ef4f1ab561" - integrity sha512-N1Uhn6SqNtU2XpFSkD4oA+F0PfKdWHyr4bTX0xTj8NRx1314gBDRL1LUuZd5+L3oP+wo6hCbZpaa1in6SwMcVQ== +"@typescript-eslint/type-utils@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.26.0.tgz#937dee97702361744a3815c58991acf078230013" + integrity sha512-7ccbUVWGLmcRDSA1+ADkDBl5fP87EJt0fnijsMFTVHXKGduYMgienC/i3QwoVhDADUAPoytgjbZbCOMj4TY55A== dependencies: - "@typescript-eslint/types" "4.31.1" - "@typescript-eslint/visitor-keys" "4.31.1" + "@typescript-eslint/utils" "5.26.0" + debug "^4.3.4" + tsutils "^3.21.0" -"@typescript-eslint/types@4.31.1": - version "4.31.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.31.1.tgz#5f255b695627a13401d2fdba5f7138bc79450d66" - integrity sha512-kixltt51ZJGKENNW88IY5MYqTBA8FR0Md8QdGbJD2pKZ+D5IvxjTYDNtJPDxFBiXmka2aJsITdB1BtO1fsgmsQ== +"@typescript-eslint/types@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.26.0.tgz#cb204bb154d3c103d9cc4d225f311b08219469f3" + integrity sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA== + +"@typescript-eslint/typescript-estree@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.26.0.tgz#16cbceedb0011c2ed4f607255f3ee1e6e43b88c3" + integrity sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w== + dependencies: + "@typescript-eslint/types" "5.26.0" + "@typescript-eslint/visitor-keys" "5.26.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@4.31.1": - version "4.31.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.1.tgz#4a04d5232cf1031232b7124a9c0310b577a62d17" - integrity sha512-EGHkbsUvjFrvRnusk6yFGqrqMBTue5E5ROnS5puj3laGQPasVUgwhrxfcgkdHNFECHAewpvELE1Gjv0XO3mdWg== +"@typescript-eslint/utils@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.26.0.tgz#896b8480eb124096e99c8b240460bb4298afcfb4" + integrity sha512-PJFwcTq2Pt4AMOKfe3zQOdez6InIDOjUJJD3v3LyEtxHGVVRK3Vo7Dd923t/4M9hSH2q2CLvcTdxlLPjcIk3eg== dependencies: - "@typescript-eslint/types" "4.31.1" - "@typescript-eslint/visitor-keys" "4.31.1" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.26.0" + "@typescript-eslint/types" "5.26.0" + "@typescript-eslint/typescript-estree" "5.26.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@4.31.1": - version "4.31.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.1.tgz#f2e7a14c7f20c4ae07d7fc3c5878c4441a1da9cc" - integrity sha512-PCncP8hEqKw6SOJY+3St4LVtoZpPPn+Zlpm7KW5xnviMhdqcsBty4Lsg4J/VECpJjw1CkROaZhH4B8M1OfnXTQ== +"@typescript-eslint/visitor-keys@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.26.0.tgz#7195f756e367f789c0e83035297c45b417b57f57" + integrity sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q== dependencies: - "@typescript-eslint/types" "4.31.1" - eslint-visitor-keys "^2.0.0" + "@typescript-eslint/types" "5.26.0" + eslint-visitor-keys "^3.3.0" "@ungap/promise-all-settled@1.1.2": version "1.1.2" - resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" + resolved "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz" integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== "@vascosantos/moving-average@^1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@vascosantos/moving-average/-/moving-average-1.1.0.tgz#8d5793b09b2d6021ba5e620c6a0f876c20db7eaa" + resolved "https://registry.npmjs.org/@vascosantos/moving-average/-/moving-average-1.1.0.tgz" integrity sha512-MVEJ4vWAPNbrGLjz7ITnHYg+YXZ6ijAqtH5/cHwSoCpbvuJ98aLXwFfPKAUfZpJMQR5uXB58UJajbY130IRF/w== JSONStream@^1.0.4: version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== dependencies: jsonparse "^1.2.0" @@ -2825,26 +2831,26 @@ JSONStream@^1.0.4: abbrev@1: version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== abort-controller@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== dependencies: event-target-shim "^5.0.0" abortable-iterator@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/abortable-iterator/-/abortable-iterator-3.0.0.tgz#8ea796a237286b7fbe98d97e2505a15cdd81c0ac" + resolved "https://registry.npmjs.org/abortable-iterator/-/abortable-iterator-3.0.0.tgz" integrity sha512-7KqcPPnMhfot4GrEjK51zesS4Ye/lUCHBgYt3oRxIlU24HO3mVxBwEo9niNyfHqoWKqWLuZTc3zErNomdHA+ag== dependencies: get-iterator "^1.0.2" abstract-leveldown@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-7.0.0.tgz#1a8bc3b07f502793804d456a881dc15cedb9bc5d" + resolved "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-7.0.0.tgz" integrity sha512-mFAi5sB/UjpNYglrQ4irzdmr2mbQtE94OJbrAYuK2yRARjH/OACinN1meOAorfnaLPMQdFymSQMlkiDm9AXXKQ== dependencies: buffer "^6.0.3" @@ -2855,49 +2861,44 @@ abstract-leveldown@^7.0.0: abstract-logging@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/abstract-logging/-/abstract-logging-2.0.1.tgz#6b0c371df212db7129b57d2e7fcf282b8bf1c839" + resolved "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz" integrity sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA== -acorn-jsx@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" - integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^8.1.1: version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.4.1: - version "8.5.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" - integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== +acorn@^8.4.1, acorn@^8.7.1: + version "8.7.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" + integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== add-stream@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" + resolved "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz" integrity sha1-anmQQ3ynNtXhKI25K9MmbV9csqo= aes-js@3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" + resolved "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz" integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= agent-base@6, agent-base@^6.0.2: version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== dependencies: debug "4" agentkeepalive@^4.1.3: version "4.1.4" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.1.4.tgz#d928028a4862cb11718e55227872e842a44c945b" + resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz" integrity sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ== dependencies: debug "^4.1.0" @@ -2906,7 +2907,7 @@ agentkeepalive@^4.1.3: aggregate-error@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" + resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz" integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== dependencies: clean-stack "^2.0.0" @@ -2914,7 +2915,7 @@ aggregate-error@^3.0.0: aggregate-error@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== dependencies: clean-stack "^2.0.0" @@ -2922,7 +2923,7 @@ aggregate-error@^3.1.0: ajv@^6.10.0, ajv@^6.11.0: version "6.12.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz" integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== dependencies: fast-deep-equal "^3.1.1" @@ -2932,7 +2933,7 @@ ajv@^6.10.0, ajv@^6.11.0: ajv@^6.12.2: version "6.12.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz" integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA== dependencies: fast-deep-equal "^3.1.1" @@ -2942,7 +2943,7 @@ ajv@^6.12.2: ajv@^6.12.3, ajv@^6.12.4: version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" @@ -2950,19 +2951,9 @@ ajv@^6.12.3, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.1: - version "8.2.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.2.0.tgz#c89d3380a784ce81b2085f48811c4c101df4c602" - integrity sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - ajv@^8.6.0: version "8.6.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.0.tgz#60cc45d9c46a477d80d92c48076d972c342e5720" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.6.0.tgz" integrity sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ== dependencies: fast-deep-equal "^3.1.1" @@ -2970,60 +2961,60 @@ ajv@^8.6.0: require-from-string "^2.0.2" uri-js "^4.2.2" -ansi-colors@4.1.1, ansi-colors@^4.1.1: +ansi-colors@4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== ansi-escapes@^4.2.1: version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: type-fest "^0.21.3" ansi-regex@^2.0.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= ansi-regex@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= ansi-regex@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== ansi-regex@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" any-signal@2.1.2, any-signal@^2.1.0: version "2.1.2" - resolved "https://registry.yarnpkg.com/any-signal/-/any-signal-2.1.2.tgz#8d48270de0605f8b218cf9abe8e9c6a0e7418102" + resolved "https://registry.npmjs.org/any-signal/-/any-signal-2.1.2.tgz" integrity sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ== dependencies: abort-controller "^3.0.0" @@ -3031,12 +3022,12 @@ any-signal@2.1.2, any-signal@^2.1.0: any-signal@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/any-signal/-/any-signal-3.0.0.tgz#4f6ee491e5cdda9e9a544f50fdf1d14be40535b6" + resolved "https://registry.npmjs.org/any-signal/-/any-signal-3.0.0.tgz" integrity sha512-l1H1GEkGGIXVGfCtvq8N68YI7gHajmfzRdKhmb8sGyAQpLCblirLa8eB09j4uKaiwe7vodAChocUf7AT3mYq5g== anymatch@~3.1.1, anymatch@~3.1.2: version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== dependencies: normalize-path "^3.0.0" @@ -3044,29 +3035,29 @@ anymatch@~3.1.1, anymatch@~3.1.2: append-transform@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-2.0.0.tgz#99d9d29c7b38391e6f428d28ce136551f0b77e12" + resolved "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz" integrity sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg== dependencies: default-require-extensions "^3.0.0" aproba@^1.0.3: version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + resolved "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== "aproba@^1.0.3 || ^2.0.0", aproba@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== archy@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + resolved "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= are-we-there-yet@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz#ba20bd6b553e31d62fc8c31bd23d22b95734390d" + resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz" integrity sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw== dependencies: delegates "^1.0.0" @@ -3074,7 +3065,7 @@ are-we-there-yet@^3.0.0: are-we-there-yet@~1.1.2: version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz" integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== dependencies: delegates "^1.0.0" @@ -3082,89 +3073,90 @@ are-we-there-yet@~1.1.2: arg@^4.1.0: version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== argparse@^1.0.7: version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" argparse@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== argv@0.0.2: version "0.0.2" - resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab" + resolved "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz" integrity sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas= array-differ@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" + resolved "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz" integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== array-filter@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" + resolved "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz" integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= array-find-index@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + resolved "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= array-ify@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" + resolved "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz" integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= -array-includes@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" - integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== +array-includes@^3.1.4: + version "3.1.5" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" + integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" get-intrinsic "^1.1.1" - is-string "^1.0.5" + is-string "^1.0.7" array-union@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.flat@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" - integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== +array.prototype.flat@^1.2.5: + version "1.3.0" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" + integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" + es-abstract "^1.19.2" + es-shim-unscopables "^1.0.0" arrify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= arrify@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" + resolved "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz" integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== asap@^2.0.0: version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= asn1.js@^5.0.1, asn1.js@^5.2.0: version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + resolved "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz" integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== dependencies: bn.js "^4.0.0" @@ -3174,19 +3166,19 @@ asn1.js@^5.0.1, asn1.js@^5.2.0: asn1@~0.2.3: version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz" integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== dependencies: safer-buffer "~2.1.0" assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= assert@^1.1.1: version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + resolved "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz" integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== dependencies: object-assign "^4.1.1" @@ -3194,7 +3186,7 @@ assert@^1.1.1: assert@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" + resolved "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz" integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== dependencies: es6-object-assign "^1.1.0" @@ -3204,51 +3196,51 @@ assert@^2.0.0: assertion-error@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + resolved "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - async-retry@^1.3.3: version "1.3.3" - resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280" + resolved "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz" integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== dependencies: retry "0.13.1" -async@^3.1.0, async@^3.2.0: - version "3.2.3" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" - integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== +async@^3.1.0: + version "3.2.0" + resolved "https://registry.npmjs.org/async/-/async-3.2.0.tgz" + integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== + +async@^3.2.0: + version "3.2.1" + resolved "https://registry.npmjs.org/async/-/async-3.2.1.tgz" + integrity sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg== asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= at-least-node@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== atomic-sleep@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" + resolved "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== available-typed-arrays@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz#6b098ca9d8039079ee3f77f7b783c4480ba513f5" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz" integrity sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ== dependencies: array-filter "^1.0.0" avvio@^7.1.2: version "7.2.2" - resolved "https://registry.yarnpkg.com/avvio/-/avvio-7.2.2.tgz#58e00e7968870026cd7b7d4f689d596db629e251" + resolved "https://registry.npmjs.org/avvio/-/avvio-7.2.2.tgz" integrity sha512-XW2CMCmZaCmCCsIaJaLKxAzPwF37fXi1KGxNOvedOpeisLdmxZnblGc3hpHWYnlP+KOUxZsazh43WXNHgXpbqw== dependencies: archy "^1.0.0" @@ -3258,7 +3250,7 @@ avvio@^7.1.2: aws-sdk@^2.932.0: version "2.934.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.934.0.tgz#1c26bd8ded15d2f6b2aa3301d35fc5daf1a61d68" + resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.934.0.tgz" integrity sha512-k7p08ewrKcbs0ikCLFi9OI98Iv9dMND5244xPxUIjK5BLtuT/9Gr6eSCHfN70eCQyM5Y2xG1VJP6zhpkihu9Ew== dependencies: buffer "4.9.2" @@ -3273,24 +3265,24 @@ aws-sdk@^2.932.0: aws-sign2@~0.7.0: version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + resolved "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== axios@^0.21.0: version "0.21.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.2.tgz#21297d5084b2aeeb422f5d38e7be4fbb82239017" + resolved "https://registry.npmjs.org/axios/-/axios-0.21.2.tgz" integrity sha512-87otirqUw3e8CzHTMO+/9kh/FSgXt/eVDvipijwDtEuwbkySWZ9SBm6VEubmJ/kLKEoLQV/POhxXFb66bfekfg== dependencies: follow-redirects "^1.14.0" babel-runtime@^6.26.0: version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + resolved "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz" integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= dependencies: core-js "^2.4.0" @@ -3298,36 +3290,36 @@ babel-runtime@^6.26.0: balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base-x@^3.0.2: version "3.0.8" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d" + resolved "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz" integrity sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA== dependencies: safe-buffer "^5.0.1" base64-js@^1.0.2, base64-js@^1.3.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== base64url@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d" + resolved "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz" integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== bcrypt-pbkdf@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= dependencies: tweetnacl "^0.14.3" bcrypto@^5.4.0: version "5.4.0" - resolved "https://registry.yarnpkg.com/bcrypto/-/bcrypto-5.4.0.tgz#4046f0c44a4b301eff84de593b4f86fce8d91db2" + resolved "https://registry.npmjs.org/bcrypto/-/bcrypto-5.4.0.tgz" integrity sha512-KDX2CR29o6ZoqpQndcCxFZAtYA1jDMnXU3jmCfzP44g++Cu7AHHtZN/JbrN/MXAg9SLvtQ8XISG+eVD9zH1+Jg== dependencies: bufio "~1.0.7" @@ -3335,46 +3327,46 @@ bcrypto@^5.4.0: bech32@1.1.4: version "1.1.4" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" + resolved "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz" integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== before-after-hook@^2.2.0: version "2.2.1" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.1.tgz#73540563558687586b52ed217dad6a802ab1549c" + resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.1.tgz" integrity sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw== bigint-buffer@^1.1.5: version "1.1.5" - resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442" + resolved "https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz" integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== dependencies: bindings "^1.3.0" bignumber.js@^9.0.1: version "9.0.1" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.1.tgz#8d7ba124c882bfd8e43260c67475518d0689e4e5" + resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz" integrity sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA== binary-extensions@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== bindings@^1.3.0, bindings@^1.3.1, bindings@^1.5.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== dependencies: file-uri-to-path "1.0.0" bintrees@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/bintrees/-/bintrees-1.0.1.tgz#0e655c9b9c2435eaab68bf4027226d2b55a34524" + resolved "https://registry.npmjs.org/bintrees/-/bintrees-1.0.1.tgz" integrity sha1-DmVcm5wkNeqraL9AJyJtK1WjRSQ= bip39@^3.0.2: version "3.0.4" - resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.4.tgz#5b11fed966840b5e1b8539f0f54ab6392969b2a0" + resolved "https://registry.npmjs.org/bip39/-/bip39-3.0.4.tgz" integrity sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw== dependencies: "@types/node" "11.11.6" @@ -3384,7 +3376,7 @@ bip39@^3.0.2: bl@^1.0.0: version "1.2.3" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" + resolved "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz" integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== dependencies: readable-stream "^2.3.5" @@ -3392,7 +3384,7 @@ bl@^1.0.0: bl@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== dependencies: buffer "^5.5.0" @@ -3401,7 +3393,7 @@ bl@^4.1.0: bl@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-5.0.0.tgz#6928804a41e9da9034868e1c50ca88f21f57aea2" + resolved "https://registry.npmjs.org/bl/-/bl-5.0.0.tgz" integrity sha512-8vxFNZ0pflFfi0WXA3WQXlj6CaMEwsmh63I1CNp0q+wWv8sD0ARx1KovSQd0l2GkwrMIOyedq0EF1FxI+RCZLQ== dependencies: buffer "^6.0.3" @@ -3410,33 +3402,33 @@ bl@^5.0.0: blakejs@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.0.tgz#69df92ef953aa88ca51a32df6ab1c54a155fc7a5" + resolved "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz" integrity sha1-ad+S75U6qIylGjLfarHFShVfx6U= bls-eth-wasm@^0.4.8: version "0.4.8" - resolved "https://registry.yarnpkg.com/bls-eth-wasm/-/bls-eth-wasm-0.4.8.tgz#ad1818fbd1bfb64d8f3e6cd104bd28b96ebaa5f1" + resolved "https://registry.npmjs.org/bls-eth-wasm/-/bls-eth-wasm-0.4.8.tgz" integrity sha512-ye7+G6KFLb3i9xSrLASAoYqOUK5WLB6XA5DD8Sh0UQpZ3T999ylsYbFdoOJpmvTDuBuMi23Vy8Jm0pn/GF01CA== bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.1, bn.js@^4.11.9, bn.js@^4.4.0: version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== bn.js@^5.0.0, bn.js@^5.1.1: version "5.2.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^3.0.1, braces@~3.0.2: +braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -3445,17 +3437,17 @@ braces@^3.0.1, braces@~3.0.2: brorand@^1.0.1, brorand@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= browser-stdout@1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + resolved "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + resolved "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz" integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== dependencies: buffer-xor "^1.0.3" @@ -3467,7 +3459,7 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.2.0: browserify-cipher@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + resolved "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz" integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== dependencies: browserify-aes "^1.0.4" @@ -3476,7 +3468,7 @@ browserify-cipher@^1.0.0: browserify-des@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + resolved "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz" integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== dependencies: cipher-base "^1.0.1" @@ -3486,7 +3478,7 @@ browserify-des@^1.0.0: browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + resolved "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz" integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== dependencies: bn.js "^5.0.0" @@ -3494,7 +3486,7 @@ browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: browserify-sign@^4.0.0: version "4.2.1" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + resolved "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz" integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== dependencies: bn.js "^5.1.1" @@ -3509,21 +3501,21 @@ browserify-sign@^4.0.0: browserify-zlib@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + resolved "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz" integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== dependencies: pako "~1.0.5" bs58@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + resolved "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz" integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo= dependencies: base-x "^3.0.2" bs58check@^2.1.2: version "2.1.2" - resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" + resolved "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz" integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== dependencies: bs58 "^4.0.0" @@ -3532,12 +3524,12 @@ bs58check@^2.1.2: buffer-alloc-unsafe@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + resolved "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz" integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== buffer-alloc@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + resolved "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz" integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== dependencies: buffer-alloc-unsafe "^1.1.0" @@ -3545,34 +3537,34 @@ buffer-alloc@^1.2.0: buffer-equal@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" + resolved "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz" integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= buffer-fill@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + resolved "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz" integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= buffer-from@^1.0.0, buffer-from@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== buffer-xor@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= buffer-xor@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-2.0.2.tgz#34f7c64f04c777a1f8aac5e661273bb9dd320289" + resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz" integrity sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ== dependencies: safe-buffer "^5.1.1" buffer@4.9.2, buffer@^4.3.0: version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + resolved "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== dependencies: base64-js "^1.0.2" @@ -3581,7 +3573,7 @@ buffer@4.9.2, buffer@^4.3.0: buffer@^5.4.3, buffer@^5.5.0: version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== dependencies: base64-js "^1.3.1" @@ -3589,7 +3581,7 @@ buffer@^5.4.3, buffer@^5.5.0: buffer@^6.0.1, buffer@^6.0.3: version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== dependencies: base64-js "^1.3.1" @@ -3597,32 +3589,32 @@ buffer@^6.0.1, buffer@^6.0.3: bufio@~1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/bufio/-/bufio-1.0.7.tgz#b7f63a1369a0829ed64cc14edf0573b3e382a33e" + resolved "https://registry.npmjs.org/bufio/-/bufio-1.0.7.tgz" integrity sha512-bd1dDQhiC+bEbEfg56IdBv7faWa6OipMs/AFFFvtFnB3wAYjlwQpQRZ0pm6ZkgtfL0pILRXhKxOiQj6UzoMR7A== builtin-status-codes@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + resolved "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz" integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= builtins@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" + resolved "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz" integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= byline@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" + resolved "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz" integrity sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE= byte-size@^7.0.0: version "7.0.1" - resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-7.0.1.tgz#b1daf3386de7ab9d706b941a748dbfc71130dee3" + resolved "https://registry.npmjs.org/byte-size/-/byte-size-7.0.1.tgz" integrity sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A== cacache@^15.0.5: version "15.2.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.2.0.tgz#73af75f77c58e72d8c630a7a2858cb18ef523389" + resolved "https://registry.npmjs.org/cacache/-/cacache-15.2.0.tgz" integrity sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw== dependencies: "@npmcli/move-file" "^1.0.1" @@ -3645,7 +3637,7 @@ cacache@^15.0.5: cacache@^15.2.0: version "15.3.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" + resolved "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz" integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== dependencies: "@npmcli/fs" "^1.0.0" @@ -3669,12 +3661,12 @@ cacache@^15.2.0: cacheable-lookup@^5.0.3: version "5.0.4" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" + resolved "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz" integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== cacheable-request@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.1.tgz#062031c2856232782ed694a257fa35da93942a58" + resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.1.tgz" integrity sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw== dependencies: clone-response "^1.0.2" @@ -3687,7 +3679,7 @@ cacheable-request@^7.0.1: caching-transform@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-4.0.0.tgz#00d297a4206d71e2163c39eaffa8157ac0651f0f" + resolved "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz" integrity sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA== dependencies: hasha "^5.0.0" @@ -3697,7 +3689,7 @@ caching-transform@^4.0.0: call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== dependencies: function-bind "^1.1.1" @@ -3705,12 +3697,12 @@ call-bind@^1.0.0, call-bind@^1.0.2: callsites@^3.0.0, callsites@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camelcase-keys@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz" integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= dependencies: camelcase "^2.0.0" @@ -3718,7 +3710,7 @@ camelcase-keys@^2.0.0: camelcase-keys@^6.2.2: version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz" integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== dependencies: camelcase "^5.3.1" @@ -3727,44 +3719,44 @@ camelcase-keys@^6.2.2: camelcase@^2.0.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz" integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== camelcase@^6.0.0: version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== case@^1.6.3: version "1.6.3" - resolved "https://registry.yarnpkg.com/case/-/case-1.6.3.tgz#0a4386e3e9825351ca2e6216c60467ff5f1ea1c9" + resolved "https://registry.npmjs.org/case/-/case-1.6.3.tgz" integrity sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ== caseless@~0.12.0: version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= catering@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/catering/-/catering-2.0.0.tgz#15ce31bcbffafbf62855ea7677b0e5d23581233d" + resolved "https://registry.npmjs.org/catering/-/catering-2.0.0.tgz" integrity sha512-aD/WmxhGwUGsVPrj8C80vH7C7GphJilYVSdudoV4u16XdrLF7CVyfBmENsc4tLTVsJJzCRid8GbwJ7mcPLee6Q== chai-as-promised@^7.1.1: version "7.1.1" - resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.1.tgz#08645d825deb8696ee61725dbf590c012eb00ca0" + resolved "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz" integrity sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA== dependencies: check-error "^1.0.2" chai@^4.2.0: version "4.3.4" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.4.tgz#b55e655b31e1eac7099be4c08c21964fce2e6c49" + resolved "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz" integrity sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA== dependencies: assertion-error "^1.1.0" @@ -3776,7 +3768,7 @@ chai@^4.2.0: chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" @@ -3785,7 +3777,7 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.1, chalk@^2.4.2: chalk@^4.0.0, chalk@^4.1.0: version "4.1.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz" integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== dependencies: ansi-styles "^4.1.0" @@ -3793,7 +3785,7 @@ chalk@^4.0.0, chalk@^4.1.0: chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" @@ -3801,17 +3793,17 @@ chalk@^4.1.1, chalk@^4.1.2: chardet@^0.7.0: version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== check-error@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + resolved "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz" integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= chokidar@3.5.1: version "3.5.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz" integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== dependencies: anymatch "~3.1.1" @@ -3826,7 +3818,7 @@ chokidar@3.5.1: chokidar@3.5.3: version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== dependencies: anymatch "~3.1.2" @@ -3839,24 +3831,24 @@ chokidar@3.5.3: optionalDependencies: fsevents "~2.3.2" -chownr@^1.0.1, chownr@^1.1.1: +chownr@^1.0.1, chownr@^1.1.1, chownr@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== chownr@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== ci-info@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + resolved "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== dependencies: inherits "^2.0.1" @@ -3864,41 +3856,41 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: class-is@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" + resolved "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz" integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== clean-stack@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== cli-cursor@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= dependencies: restore-cursor "^2.0.0" cli-cursor@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== dependencies: restore-cursor "^3.1.0" cli-spinners@^2.0.0, cli-spinners@^2.5.0: version "2.6.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.0.tgz#36c7dc98fb6a9a76bd6238ec3f77e2425627e939" + resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz" integrity sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q== cli-width@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== cliui@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== dependencies: string-width "^4.2.0" @@ -3907,7 +3899,7 @@ cliui@^6.0.0: cliui@^7.0.2: version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== dependencies: string-width "^4.2.0" @@ -3916,7 +3908,7 @@ cliui@^7.0.2: clone-deep@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== dependencies: is-plain-object "^2.0.4" @@ -3925,31 +3917,31 @@ clone-deep@^4.0.1: clone-response@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + resolved "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz" integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= dependencies: mimic-response "^1.0.0" clone@^1.0.2: version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= cmd-shim@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-4.1.0.tgz#b3a904a6743e9fede4148c6f3800bf2a08135bdd" + resolved "https://registry.npmjs.org/cmd-shim/-/cmd-shim-4.1.0.tgz" integrity sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw== dependencies: mkdirp-infer-owner "^2.0.0" code-point-at@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= codecov@^3.8.3: version "3.8.3" - resolved "https://registry.yarnpkg.com/codecov/-/codecov-3.8.3.tgz#9c3e364b8a700c597346ae98418d09880a3fdbe7" + resolved "https://registry.npmjs.org/codecov/-/codecov-3.8.3.tgz" integrity sha512-Y8Hw+V3HgR7V71xWH2vQ9lyS358CbGCldWlJFR0JirqoGtOoas3R3/OclRTvgUYFK29mmJICDPauVKmpqbwhOA== dependencies: argv "0.0.2" @@ -3960,31 +3952,31 @@ codecov@^3.8.3: color-convert@^1.9.0, color-convert@^1.9.1: version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= color-name@^1.0.0, color-name@~1.1.4: version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== color-string@^1.5.2: version "1.5.5" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014" + resolved "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz" integrity sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg== dependencies: color-name "^1.0.0" @@ -3992,12 +3984,12 @@ color-string@^1.5.2: color-support@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== color@3.0.x: version "3.0.0" - resolved "https://registry.yarnpkg.com/color/-/color-3.0.0.tgz#d920b4328d534a3ac8295d68f7bd4ba6c427be9a" + resolved "https://registry.npmjs.org/color/-/color-3.0.0.tgz" integrity sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w== dependencies: color-convert "^1.9.1" @@ -4005,12 +3997,12 @@ color@3.0.x: colors@^1.2.1: version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + resolved "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== colorspace@1.1.x: version "1.1.2" - resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.2.tgz#e0128950d082b86a2168580796a0aa5d6c68d8c5" + resolved "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz" integrity sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ== dependencies: color "3.0.x" @@ -4018,7 +4010,7 @@ colorspace@1.1.x: columnify@^1.5.4: version "1.5.4" - resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" + resolved "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz" integrity sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs= dependencies: strip-ansi "^3.0.0" @@ -4026,19 +4018,19 @@ columnify@^1.5.4: combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" commondir@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= compare-func@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + resolved "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz" integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== dependencies: array-ify "^1.0.0" @@ -4046,22 +4038,22 @@ compare-func@^2.0.0: compare-module-exports@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/compare-module-exports/-/compare-module-exports-2.1.0.tgz#c4fcb8759e42fb19c52798c510d7f9206b81fa8e" + resolved "https://registry.npmjs.org/compare-module-exports/-/compare-module-exports-2.1.0.tgz" integrity sha512-3Lc0sTIuX1jmY2K2RrXRJOND6KsRTX2D4v3+eu1PDptsuJZVK4LZc852eZa9I+avj0NrUKlTNgqvccNOH6mbGg== component-emitter@^1.2.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== concat-map@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= concat-stream@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" + resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz" integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== dependencies: buffer-from "^1.0.0" @@ -4071,7 +4063,7 @@ concat-stream@^2.0.0: config-chain@^1.1.12: version "1.1.12" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" + resolved "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz" integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== dependencies: ini "^1.3.4" @@ -4079,22 +4071,22 @@ config-chain@^1.1.12: console-browserify@^1.1.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + resolved "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz" integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== console-control-strings@^1.0.0, console-control-strings@^1.1.0, console-control-strings@~1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= constants-browserify@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + resolved "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz" integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= conventional-changelog-angular@^5.0.12: version "5.0.12" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz#c979b8b921cbfe26402eb3da5bbfda02d865a2b9" + resolved "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz" integrity sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw== dependencies: compare-func "^2.0.0" @@ -4102,7 +4094,7 @@ conventional-changelog-angular@^5.0.12: conventional-changelog-core@^4.2.2: version "4.2.2" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.2.tgz#f0897df6d53b5d63dec36b9442bd45354f8b3ce5" + resolved "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.2.tgz" integrity sha512-7pDpRUiobQDNkwHyJG7k9f6maPo9tfPzkSWbRq97GGiZqisElhnvUZSvyQH20ogfOjntB5aadvv6NNcKL1sReg== dependencies: add-stream "^1.0.0" @@ -4123,12 +4115,12 @@ conventional-changelog-core@^4.2.2: conventional-changelog-preset-loader@^2.3.4: version "2.3.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c" + resolved "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz" integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g== conventional-changelog-writer@^4.0.18: version "4.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz#1ca7880b75aa28695ad33312a1f2366f4b12659f" + resolved "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz" integrity sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw== dependencies: compare-func "^2.0.0" @@ -4144,7 +4136,7 @@ conventional-changelog-writer@^4.0.18: conventional-commits-filter@^2.0.7: version "2.0.7" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" + resolved "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz" integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== dependencies: lodash.ismatch "^4.4.0" @@ -4152,7 +4144,7 @@ conventional-commits-filter@^2.0.7: conventional-commits-parser@^3.2.0: version "3.2.1" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz#ba44f0b3b6588da2ee9fd8da508ebff50d116ce2" + resolved "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz" integrity sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA== dependencies: JSONStream "^1.0.4" @@ -4165,7 +4157,7 @@ conventional-commits-parser@^3.2.0: conventional-recommended-bump@^6.1.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz#cfa623285d1de554012f2ffde70d9c8a22231f55" + resolved "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz" integrity sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw== dependencies: concat-stream "^2.0.0" @@ -4179,34 +4171,34 @@ conventional-recommended-bump@^6.1.0: convert-source-map@^1.7.0: version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== dependencies: safe-buffer "~5.1.1" cookie@^0.4.0: version "0.4.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz" integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== cookiejar@^2.1.0: version "2.1.2" - resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c" + resolved "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz" integrity sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA== core-js@^2.4.0: version "2.6.12" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= cosmiconfig@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz" integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== dependencies: "@types/parse-json" "^4.0.0" @@ -4217,7 +4209,7 @@ cosmiconfig@^7.0.0: create-ecdh@^4.0.0: version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + resolved "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz" integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== dependencies: bn.js "^4.1.0" @@ -4225,7 +4217,7 @@ create-ecdh@^4.0.0: create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + resolved "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz" integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== dependencies: cipher-base "^1.0.1" @@ -4236,7 +4228,7 @@ create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + resolved "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== dependencies: cipher-base "^1.0.3" @@ -4248,19 +4240,19 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: create-require@^1.1.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== cross-fetch@^3.1.4: - version "3.1.5" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" - integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== + version "3.1.4" + resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz" + integrity sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ== dependencies: - node-fetch "2.6.7" + node-fetch "2.6.1" cross-spawn@^6.0.5: version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" @@ -4271,7 +4263,7 @@ cross-spawn@^6.0.5: cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" @@ -4280,7 +4272,7 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: crypto-browserify@^3.11.0: version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + resolved "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz" integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== dependencies: browserify-cipher "^1.0.0" @@ -4297,36 +4289,36 @@ crypto-browserify@^3.11.0: csv-parse@^4.16.0: version "4.16.0" - resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-4.16.0.tgz#b4c875e288a41f7ff917cb0d7d45880d563034f6" + resolved "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.0.tgz" integrity sha512-Zb4tGPANH4SW0LgC9+s9Mnequs9aqn7N3/pCqNbVjs2XhEF6yWNU2Vm4OGl1v2Go9nw8rXt87Cm2QN/o6Vpqgg== csv-stringify@^5.6.2: version "5.6.2" - resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-5.6.2.tgz#e653783e2189c4c797fbb12abf7f4943c787caa9" + resolved "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.2.tgz" integrity sha512-n3rIVbX6ylm1YsX2NEug9IaPV8xRnT+9/NNZbrA/bcHgOSSeqtWla6XnI/xmyu57wIw+ASCAoX1oM6EZtqJV0A== currently-unhandled@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + resolved "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz" integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= dependencies: array-find-index "^1.0.1" dargs@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" + resolved "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz" integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== dashdash@^1.12.0: version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= dependencies: assert-plus "^1.0.0" datastore-core@^5.0.0: version "5.0.2" - resolved "https://registry.yarnpkg.com/datastore-core/-/datastore-core-5.0.2.tgz#909505b75a9bb8bc95ddc121919b6215a700e456" + resolved "https://registry.npmjs.org/datastore-core/-/datastore-core-5.0.2.tgz" integrity sha512-jEOl/KDmI8mov8ZZEI4RoDOiYBQ8GVWWCK8e8Zu2vJSJqUVKVP128MPLc2fwOaz5h71ZdPA3IYh4ycwOjygYVQ== dependencies: debug "^4.1.1" @@ -4342,7 +4334,7 @@ datastore-core@^5.0.0: datastore-core@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/datastore-core/-/datastore-core-7.0.0.tgz#1dff18ea0504692e63ab818e6ac9e448cac0727d" + resolved "https://registry.npmjs.org/datastore-core/-/datastore-core-7.0.0.tgz" integrity sha512-FdudjeH+GHjbuU8X1mIKIv8uHAErF6qtjqWFJiVKOdITk6KdiSKis4Hsfu80RWDEFQ9l9s47XIVf5FMKTtoeWA== dependencies: debug "^4.1.1" @@ -4359,7 +4351,7 @@ datastore-core@^7.0.0: datastore-core@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/datastore-core/-/datastore-core-7.0.1.tgz#f50f30bb55474a569118d41bba6052896b096aec" + resolved "https://registry.npmjs.org/datastore-core/-/datastore-core-7.0.1.tgz" integrity sha512-TrV0PRtwwDo2OfzYpnVQmVgDc4HwtpYkzb6da5GZxKElZN7eDT5mBtrkVbXbyTn+Y2+WPiMBm6/KbJD7p0TBfA== dependencies: debug "^4.1.1" @@ -4376,7 +4368,7 @@ datastore-core@^7.0.1: datastore-level@*, datastore-level@^6.0.2: version "6.0.2" - resolved "https://registry.yarnpkg.com/datastore-level/-/datastore-level-6.0.2.tgz#ad4f2dd531c5fd5b72e38b2307843515f7896e2b" + resolved "https://registry.npmjs.org/datastore-level/-/datastore-level-6.0.2.tgz" integrity sha512-nVpI3TG4PNs6GszdJxCNF9Gc94tksKpAp6Ci4jrLKTf8EuoIumS1cQ44+1eg3E3ck8bG9Nu/x5AhL/5nxTNTyA== dependencies: datastore-core "^5.0.0" @@ -4388,45 +4380,52 @@ datastore-level@*, datastore-level@^6.0.2: dateformat@^3.0.0: version "3.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" + resolved "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -debug@4, debug@4.3.1, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.0, debug@^4.3.1: +debug@4, debug@4.3.1, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.0, debug@^4.3.1: version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: ms "2.1.2" debug@4.3.3: version "4.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz" integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== dependencies: ms "2.1.2" debug@^2.6.9: version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" debug@^3.1.0, debug@^3.2.6, debug@^3.2.7: version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" +debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + debuglog@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" + resolved "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz" integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= decamelize-keys@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" + resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz" integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= dependencies: decamelize "^1.1.0" @@ -4434,94 +4433,94 @@ decamelize-keys@^1.1.0: decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= decamelize@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz" integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== decode-uri-component@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= decompress-response@^3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= dependencies: mimic-response "^1.0.0" decompress-response@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== dependencies: mimic-response "^3.1.0" dedent@^0.7.0: version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= deep-eql@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" + resolved "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz" integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== dependencies: type-detect "^4.0.0" deep-extend@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== deep-is@^0.1.3: version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= deepmerge@^3.2.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-3.3.0.tgz#d3c47fd6f3a93d517b14426b0628a17b0125f5f7" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz" integrity sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA== deepmerge@^4.2.2: version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== default-gateway@^6.0.2: version "6.0.3" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" + resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== dependencies: execa "^5.0.0" default-require-extensions@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-3.0.0.tgz#e03f93aac9b2b6443fc52e5e4a37b3ad9ad8df96" + resolved "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz" integrity sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg== dependencies: strip-bom "^4.0.0" defaults@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz" integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= dependencies: clone "^1.0.2" defer-to-connect@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== deferred-leveldown@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-6.0.0.tgz#364dc436682eccbd4a25a5fd5585614770d0d3d6" + resolved "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-6.0.0.tgz" integrity sha512-F6CLAZzNeURojlH4MCigZr54tNz+xDSi06YXsDr5uLSKeF3JKnvnQWTqd+RETh2hbWTJR3qDzGicQOWS5ZQ1BQ== dependencies: abstract-leveldown "^7.0.0" @@ -4529,39 +4528,47 @@ deferred-leveldown@^6.0.0: define-properties@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== dependencies: object-keys "^1.0.12" +define-properties@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= delegates@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= denque@^1.5.0: version "1.5.1" - resolved "https://registry.yarnpkg.com/denque/-/denque-1.5.1.tgz#07f670e29c9a78f8faecb2566a1e2c11929c5cbf" + resolved "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz" integrity sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw== depd@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= deprecation@^2.0.0, deprecation@^2.3.1: version "2.3.1" - resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + resolved "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== des.js@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + resolved "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz" integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== dependencies: inherits "^2.0.1" @@ -4569,22 +4576,22 @@ des.js@^1.0.0: detect-indent@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" + resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz" integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= detect-indent@^6.0.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" + resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz" integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== detect-libc@^1.0.2, detect-libc@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz" integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= dezalgo@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" + resolved "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz" integrity sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY= dependencies: asap "^2.0.0" @@ -4592,22 +4599,22 @@ dezalgo@^1.0.0: dgram@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/dgram/-/dgram-1.0.1.tgz#37f3b200f8033a5ff759303089c81ce361b651c3" + resolved "https://registry.npmjs.org/dgram/-/dgram-1.0.1.tgz" integrity sha1-N/OyAPgDOl/3WTAwicgc42G2UcM= diff@5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + resolved "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz" integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== diff@^4.0.1, diff@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== diffie-hellman@^5.0.0: version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + resolved "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz" integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== dependencies: bn.js "^4.1.0" @@ -4616,14 +4623,14 @@ diffie-hellman@^5.0.0: dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" dns-over-http-resolver@^1.2.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz#194d5e140a42153f55bb79ac5a64dd2768c36af9" + resolved "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz" integrity sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA== dependencies: debug "^4.3.1" @@ -4632,7 +4639,7 @@ dns-over-http-resolver@^1.2.3: dns-packet@^4.0.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-4.2.0.tgz#3fd6f5ff5a4ec3194ed0b15312693ffe8776b343" + resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-4.2.0.tgz" integrity sha512-bn1AKpfkFbm0MIioOMHZ5qJzl2uypdBwI4nYNsqvhjsegBhcKJUlCrMPWLx6JEezRjxZmxhtIz/FkBEur2l8Cw== dependencies: ip "^1.1.5" @@ -4640,45 +4647,45 @@ dns-packet@^4.0.0: doctrine@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" domain-browser@^1.1.1: version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + resolved "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz" integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== dot-prop@^5.1.0: version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: is-obj "^2.0.0" dot-prop@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" + resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz" integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== dependencies: is-obj "^2.0.0" duplexer@^0.1.1: version "0.1.2" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== ecc-jsbn@~0.1.1: version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + resolved "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= dependencies: jsbn "~0.1.0" @@ -4686,14 +4693,14 @@ ecc-jsbn@~0.1.1: electron-fetch@^1.7.2: version "1.7.3" - resolved "https://registry.yarnpkg.com/electron-fetch/-/electron-fetch-1.7.3.tgz#06cf363d7f64073ec00a37e9949ec9d29ce6b08a" + resolved "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.7.3.tgz" integrity sha512-1AVMaxrHXTTMqd7EK0MGWusdqNr07Rpj8Th6bG4at0oNgIi/1LBwa9CjT/0Zy+M0k/tSJPS04nFxHj0SXDVgVw== dependencies: encoding "^0.1.13" elliptic@6.5.4, elliptic@^6.5.3: version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== dependencies: bn.js "^4.11.9" @@ -4706,7 +4713,7 @@ elliptic@6.5.4, elliptic@^6.5.3: elliptic@^6.5.2: version "6.5.2" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762" + resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz" integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw== dependencies: bn.js "^4.4.0" @@ -4719,17 +4726,17 @@ elliptic@^6.5.2: emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== enabled@2.0.x: version "2.0.0" - resolved "https://registry.yarnpkg.com/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2" + resolved "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz" integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ== encoding-down@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/encoding-down/-/encoding-down-7.0.0.tgz#63357e0f44b4a85664d9539bd711500da70f0c63" + resolved "https://registry.npmjs.org/encoding-down/-/encoding-down-7.0.0.tgz" integrity sha512-hor6z2W/ZrVqDYMawQp7VtfEt6BrvYw+mgjWLauUMZsIBjMt1/k5aa+JreLbtjwJdkjrZ39TU+pV5GpHPGRpog== dependencies: abstract-leveldown "^7.0.0" @@ -4739,62 +4746,55 @@ encoding-down@^7.0.0: encoding@^0.1.12, encoding@^0.1.13: version "0.1.13" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== dependencies: iconv-lite "^0.6.2" end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - env-paths@^2.2.0: version "2.2.1" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== envinfo@^7.7.4: version "7.8.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" + resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz" integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== err-code@^2.0.2: version "2.0.3" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + resolved "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz" integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== err-code@^3.0.0, err-code@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-3.0.1.tgz#a444c7b992705f2b120ee320b09972eef331c920" + resolved "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz" integrity sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA== errno@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/errno/-/errno-1.0.0.tgz#0ea47d701864accf996412f09e29b4dc2cf3856d" + resolved "https://registry.npmjs.org/errno/-/errno-1.0.0.tgz" integrity sha512-3zV5mFS1E8/1bPxt/B0xxzI1snsg3uSCIh6Zo1qKg6iMw93hzPANk9oBFzSFBFrwuVoQuE3rLoouAUfwOAj1wQ== dependencies: prr "~1.0.1" error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: version "1.18.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz" integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw== dependencies: call-bind "^1.0.2" @@ -4814,31 +4814,45 @@ es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.0" -es-abstract@^1.18.2: - version "1.18.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0" - integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== +es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: + version "1.20.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" + integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" + function.prototype.name "^1.1.5" get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" has "^1.0.3" - has-symbols "^1.0.2" - is-callable "^1.2.3" - is-negative-zero "^2.0.1" - is-regex "^1.1.3" - is-string "^1.0.6" - object-inspect "^1.10.3" + has-property-descriptors "^1.0.0" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-weakref "^1.0.2" + object-inspect "^1.12.0" object-keys "^1.1.1" object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" + regexp.prototype.flags "^1.4.3" + string.prototype.trimend "^1.0.5" + string.prototype.trimstart "^1.0.5" + unbox-primitive "^1.0.2" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" es-to-primitive@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" @@ -4847,183 +4861,192 @@ es-to-primitive@^1.2.1: es6-error@^4.0.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" + resolved "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz" integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== es6-object-assign@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" + resolved "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz" integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= es6-promisify@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-7.0.0.tgz#9a710008dd6a4ab75a89e280bad787bfb749927b" + resolved "https://registry.npmjs.org/es6-promisify/-/es6-promisify-7.0.0.tgz" integrity sha512-ginqzK3J90Rd4/Yz7qRrqUeIpe3TwSXTPPZtPne7tGBPeAaQiU8qt4fpKApnxHcq1AwtUdHVg5P77x/yrggG8Q== escalade@^3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== -escape-string-regexp@4.0.0: +escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -eslint-import-resolver-node@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" - integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== dependencies: - debug "^2.6.9" - resolve "^1.13.1" + debug "^3.2.7" + resolve "^1.20.0" -eslint-module-utils@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz#b51be1e473dd0de1c5ea638e22429c2490ea8233" - integrity sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A== +eslint-module-utils@^2.7.3: + version "2.7.3" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" + integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== dependencies: debug "^3.2.7" - pkg-dir "^2.0.0" + find-up "^2.1.0" eslint-plugin-es@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz#f0822f0c18a535a97c3e714e89f88586a7641ec9" + resolved "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz" integrity sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ== dependencies: eslint-utils "^2.0.0" regexpp "^3.0.0" -eslint-plugin-import@^2.23.0: - version "2.23.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz#8dceb1ed6b73e46e50ec9a5bb2411b645e7d3d97" - integrity sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ== +eslint-plugin-import@^2.26.0: + version "2.26.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" + integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== dependencies: - array-includes "^3.1.3" - array.prototype.flat "^1.2.4" + array-includes "^3.1.4" + array.prototype.flat "^1.2.5" debug "^2.6.9" doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.1" - find-up "^2.0.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.7.3" has "^1.0.3" - is-core-module "^2.4.0" - minimatch "^3.0.4" - object.values "^1.1.3" - pkg-up "^2.0.0" - read-pkg-up "^3.0.0" - resolve "^1.20.0" - tsconfig-paths "^3.9.0" - -eslint-plugin-no-only-tests@^2.4.0: + is-core-module "^2.8.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.values "^1.1.5" + resolve "^1.22.0" + tsconfig-paths "^3.14.1" + +eslint-plugin-no-only-tests@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-2.6.0.tgz#19f6c9620bda02b9b9221b436c5f070e42628d76" integrity sha512-T9SmE/g6UV1uZo1oHAqOvL86XWl7Pl2EpRpnLI8g/bkJu+h7XBCB+1LnubRZ2CUQXj805vh4/CYZdnqtVaEo2Q== -eslint-plugin-prettier@^3.1.4: - version "3.4.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.0.tgz#cdbad3bf1dbd2b177e9825737fe63b476a08f0c7" - integrity sha512-UDK6rJT6INSfcOo545jiaOwB701uAIt2/dR7WnFQoGCVl1/EMqdANBmwUaqqQ45aXprsTGzSa39LI1PyuRBxxw== +eslint-plugin-prettier@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" + integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== dependencies: prettier-linter-helpers "^1.0.0" eslint-scope@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-utils@^2.0.0, eslint-utils@^2.1.0: +eslint-scope@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" + integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: eslint-visitor-keys "^1.1.0" eslint-utils@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== dependencies: eslint-visitor-keys "^2.0.0" -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: +eslint-visitor-keys@^1.1.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint-visitor-keys@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@^7.14.0: - version "7.25.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.25.0.tgz#1309e4404d94e676e3e831b3a3ad2b050031eb67" - integrity sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw== +eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + +eslint@^8.16.0: + version "8.16.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.16.0.tgz#6d936e2d524599f2a86c708483b4c372c5d3bbae" + integrity sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA== dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.0" + "@eslint/eslintrc" "^1.3.0" + "@humanwhocodes/config-array" "^0.9.2" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" - debug "^4.0.1" + debug "^4.3.2" doctrine "^3.0.0" - enquirer "^2.3.5" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" + escape-string-regexp "^4.0.0" + eslint-scope "^7.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.3.2" esquery "^1.4.0" esutils "^2.0.2" + fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^13.6.0" - ignore "^4.0.6" + glob-parent "^6.0.1" + globals "^13.15.0" + ignore "^5.2.0" import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - js-yaml "^3.13.1" + js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.21" - minimatch "^3.0.4" + lodash.merge "^4.6.2" + minimatch "^3.1.2" natural-compare "^1.4.0" optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" + regexpp "^3.2.0" + strip-ansi "^6.0.1" strip-json-comments "^3.1.0" - table "^6.0.4" text-table "^0.2.0" v8-compile-cache "^2.0.3" esm@^3.2.25: version "3.2.25" - resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" + resolved "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz" integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== +espree@^9.3.2: + version "9.3.2" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.2.tgz#f58f77bd334731182801ced3380a8cc859091596" + integrity sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA== dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" + acorn "^8.7.1" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.3.0" esprima@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.4.0: @@ -5035,29 +5058,29 @@ esquery@^1.4.0: esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^4.1.1: version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.1.0, estraverse@^5.2.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== esutils@^2.0.2: version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== ethereum-cryptography@^0.1.3: version "0.1.3" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" + resolved "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz" integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== dependencies: "@types/pbkdf2" "^3.0.0" @@ -5078,7 +5101,7 @@ ethereum-cryptography@^0.1.3: ethers@^5.0.2: version "5.1.4" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.1.4.tgz#8ae973705ed962f8f41dc59693704002a38dd18b" + resolved "https://registry.npmjs.org/ethers/-/ethers-5.1.4.tgz" integrity sha512-EAPQ/fgGRu0PoR/VNFnHTMOtG/IZ0AItdW55C9T8ffmVu0rnyllZL404eBF66elJehOLz2kxnUrhXpE7TCpW7g== dependencies: "@ethersproject/abi" "5.1.2" @@ -5114,27 +5137,27 @@ ethers@^5.0.2: event-target-shim@^5.0.0: version "5.0.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== eventemitter3@^4.0.4: version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== events@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + resolved "https://registry.npmjs.org/events/-/events-1.1.1.tgz" integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= events@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" + resolved "https://registry.npmjs.org/events/-/events-3.1.0.tgz" integrity sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg== events@^3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== eventsource@^2.0.2: @@ -5144,7 +5167,7 @@ eventsource@^2.0.2: evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + resolved "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz" integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== dependencies: md5.js "^1.3.4" @@ -5152,7 +5175,7 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: execa@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" + resolved "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz" integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== dependencies: cross-spawn "^7.0.3" @@ -5167,24 +5190,24 @@ execa@^5.0.0: expand-template@^2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" + resolved "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz" integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== expand-tilde@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + resolved "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz" integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= dependencies: homedir-polyfill "^1.0.1" extend@^3.0.0, extend@~3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== external-editor@^3.0.3: version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== dependencies: chardet "^0.7.0" @@ -5193,37 +5216,37 @@ external-editor@^3.0.3: extsprintf@1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= extsprintf@^1.2.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= fast-decode-uri-component@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz#46f8b6c22b30ff7a81357d4f59abfae938202543" + resolved "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz" integrity sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg== fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-diff@^1.1.2: version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== fast-fifo@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.0.0.tgz#9bc72e6860347bb045a876d1c5c0af11e9b984e7" + resolved "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.0.0.tgz" integrity sha512-4VEXmjxLj7sbs8J//cn2qhRap50dGzF5n8fjay8mau+Jn4hxSeR3xPFwxMaQq/pDaq7+KQk0PAbC2+nWDkJrmQ== fast-glob@^3.1.1: version "3.2.5" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz" integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== dependencies: "@nodelib/fs.stat" "^2.0.2" @@ -5233,14 +5256,25 @@ fast-glob@^3.1.1: micromatch "^4.0.2" picomatch "^2.2.1" +fast-glob@^3.2.9: + version "3.2.11" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-json-stable-stringify@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-json-stringify@^2.5.2: version "2.7.5" - resolved "https://registry.yarnpkg.com/fast-json-stringify/-/fast-json-stringify-2.7.5.tgz#fdd348d204ba8fc81b3ab4bb947d10a50d953e48" + resolved "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-2.7.5.tgz" integrity sha512-VClYNkPo7tyZr0BMrRWraDMTJwjH6dIaHc/b/BiA4Z2MpxpKZBu45akYVb0dOVwQbF22zUMmhdg1WjrUjzAN2g== dependencies: ajv "^6.11.0" @@ -5250,36 +5284,36 @@ fast-json-stringify@^2.5.2: fast-levenshtein@^2.0.6: version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= fast-redact@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.0.1.tgz#d6015b971e933d03529b01333ba7f22c29961e92" + resolved "https://registry.npmjs.org/fast-redact/-/fast-redact-3.0.1.tgz" integrity sha512-kYpn4Y/valC9MdrISg47tZOpYBNoTXKgT9GYXFpHN/jYFs+lFkPoisY+LcBODdKVMY96ATzvzsWv+ES/4Kmufw== fast-safe-stringify@^2.0.4, fast-safe-stringify@^2.0.7: version "2.0.7" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743" + resolved "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz" integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA== fast-url-parser@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d" + resolved "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz" integrity sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0= dependencies: punycode "^1.3.2" fastify-bearer-auth@6.1.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/fastify-bearer-auth/-/fastify-bearer-auth-6.1.0.tgz#906780002e32b556fbc3dce3e14861896812fd32" + resolved "https://registry.npmjs.org/fastify-bearer-auth/-/fastify-bearer-auth-6.1.0.tgz" integrity sha512-qplgYoQ1OipyAMwSlAQVxEhlRnBtYukF6sLmxmfBqFgCdHPkvpZ0gL/AsQfpKFt31wlq4fuHZIymMNaWHVfgcA== dependencies: fastify-plugin "^3.0.0" fastify-cors@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/fastify-cors/-/fastify-cors-6.0.1.tgz#300e0f1cbeedda19d9de284e9cf05c65842c182b" + resolved "https://registry.npmjs.org/fastify-cors/-/fastify-cors-6.0.1.tgz" integrity sha512-eeNTdQNmBsqHL87we+X74n9+H0hTDX0cXGVdyZjGf9om2pZfigAZwuSxaUUE2pLP9tp5+rEd5kejKQ8+ZCvAoA== dependencies: fastify-plugin "^3.0.0" @@ -5287,22 +5321,22 @@ fastify-cors@^6.0.1: fastify-error@^0.3.0: version "0.3.1" - resolved "https://registry.yarnpkg.com/fastify-error/-/fastify-error-0.3.1.tgz#8eb993e15e3cf57f0357fc452af9290f1c1278d2" + resolved "https://registry.npmjs.org/fastify-error/-/fastify-error-0.3.1.tgz" integrity sha512-oCfpcsDndgnDVgiI7bwFKAun2dO+4h84vBlkWsWnz/OUK9Reff5UFoFl241xTiLeHWX/vU9zkDVXqYUxjOwHcQ== fastify-plugin@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/fastify-plugin/-/fastify-plugin-3.0.0.tgz#cf1b8c8098e3b5a7c8c30e6aeb06903370c054ca" + resolved "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-3.0.0.tgz" integrity sha512-ZdCvKEEd92DNLps5n0v231Bha8bkz1DjnPP/aEz37rz/q42Z5JVLmgnqR4DYuNn3NXAO3IDCPyRvgvxtJ4Ym4w== fastify-warning@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/fastify-warning/-/fastify-warning-0.2.0.tgz#e717776026a4493dc9a2befa44db6d17f618008f" + resolved "https://registry.npmjs.org/fastify-warning/-/fastify-warning-0.2.0.tgz" integrity sha512-s1EQguBw/9qtc1p/WTY4eq9WMRIACkj+HTcOIK1in4MV5aFaQC9ZCIt0dJ7pr5bIf4lPpHvAtP2ywpTNgs7hqw== fastify@3.15.1: version "3.15.1" - resolved "https://registry.yarnpkg.com/fastify/-/fastify-3.15.1.tgz#6d257cd7d04938d97e8fcd5d727bc363e5e4dabe" + resolved "https://registry.npmjs.org/fastify/-/fastify-3.15.1.tgz" integrity sha512-QZBGrSOwcR+IJF5OwYTZ5662wEd68SqC6sG4aMu0GncKbYlG9GF88EF2PzN2HfXCCD9K0d/+ZNowuF8S893mOg== dependencies: "@fastify/proxy-addr" "^3.0.0" @@ -5324,19 +5358,19 @@ fastify@3.15.1: fastq@^1.6.0, fastq@^1.6.1: version "1.11.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz" integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== dependencies: reusify "^1.0.4" fecha@^4.2.0: version "4.2.1" - resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.1.tgz#0a83ad8f86ef62a091e22bb5a039cd03d23eecce" + resolved "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz" integrity sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q== figures@^3.0.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== dependencies: escape-string-regexp "^1.0.5" @@ -5350,31 +5384,31 @@ file-entry-cache@^6.0.1: file-stream-rotator@^0.5.7: version "0.5.7" - resolved "https://registry.yarnpkg.com/file-stream-rotator/-/file-stream-rotator-0.5.7.tgz#868a2e5966f7640a17dd86eda0e4467c089f6286" + resolved "https://registry.npmjs.org/file-stream-rotator/-/file-stream-rotator-0.5.7.tgz" integrity sha512-VYb3HZ/GiAGUCrfeakO8Mp54YGswNUHvL7P09WQcXAJNSj3iQ5QraYSp3cIn1MUyw6uzfgN/EFOarCNa4JvUHQ== dependencies: moment "^2.11.2" file-uri-to-path@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" filter-obj@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + resolved "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz" integrity sha1-mzERErxsYSehbgFsbF1/GeCAXFs= find-cache-dir@^3.2.0: version "3.3.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz" integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== dependencies: commondir "^1.0.1" @@ -5383,7 +5417,7 @@ find-cache-dir@^3.2.0: find-my-way@^4.0.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/find-my-way/-/find-my-way-4.1.0.tgz#e70aa10b3670cc8be96eb251357705644ea5087b" + resolved "https://registry.npmjs.org/find-my-way/-/find-my-way-4.1.0.tgz" integrity sha512-UBD94MdO6cBi6E97XA0fBA9nwqw+xG5x1TYIPHats33gEi/kNqy7BWHAWx8QHCQQRSU5Txc0JiD8nzba39gvMQ== dependencies: fast-decode-uri-component "^1.0.1" @@ -5393,7 +5427,7 @@ find-my-way@^4.0.0: find-up@5.0.0, find-up@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: locate-path "^6.0.0" @@ -5401,7 +5435,7 @@ find-up@5.0.0, find-up@^5.0.0: find-up@^1.0.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + resolved "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= dependencies: path-exists "^2.0.0" @@ -5409,14 +5443,14 @@ find-up@^1.0.0: find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= dependencies: locate-path "^2.0.0" find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" @@ -5432,37 +5466,37 @@ flat-cache@^3.0.4: flat@^5.0.2: version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== flatstr@^1.0.12: version "1.0.12" - resolved "https://registry.yarnpkg.com/flatstr/-/flatstr-1.0.12.tgz#c2ba6a08173edbb6c9640e3055b95e287ceb5931" + resolved "https://registry.npmjs.org/flatstr/-/flatstr-1.0.12.tgz" integrity sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw== flatted@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" - integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== + version "3.2.5" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" + integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== fn.name@1.x.x: version "1.1.0" - resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc" + resolved "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz" integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== follow-redirects@^1.14.0: version "1.14.7" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz" integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ== foreach@^2.0.5: version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + resolved "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz" integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= foreground-child@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" + resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz" integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA== dependencies: cross-spawn "^7.0.0" @@ -5470,12 +5504,12 @@ foreground-child@^2.0.0: forever-agent@~0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= form-data@^2.3.1, form-data@^2.5.0: version "2.5.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" + resolved "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz" integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== dependencies: asynckit "^0.4.0" @@ -5484,7 +5518,7 @@ form-data@^2.3.1, form-data@^2.5.0: form-data@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + resolved "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz" integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== dependencies: asynckit "^0.4.0" @@ -5493,7 +5527,7 @@ form-data@^3.0.0: form-data@~2.3.2: version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== dependencies: asynckit "^0.4.0" @@ -5502,22 +5536,22 @@ form-data@~2.3.2: formidable@^1.2.0: version "1.2.2" - resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.2.tgz#bf69aea2972982675f00865342b982986f6b8dd9" + resolved "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz" integrity sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q== fromentries@^1.2.0: version "1.3.2" - resolved "https://registry.yarnpkg.com/fromentries/-/fromentries-1.3.2.tgz#e4bca6808816bf8f93b52750f1127f5a6fd86e3a" + resolved "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz" integrity sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg== fs-constants@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== fs-extra@^7.0.0: version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz" integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== dependencies: graceful-fs "^4.1.2" @@ -5526,7 +5560,7 @@ fs-extra@^7.0.0: fs-extra@^9.0.1, fs-extra@^9.1.0: version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== dependencies: at-least-node "^1.0.0" @@ -5534,7 +5568,7 @@ fs-extra@^9.0.1, fs-extra@^9.1.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-minipass@^1.2.5: +fs-minipass@^1.2.5, fs-minipass@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== @@ -5543,34 +5577,49 @@ fs-minipass@^1.2.5: fs-minipass@^2.0.0, fs-minipass@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== dependencies: minipass "^3.0.0" fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@~2.3.1, fsevents@~2.3.2: version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== function-bind@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + functional-red-black-tree@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + gauge@^4.0.0: version "4.0.2" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.2.tgz#c3777652f542b6ef62797246e8c7caddecb32cc7" + resolved "https://registry.npmjs.org/gauge/-/gauge-4.0.2.tgz" integrity sha512-aSPRm2CvA9R8QyU5eXMFPd+cYkyxLsXHd2l5/FOH2V/eml//M04G6KZOmTap07O1PvEwNcl2NndyLfK8g3QrKA== dependencies: ansi-regex "^5.0.1" @@ -5585,7 +5634,7 @@ gauge@^4.0.0: gauge@~2.7.3: version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + resolved "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz" integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= dependencies: aproba "^1.0.3" @@ -5599,7 +5648,7 @@ gauge@~2.7.3: gc-stats@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/gc-stats/-/gc-stats-1.4.0.tgz#66cd194c5a8eae1138407300bc6cb42c2f6f3cd6" + resolved "https://registry.npmjs.org/gc-stats/-/gc-stats-1.4.0.tgz" integrity sha512-4FcCj9e8j8rCjvLkqRpGZBLgTC/xr9XEf5By3x77cDucWWB3pJK6FEwXZCTCbb4z8xdaOoi4owBNrvn3ciDdxA== dependencies: nan "^2.13.2" @@ -5607,22 +5656,22 @@ gc-stats@^1.4.0: gensync@^1.0.0-beta.1: version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-func-name@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" + resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz" integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz" integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== dependencies: function-bind "^1.1.1" @@ -5631,17 +5680,17 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: get-iterator@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/get-iterator/-/get-iterator-1.0.2.tgz#cd747c02b4c084461fac14f48f6b45a80ed25c82" + resolved "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz" integrity sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg== get-package-type@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== get-pkg-repo@^1.0.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d" + resolved "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz" integrity sha1-xztInAbYDMVTbCyFP54FIyBWly0= dependencies: hosted-git-info "^2.1.4" @@ -5652,36 +5701,44 @@ get-pkg-repo@^1.0.0: get-port@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" + resolved "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz" integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== get-stdin@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= get-stream@^5.1.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== dependencies: pump "^3.0.0" get-stream@^6.0.0: version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + getpass@^0.1.1: version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + resolved "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= dependencies: assert-plus "^1.0.0" git-raw-commits@^2.0.8: version "2.0.10" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.10.tgz#e2255ed9563b1c9c3ea6bd05806410290297bbc1" + resolved "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz" integrity sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ== dependencies: dargs "^7.0.0" @@ -5692,7 +5749,7 @@ git-raw-commits@^2.0.8: git-remote-origin-url@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" + resolved "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz" integrity sha1-UoJlna4hBxRaERJhEq0yFuxfpl8= dependencies: gitconfiglocal "^1.0.0" @@ -5700,7 +5757,7 @@ git-remote-origin-url@^2.0.0: git-semver-tags@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780" + resolved "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz" integrity sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA== dependencies: meow "^8.0.0" @@ -5708,7 +5765,7 @@ git-semver-tags@^4.1.1: git-up@^4.0.0: version "4.0.2" - resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.2.tgz#10c3d731051b366dc19d3df454bfca3f77913a7c" + resolved "https://registry.npmjs.org/git-up/-/git-up-4.0.2.tgz" integrity sha512-kbuvus1dWQB2sSW4cbfTeGpCMd8ge9jx9RKnhXhuJ7tnvT+NIrTVfYZxjtflZddQYcmdOTlkAcjmx7bor+15AQ== dependencies: is-ssh "^1.3.0" @@ -5716,33 +5773,40 @@ git-up@^4.0.0: git-url-parse@^11.4.4: version "11.4.4" - resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.4.4.tgz#5d747debc2469c17bc385719f7d0427802d83d77" + resolved "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.4.4.tgz" integrity sha512-Y4o9o7vQngQDIU9IjyCmRJBin5iYjI5u9ZITnddRZpD7dcCFQj2sL2XuMNbLRE4b4B/4ENPsp2Q8P44fjAZ0Pw== dependencies: git-up "^4.0.0" gitconfiglocal@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" + resolved "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz" integrity sha1-QdBF84UaXqiPA/JMocYXgRRGS5s= dependencies: ini "^1.3.2" github-from-package@0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" + resolved "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz" integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= -glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@~5.1.0, glob-parent@~5.1.2: +glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + glob@7.1.6, glob@^7.0.0, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: fs.realpath "^1.0.0" @@ -5754,7 +5818,7 @@ glob@7.1.6, glob@^7.0.0, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: glob@7.2.0: version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== dependencies: fs.realpath "^1.0.0" @@ -5766,26 +5830,19 @@ glob@7.2.0: globals@^11.1.0: version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== - dependencies: - type-fest "^0.8.1" - -globals@^13.6.0: - version "13.8.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.8.0.tgz#3e20f504810ce87a8d72e55aecf8435b50f4c1b3" - integrity sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q== +globals@^13.15.0: + version "13.15.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac" + integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog== dependencies: type-fest "^0.20.2" globby@^11.0.2: version "11.0.3" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" + resolved "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz" integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== dependencies: array-union "^2.1.0" @@ -5795,21 +5852,21 @@ globby@^11.0.2: merge2 "^1.3.0" slash "^3.0.0" -globby@^11.0.3: - version "11.0.4" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" - integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" slash "^3.0.0" got@^11.5.1: version "11.8.2" - resolved "https://registry.yarnpkg.com/got/-/got-11.8.2.tgz#7abb3959ea28c31f3576f1576c1effce23f33599" + resolved "https://registry.npmjs.org/got/-/got-11.8.2.tgz" integrity sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ== dependencies: "@sindresorhus/is" "^4.0.0" @@ -5826,22 +5883,22 @@ got@^11.5.1: graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3: version "4.2.6" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz" integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== graceful-fs@^4.2.6: version "4.2.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz" integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== growl@1.10.5: version "1.10.5" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + resolved "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz" integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== handlebars@^4.7.6: version "4.7.7" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" + resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz" integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== dependencies: minimist "^1.2.5" @@ -5853,12 +5910,12 @@ handlebars@^4.7.6: har-schema@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= har-validator@~5.1.3: version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + resolved "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== dependencies: ajv "^6.12.3" @@ -5866,44 +5923,68 @@ har-validator@~5.1.3: hard-rejection@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + resolved "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz" integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== has-bigints@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz" integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== +has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + has-symbols@^1.0.1, has-symbols@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz" integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + has-unicode@^2.0.0, has-unicode@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= has@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" hash-base@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + resolved "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz" integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== dependencies: inherits "^2.0.4" @@ -5912,7 +5993,7 @@ hash-base@^3.0.0: hash.js@1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" + resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz" integrity sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA== dependencies: inherits "^2.0.3" @@ -5920,7 +6001,7 @@ hash.js@1.1.3: hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== dependencies: inherits "^2.0.3" @@ -5928,7 +6009,7 @@ hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: hasha@^5.0.0: version "5.2.2" - resolved "https://registry.yarnpkg.com/hasha/-/hasha-5.2.2.tgz#a48477989b3b327aea3c04f53096d816d97522a1" + resolved "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz" integrity sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ== dependencies: is-stream "^2.0.0" @@ -5936,22 +6017,22 @@ hasha@^5.0.0: hashlru@^2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/hashlru/-/hashlru-2.3.0.tgz#5dc15928b3f6961a2056416bb3a4910216fdfb51" + resolved "https://registry.npmjs.org/hashlru/-/hashlru-2.3.0.tgz" integrity sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A== he@1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== highlight.js@^10.2.0: version "10.7.2" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.2.tgz#89319b861edc66c48854ed1e6da21ea89f847360" + resolved "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.2.tgz" integrity sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg== hmac-drbg@^1.0.0, hmac-drbg@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= dependencies: hash.js "^1.0.3" @@ -5960,36 +6041,36 @@ hmac-drbg@^1.0.0, hmac-drbg@^1.0.1: homedir-polyfill@^1.0.1: version "1.0.3" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + resolved "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz" integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== dependencies: parse-passwd "^1.0.0" hosted-git-info@^2.1.4: version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== hosted-git-info@^4.0.1: version "4.0.2" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz" integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== dependencies: lru-cache "^6.0.0" html-escaper@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== http-proxy-agent@^4.0.0, http-proxy-agent@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== dependencies: "@tootallnate/once" "1" @@ -5998,7 +6079,7 @@ http-proxy-agent@^4.0.0, http-proxy-agent@^4.0.1: http-signature@~1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= dependencies: assert-plus "^1.0.0" @@ -6007,7 +6088,7 @@ http-signature@~1.2.0: http2-wrapper@^1.0.0-beta.5.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" + resolved "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz" integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== dependencies: quick-lru "^5.1.1" @@ -6015,12 +6096,12 @@ http2-wrapper@^1.0.0-beta.5.2: https-browserify@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + resolved "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= https-proxy-agent@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz" integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== dependencies: agent-base "6" @@ -6028,67 +6109,60 @@ https-proxy-agent@^5.0.0: human-signals@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== humanize-ms@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + resolved "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz" integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= dependencies: ms "^2.0.0" iconv-lite@^0.4.24, iconv-lite@^0.4.4: version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" iconv-lite@^0.6.2: version "0.6.2" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz" integrity sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ== dependencies: safer-buffer ">= 2.1.2 < 3.0.0" ieee754@1.1.13: version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz" integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ignore-walk@3.0.4, ignore-walk@^3.0.3: +ignore-walk@3.0.4, ignore-walk@^3.0.1, ignore-walk@^3.0.3: version "3.0.4" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335" + resolved "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz" integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ== dependencies: minimatch "^3.0.4" -ignore-walk@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" - integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== - dependencies: - minimatch "^3.0.4" - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - ignore@^5.1.1, ignore@^5.1.4: version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz" integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== +ignore@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" @@ -6096,7 +6170,7 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: import-local@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + resolved "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz" integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== dependencies: pkg-dir "^4.2.0" @@ -6104,29 +6178,29 @@ import-local@^3.0.2: imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= indent-string@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz" integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= dependencies: repeating "^2.0.0" indent-string@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== infer-owner@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + resolved "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz" integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: once "^1.3.0" @@ -6134,27 +6208,27 @@ inflight@^1.0.4: inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== inherits@2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= inherits@2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= ini@^1.3.2, ini@^1.3.4, ini@~1.3.0: version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== init-package-json@^2.0.2: version "2.0.3" - resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-2.0.3.tgz#c8ae4f2a4ad353bcbc089e5ffe98a8f1a314e8fd" + resolved "https://registry.npmjs.org/init-package-json/-/init-package-json-2.0.3.tgz" integrity sha512-tk/gAgbMMxR6fn1MgMaM1HpU1ryAmBWWitnxG5OhuNXeX0cbpbgV5jA4AIpQJVNoyOfOevTtO6WX+rPs+EFqaQ== dependencies: glob "^7.1.1" @@ -6168,7 +6242,7 @@ init-package-json@^2.0.2: inquirer@^7.3.3: version "7.3.3" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + resolved "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz" integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== dependencies: ansi-escapes "^4.2.1" @@ -6187,7 +6261,7 @@ inquirer@^7.3.3: inquirer@^8.1.3: version "8.1.5" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.1.5.tgz#2dc5159203c826d654915b5fe6990fd17f54a150" + resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.1.5.tgz" integrity sha512-G6/9xUqmt/r+UvufSyrPpt84NYwhKZ9jLsgMbQzlx804XErNupor8WQdBnBRrXmBfTPpuwf1sV+ss2ovjgdXIg== dependencies: ansi-escapes "^4.2.1" @@ -6207,7 +6281,7 @@ inquirer@^8.1.3: interface-datastore@^5.1.1, interface-datastore@^5.1.2: version "5.1.2" - resolved "https://registry.yarnpkg.com/interface-datastore/-/interface-datastore-5.1.2.tgz#f12cd15f759a6d556b04888b1ee37e9654ba989a" + resolved "https://registry.npmjs.org/interface-datastore/-/interface-datastore-5.1.2.tgz" integrity sha512-nRFl19/IkilNzuPdCUJHejyJCZrVAk4lIRcRXJkekuTdaiagIEnCd9GfmTTQlo2afiVISk8Iy/PxSgnfmrdEIw== dependencies: err-code "^3.0.1" @@ -6222,7 +6296,7 @@ interface-datastore@^5.1.1, interface-datastore@^5.1.2: interface-datastore@^6.0.2: version "6.0.3" - resolved "https://registry.yarnpkg.com/interface-datastore/-/interface-datastore-6.0.3.tgz#f42163e4bfaea9e2fcde82e45d4bf2849e1fbbf5" + resolved "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.0.3.tgz" integrity sha512-61eOyzh7zH1ks/56hPudW6pbqsOdoHSYMVjuqlIlZGjyg0svR6DHlCcaeSJfWW8t6dsPl1n7qKBdk8ZqPzXuLA== dependencies: interface-store "^2.0.1" @@ -6231,22 +6305,31 @@ interface-datastore@^6.0.2: interface-store@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/interface-store/-/interface-store-0.1.1.tgz#c7e115ec16e683911f02428826359ae287d19e16" + resolved "https://registry.npmjs.org/interface-store/-/interface-store-0.1.1.tgz" integrity sha512-ynnjIOybDZc0Brep3HHSa2RVlo/M5g7kuL/leui7o21EusKcLJS170vCJ8rliisc3c4jyd9ao5PthkGlBaX29g== interface-store@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/interface-store/-/interface-store-2.0.1.tgz#b944573b9d27190bca9be576c97bfde907931dee" + resolved "https://registry.npmjs.org/interface-store/-/interface-store-2.0.1.tgz" integrity sha512-TfjYMdk4RlaGPA0VGk8fVPM+xhFbjiA2mTv1AqhiFh3N+ZEwoJnmDu/EBdKXzl80nyd0pvKui3RTC3zFgHMjTA== +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + interpret@^1.0.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== ip-address@^8.0.0: version "8.1.0" - resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-8.1.0.tgz#1fe9b4509b51ff7d2fbbef4d3d26994d9915a459" + resolved "https://registry.npmjs.org/ip-address/-/ip-address-8.1.0.tgz" integrity sha512-Wz91gZKpNKoXtqvY8ScarKYwhXoK4r/b5QuT+uywe/azv0/nUCo7Bh0IRRI7F9DHR06kJNWtzMGLIbXavngbKA== dependencies: jsbn "1.1.0" @@ -6254,17 +6337,17 @@ ip-address@^8.0.0: ip-regex@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz" integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= ip-regex@^4.0.0, ip-regex@^4.3.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz" integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== ip6addr@^0.2.3: version "0.2.3" - resolved "https://registry.yarnpkg.com/ip6addr/-/ip6addr-0.2.3.tgz#660df0d27092434f0aadee025aba8337c6d7d4d4" + resolved "https://registry.npmjs.org/ip6addr/-/ip6addr-0.2.3.tgz" integrity sha512-qA9DXRAUW+lT47/i/4+Q3GHPwZjGt/atby1FH/THN6GVATA6+Pjp2nztH7k6iKeil7hzYnBwfSsxjthlJ8lJKw== dependencies: assert-plus "^1.0.0" @@ -6272,17 +6355,17 @@ ip6addr@^0.2.3: ip@^1.1.5: version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + resolved "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= ipaddr.js@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.0.tgz#77ccccc8063ae71ab65c55f21b090698e763fc6e" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.0.tgz" integrity sha512-S54H9mIj0rbxRIyrDMEuuER86LdlgUg9FSeZ8duQb6CUG2iRrA36MYVQBSprTF/ZeAwvyQ5mDGuNvIPM0BIl3w== ipfs-utils@^8.1.2: version "8.1.4" - resolved "https://registry.yarnpkg.com/ipfs-utils/-/ipfs-utils-8.1.4.tgz#020267e3bdb3744ce00210570ffe5723df6eb4e7" + resolved "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-8.1.4.tgz" integrity sha512-QJjyRh4KzlkmtAOn/fOHYyjHGuG+Ows7xJGG8eiM/v325VvJhjJ1tWJobI6zrNDeFKjZcx1uNysE3MR2/dSiXQ== dependencies: abort-controller "^3.0.0" @@ -6304,152 +6387,164 @@ ipfs-utils@^8.1.2: is-arguments@^1.0.4: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" + resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz" integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== dependencies: call-bind "^1.0.0" is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= is-arrayish@^0.3.1: version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== is-bigint@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz" integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg== is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" is-boolean-object@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz" integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA== dependencies: call-bind "^1.0.0" is-buffer@^2.0.5: version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== is-callable@^1.1.4, is-callable@^1.2.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz" integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== +is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + is-ci@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + resolved "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== dependencies: ci-info "^2.0.0" is-core-module@^2.2.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.3.0.tgz#d341652e3408bca69c4671b79a0954a3d349f887" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.3.0.tgz" integrity sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw== dependencies: has "^1.0.3" is-core-module@^2.3.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" - integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== + version "2.5.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz" + integrity sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg== dependencies: has "^1.0.3" -is-core-module@^2.4.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.5.0.tgz#f754843617c70bfd29b7bd87327400cda5c18491" - integrity sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg== +is-core-module@^2.8.1: + version "2.9.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" + integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== dependencies: has "^1.0.3" is-date-object@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz" integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== is-electron@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/is-electron/-/is-electron-2.2.0.tgz#8943084f09e8b731b3a7a0298a7b5d56f6b7eef0" + resolved "https://registry.npmjs.org/is-electron/-/is-electron-2.2.0.tgz" integrity sha512-SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q== is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= is-finite@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" + resolved "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz" integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== is-fullwidth-code-point@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= dependencies: number-is-nan "^1.0.0" is-fullwidth-code-point@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-generator-function@^1.0.7: version "1.0.8" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.8.tgz#dfb5c2b120e02b0a8d9d2c6806cd5621aa922f7b" + resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz" integrity sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ== is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== dependencies: is-extglob "^2.1.1" +is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + is-interactive@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== is-ip@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-3.1.0.tgz#2ae5ddfafaf05cb8008a62093cf29734f657c5d8" + resolved "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz" integrity sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q== dependencies: ip-regex "^4.0.0" is-lambda@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + resolved "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz" integrity sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU= is-loopback-addr@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-loopback-addr/-/is-loopback-addr-1.0.1.tgz#d4adf50d12d53100da62a397c61d6c83fe40aab9" + resolved "https://registry.npmjs.org/is-loopback-addr/-/is-loopback-addr-1.0.1.tgz" integrity sha512-DhWU/kqY7X2F6KrrVTu7mHlbd2Pbo4D1YkAzasBMjQs6lJAoefxaA6m6CpSX0K6pjt9D0b9PNFI5zduy/vzOYw== is-nan@^1.2.1: version "1.3.2" - resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" + resolved "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz" integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== dependencies: call-bind "^1.0.0" @@ -6457,113 +6552,127 @@ is-nan@^1.2.1: is-negative-zero@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz" integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + is-number-object@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz" integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== is-number@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-obj@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== is-observable@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-2.1.0.tgz#5c8d733a0b201c80dff7bb7c0df58c6a255c7c69" + resolved "https://registry.npmjs.org/is-observable/-/is-observable-2.1.0.tgz" integrity sha512-DailKdLb0WU+xX8K5w7VsJhapwHLZ9jjmazqCJq4X12CTgqq73TKnbRcnSLuXYPOoLQgV5IrD7ePiX/h1vnkBw== is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= is-plain-obj@^2.0.0, is-plain-obj@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== is-plain-object@^2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== dependencies: isobject "^3.0.1" is-plain-object@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== is-regex@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz" integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== dependencies: call-bind "^1.0.2" has-symbols "^1.0.1" -is-regex@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" - integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== dependencies: call-bind "^1.0.2" - has-symbols "^1.0.2" is-ssh@^1.3.0: version "1.3.2" - resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.2.tgz#a4b82ab63d73976fd8263cceee27f99a88bdae2b" + resolved "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.2.tgz" integrity sha512-elEw0/0c2UscLrNG+OAorbP539E3rhliKPg+hDMWN9VwrDXfYK+4PBEykDPfxlYYtQvl84TascnQyobfQLHEhQ== dependencies: protocols "^1.1.0" is-stream@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== is-string@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz" integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== -is-string@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" - integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== +is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" is-symbol@^1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz" integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== dependencies: has-symbols "^1.0.1" is-symbol@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: has-symbols "^1.0.2" is-text-path@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" + resolved "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz" integrity sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4= dependencies: text-extensions "^1.0.0" is-typed-array@^1.1.3: version "1.1.5" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.5.tgz#f32e6e096455e329eb7b423862456aa213f0eb4e" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz" integrity sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug== dependencies: available-typed-arrays "^1.0.2" @@ -6574,42 +6683,49 @@ is-typed-array@^1.1.3: is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= is-unicode-supported@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== is-utf8@^0.2.0: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + is-windows@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== isarray@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= isexe@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= iso-random-stream@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/iso-random-stream/-/iso-random-stream-2.0.0.tgz#3f0118166d5443148bbc134345fb100002ad0f1d" + resolved "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-2.0.0.tgz" integrity sha512-lGuIu104KfBV9ubYTSaE3GeAr6I69iggXxBHbTBc5u/XKlwlWl0LCytnkIZissaKqvxablwRD9B3ktVnmIUnEg== dependencies: events "^3.3.0" @@ -6617,7 +6733,7 @@ iso-random-stream@^2.0.0: iso-random-stream@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/iso-random-stream/-/iso-random-stream-2.0.2.tgz#a24f77c34cfdad9d398707d522a6a0cc640ff27d" + resolved "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-2.0.2.tgz" integrity sha512-yJvs+Nnelic1L2vH2JzWvvPQFA4r7kSTnpST/+LkAQjSz0hos2oqLD+qIVi9Qk38Hoe7mNDt3j0S27R58MVjLQ== dependencies: events "^3.3.0" @@ -6625,34 +6741,34 @@ iso-random-stream@^2.0.2: iso-url@^1.1.5: version "1.1.5" - resolved "https://registry.yarnpkg.com/iso-url/-/iso-url-1.1.5.tgz#875a0f2bf33fa1fc200f8d89e3f49eee57a8f0d9" + resolved "https://registry.npmjs.org/iso-url/-/iso-url-1.1.5.tgz" integrity sha512-+3JqoKdBTGmyv9vOkS6b9iHhvK34UajfTibrH/1HOK8TI7K2VsM0qOCd+aJdWKtSOA8g3PqZfcwDmnR0p3klqQ== isobject@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= isstream@~0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.0.0-alpha.1: version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz" integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== istanbul-lib-hook@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz#8f84c9434888cc6b1d0a9d7092a76d239ebf0cc6" + resolved "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz" integrity sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ== dependencies: append-transform "^2.0.0" istanbul-lib-instrument@^4.0.0: version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz" integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== dependencies: "@babel/core" "^7.7.5" @@ -6662,7 +6778,7 @@ istanbul-lib-instrument@^4.0.0: istanbul-lib-processinfo@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz#e1426514662244b2f25df728e8fd1ba35fe53b9c" + resolved "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz" integrity sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw== dependencies: archy "^1.0.0" @@ -6675,7 +6791,7 @@ istanbul-lib-processinfo@^2.0.2: istanbul-lib-report@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== dependencies: istanbul-lib-coverage "^3.0.0" @@ -6684,7 +6800,7 @@ istanbul-lib-report@^3.0.0: istanbul-lib-source-maps@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz" integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== dependencies: debug "^4.1.1" @@ -6693,7 +6809,7 @@ istanbul-lib-source-maps@^4.0.0: istanbul-reports@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" + resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz" integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== dependencies: html-escaper "^2.0.0" @@ -6701,22 +6817,22 @@ istanbul-reports@^3.0.2: it-all@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/it-all/-/it-all-1.0.2.tgz#4e86f4cd1a18daa629ddc035b7f3465a24eb30ff" + resolved "https://registry.npmjs.org/it-all/-/it-all-1.0.2.tgz" integrity sha512-3hrCLLcuHS1/VUn1qETPuh9rFTw31SBCUUijjs41VJ+oQGx3H+3Lpxo1bFD3q3570w3o99a+sfRGic5PBBt3Vg== it-all@^1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/it-all/-/it-all-1.0.5.tgz#e880510d7e73ebb79063a76296a2eb3cb77bbbdb" + resolved "https://registry.npmjs.org/it-all/-/it-all-1.0.5.tgz" integrity sha512-ygD4kA4vp8fi+Y+NBgEKt6W06xSbv6Ub/0V8d1r3uCyJ9Izwa1UspkIOlqY9fOee0Z1w3WRo1+VWyAU4DgtufA== it-all@^1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/it-all/-/it-all-1.0.6.tgz#852557355367606295c4c3b7eff0136f07749335" + resolved "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz" integrity sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A== it-buffer@^0.1.2, it-buffer@^0.1.3: version "0.1.3" - resolved "https://registry.yarnpkg.com/it-buffer/-/it-buffer-0.1.3.tgz#efebef1cc35a6133cb9558e759345d4f17b3e1d0" + resolved "https://registry.npmjs.org/it-buffer/-/it-buffer-0.1.3.tgz" integrity sha512-9a2/9SYVwG7bcn3tpRDR4bXbtuMLXnDK48KVC+GXiQg97ZOOdWz2nIITBsOQ19b+gj01Rw8RNwtiLDLI8P8oiQ== dependencies: bl "^5.0.0" @@ -6724,27 +6840,27 @@ it-buffer@^0.1.2, it-buffer@^0.1.3: it-drain@^1.0.1, it-drain@^1.0.3, it-drain@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/it-drain/-/it-drain-1.0.4.tgz#15ee0e90fba4b5bc8cff1c61b8c59d4203293baa" + resolved "https://registry.npmjs.org/it-drain/-/it-drain-1.0.4.tgz" integrity sha512-coB7mcyZ4lWBQKoQGJuqM+P94pvpn2T3KY27vcVWPqeB1WmoysRC76VZnzAqrBWzpWcoEJMjZ+fsMBslxNaWfQ== it-filter@^1.0.1, it-filter@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/it-filter/-/it-filter-1.0.2.tgz#7a89b582d561b1f1ff09417ad86f509dfaab5026" + resolved "https://registry.npmjs.org/it-filter/-/it-filter-1.0.2.tgz" integrity sha512-rxFUyPCrhk7WrNxD8msU10iEPhQmROoqwuyWmQUYY1PtopwUGBYyra9EYG2nRZADYeuT83cohKWmKCWPzpeyiw== it-first@^1.0.4, it-first@^1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/it-first/-/it-first-1.0.6.tgz#a015ecfc62d2d517382138da4142b35e61f4131e" + resolved "https://registry.npmjs.org/it-first/-/it-first-1.0.6.tgz" integrity sha512-wiI02c+G1BVuu0jz30Nsr1/et0cpSRulKUusN8HDZXxuX4MdUzfMp2P4JUk+a49Wr1kHitRLrnnh3+UzJ6neaQ== it-foreach@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/it-foreach/-/it-foreach-0.1.1.tgz#8dce2d16567cfac007977e2daae7699c82c58d70" + resolved "https://registry.npmjs.org/it-foreach/-/it-foreach-0.1.1.tgz" integrity sha512-ZLxL651N5w5SL/EIIcrXELgYrrkuEKj/TErG93C4lr6lNZziKsf338ljSG85PjQfu7Frg/1wESl5pLrPSFXI9g== it-glob@~0.0.11: version "0.0.13" - resolved "https://registry.yarnpkg.com/it-glob/-/it-glob-0.0.13.tgz#78913fe835fcf0d46afcdb6634eb069acdfc4fbc" + resolved "https://registry.npmjs.org/it-glob/-/it-glob-0.0.13.tgz" integrity sha512-0Hcd5BraJUPzL28NWiFbdNrcdyNxNTKKdU3sjdFiYynNTQpwlG2UKW31X7bp+XhJwux/oPzIquo5ioztVmc2RQ== dependencies: "@types/minimatch" "^3.0.4" @@ -6752,7 +6868,7 @@ it-glob@~0.0.11: it-handshake@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/it-handshake/-/it-handshake-2.0.0.tgz#97671f33c13c47218a3df8a8d92de565a075b28c" + resolved "https://registry.npmjs.org/it-handshake/-/it-handshake-2.0.0.tgz" integrity sha512-K4q+mz8aLlCK3vTjtgNdHC9c/JbuOATsfogarjMsLcBZC5vYfKbX3Gq3AWcCdjIsIrPqzTlhPKSxl64LJkrt2w== dependencies: it-pushable "^1.4.0" @@ -6761,7 +6877,7 @@ it-handshake@^2.0.0: it-length-prefixed@^5.0.0, it-length-prefixed@^5.0.2: version "5.0.2" - resolved "https://registry.yarnpkg.com/it-length-prefixed/-/it-length-prefixed-5.0.2.tgz#66e8b889d695a57d582963cf053aa7255c31c9d5" + resolved "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-5.0.2.tgz" integrity sha512-SqAURaKKsjYbROIdTjW3UtqGrdZo1SHnkbeYYp7JwC5P0IIy7r4C0xNkmK2Va/fBmvXA++hMdDON9+2zesQlUA== dependencies: bl "^5.0.0" @@ -6770,7 +6886,7 @@ it-length-prefixed@^5.0.0, it-length-prefixed@^5.0.2: it-length-prefixed@^5.0.3: version "5.0.3" - resolved "https://registry.yarnpkg.com/it-length-prefixed/-/it-length-prefixed-5.0.3.tgz#77fbd99b89aa6cdd79fad62c962423b413db7045" + resolved "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-5.0.3.tgz" integrity sha512-b+jDHLcnOnPDQN79ronmzF5jeBjdJsy0ce2O6i6X4J5tnaO8Fd146ZA/tMbzaLlKnTpXa0eKtofpYhumXGENeg== dependencies: bl "^5.0.0" @@ -6779,33 +6895,33 @@ it-length-prefixed@^5.0.3: it-map@^1.0.4, it-map@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/it-map/-/it-map-1.0.5.tgz#2f6a9b8f0ba1ed1aeadabf86e00b38c73a1dc299" + resolved "https://registry.npmjs.org/it-map/-/it-map-1.0.5.tgz" integrity sha512-EElupuWhHVStUgUY+OfTJIS2MZed96lDrAXzJUuqiiqLnIKoBRqtX1ZG2oR0bGDsSppmz83MtzCeKLZ9TVAUxQ== it-merge@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/it-merge/-/it-merge-1.0.2.tgz#8139a6621c2f0969d1176a2060b162421e3a1c80" + resolved "https://registry.npmjs.org/it-merge/-/it-merge-1.0.2.tgz" integrity sha512-bp+h4X3tQ83/a2MvaeP4nRi+52z2AO2y8tf2OzDdaSXKMC0n0gVtHrJUDaE+kiIkBiUtTt1hp7vJHMM0VtCfGA== dependencies: it-pushable "^1.4.0" it-merge@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/it-merge/-/it-merge-1.0.1.tgz#74a12045147981777e812a9b098823f2bc8ac882" + resolved "https://registry.npmjs.org/it-merge/-/it-merge-1.0.1.tgz" integrity sha512-1V1wDlzGaPprEGxwRJUMkoKvjZJCaqRp0o7i5fD3LeY7K2ZL5hmtHJnRTXHqJf9wO2ovzOjqxBUtFK4c3HAF0g== dependencies: it-pushable "^1.4.0" it-pair@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/it-pair/-/it-pair-1.0.0.tgz#b1add81f49af16a10b2939dbef7b1974fae87d6a" + resolved "https://registry.npmjs.org/it-pair/-/it-pair-1.0.0.tgz" integrity sha512-9raOiDu5OAuDOahtMtapKQDrQTxBfzlzrNcB6o7JARHkt+7Bb1dMkW/TpYdAjBJE77KH3e2zGzwpGUP9tXbLww== dependencies: get-iterator "^1.0.2" it-pb-rpc@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/it-pb-rpc/-/it-pb-rpc-0.2.0.tgz#9247489e73e4a7d382d63a74778c1c3308bd9297" + resolved "https://registry.npmjs.org/it-pb-rpc/-/it-pb-rpc-0.2.0.tgz" integrity sha512-Rojodsa6yxSTZDqVVF9HXKsISoHtlLNOL0P6b/7oCswiscbjCpt1IB78BxRDHpFL3tg8jFPMNDTP3v6ZjrMf9w== dependencies: it-handshake "^2.0.0" @@ -6813,38 +6929,38 @@ it-pb-rpc@^0.2.0: it-pipe@^1.0.1, it-pipe@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/it-pipe/-/it-pipe-1.1.0.tgz#f5964c6bb785dd776f11a62d1e75964787ab95ce" + resolved "https://registry.npmjs.org/it-pipe/-/it-pipe-1.1.0.tgz" integrity sha512-lF0/3qTVeth13TOnHVs0BTFaziwQF7m5Gg+E6JV0BXcLKutC92YjSi7bASgkPOXaLEb+YvNZrPorGMBIJvZfxg== it-pushable@^1.4.0, it-pushable@^1.4.1, it-pushable@^1.4.2: version "1.4.2" - resolved "https://registry.yarnpkg.com/it-pushable/-/it-pushable-1.4.2.tgz#fb127a53ec99b35a3a455a775abc85ab193c220b" + resolved "https://registry.npmjs.org/it-pushable/-/it-pushable-1.4.2.tgz" integrity sha512-vVPu0CGRsTI8eCfhMknA7KIBqqGFolbRx+1mbQ6XuZ7YCz995Qj7L4XUviwClFunisDq96FdxzF5FnAbw15afg== dependencies: fast-fifo "^1.0.0" it-reader@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/it-reader/-/it-reader-3.0.0.tgz#56596c7742ec7c63b7f7998f6bfa3f712e333d0e" + resolved "https://registry.npmjs.org/it-reader/-/it-reader-3.0.0.tgz" integrity sha512-NxR40odATeaBmSefn6Xn43DplYvn2KtEKQzn4jrTRuPYXMky5M4e+KQ7aTJh0k0vkytLyeenGO1I1GXlGm4laQ== dependencies: bl "^5.0.0" it-sort@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/it-sort/-/it-sort-1.0.1.tgz#2b7c100225b04147f06a4962c57e22cd2f35f855" + resolved "https://registry.npmjs.org/it-sort/-/it-sort-1.0.1.tgz" integrity sha512-c+C48cP7XMMebB9irLrJs2EmpLILId8NYSojqAqN8etE8ienx0azBgaKvZHYH1DkerqIul0Fl2FqISu2BZgTEQ== dependencies: it-all "^1.0.6" it-take@^1.0.0, it-take@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/it-take/-/it-take-1.0.1.tgz#155b0f8ed4b6ff5eb4e9e7a2f4395f16b137b68a" + resolved "https://registry.npmjs.org/it-take/-/it-take-1.0.1.tgz" integrity sha512-6H6JAWYcyumKSpcIPLs6tHN4xnibphmyU79WQaYVCBtaBOzf4fn75wzvSH8fH8fcMlPBTWY1RlmOWleQxBt2Ug== it-to-stream@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/it-to-stream/-/it-to-stream-1.0.0.tgz#6c47f91d5b5df28bda9334c52782ef8e97fe3a4a" + resolved "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz" integrity sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA== dependencies: buffer "^6.0.3" @@ -6856,22 +6972,22 @@ it-to-stream@^1.0.0: jmespath@0.15.0: version "0.15.0" - resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" + resolved "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz" integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc= js-sha3@0.5.7: version "0.5.7" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" + resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz" integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@3.14.1, js-yaml@^3.13.1, js-yaml@^3.14.0: version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" @@ -6879,97 +6995,97 @@ js-yaml@3.14.1, js-yaml@^3.13.1, js-yaml@^3.14.0: js-yaml@4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz" integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== dependencies: argparse "^2.0.1" js-yaml@4.1.0, js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" jsbn@1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" + resolved "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz" integrity sha1-sBMHyym2GKHtJux56RH4A8TaAEA= jsbn@~0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= jsesc@^2.5.1: version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== json-buffer@3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== json-parse-better-errors@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== json-parse-even-better-errors@^2.3.0: version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema-traverse@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== json-schema@0.2.3: version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= json5@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== dependencies: minimist "^1.2.0" json5@^2.1.2: version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz" integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== dependencies: minimist "^1.2.5" jsonfile@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= optionalDependencies: graceful-fs "^4.1.6" jsonfile@^6.0.1: version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: universalify "^2.0.0" @@ -6978,12 +7094,12 @@ jsonfile@^6.0.1: jsonparse@^1.2.0, jsonparse@^1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= jsprim@^1.2.2, jsprim@^1.4.0: version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz" integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= dependencies: assert-plus "1.0.0" @@ -6993,17 +7109,17 @@ jsprim@^1.2.2, jsprim@^1.4.0: just-extend@^4.0.2: version "4.2.1" - resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.2.1.tgz#ef5e589afb61e5d66b24eca749409a8939a8c744" + resolved "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz" integrity sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg== jwt-simple@0.5.6: version "0.5.6" - resolved "https://registry.yarnpkg.com/jwt-simple/-/jwt-simple-0.5.6.tgz#3357adec55b26547114157be66748995b75b333a" + resolved "https://registry.npmjs.org/jwt-simple/-/jwt-simple-0.5.6.tgz" integrity sha512-40aUybvhH9t2h71ncA1/1SbtTNCVZHgsTsTgqPUxGWDmUDrXyDf2wMNQKEbdBjbf4AI+fQhbECNTV6lWxQKUzg== keccak@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.1.tgz#ae30a0e94dbe43414f741375cff6d64c8bea0bff" + resolved "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz" integrity sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA== dependencies: node-addon-api "^2.0.0" @@ -7011,29 +7127,29 @@ keccak@^3.0.0: keypair@^1.0.1: version "1.0.4" - resolved "https://registry.yarnpkg.com/keypair/-/keypair-1.0.4.tgz#a749a45f388593f3950f18b3757d32a93bd8ce83" + resolved "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz" integrity sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg== keyv@^4.0.0: version "4.0.3" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254" + resolved "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz" integrity sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA== dependencies: json-buffer "3.0.1" kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== kuler@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3" + resolved "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz" integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A== lerna@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/lerna/-/lerna-4.0.0.tgz#b139d685d50ea0ca1be87713a7c2f44a5b678e9e" + resolved "https://registry.npmjs.org/lerna/-/lerna-4.0.0.tgz" integrity sha512-DD/i1znurfOmNJb0OBw66NmNqiM8kF6uIrzrJ0wGE3VNdzeOhz9ziWLYiRaZDGGwgbcjOo6eIfcx9O5Qynz+kg== dependencies: "@lerna/add" "4.0.0" @@ -7057,26 +7173,26 @@ lerna@^4.0.0: level-codec@^10.0.0: version "10.0.0" - resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-10.0.0.tgz#f9e892770532c6cdcc83529546730791b0c62c12" + resolved "https://registry.npmjs.org/level-codec/-/level-codec-10.0.0.tgz" integrity sha512-QW3VteVNAp6c/LuV6nDjg7XDXx9XHK4abmQarxZmlRSDyXYk20UdaJTSX6yzVvQ4i0JyWSB7jert0DsyD/kk6g== dependencies: buffer "^6.0.3" level-concat-iterator@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/level-concat-iterator/-/level-concat-iterator-3.0.0.tgz#416ddaf0c2ed834f006aa3124ee68906eb4769d4" + resolved "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-3.0.0.tgz" integrity sha512-UHGiIdj+uiFQorOrURRvJF3Ei0uHc89ciM/aRi0qsWDV2f0HXypeXUPhJKL6DsONgSR76Pc0AI4sKYEYYRn2Dg== level-errors@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-3.0.0.tgz#5719f2ad9061d9f2bd7cf22e4a7def893e6d2e60" + resolved "https://registry.npmjs.org/level-errors/-/level-errors-3.0.0.tgz" integrity sha512-MZXOQT061uEjxxxq4C/Jf+M3RdEKK9e3NbxlN7yOp1LDYoLVAhE2i1j0b7XqXfl8FjFtUL7phwr3Sn0wXXoMqA== dependencies: errno "^1.0.0" level-iterator-stream@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-5.0.0.tgz#85b3438e1b4c54ce5aa8c0eb973cfb628117df9e" + resolved "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-5.0.0.tgz" integrity sha512-wnb1+o+CVFUDdiSMR/ZymE2prPs3cjVLlXuDeSq9Zb8o032XrabGEXcTCsBxprAtseO3qvFeGzh6406z9sOTRA== dependencies: inherits "^2.0.4" @@ -7084,7 +7200,7 @@ level-iterator-stream@^5.0.0: level-js@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/level-js/-/level-js-6.0.0.tgz#1faff0eb92ca34e4565d1f7bca7026989855625b" + resolved "https://registry.npmjs.org/level-js/-/level-js-6.0.0.tgz" integrity sha512-7dp7JuaoQoqKW4ZGvrV1RB5f51/ktLdEo9fSDsh3Ofmg7sKCMu3X0CIngbY/IUz/YyskhN7LRvEVIkZHCY3LKQ== dependencies: abstract-leveldown "^7.0.0" @@ -7094,7 +7210,7 @@ level-js@^6.0.0: level-packager@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/level-packager/-/level-packager-6.0.0.tgz#1881e062d2dc694ce88101b3212d37ef90aa7a99" + resolved "https://registry.npmjs.org/level-packager/-/level-packager-6.0.0.tgz" integrity sha512-me656XRWfOVqs9wc+mWckZ6Rb1GuP33ndN4ZntDXwXFspX8cGA++Y+YqJsdE/mjTiipTuxXf047Z4rV62nOVuw== dependencies: encoding-down "^7.0.0" @@ -7102,12 +7218,12 @@ level-packager@^6.0.0: level-supports@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-2.0.0.tgz#b0b9f63f30c4175fb2612217144f03f3b77580d9" + resolved "https://registry.npmjs.org/level-supports/-/level-supports-2.0.0.tgz" integrity sha512-8UJgzo1pvWP1wq80ZlkL19fPeK7tlyy0sBY90+2pj0x/kvzHCoLDWyuFJJMrsTn33oc7hbMkS3SkjCxMRPHWaw== level@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/level/-/level-7.0.0.tgz#10fa2d5a0b3b21a99d33e9307c92c1270243d1ce" + resolved "https://registry.npmjs.org/level/-/level-7.0.0.tgz" integrity sha512-QrBnjcWywalh86ms9hfizvxT5aBHrgWEu6rLChS9tFE2wwFU3aI1r0v+2SSZIyeUr4O4PFo8+sCc1kebahdhlw== dependencies: level-js "^6.0.0" @@ -7116,7 +7232,7 @@ level@^7.0.0: leveldown@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/leveldown/-/leveldown-6.0.0.tgz#3ec7f00463c45f8f7c8e68248d10ab299059c7ca" + resolved "https://registry.npmjs.org/leveldown/-/leveldown-6.0.0.tgz" integrity sha512-NEsyqpfdDhpFO49Zm9htNSsWixMa9Q9sUXgrBTaQNPyPo2Kx1wRctgIXMzc7tduXJqNff8QAwulv2eZDboghxQ== dependencies: abstract-leveldown "^7.0.0" @@ -7125,7 +7241,7 @@ leveldown@^6.0.0: levelup@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/levelup/-/levelup-5.0.0.tgz#7cbbfd2ffc7495b3ebd75f81f5b328eb37866c3a" + resolved "https://registry.npmjs.org/levelup/-/levelup-5.0.0.tgz" integrity sha512-P4IKS4J17b6dzm8iI8Irv5gvOlrqJv04Lrpq1rAgZvjR2IsVSjbXQQo1LoK/PJuouxepLE8CTIiKGmHQYZnneA== dependencies: catering "^2.0.0" @@ -7137,7 +7253,7 @@ levelup@^5.0.0: levelup@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/levelup/-/levelup-5.0.1.tgz#a871c3cb0943f4fc0280bc4d71c5d60950b0d570" + resolved "https://registry.npmjs.org/levelup/-/levelup-5.0.1.tgz" integrity sha512-MJvQgBRQmB+E5+d6Qbxqm05N4U9NzOxGNhXx0rR8maRBwmVuVV+m4IV3N4HzZJW8JwiJ0jj92RZaytcD+Hr1CA== dependencies: catering "^2.0.0" @@ -7149,7 +7265,7 @@ levelup@^5.0.1: levn@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" @@ -7157,7 +7273,7 @@ levn@^0.4.1: libnpmaccess@^4.0.1: version "4.0.2" - resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-4.0.2.tgz#781832fb7ccb867b26343a75a85ad9c43e50406e" + resolved "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-4.0.2.tgz" integrity sha512-avXtJibZuGap0/qADDYqb9zdpgzVu/yG5+tl2sTRa7MCkDNv2ZlGwCYI0r6/+tmqXPj0iB9fKexHz426vB326w== dependencies: aproba "^2.0.0" @@ -7178,7 +7294,7 @@ libnpmpublish@4.0.0, libnpmpublish@^4.0.0: libp2p-bootstrap@^0.14.0: version "0.14.0" - resolved "https://registry.yarnpkg.com/libp2p-bootstrap/-/libp2p-bootstrap-0.14.0.tgz#820cc2d259a4710c660d239c5e2043384a1317b2" + resolved "https://registry.npmjs.org/libp2p-bootstrap/-/libp2p-bootstrap-0.14.0.tgz" integrity sha512-j3slZo5nOdA8wVlav8dRZeAXutZ7psz/f10DLoIEX/EFif7uU5oZfIYvjbVGo3ZDl+VQLo2tR0m1lV0westQ3g== dependencies: debug "^4.3.1" @@ -7188,7 +7304,7 @@ libp2p-bootstrap@^0.14.0: libp2p-crypto@^0.19.0, libp2p-crypto@^0.19.7: version "0.19.7" - resolved "https://registry.yarnpkg.com/libp2p-crypto/-/libp2p-crypto-0.19.7.tgz#e96a95bd430e672a695209fe0fbd2bcbd348bc35" + resolved "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.19.7.tgz" integrity sha512-Qb5o/3WFKF2j6mYSt4UBPyi2kbKl3jYV0podBJoJCw70DlpM5Xc+oh3fFY9ToSunu8aSQQ5GY8nutjXgX/uGRA== dependencies: err-code "^3.0.1" @@ -7205,7 +7321,7 @@ libp2p-crypto@^0.19.0, libp2p-crypto@^0.19.7: libp2p-crypto@^0.21.0: version "0.21.0" - resolved "https://registry.yarnpkg.com/libp2p-crypto/-/libp2p-crypto-0.21.0.tgz#a5f2aaf49434766ab899e42c92afec92ce660d39" + resolved "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.21.0.tgz" integrity sha512-fBBzK4v1xwDt8xktWpDPCTeoBhKzxc9JMv4EyPJpoqAcuoS06+0/OLODhYod5LFiSu3lsWW+JnxblLRs5O+mjA== dependencies: "@noble/ed25519" "^1.3.0" @@ -7219,7 +7335,7 @@ libp2p-crypto@^0.21.0: libp2p-crypto@^0.21.2: version "0.21.2" - resolved "https://registry.yarnpkg.com/libp2p-crypto/-/libp2p-crypto-0.21.2.tgz#7f9875436f24ca3887b077210b217b702bd72916" + resolved "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.21.2.tgz" integrity sha512-EXFrhSpiHtJ+/L8xXDvQNK5VjUMG51u878jzZcaT5XhuN/zFg6PWJFnl/qB2Y2j7eMWnvCRP7Kp+ua2H36cG4g== dependencies: "@noble/ed25519" "^1.5.1" @@ -7233,7 +7349,7 @@ libp2p-crypto@^0.21.2: libp2p-gossipsub@^0.14.0: version "0.14.0" - resolved "https://registry.yarnpkg.com/libp2p-gossipsub/-/libp2p-gossipsub-0.14.0.tgz#a05ce2a41b3aa6640f723f0d0363ad2808d56946" + resolved "https://registry.npmjs.org/libp2p-gossipsub/-/libp2p-gossipsub-0.14.0.tgz" integrity sha512-70YnK/zwYbAx2xx7CqPROje37AVLAu8OUgWJ3cSMN6AmCVvUMepebXbQvfnDg2+uLkNnnr1huaqHsceN2BYnkQ== dependencies: "@types/debug" "^4.1.7" @@ -7251,7 +7367,7 @@ libp2p-gossipsub@^0.14.0: libp2p-interfaces@4.0.4: version "4.0.4" - resolved "https://registry.yarnpkg.com/libp2p-interfaces/-/libp2p-interfaces-4.0.4.tgz#aa88ce344cb73bdf3972c7ef4a79566c27a41228" + resolved "https://registry.npmjs.org/libp2p-interfaces/-/libp2p-interfaces-4.0.4.tgz" integrity sha512-pD46BpdZBM4OEs/LdYJ74BT582OyL+MLOawZr+YRdQTt3s0UZBInc0SF/AhhL2je9bcfkMe4Z1ko+/nninTNvw== dependencies: abort-controller "^3.0.0" @@ -7271,7 +7387,7 @@ libp2p-interfaces@4.0.4: libp2p-interfaces@^4.0.0: version "4.0.6" - resolved "https://registry.yarnpkg.com/libp2p-interfaces/-/libp2p-interfaces-4.0.6.tgz#462062e04a680703bca18eb1d7a9c963a39344d1" + resolved "https://registry.npmjs.org/libp2p-interfaces/-/libp2p-interfaces-4.0.6.tgz" integrity sha512-3KjzNEIWhi+VoOamLvgKKUE/xqwxSw/JYqsBnfMhAWVRvRtosROtVT03wci2XbuuowCYw+/hEX1xKJIR1w5n0A== dependencies: abortable-iterator "^3.0.0" @@ -7290,7 +7406,7 @@ libp2p-interfaces@^4.0.0: libp2p-mdns@^0.18.0: version "0.18.0" - resolved "https://registry.yarnpkg.com/libp2p-mdns/-/libp2p-mdns-0.18.0.tgz#20b124468dc0d10f614e1c5d042190313888ebd9" + resolved "https://registry.npmjs.org/libp2p-mdns/-/libp2p-mdns-0.18.0.tgz" integrity sha512-IBCKRuNc5USlli9QF/gOq2loCssE4ZKkVRhUNuAVBRXJ8ueqFEquc5R5C1sWy7AOgbycTgeNcxzSa1kuNb6nbg== dependencies: debug "^4.3.1" @@ -7300,7 +7416,7 @@ libp2p-mdns@^0.18.0: libp2p-mplex@^0.10.5: version "0.10.5" - resolved "https://registry.yarnpkg.com/libp2p-mplex/-/libp2p-mplex-0.10.5.tgz#05603689cf27844b637e483e1df2c24d2dfd0dab" + resolved "https://registry.npmjs.org/libp2p-mplex/-/libp2p-mplex-0.10.5.tgz" integrity sha512-INgYgHVR1Dl8NDRmlrRVJUWyykeQa+tda892+fB1R3igKMXKP7pstJE72WS6cznzqnltCfbxOMghyx/fJImUHA== dependencies: abort-controller "^3.0.0" @@ -7314,7 +7430,7 @@ libp2p-mplex@^0.10.5: libp2p-tcp@^0.17.2: version "0.17.2" - resolved "https://registry.yarnpkg.com/libp2p-tcp/-/libp2p-tcp-0.17.2.tgz#cf2caceee032d4e1aecac843b451477c3b6cf0d9" + resolved "https://registry.npmjs.org/libp2p-tcp/-/libp2p-tcp-0.17.2.tgz" integrity sha512-SAdgDB4Rm0olPbyvanKP5JBaiRwbIOo0Nt++WYe1U2B6akg2uatsDOtulfpnc1gsL1B5vamnOpOzKaDj4kkt8g== dependencies: abortable-iterator "^3.0.0" @@ -7328,7 +7444,7 @@ libp2p-tcp@^0.17.2: libp2p-utils@^0.4.0: version "0.4.1" - resolved "https://registry.yarnpkg.com/libp2p-utils/-/libp2p-utils-0.4.1.tgz#260405434c376db8a1d9023867373b99b81c657f" + resolved "https://registry.npmjs.org/libp2p-utils/-/libp2p-utils-0.4.1.tgz" integrity sha512-kq/US2unamiyY+YwP47dO1uqpAdcbdYI2Fzi9JIEhjfPBaD1MR/uyQ/YP7ABthl3EaxAjIQYd1TVp85d6QKAtQ== dependencies: abortable-iterator "^3.0.0" @@ -7341,7 +7457,7 @@ libp2p-utils@^0.4.0: libp2p@^0.36.2: version "0.36.2" - resolved "https://registry.yarnpkg.com/libp2p/-/libp2p-0.36.2.tgz#d8f8fc1021d4eff920db74fbe27038771c92f309" + resolved "https://registry.npmjs.org/libp2p/-/libp2p-0.36.2.tgz" integrity sha512-UpNYBMQVivMu56zoibdGitopv39uBBAybIBOEGWmFy/I2NnTVGUutLPrxo47AuN2kntYgo/TNJfW+PpswUgSaw== dependencies: "@vascosantos/moving-average" "^1.1.0" @@ -7401,7 +7517,7 @@ libp2p@^0.36.2: light-my-request@^4.2.0: version "4.4.1" - resolved "https://registry.yarnpkg.com/light-my-request/-/light-my-request-4.4.1.tgz#bfa2220316eef4f6465bf2f0667780da6b7f6a71" + resolved "https://registry.npmjs.org/light-my-request/-/light-my-request-4.4.1.tgz" integrity sha512-FDNRF2mYjthIRWE7O8d/X7AzDx4otQHl4/QXbu3Q/FRwBFcgb+ZoDaUd5HwN53uQXLAiw76osN+Va0NEaOW6rQ== dependencies: ajv "^6.12.2" @@ -7412,12 +7528,12 @@ light-my-request@^4.2.0: lines-and-columns@^1.1.6: version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= load-json-file@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= dependencies: graceful-fs "^4.1.2" @@ -7428,7 +7544,7 @@ load-json-file@^1.0.0: load-json-file@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= dependencies: graceful-fs "^4.1.2" @@ -7438,7 +7554,7 @@ load-json-file@^4.0.0: load-json-file@^6.2.0: version "6.2.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz" integrity sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ== dependencies: graceful-fs "^4.1.15" @@ -7448,12 +7564,12 @@ load-json-file@^6.2.0: loady@~0.0.5: version "0.0.5" - resolved "https://registry.yarnpkg.com/loady/-/loady-0.0.5.tgz#b17adb52d2fb7e743f107b0928ba0b591da5d881" + resolved "https://registry.npmjs.org/loady/-/loady-0.0.5.tgz" integrity sha512-uxKD2HIj042/HBx77NBcmEPsD+hxCgAtjEWlYNScuUjIsh/62Uyu39GOR68TBR68v+jqDL9zfftCWoUo4y03sQ== locate-path@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= dependencies: p-locate "^2.0.0" @@ -7461,63 +7577,58 @@ locate-path@^2.0.0: locate-path@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: p-locate "^4.1.0" locate-path@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: p-locate "^5.0.0" lockfile@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.4.tgz#07f819d25ae48f87e538e6578b6964a4981a5609" + resolved "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz" integrity sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA== dependencies: signal-exit "^3.0.2" lodash._reinterpolate@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + resolved "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz" integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - -lodash.flatten@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= - lodash.flattendeep@^4.4.0: version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" + resolved "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz" integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= lodash.get@^4.4.2: version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= lodash.ismatch@^4.4.0: version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" + resolved "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz" integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + lodash.some@^4.6.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" + resolved "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz" integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0= lodash.template@^4.4.0, lodash.template@^4.5.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" + resolved "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz" integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== dependencies: lodash._reinterpolate "^3.0.0" @@ -7525,31 +7636,26 @@ lodash.template@^4.4.0, lodash.template@^4.5.0: lodash.templatesettings@^4.0.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" + resolved "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz" integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== dependencies: lodash._reinterpolate "^3.0.0" -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - lodash@^4.1.2, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== log-symbols@4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz" integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== dependencies: chalk "^4.0.0" log-symbols@4.1.0, log-symbols@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== dependencies: chalk "^4.1.0" @@ -7557,14 +7663,14 @@ log-symbols@4.1.0, log-symbols@^4.1.0: log-symbols@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz" integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== dependencies: chalk "^2.0.1" logform@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/logform/-/logform-2.2.0.tgz#40f036d19161fc76b68ab50fdc7fe495544492f2" + resolved "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz" integrity sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg== dependencies: colors "^1.2.1" @@ -7575,12 +7681,12 @@ logform@^2.2.0: long@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" + resolved "https://registry.npmjs.org/long/-/long-4.0.0.tgz" integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== loud-rejection@^1.0.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + resolved "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz" integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= dependencies: currently-unhandled "^0.4.1" @@ -7588,36 +7694,36 @@ loud-rejection@^1.0.0: lowercase-keys@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== lru-cache@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: yallist "^4.0.0" ltgt@^2.1.2: version "2.2.1" - resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" + resolved "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz" integrity sha1-81ypHEk/e3PaDgdJUwTxezH4fuU= lunr@^2.3.9: version "2.3.9" - resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" + resolved "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz" integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== mafmt@^10.0.0: version "10.0.0" - resolved "https://registry.yarnpkg.com/mafmt/-/mafmt-10.0.0.tgz#431726f16e51090b32ada621c402acbdb64fce9c" + resolved "https://registry.npmjs.org/mafmt/-/mafmt-10.0.0.tgz" integrity sha512-K1bziJOXcnepfztu+2Xy9FLKVLaFMDuspmiyJIYRxnO0WOxFSV7XKSdMxMrVZxcvg1+YjlTIvSGTImUHU2k4Aw== dependencies: multiaddr "^10.0.0" make-dir@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== dependencies: pify "^4.0.1" @@ -7625,19 +7731,19 @@ make-dir@^2.1.0: make-dir@^3.0.0, make-dir@^3.0.2: version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== dependencies: semver "^6.0.0" make-error@^1.1.1: version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== make-fetch-happen@^8.0.9: version "8.0.14" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz#aaba73ae0ab5586ad8eaa68bd83332669393e222" + resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz" integrity sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ== dependencies: agentkeepalive "^4.1.3" @@ -7658,7 +7764,7 @@ make-fetch-happen@^8.0.9: make-fetch-happen@^9.1.0: version "9.1.0" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" + resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz" integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== dependencies: agentkeepalive "^4.1.3" @@ -7680,22 +7786,22 @@ make-fetch-happen@^9.1.0: map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= map-obj@^4.0.0: version "4.2.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.1.tgz#e4ea399dbc979ae735c83c863dd31bdf364277b7" + resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz" integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ== marked@^1.1.1: version "1.2.9" - resolved "https://registry.yarnpkg.com/marked/-/marked-1.2.9.tgz#53786f8b05d4c01a2a5a76b7d1ec9943d29d72dc" + resolved "https://registry.npmjs.org/marked/-/marked-1.2.9.tgz" integrity sha512-H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw== md5.js@^1.3.4: version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + resolved "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz" integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== dependencies: hash-base "^3.0.0" @@ -7704,12 +7810,12 @@ md5.js@^1.3.4: memorystream@^0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" + resolved "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz" integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI= meow@^3.3.0: version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + resolved "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz" integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= dependencies: camelcase-keys "^2.0.0" @@ -7725,7 +7831,7 @@ meow@^3.3.0: meow@^8.0.0: version "8.1.2" - resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" + resolved "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz" integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== dependencies: "@types/minimist" "^1.2.0" @@ -7742,37 +7848,45 @@ meow@^8.0.0: merge-options@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/merge-options/-/merge-options-3.0.4.tgz#84709c2aa2a4b24c1981f66c179fe5565cc6dbb7" + resolved "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz" integrity sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== dependencies: is-plain-obj "^2.1.0" merge-stream@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0: +merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== methods@^1.1.1, methods@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= micromatch@^4.0.2: version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== dependencies: braces "^3.0.1" picomatch "^2.2.3" +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + miller-rabin@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + resolved "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz" integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== dependencies: bn.js "^4.0.0" @@ -7780,94 +7894,101 @@ miller-rabin@^4.0.0: mime-db@1.47.0: version "1.47.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz" integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw== mime-types@^2.1.12, mime-types@~2.1.19: version "2.1.30" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz" integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg== dependencies: mime-db "1.47.0" mime@^1.4.1: version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== mimic-fn@^1.0.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== mimic-fn@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== mimic-response@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== mimic-response@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== min-indent@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" minimatch@4.2.1: version "4.2.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-4.2.1.tgz#40d9d511a46bdc4e563c22c3080cde9c0d8299b4" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz" integrity sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g== dependencies: brace-expansion "^1.1.7" +minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + minimist-options@4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz" integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== dependencies: arrify "^1.0.1" is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: +minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: version "1.2.6" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz" integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== minipass-collect@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz" integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== dependencies: minipass "^3.0.0" minipass-fetch@^1.3.0, minipass-fetch@^1.3.2: version "1.3.3" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.3.3.tgz#34c7cea038c817a8658461bf35174551dce17a0a" + resolved "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.3.3.tgz" integrity sha512-akCrLDWfbdAWkMLBxJEeWTdNsjML+dt5YgOI4gJ53vuO0vrmYQkUPxa6j6V65s9CcePIr2SSWqjT2EcrNseryQ== dependencies: minipass "^3.1.0" @@ -7878,14 +7999,14 @@ minipass-fetch@^1.3.0, minipass-fetch@^1.3.2: minipass-flush@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + resolved "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz" integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== dependencies: minipass "^3.0.0" minipass-json-stream@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz#7edbb92588fbfc2ff1db2fc10397acb7b6b44aa7" + resolved "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz" integrity sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg== dependencies: jsonparse "^1.3.1" @@ -7893,21 +8014,21 @@ minipass-json-stream@^1.0.1: minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: version "1.2.4" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + resolved "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz" integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== dependencies: minipass "^3.0.0" minipass-sized@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" + resolved "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz" integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== dependencies: minipass "^3.0.0" minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" + resolved "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz" integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== dependencies: safe-buffer "^5.1.2" @@ -7915,21 +8036,21 @@ minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: version "3.1.3" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" + resolved "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz" integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== dependencies: yallist "^4.0.0" -minizlib@^1.2.1: +minizlib@^1.2.1, minizlib@^1.3.3: version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" + resolved "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz" integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== dependencies: minipass "^2.9.0" minizlib@^2.0.0, minizlib@^2.1.1: version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== dependencies: minipass "^3.0.0" @@ -7937,34 +8058,34 @@ minizlib@^2.0.0, minizlib@^2.1.1: mitt@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.0.tgz#69ef9bd5c80ff6f57473e8d89326d01c414be0bd" + resolved "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz" integrity sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ== mkdirp-infer-owner@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316" + resolved "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz" integrity sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw== dependencies: chownr "^2.0.0" infer-owner "^1.0.4" mkdirp "^1.0.3" -mkdirp@^0.5.0, mkdirp@^0.5.1: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.5: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== dependencies: - minimist "^1.2.5" + minimist "^1.2.6" mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== mocha@^8.1.1: - version "8.3.2" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.3.2.tgz#53406f195fa86fbdebe71f8b1c6fb23221d69fcc" - integrity sha512-UdmISwr/5w+uXLPKspgoV7/RXZwKRTiTjJ2/AC5ZiEztIoOYdfKb19+9jNmEInzx5pBsCyJQzarAxqIGBNYJhg== + version "8.4.0" + resolved "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz" + integrity sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ== dependencies: "@ungap/promise-all-settled" "1.1.2" ansi-colors "4.1.1" @@ -7994,7 +8115,7 @@ mocha@^8.1.1: mocha@^9.2.2: version "9.2.2" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.2.2.tgz#d70db46bdb93ca57402c809333e5a84977a88fb9" + resolved "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz" integrity sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g== dependencies: "@ungap/promise-all-settled" "1.1.2" @@ -8024,22 +8145,22 @@ mocha@^9.2.2: mockery@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/mockery/-/mockery-2.1.0.tgz#5b0aef1ff564f0f8139445e165536c7909713470" + resolved "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz" integrity sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA== modify-values@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" + resolved "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== moment@^2.11.2: - version "2.29.2" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.2.tgz#00910c60b20843bcba52d37d58c628b47b1f20e4" - integrity sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg== + version "2.29.1" + resolved "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz" + integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== mortice@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/mortice/-/mortice-2.0.1.tgz#047b83c8c57d49e90e586f1f9e7d63e1f80d4a2b" + resolved "https://registry.npmjs.org/mortice/-/mortice-2.0.1.tgz" integrity sha512-9gsXmjq+5LZmXDIoyC/crf2i/7CUwDGSBEwSEsr1i/WfKmJ6DVt38B5kg6BE/WF/1/yfGJYiB1Wyiu423iI3nQ== dependencies: nanoid "^3.1.20" @@ -8049,22 +8170,22 @@ mortice@^2.0.1: ms@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= ms@2.1.2: version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== ms@2.1.3, ms@^2.0.0, ms@^2.1.1: version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== multiaddr@^10.0.0, multiaddr@^10.0.1: version "10.0.1" - resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-10.0.1.tgz#0d15848871370860a4d266bb44d93b3dac5d90ef" + resolved "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz" integrity sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg== dependencies: dns-over-http-resolver "^1.2.3" @@ -8076,14 +8197,14 @@ multiaddr@^10.0.0, multiaddr@^10.0.1: multibase@^4.0.1: version "4.0.4" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-4.0.4.tgz#55ef53e6acce223c5a09341a8a3a3d973871a577" + resolved "https://registry.npmjs.org/multibase/-/multibase-4.0.4.tgz" integrity sha512-8/JmrdSGzlw6KTgAJCOqUBSGd1V6186i/X8dDCGy/lbCKrQ+1QB6f3HE+wPr7Tpdj4U3gutaj9jG2rNX6UpiJg== dependencies: "@multiformats/base-x" "^4.0.1" multicast-dns@^7.2.0: version "7.2.2" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.2.tgz#5731da04f47d1e435ac457e5ac7b4b39d866a5a1" + resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.2.tgz" integrity sha512-XqSMeO8EWV/nOXOpPV8ztIpNweVfE1dSpz6SQvDPp71HD74lMXjt4m/mWB1YBMG0kHtOodxRWc5WOb/UNN1A5g== dependencies: dns-packet "^4.0.0" @@ -8091,22 +8212,22 @@ multicast-dns@^7.2.0: multiformats@^9.0.0, multiformats@^9.1.2: version "9.4.6" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.4.6.tgz#d24b2e313ff3a3f8f48eef771d44fb329a354e56" + resolved "https://registry.npmjs.org/multiformats/-/multiformats-9.4.6.tgz" integrity sha512-ngZRO82P7mPvw/3gu5NQ2QiUJGYTS0LAxvQnEAlWCJakvn7YpK2VAd9JWM5oosYUeqoVbkylH/FsqRc4fc2+ag== multiformats@^9.4.2, multiformats@^9.4.5: version "9.4.5" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.4.5.tgz#9ac47bbc87aadb09d4bd05e9cd3da6f4436414f6" + resolved "https://registry.npmjs.org/multiformats/-/multiformats-9.4.5.tgz" integrity sha512-zQxukxsHM34EJi3yT3MkUlycY9wEouyrAz0PSN+CyCj6cYchJZ4LrTH74YtlsxVyAK6waz/gnVLmJwi3P0knKg== multiformats@^9.6.4: version "9.6.4" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.6.4.tgz#5dce1f11a407dbb69aa612cb7e5076069bb759ca" + resolved "https://registry.npmjs.org/multiformats/-/multiformats-9.6.4.tgz" integrity sha512-fCCB6XMrr6CqJiHNjfFNGT0v//dxOBMrOMqUIzpPc/mmITweLEyhvMpY9bF+jZ9z3vaMAau5E8B68DW77QMXkg== multihashes@^4.0.3: version "4.0.3" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-4.0.3.tgz#426610539cd2551edbf533adeac4c06b3b90fb05" + resolved "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz" integrity sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA== dependencies: multibase "^4.0.1" @@ -8115,7 +8236,7 @@ multihashes@^4.0.3: multimatch@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6" + resolved "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz" integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== dependencies: "@types/minimatch" "^3.0.3" @@ -8126,7 +8247,7 @@ multimatch@^5.0.0: multistream-select@^3.0.0: version "3.0.2" - resolved "https://registry.yarnpkg.com/multistream-select/-/multistream-select-3.0.2.tgz#18919b3c74c8eac6ae9b1ba9b8ac5af79cfab3e8" + resolved "https://registry.npmjs.org/multistream-select/-/multistream-select-3.0.2.tgz" integrity sha512-ICGA8DAviZj6Xo1NkaRV3J38M+tFDoWiGtO1ksluyMnskAsdGjAzocg806OzpQPivNGWWboX3CrFT2Tk4UdYXA== dependencies: abortable-iterator "^3.0.0" @@ -8143,57 +8264,52 @@ multistream-select@^3.0.0: mutable-proxy@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/mutable-proxy/-/mutable-proxy-1.0.0.tgz#3c6e6f9304c2e5a4751bb65b5a66677de9bcf3c8" + resolved "https://registry.npmjs.org/mutable-proxy/-/mutable-proxy-1.0.0.tgz" integrity sha512-4OvNRr1DJpy2QuDUV74m+BWZ//n4gG4bmd21MzDSPqHEidIDWqwyOjcadU1LBMO3vXYGurVKjfBrxrSQIHFu9A== mute-stream@0.0.8, mute-stream@~0.0.4: version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== nan@^2.13.2, nan@^2.14.2: version "2.14.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" + resolved "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz" integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== nan@^2.14.1: version "2.14.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" + resolved "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz" integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== -nanoid@3.1.20: +nanoid@3.1.20, nanoid@^3.0.2: version "3.1.20" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz" integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== nanoid@3.3.1: version "3.3.1" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz" integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== -nanoid@^3.0.2: - version "3.1.10" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.10.tgz#69a8a52b77892de0d11cede96bc9762852145bc4" - integrity sha512-iZFMXKeXWkxzlfmMfM91gw7YhN2sdJtixY+eZh9V6QWJWTOiurhpKhBMgr82pfzgSqglQgqYSCowEYsz8D++6w== - nanoid@^3.1.20: version "3.1.25" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.25.tgz#09ca32747c0e543f0e1814b7d3793477f9c8e152" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz" integrity sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q== napi-build-utils@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" + resolved "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz" integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== napi-macros@~2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.0.0.tgz#2b6bae421e7b96eb687aa6c77a7858640670001b" + resolved "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz" integrity sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg== nat-api@^0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/nat-api/-/nat-api-0.3.1.tgz#1e7808ed1c21c8c9b267d14be40cdb1e87d5271b" + resolved "https://registry.npmjs.org/nat-api/-/nat-api-0.3.1.tgz" integrity sha512-5cyLugEkXnKSKSvVjKjxxPMLDnkwY3boZLbATWwiGJ4T/3UvIpiQmzb2RqtxxEFcVo/7PwsHPGN0MosopONO8Q== dependencies: async "^3.2.0" @@ -8205,23 +8321,23 @@ nat-api@^0.3.1: native-abort-controller@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/native-abort-controller/-/native-abort-controller-1.0.3.tgz#35974a2e189c0d91399c8767a989a5bf058c1435" + resolved "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.3.tgz" integrity sha512-fd5LY5q06mHKZPD5FmMrn7Lkd2H018oBGKNOAdLpctBDEPFKsfJ1nX9ke+XRa8PEJJpjqrpQkGjq2IZ27QNmYA== native-fetch@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/native-fetch/-/native-fetch-3.0.0.tgz#06ccdd70e79e171c365c75117959cf4fe14a09bb" + resolved "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz" integrity sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw== natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= needle@^2.2.1: - version "2.6.0" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.6.0.tgz#24dbb55f2509e2324b4a99d61f413982013ccdbe" - integrity sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg== + version "2.9.1" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.9.1.tgz#22d1dffbe3490c2b83e301f7709b6736cd8f2684" + integrity sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ== dependencies: debug "^3.2.6" iconv-lite "^0.4.4" @@ -8229,32 +8345,32 @@ needle@^2.2.1: negotiator@^0.6.2: version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== neo-async@^2.6.0: version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== netmask@^1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/netmask/-/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35" + resolved "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz" integrity sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU= netmask@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" + resolved "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz" integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== nice-try@^1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== nise@^4.0.4: version "4.1.0" - resolved "https://registry.yarnpkg.com/nise/-/nise-4.1.0.tgz#8fb75a26e90b99202fa1e63f448f58efbcdedaf6" + resolved "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz" integrity sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA== dependencies: "@sinonjs/commons" "^1.7.0" @@ -8265,39 +8381,49 @@ nise@^4.0.4: node-abi@^2.7.0: version "2.26.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.26.0.tgz#355d5d4bc603e856f74197adbf3f5117a396ba40" + resolved "https://registry.npmjs.org/node-abi/-/node-abi-2.26.0.tgz" integrity sha512-ag/Vos/mXXpWLLAYWsAoQdgS+gW7IwvgMLOgqopm/DbzAjazLltzgzpVMsFlgmo9TzG5hGXeaBZx2AI731RIsQ== dependencies: semver "^5.4.1" node-addon-api@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz" integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== -node-fetch@2.6.7, node-fetch@^2.6.0, node-fetch@^2.6.1, "node-fetch@npm:@achingbrain/node-fetch@^2.6.4": +node-fetch@2.6.1, node-fetch@^2.6.1: + version "2.6.1" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + +node-fetch@^2.6.0: + version "2.6.0" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz" + integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== + +"node-fetch@npm:@achingbrain/node-fetch@^2.6.4": version "2.6.7" - resolved "https://registry.yarnpkg.com/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz#1b5d62978f2ed07b99444f64f0df39f960a6d34d" + resolved "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz" integrity sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g== node-forge@^0.10.0: version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" + resolved "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz" integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== node-forge@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.2.1.tgz#82794919071ef2eb5c509293325cec8afd0fd53c" + resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz" integrity sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w== node-gyp-build@^4.2.0, node-gyp-build@~4.2.1: version "4.2.3" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739" + resolved "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz" integrity sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg== node-gyp@^5.0.2: version "5.1.1" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-5.1.1.tgz#eb915f7b631c937d282e33aed44cb7a025f62a3e" + resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.1.tgz" integrity sha512-WH0WKGi+a4i4DUt2mHnvocex/xPLp9pYt5R6M2JdFB7pJ7Z34hveZ4nDTGTiLXCkitA9T8HFZjhinBCiVHYcWw== dependencies: env-paths "^2.2.0" @@ -8314,7 +8440,7 @@ node-gyp@^5.0.2: node-gyp@^7.1.0: version "7.1.2" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" + resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz" integrity sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ== dependencies: env-paths "^2.2.0" @@ -8330,7 +8456,7 @@ node-gyp@^7.1.0: node-gyp@^8.4.0: version "8.4.1" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.1.tgz#3d49308fc31f768180957d6b5746845fbd429937" + resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz" integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== dependencies: env-paths "^2.2.0" @@ -8346,7 +8472,7 @@ node-gyp@^8.4.0: node-libs-browser@^2.1.0: version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + resolved "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz" integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== dependencies: assert "^1.1.1" @@ -8375,7 +8501,7 @@ node-libs-browser@^2.1.0: node-pre-gyp@^0.13.0: version "0.13.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.13.0.tgz#df9ab7b68dd6498137717838e4f92a33fc9daa42" + resolved "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.13.0.tgz" integrity sha512-Md1D3xnEne8b/HGVQkZZwV27WUi1ZRuZBij24TNaZwUPU3ZAFtvT6xxJGaUVillfmMKnn5oD1HoGsp2Ftik7SQ== dependencies: detect-libc "^1.0.2" @@ -8391,19 +8517,19 @@ node-pre-gyp@^0.13.0: node-preload@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/node-preload/-/node-preload-0.2.1.tgz#c03043bb327f417a18fee7ab7ee57b408a144301" + resolved "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz" integrity sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ== dependencies: process-on-spawn "^1.0.0" noop-logger@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" + resolved "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz" integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI= nopt@^4.0.1: version "4.0.3" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" + resolved "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz" integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== dependencies: abbrev "1" @@ -8411,14 +8537,14 @@ nopt@^4.0.1: nopt@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + resolved "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz" integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== dependencies: abbrev "1" normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" @@ -8428,7 +8554,7 @@ normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package- normalize-package-data@^3.0.0: version "3.0.2" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.2.tgz#cae5c410ae2434f9a6c1baa65d5bc3b9366c8699" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz" integrity sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg== dependencies: hosted-git-info "^4.0.1" @@ -8438,36 +8564,36 @@ normalize-package-data@^3.0.0: normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-url@^3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz" integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== normalize-url@^4.1.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz" integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== npm-bundled@^1.0.1, npm-bundled@^1.1.1: version "1.1.2" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" + resolved "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz" integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== dependencies: npm-normalize-package-bin "^1.0.1" npm-install-checks@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-4.0.0.tgz#a37facc763a2fde0497ef2c6d0ac7c3fbe00d7b4" + resolved "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz" integrity sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w== dependencies: semver "^7.1.1" npm-lifecycle@^3.1.5: version "3.1.5" - resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz#9882d3642b8c82c815782a12e6a1bfeed0026309" + resolved "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz" integrity sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g== dependencies: byline "^5.0.0" @@ -8481,12 +8607,12 @@ npm-lifecycle@^3.1.5: npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" + resolved "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== npm-package-arg@^8.0.0, npm-package-arg@^8.0.1, npm-package-arg@^8.1.0, npm-package-arg@^8.1.2: version "8.1.2" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.2.tgz#b868016ae7de5619e729993fbd8d11dc3c52ab62" + resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.2.tgz" integrity sha512-6Eem455JsSMJY6Kpd3EyWE+n5hC+g9bSyHr9K9U2zqZb7+02+hObQ2c0+8iDk/mNF+8r1MhY44WypKJAkySIYA== dependencies: hosted-git-info "^4.0.1" @@ -8504,7 +8630,7 @@ npm-packlist@^1.1.6: npm-packlist@^2.1.4: version "2.2.2" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-2.2.2.tgz#076b97293fa620f632833186a7a8f65aaa6148c8" + resolved "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.2.2.tgz" integrity sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg== dependencies: glob "^7.1.6" @@ -8514,7 +8640,7 @@ npm-packlist@^2.1.4: npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1: version "6.1.1" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz#7b5484ca2c908565f43b7f27644f36bb816f5148" + resolved "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz" integrity sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA== dependencies: npm-install-checks "^4.0.0" @@ -8524,7 +8650,7 @@ npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1: npm-registry-fetch@^10.0.0: version "10.1.2" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-10.1.2.tgz#11ffe03d813c653e768bdf762cfc5f1afe91b8bd" + resolved "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-10.1.2.tgz" integrity sha512-KsM/TdPmntqgBFlfsbkOLkkE9ovZo7VpVcd+/eTdYszCrgy5zFl5JzWm+OxavFaEWlbkirpkou+ZYI00RmOBFA== dependencies: lru-cache "^6.0.0" @@ -8537,7 +8663,7 @@ npm-registry-fetch@^10.0.0: npm-registry-fetch@^9.0.0: version "9.0.0" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz#86f3feb4ce00313bc0b8f1f8f69daae6face1661" + resolved "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz" integrity sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA== dependencies: "@npmcli/ci-detect" "^1.0.0" @@ -8551,7 +8677,7 @@ npm-registry-fetch@^9.0.0: npm-run-all@^4.1.5: version "4.1.5" - resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" + resolved "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz" integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== dependencies: ansi-styles "^3.2.1" @@ -8566,14 +8692,14 @@ npm-run-all@^4.1.5: npm-run-path@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: path-key "^3.0.0" npmlog@^4.0.1, npmlog@^4.0.2, npmlog@^4.1.2: version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + resolved "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== dependencies: are-we-there-yet "~1.1.2" @@ -8583,7 +8709,7 @@ npmlog@^4.0.1, npmlog@^4.0.2, npmlog@^4.1.2: npmlog@^6.0.0: version "6.0.1" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.1.tgz#06f1344a174c06e8de9c6c70834cfba2964bba17" + resolved "https://registry.npmjs.org/npmlog/-/npmlog-6.0.1.tgz" integrity sha512-BTHDvY6nrRHuRfyjt1MAufLxYdVXZfd099H4+i1f0lPywNQyI4foeNXJRObB/uy+TYqUW0vAD9gbdSOXPst7Eg== dependencies: are-we-there-yet "^3.0.0" @@ -8593,12 +8719,12 @@ npmlog@^6.0.0: number-is-nan@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= nyc@^15.1.0: version "15.1.0" - resolved "https://registry.yarnpkg.com/nyc/-/nyc-15.1.0.tgz#1335dae12ddc87b6e249d5a1994ca4bdaea75f02" + resolved "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz" integrity sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A== dependencies: "@istanbuljs/load-nyc-config" "^1.0.0" @@ -8631,32 +8757,32 @@ nyc@^15.1.0: oauth-sign@~0.9.0: version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= object-hash@^2.0.1: version "2.2.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" + resolved "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz" integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== -object-inspect@^1.10.3: - version "1.11.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" - integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== +object-inspect@^1.12.0: + version "1.12.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.1.tgz#28a661153bad7e470e4b01479ef1cb91ce511191" + integrity sha512-Y/jF6vnvEtOPGiKD1+q+X0CiUYRQtEHp89MLLUJ7TUivtH8Ugn2+3A7Rynqk7BRsAoqeOQWnFnjpDrKSxDgIGA== object-inspect@^1.9.0: version "1.10.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz" integrity sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw== object-is@^1.0.1: version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== dependencies: call-bind "^1.0.2" @@ -8664,12 +8790,12 @@ object-is@^1.0.1: object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object.assign@^4.1.2: version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== dependencies: call-bind "^1.0.0" @@ -8679,68 +8805,68 @@ object.assign@^4.1.2: object.getownpropertydescriptors@^2.0.3: version "2.1.2" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" + resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz" integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" es-abstract "^1.18.0-next.2" -object.values@^1.1.3: - version "1.1.4" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" - integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== +object.values@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.2" + es-abstract "^1.19.1" observable-fns@^0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/observable-fns/-/observable-fns-0.6.1.tgz#636eae4fdd1132e88c0faf38d33658cc79d87e37" + resolved "https://registry.npmjs.org/observable-fns/-/observable-fns-0.6.1.tgz" integrity sha512-9gRK4+sRWzeN6AOewNBTLXir7Zl/i3GB6Yl26gK4flxz8BXVpD3kt8amREmWNb0mxYOGDotvE5a4N+PtGGKdkg== observable-webworkers@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/observable-webworkers/-/observable-webworkers-1.0.0.tgz#dcbd484a9644d512accc351962c6e710313fbb68" + resolved "https://registry.npmjs.org/observable-webworkers/-/observable-webworkers-1.0.0.tgz" integrity sha512-+cECwCR8IEh8UY5nefQVLO9Cydqpk1izO+o7BABmKjXfJZyEOzBWY3ss5jbOPM6KmEa9aQExvAtTW6tVTOsNAQ== once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" one-time@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/one-time/-/one-time-1.0.0.tgz#e06bc174aed214ed58edede573b433bbf827cb45" + resolved "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz" integrity sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g== dependencies: fn.name "1.x.x" onetime@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + resolved "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= dependencies: mimic-fn "^1.0.0" onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" optional@^0.1.3: version "0.1.4" - resolved "https://registry.yarnpkg.com/optional/-/optional-0.1.4.tgz#cdb1a9bedc737d2025f690ceeb50e049444fd5b3" + resolved "https://registry.npmjs.org/optional/-/optional-0.1.4.tgz" integrity sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw== optionator@^0.9.1: version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== dependencies: deep-is "^0.1.3" @@ -8752,7 +8878,7 @@ optionator@^0.9.1: ora@^3.0.0: version "3.4.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" + resolved "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz" integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg== dependencies: chalk "^2.4.2" @@ -8764,7 +8890,7 @@ ora@^3.0.0: ora@^5.4.1: version "5.4.1" - resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + resolved "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz" integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== dependencies: bl "^4.1.0" @@ -8779,22 +8905,22 @@ ora@^5.4.1: os-browserify@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + resolved "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz" integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + resolved "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= osenv@^0.1.4: version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + resolved "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz" integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== dependencies: os-homedir "^1.0.0" @@ -8802,7 +8928,7 @@ osenv@^0.1.4: p-any@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/p-any/-/p-any-3.0.0.tgz#79847aeed70b5d3a10ea625296c0c3d2e90a87b9" + resolved "https://registry.npmjs.org/p-any/-/p-any-3.0.0.tgz" integrity sha512-5rqbqfsRWNb0sukt0awwgJMlaep+8jV45S15SKKB34z4UuzjcofIfnriCBhWjZP2jbVtjt9yRl7buB6RlKsu9w== dependencies: p-cancelable "^2.0.0" @@ -8810,17 +8936,17 @@ p-any@^3.0.0: p-cancelable@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.0.tgz#4d51c3b91f483d02a0d300765321fca393d758dd" + resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.0.tgz" integrity sha512-HAZyB3ZodPo+BDpb4/Iu7Jv4P6cSazBz9ZM0ChhEXp70scx834aWCEjQRwgt41UzzejUAPdbqqONfRWTPYrPAQ== p-defer@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-3.0.0.tgz#d1dceb4ee9b2b604b1d94ffec83760175d4e6f83" + resolved "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz" integrity sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw== p-fifo@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-fifo/-/p-fifo-1.0.0.tgz#e29d5cf17c239ba87f51dde98c1d26a9cfe20a63" + resolved "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz" integrity sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A== dependencies: fast-fifo "^1.0.0" @@ -8828,78 +8954,78 @@ p-fifo@^1.0.0: p-finally@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= p-limit@^1.1.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== dependencies: p-try "^1.0.0" p-limit@^2.2.0, p-limit@^2.2.2: version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" p-limit@^3.0.2: version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" p-locate@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= dependencies: p-limit "^1.1.0" p-locate@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: p-limit "^2.2.0" p-locate@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: p-limit "^3.0.2" p-map-series@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-2.1.0.tgz#7560d4c452d9da0c07e692fdbfe6e2c81a2a91f2" + resolved "https://registry.npmjs.org/p-map-series/-/p-map-series-2.1.0.tgz" integrity sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q== p-map@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + resolved "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz" integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== dependencies: aggregate-error "^3.0.0" p-map@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== dependencies: aggregate-error "^3.0.0" p-pipe@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-3.1.0.tgz#48b57c922aa2e1af6a6404cb7c6bf0eb9cc8e60e" + resolved "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz" integrity sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw== p-queue@^6.0.0, p-queue@^6.6.2: version "6.6.2" - resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" + resolved "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz" integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== dependencies: eventemitter3 "^4.0.4" @@ -8907,17 +9033,17 @@ p-queue@^6.0.0, p-queue@^6.6.2: p-reduce@^2.0.0, p-reduce@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-2.1.0.tgz#09408da49507c6c274faa31f28df334bc712b64a" + resolved "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz" integrity sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw== p-reflect@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/p-reflect/-/p-reflect-2.1.0.tgz#5d67c7b3c577c4e780b9451fc9129675bd99fe67" + resolved "https://registry.npmjs.org/p-reflect/-/p-reflect-2.1.0.tgz" integrity sha512-paHV8NUz8zDHu5lhr/ngGWQiW067DK/+IbJ+RfZ4k+s8y4EKyYCz8pGYWjxCg35eHztpJAt+NUgvN4L+GCbPlg== p-retry@^4.4.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.5.0.tgz#6685336b3672f9ee8174d3769a660cb5e488521d" + resolved "https://registry.npmjs.org/p-retry/-/p-retry-4.5.0.tgz" integrity sha512-5Hwh4aVQSu6BEP+w2zKlVXtFAaYQe1qWuVADSgoeVlLjwe/Q/AMSoRR4MDeaAfu8llT+YNbEijWu/YF3m6avkg== dependencies: "@types/retry" "^0.12.0" @@ -8925,7 +9051,7 @@ p-retry@^4.4.0: p-settle@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/p-settle/-/p-settle-4.1.1.tgz#37fbceb2b02c9efc28658fc8d36949922266035f" + resolved "https://registry.npmjs.org/p-settle/-/p-settle-4.1.1.tgz" integrity sha512-6THGh13mt3gypcNMm0ADqVNCcYa3BK6DWsuJWFCuEKP1rpY+OKGp7gaZwVmLspmic01+fsg/fN57MfvDzZ/PuQ== dependencies: p-limit "^2.2.2" @@ -8933,7 +9059,7 @@ p-settle@^4.1.1: p-some@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/p-some/-/p-some-5.0.0.tgz#8b730c74b4fe5169d7264a240ad010b6ebc686a4" + resolved "https://registry.npmjs.org/p-some/-/p-some-5.0.0.tgz" integrity sha512-Js5XZxo6vHjB9NOYAzWDYAIyyiPvva0DWESAIWIK7uhSpGsyg5FwUPxipU/SOQx5x9EqhOh545d1jo6cVkitig== dependencies: aggregate-error "^3.0.0" @@ -8941,31 +9067,31 @@ p-some@^5.0.0: p-timeout@^3.2.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" + resolved "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz" integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== dependencies: p-finally "^1.0.0" p-try@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= p-try@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== p-waterfall@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/p-waterfall/-/p-waterfall-2.1.1.tgz#63153a774f472ccdc4eb281cdb2967fcf158b2ee" + resolved "https://registry.npmjs.org/p-waterfall/-/p-waterfall-2.1.1.tgz" integrity sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw== dependencies: p-reduce "^2.0.0" package-hash@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-4.0.0.tgz#3537f654665ec3cc38827387fc904c163c54f506" + resolved "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz" integrity sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ== dependencies: graceful-fs "^4.1.15" @@ -8975,7 +9101,7 @@ package-hash@^4.0.0: pacote@^11.2.6: version "11.3.3" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-11.3.3.tgz#d7d6091464f77c09691699df2ded13ab906b3e68" + resolved "https://registry.npmjs.org/pacote/-/pacote-11.3.3.tgz" integrity sha512-GQxBX+UcVZrrJRYMK2HoG+gPeSUX/rQhnbPkkGrCYa4n2F/bgClFPaMm0nsdnYrxnmUy85uMHoFXZ0jTD0drew== dependencies: "@npmcli/git" "^2.0.1" @@ -9000,19 +9126,19 @@ pacote@^11.2.6: pako@~1.0.5: version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + resolved "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" parse-asn1@^5.0.0, parse-asn1@^5.1.5: version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + resolved "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz" integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== dependencies: asn1.js "^5.2.0" @@ -9023,19 +9149,19 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5: parse-github-repo-url@^1.3.0: version "1.4.1" - resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50" + resolved "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz" integrity sha1-nn2LslKmy2ukJZUGC3v23z28H1A= parse-json@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= dependencies: error-ex "^1.2.0" parse-json@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= dependencies: error-ex "^1.3.1" @@ -9043,7 +9169,7 @@ parse-json@^4.0.0: parse-json@^5.0.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" @@ -9053,12 +9179,12 @@ parse-json@^5.0.0: parse-passwd@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + resolved "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz" integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= parse-path@^4.0.0: version "4.0.3" - resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.3.tgz#82d81ec3e071dcc4ab49aa9f2c9c0b8966bb22bf" + resolved "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz" integrity sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA== dependencies: is-ssh "^1.3.0" @@ -9068,7 +9194,7 @@ parse-path@^4.0.0: parse-url@^5.0.0: version "5.0.2" - resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-5.0.2.tgz#856a3be1fcdf78dc93fc8b3791f169072d898b59" + resolved "https://registry.npmjs.org/parse-url/-/parse-url-5.0.2.tgz" integrity sha512-Czj+GIit4cdWtxo3ISZCvLiUjErSo0iI3wJ+q9Oi3QuMYTI6OZu+7cewMWZ+C1YAnKhYTk6/TLuhIgCypLthPA== dependencies: is-ssh "^1.3.0" @@ -9078,56 +9204,56 @@ parse-url@^5.0.0: path-browserify@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz" integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== path-exists@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= dependencies: pinkie-promise "^2.0.0" path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= path-key@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.5, path-parse@^1.0.6: +path-parse@^1.0.5, path-parse@^1.0.6, path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-to-regexp@^1.7.0: version "1.8.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== dependencies: isarray "0.0.1" path-type@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + resolved "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= dependencies: graceful-fs "^4.1.2" @@ -9136,24 +9262,24 @@ path-type@^1.0.0: path-type@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== dependencies: pify "^3.0.0" path-type@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== pathval@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + resolved "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz" integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== pbkdf2@^3.0.17, pbkdf2@^3.0.3, pbkdf2@^3.0.9: version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + resolved "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz" integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== dependencies: create-hash "^1.1.2" @@ -9164,7 +9290,7 @@ pbkdf2@^3.0.17, pbkdf2@^3.0.3, pbkdf2@^3.0.9: peer-id@^0.15.3: version "0.15.3" - resolved "https://registry.yarnpkg.com/peer-id/-/peer-id-0.15.3.tgz#c093486bcc11399ba63672990382946cfcf0e6f3" + resolved "https://registry.npmjs.org/peer-id/-/peer-id-0.15.3.tgz" integrity sha512-pass5tk6Fbaz7PTD/3fJg2KWqaproHY0B0Ki8GQMEuMjkoLRcS2Vqt9yy6ob/+8uGBmWjRLtbMhaLV4HTyMDfw== dependencies: class-is "^1.1.0" @@ -9176,7 +9302,7 @@ peer-id@^0.15.3: peer-id@^0.16.0: version "0.16.0" - resolved "https://registry.yarnpkg.com/peer-id/-/peer-id-0.16.0.tgz#0913062cfa4378707fe69c949b5720b3efadbf32" + resolved "https://registry.npmjs.org/peer-id/-/peer-id-0.16.0.tgz" integrity sha512-EmL7FurFUduU9m1PS9cfJ5TAuCvxKQ7DKpfx3Yj6IKWyBRtosriFuOag/l3ni/dtPgPLwiA4R9IvpL7hsDLJuQ== dependencies: class-is "^1.1.0" @@ -9187,66 +9313,71 @@ peer-id@^0.16.0: pem-jwk@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/pem-jwk/-/pem-jwk-2.0.0.tgz#1c5bb264612fc391340907f5c1de60c06d22f085" + resolved "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz" integrity sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA== dependencies: asn1.js "^5.0.1" performance-now@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: version "2.2.3" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz" integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg== +picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + pidtree@^0.3.0: version "0.3.1" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" + resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz" integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== pify@^2.0.0, pify@^2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= pify@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= pify@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== pify@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" + resolved "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz" integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== pinkie-promise@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= pino-std-serializers@^3.1.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz#b56487c402d882eb96cd67c257868016b61ad671" + resolved "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz" integrity sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg== pino@^6.2.1: version "6.11.3" - resolved "https://registry.yarnpkg.com/pino/-/pino-6.11.3.tgz#0c02eec6029d25e6794fdb6bbea367247d74bc29" + resolved "https://registry.npmjs.org/pino/-/pino-6.11.3.tgz" integrity sha512-drPtqkkSf0ufx2gaea3TryFiBHdNIdXKf5LN0hTM82SXI4xVIve2wLwNg92e1MT6m3jASLu6VO7eGY6+mmGeyw== dependencies: fast-redact "^3.0.0" @@ -9256,30 +9387,16 @@ pino@^6.2.1: quick-format-unescaped "^4.0.3" sonic-boom "^1.0.2" -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" - pkg-dir@^4.1.0, pkg-dir@^4.2.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== dependencies: find-up "^4.0.0" -pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - prebuild-install@5.3.0: version "5.3.0" - resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-5.3.0.tgz#58b4d8344e03590990931ee088dd5401b03004c8" + resolved "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.0.tgz" integrity sha512-aaLVANlj4HgZweKttFNUVNRxDukytuIuxeK2boIMHjagNJCiVKWFsKF4tCE3ql3GbrD2tExPQ7/pwtEJcHNZeg== dependencies: detect-libc "^1.0.3" @@ -9301,24 +9418,24 @@ prebuild-install@5.3.0: prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== prettier-linter-helpers@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== dependencies: fast-diff "^1.1.2" prettier@^2.0.5: version "2.2.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" + resolved "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz" integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== private-ip@^2.1.0: version "2.2.1" - resolved "https://registry.yarnpkg.com/private-ip/-/private-ip-2.2.1.tgz#4fe167d04e12eca5c67cdcbd3224e86b38c79253" + resolved "https://registry.npmjs.org/private-ip/-/private-ip-2.2.1.tgz" integrity sha512-jN1WT/br/VNW9xEcwHr6DjtOKxQ5qOIqmh7o+co2TWgq56pZJw99iO3UT1tWdfgsQiyK9FqG4ji3ykwpjFqITA== dependencies: ip-regex "^4.3.0" @@ -9326,7 +9443,7 @@ private-ip@^2.1.0: private-ip@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/private-ip/-/private-ip-2.1.1.tgz#cd4ac7481099991e211706f411aede9725c1712f" + resolved "https://registry.npmjs.org/private-ip/-/private-ip-2.1.1.tgz" integrity sha512-csxTtREJ7254nnUF14hjOrnd/vZH78vTS5opec6IDVZRwY3omKDcNL/r+vfxFZnCRsrBWVA8B0Q95lgMGrFuZQ== dependencies: is-ip "^3.1.0" @@ -9334,43 +9451,43 @@ private-ip@^2.1.1: process-nextick-args@~2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== process-on-spawn@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/process-on-spawn/-/process-on-spawn-1.0.0.tgz#95b05a23073d30a17acfdc92a440efd2baefdc93" + resolved "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz" integrity sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg== dependencies: fromentries "^1.2.0" process@^0.11.10: version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= -progress@^2.0.0, progress@^2.0.3: +progress@^2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== prom-client@^13.2.0: version "13.2.0" - resolved "https://registry.yarnpkg.com/prom-client/-/prom-client-13.2.0.tgz#99d13357912dd400f8911b77df19f7b328a93e92" + resolved "https://registry.npmjs.org/prom-client/-/prom-client-13.2.0.tgz" integrity sha512-wGr5mlNNdRNzEhRYXgboUU2LxHWIojxscJKmtG3R8f4/KiWqyYgXTLHs0+Ted7tG3zFT7pgHJbtomzZ1L0ARaQ== dependencies: tdigest "^0.1.1" prom-client@^14.0.1: version "14.0.1" - resolved "https://registry.yarnpkg.com/prom-client/-/prom-client-14.0.1.tgz#bdd9583e02ec95429677c0e013712d42ef1f86a8" + resolved "https://registry.npmjs.org/prom-client/-/prom-client-14.0.1.tgz" integrity sha512-HxTArb6fkOntQHoRGvv4qd/BkorjliiuO2uSWC2KC17MUTKYttWdDoXX/vxOhQdkoECEM9BBH0pj2l8G8kev6w== dependencies: tdigest "^0.1.1" prometheus-gc-stats@^0.6.3: version "0.6.3" - resolved "https://registry.yarnpkg.com/prometheus-gc-stats/-/prometheus-gc-stats-0.6.3.tgz#7858623419d5f3e88d7ac782d931aafbc1e4b001" + resolved "https://registry.npmjs.org/prometheus-gc-stats/-/prometheus-gc-stats-0.6.3.tgz" integrity sha512-vCX+HZ1jZHkha25r5dAcRSNjue+K3Hn0B33EcZl7y3hgp3o1YsQ4Y3x7oJWKvDdbelFIL0McsXGmRg3zBrmq+g== dependencies: optional "^0.1.3" @@ -9379,12 +9496,12 @@ prometheus-gc-stats@^0.6.3: promise-inflight@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= promise-retry@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + resolved "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz" integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== dependencies: err-code "^2.0.2" @@ -9392,24 +9509,24 @@ promise-retry@^2.0.1: promise-timeout@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/promise-timeout/-/promise-timeout-1.3.0.tgz#d1c78dd50a607d5f0a5207410252a3a0914e1014" + resolved "https://registry.npmjs.org/promise-timeout/-/promise-timeout-1.3.0.tgz" integrity sha512-5yANTE0tmi5++POym6OgtFmwfDvOXABD9oj/jLQr5GPEyuNEb7jH4wbbANJceJid49jwhi1RddxnhnEAb/doqg== promzard@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" + resolved "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz" integrity sha1-JqXW7ox97kyxIggwWs+5O6OCqe4= dependencies: read "1" proto-list@~1.2.1: version "1.2.4" - resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + resolved "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= protobufjs@^6.10.2, protobufjs@^6.11.2: version "6.11.2" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.2.tgz#de39fabd4ed32beaa08e9bb1e30d08544c1edf8b" + resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz" integrity sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw== dependencies: "@protobufjs/aspromise" "^1.1.2" @@ -9428,22 +9545,22 @@ protobufjs@^6.10.2, protobufjs@^6.11.2: protocols@^1.1.0, protocols@^1.4.0: version "1.4.8" - resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8" + resolved "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz" integrity sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg== prr@~1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= psl@^1.1.28, psl@^1.1.33: version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + resolved "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== public-encrypt@^4.0.0: version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + resolved "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz" integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== dependencies: bn.js "^4.1.0" @@ -9455,7 +9572,7 @@ public-encrypt@^4.0.0: pump@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" + resolved "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz" integrity sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw== dependencies: end-of-stream "^1.1.0" @@ -9463,7 +9580,7 @@ pump@^1.0.0: pump@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + resolved "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz" integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== dependencies: end-of-stream "^1.1.0" @@ -9471,7 +9588,7 @@ pump@^2.0.1: pump@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" @@ -9479,39 +9596,39 @@ pump@^3.0.0: punycode@1.3.2: version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= punycode@^1.2.4, punycode@^1.3.2: version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== q@^1.5.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= qs@^6.10.1, qs@^6.5.1, qs@^6.9.4: version "6.10.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a" + resolved "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz" integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg== dependencies: side-channel "^1.0.4" qs@~6.5.2: version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + resolved "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== query-string@^6.13.8: version "6.14.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a" + resolved "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz" integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== dependencies: decode-uri-component "^0.2.0" @@ -9521,44 +9638,44 @@ query-string@^6.13.8: querystring-es3@^0.2.0: version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + resolved "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= querystring@0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= queue-microtask@^1.1.2, queue-microtask@^1.2.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== quick-format-unescaped@^4.0.3: version "4.0.3" - resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.3.tgz#6d6b66b8207aa2b35eef12be1421bb24c428f652" + resolved "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.3.tgz" integrity sha512-MaL/oqh02mhEo5m5J2rwsVL23Iw2PEaGVHgT2vFt8AAsr0lfvQA5dpXo9TPu0rz7tSBdUPgkbam0j/fj5ZM8yg== quick-lru@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== quick-lru@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" randomfill@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + resolved "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz" integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== dependencies: randombytes "^2.0.5" @@ -9566,7 +9683,7 @@ randomfill@^1.0.3: rc@^1.2.7: version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== dependencies: deep-extend "^0.6.0" @@ -9576,19 +9693,19 @@ rc@^1.2.7: react-native-fetch-api@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/react-native-fetch-api/-/react-native-fetch-api-2.0.0.tgz#c4af188b4fce3f3eaf1f1ff4e61dae1a00d4ffa0" + resolved "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-2.0.0.tgz" integrity sha512-GOA8tc1EVYLnHvma/TU9VTgLOyralO7eATRuCDchQveXW9Fr9vXygyq9iwqmM7YRZ8qRJfEt9xOS7OYMdJvRFw== dependencies: p-defer "^3.0.0" read-cmd-shim@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-2.0.0.tgz#4a50a71d6f0965364938e9038476f7eede3928d9" + resolved "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-2.0.0.tgz" integrity sha512-HJpV9bQpkl6KwjxlJcBoqu9Ba0PQg8TqSNIOrulGt54a0uup0HtevreFHzYzkm0lpnleRdNBzXznKrgxglEHQw== read-package-json-fast@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.2.tgz#2dcb24d9e8dd50fb322042c8c35a954e6cc7ac9e" + resolved "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.2.tgz" integrity sha512-5fyFUyO9B799foVk4n6ylcoAktG/FbE3jwRKxvwaeSrIunaoMc0u81dzXxjeAFKOce7O5KncdfwpGvvs6r5PsQ== dependencies: json-parse-even-better-errors "^2.3.0" @@ -9596,7 +9713,7 @@ read-package-json-fast@^2.0.1: read-package-json@^2.0.0: version "2.1.2" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" + resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz" integrity sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA== dependencies: glob "^7.1.1" @@ -9606,7 +9723,7 @@ read-package-json@^2.0.0: read-package-json@^3.0.0, read-package-json@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-3.0.1.tgz#c7108f0b9390257b08c21e3004d2404c806744b9" + resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-3.0.1.tgz" integrity sha512-aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng== dependencies: glob "^7.1.1" @@ -9616,7 +9733,7 @@ read-package-json@^3.0.0, read-package-json@^3.0.1: read-package-tree@^5.3.1: version "5.3.1" - resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.3.1.tgz#a32cb64c7f31eb8a6f31ef06f9cedf74068fe636" + resolved "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz" integrity sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw== dependencies: read-package-json "^2.0.0" @@ -9625,7 +9742,7 @@ read-package-tree@^5.3.1: read-pkg-up@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= dependencies: find-up "^1.0.0" @@ -9633,7 +9750,7 @@ read-pkg-up@^1.0.1: read-pkg-up@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz" integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= dependencies: find-up "^2.0.0" @@ -9641,7 +9758,7 @@ read-pkg-up@^3.0.0: read-pkg-up@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== dependencies: find-up "^4.1.0" @@ -9650,7 +9767,7 @@ read-pkg-up@^7.0.1: read-pkg@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= dependencies: load-json-file "^1.0.0" @@ -9659,7 +9776,7 @@ read-pkg@^1.0.0: read-pkg@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= dependencies: load-json-file "^4.0.0" @@ -9668,7 +9785,7 @@ read-pkg@^3.0.0: read-pkg@^5.2.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== dependencies: "@types/normalize-package-data" "^2.4.0" @@ -9678,14 +9795,14 @@ read-pkg@^5.2.0: read@1, read@~1.0.1: version "1.0.7" - resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" + resolved "https://registry.npmjs.org/read/-/read-1.0.7.tgz" integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= dependencies: mute-stream "~0.0.4" readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== dependencies: inherits "^2.0.3" @@ -9694,7 +9811,7 @@ readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stre readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@^2.3.7, readable-stream@~2.3.6: version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== dependencies: core-util-is "~1.0.0" @@ -9707,7 +9824,7 @@ readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.3.0, readable readdir-scoped-modules@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" + resolved "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz" integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== dependencies: debuglog "^1.0.1" @@ -9717,35 +9834,35 @@ readdir-scoped-modules@^1.0.0: readdirp@~3.5.0: version "3.5.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz" integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== dependencies: picomatch "^2.2.1" readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" receptacle@^1.3.2: version "1.3.2" - resolved "https://registry.yarnpkg.com/receptacle/-/receptacle-1.3.2.tgz#a7994c7efafc7a01d0e2041839dab6c4951360d2" + resolved "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz" integrity sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A== dependencies: ms "^2.1.1" rechoir@^0.6.2: version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= dependencies: resolve "^1.1.6" redent@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + resolved "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz" integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= dependencies: indent-string "^2.1.0" @@ -9753,7 +9870,7 @@ redent@^1.0.0: redent@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== dependencies: indent-string "^4.0.0" @@ -9761,31 +9878,45 @@ redent@^3.0.0: regenerator-runtime@^0.11.0: version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== -regexpp@^3.0.0, regexpp@^3.1.0: +regexp.prototype.flags@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + +regexpp@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz" integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== +regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + release-zalgo@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" + resolved "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz" integrity sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA= dependencies: es6-error "^4.0.1" repeating@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + resolved "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= dependencies: is-finite "^1.0.0" request@^2.88.0, request@^2.88.2: version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== dependencies: aws-sign2 "~0.7.0" @@ -9811,73 +9942,75 @@ request@^2.88.0, request@^2.88.2: require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= require-from-string@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== require-main-filename@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== resolve-alpn@^1.0.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.1.2.tgz#30b60cfbb0c0b8dc897940fe13fe255afcdd4d28" + resolved "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.1.2.tgz" integrity sha512-8OyfzhAtA32LVUsJSke3auIyINcwdh5l3cvYKdKO0nvsYSKuiLfTM5i78PJswFPT8y6cPW+L1v6/hE95chcpDA== resolve-cwd@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== dependencies: resolve-from "^5.0.0" resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve-from@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.13.1: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1: version "1.16.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.16.1.tgz#49fac5d8bacf1fd53f200fa51247ae736175832c" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.16.1.tgz" integrity sha512-rmAglCSqWWMrrBv/XM6sW0NuRFiKViw/W4d9EbC4pt+49H8JwHy+mcGmALTEg504AUDcLTvb1T2q3E9AnmY+ig== dependencies: path-parse "^1.0.6" -resolve@^1.10.1: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - resolve@^1.20.0, resolve@^1.3.2: version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== dependencies: is-core-module "^2.2.0" path-parse "^1.0.6" +resolve@^1.22.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + dependencies: + is-core-module "^2.8.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + responselike@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" + resolved "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz" integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== dependencies: lowercase-keys "^2.0.0" restore-cursor@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= dependencies: onetime "^2.0.0" @@ -9885,7 +10018,7 @@ restore-cursor@^2.0.0: restore-cursor@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== dependencies: onetime "^5.1.0" @@ -9893,32 +10026,32 @@ restore-cursor@^3.1.0: ret@~0.2.0: version "0.2.2" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.2.2.tgz#b6861782a1f4762dce43402a71eb7a283f44573c" + resolved "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz" integrity sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ== retimer@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/retimer/-/retimer-3.0.0.tgz#98b751b1feaf1af13eb0228f8ea68b8f9da530df" + resolved "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz" integrity sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA== retry@0.13.1: version "0.13.1" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== retry@^0.12.0: version "0.12.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= reusify@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rewiremock@^3.14.3: version "3.14.3" - resolved "https://registry.yarnpkg.com/rewiremock/-/rewiremock-3.14.3.tgz#8b42d2b79bb39e8da51cb89159061c2366ea6db3" + resolved "https://registry.npmjs.org/rewiremock/-/rewiremock-3.14.3.tgz" integrity sha512-6BaUGfp7NtxBjisxcGN73nNiA2fS2AwhEk/9DMUqxfv5v0aDM1wpOYpj5GSArqsJi07YCfLhkD8C74LAN7+FkQ== dependencies: babel-runtime "^6.26.0" @@ -9932,26 +10065,26 @@ rewiremock@^3.14.3: rfdc@^1.1.4, rfdc@^1.2.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz" integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== rimraf@^2.6.1, rimraf@^2.6.3: version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== dependencies: glob "^7.1.3" rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + resolved "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== dependencies: hash-base "^3.0.0" @@ -9959,89 +10092,89 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: rlp@^2.2.6: version "2.2.6" - resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.6.tgz#c80ba6266ac7a483ef1e69e8e2f056656de2fb2c" + resolved "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz" integrity sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg== dependencies: bn.js "^4.11.1" run-async@^2.4.0: version "2.4.1" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== run-parallel@^1.1.9: version "1.1.10" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz" integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== rxjs@^6.4.0: version "6.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz" integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== dependencies: tslib "^1.9.0" rxjs@^6.6.0: version "6.6.2" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.2.tgz#8096a7ac03f2cc4fe5860ef6e572810d9e01c0d2" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz" integrity sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg== dependencies: tslib "^1.9.0" rxjs@^7.2.0: version "7.3.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.3.0.tgz#39fe4f3461dc1e50be1475b2b85a0a88c1e938c6" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.3.0.tgz" integrity sha512-p2yuGIg9S1epc3vrjKf6iVb3RCaAYjYskkO+jHIaV0IjOPlJop4UnodOoFb2xeNwlguqLYvGw1b1McillYb5Gw== dependencies: tslib "~2.1.0" -safe-buffer@*, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@*, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== safe-regex2@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/safe-regex2/-/safe-regex2-2.0.0.tgz#b287524c397c7a2994470367e0185e1916b1f5b9" + resolved "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz" integrity sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ== dependencies: ret "~0.2.0" "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sanitize-filename@^1.6.3: version "1.6.3" - resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz#755ebd752045931977e30b2025d340d7c9090378" + resolved "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz" integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== dependencies: truncate-utf8-bytes "^1.0.0" sax@1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" + resolved "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz" integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o= sax@>=0.1.1, sax@>=0.6.0, sax@^1.2.4: version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== scrypt-js@3.0.1, scrypt-js@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + resolved "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz" integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== secp256k1@^4.0.0, secp256k1@^4.0.1: version "4.0.2" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.2.tgz#15dd57d0f0b9fdb54ac1fa1694f40e5e9a54f4a1" + resolved "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.2.tgz" integrity sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg== dependencies: elliptic "^6.5.2" @@ -10050,68 +10183,75 @@ secp256k1@^4.0.0, secp256k1@^4.0.1: secure-json-parse@^2.0.0: version "2.4.0" - resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.4.0.tgz#5aaeaaef85c7a417f76271a4f5b0cc3315ddca85" + resolved "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.4.0.tgz" integrity sha512-Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg== semver-store@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/semver-store/-/semver-store-0.3.0.tgz#ce602ff07df37080ec9f4fb40b29576547befbe9" + resolved "https://registry.npmjs.org/semver-store/-/semver-store-0.3.0.tgz" integrity sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg== "semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.1: version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== semver@^6.0.0, semver@^6.1.0, semver@^6.3.0: version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.1.1, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: +semver@^7.1.1, semver@^7.1.3, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== dependencies: lru-cache "^6.0.0" +semver@^7.3.7: + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + dependencies: + lru-cache "^6.0.0" + serialize-javascript@5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz" integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== dependencies: randombytes "^2.1.0" serialize-javascript@6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== dependencies: randombytes "^2.1.0" set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= set-cookie-parser@^2.4.1: version "2.4.8" - resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.4.8.tgz#d0da0ed388bc8f24e706a391f9c9e252a13c58b2" + resolved "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.4.8.tgz" integrity sha512-edRH8mBKEWNVIVMKejNnuJxleqYE/ZSdcT8/Nem9/mmosx12pctd80s2Oy00KNZzrogMZS5mauK2/ymL1bvlvg== set-delayed-interval@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/set-delayed-interval/-/set-delayed-interval-1.0.0.tgz#1f7c065780a365f10250f8a80e2be10175ea0388" + resolved "https://registry.npmjs.org/set-delayed-interval/-/set-delayed-interval-1.0.0.tgz" integrity sha512-29fhAwuZlLcuBnW/EwxvLcg2D3ELX+VBDNhnavs3YYkab72qmrcSeQNVdzl8EcPPahGQXhBM6MKdPLCQGMDakw== setimmediate@^1.0.4, setimmediate@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= sha.js@^2.4.0, sha.js@^2.4.8: version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== dependencies: inherits "^2.0.1" @@ -10119,43 +10259,43 @@ sha.js@^2.4.0, sha.js@^2.4.8: shallow-clone@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== dependencies: kind-of "^6.0.2" shebang-command@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= dependencies: shebang-regex "^1.0.0" shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shell-quote@^1.6.1: version "1.7.2" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz" integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== shelljs@^0.8.3, shelljs@^0.8.4: version "0.8.4" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" + resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz" integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== dependencies: glob "^7.0.0" @@ -10164,7 +10304,7 @@ shelljs@^0.8.3, shelljs@^0.8.4: side-channel@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== dependencies: call-bind "^1.0.0" @@ -10173,22 +10313,22 @@ side-channel@^1.0.4: signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== signal-exit@^3.0.7: version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== simple-concat@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + resolved "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz" integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== simple-get@^2.7.0: version "2.8.1" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.1.tgz#0e22e91d4575d87620620bc91308d57a77f44b5d" + resolved "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz" integrity sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw== dependencies: decompress-response "^3.3.0" @@ -10197,14 +10337,14 @@ simple-get@^2.7.0: simple-swizzle@^0.2.2: version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= dependencies: is-arrayish "^0.3.1" sinon@^9.0.2: version "9.2.4" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-9.2.4.tgz#e55af4d3b174a4443a8762fa8421c2976683752b" + resolved "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz" integrity sha512-zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg== dependencies: "@sinonjs/commons" "^1.8.1" @@ -10216,36 +10356,27 @@ sinon@^9.0.2: slash@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - slide@^1.1.6: version "1.1.6" - resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + resolved "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz" integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= smart-buffer@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba" + resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz" integrity sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw== smart-buffer@^4.2.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== snappy@^6.3.5: version "6.3.5" - resolved "https://registry.yarnpkg.com/snappy/-/snappy-6.3.5.tgz#c14b8dea8e9bc2687875b5e491d15dd900e6023c" + resolved "https://registry.npmjs.org/snappy/-/snappy-6.3.5.tgz" integrity sha512-lonrUtdp1b1uDn1dbwgQbBsb5BbaiLeKq+AGwOk2No+en+VvJThwmtztwulEQsLinRF681pBqib0NUZaizKLIA== dependencies: bindings "^1.3.1" @@ -10254,12 +10385,12 @@ snappy@^6.3.5: snappyjs@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/snappyjs/-/snappyjs-0.6.0.tgz#2bd550e5767fb1bc28140bf8d53bf9590576a386" + resolved "https://registry.npmjs.org/snappyjs/-/snappyjs-0.6.0.tgz" integrity sha512-VTBBV4C9SHLuNEw8qrxw3EnkYmzwe8ml5VA8zS6XChr/yQ/CEDobofC6j4S25QJQR0htRGD68Oh4TZxv/mpf7w== socks-proxy-agent@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz#7c0f364e7b1cf4a7a437e71253bed72e9004be60" + resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz" integrity sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA== dependencies: agent-base "6" @@ -10268,7 +10399,7 @@ socks-proxy-agent@^5.0.0: socks-proxy-agent@^6.0.0: version "6.1.1" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz#e664e8f1aaf4e1fb3df945f09e3d94f911137f87" + resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz" integrity sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew== dependencies: agent-base "^6.0.2" @@ -10277,7 +10408,7 @@ socks-proxy-agent@^6.0.0: socks@^2.3.3: version "2.6.1" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.1.tgz#989e6534a07cf337deb1b1c94aaa44296520d30e" + resolved "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz" integrity sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA== dependencies: ip "^1.1.5" @@ -10285,7 +10416,7 @@ socks@^2.3.3: socks@^2.6.1: version "2.6.2" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.2.tgz#ec042d7960073d40d94268ff3bb727dc685f111a" + resolved "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz" integrity sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA== dependencies: ip "^1.1.5" @@ -10293,7 +10424,7 @@ socks@^2.6.1: sonic-boom@^1.0.2: version "1.4.1" - resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-1.4.1.tgz#d35d6a74076624f12e6f917ade7b9d75e918f53e" + resolved "https://registry.npmjs.org/sonic-boom/-/sonic-boom-1.4.1.tgz" integrity sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg== dependencies: atomic-sleep "^1.0.0" @@ -10301,21 +10432,21 @@ sonic-boom@^1.0.2: sort-keys@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" + resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz" integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= dependencies: is-plain-obj "^1.0.0" sort-keys@^4.0.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-4.2.0.tgz#6b7638cee42c506fff8c1cecde7376d21315be18" + resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz" integrity sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg== dependencies: is-plain-obj "^2.0.0" source-map-support@^0.5.19: version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz" integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== dependencies: buffer-from "^1.0.0" @@ -10323,17 +10454,17 @@ source-map-support@^0.5.19: source-map@^0.5.0: version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= source-map@^0.6.0, source-map@^0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== spawn-wrap@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-2.0.0.tgz#103685b8b8f9b79771318827aa78650a610d457e" + resolved "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz" integrity sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg== dependencies: foreground-child "^2.0.0" @@ -10345,7 +10476,7 @@ spawn-wrap@^2.0.0: spdx-correct@^3.0.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== dependencies: spdx-expression-parse "^3.0.0" @@ -10353,12 +10484,12 @@ spdx-correct@^3.0.0: spdx-exceptions@^2.1.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== spdx-expression-parse@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" @@ -10366,41 +10497,41 @@ spdx-expression-parse@^3.0.0: spdx-license-ids@^3.0.0: version "3.0.7" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz" integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== split-on-first@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" + resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== split2@^3.0.0: version "3.2.2" - resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + resolved "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz" integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== dependencies: readable-stream "^3.0.0" split@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" + resolved "https://registry.npmjs.org/split/-/split-1.0.1.tgz" integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== dependencies: through "2" sprintf-js@1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz" integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sshpk@^1.7.0: version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz" integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== dependencies: asn1 "~0.2.3" @@ -10415,19 +10546,19 @@ sshpk@^1.7.0: ssri@^8.0.0, ssri@^8.0.1: version "8.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + resolved "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz" integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== dependencies: minipass "^3.1.1" stack-trace@0.0.x: version "0.0.10" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" + resolved "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz" integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= stream-browserify@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz" integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== dependencies: inherits "~2.0.1" @@ -10435,14 +10566,14 @@ stream-browserify@^2.0.1: stream-events@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/stream-events/-/stream-events-1.0.5.tgz#bbc898ec4df33a4902d892333d47da9bf1c406d5" + resolved "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz" integrity sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg== dependencies: stubs "^3.0.0" stream-http@^2.7.2: version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + resolved "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz" integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== dependencies: builtin-status-codes "^3.0.0" @@ -10453,34 +10584,34 @@ stream-http@^2.7.2: stream-to-it@^0.2.0, stream-to-it@^0.2.2: version "0.2.3" - resolved "https://registry.yarnpkg.com/stream-to-it/-/stream-to-it-0.2.3.tgz#b9320ceb26a51b313de81036d4354d9b657f4d2d" + resolved "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.3.tgz" integrity sha512-xaK9EjPtLox5rrC7YLSBXSanTtUJN/lzJlMFvy9VaROmnyvy0U/X6m2uMhXPJRn3g3M9uOSIzTszW7BPiWSg9w== dependencies: get-iterator "^1.0.2" streaming-iterables@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/streaming-iterables/-/streaming-iterables-6.0.0.tgz#317a315266fb956a2d4f9786a01410df8f78dc95" + resolved "https://registry.npmjs.org/streaming-iterables/-/streaming-iterables-6.0.0.tgz" integrity sha512-GYbJh0ife8PvryWSyFifY1m1uj6zO12d9duuP6xltiOolUz44eKasp5gbFhRbFbLy50ik6hcKn4Pbxl9AkxB+Q== strict-event-emitter-types@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/strict-event-emitter-types/-/strict-event-emitter-types-2.0.0.tgz#05e15549cb4da1694478a53543e4e2f4abcf277f" + resolved "https://registry.npmjs.org/strict-event-emitter-types/-/strict-event-emitter-types-2.0.0.tgz" integrity sha512-Nk/brWYpD85WlOgzw5h173aci0Teyv8YdIAEtV+N88nDB0dLlazZyJMIsN6eo1/AR61l+p6CJTG1JIyFaoNEEA== strict-uri-encode@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= string-similarity@^4.0.1: version "4.0.4" - resolved "https://registry.yarnpkg.com/string-similarity/-/string-similarity-4.0.4.tgz#42d01ab0b34660ea8a018da8f56a3309bb8b2a5b" + resolved "https://registry.npmjs.org/string-similarity/-/string-similarity-4.0.4.tgz" integrity sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ== string-width@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= dependencies: code-point-at "^1.0.0" @@ -10489,7 +10620,7 @@ string-width@^1.0.1: "string-width@^1.0.2 || 2": version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== dependencies: is-fullwidth-code-point "^2.0.0" @@ -10497,7 +10628,7 @@ string-width@^1.0.1: "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.2.3: version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" @@ -10506,7 +10637,7 @@ string-width@^1.0.1: string-width@^4.1.0, string-width@^4.2.0: version "4.2.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz" integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== dependencies: emoji-regex "^8.0.0" @@ -10515,7 +10646,7 @@ string-width@^4.1.0, string-width@^4.2.0: string.prototype.padend@^3.0.0: version "3.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz#6858ca4f35c5268ebd5e8615e1327d55f59ee311" + resolved "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz" integrity sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ== dependencies: call-bind "^1.0.2" @@ -10524,44 +10655,62 @@ string.prototype.padend@^3.0.0: string.prototype.trimend@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz" integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" +string.prototype.trimend@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" + integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + string.prototype.trimstart@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz" integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" +string.prototype.trimstart@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" + integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.19.5" + string_decoder@^1.0.0, string_decoder@^1.1.1: version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: safe-buffer "~5.2.0" string_decoder@~1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: safe-buffer "~5.1.0" strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= dependencies: ansi-regex "^2.0.0" strip-ansi@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= dependencies: ansi-regex "^3.0.0" @@ -10575,67 +10724,67 @@ strip-ansi@^5.2.0: strip-ansi@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz" integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== dependencies: ansi-regex "^5.0.0" strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-bom@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= dependencies: is-utf8 "^0.2.0" strip-bom@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= strip-bom@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== strip-final-newline@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== strip-indent@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz" integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= dependencies: get-stdin "^4.0.1" strip-indent@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== dependencies: min-indent "^1.0.0" strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== strip-json-comments@^2.0.0, strip-json-comments@~2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= strong-log-transformer@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" + resolved "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz" integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA== dependencies: duplexer "^0.1.1" @@ -10644,12 +10793,12 @@ strong-log-transformer@^2.1.0: stubs@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/stubs/-/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b" + resolved "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz" integrity sha1-6NK6H6nJBXAwPAMLaQD31fiavls= superagent@^3.8.3: version "3.8.3" - resolved "https://registry.yarnpkg.com/superagent/-/superagent-3.8.3.tgz#460ea0dbdb7d5b11bc4f78deba565f86a178e128" + resolved "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz" integrity sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA== dependencies: component-emitter "^1.2.0" @@ -10665,7 +10814,7 @@ superagent@^3.8.3: supertest@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/supertest/-/supertest-4.0.2.tgz#c2234dbdd6dc79b6f15b99c8d6577b90e4ce3f36" + resolved "https://registry.npmjs.org/supertest/-/supertest-4.0.2.tgz" integrity sha512-1BAbvrOZsGA3YTCWqbmh14L0YEq0EGICX/nBnfkfVJn7SrxQV1I3pMYjSzG9y/7ZU2V9dWqyqk2POwxlb09duQ== dependencies: methods "^1.1.2" @@ -10673,41 +10822,33 @@ supertest@^4.0.2: supports-color@8.1.1: version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" -table@^6.0.4: - version "6.6.0" - resolved "https://registry.yarnpkg.com/table/-/table-6.6.0.tgz#905654b79df98d9e9a973de1dd58682532c40e8e" - integrity sha512-iZMtp5tUvcnAdtHpZTWLPF0M7AgiQsURR2DwmxnJwSy8I3+cY+ozzVvYha3BOLG2TB+L0CqjIz+91htuj6yCXg== - dependencies: - ajv "^8.0.1" - lodash.clonedeep "^4.5.0" - lodash.flatten "^4.4.0" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.0" - strip-ansi "^6.0.0" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== tar-fs@^1.13.0: version "1.16.3" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" + resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz" integrity sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw== dependencies: chownr "^1.0.1" @@ -10717,7 +10858,7 @@ tar-fs@^1.13.0: tar-stream@^1.1.2: version "1.6.2" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" + resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz" integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== dependencies: bl "^1.0.0" @@ -10728,9 +10869,22 @@ tar-stream@^1.1.2: to-buffer "^1.1.1" xtend "^4.0.0" -tar@^4, tar@^4.4.12: +tar@^4: + version "4.4.19" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" + integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== + dependencies: + chownr "^1.1.4" + fs-minipass "^1.2.7" + minipass "^2.9.0" + minizlib "^1.3.3" + mkdirp "^0.5.5" + safe-buffer "^5.2.1" + yallist "^3.1.1" + +tar@^4.4.12: version "4.4.13" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" + resolved "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz" integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== dependencies: chownr "^1.1.1" @@ -10743,7 +10897,7 @@ tar@^4, tar@^4.4.12: tar@^6.0.2, tar@^6.0.5, tar@^6.1.0, tar@^6.1.2: version "6.1.11" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" + resolved "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== dependencies: chownr "^2.0.0" @@ -10755,14 +10909,14 @@ tar@^6.0.2, tar@^6.0.5, tar@^6.1.0, tar@^6.1.2: tdigest@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/tdigest/-/tdigest-0.1.1.tgz#2e3cb2c39ea449e55d1e6cd91117accca4588021" + resolved "https://registry.npmjs.org/tdigest/-/tdigest-0.1.1.tgz" integrity sha1-Ljyyw56kSeVdHmzZEReszKRYgCE= dependencies: bintrees "1.0.1" teeny-request@7.1.1: version "7.1.1" - resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-7.1.1.tgz#2b0d156f4a8ad81de44303302ba8d7f1f05e20e6" + resolved "https://registry.npmjs.org/teeny-request/-/teeny-request-7.1.1.tgz" integrity sha512-iwY6rkW5DDGq8hE2YgNQlKbptYpY5Nn2xecjQiNjOXWbKzPGUfmeUBCSQbbr306d7Z7U2N0TPl+/SwYRfua1Dg== dependencies: http-proxy-agent "^4.0.0" @@ -10773,12 +10927,12 @@ teeny-request@7.1.1: temp-dir@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" + resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz" integrity sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0= temp-write@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/temp-write/-/temp-write-4.0.0.tgz#cd2e0825fc826ae72d201dc26eef3bf7e6fc9320" + resolved "https://registry.npmjs.org/temp-write/-/temp-write-4.0.0.tgz" integrity sha512-HIeWmj77uOOHb0QX7siN3OtwV3CTntquin6TNVg6SHOqCP3hYKmox90eeFOGaY1MqJ9WYDDjkyZrW6qS5AWpbw== dependencies: graceful-fs "^4.1.15" @@ -10789,7 +10943,7 @@ temp-write@^4.0.0: test-exclude@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== dependencies: "@istanbuljs/schema" "^0.1.2" @@ -10798,22 +10952,22 @@ test-exclude@^6.0.0: text-extensions@^1.0.0: version "1.9.0" - resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" + resolved "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz" integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== text-hex@1.0.x: version "1.0.0" - resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5" + resolved "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz" integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== text-table@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= through2@^2.0.0: version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== dependencies: readable-stream "~2.3.6" @@ -10821,86 +10975,86 @@ through2@^2.0.0: through2@^4.0.0: version "4.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + resolved "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz" integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== dependencies: readable-stream "3" through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= thunky@^1.0.2: version "1.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== timeout-abort-controller@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz#dd57ffca041652c03769904f8d95afd93fb95595" + resolved "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz" integrity sha512-O3e+2B8BKrQxU2YRyEjC/2yFdb33slI22WRdUaDx6rvysfi9anloNZyR2q0l6LnePo5qH7gSM7uZtvvwZbc2yA== dependencies: retimer "^3.0.0" timers-browserify@^2.0.4: version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + resolved "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz" integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== dependencies: setimmediate "^1.0.4" tiny-lru@^7.0.0: version "7.0.6" - resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-7.0.6.tgz#b0c3cdede1e5882aa2d1ae21cb2ceccf2a331f24" + resolved "https://registry.npmjs.org/tiny-lru/-/tiny-lru-7.0.6.tgz" integrity sha512-zNYO0Kvgn5rXzWpL0y3RS09sMK67eGaQj9805jlK9G6pSadfriTczzLHFXa/xcW4mIRfmlB9HyQ/+SgL0V1uow== "tiny-worker@>= 2": version "2.3.0" - resolved "https://registry.yarnpkg.com/tiny-worker/-/tiny-worker-2.3.0.tgz#715ae34304c757a9af573ae9a8e3967177e6011e" + resolved "https://registry.npmjs.org/tiny-worker/-/tiny-worker-2.3.0.tgz" integrity sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g== dependencies: esm "^3.2.25" tmp@^0.0.33: version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== dependencies: os-tmpdir "~1.0.2" tmp@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz" integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== dependencies: rimraf "^3.0.0" to-arraybuffer@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + resolved "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= to-buffer@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + resolved "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz" integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== to-fast-properties@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" tough-cookie@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" + resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz" integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== dependencies: ip-regex "^2.1.0" @@ -10909,7 +11063,7 @@ tough-cookie@^3.0.1: tough-cookie@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz" integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== dependencies: psl "^1.1.33" @@ -10918,7 +11072,7 @@ tough-cookie@^4.0.0: tough-cookie@~2.5.0: version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== dependencies: psl "^1.1.28" @@ -10926,59 +11080,41 @@ tough-cookie@~2.5.0: tr46@^2.0.2: version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + resolved "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz" integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== dependencies: punycode "^2.1.1" trim-newlines@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= trim-newlines@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30" + resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz" integrity sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA== trim-off-newlines@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" + resolved "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz" integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= triple-beam@^1.2.0, triple-beam@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9" + resolved "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz" integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw== truncate-utf8-bytes@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" + resolved "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz" integrity sha1-QFkjkJWS1W94pYGENLC3hInKXys= dependencies: utf8-byte-length "^1.0.1" -ts-node@^10.0.0: - version "10.2.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.2.1.tgz#4cc93bea0a7aba2179497e65bb08ddfc198b3ab5" - integrity sha512-hCnyOyuGmD5wHleOQX6NIjJtYVIO8bPP8F2acWkB4W06wdlkgyvJtubO/I9NkI88hCFECbsEgoLc0VNkYmcSfw== - dependencies: - "@cspotcode/source-map-support" "0.6.1" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - yn "3.1.1" - -ts-node@^10.7.0: +ts-node@^10.0.0, ts-node@^10.7.0: version "10.7.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.7.0.tgz#35d503d0fab3e2baa672a0e94f4b40653c2463f5" + resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz" integrity sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A== dependencies: "@cspotcode/source-map-support" "0.7.0" @@ -10995,19 +11131,19 @@ ts-node@^10.7.0: v8-compile-cache-lib "^3.0.0" yn "3.1.1" -tsconfig-paths@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" - integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== +tsconfig-paths@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" + integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.1" - minimist "^1.2.0" + minimist "^1.2.6" strip-bom "^3.0.0" tsconfig@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7" + resolved "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz" integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw== dependencies: "@types/strip-bom" "^3.0.0" @@ -11017,68 +11153,68 @@ tsconfig@^7.0.0: tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tslib@^2.0.0, tslib@^2.2.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz" integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== tslib@^2.1.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz" integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== tslib@~2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz" integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== tsutils@^3.21.0: version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: tslib "^1.8.1" tty-browserify@0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + resolved "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz" integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= tunnel-agent@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= dependencies: safe-buffer "^5.0.1" tunnel@0.0.6, tunnel@^0.0.6: version "0.0.6" - resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" + resolved "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz" integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5, type-detect@^4.0.8: version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== type-fest@^0.18.0: version "0.18.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz" integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== type-fest@^0.20.2: @@ -11088,44 +11224,44 @@ type-fest@^0.20.2: type-fest@^0.21.3: version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== type-fest@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz" integrity sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw== type-fest@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== type-fest@^0.8.0, type-fest@^0.8.1: version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== typedarray-to-buffer@^3.1.5: version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== dependencies: is-typedarray "^1.0.0" typedarray@^0.0.6: version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= typedoc-default-themes@^0.11.4: version "0.11.4" - resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.11.4.tgz#1bc55b7c8d1132844616ff6f570e1e2cd0eb7343" + resolved "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.11.4.tgz" integrity sha512-Y4Lf+qIb9NTydrexlazAM46SSLrmrQRqWiD52593g53SsmUFioAsMWt8m834J6qsp+7wHRjxCXSZeiiW5cMUdw== typedoc-plugin-external-module-name@^4.0.3: version "4.0.6" - resolved "https://registry.yarnpkg.com/typedoc-plugin-external-module-name/-/typedoc-plugin-external-module-name-4.0.6.tgz#bfc13260267c35a7bd5282d7e0a8b7cddb94c575" + resolved "https://registry.npmjs.org/typedoc-plugin-external-module-name/-/typedoc-plugin-external-module-name-4.0.6.tgz" integrity sha512-WqJW5gbfeQD7VA96p5eRFkVlPPGXfpaAo7M/sNOeBwSBTRylKYX15kAVaGP6iM/VhXtDagTMyKhwG97sENfKHA== dependencies: lodash "^4.1.2" @@ -11133,12 +11269,12 @@ typedoc-plugin-external-module-name@^4.0.3: typedoc-plugin-internal-external@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/typedoc-plugin-internal-external/-/typedoc-plugin-internal-external-2.2.0.tgz#af4100f92f40aa08039930c0c750b2f502628e41" + resolved "https://registry.npmjs.org/typedoc-plugin-internal-external/-/typedoc-plugin-internal-external-2.2.0.tgz" integrity sha512-xeh+NemurGr23cm1kf6Mec5TB0pCSllm3l3+hJg1ersl00xgC6klVpD1GBKqliGxnLo7blytZrnHsS4w/bzeOA== typedoc-plugin-markdown@^2.4.1: version "2.4.2" - resolved "https://registry.yarnpkg.com/typedoc-plugin-markdown/-/typedoc-plugin-markdown-2.4.2.tgz#2d83fe4f279643436ebc44ca2f937855b0fd9f12" + resolved "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-2.4.2.tgz" integrity sha512-BBH+9/Uq5XbsqfzCDl8Jq4iaLXRMXRuAHZRFarAZX7df8+F3vUjDx/WHWoWqbZ/XUFzduLC2Iuy2qwsJX8SQ7A== dependencies: fs-extra "^9.0.1" @@ -11146,7 +11282,7 @@ typedoc-plugin-markdown@^2.4.1: typedoc@^0.19.2: version "0.19.2" - resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.19.2.tgz#842a63a581f4920f76b0346bb80eb2a49afc2c28" + resolved "https://registry.npmjs.org/typedoc/-/typedoc-0.19.2.tgz" integrity sha512-oDEg1BLEzi1qvgdQXc658EYgJ5qJLVSeZ0hQ57Eq4JXy6Vj2VX4RVo18qYxRWz75ifAaYuYNBUCnbhjd37TfOg== dependencies: fs-extra "^9.0.1" @@ -11163,7 +11299,7 @@ typedoc@^0.19.2: typescript-docs-verifier@^2.0.0-rc.1: version "2.0.0-rc.1" - resolved "https://registry.yarnpkg.com/typescript-docs-verifier/-/typescript-docs-verifier-2.0.0-rc.1.tgz#69a4846da0f2fcd4b793bef6aa888572888b43cd" + resolved "https://registry.npmjs.org/typescript-docs-verifier/-/typescript-docs-verifier-2.0.0-rc.1.tgz" integrity sha512-QDUFTYHY2R+Mtc1/EC8NSdqrjJWTMXcviOko10o2rUr9n5RDXBjDLJVfBpak2TcqTFU3CzTwzuXND6MuvRhdcg== dependencies: chalk "^2.4.1" @@ -11175,34 +11311,34 @@ typescript-docs-verifier@^2.0.0-rc.1: typescript@4.6.3: version "4.6.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz" integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== uglify-js@^3.1.4: version "3.13.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.4.tgz#592588bb9f47ae03b24916e2471218d914955574" + resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.4.tgz" integrity sha512-kv7fCkIXyQIilD5/yQy8O+uagsYIOt5cZvs890W40/e/rvjMSzJw81o9Bg0tkURxzZBROtDQhW2LFjOGoK3RZw== uid-number@0.0.6: version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + resolved "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz" integrity sha1-DqEOgDXo61uOREnwbaHHMGY7qoE= uint8arrays@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.0.0.tgz#260869efb8422418b6f04e3fac73a3908175c63b" + resolved "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz" integrity sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA== dependencies: multiformats "^9.4.2" umask@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" + resolved "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz" integrity sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0= -unbox-primitive@^1.0.0, unbox-primitive@^1.0.1: +unbox-primitive@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz" integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== dependencies: function-bind "^1.1.1" @@ -11210,55 +11346,65 @@ unbox-primitive@^1.0.0, unbox-primitive@^1.0.1: has-symbols "^1.0.2" which-boxed-primitive "^1.0.2" +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + unique-filename@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz" integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== dependencies: unique-slug "^2.0.0" unique-slug@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz" integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== dependencies: imurmurhash "^0.1.4" universal-user-agent@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz" integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== universalify@^0.1.0, universalify@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== universalify@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== unordered-array-remove@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/unordered-array-remove/-/unordered-array-remove-1.0.2.tgz#c546e8f88e317a0cf2644c97ecb57dba66d250ef" + resolved "https://registry.npmjs.org/unordered-array-remove/-/unordered-array-remove-1.0.2.tgz" integrity sha1-xUbo+I4xegzyZEyX7LV9umbSUO8= upath@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" + resolved "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz" integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" url@0.10.3: version "0.10.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" + resolved "https://registry.npmjs.org/url/-/url-0.10.3.tgz" integrity sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ= dependencies: punycode "1.3.2" @@ -11266,7 +11412,7 @@ url@0.10.3: url@^0.11.0: version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + resolved "https://registry.npmjs.org/url/-/url-0.11.0.tgz" integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= dependencies: punycode "1.3.2" @@ -11274,14 +11420,14 @@ url@^0.11.0: urlgrey@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-1.0.0.tgz#72d2f904482d0b602e3c7fa599343d699bbe1017" + resolved "https://registry.npmjs.org/urlgrey/-/urlgrey-1.0.0.tgz" integrity sha512-hJfIzMPJmI9IlLkby8QrsCykQ+SXDeO2W5Q9QTW3QpqZVTx4a/K7p8/5q+/isD8vsbVaFgql/gvAoQCRQ2Cb5w== dependencies: fast-url-parser "^1.1.3" ursa-optional@^0.10.1: version "0.10.2" - resolved "https://registry.yarnpkg.com/ursa-optional/-/ursa-optional-0.10.2.tgz#bd74e7d60289c22ac2a69a3c8dea5eb2817f9681" + resolved "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz" integrity sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A== dependencies: bindings "^1.5.0" @@ -11289,38 +11435,38 @@ ursa-optional@^0.10.1: utf8-byte-length@^1.0.1: version "1.0.4" - resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" + resolved "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz" integrity sha1-9F8VDExm7uloGGUFq5P8u4rWv2E= util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= util-promisify@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/util-promisify/-/util-promisify-2.1.0.tgz#3c2236476c4d32c5ff3c47002add7c13b9a82a53" + resolved "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz" integrity sha1-PCI2R2xNMsX/PEcAKt18E7moKlM= dependencies: object.getownpropertydescriptors "^2.0.3" util@0.10.3: version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + resolved "https://registry.npmjs.org/util/-/util-0.10.3.tgz" integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= dependencies: inherits "2.0.1" util@^0.11.0: version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + resolved "https://registry.npmjs.org/util/-/util-0.11.1.tgz" integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== dependencies: inherits "2.0.3" util@^0.12.0: version "0.12.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.3.tgz#971bb0292d2cc0c892dab7c6a5d37c2bec707888" + resolved "https://registry.npmjs.org/util/-/util-0.12.3.tgz" integrity sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog== dependencies: inherits "^2.0.3" @@ -11332,40 +11478,40 @@ util@^0.12.0: uuid@3.3.2: version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + resolved "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz" integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== uuid@8.3.2, uuid@^8.0.0, uuid@^8.3.0: version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== uuid@^3.3.2, uuid@^3.3.3: version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== uuidv4@^6.1.1: version "6.2.7" - resolved "https://registry.yarnpkg.com/uuidv4/-/uuidv4-6.2.7.tgz#2b1c4354be2d3c8a04052bda5ece702169f21d6d" + resolved "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.7.tgz" integrity sha512-3XvpuG5LVO9Bd9H/mjdMd7eh556ojlAFx5jJ7dSiGGjFNaU8XhcKhhnV34YGjyZiRs8kPBwXuhYJoyvrY+EMOA== dependencies: "@types/uuid" "8.3.0" uuid "8.3.2" v8-compile-cache-lib@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz#0582bcb1c74f3a2ee46487ceecf372e46bce53e8" - integrity sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA== + version "3.0.1" + resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== v8-compile-cache@^2.0.3: version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: spdx-correct "^3.0.0" @@ -11373,29 +11519,29 @@ validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: validate-npm-package-name@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" + resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz" integrity sha1-X6kS2B630MdK/BQN5zF/DKffQ34= dependencies: builtins "^1.0.3" varint@^5.0.2: version "5.0.2" - resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" + resolved "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz" integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== varint@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0" + resolved "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz" integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== vary@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= verror@1.10.0: version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= dependencies: assert-plus "^1.0.0" @@ -11404,24 +11550,24 @@ verror@1.10.0: vm-browserify@^1.0.1: version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + resolved "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== wcwidth@^1.0.0, wcwidth@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= dependencies: defaults "^1.0.3" webidl-conversions@^6.1.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== whatwg-url@^8.4.0: version "8.5.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.5.0.tgz#7752b8464fc0903fec89aa9846fc9efe07351fd3" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.5.0.tgz" integrity sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg== dependencies: lodash "^4.7.0" @@ -11430,14 +11576,14 @@ whatwg-url@^8.4.0: wherearewe@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/wherearewe/-/wherearewe-1.0.0.tgz#e6c2440bb757e57eb2ad76b4abf9961b532ee358" + resolved "https://registry.npmjs.org/wherearewe/-/wherearewe-1.0.0.tgz" integrity sha512-oQnRsAfMCqNAC7U4JrBdmFXAhBRLOkPGOfU5+nw9fs2D3g8O6EV7hn7BhpXtt0yno4pxFiRD55rMyt0fsLMqlw== dependencies: is-electron "^2.2.0" which-boxed-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== dependencies: is-bigint "^1.0.1" @@ -11448,17 +11594,17 @@ which-boxed-primitive@^1.0.2: which-module@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which-pm-runs@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" + resolved "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz" integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= which-typed-array@^1.1.2: version "1.1.4" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.4.tgz#8fcb7d3ee5adf2d771066fba7cf37e32fe8711ff" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz" integrity sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA== dependencies: available-typed-arrays "^1.0.2" @@ -11471,35 +11617,35 @@ which-typed-array@^1.1.2: which@2.0.2, which@^2.0.1, which@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" which@^1.2.9, which@^1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" wide-align@1.1.3, wide-align@^1.1.0: version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz" integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== dependencies: string-width "^1.0.2 || 2" wide-align@^1.1.5: version "1.1.5" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz" integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== dependencies: string-width "^1.0.2 || 2 || 3 || 4" winston-daily-rotate-file@^4.5.5: version "4.5.5" - resolved "https://registry.yarnpkg.com/winston-daily-rotate-file/-/winston-daily-rotate-file-4.5.5.tgz#cfa3a89f4eb0e4126917592b375759b772bcd972" + resolved "https://registry.npmjs.org/winston-daily-rotate-file/-/winston-daily-rotate-file-4.5.5.tgz" integrity sha512-ds0WahIjiDhKCiMXmY799pDBW+58ByqIBtUcsqr4oDoXrAI3Zn+hbgFdUxzMfqA93OG0mPLYVMiotqTgE/WeWQ== dependencies: file-stream-rotator "^0.5.7" @@ -11509,7 +11655,7 @@ winston-daily-rotate-file@^4.5.5: winston-transport@^4.3.0, winston-transport@^4.4.0: version "4.4.0" - resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.4.0.tgz#17af518daa690d5b2ecccaa7acf7b20ca7925e59" + resolved "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz" integrity sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw== dependencies: readable-stream "^2.3.7" @@ -11517,7 +11663,7 @@ winston-transport@^4.3.0, winston-transport@^4.4.0: winston@^3.3.3: version "3.3.3" - resolved "https://registry.yarnpkg.com/winston/-/winston-3.3.3.tgz#ae6172042cafb29786afa3d09c8ff833ab7c9170" + resolved "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz" integrity sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw== dependencies: "@dabh/diagnostics" "^2.0.2" @@ -11532,39 +11678,39 @@ winston@^3.3.3: wipe-node-cache@^2.1.0, wipe-node-cache@^2.1.2: version "2.1.2" - resolved "https://registry.yarnpkg.com/wipe-node-cache/-/wipe-node-cache-2.1.2.tgz#f5aef4bc4366866f89536f3352eb6b9deda53ca0" + resolved "https://registry.npmjs.org/wipe-node-cache/-/wipe-node-cache-2.1.2.tgz" integrity sha512-m7NXa8qSxBGMtdQilOu53ctMaIBXy93FOP04EC1Uf4bpsE+r+adfLKwIMIvGbABsznaSNxK/ErD4xXDyY5og9w== wipe-webpack-cache@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/wipe-webpack-cache/-/wipe-webpack-cache-2.1.0.tgz#bc26149f21cf1a3c34752997b96458b567d3e6a1" + resolved "https://registry.npmjs.org/wipe-webpack-cache/-/wipe-webpack-cache-2.1.0.tgz" integrity sha512-OXzQMGpA7MnQQ8AG+uMl5mWR2ezy6fw1+DMHY+wzYP1qkF1jrek87psLBmhZEj+er4efO/GD4R8jXWFierobaA== dependencies: wipe-node-cache "^2.1.0" word-wrap@^1.2.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== wordwrap@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= workerpool@6.1.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b" + resolved "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz" integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg== workerpool@6.2.0: version "6.2.0" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.0.tgz#827d93c9ba23ee2019c3ffaff5c27fccea289e8b" + resolved "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz" integrity sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A== wrap-ansi@^6.2.0: version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== dependencies: ansi-styles "^4.0.0" @@ -11573,7 +11719,7 @@ wrap-ansi@^6.2.0: wrap-ansi@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" @@ -11582,12 +11728,12 @@ wrap-ansi@^7.0.0: wrappy@1: version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= write-file-atomic@^2.4.2: version "2.4.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz" integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== dependencies: graceful-fs "^4.1.11" @@ -11596,7 +11742,7 @@ write-file-atomic@^2.4.2: write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== dependencies: imurmurhash "^0.1.4" @@ -11606,7 +11752,7 @@ write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: write-json-file@^3.2.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-3.2.0.tgz#65bbdc9ecd8a1458e15952770ccbadfcff5fe62a" + resolved "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz" integrity sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ== dependencies: detect-indent "^5.0.0" @@ -11618,7 +11764,7 @@ write-json-file@^3.2.0: write-json-file@^4.3.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-4.3.0.tgz#908493d6fd23225344af324016e4ca8f702dd12d" + resolved "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz" integrity sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ== dependencies: detect-indent "^6.0.0" @@ -11630,7 +11776,7 @@ write-json-file@^4.3.0: write-pkg@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-4.0.0.tgz#675cc04ef6c11faacbbc7771b24c0abbf2a20039" + resolved "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz" integrity sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA== dependencies: sort-keys "^2.0.0" @@ -11639,17 +11785,17 @@ write-pkg@^4.0.0: ws@7.2.3: version "7.2.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.3.tgz#a5411e1fb04d5ed0efee76d26d5c46d830c39b46" + resolved "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz" integrity sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ== wtfnode@^0.8.4: version "0.8.4" - resolved "https://registry.yarnpkg.com/wtfnode/-/wtfnode-0.8.4.tgz#91ecf78a40ce222a73a063f26d72bea52357efcc" + resolved "https://registry.npmjs.org/wtfnode/-/wtfnode-0.8.4.tgz" integrity sha512-64GEKtMt/MUBuAm+8kHqP74ojjafzu00aT0JKsmkIwYmjRQ/odO0yhbzKLm+Z9v1gMla+8dwITRKzTAlHsB+Og== xml2js@0.4.19: version "0.4.19" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" + resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz" integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q== dependencies: sax ">=0.6.0" @@ -11657,14 +11803,14 @@ xml2js@0.4.19: xml2js@^0.1.0: version "0.1.14" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.1.14.tgz#5274e67f5a64c5f92974cd85139e0332adc6b90c" + resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.1.14.tgz" integrity sha1-UnTmf1pkxfkpdM2FE54DMq3GuQw= dependencies: sax ">=0.1.1" xml2js@^0.4.19: version "0.4.23" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" + resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz" integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== dependencies: sax ">=0.6.0" @@ -11672,57 +11818,57 @@ xml2js@^0.4.19: xmlbuilder@~11.0.0: version "11.0.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" + resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz" integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== xmlbuilder@~9.0.1: version "9.0.7" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" + resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz" integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= xsalsa20@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/xsalsa20/-/xsalsa20-1.1.0.tgz#bee27174af1913aaec0fe677d8ba161ec12bf87d" + resolved "https://registry.npmjs.org/xsalsa20/-/xsalsa20-1.1.0.tgz" integrity sha512-zd3ytX2cm+tcSndRU+krm0eL4TMMpZE7evs5hLRAoOy6gviqLfe3qOlkjF3i5SeAkQUCeJk0lJZrEU56kHRfWw== xtend@^4.0.0, xtend@~4.0.1: version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== y18n@^4.0.0: version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== -y18n@^5.0.2, y18n@^5.0.5: +y18n@^5.0.5: version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== -yallist@^3.0.0, yallist@^3.0.3: +yallist@^3.0.0, yallist@^3.0.3, yallist@^3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yallist@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^1.10.0: version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== yargs-parser@20.2.4: version "20.2.4" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz" integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== yargs-parser@^18.1.2: version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== dependencies: camelcase "^5.0.0" @@ -11730,12 +11876,12 @@ yargs-parser@^18.1.2: yargs-parser@^20.2.2, yargs-parser@^20.2.3: version "20.2.7" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz" integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== yargs-unparser@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + resolved "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz" integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== dependencies: camelcase "^6.0.0" @@ -11743,9 +11889,9 @@ yargs-unparser@2.0.0: flat "^5.0.2" is-plain-obj "^2.1.0" -yargs@16.2.0, yargs@^16.2.0: +yargs@16.2.0, yargs@^16.1.0, yargs@^16.2.0: version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== dependencies: cliui "^7.0.2" @@ -11758,7 +11904,7 @@ yargs@16.2.0, yargs@^16.2.0: yargs@^15.0.2: version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== dependencies: cliui "^6.0.0" @@ -11773,22 +11919,9 @@ yargs@^15.0.2: y18n "^4.0.0" yargs-parser "^18.1.2" -yargs@^16.1.0: - version "16.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.1.0.tgz#fc333fe4791660eace5a894b39d42f851cd48f2a" - integrity sha512-upWFJOmDdHN0syLuESuvXDmrRcWd1QafJolHskzaw79uZa7/x53gxQKiR07W59GWY1tFhhU/Th9DrtSfpS782g== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.2" - yargs-parser "^20.2.2" - yargs@^17.1.1: version "17.1.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.1.1.tgz#c2a8091564bdb196f7c0a67c1d12e5b85b8067ba" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz" integrity sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ== dependencies: cliui "^7.0.2" @@ -11801,10 +11934,10 @@ yargs@^17.1.1: yn@3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== yocto-queue@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From b671c0e2c38d8742d5b0a7e8557a4a07f90cb1a7 Mon Sep 17 00:00:00 2001 From: Lion - dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri, 27 May 2022 07:34:37 +0700 Subject: [PATCH 09/24] Assert equal params with only whitelisted keys (#4062) * Assert equal params with only whitelisted keys * Fix comment typo Co-authored-by: Cayman * Conditionally ignore future fork params * Add only one error message per param key * Improve NotEqualParamsError error message * Only check keys defined in both specs Co-authored-by: Cayman --- packages/validator/src/util/params.ts | 190 ++++++++++++++++++++++++-- 1 file changed, 178 insertions(+), 12 deletions(-) diff --git a/packages/validator/src/util/params.ts b/packages/validator/src/util/params.ts index 530da8ea6b51..d9d22e02d58a 100644 --- a/packages/validator/src/util/params.ts +++ b/packages/validator/src/util/params.ts @@ -1,31 +1,197 @@ -import {IChainConfig, chainConfigToJson, defaultChainConfig} from "@chainsafe/lodestar-config"; +import {IChainConfig, chainConfigToJson} from "@chainsafe/lodestar-config"; +import {activePreset, BeaconPreset, presetToJson} from "@chainsafe/lodestar-params"; export class NotEqualParamsError extends Error {} +type ConfigWithPreset = IChainConfig & BeaconPreset; + +/* eslint-disable @typescript-eslint/naming-convention */ + /** * Assert localConfig values match externalSpecJson. externalSpecJson may contain more values than localConfig. + * + * This check ensures that the validator is connected to a beacon node of the exact same network and params. + * Otherwise, signatures may be rejected, time may be un-equal and other bugs that are harder to debug caused + * by different parameters. + * + * This check however can't compare the full config as is, since some parameters are not critical to the spec and + * can be changed un-expectedly. Also, fork parameters can change un-expectedly, like their _FORK_VERSION or _EPOCH. + * Note that the config API endpoint is not precisely specified, so each clients can return a different set of + * parameters. + * + * So this check only compares a specific list of parameters that are consensus critical, ignoring the rest. Typed + * config and preset ensure new parameters are labeled critical or ignore, facilitating maintenance of the list. */ export function assertEqualParams(localConfig: IChainConfig, externalSpecJson: Record): void { - const localConfigJson = chainConfigToJson(localConfig) as Record; - - const externalSpecJsonWithDefaults = { - // fill missing properties in remote config with spec default values - ...chainConfigToJson(defaultChainConfig), - ...externalSpecJson, + // Before comparing, add preset which is bundled in api impl config route. + // config and preset must be serialized to JSON for safe comparisions. + const localSpecJson = { + ...chainConfigToJson(localConfig), + ...presetToJson(activePreset), }; + // Get list of keys to check, and keys to ignore. Otherwise this function throws for false positives + const criticalParams = getSpecCriticalParams(localConfig); + + // Accumulate errors first and print all of them at once const errors: string[] = []; - // Ensure only that the localConfig values match the remote spec - for (const key of Object.keys(localConfigJson)) { - const localValue = String(localConfigJson[key]).toLocaleLowerCase(); - const remoteValue = String(externalSpecJsonWithDefaults[key]).toLocaleLowerCase(); + for (const key of Object.keys(criticalParams) as (keyof typeof criticalParams)[]) { + if ( + // Ignore non-critical params + !criticalParams[key] || + // This condition should never be true, but just in case + localSpecJson[key] === undefined || + // The config/spec endpoint is poorly specified, so in practice each client returns a custom selection of keys. + // For example Lighthouse returns a manually selected list of keys that may be updated at any time. + // https://github.com/sigp/lighthouse/blob/bac7c3fa544495a257722aaad9cd8f72fee2f2b4/consensus/types/src/chain_spec.rs#L941 + // + // So if we assert that spec critical keys are present in the spec we may break interoperability unexpectedly. + // So it's best to ignore keys are not defined in both specs and trust that the ones defined are sufficient + // to detect spec discrepancies in all cases. + externalSpecJson[key] === undefined + ) { + continue; + } + + // Must compare JSON serialized specs, to ensure all strings are rendered in the same way + // Must compare as lowercase to ensure checksum addresses and names have same capilatization + const localValue = String(localSpecJson[key]).toLocaleLowerCase(); + const remoteValue = String(externalSpecJson[key]).toLocaleLowerCase(); if (localValue !== remoteValue) { errors.push(`${key} different value: ${localValue} != ${remoteValue}`); } } if (errors.length > 0) { - throw new NotEqualParamsError("Not equal BeaconParams\n" + errors.join("\n")); + throw new NotEqualParamsError("Local and remote configs are different\n" + errors.join("\n")); } } + +function getSpecCriticalParams(localConfig: IChainConfig): Record { + const altairForkRelevant = localConfig.ALTAIR_FORK_EPOCH < Infinity; + const bellatrixForkRelevant = localConfig.BELLATRIX_FORK_EPOCH < Infinity; + const shardingForkRelevant = localConfig.SHARDING_FORK_EPOCH < Infinity; + + return { + // # Config + /////////// + + PRESET_BASE: false, // Not relevant, each preset value is checked below + TERMINAL_TOTAL_DIFFICULTY: bellatrixForkRelevant, + TERMINAL_BLOCK_HASH: bellatrixForkRelevant, + TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH: bellatrixForkRelevant, + + // Genesis + MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: true, + MIN_GENESIS_TIME: true, + GENESIS_FORK_VERSION: true, + GENESIS_DELAY: true, + + // Forking + // Altair + ALTAIR_FORK_VERSION: altairForkRelevant, + ALTAIR_FORK_EPOCH: altairForkRelevant, + // Bellatrix + BELLATRIX_FORK_VERSION: bellatrixForkRelevant, + BELLATRIX_FORK_EPOCH: bellatrixForkRelevant, + // Sharding + SHARDING_FORK_VERSION: shardingForkRelevant, + SHARDING_FORK_EPOCH: shardingForkRelevant, + + // Time parameters + SECONDS_PER_SLOT: true, + SECONDS_PER_ETH1_BLOCK: true, + MIN_VALIDATOR_WITHDRAWABILITY_DELAY: true, + SHARD_COMMITTEE_PERIOD: true, + ETH1_FOLLOW_DISTANCE: true, + + // Validator cycle + INACTIVITY_SCORE_BIAS: true, + INACTIVITY_SCORE_RECOVERY_RATE: true, + EJECTION_BALANCE: true, + MIN_PER_EPOCH_CHURN_LIMIT: true, + CHURN_LIMIT_QUOTIENT: true, + + // Proposer boost + PROPOSER_SCORE_BOOST: false, // Ignored as it's changing https://github.com/ethereum/consensus-specs/pull/2895 + + // Deposit contract + DEPOSIT_CHAIN_ID: false, // Non-critical + DEPOSIT_NETWORK_ID: false, // Non-critical + DEPOSIT_CONTRACT_ADDRESS: true, + + // # Phase0Preset + ///////////////// + + MAX_COMMITTEES_PER_SLOT: true, + TARGET_COMMITTEE_SIZE: true, + MAX_VALIDATORS_PER_COMMITTEE: true, + + SHUFFLE_ROUND_COUNT: true, + + HYSTERESIS_QUOTIENT: true, + HYSTERESIS_DOWNWARD_MULTIPLIER: true, + HYSTERESIS_UPWARD_MULTIPLIER: true, + + // Fork choice + SAFE_SLOTS_TO_UPDATE_JUSTIFIED: true, + + // Gwei Values + MIN_DEPOSIT_AMOUNT: true, + MAX_EFFECTIVE_BALANCE: true, + EFFECTIVE_BALANCE_INCREMENT: true, + + // Time parameters + MIN_ATTESTATION_INCLUSION_DELAY: true, + SLOTS_PER_EPOCH: true, + MIN_SEED_LOOKAHEAD: true, + MAX_SEED_LOOKAHEAD: true, + EPOCHS_PER_ETH1_VOTING_PERIOD: true, + SLOTS_PER_HISTORICAL_ROOT: true, + MIN_EPOCHS_TO_INACTIVITY_PENALTY: true, + + // State vector lengths + EPOCHS_PER_HISTORICAL_VECTOR: true, + EPOCHS_PER_SLASHINGS_VECTOR: true, + HISTORICAL_ROOTS_LIMIT: true, + VALIDATOR_REGISTRY_LIMIT: true, + + // Reward and penalty quotients + BASE_REWARD_FACTOR: true, + WHISTLEBLOWER_REWARD_QUOTIENT: true, + PROPOSER_REWARD_QUOTIENT: true, + INACTIVITY_PENALTY_QUOTIENT: true, + MIN_SLASHING_PENALTY_QUOTIENT: true, + PROPORTIONAL_SLASHING_MULTIPLIER: true, + + // Max operations per block + MAX_PROPOSER_SLASHINGS: true, + MAX_ATTESTER_SLASHINGS: true, + MAX_ATTESTATIONS: true, + MAX_DEPOSITS: true, + MAX_VOLUNTARY_EXITS: true, + + // # AltairPreset + ///////////////// + + SYNC_COMMITTEE_SIZE: altairForkRelevant, + EPOCHS_PER_SYNC_COMMITTEE_PERIOD: altairForkRelevant, + INACTIVITY_PENALTY_QUOTIENT_ALTAIR: altairForkRelevant, + MIN_SLASHING_PENALTY_QUOTIENT_ALTAIR: altairForkRelevant, + PROPORTIONAL_SLASHING_MULTIPLIER_ALTAIR: altairForkRelevant, + MIN_SYNC_COMMITTEE_PARTICIPANTS: false, // Only relevant for lightclients + UPDATE_TIMEOUT: false, // Only relevant for lightclients + + // # BellatrixPreset + ///////////////// + + INACTIVITY_PENALTY_QUOTIENT_BELLATRIX: bellatrixForkRelevant, + MIN_SLASHING_PENALTY_QUOTIENT_BELLATRIX: bellatrixForkRelevant, + PROPORTIONAL_SLASHING_MULTIPLIER_BELLATRIX: bellatrixForkRelevant, + MAX_BYTES_PER_TRANSACTION: bellatrixForkRelevant, + MAX_TRANSACTIONS_PER_PAYLOAD: bellatrixForkRelevant, + BYTES_PER_LOGS_BLOOM: bellatrixForkRelevant, + MAX_EXTRA_DATA_BYTES: bellatrixForkRelevant, + }; +} From 2883368c84efc23a679cafc4c98d430f45444e51 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 26 May 2022 19:57:32 -0500 Subject: [PATCH 10/24] Bump cross-fetch from 3.1.4 to 3.1.5 (#4073) Bumps [cross-fetch](https://github.com/lquixada/cross-fetch) from 3.1.4 to 3.1.5. - [Release notes](https://github.com/lquixada/cross-fetch/releases) - [Commits](https://github.com/lquixada/cross-fetch/compare/v3.1.4...v3.1.5) --- updated-dependencies: - dependency-name: cross-fetch dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/yarn.lock b/yarn.lock index 020c20c61273..eb9d381df4b2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4244,11 +4244,11 @@ create-require@^1.1.0: integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== cross-fetch@^3.1.4: - version "3.1.4" - resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz" - integrity sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ== + version "3.1.5" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" + integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== dependencies: - node-fetch "2.6.1" + node-fetch "2.6.7" cross-spawn@^6.0.5: version "6.0.5" @@ -8391,17 +8391,7 @@ node-addon-api@^2.0.0: resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz" integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== -node-fetch@2.6.1, node-fetch@^2.6.1: - version "2.6.1" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== - -node-fetch@^2.6.0: - version "2.6.0" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz" - integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== - -"node-fetch@npm:@achingbrain/node-fetch@^2.6.4": +node-fetch@2.6.7, node-fetch@^2.6.0, node-fetch@^2.6.1, "node-fetch@npm:@achingbrain/node-fetch@^2.6.4": version "2.6.7" resolved "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz" integrity sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g== From dfa7b98314f3b2a95ea437fc7463da5636628c1a Mon Sep 17 00:00:00 2001 From: Lion - dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri, 27 May 2022 21:26:23 +0700 Subject: [PATCH 11/24] Persist invalid SSZ objects only if enabled (#3797) * Persist invalid SSZ objects only if enabled * Switch to fs async api Co-authored-by: Tuyen Nguyen --- packages/cli/src/cmds/beacon/options.ts | 2 +- .../src/api/impl/beacon/pool/index.ts | 15 +----- .../lodestar/src/api/impl/validator/index.ts | 16 ++---- packages/lodestar/src/chain/chain.ts | 54 +++++++++++++------ packages/lodestar/src/chain/eventHandlers.ts | 36 ++++--------- packages/lodestar/src/chain/interface.ts | 8 +-- packages/lodestar/src/chain/options.ts | 2 - .../src/network/gossip/handlers/index.ts | 38 +++---------- packages/lodestar/src/util/file.ts | 30 +++++++---- packages/lodestar/test/unit/util/file.test.ts | 52 +++++++++++++++--- .../lodestar/test/utils/mocks/chain/chain.ts | 12 +++-- 11 files changed, 137 insertions(+), 128 deletions(-) diff --git a/packages/cli/src/cmds/beacon/options.ts b/packages/cli/src/cmds/beacon/options.ts index 3194831ce546..54c83ddf8e05 100644 --- a/packages/cli/src/cmds/beacon/options.ts +++ b/packages/cli/src/cmds/beacon/options.ts @@ -98,7 +98,7 @@ export const beaconPathsOptions: ICliCommandOptions = { }, persistInvalidSszObjectsDir: { - description: "Directory to persist invalid ssz objects", + description: "Enable and specify a directory to persist invalid ssz objects", defaultDescription: defaultBeaconPaths.persistInvalidSszObjectsDir, hidden: true, type: "string", diff --git a/packages/lodestar/src/api/impl/beacon/pool/index.ts b/packages/lodestar/src/api/impl/beacon/pool/index.ts index e5f81e9dd9d3..93bee203c164 100644 --- a/packages/lodestar/src/api/impl/beacon/pool/index.ts +++ b/packages/lodestar/src/api/impl/beacon/pool/index.ts @@ -1,7 +1,6 @@ import {routes} from "@chainsafe/lodestar-api"; import {Epoch, ssz} from "@chainsafe/lodestar-types"; import {SYNC_COMMITTEE_SUBNET_SIZE} from "@chainsafe/lodestar-params"; -import {toHexString} from "@chainsafe/ssz"; import {validateGossipAttestation} from "../../../../chain/validation/index.js"; import {validateGossipAttesterSlashing} from "../../../../chain/validation/attesterSlashing.js"; import {validateGossipProposerSlashing} from "../../../../chain/validation/proposerSlashing.js"; @@ -60,12 +59,7 @@ export function getBeaconPoolApi({ e as Error ); if (e instanceof AttestationError && e.action === GossipAction.REJECT) { - const archivedPath = chain.persistInvalidSszObject( - "attestation", - ssz.phase0.Attestation.serialize(attestation), - toHexString(ssz.phase0.Attestation.hashTreeRoot(attestation)) - ); - logger.debug("Submitted invalid attestation was written to", archivedPath); + chain.persistInvalidSszValue(ssz.phase0.Attestation, attestation, "api_reject"); } } }) @@ -148,12 +142,7 @@ export function getBeaconPoolApi({ e as Error ); if (e instanceof SyncCommitteeError && e.action === GossipAction.REJECT) { - const archivedPath = chain.persistInvalidSszObject( - "syncCommittee", - ssz.altair.SyncCommitteeMessage.serialize(signature), - toHexString(ssz.altair.SyncCommitteeMessage.hashTreeRoot(signature)) - ); - logger.debug("The submitted sync committee message was written to", archivedPath); + chain.persistInvalidSszValue(ssz.altair.SyncCommitteeMessage, signature, "api_reject"); } } }) diff --git a/packages/lodestar/src/api/impl/validator/index.ts b/packages/lodestar/src/api/impl/validator/index.ts index 2aad7034ac49..d5ab378e9b90 100644 --- a/packages/lodestar/src/api/impl/validator/index.ts +++ b/packages/lodestar/src/api/impl/validator/index.ts @@ -16,7 +16,7 @@ import { import {Root, Slot, ValidatorIndex, ssz} from "@chainsafe/lodestar-types"; import {ExecutionStatus} from "@chainsafe/lodestar-fork-choice"; -import {fromHexString, toHexString} from "@chainsafe/ssz"; +import {fromHexString} from "@chainsafe/ssz"; import {assembleBlock} from "../../../chain/factory/block/index.js"; import {AttestationError, AttestationErrorCode, GossipAction, SyncCommitteeError} from "../../../chain/errors/index.js"; import {validateGossipAggregateAndProof} from "../../../chain/validation/index.js"; @@ -466,12 +466,7 @@ export function getValidatorApi({chain, config, logger, metrics, network, sync}: e as Error ); if (e instanceof AttestationError && e.action === GossipAction.REJECT) { - const archivedPath = chain.persistInvalidSszObject( - "signedAggregatedAndProof", - ssz.phase0.SignedAggregateAndProof.serialize(signedAggregateAndProof), - toHexString(ssz.phase0.SignedAggregateAndProof.hashTreeRoot(signedAggregateAndProof)) - ); - logger.debug("The submitted signed aggregate and proof was written to", archivedPath); + chain.persistInvalidSszValue(ssz.phase0.SignedAggregateAndProof, signedAggregateAndProof, "api_reject"); } } }) @@ -517,12 +512,7 @@ export function getValidatorApi({chain, config, logger, metrics, network, sync}: e as Error ); if (e instanceof SyncCommitteeError && e.action === GossipAction.REJECT) { - const archivedPath = chain.persistInvalidSszObject( - "contributionAndProof", - ssz.altair.SignedContributionAndProof.serialize(contributionAndProof), - toHexString(ssz.altair.SignedContributionAndProof.hashTreeRoot(contributionAndProof)) - ); - logger.debug("The submitted contribution adn proof was written to", archivedPath); + chain.persistInvalidSszValue(ssz.altair.SignedContributionAndProof, contributionAndProof, "api_reject"); } } }) diff --git a/packages/lodestar/src/chain/chain.ts b/packages/lodestar/src/chain/chain.ts index 399f05a832c7..408e5ac3e8df 100644 --- a/packages/lodestar/src/chain/chain.ts +++ b/packages/lodestar/src/chain/chain.ts @@ -2,7 +2,7 @@ * @module chain */ -import fs from "node:fs"; +import path from "node:path"; import { BeaconStateAllForks, CachedBeaconStateAllForks, @@ -14,19 +14,20 @@ import { import {IBeaconConfig} from "@chainsafe/lodestar-config"; import {IForkChoice} from "@chainsafe/lodestar-fork-choice"; import {allForks, UintNum64, Root, phase0, Slot, RootHex, Epoch} from "@chainsafe/lodestar-types"; -import {ILogger} from "@chainsafe/lodestar-utils"; -import {fromHexString} from "@chainsafe/ssz"; +import {ILogger, toHex} from "@chainsafe/lodestar-utils"; +import {CompositeTypeAny, fromHexString, TreeView, Type} from "@chainsafe/ssz"; import {GENESIS_EPOCH, ZERO_HASH} from "../constants/index.js"; import {IBeaconDb} from "../db/index.js"; import {IMetrics} from "../metrics/index.js"; import {IEth1ForBlockProduction} from "../eth1/index.js"; import {IExecutionEngine} from "../executionEngine/index.js"; +import {ensureDir, writeIfNotExist} from "../util/file.js"; import {CheckpointStateCache, StateContextCache} from "./stateCache/index.js"; import {BlockProcessor, PartiallyVerifiedBlockFlags} from "./blocks/index.js"; import {IBeaconClock, LocalClock} from "./clock/index.js"; import {ChainEventEmitter} from "./emitter.js"; import {handleChainEvents} from "./eventHandlers.js"; -import {IBeaconChain, SSZObjectType, ProposerPreparationData} from "./interface.js"; +import {IBeaconChain, ProposerPreparationData} from "./interface.js"; import {IChainOptions} from "./options.js"; import {IStateRegenerator, QueuedStateRegenerator, RegenCaller} from "./regen/index.js"; import {initializeForkChoice} from "./forkChoice/index.js"; @@ -302,24 +303,43 @@ export class BeaconChain implements IBeaconChain { return this.reprocessController.waitForBlockOfAttestation(slot, root); } - persistInvalidSszObject(type: SSZObjectType, bytes: Uint8Array, suffix = ""): string | null { + persistInvalidSszValue(type: Type, sszObject: T, suffix?: string): void { + if (this.opts.persistInvalidSszObjects) { + void this.persistInvalidSszObject(type.typeName, type.serialize(sszObject), type.hashTreeRoot(sszObject), suffix); + } + } + + persistInvalidSszView(view: TreeView, suffix?: string): void { + if (this.opts.persistInvalidSszObjects) { + void this.persistInvalidSszObject(view.type.typeName, view.serialize(), view.hashTreeRoot(), suffix); + } + } + + private async persistInvalidSszObject( + typeName: string, + bytes: Uint8Array, + root: Uint8Array, + suffix?: string + ): Promise { + if (!this.opts.persistInvalidSszObjects) { + return; + } + const now = new Date(); // yyyy-MM-dd - const date = now.toISOString().split("T")[0]; + const dateStr = now.toISOString().split("T")[0]; + // by default store to lodestar_archive of current dir - const byDate = this.opts.persistInvalidSszObjectsDir - ? `${this.opts.persistInvalidSszObjectsDir}/${date}` - : `invalidSszObjects/${date}`; - if (!fs.existsSync(byDate)) { - fs.mkdirSync(byDate, {recursive: true}); - } - const fileName = `${byDate}/${type}_${suffix}.ssz`; + const dirpath = path.join(this.opts.persistInvalidSszObjectsDir ?? "invalid_ssz_objects", dateStr); + const filepath = path.join(dirpath, `${typeName}_${toHex(root)}.ssz`); + + await ensureDir(dirpath); + // as of Feb 17 2022 there are a lot of duplicate files stored with different date suffixes // remove date suffixes in file name, and check duplicate to avoid redundant persistence - if (!fs.existsSync(fileName)) { - fs.writeFileSync(fileName, bytes); - } - return fileName; + await writeIfNotExist(filepath, bytes); + + this.logger.debug("Persisted invalid ssz object", {id: suffix, filepath}); } async updateBeaconProposerData(epoch: Epoch, proposers: ProposerPreparationData[]): Promise { diff --git a/packages/lodestar/src/chain/eventHandlers.ts b/packages/lodestar/src/chain/eventHandlers.ts index 984ab14e1295..ee3f13e43b07 100644 --- a/packages/lodestar/src/chain/eventHandlers.ts +++ b/packages/lodestar/src/chain/eventHandlers.ts @@ -231,37 +231,19 @@ export async function onErrorBlock(this: BeaconChain, err: BlockError): Promise< const {signedBlock} = err; const blockSlot = signedBlock.message.slot; const {state} = err.type; - const blockPath = this.persistInvalidSszObject( - "signedBlock", - this.config.getForkTypes(blockSlot).SignedBeaconBlock.serialize(signedBlock), - `${blockSlot}_invalid_signature` - ); - const statePath = this.persistInvalidSszObject("state", state.serialize(), `${state.slot}_invalid_signature`); - this.logger.debug("Invalid signature block and state were written to disc", {blockPath, statePath}); + const forkTypes = this.config.getForkTypes(blockSlot); + this.persistInvalidSszValue(forkTypes.SignedBeaconBlock, signedBlock, `${blockSlot}_invalid_signature`); + this.persistInvalidSszView(state, `${state.slot}_invalid_signature`); } else if (err.type.code === BlockErrorCode.INVALID_STATE_ROOT) { const {signedBlock} = err; const blockSlot = signedBlock.message.slot; const {preState, postState} = err.type; + const forkTypes = this.config.getForkTypes(blockSlot); const invalidRoot = toHexString(postState.hashTreeRoot()); - const blockPath = this.persistInvalidSszObject( - "signedBlock", - this.config.getForkTypes(blockSlot).SignedBeaconBlock.serialize(signedBlock), - `${blockSlot}_invalid_state_root_${invalidRoot}` - ); - const preStatePath = this.persistInvalidSszObject( - "state", - preState.serialize(), - `${blockSlot}_invalid_state_root_preState_${invalidRoot}` - ); - const postStatePath = this.persistInvalidSszObject( - "state", - postState.serialize(), - `${blockSlot}_invalid_state_root_postState_${invalidRoot}` - ); - this.logger.debug("Invalid state root block and states were written to disc", { - blockPath, - preStatePath, - postStatePath, - }); + + const suffix = `slot_${blockSlot}_invalid_state_root_${invalidRoot}`; + this.persistInvalidSszValue(forkTypes.SignedBeaconBlock, signedBlock, suffix); + this.persistInvalidSszView(preState, `${suffix}_preState`); + this.persistInvalidSszView(postState, `${suffix}_postState`); } } diff --git a/packages/lodestar/src/chain/interface.ts b/packages/lodestar/src/chain/interface.ts index b7746b68c50c..61b345c32fb0 100644 --- a/packages/lodestar/src/chain/interface.ts +++ b/packages/lodestar/src/chain/interface.ts @@ -2,6 +2,7 @@ import {allForks, UintNum64, Root, phase0, Slot, RootHex, Epoch} from "@chainsaf import {CachedBeaconStateAllForks} from "@chainsafe/lodestar-beacon-state-transition"; import {IForkChoice} from "@chainsafe/lodestar-fork-choice"; import {IBeaconConfig} from "@chainsafe/lodestar-config"; +import {CompositeTypeAny, TreeView, Type} from "@chainsafe/ssz"; import {IEth1ForBlockProduction} from "../eth1/index.js"; import {IExecutionEngine} from "../executionEngine/index.js"; @@ -102,10 +103,11 @@ export interface IBeaconChain { waitForBlockOfAttestation(slot: Slot, root: RootHex): Promise; - /** Persist bad items to persistInvalidSszObjectsDir dir, for example invalid state, attestations etc. */ - persistInvalidSszObject(type: SSZObjectType, bytes: Uint8Array, suffix: string): string | null; - updateBeaconProposerData(epoch: Epoch, proposers: ProposerPreparationData[]): Promise; + + persistInvalidSszValue(type: Type, sszObject: T | Uint8Array, suffix?: string): void; + /** Persist bad items to persistInvalidSszObjectsDir dir, for example invalid state, attestations etc. */ + persistInvalidSszView(view: TreeView, suffix?: string): void; } export type SSZObjectType = diff --git a/packages/lodestar/src/chain/options.ts b/packages/lodestar/src/chain/options.ts index a0a76fb735cc..5af30b5b2331 100644 --- a/packages/lodestar/src/chain/options.ts +++ b/packages/lodestar/src/chain/options.ts @@ -30,8 +30,6 @@ export const defaultChainOptions: IChainOptions = { blsVerifyAllMainThread: false, blsVerifyAllMultiThread: false, disableBlsBatchVerify: false, - persistInvalidSszObjects: true, - persistInvalidSszObjectsDir: "", proposerBoostEnabled: true, safeSlotsToImportOptimistically: SAFE_SLOTS_TO_IMPORT_OPTIMISTICALLY, defaultFeeRecipient: defaultDefaultFeeRecipient, diff --git a/packages/lodestar/src/network/gossip/handlers/index.ts b/packages/lodestar/src/network/gossip/handlers/index.ts index a79943025443..b218dee2c17f 100644 --- a/packages/lodestar/src/network/gossip/handlers/index.ts +++ b/packages/lodestar/src/network/gossip/handlers/index.ts @@ -75,7 +75,8 @@ export function getGossipHandlers(modules: ValidatorFnsModules, options: GossipH return { [GossipType.beacon_block]: async (signedBlock, topic, peerIdStr, seenTimestampSec) => { const slot = signedBlock.message.slot; - const blockHex = prettyBytes(config.getForkTypes(slot).BeaconBlock.hashTreeRoot(signedBlock.message)); + const forkTypes = config.getForkTypes(slot); + const blockHex = prettyBytes(forkTypes.BeaconBlock.hashTreeRoot(signedBlock.message)); const delaySec = chain.clock.secFromSlot(slot, seenTimestampSec); logger.verbose("Received gossip block", { slot: slot, @@ -96,12 +97,7 @@ export function getGossipHandlers(modules: ValidatorFnsModules, options: GossipH } if (e instanceof BlockGossipError && e.action === GossipAction.REJECT) { - const archivedPath = chain.persistInvalidSszObject( - "signedBlock", - config.getForkTypes(slot).SignedBeaconBlock.serialize(signedBlock), - `gossip_slot_${slot}` - ); - logger.debug("The invalid gossip block was written to", archivedPath); + chain.persistInvalidSszValue(forkTypes.SignedBeaconBlock, signedBlock, `gossip_reject_slot_${slot}`); } throw e; @@ -151,12 +147,7 @@ export function getGossipHandlers(modules: ValidatorFnsModules, options: GossipH validationResult = await validateGossipAggregateAndProofRetryUnknownRoot(chain, signedAggregateAndProof); } catch (e) { if (e instanceof AttestationError && e.action === GossipAction.REJECT) { - const archivedPath = chain.persistInvalidSszObject( - "signedAggregatedAndProof", - ssz.phase0.SignedAggregateAndProof.serialize(signedAggregateAndProof), - toHexString(ssz.phase0.SignedAggregateAndProof.hashTreeRoot(signedAggregateAndProof)) - ); - logger.debug("The invalid gossip aggregate and proof was written to", archivedPath, e); + chain.persistInvalidSszValue(ssz.phase0.SignedAggregateAndProof, signedAggregateAndProof, "gossip_reject"); } throw e; } @@ -191,12 +182,7 @@ export function getGossipHandlers(modules: ValidatorFnsModules, options: GossipH validationResult = await validateGossipAttestationRetryUnknownRoot(chain, attestation, subnet); } catch (e) { if (e instanceof AttestationError && e.action === GossipAction.REJECT) { - const archivedPath = chain.persistInvalidSszObject( - "attestation", - ssz.phase0.Attestation.serialize(attestation), - toHexString(ssz.phase0.Attestation.hashTreeRoot(attestation)) - ); - logger.debug("The invalid gossip attestation was written to", archivedPath); + chain.persistInvalidSszValue(ssz.phase0.Attestation, attestation, "gossip_reject"); } throw e; } @@ -268,12 +254,7 @@ export function getGossipHandlers(modules: ValidatorFnsModules, options: GossipH contributionAndProof ).catch((e) => { if (e instanceof SyncCommitteeError && e.action === GossipAction.REJECT) { - const archivedPath = chain.persistInvalidSszObject( - "contributionAndProof", - ssz.altair.SignedContributionAndProof.serialize(contributionAndProof), - toHexString(ssz.altair.SignedContributionAndProof.hashTreeRoot(contributionAndProof)) - ); - logger.debug("The invalid gossip contribution and proof was written to", archivedPath); + chain.persistInvalidSszValue(ssz.altair.SignedContributionAndProof, contributionAndProof, "gossip_reject"); } throw e; }); @@ -293,12 +274,7 @@ export function getGossipHandlers(modules: ValidatorFnsModules, options: GossipH indexInSubcommittee = (await validateGossipSyncCommittee(chain, syncCommittee, subnet)).indexInSubcommittee; } catch (e) { if (e instanceof SyncCommitteeError && e.action === GossipAction.REJECT) { - const archivedPath = chain.persistInvalidSszObject( - "syncCommittee", - ssz.altair.SyncCommitteeMessage.serialize(syncCommittee), - toHexString(ssz.altair.SyncCommitteeMessage.hashTreeRoot(syncCommittee)) - ); - logger.debug("The invalid gossip sync committee was written to", archivedPath); + chain.persistInvalidSszValue(ssz.altair.SyncCommitteeMessage, syncCommittee, "gossip_reject"); } throw e; } diff --git a/packages/lodestar/src/util/file.ts b/packages/lodestar/src/util/file.ts index 11280b42520b..d4ff3ca4f98b 100644 --- a/packages/lodestar/src/util/file.ts +++ b/packages/lodestar/src/util/file.ts @@ -4,19 +4,29 @@ import fs from "node:fs"; import path from "node:path"; +import {promisify} from "node:util"; -/** - * Recursively ensures directory exists by creating any missing directories - * @param {string} filePath - */ -export function ensureDirectoryExistence(filePath: string): boolean { - const dirname = path.dirname(filePath); - if (fs.existsSync(dirname)) { +/** Ensure a directory exists */ +export async function ensureDir(path: string): Promise { + try { + await promisify(fs.stat)(path); + } catch (_) { + // not exists + await promisify(fs.mkdir)(path, {recursive: true}); + } +} + +/** Write data to a file if it does not exist */ +export async function writeIfNotExist(filepath: string, bytes: Uint8Array): Promise { + try { + await promisify(fs.stat)(filepath); + return false; + // file exists, do nothing + } catch (_) { + // not exists + await promisify(fs.writeFile)(filepath, bytes); return true; } - ensureDirectoryExistence(dirname); - fs.mkdirSync(dirname); - return true; } export function rmDir(dir: string): void { diff --git a/packages/lodestar/test/unit/util/file.test.ts b/packages/lodestar/test/unit/util/file.test.ts index 5010aae3ddee..9c89c2edb9e8 100644 --- a/packages/lodestar/test/unit/util/file.test.ts +++ b/packages/lodestar/test/unit/util/file.test.ts @@ -1,14 +1,50 @@ -import {assert} from "chai"; -import {ensureDirectoryExistence} from "../../../src/util/file.js"; +import fs from "node:fs"; +import path from "node:path"; +import {expect} from "chai"; +import {ensureDir, writeIfNotExist} from "../../../src/util/file.js"; -describe("util/file", function () { - const testFilePath = "keys/toml/test_config.toml"; +describe("file util", function () { + this.timeout(3000); + const dirPath = path.join(".", "keys/toml/test_config.toml"); - it("should create directory needed for file writes", () => { - assert.isTrue(ensureDirectoryExistence(testFilePath)); + describe("ensureDir", function () { + it("create dir if not exists", async () => { + expect(fs.existsSync(dirPath), `${dirPath} should not exist`).to.be.false; + await ensureDir(dirPath); + expect(fs.existsSync(dirPath), `${dirPath} should exist`).to.be.true; + fs.rmdirSync(dirPath); + }); }); - it("should return true for existing directory", () => { - assert.isTrue(ensureDirectoryExistence("src")); + describe("writeIfNotExist", function () { + const filePath = path.join(dirPath, "test.txt"); + const data = new Uint8Array([0, 1, 2]); + before(async () => { + await ensureDir(dirPath); + }); + + after(() => { + fs.rmdirSync(dirPath); + }); + + it("write to a non-existed file", async () => { + expect(fs.existsSync(filePath)).to.be.false; + expect(await writeIfNotExist(filePath, data)).to.be.true; + const bytes = fs.readFileSync(filePath); + expect(new Uint8Array(bytes)).to.be.deep.equals(data); + + // clean up + fs.rmSync(filePath); + }); + + it("write to an existing file", async () => { + fs.writeFileSync(filePath, new Uint8Array([3, 4])); + expect(await writeIfNotExist(filePath, data)).to.be.false; + const bytes = fs.readFileSync(filePath); + expect(new Uint8Array(bytes)).not.to.be.deep.equals(data); + + // clean up + fs.rmSync(filePath); + }); }); }); diff --git a/packages/lodestar/test/utils/mocks/chain/chain.ts b/packages/lodestar/test/utils/mocks/chain/chain.ts index 7ba57044b911..821199ac70a8 100644 --- a/packages/lodestar/test/utils/mocks/chain/chain.ts +++ b/packages/lodestar/test/utils/mocks/chain/chain.ts @@ -1,7 +1,7 @@ import sinon from "sinon"; import {AbortController} from "@chainsafe/abort-controller"; -import {toHexString} from "@chainsafe/ssz"; +import {CompositeTypeAny, toHexString, TreeView} from "@chainsafe/ssz"; import {allForks, UintNum64, Root, Slot, ssz, Uint16, UintBn64} from "@chainsafe/lodestar-types"; import {IBeaconConfig} from "@chainsafe/lodestar-config"; import {BeaconStateAllForks, CachedBeaconStateAllForks} from "@chainsafe/lodestar-beacon-state-transition"; @@ -132,6 +132,8 @@ export class MockBeaconChain implements IBeaconChain { this.reprocessController = new ReprocessController(null); } + persistInvalidSszView(_: TreeView): void {} + getHeadState(): CachedBeaconStateAllForks { return createCachedBeaconStateTest(this.state, this.config); } @@ -179,8 +181,12 @@ export class MockBeaconChain implements IBeaconChain { return false; } - persistInvalidSszObject(): string | null { - return null; + persistInvalidSszObject(): void { + return; + } + + persistInvalidSszValue(): void { + return; } async updateBeaconProposerData(): Promise {} From c1ed45d8ef02ce5380c1d40c9a19f1c00c143faf Mon Sep 17 00:00:00 2001 From: g11tech Date: Fri, 27 May 2022 20:58:21 +0530 Subject: [PATCH 12/24] Remove invalid terminal block execution scenario (#4076) --- packages/lodestar/src/chain/blocks/verifyBlock.ts | 1 - packages/lodestar/src/executionEngine/http.ts | 8 -------- packages/lodestar/src/executionEngine/interface.ts | 11 ++--------- 3 files changed, 2 insertions(+), 18 deletions(-) diff --git a/packages/lodestar/src/chain/blocks/verifyBlock.ts b/packages/lodestar/src/chain/blocks/verifyBlock.ts index 04e46f32c26a..c7eaf5e42da6 100644 --- a/packages/lodestar/src/chain/blocks/verifyBlock.ts +++ b/packages/lodestar/src/chain/blocks/verifyBlock.ts @@ -270,7 +270,6 @@ export async function verifyBlockStateTransition( // child block will cause it to replay case ExecutePayloadStatus.INVALID_BLOCK_HASH: - case ExecutePayloadStatus.INVALID_TERMINAL_BLOCK: case ExecutePayloadStatus.ELERROR: case ExecutePayloadStatus.UNAVAILABLE: throw new BlockError(block, { diff --git a/packages/lodestar/src/executionEngine/http.ts b/packages/lodestar/src/executionEngine/http.ts index 1835830dec36..ef30715b62e0 100644 --- a/packages/lodestar/src/executionEngine/http.ts +++ b/packages/lodestar/src/executionEngine/http.ts @@ -140,7 +140,6 @@ export class ExecutionEngineHttp implements IExecutionEngine { return {status, latestValidHash: null, validationError: null}; case ExecutePayloadStatus.INVALID_BLOCK_HASH: - case ExecutePayloadStatus.INVALID_TERMINAL_BLOCK: return {status, latestValidHash: null, validationError: validationError ?? "Malformed block"}; case ExecutePayloadStatus.UNAVAILABLE: @@ -249,13 +248,6 @@ export class ExecutionEngineHttp implements IExecutionEngine { }` ); - case ExecutePayloadStatus.INVALID_TERMINAL_BLOCK: - throw Error( - `Invalid terminal block for ${ - payloadAttributes ? "prepare payload" : "forkchoice request" - }, validationError=${validationError ?? ""}` - ); - default: throw Error(`Unknown status ${status}`); } diff --git a/packages/lodestar/src/executionEngine/interface.ts b/packages/lodestar/src/executionEngine/interface.ts index 49305876eec1..f5befcc13643 100644 --- a/packages/lodestar/src/executionEngine/interface.ts +++ b/packages/lodestar/src/executionEngine/interface.ts @@ -17,8 +17,6 @@ export enum ExecutePayloadStatus { ACCEPTED = "ACCEPTED", /** blockHash is invalid */ INVALID_BLOCK_HASH = "INVALID_BLOCK_HASH", - /** invalid terminal block */ - INVALID_TERMINAL_BLOCK = "INVALID_TERMINAL_BLOCK", /** EL error */ ELERROR = "ELERROR", /** EL unavailable */ @@ -32,11 +30,7 @@ export type ExecutePayloadResponse = | {status: ExecutePayloadStatus.VALID; latestValidHash: RootHex; validationError: null} | {status: ExecutePayloadStatus.INVALID; latestValidHash: RootHex; validationError: string | null} | { - status: - | ExecutePayloadStatus.INVALID_BLOCK_HASH - | ExecutePayloadStatus.INVALID_TERMINAL_BLOCK - | ExecutePayloadStatus.ELERROR - | ExecutePayloadStatus.UNAVAILABLE; + status: ExecutePayloadStatus.INVALID_BLOCK_HASH | ExecutePayloadStatus.ELERROR | ExecutePayloadStatus.UNAVAILABLE; latestValidHash: null; validationError: string; }; @@ -44,8 +38,7 @@ export type ExecutePayloadResponse = export type ForkChoiceUpdateStatus = | ExecutePayloadStatus.VALID | ExecutePayloadStatus.INVALID - | ExecutePayloadStatus.SYNCING - | ExecutePayloadStatus.INVALID_TERMINAL_BLOCK; + | ExecutePayloadStatus.SYNCING; export type PayloadAttributes = { timestamp: number; From 510f3108e40fe2ef5ec5e8a56f3e8b3e27f62830 Mon Sep 17 00:00:00 2001 From: Lion - dapplion <35266934+dapplion@users.noreply.github.com> Date: Mon, 30 May 2022 22:22:00 +0700 Subject: [PATCH 13/24] Adopt gitflow for Lodestar releases (#4071) * Adopt gitflow for Lodestar releases * Apply feedback * Replace most mentions of `master` with `unstable` * Tweak various parts of RELEASE.md * Update CI * Tweak dev release version handling * Tweak workflow names * Replace `nightly` with `dev` * Replace `beta` with `rc` * Fix publish for rc release and stable release only * Remove stray "beta" * Add code examples to RELEASE.md * Clarify publish process * Collapse 'Alternatives considered' section * Move 'Details' header up one level * Clarify publishing a release * Tweak headings * Fix hotfix section * More clarifications * Update examples in RELEASE.md * More clarifications * Fix formatting * Run RELEASE.md through grammarly * Change script name to release:publish * Add create_rc script * Add workflow_dispatch for create RC * Add placeholder for other scripts * Update RELEASE.md * Update release create rc script * Update script instructions * create_rc script must not be run in CI * Update release flow * Add publish-rc workflow * Apply suggestions from code review Co-authored-by: Afr Schoe <58883403+q9f@users.noreply.github.com> Co-authored-by: Cayman Co-authored-by: Afr Schoe <58883403+q9f@users.noreply.github.com> --- .bulldozer.yml | 2 +- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- .github/workflows/benchmark.yml | 6 +- .github/workflows/codeql-analysis.yml | 8 +- .github/workflows/docs.yml | 3 +- .../{release-nightly.yml => publish-dev.yml} | 13 +- .github/workflows/publish-rc.yml | 148 +++++++++ .../{release.yml => publish-stable.yml} | 53 ++-- .../scripts/reject_yarn_lock_changes.sh | 2 +- .gitignore | 1 + CONTRIBUTING.md | 4 +- README.md | 30 +- RELEASE.md | 228 ++++++++++++-- SECURITY.md | 2 +- docs/design/depgraph.md | 40 +-- docs/images/gitflow-lodestar.png | Bin 0 -> 23829 bytes docs/index.md | 2 +- docs/installation.md | 2 +- docs/libraries/index.md | 8 +- package.json | 6 +- packages/cli/src/util/gitData/gitDataPath.ts | 4 +- packages/cli/src/util/version.ts | 6 +- packages/spec-test-util/README.md | 2 +- scripts/release.mjs | 167 ---------- scripts/release/assert_valid_rc.mjs | 44 +++ scripts/release/create_rc.mjs | 121 +++++++ scripts/release/tag_rc.mjs | 98 ++++++ scripts/release/tag_stable.mjs | 88 ++++++ scripts/release/utils.mjs | 295 ++++++++++++++++++ 29 files changed, 1096 insertions(+), 289 deletions(-) rename .github/workflows/{release-nightly.yml => publish-dev.yml} (92%) create mode 100644 .github/workflows/publish-rc.yml rename .github/workflows/{release.yml => publish-stable.yml} (78%) create mode 100644 docs/images/gitflow-lodestar.png delete mode 100644 scripts/release.mjs create mode 100644 scripts/release/assert_valid_rc.mjs create mode 100644 scripts/release/create_rc.mjs create mode 100644 scripts/release/tag_rc.mjs create mode 100644 scripts/release/tag_stable.mjs create mode 100644 scripts/release/utils.mjs diff --git a/.bulldozer.yml b/.bulldozer.yml index dcbbc5484daf..e8f4a230cc1f 100644 --- a/.bulldozer.yml +++ b/.bulldozer.yml @@ -46,7 +46,7 @@ merge: # Note: If the target branch does not match any of the specified keys, the "method" key is used instead. branch_method: develop: squash - master: squash + unstable: squash # "options" defines additional options for the individual merge methods. #options: diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 61bef78caf1d..bd598f7b1b2f 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -31,5 +31,5 @@ about: Create a report to help us improve - OS: - Version: -- Branch: +- Branch: - Commit hash: diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 626d689c35ee..19da0e79598e 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -7,11 +7,13 @@ concurrency: cd-benchmark-${{ github.ref }} on: push: branches: - - master + - stable + - unstable - benchmark # For debugging pull_request: branches: - - master + - stable + - unstable jobs: run: diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index b44af0ced9c2..80ba1b47b83a 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -13,10 +13,14 @@ name: "CodeQL" on: push: - branches: [ master ] + branches: + - stable + - unstable pull_request: # The branches below must be a subset of the branches above - branches: [ master ] + branches: + - stable + - unstable schedule: - cron: '19 21 * * 3' diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index f99dec540ae2..dce273cdfd4c 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -2,7 +2,8 @@ name: Deploy docs on: push: - branches: master + branches: + - stable jobs: docs: diff --git a/.github/workflows/release-nightly.yml b/.github/workflows/publish-dev.yml similarity index 92% rename from .github/workflows/release-nightly.yml rename to .github/workflows/publish-dev.yml index 3cd59a016a0e..370f2e84476f 100644 --- a/.github/workflows/release-nightly.yml +++ b/.github/workflows/publish-dev.yml @@ -1,13 +1,13 @@ -name: Release nightly +name: Publish dev release # only one per github sha can be run concurrency: - group: cd-release-nightly + group: cd-publish-dev on: push: branches: - - master + - unstable jobs: npm: @@ -43,8 +43,9 @@ jobs: - name: Get version id: version run: | - PACKAGE_VERSION=$(node -p "require('./packages/lodestar/package.json').version") - export VERSION=${PACKAGE_VERSION}-dev.${GITHUB_SHA:0:10} + PACKAGE_VERSION=$(node -p "require('./packages/cli/package.json').version") + NEXT_VERSION=$(npx --yes semver --increment minor $PACKAGE_VERSION) + export VERSION=${NEXT_VERSION}-dev.${GITHUB_SHA:0:10} echo "::set-output name=version::$VERSION" echo PACKAGE_VERSION $PACKAGE_VERSION GITHUB_SHA $GITHUB_SHA VERSION $VERSION @@ -74,7 +75,7 @@ jobs: # Do not delete code version artifacts so the next step can pick the version # # --dist-tag next: - # Make this nightly version installable with `@next` + # Make this dev version installable with `@next` # # --preid dev: # Tag version with `dev` instead of `alpha` diff --git a/.github/workflows/publish-rc.yml b/.github/workflows/publish-rc.yml new file mode 100644 index 000000000000..fd2e3d7b9976 --- /dev/null +++ b/.github/workflows/publish-rc.yml @@ -0,0 +1,148 @@ +name: Publish release + +# only one can tun at a time +concurrency: cd-publish-rc + +# See for rationale https://github.com/ChainSafe/lodestar/blob/unstable/RELEASE.md +on: + push: + tags: + - v* + +jobs: + tag: + name: Check tag + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Get tag + id: get_tag + run: echo ::set-output name=tag::${GITHUB_REF/refs\/tags\//} + + - name: Get previous tag + id: get_prev_tag + run: node scripts/get_prev_tag.js + env: + CURRENT_TAG: ${{ steps.get_tag.outputs.tag }} + IGNORE_PATTERN: rc + + - name: Determine release type + id: is_rc + run: node scripts/release/assert_valid_rc.mjs + env: + TAG: ${{ steps.get_tag.outputs.tag }} + + outputs: + is_rc: ${{ steps.is_rc.outputs.is_rc }} + version: ${{ staps.is_rc.outputs.version }} + tag: ${{ steps.get_tag.outputs.tag }} + prev_tag: ${{ steps.get_prev_tag.outputs.prev_tag }} + + npm: + name: Publish to NPM & Github + runs-on: ubuntu-latest + needs: tag + if: needs.tag.outputs.is_rc == 'true' + steps: + # - Uses YAML anchors in the future + - uses: actions/checkout@v2 + with: + fetch-depth: 0 # Needs full depth for changelog generation + - uses: actions/setup-node@v2 + with: + node-version: "lts/gallium" + - name: Node.js version + id: node + run: echo "::set-output name=v8CppApiVersion::$(node --print "process.versions.modules")" + - name: Restore dependencies + uses: actions/cache@master + id: cache-deps + with: + path: | + node_modules + packages/*/node_modules + key: ${{ runner.os }}-${{ steps.node.outputs.v8CppApiVersion }}-${{ hashFiles('**/yarn.lock', '**/package.json') }} + - name: Install & build + if: steps.cache-deps.outputs.cache-hit != 'true' + run: yarn install --frozen-lockfile --ignore-optional && yarn build + - name: Build + run: yarn build + if: steps.cache-deps.outputs.cache-hit == 'true' + # + + - name: Generate changelog + run: node scripts/generate_changelog_simple.js ${{ needs.tag.outputs.prev_tag }} ${{ needs.tag.outputs.tag }} CHANGELOG.md + + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ needs.tag.outputs.tag }} + body_path: "CHANGELOG.md" + release_name: Release ${{ needs.tag.outputs.tag }} + prerelease: true + + - name: Change and commit version + # Write version before publishing so it's picked up by `lerna publish from-package`. + # It must also be committed to ensure a clean git tree, otherwise `lerna publish` errors. + # This "temp" commit doesn't change the actually release commit which is captured above. + # git-data is also correct, since it's generated at build time, before `lerna version` run. + run: | + node_modules/.bin/lerna version ${{ needs.tag.outputs.version }} \ + --force-publish \ + --exact \ + --yes \ + --no-git-tag-version + + git config user.name 'temp' + git config user.email 'temp@github.com' + git commit -am "${{ needs.tag.outputs.version }}" + + # From https://github.com/lerna/lerna/issues/2404 + - run: echo //registry.npmjs.org/:_authToken=${NPM_TOKEN} > .npmrc + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Publish to npm registry + run: yarn run release:publish --dist-tag rc + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + # In case of failure + - name: Rollback on failure + if: failure() + uses: author/action-rollback@9ec72a6af74774e00343c6de3e946b0901c23013 + with: + id: ${{ steps.create_release.outputs.id }} + tag: ${{ needs.tag.outputs.tag }} + delete_orphan_tag: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + docker: + name: Publish to Docker Hub + runs-on: ubuntu-latest + needs: [tag, npm] + if: needs.tag.outputs.is_rc == 'true' + steps: + - uses: actions/checkout@v2 + - run: scripts/await-release.sh ${{ needs.tag.outputs.tag }} 900 + # https://github.com/docker/setup-qemu-action + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + # https://github.com/docker/setup-buildx-action + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + run: docker buildx build --push --tag chainsafe/lodestar:rc --tag chainsafe/lodestar:${{ needs.tag.outputs.tag }} --platform linux/amd64 --build-arg VERSION=${{ needs.tag.outputs.tag }} . diff --git a/.github/workflows/release.yml b/.github/workflows/publish-stable.yml similarity index 78% rename from .github/workflows/release.yml rename to .github/workflows/publish-stable.yml index ab69f9a183aa..04905f4701d9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/publish-stable.yml @@ -1,12 +1,9 @@ -name: Release +name: Publish stable release # only one can tun at a time -concurrency: cd-release +concurrency: cd-publish-stable -# See for rationale https://github.com/ChainSafe/lodestar/issues/3036#issuecomment-976956044 -# When a stable release is proposed, a testing period of N days starts -# - Tag current master to v0.33.0-beta.0 -# - Bump master to v0.34.0 +# See for rationale https://github.com/ChainSafe/lodestar/blob/unstable/RELEASE.md on: push: tags: @@ -14,38 +11,48 @@ on: jobs: tag: - name: Check and Tag + name: Check tag runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 with: fetch-depth: 0 + - name: Get tag id: get_tag run: echo ::set-output name=tag::${GITHUB_REF/refs\/tags\//} + + - name: Assert tag == package.json version + run: .github/workflows/scripts/assert-same-package-version.sh + env: + TAG: ${{ steps.get_tag.outputs.tag }} + - name: Get previous tag id: get_prev_tag run: node scripts/get_prev_tag.js env: CURRENT_TAG: ${{ steps.get_tag.outputs.tag }} - IGNORE_PATTERN: beta + IGNORE_PATTERN: rc + + - name: Determine release type + id: release_type + run: | + STABLE_COMMIT=$(git log --pretty="%h" -n 1 stable) + TAG_COMMIT=$(git log --pretty="%h" -n 1 $GITHUB_REF) + echo ::set-output name=stable_commit::$STABLE_COMMIT + echo ::set-output name=tag_commit::$TAG_COMMIT - - name: Assert tag == package.json version - run: .github/workflows/scripts/assert-same-package-version.sh - env: - TAG: ${{ steps.get_tag.outputs.tag }} outputs: - is_beta: ${{ contains(github.ref, 'beta') }} + is_stable: ${{ steps.release_type.stable_commit == steps.release_type.tag_commit }} tag: ${{ steps.get_tag.outputs.tag }} prev_tag: ${{ steps.get_prev_tag.outputs.prev_tag }} npm: - name: Publish to NPM Registry + name: Publish to NPM & Github runs-on: ubuntu-latest needs: tag - # Skip creating a release for beta releases (for now) - if: needs.tag.outputs.is_beta != 'true' + if: needs.tag.outputs.is_stable == 'true' steps: # - Uses YAML anchors in the future - uses: actions/checkout@v2 @@ -85,14 +92,15 @@ jobs: tag_name: ${{ needs.tag.outputs.tag }} body_path: "CHANGELOG.md" release_name: Release ${{ needs.tag.outputs.tag }} - prerelease: false # Note: if prerelease, will be hidden from view in the main page + prerelease: false # From https://github.com/lerna/lerna/issues/2404 - run: echo //registry.npmjs.org/:_authToken=${NPM_TOKEN} > .npmrc env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - - name: Publish to npm registry - run: yarn run publish:release + + - name: Publish to npm registry (release) + run: yarn run release:publish env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} @@ -111,7 +119,7 @@ jobs: name: Publish to Docker Hub runs-on: ubuntu-latest needs: [tag, npm] - if: needs.tag.outputs.is_beta != 'true' + if: needs.tag.outputs.is_stable == 'true' steps: - uses: actions/checkout@v2 - run: scripts/await-release.sh ${{ needs.tag.outputs.tag }} 900 @@ -126,5 +134,6 @@ jobs: with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - - run: docker buildx build --push --tag chainsafe/lodestar:latest --tag chainsafe/lodestar:${{ needs.tag.outputs.tag }} --platform linux/amd64 --build-arg VERSION=${{ needs.tag.outputs.tag }} . - - run: docker run chainsafe/lodestar:latest --help + - name: Build and push + run: docker buildx build --push --tag chainsafe/lodestar:latest --tag chainsafe/lodestar:${{ needs.tag.outputs.tag }} --platform linux/amd64 --build-arg VERSION=${{ needs.tag.outputs.tag }} . + - run: docker run chainsafe/lodestar:${{ needs.tag.outputs.tag }} --help diff --git a/.github/workflows/scripts/reject_yarn_lock_changes.sh b/.github/workflows/scripts/reject_yarn_lock_changes.sh index 978e4e44679e..9706c4f56f12 100755 --- a/.github/workflows/scripts/reject_yarn_lock_changes.sh +++ b/.github/workflows/scripts/reject_yarn_lock_changes.sh @@ -8,7 +8,7 @@ # From https://stackoverflow.com/questions/10641361/get-all-files-that-have-been-modified-in-git-branch -MERGE_BASE=$(git merge-base $GITHUB_REF master) +MERGE_BASE=$(git merge-base $GITHUB_REF unstable) CHANGED_FILES=$(git diff --name-only $GITHUB_REF $MERGE_BASE) diff --git a/.gitignore b/.gitignore index 6f6ca509ffec..a29bbc858d2e 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,7 @@ validators **/.nyc_output .tmp .vscode +.npmrc # Tests artifacts packages/*/spec-tests diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ce461bd38c10..32dcb67307ff 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -103,7 +103,7 @@ For example: ## Lodestar Monorepo -We're currently experimenting with hosting the majority of lodestar packages and support packages in this repository as a [monorepo](https://en.wikipedia.org/wiki/Monorepo). We're using [Lerna](https://lerna.js.org/) to manage the packages. See [packages/](https://github.com/ChainSafe/lodestar/tree/master/packages) for a list of packages hosted in this repo. +We're currently experimenting with hosting the majority of lodestar packages and support packages in this repository as a [monorepo](https://en.wikipedia.org/wiki/Monorepo). We're using [Lerna](https://lerna.js.org/) to manage the packages. See [packages/](https://github.com/ChainSafe/lodestar/tree/unstable/packages) for a list of packages hosted in this repo. ## Style Guide @@ -133,7 +133,7 @@ We're currently experimenting with hosting the majority of lodestar packages and To edit or extend an existing Grafana dashboard with minimal diff: -1. Grab the .json dashboard file from current master +1. Grab the .json dashboard file from current unstable 2. Import file to Grafana via the web UI at `/dashboard/import`. Give it some temporal name relevant to your work (i.e. the branch name) 3. Do edits on the Dashboard 4. Once done make sure to leave the exact same visual aspect as before: same refresh interval, collapsed rows, etc. diff --git a/README.md b/README.md index 458d230ef39d..693a1b9c2f86 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-cli)](https://www.npmjs.com/package/@chainsafe/lodestar-cli) [![Docker Image Version (latest by date)](https://img.shields.io/docker/v/chainsafe/lodestar?color=blue&label=Docker&sort=semver)](https://hub.docker.com/r/chainsafe/lodestar) [![Eth Consensus Spec v1.1.10](https://img.shields.io/badge/ETH%20consensus--spec-1.1.10-blue)](https://github.com/ethereum/consensus-specs/releases/tag/v1.1.10) -[![codecov](https://codecov.io/gh/ChainSafe/lodestar/branch/master/graph/badge.svg)](https://codecov.io/gh/ChainSafe/lodestar) +[![codecov](https://codecov.io/gh/ChainSafe/lodestar/branch/unstable/graph/badge.svg)](https://codecov.io/gh/ChainSafe/lodestar) [![Maintainability](https://api.codeclimate.com/v1/badges/678099476c401e1af503/maintainability)](https://codeclimate.com/github/ChainSafe/lodestar/maintainability) ![ES Version](https://img.shields.io/badge/ES-2020-yellow) ![Node Version](https://img.shields.io/badge/node-16.x-green) @@ -57,20 +57,20 @@ yarn build | Package | Version | License | Docs | Description | | --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------- | -| [@chainsafe/lodestar](https://github.com/ChainSafe/lodestar/tree/master/packages/lodestar) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar)](https://www.npmjs.com/package/@chainsafe/lodestar) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://chainsafe.github.io/lodestar) | :rotating_light: Beacon-chain client | -| [@chainsafe/lodestar-validator](https://github.com/ChainSafe/lodestar/tree/master/packages/validator) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-validator)](https://www.npmjs.com/package/@chainsafe/lodestar-validator) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/validator) | :bank: Validator client | -| [@chainsafe/lodestar-light-client](https://github.com/ChainSafe/lodestar/tree/master/packages/light-client) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-light-client)](https://www.npmjs.com/package/@chainsafe/lodestar-light-client) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/light-client) | :bird: Ethereum Light client | -| [@chainsafe/lodestar-api](https://github.com/ChainSafe/lodestar/tree/master/packages/api) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-api)](https://www.npmjs.com/package/@chainsafe/lodestar-api) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/api) | :clipboard: REST Client for the Eth Beacon API | -| [@chainsafe/lodestar-cli](https://github.com/ChainSafe/lodestar/tree/master/packages/cli) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-cli)](https://www.npmjs.com/package/@chainsafe/lodestar-cli) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://chainsafe.github.io/lodestar/reference/cli/) | :computer: Command-line tool for Lodestar | -| [@chainsafe/lodestar-beacon-state-transition](https://github.com/ChainSafe/lodestar/tree/master/packages/beacon-state-transition) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-beacon-state-transition)](https://www.npmjs.com/package/@chainsafe/lodestar-beacon-state-transition) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/beacon-state-transition) | :mag_right: Eth Consensus beacon-state transition | -| [@chainsafe/lodestar-types](https://github.com/ChainSafe/lodestar/tree/master/packages/types) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-types)](https://www.npmjs.com/package/@chainsafe/lodestar-types) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/types) | :spiral_notepad: Eth Consensus TypeScript and SSZ types | -| [@chainsafe/lodestar-params](https://github.com/ChainSafe/lodestar/tree/master/packages/params) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-params)](https://www.npmjs.com/package/@chainsafe/lodestar-params) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/params) | :spider_web: Eth Consensus network parameters | -| [@chainsafe/lodestar-utils](https://github.com/ChainSafe/lodestar/tree/master/packages/utils) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-utils)](https://www.npmjs.com/package/@chainsafe/lodestar-utils) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/utils) | :toolbox: Miscellaneous utility functions used across Lodestar | -| [@chainsafe/lodestar-config](https://github.com/ChainSafe/lodestar/tree/master/packages/config) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-config)](https://www.npmjs.com/package/@chainsafe/lodestar-config) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/config) | :spiral_notepad: Eth Consensus types and params bundled together | -| [@chainsafe/lodestar-spec-test-util](https://github.com/ChainSafe/lodestar/tree/master/packages/spec-test-util) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-spec-test-util)](https://www.npmjs.com/package/@chainsafe/lodestar-spec-test-util) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/spec-test-util) | :test_tube: Test harness for Eth Consensus spec tests | -| [@chainsafe/lodestar-spec-test-runner](https://github.com/ChainSafe/lodestar/tree/master/packages/spec-test-runner) | | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | | :test_tube: Run all Eth Consensus spec tests | -| [@chainsafe/lodestar-db](https://github.com/ChainSafe/lodestar/tree/master/packages/db) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-db)](https://www.npmjs.com/package/@chainsafe/lodestar-db) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/db) | :floppy_disk: Read/write persistent Eth Consensus data | -| [@chainsafe/lodestar-fork-choice](https://github.com/ChainSafe/lodestar/tree/master/packages/fork-choice) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-fork-choice)](https://www.npmjs.com/package/@chainsafe/lodestar-fork-choice) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/fork-choice) | :fork_and_knife: Beacon-chain fork choice | +| [@chainsafe/lodestar](https://github.com/ChainSafe/lodestar/tree/unstable/packages/lodestar) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar)](https://www.npmjs.com/package/@chainsafe/lodestar) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://chainsafe.github.io/lodestar) | :rotating_light: Beacon-chain client | +| [@chainsafe/lodestar-validator](https://github.com/ChainSafe/lodestar/tree/unstable/packages/validator) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-validator)](https://www.npmjs.com/package/@chainsafe/lodestar-validator) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/unstable/packages/validator) | :bank: Validator client | +| [@chainsafe/lodestar-light-client](https://github.com/ChainSafe/lodestar/tree/unstable/packages/light-client) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-light-client)](https://www.npmjs.com/package/@chainsafe/lodestar-light-client) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/unstable/packages/light-client) | :bird: Ethereum Light client | +| [@chainsafe/lodestar-api](https://github.com/ChainSafe/lodestar/tree/unstable/packages/api) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-api)](https://www.npmjs.com/package/@chainsafe/lodestar-api) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/unstable/packages/api) | :clipboard: REST Client for the Eth Beacon API | +| [@chainsafe/lodestar-cli](https://github.com/ChainSafe/lodestar/tree/unstable/packages/cli) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-cli)](https://www.npmjs.com/package/@chainsafe/lodestar-cli) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://chainsafe.github.io/lodestar/reference/cli/) | :computer: Command-line tool for Lodestar | +| [@chainsafe/lodestar-beacon-state-transition](https://github.com/ChainSafe/lodestar/tree/unstable/packages/beacon-state-transition) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-beacon-state-transition)](https://www.npmjs.com/package/@chainsafe/lodestar-beacon-state-transition) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/unstable/packages/beacon-state-transition) | :mag_right: Eth Consensus beacon-state transition | +| [@chainsafe/lodestar-types](https://github.com/ChainSafe/lodestar/tree/unstable/packages/types) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-types)](https://www.npmjs.com/package/@chainsafe/lodestar-types) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/unstable/packages/types) | :spiral_notepad: Eth Consensus TypeScript and SSZ types | +| [@chainsafe/lodestar-params](https://github.com/ChainSafe/lodestar/tree/unstable/packages/params) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-params)](https://www.npmjs.com/package/@chainsafe/lodestar-params) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/unstable/packages/params) | :spider_web: Eth Consensus network parameters | +| [@chainsafe/lodestar-utils](https://github.com/ChainSafe/lodestar/tree/unstable/packages/utils) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-utils)](https://www.npmjs.com/package/@chainsafe/lodestar-utils) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/unstable/packages/utils) | :toolbox: Miscellaneous utility functions used across Lodestar | +| [@chainsafe/lodestar-config](https://github.com/ChainSafe/lodestar/tree/unstable/packages/config) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-config)](https://www.npmjs.com/package/@chainsafe/lodestar-config) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/unstable/packages/config) | :spiral_notepad: Eth Consensus types and params bundled together | +| [@chainsafe/lodestar-spec-test-util](https://github.com/ChainSafe/lodestar/tree/unstable/packages/spec-test-util) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-spec-test-util)](https://www.npmjs.com/package/@chainsafe/lodestar-spec-test-util) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/unstable/packages/spec-test-util) | :test_tube: Test harness for Eth Consensus spec tests | +| [@chainsafe/lodestar-spec-test-runner](https://github.com/ChainSafe/lodestar/tree/unstable/packages/spec-test-runner) | | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | | :test_tube: Run all Eth Consensus spec tests | +| [@chainsafe/lodestar-db](https://github.com/ChainSafe/lodestar/tree/unstable/packages/db) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-db)](https://www.npmjs.com/package/@chainsafe/lodestar-db) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/unstable/packages/db) | :floppy_disk: Read/write persistent Eth Consensus data | +| [@chainsafe/lodestar-fork-choice](https://github.com/ChainSafe/lodestar/tree/unstable/packages/fork-choice) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-fork-choice)](https://www.npmjs.com/package/@chainsafe/lodestar-fork-choice) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/unstable/packages/fork-choice) | :fork_and_knife: Beacon-chain fork choice | ## Contributors diff --git a/RELEASE.md b/RELEASE.md index 7c34f4bb3743..819f3b914357 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,64 +1,224 @@ # Lodestar Release Guidelines -![lodestar-release](docs/images/lodestar-releases.png) +Lodestar is a blockchain node securing the Ethereum Beacon chain network. It is run by external individuals and operator entities outside of the control of the Lodestar team. We, as most other core dev teams, choose a slow conservative approach to releasing to ensure those node runners always update to stable, safe, and performant versions of our software. -## Release Process Rules +Lodestar uses a modified version of gitflow to manage releases. [Gitflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) is a well-known strategy that suits our needs for security and stability. -In the same day: +## Stable release -1. The team selects a commit from `master` as a "stable target" for a new version release. As example target next version is `v0.34.0`, commit `9fceb02`. Master package.json versions are already at `v0.34.0` to release nightly versions. -2. The selected commit is branched into a separate release branch (Example: `v0.34.x`) -3. The selected commit is tagged as `v0.34.0-beta.0`, released, and published for testing as a Pre-Release +### When to a release -``` -yarn release -t v0.34.0-beta.0 -``` +Lodestar does not have a fixed schedule for releases. Instead, they are published as the developers see fit. -4. The team creates a PR to bump `master` to the next version (in the example: `v0.35.0`) and continues releasing nightly builds. +The causes for a release are varied, however here are several common ones: -``` -lerna version minor --no-git-tag-version --force-publish --yes -``` +- To include a major bug-fix, optimization, or feature. +- To include a series of small changes which have shown to improve performance, usability, etc. +- If significant or risky PRs are waiting to merge and we wish to try and isolate those changes to a future release. I.e., to leave a "clean slate" for future PRs to apply to. -After 3-5 days of testing: +To start a new release, one of the Lodestar developers will communicate this via the Lodestar chat channel and seek consensus from the other developers. -5. Tag final stable commit as `v0.34.0`, release and publish the stable release. This commit will be in `v0.34.x` branch and may note be on `master` if beta candidate required bug fixes. +### 1. Create release candidate -``` -yarn release -t v0.34.0 -``` +#### All-in-one script (for example version `v1.1.0`, commit `9fceb02`): -## Pre-Releases +- The team selects a commit from `unstable` as a "release candidate" for a new version release. +- `yarn release:create-rc 1.1.0 9fceb02` + - Must be run locally from a write-access account capable of triggering CI. + - This script may alternatively be run on the the checked out `HEAD`: + - `git checkout 9fceb02` + - `yarn release:create-rc 1.1.0` +- Open draft PR from `rc/v1.1.0` to `stable` with title `v1.1.0 release`. -A `v.beta.x` release is published and tagged (Example: `v0.33.0-beta.0`) when the team selects a commit as a "stable target" candidate. +#### Manual steps (for example version `v1.1.0`, commit `9fceb02`): -### Pre-Release Testing Checklist +- The team selects a commit from `unstable` as a "release candidate" for a new version release. +- Create a new release branch `rc/v1.1.0` at commit `9fceb02`. + - `git checkout -b rc/v1.1.0 9fceb02` +- Set monorepo version to `v1.1.0`. + - `lerna version v1.1.0 --no-git-tag-version --force-publish --yes` +- Commit changes + - `git commit -am "v1.1.0"` + - `git push origin rc/v1.1.0` +- Open draft PR from `rc/v1.1.0` to `stable` with title `v1.1.0 release`. -We test the pre-release candidate on multiple servers with a variance of connected validators on a stable testnet for a minimum of three (3) days. +### 2. Tag release candidate -The following observations must be taken into consideration before promoting the pre-release candidate to a `:stable` release: +Tagging a release candidate will trigger CI to publish to NPM, dockerhub, and Github releases. -- Are there any critical issues observed? +#### All-in-one script (for example version `v1.1.0`, commit `8ab7cef`): - - Examples: Memory leaks, abnormally high memory usage, abnormally high CPU performance, etc. +- The team selects a commit from `rc/v1.1.0` as a commit to tag and publish. +- `yarn release:tag-rc 1.1.0 8ab7cef` + - Must be run locally from a write-access account capable of triggering CI. + - This script may alternatively be run on the the checked out `HEAD`: + - `git checkout 8ab7cef` + - `yarn release:tag-rc 1.1.0` -- Has profitibility been affected? +#### Manual steps (for example version `v1.1.0`, commit `8ab7cef`): - - Has profitability decreased and whether or not the variance is acceptable. +- Check out the commit: + - `git checkout 8ab7cef` +- Tag resulting commit as `v1.1.0-rc.0` with an annotated tag, and push the tag. + - `git tag -am "v1.1.0-rc.0" v1.1.0-rc.0` + - `git push origin v1.1.0-rc.0` + +### 3. Test release candidate + +Once a release candidate is created, the Lodestar team begins a testing period. + +If there is a bug discovered during the testing period which significantly impacts performance, security, or stability, and it is determined that it is no longer prudent to promote the `rc.x` candidate to `stable`, then it will await a bug fix by the team. The fix will be committed, maybe back-ported to `unstable` and we publish and promote the new commit to `rc.x+1`. The 3 day testing period will reset. + +For example: After 3-5 days of testing, is performance equal to or better than latest stable? + +- **Yes**: Continue to the next release step +- **No**: If it a small issue fixable quickly (hot-fix)? + - **Yes**: push fixes to branch, go to step 2, incrementing the rc version + - **No**: abort the release. Close the `v1.1.0 release` PR, delete the branch, and start the whole release process over. + +### 4. Merge release candidate + +- Ensure step 2 testing is successful and there is sufficient consensus to release `v1.1.0`. +- Approving the `v1.1.0 release` PR means a team member marks the release as safe, after personally reviewing and / or testing it. +- Merge `v1.1.0 release` PR to stable **with "merge commit"** strategy to preserve all history. +- Merge stable `stable` into `unstable` **with merge commit** strategy. If that's not possible, open a PR and handle conflicts latter. + +### 5. Tag stable release + +Tagging a stable release will trigger CI to publish to NPM, dockerhub, and Github releases. + +#### All-in-one script (for example version `v1.1.0`): + +- `git checkout stable` +- `yarn release:tag-stable 1.1.0` + - Must be run locally from a write-access account capable of triggering CI. +#### Manual steps (for example version `v1.1.0`): + +- Check out the new stable + - `git checkout stable` +- Tag it as `v1.1.0` with an annotated tag, push commit and tag. + - `git tag -am "v1.1.0" v1.1.0` + - `git push origin v1.1.0` + +### 6. Announce + +- Double check that Github release is correct +- Publish to Social Media + +## Hot-fix release + +If a stable version requires an immediate hot-fix before the next release, a hot-fix release is started. + +The same process for a stable release is used, with the two differences. +- The candidate commit must be chosen from the `stable` branch instead of the `unstable` branch. +- Depending on the severity of the bug being fixed, the testing window may be decreased. + +## Dev release + +On every commit to `unstable` a dev release is done automatically in CI. A dev release: + +- is not tagged +- does not have a release page +- is published to NPM +- is pushed to Dockerhub + +The source code is mutated before release to set a version string of format `v1.1.0-dev.da9f72360`, where the appended hash is the merge commit hash to `unstable` that triggered this CI build. The semver version that prefixes is expected to be the next minor version from the current code. The target consumers of such versions are automatic testing environments and other developers. They are expected to install via `next` tags and refer to the whole version for debugging. + +## Details + +### Publishing a release + +The publishing of stable releases and release candidates is triggered by pushing a tag. +CI ensures the validity of the stable release and releases candidates by checking: + +- the tag matches the version in the source +- for stable releases, the commit is the latest in the `stable` branch + +This prevents accidentally publishing an incorrect version of Lodestar. + +Dev releases are triggered on every new push to `unstable`. + +Github workflows publish: + +- to NPM registry +- to Dockerhub +- to Github releases + +The behavior differs based on whether a stable release, a release candidate, or dev release is being performed. + +- Stable release + - published to npm with `latest` dist tag + - published to docker with `latest` tag + - a full Github release is published +- Release candidate + - published to npm with `rc` dist tag + - published to docker with `rc` tag + - a prerelease Github release is published +- Dev release + - published to npm with `next` dist tag + - published to docker with `next` tag + - no Github release is published + +### How to test release candidates + +We test the pre-release candidate on multiple servers with a variety of connected validators on a stable testnet for a minimum of three (3) days. + +The following observations must be taken into consideration before promoting the release candidate to `stable`: + +- Are there any critical issues observed? + - Examples: Memory leaks, abnormally high memory usage, abnormally high CPU performance, etc. +- Has profitability been affected? + - Has profitability decreased and whether or not the variance is acceptable. - Has any performance metric degraded comparably to the previous `stable` release? If yes, is the variance acceptable? - Example: Block processing times, validator miss ratios, etc. -### Bug fixes to Pre-Releases +### Edit the Release + +Releases are published automatically via CI. + +Any additional release notes should be professional, comprehensive, and well-considered. + +Have someone else review the release notes and then edit the release. + +### Publish to Social Media + +The release should be announced on the following social channels: + +- Email: with Mailchimp. +- Discord: Use the #lodestar-announcements channel. Tag @everyone and ensure it is published to all downstream channels. +- Twitter: Short and sweet in a single tweet, TODO: get Lodestar account. +- Reddit: TODO: get Lodestar account. + +## Alternatives considered + +
+ Click to expand! + +Historical context and reasons against valid alternatives to help future discussions + +**Version branches** + +Lodestar used `master` as the single target for feature branches. + +![lodestar-release](docs/images/lodestar-releases.png) -If there is a bug discovered during the pre-release testing period which significantly impacts performance, security or stability, and it is determined that it is no longer prudent to release the `beta.x` candidate as `stable`, then it will await a bug fix by the team. The fix will be committed, back-ported to `master` and we publish and promote the new commit to `beta.x+1`. The 3 day testing period minimums will reset. +- Main branch = `master` +- Features merged to `master` +- To trigger rc, branch from `master` to `v1.1.x` +- `master` had package.json preemptively updated to the "next" version +- QA is done on `v1.1.x` branch +- Fixes on rc are done on `v1.1.x`, then re-tag +- Once released final `v1.1.0` tag is on a branch that is never merged +- Hot-fixes are either cherry-picked from `master` or done on the `v1.1.x` branch, never merged -## Stable Releases +However, this had some issues: -When the pre-release candidate (Example: `v0.33.0-beta.0`) has met the testing requirements, we execute `release.yml`. This script will promote & tag the candidate to the `stable` release track and remove `beta.x`, publishing the version as `v0.33.0`. +- Aborted releases left master in awkward version 2 minors ahead of `master`. When triggering the release again, we had to rollback `master` +- Almost all release tags ended in branches not part of the master tree. This caused issues since it's not straightforward to compute the diff between commits that are not direct parents of each other -The CI will check and tag the new stable release, publish to the NPM Registry and to Docker Hub. +**Continuous integration** -## Minor/Patch Releases +Always releasing `master` is another popular approach used by some entities but unsuitable for Lodestar. Given the complexity of a blockchain node, it's not possible to guarantee stable performance unless running the software for days under special conditions, not available in regular CI environments. -The `minor` is increased as soon as new smaller features do get introduced. A minor release will not affect any depending project. Such a release only introduces smaller enhancements and features. A `patch` release only contains required bug fixes with a low risk to impact depending project. +
diff --git a/SECURITY.md b/SECURITY.md index a1cde5473b43..51f78a1fcdcd 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -2,7 +2,7 @@ ## Supported Versions -- :hourglass_flowing_sand: Lodestar currently undergoes a quick release cycle with regular minor alpha releases published fortnightly. +- :hourglass_flowing_sand: Lodestar currently undergoes a quick release cycle with regular minor releases published roughly fortnightly. - :globe_with_meridians: We encourage using the [most recently released version](https://github.com/ChainSafe/lodestar/releases/latest) before reporting an issue. ## Reporting a Vulnerability diff --git a/docs/design/depgraph.md b/docs/design/depgraph.md index 7a420d75d60c..1efb59e80fff 100644 --- a/docs/design/depgraph.md +++ b/docs/design/depgraph.md @@ -53,16 +53,16 @@ graph TD lodestar-->cli validator-->cli - click cli "https://github.com/ChainSafe/lodestar/tree/master/packages/cli" - click lodestar "https://github.com/ChainSafe/lodestar/tree/master/packages/lodestar" - click validator "https://github.com/ChainSafe/lodestar/tree/master/packages/validator" - click db "https://github.com/ChainSafe/lodestar/tree/master/packages/db" - click params "https://github.com/ChainSafe/lodestar/tree/master/packages/params" - click state-trans "https://github.com/ChainSafe/lodestar/tree/master/packages/beacon-state-transition" - click fork-choice "https://github.com/ChainSafe/lodestar/tree/master/packages/fork-choice" - click types "https://github.com/ChainSafe/lodestar/tree/master/packages/types" - click utils "https://github.com/ChainSafe/lodestar/tree/master/packages/utils" - click config "https://github.com/ChainSafe/lodestar/tree/master/packages/config" + click cli "https://github.com/ChainSafe/lodestar/tree/unstable/packages/cli" + click lodestar "https://github.com/ChainSafe/lodestar/tree/unstable/packages/lodestar" + click validator "https://github.com/ChainSafe/lodestar/tree/unstable/packages/validator" + click db "https://github.com/ChainSafe/lodestar/tree/unstable/packages/db" + click params "https://github.com/ChainSafe/lodestar/tree/unstable/packages/params" + click state-trans "https://github.com/ChainSafe/lodestar/tree/unstable/packages/beacon-state-transition" + click fork-choice "https://github.com/ChainSafe/lodestar/tree/unstable/packages/fork-choice" + click types "https://github.com/ChainSafe/lodestar/tree/unstable/packages/types" + click utils "https://github.com/ChainSafe/lodestar/tree/unstable/packages/utils" + click config "https://github.com/ChainSafe/lodestar/tree/unstable/packages/config" classDef nodemodule fill:grey,stroke-width:2px,stroke:black,color:white; linkStyle default stroke:grey, fill:none,stroke-width:1.5px; @@ -74,41 +74,41 @@ Let's talk about how each package fits together in finer detail, from top to bot ## @chainsafe/lodestar-params -[@chainsafe/lodestar-params](https://github.com/ChainSafe/lodestar/tree/master/packages/params) contains the parameters for configuring an Ethereum Consensus network. For example, the [mainnet params](https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/beacon-chain.md#configuration) +[@chainsafe/lodestar-params](https://github.com/ChainSafe/lodestar/tree/unstable/packages/params) contains the parameters for configuring an Ethereum Consensus network. For example, the [mainnet params](https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/beacon-chain.md#configuration) ## @chainsafe/lodestar-types -[@chainsafe/lodestar-types](https://github.com/ChainSafe/lodestar/tree/master/packages/types) contains Eth Consensus ssz types and data structures. +[@chainsafe/lodestar-types](https://github.com/ChainSafe/lodestar/tree/unstable/packages/types) contains Eth Consensus ssz types and data structures. ## @chainsafe/lodestar-config -[@chainsafe/lodestar-config](https://github.com/ChainSafe/lodestar/tree/master/packages/config) combines [`lodestar-params`](#chainsafelodestar-params) and [`lodestar-types`](#chainsafelodestar-types) together to be used as a single config object across the other Lodestar packages. +[@chainsafe/lodestar-config](https://github.com/ChainSafe/lodestar/tree/unstable/packages/config) combines [`lodestar-params`](#chainsafelodestar-params) and [`lodestar-types`](#chainsafelodestar-types) together to be used as a single config object across the other Lodestar packages. ## @chainsafe/lodestar-utils -[@chainsafe/lodestar-utils](https://github.com/ChainSafe/lodestar/tree/master/packages/utils) contains various utilities that are common among the various Lodestar monorepo packages. +[@chainsafe/lodestar-utils](https://github.com/ChainSafe/lodestar/tree/unstable/packages/utils) contains various utilities that are common among the various Lodestar monorepo packages. ## @chainsafe/lodestar-beacon-state-transition -[@chainsafe/lodestar-beacon-state-transition](https://github.com/ChainSafe/lodestar/tree/master/packages/beacon-state-transition) contains the Lodestar implementation of the [beacon state transition function](https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/beacon-chain.md#beacon-chain-state-transition-function), which is used by [`@chainsafe/lodestar`](#chainsafelodestar) to perform the actual beacon state transition. This package also contains various functions used to calculate info about the beacon chain (such as `computeEpochAtSlot`) which are used by [@chainsafe/lodestar-fork-choice](#chainsafelodestar-fork-choice) and [@chainsafe/lodestar-validator](#chainsafelodestar-validator) +[@chainsafe/lodestar-beacon-state-transition](https://github.com/ChainSafe/lodestar/tree/unstable/packages/beacon-state-transition) contains the Lodestar implementation of the [beacon state transition function](https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/beacon-chain.md#beacon-chain-state-transition-function), which is used by [`@chainsafe/lodestar`](#chainsafelodestar) to perform the actual beacon state transition. This package also contains various functions used to calculate info about the beacon chain (such as `computeEpochAtSlot`) which are used by [@chainsafe/lodestar-fork-choice](#chainsafelodestar-fork-choice) and [@chainsafe/lodestar-validator](#chainsafelodestar-validator) ## @chainsafe/lodestar-db -[@chainsafe/lodestar-db](https://github.com/ChainSafe/lodestar/tree/master/packages/db) is where all persistent data about the beacon node is stored. Any package that needs to read or write persistent beacon node data depends on `lodestar-db`. +[@chainsafe/lodestar-db](https://github.com/ChainSafe/lodestar/tree/unstable/packages/db) is where all persistent data about the beacon node is stored. Any package that needs to read or write persistent beacon node data depends on `lodestar-db`. ## @chainsafe/lodestar-fork-choice -[@chainsafe/lodestar-fork-choice](https://github.com/ChainSafe/lodestar/tree/master/packages/fork-choice) holds the methods for reading/writing the fork choice DAG. The [`@chainsafe/lodestar`](#chainsafelodestar) package is the sole consumer of this package because the beacon node itself is what controls when the fork choice DAG is updated. +[@chainsafe/lodestar-fork-choice](https://github.com/ChainSafe/lodestar/tree/unstable/packages/fork-choice) holds the methods for reading/writing the fork choice DAG. The [`@chainsafe/lodestar`](#chainsafelodestar) package is the sole consumer of this package because the beacon node itself is what controls when the fork choice DAG is updated. For a good explainer on how the fork choice itself works, see the [annotated fork choice spec](https://github.com/ethereum/annotated-spec/blob/v1.1.10/phase0/fork-choice.md). This is an annotated version of the [Eth Consensus fork choice spec](https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/fork-choice.md) which `lodestar-fork-choice` is based on. ## @chainsafe/lodestar-validator -[@chainsafe/lodestar-validator](https://github.com/ChainSafe/lodestar/tree/master/packages/validator) contains the validator client. The sole consumer of this package is [@chainsafe/lodestar-cli](#chainsafelodestar-cli), which provides CLI access to run and configure the validator client. However, the validator client communicates to a REST API that is contained in [@chainsafe/lodestar](#chainsafelodestar) (specifically in the `api` module) to perform the validator duties. +[@chainsafe/lodestar-validator](https://github.com/ChainSafe/lodestar/tree/unstable/packages/validator) contains the validator client. The sole consumer of this package is [@chainsafe/lodestar-cli](#chainsafelodestar-cli), which provides CLI access to run and configure the validator client. However, the validator client communicates to a REST API that is contained in [@chainsafe/lodestar](#chainsafelodestar) (specifically in the `api` module) to perform the validator duties. ## @chainsafe/lodestar -[@chainsafe/lodestar](https://github.com/ChainSafe/lodestar/tree/master/packages/lodestar) contains the actual beacon node process itself, which is the aggregate of all the above packages and the "brain" of the Lodestar beacon chain implementation. All of the node modules live in this package as well. +[@chainsafe/lodestar](https://github.com/ChainSafe/lodestar/tree/unstable/packages/lodestar) contains the actual beacon node process itself, which is the aggregate of all the above packages and the "brain" of the Lodestar beacon chain implementation. All of the node modules live in this package as well. ## @chainsafe/lodestar-cli -[@chainsafe/lodestar-cli](https://github.com/ChainSafe/lodestar/tree/master/packages/cli) combines everything together for CLI usage and configuration of the beacon node and validator. +[@chainsafe/lodestar-cli](https://github.com/ChainSafe/lodestar/tree/unstable/packages/cli) combines everything together for CLI usage and configuration of the beacon node and validator. diff --git a/docs/images/gitflow-lodestar.png b/docs/images/gitflow-lodestar.png new file mode 100644 index 0000000000000000000000000000000000000000..effa61275219866e28dd186588ed3aa8d41f678d GIT binary patch literal 23829 zcmdSBcT|&G_XZe5Q9(on3q?RsK|oNdNC^mtbfkAgdT-K8Pz02Yh;)MVj`R)!(wp=m zRhkfLLJNdsPQZJ=@AsRTwdS9hwPvmBRmhw7J!hYN_I~zrp8bAQl$RtWrXq$wAf!?+ z#FZeBv#JmX!N7$x;5RA3hT7mS0!JmuX9VLNY%uV{MY|W8jt~e5IsOj;Brf3=1fo+d zB`&Jsny@|v3%{=VZs{27=>21DuUp*Kr?RG}y;k{g`>)=20~SY0X3>F!!}JW&^WRB= zJ0U!zb*eo+MNcc8?*xwdTzR8m$U0GbXN~h#c`>OqdF_Q`UePSk7cwH}pFAETn6tTh zO@N%>&Crp`?H9#JlPM3>bfg=nf;ZGY<+s{&cO(;Py4xcu9=Z{I2*wFXrm0`3CcytI z{3?2a45O%KVg93M4IkyCPF;w`(VeW>`~Zgsvd@#mQPN%`vb$%Xm2_vLe9bhzwpD53J_ zC%C)Nw~tn0AfGxUu~J*4=c855KxUZ)CA^i~@>?vrVk5u?3gI;{+GrhYfSH zpQIs>1j;9S%8RoKbm+`-DyA!X%J%oJLj)$5;6^icc2f5skb)f;F&Uj6!qDXdYUWSd zd5Z)QS5ox(7gDsLxS=XPNBlK5LpQw-555)LYg83lprgO%*9$dnNV^8{xioa!yCAf? zgGwxG{%n(FJ5)rP_%rND`Yni0UhJ0gvA?bA88Z0LTk*%mVHmIgWIs^E&fy2FC`kGqE{r4#k9)RE$DVx_0;&3fIotH}J$UfBbDdBf zrHc?qVES9~3x@ZzQC}`XRwI@%&G(}4o?+G5vk7nYY;OGL$Chn6@ayF2@{Zg3w9YqM z;!|!8bx?oA55wn-Vwl@56l)vEC&7^w$#)HJbjUdo>~NjNo#g%nu8p64Hf_9(rga&XD%o2_dTARy9*u-U1I*TEz@{ zV1rCY>v_!`G97wlLsj^2okIFd* z^Na{0!%WkI(WaXo0iQihoYpN|^PTdJL>^>0qKN`z2p}TaJ4v{d-6RQeQz7^tM(ue^ z7CA&U`tr9{t2;PXHR)&=xb={~F77d$MdG5gz=co>LP&Ty$xZg)221m{YBH*W+7XpF zHJ(bn53)tAYz*K_ol&sq$s(qe3i{z7hoNs*tvw~rKtys{rw%m?b={P?^DXS^uEf3$ z(NyWhaHSe{!6#iM+p5J>TPYoXmEtTXToU+r%pbhOjvq~bm5LM?)c82RsU>~(421q( zq5{@zqBiM1G*8uc)xM6I(ja79bqAxY@F|;Z#?!1Nx_&2J5{KAena9LK>o;%*LAFoz zzo(_Mp(W7^htwHqrPpeBZ_~LPB?L!bfcS7e@mv_I)TS#zy5+m8#3Rm0-?r?oPFaS# zf08v+j(}b3c#31wDXxx9{m#>sSD>3)?ZK(X41v`0ffbL+byg=!C@YxI;ZR)FFdT`1 z`Lis*#W{PRnewm^hr#Yr^+hoGNfO|jL3`^^PHaK?4KVOuZ++>i_3|i+S_c$AUL$)SGfm?(m8R=9Orrz6P1?=?dwfgWF8>lzb`r*fcMg+k8r4YQ-Q>ign0>8+zgWfNER zy9_4nq3Ue?RCsA=T$BAK1maE2<6b?bU^kqh_ZHD2ebthU6x|11`Yy9@wmey-58C-K zOt?hbxD&%O*WaxYk;)g5(}Zp-z2o`DZ1?-ijLx^cz;+434=V(3KbZTn z#ny*B{m<&SFJt?naJ`csYLR7wstZ+|xo-t#5y;QK?gGQjgwjGKr0#pR8)sos=NfmR zZ(m?P%3kl_n!}JMaF`Zw5=&oJc*`n*rF2BCfiN+s7d3f~8Um?#5*I-M#_HD&RzLK6 za2@Iw>>vvF>YZY^((A}zey)d=G-kWQR>}(4iyQA0V__=!Rh`T_pQhc}*OdY>CA0k- zRs}fC;x#|EXcCCevtKovu6-lEs?TRFzNBdwnlnpdF9sr8H!;%<7uknC%5gR~JiYIb z-@AbBQ(K~QB=<{J;m7sp_A^wXjP0Yp)!Zn>dy zzW!!zSo2i(r`I9rU+vJ6Et9AoL0G z-*LQ!%VSKLmZA7ao^Sg|Re`cT&nQGQ8Vn=VFi47npe25mxo7pQn8*^*MNyyrlBHV_ zU)v&@#Tz%_{*pnH9m&Xj1s?CTdw~X%xQX_sxc1(Py%1Zu#SQWVG!aBZ2_-O{Wy&2i z^D2jS_{*LHe;ZW^I}Y7O;dqy+zwri_RFCItklppIaYAL}<#)T3QZS6#?#@~bS6}U`Xe_6dBy%3hsgD^*;w0N?TRHB)o8ivl-@8J|z*%mvY$is3MCb^B$;tg!| zQQfx7!$ps)5Xb<2#&K2ou^FnQ1veR#^BxDaLzAKg7U|qf_um>YPJGs*(zDc!4`oFQ z9<&F7(Edc{3IrnkjIQ!WyI-&i6x5G<#pt{!mu`AXBfqp6(uSz&zJ=_)uoQzR<`O($NwsNy7noA=Owm#xSyPr1v?cDL3i*a>W5qOExefhb8}?Q;*Qv?t3FFHq2fwAl{b z9t$}G31>luY4ePZjg9b3p6mU;_~2I!6pNjh8t1;h45oh_551XrkqU$s1w{Z}B=Ht9 z#kVfd{DX=_f&o&fw0XuJ{ttNiF`E@9`oEA8+|_dqfPtKYEQyz;avO?avA^Z|Nmds^ z!~wEO9;(E}Yv(0)Q33zZR&_=f8cx<3C6;8!`!Y&_oFFQQ3Y;lB|Ni z@-x*w%rS_E$S4?GB9a{en|vKYKndU}MA2e_uA&mh6aE-)f%NBC`ydSAe=Y+zr|j~; z<3b5htT_aX13zF0{b)PXM*=?&A02R)lTm}GNPscwyMn@oMc9JiGagy`D9vMSZHiib zg8!Y^zZS^9gkA>t&30o9A9(F6`Y6W-yj^|?;^7`1BYv}<#8Le<5K0(V3q12&68}0G z##3{-Z*3?pM4fI>OEj6e}8VXc8`X%BV?!^vvK?P3^hH?bOt9!w3aPhEP8BU!)jf^6oyDpeSv#q}QUKP6B$ z-_^X4a`1A;!UT5%?<0y9<_qxpx2YnB`{~j9h{kcpx^k13gJ2g^*Puif*e~R?x&JDq zE#)nhZ!Is7qVWE6*)Mx=aseUJp|Aqu;gUS@VWm#!bC42)YRVO?^yw%cDp?8Tn%RR@ zW1Zq0PMuieRX~VZiXraKxu*+oUqH8IKEr-&Bq9TwLa7Hj-i6wR`!5=_ES*331i00? zF9A00cM5P)EM%;_&~~Ws$xakeRuiu3=sccL2}4L!`D4hRW4E(U%9l7~kUni0@(7yK zwwt0OhP}v$J2-K1NKc#tt{BdNu&NZxFjw_O_?_rzuYrv6D%@ zUNBW4hB!;qG)0N+c`^-<)&E{N9L60q^rT{K+~e9<1DjeqgDQ>K;mvZ&@bll?_Zf`Z+7m3nJK}QqIC#?a;^k zY5Zub%tCag?d-E;u(O87$p&Mp>eiTSSw|k8e%+Up)~ArArpfoH{$l+o6HY@X_Up<+ z9W8Q$nndT`LDUmmJIEupn2Dj)h7UQWJfW>`rpE3p+O<3dp&u;S>u-&OTdHdx6~10} zfvH#aZtiwKZ>TT%~S)ClnDxB!CRerZhb6AVBe>hC~Erwie8iUfOt3Tv2=Ck%5a57}W zd++BLYw24dQ^c_tLu2EN+ul}Xj*m$88;An$Eu)u5OX_b#DiEc}9Ca5|vuHY)T9M9t z9Qp~J*a9WBfc}CBF`9`8#Lz8OWA%ehiS@5{m1j2LpI~fx-B#>r=JknG0uHrVDNR2> zjw$-gjZ?XN7snk4qPoowC%-~WLRa!5L;tfxiwQqB;d)VUnYogooz7s*NOMe1p5M)> z$%IA=lDY;QwV-k@Cey8%c?!QzlPEyah=3`wB`v@$Z=x>MCz;M>_0p5m z(PcUQ49_*xOZ+Ko?5}V6oFMda1Xx<8a}avf1vtjA#UC9GBl<19Fk`8i-a8MC=x>U; z`*czq+d<6>@&QQF9Z)qZjjKq7TKe!ExE=LVwN&Kb`G7Dgq2q-KxsYY}TWRjz8V+GK zO_&V{umH6n1d`2wTcBg*&AWikT-}Cu3RE2@BaOpZ|`Rmi#Ld_wo~ z#vYL&!)PT7yNf=-ycKKXoABudazz4r5k-%)!<sqF zx+j@bgokzk-hMojvY!(wAfm#ByA;Q<56flQL>oYd>#Y^YQgG;W~E)rLw&e#ak>|X`iHq~ zRLHf7(VaX5(G97WY8koCpMbp==-~Ku2Rqdm)w@BsiY%WISYK%wyu90eFdWa-x9N6J zu?f@uH`Rr#R2R9ae~wxyPdqh$1k4lvT&pce=X`1^Q-*w!K<4pVWdS;+nF{y*C-}t1 zGD_N)nv&NoSQ?3mgaM2FyTL`IKyEG2t`|O5>e+yxQ!vaCSj-tT&@28YBlG=r>c6o%Ie4$$CF^+FoOIt;?jdnPnxB{QjFa(7>}K(fk}N2_R5N)w@exChdw()5@XW+2$1lgL zJ+W%lO*xWfReJQ%Cr^~8hyPcIFKU(yokH~(jn=Dk#^~Hs~m@W0bT|9-q3~M zZRuY-0pvo9(5W}*BH!0uBhD?4Qm}ET)3Cu$HzyGk8Dlk@l`ZM>%G8wfC+X$!Smc?l zu_%jpC1Icn`Ft41}#1ZLzSO!+a54R%w>itSR1{=%qs)j`bvTLyCI*q^(wT% zI-f2tWkMwr(c+NG%*sW!?zysfY^Xh|K?e2mw8-@T$6okA*`Aq{fBvS6HGHgISWvMh z??pCtZK%WX;T|wxq8H)qNfRoyAEs?HW!&je<`sz#>i&Gxv#;|w8feUPmewdbwJCn{ z_|%Sr892+W+N|R9e28|y2Fx?yJi6L{!0{9Jd;tqrm zxBb11uw|E8gWPgpbj=0|qq(N*<#Ew;#89nu(_T+K;{@PDDWxTk-wY}@1(MddSOh%n zp@0VJ^{mZ21BQK(+(9UO6)|G#;l9lsq&v6SiyHwc;$itCru*fEg|yy>fhE9Oj&>CCJp%*WVSMB$(Wfn>={)TAnBLTeTggOPeSQntZ`a%I+j$|p`f5~i^J`P*v({NNR%t(+zM z3dbK6r`IL1igAaw4joXIcINw!dY<^YCYf*CmKV|G{B=7~XjA~eI_d`A-5OLw zI(8!>p9_ax$JQ5OS3$K@nKb<5UKPTg%d-B&26-R`h7OG>=bMpd+8t~(j$|8%ThEZJu zb*?EW>Y5tctC#rlXW{HV)Xwin|K^LUzjQ9-X?$k@>6Sty)&sgg=fg*Mg20KByX)wX zWdCdQkdqsDz#xANP0dtKjD8W)0tj!PYC9aE?deW1kg(z+HU&}ogi{YoQRh0UxPo_y zri}|(AA8PHDrTZV7>@rf*`FJGtc@?X{?6*tH8m?hX8#4d^h{&7tD53CuIS|f4`}`y zqCg_#Z`^3VKH~Xy>vj5n;v{`TCGIWjB(7Q{aBS(>s}}#iK~JQXbKe`-%GUp%t@&Zp zXmj~{BbmC>KATSE?=OW4bmIfUPDq{O+b%~mq;6inYE1ifCoD{FfJH8DaYa?ozHmx6Ah0DMfAl4n!`eq6eT_7j|elJg;h}GFN(xTa)GwNXJRS>Y)}{5kh#7t=qnl^kGc5qXN&F5F;ir!g6~e8J~uRetm5-Xj=+ z8nSM4*!ND!`cBsw3c60Aq7CD15o(9BC0ZvCDespl>ok@s|`@c!zJmiYP z+%n(`)#)<9fr?3i%ts28<{t&AoazT^alD0{V>CQy^drq_Abh5)Y64HjcX5 zhLv-E_#6&kA|0k>YYtXzUV|{HWCuazxxDfa-FHv(-gm*bG$8Mk~RZZT(>Ne97^ zlkY&vie`?v>g~gV{0w_WU~-34(hB{Kj@c%H^!HJf8&f_8;2ULFIo?7BBw zNP}gz#pURBSwnc)^d;4pRhIQ}cg5V&r4&v5f>)#grb5Ga(xUiamT7_Wp>!jWf{YZG#1}K?uKGtk3CC3ilR>$V+SzrDODET9B zQ~lMuzv6J_y~&;~*a}{oX+4huH*0?<=V(^-Ad{C^zQ}j4Tl~SCF43f{Xg~#SiQ1bf zvQ=?*4Eu0D!42Kw*V;IezhX$lAm>^?_vxF~dHkgDzPtc)c>~H~0B>y&TvDou{3tj3 zc>K6IgKl`x1wHG+nJ6jdjeQebgj+H^HdGY9DE$O=N!VZ6a3Od8{j#eQhP8Q~K~ZS< zDf=mSbx65Vle!GYeT_1t$Vn@r!*!@~<&~7_nDpb1m5K|m#7kW*dfg0`w8_9^E1hTQ zN69UFbmmCAdhtk^@+?E+{c9ns`MhL!r$MWJ#M$^z~#xn(JU**vNkUx#K9Rpcv987l6 z;gtD~UVUHj%=SK@N>3OXUwpKGbpk&A&uN-~rzke<-&}lx!7u&`P5#Nm?Hq@6f6>Z6 zzk)!-K{0ufh5&5}N%>Df1A%1upB4dl69U=F-&}c1h9zgO%$ls1aP5tDfhVEg}vlY!7T{DDFK$Nc`5#Q#!e z9~k~Eu>fyO_19kbf){e-Z>k3)ad{Qi|Qxx&vY2fn=#&HmLtGICiF8Y@)2YR9|G?UGXGNnpPs|53WnU~o4JA+`_hl9pZ#Agxbi2okYPgq zy~f|&v6O#C0-D4Yf-B#`3h#ka&1`;$CwDK!l|#*Ss>GL9{}aBO(aXn;navV8`MiTU z`S);RElCt2^4|o`SiI(vy2#4g?SRd$6nqW>wIuWtJ5k$5Dn`jJubGS2T12XEtrjP| zA8wt-(bqSAt>v@JVxs8F=_$3a?0|kL0#)XJdH8r8PCKm)%A9ico;&e)nc)+j=k-tJ zT|*nMUgr{IR~b^aUVJv}f-zN$Y>HHYn@5d&f>{~*p8v-#N}vENal@F-&h{nCH}Icl zd#;1c=0Qf~Ij!H4xoaq%^0IE2Hxc&RhFIMrL#*@*2+Q>;I08@y;J0GT6l#XW7IMY$ zmQnkYmtG5<1s*%N@JAJAzAPfG)DCSN<`8{JELsA%|*?HQ?cNHdT)IVb2&xtsbJ=XaVI6Zjju8 z5$jL|(Gsq#kOc|w3Ce#zYGQB@K(V&M{SWY9EX2{ExC;cMpR!K^8A<>Wnz;T5!eXm0eNn`Tj+@Lg+6 zBvCVuxQPKvo|WptBI-WiCkK#FSkW#ze0dt}v~KQwY*V~_9)vJ(V#cPZHco?Fh*a?B z_`0&Op;uv(NGTcCtdN~+-OAUuDynD@4&x5Zn5c5hM61u6$qMB@!N(w$0Hoj2rih&!jK1{>7^tuUSpcW#-^G5(`d&g)VF9RShsGSW~~E zWlcYekc-ONZZtboHyGgV4yNO7EoFML{Lm8{uVpq8ldTBz9lKHMi69c!6NW$-u%mPN z+GM!GT-tSDdVgEL)1R&!zZTi zX@+MWFyJ(3~T2hi5T!I2zoHs8UFoQ!oSMN6Jn;g2%Q&%Wn9w#=W(6TfC$Sn6F zM4SE*9K=;OJYuFLttHnJ(wK!%yksTN(=64-4%eAq|D}|y04UoM?@D&C!YzfI|{WN-5KaQ z+VyD`%~B}t)wd_RN%33xSN&T z2aAtL1-rCGz6P}10S)gxzK5=9WsN08bK+51QcKU0I}xz%;3iAXT4V>*O!hygkhEF4 zYH3?*ihZHhx~XNEPFXyZ74ME!^p^|22aphNXIpFcG`k-gFx|)9{Yc=ZU&M25mS=%( zfdJih#<7;+k6t`ijqI}zKR#|{zs?xcU&K_*4#XuR=vJ}=nxouk#Hj}T!4?yn3ZQ?T zHG_LRx)9?Q%lI(Dk26H}GYl;7-bK0#t2ORF*!GZV^>>g8^q!*uVEI*V3&&*e6J`Da z=L70MtpSd9E0JN&yY92q{F-LmIEp1Z(L2Ir>zt$Js_TayaM(4SVKJ;IZ8(h0)p#qU zS9a#9r)FpeQQ(y&b_>y&37S6_e#`w7CEIV8vo@h|q-lLm<9HQT$!q*^_S;8`%Wy6e z2I+9Iq4L@1eeM`vI?U|WT=P=49kzd-UNP3w`2OQCUytkWIk=_cVBH3}^z1}EgW+50 zl5_EDl1)+v>|<2W$_F|#vqy9>ViqR$43?m*ec}Q%DnR%^bF@&3@J}nK?}htq6tnsr z43%f$&gFYek6w8@5{*%oJX7nB@fB?Mz&-(WnI`B#iKdZ@jw~(k*mNo?Eb1XRcM8LElw1ARZ8t;gkT1u985# z)a1>&*8}rC?!9m2XcD0GW(3>)O)@LYVdw*<*fjlXLF-4=65doK?Hez37~z{N<*viu z1-Og)9^?iLnz!X_bP_G^W5|n!w^11o8jDp7pL>Ygr>vP74CzB;EbNm%Uc`I4A&##sUg?>@ z9?`j(Fss#JI{>rTBH-~T_ z`zD$x0I#i3a@fjf9CHY1#Q+ zQHcA=_A7Os_i(lH<}Ekg7~l8ef?Rd$gSySTN1g`-MmzMu9o+kS_}?zTjdX00Km_u# z16tStHISOQBytwbL^&D{$_Zl?WS=EcL1TcA@QNr_s&)51Py|qJyCwR+E9g$MC8B2l zWbzRmkfs1O_Q!A3Q_^#~vHyJs*HDbI*(5GmgSeVAvYyiC0>FfS2TkXLVZ=co4)3SD zziuM|u}XsHsUZs&YL1`HFUnkGy>UWgw_kNW@@wsi{+CP!TAKfG-{AWpCm;cwD7N#Q zh&eL-0k{8apv1AG_-4jrgVkE1Bc4Y$=$t?0(cRVND{bzF>syI~dISoJ2pz9E`?bhH zpb!nNa&zvIE^DZ-!Zq{)Z0*l;&bunaE`?AVV1_SiWX0 zPNlD0W%Gn)-opkcCfcDdSG|P}+KHW7Xf;cukGY(NR!=l4EOIjEFW+-HXfN7})ivBq z82tV`4G6^Wg5dTSKs7c!?)6I5CCoXAJVUUcE-R206!CbqF3^KH(&_Jl^G7^uSfCwP zopzj^&({r9cKMzTgLTRRJD2;9?z&c(;q_x7krvdR4uGJTI4m8l%XbpBv(pRX5pUiF zXP2#mmdA?*E-wX{-5(^@f_l{#2z<4s3LDS?%ZRli)f<2pQBnBP^W1PKRjEO`j&-+) z0iL>3O_gdBFcKdX@?!Vr$L+D~LAd$R0EyQzsdDMmgTqxPTp!NbaN)w-4E8{R6gKO@ z%Dn`%zsei>dq9(?TXB0hZ9h9dTJMggZH&M&o8FdE#WZ!)=8aRy8B#5~i3UywL>=0j z+E=W+8aszhnCo172UjD#<0XISYvwAJzvES>d2;Yok8oWmzcv9JDK72>MSdC#NO6C; zDw8dl?j5ykwDc?kK2~Zc=Gv?^Kq6+^D&!g+^XJ6SI}+o zpv;Vx!)gvsIU>AB@*1*olzB{ldJl=!-P?`rb_tLQlmCgxF`xT1tR*qR$1vQ{uVSlH zX=kukn^|gTwX`)GM0mUSe0{~UUDv^~-H%fW>%eEJ9Z^D%01?eQ2GLWikxkV@STg8(BI(a^65l--T55j}s|g z&ZNclz*;;h08ua|cEwTF~Oyp#SZEu|r731qS$W*y+_H^z3{u1FXu}VFD z+&NC+uG>15V;bJ*;l>1w636J*w-kFtkZZT>NF&6G5jBYo-|O3du0~X854b zW?{Un(AdteWa-m!N(6pI;jW-a)5cZr1CeLR8cjgZl6F#IB8?JVR_syjy@&VKoQypW z%_{9!%wLvHmoSIOZ01Buj^zFJU$NmqW!Itdy~aIxva2YLo$Yvxoj*)>7`P$B_yF5% zYd^XN;OMXX!Hz~cPF5a!?tX%%3=;zURy$PtTD<^tb?x21RUIzD@ z;^j|G?TiarGInW1-7k^ZorcHAbh)LHmh;O6)xGh*k8%;2Gzi|dn-=qZ}`3*2K_p^{FOG=$%vJtg7{7DoWeR- zlEHc;lMZ*`YhBp`0GP@1$ABQ1Q#&?J-JOKCYZNnxo`F+4b^TeDx?k?OBBNjJ(jUyi zI4O*>37PjKU?oADz5p6|FQ6mPF1s!4fX_8F^#gGp{2bAJ&rK=}3)mLH)7@P%+@NM%qW$~G8D-%lb>}A*4qxOO~nKbkCi$_@UaX0J)W+tMi$!gSZ^svsOE_(Gq zgJ3%2YgQE}ozaDYxi4@D`7faCC7fdPVtX{!W)|EsKnlyY6MNj0cM! zO6$DSJaDmlU<`#69mm;cy)lFJ6zem6r{4kL! zpbEgF#rz!3>1MSr3>%I?@8++K$2?lJSI^{)O{uD>USV0?o@Hd6+%TcjED3zS_Qicw zs*io}dEz1|7k44U#`D!+5lXmE-0`kT0kSX8^hQXv@tb8Bj9t*KiE%&sEH1Pf-M3r# zsr$p1LT~f$4+phsa1C_l82=Rcd#>cn9Q)4j^-B!LNny=?sB_?QL9AaJ z2OAQUvuussQioB}e&xi)n3#3H!n{Zvr$8#4=}9Q@05Q0@;oi$ivkeR1ma?}#?t;B! z8*U>Ai>k$y7b|qGgWYT}f!t#J#|S6iJNz>}pTfDwYl6%UG`&9;(gup~D7^1-p+)h+CU%0(X@~EY!4J5XYM;Eeu=;LRmON?= zHeS*ZoHxP!bAghpgHCt<`Y#`ucC)Wp7+?K6`8W0cW>ZyOoB1Y$EX;F7W}dO+fx#Jqh9V^ ztogzB&mToZxfsxreJoqd=Tx(~K>q5upj%NZWO=piUL0OIlG#K3CTOp-IX}--rOl>X zuuto=z17}P&5KQSlU|g>n~vGGB2k0RO>>o4zUprG+2SG?Dmgox-4Qv$48=Ur~_ zJ7f)P>nP%jsbV{n(%$>^(@~tb#@fj8+`@A*cU@4bAK=eNDc>G7e69YaHQvMUcmrpG zf6Pzxa?4v^uHy>sgA&#X?h6~LSK?vaBI&nQ>vmyqKBo=euy*Wnqu30xy%%8B8;3%_QPN!^zmW)X|xofkWL;(U(b&Z?49qibQ}C zh>H}?v9G^pmBX*hCBKHYU7||sM9m}se|HBXWO%Kalc>A%Mu7%;S9NE1I6;9ia?HeH-)6=4jpeVg326kKU1L{3}9aZ5ik ze&;>y*B6XzWS#_qB%PNrU?KwmE)Mxd|t2$e=YY+d=L^* z+hA=nGvqHrSzor>3_33>pHfCmS$#D=Nz6u|FLMxEuD)x@KF$%>j4=%4HyPMkkiNgv zreL`FPS^O8ol@XKoN-@<_;9`1Ms}jzwIC3@6M<09)a{dfrCB{K4PAQ);d$trTQ)o{ zqpb7-Kv)uLW!~p{&oY!2Uc4EJZ^3jTrl}c!CII?>N}0RYey-Q4W|!Y`U#2WyE)8oNH#%Wn2pvnhUS zAYHS?cafdKOCXXsCTsfQEEK(pW+{*_5g*Cb>({tOua$avSS! zJG_$GIdW4qhv|q~Px3D$?oR)*lKAy&T$f|E@${P4rXo?aw*`B_&7oo922JfIw@^Kv?S;{T?RmR>}kIa5M&OU zyR6Lq07{&YI!Ae`8SbL^hrSPm1g_ghr68a;(jN2FXAG1U#KRf;3cTdBUmM=0l}kU7 z-~W-sZfAtUXyS!7A0RTRa)Dmb4_iX>>%Pla-38IIYHB?HhZSu*ly8SUtOWo)OXj;>Qz2vLFNMQQh=55 zMw>8oCatmg#Ltk%uC?~ndC+MPFDOPC8{Mg`U!Qug&q2+bl0SXZMLfQBStZaPe^&n` zDG_v@B@buqQhNS4l`Jle^#VC$~Lxb8%kuU5zm0Lg{4LXRy=>2%VV+s8$1be=GI0O{e zT?wpIuUTDoQ;)3lhh!ki=HdH5R*uET~T}w!S7nt8| zHRZyz3eebWUp@;-3&cd;g7<7uZ`xJ12wcJUkdgU_{_z5BgJIzQm%vG~BK=x1{y_wf zE+k%roNHny0b{2F%{40E|M>f}HW%y-t@MF*ZynG^3g{Wo>2{09{cy@!X7?X=wV#sh z+h$2l==>JuCsAu~GVtzs-E~Pxg*WUokAMTS1esV*RIZt7!=GRxH^?^&p)SZW;lJ$= zmd^(d;yRt0>zZK;f$xc9BPdV>#AETw?i3z|8uRaaQsbn z&11VGF15qSxs<1>B?v#(V48a3>DuO(ihmd3vkK_c&~@}Ss{3UfXrXpoaI*-4M6>)n z0xwCRWyF2%4-Qb(}At z7!8V7cJsdeM;5|-#aR>bi2?Vy3uurB1?F;!K?#$J@aw&;cMkFm=!8zZq-AP22}o`& zc6Pd}r!ve!;|dWHeOL9)C0GC6Fq}L4*LMaB%9C|FfWKQVEgMs@#-%PH-1{Bhs}p2} zZv4mNCWberTqd1ZuX%vJP>B*=bi3DoeUZlRCPtSZDJMIcC=)4Lh)PjjHfi;^tA zHs7fc6#Sbu+BprUI+zkGS#!C#N%a3<*gl%8|0>x{MyTEW(m2)X&oW8EuJ}RS0Mv2j zh3Aurkz@{kK(G;rw#CCgV!6Hz(lK@;2M`LH_%~N0ZAIS2Ho|&htd= zgZkY16deqYr;O^J$V|#066cO>Jywfjov-|9cN#3h?M5w6>=wg1F+& zPjtz21AfG^R{9Ng1J{ceg{QLA7B(v0dT@KpJo=eovSszWyDa)wtu0 zJ8xI;;Yh=kzC@S1=J(Pm3Dm^=+Y|+4r(rd_j{`Psd+IbAVm|v%qx5wEdlXRk?$oP9 zNF^rQnh5jv*`(*o&jS)-&Us8O2a2oZ!)?q(wOSv#MHbEnrZ*SF@9a!iLE93$OOuM7 z2lM7+^eoM^@I%@u;ZLWY7*eiWk$crD#!7v3dwVGeAb8V;c8~qr`jcfsN9dGF;_5Jo zulSS%sua_5v5{JC0P%ERbs+n`g|=2N4HKi6wa~kR^ZtCbpE{r~Mggk2(KE4N^y{Z5 zKf1@&be{k}@XhB3X6Lz%Gi32M)91LBh|YyID(uE1l}TaN4h!AYZ#&N?Rqu_-dgM!q z@zE>!$C%H{T;+DvG=0>BX&BrRB6)4n-z{AL#HlZ)5Wl9qDvx8k_cs3xYF;d+bmBac z+WP_4kW4Ou7YasXgC)DOzYEq+H-IuO>4vk+Z>{6FUeV}0P?3Np``P) z^BB8R(dnFW4kUW_yfp((te1s1d99S(6mHf+p^l+IWwULc?)t^$z~{)m+2#iqsTG%H z$=M{{OuY4#`1+lEaOsXZC%VnUZ=-uR3HN$np|{(4JMJbQO;FUhEy3a(AB?!JgWjXo zApAoVpX>zGLrb%@qTtr*D;51=F;&4MK*(9s;3yMJWj_)H|BQVVq1?r`0C%VQsg4-W z_`)zT`-cED3_J_Oj(Y+zE9mjO2DrC8L_rUxI7Q7k^l~`Nwghq6%vXBry5BJ+nCpgTuG4S@y$tRs1^o= zZ%7mY4pwuTPW6<|ew*%qtH2hUj%?i{WF&iYTxjge8vXNqX!;L*SMq9@$b!GEy=ICQ z;cJ;m*?0|*g05|?m1y2x1VBQM+ftb;Q`k~#INAM=GhfC&<|fF|Bg9rq8=iO=n^ZgH z*i<4%WIj(y$OH})vgf932U6Us^d?`+tn9;B$mQ+2Dn~2osC#JVENu(?-_JTbx_<<3 zohkIjRcMiZV72G6c6|`n3++c=F5L7UpL>RVD?`m^YYW~g(7fKa!vW{coWH3+>*%RWc=2%6=jMmRk>d;F*OOnbwTd1d0#%Cw*)yGwLacvfUb%f5e^JofqVXrW8!8pe6A;t zyjX?rNuORU!7bO*VN_`N;ws2%LYWrKY)ziu`J!#ZlNo6-PuYC~`uhW5vt6F_{GmQ0 zj58XRPgngjh=JA5w~w&3Eqw!Hzh>T#qgEW{rQ3Y*e6MBM^;# z(i6ecu%d$)e(6hyi#&;$w~b-|DJMdv!m6uO&q^5FvQ$Do_IrgC08(j``xFLn7&eRORGTqy_B^zlmZ(cSg0+sj9*IK14C!E%+aL` zFBYKcl_fz97j`K|Fa-{*$uAMljf=SqJEm>GpHxK*>KH+1ofLZOMk7mM zpE<#_#kKF>T}(%oiTF!WXjJV;yi9c>s7S$_m(fiFgR2V7=x{YxcyBY2;kbihAz~vE z_a#FN*Q(y+K2)t@FAw&sk*i!WT|9fdhCa(4`4tXBgr}{(Ki9WKJ*+FAmIji-kmg4k z%3vC#3E&+~HNo3~cJzBsK(8h;w7iD?l|5pMm&s78<&6M3HRUW^Pn54wfCZ;_5?`UH z;~E(8I_@o&sjRykdP9+X5IyuXmarvn@Po(8)8}9=5Pm$LXp-ZDXGSdUn=?9{9}T#_ zwkUBFnx6~Zb=9P#T5jSwspYYg)hH3D&*#A5cWO+%KyAo&s3g_vix*+K)Q zPs`;hdk8-vKg`OHp1U)jwC@7$8v(ybW{`b4D4y77wFynJzm_!a>^K)Z;McI+_rv7I!;Yi9H4;})1-iG9wRYP@ujG(WYx5)M z`)HsZK400ge&3L0N>cy5j?YcH^v53E3Cz`7|8}DcUQ(xv%9re%0PD1|=!)fZnvs85 zwo+*@%-^Rl{9?Q;!kVHQJ@TEU_2%|MV+}A%+C?*xDKAHgU2=Bt)Qsomduf8=()ApW zM1M(n@&0|@$+8q&l`MKv(bX)4KKCb>F0&8^@=Xl z*l!xeQ4t?1RO!U%5-CRs0})=p7$;WE|M2Px#DTE+oTr!qO(r%h;zie@tc_9RC@@V+ zN#-x7CKq5()alteDFPZYQKs1Ur+V093v%|29nn?D{3`7YjHmqwfjTP-HJR>#xkdY? zaedA1t{wX+h=a3Ns3-;;L;0%tOD{Ee0Gv z_rQ?65p&8N9zGX}IpFJ*kgCtX(@6PFCmhrq6&=58sLG~3uI%_(OqtM+%a<&TEKt3E zxGS4?;7L1p$D!O+AQBLqQqb`ZvJoYWu2_E9O?ZHkp?jOu(0LUy=T(!vS+lqaT%|`NO zE~>McW*}C8bj18Tf3;YNrvfU8Zp^u+V?RTz4(#n$Yod~~>_VgOu9~*WDU0Pt+)G@L zV@(EN9%}Oq4Iqrknlw+a)}EPUfjCK-xLwog4ZuA=ShU)0bg8%yO}HkPQ)L_M`vafV zaTmTx4Co^Rq9E=6`k$)>Dt%g7wlb2pDZ_%xhATZ@_C?zMeT``&$Qv4QolXzohtoTO z4la8E`9Z)g(U4_Ba6jIWUK2GIjFN{X`6IjGA+ujEU>_-q{LN-Paf$5F16q`OV2rz> z?0J@>egw9y3CPec(J1!C>-Txme)pi9!2SQ=!yj~AKwq*WNp#Yv7T6Y{rhXnDr7-wz z0psr_BZgr`wv72TUkX}e%m&fj-mk$%X>X2|Zb58^cb@6K;n0E570I{;c|uUU&ISP! z((bU+bEuC(gnOynx^B&o4|bc~3u8#s3eOZ>jq=wT2q$5Kk*;3?0#$ZW$?xKFOyok} z(5s{P-*QsA$cXk|Wb4OUnKTbGg%I-(@^e>PYGC12s~#zw?A0- z^`RC2OzD967HE(7X?E8)65+*e-lLR;>_P6j#^3dTSfI6JlROu&UBsy~**?XT6DO>x zX)6-?$QOlu26BQEN7^y>MZ;9lf^aZ2ejjR*D7qiTdSW!W>3b8yJjy)4!0m0R`nt^e z={=seCa_zgl4I{9$!@jUcI8u(F{T;(I979e?*sB)x6{33le_0DcJoC#Z0BCGWA#_6 zI`cr->C%tpS26eJP9xj{b|mpDSZD}Q>p9Lf+)`cs_pyD(X2-g52+%STY}y8{Fi<+y zD~D^;J-_M+E8eAsmArZF1qq_*bIui>q;*F0pw!9pPqR%88$C`oe3ZX@=O>@muZ~OQ zJzA8nZ@uX;^ULLAi}lA*B4@V?MSB)Buhr?a_788mQwdsOhQ_Veh7^XcN48SLO%M#| zg7!5!SV9s+`Uw_1&sw`3=ky&3`gOJM!+E%9_`;<`7bqH0=F(cWz@_;wo| zoP*7eUol;1taO~(u~R=w@TK)zDf(lqITc5h zWp@v1m|<5DL+75R2K)<`Bg4bLZkKiBICrDq=>@3!58jQE5bLKjgdhzzR)H-q7v~fJ zxL|qc&?i6&>~>0qVN8ZLKeUVCPxW_NT^QFaZUbwEGdzlBCvKtUa9!7 zv;+1LnZ%X}vOnvPnJ6n#`m^h#|^}?;epdXak~o||Dq$%a5LDZ8TVX$Lh4Oo* z%uj43h?7abMMZ!U6Es_=6Mf{~W3{2qF_$yWYj0S|NUB%=wS?rjMrX!m~lb9sh(Iqu6|nH=AUfxsyd(e zA2a#G{O@6`c&hVVAsB-oP5sw_=>0cR<>dN@38ZY>!yUc&(tIV-Kl2av)YPN=7kd&4 zH|C)9-KjZP1P#u!%va zAGTcNmL*%6Sd?t|Qi0h=9ogpnVyzE934PZ%u1EMMr9X z6V8U=9?s^U{6GZLrv?zO;QZvBKaNaT=Rg4YV)s!W$OzU>d12-13(BqaPDzMib&JMI zExt_(Cv)3$1l&?3ox>sR;bgJO2%ZbU#PPe<2D+1LM&PNcqBbrlve8k)R{^~Nbc>E? zYmh)UB>xtOYEh7%=4S6_oi-Dx1C-N~;z%^9jg0`OvPn{@yAcxy`jlbj5B}II{-6Jy a5J}tF(nojPXpBQH%gO??FMH3C*#7}RKzgJA literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md index 5b71cba78f3c..33a9c1810fc0 100644 --- a/docs/index.md +++ b/docs/index.md @@ -16,7 +16,7 @@ ## About this docs -This documentation is open source, contribute at [github.com/chainsafe/lodestar/docs](https://github.com/ChainSafe/lodestar/tree/master/docs). +This documentation is open source, contribute at [github.com/chainsafe/lodestar/docs](https://github.com/ChainSafe/lodestar/tree/unstable/docs). ## Need assistance? diff --git a/docs/installation.md b/docs/installation.md index 177eb6739a76..422ddafc1919 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -69,7 +69,7 @@ The [`chainsafe/lodestar`](https://hub.docker.com/r/chainsafe/lodestar) Docker H !!! info - The Docker Hub image in run on CI every nightly release on `master` + The Docker Hub image in run on CI every dev release on `unstable` Ensure you have Docker installed by issuing the command: diff --git a/docs/libraries/index.md b/docs/libraries/index.md index 4ab308598445..403111d7c32a 100644 --- a/docs/libraries/index.md +++ b/docs/libraries/index.md @@ -6,10 +6,10 @@ The Lodestar project is divided into Typescript packages that can be used indepe Several useful Ethereum consensus libraries are developed as part of the [Lodestar monorepo](https://github.com/ChainSafe/lodestar) and may be useful when used individually. -- [params](https://github.com/ChainSafe/lodestar/tree/master/packages/params) - Ethereum consensus constants and fork names -- [types](https://github.com/ChainSafe/lodestar/tree/master/packages/types) - Ethereum consensus datatypes, Typescript interfaces and SSZ type objects -- [config](https://github.com/ChainSafe/lodestar/tree/master/packages/config) - Ethereum consensus run-time network configuration -- [api](https://github.com/ChainSafe/lodestar/tree/master/packages/api) - Ethereum consensus REST API client +- [params](https://github.com/ChainSafe/lodestar/tree/unstable/packages/params) - Ethereum consensus constants and fork names +- [types](https://github.com/ChainSafe/lodestar/tree/unstable/packages/types) - Ethereum consensus datatypes, Typescript interfaces and SSZ type objects +- [config](https://github.com/ChainSafe/lodestar/tree/unstable/packages/config) - Ethereum consensus run-time network configuration +- [api](https://github.com/ChainSafe/lodestar/tree/unstable/packages/api) - Ethereum consensus REST API client ## Other libraries diff --git a/package.json b/package.json index ee0703013bbf..89e0179c2a6f 100644 --- a/package.json +++ b/package.json @@ -27,8 +27,10 @@ "test:spec-main": "lerna run test:spec-main --no-bail", "benchmark": "yarn benchmark:files 'packages/*/test/perf/**/*.test.ts'", "benchmark:files": "LODESTAR_PRESET=mainnet NODE_OPTIONS='--max-old-space-size=4096 --loader=ts-node/esm' benchmark --config .benchrc.yaml", - "publish:release": "lerna publish from-package --yes --no-verify-access", - "release": "node scripts/release.mjs", + "release:create-rc": "node scripts/release/create_rc.mjs", + "release:tag-rc": "node scripts/release/tag_rc.mjs", + "release:tag-stable": "node scripts/release/tag_stable.mjs", + "release:publish": "lerna publish from-package --yes --no-verify-access", "check-readme": "lerna run check-readme" }, "devDependencies": { diff --git a/packages/cli/src/util/gitData/gitDataPath.ts b/packages/cli/src/util/gitData/gitDataPath.ts index 1aebc7c4e394..e243ca433f2d 100644 --- a/packages/cli/src/util/gitData/gitDataPath.ts +++ b/packages/cli/src/util/gitData/gitDataPath.ts @@ -14,8 +14,8 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url)); // in Github to resolve that version to a specific commit. While this is okay, git-data.json gives // a gurantee of the exact commit at build time. // -// - For NPM release (nightly): canary commits include the commit, so this feature is not really -// necessary. However, it's more cumbersome to have conditional logic on stable / nightly. +// - For NPM release (dev): canary commits include the commit, so this feature is not really +// necessary. However, it's more cumbersome to have conditional logic on stable / dev. // // - For build from source: .git folder is available in the context of the built code, so it can extract // branch and commit directly without the need for .git-data.json. diff --git a/packages/cli/src/util/version.ts b/packages/cli/src/util/version.ts index 0fd541b78c0c..eb6bf865c279 100644 --- a/packages/cli/src/util/version.ts +++ b/packages/cli/src/util/version.ts @@ -14,13 +14,13 @@ type VersionJson = { version: string; }; -const BRANCH_IGNORE = /^(HEAD|master|main)$/; +const BRANCH_IGNORE = /^(HEAD|master|unstable|main)$/; /** * Gathers all information on package version including Git data. * @returns a version string, e.g. * - Stable release: `v0.36.0/80c248bb` - * - Nightly release: `v0.36.0-dev.80c248bb/80c248bb` + * - Dev release: `v0.36.0-dev.80c248bb/80c248bb` * - Test branch: `v0.36.0/developer-feature/80c248bb` */ export function getVersionData(): { @@ -43,7 +43,7 @@ export function getVersionData(): { // Add commit only if present. 7 characters to be consistent with Github if (commit) { const commitShort = commit.slice(0, 7); - // Don't add commit if it's already in the version string (nightly versions) + // Don't add commit if it's already in the version string (dev versions) if (!localVersion || !localVersion.includes(commitShort)) { parts.push(commitShort); } diff --git a/packages/spec-test-util/README.md b/packages/spec-test-util/README.md index 8252c3549537..5b1dfaf1eba3 100644 --- a/packages/spec-test-util/README.md +++ b/packages/spec-test-util/README.md @@ -4,7 +4,7 @@ Mocha / Chai utility for interacting with eth2.0 spec tests. -For usage see [spec tests]("https://github.com/ChainSafe/lodestar/tree/master/packages/lodestar/test/spec") +For usage see [spec tests]("https://github.com/ChainSafe/lodestar/tree/unstable/packages/lodestar/test/spec") ## License diff --git a/scripts/release.mjs b/scripts/release.mjs deleted file mode 100644 index 18931e9f3efb..000000000000 --- a/scripts/release.mjs +++ /dev/null @@ -1,167 +0,0 @@ -import {execSync} from "node:child_process"; -import {readFileSync} from "node:fs"; -import yargs from "yargs"; -import {hideBin} from "yargs/helpers"; -import inquirer from "inquirer"; -import _lernaVersion from "@lerna/version"; - -// Script to make releasing easier -// Run with --help to see usage - -const cmd = (cmd, opts={}) => execSync(cmd, {encoding: "utf8", stdio: ["pipe", "pipe", "ignore"], ...opts}).trim(); -const exit = (...msg) => { console.log(...msg), process.exit(1) }; - -const argv = yargs(hideBin(process.argv)) - .usage("Release lodestar") - .example([ - ["$0 -t v0.36.0", "Release version 0.36.0 using the current commit"] - ]) - .options({ - tag: { - alias: "t", - demandOption: true, - type: "string", - describe: "The tag to release", - }, - commit: { - alias: "c", - type: "string", - describe: "The commit to tag", - }, - yes: { - alias: "y", - type: "boolean", - describe: "Automatic yes to prompts" - } - }) - .version("v0.1.0") - .alias("v", "version") - .alias("h", "help") - .strict() - .help() - .argv; - -const yes = argv.yes; -const { - tag, - currentCommit, - commit, - commitMessage, - branch, -} = getInfo(argv); - -console.log("Tag", tag); -console.log("Checked-out commit", currentCommit); -console.log("Commit", commit, commitMessage); -console.log("Branch", branch); - -ensureCommitExistsInBranch(commit, branch); - -if (!lernaVersionMatchesTag(tag)) { - console.log("Lerna-controlled version does not match tag"); - - if (commit !== currentCommit) { - exit("Cannot continue because the checked-out commit doesn't match the selected commit"); - } - console.log("Deferring to lerna"); - await lernaVersion(tag, yes); -} else { - await tagAndPush(commit, tag, yes); -} - -console.log("Success!"); - -///////////////////////////// - -function getInfo(argv) { - // Validate tag version (must be semver-ish) - const versionCaptureRegex=/^(v[0-9]+\.[0-9]+)\.[0-9]+(-beta\.[0-9]+)?$/ - const versionMatch = versionCaptureRegex.exec(argv.tag); - if (versionMatch == null) { - exit(`Tag must match ${versionCaptureRegex}`); - } - - const tag = argv.tag; - const currentCommit = cmd("git rev-parse --short HEAD"); - const commit = argv.commit ?? currentCommit; - const commitMessage = cmd(`git show-branch --no-name ${commit}`); - // The branch is assumed from the tag - const branch = `${versionMatch[1]}.x`; - - return { - tag, - currentCommit, - commit, - commitMessage, - branch, - }; -} - -function ensureCommitExistsInBranch(commit, branch) { - // Ensure the branch exists - try { - cmd(`git show-branch --no-name ${branch}`); - } catch (e) { - exit(`Branch ${branch} does not exist`); - } - - // Ensure the commit exists in the branch (last 10 commits) - const last10Commits = cmd(`git log --oneline -n 10 ${branch}`); - const commitMatch = last10Commits.match(commit); - if (commitMatch == null) { - exit(`Commit ${commit} does not belong to branch ${branch}`); - } -} - -function lernaVersionMatchesTag(tag) { - // Ensure the lerna.json is at the right version - let lernaVersion; - try { - lernaVersion = JSON.parse(readFileSync("./lerna.json")).version; - } catch (e) { - exit(`Error fetching/parsing lerna.json: ${e.message}`); - } - return lernaVersion === tag; -} - -async function lernaVersion(tag, yes) { - try { - await _lernaVersion({ - cwd: process.cwd(), - bump: tag, - "force-publish": true, - yes: yes, - }) - } catch (e) { - exit((e.message)); - } -} - -async function tagAndPush(commit, tag, yes) { - // Last chance to exit - if (!yes) { - const input = await inquirer.prompt([ - { - name: "yes", - type: "confirm", - message: "Do you want to proceed? Continuing will tag and push.", - }, - ]); - if (!input.yes) { - process.exit(1); - } - } - - // Perform release actions - try { - const tagCmd = `git tag -a ${tag} ${commit} -m "${tag}"`; - console.log(tagCmd); - cmd(tagCmd, {stdio: "pipe"}); - - const pushCmd = `git push origin ${tag}`; - console.log(pushCmd); - cmd(pushCmd, {stdio: "pipe"}); - } catch (e) { - exit(e.message); - } -} diff --git a/scripts/release/assert_valid_rc.mjs b/scripts/release/assert_valid_rc.mjs new file mode 100644 index 000000000000..dc1141c9f9a3 --- /dev/null +++ b/scripts/release/assert_valid_rc.mjs @@ -0,0 +1,44 @@ +/* eslint-disable + no-console, + @typescript-eslint/no-unsafe-assignment, + @typescript-eslint/no-unsafe-member-access, + @typescript-eslint/no-unsafe-call, + import/no-extraneous-dependencies +*/ + +import semver from "semver"; + +import {assertCommitExistsInBranch} from "./utils.mjs"; + +// Asserts whether a tag is a valid release candidate or not +// This script is meant to be run by a github workflow +// The output of this script is to either set github variables or not + +const tag = process.env.TAG; +const commit = tag; + +console.log("Tag:", tag); + +// assert it matches proper format vX.X.X-rc.X +const version = semver.parse(tag); +if (!version) { + console.log("Invalid tag: unparseable version"); + process.exit(); +} +if (version.prerelease.length !== 2 && version.prerelease[0] !== "rc" && !Number.isInteger(version.prerelease[1])) { + console.log("Invalid tag: not a valid rc version"); + process.exit(); +} + +// assert it exists in branch rc/vX.X.X +const rcBranch = `rc/v${version.major}.${version.minor}.${version.patch}`; +try { + assertCommitExistsInBranch(commit, rcBranch); +} catch (e) { + console.log("Invalid commit: does not exist in rc branch", rcBranch); + process.exit(); +} + +// success +console.log("::set-output name=is_rc::true"); +console.log(`::set-output name=version::${version.version}`); diff --git a/scripts/release/create_rc.mjs b/scripts/release/create_rc.mjs new file mode 100644 index 000000000000..d0a7a12969bf --- /dev/null +++ b/scripts/release/create_rc.mjs @@ -0,0 +1,121 @@ +/* eslint-disable + no-console, + @typescript-eslint/no-unsafe-assignment, + @typescript-eslint/no-unsafe-member-access, + @typescript-eslint/no-unsafe-call, + import/no-extraneous-dependencies +*/ + +import semver from "semver"; + +import { + assertCommitExistsInBranch, + assertGitDirectoryIsClean, + checkBranchExistsLocal, + checkBranchExistsRemote, + confirm, + getCommitDetails, + readMainPackageJson, + parseCmdArgs, + shell, + UNSTABLE_BRANCH, + GIT_REPO_URL, + REPO_SLUG, + getCurrentBranch, + syncGitRemote, + usage, + STABLE_BRANCH, +} from "./utils.mjs"; + +usage(` +Create a Lodestar release candidate. + +Usage: + yarn release:create-rc [commit] + +See https://github.com/ChainSafe/lodestar/blob/unstable/RELEASE.md#1-create-release-candidate +`); + +// Get command args +// create_rc [commit] +const {versionMMP, commit} = parseCmdArgs(); + +const rcBranchName = `rc/v${versionMMP}`; +const packageVersion = `${versionMMP}`; + +// Asserts script is run in root directory +const mainPackageJson = readMainPackageJson(); +const currentVersion = mainPackageJson.version; + +// Assert provided version increases latest stable +if (!semver.gt(versionMMP, currentVersion)) { + throw Error(`Selected version ${versionMMP} is not gt package.json version ${currentVersion}`); +} + +const currentBranch = getCurrentBranch(); +if (semver.patch(versionMMP) === 0) { + // New version release candidate + // This script must be run from unstable branch + if (currentBranch !== UNSTABLE_BRANCH) { + throw Error(`Must be run in branch '${UNSTABLE_BRANCH}' but is in '${currentBranch}'`); + } + + assertCommitExistsInBranch(commit, UNSTABLE_BRANCH); +} else { + // Hot-fix release candidate + // This script must be run from unstable branch + if (currentBranch !== STABLE_BRANCH) { + throw Error(`Must be run in branch '${STABLE_BRANCH}' but is in '${currentBranch}'`); + } + + assertCommitExistsInBranch(commit, STABLE_BRANCH); +} + +// Sync with remote +syncGitRemote(); + +// Assert rc branch does not exist in local nor remote +const rcBranchCommitLocal = checkBranchExistsLocal(rcBranchName); +if (rcBranchCommitLocal !== null) throw Error(`Branch ${rcBranchName} already exists in local`); +const rcBranchCommitRemote = checkBranchExistsRemote(rcBranchName); +if (rcBranchCommitRemote !== null) throw Error(`Branch ${rcBranchName} already exists in remote`); + +// Must ensure git directory is clean before doing any changes. +// Otherwise the lerna version + commit step below could mix in changes by the user. +assertGitDirectoryIsClean(); + +// Log variables for debug +console.log(` +Current version: ${currentVersion} +Selected version: ${versionMMP} +RC branch: ${rcBranchName} + +Selected commit: ${commit} + +${getCommitDetails(commit)} +`); + +if (!(await confirm(`Do you want to create a release candidate for ${versionMMP} at commit ${commit}?`))) { + process.exit(1); +} + +// Create a new release branch `rc/v1.1.0` at commit `9fceb02` +shell(`git checkout -b ${rcBranchName} ${commit}`); + +// Set monorepo version to `1.1.0` +shell(`lerna version ${packageVersion} --no-git-tag-version --force-publish --yes`); + +// Commit changes +shell(`git commit -am "v${versionMMP}"`); + +// Push branch, specifying upstream +shell(`git push ${GIT_REPO_URL} ${rcBranchName}`); + +// TODO: Open draft PR from `rc/v1.1.0` to `stable` with title `v1.1.0 release` +console.log(` + +Pushed ${rcBranchName} to Github, open a release PR: + +https://github.com/${REPO_SLUG}/compare/stable...${rcBranchName} + +`); diff --git a/scripts/release/tag_rc.mjs b/scripts/release/tag_rc.mjs new file mode 100644 index 000000000000..05113b412f97 --- /dev/null +++ b/scripts/release/tag_rc.mjs @@ -0,0 +1,98 @@ +/* eslint-disable import/no-extraneous-dependencies */ + +import semver from "semver"; +import { + assertCommitExistsInBranch, + assertGitDirectoryIsClean, + checkBranchExistsLocal, + checkBranchExistsRemote, + checkTagExistsLocal, + checkTagExistsRemote, + confirm, + getCommitDetails, + getCurrentBranch, + getNextRcTag, + GIT_REPO_URL, + parseCmdArgs, + readMainPackageJson, + shell, + syncGitRemote, + usage, +} from "./utils.mjs"; + +/* eslint-disable + no-console, + @typescript-eslint/explicit-function-return-type, + @typescript-eslint/no-unsafe-assignment, + @typescript-eslint/no-unsafe-member-access, + @typescript-eslint/no-unsafe-call +*/ + +usage(` +Publish a Lodestar release candidate. + +Usage: + yarn release:tag-rc [commit] + +See https://github.com/ChainSafe/lodestar/blob/unstable/RELEASE.md#1-create-release-candidate +`); + +// Get command args +// tag_rc [commit] +const {versionMMP, commit} = parseCmdArgs(); + +const rcBranchName = `rc/v${versionMMP}`; +const tagName = getNextRcTag(versionMMP); + +// Asserts script is run in root directory +const mainPackageJson = readMainPackageJson(); +const currentVersion = mainPackageJson.version; + +// Assert provided version increases latest stable +if (!semver.eq(versionMMP, currentVersion)) { + throw Error(`Selected version ${versionMMP} is not eq package.json version ${currentVersion}`); +} + +// This script must be run from the rc branch +const currentBranch = getCurrentBranch(); +if (currentBranch !== rcBranchName) { + throw Error(`Must be run in branch '${rcBranchName}' but is in '${currentBranch}'`); +} + +assertCommitExistsInBranch(commit, rcBranchName); + +// sync with remote +syncGitRemote(); + +// Assert rc branch exists in local and remote +const rcBranchCommitLocal = checkBranchExistsLocal(rcBranchName); +if (rcBranchCommitLocal === null) throw Error(`Branch ${rcBranchName} doesn't exist in local`); +const rcBranchCommitRemote = checkBranchExistsRemote(rcBranchName); +if (rcBranchCommitRemote === null) throw Error(`Branch ${rcBranchName} doesn't exist in remote`); + +// Assert tag does not exist in local nor remote +const tagCommitLocal = checkTagExistsLocal(tagName); +if (tagCommitLocal !== null) throw Error(`tag ${tagName} already exists in local`); +const tagCommitRemote = checkTagExistsRemote(tagName); +if (tagCommitRemote !== null) throw Error(`tag ${tagName} already exists in remote`); + +// Must ensure git directory is clean before doing any changes. +// Otherwise the lerna version + commit step below could mix in changes by the user. +assertGitDirectoryIsClean(); + +// Log variables for debug +console.log(` +Tag: ${tagName} +Selected commit: ${commit} + +${getCommitDetails(commit)} +`); + +if (!(await confirm(`Do you want to publish ${tagName} at commit ${commit}?`))) { + process.exit(1); +} + +// Tag commit as `v1.1.0-rc.0` with an annotated tag, push new tag only +shell(`git checkout ${commit}`); +shell(`git tag -am "${tagName}" ${tagName}`); +shell(`git push ${GIT_REPO_URL} ${tagName}`); diff --git a/scripts/release/tag_stable.mjs b/scripts/release/tag_stable.mjs new file mode 100644 index 000000000000..01b058d7fdc2 --- /dev/null +++ b/scripts/release/tag_stable.mjs @@ -0,0 +1,88 @@ +/* eslint-disable import/no-extraneous-dependencies */ + +import semver from "semver"; +import { + assertCommitExistsInBranch, + assertGitDirectoryIsClean, + checkTagExistsLocal, + checkTagExistsRemote, + confirm, + getCommitDetails, + getCurrentBranch, + GIT_REPO_URL, + parseCmdArgs, + readMainPackageJson, + shell, + STABLE_BRANCH, + syncGitRemote, + usage, +} from "./utils.mjs"; + +/* eslint-disable + no-console, + @typescript-eslint/explicit-function-return-type, + @typescript-eslint/no-unsafe-assignment, + @typescript-eslint/no-unsafe-member-access, + @typescript-eslint/no-unsafe-call +*/ + +usage(` +Publish a Lodestar stable release. + +Usage: + yarn release:tag-stable [commit] + +See https://github.com/ChainSafe/lodestar/blob/unstable/RELEASE.md#3-merge-release-candidate +`); + +// Get command args +// tag_rc [commit] +const {versionMMP, commit} = parseCmdArgs(); + +// Asserts script is run in root directory +const mainPackageJson = readMainPackageJson(); +const currentVersion = mainPackageJson.version; +const tagName = `v${currentVersion}`; + +// Assert provided version increases latest stable +if (!semver.eq(versionMMP, currentVersion)) { + throw Error(`Selected version ${versionMMP} is not eq package.json version ${currentVersion}`); +} + +// This script must be run from the rc branch +const currentBranch = getCurrentBranch(); +if (currentBranch !== STABLE_BRANCH) { + throw Error(`Must be run in branch '${STABLE_BRANCH}' but is in '${currentBranch}'`); +} + +assertCommitExistsInBranch(commit, STABLE_BRANCH); + +// sync with remote +syncGitRemote(); + +// Assert tag does not exist in local nor remote +const tagCommitLocal = checkTagExistsLocal(tagName); +if (tagCommitLocal !== null) throw Error(`tag ${tagName} already exists in local`); +const tagCommitRemote = checkTagExistsRemote(tagName); +if (tagCommitRemote !== null) throw Error(`tag ${tagName} already exists in remote`); + +// Must ensure git directory is clean before doing any changes. +// Otherwise the lerna version + commit step below could mix in changes by the user. +assertGitDirectoryIsClean(); + +// Log variables for debug +console.log(` +Tag: ${tagName} +Selected commit: ${commit} + +${getCommitDetails(commit)} +`); + +if (!(await confirm(`Do you want to publish ${tagName} at commit ${commit}?`))) { + process.exit(1); +} + +// Tag commit as `v1.1.0` with an annotated tag, push new tag only +shell(`git checkout ${commit}`); +shell(`git tag -am "${tagName}" ${tagName}`); +shell(`git push ${GIT_REPO_URL} ${tagName}`); diff --git a/scripts/release/utils.mjs b/scripts/release/utils.mjs new file mode 100644 index 000000000000..ee02015f0577 --- /dev/null +++ b/scripts/release/utils.mjs @@ -0,0 +1,295 @@ +/* eslint-disable + no-console, + @typescript-eslint/explicit-function-return-type, + @typescript-eslint/no-unsafe-assignment, + @typescript-eslint/no-unsafe-member-access, + @typescript-eslint/no-unsafe-call, + @typescript-eslint/no-unsafe-return, + @typescript-eslint/explicit-module-boundary-types, + import/no-extraneous-dependencies +*/ + +import child_process from "node:child_process"; +import fs from "node:fs"; +import path from "node:path"; +import semver from "semver"; +import inquirer from "inquirer"; + +export const UNSTABLE_BRANCH = "unstable"; +export const STABLE_BRANCH = "stable"; +export const REPO_SLUG = "chainsafe/lodestar"; +export const GIT_REPO_URL = `git@github.com:${REPO_SLUG}.git`; +export const MAIN_PACKAGE_PATH = "packages/cli"; + +/** + * @param {string} cmd + * @returns {string} + */ +export function shell(cmd) { + return child_process.execSync(cmd, {encoding: "utf8", stdio: "pipe"}).trim(); +} + +/** + * ``` + * cmd [commit] + * ``` + * @typedef {Object} CliArgs + * @property {string} versionMMP - Major.Minor.Patch semver version to be released, eg: '1.1.0' + * @property {string} commit - Commit hash to be released (optional) + * @returns {CliArgs} + */ +export function parseCmdArgs() { + const versionArg = process.argv[2]; + const commitArg = process.argv[3]; + + if (versionArg === undefined) { + throw Error("argv[2] undefined, must provide version"); + } + + let commit; + // optional arg, defaults to HEAD + try { + commit = shell(`git log -n 1 --pretty='%h' ${commitArg ?? "HEAD"}`); + } catch (e) { + throw Error(`Invalid commit ${commitArg}`); + } + + const versionObj = semver.parse(versionArg); + + // Re-format version to drop any prefixes or suffixes + const versionMMP = [versionObj.major, versionObj.minor, versionObj.patch].join("."); + + try { + if (versionObj.includePrerelease) throw Error("Includes pre-release"); + if (semver.clean(versionArg) !== versionMMP) throw Error("No clean major.minor.path version"); + } catch (e) { + throw Error(`Bad argv[2] semver version '${versionArg}': ${e.message}`); + } + + return { + versionMMP, + commit, + }; +} + +/** + * @param {string} commit + * @param {string} branch + */ +export function assertCommitExistsInBranch(commit, branch) { + /** @type {string} */ + let headCommit; + try { + // Also, ensure the branch exists first + headCommit = shell(`git rev-parse refs/heads/${branch}`); + } catch (e) { + throw Error(`Branch ${branch} does not exist: ${e.message}`); + } + + // Best, safest strategy to assert ancestor-ship + // From https://stackoverflow.com/questions/43535132/given-a-commit-id-how-to-determine-if-current-branch-contains-the-commit + // + // git merge-base --is-ancestor parent child -> exit code 0 (YES) + // git merge-base --is-ancestor child parent -> exit code 1 (NO) + // git merge-base --is-ancestor child child -> exit code 0 (YES) + + try { + shell(`git merge-base --is-ancestor ${commit} ${headCommit}`); + } catch (e) { + throw Error(`Commit ${commit} does not belong to branch ${branch}`); + } +} + +/** + * Generic confirm prompt + * @param {string} message + */ +export async function confirm(message) { + // CI is never interactive, skip checks + if (process.env.CI) { + return true; + } + + const input = await inquirer.prompt([ + { + name: "yes", + type: "confirm", + message, + }, + ]); + + return Boolean(input.yes); +} + +/** + * Returns branch head commit if exists, null if doesn't exists + * @param {string} branch + * @returns {string|null} + */ +export function checkBranchExistsLocal(branch) { + try { + return shell(`git show-ref refs/heads/${branch}`); + } catch (e) { + return null; + } +} + +/** + * Returns branch head commit if exists, null if doesn't exists + * @param {string} branch + * @returns {string|null} + */ +export function checkBranchExistsRemote(branch) { + // From https://stackoverflow.com/questions/8223906/how-to-check-if-remote-branch-exists-on-a-given-remote-repository + + // If branch is found returns: + // ``` + // b523c9000c4df1afbd8371324083fef218669108 refs/heads/branch-name + // ``` + // If not found, returns empty + try { + console.log(`Checking if branch ${branch} exists in remote`); // Log as this action is slow + const out = shell(`git ls-remote --heads ${GIT_REPO_URL} refs/heads/${branch}`); + + // Empty means not found + if (!out) return null; + + // Return the first part of the first line + return out.split(/\s+/)[0]; + } catch (e) { + return null; + } +} + +/** + * Returns tag commit if exists, null if doesn't exists + * @param {string} tag + * @returns {string|null} + */ +export function checkTagExistsLocal(tag) { + try { + return shell(`git show-ref refs/tags/${tag}`); + } catch (e) { + return null; + } +} + +/** + * Returns tag commit if exists, null if doesn't exists + * @param {string} tag + * @returns {string|null} + */ +export function checkTagExistsRemote(tag) { + // Returns list of tags + // bb944682f7f65272137de74ed18605e49257356c refs/tags/v0.1.6 + // 771a930dc0ba86769d6862bc4dc100acc50170fa refs/tags/v0.1.6^{} + // + // What's the '^{}'? Explanation below: + // https://stackoverflow.com/questions/15472107/when-listing-git-ls-remote-why-theres-after-the-tag-name + try { + console.log(`Checking if tag ${tag} exists in remote`); // Log as this action is slow + const out = shell(`git ls-remote --tags ${GIT_REPO_URL} refs/tags/${tag}`); + + // Empty means not found + if (!out) return null; + + // Return the first part of the first line + return out.split(/\s+/)[0]; + } catch (e) { + return null; + } +} + +/** + * Throws if there are any tracked or untracked changes + */ +export function assertGitDirectoryIsClean() { + // From https://unix.stackexchange.com/questions/155046/determine-if-git-working-directory-is-clean-from-a-script + const changedFileList = shell("git status --porcelain"); + if (changedFileList) { + throw Error(`git directory must be clean, changed files:\n${changedFileList}`); + } +} + +/** + * Returns the package.json JSON of the main package (lodestar-cli) + * @typedef {Object} PackageJson + * @property {string} version - Clean semver version '1.1.0' + * @returns {PackageJson} + */ +export function readMainPackageJson() { + const packageJsonPath = path.join(MAIN_PACKAGE_PATH, "package.json"); + + /** @type {string} */ + let jsonStr; + try { + jsonStr = fs.readFileSync(packageJsonPath, "utf8"); + } catch (e) { + if (e.code === "ENOENT") { + throw Error(`Must run script from repo root dir, package.json not found at ${packageJsonPath}`); + } else { + throw e; + } + } + + /** @type {PackageJson} */ + const json = JSON.parse(jsonStr); + if (!json.version) throw Error(`Empty .version in ${packageJsonPath}`); + + return json; +} + +/** + * Returns formated details about the commit + * @param {string} commit + * @returns {string} + */ +export function getCommitDetails(commit) { + // commit + // Author: + // Date: + // + // + // + // + return shell(`git log -n 1 ${commit} --date=relative --pretty=medium`); +} + +/** + * Return the currently checked-out branch + * @returns {string} + */ +export function getCurrentBranch() { + return shell("git rev-parse --abbrev-ref HEAD"); +} + +/** + * Sync remote branches and tags + * @returns {void} + */ +export function syncGitRemote() { + shell("git fetch -pt"); +} + +/** + * Print usage and exit if no args or --help is provided + */ +export function usage(helpText) { + if (process.argv.includes("--help") || process.argv.includes("-h") || !process.argv[2]) { + console.log(helpText); + process.exit(1); + } +} + +/** + * Compares tags to find the next, yet unpublished, rc tag + * @param {string} version clean major.minor.patch version + * @returns {string} + */ +export function getNextRcTag(version) { + const latestRc = shell(`git tag -l v${version}-rc.*`).split("\n").sort(semver.rcompare)[0]; + if (latestRc) { + return `v${semver.inc(latestRc, "prerelease")}`; + } + return `v${version}-rc.0`; +} From d5d3d6b52772096f0940cd3a2780f4d44361ee82 Mon Sep 17 00:00:00 2001 From: Lion - dapplion <35266934+dapplion@users.noreply.github.com> Date: Tue, 31 May 2022 11:08:51 +0700 Subject: [PATCH 14/24] Fix TTD precision (#4090) * Fix precision in TERMINAL_TOTAL_DIFFICULTY config * Ignore TERMINAL_TOTAL_DIFFICULTY in config check --- .eslintrc.js | 24 +++++-------------- .../config/src/chainConfig/networks/kiln.ts | 2 +- .../src/chainConfig/networks/ropsten.ts | 2 +- packages/validator/src/util/params.ts | 8 ++++--- 4 files changed, 13 insertions(+), 23 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 00167c2d333a..9a8293a494a9 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -27,18 +27,11 @@ module.exports = { "prettier/prettier": "error", //doesnt work, it reports false errors "constructor-super": "off", - "import/order" : [ + "import/order": [ "error", - { "groups": - [ - "builtin", - "external", - "internal", - "parent", - "sibling", - "index", - ], - } + { + groups: ["builtin", "external", "internal", "parent", "sibling", "index"], + }, ], "@typescript-eslint/await-thenable": "error", "@typescript-eslint/naming-convention": [ @@ -127,6 +120,7 @@ module.exports = { "import/no-relative-packages": "error", "@chainsafe/node/no-deprecated-api": "error", "new-parens": "error", + "no-loss-of-precision": "error", "no-caller": "error", "no-bitwise": "off", "no-cond-assign": "error", @@ -166,13 +160,7 @@ module.exports = { // TEMP Disabled while eslint-plugin-import support ESM (Typescript does support it) https://github.com/import-js/eslint-plugin-import/issues/2170 "import/no-unresolved": "off", - "@chainsafe/node/file-extension-in-import": [ - "error", - "always", - { - "esm": true - } - ], + "@chainsafe/node/file-extension-in-import": ["error", "always", {esm: true}], }, settings: { "import/internal-regex": "^@chainsafe/", diff --git a/packages/config/src/chainConfig/networks/kiln.ts b/packages/config/src/chainConfig/networks/kiln.ts index 40cd78b851ae..6f79cd2e431c 100644 --- a/packages/config/src/chainConfig/networks/kiln.ts +++ b/packages/config/src/chainConfig/networks/kiln.ts @@ -22,7 +22,7 @@ export const kilnChainConfig: IChainConfig = { // Bellatrix BELLATRIX_FORK_VERSION: b("0x70000071"), BELLATRIX_FORK_EPOCH: 150, - TERMINAL_TOTAL_DIFFICULTY: BigInt(20000000000000), + TERMINAL_TOTAL_DIFFICULTY: BigInt("20000000000000"), // Sharding SHARDING_FORK_VERSION: b("0x03000000"), SHARDING_FORK_EPOCH: Infinity, diff --git a/packages/config/src/chainConfig/networks/ropsten.ts b/packages/config/src/chainConfig/networks/ropsten.ts index 141c446e5816..7dd2a8861c83 100644 --- a/packages/config/src/chainConfig/networks/ropsten.ts +++ b/packages/config/src/chainConfig/networks/ropsten.ts @@ -26,7 +26,7 @@ export const ropstenChainConfig: IChainConfig = { // # Merge BELLATRIX_FORK_VERSION: b("0x80000071"), BELLATRIX_FORK_EPOCH: 750, - TERMINAL_TOTAL_DIFFICULTY: BigInt(100000000000000000000000), + TERMINAL_TOTAL_DIFFICULTY: BigInt("100000000000000000000000"), // # Sharding SHARDING_FORK_VERSION: b("0x03001020"), SHARDING_FORK_EPOCH: Infinity, diff --git a/packages/validator/src/util/params.ts b/packages/validator/src/util/params.ts index d9d22e02d58a..e5ced9f21f65 100644 --- a/packages/validator/src/util/params.ts +++ b/packages/validator/src/util/params.ts @@ -78,9 +78,11 @@ function getSpecCriticalParams(localConfig: IChainConfig): Record Date: Tue, 31 May 2022 19:35:12 +0700 Subject: [PATCH 15/24] Bump ssz (#4093) * Bump ssz * Use persistent-merkle-tree 0.4.2 --- packages/api/package.json | 4 ++-- packages/beacon-state-transition/package.json | 4 ++-- packages/cli/package.json | 2 +- packages/config/package.json | 2 +- packages/db/package.json | 2 +- packages/fork-choice/package.json | 2 +- packages/keymanager-server/package.json | 2 +- packages/light-client/package.json | 4 ++-- packages/lodestar/package.json | 4 ++-- packages/types/package.json | 2 +- packages/validator/package.json | 2 +- yarn.lock | 18 +++++++++--------- 12 files changed, 24 insertions(+), 24 deletions(-) diff --git a/packages/api/package.json b/packages/api/package.json index 44ab0b1ebd5a..9e6acd661bde 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -64,8 +64,8 @@ "@chainsafe/lodestar-params": "^0.37.0", "@chainsafe/lodestar-types": "^0.37.0", "@chainsafe/lodestar-utils": "^0.37.0", - "@chainsafe/persistent-merkle-tree": "^0.4.1", - "@chainsafe/ssz": "^0.9.1", + "@chainsafe/persistent-merkle-tree": "^0.4.2", + "@chainsafe/ssz": "^0.9.2", "cross-fetch": "^3.1.4", "eventsource": "^2.0.2", "qs": "^6.10.1", diff --git a/packages/beacon-state-transition/package.json b/packages/beacon-state-transition/package.json index 7bcfadf50be7..a50b3d2ed544 100644 --- a/packages/beacon-state-transition/package.json +++ b/packages/beacon-state-transition/package.json @@ -68,9 +68,9 @@ "@chainsafe/lodestar-params": "^0.37.0", "@chainsafe/lodestar-types": "^0.37.0", "@chainsafe/lodestar-utils": "^0.37.0", - "@chainsafe/persistent-merkle-tree": "^0.4.1", + "@chainsafe/persistent-merkle-tree": "^0.4.2", "@chainsafe/persistent-ts": "^0.19.1", - "@chainsafe/ssz": "^0.9.1", + "@chainsafe/ssz": "^0.9.2", "bigint-buffer": "^1.1.5", "buffer-xor": "^2.0.2" }, diff --git a/packages/cli/package.json b/packages/cli/package.json index b17d1adecbc4..b986b83c49b7 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -67,7 +67,7 @@ "@chainsafe/lodestar-types": "^0.37.0", "@chainsafe/lodestar-utils": "^0.37.0", "@chainsafe/lodestar-validator": "^0.37.0", - "@chainsafe/ssz": "^0.9.1", + "@chainsafe/ssz": "^0.9.2", "@types/lockfile": "^1.0.1", "bip39": "^3.0.2", "deepmerge": "^4.2.2", diff --git a/packages/config/package.json b/packages/config/package.json index 82e308b0f035..afa9a9fdaffb 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -68,6 +68,6 @@ "dependencies": { "@chainsafe/lodestar-params": "^0.37.0", "@chainsafe/lodestar-types": "^0.37.0", - "@chainsafe/ssz": "^0.9.1" + "@chainsafe/ssz": "^0.9.2" } } diff --git a/packages/db/package.json b/packages/db/package.json index a5013f3def46..a96979c79210 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -41,7 +41,7 @@ "dependencies": { "@chainsafe/lodestar-config": "^0.37.0", "@chainsafe/lodestar-utils": "^0.37.0", - "@chainsafe/ssz": "^0.9.1", + "@chainsafe/ssz": "^0.9.2", "@types/levelup": "^4.3.3", "it-all": "^1.0.2", "level": "^7.0.0", diff --git a/packages/fork-choice/package.json b/packages/fork-choice/package.json index 274d89cd89d2..85181d28847e 100644 --- a/packages/fork-choice/package.json +++ b/packages/fork-choice/package.json @@ -45,7 +45,7 @@ "@chainsafe/lodestar-params": "^0.37.0", "@chainsafe/lodestar-types": "^0.37.0", "@chainsafe/lodestar-utils": "^0.37.0", - "@chainsafe/ssz": "^0.9.1" + "@chainsafe/ssz": "^0.9.2" }, "keywords": [ "ethereum", diff --git a/packages/keymanager-server/package.json b/packages/keymanager-server/package.json index 8e50b5e56843..7bf8033a50c1 100644 --- a/packages/keymanager-server/package.json +++ b/packages/keymanager-server/package.json @@ -54,7 +54,7 @@ "@chainsafe/lodestar-types": "^0.37.0", "@chainsafe/lodestar-utils": "^0.37.0", "@chainsafe/lodestar-validator": "^0.37.0", - "@chainsafe/ssz": "^0.9.1", + "@chainsafe/ssz": "^0.9.2", "fastify": "3.15.1", "fastify-bearer-auth": "6.1.0", "fastify-cors": "^6.0.1", diff --git a/packages/light-client/package.json b/packages/light-client/package.json index a7e9dfc5df18..f427f8a95170 100644 --- a/packages/light-client/package.json +++ b/packages/light-client/package.json @@ -44,8 +44,8 @@ "@chainsafe/lodestar-params": "^0.37.0", "@chainsafe/lodestar-types": "^0.37.0", "@chainsafe/lodestar-utils": "^0.37.0", - "@chainsafe/persistent-merkle-tree": "^0.4.1", - "@chainsafe/ssz": "^0.9.1", + "@chainsafe/persistent-merkle-tree": "^0.4.2", + "@chainsafe/ssz": "^0.9.2", "cross-fetch": "^3.1.4", "mitt": "^3.0.0" }, diff --git a/packages/lodestar/package.json b/packages/lodestar/package.json index 0308dc514a78..b65df73eb9f5 100644 --- a/packages/lodestar/package.json +++ b/packages/lodestar/package.json @@ -81,9 +81,9 @@ "@chainsafe/lodestar-types": "^0.37.0", "@chainsafe/lodestar-utils": "^0.37.0", "@chainsafe/lodestar-validator": "^0.37.0", - "@chainsafe/persistent-merkle-tree": "^0.4.1", + "@chainsafe/persistent-merkle-tree": "^0.4.2", "@chainsafe/snappy-stream": "5.1.1", - "@chainsafe/ssz": "^0.9.1", + "@chainsafe/ssz": "^0.9.2", "@chainsafe/threads": "^1.10.0", "@ethersproject/abi": "^5.0.0", "@types/datastore-level": "^3.0.0", diff --git a/packages/types/package.json b/packages/types/package.json index b6cf0843f9ac..4f063ccb54b9 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -63,7 +63,7 @@ "types": "lib/index.d.ts", "dependencies": { "@chainsafe/lodestar-params": "^0.37.0", - "@chainsafe/ssz": "^0.9.1" + "@chainsafe/ssz": "^0.9.2" }, "keywords": [ "ethereum", diff --git a/packages/validator/package.json b/packages/validator/package.json index dd559d30003c..ca43df4250e4 100644 --- a/packages/validator/package.json +++ b/packages/validator/package.json @@ -56,7 +56,7 @@ "@chainsafe/lodestar-params": "^0.37.0", "@chainsafe/lodestar-types": "^0.37.0", "@chainsafe/lodestar-utils": "^0.37.0", - "@chainsafe/ssz": "^0.9.1", + "@chainsafe/ssz": "^0.9.2", "bigint-buffer": "^1.1.5", "cross-fetch": "^3.1.4", "strict-event-emitter-types": "^2.0.0" diff --git a/yarn.lock b/yarn.lock index eb9d381df4b2..a13422c3a921 100644 --- a/yarn.lock +++ b/yarn.lock @@ -512,10 +512,10 @@ protobufjs "^6.11.2" uint8arrays "^3.0.0" -"@chainsafe/persistent-merkle-tree@^0.4.1": - version "0.4.1" - resolved "https://registry.npmjs.org/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.4.1.tgz" - integrity sha512-/eDoJoj8Od4Wp7OSvwRRhl01mm4U0EGjh314/oV3JYS5pU92qPDvO4YRO68IEDvMzp0ewGSoC8muDQ5iArcwlw== +"@chainsafe/persistent-merkle-tree@^0.4.2": + version "0.4.2" + resolved "https://registry.yarnpkg.com/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.4.2.tgz#4c9ee80cc57cd3be7208d98c40014ad38f36f7ff" + integrity sha512-lLO3ihKPngXLTus/L7WHKaw9PnNJWizlOF1H9NNzHP6Xvh82vzg9F2bzkXhYIFshMZ2gTCEz8tq6STe7r5NDfQ== dependencies: "@chainsafe/as-sha256" "^0.3.1" @@ -536,13 +536,13 @@ buffer-from "^1.1.1" snappy "^6.3.5" -"@chainsafe/ssz@^0.9.1": - version "0.9.1" - resolved "https://registry.npmjs.org/@chainsafe/ssz/-/ssz-0.9.1.tgz" - integrity sha512-TstYq9W0Rh76sh8Ajj9nT54qGEikBN3vrHj/L607paf4dly+iNS1mn80W50z+LEKFK3/w3QnsZiL3bAnoXv0lA== +"@chainsafe/ssz@^0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@chainsafe/ssz/-/ssz-0.9.2.tgz#6f2552db312217b911e34bcdef9057f8a3a108f2" + integrity sha512-r3bKiGMF7EZlsgXTyyzQbS+GJTj6MvTlY3Ms1byFZLL1H9Maht8muE2LkF3pS1zU9KY4tiJeQd+KABdhyfB9Ag== dependencies: "@chainsafe/as-sha256" "^0.3.1" - "@chainsafe/persistent-merkle-tree" "^0.4.1" + "@chainsafe/persistent-merkle-tree" "^0.4.2" case "^1.6.3" "@chainsafe/threads@^1.10.0": From 63ce21d339ccebcc0e837bbccdff00797d0e8a90 Mon Sep 17 00:00:00 2001 From: tuyennhv Date: Tue, 31 May 2022 19:41:24 +0700 Subject: [PATCH 16/24] Do not check for know attesters when publishing AggregateAndProof (#4092) * Do not check for know attesters when publishing AggregateAndProof * Refactor to skipValidationKnownAttesters --- .../lodestar/src/api/impl/validator/index.ts | 3 ++- .../src/chain/validation/aggregateAndProof.ts | 17 ++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/lodestar/src/api/impl/validator/index.ts b/packages/lodestar/src/api/impl/validator/index.ts index d5ab378e9b90..b733f292a795 100644 --- a/packages/lodestar/src/api/impl/validator/index.ts +++ b/packages/lodestar/src/api/impl/validator/index.ts @@ -440,7 +440,8 @@ export function getValidatorApi({chain, config, logger, metrics, network, sync}: // TODO: Validate in batch const {indexedAttestation, committeeIndices} = await validateGossipAggregateAndProof( chain, - signedAggregateAndProof + signedAggregateAndProof, + true // skip known attesters check ); chain.aggregatedAttestationPool.add( diff --git a/packages/lodestar/src/chain/validation/aggregateAndProof.ts b/packages/lodestar/src/chain/validation/aggregateAndProof.ts index e50377cab1ab..99d32949f64f 100644 --- a/packages/lodestar/src/chain/validation/aggregateAndProof.ts +++ b/packages/lodestar/src/chain/validation/aggregateAndProof.ts @@ -14,7 +14,8 @@ import {getCommitteeIndices, verifyHeadBlockAndTargetRoot, verifyPropagationSlot export async function validateGossipAggregateAndProof( chain: IBeaconChain, - signedAggregateAndProof: phase0.SignedAggregateAndProof + signedAggregateAndProof: phase0.SignedAggregateAndProof, + skipValidationKnownAttesters = false ): Promise<{indexedAttestation: phase0.IndexedAttestation; committeeIndices: ValidatorIndex[]}> { // Do checks in this order: // - do early checks (w/o indexed attestation) @@ -46,12 +47,14 @@ export async function validateGossipAggregateAndProof( // [IGNORE] The aggregate is the first valid aggregate received for the aggregator with // index aggregate_and_proof.aggregator_index for the epoch aggregate.data.target.epoch. const aggregatorIndex = aggregateAndProof.aggregatorIndex; - if (chain.seenAggregators.isKnown(targetEpoch, aggregatorIndex)) { - throw new AttestationError(GossipAction.IGNORE, { - code: AttestationErrorCode.AGGREGATOR_ALREADY_KNOWN, - targetEpoch, - aggregatorIndex, - }); + if (!skipValidationKnownAttesters) { + if (chain.seenAggregators.isKnown(targetEpoch, aggregatorIndex)) { + throw new AttestationError(GossipAction.IGNORE, { + code: AttestationErrorCode.AGGREGATOR_ALREADY_KNOWN, + targetEpoch, + aggregatorIndex, + }); + } } // _[IGNORE]_ A valid aggregate attestation defined by `hash_tree_root(aggregate.data)` whose `aggregation_bits` From 34fdbde539ef1ab7ab38999a3e37e128fa5f2f56 Mon Sep 17 00:00:00 2001 From: g11tech Date: Tue, 31 May 2022 21:28:26 +0530 Subject: [PATCH 17/24] fix typo in publish rc workflow (#4095) fix workflow --- .github/workflows/publish-rc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-rc.yml b/.github/workflows/publish-rc.yml index fd2e3d7b9976..5c81626ff734 100644 --- a/.github/workflows/publish-rc.yml +++ b/.github/workflows/publish-rc.yml @@ -38,7 +38,7 @@ jobs: outputs: is_rc: ${{ steps.is_rc.outputs.is_rc }} - version: ${{ staps.is_rc.outputs.version }} + version: ${{ steps.is_rc.outputs.version }} tag: ${{ steps.get_tag.outputs.tag }} prev_tag: ${{ steps.get_prev_tag.outputs.prev_tag }} From 06c852e89c18ef3cc1422a464ba423280a759658 Mon Sep 17 00:00:00 2001 From: Cayman Date: Wed, 1 Jun 2022 04:22:19 -0400 Subject: [PATCH 18/24] Add bash assert_valid_rc script (#4096) --- .github/workflows/publish-rc.yml | 2 +- scripts/release/assert_valid_rc.sh | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100755 scripts/release/assert_valid_rc.sh diff --git a/.github/workflows/publish-rc.yml b/.github/workflows/publish-rc.yml index 5c81626ff734..06cd3e4ea02d 100644 --- a/.github/workflows/publish-rc.yml +++ b/.github/workflows/publish-rc.yml @@ -32,7 +32,7 @@ jobs: - name: Determine release type id: is_rc - run: node scripts/release/assert_valid_rc.mjs + run: scripts/release/assert_valid_rc.sh env: TAG: ${{ steps.get_tag.outputs.tag }} diff --git a/scripts/release/assert_valid_rc.sh b/scripts/release/assert_valid_rc.sh new file mode 100755 index 000000000000..917a1c9184a0 --- /dev/null +++ b/scripts/release/assert_valid_rc.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# Asserts whether a tag is a valid release candidate or not +# This script is meant to be run by a github workflow +# The output of this script is to either set github variables or not + +set -e + +COMMIT=$TAG +echo "Tag: $TAG" + +# assert it matches proper format vX.X.X-rc.X +RC_REGEX="^v(([0-9]+\.[0-9]+\.[0-9]+)-rc\.[0-9])+$" + +if [[ $TAG =~ $RC_REGEX ]]; then + VERSION=${BASH_REMATCH[1]} + RC_BRANCH="rc/v${BASH_REMATCH[2]}" +else + exit +fi + +# assert it exists in branch +HEAD_COMMIT=$(git rev-parse refs/heads/$RC_BRANCH) +git merge-base --is-ancestor $COMMIT $HEAD_COMMIT + +# success +echo "::set-output name=is_rc::true" +echo "::set-output name=version::$VERSION" From ebd668d4743d6a9d61b793776b6146da1ab108d9 Mon Sep 17 00:00:00 2001 From: Cayman Date: Wed, 1 Jun 2022 12:08:01 -0400 Subject: [PATCH 19/24] Another fix for publish rc (#4099) --- .github/workflows/publish-rc.yml | 2 +- scripts/release/assert_valid_rc.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-rc.yml b/.github/workflows/publish-rc.yml index 06cd3e4ea02d..c18d1f13b73b 100644 --- a/.github/workflows/publish-rc.yml +++ b/.github/workflows/publish-rc.yml @@ -1,4 +1,4 @@ -name: Publish release +name: Publish release candidate # only one can tun at a time concurrency: cd-publish-rc diff --git a/scripts/release/assert_valid_rc.sh b/scripts/release/assert_valid_rc.sh index 917a1c9184a0..f1e435f1d9e1 100755 --- a/scripts/release/assert_valid_rc.sh +++ b/scripts/release/assert_valid_rc.sh @@ -20,7 +20,7 @@ else fi # assert it exists in branch -HEAD_COMMIT=$(git rev-parse refs/heads/$RC_BRANCH) +HEAD_COMMIT=$(git rev-parse refs/remotes/origin/$RC_BRANCH) git merge-base --is-ancestor $COMMIT $HEAD_COMMIT # success From 86b95a731d8d9443580a66707bc30a722f387941 Mon Sep 17 00:00:00 2001 From: Cayman Date: Wed, 1 Jun 2022 12:54:07 -0400 Subject: [PATCH 20/24] Enable rc dockerhub publish in await-release script (#4100) Update await-release script to enable rc publish --- .github/workflows/publish-rc.yml | 2 +- .github/workflows/publish-stable.yml | 2 +- scripts/await-release.sh | 11 ++++++----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/publish-rc.yml b/.github/workflows/publish-rc.yml index c18d1f13b73b..f7cc619ad594 100644 --- a/.github/workflows/publish-rc.yml +++ b/.github/workflows/publish-rc.yml @@ -132,7 +132,7 @@ jobs: if: needs.tag.outputs.is_rc == 'true' steps: - uses: actions/checkout@v2 - - run: scripts/await-release.sh ${{ needs.tag.outputs.tag }} 900 + - run: scripts/await-release.sh ${{ needs.tag.outputs.tag }} rc 900 # https://github.com/docker/setup-qemu-action - name: Set up QEMU uses: docker/setup-qemu-action@v1 diff --git a/.github/workflows/publish-stable.yml b/.github/workflows/publish-stable.yml index 04905f4701d9..82fdef3ed35a 100644 --- a/.github/workflows/publish-stable.yml +++ b/.github/workflows/publish-stable.yml @@ -122,7 +122,7 @@ jobs: if: needs.tag.outputs.is_stable == 'true' steps: - uses: actions/checkout@v2 - - run: scripts/await-release.sh ${{ needs.tag.outputs.tag }} 900 + - run: scripts/await-release.sh ${{ needs.tag.outputs.tag }} latest 900 # https://github.com/docker/setup-qemu-action - name: Set up QEMU uses: docker/setup-qemu-action@v1 diff --git a/scripts/await-release.sh b/scripts/await-release.sh index dd296e271ba0..42a260822fd5 100755 --- a/scripts/await-release.sh +++ b/scripts/await-release.sh @@ -9,12 +9,13 @@ declare PACKAGE="@chainsafe/lodestar-cli" # Using `npm view -j` to get all available versions as JSON declare CMD_NPM="npm view -j $PACKAGE" -# Using `jq` to get the latest version -declare VERSION_LATEST=$($CMD_NPM | jq -r '."dist-tags".latest') +# Using `jq` to get the dist-tag version +declare VERSION_LATEST=$($CMD_NPM | jq -r ".\"dist-tags\".$DIST_TAG") # Usage: scripts/await-release.sh $VERSION $TIMEOUT declare VERSION_EXPECTED=$(echo $1 | tr -d 'v') -declare TIMEOUT=$2 +declare DIST_TAG=$2 +declare TIMEOUT=$3 declare TIME=0 declare SLEEP=5 @@ -23,7 +24,7 @@ declare SLEEP=5 ### Note: that this script will already exit here in case everything is fine ### and only delay in case there is a discrepancy between the versions while [[ "$VERSION_EXPECTED" != "$VERSION_LATEST" ]]; do - echo "Expected version $VERSION_EXPECTED does not match latest version $VERSION_LATEST in NPM registry. Trying again in $SLEEP..." + echo "Expected version $VERSION_EXPECTED does not match $DIST_TAG version $VERSION_LATEST in NPM registry. Trying again in $SLEEP..." TIME=$(($TIME+$SLEEP)) # Allow the CI to timeout @@ -35,5 +36,5 @@ while [[ "$VERSION_EXPECTED" != "$VERSION_LATEST" ]]; do # Force clean cache before retrying npm cache clean --force - VERSION_LATEST=$($CMD_NPM | jq -r '."dist-tags".latest') + VERSION_LATEST=$($CMD_NPM | jq -r ".\"dist-tags\".$DIST_TAG") done From 3823edf332b358c3cecad8c0e9f2661bbba67c12 Mon Sep 17 00:00:00 2001 From: harkamal Date: Tue, 31 May 2022 19:52:00 +0530 Subject: [PATCH 21/24] v0.38.0 --- lerna.json | 2 +- packages/api/package.json | 14 +++++------ packages/beacon-state-transition/package.json | 10 ++++---- packages/cli/package.json | 24 +++++++++---------- packages/config/package.json | 6 ++--- packages/db/package.json | 6 ++--- packages/fork-choice/package.json | 12 +++++----- packages/keymanager-server/package.json | 16 ++++++------- packages/light-client/package.json | 12 +++++----- packages/lodestar/package.json | 22 ++++++++--------- packages/params/package.json | 2 +- packages/spec-test-util/package.json | 4 ++-- packages/types/package.json | 4 ++-- packages/utils/package.json | 2 +- packages/validator/package.json | 16 ++++++------- 15 files changed, 76 insertions(+), 76 deletions(-) diff --git a/lerna.json b/lerna.json index 0f001b0eef3f..cbd37beafb61 100644 --- a/lerna.json +++ b/lerna.json @@ -4,7 +4,7 @@ ], "npmClient": "yarn", "useWorkspaces": true, - "version": "0.37.0", + "version": "0.38.0", "stream": "true", "command": { "version": { diff --git a/packages/api/package.json b/packages/api/package.json index 9e6acd661bde..db3da7b385e9 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -11,7 +11,7 @@ "bugs": { "url": "https://github.com/ChainSafe/lodestar/issues" }, - "version": "0.37.0", + "version": "0.38.0", "type": "module", "exports": { ".": { @@ -60,16 +60,16 @@ "check-readme": "typescript-docs-verifier" }, "dependencies": { - "@chainsafe/lodestar-config": "^0.37.0", - "@chainsafe/lodestar-params": "^0.37.0", - "@chainsafe/lodestar-types": "^0.37.0", - "@chainsafe/lodestar-utils": "^0.37.0", + "@chainsafe/lodestar-config": "^0.38.0", + "@chainsafe/lodestar-params": "^0.38.0", + "@chainsafe/lodestar-types": "^0.38.0", + "@chainsafe/lodestar-utils": "^0.38.0", "@chainsafe/persistent-merkle-tree": "^0.4.2", "@chainsafe/ssz": "^0.9.2", "cross-fetch": "^3.1.4", "eventsource": "^2.0.2", - "qs": "^6.10.1", - "fastify": "3.15.1" + "fastify": "3.15.1", + "qs": "^6.10.1" }, "devDependencies": { "@types/eventsource": "^1.1.5", diff --git a/packages/beacon-state-transition/package.json b/packages/beacon-state-transition/package.json index a50b3d2ed544..a9414c5ec781 100644 --- a/packages/beacon-state-transition/package.json +++ b/packages/beacon-state-transition/package.json @@ -11,7 +11,7 @@ "bugs": { "url": "https://github.com/ChainSafe/lodestar/issues" }, - "version": "0.37.0", + "version": "0.38.0", "type": "module", "exports": { ".": { @@ -64,10 +64,10 @@ "dependencies": { "@chainsafe/as-sha256": "^0.3.1", "@chainsafe/bls": "7.1.0", - "@chainsafe/lodestar-config": "^0.37.0", - "@chainsafe/lodestar-params": "^0.37.0", - "@chainsafe/lodestar-types": "^0.37.0", - "@chainsafe/lodestar-utils": "^0.37.0", + "@chainsafe/lodestar-config": "^0.38.0", + "@chainsafe/lodestar-params": "^0.38.0", + "@chainsafe/lodestar-types": "^0.38.0", + "@chainsafe/lodestar-utils": "^0.38.0", "@chainsafe/persistent-merkle-tree": "^0.4.2", "@chainsafe/persistent-ts": "^0.19.1", "@chainsafe/ssz": "^0.9.2", diff --git a/packages/cli/package.json b/packages/cli/package.json index b986b83c49b7..0265f1507010 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@chainsafe/lodestar-cli", - "version": "0.37.0", + "version": "0.38.0", "description": "Command line interface for other packages", "author": "ChainSafe Systems", "license": "LGPL-3.0", @@ -56,17 +56,17 @@ "@chainsafe/bls-keystore": "^2.0.0", "@chainsafe/blst": "^0.2.4", "@chainsafe/discv5": "^0.7.1", - "@chainsafe/lodestar": "^0.37.0", - "@chainsafe/lodestar-api": "^0.37.0", - "@chainsafe/lodestar-beacon-state-transition": "^0.37.0", - "@chainsafe/lodestar-config": "^0.37.0", - "@chainsafe/lodestar-db": "^0.37.0", - "@chainsafe/lodestar-keymanager-server": "^0.37.0", - "@chainsafe/lodestar-light-client": "^0.37.0", - "@chainsafe/lodestar-params": "^0.37.0", - "@chainsafe/lodestar-types": "^0.37.0", - "@chainsafe/lodestar-utils": "^0.37.0", - "@chainsafe/lodestar-validator": "^0.37.0", + "@chainsafe/lodestar": "^0.38.0", + "@chainsafe/lodestar-api": "^0.38.0", + "@chainsafe/lodestar-beacon-state-transition": "^0.38.0", + "@chainsafe/lodestar-config": "^0.38.0", + "@chainsafe/lodestar-db": "^0.38.0", + "@chainsafe/lodestar-keymanager-server": "^0.38.0", + "@chainsafe/lodestar-light-client": "^0.38.0", + "@chainsafe/lodestar-params": "^0.38.0", + "@chainsafe/lodestar-types": "^0.38.0", + "@chainsafe/lodestar-utils": "^0.38.0", + "@chainsafe/lodestar-validator": "^0.38.0", "@chainsafe/ssz": "^0.9.2", "@types/lockfile": "^1.0.1", "bip39": "^3.0.2", diff --git a/packages/config/package.json b/packages/config/package.json index afa9a9fdaffb..1c0439bfe37a 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@chainsafe/lodestar-config", - "version": "0.37.0", + "version": "0.38.0", "description": "Chain configuration required for lodestar", "author": "ChainSafe Systems", "license": "Apache-2.0", @@ -66,8 +66,8 @@ "blockchain" ], "dependencies": { - "@chainsafe/lodestar-params": "^0.37.0", - "@chainsafe/lodestar-types": "^0.37.0", + "@chainsafe/lodestar-params": "^0.38.0", + "@chainsafe/lodestar-types": "^0.38.0", "@chainsafe/ssz": "^0.9.2" } } diff --git a/packages/db/package.json b/packages/db/package.json index a96979c79210..fc3d83697d56 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -1,6 +1,6 @@ { "name": "@chainsafe/lodestar-db", - "version": "0.37.0", + "version": "0.38.0", "description": "DB modules of Lodestar", "author": "ChainSafe Systems", "homepage": "https://github.com/ChainSafe/lodestar#readme", @@ -39,8 +39,8 @@ "check-readme": "typescript-docs-verifier" }, "dependencies": { - "@chainsafe/lodestar-config": "^0.37.0", - "@chainsafe/lodestar-utils": "^0.37.0", + "@chainsafe/lodestar-config": "^0.38.0", + "@chainsafe/lodestar-utils": "^0.38.0", "@chainsafe/ssz": "^0.9.2", "@types/levelup": "^4.3.3", "it-all": "^1.0.2", diff --git a/packages/fork-choice/package.json b/packages/fork-choice/package.json index 85181d28847e..49a5dabcf7d9 100644 --- a/packages/fork-choice/package.json +++ b/packages/fork-choice/package.json @@ -11,7 +11,7 @@ "bugs": { "url": "https://github.com/ChainSafe/lodestar/issues" }, - "version": "0.37.0", + "version": "0.38.0", "type": "module", "exports": "./lib/index.js", "types": "./lib/index.d.ts", @@ -40,11 +40,11 @@ "check-readme": "typescript-docs-verifier" }, "dependencies": { - "@chainsafe/lodestar-beacon-state-transition": "^0.37.0", - "@chainsafe/lodestar-config": "^0.37.0", - "@chainsafe/lodestar-params": "^0.37.0", - "@chainsafe/lodestar-types": "^0.37.0", - "@chainsafe/lodestar-utils": "^0.37.0", + "@chainsafe/lodestar-beacon-state-transition": "^0.38.0", + "@chainsafe/lodestar-config": "^0.38.0", + "@chainsafe/lodestar-params": "^0.38.0", + "@chainsafe/lodestar-types": "^0.38.0", + "@chainsafe/lodestar-utils": "^0.38.0", "@chainsafe/ssz": "^0.9.2" }, "keywords": [ diff --git a/packages/keymanager-server/package.json b/packages/keymanager-server/package.json index 7bf8033a50c1..336995b5269b 100644 --- a/packages/keymanager-server/package.json +++ b/packages/keymanager-server/package.json @@ -1,6 +1,6 @@ { "name": "@chainsafe/lodestar-keymanager-server", - "version": "0.37.0", + "version": "0.38.0", "description": "A Typescript implementation of the keymanager server", "author": "ChainSafe Systems", "license": "Apache-2.0", @@ -47,13 +47,13 @@ "dependencies": { "@chainsafe/bls": "7.1.0", "@chainsafe/bls-keystore": "^2.0.0", - "@chainsafe/lodestar-api": "^0.37.0", - "@chainsafe/lodestar-config": "^0.37.0", - "@chainsafe/lodestar-db": "^0.37.0", - "@chainsafe/lodestar-params": "^0.37.0", - "@chainsafe/lodestar-types": "^0.37.0", - "@chainsafe/lodestar-utils": "^0.37.0", - "@chainsafe/lodestar-validator": "^0.37.0", + "@chainsafe/lodestar-api": "^0.38.0", + "@chainsafe/lodestar-config": "^0.38.0", + "@chainsafe/lodestar-db": "^0.38.0", + "@chainsafe/lodestar-params": "^0.38.0", + "@chainsafe/lodestar-types": "^0.38.0", + "@chainsafe/lodestar-utils": "^0.38.0", + "@chainsafe/lodestar-validator": "^0.38.0", "@chainsafe/ssz": "^0.9.2", "fastify": "3.15.1", "fastify-bearer-auth": "6.1.0", diff --git a/packages/light-client/package.json b/packages/light-client/package.json index f427f8a95170..5f599959e61a 100644 --- a/packages/light-client/package.json +++ b/packages/light-client/package.json @@ -11,7 +11,7 @@ "bugs": { "url": "https://github.com/ChainSafe/lodestar/issues" }, - "version": "0.37.0", + "version": "0.38.0", "type": "module", "exports": "./lib/index.js", "types": "./lib/index.d.ts", @@ -39,11 +39,11 @@ }, "dependencies": { "@chainsafe/bls": "7.1.1", - "@chainsafe/lodestar-api": "^0.37.0", - "@chainsafe/lodestar-config": "^0.37.0", - "@chainsafe/lodestar-params": "^0.37.0", - "@chainsafe/lodestar-types": "^0.37.0", - "@chainsafe/lodestar-utils": "^0.37.0", + "@chainsafe/lodestar-api": "^0.38.0", + "@chainsafe/lodestar-config": "^0.38.0", + "@chainsafe/lodestar-params": "^0.38.0", + "@chainsafe/lodestar-types": "^0.38.0", + "@chainsafe/lodestar-utils": "^0.38.0", "@chainsafe/persistent-merkle-tree": "^0.4.2", "@chainsafe/ssz": "^0.9.2", "cross-fetch": "^3.1.4", diff --git a/packages/lodestar/package.json b/packages/lodestar/package.json index b65df73eb9f5..5fc77ae02c1d 100644 --- a/packages/lodestar/package.json +++ b/packages/lodestar/package.json @@ -11,7 +11,7 @@ "bugs": { "url": "https://github.com/ChainSafe/lodestar/issues" }, - "version": "0.37.0", + "version": "0.38.0", "type": "module", "exports": { ".": { @@ -71,16 +71,16 @@ "@chainsafe/bls": "7.1.1", "@chainsafe/discv5": "^0.7.1", "@chainsafe/libp2p-noise": "5.0.3", - "@chainsafe/lodestar-api": "^0.37.0", - "@chainsafe/lodestar-beacon-state-transition": "^0.37.0", - "@chainsafe/lodestar-config": "^0.37.0", - "@chainsafe/lodestar-db": "^0.37.0", - "@chainsafe/lodestar-fork-choice": "^0.37.0", - "@chainsafe/lodestar-light-client": "^0.37.0", - "@chainsafe/lodestar-params": "^0.37.0", - "@chainsafe/lodestar-types": "^0.37.0", - "@chainsafe/lodestar-utils": "^0.37.0", - "@chainsafe/lodestar-validator": "^0.37.0", + "@chainsafe/lodestar-api": "^0.38.0", + "@chainsafe/lodestar-beacon-state-transition": "^0.38.0", + "@chainsafe/lodestar-config": "^0.38.0", + "@chainsafe/lodestar-db": "^0.38.0", + "@chainsafe/lodestar-fork-choice": "^0.38.0", + "@chainsafe/lodestar-light-client": "^0.38.0", + "@chainsafe/lodestar-params": "^0.38.0", + "@chainsafe/lodestar-types": "^0.38.0", + "@chainsafe/lodestar-utils": "^0.38.0", + "@chainsafe/lodestar-validator": "^0.38.0", "@chainsafe/persistent-merkle-tree": "^0.4.2", "@chainsafe/snappy-stream": "5.1.1", "@chainsafe/ssz": "^0.9.2", diff --git a/packages/params/package.json b/packages/params/package.json index 7906926daa88..e77e9013308c 100644 --- a/packages/params/package.json +++ b/packages/params/package.json @@ -1,6 +1,6 @@ { "name": "@chainsafe/lodestar-params", - "version": "0.37.0", + "version": "0.38.0", "description": "Chain parameters required for lodestar", "author": "ChainSafe Systems", "license": "Apache-2.0", diff --git a/packages/spec-test-util/package.json b/packages/spec-test-util/package.json index 9e09aedc370d..2b33f97576d9 100644 --- a/packages/spec-test-util/package.json +++ b/packages/spec-test-util/package.json @@ -1,6 +1,6 @@ { "name": "@chainsafe/lodestar-spec-test-util", - "version": "0.37.0", + "version": "0.38.0", "description": "Spec test suite generator from yaml test files", "author": "ChainSafe Systems", "license": "Apache-2.0", @@ -47,7 +47,7 @@ "blockchain" ], "dependencies": { - "@chainsafe/lodestar-utils": "^0.37.0", + "@chainsafe/lodestar-utils": "^0.38.0", "async-retry": "^1.3.3", "axios": "^0.21.0", "chai": "^4.2.0", diff --git a/packages/types/package.json b/packages/types/package.json index 4f063ccb54b9..7682d7b159bd 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -11,7 +11,7 @@ "bugs": { "url": "https://github.com/ChainSafe/lodestar/issues" }, - "version": "0.37.0", + "version": "0.38.0", "type": "module", "exports": { ".": { @@ -62,7 +62,7 @@ }, "types": "lib/index.d.ts", "dependencies": { - "@chainsafe/lodestar-params": "^0.37.0", + "@chainsafe/lodestar-params": "^0.38.0", "@chainsafe/ssz": "^0.9.2" }, "keywords": [ diff --git a/packages/utils/package.json b/packages/utils/package.json index 9ee05b05a352..08ddb23fbec0 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -11,7 +11,7 @@ "bugs": { "url": "https://github.com/ChainSafe/lodestar/issues" }, - "version": "0.37.0", + "version": "0.38.0", "type": "module", "exports": "./lib/index.js", "files": [ diff --git a/packages/validator/package.json b/packages/validator/package.json index ca43df4250e4..0a4405af3f77 100644 --- a/packages/validator/package.json +++ b/packages/validator/package.json @@ -1,6 +1,6 @@ { "name": "@chainsafe/lodestar-validator", - "version": "0.37.0", + "version": "0.38.0", "description": "A Typescript implementation of the validator client", "author": "ChainSafe Systems", "license": "LGPL-3.0", @@ -49,13 +49,13 @@ ], "dependencies": { "@chainsafe/bls": "7.1.1", - "@chainsafe/lodestar-api": "^0.37.0", - "@chainsafe/lodestar-beacon-state-transition": "^0.37.0", - "@chainsafe/lodestar-config": "^0.37.0", - "@chainsafe/lodestar-db": "^0.37.0", - "@chainsafe/lodestar-params": "^0.37.0", - "@chainsafe/lodestar-types": "^0.37.0", - "@chainsafe/lodestar-utils": "^0.37.0", + "@chainsafe/lodestar-api": "^0.38.0", + "@chainsafe/lodestar-beacon-state-transition": "^0.38.0", + "@chainsafe/lodestar-config": "^0.38.0", + "@chainsafe/lodestar-db": "^0.38.0", + "@chainsafe/lodestar-params": "^0.38.0", + "@chainsafe/lodestar-types": "^0.38.0", + "@chainsafe/lodestar-utils": "^0.38.0", "@chainsafe/ssz": "^0.9.2", "bigint-buffer": "^1.1.5", "cross-fetch": "^3.1.4", From 82d23e056b4c88b3b31c22d44cba7d9aad111d8b Mon Sep 17 00:00:00 2001 From: Lion - dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri, 3 Jun 2022 20:18:37 +0700 Subject: [PATCH 22/24] Populate eth1 deposit cache with remote follow distance timed based (#4111) --- .../src/eth1/eth1DepositDataTracker.ts | 62 +++++++++++++++++-- 1 file changed, 57 insertions(+), 5 deletions(-) diff --git a/packages/lodestar/src/eth1/eth1DepositDataTracker.ts b/packages/lodestar/src/eth1/eth1DepositDataTracker.ts index 042176f3c56c..b6c2dabdd201 100644 --- a/packages/lodestar/src/eth1/eth1DepositDataTracker.ts +++ b/packages/lodestar/src/eth1/eth1DepositDataTracker.ts @@ -23,6 +23,13 @@ const RATE_LIMITED_WAIT_MS = 30 * 1000; /** Min time to wait on auto update loop on unknown error */ const MIN_WAIT_ON_ERORR_MS = 1 * 1000; +/** Number of blocks to download if the node detects it is lagging behind due to an inaccurate + relationship between block-number-based follow distance and time-based follow distance. */ +const ETH1_FOLLOW_DISTANCE_DELTA_IF_SLOW = 32; + +/** The absolute minimum follow distance to enforce when downloading catchup batches, from LH */ +const ETH_MIN_FOLLOW_DISTANCE = 64; + export type Eth1DepositDataTrackerModules = { config: IChainForkConfig; db: IBeaconDb; @@ -42,7 +49,8 @@ export class Eth1DepositDataTracker { // Internal modules, state private depositsCache: Eth1DepositsCache; private eth1DataCache: Eth1DataCache; - private lastProcessedDepositBlockNumber: number | null; + private lastProcessedDepositBlockNumber: number | null = null; + private eth1FollowDistance: number; constructor( opts: Eth1Options, @@ -55,7 +63,7 @@ export class Eth1DepositDataTracker { this.eth1Provider = eth1Provider; this.depositsCache = new Eth1DepositsCache(opts, config, db); this.eth1DataCache = new Eth1DataCache(config, db); - this.lastProcessedDepositBlockNumber = null; + this.eth1FollowDistance = config.ETH1_FOLLOW_DISTANCE; if (opts.depositContractDeployBlock === undefined) { this.logger.warn("No depositContractDeployBlock provided"); @@ -151,7 +159,7 @@ export class Eth1DepositDataTracker { */ private async update(): Promise { const remoteHighestBlock = await this.eth1Provider.getBlockNumber(); - const remoteFollowBlock = remoteHighestBlock - this.config.ETH1_FOLLOW_DISTANCE; + const remoteFollowBlock = remoteHighestBlock - this.eth1FollowDistance; // If remoteFollowBlock is not at or beyond deployBlock, there is no need to // fetch and track any deposit data yet @@ -189,7 +197,7 @@ export class Eth1DepositDataTracker { * depositRoot and depositCount are inferred from already fetched deposits. * Calling get_deposit_root() and the smart contract for a non-latest block requires an * archive node, something most users don't have access too. - * @returns true if it has catched up to the remote follow block + * @returns true if it has catched up to the remote follow timestamp */ private async updateBlockCache(remoteFollowBlock: number): Promise { const lastCachedBlock = await this.eth1DataCache.getHighestCachedBlockNumber(); @@ -231,7 +239,51 @@ export class Eth1DepositDataTracker { const eth1Datas = await this.depositsCache.getEth1DataForBlocks(blocks, lastProcessedDepositBlockNumber); await this.eth1DataCache.add(eth1Datas); - return toBlock >= remoteFollowBlock; + // Note: ETH1_FOLLOW_DISTANCE_SECONDS = ETH1_FOLLOW_DISTANCE * SECONDS_PER_ETH1_BLOCK + // Deposit tracker must fetch blocks and deposits up to ETH1_FOLLOW_DISTANCE_SECONDS, + // measured in time not blocks. To vote on valid votes it must populate up to the time based follow distance. + // If it assumes SECONDS_PER_ETH1_BLOCK but block times are: + // - slower: Cache will not contain all blocks + // - faster: Cache will contain all required blocks + some ahead of timed follow distance + // + // For mainnet we must fetch blocks up until block.timestamp < now - 28672 sec. Based on follow distance: + // Block times | actual follow distance + // 14 | 2048 + // 20 | 1434 + // 30 | 956 + // 60 | 478 + // + // So if after fetching the block at ETH1_FOLLOW_DISTANCE, but it's timestamp is not greater than + // ETH1_FOLLOW_DISTANCE_SECONDS, reduce the ETH1_FOLLOW_DISTANCE by a small delta and fetch more blocks. + // Otherwise if the last fetched block if above ETH1_FOLLOW_DISTANCE_SECONDS, reduce ETH1_FOLLOW_DISTANCE. + + if (toBlock < remoteFollowBlock) { + return false; + } + + if (blocks.length === 0) { + return true; + } + + const remoteFollowBlockTimestamp = + Math.round(Date.now() / 1000) - this.config.SECONDS_PER_ETH1_BLOCK * this.config.ETH1_FOLLOW_DISTANCE; + const blockAfterTargetTimestamp = blocks.find((block) => block.timestamp >= remoteFollowBlockTimestamp); + + if (blockAfterTargetTimestamp) { + // Catched up to target timestamp, increase eth1FollowDistance. Limit max config.ETH1_FOLLOW_DISTANCE. + // If the block that's right above the timestamp has been fetched now, use it to compute the precise delta. + const lastBlock = blocks[blocks.length - 1]; + const delta = Math.max(lastBlock.blockNumber - blockAfterTargetTimestamp.blockNumber, 1); + this.eth1FollowDistance = Math.min(this.eth1FollowDistance + delta, this.config.ETH1_FOLLOW_DISTANCE); + + return true; + } else { + // Blocks are slower than expected, reduce eth1FollowDistance. Limit min CATCHUP_MIN_FOLLOW_DISTANCE + const delta = ETH1_FOLLOW_DISTANCE_DELTA_IF_SLOW; + this.eth1FollowDistance = Math.max(this.eth1FollowDistance - delta, ETH_MIN_FOLLOW_DISTANCE); + + return false; + } } private getFromBlockToFetch(lastCachedBlock: number | null): number { From 9bb9127fdde347a4c6169e58fdd8b9a668201935 Mon Sep 17 00:00:00 2001 From: Lion - dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri, 3 Jun 2022 20:23:59 +0700 Subject: [PATCH 23/24] Fix HttpClient event handler leak (#4107) Fix leak in signalGlobal event listeners --- packages/api/src/client/utils/httpClient.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/api/src/client/utils/httpClient.ts b/packages/api/src/client/utils/httpClient.ts index a312a0e865bc..e3743c422145 100644 --- a/packages/api/src/client/utils/httpClient.ts +++ b/packages/api/src/client/utils/httpClient.ts @@ -80,9 +80,10 @@ export class HttpClient implements IHttpClient { const timeout = setTimeout(() => controller.abort(), this.timeoutMs); // Attach global signal to this request's controller - const signalGlobal = this.getAbortSignal && this.getAbortSignal(); + const onGlobalSignalAbort = controller.abort.bind(controller); + const signalGlobal = this.getAbortSignal?.(); if (signalGlobal) { - signalGlobal.addEventListener("abort", () => controller.abort()); + signalGlobal.addEventListener("abort", onGlobalSignalAbort); } const routeId = opts.routeId; // TODO: Should default to "unknown"? @@ -130,7 +131,7 @@ export class HttpClient implements IHttpClient { clearTimeout(timeout); if (signalGlobal) { - signalGlobal.removeEventListener("abort", controller.abort); + signalGlobal.removeEventListener("abort", onGlobalSignalAbort); } } } From 8e957223b288dec4c7009b65b94a736d1c16f192 Mon Sep 17 00:00:00 2001 From: Lion - dapplion <35266934+dapplion@users.noreply.github.com> Date: Fri, 3 Jun 2022 21:09:23 +0700 Subject: [PATCH 24/24] Add Eth1DepositTracker metrics (#4110) * Add Eth1DepositTracker metrics * Add Eth1DepositTracker metrics * Remove duplicate line --- .../src/eth1/eth1DepositDataTracker.ts | 30 ++++++++++++- packages/lodestar/src/eth1/index.ts | 3 +- .../lodestar/src/metrics/metrics/lodestar.ts | 43 +++++++++++++++++++ packages/lodestar/src/node/nodejs.ts | 2 +- .../e2e/eth1/eth1ForBlockProduction.test.ts | 1 + 5 files changed, 75 insertions(+), 4 deletions(-) diff --git a/packages/lodestar/src/eth1/eth1DepositDataTracker.ts b/packages/lodestar/src/eth1/eth1DepositDataTracker.ts index b6c2dabdd201..37c72345fd29 100644 --- a/packages/lodestar/src/eth1/eth1DepositDataTracker.ts +++ b/packages/lodestar/src/eth1/eth1DepositDataTracker.ts @@ -3,6 +3,7 @@ import {IChainForkConfig} from "@chainsafe/lodestar-config"; import {allForks, BeaconStateAllForks} from "@chainsafe/lodestar-beacon-state-transition"; import {ErrorAborted, ILogger, isErrorAborted, sleep} from "@chainsafe/lodestar-utils"; import {IBeaconDb} from "../db/index.js"; +import {IMetrics} from "../metrics/index.js"; import {Eth1DepositsCache} from "./eth1DepositsCache.js"; import {Eth1DataCache} from "./eth1DataCache.js"; import {getEth1VotesToConsider, pickEth1Vote} from "./utils/eth1Vote.js"; @@ -33,6 +34,7 @@ const ETH_MIN_FOLLOW_DISTANCE = 64; export type Eth1DepositDataTrackerModules = { config: IChainForkConfig; db: IBeaconDb; + metrics: IMetrics | null; logger: ILogger; signal: AbortSignal; }; @@ -45,6 +47,7 @@ export class Eth1DepositDataTracker { private config: IChainForkConfig; private logger: ILogger; private signal: AbortSignal; + private readonly metrics: IMetrics | null; // Internal modules, state private depositsCache: Eth1DepositsCache; @@ -54,12 +57,13 @@ export class Eth1DepositDataTracker { constructor( opts: Eth1Options, - {config, db, logger, signal}: Eth1DepositDataTrackerModules, + {config, db, metrics, logger, signal}: Eth1DepositDataTrackerModules, private readonly eth1Provider: IEth1Provider ) { this.config = config; - this.signal = signal; + this.metrics = metrics; this.logger = logger; + this.signal = signal; this.eth1Provider = eth1Provider; this.depositsCache = new Eth1DepositsCache(opts, config, db); this.eth1DataCache = new Eth1DataCache(config, db); @@ -69,6 +73,14 @@ export class Eth1DepositDataTracker { this.logger.warn("No depositContractDeployBlock provided"); } + if (metrics) { + // Set constant value once + metrics?.eth1.eth1FollowDistanceSecondsConfig.set(config.SECONDS_PER_ETH1_BLOCK * config.ETH1_FOLLOW_DISTANCE); + metrics.eth1.eth1FollowDistanceDynamic.addCollect(() => + metrics.eth1.eth1FollowDistanceDynamic.set(this.eth1FollowDistance) + ); + } + this.runAutoUpdate().catch((e: Error) => { if (!(e instanceof ErrorAborted)) { this.logger.error("Error on eth1 loop", {}, e); @@ -136,6 +148,8 @@ export class Eth1DepositDataTracker { try { const hasCaughtUp = await this.update(); + this.metrics?.eth1.depositTrackerIsCaughtup.set(hasCaughtUp ? 1 : 0); + if (hasCaughtUp) { const sleepTimeMs = Math.max(AUTO_UPDATE_PERIOD_MS + lastRunMs - Date.now(), MIN_UPDATE_PERIOD_MS); await sleep(sleepTimeMs, this.signal); @@ -149,6 +163,8 @@ export class Eth1DepositDataTracker { this.logger.error("Error updating eth1 chain cache", {}, e as Error); await sleep(MIN_WAIT_ON_ERORR_MS, this.signal); } + + this.metrics?.eth1.depositTrackerUpdateErrors.inc(1); } } } @@ -159,6 +175,8 @@ export class Eth1DepositDataTracker { */ private async update(): Promise { const remoteHighestBlock = await this.eth1Provider.getBlockNumber(); + this.metrics?.eth1.remoteHighestBlock.set(remoteHighestBlock); + const remoteFollowBlock = remoteHighestBlock - this.eth1FollowDistance; // If remoteFollowBlock is not at or beyond deployBlock, there is no need to @@ -183,10 +201,12 @@ export class Eth1DepositDataTracker { const depositEvents = await this.eth1Provider.getDepositEvents(fromBlock, toBlock); this.logger.verbose("Fetched deposits", {depositCount: depositEvents.length, fromBlock, toBlock}); + this.metrics?.eth1.depositEventsFetched.inc(depositEvents.length); await this.depositsCache.add(depositEvents); // Store the `toBlock` since that block may not contain this.lastProcessedDepositBlockNumber = toBlock; + this.metrics?.eth1.lastProcessedDepositBlockNumber.set(toBlock); return toBlock >= remoteFollowBlock; } @@ -234,7 +254,13 @@ export class Eth1DepositDataTracker { const blocksRaw = await this.eth1Provider.getBlocksByNumber(fromBlock, toBlock); const blocks = blocksRaw.map(parseEth1Block); + this.logger.verbose("Fetched eth1 blocks", {blockCount: blocks.length, fromBlock, toBlock}); + this.metrics?.eth1.blocksFetched.inc(blocks.length); + this.metrics?.eth1.lastFetchedBlockBlockNumber.set(toBlock); + if (blocks.length > 0) { + this.metrics?.eth1.lastFetchedBlockTimestamp.set(blocks[blocks.length - 1].timestamp); + } const eth1Datas = await this.depositsCache.getEth1DataForBlocks(blocks, lastProcessedDepositBlockNumber); await this.eth1DataCache.add(eth1Datas); diff --git a/packages/lodestar/src/eth1/index.ts b/packages/lodestar/src/eth1/index.ts index 120df51a8ccf..f0b549c56c30 100644 --- a/packages/lodestar/src/eth1/index.ts +++ b/packages/lodestar/src/eth1/index.ts @@ -48,13 +48,14 @@ export {IEth1ForBlockProduction, IEth1Provider, Eth1Provider}; export function initializeEth1ForBlockProduction( opts: Eth1Options, - modules: Pick, + modules: Pick, anchorState: BeaconStateAllForks ): IEth1ForBlockProduction { if (opts.enabled) { return new Eth1ForBlockProduction(opts, { config: modules.config, db: modules.db, + metrics: modules.metrics, logger: modules.logger, signal: modules.signal, clockEpoch: computeEpochAtSlot(getCurrentSlot(modules.config, anchorState.genesisTime)), diff --git a/packages/lodestar/src/metrics/metrics/lodestar.ts b/packages/lodestar/src/metrics/metrics/lodestar.ts index aaf4f388ea1c..447ebe8b9d9e 100644 --- a/packages/lodestar/src/metrics/metrics/lodestar.ts +++ b/packages/lodestar/src/metrics/metrics/lodestar.ts @@ -917,5 +917,48 @@ export function createLodestarMetrics( labelNames: ["type"], }), }, + + eth1: { + depositTrackerIsCaughtup: register.gauge({ + name: "lodestar_eth1_deposit_tracker_is_caughtup", + help: "Eth1 deposit is caught up 0=false 1=true", + }), + depositTrackerUpdateErrors: register.gauge({ + name: "lodestar_eth1_deposit_tracker_update_errors_total", + help: "Eth1 deposit update loop errors total", + }), + remoteHighestBlock: register.gauge({ + name: "lodestar_eth1_remote_highest_block", + help: "Eth1 current highest block number", + }), + depositEventsFetched: register.gauge({ + name: "lodestar_eth1_deposit_events_fetched_total", + help: "Eth1 deposit events fetched total", + }), + lastProcessedDepositBlockNumber: register.gauge({ + name: "lodestar_eth1_last_processed_deposit_block_number", + help: "Eth1 deposit tracker lastProcessedDepositBlockNumber", + }), + blocksFetched: register.gauge({ + name: "lodestar_eth1_blocks_fetched_total", + help: "Eth1 blocks fetched total", + }), + lastFetchedBlockBlockNumber: register.gauge({ + name: "lodestar_eth1_last_fetched_block_block_number", + help: "Eth1 deposit tracker last fetched block's block number", + }), + lastFetchedBlockTimestamp: register.gauge({ + name: "lodestar_eth1_last_fetched_block_timestamp", + help: "Eth1 deposit tracker last fetched block's timestamp", + }), + eth1FollowDistanceSecondsConfig: register.gauge({ + name: "lodestar_eth1_follow_distance_seconds_config", + help: "Constant with value = SECONDS_PER_ETH1_BLOCK * ETH1_FOLLOW_DISTANCE", + }), + eth1FollowDistanceDynamic: register.gauge({ + name: "lodestar_eth1_follow_distance_dynamic", + help: "Eth1 dynamic follow distance changed by the deposit tracker if blocks are slow", + }), + }, }; } diff --git a/packages/lodestar/src/node/nodejs.ts b/packages/lodestar/src/node/nodejs.ts index f5afb5bb075e..efff4adc9770 100644 --- a/packages/lodestar/src/node/nodejs.ts +++ b/packages/lodestar/src/node/nodejs.ts @@ -144,7 +144,7 @@ export class BeaconNode { anchorState, eth1: initializeEth1ForBlockProduction( opts.eth1, - {config, db, logger: logger.child(opts.logger.eth1), signal}, + {config, db, metrics, logger: logger.child(opts.logger.eth1), signal}, anchorState ), executionEngine: initializeExecutionEngine(opts.executionEngine, signal), diff --git a/packages/lodestar/test/e2e/eth1/eth1ForBlockProduction.test.ts b/packages/lodestar/test/e2e/eth1/eth1ForBlockProduction.test.ts index f97a5bacc042..6901a4d4b677 100644 --- a/packages/lodestar/test/e2e/eth1/eth1ForBlockProduction.test.ts +++ b/packages/lodestar/test/e2e/eth1/eth1ForBlockProduction.test.ts @@ -72,6 +72,7 @@ describe("eth1 / Eth1Provider", function () { const eth1ForBlockProduction = new Eth1ForBlockProduction(eth1Options, { config, db, + metrics: null, logger, signal: controller.signal, eth1Provider,