From 894ca5df4a74bc471c4a670394fcd1bdd7cbee6e Mon Sep 17 00:00:00 2001 From: oXtxNt9U <120286271+oXtxNt9U@users.noreply.github.com> Date: Fri, 6 Dec 2024 17:29:20 +0900 Subject: [PATCH] feat: import v3 snapshot (#793) * legacy snapshot generator * prepare genesis block generator * style: resolve style guide violations * fix deps * style: resolve style guide violations * update comments * update interfaces * add `seedAccountInfo` to evm * add snapshot importer package * use snapshot importer for creating genesis block * support snapshot during genesis bootstrap * set temporary path * commit dirty lockfile * style: resolve style guide violations * shared contract deployer * style: resolve style guide violations * seed usernames * style: resolve style guide violations * integrity checks * improve logging * style: resolve style guide violations * fix tests * make importer optional * fix check * Update pnpm-lock * typo * rename package * style: resolve style guide violations * call importer during bootstrap --------- Co-authored-by: oXtxNt9U Co-authored-by: sebastijankuzner --- packages/api-database/package.json | 4 +- packages/bootstrap/source/bootstrapper.ts | 28 + .../bin/create-genesis-block.js | 4 + packages/configuration-generator/package.json | 3 + .../source/application-factory.ts | 13 +- .../source/configuration-generator.ts | 36 +- .../source/generators/genesis-block.test.ts | 3 +- .../source/generators/genesis-block.ts | 186 +- .../source/generators/mnemonic.ts | 8 +- .../source/contracts/crypto/networks.ts | 5 + .../contracts/source/contracts/evm/evm.ts | 1 + packages/contracts/source/contracts/index.ts | 1 + .../source/contracts/network-generator.ts | 7 + .../contracts/source/contracts/snapshot.ts | 47 + packages/contracts/source/identifiers.ts | 5 + .../core/bin/config/testnet/core/app.json | 3 + packages/crypto-block/source/verifier.ts | 24 +- packages/evm-consensus/source/deployer.ts | 30 +- packages/evm-consensus/source/index.ts | 13 +- packages/evm-service/source/instances/evm.ts | 4 + packages/evm/bindings/src/lib.rs | 55 +- packages/evm/bindings/src/result.rs | 12 + packages/processor/source/block-processor.ts | 2 +- .../snapshot-legacy-exporter/.gitattributes | 7 + packages/snapshot-legacy-exporter/README.md | 19 + packages/snapshot-legacy-exporter/bin/run.js | 22 + .../snapshot-legacy-exporter/package.json | 49 + .../source/application-factory.ts | 26 + .../source/defaults.ts | 37 + .../source/identifiers.ts | 7 + .../snapshot-legacy-exporter/source/index.ts | 2 + .../source/interfaces.ts | 13 + .../source/snapshot/generator.ts | 124 + .../snapshot-legacy-exporter/tsconfig.json | 7 + .../snapshot-legacy-importer/.gitattributes | 7 + packages/snapshot-legacy-importer/README.md | 19 + .../snapshot-legacy-importer/package.json | 41 + .../source/importer.ts | 387 +++ .../snapshot-legacy-importer/source/index.ts | 14 + .../snapshot-legacy-importer/tsconfig.json | 7 + .../test-framework/source/app/sandbox.test.ts | 2 +- packages/test-framework/source/app/sandbox.ts | 2 +- .../test/assets/sanbox-options.ts | 2 +- pnpm-lock.yaml | 2696 ++++++++--------- scripts/deps/check.js | 2 +- 45 files changed, 2479 insertions(+), 1507 deletions(-) create mode 100644 packages/contracts/source/contracts/snapshot.ts create mode 100644 packages/snapshot-legacy-exporter/.gitattributes create mode 100644 packages/snapshot-legacy-exporter/README.md create mode 100644 packages/snapshot-legacy-exporter/bin/run.js create mode 100644 packages/snapshot-legacy-exporter/package.json create mode 100644 packages/snapshot-legacy-exporter/source/application-factory.ts create mode 100644 packages/snapshot-legacy-exporter/source/defaults.ts create mode 100644 packages/snapshot-legacy-exporter/source/identifiers.ts create mode 100644 packages/snapshot-legacy-exporter/source/index.ts create mode 100644 packages/snapshot-legacy-exporter/source/interfaces.ts create mode 100644 packages/snapshot-legacy-exporter/source/snapshot/generator.ts create mode 100644 packages/snapshot-legacy-exporter/tsconfig.json create mode 100644 packages/snapshot-legacy-importer/.gitattributes create mode 100644 packages/snapshot-legacy-importer/README.md create mode 100644 packages/snapshot-legacy-importer/package.json create mode 100644 packages/snapshot-legacy-importer/source/importer.ts create mode 100644 packages/snapshot-legacy-importer/source/index.ts create mode 100644 packages/snapshot-legacy-importer/tsconfig.json diff --git a/packages/api-database/package.json b/packages/api-database/package.json index 75a302976..e050e2f9a 100644 --- a/packages/api-database/package.json +++ b/packages/api-database/package.json @@ -28,11 +28,11 @@ "@mainsail/kernel": "workspace:*", "@mainsail/utils": "workspace:*", "dayjs": "1.11.10", - "pg": "8.11.3", + "pg": "8.13.1", "typeorm": "0.3.20" }, "devDependencies": { - "@types/pg": "8.11.2", + "@types/pg": "8.11.10", "uvu": "^0.5.6" }, "engines": { diff --git a/packages/bootstrap/source/bootstrapper.ts b/packages/bootstrap/source/bootstrapper.ts index a879c9db0..d494a11af 100644 --- a/packages/bootstrap/source/bootstrapper.ts +++ b/packages/bootstrap/source/bootstrapper.ts @@ -49,6 +49,10 @@ export class Bootstrapper { @optional() private readonly apiSync?: Contracts.ApiSync.Service; + @inject(Identifiers.Snapshot.Legacy.Importer) + @optional() + private readonly snapshotImporter?: Contracts.Snapshot.LegacyImporter; + @inject(Identifiers.TransactionPool.Worker) private readonly txPoolWorker!: Contracts.TransactionPool.Worker; @@ -109,6 +113,7 @@ export class Bootstrapper { async #initState(): Promise { if (this.databaseService.isEmpty()) { + await this.#tryImportSnapshot(); await this.#processGenesisBlock(); } else { const commit = await this.databaseService.getLastCommit(); @@ -141,4 +146,27 @@ export class Bootstrapper { await this.app.terminate(`Failed to process block at height ${commit.block.data.height}`, error); } } + + async #tryImportSnapshot(): Promise { + const genesisBlock = this.stateStore.getGenesisCommit(); + const milestone = this.configuration.getMilestone(0); + + // assume snapshot is present if the previous block points to a non-zero hash + if ( + genesisBlock.block.header.previousBlock === + "0000000000000000000000000000000000000000000000000000000000000000" + ) { + if (milestone.snapshot) { + throw new Error("previous block set to snapshot but no hash in milestone"); + } + + return; + } + + if (!this.snapshotImporter) { + throw new Error("snapshot importer not loaded"); + } + + await this.snapshotImporter.run(genesisBlock); + } } diff --git a/packages/configuration-generator/bin/create-genesis-block.js b/packages/configuration-generator/bin/create-genesis-block.js index faf327b6a..e13284d52 100644 --- a/packages/configuration-generator/bin/create-genesis-block.js +++ b/packages/configuration-generator/bin/create-genesis-block.js @@ -16,6 +16,10 @@ async function run() { symbol: "TѦ", token: "ARK", distribute: true, + premine: "0", + snapshot: { + path: "../../snapshot-19a87c96dbe8ad1be06d33e97cd17f5662eb952c29efd3d8bb00c9c75e7582bc.json", + }, }); } diff --git a/packages/configuration-generator/package.json b/packages/configuration-generator/package.json index d9fd43d37..7e40a586a 100644 --- a/packages/configuration-generator/package.json +++ b/packages/configuration-generator/package.json @@ -37,11 +37,14 @@ "@mainsail/crypto-transaction-evm-call": "workspace:*", "@mainsail/crypto-validation": "workspace:*", "@mainsail/crypto-wif": "workspace:*", + "@mainsail/evm-consensus": "workspace:*", "@mainsail/evm-contracts": "workspace:*", "@mainsail/evm-gas-fee": "workspace:*", "@mainsail/evm-service": "workspace:*", "@mainsail/kernel": "workspace:*", "@mainsail/serializer": "workspace:*", + "@mainsail/snapshot-legacy-exporter": "workspace:*", + "@mainsail/snapshot-legacy-importer": "workspace:*", "@mainsail/utils": "workspace:*", "@mainsail/validation": "workspace:*", "bip39": "3.1.0", diff --git a/packages/configuration-generator/source/application-factory.ts b/packages/configuration-generator/source/application-factory.ts index 7ebe94b0d..cbe5da881 100644 --- a/packages/configuration-generator/source/application-factory.ts +++ b/packages/configuration-generator/source/application-factory.ts @@ -13,10 +13,12 @@ import { ServiceProvider as CoreCryptoTransaction } from "@mainsail/crypto-trans import { ServiceProvider as CoreCryptoTransactionEvmCall } from "@mainsail/crypto-transaction-evm-call"; import { ServiceProvider as CoreCryptoValidation } from "@mainsail/crypto-validation"; import { ServiceProvider as CoreCryptoWif } from "@mainsail/crypto-wif"; +import { ServiceProvider as CoreEvmConsensus } from "@mainsail/evm-consensus"; import { ServiceProvider as CoreEvmGasFee } from "@mainsail/evm-gas-fee"; import { ServiceProvider as EvmService } from "@mainsail/evm-service"; import { Application } from "@mainsail/kernel"; import { ServiceProvider as CoreSerializer } from "@mainsail/serializer"; +import { ServiceProvider as CoreSnapshotLegacyImporter } from "@mainsail/snapshot-legacy-importer"; import { ServiceProvider as CoreValidation } from "@mainsail/validation"; import { dirSync, setGracefulCleanup } from "tmp"; @@ -40,10 +42,16 @@ export const makeApplication = async (configurationPath: string, options: Record const app = new Application(new Container()); app.bind(Identifiers.Application.Name).toConstantValue(options.name); app.bind(Identifiers.Services.EventDispatcher.Service).toConstantValue({}); - app.bind(Identifiers.Services.Log.Service).toConstantValue({}); + app.bind(Identifiers.Services.Log.Service).toConstantValue({ + debug: (message: string) => console.log(message), + info: (message: string) => console.log(message), + warning: (message: string) => console.log(message), + }); // Used for evm instance + const fsExtra = await import("fs-extra/esm"); app.bind(Identifiers.Services.Filesystem.Service).toConstantValue({ existsSync: () => true, + readJSONSync: (file: string, options?: Record) => fsExtra.readJSONSync(file, options), }); setGracefulCleanup(); app.rebind("path.data").toConstantValue(dirSync().name); @@ -62,14 +70,17 @@ export const makeApplication = async (configurationPath: string, options: Record await app.resolve(CoreCryptoWif).register(); await app.resolve(CoreCryptoBlock).register(); await app.resolve(CoreEvmGasFee).register(); + await app.resolve(CoreEvmConsensus).register(); await app.resolve(CoreCryptoTransaction).register(); await app.resolve(CoreCryptoTransactionEvmCall).register(); + await app.resolve(CoreSnapshotLegacyImporter).register(); await app.resolve(EvmService).register(); // @ts-ignore app.get(Identifiers.Cryptography.Configuration).setConfig({ milestones: [ { + evmSpec: Contracts.Evm.SpecId.SHANGHAI, height: 0, timeouts: { blockPrepareTime: 4000, diff --git a/packages/configuration-generator/source/configuration-generator.ts b/packages/configuration-generator/source/configuration-generator.ts index 96492b476..91748a8b2 100644 --- a/packages/configuration-generator/source/configuration-generator.ts +++ b/packages/configuration-generator/source/configuration-generator.ts @@ -97,13 +97,13 @@ export class ConfigurationGenerator { }; const genesisWalletMnemonic = this.mnemonicGenerator.generate(); - const validatorsMnemonics = this.mnemonicGenerator.generateMany(internalOptions.validators); + let validatorsMnemonics = this.mnemonicGenerator.generateMany(internalOptions.validators); const tasks: Task[] = [ { task: async () => { if (!internalOptions.overwriteConfig && pathExistsSync(this.configurationPath)) { - throw new Error(`${this.configurationPath} already exists.`); + // throw new Error(`${this.configurationPath} already exists.`); } ensureDirSync(this.configurationPath); @@ -139,6 +139,38 @@ export class ConfigurationGenerator { network: {}, }); + if (options.snapshot) { + const importer = this.app.get( + Identifiers.Snapshot.Legacy.Importer, + ); + await importer.prepare(options.snapshot.path); + + milestones[0].snapshot = { hash: importer.snapshotHash }; + + if (importer.validators) { + const importedValidatorMnemonics: string[] = []; + // create fake mnemonics for testing + const consensusKeyPairFactory = this.app.getTagged( + Identifiers.Cryptography.Identity.KeyPair.Factory, + "type", + "consensus", + ); + + for (const validator of importer.validators) { + const validatorMnemonic = this.mnemonicGenerator.generateDeterministic( + validator.username, + ); + importedValidatorMnemonics.push(validatorMnemonic); + + const consensusKeyPair = await consensusKeyPairFactory.fromMnemonic(validatorMnemonic); + validator.blsPublicKey = consensusKeyPair.publicKey; + } + + // imported validators are already sorted by descending balance + validatorsMnemonics = importedValidatorMnemonics.slice(0, internalOptions.validators); + } + } + const genesisBlock = await this.genesisBlockGenerator.generate( genesisWalletMnemonic, validatorsMnemonics, diff --git a/packages/configuration-generator/source/generators/genesis-block.test.ts b/packages/configuration-generator/source/generators/genesis-block.test.ts index de4ef7585..7f0f58b03 100644 --- a/packages/configuration-generator/source/generators/genesis-block.test.ts +++ b/packages/configuration-generator/source/generators/genesis-block.test.ts @@ -19,9 +19,10 @@ describe<{ { reward: "0", address: { bech32m: "ark" }, - block: { version: 1, maxPayload: 2097152, maxTransactions: 150 }, + block: { version: 1, maxGasLimit: 30_000_000, maxPayload: 2097152, maxTransactions: 150 }, blockTime: 8000, height: 0, + evmSpec: Contracts.Evm.SpecId.SHANGHAI, // @ts-ignore gas: { maximumGasLimit: 2000000, diff --git a/packages/configuration-generator/source/generators/genesis-block.ts b/packages/configuration-generator/source/generators/genesis-block.ts index 7ce9cf89d..bc892e9a7 100644 --- a/packages/configuration-generator/source/generators/genesis-block.ts +++ b/packages/configuration-generator/source/generators/genesis-block.ts @@ -1,11 +1,12 @@ -import { inject, injectable, tagged } from "@mainsail/container"; +import { inject, injectable, optional, tagged } from "@mainsail/container"; import { Contracts, Identifiers } from "@mainsail/contracts"; import { EvmCallBuilder } from "@mainsail/crypto-transaction-evm-call"; -import { ConsensusAbi, ERC1967ProxyAbi } from "@mainsail/evm-contracts"; +import { Deployer, Identifiers as EvmConsensusIdentifiers } from "@mainsail/evm-consensus"; +import { ConsensusAbi } from "@mainsail/evm-contracts"; import { Utils } from "@mainsail/kernel"; import { BigNumber } from "@mainsail/utils"; import dayjs from "dayjs"; -import { ethers, sha256 } from "ethers"; +import { ethers } from "ethers"; import { Wallet } from "../contracts.js"; import { Generator } from "./generator.js"; @@ -21,12 +22,18 @@ export class GenesisBlockGenerator extends Generator { @inject(Identifiers.Cryptography.Transaction.Verifier) private readonly transactionVerifier!: Contracts.Crypto.TransactionVerifier; + @inject(Identifiers.Snapshot.Legacy.Importer) + @optional() + private readonly snapshotLegacyImporter?: Contracts.Snapshot.LegacyImporter; + @inject(Identifiers.Evm.Instance) @tagged("instance", "evm") private readonly evm!: Contracts.Evm.Instance; - #deployerAddress = "0x0000000000000000000000000000000000000001"; - #consensusProxyContractAddress = "0x535B3D7A252fa034Ed71F0C53ec0C6F784cB64E1"; + @inject(EvmConsensusIdentifiers.Internal.Addresses.Deployer) + private readonly deployerAddress!: string; + + #consensusProxyContractAddress!: string; async generate( genesisMnemonic: string, @@ -35,40 +42,45 @@ export class GenesisBlockGenerator extends Generator { ): Promise { const genesisWallet = await this.createWallet(genesisMnemonic); - const validators = await Promise.all( - validatorsMnemonics.map(async (mnemonic) => await this.createWallet(mnemonic)), - ); + await this.#prepareEvm(genesisWallet.address, validatorsMnemonics.length, options); let transactions: Contracts.Crypto.Transaction[] = []; - if (options.distribute) { - transactions = transactions.concat( - ...(await this.#createTransferTransactions( - genesisWallet, - validators, - options.premine, - options.pubKeyHash, - )), - ); + if (options.snapshot) { + await this.#buildFromLegacySnapshot(options); } else { - transactions = transactions.concat( - await this.#createTransferTransaction( - genesisWallet, - genesisWallet, - options.premine, - options.pubKeyHash, - ), + const validators = await Promise.all( + validatorsMnemonics.map(async (mnemonic) => await this.createWallet(mnemonic)), ); - } - const validatorTransactions = [ - ...(await this.#buildValidatorTransactions(validators, options.pubKeyHash)), - ...(await this.#buildVoteTransactions(validators, options.pubKeyHash)), - ]; - - transactions = [...transactions, ...validatorTransactions]; + if (options.distribute) { + transactions = transactions.concat( + ...(await this.#createTransferTransactions( + genesisWallet, + validators, + options.premine, + options.pubKeyHash, + )), + ); + } else { + transactions = transactions.concat( + await this.#createTransferTransaction( + genesisWallet, + genesisWallet, + options.premine, + options.pubKeyHash, + ), + ); + } + + const validatorTransactions = [ + ...(await this.#buildValidatorTransactions(validators, options.pubKeyHash)), + ...(await this.#buildVoteTransactions(validators, options.pubKeyHash)), + ]; + + transactions = [...transactions, ...validatorTransactions]; + } - await this.#prepareEvm(genesisWallet.address, validatorsMnemonics.length, options); const genesis = await this.#createGenesisCommit(genesisWallet.keys, transactions, options); return { @@ -80,80 +92,18 @@ export class GenesisBlockGenerator extends Generator { async #prepareEvm( genesisWalletAddress: string, - validatorsCount: number, + _validatorsCount: number, options: Contracts.NetworkGenerator.GenesisBlockOptions, ) { - const genesisInfo = { - account: genesisWalletAddress, - deployerAccount: this.#deployerAddress, - initialSupply: Utils.BigNumber.make(options.premine).toBigInt(), - usernameContract: ethers.getCreateAddress({ from: genesisWalletAddress, nonce: 3 }), - validatorContract: ethers.getCreateAddress({ from: genesisWalletAddress, nonce: 1 }), - }; - await this.evm.initializeGenesis(genesisInfo); - - const constructorArguments = new ethers.AbiCoder().encode(["uint8"], [validatorsCount]).slice(2); - const nonce = BigInt(0); - - // Commit Key chosen in a way such that it does not conflict with blocks. - const commitKey = { height: BigInt(2 ** 32 + 1), round: BigInt(0) }; - const blockContext = { - commitKey, - gasLimit: BigInt(30_000_000), - timestamp: BigInt(dayjs(options.epoch).valueOf()), - validatorAddress: this.#deployerAddress, - }; - - const consensusResult = await this.evm.process({ - blockContext, - caller: this.#deployerAddress, - data: Buffer.concat([ - Buffer.from(ethers.getBytes(ConsensusAbi.bytecode.object)), - Buffer.from(constructorArguments, "hex"), - ]), - gasLimit: BigInt(10_000_000), - nonce, - specId: Contracts.Evm.SpecId.SHANGHAI, - txHash: sha256(Buffer.from(`tx-${this.#deployerAddress}-${0}`, "utf8")).slice(2), - value: 0n, + await this.app.resolve(Deployer).deploy({ + generatorAddress: genesisWalletAddress, + timestamp: dayjs(options.epoch).valueOf(), + totalAmount: options.premine, }); - if (!consensusResult.receipt.success) { - throw new Error("failed to deploy Consensus contract"); - } - - // Logic contract initializer function ABI - const logicInterface = new ethers.Interface(ConsensusAbi.abi); - // Encode the initializer call - const initializerCalldata = logicInterface.encodeFunctionData("initialize"); - // Prepare the constructor arguments for the proxy contract - const proxyConstructorArguments = new ethers.AbiCoder() - .encode(["address", "bytes"], [consensusResult.receipt.deployedContractAddress, initializerCalldata]) - .slice(2); - - const proxyResult = await this.evm.process({ - blockContext, - caller: this.#deployerAddress, - data: Buffer.concat([ - Buffer.from(ethers.getBytes(ERC1967ProxyAbi.bytecode.object)), - Buffer.from(proxyConstructorArguments, "hex"), - ]), - gasLimit: BigInt(10_000_000), - nonce: BigInt(1), - specId: Contracts.Evm.SpecId.SHANGHAI, - txHash: sha256(Buffer.from(`tx-${this.#deployerAddress}-${1}`, "utf8")).slice(2), - value: 0n, - }); - - if (!proxyResult.receipt.success) { - throw new Error("failed to deploy Consensus PROXY contract"); - } - - await this.evm.onCommit({ - ...commitKey, - getBlock: () => ({ data: { round: BigInt(0) } }), - setAccountUpdates: () => ({}), - } as any); + this.#consensusProxyContractAddress = this.app.get( + EvmConsensusIdentifiers.Contracts.Addresses.Consensus, + ); } async #createTransferTransaction( @@ -299,7 +249,7 @@ export class GenesisBlockGenerator extends Generator { }, gasLimit: BigInt(30_000_000), timestamp: BigInt(dayjs(options.epoch).valueOf()), - validatorAddress: this.#deployerAddress, + validatorAddress: this.deployerAddress, }, caller: transaction.data.senderAddress, data: Buffer.from(transaction.data.data, "hex"), @@ -340,12 +290,16 @@ export class GenesisBlockGenerator extends Generator { .sha256(payloadBuffers) ).toString("hex"), payloadLength, - previousBlock: "0000000000000000000000000000000000000000000000000000000000000000", + previousBlock: + options.snapshot?.snapshotHash ?? + "0000000000000000000000000000000000000000000000000000000000000000", reward: BigNumber.ZERO, round: 0, - stateHash: "0000000000000000000000000000000000000000000000000000000000000000", + stateHash: + options.snapshot?.stateHash ?? + "0000000000000000000000000000000000000000000000000000000000000000", timestamp: dayjs(options.epoch).valueOf(), - totalAmount: totals.amount, + totalAmount: Utils.BigNumber.make(options.premine), totalFee: totals.fee, totalGasUsed: totals.gasUsed, transactions: transactionData, @@ -371,4 +325,24 @@ export class GenesisBlockGenerator extends Generator { throw new Error(`failed to generate genesis block: ${JSON.stringify(verified.errors)}`); } } + + async #buildFromLegacySnapshot(options: Contracts.NetworkGenerator.GenesisBlockOptions) { + Utils.assert.defined(options.snapshot); + Utils.assert.defined(this.snapshotLegacyImporter); + + // Load snapshot into EVM + const result = await this.snapshotLegacyImporter.import({ + commitKey: { + height: 0n, + round: 0n, + }, + timestamp: dayjs(options.epoch).valueOf(), + }); + + options.snapshot.snapshotHash = this.snapshotLegacyImporter.snapshotHash; + options.snapshot.stateHash = result.stateHash; + options.premine = result.initialTotalSupply.toString(); + + console.log(result); + } } diff --git a/packages/configuration-generator/source/generators/mnemonic.ts b/packages/configuration-generator/source/generators/mnemonic.ts index 90b379e9d..bff2237fe 100644 --- a/packages/configuration-generator/source/generators/mnemonic.ts +++ b/packages/configuration-generator/source/generators/mnemonic.ts @@ -1,5 +1,6 @@ import { injectable } from "@mainsail/container"; -import { generateMnemonic } from "bip39"; +import { entropyToMnemonic, generateMnemonic } from "bip39"; +import { sha256 } from "ethers"; @injectable() export class MnemonicGenerator { @@ -10,4 +11,9 @@ export class MnemonicGenerator { generateMany(count: number): string[] { return Array.from({ length: count }, () => this.generate()); } + + generateDeterministic(seed: string): string { + const entropy = sha256(Buffer.from(seed, "utf8")).slice(2, 34); + return entropyToMnemonic(Buffer.from(entropy, "hex")); + } } diff --git a/packages/contracts/source/contracts/crypto/networks.ts b/packages/contracts/source/contracts/crypto/networks.ts index e45119596..0eb60e047 100644 --- a/packages/contracts/source/contracts/crypto/networks.ts +++ b/packages/contracts/source/contracts/crypto/networks.ts @@ -52,6 +52,10 @@ export type MilestoneGas = { nativeFeeMultiplier: number; }; +export type MilestoneSnapshot = { + hash?: string; +}; + export type Milestone = { height: number; activeValidators: number; @@ -63,6 +67,7 @@ export type Milestone = { reward: string; satoshi: MilestoneSatoshi; timeouts: MilestoneTimeouts; + snapshot?: MilestoneSnapshot; vendorFieldLength: number; }; diff --git a/packages/contracts/source/contracts/evm/evm.ts b/packages/contracts/source/contracts/evm/evm.ts index 4049ffaac..feb38d661 100644 --- a/packages/contracts/source/contracts/evm/evm.ts +++ b/packages/contracts/source/contracts/evm/evm.ts @@ -19,6 +19,7 @@ export interface Instance extends CommitHandler { view(viewContext: TransactionViewContext): Promise; initializeGenesis(commit: GenesisInfo): Promise; getAccountInfo(address: string): Promise; + seedAccountInfo(address: string, info: AccountInfo): Promise; getAccounts(offset: bigint, limit: bigint): Promise; getReceipts(offset: bigint, limit: bigint): Promise; calculateActiveValidators(context: CalculateActiveValidatorsContext): Promise; diff --git a/packages/contracts/source/contracts/index.ts b/packages/contracts/source/contracts/index.ts index 8a4dd139c..5cc51ab81 100644 --- a/packages/contracts/source/contracts/index.ts +++ b/packages/contracts/source/contracts/index.ts @@ -12,6 +12,7 @@ export * as Processor from "./processor.js"; export * as Proposer from "./proposer.js"; export * as Serializer from "./serializer.js"; export * as Shared from "./shared/index.js"; +export * as Snapshot from "./snapshot.js"; export * as State from "./state/index.js"; export * as TransactionPool from "./transaction-pool/index.js"; export * as Transactions from "./transactions.js"; diff --git a/packages/contracts/source/contracts/network-generator.ts b/packages/contracts/source/contracts/network-generator.ts index 7d605f4ea..773d7e039 100644 --- a/packages/contracts/source/contracts/network-generator.ts +++ b/packages/contracts/source/contracts/network-generator.ts @@ -38,6 +38,13 @@ export type GenesisBlockOptions = { premine: string; pubKeyHash: number; epoch: Date; + snapshot?: SnapshotOptions; +}; + +export type SnapshotOptions = { + path: string; + snapshotHash?: string; + stateHash?: string; }; export type InternalOptions = EnvironmentOptions & diff --git a/packages/contracts/source/contracts/snapshot.ts b/packages/contracts/source/contracts/snapshot.ts new file mode 100644 index 000000000..e9d90d16c --- /dev/null +++ b/packages/contracts/source/contracts/snapshot.ts @@ -0,0 +1,47 @@ +import { Commit } from "./crypto/index.js"; +import { CommitKey } from "./evm/evm.js"; + +export interface LegacyImporter { + run(genesisBlock: Commit): Promise; + prepare(snapshotPath: string): Promise; + import(options: LegacyImportOptions): Promise; + + wallets: ImportedLegacyWallet[]; + validators: ImportedLegacyValidator[]; + voters: ImportedLegacyVoter[]; + snapshotHash: string; +} + +export interface LegacyImportOptions { + readonly timestamp: number; + readonly commitKey: CommitKey; +} + +export interface LegacyImportResult { + readonly initialTotalSupply: bigint; + readonly stateHash: string; +} + +export interface ImportedLegacyWallet { + readonly arkAddress: string; + readonly ethAddress?: string; + readonly publicKey?: string; + readonly balance: bigint; // WEI - 18 decimals +} + +export interface ImportedLegacyVoter { + readonly arkAddress: string; + readonly ethAddress?: string; + readonly publicKey: string; + readonly vote: string; +} + +export interface ImportedLegacyValidator { + readonly arkAddress: string; + readonly ethAddress?: string; + readonly publicKey: string; + readonly isResigned: boolean; + + username: string; + blsPublicKey: string; +} diff --git a/packages/contracts/source/identifiers.ts b/packages/contracts/source/identifiers.ts index ec8936cf0..7fb2a5c72 100644 --- a/packages/contracts/source/identifiers.ts +++ b/packages/contracts/source/identifiers.ts @@ -250,6 +250,11 @@ export const Identifiers = { Service: Symbol("Kernel"), }, }, + Snapshot: { + Legacy: { + Importer: Symbol("Snapshot"), + }, + }, State: { State: Symbol("State"), Store: Symbol("State"), diff --git a/packages/core/bin/config/testnet/core/app.json b/packages/core/bin/config/testnet/core/app.json index eaf0b8959..11502c4ee 100644 --- a/packages/core/bin/config/testnet/core/app.json +++ b/packages/core/bin/config/testnet/core/app.json @@ -51,6 +51,9 @@ { "package": "@mainsail/logger-pino" }, + { + "package": "@mainsail/snapshot-legacy-importer" + }, { "package": "@mainsail/state" }, diff --git a/packages/crypto-block/source/verifier.ts b/packages/crypto-block/source/verifier.ts index 79bd57397..166dc62d9 100644 --- a/packages/crypto-block/source/verifier.ts +++ b/packages/crypto-block/source/verifier.ts @@ -1,5 +1,6 @@ import { inject, injectable } from "@mainsail/container"; import { Contracts, Identifiers, Utils } from "@mainsail/contracts"; +import { Utils as AppUtils } from "@mainsail/kernel"; import { BigNumber } from "@mainsail/utils"; @injectable() @@ -24,11 +25,19 @@ export class Verifier implements Contracts.Crypto.BlockVerifier { try { const constants = this.configuration.getMilestone(blockData.height); - if ( - blockData.height === 0 && - blockData.previousBlock !== "0000000000000000000000000000000000000000000000000000000000000000" - ) { - result.errors.push("Genesis block has invalid previous block"); + if (blockData.height === 0) { + let validPreviousBlock = false; + if (constants.snapshot) { + AppUtils.assert.defined(constants.snapshot.hash); + validPreviousBlock = blockData.previousBlock === constants.snapshot.hash; + } else { + validPreviousBlock = + blockData.previousBlock === "0000000000000000000000000000000000000000000000000000000000000000"; + } + + if (!validPreviousBlock) { + result.errors.push("Genesis block has invalid previous block"); + } } if (blockData.height !== 0 && !blockData.previousBlock) { @@ -108,7 +117,10 @@ export class Verifier implements Contracts.Crypto.BlockVerifier { payloadBuffers.push(bytes); } - if (!totalAmount.isEqualTo(blockData.totalAmount)) { + if ( + !totalAmount.isEqualTo(blockData.totalAmount) && // Only the genesis block can have a 'totalAmount' while having no transactions. + (block.header.height > 0 || block.header.transactions.length > 0) + ) { result.errors.push("Invalid total amount"); } diff --git a/packages/evm-consensus/source/deployer.ts b/packages/evm-consensus/source/deployer.ts index 4639df230..b32d794c2 100644 --- a/packages/evm-consensus/source/deployer.ts +++ b/packages/evm-consensus/source/deployer.ts @@ -6,7 +6,11 @@ import { ethers, sha256 } from "ethers"; import { Identifiers as EvmConsensusIdentifiers } from "./identifiers.js"; -// TODO: extract "evm-deployer" package to manage nonce, etc. when deploying protocol contracts. +export interface GenesisBlockInfo { + readonly timestamp: number; + readonly totalAmount: string; + readonly generatorAddress: string; +} @injectable() export class Deployer { @@ -26,10 +30,14 @@ export class Deployer { @inject(EvmConsensusIdentifiers.Internal.Addresses.Deployer) private readonly deployerAddress!: string; + #genesisBlockInfo!: GenesisBlockInfo; + #nonce = 0; #generateTxHash = () => sha256(Buffer.from(`tx-${this.deployerAddress}-${this.#nonce++}`, "utf8")).slice(2); - public async deploy(): Promise { + public async deploy(genesisBlockInfo: GenesisBlockInfo): Promise { + this.#genesisBlockInfo = genesisBlockInfo; + await this.#initialize(); const consensusContractAddress = await this.#deployConsensusContract(); @@ -48,16 +56,15 @@ export class Deployer { } async #initialize(): Promise { - const genesisBlock = this.app.config("crypto.genesisBlock"); - Utils.assert.defined(genesisBlock); + Utils.assert.defined(this.#genesisBlockInfo); const genesisInfo = { - account: genesisBlock.block.generatorAddress, + account: this.#genesisBlockInfo.generatorAddress, deployerAccount: this.deployerAddress, - initialSupply: Utils.BigNumber.make(genesisBlock.block.totalAmount).toBigInt(), - // PROXY Uses nonce 1 - usernameContract: ethers.getCreateAddress({ from: this.deployerAddress, nonce: 3 }), - validatorContract: ethers.getCreateAddress({ from: this.deployerAddress, nonce: 1 }), // PROXY Uses nonce 3 + initialSupply: Utils.BigNumber.make(this.#genesisBlockInfo.totalAmount).toBigInt(), + + usernameContract: ethers.getCreateAddress({ from: this.deployerAddress, nonce: 3 }), // PROXY Uses nonce 3 + validatorContract: ethers.getCreateAddress({ from: this.deployerAddress, nonce: 1 }), // PROXY Uses nonce 1 }; await this.evm.initializeGenesis(genesisInfo); @@ -66,16 +73,13 @@ export class Deployer { } #getBlockContext(): Contracts.Evm.BlockContext { - const genesisBlock = this.app.config("crypto.genesisBlock"); - Utils.assert.defined(genesisBlock); - const milestone = this.configuration.getMilestone(0); // Commit Key chosen in a way such that it does not conflict with blocks. return { commitKey: { height: BigInt(2 ** 32 + 1), round: BigInt(0) }, gasLimit: BigInt(milestone.block.maxGasLimit), - timestamp: BigInt(genesisBlock.block.timestamp), + timestamp: BigInt(this.#genesisBlockInfo.timestamp), validatorAddress: this.deployerAddress, }; } diff --git a/packages/evm-consensus/source/index.ts b/packages/evm-consensus/source/index.ts index fc46d7fa1..37dfe815f 100644 --- a/packages/evm-consensus/source/index.ts +++ b/packages/evm-consensus/source/index.ts @@ -1,6 +1,6 @@ import { injectable } from "@mainsail/container"; import { Contracts, Identifiers } from "@mainsail/contracts"; -import { Providers } from "@mainsail/kernel"; +import { Providers, Utils } from "@mainsail/kernel"; import { Deployer } from "./deployer.js"; import { Identifiers as EvmConsensusIdentifiers } from "./identifiers.js"; @@ -26,6 +26,15 @@ export class ServiceProvider extends Providers.ServiceProvider { public async boot(): Promise { this.app.get(Identifiers.Services.Log.Service).info("Booting EVM Consensus..."); - await this.app.resolve(Deployer).deploy(); + const genesisBlock = this.app.config("crypto.genesisBlock"); + Utils.assert.defined(genesisBlock); + + await this.app.resolve(Deployer).deploy({ + generatorAddress: genesisBlock.block.generatorAddress, + timestamp: genesisBlock.block.timestamp, + totalAmount: genesisBlock.block.totalAmount, + }); } } + +export { Deployer } from "./deployer.js"; diff --git a/packages/evm-service/source/instances/evm.ts b/packages/evm-service/source/instances/evm.ts index 3a36a75d8..8b04b1b3e 100644 --- a/packages/evm-service/source/instances/evm.ts +++ b/packages/evm-service/source/instances/evm.ts @@ -40,6 +40,10 @@ export class EvmInstance implements Contracts.Evm.Instance { return this.#evm.getAccountInfo(address); } + public async seedAccountInfo(address: string, info: Contracts.Evm.AccountInfo): Promise { + return this.#evm.seedAccountInfo(address, info); + } + public async getAccounts(offset: bigint, limit: bigint): Promise { return this.#evm.getAccounts(offset, limit); } diff --git a/packages/evm/bindings/src/lib.rs b/packages/evm/bindings/src/lib.rs index 4b5a759eb..c465b0db7 100644 --- a/packages/evm/bindings/src/lib.rs +++ b/packages/evm/bindings/src/lib.rs @@ -14,7 +14,7 @@ use mainsail_evm_core::{ }; use napi::{bindgen_prelude::*, JsBigInt, JsObject, JsString}; use napi_derive::napi; -use result::{CommitResult, TxViewResult}; +use result::{CommitResult, JsAccountInfo, TxViewResult}; use revm::{ db::{State, WrapDatabaseRef}, primitives::{ @@ -51,6 +51,11 @@ impl EvmInner { pub fn prepare_next_commit(&mut self, ctx: PrepareNextCommitContext) -> Result<()> { if let Some(pending) = self.pending_commit.as_ref() { + // do not replace any pending commit, while still in bootstrapping phase. + if pending.key == CommitKey(0, 0) && ctx.commit_key == pending.key { + return Ok(()); + } + println!( "discarding existing pending commit {:?} for {:?}", pending.key, ctx.commit_key @@ -281,7 +286,9 @@ impl EvmInner { Ok(receipt) => { println!( "vote_update {:?} {:?} {:?}", - ctx.commit_key, receipt, voters + ctx.commit_key, + receipt, + voters.len() ); assert!(receipt.is_success(), "vote_update unsuccessful"); Ok(()) @@ -309,6 +316,20 @@ impl EvmInner { } } + pub fn seed_account_info( + &mut self, + address: Address, + info: AccountInfo, + ) -> std::result::Result<(), EVMError> { + let pending = self.pending_commit.as_mut().unwrap(); + assert_eq!(pending.key, CommitKey(0, 0)); + assert!(!pending.cache.accounts.contains_key(&address)); + + pending.cache.insert_account(address, info); + + Ok(()) + } + pub fn get_accounts( &mut self, offset: u64, @@ -713,6 +734,22 @@ impl JsEvmWrapper { ) } + #[napi(ts_return_type = "Promise")] + pub fn seed_account_info( + &mut self, + node_env: Env, + address: JsString, + info: JsAccountInfo, + ) -> Result { + let address = utils::create_address_from_js_string(address)?; + let info: AccountInfo = info.try_into()?; + + node_env.execute_tokio_future( + Self::seed_account_info_async(self.evm.clone(), address, info), + |_, _| Ok(()), + ) + } + #[napi(ts_return_type = "Promise")] pub fn get_accounts( &mut self, @@ -827,6 +864,20 @@ impl JsEvmWrapper { } } + async fn seed_account_info_async( + evm: Arc>, + address: Address, + info: AccountInfo, + ) -> Result<()> { + let mut lock = evm.lock().await; + let result = lock.seed_account_info(address, info); + + match result { + Ok(_) => Result::Ok(()), + Err(err) => Result::Err(serde::de::Error::custom(err)), + } + } + async fn initialize_genesis_async( evm: Arc>, genesis_ctx: GenesisContext, diff --git a/packages/evm/bindings/src/result.rs b/packages/evm/bindings/src/result.rs index b61bed02f..9fad27418 100644 --- a/packages/evm/bindings/src/result.rs +++ b/packages/evm/bindings/src/result.rs @@ -122,6 +122,18 @@ impl JsAccountInfo { } } +impl TryInto for JsAccountInfo { + type Error = anyhow::Error; + + fn try_into(self) -> Result { + Ok(AccountInfo { + balance: utils::convert_bigint_to_u256(self.balance)?, + nonce: self.nonce.get_u64()?.0, + ..Default::default() + }) + } +} + #[napi(object)] pub struct JsAccountUpdate { pub address: JsString, diff --git a/packages/processor/source/block-processor.ts b/packages/processor/source/block-processor.ts index 16c6c9443..50f424633 100644 --- a/packages/processor/source/block-processor.ts +++ b/packages/processor/source/block-processor.ts @@ -63,7 +63,7 @@ export class BlockProcessor implements Contracts.Processor.BlockProcessor { await this.verifier.verify(unit); - for (const [index, transaction] of unit.getBlock().transactions.entries()) { + for (const [index, transaction] of block.transactions.entries()) { if (index % 20 === 0) { await Utils.sleep(0); } diff --git a/packages/snapshot-legacy-exporter/.gitattributes b/packages/snapshot-legacy-exporter/.gitattributes new file mode 100644 index 000000000..63f6a5b97 --- /dev/null +++ b/packages/snapshot-legacy-exporter/.gitattributes @@ -0,0 +1,7 @@ +# Path-based git attributes +# https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html + +# Ignore all test and documentation with "export-ignore". +/.gitattributes export-ignore +/.gitignore export-ignore +/README.md export-ignore diff --git a/packages/snapshot-legacy-exporter/README.md b/packages/snapshot-legacy-exporter/README.md new file mode 100644 index 000000000..0ba57fbc1 --- /dev/null +++ b/packages/snapshot-legacy-exporter/README.md @@ -0,0 +1,19 @@ +# Mainsail - Snapshot Legacy Exporter + +![banner](https://raw.githubusercontent.com/ArkEcosystem/mainsail/main/banner.jpeg) + +## Documentation + +You can find installation instructions and detailed instructions on how to use this package at the [dedicated documentation site](https://ark.dev/docs/mainsail). + +## Security + +If you discover a security vulnerability within this package, please send an e-mail to [security@ark.io](mailto:security@ark.io). All security vulnerabilities will be promptly addressed. + +## Credits + +This project exists thanks to all the people who [contribute](https://github.com/ArkEcosystem/mainsail/graphs/contributors). + +## License + +[GPL-3.0-only](https://github.com/ArkEcosystem/mainsail/blob/main/LICENSE) © [ARK Ecosystem](https://ark.io) diff --git a/packages/snapshot-legacy-exporter/bin/run.js b/packages/snapshot-legacy-exporter/bin/run.js new file mode 100644 index 000000000..f9f87f2bd --- /dev/null +++ b/packages/snapshot-legacy-exporter/bin/run.js @@ -0,0 +1,22 @@ +import envPaths from "env-paths"; +import path from "path"; +import { makeApplication } from "../distribution/application-factory.js"; +import { Identifiers } from "../distribution/identifiers.js"; + +process.env.CORE_DB_HOST = "localhost"; +process.env.CORE_DB_PORT = "5432"; +process.env.CORE_DB_DATABASE = "test_db"; +process.env.CORE_DB_USERNAME = "test_db"; +process.env.CORE_DB_PASSWORD = "password"; + +async function run() { + const paths = envPaths("mainsail", { suffix: "" }); + const configCore = path.join(paths.config, "core"); + + const app = await makeApplication(configCore, {}); + const generator = app.get(Identifiers.Snapshot.Generator); + + await generator.generate({}); +} + +run(); diff --git a/packages/snapshot-legacy-exporter/package.json b/packages/snapshot-legacy-exporter/package.json new file mode 100644 index 000000000..7fae693aa --- /dev/null +++ b/packages/snapshot-legacy-exporter/package.json @@ -0,0 +1,49 @@ +{ + "name": "@mainsail/snapshot-legacy-exporter", + "version": "0.0.1-evm.9", + "description": "Mainsail V3 legacy state exporter", + "license": "GPL-3.0-only", + "contributors": [], + "type": "module", + "main": "distribution/index.js", + "types": "distribution/index.d.ts", + "files": [ + "/distribution" + ], + "scripts": { + "build": "pnpm run clean && tsc", + "build:watch": "pnpm run clean && tsc -w", + "clean": "del distribution", + "release": "pnpm publish --access public", + "test": "pnpm run uvu source .test.ts", + "test:coverage": "c8 pnpm run test", + "test:coverage:html": "c8 -r html --all pnpm run test", + "test:file": "pnpm run uvu source", + "uvu": "tsx --tsconfig ../../tsconfig.test.json ./node_modules/uvu/bin.js" + }, + "dependencies": { + "@mainsail/container": "workspace:*", + "@mainsail/contracts": "workspace:*", + "@mainsail/kernel": "workspace:*", + "pg": "8.13.1", + "tmp": "0.2.3", + "typeorm": "0.3.20" + }, + "devDependencies": { + "@types/env-paths": "2.1.0", + "@types/fs-extra": "11.0.4", + "@types/pg": "8.11.10", + "@types/pumpify": "1.4.4", + "@types/tmp": "0.2.6", + "env-paths": "3.0.0", + "uvu": "^0.5.6" + }, + "engines": { + "node": ">=20.x" + }, + "arkecosystem": { + "core": { + "alias": "state" + } + } +} diff --git a/packages/snapshot-legacy-exporter/source/application-factory.ts b/packages/snapshot-legacy-exporter/source/application-factory.ts new file mode 100644 index 000000000..9e1cd3427 --- /dev/null +++ b/packages/snapshot-legacy-exporter/source/application-factory.ts @@ -0,0 +1,26 @@ +import { Container } from "@mainsail/container"; +import { Identifiers } from "@mainsail/contracts"; +import { Application } from "@mainsail/kernel"; +import { dirSync, setGracefulCleanup } from "tmp"; + +import { Identifiers as InternalIdentifiers } from "./identifiers.js"; +import { Generator } from "./snapshot/generator.js"; + +export const makeApplication = async (configurationPath: string, options: Record = {}) => { + options = { name: "mainsail", ...options }; + + const app = new Application(new Container()); + app.bind(Identifiers.Application.Name).toConstantValue(options.name); + app.bind(Identifiers.Services.EventDispatcher.Service).toConstantValue({}); + app.bind(Identifiers.Services.Log.Service).toConstantValue({}); + + setGracefulCleanup(); + app.rebind("path.data").toConstantValue(dirSync().name); + + app.bind(InternalIdentifiers.Application).toConstantValue(app); + + // + app.bind(InternalIdentifiers.Snapshot.Generator).to(Generator); + + return app; +}; diff --git a/packages/snapshot-legacy-exporter/source/defaults.ts b/packages/snapshot-legacy-exporter/source/defaults.ts new file mode 100644 index 000000000..32e7064fc --- /dev/null +++ b/packages/snapshot-legacy-exporter/source/defaults.ts @@ -0,0 +1,37 @@ +import { Constants } from "@mainsail/contracts"; +import { Environment } from "@mainsail/kernel"; + +export const defaults = { + database: { + applicationName: "mainsail/snapshot-legacy", + database: + Environment.get(Constants.EnvironmentVariables.CORE_DB_DATABASE) ?? + `${Environment.get(Constants.EnvironmentVariables.CORE_TOKEN)}_${Environment.get(Constants.EnvironmentVariables.CORE_NETWORK_NAME)}`, + entityPrefix: "public.", + + extra: { + options: "-c statement_timeout=3000ms", + }, + + host: Environment.get(Constants.EnvironmentVariables.CORE_DB_HOST, "localhost"), + + logger: "simple-console", + + logging: Environment.isTrue(Constants.EnvironmentVariables.CORE_DB_LOGGING_ENABLED), + + password: Environment.get(Constants.EnvironmentVariables.CORE_DB_PASSWORD, "password"), + + port: Environment.get(Constants.EnvironmentVariables.CORE_DB_PORT, 5432), + + type: "postgres", + username: + Environment.get(Constants.EnvironmentVariables.CORE_DB_USERNAME) ?? + Environment.get(Constants.EnvironmentVariables.CORE_TOKEN), + + v3: { + database: "ark_devnet", + password: "test_db", + user: "test_db", + }, + }, +}; diff --git a/packages/snapshot-legacy-exporter/source/identifiers.ts b/packages/snapshot-legacy-exporter/source/identifiers.ts new file mode 100644 index 000000000..fb0f05d9d --- /dev/null +++ b/packages/snapshot-legacy-exporter/source/identifiers.ts @@ -0,0 +1,7 @@ +export const Identifiers = { + Application: Symbol.for("Configuration"), + LogService: Symbol.for("Configuration"), + Snapshot: { + Generator: Symbol.for("Snapshot"), + }, +}; diff --git a/packages/snapshot-legacy-exporter/source/index.ts b/packages/snapshot-legacy-exporter/source/index.ts new file mode 100644 index 000000000..0ac58e8a1 --- /dev/null +++ b/packages/snapshot-legacy-exporter/source/index.ts @@ -0,0 +1,2 @@ +export * as Interfaces from "./interfaces.js"; +export { Generator } from "./snapshot/generator.js"; diff --git a/packages/snapshot-legacy-exporter/source/interfaces.ts b/packages/snapshot-legacy-exporter/source/interfaces.ts new file mode 100644 index 000000000..5fcd5cff2 --- /dev/null +++ b/packages/snapshot-legacy-exporter/source/interfaces.ts @@ -0,0 +1,13 @@ +export interface LegacySnapshot { + readonly hash: string; + readonly chainTip: { id: string; height: string }; + readonly wallets: LegacyWallet[]; +} + +export interface LegacyWallet { + readonly address: string; // base58 + readonly publicKey?: string; + readonly balance: string; // ARK - 8 decimals + readonly nonce: string; + readonly attributes: Record; +} diff --git a/packages/snapshot-legacy-exporter/source/snapshot/generator.ts b/packages/snapshot-legacy-exporter/source/snapshot/generator.ts new file mode 100644 index 000000000..3c828fd99 --- /dev/null +++ b/packages/snapshot-legacy-exporter/source/snapshot/generator.ts @@ -0,0 +1,124 @@ +import { createHash } from "node:crypto"; +import { writeFile } from "node:fs/promises"; + +import { inject, injectable } from "@mainsail/container"; +import { Application, Providers, Utils } from "@mainsail/kernel"; +import { DataSource } from "typeorm"; +import { PostgresConnectionOptions } from "typeorm/driver/postgres/PostgresConnectionOptions.js"; + +import { Identifiers as InternalIdentifiers } from "../identifiers.js"; +import { LegacySnapshot, LegacyWallet } from "../interfaces.js"; + +interface DatabaseOptions extends PostgresConnectionOptions { + readonly v3: { + readonly user: string; + readonly password: string; + readonly database: string; + }; +} + +@injectable() +export class Generator { + @inject(InternalIdentifiers.Application) + private app!: Application; + + async #connect(): Promise { + const pluginConfig = await this.app + .resolve(Providers.PluginConfiguration) + .discover("@mainsail/snapshot-legacy-exporter", process.cwd()); + + const options = pluginConfig.get("database"); + Utils.assert.defined(options); + + const dataSource = new DataSource({ + ...options, + entities: [], + migrations: [], + migrationsRun: false, + synchronize: false, + }); + + await dataSource.initialize(); + + // Link v3 database + await dataSource.query(` + CREATE EXTENSION IF NOT EXISTS dblink; + SELECT dblink_connect('v3_db', 'dbname=${options.v3.database} user=${options.v3.user} password=${options.v3.password}'); + `); + + return dataSource; + } + + public async generate(): Promise { + // Connect to V3 database + const dataSource = await this.#connect(); + console.log("connected!"); + + const hash = createHash("sha256"); + + const [chainTip] = await dataSource.query( + "SELECT * FROM dblink('v3_db', 'SELECT id, height FROM blocks ORDER BY height DESC LIMIT 1') AS blocks(id varchar, height bigint);", + ); + hash.update(JSON.stringify(chainTip)); + + // Loop all wallets + const limit = 1000; + let offset = 0; + + const wallets: LegacyWallet[] = []; + for (;;) { + const chunk: LegacyWallet[] = await dataSource.query(` + SELECT * FROM dblink( + 'v3_db', + ' + SELECT address, public_key, balance, nonce, attributes FROM wallets -- WHERE attributes ?| array[''vote'', ''delegate'', ''username''] + ORDER BY balance DESC, address ASC LIMIT ${limit} OFFSET ${offset} + ' + ) AS wallets(address varchar, "publicKey" varchar, balance bigint, nonce bigint, attributes jsonb); + `); + + for (const wallet of chunk) { + // sanitize + if (wallet.attributes["delegate"]) { + delete wallet.attributes["delegate"]["lastBlock"]; + } + + delete wallet.attributes["ipfs"]; // ? + delete wallet.attributes["business"]; // ? + delete wallet.attributes["htlc"]; // ? + delete wallet.attributes["entities"]; // ? + + // TODO: secondPublicKey + // TODO: multiSignature + + hash.update(JSON.stringify(wallet)); + wallets.push(wallet); + } + + offset += limit; + + if (chunk.length === 0) { + break; + } + } + + // Write snapshot + const snapshot: LegacySnapshot = { + chainTip, + hash: hash.digest("hex"), + wallets, + }; + + const path = `distribution/snapshot/snapshot-${snapshot.hash}.json`; + + // TODO: to reduce size we can compress it + + await writeFile(path, JSON.stringify(snapshot, undefined, 2)); + + console.log(`Wrote ${wallets.length} wallets to '${path}'`); + + await dataSource.destroy(); + } +} + +// Wrote 207659 wallets to 'distribution/snapshot/snapshot-19a87c96dbe8ad1be06d33e97cd17f5662eb952c29efd3d8bb00c9c75e7582bc.json' diff --git a/packages/snapshot-legacy-exporter/tsconfig.json b/packages/snapshot-legacy-exporter/tsconfig.json new file mode 100644 index 000000000..76e3e3970 --- /dev/null +++ b/packages/snapshot-legacy-exporter/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "distribution" + }, + "include": ["source/**/**.ts"] +} diff --git a/packages/snapshot-legacy-importer/.gitattributes b/packages/snapshot-legacy-importer/.gitattributes new file mode 100644 index 000000000..63f6a5b97 --- /dev/null +++ b/packages/snapshot-legacy-importer/.gitattributes @@ -0,0 +1,7 @@ +# Path-based git attributes +# https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html + +# Ignore all test and documentation with "export-ignore". +/.gitattributes export-ignore +/.gitignore export-ignore +/README.md export-ignore diff --git a/packages/snapshot-legacy-importer/README.md b/packages/snapshot-legacy-importer/README.md new file mode 100644 index 000000000..d5f6b8761 --- /dev/null +++ b/packages/snapshot-legacy-importer/README.md @@ -0,0 +1,19 @@ +# Mainsail - Snapshot Legacy Importer + +![banner](https://raw.githubusercontent.com/ArkEcosystem/mainsail/main/banner.jpeg) + +## Documentation + +You can find installation instructions and detailed instructions on how to use this package at the [dedicated documentation site](https://ark.dev/docs/mainsail). + +## Security + +If you discover a security vulnerability within this package, please send an e-mail to [security@ark.io](mailto:security@ark.io). All security vulnerabilities will be promptly addressed. + +## Credits + +This project exists thanks to all the people who [contribute](https://github.com/ArkEcosystem/mainsail/graphs/contributors). + +## License + +[GPL-3.0-only](https://github.com/ArkEcosystem/mainsail/blob/main/LICENSE) © [ARK Ecosystem](https://ark.io) diff --git a/packages/snapshot-legacy-importer/package.json b/packages/snapshot-legacy-importer/package.json new file mode 100644 index 000000000..bd0a71beb --- /dev/null +++ b/packages/snapshot-legacy-importer/package.json @@ -0,0 +1,41 @@ +{ + "name": "@mainsail/snapshot-legacy-importer", + "version": "0.0.1-evm.9", + "description": "Mainsail V3 legacy state importer", + "license": "GPL-3.0-only", + "contributors": [], + "type": "module", + "main": "distribution/index.js", + "types": "distribution/index.d.ts", + "files": [ + "/distribution" + ], + "scripts": { + "build": "pnpm run clean && tsc", + "build:watch": "pnpm run clean && tsc -w", + "clean": "del distribution", + "release": "pnpm publish --access public", + "test": "pnpm run uvu source .test.ts", + "test:coverage": "c8 pnpm run test", + "test:coverage:html": "c8 -r html --all pnpm run test", + "test:file": "pnpm run uvu source", + "uvu": "tsx --tsconfig ../../tsconfig.test.json ./node_modules/uvu/bin.js" + }, + "dependencies": { + "@mainsail/container": "workspace:*", + "@mainsail/contracts": "workspace:*", + "@mainsail/evm-consensus": "workspace:*", + "@mainsail/evm-contracts": "workspace:*", + "@mainsail/kernel": "workspace:*", + "@mainsail/snapshot-legacy-exporter": "workspace:*", + "@mainsail/utils": "workspace:*", + "bip39": "3.1.0", + "ethers": "^6.11.0" + }, + "devDependencies": { + "uvu": "^0.5.6" + }, + "engines": { + "node": ">=20.x" + } +} diff --git a/packages/snapshot-legacy-importer/source/importer.ts b/packages/snapshot-legacy-importer/source/importer.ts new file mode 100644 index 000000000..ae8fc0dec --- /dev/null +++ b/packages/snapshot-legacy-importer/source/importer.ts @@ -0,0 +1,387 @@ +import { createHash } from "node:crypto"; + +import { inject, injectable, tagged } from "@mainsail/container"; +import { Contracts, Identifiers } from "@mainsail/contracts"; +import { Identifiers as EvmConsensusIdentifiers } from "@mainsail/evm-consensus"; +import { ConsensusAbi, UsernamesAbi } from "@mainsail/evm-contracts"; +import { Utils } from "@mainsail/kernel"; +import { Interfaces } from "@mainsail/snapshot-legacy-exporter"; +import { BigNumber } from "@mainsail/utils"; +import { entropyToMnemonic } from "bip39"; +import { ethers, sha256 } from "ethers"; + +@injectable() +export class Importer implements Contracts.Snapshot.LegacyImporter { + @inject(Identifiers.Application.Instance) + private readonly app!: Contracts.Kernel.Application; + + @inject(Identifiers.Services.Filesystem.Service) + private readonly fileSystem!: Contracts.Kernel.Filesystem; + + @inject(Identifiers.Services.Log.Service) + private readonly logger!: Contracts.Kernel.Logger; + + @inject(Identifiers.Cryptography.Identity.Address.Factory) + private readonly addressFactory!: Contracts.Crypto.AddressFactory; + + @inject(Identifiers.Cryptography.Identity.KeyPair.Factory) + @tagged("type", "consensus") + private readonly consensusKeyPairFactory!: Contracts.Crypto.KeyPairFactory; + + @inject(Identifiers.Cryptography.Configuration) + private readonly configuration!: Contracts.Crypto.Configuration; + + @inject(Identifiers.Evm.Instance) + @tagged("instance", "evm") + private readonly evm!: Contracts.Evm.Instance; + + @inject(EvmConsensusIdentifiers.Internal.Addresses.Deployer) + private readonly deployerAddress!: string; + + #consensusProxyContractAddress!: string; + #usernamesProxyContractAddress!: string; + + #data: { + wallets: Contracts.Snapshot.ImportedLegacyWallet[]; + voters: Contracts.Snapshot.ImportedLegacyVoter[]; + validators: Contracts.Snapshot.ImportedLegacyValidator[]; + snapshotHash: string; + } = { + snapshotHash: "", + validators: [], + voters: [], + wallets: [], + }; + + public get voters(): Contracts.Snapshot.ImportedLegacyVoter[] { + return this.#data.voters; + } + + public get validators(): Contracts.Snapshot.ImportedLegacyValidator[] { + return this.#data.validators; + } + + public get wallets(): Contracts.Snapshot.ImportedLegacyWallet[] { + return this.#data.wallets; + } + + public get snapshotHash(): string { + return this.#data.snapshotHash; + } + + #nonce = 0n; + + public async run(genesisBlock: Contracts.Crypto.Commit): Promise { + const { + block: { header }, + } = genesisBlock; + + const milestone = this.configuration.getMilestone(0); + Utils.assert.defined(milestone.snapshot); + + this.logger.info(`Importing genesis snapshot: ${milestone.snapshot.hash}`); + + // TODO: fix hardcoded path + await this.prepare(`./snapshot-${milestone.snapshot.hash}.json`); + + if (this.snapshotHash !== milestone.snapshot.hash) { + throw new Error("imported snapshot hash mismatch"); + } + + if (this.snapshotHash !== header.previousBlock) { + throw new Error("genesis block previous block hash mismatch "); + } + + const result = await this.import({ + commitKey: { height: BigInt(header.height), round: BigInt(header.round) }, + timestamp: header.timestamp, + }); + + if (result.stateHash !== header.stateHash) { + throw new Error("genesis block snapshot state hash mismatch "); + } + + if (result.initialTotalSupply !== header.totalAmount.toBigInt()) { + throw new Error("genesis block snapshot supply mismatch "); + } + + return result; + } + + public async prepare(snapshotPath: string): Promise { + const snapshot = this.fileSystem.readJSONSync(snapshotPath); + + const hash = createHash("sha256"); + + hash.update(JSON.stringify(snapshot.chainTip)); + + const wallets: Contracts.Snapshot.ImportedLegacyWallet[] = []; + const voters: Contracts.Snapshot.ImportedLegacyVoter[] = []; + const validators: Contracts.Snapshot.ImportedLegacyValidator[] = []; + + let skippedColdWallets = 0; + + for (const wallet of snapshot.wallets) { + hash.update(JSON.stringify(wallet)); + + // the received balance is based on 8 decimals; convert it to WEI (18 decimals) + const balance = BigNumber.make(wallet.balance).times(1e10).toBigInt(); + + if (balance < 0) { + // skip OG genesis wallet + this.logger.debug(`>> skipping wallet ${wallet.address} with negative balance ${balance.toString()}`); + continue; + } + + if (!wallet.publicKey) { + // TODO: support cold wallets without a known public key + skippedColdWallets++; + continue; + } + + let ethAddress: string | undefined; + if (wallet.publicKey) { + ethAddress = await this.addressFactory.fromPublicKey(wallet.publicKey); + } + + wallets.push({ + arkAddress: wallet.address, + balance, + ethAddress, + publicKey: wallet.publicKey, + }); + + if (wallet.attributes["vote"]) { + Utils.assert.defined(wallet.publicKey); + + const vote = await this.addressFactory.fromPublicKey(wallet.attributes["vote"]); + + voters.push({ + arkAddress: wallet.address, + ethAddress, + publicKey: wallet.publicKey, + vote, + }); + } + + if (wallet.attributes["delegate"]) { + validators.push({ + arkAddress: wallet.address, + blsPublicKey: "TODO", // TODO: get actual bls key; for now it gets replaced by the genesis block generator + ethAddress, + isResigned: wallet.attributes["delegate"]["isResigned"] ?? false, + publicKey: wallet.publicKey, + username: wallet.attributes["delegate"]["username"], + }); + } + } + + if (skippedColdWallets > 0) { + this.logger.debug(`>> skipped ${skippedColdWallets} cold wallets without publicKey`); + } + + const calculatedHash = hash.digest("hex"); + if (snapshot.hash !== calculatedHash) { + throw new Error(`failed to verify snapshot integrity: ${snapshot.hash} - ${calculatedHash}`); + } + + this.logger.info( + `snapshot stats: ${JSON.stringify({ + validators: validators.length, + voters: voters.length, + wallets: wallets.length, + })}`, + ); + + this.#data = { + snapshotHash: calculatedHash, + validators, + voters, + wallets, + }; + } + + public async import( + options: Contracts.Snapshot.LegacyImportOptions, + ): Promise { + await this.evm.prepareNextCommit({ commitKey: { height: 0n, round: 0n } }); + + const deployerAccount = await this.evm.getAccountInfo(this.deployerAddress); + this.#nonce = deployerAccount.nonce; + + this.#consensusProxyContractAddress = this.app.get( + EvmConsensusIdentifiers.Contracts.Addresses.Consensus, + ); + + this.#usernamesProxyContractAddress = this.app.get( + EvmConsensusIdentifiers.Contracts.Addresses.Usernames, + ); + + // 1) Seed account balances + const totalSupply = await this.#seedWallets(options); + + // 2) Seed validators + await this.#seedValidators(options); + + // 3) Seed voters + await this.#seedVoters(options); + + // 4) Seed usernames + await this.#seedUsernames(options); + + // 5) Calculate state hash + const stateHash = await this.evm.stateHash(options.commitKey, this.#data.snapshotHash); + + return { + initialTotalSupply: totalSupply, + stateHash, + }; + } + + async #seedWallets(options: Contracts.Snapshot.LegacyImportOptions): Promise { + let totalSupply = 0n; + + this.logger.info(`seeding ${this.#data.wallets.length} wallets`); + + for (const wallet of this.#data.wallets) { + Utils.assert.defined(wallet.ethAddress); + + await this.evm.seedAccountInfo(wallet.ethAddress, { + balance: wallet.balance, + nonce: 0n, + }); + + totalSupply += wallet.balance; + } + + return totalSupply; + } + + async #seedValidators(options: Contracts.Snapshot.LegacyImportOptions): Promise { + const iface = new ethers.Interface(ConsensusAbi.abi); + + this.logger.info(`seeding ${this.#data.validators.length} validators`); + + for (const validator of this.#data.validators) { + Utils.assert.defined(validator.ethAddress); + + // TODO: remove this once the actual BLS keys are available + if (validator.blsPublicKey === "TODO") { + const entropy = sha256(Buffer.from(validator.username, "utf8")).slice(2, 34); + const mnemonic = entropyToMnemonic(Buffer.from(entropy, "hex")); + + const consensusKeyPair = await this.consensusKeyPairFactory.fromMnemonic(mnemonic); + validator.blsPublicKey = consensusKeyPair.publicKey; + } + + const data = iface + .encodeFunctionData("addValidator", [ + validator.ethAddress, + Buffer.from(validator.blsPublicKey, "hex"), + validator.isResigned, + ]) + .slice(2); + + const result = await this.evm.process( + this.#getTransactionContext({ + ...options, + data, + recipient: this.#consensusProxyContractAddress, + }), + ); + + if (!result.receipt.success) { + throw new Error("failed to add validator"); + } + } + } + + async #seedVoters(options: Contracts.Snapshot.LegacyImportOptions): Promise { + const iface = new ethers.Interface(ConsensusAbi.abi); + + const validatorLookup = this.#data.validators.reduce((accumulator, current) => { + accumulator[current.ethAddress!] = accumulator; + return accumulator; + }, {}); + + this.logger.info(`seeding ${this.#data.voters.length} voters`); + + for (const voter of this.#data.voters) { + Utils.assert.defined(voter.ethAddress); + + if (!validatorLookup[voter.vote]) { + this.logger.warning(`!!! skipping voter ${voter.arkAddress} for non-existent validator: ${voter.vote}`); + continue; + } + + const data = iface.encodeFunctionData("addVote", [voter.ethAddress, voter.vote]).slice(2); + + const result = await this.evm.process( + this.#getTransactionContext({ + ...options, + data, + recipient: this.#consensusProxyContractAddress, + }), + ); + + if (!result.receipt.success) { + throw new Error("failed to add vote"); + } + } + } + + async #seedUsernames(options: Contracts.Snapshot.LegacyImportOptions): Promise { + const iface = new ethers.Interface(UsernamesAbi.abi); + + this.logger.info(`seeding ${this.#data.validators.length} usernames`); + + for (const validator of this.#data.validators) { + if (!validator.username) { + continue; + } + + const data = iface.encodeFunctionData("addUsername", [validator.ethAddress, validator.username]).slice(2); + + const result = await this.evm.process( + this.#getTransactionContext({ + ...options, + data, + recipient: this.#usernamesProxyContractAddress, + }), + ); + + if (!result.receipt.success) { + throw new Error("failed to add username"); + } + } + } + + #getTransactionContext( + options: Contracts.Snapshot.LegacyImportOptions & { + data: string; + recipient: string; + }, + ): Contracts.Evm.TransactionContext { + const { evmSpec } = this.configuration.getMilestone(); + const nonce = this.#nonce; + + return { + blockContext: { + commitKey: options.commitKey, + gasLimit: BigInt(10_000_000), + timestamp: BigInt(options.timestamp), + validatorAddress: this.deployerAddress, + }, + caller: this.deployerAddress, + data: Buffer.from(options.data, "hex"), + gasLimit: BigInt(10_000_000), + nonce, + recipient: options.recipient, + specId: evmSpec, + txHash: this.#generateTxHash(), + value: 0n, + } as Contracts.Evm.TransactionContext; + } + + #generateTxHash = () => sha256(Buffer.from(`tx-${this.deployerAddress}-${this.#nonce++}`, "utf8")).slice(2); +} diff --git a/packages/snapshot-legacy-importer/source/index.ts b/packages/snapshot-legacy-importer/source/index.ts new file mode 100644 index 000000000..8dccd436d --- /dev/null +++ b/packages/snapshot-legacy-importer/source/index.ts @@ -0,0 +1,14 @@ +import { Identifiers } from "@mainsail/contracts"; +import { Providers } from "@mainsail/kernel"; + +import { Importer } from "./importer.js"; + +export class ServiceProvider extends Providers.ServiceProvider { + public async register(): Promise { + this.app.bind(Identifiers.Snapshot.Legacy.Importer).to(Importer).inSingletonScope(); + } + + public async required(): Promise { + return true; + } +} diff --git a/packages/snapshot-legacy-importer/tsconfig.json b/packages/snapshot-legacy-importer/tsconfig.json new file mode 100644 index 000000000..76e3e3970 --- /dev/null +++ b/packages/snapshot-legacy-importer/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "distribution" + }, + "include": ["source/**/**.ts"] +} diff --git a/packages/test-framework/source/app/sandbox.test.ts b/packages/test-framework/source/app/sandbox.test.ts index ef9ef452f..8639da44e 100644 --- a/packages/test-framework/source/app/sandbox.test.ts +++ b/packages/test-framework/source/app/sandbox.test.ts @@ -33,7 +33,7 @@ describe("Sandbox", ({ it, assert, spyFn }) => { maxBlockPayload: 2_097_152, maxTxPerBlock: 150, network: "dummynet", - premine: "15300000000000000", + premine: "53000000000000000", pubKeyHash: 23, rewardAmount: "200000000", rewardHeight: 75_600, diff --git a/packages/test-framework/source/app/sandbox.ts b/packages/test-framework/source/app/sandbox.ts index f25be49f7..5568c7d2a 100644 --- a/packages/test-framework/source/app/sandbox.ts +++ b/packages/test-framework/source/app/sandbox.ts @@ -23,7 +23,7 @@ export class Sandbox { maxBlockPayload: 2_097_152, maxTxPerBlock: 150, network: "unitnet", - premine: "15300000000000000", + premine: "53000000000000000", pubKeyHash: 23, rewardAmount: "200_000_000", rewardHeight: 75_600, diff --git a/packages/test-framework/test/assets/sanbox-options.ts b/packages/test-framework/test/assets/sanbox-options.ts index e8dff13e7..8a1aec128 100644 --- a/packages/test-framework/test/assets/sanbox-options.ts +++ b/packages/test-framework/test/assets/sanbox-options.ts @@ -15,7 +15,7 @@ export const sandboxOptions: SandboxOptions = { maxBlockPayload: 2_097_152, maxTxPerBlock: 150, network: "unitnet", - premine: "15300000000000000", + premine: "53000000000000000", pubKeyHash: 23, rewardAmount: 200_000_000, rewardHeight: 75_600, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d443afea3..104744285 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,10 +13,10 @@ importers: version: 20.11.16 '@typescript-eslint/eslint-plugin': specifier: ^7.2.0 - version: 7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2) + version: 7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.56.0)(typescript@5.4.2))(eslint@8.56.0)(typescript@5.4.2) '@typescript-eslint/parser': specifier: ^7.2.0 - version: 7.16.0(eslint@8.57.0)(typescript@5.4.2) + version: 7.2.0(eslint@8.56.0)(typescript@5.4.2) c8: specifier: ^9.1.0 version: 9.1.0 @@ -31,28 +31,28 @@ importers: version: 1.4.7 eslint: specifier: ^8.56.0 - version: 8.57.0 + version: 8.56.0 eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.0) + version: 9.1.0(eslint@8.56.0) eslint-plugin-import: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0) + version: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.56.0)(typescript@5.4.2))(eslint@8.56.0) eslint-plugin-jsx-a11y: specifier: ^6.8.0 - version: 6.9.0(eslint@8.57.0) + version: 6.8.0(eslint@8.56.0) eslint-plugin-prettier: specifier: ^5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.2) + version: 5.1.3(eslint-config-prettier@9.1.0(eslint@8.56.0))(eslint@8.56.0)(prettier@3.2.5) eslint-plugin-promise: specifier: ^6.1.1 - version: 6.4.0(eslint@8.57.0) + version: 6.1.1(eslint@8.56.0) eslint-plugin-simple-import-sort: specifier: ^10.0.0 - version: 10.0.0(eslint@8.57.0) + version: 10.0.0(eslint@8.56.0) eslint-plugin-sonarjs: specifier: ^0.23.0 - version: 0.23.0(eslint@8.57.0) + version: 0.23.0(eslint@8.56.0) eslint-plugin-sort-keys-fix: specifier: ^1.1.2 version: 1.1.2 @@ -61,49 +61,49 @@ importers: version: 0.2.1 eslint-plugin-testing-library: specifier: ^6.2.0 - version: 6.2.2(eslint@8.57.0)(typescript@5.4.2) + version: 6.2.0(eslint@8.56.0)(typescript@5.4.2) eslint-plugin-unicorn: specifier: ^51.0.1 - version: 51.0.1(eslint@8.57.0) + version: 51.0.1(eslint@8.56.0) eslint-plugin-unused-imports: specifier: ^3.0.0 - version: 3.2.0(@typescript-eslint/eslint-plugin@7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0) + version: 3.0.0(@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.56.0)(typescript@5.4.2))(eslint@8.56.0)(typescript@5.4.2))(eslint@8.56.0) husky: specifier: ^9.0.10 - version: 9.0.11 + version: 9.0.10 lerna: specifier: ^6.6.2 version: 6.6.2(encoding@0.1.13) lint-staged: specifier: ^15.2.2 - version: 15.2.7 + version: 15.2.2 madge: specifier: ^6.1.0 version: 6.1.0(typescript@5.4.2) npm-check-updates: specifier: ^16.14.14 - version: 16.14.20 + version: 16.14.14 prettier: specifier: ^3.2.5 - version: 3.3.2 + version: 3.2.5 sort-package-json: specifier: ^2.7.0 - version: 2.10.0 + version: 2.7.0 tsx: specifier: ^4.7.1 - version: 4.16.2 + version: 4.7.1 typedoc: specifier: ^0.25.7 - version: 0.25.13(typescript@5.4.2) + version: 0.25.7(typescript@5.4.2) typescript: specifier: 5.4.2 version: 5.4.2 typesync: specifier: ^0.12.1 - version: 0.12.2(typescript@5.4.2) + version: 0.12.1(typescript@5.4.2) yaml: specifier: ^2.3.4 - version: 2.4.5 + version: 2.3.4 packages/api: dependencies: @@ -154,7 +154,7 @@ importers: version: 4.1.5 pm2: specifier: ^5.3.0 - version: 5.4.2 + version: 5.3.0 devDependencies: '@types/fs-extra': specifier: 11.0.4 @@ -251,15 +251,15 @@ importers: specifier: 1.11.10 version: 1.11.10 pg: - specifier: 8.11.3 - version: 8.11.3 + specifier: 8.13.1 + version: 8.13.1 typeorm: specifier: 0.3.20 - version: 0.3.20(better-sqlite3@9.4.3)(pg@8.11.3)(ts-node@10.9.2(@types/node@20.11.16)(typescript@5.4.2)) + version: 0.3.20(pg@8.13.1) devDependencies: '@types/pg': - specifier: 8.11.2 - version: 8.11.2 + specifier: 8.11.10 + version: 8.11.10 uvu: specifier: ^0.5.6 version: 0.5.6 @@ -415,7 +415,7 @@ importers: version: link:../utils ethers: specifier: ^6.11.0 - version: 6.13.1 + version: 6.11.1 joi: specifier: 17.12.2 version: 17.12.2 @@ -655,6 +655,9 @@ importers: '@mainsail/crypto-wif': specifier: workspace:* version: link:../crypto-wif + '@mainsail/evm-consensus': + specifier: workspace:* + version: link:../evm-consensus '@mainsail/evm-contracts': specifier: workspace:* version: link:../evm-contracts @@ -670,6 +673,12 @@ importers: '@mainsail/serializer': specifier: workspace:* version: link:../serializer + '@mainsail/snapshot-legacy-exporter': + specifier: workspace:* + version: link:../snapshot-legacy-exporter + '@mainsail/snapshot-legacy-importer': + specifier: workspace:* + version: link:../snapshot-legacy-importer '@mainsail/utils': specifier: workspace:* version: link:../utils @@ -687,7 +696,7 @@ importers: version: 7.1.0 ethers: specifier: ^6.11.0 - version: 6.13.1 + version: 6.11.0 fs-extra: specifier: 11.2.0 version: 11.2.0 @@ -980,7 +989,7 @@ importers: version: 4.1.5 pm2: specifier: ^5.3.0 - version: 5.4.2 + version: 5.3.0 prompts: specifier: 2.4.2 version: 2.4.2 @@ -1069,7 +1078,7 @@ importers: version: link:../utils ethers: specifier: ^6.11.1 - version: 6.13.1 + version: 6.11.1 devDependencies: '@mainsail/crypto-config': specifier: workspace:* @@ -1300,10 +1309,10 @@ importers: dependencies: '@chainsafe/bls': specifier: ^7.1.3 - version: 7.1.3(@chainsafe/blst@0.2.11(encoding@0.1.13)) + version: 7.1.3(@chainsafe/blst@0.2.10(encoding@0.1.13)) '@chainsafe/blst': specifier: ^0.2.10 - version: 0.2.11(encoding@0.1.13) + version: 0.2.10(encoding@0.1.13) '@mainsail/container': specifier: workspace:* version: link:../container @@ -1318,10 +1327,10 @@ importers: version: link:../utils '@scure/bip39': specifier: ^1.2.2 - version: 1.3.0 + version: 1.2.2 bls12-381-keygen: specifier: ^0.2.3 - version: 0.2.4 + version: 0.2.3 wif: specifier: ^4.0.0 version: 4.0.0 @@ -1401,13 +1410,13 @@ importers: version: link:../utils '@noble/ed25519': specifier: ^2.0.0 - version: 2.1.0 + version: 2.0.0 '@noble/hashes': specifier: ^1.3.3 - version: 1.4.0 + version: 1.3.3 '@scure/bip39': specifier: ^1.2.2 - version: 1.3.0 + version: 1.2.2 wif: specifier: ^4.0.0 version: 4.0.0 @@ -1676,7 +1685,7 @@ importers: version: link:../validation ethers: specifier: ^6.11.0 - version: 6.13.1 + version: 6.11.0 uvu: specifier: ^0.5.6 version: 0.5.6 @@ -1837,7 +1846,7 @@ importers: version: link:../utils ethers: specifier: ^6.11.0 - version: 6.13.1 + version: 6.11.0 devDependencies: '@types/seedrandom': specifier: ^3.0.8 @@ -2145,7 +2154,7 @@ importers: version: 17.12.2 winston: specifier: ^3.12.0 - version: 3.13.1 + version: 3.12.0 devDependencies: uvu: specifier: ^0.5.6 @@ -2333,6 +2342,83 @@ importers: specifier: ^0.5.6 version: 0.5.6 + packages/snapshot-legacy-exporter: + dependencies: + '@mainsail/container': + specifier: workspace:* + version: link:../container + '@mainsail/contracts': + specifier: workspace:* + version: link:../contracts + '@mainsail/kernel': + specifier: workspace:* + version: link:../kernel + pg: + specifier: 8.13.1 + version: 8.13.1 + tmp: + specifier: 0.2.3 + version: 0.2.3 + typeorm: + specifier: 0.3.20 + version: 0.3.20(pg@8.13.1) + devDependencies: + '@types/env-paths': + specifier: 2.1.0 + version: 2.1.0 + '@types/fs-extra': + specifier: 11.0.4 + version: 11.0.4 + '@types/pg': + specifier: 8.11.10 + version: 8.11.10 + '@types/pumpify': + specifier: 1.4.4 + version: 1.4.4 + '@types/tmp': + specifier: 0.2.6 + version: 0.2.6 + env-paths: + specifier: 3.0.0 + version: 3.0.0 + uvu: + specifier: ^0.5.6 + version: 0.5.6 + + packages/snapshot-legacy-importer: + dependencies: + '@mainsail/container': + specifier: workspace:* + version: link:../container + '@mainsail/contracts': + specifier: workspace:* + version: link:../contracts + '@mainsail/evm-consensus': + specifier: workspace:* + version: link:../evm-consensus + '@mainsail/evm-contracts': + specifier: workspace:* + version: link:../evm-contracts + '@mainsail/kernel': + specifier: workspace:* + version: link:../kernel + '@mainsail/snapshot-legacy-exporter': + specifier: workspace:* + version: link:../snapshot-legacy-exporter + '@mainsail/utils': + specifier: workspace:* + version: link:../utils + bip39: + specifier: 3.1.0 + version: 3.1.0 + ethers: + specifier: ^6.11.0 + version: 6.11.0 + devDependencies: + uvu: + specifier: ^0.5.6 + version: 0.5.6 + packages/state: dependencies: '@mainsail/container': @@ -2359,7 +2445,7 @@ importers: version: 1.4.4 sinon: specifier: ^17.0.1 - version: 17.0.2 + version: 17.0.1 uvu: specifier: ^0.5.6 version: 0.5.6 @@ -2495,7 +2581,7 @@ importers: version: 14.0.0-beta.4 sinon: specifier: ^17.0.1 - version: 17.0.2 + version: 17.0.1 string-kit: specifier: 0.18.2 version: 0.18.2 @@ -2504,7 +2590,7 @@ importers: version: 0.5.6 zod: specifier: ~3.22.4 - version: 3.22.5 + version: 3.22.4 devDependencies: '@types/chance': specifier: 1.1.6 @@ -2532,7 +2618,7 @@ importers: version: link:../utils ethers: specifier: ^6.11.0 - version: 6.13.1 + version: 6.11.0 devDependencies: '@types/chance': specifier: 1.1.6 @@ -2663,10 +2749,10 @@ importers: version: 4.3.1 ethers: specifier: ^6.11.0 - version: 6.13.1 + version: 6.11.0 fast-copy: specifier: ^3.0.1 - version: 3.0.2 + version: 3.0.1 fast-deep-equal: specifier: ^3.1.3 version: 3.1.3 @@ -2973,7 +3059,7 @@ importers: version: 3.6.0 ethers: specifier: ^6.11.0 - version: 6.13.1 + version: 6.11.0 fs-extra: specifier: 11.2.0 version: 11.2.0 @@ -3102,7 +3188,7 @@ importers: version: 0.2.6 ethers: specifier: ^6.11.0 - version: 6.13.1 + version: 6.11.0 tmp: specifier: 0.2.3 version: 0.2.3 @@ -3115,57 +3201,41 @@ packages: '@adraffy/ens-normalize@1.10.1': resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} - '@babel/code-frame@7.24.7': - resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.24.8': - resolution: {integrity: sha512-47DG+6F5SzOi0uEvK4wMShmn5yY0mVjVJoWTphdY2B4Rx9wHgjK7Yhtr0ru6nE+sn0v38mzrWOlah0p/YlHHOQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-environment-visitor@7.24.7': - resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-function-name@7.24.7': - resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} - '@babel/helper-hoist-variables@7.24.7': - resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} + '@babel/generator@7.26.2': + resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==} engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.24.7': - resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.24.8': - resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.7': - resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} - engines: {node: '>=6.9.0'} - - '@babel/highlight@7.24.7': - resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.24.8': - resolution: {integrity: sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==} + '@babel/parser@7.26.2': + resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/template@7.24.7': - resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.24.8': - resolution: {integrity: sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==} + '@babel/template@7.25.9': + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} engines: {node: '>=6.9.0'} - '@babel/types@7.24.8': - resolution: {integrity: sha512-SkSBEHwwJRU52QEVZBmMBnE5Ux2/6WU1grdYyOhpbCNxbmJrDuDCphBzKZSO3taf0zztp+qkWlymE5tVL5l0TA==} + '@babel/traverse@7.25.9': + resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.26.0': + resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@0.2.3': @@ -3189,8 +3259,8 @@ packages: '@chainsafe/blst': optional: true - '@chainsafe/blst@0.2.11': - resolution: {integrity: sha512-URyOLq5GtxBoxibOnd2pgLydCy0UZzbiIIBcsRAvGxAsRzjZL04TsQfwRkz5aphU3a1ebeRoMmI/HHyMCiFSQg==} + '@chainsafe/blst@0.2.10': + resolution: {integrity: sha512-ofecTL5fWsNwnpS2oUh56dDXJRmCEcDKNNBFDb2ux+WtvdjrdSq6B+L/eNlg+sVBzXbzrCw1jq8Y8+cYiHg32w==} '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} @@ -3200,10 +3270,6 @@ packages: resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} engines: {node: '>=0.1.90'} - '@cspotcode/source-map-support@0.8.1': - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} - '@dabh/diagnostics@2.0.3': resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==} @@ -3211,160 +3277,160 @@ packages: resolution: {integrity: sha512-1YUvQ+e0eeTWAHoN8Uz2x2U37jZs6IGutiIE5LXId7cxfUGhtZjzxE06FdUiuiRrW+UE0vNCdSNPH2lY4dQCOQ==} engines: {node: '>=12'} - '@esbuild/aix-ppc64@0.21.5': - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + '@esbuild/aix-ppc64@0.19.12': + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.21.5': - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + '@esbuild/android-arm64@0.19.12': + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} engines: {node: '>=12'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.21.5': - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + '@esbuild/android-arm@0.19.12': + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} engines: {node: '>=12'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.21.5': - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + '@esbuild/android-x64@0.19.12': + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} engines: {node: '>=12'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.21.5': - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + '@esbuild/darwin-arm64@0.19.12': + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.21.5': - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + '@esbuild/darwin-x64@0.19.12': + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.21.5': - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + '@esbuild/freebsd-arm64@0.19.12': + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.21.5': - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + '@esbuild/freebsd-x64@0.19.12': + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.21.5': - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + '@esbuild/linux-arm64@0.19.12': + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.21.5': - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + '@esbuild/linux-arm@0.19.12': + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} engines: {node: '>=12'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.21.5': - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + '@esbuild/linux-ia32@0.19.12': + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.21.5': - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + '@esbuild/linux-loong64@0.19.12': + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.21.5': - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + '@esbuild/linux-mips64el@0.19.12': + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.21.5': - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + '@esbuild/linux-ppc64@0.19.12': + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.21.5': - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + '@esbuild/linux-riscv64@0.19.12': + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.21.5': - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + '@esbuild/linux-s390x@0.19.12': + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.21.5': - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + '@esbuild/linux-x64@0.19.12': + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} engines: {node: '>=12'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.21.5': - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + '@esbuild/netbsd-x64@0.19.12': + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-x64@0.21.5': - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + '@esbuild/openbsd-x64@0.19.12': + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.21.5': - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + '@esbuild/sunos-x64@0.19.12': + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.21.5': - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + '@esbuild/win32-arm64@0.19.12': + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.21.5': - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + '@esbuild/win32-ia32@0.19.12': + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.21.5': - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + '@esbuild/win32-x64@0.19.12': + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} engines: {node: '>=12'} cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.4.0': - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + '@eslint-community/eslint-utils@4.4.1': + resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.11.0': - resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/eslintrc@2.1.4': resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + '@eslint/js@8.56.0': + resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} '@gar/promisify@1.1.3': @@ -3530,9 +3596,6 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@jridgewell/trace-mapping@0.3.9': - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - '@jsdoc/salty@0.2.8': resolution: {integrity: sha512-5e+SFVavj1ORKlKaKr2BmTOekmXbelU7dC0cDkQLqag7xfuTPuGMUFx7KWJuv4bYZrTsoL2Z18VVCOKYxzoHcg==} engines: {node: '>=v12.0.0'} @@ -3620,13 +3683,17 @@ packages: '@noble/curves@1.4.2': resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} - '@noble/ed25519@2.1.0': - resolution: {integrity: sha512-KM4qTyXPinyCgMzeYJH/UudpdL+paJXtY3CHtHYZQtBkS8MZoPr4rOikZllIutJe0d06QDQKisyn02gxZ8TcQA==} + '@noble/ed25519@2.0.0': + resolution: {integrity: sha512-/extjhkwFupyopDrt80OMWKdLgP429qLZj+z6sYJz90rF2Iz0gjZh2ArMKPImUl13Kx+0EXI2hN9T/KJV0/Zng==} '@noble/hashes@1.3.2': resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} engines: {node: '>= 16'} + '@noble/hashes@1.3.3': + resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} + engines: {node: '>= 16'} + '@noble/hashes@1.4.0': resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} @@ -3718,8 +3785,8 @@ packages: resolution: {integrity: sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - '@npmcli/redact@2.0.1': - resolution: {integrity: sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==} + '@npmcli/redact@1.1.0': + resolution: {integrity: sha512-PfnWuOkQgu7gCbnSsAisaX7hKOdZ4wSAhAzH3/ph5dSGau52kCRrMMGbiSQLwyTZpgldkZ49b0brkOr1AzGBHQ==} engines: {node: ^16.14.0 || >=18.0.0} '@npmcli/run-script@4.1.7': @@ -3862,6 +3929,18 @@ packages: '@octokit/types@9.3.2': resolution: {integrity: sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==} + '@opencensus/core@0.0.8': + resolution: {integrity: sha512-yUFT59SFhGMYQgX0PhoTR0LBff2BEhPrD9io1jWfF/VDbakRfs6Pq60rjv0Z7iaTav5gQlttJCX2+VPxFWCuoQ==} + engines: {node: '>=6.0'} + + '@opencensus/core@0.0.9': + resolution: {integrity: sha512-31Q4VWtbzXpVUd2m9JS6HEaPjlKvNMOiF7lWKNmXF84yUcgfAFL5re7/hjDmdyQbOp32oGc+RFV78jXIldVz6Q==} + engines: {node: '>=6.0'} + + '@opencensus/propagation-b3@0.0.8': + resolution: {integrity: sha512-PffXX2AL8Sh0VHQ52jJC4u3T0H6wDK6N/4bg7xh4ngMYOIi13aR1kzVvX1sVDBgfGwDOkMbl4c54Xm3tlPx/+A==} + engines: {node: '>=6.0'} + '@parcel/watcher@2.0.4': resolution: {integrity: sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==} engines: {node: '>= 10.0.0'} @@ -3877,12 +3956,12 @@ packages: '@pm2/agent@2.0.4': resolution: {integrity: sha512-n7WYvvTJhHLS2oBb1PjOtgLpMhgImOq8sXkPBw6smeg9LJBWZjiEgPKOpR8mn9UJZsB5P3W4V/MyvNnp31LKeA==} - '@pm2/io@6.0.1': - resolution: {integrity: sha512-KiA+shC6sULQAr9mGZ1pg+6KVW9MF8NpG99x26Lf/082/Qy8qsTCtnJy+HQReW1A9Rdf0C/404cz0RZGZro+IA==} + '@pm2/io@5.0.2': + resolution: {integrity: sha512-XAvrNoQPKOyO/jJyCu8jPhLzlyp35MEf7w/carHXmWKddPzeNOFSEpSEqMzPDawsvpxbE+i918cNN+MwgVsStA==} engines: {node: '>=6.0'} - '@pm2/js-api@0.8.0': - resolution: {integrity: sha512-nmWzrA/BQZik3VBz+npRcNIu01kdBhWL0mxKmP1ciF/gTcujPTQqt027N9fc1pK9ERM8RipFhymw7RcmCyOEYA==} + '@pm2/js-api@0.6.7': + resolution: {integrity: sha512-jiJUhbdsK+5C4zhPZNnyA3wRI01dEc6a2GhcQ9qI38DyIk+S+C8iC3fGjcjUbt/viLYKPjlAaE+hcT2/JMQPXw==} engines: {node: '>=4.0'} '@pm2/pm2-version-check@1.0.4': @@ -3896,8 +3975,8 @@ packages: resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} engines: {node: '>=12.22.0'} - '@pnpm/npm-conf@2.2.2': - resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==} + '@pnpm/npm-conf@2.3.1': + resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} engines: {node: '>=12'} '@protobufjs/aspromise@1.1.2': @@ -3942,12 +4021,15 @@ packages: zen-observable: optional: true - '@scure/base@1.1.7': - resolution: {integrity: sha512-PPNYBslrLNNUQ/Yad37MHYsNQtK67EhWb6WtSvNLLPo7SdVZgkUjD6Dg+5On7zNwmskf8OX7I7Nx5oN+MIWE0g==} + '@scure/base@1.1.9': + resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} '@scure/bip32@1.4.0': resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} + '@scure/bip39@1.2.2': + resolution: {integrity: sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==} + '@scure/bip39@1.3.0': resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} @@ -3987,20 +4069,17 @@ packages: resolution: {integrity: sha512-FX4MfcifwJyFOI2lPoX7PQxCqx8BG1HCho7WdiXwpEQx1Ycij0JxkfYtGK7yqNScrZGSlt6RE6sw8QYoH7eKnQ==} engines: {node: '>=16'} - '@sinonjs/commons@2.0.0': - resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} - '@sinonjs/commons@3.0.1': resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} - '@sinonjs/fake-timers@11.2.2': - resolution: {integrity: sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==} + '@sinonjs/fake-timers@11.3.1': + resolution: {integrity: sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==} - '@sinonjs/samsam@8.0.0': - resolution: {integrity: sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==} + '@sinonjs/samsam@8.0.2': + resolution: {integrity: sha512-v46t/fwnhejRSFTGqbpn9u+LQ9xJDse10gNnPgAcxgdoCDMXj/G2asWAC/8Qs+BAZDicX+MNZouXT1A7c83kVw==} - '@sinonjs/text-encoding@0.7.2': - resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} + '@sinonjs/text-encoding@0.7.3': + resolution: {integrity: sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==} '@sqltools/formatter@1.2.5': resolution: {integrity: sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==} @@ -4020,18 +4099,6 @@ packages: '@tootallnate/quickjs-emscripten@0.23.0': resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} - '@tsconfig/node10@1.0.11': - resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} - - '@tsconfig/node12@1.0.11': - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - - '@tsconfig/node14@1.0.3': - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - - '@tsconfig/node16@1.0.4': - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - '@tufjs/canonical-json@1.0.0': resolution: {integrity: sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -4122,8 +4189,8 @@ packages: '@types/lodash.set@4.3.9': resolution: {integrity: sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ==} - '@types/lodash@4.17.6': - resolution: {integrity: sha512-OpXEVoCKSS3lQqjx9GGGOapBeuW5eUboYHRlHP9urXPX25IKZ6AnP5ZRxtVf63iieUbsHxLn8NQ5Nlftc6yzAA==} + '@types/lodash@4.17.13': + resolution: {integrity: sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==} '@types/log-process-errors@6.3.1': resolution: {integrity: sha512-eXvb1jzPnVOS1skHyNwt7iyt5axqU2nbEOp3ICBbW5UpL3b9PNpCVQ1bovwj7Tkclejhdu+e7kd8hQZvC9Wsgg==} @@ -4134,8 +4201,8 @@ packages: '@types/luxon@3.4.2': resolution: {integrity: sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==} - '@types/markdown-it@14.1.1': - resolution: {integrity: sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==} + '@types/markdown-it@14.1.2': + resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==} '@types/mdurl@2.0.0': resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} @@ -4168,8 +4235,8 @@ packages: '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} - '@types/pg@8.11.2': - resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} + '@types/pg@8.11.10': + resolution: {integrity: sha512-LczQUW4dbOQzsH2RQ5qoeJ6qJPdrcM/DcMLoqWQkMLMsq83J5lAX3LXjdkWdpscFy67JSOWDnh7Ny/sPFykmkg==} '@types/pino-pretty@5.0.0': resolution: {integrity: sha512-N1uzqSzioqz8R3AkDbSJwcfDWeI3YMPNapSQQhnB2ISU4NYgUIcAh+hYT5ygqBM+klX4htpEhXMmoJv3J7GrdA==} @@ -4193,9 +4260,6 @@ packages: '@types/seedrandom@3.0.8': resolution: {integrity: sha512-TY1eezMU2zH2ozQoAFAQFOPpvP15g+ZgSfTZt31AUUH/Rxtnz3H+A/Sv1Snw2/amp//omibc+AEkTaA8KUeOLQ==} - '@types/semver-utils@1.1.3': - resolution: {integrity: sha512-T+YwkslhsM+CeuhYUxyAjWm7mJ5am/K10UX40RuA6k6Lc7eGtq8iY2xOzy7Vq0GOqhl/xZl5l2FwURZMTPTUww==} - '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} @@ -4229,9 +4293,9 @@ packages: '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - '@typescript-eslint/eslint-plugin@7.16.0': - resolution: {integrity: sha512-py1miT6iQpJcs1BiJjm54AMzeuMPBSPuKPlnT8HlfudbcS5rYeX5jajpLf3mrdRh9dA/Ec2FVUY0ifeVNDIhZw==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/eslint-plugin@7.2.0': + resolution: {integrity: sha512-mdekAHOqS9UjlmyF/LSs6AIEvfceV749GFxoBAjwAv0nkevfKHWQFDMcBZWUiIC5ft6ePWivXoS36aKQ0Cy3sw==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 eslint: ^8.56.0 @@ -4240,9 +4304,9 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.16.0': - resolution: {integrity: sha512-ar9E+k7CU8rWi2e5ErzQiC93KKEFAXA2Kky0scAlPcxYblLt8+XZuHUZwlyfXILyQa95P6lQg+eZgh/dDs3+Vw==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/parser@7.2.0': + resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -4254,13 +4318,13 @@ packages: resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@typescript-eslint/scope-manager@7.16.0': - resolution: {integrity: sha512-8gVv3kW6n01Q6TrI1cmTZ9YMFi3ucDT7i7aI5lEikk2ebk1AEjrwX8MDTdaX5D7fPXMBLvnsaa0IFTAu+jcfOw==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/scope-manager@7.2.0': + resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} + engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/type-utils@7.16.0': - resolution: {integrity: sha512-j0fuUswUjDHfqV/UdW6mLtOQQseORqfdmoBNDFOqs9rvNVR2e+cmu6zJu/Ku4SDuqiJko6YnhwcL8x45r8Oqxg==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/type-utils@7.2.0': + resolution: {integrity: sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -4276,9 +4340,9 @@ packages: resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@typescript-eslint/types@7.16.0': - resolution: {integrity: sha512-fecuH15Y+TzlUutvUl9Cc2XJxqdLr7+93SQIbcZfd4XRGGKoxyljK27b+kxKamjRkU7FYC6RrbSCg0ALcZn/xw==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/types@7.2.0': + resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} + engines: {node: ^16.0.0 || >=18.0.0} '@typescript-eslint/typescript-estree@4.33.0': resolution: {integrity: sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==} @@ -4298,9 +4362,9 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@7.16.0': - resolution: {integrity: sha512-a5NTvk51ZndFuOLCh5OaJBELYc2O3Zqxfl3Js78VFE1zE46J2AaVuW+rEbVkQznjkmlzWsUI15BG5tQMixzZLw==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/typescript-estree@7.2.0': + resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -4313,9 +4377,9 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@typescript-eslint/utils@7.16.0': - resolution: {integrity: sha512-PqP4kP3hb4r7Jav+NiRCntlVzhxBNWq6ZQ+zQwII1y/G/1gdIPeYDCKr2+dH6049yJQsWZiHU6RlwvIFBXXGNA==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/utils@7.2.0': + resolution: {integrity: sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^8.56.0 @@ -4327,27 +4391,27 @@ packages: resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@typescript-eslint/visitor-keys@7.16.0': - resolution: {integrity: sha512-rMo01uPy9C7XxG7AFsxa8zLnWXTF8N3PYclekWSrurvhwiw1eW88mrKiAYe6s53AUY57nTRz8dJsuuXdkAhzCg==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/visitor-keys@7.2.0': + resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} + engines: {node: ^16.0.0 || >=18.0.0} '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@vue/compiler-core@3.4.31': - resolution: {integrity: sha512-skOiodXWTV3DxfDhB4rOf3OGalpITLlgCeOwb+Y9GJpfQ8ErigdBUHomBzvG78JoVE8MJoQsb+qhZiHfKeNeEg==} + '@vue/compiler-core@3.5.13': + resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} - '@vue/compiler-dom@3.4.31': - resolution: {integrity: sha512-wK424WMXsG1IGMyDGyLqB+TbmEBFM78hIsOJ9QwUVLGrcSk0ak6zYty7Pj8ftm7nEtdU/DGQxAXp0/lM/2cEpQ==} + '@vue/compiler-dom@3.5.13': + resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} - '@vue/compiler-sfc@3.4.31': - resolution: {integrity: sha512-einJxqEw8IIJxzmnxmJBuK2usI+lJonl53foq+9etB2HAzlPjAS/wa7r0uUpXw5ByX3/0uswVSrjNb17vJm1kQ==} + '@vue/compiler-sfc@3.5.13': + resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} - '@vue/compiler-ssr@3.4.31': - resolution: {integrity: sha512-RtefmITAje3fJ8FSg1gwgDhdKhZVntIVbwupdyZDSifZTRMiWxWehAOTCc8/KZDnBOcYQ4/9VWxsTbd3wT0hAA==} + '@vue/compiler-ssr@3.5.13': + resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} - '@vue/shared@3.4.31': - resolution: {integrity: sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA==} + '@vue/shared@3.5.13': + resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} '@yarnpkg/lockfile@1.1.0': resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} @@ -4380,17 +4444,13 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.3.3: - resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} - engines: {node: '>=0.4.0'} - acorn@7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} engines: {node: '>=0.4.0'} hasBin: true - acorn@8.12.1: - resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} engines: {node: '>=0.4.0'} hasBin: true @@ -4460,9 +4520,9 @@ packages: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} - ansi-escapes@6.2.1: - resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} - engines: {node: '>=14.16'} + ansi-escapes@7.0.0: + resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + engines: {node: '>=18'} ansi-regex@2.1.1: resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} @@ -4476,8 +4536,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} ansi-sequence-parser@1.1.1: @@ -4542,9 +4602,6 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} deprecated: This package is no longer supported. - arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - argle@1.1.2: resolution: {integrity: sha512-2sQZC5HeeSH9cQEwnZZhmHiKfvJkQ6ncpf8zl9Hv629aiMUsOw8jzYqOhpaMleQGzpQ7avCwrwyqSW1f4t7v0Q==} @@ -4554,8 +4611,9 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - aria-query@5.1.3: - resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} arr-diff@4.0.0: resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} @@ -4634,11 +4692,15 @@ packages: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} + async-listener@0.6.10: + resolution: {integrity: sha512-gpuo6xOyF4D5DE5WvyqZdPA3NGhiT6Qf07l7DCB0wwDEsLvDIbCr6j9S5aj5Ch96dLace5tXVzWBZkxU/c5ohw==} + engines: {node: <=0.11.8 || >0.11.10} + async@2.6.4: resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} - async@3.2.5: - resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -4660,19 +4722,23 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - awilix@10.0.2: - resolution: {integrity: sha512-hFatb7eZFdtiWjjmGRSm/K/uxZpmcBlM+YoeMB3VpOPXk3xa6+7zctg3LRbUzoimom5bwGrePF0jXReO6b4zNQ==} + awilix@9.0.0: + resolution: {integrity: sha512-DVhdT1sbCCjGBvJbNKJaPSh+JVvgzUV0Rbdq3r3/MqxDgm7e/zs8aAhWI8O8nFNFvUYFtJPqWsFldyzC2rpMnA==} engines: {node: '>=14.0.0'} - axe-core@4.9.1: - resolution: {integrity: sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==} + axe-core@4.7.0: + resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} engines: {node: '>=4'} - axios@1.7.2: - resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==} + axios@0.21.4: + resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} - axobject-query@3.1.1: - resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} + axios@1.7.8: + resolution: {integrity: sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==} + + axobject-query@3.2.4: + resolution: {integrity: sha512-aPTElBrbifBU1krmZxGZOlBkslORe7Ll7+BDnI50Wy4LgOt69luMgevkDfTq1O/ZgprooPCtWpjCwKSZw/iZ4A==} + engines: {node: '>= 0.4'} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -4701,9 +4767,6 @@ packages: better-sqlite3@11.2.1: resolution: {integrity: sha512-Xbt1d68wQnUuFIEVsbt6V+RG30zwgbtCGQ4QOcXVrOH0FE4eHk64FWZ9NUfRHS4/x1PXqwz/+KOrnXD7f0WieA==} - better-sqlite3@9.4.3: - resolution: {integrity: sha512-ud0bTmD9O3uWJGuXDltyj3R47Nz0OHX8iqPOT5PMspGqlu/qQFn+5S2eFBUCrySpavTjFXbi4EgrfVvPAHlImw==} - big-number@2.0.0: resolution: {integrity: sha512-C67Su0g+XsmXADX/UM9L/+xSbqqwq0D/qGJs2ky6Noy2FDuCZnC38ZSXODiaBvqWma2VYRZEXgm4H74PS6tCDg==} @@ -4735,8 +4798,8 @@ packages: bls-eth-wasm@0.4.8: resolution: {integrity: sha512-ye7+G6KFLb3i9xSrLASAoYqOUK5WLB6XA5DD8Sh0UQpZ3T999ylsYbFdoOJpmvTDuBuMi23Vy8Jm0pn/GF01CA==} - bls12-381-keygen@0.2.4: - resolution: {integrity: sha512-vkJlc6ZRPtGI6Lu1bm8lTIVOq/MXe70b75LNZIohWbzw/kEDX0HXZCzoBbW1QxdAoGS9rZY40nchQ+KUPdDdEQ==} + bls12-381-keygen@0.2.3: + resolution: {integrity: sha512-vnR0hMvDzl4DWmN4BP83KVWSX2S/60LjZbssPudMqkMnfVuTL5aw+wQd1kncmMdPgU+K83Nt/c5+0RZtewNH/g==} deprecated: 'Switch to micro-key-producer: the package has been merged into it' bluebird@3.7.2: @@ -4762,8 +4825,8 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.23.2: - resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==} + browserslist@4.24.2: + resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -4784,10 +4847,6 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - buffer-writer@2.0.0: - resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} - engines: {node: '>=4'} - buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -4879,8 +4938,8 @@ packages: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} - caniuse-lite@1.0.30001641: - resolution: {integrity: sha512-Phv5thgl67bHYo1TtMY/MurjkHhV4EDaCosezRXgZ8jzA/Ub+wjxAvbGvjoFENStinwi5kCyOYV3mi5tOGykwA==} + caniuse-lite@1.0.30001686: + resolution: {integrity: sha512-Y7deg0Aergpa24M3qLC5xjNklnKnhsmSyR/V89dLZ1n0ucJIFNs7PgR2Yfa/Zf6W79SbBicgtGxZr2juHkEUIA==} capture-console@1.0.2: resolution: {integrity: sha512-vQNTSFr0cmHAYXXG3KG7ZJQn0XxC3K2di/wUZVb6yII6gqSN/10Egd3vV4XqJ00yCRNHy2wkN4uWHE+rJstDrw==} @@ -4941,8 +5000,8 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - ci-info@4.0.0: - resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} + ci-info@4.1.0: + resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==} engines: {node: '>=8'} class-utils@0.3.6: @@ -4977,6 +5036,10 @@ packages: resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} + cli-highlight@2.1.11: resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} engines: {node: '>=8.0.0', npm: '>=5.0.0'} @@ -5082,9 +5145,9 @@ packages: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} - commander@12.1.0: - resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} - engines: {node: '>=18'} + commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} commander@2.15.1: resolution: {integrity: sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==} @@ -5136,6 +5199,9 @@ packages: console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + continuation-local-storage@3.2.1: + resolution: {integrity: sha512-jx44cconVqkCEEyLSKWwkvUXwO561jXMa3LPjTPsm5QR22PA0/mhe33FT4Xb5y74JDvt/Cq+5lm8S8rskLv9ZA==} + conventional-changelog-angular@5.0.12: resolution: {integrity: sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==} engines: {node: '>=10'} @@ -5174,8 +5240,8 @@ packages: resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} engines: {node: '>=0.10.0'} - core-js-compat@3.37.1: - resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} + core-js-compat@3.39.0: + resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -5197,9 +5263,6 @@ packages: typescript: optional: true - create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - cron@3.1.6: resolution: {integrity: sha512-cvFiQCeVzsA+QPM6fhjBtlKGij7tLLISnTSvFxVdnFGLdz+ZdXN37kNe0i2gefmdD17XuZA6n2uPVwzl4FxW/w==} @@ -5211,8 +5274,8 @@ packages: engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} hasBin: true - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} crypto-random-string@2.0.0: @@ -5299,8 +5362,17 @@ packages: supports-color: optional: true - debug@4.3.5: - resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -5331,10 +5403,6 @@ packages: dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} - deep-equal@2.2.3: - resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} - engines: {node: '>= 0.4'} - deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -5522,10 +5590,6 @@ packages: resolution: {integrity: sha512-Uc1yVutTF0RRm1YJ3g//i1Cn2vx1kwHj15cnzQP6ff5koNzQ0idc1zAC73ryaWEulA0ElRXFTq6wOqe8vUQ3MA==} engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} - diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - diff@5.2.0: resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} engines: {node: '>=0.3.1'} @@ -5554,8 +5618,8 @@ packages: resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} engines: {node: '>=10'} - dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + dotenv@16.4.6: + resolution: {integrity: sha512-JhcR/+KIjkkjiU8yEpaB/USlzVi3i5whwOjpIRNGi9svKEXZSe+Qp6IWAjFjv+2GViAoDRCUv/QLNziQxsLqDg==} engines: {node: '>=12'} duplexer@0.1.2: @@ -5572,15 +5636,18 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.4.827: - resolution: {integrity: sha512-VY+J0e4SFcNfQy19MEoMdaIcZLmDCprqvBtkii1WTCTQHpRvf5N8+3kTYCgL/PcntvwQvmMJWTuDPsq+IlhWKQ==} + electron-to-chromium@1.5.68: + resolution: {integrity: sha512-FgMdJlma0OzUYlbrtZ4AeXjKxKPk6KT8WOP8BjcqxWtlg8qyJQjRzPJzUtUn5GBg1oQ26hFs7HOOHJMYiJRnvQ==} elegant-spinner@1.0.1: resolution: {integrity: sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==} engines: {node: '>=0.10.0'} - emoji-regex@10.3.0: - resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + emitter-listener@1.1.2: + resolution: {integrity: sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==} + + emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -5597,8 +5664,8 @@ packages: end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - enhanced-resolve@5.17.0: - resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} + enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} enquirer@2.3.6: @@ -5622,19 +5689,23 @@ packages: engines: {node: '>=8'} hasBin: true - envinfo@7.13.0: - resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==} + envinfo@7.14.0: + resolution: {integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==} engines: {node: '>=4'} hasBin: true + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + err-code@2.0.3: resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + es-abstract@1.23.5: + resolution: {integrity: sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==} engines: {node: '>= 0.4'} es-define-property@1.0.0: @@ -5645,11 +5716,8 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-get-iterator@1.1.3: - resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} - - es-iterator-helpers@1.0.19: - resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} + es-iterator-helpers@1.2.0: + resolution: {integrity: sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==} engines: {node: '>= 0.4'} es-object-atoms@1.0.0: @@ -5663,8 +5731,8 @@ packages: es-shim-unscopables@1.0.2: resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} - es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} es5-ext@0.10.64: @@ -5681,13 +5749,13 @@ packages: es6-weak-map@2.0.3: resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} - esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} engines: {node: '>=12'} hasBin: true - escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} escape-goat@4.0.0: @@ -5729,8 +5797,8 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-module-utils@2.8.1: - resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} + eslint-module-utils@2.12.0: + resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -5760,8 +5828,8 @@ packages: '@typescript-eslint/parser': optional: true - eslint-plugin-jsx-a11y@6.9.0: - resolution: {integrity: sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==} + eslint-plugin-jsx-a11y@6.8.0: + resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} engines: {node: '>=4.0'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 @@ -5780,11 +5848,11 @@ packages: eslint-config-prettier: optional: true - eslint-plugin-promise@6.4.0: - resolution: {integrity: sha512-/KWWRaD3fGkVCZsdR0RU53PSthFmoHVhZl+y9+6DqeDLSikLdlUVpVEAmI6iCRR5QyOjBYBqHZV/bdv4DJ4Gtw==} + eslint-plugin-promise@6.1.1: + resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + eslint: ^7.0.0 || ^8.0.0 eslint-plugin-simple-import-sort@10.0.0: resolution: {integrity: sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==} @@ -5804,8 +5872,8 @@ packages: eslint-plugin-testcafe@0.2.1: resolution: {integrity: sha512-LZMHQ2kHFXzbt6ZSS2yUOQhr8QaHwaqvmra1EnXKK0qEwpAvegLdjntCbRPtuD6bDGxPFG87Y7mkI3S9TjZA4A==} - eslint-plugin-testing-library@6.2.2: - resolution: {integrity: sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==} + eslint-plugin-testing-library@6.2.0: + resolution: {integrity: sha512-+LCYJU81WF2yQ+Xu4A135CgK8IszcFcyMF4sWkbiu6Oj+Nel0TrkZq/HvDw0/1WuO3dhDQsZA/OpEMGd0NfcUw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} peerDependencies: eslint: ^7.5.0 || ^8.0.0 @@ -5816,12 +5884,12 @@ packages: peerDependencies: eslint: '>=8.56.0' - eslint-plugin-unused-imports@3.2.0: - resolution: {integrity: sha512-6uXyn6xdINEpxE1MtDjxQsyXB37lfyO2yKGVVgtD7WEWQGORSOZjgrD6hBhvGv4/SO+TOlS+UnC6JppRqbuwGQ==} + eslint-plugin-unused-imports@3.0.0: + resolution: {integrity: sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - '@typescript-eslint/eslint-plugin': 6 - 7 - eslint: '8' + '@typescript-eslint/eslint-plugin': ^6.0.0 + eslint: ^8.0.0 peerDependenciesMeta: '@typescript-eslint/eslint-plugin': optional: true @@ -5850,8 +5918,8 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + eslint@8.56.0: + resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true @@ -5906,8 +5974,8 @@ packages: resolution: {integrity: sha512-kPHNTnhVWiWU6AVo6CAeTjXEK24SpCXyZvwG9ROFjT0Vlux0EOhWKBAeC+45iDj80QNJTYaT1SDEmeunT0vDNw==} engines: {node: '>=14.0.0'} - ethers@6.13.1: - resolution: {integrity: sha512-hdJ2HOxg/xx97Lm9HdCWk949BfYqYWpyw4//78SiwOLgASyfrNszfMUNB2joKjvGUdwhHfaiMMFFwacVVoLR9A==} + ethers@6.11.1: + resolution: {integrity: sha512-mxTAE6wqJQAbp5QAe/+o+rXOID7Nw91OZXvgpjDa1r4fAbq2Nu314oEZSbjoRLacuCzs7kUC3clEvkCQowffGg==} engines: {node: '>=14.0.0'} event-emitter@0.3.5: @@ -5970,8 +6038,8 @@ packages: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} - extrareqp2@1.0.0: - resolution: {integrity: sha512-Gum0g1QYb6wpPJCVypWP3bbIuaibcFiJcpuPM10YSXp/tzqi84x9PJageob+eN4xVRIOto4wjSGNLyMD54D2xA==} + fast-copy@3.0.1: + resolution: {integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==} fast-copy@3.0.2: resolution: {integrity: sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==} @@ -6087,8 +6155,8 @@ packages: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true - flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + flatted@3.3.2: + resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} flatten@1.0.3: resolution: {integrity: sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==} @@ -6097,8 +6165,8 @@ packages: fn.name@1.1.0: resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} - follow-redirects@1.15.6: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -6113,8 +6181,8 @@ packages: resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} engines: {node: '>=0.10.0'} - foreground-child@3.2.1: - resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} form-data-encoder@2.1.4: @@ -6125,8 +6193,8 @@ packages: resolution: {integrity: sha512-KQVhvhK8ZkWzxKxOr56CPulAhH3dobtuQ4+hNQ+HekH/Wp5gSOafqRAeTphQUJAIk0GBvHZgJ2ZGRWd5kphMuw==} engines: {node: '>= 18'} - form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + form-data@4.0.1: + resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} engines: {node: '>= 6'} fp-and-or@0.1.4: @@ -6163,7 +6231,6 @@ packages: resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - deprecated: '"Please update to latest v2.3 or v2.2"' fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} @@ -6202,8 +6269,8 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.2.0: - resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + get-east-asian-width@1.3.0: + resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} engines: {node: '>=18'} get-intrinsic@1.2.4: @@ -6246,8 +6313,8 @@ packages: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} - get-tsconfig@4.7.5: - resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + get-tsconfig@4.8.1: + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} get-uri@6.0.3: resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==} @@ -6310,10 +6377,6 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true - glob@10.4.5: - resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} - hasBin: true - glob@7.1.4: resolution: {integrity: sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==} deprecated: Glob versions prior to v9 are no longer supported @@ -6368,8 +6431,9 @@ packages: engines: {node: '>=0.6.0'} hasBin: true - gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + gopd@1.1.0: + resolution: {integrity: sha512-FQoVQnqcdk4hVM4JN1eromaun4iuS34oStkdlLENLdpULsuQcTyXj8w7ayhuUfPwEYZ1ZOooOTT6fdA9Vmx/RA==} + engines: {node: '>= 0.4'} got@12.6.1: resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} @@ -6415,12 +6479,12 @@ packages: has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + has-proto@1.1.0: + resolution: {integrity: sha512-QLdzI9IIO1Jg7f9GT1gXpPpXArAn6cS31R1eEZqz08Gc+uQ8/XiqHWt17Fiw+2p6oTTIq5GXEpQkAlA88YRl/Q==} engines: {node: '>= 0.4'} - has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} has-tostringtag@1.0.2: @@ -6479,8 +6543,8 @@ packages: resolution: {integrity: sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - hosted-git-info@6.1.1: - resolution: {integrity: sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==} + hosted-git-info@6.1.3: + resolution: {integrity: sha512-HVJyzUrLIL1c0QmviVh5E8VGyUS7xCFPS6yydaVd1UegW+ibV/CohqTH9MkOLDp5o+rb82DMo77PTuc9F/8GKw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hosted-git-info@7.0.2: @@ -6528,8 +6592,8 @@ packages: humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} - husky@9.0.11: - resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==} + husky@9.0.10: + resolution: {integrity: sha512-TQGNknoiy6bURzIO77pPRu+XHi6zI7T93rX+QnJsoYFf3xdjKOur+IlfqzJGMHIK/wXrLg+GsvMs8Op7vI2jVA==} engines: {node: '>=18'} hasBin: true @@ -6555,8 +6619,8 @@ packages: resolution: {integrity: sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} import-fresh@3.3.0: @@ -6567,8 +6631,8 @@ packages: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} - import-local@3.1.0: - resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} engines: {node: '>=8'} hasBin: true @@ -6646,10 +6710,6 @@ packages: resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} engines: {node: '>= 0.10'} - is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} - is-array-buffer@3.0.4: resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} engines: {node: '>= 0.4'} @@ -6664,15 +6724,16 @@ packages: resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} engines: {node: '>= 0.4'} - is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + is-boolean-object@1.2.0: + resolution: {integrity: sha512-kR5g0+dXf/+kXnqI+lu0URKYPKgICtHGGNCDSB10AaUFj3o/HkB3u7WfpRBJGFopxxY0oH3ux7ZsDjLtK7xqvw==} engines: {node: '>= 0.4'} is-buffer@1.1.6: @@ -6694,8 +6755,8 @@ packages: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true - is-core-module@2.14.0: - resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} is-data-descriptor@1.0.1: @@ -6743,8 +6804,9 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - is-finalizationregistry@1.0.2: - resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + is-finalizationregistry@1.1.0: + resolution: {integrity: sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==} + engines: {node: '>= 0.4'} is-fullwidth-code-point@1.0.0: resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} @@ -6801,8 +6863,8 @@ packages: resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + is-number-object@1.1.0: + resolution: {integrity: sha512-KVSZV0Dunv9DTPkhXwcZ3Q+tUc9TsaE1ZwX5J2WMvsSGS6Md8TFPun5uwh0yRdrNerI6vf/tbJxqSx4c1ZI1Lw==} engines: {node: '>= 0.4'} is-number@3.0.0: @@ -6860,8 +6922,8 @@ packages: is-promise@2.2.2: resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} - is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + is-regex@1.2.0: + resolution: {integrity: sha512-B6ohK4ZmoftlUe+uvenXSbPJFo6U37BH7oO1B3nQH8f/7h27N56s85MhUtbFJAziz5dcmuR3i8ovUl35zp8pFA==} engines: {node: '>= 0.4'} is-regexp@1.0.0: @@ -6898,12 +6960,12 @@ packages: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + is-string@1.1.0: + resolution: {integrity: sha512-PlfzajuF9vSo5wErv3MJAKD/nqf9ngAs1NFQYm16nUYFO2IzxJ2hcm+IOCg+EEopdykNNUhVq5cz35cAUxU8+g==} engines: {node: '>= 0.4'} - is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + is-symbol@1.1.0: + resolution: {integrity: sha512-qS8KkNNXUZ/I+nX6QT8ZS1/Yx0A444yhzdTKxCzKkNjQ9sHErBxJnJAgh+f5YhusYECEcjo4XcyH87hn6+ks0A==} engines: {node: '>= 0.4'} is-text-path@1.0.1: @@ -6925,8 +6987,8 @@ packages: resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} engines: {node: '>=12'} - is-unicode-supported@2.0.0: - resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} engines: {node: '>=18'} is-url-superb@4.0.0: @@ -6988,18 +7050,16 @@ packages: resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} engines: {node: '>=8'} - iterator.prototype@1.1.2: - resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + iterator.prototype@1.1.3: + resolution: {integrity: sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==} + engines: {node: '>= 0.4'} jackspeak@2.3.6: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} - jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - - jake@10.9.1: - resolution: {integrity: sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==} + jake@10.9.2: + resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} engines: {node: '>=10'} hasBin: true @@ -7040,8 +7100,8 @@ packages: jsbn@1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} - jsdoc@4.0.3: - resolution: {integrity: sha512-Nu7Sf35kXJ1MWDZIMAuATRQTg1iIPdzh7tqJ6jjvaU/GfDf+qi5UV8zJR3Mo+/pYFvm8mzay4+6O5EWigaQBQw==} + jsdoc@4.0.4: + resolution: {integrity: sha512-zeFezwyXeG4syyYHbvh1A967IAqq/67yXtXvuL5wnqCkFZe8I0vKfm+EO+YEvLguo6w9CDUbrAXVtJSHh2E8rw==} engines: {node: '>=12.0.0'} hasBin: true @@ -7049,11 +7109,6 @@ packages: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true - jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - jsesc@3.0.2: resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} engines: {node: '>=6'} @@ -7157,8 +7212,8 @@ packages: kuler@2.0.0: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} - ky@1.4.0: - resolution: {integrity: sha512-tPhhoGUiEiU/WXR4rt8klIoLdnTtyu+9jVKHd/wauEjYud32jyn63mzKWQweaQrHWxBQtYoVtdcEnYX1LosnFQ==} + ky@1.7.2: + resolution: {integrity: sha512-OzIvbHKKDpi60TnF9t7UUVAF1B4mcqc02z5PIvrm08Wyb+yOcz63GRvEuVxNT18a9E1SrNouhB4W2NNLeD7Ykg==} engines: {node: '>=18'} language-subtag-registry@0.3.23: @@ -7201,8 +7256,8 @@ packages: resolution: {integrity: sha512-mMntrhVwut5prP4rJ228eEbEyvIzLWhqFuY90j5QeXBCTT2pWSMno7Yo2S2qplPUr02zPurGH4heGLZ+wORczg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - lilconfig@3.1.2: - resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + lilconfig@3.0.0: + resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} engines: {node: '>=14'} lines-and-columns@1.2.4: @@ -7215,8 +7270,8 @@ packages: linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - lint-staged@15.2.7: - resolution: {integrity: sha512-+FdVbbCZ+yoh7E/RosSdqKJyUM2OEjTciH0TFNkawKgvFp1zbGlEC39RADg+xKBG1R4mhoH2j85myBQZ5wR+lw==} + lint-staged@15.2.2: + resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==} engines: {node: '>=18.12.0'} hasBin: true @@ -7234,8 +7289,8 @@ packages: resolution: {integrity: sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==} engines: {node: '>=4'} - listr2@8.2.3: - resolution: {integrity: sha512-Lllokma2mtoniUOS94CcOErHWAug5iu7HOmDrvWgpw8jyQH2fomgB+7lZS4HWZxytUuQwkGOwe49FvwVaA85Xw==} + listr2@8.0.1: + resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==} engines: {node: '>=18.0.0'} listr@0.14.3: @@ -7297,6 +7352,10 @@ packages: lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + log-driver@1.2.7: + resolution: {integrity: sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==} + engines: {node: '>=0.8.6'} + log-process-errors@12.0.0: resolution: {integrity: sha512-IwUsYXIl83YOJkXlVI4QuADrf/TOhR5mrL8gJVjDKrqZEHBF7+TQdiLNsVTknGynBlnpU9nlQBwrVPMR5Oo41Q==} engines: {node: '>=18.18.0'} @@ -7317,12 +7376,12 @@ packages: resolution: {integrity: sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==} engines: {node: '>=4'} - log-update@6.0.0: - resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} + log-update@6.1.0: + resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} engines: {node: '>=18'} - logform@2.6.1: - resolution: {integrity: sha512-CdaO738xRapbKIMVn2m4F6KTj4j7ooJ8POVnebSgKo3KBz5axNXRAL7ZdRjIV6NOr2Uf4vjtRkxrFETOioCqSA==} + logform@2.7.0: + resolution: {integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==} engines: {node: '>= 12.0.0'} long@5.2.3: @@ -7370,8 +7429,8 @@ packages: typescript: optional: true - magic-string@0.30.10: - resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + magic-string@0.30.14: + resolution: {integrity: sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw==} make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} @@ -7385,9 +7444,6 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} - make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - make-fetch-happen@10.2.1: resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -7463,14 +7519,22 @@ packages: micro-bmark@0.3.1: resolution: {integrity: sha512-bNaKObD4yPAAPrpEqp5jO6LJ2sEFgLoFSmRjEY809mJ62+2AehI/K3+RlVpN3Oo92RHpgC2RQhj6b1Tb4dmo+w==} - micromatch@4.0.7: - resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} + mime-db@1.53.0: + resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==} + engines: {node: '>= 0.6'} + mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} @@ -7487,6 +7551,10 @@ packages: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} @@ -7521,6 +7589,10 @@ packages: resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -7556,8 +7628,8 @@ packages: resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} engines: {node: '>= 8'} - minipass-json-stream@1.0.1: - resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} + minipass-json-stream@1.0.2: + resolution: {integrity: sha512-myxeeTm57lYs8pH2nxPzmEEg8DGIgW+9mv6D4JZD2pa81I/OBjeU7PtICXV6c9eRGTA5JMDsuIPUZRCyBMYNhg==} minipass-pipeline@1.2.4: resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} @@ -7666,11 +7738,11 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nan@2.20.0: - resolution: {integrity: sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==} + nan@2.22.0: + resolution: {integrity: sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==} - nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -7689,8 +7761,8 @@ packages: engines: {node: '>= 4.4.x'} hasBin: true - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} engines: {node: '>= 0.6'} neo-async@2.6.2: @@ -7713,8 +7785,8 @@ packages: resolution: {integrity: sha512-N9GIOnNFas/TtdCQpavpi6A6SyVVInkD/vrUCF2u51vlE2wSnqfPifVli6xSX8l6Lz/3sdSwPusE9n3KPDDh0g==} engines: {node: '>= 18'} - node-abi@3.65.0: - resolution: {integrity: sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==} + node-abi@3.71.0: + resolution: {integrity: sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==} engines: {node: '>=10'} node-addon-api@3.2.1: @@ -7748,8 +7820,8 @@ packages: resolution: {integrity: sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==} hasBin: true - node-gyp-build@4.8.1: - resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==} + node-gyp-build@4.8.4: + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} hasBin: true node-gyp@8.4.1: @@ -7762,8 +7834,8 @@ packages: engines: {node: ^12.13 || ^14.13 || >=16} hasBin: true - node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} node-source-walk@4.3.0: resolution: {integrity: sha512-8Q1hXew6ETzqKRAs3jjLioSxNfT1cx74ooiF8RlAONwVMcfq+UdzLC2eB5qcPldUxaE5w3ytLkrmV1TGddhZTA==} @@ -7825,8 +7897,8 @@ packages: resolution: {integrity: sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - npm-check-updates@16.14.20: - resolution: {integrity: sha512-sYbIhun4DrjO7NFOTdvs11nCar0etEhZTsEjL47eM0TuiGMhmYughRCxG2SpGRmGAQ7AkwN7bw2lWzoE7q6yOQ==} + npm-check-updates@16.14.14: + resolution: {integrity: sha512-Y3ajS/Ep40jM489rLBdz9jehn/BMil5s9fA4PSr2ZJxxSmtLWCSmRqsI2IEZ9Nb3MTMu8a3s7kBs0l+JbjdkTA==} engines: {node: '>=14.14'} hasBin: true @@ -7845,8 +7917,8 @@ packages: resolution: {integrity: sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - npm-package-arg@11.0.2: - resolution: {integrity: sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw==} + npm-package-arg@11.0.3: + resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==} engines: {node: ^16.14.0 || >=18.0.0} npm-package-arg@8.1.1: @@ -7882,8 +7954,8 @@ packages: resolution: {integrity: sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - npm-registry-fetch@17.1.0: - resolution: {integrity: sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA==} + npm-registry-fetch@16.2.1: + resolution: {integrity: sha512-8l+7jxhim55S85fjiDGJ1rZXBWGtRLi1OSb4Z3BPLObPuIaeKRlPRiYMSHU4/81ck3t71Z+UwDDl47gcpmfQQA==} engines: {node: ^16.14.0 || >=18.0.0} npm-run-path@4.0.1: @@ -7936,12 +8008,8 @@ packages: resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} engines: {node: '>=0.10.0'} - object-inspect@1.13.2: - resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} - engines: {node: '>= 0.4'} - - object-is@1.1.6: - resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} + object-inspect@1.13.3: + resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} engines: {node: '>= 0.4'} object-keys@1.1.1: @@ -7956,6 +8024,10 @@ packages: resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} + object.entries@1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} + engines: {node: '>= 0.4'} + object.fromentries@2.0.8: resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} engines: {node: '>= 0.4'} @@ -7997,6 +8069,10 @@ packages: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} @@ -8112,20 +8188,14 @@ packages: resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==} engines: {node: '>= 14'} - package-json-from-dist@1.0.0: - resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} - - package-json@10.0.0: - resolution: {integrity: sha512-w34pqp733w35nElGG6eH1OnDnHEWud4uxruQ2nKzY/Uy0uOJmWFdjDcAC+xAD4goVuBZStwaAEBS21BANv83HQ==} + package-json@10.0.1: + resolution: {integrity: sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==} engines: {node: '>=18'} package-json@8.1.1: resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} engines: {node: '>=14.16'} - packet-reader@1.0.0: - resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} - pacote@15.1.1: resolution: {integrity: sha512-eeqEe77QrA6auZxNHIp+1TzHQ0HBKf5V6c8zcaYZ134EJe1lCi+fjXATkNiEEfbG+e50nu02GLvUtmZcGOYabQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -8221,8 +8291,8 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} - path-to-regexp@6.2.2: - resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} @@ -8235,8 +8305,8 @@ packages: pg-cloudflare@1.1.1: resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} - pg-connection-string@2.6.4: - resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} + pg-connection-string@2.7.0: + resolution: {integrity: sha512-PI2W9mv53rXJQEOb8xNR8lH7Hr+EKa6oJa38zsK0S/ky2er16ios1wLKhZyxzD7jUReiWokc9WK5nxSnC7W1TA==} pg-int8@1.0.1: resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} @@ -8246,13 +8316,13 @@ packages: resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} engines: {node: '>=4'} - pg-pool@3.6.2: - resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} + pg-pool@3.7.0: + resolution: {integrity: sha512-ZOBQForurqh4zZWjrgSwwAtzJ7QiRX0ovFkZr2klsen3Nm0aoh33Ls0fzfv3imeH/nw/O27cjdz5kzYJfeGp/g==} peerDependencies: pg: '>=8.0' - pg-protocol@1.6.1: - resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} + pg-protocol@1.7.0: + resolution: {integrity: sha512-hTK/mE36i8fDDhgDFjy6xNOG+LCorxLG3WO17tku+ij6sVHXh1jQUJ8hYAnRhNla4QVD2H8er/FOjc/+EgC6yQ==} pg-types@2.2.0: resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} @@ -8262,8 +8332,8 @@ packages: resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} engines: {node: '>=10'} - pg@8.11.3: - resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} + pg@8.13.1: + resolution: {integrity: sha512-OUir1A0rPNZlX//c7ksiu7crsGZTKSOXJPgtNiHGIlC9H0lO+NC6ZDYksSgBYY/thSWhnSRBv8w1lieNNGATNQ==} engines: {node: '>= 8.0.0'} peerDependencies: pg-native: '>=3.0.1' @@ -8274,8 +8344,8 @@ packages: pgpass@1.0.5: resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} - picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -8353,17 +8423,17 @@ packages: pm2-sysmonit@1.2.8: resolution: {integrity: sha512-ACOhlONEXdCTVwKieBIQLSi2tQZ8eKinhcr9JpZSUAL8Qy0ajIgRtsLxG/lwPOW3JEKqPyw/UaHmTWhUzpP4kA==} - pm2@5.4.2: - resolution: {integrity: sha512-ynVpBwZampRH3YWLwRepZpQ7X3MvpwLIaqIdFEeBYEhaXbHmEx2KqOdxGV4T54wvKBhH3LixvU1j1bK4/sq7Tw==} - engines: {node: '>=12.0.0'} + pm2@5.3.0: + resolution: {integrity: sha512-xscmQiAAf6ArVmKhjKTeeN8+Td7ZKnuZFFPw1DGkdFPR/0Iyx+m+1+OpCdf9+HQopX3VPc9/wqPQHqVOfHum9w==} + engines: {node: '>=10.0.0'} hasBin: true possible-typed-array-names@1.0.0: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} - postcss-selector-parser@6.1.1: - resolution: {integrity: sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==} + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} postcss-values-parser@2.0.1: @@ -8376,8 +8446,8 @@ packages: peerDependencies: postcss: ^8.2.9 - postcss@8.4.39: - resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==} + postcss@8.4.49: + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} postgres-array@2.0.0: @@ -8442,8 +8512,8 @@ packages: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} - prettier@3.3.2: - resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} + prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} engines: {node: '>=14'} hasBin: true @@ -8506,8 +8576,8 @@ packages: promptly@2.2.0: resolution: {integrity: sha512-aC9j+BZsRSSzEsXBNBwDnAxujdx19HycZoKgRgzWnS8eOHg1asuf9heuLprfbe739zY3IdUQx+Egv6Jn135WHA==} - prompts-ncu@3.0.0: - resolution: {integrity: sha512-qyz9UxZ5MlPKWVhWrCmSZ1ahm2GVYdjLb8og2sg0IPth1KRuhcggHGuijz0e41dkx35p1t1q3GRISGH7QGALFA==} + prompts-ncu@3.0.1: + resolution: {integrity: sha512-2OjeOtQciLYeNPIXCLDxw2CdwlpnTcxKLtc/5iDJ6usMiOzj77FcLjGwx2qQ3+VerLsilzCnGntDeYBp06OZsQ==} engines: {node: '>= 14'} prompts@2.4.2: @@ -8703,10 +8773,13 @@ packages: resolution: {integrity: sha512-i5lLI6iw9AU3Uu4szRNPPEkomnkjRTaVt9hy/bn5g/oSzekBSMeLZblcjP74AW0vBabqERLLIrz+gR8QYR54Tw==} deprecated: This version has a critical bug in fallback handling. Please upgrade to reflect-metadata@0.2.2 or newer. - reflect.getprototypeof@1.0.6: - resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} + reflect.getprototypeof@1.0.7: + resolution: {integrity: sha512-bMvFGIUKlc/eSfXNX+aZ+EL95/EgZzuwA0OBPTbZZDEJw/0AkentjMuM1oiRfwHrshqk4RzdgiTg5CcDalXN5g==} engines: {node: '>= 0.4'} + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + regex-not@1.0.2: resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} engines: {node: '>=0.10.0'} @@ -8715,12 +8788,12 @@ packages: resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true - regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + regexp.prototype.flags@1.5.3: + resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} engines: {node: '>= 0.4'} - registry-auth-token@5.0.2: - resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} + registry-auth-token@5.0.3: + resolution: {integrity: sha512-1bpc9IyC+e+CNFRaWyn77tk4xGG4PPUyfakSmA6F6cvUDjrm58dfyJ3II+9yb10EDkHoy1LaPSmHaWLOH3m6HA==} engines: {node: '>=14'} registry-url@6.0.1: @@ -8758,8 +8831,8 @@ packages: resolution: {integrity: sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw==} engines: {node: '>=10.13.0'} - requirejs@2.3.6: - resolution: {integrity: sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==} + requirejs@2.3.7: + resolution: {integrity: sha512-DouTG8T1WanGok6Qjg2SXuCMzszOo0eHeH9hDZ5Y4x8Je+9JB38HdTLT4/VA8OaUhBa0JPVHJ0pyBkM1z+pDsw==} engines: {node: '>=0.4.0'} hasBin: true @@ -8816,6 +8889,10 @@ packages: resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} + ret@0.1.15: resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} engines: {node: '>=0.12'} @@ -8841,9 +8918,8 @@ packages: engines: {node: '>=14'} hasBin: true - rimraf@5.0.9: - resolution: {integrity: sha512-3i7b8OcswU6CpU8Ej89quJD4O98id7TtVM5U4Mybh84zQXdrFmDLouWBEEaD/QfO3gDDfH+AGFCGsR7kngzQnA==} - engines: {node: 14 >=14.20 || 16 >=16.20 || >=18} + rimraf@5.0.10: + resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} hasBin: true rotating-file-stream@3.2.3: @@ -8888,8 +8964,8 @@ packages: safe-regex@1.1.0: resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} - safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + safe-stable-stringify@2.5.0: + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} engines: {node: '>=10'} safer-buffer@2.1.2: @@ -8939,11 +9015,6 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.6.2: - resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} - engines: {node: '>=10'} - hasBin: true - set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} @@ -9010,9 +9081,8 @@ packages: simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} - sinon@17.0.2: - resolution: {integrity: sha512-uihLiaB9FhzesElPDFZA7hDcNABzsVHwr3YfmM9sBllVwab3l0ltGlRV1XhpNfIacNDLGD1QRZNLs5nU5+hTuA==} - deprecated: There + sinon@17.0.1: + resolution: {integrity: sha512-wmwE19Lie0MLT+ZYNpDymasPHUKTaZHUH/pKEubRXIzySv9Atnlw+BUMGCzWgV7b7wO+Hw6f1TEOr0IUnmU8/g==} sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -9061,8 +9131,8 @@ packages: resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - sonic-boom@4.0.1: - resolution: {integrity: sha512-hTSD/6JMLyT4r9zeof6UtuBDpjJ9sO08/nmS5djaA9eozT9oOlNdpXSnzcgj4FTqpk3nkLrs61l4gip9r1HCrQ==} + sonic-boom@4.2.0: + resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==} sort-keys@2.0.0: resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==} @@ -9071,12 +9141,12 @@ packages: sort-object-keys@1.1.3: resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} - sort-package-json@2.10.0: - resolution: {integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g==} + sort-package-json@2.7.0: + resolution: {integrity: sha512-6AayF8bp6L+WROgpbhTMUtB9JSFmpGHjmW7DyaNPS1HwlTw2oSVlUUtlkHSEZmg5o89F3zvLBZNvMeZ1T4fjQg==} hasBin: true - source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} source-map-resolve@0.5.3: @@ -9111,8 +9181,8 @@ packages: spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - spdx-license-ids@3.0.18: - resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} + spdx-license-ids@3.0.20: + resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} split-string@3.1.0: resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} @@ -9164,10 +9234,6 @@ packages: resolution: {integrity: sha512-yhPIQXjrlt1xv7dyPQg2P17URmXbuM5pdGkpiMB3RenprfiBlvK415Lctfe0eshk90oA7/tNq7WEiMK8RSP39A==} engines: {node: '>=18'} - stop-iteration-iterator@1.0.0: - resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} - engines: {node: '>= 0.4'} - stream-shift@1.0.3: resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} @@ -9202,9 +9268,6 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} - string.prototype.includes@2.0.0: - resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==} - string.prototype.trim@1.2.9: resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} engines: {node: '>= 0.4'} @@ -9312,8 +9375,8 @@ packages: resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} engines: {node: ^14.18.0 || >=16.0.0} - systeminformation@5.22.11: - resolution: {integrity: sha512-aLws5yi4KCHTb0BVvbodQY5bY8eW4asMRDTxTW46hqw9lGjACX6TlLdJrkdoHYRB0qs+MekqEq1zG7WDnWE8Ug==} + systeminformation@5.23.5: + resolution: {integrity: sha512-PEpJwhRYxZgBCAlWZhWIgfMTjXLqfcaZ1pJsJn9snWNfBW/Z1YQg1mbIUSWrEV3ErAHF7l/OoVLQeaZDlPzkpA==} engines: {node: '>=8.0.0'} os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] hasBin: true @@ -9398,10 +9461,6 @@ packages: resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} engines: {node: '>=14.14'} - to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - to-object-path@0.3.0: resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} engines: {node: '>=0.10.0'} @@ -9433,8 +9492,8 @@ packages: resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==} engines: {node: '>= 14.0.0'} - ts-api-utils@1.3.0: - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + ts-api-utils@1.4.3: + resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' @@ -9443,20 +9502,6 @@ packages: resolution: {integrity: sha512-5YhbFoHmjxa7pgQLkB07MtGnGJ/yhvjmc9uhsnDBEICME6gkPf83SBwLDQqGDoCa3XzUMWLk1AU2Wn1u1naDtA==} engines: {node: '>=14.16'} - ts-node@10.9.2: - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} @@ -9473,8 +9518,8 @@ packages: tslib@2.4.0: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} - tslib@2.6.3: - resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} tsutils@3.21.0: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} @@ -9482,8 +9527,8 @@ packages: peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - tsx@4.16.2: - resolution: {integrity: sha512-C1uWweJDgdtX2x600HjaFaucXTilT7tgUZHbOE4+ypskZ1OP8CRCSDkCxG6Vya9EwaFIVagWwpaVAn5wzypaqQ==} + tsx@4.7.1: + resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} engines: {node: '>=18.0.0'} hasBin: true @@ -9513,6 +9558,10 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} + type-detect@4.1.0: + resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} + engines: {node: '>=4'} + type-fest@0.16.0: resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} engines: {node: '>=10'} @@ -9564,12 +9613,12 @@ packages: resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} engines: {node: '>= 0.4'} - typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + typed-array-byte-offset@1.0.3: + resolution: {integrity: sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw==} engines: {node: '>= 0.4'} - typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} typedarray-to-buffer@3.1.5: @@ -9578,12 +9627,12 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typedoc@0.25.13: - resolution: {integrity: sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==} + typedoc@0.25.7: + resolution: {integrity: sha512-m6A6JjQRg39p2ZVRIN3NKXgrN8vzlHhOS+r9ymUYtcUP/TIQPvWSq7YgE5ZjASfv5Vd5BW5xrir6Gm2XNNcOow==} engines: {node: '>= 16'} hasBin: true peerDependencies: - typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x + typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x typeorm@0.3.20: resolution: {integrity: sha512-sJ0T08dV5eoZroaq9uPKBoNcGslHBR4E4y+EBHs//SiGbblGe7IeduP/IH4ddCcj0qp3PHwDwGnuvqEAnKlq/Q==} @@ -9658,24 +9707,24 @@ packages: engines: {node: '>=14.17'} hasBin: true - typesync@0.12.2: - resolution: {integrity: sha512-PdjWi2vk/gEsZvBFa3CNKeapbjo3fYo/olwxJq7M10JVy9oPvM7ULIUYV/Xtohezouz63NBZdoD+ncTVQUBw2A==} + typesync@0.12.1: + resolution: {integrity: sha512-BX3RBZzBzYtHaNTDqc7vq6gUehJqhl34c3DFr67/FXTV6kz9Q6FiravII5HpJfeSE2iDz2Lhm5/YdlDlQbezLQ==} engines: {node: '>=16.0.0'} hasBin: true uc.micro@2.1.0: resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} - uglify-js@3.18.0: - resolution: {integrity: sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==} + uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} hasBin: true unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - underscore@1.13.6: - resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} + underscore@1.13.7: + resolution: {integrity: sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==} undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -9736,8 +9785,8 @@ packages: resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} engines: {node: '>=4'} - update-browserslist-db@1.1.0: - resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -9763,6 +9812,11 @@ packages: uuid-parse@1.1.0: resolution: {integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==} + uuid@3.4.0: + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true @@ -9776,9 +9830,6 @@ packages: engines: {node: '>=8'} hasBin: true - v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - v8-compile-cache@2.3.0: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} @@ -9833,19 +9884,20 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-boxed-primitive@1.1.0: + resolution: {integrity: sha512-Ei7Miu/AXe2JJ4iNF5j/UphAgRoma4trE6PtisM09bPygb3egMH3YLW/befsWb1A1AxvNSFidOFTB18XtnIIng==} + engines: {node: '>= 0.4'} - which-builtin-type@1.1.3: - resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + which-builtin-type@1.2.0: + resolution: {integrity: sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA==} engines: {node: '>= 0.4'} which-collection@1.0.2: resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} engines: {node: '>= 0.4'} - which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + which-typed-array@1.1.16: + resolution: {integrity: sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==} engines: {node: '>= 0.4'} which@1.3.1: @@ -9872,12 +9924,12 @@ packages: wif@4.0.0: resolution: {integrity: sha512-kADznC+4AFJNXpT8rLhbsfI7EmAcorc5nWvAdKUchGmwXEBD3n55q0/GZ3DBmc6auAvuTSsr/utiKizuXdNYOQ==} - winston-transport@4.7.1: - resolution: {integrity: sha512-wQCXXVgfv/wUPOfb2x0ruxzwkcZfxcktz6JIMUaPLmcNhO4bZTwA/WtDWK74xV3F2dKu8YadrFv0qhwYjVEwhA==} + winston-transport@4.9.0: + resolution: {integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==} engines: {node: '>= 12.0.0'} - winston@3.13.1: - resolution: {integrity: sha512-SvZit7VFNvXRzbqGHsv5KSmgbEYR5EiQfDAL9gxYkRqa934Hnk++zze0wANKtMHcy/gI4W/3xmSDwlhf865WGw==} + winston@3.12.0: + resolution: {integrity: sha512-OwbxKaOlESDi01mC9rkM0dQqQt2I8DAUMRLZ/HpbwvDXm85IryEHgoogy5fziQy38PntgZsLlhAYHz//UPHZ5w==} engines: {node: '>= 12.0.0'} word-wrap@1.2.5: @@ -9956,18 +10008,6 @@ packages: utf-8-validate: optional: true - ws@8.17.1: - resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - ws@8.5.0: resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} engines: {node: '>=10.0.0'} @@ -10002,9 +10042,12 @@ packages: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} - yaml@2.4.5: - resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} + yaml@2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} engines: {node: '>= 14'} + + yamljs@0.3.0: + resolution: {integrity: sha512-C/FsVVhht4iPQYXOInoxUM/1ELSf9EsgKH34FofQOp6hwCPrW4vG4w5++TED3xRUo8gD7l0P1J1dLlDYzODsTQ==} hasBin: true yargs-parser@20.2.4: @@ -10027,91 +10070,65 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} - yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - zod@3.22.5: - resolution: {integrity: sha512-HqnGsCdVZ2xc0qWPLdO25WnseXThh0kEYKIdV5F/hTHO75hNZFp8thxSeHhiPrHZKrFTo1SOgkAj9po5bexZlw==} + zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} snapshots: '@adraffy/ens-normalize@1.10.1': {} - '@babel/code-frame@7.24.7': + '@babel/code-frame@7.26.2': dependencies: - '@babel/highlight': 7.24.7 - picocolors: 1.0.1 + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 - '@babel/generator@7.24.8': + '@babel/generator@7.26.2': dependencies: - '@babel/types': 7.24.8 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - - '@babel/helper-environment-visitor@7.24.7': - dependencies: - '@babel/types': 7.24.8 - - '@babel/helper-function-name@7.24.7': - dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.8 - - '@babel/helper-hoist-variables@7.24.7': - dependencies: - '@babel/types': 7.24.8 - - '@babel/helper-split-export-declaration@7.24.7': - dependencies: - '@babel/types': 7.24.8 + jsesc: 3.0.2 - '@babel/helper-string-parser@7.24.8': {} + '@babel/helper-string-parser@7.25.9': {} - '@babel/helper-validator-identifier@7.24.7': {} + '@babel/helper-validator-identifier@7.25.9': {} - '@babel/highlight@7.24.7': + '@babel/parser@7.26.2': dependencies: - '@babel/helper-validator-identifier': 7.24.7 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.1 + '@babel/types': 7.26.0 - '@babel/parser@7.24.8': + '@babel/runtime@7.26.0': dependencies: - '@babel/types': 7.24.8 + regenerator-runtime: 0.14.1 - '@babel/template@7.24.7': + '@babel/template@7.25.9': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.24.8 - '@babel/types': 7.24.8 + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 - '@babel/traverse@7.24.8': + '@babel/traverse@7.25.9': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.8 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.24.8 - '@babel/types': 7.24.8 - debug: 4.3.5 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.2 + '@babel/parser': 7.26.2 + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 + debug: 4.3.7 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.24.8': + '@babel/types@7.26.0': dependencies: - '@babel/helper-string-parser': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 '@bcoe/v8-coverage@0.2.3': {} @@ -10123,21 +10140,21 @@ snapshots: dependencies: '@chainsafe/bls-hd-key': 0.3.0 '@noble/hashes': 1.4.0 - '@scure/bip39': 1.3.0 + '@scure/bip39': 1.2.2 '@chainsafe/bls-keystore@3.0.1': dependencies: ethereum-cryptography: 2.2.1 uuid: 9.0.1 - '@chainsafe/bls@7.1.3(@chainsafe/blst@0.2.11(encoding@0.1.13))': + '@chainsafe/bls@7.1.3(@chainsafe/blst@0.2.10(encoding@0.1.13))': dependencies: '@chainsafe/bls-keygen': 0.4.0 bls-eth-wasm: 0.4.8 optionalDependencies: - '@chainsafe/blst': 0.2.11(encoding@0.1.13) + '@chainsafe/blst': 0.2.10(encoding@0.1.13) - '@chainsafe/blst@0.2.11(encoding@0.1.13)': + '@chainsafe/blst@0.2.10(encoding@0.1.13)': dependencies: '@types/tar': 6.1.11 node-fetch: 2.7.0(encoding@0.1.13) @@ -10152,11 +10169,6 @@ snapshots: '@colors/colors@1.6.0': {} - '@cspotcode/source-map-support@0.8.1': - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - optional: true - '@dabh/diagnostics@2.0.3': dependencies: colorspace: 1.1.4 @@ -10168,89 +10180,89 @@ snapshots: gonzales-pe: 4.3.0 node-source-walk: 5.0.2 - '@esbuild/aix-ppc64@0.21.5': + '@esbuild/aix-ppc64@0.19.12': optional: true - '@esbuild/android-arm64@0.21.5': + '@esbuild/android-arm64@0.19.12': optional: true - '@esbuild/android-arm@0.21.5': + '@esbuild/android-arm@0.19.12': optional: true - '@esbuild/android-x64@0.21.5': + '@esbuild/android-x64@0.19.12': optional: true - '@esbuild/darwin-arm64@0.21.5': + '@esbuild/darwin-arm64@0.19.12': optional: true - '@esbuild/darwin-x64@0.21.5': + '@esbuild/darwin-x64@0.19.12': optional: true - '@esbuild/freebsd-arm64@0.21.5': + '@esbuild/freebsd-arm64@0.19.12': optional: true - '@esbuild/freebsd-x64@0.21.5': + '@esbuild/freebsd-x64@0.19.12': optional: true - '@esbuild/linux-arm64@0.21.5': + '@esbuild/linux-arm64@0.19.12': optional: true - '@esbuild/linux-arm@0.21.5': + '@esbuild/linux-arm@0.19.12': optional: true - '@esbuild/linux-ia32@0.21.5': + '@esbuild/linux-ia32@0.19.12': optional: true - '@esbuild/linux-loong64@0.21.5': + '@esbuild/linux-loong64@0.19.12': optional: true - '@esbuild/linux-mips64el@0.21.5': + '@esbuild/linux-mips64el@0.19.12': optional: true - '@esbuild/linux-ppc64@0.21.5': + '@esbuild/linux-ppc64@0.19.12': optional: true - '@esbuild/linux-riscv64@0.21.5': + '@esbuild/linux-riscv64@0.19.12': optional: true - '@esbuild/linux-s390x@0.21.5': + '@esbuild/linux-s390x@0.19.12': optional: true - '@esbuild/linux-x64@0.21.5': + '@esbuild/linux-x64@0.19.12': optional: true - '@esbuild/netbsd-x64@0.21.5': + '@esbuild/netbsd-x64@0.19.12': optional: true - '@esbuild/openbsd-x64@0.21.5': + '@esbuild/openbsd-x64@0.19.12': optional: true - '@esbuild/sunos-x64@0.21.5': + '@esbuild/sunos-x64@0.19.12': optional: true - '@esbuild/win32-arm64@0.21.5': + '@esbuild/win32-arm64@0.19.12': optional: true - '@esbuild/win32-ia32@0.21.5': + '@esbuild/win32-ia32@0.19.12': optional: true - '@esbuild/win32-x64@0.21.5': + '@esbuild/win32-x64@0.19.12': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@eslint-community/eslint-utils@4.4.1(eslint@8.56.0)': dependencies: - eslint: 8.57.0 + eslint: 8.56.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.11.0': {} + '@eslint-community/regexpp@4.12.1': {} '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.5 + debug: 4.3.7 espree: 9.6.1 globals: 13.24.0 - ignore: 5.3.1 + ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -10258,7 +10270,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} + '@eslint/js@8.56.0': {} '@gar/promisify@1.1.3': {} @@ -10364,7 +10376,7 @@ snapshots: '@hapi/mimos@7.0.1': dependencies: '@hapi/hoek': 11.0.4 - mime-db: 1.52.0 + mime-db: 1.53.0 '@hapi/nigel@5.0.1': dependencies: @@ -10452,7 +10464,7 @@ snapshots: '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.5 + debug: 4.3.7 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -10497,19 +10509,13 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping@0.3.9': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 - optional: true - '@jsdoc/salty@0.2.8': dependencies: lodash: 4.17.21 '@lerna/child-process@6.6.2': dependencies: - chalk: 4.1.0 + chalk: 4.1.2 execa: 5.0.0 strong-log-transformer: 2.1.0 @@ -10648,10 +10654,12 @@ snapshots: dependencies: '@noble/hashes': 1.4.0 - '@noble/ed25519@2.1.0': {} + '@noble/ed25519@2.0.0': {} '@noble/hashes@1.3.2': {} + '@noble/hashes@1.3.3': {} + '@noble/hashes@1.4.0': {} '@nodelib/fs.scandir@2.1.5': @@ -10691,7 +10699,7 @@ snapshots: bin-links: 4.0.4 cacache: 17.1.4 common-ancestor-path: 1.0.1 - hosted-git-info: 6.1.1 + hosted-git-info: 6.1.3 json-parse-even-better-errors: 3.0.2 json-stringify-nice: 1.1.4 minimatch: 6.2.0 @@ -10801,9 +10809,9 @@ snapshots: '@npmcli/query@3.1.0': dependencies: - postcss-selector-parser: 6.1.1 + postcss-selector-parser: 6.1.2 - '@npmcli/redact@2.0.1': {} + '@npmcli/redact@1.1.0': {} '@npmcli/run-script@4.1.7': dependencies: @@ -10838,11 +10846,11 @@ snapshots: '@nrwl/devkit@15.9.7(nx@15.9.7)': dependencies: ejs: 3.1.10 - ignore: 5.3.1 + ignore: 5.3.2 nx: 15.9.7 semver: 7.5.4 tmp: 0.2.3 - tslib: 2.6.3 + tslib: 2.8.1 '@nrwl/nx-darwin-arm64@15.9.7': optional: true @@ -10968,10 +10976,31 @@ snapshots: dependencies: '@octokit/openapi-types': 18.1.1 + '@opencensus/core@0.0.8': + dependencies: + continuation-local-storage: 3.2.1 + log-driver: 1.2.7 + semver: 5.7.2 + shimmer: 1.2.1 + uuid: 3.4.0 + + '@opencensus/core@0.0.9': + dependencies: + continuation-local-storage: 3.2.1 + log-driver: 1.2.7 + semver: 5.7.2 + shimmer: 1.2.1 + uuid: 3.4.0 + + '@opencensus/propagation-b3@0.0.8': + dependencies: + '@opencensus/core': 0.0.8 + uuid: 3.4.0 + '@parcel/watcher@2.0.4': dependencies: node-addon-api: 3.2.1 - node-gyp-build: 4.8.1 + node-gyp-build: 4.8.4 '@pkgjs/parseargs@0.11.0': optional: true @@ -10980,10 +11009,10 @@ snapshots: '@pm2/agent@2.0.4': dependencies: - async: 3.2.5 + async: 3.2.6 chalk: 3.0.0 dayjs: 1.8.36 - debug: 4.3.5 + debug: 4.3.7 eventemitter2: 5.0.1 fast-json-patch: 3.1.1 fclone: 1.0.11 @@ -10998,10 +11027,12 @@ snapshots: - supports-color - utf-8-validate - '@pm2/io@6.0.1': + '@pm2/io@5.0.2': dependencies: + '@opencensus/core': 0.0.9 + '@opencensus/propagation-b3': 0.0.8 async: 2.6.4 - debug: 4.3.5 + debug: 4.3.7 eventemitter2: 6.4.9 require-in-the-middle: 5.2.0 semver: 7.5.4 @@ -11011,12 +11042,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@pm2/js-api@0.8.0': + '@pm2/js-api@0.6.7': dependencies: async: 2.6.4 - debug: 4.3.5 + axios: 0.21.4(debug@4.3.7) + debug: 4.3.7 eventemitter2: 6.4.9 - extrareqp2: 1.0.0(debug@4.3.5) ws: 7.5.10 transitivePeerDependencies: - bufferutil @@ -11025,7 +11056,7 @@ snapshots: '@pm2/pm2-version-check@1.0.4': dependencies: - debug: 4.3.5 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -11035,7 +11066,7 @@ snapshots: dependencies: graceful-fs: 4.2.10 - '@pnpm/npm-conf@2.2.2': + '@pnpm/npm-conf@2.3.1': dependencies: '@pnpm/config.env-replace': 1.1.0 '@pnpm/network.ca-file': 1.0.2 @@ -11072,18 +11103,23 @@ snapshots: transitivePeerDependencies: - zenObservable - '@scure/base@1.1.7': {} + '@scure/base@1.1.9': {} '@scure/bip32@1.4.0': dependencies: '@noble/curves': 1.4.2 '@noble/hashes': 1.4.0 - '@scure/base': 1.1.7 + '@scure/base': 1.1.9 + + '@scure/bip39@1.2.2': + dependencies: + '@noble/hashes': 1.3.3 + '@scure/base': 1.1.9 '@scure/bip39@1.3.0': dependencies: '@noble/hashes': 1.4.0 - '@scure/base': 1.1.7 + '@scure/base': 1.1.9 '@sideway/address@4.1.5': dependencies: @@ -11120,25 +11156,21 @@ snapshots: '@sindresorhus/is@6.3.1': {} - '@sinonjs/commons@2.0.0': - dependencies: - type-detect: 4.0.8 - '@sinonjs/commons@3.0.1': dependencies: type-detect: 4.0.8 - '@sinonjs/fake-timers@11.2.2': + '@sinonjs/fake-timers@11.3.1': dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/samsam@8.0.0': + '@sinonjs/samsam@8.0.2': dependencies: - '@sinonjs/commons': 2.0.0 + '@sinonjs/commons': 3.0.1 lodash.get: 4.4.2 - type-detect: 4.0.8 + type-detect: 4.1.0 - '@sinonjs/text-encoding@0.7.2': {} + '@sinonjs/text-encoding@0.7.3': {} '@sqltools/formatter@1.2.5': {} @@ -11152,18 +11184,6 @@ snapshots: '@tootallnate/quickjs-emscripten@0.23.0': {} - '@tsconfig/node10@1.0.11': - optional: true - - '@tsconfig/node12@1.0.11': - optional: true - - '@tsconfig/node14@1.0.3': - optional: true - - '@tsconfig/node16@1.0.4': - optional: true - '@tufjs/canonical-json@1.0.0': {} '@tufjs/models@1.0.4': @@ -11249,21 +11269,21 @@ snapshots: '@types/lodash.clone@4.5.9': dependencies: - '@types/lodash': 4.17.6 + '@types/lodash': 4.17.13 '@types/lodash.clonedeep@4.5.9': dependencies: - '@types/lodash': 4.17.6 + '@types/lodash': 4.17.13 '@types/lodash.get@4.4.9': dependencies: - '@types/lodash': 4.17.6 + '@types/lodash': 4.17.13 '@types/lodash.set@4.3.9': dependencies: - '@types/lodash': 4.17.6 + '@types/lodash': 4.17.13 - '@types/lodash@4.17.6': {} + '@types/lodash@4.17.13': {} '@types/log-process-errors@6.3.1': {} @@ -11271,7 +11291,7 @@ snapshots: '@types/luxon@3.4.2': {} - '@types/markdown-it@14.1.1': + '@types/markdown-it@14.1.2': dependencies: '@types/linkify-it': 5.0.0 '@types/mdurl': 2.0.0 @@ -11300,10 +11320,10 @@ snapshots: '@types/parse-json@4.0.2': {} - '@types/pg@8.11.2': + '@types/pg@8.11.10': dependencies: '@types/node': 20.11.16 - pg-protocol: 1.6.1 + pg-protocol: 1.7.0 pg-types: 4.0.2 '@types/pino-pretty@5.0.0': @@ -11335,8 +11355,6 @@ snapshots: '@types/seedrandom@3.0.8': {} - '@types/semver-utils@1.1.3': {} - '@types/semver@7.5.8': {} '@types/sinon@17.0.3': @@ -11370,32 +11388,34 @@ snapshots: '@types/yargs-parser@21.0.3': {} - '@typescript-eslint/eslint-plugin@7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2)': + '@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.56.0)(typescript@5.4.2))(eslint@8.56.0)(typescript@5.4.2)': dependencies: - '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.16.0(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/scope-manager': 7.16.0 - '@typescript-eslint/type-utils': 7.16.0(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/utils': 7.16.0(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/visitor-keys': 7.16.0 - eslint: 8.57.0 + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 7.2.0(eslint@8.56.0)(typescript@5.4.2) + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/type-utils': 7.2.0(eslint@8.56.0)(typescript@5.4.2) + '@typescript-eslint/utils': 7.2.0(eslint@8.56.0)(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.2.0 + debug: 4.3.7 + eslint: 8.56.0 graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.4.2) + semver: 7.6.0 + ts-api-utils: 1.4.3(typescript@5.4.2) optionalDependencies: typescript: 5.4.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.4.2)': + '@typescript-eslint/parser@7.2.0(eslint@8.56.0)(typescript@5.4.2)': dependencies: - '@typescript-eslint/scope-manager': 7.16.0 - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/typescript-estree': 7.16.0(typescript@5.4.2) - '@typescript-eslint/visitor-keys': 7.16.0 - debug: 4.3.5 - eslint: 8.57.0 + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.2.0 + debug: 4.3.7 + eslint: 8.56.0 optionalDependencies: typescript: 5.4.2 transitivePeerDependencies: @@ -11406,18 +11426,18 @@ snapshots: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - '@typescript-eslint/scope-manager@7.16.0': + '@typescript-eslint/scope-manager@7.2.0': dependencies: - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/visitor-keys': 7.16.0 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/visitor-keys': 7.2.0 - '@typescript-eslint/type-utils@7.16.0(eslint@8.57.0)(typescript@5.4.2)': + '@typescript-eslint/type-utils@7.2.0(eslint@8.56.0)(typescript@5.4.2)': dependencies: - '@typescript-eslint/typescript-estree': 7.16.0(typescript@5.4.2) - '@typescript-eslint/utils': 7.16.0(eslint@8.57.0)(typescript@5.4.2) - debug: 4.3.5 - eslint: 8.57.0 - ts-api-utils: 1.3.0(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.2) + '@typescript-eslint/utils': 7.2.0(eslint@8.56.0)(typescript@5.4.2) + debug: 4.3.7 + eslint: 8.56.0 + ts-api-utils: 1.4.3(typescript@5.4.2) optionalDependencies: typescript: 5.4.2 transitivePeerDependencies: @@ -11427,13 +11447,13 @@ snapshots: '@typescript-eslint/types@5.62.0': {} - '@typescript-eslint/types@7.16.0': {} + '@typescript-eslint/types@7.2.0': {} '@typescript-eslint/typescript-estree@4.33.0(typescript@3.9.10)': dependencies: '@typescript-eslint/types': 4.33.0 '@typescript-eslint/visitor-keys': 4.33.0 - debug: 4.3.5 + debug: 4.3.7 globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.0 @@ -11447,7 +11467,7 @@ snapshots: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.5 + debug: 4.3.7 globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.0 @@ -11461,7 +11481,7 @@ snapshots: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.5 + debug: 4.3.7 globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.0 @@ -11471,43 +11491,46 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@7.16.0(typescript@5.4.2)': + '@typescript-eslint/typescript-estree@7.2.0(typescript@5.4.2)': dependencies: - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/visitor-keys': 7.16.0 - debug: 4.3.5 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/visitor-keys': 7.2.0 + debug: 4.3.7 globby: 11.1.0 is-glob: 4.0.3 - minimatch: 9.0.5 + minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.2) + ts-api-utils: 1.4.3(typescript@5.4.2) optionalDependencies: typescript: 5.4.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.2)': + '@typescript-eslint/utils@5.62.0(eslint@8.56.0)(typescript@5.4.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@8.56.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.2) - eslint: 8.57.0 + eslint: 8.56.0 eslint-scope: 5.1.1 semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@7.16.0(eslint@8.57.0)(typescript@5.4.2)': + '@typescript-eslint/utils@7.2.0(eslint@8.56.0)(typescript@5.4.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 7.16.0 - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/typescript-estree': 7.16.0(typescript@5.4.2) - eslint: 8.57.0 + '@eslint-community/eslint-utils': 4.4.1(eslint@8.56.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.2) + eslint: 8.56.0 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript @@ -11522,51 +11545,51 @@ snapshots: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.16.0': + '@typescript-eslint/visitor-keys@7.2.0': dependencies: - '@typescript-eslint/types': 7.16.0 + '@typescript-eslint/types': 7.2.0 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} - '@vue/compiler-core@3.4.31': + '@vue/compiler-core@3.5.13': dependencies: - '@babel/parser': 7.24.8 - '@vue/shared': 3.4.31 + '@babel/parser': 7.26.2 + '@vue/shared': 3.5.13 entities: 4.5.0 estree-walker: 2.0.2 - source-map-js: 1.2.0 + source-map-js: 1.2.1 - '@vue/compiler-dom@3.4.31': + '@vue/compiler-dom@3.5.13': dependencies: - '@vue/compiler-core': 3.4.31 - '@vue/shared': 3.4.31 + '@vue/compiler-core': 3.5.13 + '@vue/shared': 3.5.13 - '@vue/compiler-sfc@3.4.31': + '@vue/compiler-sfc@3.5.13': dependencies: - '@babel/parser': 7.24.8 - '@vue/compiler-core': 3.4.31 - '@vue/compiler-dom': 3.4.31 - '@vue/compiler-ssr': 3.4.31 - '@vue/shared': 3.4.31 + '@babel/parser': 7.26.2 + '@vue/compiler-core': 3.5.13 + '@vue/compiler-dom': 3.5.13 + '@vue/compiler-ssr': 3.5.13 + '@vue/shared': 3.5.13 estree-walker: 2.0.2 - magic-string: 0.30.10 - postcss: 8.4.39 - source-map-js: 1.2.0 + magic-string: 0.30.14 + postcss: 8.4.49 + source-map-js: 1.2.1 - '@vue/compiler-ssr@3.4.31': + '@vue/compiler-ssr@3.5.13': dependencies: - '@vue/compiler-dom': 3.4.31 - '@vue/shared': 3.4.31 + '@vue/compiler-dom': 3.5.13 + '@vue/shared': 3.5.13 - '@vue/shared@3.4.31': {} + '@vue/shared@3.5.13': {} '@yarnpkg/lockfile@1.1.0': {} '@yarnpkg/parsers@3.0.0-rc.46': dependencies: js-yaml: 3.14.1 - tslib: 2.6.3 + tslib: 2.8.1 '@zkochan/js-yaml@0.0.6': dependencies: @@ -11589,18 +11612,13 @@ snapshots: dependencies: acorn: 7.4.1 - acorn-jsx@5.3.2(acorn@8.12.1): - dependencies: - acorn: 8.12.1 - - acorn-walk@8.3.3: + acorn-jsx@5.3.2(acorn@8.14.0): dependencies: - acorn: 8.12.1 - optional: true + acorn: 8.14.0 acorn@7.4.1: {} - acorn@8.12.1: {} + acorn@8.14.0: {} add-stream@1.0.0: {} @@ -11608,13 +11626,13 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.5 + debug: 4.3.7 transitivePeerDependencies: - supports-color agent-base@7.1.1: dependencies: - debug: 4.3.5 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -11673,7 +11691,9 @@ snapshots: dependencies: type-fest: 0.21.3 - ansi-escapes@6.2.1: {} + ansi-escapes@7.0.0: + dependencies: + environment: 1.1.0 ansi-regex@2.1.1: {} @@ -11681,7 +11701,7 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.0.1: {} + ansi-regex@6.1.0: {} ansi-sequence-parser@1.1.1: {} @@ -11723,9 +11743,6 @@ snapshots: are-we-there-yet@4.0.2: {} - arg@4.1.3: - optional: true - argle@1.1.2: dependencies: lodash.isfunction: 3.0.9 @@ -11737,9 +11754,7 @@ snapshots: argparse@2.0.1: {} - aria-query@5.1.3: - dependencies: - deep-equal: 2.2.3 + aria-query@5.3.2: {} arr-diff@4.0.0: {} @@ -11758,10 +11773,10 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-object-atoms: 1.0.0 get-intrinsic: 1.2.4 - is-string: 1.0.7 + is-string: 1.1.0 array-union@2.1.0: {} @@ -11771,7 +11786,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-errors: 1.3.0 es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 @@ -11780,14 +11795,14 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-shim-unscopables: 1.0.2 array.prototype.flatmap@1.3.2: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-shim-unscopables: 1.0.2 arraybuffer.prototype.slice@1.0.3: @@ -11795,7 +11810,7 @@ snapshots: array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-errors: 1.3.0 get-intrinsic: 1.2.4 is-array-buffer: 3.0.4 @@ -11817,13 +11832,18 @@ snapshots: ast-types@0.13.4: dependencies: - tslib: 2.6.3 + tslib: 2.8.1 + + async-listener@0.6.10: + dependencies: + semver: 5.7.2 + shimmer: 1.2.1 async@2.6.4: dependencies: lodash: 4.17.21 - async@3.2.5: {} + async@3.2.6: {} asynckit@0.4.0: {} @@ -11837,24 +11857,28 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 - awilix@10.0.2: + awilix@9.0.0: dependencies: camel-case: 4.1.2 fast-glob: 3.3.2 - axe-core@4.9.1: {} + axe-core@4.7.0: {} - axios@1.7.2: + axios@0.21.4(debug@4.3.7): dependencies: - follow-redirects: 1.15.6(debug@4.3.5) - form-data: 4.0.0 - proxy-from-env: 1.1.0 + follow-redirects: 1.15.9(debug@4.3.7) transitivePeerDependencies: - debug - axobject-query@3.1.1: + axios@1.7.8: dependencies: - deep-equal: 2.2.3 + follow-redirects: 1.15.9(debug@4.3.7) + form-data: 4.0.1 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + axobject-query@3.2.4: {} balanced-match@1.0.2: {} @@ -11886,12 +11910,6 @@ snapshots: bindings: 1.5.0 prebuild-install: 7.1.2 - better-sqlite3@9.4.3: - dependencies: - bindings: 1.5.0 - prebuild-install: 7.1.2 - optional: true - big-number@2.0.0: {} bignumber.js@9.1.2: {} @@ -11911,7 +11929,7 @@ snapshots: bip39@3.1.0: dependencies: - '@noble/hashes': 1.4.0 + '@noble/hashes': 1.3.3 bl@4.1.0: dependencies: @@ -11923,9 +11941,9 @@ snapshots: bls-eth-wasm@0.4.8: {} - bls12-381-keygen@0.2.4: + bls12-381-keygen@0.2.3: dependencies: - '@noble/hashes': 1.4.0 + '@noble/hashes': 1.3.3 bluebird@3.7.2: {} @@ -11957,12 +11975,12 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.23.2: + browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001641 - electron-to-chromium: 1.4.827 - node-releases: 2.0.14 - update-browserslist-db: 1.1.0(browserslist@4.23.2) + caniuse-lite: 1.0.30001686 + electron-to-chromium: 1.5.68 + node-releases: 2.0.18 + update-browserslist-db: 1.1.1(browserslist@4.24.2) bs58@5.0.0: dependencies: @@ -11979,12 +11997,10 @@ snapshots: dependencies: bsert: 0.0.13 loady: 0.0.5 - nan: 2.20.0 + nan: 2.22.0 buffer-from@1.1.2: {} - buffer-writer@2.0.0: {} - buffer@5.7.1: dependencies: base64-js: 1.5.1 @@ -12012,7 +12028,7 @@ snapshots: '@bcoe/v8-coverage': 0.2.3 '@istanbuljs/schema': 0.1.3 find-up: 5.0.0 - foreground-child: 3.2.1 + foreground-child: 3.3.0 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-reports: 3.1.7 @@ -12136,7 +12152,7 @@ snapshots: camel-case@4.1.2: dependencies: pascal-case: 3.1.2 - tslib: 2.6.3 + tslib: 2.8.1 camelcase-keys@6.2.2: dependencies: @@ -12157,7 +12173,7 @@ snapshots: camelcase@7.0.1: {} - caniuse-lite@1.0.30001641: {} + caniuse-lite@1.0.30001686: {} capture-console@1.0.2: dependencies: @@ -12236,7 +12252,7 @@ snapshots: ci-info@3.9.0: {} - ci-info@4.0.0: {} + ci-info@4.1.0: {} class-utils@0.3.6: dependencies: @@ -12269,6 +12285,10 @@ snapshots: dependencies: restore-cursor: 4.0.0 + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + cli-highlight@2.1.11: dependencies: chalk: 4.1.2 @@ -12379,7 +12399,7 @@ snapshots: commander@10.0.1: {} - commander@12.1.0: {} + commander@11.1.0: {} commander@2.15.1: {} @@ -12440,6 +12460,11 @@ snapshots: console-control-strings@1.1.0: {} + continuation-local-storage@3.2.1: + dependencies: + async-listener: 0.6.10 + emitter-listener: 1.1.2 + conventional-changelog-angular@5.0.12: dependencies: compare-func: 2.0.0 @@ -12505,9 +12530,9 @@ snapshots: copy-descriptor@0.1.1: {} - core-js-compat@3.37.1: + core-js-compat@3.39.0: dependencies: - browserslist: 4.23.2 + browserslist: 4.24.2 core-util-is@1.0.3: {} @@ -12536,9 +12561,6 @@ snapshots: optionalDependencies: typescript: 5.4.2 - create-require@1.1.1: - optional: true - cron@3.1.6: dependencies: '@types/luxon': 3.3.8 @@ -12548,9 +12570,9 @@ snapshots: cross-env@7.0.3: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 - cross-spawn@7.0.3: + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 @@ -12621,10 +12643,14 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.5: + debug@4.3.4: dependencies: ms: 2.1.2 + debug@4.3.7: + dependencies: + ms: 2.1.3 + decamelize-keys@1.1.1: dependencies: decamelize: 1.2.0 @@ -12642,27 +12668,6 @@ snapshots: dedent@0.7.0: {} - deep-equal@2.2.3: - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - es-get-iterator: 1.1.3 - get-intrinsic: 1.2.4 - is-arguments: 1.1.1 - is-array-buffer: 3.0.4 - is-date-object: 1.0.5 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - isarray: 2.0.5 - object-is: 1.1.6 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - side-channel: 1.0.6 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.2 - which-typed-array: 1.1.15 - deep-extend@0.6.0: {} deep-is@0.1.4: {} @@ -12679,7 +12684,7 @@ snapshots: dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 - gopd: 1.0.1 + gopd: 1.1.0 define-lazy-prop@2.0.0: {} @@ -12743,17 +12748,17 @@ snapshots: depcheck@1.4.7: dependencies: - '@babel/parser': 7.24.8 - '@babel/traverse': 7.24.8 - '@vue/compiler-sfc': 3.4.31 + '@babel/parser': 7.26.2 + '@babel/traverse': 7.25.9 + '@vue/compiler-sfc': 3.5.13 callsite: 1.0.0 camelcase: 6.3.0 cosmiconfig: 7.1.0 - debug: 4.3.5 + debug: 4.3.7 deps-regex: 0.2.0 findup-sync: 5.0.0 - ignore: 5.3.1 - is-core-module: 2.14.0 + ignore: 5.3.2 + is-core-module: 2.15.1 js-yaml: 3.14.1 json5: 2.2.3 lodash: 4.17.21 @@ -12772,7 +12777,7 @@ snapshots: dependency-tree@9.0.0: dependencies: commander: 2.20.3 - debug: 4.3.5 + debug: 4.3.7 filing-cabinet: 3.3.1 precinct: 9.2.1 typescript: 4.9.5 @@ -12831,7 +12836,7 @@ snapshots: detective-less@1.0.2: dependencies: - debug: 4.3.5 + debug: 4.3.7 gonzales-pe: 4.3.0 node-source-walk: 4.3.0 transitivePeerDependencies: @@ -12839,9 +12844,9 @@ snapshots: detective-postcss@4.0.0: dependencies: - debug: 4.3.5 + debug: 4.3.7 is-url: 1.2.4 - postcss: 8.4.39 + postcss: 8.4.49 postcss-values-parser: 2.0.1 transitivePeerDependencies: - supports-color @@ -12849,8 +12854,8 @@ snapshots: detective-postcss@6.1.3: dependencies: is-url: 1.2.4 - postcss: 8.4.39 - postcss-values-parser: 6.0.2(postcss@8.4.39) + postcss: 8.4.49 + postcss-values-parser: 6.0.2(postcss@8.4.49) detective-sass@3.0.2: dependencies: @@ -12896,9 +12901,6 @@ snapshots: transitivePeerDependencies: - supports-color - diff@4.0.2: - optional: true - diff@5.2.0: {} dir-glob@3.0.1: @@ -12923,7 +12925,7 @@ snapshots: dotenv@10.0.0: {} - dotenv@16.4.5: {} + dotenv@16.4.6: {} duplexer@0.1.2: {} @@ -12938,13 +12940,17 @@ snapshots: ejs@3.1.10: dependencies: - jake: 10.9.1 + jake: 10.9.2 - electron-to-chromium@1.4.827: {} + electron-to-chromium@1.5.68: {} elegant-spinner@1.0.1: {} - emoji-regex@10.3.0: {} + emitter-listener@1.1.2: + dependencies: + shimmer: 1.2.1 + + emoji-regex@10.4.0: {} emoji-regex@8.0.0: {} @@ -12961,7 +12967,7 @@ snapshots: dependencies: once: 1.4.0 - enhanced-resolve@5.17.0: + enhanced-resolve@5.17.1: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 @@ -12978,7 +12984,9 @@ snapshots: envfile@7.1.0: {} - envinfo@7.13.0: {} + envinfo@7.14.0: {} + + environment@1.1.0: {} err-code@2.0.3: {} @@ -12986,7 +12994,7 @@ snapshots: dependencies: is-arrayish: 0.2.1 - es-abstract@1.23.3: + es-abstract@1.23.5: dependencies: array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.3 @@ -12999,30 +13007,30 @@ snapshots: es-errors: 1.3.0 es-object-atoms: 1.0.0 es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 + es-to-primitive: 1.3.0 function.prototype.name: 1.1.6 get-intrinsic: 1.2.4 get-symbol-description: 1.0.2 globalthis: 1.0.4 - gopd: 1.0.1 + gopd: 1.1.0 has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 + has-proto: 1.1.0 + has-symbols: 1.1.0 hasown: 2.0.2 internal-slot: 1.0.7 is-array-buffer: 3.0.4 is-callable: 1.2.7 is-data-view: 1.0.1 is-negative-zero: 2.0.3 - is-regex: 1.1.4 + is-regex: 1.2.0 is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 + is-string: 1.1.0 is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.13.2 + object-inspect: 1.13.3 object-keys: 1.1.1 object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 + regexp.prototype.flags: 1.5.3 safe-array-concat: 1.1.2 safe-regex-test: 1.0.3 string.prototype.trim: 1.2.9 @@ -13030,10 +13038,10 @@ snapshots: string.prototype.trimstart: 1.0.8 typed-array-buffer: 1.0.2 typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.6 + typed-array-byte-offset: 1.0.3 + typed-array-length: 1.0.7 unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 + which-typed-array: 1.1.16 es-define-property@1.0.0: dependencies: @@ -13041,33 +13049,22 @@ snapshots: es-errors@1.3.0: {} - es-get-iterator@1.1.3: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - is-arguments: 1.1.1 - is-map: 2.0.3 - is-set: 2.0.3 - is-string: 1.0.7 - isarray: 2.0.5 - stop-iteration-iterator: 1.0.0 - - es-iterator-helpers@1.0.19: + es-iterator-helpers@1.2.0: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-errors: 1.3.0 es-set-tostringtag: 2.0.3 function-bind: 1.1.2 get-intrinsic: 1.2.4 globalthis: 1.0.4 + gopd: 1.1.0 has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 + has-proto: 1.1.0 + has-symbols: 1.1.0 internal-slot: 1.0.7 - iterator.prototype: 1.1.2 + iterator.prototype: 1.1.3 safe-array-concat: 1.1.2 es-object-atoms@1.0.0: @@ -13084,11 +13081,11 @@ snapshots: dependencies: hasown: 2.0.2 - es-to-primitive@1.2.1: + es-to-primitive@1.3.0: dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 - is-symbol: 1.0.4 + is-symbol: 1.1.0 es5-ext@0.10.64: dependencies: @@ -13115,33 +13112,33 @@ snapshots: es6-iterator: 2.0.3 es6-symbol: 3.1.4 - esbuild@0.21.5: + esbuild@0.19.12: optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 - - escalade@3.1.2: {} + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + + escalade@3.2.0: {} escape-goat@4.0.0: {} @@ -13170,29 +13167,29 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@9.1.0(eslint@8.57.0): + eslint-config-prettier@9.1.0(eslint@8.56.0): dependencies: - eslint: 8.57.0 + eslint: 8.56.0 eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 - is-core-module: 2.14.0 + is-core-module: 2.15.1 resolve: 1.22.8 transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.2.0(eslint@8.56.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 7.16.0(eslint@8.57.0)(typescript@5.4.2) - eslint: 8.57.0 + '@typescript-eslint/parser': 7.2.0(eslint@8.56.0)(typescript@5.4.2) + eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.56.0)(typescript@5.4.2))(eslint@8.56.0): dependencies: array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 @@ -13200,11 +13197,11 @@ snapshots: array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.57.0 + eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.2.0(eslint@8.56.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) hasown: 2.0.2 - is-core-module: 2.14.0 + is-core-module: 2.15.1 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.8 @@ -13213,52 +13210,52 @@ snapshots: semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 7.16.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/parser': 7.2.0(eslint@8.56.0)(typescript@5.4.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsx-a11y@6.9.0(eslint@8.57.0): + eslint-plugin-jsx-a11y@6.8.0(eslint@8.56.0): dependencies: - aria-query: 5.1.3 + '@babel/runtime': 7.26.0 + aria-query: 5.3.2 array-includes: 3.1.8 array.prototype.flatmap: 1.3.2 ast-types-flow: 0.0.8 - axe-core: 4.9.1 - axobject-query: 3.1.1 + axe-core: 4.7.0 + axobject-query: 3.2.4 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.19 - eslint: 8.57.0 + es-iterator-helpers: 1.2.0 + eslint: 8.56.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 minimatch: 3.1.2 + object.entries: 1.1.8 object.fromentries: 2.0.8 - safe-regex-test: 1.0.3 - string.prototype.includes: 2.0.0 - eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.2): + eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0(eslint@8.56.0))(eslint@8.56.0)(prettier@3.2.5): dependencies: - eslint: 8.57.0 - prettier: 3.3.2 + eslint: 8.56.0 + prettier: 3.2.5 prettier-linter-helpers: 1.0.0 synckit: 0.8.8 optionalDependencies: - eslint-config-prettier: 9.1.0(eslint@8.57.0) + eslint-config-prettier: 9.1.0(eslint@8.56.0) - eslint-plugin-promise@6.4.0(eslint@8.57.0): + eslint-plugin-promise@6.1.1(eslint@8.56.0): dependencies: - eslint: 8.57.0 + eslint: 8.56.0 - eslint-plugin-simple-import-sort@10.0.0(eslint@8.57.0): + eslint-plugin-simple-import-sort@10.0.0(eslint@8.56.0): dependencies: - eslint: 8.57.0 + eslint: 8.56.0 - eslint-plugin-sonarjs@0.23.0(eslint@8.57.0): + eslint-plugin-sonarjs@0.23.0(eslint@8.56.0): dependencies: - eslint: 8.57.0 + eslint: 8.56.0 eslint-plugin-sort-keys-fix@1.1.2: dependencies: @@ -13269,23 +13266,23 @@ snapshots: eslint-plugin-testcafe@0.2.1: {} - eslint-plugin-testing-library@6.2.2(eslint@8.57.0)(typescript@5.4.2): + eslint-plugin-testing-library@6.2.0(eslint@8.56.0)(typescript@5.4.2): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.2) - eslint: 8.57.0 + '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.4.2) + eslint: 8.56.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-unicorn@51.0.1(eslint@8.57.0): + eslint-plugin-unicorn@51.0.1(eslint@8.56.0): dependencies: - '@babel/helper-validator-identifier': 7.24.7 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@babel/helper-validator-identifier': 7.25.9 + '@eslint-community/eslint-utils': 4.4.1(eslint@8.56.0) '@eslint/eslintrc': 2.1.4 - ci-info: 4.0.0 + ci-info: 4.1.0 clean-regexp: 1.0.0 - core-js-compat: 3.37.1 - eslint: 8.57.0 + core-js-compat: 3.39.0 + eslint: 8.56.0 esquery: 1.6.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -13299,12 +13296,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-unused-imports@3.2.0(@typescript-eslint/eslint-plugin@7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0): + eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.56.0)(typescript@5.4.2))(eslint@8.56.0)(typescript@5.4.2))(eslint@8.56.0): dependencies: - eslint: 8.57.0 + eslint: 8.56.0 eslint-rule-composer: 0.3.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/eslint-plugin': 7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.56.0)(typescript@5.4.2))(eslint@8.56.0)(typescript@5.4.2) eslint-rule-composer@0.3.0: {} @@ -13324,20 +13321,20 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint@8.57.0: + eslint@8.56.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/eslint-utils': 4.4.1(eslint@8.56.0) + '@eslint-community/regexpp': 4.12.1 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 + '@eslint/js': 8.56.0 '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.5 + cross-spawn: 7.0.6 + debug: 4.3.7 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -13351,7 +13348,7 @@ snapshots: glob-parent: 6.0.2 globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -13384,8 +13381,8 @@ snapshots: espree@9.6.1: dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -13426,7 +13423,7 @@ snapshots: - bufferutil - utf-8-validate - ethers@6.13.1: + ethers@6.11.1: dependencies: '@adraffy/ens-normalize': 1.10.1 '@noble/curves': 1.2.0 @@ -13434,7 +13431,7 @@ snapshots: '@types/node': 18.15.13 aes-js: 4.0.0-beta.5 tslib: 2.4.0 - ws: 8.17.1 + ws: 8.5.0 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -13460,7 +13457,7 @@ snapshots: execa@5.0.0: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 get-stream: 6.0.0 human-signals: 2.1.0 is-stream: 2.0.0 @@ -13472,7 +13469,7 @@ snapshots: execa@8.0.1: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 get-stream: 8.0.1 human-signals: 5.0.0 is-stream: 3.0.0 @@ -13509,11 +13506,7 @@ snapshots: iconv-lite: 0.4.24 tmp: 0.0.33 - extrareqp2@1.0.0(debug@4.3.5): - dependencies: - follow-redirects: 1.15.6(debug@4.3.5) - transitivePeerDependencies: - - debug + fast-copy@3.0.1: {} fast-copy@3.0.2: {} @@ -13527,7 +13520,7 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.7 + micromatch: 4.0.8 fast-glob@3.3.2: dependencies: @@ -13535,7 +13528,7 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.7 + micromatch: 4.0.8 fast-json-patch@3.1.1: {} @@ -13594,8 +13587,8 @@ snapshots: dependencies: app-module-path: 2.2.0 commander: 2.20.3 - debug: 4.3.5 - enhanced-resolve: 5.17.0 + debug: 4.3.7 + enhanced-resolve: 5.17.1 is-relative-path: 1.0.2 module-definition: 3.4.0 module-lookup-amd: 7.0.1 @@ -13630,26 +13623,26 @@ snapshots: dependencies: detect-file: 1.0.0 is-glob: 4.0.3 - micromatch: 4.0.7 + micromatch: 4.0.8 resolve-dir: 1.0.1 flat-cache@3.2.0: dependencies: - flatted: 3.3.1 + flatted: 3.3.2 keyv: 4.5.4 rimraf: 3.0.2 flat@5.0.2: {} - flatted@3.3.1: {} + flatted@3.3.2: {} flatten@1.0.3: {} fn.name@1.1.0: {} - follow-redirects@1.15.6(debug@4.3.5): + follow-redirects@1.15.9(debug@4.3.7): optionalDependencies: - debug: 4.3.5 + debug: 4.3.7 for-each@0.3.3: dependencies: @@ -13657,16 +13650,16 @@ snapshots: for-in@1.0.2: {} - foreground-child@3.2.1: + foreground-child@3.3.0: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 signal-exit: 4.1.0 form-data-encoder@2.1.4: {} form-data-encoder@4.0.2: {} - form-data@4.0.0: + form-data@4.0.1: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 @@ -13715,7 +13708,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 functions-have-names: 1.2.3 functions-have-names@1.2.3: {} @@ -13754,14 +13747,14 @@ snapshots: get-caller-file@2.0.5: {} - get-east-asian-width@1.2.0: {} + get-east-asian-width@1.3.0: {} get-intrinsic@1.2.4: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 + has-proto: 1.1.0 + has-symbols: 1.1.0 hasown: 2.0.2 get-own-enumerable-property-symbols@3.0.2: {} @@ -13791,7 +13784,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.4 - get-tsconfig@4.7.5: + get-tsconfig@4.8.1: dependencies: resolve-pkg-maps: 1.0.0 @@ -13799,7 +13792,7 @@ snapshots: dependencies: basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 - debug: 4.3.5 + debug: 4.3.7 fs-extra: 11.2.0 transitivePeerDependencies: - supports-color @@ -13857,21 +13850,12 @@ snapshots: glob@10.3.10: dependencies: - foreground-child: 3.2.1 + foreground-child: 3.3.0 jackspeak: 2.3.6 minimatch: 9.0.5 minipass: 7.1.2 path-scurry: 1.11.1 - glob@10.4.5: - dependencies: - foreground-child: 3.2.1 - jackspeak: 3.4.3 - minimatch: 9.0.5 - minipass: 7.1.2 - package-json-from-dist: 1.0.0 - path-scurry: 1.11.1 - glob@7.1.4: dependencies: fs.realpath: 1.0.0 @@ -13932,14 +13916,14 @@ snapshots: globalthis@1.0.4: dependencies: define-properties: 1.2.1 - gopd: 1.0.1 + gopd: 1.1.0 globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.1 + ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 @@ -13947,7 +13931,7 @@ snapshots: dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.1 + ignore: 5.3.2 merge2: 1.4.1 slash: 4.0.0 @@ -13955,7 +13939,7 @@ snapshots: dependencies: minimist: 1.2.8 - gopd@1.0.1: + gopd@1.1.0: dependencies: get-intrinsic: 1.2.4 @@ -14000,7 +13984,7 @@ snapshots: source-map: 0.6.1 wordwrap: 1.0.0 optionalDependencies: - uglify-js: 3.18.0 + uglify-js: 3.19.3 hard-rejection@2.1.0: {} @@ -14018,13 +14002,15 @@ snapshots: dependencies: es-define-property: 1.0.0 - has-proto@1.0.3: {} + has-proto@1.1.0: + dependencies: + call-bind: 1.0.7 - has-symbols@1.0.3: {} + has-symbols@1.1.0: {} has-tostringtag@1.0.2: dependencies: - has-symbols: 1.0.3 + has-symbols: 1.1.0 has-unicode@2.0.1: {} @@ -14075,7 +14061,7 @@ snapshots: dependencies: lru-cache: 7.18.3 - hosted-git-info@6.1.1: + hosted-git-info@6.1.3: dependencies: lru-cache: 7.18.3 @@ -14091,7 +14077,7 @@ snapshots: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.5 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -14099,14 +14085,14 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.5 + debug: 4.3.7 transitivePeerDependencies: - supports-color http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 - debug: 4.3.5 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -14118,14 +14104,14 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.5 + debug: 4.3.7 transitivePeerDependencies: - supports-color https-proxy-agent@7.0.5: dependencies: agent-base: 7.1.1 - debug: 4.3.5 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -14137,7 +14123,7 @@ snapshots: dependencies: ms: 2.1.3 - husky@9.0.11: {} + husky@9.0.10: {} hyperid@3.2.0: dependencies: @@ -14164,7 +14150,7 @@ snapshots: dependencies: minimatch: 9.0.5 - ignore@5.3.1: {} + ignore@5.3.2: {} import-fresh@3.3.0: dependencies: @@ -14173,7 +14159,7 @@ snapshots: import-lazy@4.0.0: {} - import-local@3.1.0: + import-local@3.2.0: dependencies: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 @@ -14270,11 +14256,6 @@ snapshots: dependencies: hasown: 2.0.2 - is-arguments@1.1.1: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - is-array-buffer@3.0.4: dependencies: call-bind: 1.0.7 @@ -14288,7 +14269,7 @@ snapshots: dependencies: has-tostringtag: 1.0.2 - is-bigint@1.0.4: + is-bigint@1.1.0: dependencies: has-bigints: 1.0.2 @@ -14296,7 +14277,7 @@ snapshots: dependencies: binary-extensions: 2.3.0 - is-boolean-object@1.1.2: + is-boolean-object@1.2.0: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 @@ -14317,7 +14298,7 @@ snapshots: dependencies: ci-info: 3.9.0 - is-core-module@2.14.0: + is-core-module@2.15.1: dependencies: hasown: 2.0.2 @@ -14357,7 +14338,7 @@ snapshots: is-extglob@2.1.1: {} - is-finalizationregistry@1.0.2: + is-finalizationregistry@1.1.0: dependencies: call-bind: 1.0.7 @@ -14373,7 +14354,7 @@ snapshots: is-fullwidth-code-point@5.0.0: dependencies: - get-east-asian-width: 1.2.0 + get-east-asian-width: 1.3.0 is-generator-function@1.0.10: dependencies: @@ -14400,8 +14381,9 @@ snapshots: is-npm@6.0.0: {} - is-number-object@1.0.7: + is-number-object@1.1.0: dependencies: + call-bind: 1.0.7 has-tostringtag: 1.0.2 is-number@3.0.0: @@ -14438,10 +14420,12 @@ snapshots: is-promise@2.2.2: {} - is-regex@1.1.4: + is-regex@1.2.0: dependencies: call-bind: 1.0.7 + gopd: 1.1.0 has-tostringtag: 1.0.2 + hasown: 2.0.2 is-regexp@1.0.0: {} @@ -14465,13 +14449,16 @@ snapshots: is-stream@3.0.0: {} - is-string@1.0.7: + is-string@1.1.0: dependencies: + call-bind: 1.0.7 has-tostringtag: 1.0.2 - is-symbol@1.0.4: + is-symbol@1.1.0: dependencies: - has-symbols: 1.0.3 + call-bind: 1.0.7 + has-symbols: 1.1.0 + safe-regex-test: 1.0.3 is-text-path@1.0.1: dependencies: @@ -14479,7 +14466,7 @@ snapshots: is-typed-array@1.1.13: dependencies: - which-typed-array: 1.1.15 + which-typed-array: 1.1.16 is-typedarray@1.0.0: {} @@ -14487,7 +14474,7 @@ snapshots: is-unicode-supported@1.3.0: {} - is-unicode-supported@2.0.0: {} + is-unicode-supported@2.1.0: {} is-url-superb@4.0.0: {} @@ -14537,12 +14524,12 @@ snapshots: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - iterator.prototype@1.1.2: + iterator.prototype@1.1.3: dependencies: define-properties: 1.2.1 get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - reflect.getprototypeof: 1.0.6 + has-symbols: 1.1.0 + reflect.getprototypeof: 1.0.7 set-function-name: 2.0.2 jackspeak@2.3.6: @@ -14551,15 +14538,9 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jackspeak@3.4.3: - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - - jake@10.9.1: + jake@10.9.2: dependencies: - async: 3.2.5 + async: 3.2.6 chalk: 4.1.2 filelist: 1.0.4 minimatch: 3.1.2 @@ -14604,28 +14585,26 @@ snapshots: jsbn@1.1.0: {} - jsdoc@4.0.3: + jsdoc@4.0.4: dependencies: - '@babel/parser': 7.24.8 + '@babel/parser': 7.26.2 '@jsdoc/salty': 0.2.8 - '@types/markdown-it': 14.1.1 + '@types/markdown-it': 14.1.2 bluebird: 3.7.2 catharsis: 0.9.0 escape-string-regexp: 2.0.0 js2xmlparser: 4.0.2 klaw: 3.0.0 markdown-it: 14.1.0 - markdown-it-anchor: 8.6.7(@types/markdown-it@14.1.1)(markdown-it@14.1.0) + markdown-it-anchor: 8.6.7(@types/markdown-it@14.1.2)(markdown-it@14.1.0) marked: 4.3.0 mkdirp: 1.0.4 requizzle: 0.2.4 strip-json-comments: 3.1.1 - underscore: 1.13.6 + underscore: 1.13.7 jsesc@0.5.0: {} - jsesc@2.5.2: {} - jsesc@3.0.2: {} json-buffer@3.0.1: {} @@ -14707,7 +14686,7 @@ snapshots: kuler@2.0.0: {} - ky@1.4.0: {} + ky@1.7.2: {} language-subtag-registry@0.3.23: {} @@ -14721,7 +14700,7 @@ snapshots: latest-version@9.0.0: dependencies: - package-json: 10.0.0 + package-json: 10.0.1 lazy@1.0.11: {} @@ -14747,7 +14726,7 @@ snapshots: cosmiconfig: 7.0.0 dedent: 0.7.0 dot-prop: 6.0.1 - envinfo: 7.13.0 + envinfo: 7.14.0 execa: 5.0.0 fs-extra: 9.1.0 get-port: 5.1.1 @@ -14757,7 +14736,7 @@ snapshots: globby: 11.1.0 graceful-fs: 4.2.10 has-unicode: 2.0.1 - import-local: 3.1.0 + import-local: 3.2.0 init-package-json: 3.0.2 inquirer: 8.2.6 is-ci: 2.0.0 @@ -14844,7 +14823,7 @@ snapshots: transitivePeerDependencies: - supports-color - lilconfig@3.1.2: {} + lilconfig@3.0.0: {} lines-and-columns@1.2.4: {} @@ -14854,18 +14833,18 @@ snapshots: dependencies: uc.micro: 2.1.0 - lint-staged@15.2.7: + lint-staged@15.2.2: dependencies: chalk: 5.3.0 - commander: 12.1.0 - debug: 4.3.5 + commander: 11.1.0 + debug: 4.3.4 execa: 8.0.1 - lilconfig: 3.1.2 - listr2: 8.2.3 - micromatch: 4.0.7 + lilconfig: 3.0.0 + listr2: 8.0.1 + micromatch: 4.0.5 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.4.5 + yaml: 2.3.4 transitivePeerDependencies: - supports-color @@ -14890,12 +14869,12 @@ snapshots: date-fns: 1.30.1 figures: 2.0.0 - listr2@8.2.3: + listr2@8.0.1: dependencies: cli-truncate: 4.0.0 colorette: 2.0.20 eventemitter3: 5.0.1 - log-update: 6.0.0 + log-update: 6.1.0 rfdc: 1.4.1 wrap-ansi: 9.0.0 @@ -14976,6 +14955,8 @@ snapshots: lodash@4.17.21: {} + log-driver@1.2.7: {} + log-process-errors@12.0.0: dependencies: is-error-instance: 3.0.0 @@ -15003,21 +14984,21 @@ snapshots: cli-cursor: 2.1.0 wrap-ansi: 3.0.1 - log-update@6.0.0: + log-update@6.1.0: dependencies: - ansi-escapes: 6.2.1 - cli-cursor: 4.0.0 + ansi-escapes: 7.0.0 + cli-cursor: 5.0.0 slice-ansi: 7.1.0 strip-ansi: 7.1.0 wrap-ansi: 9.0.0 - logform@2.6.1: + logform@2.7.0: dependencies: '@colors/colors': 1.6.0 '@types/triple-beam': 1.3.5 fecha: 4.2.3 ms: 2.1.3 - safe-stable-stringify: 2.4.3 + safe-stable-stringify: 2.5.0 triple-beam: 1.4.1 long@5.2.3: {} @@ -15028,7 +15009,7 @@ snapshots: lower-case@2.0.2: dependencies: - tslib: 2.6.3 + tslib: 2.8.1 lowercase-keys@3.0.0: {} @@ -15053,7 +15034,7 @@ snapshots: chalk: 4.1.2 commander: 7.2.0 commondir: 1.0.1 - debug: 4.3.5 + debug: 4.3.7 dependency-tree: 9.0.0 detective-amd: 4.2.0 detective-cjs: 4.1.0 @@ -15077,7 +15058,7 @@ snapshots: transitivePeerDependencies: - supports-color - magic-string@0.30.10: + magic-string@0.30.14: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -15094,9 +15075,6 @@ snapshots: dependencies: semver: 7.6.0 - make-error@1.3.6: - optional: true - make-fetch-happen@10.2.1: dependencies: agentkeepalive: 4.5.0 @@ -15111,7 +15089,7 @@ snapshots: minipass-fetch: 2.1.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 - negotiator: 0.6.3 + negotiator: 0.6.4 promise-retry: 2.0.1 socks-proxy-agent: 7.0.0 ssri: 9.0.1 @@ -15132,7 +15110,7 @@ snapshots: minipass-fetch: 3.0.5 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 - negotiator: 0.6.3 + negotiator: 0.6.4 promise-retry: 2.0.1 socks-proxy-agent: 7.0.0 ssri: 10.0.6 @@ -15149,7 +15127,7 @@ snapshots: minipass-fetch: 3.0.5 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 - negotiator: 0.6.3 + negotiator: 0.6.4 proc-log: 4.2.0 promise-retry: 2.0.1 ssri: 10.0.6 @@ -15170,7 +15148,7 @@ snapshots: minipass-fetch: 1.4.1 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 - negotiator: 0.6.3 + negotiator: 0.6.4 promise-retry: 2.0.1 socks-proxy-agent: 6.2.1 ssri: 8.0.1 @@ -15188,9 +15166,9 @@ snapshots: dependencies: object-visit: 1.0.1 - markdown-it-anchor@8.6.7(@types/markdown-it@14.1.1)(markdown-it@14.1.0): + markdown-it-anchor@8.6.7(@types/markdown-it@14.1.2)(markdown-it@14.1.0): dependencies: - '@types/markdown-it': 14.1.1 + '@types/markdown-it': 14.1.2 markdown-it: 14.1.0 markdown-it@14.1.0: @@ -15248,7 +15226,7 @@ snapshots: redent: 3.0.0 trim-newlines: 3.0.1 type-fest: 0.18.1 - yargs-parser: 20.2.4 + yargs-parser: 20.2.9 merge-stream@2.0.0: {} @@ -15256,13 +15234,20 @@ snapshots: micro-bmark@0.3.1: {} - micromatch@4.0.7: + micromatch@4.0.5: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 mime-db@1.52.0: {} + mime-db@1.53.0: {} + mime-types@2.1.35: dependencies: mime-db: 1.52.0 @@ -15273,6 +15258,8 @@ snapshots: mimic-fn@4.0.0: {} + mimic-function@5.0.1: {} + mimic-response@3.1.0: {} mimic-response@4.0.0: {} @@ -15303,6 +15290,10 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimatch@9.0.3: + dependencies: + brace-expansion: 2.0.1 + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 @@ -15351,7 +15342,7 @@ snapshots: dependencies: minipass: 3.3.6 - minipass-json-stream@1.0.1: + minipass-json-stream@1.0.2: dependencies: jsonparse: 1.3.1 minipass: 3.3.6 @@ -15413,9 +15404,9 @@ snapshots: module-lookup-amd@7.0.1: dependencies: commander: 2.20.3 - debug: 4.3.5 + debug: 4.3.7 glob: 7.2.3 - requirejs: 2.3.6 + requirejs: 2.3.7 requirejs-config-file: 4.0.0 transitivePeerDependencies: - supports-color @@ -15466,9 +15457,9 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nan@2.20.0: {} + nan@2.22.0: {} - nanoid@3.3.7: {} + nanoid@3.3.8: {} nanomatch@1.2.13: dependencies: @@ -15498,7 +15489,7 @@ snapshots: transitivePeerDependencies: - supports-color - negotiator@0.6.3: {} + negotiator@0.6.4: {} neo-async@2.6.2: {} @@ -15509,25 +15500,25 @@ snapshots: nise@5.1.9: dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers': 11.2.2 - '@sinonjs/text-encoding': 0.7.2 + '@sinonjs/fake-timers': 11.3.1 + '@sinonjs/text-encoding': 0.7.3 just-extend: 6.2.0 - path-to-regexp: 6.2.2 + path-to-regexp: 6.3.0 no-case@3.0.4: dependencies: lower-case: 2.0.2 - tslib: 2.6.3 + tslib: 2.8.1 nock@14.0.0-beta.4: dependencies: - debug: 4.3.5 + debug: 4.3.7 json-stringify-safe: 5.0.1 propagate: 2.0.1 transitivePeerDependencies: - supports-color - node-abi@3.65.0: + node-abi@3.71.0: dependencies: semver: 7.6.0 @@ -15553,7 +15544,7 @@ snapshots: dependencies: detect-libc: 2.0.3 - node-gyp-build@4.8.1: {} + node-gyp-build@4.8.4: {} node-gyp@8.4.1: dependencies: @@ -15588,15 +15579,15 @@ snapshots: - bluebird - supports-color - node-releases@2.0.14: {} + node-releases@2.0.18: {} node-source-walk@4.3.0: dependencies: - '@babel/parser': 7.24.8 + '@babel/parser': 7.26.2 node-source-walk@5.0.2: dependencies: - '@babel/parser': 7.24.8 + '@babel/parser': 7.26.2 nodejs-tail@1.1.1: dependencies: @@ -15629,21 +15620,21 @@ snapshots: normalize-package-data@3.0.3: dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.14.0 + is-core-module: 2.15.1 semver: 7.6.0 validate-npm-package-license: 3.0.4 normalize-package-data@4.0.1: dependencies: hosted-git-info: 5.2.1 - is-core-module: 2.14.0 + is-core-module: 2.15.1 semver: 7.6.0 validate-npm-package-license: 3.0.4 normalize-package-data@5.0.0: dependencies: - hosted-git-info: 6.1.1 - is-core-module: 2.14.0 + hosted-git-info: 6.1.3 + is-core-module: 2.15.1 semver: 7.6.0 validate-npm-package-license: 3.0.4 @@ -15659,9 +15650,8 @@ snapshots: dependencies: npm-normalize-package-bin: 3.0.1 - npm-check-updates@16.14.20: + npm-check-updates@16.14.14: dependencies: - '@types/semver-utils': 1.1.3 chalk: 5.3.0 cli-table3: 0.6.3 commander: 10.0.1 @@ -15682,10 +15672,10 @@ snapshots: pacote: 15.2.0 parse-github-url: 1.0.3 progress: 2.0.3 - prompts-ncu: 3.0.0 + prompts-ncu: 3.0.1 rc-config-loader: 4.1.3 remote-git-tags: 3.0.0 - rimraf: 5.0.9 + rimraf: 5.0.10 semver: 7.6.0 semver-utils: 1.1.4 source-map-support: 0.5.21 @@ -15708,12 +15698,12 @@ snapshots: npm-package-arg@10.1.0: dependencies: - hosted-git-info: 6.1.1 + hosted-git-info: 6.1.3 proc-log: 3.0.0 semver: 7.6.0 validate-npm-package-name: 5.0.1 - npm-package-arg@11.0.2: + npm-package-arg@11.0.3: dependencies: hosted-git-info: 7.0.2 proc-log: 4.2.0 @@ -15756,7 +15746,7 @@ snapshots: make-fetch-happen: 10.2.1 minipass: 3.3.6 minipass-fetch: 2.1.2 - minipass-json-stream: 1.0.1 + minipass-json-stream: 1.0.2 minizlib: 2.1.2 npm-package-arg: 9.1.2 proc-log: 2.0.1 @@ -15769,7 +15759,7 @@ snapshots: make-fetch-happen: 11.1.1 minipass: 4.2.8 minipass-fetch: 3.0.5 - minipass-json-stream: 1.0.1 + minipass-json-stream: 1.0.2 minizlib: 2.1.2 npm-package-arg: 10.1.0 proc-log: 3.0.0 @@ -15781,22 +15771,22 @@ snapshots: make-fetch-happen: 11.1.1 minipass: 5.0.0 minipass-fetch: 3.0.5 - minipass-json-stream: 1.0.1 + minipass-json-stream: 1.0.2 minizlib: 2.1.2 npm-package-arg: 10.1.0 proc-log: 3.0.0 transitivePeerDependencies: - supports-color - npm-registry-fetch@17.1.0: + npm-registry-fetch@16.2.1: dependencies: - '@npmcli/redact': 2.0.1 - jsonparse: 1.3.1 + '@npmcli/redact': 1.1.0 make-fetch-happen: 13.0.1 minipass: 7.1.2 minipass-fetch: 3.0.5 + minipass-json-stream: 1.0.2 minizlib: 2.1.2 - npm-package-arg: 11.0.2 + npm-package-arg: 11.0.3 proc-log: 4.2.0 transitivePeerDependencies: - supports-color @@ -15842,8 +15832,8 @@ snapshots: '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.0-rc.46 '@zkochan/js-yaml': 0.0.6 - axios: 1.7.2 - chalk: 4.1.0 + axios: 1.7.8 + chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 cliui: 7.0.4 @@ -15854,7 +15844,7 @@ snapshots: flat: 5.0.2 fs-extra: 11.2.0 glob: 7.1.4 - ignore: 5.3.1 + ignore: 5.3.2 js-yaml: 4.1.0 jsonc-parser: 3.2.0 lines-and-columns: 2.0.4 @@ -15867,7 +15857,7 @@ snapshots: tar-stream: 2.2.0 tmp: 0.2.3 tsconfig-paths: 4.2.0 - tslib: 2.6.3 + tslib: 2.8.1 v8-compile-cache: 2.3.0 yargs: 17.7.2 yargs-parser: 21.1.1 @@ -15892,12 +15882,7 @@ snapshots: define-property: 0.2.5 kind-of: 3.2.2 - object-inspect@1.13.2: {} - - object-is@1.1.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 + object-inspect@1.13.3: {} object-keys@1.1.1: {} @@ -15909,21 +15894,27 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - has-symbols: 1.0.3 + has-symbols: 1.1.0 object-keys: 1.1.1 + object.entries@1.1.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + object.fromentries@2.0.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-object-atoms: 1.0.0 object.groupby@1.0.3: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 object.pick@1.3.0: dependencies: @@ -15959,6 +15950,10 @@ snapshots: dependencies: mimic-fn: 4.0.0 + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + open@8.4.2: dependencies: define-lazy-prop: 2.0.0 @@ -16001,7 +15996,7 @@ snapshots: cli-cursor: 4.0.0 cli-spinners: 2.9.2 is-interactive: 2.0.0 - is-unicode-supported: 2.0.0 + is-unicode-supported: 2.1.0 log-symbols: 6.0.0 stdin-discarder: 0.2.2 string-width: 7.2.0 @@ -16078,7 +16073,7 @@ snapshots: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.1 - debug: 4.3.5 + debug: 4.3.7 get-uri: 6.0.3 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 @@ -16092,24 +16087,20 @@ snapshots: degenerator: 5.0.1 netmask: 2.0.2 - package-json-from-dist@1.0.0: {} - - package-json@10.0.0: + package-json@10.0.1: dependencies: - ky: 1.4.0 - registry-auth-token: 5.0.2 + ky: 1.7.2 + registry-auth-token: 5.0.3 registry-url: 6.0.1 semver: 7.6.0 package-json@8.1.1: dependencies: got: 12.6.1 - registry-auth-token: 5.0.2 + registry-auth-token: 5.0.3 registry-url: 6.0.1 semver: 7.6.0 - packet-reader@1.0.0: {} - pacote@15.1.1: dependencies: '@npmcli/git': 4.1.0 @@ -16179,7 +16170,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.26.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -16209,7 +16200,7 @@ snapshots: pascal-case@3.1.2: dependencies: no-case: 3.0.4 - tslib: 2.6.3 + tslib: 2.8.1 pascalcase@0.1.1: {} @@ -16230,7 +16221,7 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 - path-to-regexp@6.2.2: {} + path-to-regexp@6.3.0: {} path-type@3.0.0: dependencies: @@ -16241,17 +16232,17 @@ snapshots: pg-cloudflare@1.1.1: optional: true - pg-connection-string@2.6.4: {} + pg-connection-string@2.7.0: {} pg-int8@1.0.1: {} pg-numeric@1.0.2: {} - pg-pool@3.6.2(pg@8.11.3): + pg-pool@3.7.0(pg@8.13.1): dependencies: - pg: 8.11.3 + pg: 8.13.1 - pg-protocol@1.6.1: {} + pg-protocol@1.7.0: {} pg-types@2.2.0: dependencies: @@ -16271,13 +16262,11 @@ snapshots: postgres-interval: 3.0.0 postgres-range: 1.1.4 - pg@8.11.3: + pg@8.13.1: dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.4 - pg-pool: 3.6.2(pg@8.11.3) - pg-protocol: 1.6.1 + pg-connection-string: 2.7.0 + pg-pool: 3.7.0(pg@8.13.1) + pg-protocol: 1.7.0 pg-types: 2.2.0 pgpass: 1.0.5 optionalDependencies: @@ -16287,7 +16276,7 @@ snapshots: dependencies: split2: 4.2.0 - picocolors@1.0.1: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -16329,7 +16318,7 @@ snapshots: pump: 3.0.0 readable-stream: 4.5.2 secure-json-parse: 2.7.0 - sonic-boom: 4.0.1 + sonic-boom: 4.2.0 strip-json-comments: 3.1.1 pino-std-serializers@7.0.0: {} @@ -16344,8 +16333,8 @@ snapshots: process-warning: 3.0.0 quick-format-unescaped: 4.0.4 real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 4.0.1 + safe-stable-stringify: 2.5.0 + sonic-boom: 4.2.0 thread-stream: 3.1.0 pkg-dir@4.2.0: @@ -16360,7 +16349,7 @@ snapshots: pm2-axon-rpc@0.7.1: dependencies: - debug: 4.3.5 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -16368,7 +16357,7 @@ snapshots: dependencies: amp: 0.3.1 amp-message: 0.1.2 - debug: 4.3.5 + debug: 4.3.7 escape-string-regexp: 4.0.0 transitivePeerDependencies: - supports-color @@ -16384,22 +16373,22 @@ snapshots: pm2-sysmonit@1.2.8: dependencies: - async: 3.2.5 - debug: 4.3.5 + async: 3.2.6 + debug: 4.3.7 pidusage: 2.0.21 - systeminformation: 5.22.11 + systeminformation: 5.23.5 tx2: 1.0.5 transitivePeerDependencies: - supports-color optional: true - pm2@5.4.2: + pm2@5.3.0: dependencies: '@pm2/agent': 2.0.4 - '@pm2/io': 6.0.1 - '@pm2/js-api': 0.8.0 + '@pm2/io': 5.0.2 + '@pm2/js-api': 0.6.7 '@pm2/pm2-version-check': 1.0.4 - async: 3.2.5 + async: 3.2.6 blessed: 0.1.81 chalk: 3.0.0 chokidar: 3.6.0 @@ -16407,11 +16396,10 @@ snapshots: commander: 2.15.1 croner: 4.1.97 dayjs: 1.11.10 - debug: 4.3.5 + debug: 4.3.7 enquirer: 2.3.6 eventemitter2: 5.0.1 fclone: 1.0.11 - js-yaml: 4.1.0 mkdirp: 1.0.4 needle: 2.4.0 pidusage: 3.0.2 @@ -16424,6 +16412,7 @@ snapshots: source-map-support: 0.5.21 sprintf-js: 1.1.2 vizion: 2.2.1 + yamljs: 0.3.0 optionalDependencies: pm2-sysmonit: 1.2.8 transitivePeerDependencies: @@ -16433,7 +16422,7 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss-selector-parser@6.1.1: + postcss-selector-parser@6.1.2: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 @@ -16444,18 +16433,18 @@ snapshots: indexes-of: 1.0.1 uniq: 1.0.1 - postcss-values-parser@6.0.2(postcss@8.4.39): + postcss-values-parser@6.0.2(postcss@8.4.49): dependencies: color-name: 1.1.4 is-url-superb: 4.0.0 - postcss: 8.4.39 + postcss: 8.4.49 quote-unquote: 1.0.0 - postcss@8.4.39: + postcss@8.4.49: dependencies: - nanoid: 3.3.7 - picocolors: 1.0.1 - source-map-js: 1.2.0 + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.1 postgres-array@2.0.0: {} @@ -16487,7 +16476,7 @@ snapshots: minimist: 1.2.8 mkdirp-classic: 0.5.3 napi-build-utils: 1.0.2 - node-abi: 3.65.0 + node-abi: 3.71.0 pump: 3.0.0 rc: 1.2.8 simple-get: 4.0.1 @@ -16497,7 +16486,7 @@ snapshots: precinct@8.3.1: dependencies: commander: 2.20.3 - debug: 4.3.5 + debug: 4.3.7 detective-amd: 3.1.2 detective-cjs: 3.1.3 detective-es6: 2.2.2 @@ -16537,7 +16526,7 @@ snapshots: dependencies: fast-diff: 1.3.0 - prettier@3.3.2: {} + prettier@3.2.5: {} pretty-format@29.4.3: dependencies: @@ -16582,7 +16571,7 @@ snapshots: dependencies: read: 1.0.7 - prompts-ncu@3.0.0: + prompts-ncu@3.0.1: dependencies: kleur: 4.1.5 sisteransi: 1.0.5 @@ -16607,12 +16596,12 @@ snapshots: espree: 9.6.1 estraverse: 5.3.0 glob: 8.1.0 - jsdoc: 4.0.3 + jsdoc: 4.0.4 minimist: 1.2.8 protobufjs: 7.2.6 semver: 7.6.0 tmp: 0.2.3 - uglify-js: 3.18.0 + uglify-js: 3.19.3 protobufjs@7.2.6: dependencies: @@ -16634,7 +16623,7 @@ snapshots: proxy-agent@6.3.1: dependencies: agent-base: 7.1.1 - debug: 4.3.5 + debug: 4.3.7 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 lru-cache: 7.18.3 @@ -16689,7 +16678,7 @@ snapshots: rc-config-loader@4.1.3: dependencies: - debug: 4.3.5 + debug: 4.3.7 js-yaml: 4.1.0 json5: 2.2.3 require-from-string: 2.0.2 @@ -16824,15 +16813,17 @@ snapshots: reflect-metadata@0.2.1: {} - reflect.getprototypeof@1.0.6: + reflect.getprototypeof@1.0.7: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-errors: 1.3.0 get-intrinsic: 1.2.4 - globalthis: 1.0.4 - which-builtin-type: 1.1.3 + gopd: 1.1.0 + which-builtin-type: 1.2.0 + + regenerator-runtime@0.14.1: {} regex-not@1.0.2: dependencies: @@ -16841,16 +16832,16 @@ snapshots: regexp-tree@0.1.27: {} - regexp.prototype.flags@1.5.2: + regexp.prototype.flags@1.5.3: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-errors: 1.3.0 set-function-name: 2.0.2 - registry-auth-token@5.0.2: + registry-auth-token@5.0.3: dependencies: - '@pnpm/npm-conf': 2.2.2 + '@pnpm/npm-conf': 2.3.1 registry-url@6.0.1: dependencies: @@ -16868,7 +16859,7 @@ snapshots: require-in-the-middle@5.2.0: dependencies: - debug: 4.3.5 + debug: 4.3.7 module-details-from-path: 1.0.3 resolve: 1.22.8 transitivePeerDependencies: @@ -16883,7 +16874,7 @@ snapshots: esprima: 4.0.1 stringify-object: 3.3.0 - requirejs@2.3.6: {} + requirejs@2.3.7: {} requizzle@0.2.4: dependencies: @@ -16912,7 +16903,7 @@ snapshots: resolve@1.22.8: dependencies: - is-core-module: 2.14.0 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -16935,6 +16926,11 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 + ret@0.1.15: {} retry@0.12.0: {} @@ -16951,7 +16947,7 @@ snapshots: dependencies: glob: 9.3.5 - rimraf@5.0.9: + rimraf@5.0.10: dependencies: glob: 10.3.10 @@ -16971,7 +16967,7 @@ snapshots: rxjs@7.8.1: dependencies: - tslib: 2.6.3 + tslib: 2.8.1 sade@1.8.1: dependencies: @@ -16981,7 +16977,7 @@ snapshots: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 - has-symbols: 1.0.3 + has-symbols: 1.1.0 isarray: 2.0.5 safe-buffer@5.1.2: {} @@ -16992,13 +16988,13 @@ snapshots: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 - is-regex: 1.1.4 + is-regex: 1.2.0 safe-regex@1.1.0: dependencies: ret: 0.1.15 - safe-stable-stringify@2.4.3: {} + safe-stable-stringify@2.5.0: {} safer-buffer@2.1.2: {} @@ -17034,8 +17030,6 @@ snapshots: dependencies: lru-cache: 6.0.0 - semver@7.6.2: {} - set-blocking@2.0.0: {} set-error-message@3.0.0: @@ -17048,7 +17042,7 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 - gopd: 1.0.1 + gopd: 1.1.0 has-property-descriptors: 1.0.2 set-function-name@2.0.2: @@ -17094,7 +17088,7 @@ snapshots: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.2 + object-inspect: 1.13.3 signal-exit@3.0.7: {} @@ -17122,11 +17116,11 @@ snapshots: dependencies: is-arrayish: 0.3.2 - sinon@17.0.2: + sinon@17.0.1: dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers': 11.2.2 - '@sinonjs/samsam': 8.0.0 + '@sinonjs/fake-timers': 11.3.1 + '@sinonjs/samsam': 8.0.2 diff: 5.2.0 nise: 5.1.9 supports-color: 7.2.0 @@ -17167,7 +17161,7 @@ snapshots: socks-proxy-agent@6.2.1: dependencies: agent-base: 6.0.2 - debug: 4.3.5 + debug: 4.3.7 socks: 2.8.3 transitivePeerDependencies: - supports-color @@ -17175,7 +17169,7 @@ snapshots: socks-proxy-agent@7.0.0: dependencies: agent-base: 6.0.2 - debug: 4.3.5 + debug: 4.3.7 socks: 2.8.3 transitivePeerDependencies: - supports-color @@ -17183,7 +17177,7 @@ snapshots: socks-proxy-agent@8.0.4: dependencies: agent-base: 7.1.1 - debug: 4.3.5 + debug: 4.3.7 socks: 2.8.3 transitivePeerDependencies: - supports-color @@ -17193,7 +17187,7 @@ snapshots: ip-address: 9.0.5 smart-buffer: 4.2.0 - sonic-boom@4.0.1: + sonic-boom@4.2.0: dependencies: atomic-sleep: 1.0.0 @@ -17203,7 +17197,7 @@ snapshots: sort-object-keys@1.1.3: {} - sort-package-json@2.10.0: + sort-package-json@2.7.0: dependencies: detect-indent: 7.0.1 detect-newline: 4.0.1 @@ -17211,10 +17205,9 @@ snapshots: git-hooks-list: 3.1.0 globby: 13.2.2 is-plain-obj: 4.1.0 - semver: 7.6.0 sort-object-keys: 1.1.3 - source-map-js@1.2.0: {} + source-map-js@1.2.1: {} source-map-resolve@0.5.3: dependencies: @@ -17237,21 +17230,21 @@ snapshots: spawn-please@2.0.2: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.18 + spdx-license-ids: 3.0.20 spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.18 + spdx-license-ids: 3.0.20 - spdx-license-ids@3.0.18: {} + spdx-license-ids@3.0.20: {} split-string@3.1.0: dependencies: @@ -17296,10 +17289,6 @@ snapshots: steno@4.0.2: {} - stop-iteration-iterator@1.0.0: - dependencies: - internal-slot: 1.0.7 - stream-shift@1.0.3: {} stream-to-array@2.3.0: @@ -17335,20 +17324,15 @@ snapshots: string-width@7.2.0: dependencies: - emoji-regex: 10.3.0 - get-east-asian-width: 1.2.0 + emoji-regex: 10.4.0 + get-east-asian-width: 1.3.0 strip-ansi: 7.1.0 - string.prototype.includes@2.0.0: - dependencies: - define-properties: 1.2.1 - es-abstract: 1.23.3 - string.prototype.trim@1.2.9: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-object-atoms: 1.0.0 string.prototype.trimend@1.0.8: @@ -17391,7 +17375,7 @@ snapshots: strip-ansi@7.1.0: dependencies: - ansi-regex: 6.0.1 + ansi-regex: 6.1.0 strip-bom@3.0.0: {} @@ -17424,7 +17408,7 @@ snapshots: stylus-lookup@3.0.2: dependencies: commander: 2.20.3 - debug: 4.3.5 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -17445,9 +17429,9 @@ snapshots: synckit@0.8.8: dependencies: '@pkgr/core': 0.1.1 - tslib: 2.6.3 + tslib: 2.8.1 - systeminformation@5.22.11: + systeminformation@5.23.5: optional: true tapable@2.2.1: {} @@ -17545,8 +17529,6 @@ snapshots: tmp@0.2.3: {} - to-fast-properties@2.0.0: {} - to-object-path@0.3.0: dependencies: kind-of: 3.2.2 @@ -17572,31 +17554,12 @@ snapshots: triple-beam@1.4.1: {} - ts-api-utils@1.3.0(typescript@5.4.2): + ts-api-utils@1.4.3(typescript@5.4.2): dependencies: typescript: 5.4.2 ts-graphviz@1.8.2: {} - ts-node@10.9.2(@types/node@20.11.16)(typescript@5.4.2): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 20.11.16 - acorn: 8.12.1 - acorn-walk: 8.3.3 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.4.2 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - optional: true - tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 @@ -17616,7 +17579,7 @@ snapshots: tslib@2.4.0: {} - tslib@2.6.3: {} + tslib@2.8.1: {} tsutils@3.21.0(typescript@3.9.10): dependencies: @@ -17633,17 +17596,17 @@ snapshots: tslib: 1.14.1 typescript: 5.4.2 - tsx@4.16.2: + tsx@4.7.1: dependencies: - esbuild: 0.21.5 - get-tsconfig: 4.7.5 + esbuild: 0.19.12 + get-tsconfig: 4.8.1 optionalDependencies: fsevents: 2.3.3 tuf-js@1.1.7: dependencies: '@tufjs/models': 1.0.4 - debug: 4.3.5 + debug: 4.3.7 make-fetch-happen: 11.1.1 transitivePeerDependencies: - supports-color @@ -17669,6 +17632,8 @@ snapshots: type-detect@4.0.8: {} + type-detect@4.1.0: {} + type-fest@0.16.0: {} type-fest@0.18.1: {} @@ -17701,27 +17666,28 @@ snapshots: dependencies: call-bind: 1.0.7 for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 + gopd: 1.1.0 + has-proto: 1.1.0 is-typed-array: 1.1.13 - typed-array-byte-offset@1.0.2: + typed-array-byte-offset@1.0.3: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 + gopd: 1.1.0 + has-proto: 1.1.0 is-typed-array: 1.1.13 + reflect.getprototypeof: 1.0.7 - typed-array-length@1.0.6: + typed-array-length@1.0.7: dependencies: call-bind: 1.0.7 for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 + gopd: 1.1.0 is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 + reflect.getprototypeof: 1.0.7 typedarray-to-buffer@3.1.5: dependencies: @@ -17729,7 +17695,7 @@ snapshots: typedarray@0.0.6: {} - typedoc@0.25.13(typescript@5.4.2): + typedoc@0.25.7(typescript@5.4.2): dependencies: lunr: 2.3.9 marked: 4.3.0 @@ -17737,7 +17703,7 @@ snapshots: shiki: 0.14.7 typescript: 5.4.2 - typeorm@0.3.20(better-sqlite3@9.4.3)(pg@8.11.3)(ts-node@10.9.2(@types/node@20.11.16)(typescript@5.4.2)): + typeorm@0.3.20(pg@8.13.1): dependencies: '@sqltools/formatter': 1.2.5 app-root-path: 3.1.0 @@ -17745,19 +17711,17 @@ snapshots: chalk: 4.1.2 cli-highlight: 2.1.11 dayjs: 1.11.10 - debug: 4.3.5 - dotenv: 16.4.5 + debug: 4.3.7 + dotenv: 16.4.6 glob: 10.3.10 mkdirp: 2.1.6 reflect-metadata: 0.2.1 sha.js: 2.4.11 - tslib: 2.6.3 + tslib: 2.8.1 uuid: 9.0.1 yargs: 17.7.2 optionalDependencies: - better-sqlite3: 9.4.3 - pg: 8.11.3 - ts-node: 10.9.2(@types/node@20.11.16)(typescript@5.4.2) + pg: 8.13.1 transitivePeerDependencies: - supports-color @@ -17767,32 +17731,32 @@ snapshots: typescript@5.4.2: {} - typesync@0.12.2(typescript@5.4.2): + typesync@0.12.1(typescript@5.4.2): dependencies: - awilix: 10.0.2 + awilix: 9.0.0 chalk: 4.1.2 cosmiconfig: 9.0.0(typescript@5.4.2) detect-indent: 6.1.0 - glob: 10.4.5 - npm-registry-fetch: 17.1.0 + glob: 10.3.10 + npm-registry-fetch: 16.2.1 ora: 5.4.1 - semver: 7.6.2 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript uc.micro@2.1.0: {} - uglify-js@3.18.0: {} + uglify-js@3.19.3: {} unbox-primitive@1.0.2: dependencies: call-bind: 1.0.7 has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.0 - underscore@1.13.6: {} + underscore@1.13.7: {} undici-types@5.26.5: {} @@ -17850,11 +17814,11 @@ snapshots: upath@2.0.1: {} - update-browserslist-db@1.1.0(browserslist@4.23.2): + update-browserslist-db@1.1.1(browserslist@4.24.2): dependencies: - browserslist: 4.23.2 - escalade: 3.1.2 - picocolors: 1.0.1 + browserslist: 4.24.2 + escalade: 3.2.0 + picocolors: 1.1.1 update-notifier@6.0.2: dependencies: @@ -17885,6 +17849,8 @@ snapshots: uuid-parse@1.1.0: {} + uuid@3.4.0: {} + uuid@8.3.2: {} uuid@9.0.1: {} @@ -17896,9 +17862,6 @@ snapshots: kleur: 4.1.5 sade: 1.8.1 - v8-compile-cache-lib@3.0.1: - optional: true - v8-compile-cache@2.3.0: {} v8-to-istanbul@9.3.0: @@ -17952,28 +17915,29 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 - which-boxed-primitive@1.0.2: + which-boxed-primitive@1.1.0: dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 + is-bigint: 1.1.0 + is-boolean-object: 1.2.0 + is-number-object: 1.1.0 + is-string: 1.1.0 + is-symbol: 1.1.0 - which-builtin-type@1.1.3: + which-builtin-type@1.2.0: dependencies: + call-bind: 1.0.7 function.prototype.name: 1.1.6 has-tostringtag: 1.0.2 is-async-function: 2.0.0 is-date-object: 1.0.5 - is-finalizationregistry: 1.0.2 + is-finalizationregistry: 1.1.0 is-generator-function: 1.0.10 - is-regex: 1.1.4 + is-regex: 1.2.0 is-weakref: 1.0.2 isarray: 2.0.5 - which-boxed-primitive: 1.0.2 + which-boxed-primitive: 1.1.0 which-collection: 1.0.2 - which-typed-array: 1.1.15 + which-typed-array: 1.1.16 which-collection@1.0.2: dependencies: @@ -17982,12 +17946,12 @@ snapshots: is-weakmap: 2.0.2 is-weakset: 2.0.3 - which-typed-array@1.1.15: + which-typed-array@1.1.16: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 for-each: 0.3.3 - gopd: 1.0.1 + gopd: 1.1.0 has-tostringtag: 1.0.2 which@1.3.1: @@ -18014,25 +17978,25 @@ snapshots: dependencies: bs58check: 3.0.1 - winston-transport@4.7.1: + winston-transport@4.9.0: dependencies: - logform: 2.6.1 + logform: 2.7.0 readable-stream: 3.6.2 triple-beam: 1.4.1 - winston@3.13.1: + winston@3.12.0: dependencies: '@colors/colors': 1.6.0 '@dabh/diagnostics': 2.0.3 - async: 3.2.5 + async: 3.2.6 is-stream: 2.0.1 - logform: 2.6.1 + logform: 2.7.0 one-time: 1.0.0 readable-stream: 3.6.2 - safe-stable-stringify: 2.4.3 + safe-stable-stringify: 2.5.0 stack-trace: 0.0.10 triple-beam: 1.4.1 - winston-transport: 4.7.1 + winston-transport: 4.9.0 word-wrap@1.2.5: {} @@ -18111,8 +18075,6 @@ snapshots: ws@8.16.0: {} - ws@8.17.1: {} - ws@8.5.0: {} xdg-basedir@5.1.0: {} @@ -18127,7 +18089,12 @@ snapshots: yaml@1.10.2: {} - yaml@2.4.5: {} + yaml@2.3.4: {} + + yamljs@0.3.0: + dependencies: + argparse: 1.0.10 + glob: 7.2.3 yargs-parser@20.2.4: {} @@ -18138,7 +18105,7 @@ snapshots: yargs@16.2.0: dependencies: cliui: 7.0.4 - escalade: 3.1.2 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -18148,16 +18115,13 @@ snapshots: yargs@17.7.2: dependencies: cliui: 8.0.1 - escalade: 3.1.2 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 - yn@3.1.1: - optional: true - yocto-queue@0.1.0: {} - zod@3.22.5: {} + zod@3.22.4: {} diff --git a/scripts/deps/check.js b/scripts/deps/check.js index 979930851..691edf3c5 100644 --- a/scripts/deps/check.js +++ b/scripts/deps/check.js @@ -32,7 +32,7 @@ const EXCEPTIONS = { devDependencies: [], }, "@mainsail/configuration-generator": { - dependencies: ["@mainsail/crypto-key-pair-ecdsa", "@mainsail/crypto-signature-schnorr-secp256k1"], + dependencies: ["@mainsail/crypto-key-pair-ecdsa", "@mainsail/crypto-signature-schnorr-secp256k1", "@mainsail/snapshot-legacy-exporter"], devDependencies: [], }, "@mainsail/core": {