From d7526725445b5cad98b425046c3f6e8e6ff8cd48 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 21 Jan 2026 18:12:28 +0000 Subject: [PATCH 1/7] add Genesis program to CLI - Add @metaplex-foundation/genesis package dependency - Register Genesis plugin in Context.ts - Add genesis command group with the following commands: - genesis create: Create a new Genesis account for token launches - genesis fetch: Fetch Genesis account details - genesis finalize: Finalize a Genesis launch - genesis deposit: Deposit into launch pool buckets - genesis claim: Claim tokens from launch pools - genesis revoke: Revoke mint/freeze authorities --- package.json | 1 + src/commands/genesis/claim.ts | 147 +++++++++++++++++++++++++ src/commands/genesis/create.ts | 179 +++++++++++++++++++++++++++++++ src/commands/genesis/deposit.ts | 143 ++++++++++++++++++++++++ src/commands/genesis/fetch.ts | 128 ++++++++++++++++++++++ src/commands/genesis/finalize.ts | 93 ++++++++++++++++ src/commands/genesis/index.ts | 29 +++++ src/commands/genesis/revoke.ts | 116 ++++++++++++++++++++ src/lib/Context.ts | 2 + 9 files changed, 838 insertions(+) create mode 100644 src/commands/genesis/claim.ts create mode 100644 src/commands/genesis/create.ts create mode 100644 src/commands/genesis/deposit.ts create mode 100644 src/commands/genesis/fetch.ts create mode 100644 src/commands/genesis/finalize.ts create mode 100644 src/commands/genesis/index.ts create mode 100644 src/commands/genesis/revoke.ts diff --git a/package.json b/package.json index 601cd31..664b9b2 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "@metaplex-foundation/mpl-bubblegum": "^5.0.2", "@metaplex-foundation/mpl-core": "^1.4.0", "@metaplex-foundation/mpl-core-candy-machine": "^0.3.0", + "@metaplex-foundation/genesis": "^0.14.0", "@metaplex-foundation/mpl-distro": "^0.3.2", "@metaplex-foundation/mpl-token-metadata": "^3.4.0", "@metaplex-foundation/mpl-toolbox": "0.10.0", diff --git a/src/commands/genesis/claim.ts b/src/commands/genesis/claim.ts new file mode 100644 index 0000000..470ca60 --- /dev/null +++ b/src/commands/genesis/claim.ts @@ -0,0 +1,147 @@ +import { + claimLaunchPoolV2, + safeFetchGenesisAccountV2, + findLaunchPoolBucketV2Pda, + findLaunchPoolDepositV2Pda, + safeFetchLaunchPoolBucketV2, + safeFetchLaunchPoolDepositV2, +} from '@metaplex-foundation/genesis' +import { publicKey } from '@metaplex-foundation/umi' +import { Args, Flags } from '@oclif/core' +import ora from 'ora' + +import { TransactionCommand } from '../../TransactionCommand.js' +import { generateExplorerUrl } from '../../explorers.js' +import { txSignatureToString } from '../../lib/util.js' +import umiSendAndConfirmTransaction from '../../lib/umi/sendAndConfirm.js' + +export default class GenesisClaim extends TransactionCommand { + static override description = `Claim tokens from a Genesis launch pool. + +This command claims your allocated tokens from a finalized Genesis launch pool. +Your allocation is based on your deposit relative to total contributions. + +Requirements: +- The Genesis launch must be finalized +- You must have an existing deposit in the launch pool +- The claim period must be active` + + static override examples = [ + '$ mplx genesis claim GenesisAddress123... --bucketIndex 0', + '$ mplx genesis claim GenesisAddress123...', + '$ mplx genesis claim GenesisAddress123... --bucketIndex 1 --recipient RecipientAddress...', + ] + + static override usage = 'genesis claim [GENESIS] [FLAGS]' + + static override args = { + genesis: Args.string({ + description: 'The Genesis account address', + required: true, + }), + } + + static override flags = { + bucketIndex: Flags.integer({ + char: 'b', + description: 'Index of the launch pool bucket (default: 0)', + default: 0, + }), + recipient: Flags.string({ + description: 'Recipient address for claimed tokens (default: signer)', + required: false, + }), + } + + public async run(): Promise { + const { args, flags } = await this.parse(GenesisClaim) + const spinner = ora('Processing claim...').start() + + try { + const genesisAddress = publicKey(args.genesis) + const recipientAddress = flags.recipient + ? publicKey(flags.recipient) + : this.context.signer.publicKey + + // Fetch the Genesis account + spinner.text = 'Fetching Genesis account details...' + const genesisAccount = await safeFetchGenesisAccountV2(this.context.umi, genesisAddress) + + if (!genesisAccount) { + spinner.fail('Genesis account not found') + this.error(`Genesis account not found at address: ${args.genesis}`) + } + + // Find the launch pool bucket PDA + const bucketPda = findLaunchPoolBucketV2Pda(this.context.umi, { + genesisAccount: genesisAddress, + bucketIndex: flags.bucketIndex, + }) + + // Verify the bucket exists + spinner.text = 'Verifying launch pool bucket...' + const bucket = await safeFetchLaunchPoolBucketV2(this.context.umi, bucketPda) + + if (!bucket) { + spinner.fail('Launch pool bucket not found') + this.error(`Launch pool bucket not found at index ${flags.bucketIndex}`) + } + + // Find and verify the deposit PDA (convert Pda to PublicKey) + const bucketAddress = publicKey(bucketPda) + const depositPda = findLaunchPoolDepositV2Pda(this.context.umi, { + bucket: bucketAddress, + recipient: recipientAddress, + }) + + spinner.text = 'Verifying deposit...' + const deposit = await safeFetchLaunchPoolDepositV2(this.context.umi, depositPda) + + if (!deposit) { + spinner.fail('Deposit not found') + this.error(`No deposit found for recipient ${recipientAddress}. Make sure you have deposited into this launch pool.`) + } + + // Build the claim transaction + spinner.text = 'Claiming tokens...' + const transaction = claimLaunchPoolV2(this.context.umi, { + genesisAccount: genesisAddress, + bucket: bucketPda, + baseMint: genesisAccount.baseMint, + quoteMint: genesisAccount.quoteMint, + depositPda, + recipient: recipientAddress, + payer: this.context.payer, + }) + + const result = await umiSendAndConfirmTransaction(this.context.umi, transaction) + + spinner.succeed('Tokens claimed successfully!') + + this.log('') + this.logSuccess(`Claimed tokens from launch pool`) + this.log('') + this.log('Claim Details:') + this.log(` Genesis Account: ${genesisAddress}`) + this.log(` Bucket: ${bucketPda}`) + this.log(` Bucket Index: ${flags.bucketIndex}`) + this.log(` Recipient: ${recipientAddress}`) + this.log(` Base Mint: ${genesisAccount.baseMint}`) + this.log('') + this.log(`Transaction: ${txSignatureToString(result.transaction.signature as Uint8Array)}`) + this.log('') + this.log( + generateExplorerUrl( + this.context.explorer, + this.context.chain, + txSignatureToString(result.transaction.signature as Uint8Array), + 'transaction' + ) + ) + + } catch (error) { + spinner.fail('Failed to claim tokens') + throw error + } + } +} diff --git a/src/commands/genesis/create.ts b/src/commands/genesis/create.ts new file mode 100644 index 0000000..0205c5e --- /dev/null +++ b/src/commands/genesis/create.ts @@ -0,0 +1,179 @@ +import { + initializeV2, + findGenesisAccountV2Pda, + WRAPPED_SOL_MINT, +} from '@metaplex-foundation/genesis' +import { generateSigner, publicKey } from '@metaplex-foundation/umi' +import { Flags } from '@oclif/core' +import ora from 'ora' + +import { TransactionCommand } from '../../TransactionCommand.js' +import { generateExplorerUrl } from '../../explorers.js' +import { txSignatureToString } from '../../lib/util.js' +import umiSendAndConfirmTransaction from '../../lib/umi/sendAndConfirm.js' + +// Funding modes for Genesis +const FUNDING_MODE = { + NewMint: 0, // Create a new mint (most common) + Transfer: 1, // Transfer existing tokens +} as const + +export default class GenesisCreate extends TransactionCommand { + static override description = `Create a new Genesis account for a token launch (TGE). + +Genesis is a smart contract framework for Token Generation Events on Solana. +This command initializes a new Genesis account that will coordinate your token launch. + +The Genesis account manages: +- Token supply and allocation +- Launch pools, auctions, and presales +- Integration with DEXs (Raydium, Meteora) + +Funding Modes: +- new-mint: Creates a new token mint (default, most common) +- transfer: Uses an existing mint and transfers tokens from your wallet` + + static override examples = [ + '$ mplx genesis create --name "My Token" --symbol "MTK" --totalSupply 1000000000', + '$ mplx genesis create --name "My Token" --symbol "MTK" --totalSupply 1000000000 --uri "https://example.com/metadata.json"', + '$ mplx genesis create --name "My Token" --symbol "MTK" --totalSupply 1000000000 --quoteMint "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" --decimals 6', + '$ mplx genesis create --name "My Token" --symbol "MTK" --totalSupply 1000000000 --fundingMode transfer --baseMint "ExistingMint123..."', + ] + + static override flags = { + name: Flags.string({ + char: 'n', + description: 'Name of the token', + required: true, + }), + symbol: Flags.string({ + char: 's', + description: 'Symbol of the token (e.g., MTK)', + required: true, + }), + totalSupply: Flags.string({ + description: 'Total supply of tokens (in base units, e.g., 1000000000 for 1B tokens with 9 decimals)', + required: true, + }), + uri: Flags.string({ + char: 'u', + description: 'URI for token metadata JSON', + default: '', + }), + decimals: Flags.integer({ + char: 'd', + description: 'Number of decimals for the token', + default: 9, + }), + quoteMint: Flags.string({ + description: 'Quote token mint address (default: Wrapped SOL)', + required: false, + }), + fundingMode: Flags.option({ + default: 'new-mint', + description: 'Funding mode: new-mint (create new token) or transfer (use existing)', + options: ['new-mint', 'transfer'] as const, + })(), + baseMint: Flags.string({ + description: 'Base token mint address (only used with fundingMode=transfer)', + required: false, + }), + genesisIndex: Flags.integer({ + description: 'Genesis index (default: 0, increment if creating multiple launches for same mint)', + default: 0, + }), + } + + static override usage = 'genesis create [FLAGS]' + + public async run(): Promise { + const { flags } = await this.parse(GenesisCreate) + + const spinner = ora('Creating Genesis account...').start() + + try { + // Determine funding mode + const fundingMode = flags.fundingMode === 'transfer' + ? FUNDING_MODE.Transfer + : FUNDING_MODE.NewMint + + // Handle base mint + let baseMint + if (fundingMode === FUNDING_MODE.Transfer) { + if (!flags.baseMint) { + throw new Error('--baseMint is required when using fundingMode=transfer') + } + baseMint = publicKey(flags.baseMint) + } else { + // Generate a new mint signer for new-mint mode + baseMint = generateSigner(this.context.umi) + } + + // Handle quote mint (default to Wrapped SOL) + const quoteMint = flags.quoteMint + ? publicKey(flags.quoteMint) + : WRAPPED_SOL_MINT + + // Parse total supply + const totalSupply = BigInt(flags.totalSupply) + + // Build the initialize transaction + const transaction = initializeV2(this.context.umi, { + baseMint, + quoteMint, + authority: this.context.signer, + payer: this.context.payer, + fundingMode, + totalSupplyBaseToken: totalSupply, + name: flags.name, + symbol: flags.symbol, + uri: flags.uri, + decimals: flags.decimals, + genesisIndex: flags.genesisIndex, + }) + + const result = await umiSendAndConfirmTransaction(this.context.umi, transaction) + + // Get the base mint public key (either from generated signer or from flags) + const baseMintPubkey = 'publicKey' in baseMint ? baseMint.publicKey : baseMint + + // Get the genesis account PDA + const genesisAccountPda = findGenesisAccountV2Pda(this.context.umi, { + baseMint: baseMintPubkey, + genesisIndex: flags.genesisIndex, + }) + + spinner.succeed('Genesis account created successfully!') + + this.log('') + this.logSuccess(`Genesis Account: ${genesisAccountPda}`) + this.log(`Base Mint: ${baseMintPubkey}`) + this.log(`Quote Mint: ${quoteMint}`) + this.log(`Name: ${flags.name}`) + this.log(`Symbol: ${flags.symbol}`) + this.log(`Total Supply: ${flags.totalSupply}`) + this.log(`Decimals: ${flags.decimals}`) + this.log(`Funding Mode: ${flags.fundingMode}`) + this.log('') + this.log(`Transaction: ${txSignatureToString(result.transaction.signature as Uint8Array)}`) + this.log('') + this.log( + generateExplorerUrl( + this.context.explorer, + this.context.chain, + txSignatureToString(result.transaction.signature as Uint8Array), + 'transaction' + ) + ) + this.log('') + this.log('Next steps:') + this.log(' 1. Add buckets to your Genesis account (launch pool, auction, presale, etc.)') + this.log(' 2. Configure your launch parameters') + this.log(' 3. Finalize the launch when ready') + + } catch (error) { + spinner.fail('Failed to create Genesis account') + throw error + } + } +} diff --git a/src/commands/genesis/deposit.ts b/src/commands/genesis/deposit.ts new file mode 100644 index 0000000..1d7cad8 --- /dev/null +++ b/src/commands/genesis/deposit.ts @@ -0,0 +1,143 @@ +import { + depositLaunchPoolV2, + safeFetchGenesisAccountV2, + findLaunchPoolBucketV2Pda, + findLaunchPoolDepositV2Pda, + safeFetchLaunchPoolBucketV2, +} from '@metaplex-foundation/genesis' +import { publicKey } from '@metaplex-foundation/umi' +import { Args, Flags } from '@oclif/core' +import ora from 'ora' + +import { TransactionCommand } from '../../TransactionCommand.js' +import { generateExplorerUrl } from '../../explorers.js' +import { txSignatureToString } from '../../lib/util.js' +import umiSendAndConfirmTransaction from '../../lib/umi/sendAndConfirm.js' + +export default class GenesisDeposit extends TransactionCommand { + static override description = `Deposit into a Genesis launch pool. + +This command deposits quote tokens (e.g., SOL, USDC) into a launch pool bucket. +You will receive a proportional allocation of tokens based on your share of contributions. + +Launch pools use a pro-rata allocation model where: +- Everyone gets the same price +- Allocation is based on your contribution relative to total contributions +- No frontrunning or sniping possible` + + static override examples = [ + '$ mplx genesis deposit GenesisAddress123... --amount 1000000000 --bucketIndex 0', + '$ mplx genesis deposit GenesisAddress123... --amount 1000000000', + '$ mplx genesis deposit GenesisAddress123... --amount 5000000000 --bucketIndex 1', + ] + + static override usage = 'genesis deposit [GENESIS] [FLAGS]' + + static override args = { + genesis: Args.string({ + description: 'The Genesis account address', + required: true, + }), + } + + static override flags = { + amount: Flags.string({ + char: 'a', + description: 'Amount of quote tokens to deposit (in base units, e.g., lamports for SOL)', + required: true, + }), + bucketIndex: Flags.integer({ + char: 'b', + description: 'Index of the launch pool bucket (default: 0)', + default: 0, + }), + } + + public async run(): Promise { + const { args, flags } = await this.parse(GenesisDeposit) + const spinner = ora('Processing deposit...').start() + + try { + const genesisAddress = publicKey(args.genesis) + + // Fetch the Genesis account + spinner.text = 'Fetching Genesis account details...' + const genesisAccount = await safeFetchGenesisAccountV2(this.context.umi, genesisAddress) + + if (!genesisAccount) { + spinner.fail('Genesis account not found') + this.error(`Genesis account not found at address: ${args.genesis}`) + } + + // Find the launch pool bucket PDA + const bucketPda = findLaunchPoolBucketV2Pda(this.context.umi, { + genesisAccount: genesisAddress, + bucketIndex: flags.bucketIndex, + }) + + // Verify the bucket exists + spinner.text = 'Verifying launch pool bucket...' + const bucket = await safeFetchLaunchPoolBucketV2(this.context.umi, bucketPda) + + if (!bucket) { + spinner.fail('Launch pool bucket not found') + this.error(`Launch pool bucket not found at index ${flags.bucketIndex}. Make sure the bucket has been created.`) + } + + // Parse amount + const amount = BigInt(flags.amount) + + // Build the deposit transaction + spinner.text = 'Depositing into launch pool...' + const transaction = depositLaunchPoolV2(this.context.umi, { + genesisAccount: genesisAddress, + bucket: bucketPda, + baseMint: genesisAccount.baseMint, + quoteMint: genesisAccount.quoteMint, + depositor: this.context.signer, + recipient: this.context.signer, + rentPayer: this.context.payer, + amountQuoteToken: amount, + }) + + const result = await umiSendAndConfirmTransaction(this.context.umi, transaction) + + // Find the deposit PDA for reference (convert Pda to PublicKey) + const bucketAddress = publicKey(bucketPda) + const depositPda = findLaunchPoolDepositV2Pda(this.context.umi, { + bucket: bucketAddress, + recipient: this.context.signer.publicKey, + }) + + spinner.succeed('Deposit successful!') + + this.log('') + this.logSuccess(`Deposited ${flags.amount} quote tokens`) + this.log('') + this.log('Deposit Details:') + this.log(` Genesis Account: ${genesisAddress}`) + this.log(` Bucket: ${bucketPda}`) + this.log(` Bucket Index: ${flags.bucketIndex}`) + this.log(` Deposit PDA: ${depositPda}`) + this.log(` Amount: ${flags.amount}`) + this.log('') + this.log(`Transaction: ${txSignatureToString(result.transaction.signature as Uint8Array)}`) + this.log('') + this.log( + generateExplorerUrl( + this.context.explorer, + this.context.chain, + txSignatureToString(result.transaction.signature as Uint8Array), + 'transaction' + ) + ) + this.log('') + this.log('Note: Your token allocation will be calculated pro-rata based on total contributions.') + this.log('Use "mplx genesis claim" to claim your tokens after the launch is finalized.') + + } catch (error) { + spinner.fail('Failed to deposit') + throw error + } + } +} diff --git a/src/commands/genesis/fetch.ts b/src/commands/genesis/fetch.ts new file mode 100644 index 0000000..08aeac1 --- /dev/null +++ b/src/commands/genesis/fetch.ts @@ -0,0 +1,128 @@ +import { + fetchGenesisAccountV2, + safeFetchGenesisAccountV2, +} from '@metaplex-foundation/genesis' +import { publicKey, lamports, amountToNumber } from '@metaplex-foundation/umi' +import { Args } from '@oclif/core' +import ora from 'ora' + +import { TransactionCommand } from '../../TransactionCommand.js' +import { generateExplorerUrl } from '../../explorers.js' + +// Key types from Genesis (enum values) +const KEY_TYPES: Record = { + 0: 'Uninitialized', + 1: 'GenesisAccount', + 2: 'LaunchPoolBucket', + 3: 'LaunchPoolDeposit', + 4: 'StreamflowBucket', + 5: 'UnlockedBucket', + 6: 'MeteoraBucket', + 7: 'PumpBucket', + 8: 'DistributionBucket', + 9: 'PresaleBucket', + 10: 'PresaleDeposit', + 11: 'VaultBucket', + 12: 'VaultDeposit', + 13: 'BondingCurveBucket', + 14: 'AuctionBucket', + 15: 'AuctionBid', + 16: 'AuctionTree', + 17: 'RaydiumCpmmBucket', + 18: 'GenesisAccountV2', + 19: 'PresaleBucketV2', + 20: 'PresaleDepositV2', + 21: 'UnlockedBucketV2', + 22: 'RaydiumCpmmBucketV2', + 23: 'VaultBucketV2', + 24: 'VaultDepositV2', + 25: 'BondingCurveBucketV2', + 26: 'LaunchPoolBucketV2', + 27: 'LaunchPoolDepositV2', +} + +// Funding modes +const FUNDING_MODES: Record = { + 0: 'NewMint', + 1: 'Transfer', + 2: 'ExistingMint', +} + +export default class GenesisFetch extends TransactionCommand { + static override description = `Fetch a Genesis account by its address. + +This command retrieves and displays information about an existing Genesis account. +Use this to check the status, configuration, and details of any Genesis launch.` + + static override examples = [ + '$ mplx genesis fetch GenesisAddress123...', + '$ mplx genesis fetch 7nVDaSFJWnPpBXH5JQxUvK8YwMGp5VHrYLBhWAe5hJkv', + ] + + static override usage = 'genesis fetch [GENESIS]' + + static override args = { + genesis: Args.string({ + description: 'The Genesis account address to fetch', + required: true, + }), + } + + public async run(): Promise { + const { args } = await this.parse(GenesisFetch) + const spinner = ora('Fetching Genesis account...').start() + + try { + const genesisAddress = publicKey(args.genesis) + + const genesisAccount = await safeFetchGenesisAccountV2(this.context.umi, genesisAddress) + + if (!genesisAccount) { + spinner.fail('Genesis account not found') + this.error(`Genesis account not found at address: ${args.genesis}`) + } + + spinner.succeed('Genesis account fetched successfully!') + + this.log('') + this.logSuccess(`Genesis Account: ${genesisAddress}`) + this.log('') + this.log('Account Details:') + this.log(` Account Type: ${KEY_TYPES[genesisAccount.key] || 'Unknown'}`) + this.log(` Authority: ${genesisAccount.authority}`) + this.log(` Base Mint: ${genesisAccount.baseMint}`) + this.log(` Quote Mint: ${genesisAccount.quoteMint}`) + this.log(` Finalized: ${genesisAccount.finalized ? 'Yes' : 'No'}`) + this.log(` Index: ${genesisAccount.index}`) + this.log(` Bucket Count: ${genesisAccount.bucketCount}`) + this.log('') + this.log('Token Supply:') + this.log(` Total Supply (Base Token): ${genesisAccount.totalSupplyBaseToken.toString()}`) + this.log(` Total Allocated Supply: ${genesisAccount.totalAllocatedSupplyBaseToken.toString()}`) + this.log(` Unallocated Supply: ${(genesisAccount.totalSupplyBaseToken - genesisAccount.totalAllocatedSupplyBaseToken).toString()}`) + this.log('') + this.log('Proceeds:') + this.log(` Total Proceeds (Quote Token): ${genesisAccount.totalProceedsQuoteToken.toString()}`) + this.log('') + this.log('Configuration:') + this.log(` Funding Mode: ${FUNDING_MODES[genesisAccount.fundingMode] || `Unknown (${genesisAccount.fundingMode})`}`) + this.log(` Bump: ${genesisAccount.bump}`) + this.log('') + this.log('View on Explorer:') + this.log( + generateExplorerUrl( + this.context.explorer, + this.context.chain, + genesisAddress, + 'account' + ) + ) + } catch (error) { + spinner.fail('Failed to fetch Genesis account') + if (error instanceof Error && error.message.includes('Account does not exist')) { + this.error(`Genesis account not found at address: ${args.genesis}`) + } + throw error + } + } +} diff --git a/src/commands/genesis/finalize.ts b/src/commands/genesis/finalize.ts new file mode 100644 index 0000000..0d4a49b --- /dev/null +++ b/src/commands/genesis/finalize.ts @@ -0,0 +1,93 @@ +import { + finalizeV2, + safeFetchGenesisAccountV2, +} from '@metaplex-foundation/genesis' +import { publicKey } from '@metaplex-foundation/umi' +import { Args } from '@oclif/core' +import ora from 'ora' + +import { TransactionCommand } from '../../TransactionCommand.js' +import { generateExplorerUrl } from '../../explorers.js' +import { txSignatureToString } from '../../lib/util.js' +import umiSendAndConfirmTransaction from '../../lib/umi/sendAndConfirm.js' + +export default class GenesisFinalize extends TransactionCommand { + static override description = `Finalize a Genesis launch. + +This command finalizes a Genesis account, marking the token launch as complete. +Once finalized, the launch configuration cannot be changed. + +Requirements: +- You must be the authority of the Genesis account +- All buckets should be properly configured before finalizing +- The launch conditions should be met` + + static override examples = [ + '$ mplx genesis finalize GenesisAddress123...', + '$ mplx genesis finalize 7nVDaSFJWnPpBXH5JQxUvK8YwMGp5VHrYLBhWAe5hJkv', + ] + + static override usage = 'genesis finalize [GENESIS]' + + static override args = { + genesis: Args.string({ + description: 'The Genesis account address to finalize', + required: true, + }), + } + + public async run(): Promise { + const { args } = await this.parse(GenesisFinalize) + const spinner = ora('Finalizing Genesis launch...').start() + + try { + const genesisAddress = publicKey(args.genesis) + + // Fetch the Genesis account to get the base mint + spinner.text = 'Fetching Genesis account details...' + const genesisAccount = await safeFetchGenesisAccountV2(this.context.umi, genesisAddress) + + if (!genesisAccount) { + spinner.fail('Genesis account not found') + this.error(`Genesis account not found at address: ${args.genesis}`) + } + + if (genesisAccount.finalized) { + spinner.fail('Genesis account is already finalized') + this.error('This Genesis account has already been finalized') + } + + // Build the finalize transaction + spinner.text = 'Finalizing Genesis launch...' + const transaction = finalizeV2(this.context.umi, { + genesisAccount: genesisAddress, + baseMint: genesisAccount.baseMint, + authority: this.context.signer, + }) + + const result = await umiSendAndConfirmTransaction(this.context.umi, transaction) + + spinner.succeed('Genesis launch finalized successfully!') + + this.log('') + this.logSuccess(`Genesis Account: ${genesisAddress}`) + this.log(`Base Mint: ${genesisAccount.baseMint}`) + this.log(`Status: Finalized`) + this.log('') + this.log(`Transaction: ${txSignatureToString(result.transaction.signature as Uint8Array)}`) + this.log('') + this.log( + generateExplorerUrl( + this.context.explorer, + this.context.chain, + txSignatureToString(result.transaction.signature as Uint8Array), + 'transaction' + ) + ) + + } catch (error) { + spinner.fail('Failed to finalize Genesis launch') + throw error + } + } +} diff --git a/src/commands/genesis/index.ts b/src/commands/genesis/index.ts new file mode 100644 index 0000000..f9929c6 --- /dev/null +++ b/src/commands/genesis/index.ts @@ -0,0 +1,29 @@ +import { Command } from '@oclif/core' + +export default class Genesis extends Command { + static override description = 'Genesis Program - Token launch management for TGE (Token Generation Events)' + + static override examples = [ + '<%= config.bin %> genesis create --name "My Token" --symbol "MTK" --totalSupply 1000000000', + '<%= config.bin %> genesis fetch GenesisAddress123...', + '<%= config.bin %> genesis deposit GenesisAddress123... --amount 1000', + '<%= config.bin %> genesis claim GenesisAddress123...', + '<%= config.bin %> genesis finalize GenesisAddress123...', + ] + + public async run(): Promise { + await this.parse(Genesis) + + this.log('Genesis Program - Token launch management for TGE (Token Generation Events)') + this.log('') + this.log('Available commands:') + this.log(' genesis create Create a new Genesis account for a token launch') + this.log(' genesis fetch Fetch Genesis account details') + this.log(' genesis deposit Deposit into a launch pool') + this.log(' genesis claim Claim tokens from a completed launch') + this.log(' genesis finalize Finalize a Genesis launch') + this.log(' genesis revoke Revoke/cancel a Genesis launch') + this.log('') + this.log('Run "mplx genesis --help" for more information about a command.') + } +} diff --git a/src/commands/genesis/revoke.ts b/src/commands/genesis/revoke.ts new file mode 100644 index 0000000..ea191f4 --- /dev/null +++ b/src/commands/genesis/revoke.ts @@ -0,0 +1,116 @@ +import { + revokeV2, + safeFetchGenesisAccountV2, +} from '@metaplex-foundation/genesis' +import { publicKey } from '@metaplex-foundation/umi' +import { Args, Flags } from '@oclif/core' +import ora from 'ora' + +import { TransactionCommand } from '../../TransactionCommand.js' +import { generateExplorerUrl } from '../../explorers.js' +import { txSignatureToString } from '../../lib/util.js' +import umiSendAndConfirmTransaction from '../../lib/umi/sendAndConfirm.js' + +export default class GenesisRevoke extends TransactionCommand { + static override description = `Revoke mint and/or freeze authority from a Genesis account. + +This command revokes the mint authority and/or freeze authority from the Genesis account. +This is typically done after a token launch is complete to ensure no more tokens can be minted. + +WARNING: This action is irreversible. Once revoked, the authority cannot be restored. + +Options: +- --revokeMint: Revoke the mint authority (no more tokens can be minted) +- --revokeFreeze: Revoke the freeze authority (tokens cannot be frozen)` + + static override examples = [ + '$ mplx genesis revoke GenesisAddress123... --revokeMint --revokeFreeze', + '$ mplx genesis revoke GenesisAddress123... --revokeMint', + '$ mplx genesis revoke GenesisAddress123... --revokeFreeze', + ] + + static override usage = 'genesis revoke [GENESIS] [FLAGS]' + + static override args = { + genesis: Args.string({ + description: 'The Genesis account address', + required: true, + }), + } + + static override flags = { + revokeMint: Flags.boolean({ + description: 'Revoke the mint authority (no more tokens can be minted)', + default: false, + }), + revokeFreeze: Flags.boolean({ + description: 'Revoke the freeze authority (tokens cannot be frozen)', + default: false, + }), + } + + public async run(): Promise { + const { args, flags } = await this.parse(GenesisRevoke) + + if (!flags.revokeMint && !flags.revokeFreeze) { + this.error('At least one of --revokeMint or --revokeFreeze must be specified') + } + + const spinner = ora('Revoking authorities...').start() + + try { + const genesisAddress = publicKey(args.genesis) + + // Fetch the Genesis account + spinner.text = 'Fetching Genesis account details...' + const genesisAccount = await safeFetchGenesisAccountV2(this.context.umi, genesisAddress) + + if (!genesisAccount) { + spinner.fail('Genesis account not found') + this.error(`Genesis account not found at address: ${args.genesis}`) + } + + // Build the revoke transaction + spinner.text = 'Revoking authorities...' + const transaction = revokeV2(this.context.umi, { + genesisAccount: genesisAddress, + baseMint: genesisAccount.baseMint, + authority: this.context.signer, + baseTokenProgram: publicKey('TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'), + revokeMintAuthority: flags.revokeMint, + revokeFreezeAuthority: flags.revokeFreeze, + padding: [0, 0, 0, 0, 0], + }) + + const result = await umiSendAndConfirmTransaction(this.context.umi, transaction) + + spinner.succeed('Authorities revoked successfully!') + + this.log('') + this.logSuccess('Authorities revoked') + this.log('') + this.log('Revoke Details:') + this.log(` Genesis Account: ${genesisAddress}`) + this.log(` Base Mint: ${genesisAccount.baseMint}`) + this.log(` Mint Authority Revoked: ${flags.revokeMint ? 'Yes' : 'No'}`) + this.log(` Freeze Authority Revoked: ${flags.revokeFreeze ? 'Yes' : 'No'}`) + this.log('') + this.log(`Transaction: ${txSignatureToString(result.transaction.signature as Uint8Array)}`) + this.log('') + this.log( + generateExplorerUrl( + this.context.explorer, + this.context.chain, + txSignatureToString(result.transaction.signature as Uint8Array), + 'transaction' + ) + ) + this.log('') + this.log('WARNING: This action is irreversible. The revoked authorities cannot be restored.') + + } catch (error) { + spinner.fail('Failed to revoke authorities') + throw error + } + } +} diff --git a/src/lib/Context.ts b/src/lib/Context.ts index 26fbbb5..1595808 100644 --- a/src/lib/Context.ts +++ b/src/lib/Context.ts @@ -16,6 +16,7 @@ import { join } from 'node:path' import { mplTokenMetadata } from '@metaplex-foundation/mpl-token-metadata' import { mplToolbox } from '@metaplex-foundation/mpl-toolbox' import { mplDistro } from '@metaplex-foundation/mpl-distro' +import { genesis } from '@metaplex-foundation/genesis' import { IrysUploaderOptions } from '@metaplex-foundation/umi-uploader-irys' import { createSignerFromFile } from './FileSigner.js' import { createSignerFromLedgerPath } from './LedgerSigner.js' @@ -165,6 +166,7 @@ export const createContext = async (configPath: string, overrides: ConfigJson, i .use(mplBubblegum()) .use(mplDistro()) .use(mplCandyMachine()) + .use(genesis()) .use(dasApi()) const storageProvider = await initStorageProvider(config) From 0dc35667c89b0734a457143602dfd520120e1342 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 21 Jan 2026 18:47:27 +0000 Subject: [PATCH 2/7] add Genesis bucket commands - Add genesis bucket command group for managing allocation mechanisms - Add genesis bucket add-launch-pool command to create launch pool buckets - Supports configuring token allocation - Supports deposit and claim time conditions (Unix timestamps) - Auto-increments bucket index - Add genesis bucket fetch command to view bucket details - Displays allocation, deposits, claims, schedule, and fees --- .../genesis/bucket/add-launch-pool.ts | 203 ++++++++++++++++++ src/commands/genesis/bucket/fetch.ts | 161 ++++++++++++++ src/commands/genesis/bucket/index.ts | 29 +++ 3 files changed, 393 insertions(+) create mode 100644 src/commands/genesis/bucket/add-launch-pool.ts create mode 100644 src/commands/genesis/bucket/fetch.ts create mode 100644 src/commands/genesis/bucket/index.ts diff --git a/src/commands/genesis/bucket/add-launch-pool.ts b/src/commands/genesis/bucket/add-launch-pool.ts new file mode 100644 index 0000000..be97cb3 --- /dev/null +++ b/src/commands/genesis/bucket/add-launch-pool.ts @@ -0,0 +1,203 @@ +import { + addLaunchPoolBucketV2, + safeFetchGenesisAccountV2, + findLaunchPoolBucketV2Pda, +} from '@metaplex-foundation/genesis' +import { publicKey, some, none } from '@metaplex-foundation/umi' +import { Args, Flags } from '@oclif/core' +import ora from 'ora' + +import { TransactionCommand } from '../../../TransactionCommand.js' +import { generateExplorerUrl } from '../../../explorers.js' +import { txSignatureToString } from '../../../lib/util.js' +import umiSendAndConfirmTransaction from '../../../lib/umi/sendAndConfirm.js' + +export default class AddLaunchPool extends TransactionCommand { + static override description = `Add a launch pool bucket to a Genesis account. + +Launch pools use a pro-rata allocation model where: +- Everyone gets the same price +- Allocation is based on contribution relative to total contributions +- No frontrunning or sniping possible + +The bucket requires start/end conditions for deposits and claims. +Use Unix timestamps for absolute times.` + + static override examples = [ + '$ mplx genesis bucket add-launch-pool GenesisAddress... --allocation 500000000 --depositStart 1704067200 --depositEnd 1704153600 --claimStart 1704153600', + '$ mplx genesis bucket add-launch-pool GenesisAddress... --allocation 1000000000 --depositStart 1704067200 --depositEnd 1704153600 --claimStart 1704153600 --claimEnd 1704240000', + ] + + static override usage = 'genesis bucket add-launch-pool [GENESIS] [FLAGS]' + + static override args = { + genesis: Args.string({ + description: 'The Genesis account address', + required: true, + }), + } + + static override flags = { + allocation: Flags.string({ + char: 'a', + description: 'Base token allocation for this bucket (in base units)', + required: true, + }), + depositStart: Flags.string({ + description: 'Unix timestamp when deposits start', + required: true, + }), + depositEnd: Flags.string({ + description: 'Unix timestamp when deposits end', + required: true, + }), + claimStart: Flags.string({ + description: 'Unix timestamp when claims start', + required: true, + }), + claimEnd: Flags.string({ + description: 'Unix timestamp when claims end (optional, 0 for no end)', + default: '0', + }), + bucketIndex: Flags.integer({ + char: 'b', + description: 'Bucket index (default: auto-increment based on genesis bucket count)', + required: false, + }), + } + + public async run(): Promise { + const { args, flags } = await this.parse(AddLaunchPool) + const spinner = ora('Adding launch pool bucket...').start() + + try { + const genesisAddress = publicKey(args.genesis) + + // Fetch the Genesis account + spinner.text = 'Fetching Genesis account details...' + const genesisAccount = await safeFetchGenesisAccountV2(this.context.umi, genesisAddress) + + if (!genesisAccount) { + spinner.fail('Genesis account not found') + this.error(`Genesis account not found at address: ${args.genesis}`) + } + + if (genesisAccount.finalized) { + spinner.fail('Genesis account is already finalized') + this.error('Cannot add buckets to a finalized Genesis account') + } + + // Determine bucket index + const bucketIndex = flags.bucketIndex ?? genesisAccount.bucketCount + + // Parse timestamps + const depositStart = BigInt(flags.depositStart) + const depositEnd = BigInt(flags.depositEnd) + const claimStart = BigInt(flags.claimStart) + const claimEnd = BigInt(flags.claimEnd) + + // Parse allocation + const allocation = BigInt(flags.allocation) + + // Build conditions + const depositStartCondition = { + __kind: 'TimeAbsolute' as const, + padding: [0, 0, 0, 0, 0, 0, 0], + time: depositStart, + triggeredTimestamp: BigInt(0), + } + + const depositEndCondition = { + __kind: 'TimeAbsolute' as const, + padding: [0, 0, 0, 0, 0, 0, 0], + time: depositEnd, + triggeredTimestamp: BigInt(0), + } + + const claimStartCondition = { + __kind: 'TimeAbsolute' as const, + padding: [0, 0, 0, 0, 0, 0, 0], + time: claimStart, + triggeredTimestamp: BigInt(0), + } + + const claimEndCondition = { + __kind: 'TimeAbsolute' as const, + padding: [0, 0, 0, 0, 0, 0, 0], + time: claimEnd, + triggeredTimestamp: BigInt(0), + } + + // Build the add bucket transaction + spinner.text = 'Adding launch pool bucket...' + const transaction = addLaunchPoolBucketV2(this.context.umi, { + genesisAccount: genesisAddress, + baseMint: genesisAccount.baseMint, + quoteMint: genesisAccount.quoteMint, + authority: this.context.signer, + payer: this.context.payer, + bucketIndex, + baseTokenAllocation: allocation, + depositStartCondition, + depositEndCondition, + claimStartCondition, + claimEndCondition, + backendSigner: none(), + penaltyWallet: none(), + depositPenalty: none(), + withdrawPenalty: none(), + bonusSchedule: none(), + depositLimit: none(), + allowlist: none(), + claimSchedule: none(), + minimumDepositAmount: none(), + minimumQuoteTokenThreshold: none(), + endBehaviors: [], + }) + + const result = await umiSendAndConfirmTransaction(this.context.umi, transaction) + + // Get the bucket PDA + const bucketPda = findLaunchPoolBucketV2Pda(this.context.umi, { + genesisAccount: genesisAddress, + bucketIndex, + }) + + spinner.succeed('Launch pool bucket added successfully!') + + this.log('') + this.logSuccess(`Launch Pool Bucket Added`) + this.log('') + this.log('Bucket Details:') + this.log(` Genesis Account: ${genesisAddress}`) + this.log(` Bucket Address: ${bucketPda}`) + this.log(` Bucket Index: ${bucketIndex}`) + this.log(` Token Allocation: ${flags.allocation}`) + this.log('') + this.log('Schedule:') + this.log(` Deposit Start: ${new Date(Number(depositStart) * 1000).toISOString()}`) + this.log(` Deposit End: ${new Date(Number(depositEnd) * 1000).toISOString()}`) + this.log(` Claim Start: ${new Date(Number(claimStart) * 1000).toISOString()}`) + if (claimEnd > 0) { + this.log(` Claim End: ${new Date(Number(claimEnd) * 1000).toISOString()}`) + } else { + this.log(` Claim End: No end (unlimited)`) + } + this.log('') + this.log(`Transaction: ${txSignatureToString(result.transaction.signature as Uint8Array)}`) + this.log('') + this.log( + generateExplorerUrl( + this.context.explorer, + this.context.chain, + txSignatureToString(result.transaction.signature as Uint8Array), + 'transaction' + ) + ) + + } catch (error) { + spinner.fail('Failed to add launch pool bucket') + throw error + } + } +} diff --git a/src/commands/genesis/bucket/fetch.ts b/src/commands/genesis/bucket/fetch.ts new file mode 100644 index 0000000..ccad4af --- /dev/null +++ b/src/commands/genesis/bucket/fetch.ts @@ -0,0 +1,161 @@ +import { + safeFetchGenesisAccountV2, + findLaunchPoolBucketV2Pda, + safeFetchLaunchPoolBucketV2, +} from '@metaplex-foundation/genesis' +import { publicKey } from '@metaplex-foundation/umi' +import { Args, Flags } from '@oclif/core' +import ora from 'ora' + +import { TransactionCommand } from '../../../TransactionCommand.js' +import { generateExplorerUrl } from '../../../explorers.js' + +// Key types from Genesis (enum values) +const KEY_TYPES: Record = { + 0: 'Uninitialized', + 1: 'GenesisAccount', + 2: 'LaunchPoolBucket', + 3: 'LaunchPoolDeposit', + 4: 'StreamflowBucket', + 5: 'UnlockedBucket', + 6: 'MeteoraBucket', + 7: 'PumpBucket', + 8: 'DistributionBucket', + 9: 'PresaleBucket', + 10: 'PresaleDeposit', + 11: 'VaultBucket', + 12: 'VaultDeposit', + 13: 'BondingCurveBucket', + 14: 'AuctionBucket', + 15: 'AuctionBid', + 16: 'AuctionTree', + 17: 'RaydiumCpmmBucket', + 18: 'GenesisAccountV2', + 19: 'PresaleBucketV2', + 20: 'PresaleDepositV2', + 21: 'UnlockedBucketV2', + 22: 'RaydiumCpmmBucketV2', + 23: 'VaultBucketV2', + 24: 'VaultDepositV2', + 25: 'BondingCurveBucketV2', + 26: 'LaunchPoolBucketV2', + 27: 'LaunchPoolDepositV2', +} + +function formatCondition(condition: { __kind: string; time?: bigint }): string { + if (condition.__kind === 'TimeAbsolute' && condition.time) { + const timestamp = Number(condition.time) + if (timestamp === 0) return 'Not set' + return new Date(timestamp * 1000).toISOString() + } + return `${condition.__kind}` +} + +export default class BucketFetch extends TransactionCommand { + static override description = `Fetch a Genesis bucket by genesis address and bucket index. + +This command retrieves and displays information about a bucket in a Genesis account. +Currently supports Launch Pool buckets (V2).` + + static override examples = [ + '$ mplx genesis bucket fetch GenesisAddress... --bucketIndex 0', + '$ mplx genesis bucket fetch GenesisAddress... -b 1', + ] + + static override usage = 'genesis bucket fetch [GENESIS] [FLAGS]' + + static override args = { + genesis: Args.string({ + description: 'The Genesis account address', + required: true, + }), + } + + static override flags = { + bucketIndex: Flags.integer({ + char: 'b', + description: 'Index of the bucket to fetch', + default: 0, + }), + } + + public async run(): Promise { + const { args, flags } = await this.parse(BucketFetch) + const spinner = ora('Fetching bucket...').start() + + try { + const genesisAddress = publicKey(args.genesis) + + // Fetch the Genesis account first + spinner.text = 'Fetching Genesis account...' + const genesisAccount = await safeFetchGenesisAccountV2(this.context.umi, genesisAddress) + + if (!genesisAccount) { + spinner.fail('Genesis account not found') + this.error(`Genesis account not found at address: ${args.genesis}`) + } + + // Find and fetch the launch pool bucket + spinner.text = 'Fetching bucket details...' + const bucketPda = findLaunchPoolBucketV2Pda(this.context.umi, { + genesisAccount: genesisAddress, + bucketIndex: flags.bucketIndex, + }) + + const bucket = await safeFetchLaunchPoolBucketV2(this.context.umi, bucketPda) + + if (!bucket) { + spinner.fail('Bucket not found') + this.error(`Launch pool bucket not found at index ${flags.bucketIndex}. It may be a different bucket type or not exist.`) + } + + spinner.succeed('Bucket fetched successfully!') + + this.log('') + this.logSuccess(`Launch Pool Bucket`) + this.log('') + this.log('Bucket Details:') + this.log(` Address: ${bucketPda}`) + this.log(` Type: ${KEY_TYPES[bucket.key] || 'Unknown'}`) + this.log(` Genesis Account: ${bucket.bucket.genesis}`) + this.log(` Bucket Index: ${bucket.bucket.bucketIndex}`) + this.log('') + this.log('Allocation:') + this.log(` Base Token Allocation: ${bucket.bucket.baseTokenAllocation.toString()}`) + this.log(` Base Token Balance: ${bucket.bucket.baseTokenBalance.toString()}`) + this.log('') + this.log('Deposits:') + this.log(` Deposit Count: ${bucket.depositCount.toString()}`) + this.log(` Total Quote Tokens Deposited: ${bucket.quoteTokenDepositTotal.toString()}`) + this.log(` Weighted Quote Token Total: ${bucket.weightedQuoteTokenTotal.toString()}`) + this.log('') + this.log('Claims:') + this.log(` Claim Count: ${bucket.claimCount.toString()}`) + this.log('') + this.log('Schedule:') + this.log(` Deposit Start: ${formatCondition(bucket.depositStartCondition)}`) + this.log(` Deposit End: ${formatCondition(bucket.depositEndCondition)}`) + this.log(` Claim Start: ${formatCondition(bucket.claimStartCondition)}`) + this.log(` Claim End: ${formatCondition(bucket.claimEndCondition)}`) + this.log('') + this.log('Fees:') + this.log(` Deposit Fee: ${bucket.depositFee.toString()}`) + this.log(` Withdraw Fee: ${bucket.withdrawFee.toString()}`) + this.log(` Claim Fee: ${bucket.claimFee.toString()}`) + this.log('') + this.log('View on Explorer:') + this.log( + generateExplorerUrl( + this.context.explorer, + this.context.chain, + publicKey(bucketPda), + 'account' + ) + ) + + } catch (error) { + spinner.fail('Failed to fetch bucket') + throw error + } + } +} diff --git a/src/commands/genesis/bucket/index.ts b/src/commands/genesis/bucket/index.ts new file mode 100644 index 0000000..aec4f15 --- /dev/null +++ b/src/commands/genesis/bucket/index.ts @@ -0,0 +1,29 @@ +import { Command } from '@oclif/core' + +export default class GenesisBucket extends Command { + static override description = 'Manage Genesis buckets - allocation mechanisms for token launches' + + static override examples = [ + '<%= config.bin %> genesis bucket add-launch-pool GenesisAddress... --allocation 500000000', + '<%= config.bin %> genesis bucket fetch GenesisAddress... --bucketIndex 0', + ] + + public async run(): Promise { + await this.parse(GenesisBucket) + + this.log('Genesis Bucket Commands - Manage allocation mechanisms for token launches') + this.log('') + this.log('Bucket Types:') + this.log(' Launch Pool - Pro-rata allocation based on contributions') + this.log(' Auction - Bid-based price discovery') + this.log(' Presale - Whitelist-based allocations') + this.log(' Vault - Token storage with conditions') + this.log(' Bonding Curve - Dynamic pricing based on supply') + this.log('') + this.log('Available commands:') + this.log(' genesis bucket add-launch-pool Add a launch pool bucket') + this.log(' genesis bucket fetch Fetch bucket details') + this.log('') + this.log('Run "mplx genesis bucket --help" for more information.') + } +} From 9c1af76224859187fabe855ca60620657731fd97 Mon Sep 17 00:00:00 2001 From: MarkSackerberg <93528482+MarkSackerberg@users.noreply.github.com> Date: Fri, 6 Feb 2026 10:03:47 +0100 Subject: [PATCH 3/7] fix ci --- pnpm-lock.yaml | 11395 ++++++++++++++++++++++++++--------------------- 1 file changed, 6407 insertions(+), 4988 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4cea4bf..0456d38 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,221 +1,5065 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -dependencies: - '@ardrive/turbo-sdk': - specifier: ^1.25.0 - version: 1.25.0(typescript@5.8.3) - '@inquirer/prompts': - specifier: ^7.5.3 - version: 7.5.3(@types/node@18.19.108) - '@inquirer/testing': - specifier: ^2.1.47 - version: 2.1.47(@types/node@18.19.108) - '@ledgerhq/hw-app-solana': - specifier: ^7.2.4 - version: 7.4.1 - '@ledgerhq/hw-transport': - specifier: ^6.31.4 - version: 6.31.5 - '@ledgerhq/hw-transport-node-hid-singleton': - specifier: ^6.31.5 - version: 6.31.6 - '@metaplex-foundation/digital-asset-standard-api': - specifier: ^2.0.0 - version: 2.0.0(@metaplex-foundation/umi@1.4.1) - '@metaplex-foundation/mpl-bubblegum': - specifier: ^5.0.2 - version: 5.0.2(@metaplex-foundation/umi@1.4.1) - '@metaplex-foundation/mpl-core': - specifier: ^1.4.0 - version: 1.4.0(@metaplex-foundation/umi@1.4.1)(@noble/hashes@1.8.0) - '@metaplex-foundation/mpl-core-candy-machine': - specifier: ^0.3.0 - version: 0.3.0(@metaplex-foundation/mpl-core@1.4.0)(@metaplex-foundation/umi@1.4.1) - '@metaplex-foundation/mpl-distro': - specifier: ^0.3.2 - version: 0.3.4(@metaplex-foundation/mpl-core@1.4.0)(@metaplex-foundation/mpl-toolbox@0.10.0)(@metaplex-foundation/umi@1.4.1) - '@metaplex-foundation/mpl-token-metadata': - specifier: ^3.4.0 - version: 3.4.0(@metaplex-foundation/umi@1.4.1) - '@metaplex-foundation/mpl-toolbox': - specifier: 0.10.0 - version: 0.10.0(@metaplex-foundation/umi@1.4.1) - '@metaplex-foundation/umi': - specifier: 1.4.1 - version: 1.4.1 - '@metaplex-foundation/umi-bundle-defaults': - specifier: 1.0.0 - version: 1.0.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2) - '@metaplex-foundation/umi-signer-wallet-adapters': - specifier: 1.0.0 - version: 1.0.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2) - '@metaplex-foundation/umi-uploader-irys': - specifier: 1.0.1 - version: 1.0.1(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2)(arweave@1.15.7)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) - '@metaplex-foundation/umi-web3js-adapters': - specifier: 1.2.0 - version: 1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2) - '@oclif/plugin-autocomplete': - specifier: ^3.2.29 - version: 3.2.29 - '@oclif/plugin-commands': - specifier: ^4.1.25 - version: 4.1.25 - '@oclif/plugin-help': - specifier: ^6.2.28 - version: 6.2.28 - '@oclif/plugin-not-found': - specifier: ^3.2.54 - version: 3.2.54(@types/node@18.19.108) - '@oclif/plugin-plugins': - specifier: ^5.4.38 - version: 5.4.38 - '@oclif/plugin-version': - specifier: ^2.2.28 - version: 2.2.28 - '@solana/web3.js': - specifier: ^1.98.2 - version: 1.98.2(typescript@5.8.3) - ansis: - specifier: ^3.17.0 - version: 3.17.0 - chalk: - specifier: ^5.4.1 - version: 5.4.1 - cli-progress: - specifier: ^3.12.0 - version: 3.12.0 - file-type: - specifier: ^21.0.0 - version: 21.0.0 - mime: - specifier: ^4.0.7 - version: 4.0.7 - mime-types: - specifier: ^2.1.35 - version: 2.1.35 - node-fetch: - specifier: ^3.3.2 - version: 3.3.2 - ora: - specifier: 8.1.1 - version: 8.1.1 - p-map: - specifier: ^7.0.3 - version: 7.0.3 - untildify: - specifier: ^4.0.0 - version: 4.0.0 - -devDependencies: - '@metaplex-foundation/amman': - specifier: ^0.12.1 - version: 0.12.1(typescript@5.8.3) - '@metaplex-foundation/amman-client': - specifier: ^0.2.4 - version: 0.2.4(typescript@5.8.3) - '@oclif/core': - specifier: ^4.3.0 - version: 4.3.0 - '@oclif/prettier-config': - specifier: ^0.2.1 - version: 0.2.1 - '@oclif/test': - specifier: ^4.1.13 - version: 4.1.13(@oclif/core@4.3.0) - '@types/async-retry': - specifier: ^1.4.9 - version: 1.4.9 - '@types/bn.js': - specifier: ^5.1.6 - version: 5.1.6 - '@types/chai': - specifier: ^4.3.20 - version: 4.3.20 - '@types/cli-progress': - specifier: ^3.11.6 - version: 3.11.6 - '@types/mime-types': - specifier: ^2.1.4 - version: 2.1.4 - '@types/mocha': - specifier: ^10.0.10 - version: 10.0.10 - '@types/node': - specifier: ^18.19.108 - version: 18.19.108 - '@types/node-hid': - specifier: ^1.3.4 - version: 1.3.4 - chai: - specifier: ^4.5.0 - version: 4.5.0 - eslint: - specifier: ^8.57.1 - version: 8.57.1 - eslint-config-oclif: - specifier: ^5.2.2 - version: 5.2.2(eslint@8.57.1) - eslint-config-oclif-typescript: - specifier: ^3.1.14 - version: 3.1.14(eslint@8.57.1)(typescript@5.8.3) - eslint-config-prettier: - specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.1) - install: - specifier: ^0.13.0 - version: 0.13.0 - mocha: - specifier: ^10.8.2 - version: 10.8.2 - mock-stdin: - specifier: ^1.0.0 - version: 1.0.0 - oclif: - specifier: ^4.17.46 - version: 4.17.46(@types/node@18.19.108) - shx: - specifier: ^0.3.4 - version: 0.3.4 - ts-node: - specifier: ^10.9.2 - version: 10.9.2(@types/node@18.19.108)(typescript@5.8.3) - typescript: - specifier: ^5.8.3 - version: 5.8.3 +importers: + + .: + dependencies: + '@ardrive/turbo-sdk': + specifier: ^1.25.0 + version: 1.25.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@inquirer/prompts': + specifier: ^7.5.3 + version: 7.5.3(@types/node@18.19.108) + '@inquirer/testing': + specifier: ^2.1.47 + version: 2.1.47(@types/node@18.19.108) + '@ledgerhq/hw-app-solana': + specifier: ^7.2.4 + version: 7.4.1 + '@ledgerhq/hw-transport': + specifier: ^6.31.4 + version: 6.31.5 + '@ledgerhq/hw-transport-node-hid-singleton': + specifier: ^6.31.5 + version: 6.31.6 + '@metaplex-foundation/digital-asset-standard-api': + specifier: ^2.0.0 + version: 2.0.0(@metaplex-foundation/umi@1.4.1) + '@metaplex-foundation/genesis': + specifier: ^0.14.0 + version: 0.14.0(@metaplex-foundation/umi@1.4.1) + '@metaplex-foundation/mpl-bubblegum': + specifier: ^5.0.2 + version: 5.0.2(@metaplex-foundation/umi@1.4.1) + '@metaplex-foundation/mpl-core': + specifier: ^1.4.0 + version: 1.4.0(@metaplex-foundation/umi@1.4.1)(@noble/hashes@1.8.0) + '@metaplex-foundation/mpl-core-candy-machine': + specifier: ^0.3.0 + version: 0.3.0(@metaplex-foundation/mpl-core@1.4.0(@metaplex-foundation/umi@1.4.1)(@noble/hashes@1.8.0))(@metaplex-foundation/umi@1.4.1) + '@metaplex-foundation/mpl-distro': + specifier: ^0.3.2 + version: 0.3.4(@metaplex-foundation/mpl-core@1.4.0(@metaplex-foundation/umi@1.4.1)(@noble/hashes@1.8.0))(@metaplex-foundation/mpl-toolbox@0.10.0(@metaplex-foundation/umi@1.4.1))(@metaplex-foundation/umi@1.4.1) + '@metaplex-foundation/mpl-token-metadata': + specifier: ^3.4.0 + version: 3.4.0(@metaplex-foundation/umi@1.4.1) + '@metaplex-foundation/mpl-toolbox': + specifier: 0.10.0 + version: 0.10.0(@metaplex-foundation/umi@1.4.1) + '@metaplex-foundation/umi': + specifier: 1.4.1 + version: 1.4.1 + '@metaplex-foundation/umi-bundle-defaults': + specifier: 1.0.0 + version: 1.0.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-signer-wallet-adapters': + specifier: 1.0.0 + version: 1.0.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-uploader-irys': + specifier: 1.0.1 + version: 1.0.1(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(arweave@1.15.7)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-web3js-adapters': + specifier: 1.2.0 + version: 1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) + '@oclif/plugin-autocomplete': + specifier: ^3.2.29 + version: 3.2.29 + '@oclif/plugin-commands': + specifier: ^4.1.25 + version: 4.1.25(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@oclif/plugin-help': + specifier: ^6.2.28 + version: 6.2.28 + '@oclif/plugin-not-found': + specifier: ^3.2.54 + version: 3.2.54(@types/node@18.19.108) + '@oclif/plugin-plugins': + specifier: ^5.4.38 + version: 5.4.38 + '@oclif/plugin-version': + specifier: ^2.2.28 + version: 2.2.28 + '@solana/web3.js': + specifier: ^1.98.2 + version: 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + ansis: + specifier: ^3.17.0 + version: 3.17.0 + chalk: + specifier: ^5.4.1 + version: 5.4.1 + cli-progress: + specifier: ^3.12.0 + version: 3.12.0 + file-type: + specifier: ^21.0.0 + version: 21.0.0 + mime: + specifier: ^4.0.7 + version: 4.0.7 + mime-types: + specifier: ^2.1.35 + version: 2.1.35 + node-fetch: + specifier: ^3.3.2 + version: 3.3.2 + ora: + specifier: 8.1.1 + version: 8.1.1 + p-map: + specifier: ^7.0.3 + version: 7.0.3 + untildify: + specifier: ^4.0.0 + version: 4.0.0 + devDependencies: + '@metaplex-foundation/amman': + specifier: ^0.12.1 + version: 0.12.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@metaplex-foundation/amman-client': + specifier: ^0.2.4 + version: 0.2.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@oclif/core': + specifier: ^4.3.0 + version: 4.3.0 + '@oclif/prettier-config': + specifier: ^0.2.1 + version: 0.2.1 + '@oclif/test': + specifier: ^4.1.13 + version: 4.1.13(@oclif/core@4.3.0) + '@types/async-retry': + specifier: ^1.4.9 + version: 1.4.9 + '@types/bn.js': + specifier: ^5.1.6 + version: 5.1.6 + '@types/chai': + specifier: ^4.3.20 + version: 4.3.20 + '@types/cli-progress': + specifier: ^3.11.6 + version: 3.11.6 + '@types/mime-types': + specifier: ^2.1.4 + version: 2.1.4 + '@types/mocha': + specifier: ^10.0.10 + version: 10.0.10 + '@types/node': + specifier: ^18.19.108 + version: 18.19.108 + '@types/node-hid': + specifier: ^1.3.4 + version: 1.3.4 + chai: + specifier: ^4.5.0 + version: 4.5.0 + eslint: + specifier: ^8.57.1 + version: 8.57.1 + eslint-config-oclif: + specifier: ^5.2.2 + version: 5.2.2(eslint@8.57.1) + eslint-config-oclif-typescript: + specifier: ^3.1.14 + version: 3.1.14(eslint@8.57.1)(typescript@5.8.3) + eslint-config-prettier: + specifier: ^9.1.0 + version: 9.1.0(eslint@8.57.1) + install: + specifier: ^0.13.0 + version: 0.13.0 + mocha: + specifier: ^10.8.2 + version: 10.8.2 + mock-stdin: + specifier: ^1.0.0 + version: 1.0.0 + oclif: + specifier: ^4.17.46 + version: 4.17.46(@types/node@18.19.108) + shx: + specifier: ^0.3.4 + version: 0.3.4 + ts-node: + specifier: ^10.9.2 + version: 10.9.2(@types/node@18.19.108)(typescript@5.8.3) + typescript: + specifier: ^5.8.3 + version: 5.8.3 + +packages: + + '@adraffy/ens-normalize@1.10.1': + resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} + + '@alcalzone/ansi-tokenize@0.1.3': + resolution: {integrity: sha512-3yWxPTq3UQ/FY9p1ErPxIyfT64elWaMvM9lIHnaqpyft63tkxodF5aUElYHrdisWve5cETkh1+KBw1yJuW0aRw==} + engines: {node: '>=14.13.1'} + + '@ardrive/turbo-sdk@1.25.0': + resolution: {integrity: sha512-hhZJTVCr4b2sXrqPrA6NPzd1aqXCnR6ZT/PvbTy7juFmpbEl93KRiyZCh8BdYdj1dOULRLspiQ1dqM54B/KZvA==} + engines: {node: '>=18'} + hasBin: true + + '@aws-crypto/crc32@5.2.0': + resolution: {integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==} + engines: {node: '>=16.0.0'} + + '@aws-crypto/crc32c@5.2.0': + resolution: {integrity: sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==} + + '@aws-crypto/sha1-browser@5.2.0': + resolution: {integrity: sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==} + + '@aws-crypto/sha256-browser@5.2.0': + resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==} + + '@aws-crypto/sha256-js@5.2.0': + resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} + engines: {node: '>=16.0.0'} + + '@aws-crypto/supports-web-crypto@5.2.0': + resolution: {integrity: sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==} + + '@aws-crypto/util@5.2.0': + resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} + + '@aws-sdk/client-cloudfront@3.817.0': + resolution: {integrity: sha512-jStcFxAyvqSxRSMKC0O2rM+xJ4oXaZ6jJ4xnTJMJ+Gs3zKPKIZxNIrmqYMeq27emirYryZpyBKLL7SUkr1kqAQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/client-s3@3.820.0': + resolution: {integrity: sha512-SrKNAj2ztGuyXWH14TG/MmCrbNufPfaDo3zbpxoO5qbpUi2SvOA1xSyJKD23mtzrLGs0+P7U6J/znP2UjdBIWA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/client-sso@3.817.0': + resolution: {integrity: sha512-fCh5rUHmWmWDvw70NNoWpE5+BRdtNi45kDnIoeoszqVg7UKF79SlG+qYooUT52HKCgDNHqgbWaXxMOSqd2I/OQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/core@3.816.0': + resolution: {integrity: sha512-Lx50wjtyarzKpMFV6V+gjbSZDgsA/71iyifbClGUSiNPoIQ4OCV0KVOmAAj7mQRVvGJqUMWKVM+WzK79CjbjWA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-env@3.816.0': + resolution: {integrity: sha512-wUJZwRLe+SxPxRV9AENYBLrJZRrNIo+fva7ZzejsC83iz7hdfq6Rv6B/aHEdPwG/nQC4+q7UUvcRPlomyrpsBA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-http@3.816.0': + resolution: {integrity: sha512-gcWGzMQ7yRIF+ljTkR8Vzp7727UY6cmeaPrFQrvcFB8PhOqWpf7g0JsgOf5BSaP8CkkSQcTQHc0C5ZYAzUFwPg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-ini@3.817.0': + resolution: {integrity: sha512-kyEwbQyuXE+phWVzloMdkFv6qM6NOon+asMXY5W0fhDKwBz9zQLObDRWBrvQX9lmqq8BbDL1sCfZjOh82Y+RFw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-node@3.817.0': + resolution: {integrity: sha512-b5mz7av0Lhavs1Bz3Zb+jrs0Pki93+8XNctnVO0drBW98x1fM4AR38cWvGbM/w9F9Q0/WEH3TinkmrMPrP4T/w==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-process@3.816.0': + resolution: {integrity: sha512-9Tm+AxMoV2Izvl5b9tyMQRbBwaex8JP06HN7ZeCXgC5sAsSN+o8dsThnEhf8jKN+uBpT6CLWKN1TXuUMrAmW1A==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-sso@3.817.0': + resolution: {integrity: sha512-gFUAW3VmGvdnueK1bh6TOcRX+j99Xm0men1+gz3cA4RE+rZGNy1Qjj8YHlv0hPwI9OnTPZquvPzA5fkviGREWg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-web-identity@3.817.0': + resolution: {integrity: sha512-A2kgkS9g6NY0OMT2f2EdXHpL17Ym81NhbGnQ8bRXPqESIi7TFypFD2U6osB2VnsFv+MhwM+Ke4PKXSmLun22/A==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-bucket-endpoint@3.808.0': + resolution: {integrity: sha512-wEPlNcs8dir9lXbuviEGtSzYSxG/NRKQrJk5ybOc7OpPGHovsN+QhDOdY3lcjOFdwMTiMIG9foUkPz3zBpLB1A==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-expect-continue@3.804.0': + resolution: {integrity: sha512-YW1hySBolALMII6C8y7Z0CRG2UX1dGJjLEBNFeefhO/xP7ZuE1dvnmfJGaEuBMnvc3wkRS63VZ3aqX6sevM1CA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-flexible-checksums@3.816.0': + resolution: {integrity: sha512-kftcwDxB/VoCBsUiRgkm5CIuKbTfCN1WLPbis9LRwX3kQhKgGVxG2gG78SHk4TBB0qviWVAd/t+i/KaUgwiAcA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-host-header@3.804.0': + resolution: {integrity: sha512-bum1hLVBrn2lJCi423Z2fMUYtsbkGI2s4N+2RI2WSjvbaVyMSv/WcejIrjkqiiMR+2Y7m5exgoKeg4/TODLDPQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-location-constraint@3.804.0': + resolution: {integrity: sha512-AMtKnllIWKgoo7hiJfphLYotEwTERfjVMO2+cKAncz9w1g+bnYhHxiVhJJoR94y047c06X4PU5MsTxvdQ73Znw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-logger@3.804.0': + resolution: {integrity: sha512-w/qLwL3iq0KOPQNat0Kb7sKndl9BtceigINwBU7SpkYWX9L/Lem6f8NPEKrC9Tl4wDBht3Yztub4oRTy/horJA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-recursion-detection@3.804.0': + resolution: {integrity: sha512-zqHOrvLRdsUdN/ehYfZ9Tf8svhbiLLz5VaWUz22YndFv6m9qaAcijkpAOlKexsv3nLBMJdSdJ6GUTAeIy3BZzw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-sdk-s3@3.816.0': + resolution: {integrity: sha512-jJ+EAXM7gnOwiCM6rrl4AUNY5urmtIsX7roTkxtb4DevJxcS+wFYRRg3/j33fQbuxQZrvk21HqxyZYx5UH70PA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-ssec@3.804.0': + resolution: {integrity: sha512-Tk8jK0gOIUBvEPTz/wwSlP1V70zVQ3QYqsLPAjQRMO6zfOK9ax31dln3MgKvFDJxBydS2tS3wsn53v+brxDxTA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-user-agent@3.816.0': + resolution: {integrity: sha512-bHRSlWZ0xDsFR8E2FwDb//0Ff6wMkVx4O+UKsfyNlAbtqCiiHRt5ANNfKPafr95cN2CCxLxiPvFTFVblQM5TsQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/nested-clients@3.817.0': + resolution: {integrity: sha512-vQ2E06A48STJFssueJQgxYD8lh1iGJoLJnHdshRDWOQb8gy1wVQR+a7MkPGhGR6lGoS0SCnF/Qp6CZhnwLsqsQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/region-config-resolver@3.808.0': + resolution: {integrity: sha512-9x2QWfphkARZY5OGkl9dJxZlSlYM2l5inFeo2bKntGuwg4A4YUe5h7d5yJ6sZbam9h43eBrkOdumx03DAkQF9A==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/signature-v4-multi-region@3.816.0': + resolution: {integrity: sha512-idcr9NW86sSIXASSej3423Selu6fxlhhJJtMgpAqoCH/HJh1eQrONJwNKuI9huiruPE8+02pwxuePvLW46X2mw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/token-providers@3.817.0': + resolution: {integrity: sha512-CYN4/UO0VaqyHf46ogZzNrVX7jI3/CfiuktwKlwtpKA6hjf2+ivfgHSKzPpgPBcSEfiibA/26EeLuMnB6cpSrQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/types@3.804.0': + resolution: {integrity: sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-arn-parser@3.804.0': + resolution: {integrity: sha512-wmBJqn1DRXnZu3b4EkE6CWnoWMo1ZMvlfkqU5zPz67xx1GMaXlDCchFvKAXMjk4jn/L1O3tKnoFDNsoLV1kgNQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-endpoints@3.808.0': + resolution: {integrity: sha512-N6Lic98uc4ADB7fLWlzx+1uVnq04VgVjngZvwHoujcRg9YDhIg9dUDiTzD5VZv13g1BrPYmvYP1HhsildpGV6w==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-locate-window@3.804.0': + resolution: {integrity: sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-user-agent-browser@3.804.0': + resolution: {integrity: sha512-KfW6T6nQHHM/vZBBdGn6fMyG/MgX5lq82TDdX4HRQRRuHKLgBWGpKXqqvBwqIaCdXwWHgDrg2VQups6GqOWW2A==} + + '@aws-sdk/util-user-agent-node@3.816.0': + resolution: {integrity: sha512-Q6dxmuj4hL7pudhrneWEQ7yVHIQRBFr0wqKLF1opwOi1cIePuoEbPyJ2jkel6PDEv1YMfvsAKaRshp6eNA8VHg==} + engines: {node: '>=18.0.0'} + peerDependencies: + aws-crt: '>=1.0.0' + peerDependenciesMeta: + aws-crt: + optional: true + + '@aws-sdk/xml-builder@3.804.0': + resolution: {integrity: sha512-JbGWp36IG9dgxtvC6+YXwt5WDZYfuamWFtVfK6fQpnmL96dx+GUPOXPKRWdw67WLKf2comHY28iX2d3z35I53Q==} + engines: {node: '>=18.0.0'} + + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + engines: {node: '>=6.9.0'} + + '@babel/runtime@7.27.3': + resolution: {integrity: sha512-7EYtGezsdiDMyY80+65EzwiGmcJqpmcZCojSXaRgdrBaGtWTgDZKq69cPIVped6MkIM78cTQ2GOiEYjwOlG4xw==} + engines: {node: '>=6.9.0'} + + '@bufbuild/protobuf@2.5.1': + resolution: {integrity: sha512-lut4UTvKL8tqtend0UDu7R79/n9jA7Jtxf77RNPbxtmWqfWI4qQ9bTjf7KCS4vfqLmpQbuHr1ciqJumAgJODdw==} + + '@colors/colors@1.6.0': + resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} + engines: {node: '>=0.1.90'} + + '@confio/ics23@0.6.8': + resolution: {integrity: sha512-wB6uo+3A50m0sW/EWcU64xpV/8wShZ6bMTa7pF8eYsTrSkQA7oLUIJcs/wb8g4y2Oyq701BaGiO6n/ak5WXO1w==} + deprecated: Unmaintained. The codebase for this package was moved to https://github.com/cosmos/ics23 but then the JS implementation was removed in https://github.com/cosmos/ics23/pull/353. Please consult the maintainers of https://github.com/cosmos for further assistance. + + '@cosmjs/amino@0.32.4': + resolution: {integrity: sha512-zKYOt6hPy8obIFtLie/xtygCkH9ZROiQ12UHfKsOkWaZfPQUvVbtgmu6R4Kn1tFLI/SRkw7eqhaogmW/3NYu/Q==} + + '@cosmjs/crypto@0.32.4': + resolution: {integrity: sha512-zicjGU051LF1V9v7bp8p7ovq+VyC91xlaHdsFOTo2oVry3KQikp8L/81RkXmUIT8FxMwdx1T7DmFwVQikcSDIw==} + + '@cosmjs/encoding@0.32.4': + resolution: {integrity: sha512-tjvaEy6ZGxJchiizzTn7HVRiyTg1i4CObRRaTRPknm5EalE13SV+TCHq38gIDfyUeden4fCuaBVEdBR5+ti7Hw==} + + '@cosmjs/json-rpc@0.32.4': + resolution: {integrity: sha512-/jt4mBl7nYzfJ2J/VJ+r19c92mUKF0Lt0JxM3MXEJl7wlwW5haHAWtzRujHkyYMXOwIR+gBqT2S0vntXVBRyhQ==} + + '@cosmjs/math@0.32.4': + resolution: {integrity: sha512-++dqq2TJkoB8zsPVYCvrt88oJWsy1vMOuSOKcdlnXuOA/ASheTJuYy4+oZlTQ3Fr8eALDLGGPhJI02W2HyAQaw==} + + '@cosmjs/proto-signing@0.32.4': + resolution: {integrity: sha512-QdyQDbezvdRI4xxSlyM1rSVBO2st5sqtbEIl3IX03uJ7YiZIQHyv6vaHVf1V4mapusCqguiHJzm4N4gsFdLBbQ==} + + '@cosmjs/socket@0.32.4': + resolution: {integrity: sha512-davcyYziBhkzfXQTu1l5NrpDYv0K9GekZCC9apBRvL1dvMc9F/ygM7iemHjUA+z8tJkxKxrt/YPjJ6XNHzLrkw==} + + '@cosmjs/stargate@0.32.4': + resolution: {integrity: sha512-usj08LxBSsPRq9sbpCeVdyLx2guEcOHfJS9mHGCLCXpdAPEIEQEtWLDpEUc0LEhWOx6+k/ChXTc5NpFkdrtGUQ==} + + '@cosmjs/stream@0.32.4': + resolution: {integrity: sha512-Gih++NYHEiP+oyD4jNEUxU9antoC0pFSg+33Hpp0JlHwH0wXhtD3OOKnzSfDB7OIoEbrzLJUpEjOgpCp5Z+W3A==} + + '@cosmjs/tendermint-rpc@0.32.4': + resolution: {integrity: sha512-MWvUUno+4bCb/LmlMIErLypXxy7ckUuzEmpufYYYd9wgbdCXaTaO08SZzyFM5PI8UJ/0S2AmUrgWhldlbxO8mw==} + + '@cosmjs/utils@0.32.4': + resolution: {integrity: sha512-D1Yc+Zy8oL/hkUkFUL/bwxvuDBzRGpc4cF7/SkdhxX4iHpSLgdOuTt1mhCh9+kl6NQREy9t7SYZ6xeW5gFe60w==} + + '@cosmostation/extension-client@0.1.15': + resolution: {integrity: sha512-HlXYJjFrNpjiV/GUKhri1UL8/bhlOIFFLpRF78YDSqq16x0+plIqx5CAvEusFcKTDpVfpeD5sfUHiKvP7euNFg==} + + '@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==} + + '@dha-team/arbundles@1.0.3': + resolution: {integrity: sha512-/XelOo5V/1o1M8VchCQ+F7N5kxwirWh5jD5zg1KECaV80Qld6aKBSgG19VLlBsRUXbRUfjM+LDRPJm9Hjfmycg==} + + '@emnapi/core@1.4.3': + resolution: {integrity: sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==} + + '@emnapi/runtime@1.4.3': + resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} + + '@emnapi/wasi-threads@1.0.2': + resolution: {integrity: sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==} + + '@eslint-community/eslint-utils@4.7.0': + resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} + 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.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.1': + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@ethereumjs/rlp@4.0.1': + resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} + engines: {node: '>=14'} + hasBin: true + + '@ethereumjs/util@8.1.0': + resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} + engines: {node: '>=14'} + + '@ethersproject/abstract-provider@5.8.0': + resolution: {integrity: sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg==} + + '@ethersproject/abstract-signer@5.8.0': + resolution: {integrity: sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA==} + + '@ethersproject/address@5.8.0': + resolution: {integrity: sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA==} + + '@ethersproject/base64@5.8.0': + resolution: {integrity: sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ==} + + '@ethersproject/basex@5.8.0': + resolution: {integrity: sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q==} + + '@ethersproject/bignumber@5.8.0': + resolution: {integrity: sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA==} + + '@ethersproject/bytes@5.8.0': + resolution: {integrity: sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A==} + + '@ethersproject/constants@5.8.0': + resolution: {integrity: sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg==} + + '@ethersproject/hash@5.8.0': + resolution: {integrity: sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA==} + + '@ethersproject/hdnode@5.8.0': + resolution: {integrity: sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA==} + + '@ethersproject/json-wallets@5.8.0': + resolution: {integrity: sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w==} + + '@ethersproject/keccak256@5.8.0': + resolution: {integrity: sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng==} + + '@ethersproject/logger@5.8.0': + resolution: {integrity: sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA==} + + '@ethersproject/networks@5.8.0': + resolution: {integrity: sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg==} + + '@ethersproject/pbkdf2@5.8.0': + resolution: {integrity: sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg==} + + '@ethersproject/properties@5.8.0': + resolution: {integrity: sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw==} + + '@ethersproject/providers@5.8.0': + resolution: {integrity: sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw==} + + '@ethersproject/random@5.8.0': + resolution: {integrity: sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A==} + + '@ethersproject/rlp@5.8.0': + resolution: {integrity: sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q==} + + '@ethersproject/sha2@5.8.0': + resolution: {integrity: sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A==} + + '@ethersproject/signing-key@5.8.0': + resolution: {integrity: sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w==} + + '@ethersproject/strings@5.8.0': + resolution: {integrity: sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg==} + + '@ethersproject/transactions@5.8.0': + resolution: {integrity: sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg==} + + '@ethersproject/wallet@5.8.0': + resolution: {integrity: sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA==} + + '@ethersproject/web@5.8.0': + resolution: {integrity: sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw==} + + '@ethersproject/wordlists@5.8.0': + resolution: {integrity: sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg==} + + '@fastify/busboy@2.1.1': + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + + '@hapi/hoek@9.3.0': + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + + '@hapi/topo@5.1.0': + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + + '@humanwhocodes/config-array@0.13.0': + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead + + '@inquirer/checkbox@4.1.8': + resolution: {integrity: sha512-d/QAsnwuHX2OPolxvYcgSj7A9DO9H6gVOy2DvBTx+P2LH2iRTo/RSGV3iwCzW024nP9hw98KIuDmdyhZQj1UQg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/confirm@3.2.0': + resolution: {integrity: sha512-oOIwPs0Dvq5220Z8lGL/6LHRTEr9TgLHmiI99Rj1PJ1p1czTys+olrgBqZk4E2qC0YTzeHprxSQmoHioVdJ7Lw==} + engines: {node: '>=18'} + + '@inquirer/confirm@5.1.12': + resolution: {integrity: sha512-dpq+ielV9/bqgXRUbNH//KsY6WEw9DrGPmipkpmgC1Y46cwuBTNx7PXFWTjc3MQ+urcc0QxoVHcMI0FW4Ok0hg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/core@10.1.13': + resolution: {integrity: sha512-1viSxebkYN2nJULlzCxES6G9/stgHSepZ9LqqfdIGPHj5OHhiBUXVS0a6R0bEC2A+VL4D9w6QB66ebCr6HGllA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/core@9.2.1': + resolution: {integrity: sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==} + engines: {node: '>=18'} + + '@inquirer/editor@4.2.13': + resolution: {integrity: sha512-WbicD9SUQt/K8O5Vyk9iC2ojq5RHoCLK6itpp2fHsWe44VxxcA9z3GTWlvjSTGmMQpZr+lbVmrxdHcumJoLbMA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/expand@4.0.15': + resolution: {integrity: sha512-4Y+pbr/U9Qcvf+N/goHzPEXiHH8680lM3Dr3Y9h9FFw4gHS+zVpbj8LfbKWIb/jayIB4aSO4pWiBTrBYWkvi5A==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/figures@1.0.12': + resolution: {integrity: sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==} + engines: {node: '>=18'} + + '@inquirer/input@2.3.0': + resolution: {integrity: sha512-XfnpCStx2xgh1LIRqPXrTNEEByqQWoxsWYzNRSEUxJ5c6EQlhMogJ3vHKu8aXuTacebtaZzMAHwEL0kAflKOBw==} + engines: {node: '>=18'} + + '@inquirer/input@4.1.12': + resolution: {integrity: sha512-xJ6PFZpDjC+tC1P8ImGprgcsrzQRsUh9aH3IZixm1lAZFK49UGHxM3ltFfuInN2kPYNfyoPRh+tU4ftsjPLKqQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/number@3.0.15': + resolution: {integrity: sha512-xWg+iYfqdhRiM55MvqiTCleHzszpoigUpN5+t1OMcRkJrUrw7va3AzXaxvS+Ak7Gny0j2mFSTv2JJj8sMtbV2g==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/password@4.0.15': + resolution: {integrity: sha512-75CT2p43DGEnfGTaqFpbDC2p2EEMrq0S+IRrf9iJvYreMy5mAWj087+mdKyLHapUEPLjN10mNvABpGbk8Wdraw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/prompts@7.5.3': + resolution: {integrity: sha512-8YL0WiV7J86hVAxrh3fE5mDCzcTDe1670unmJRz6ArDgN+DBK1a0+rbnNWp4DUB5rPMwqD5ZP6YHl9KK1mbZRg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/rawlist@4.1.3': + resolution: {integrity: sha512-7XrV//6kwYumNDSsvJIPeAqa8+p7GJh7H5kRuxirct2cgOcSWwwNGoXDRgpNFbY/MG2vQ4ccIWCi8+IXXyFMZA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/search@3.0.15': + resolution: {integrity: sha512-YBMwPxYBrADqyvP4nNItpwkBnGGglAvCLVW8u4pRmmvOsHUtCAUIMbUrLX5B3tFL1/WsLGdQ2HNzkqswMs5Uaw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/select@2.5.0': + resolution: {integrity: sha512-YmDobTItPP3WcEI86GvPo+T2sRHkxxOq/kXmsBjHS5BVXUgvgZ5AfJjkvQvZr03T81NnI3KrrRuMzeuYUQRFOA==} + engines: {node: '>=18'} + + '@inquirer/select@4.2.3': + resolution: {integrity: sha512-OAGhXU0Cvh0PhLz9xTF/kx6g6x+sP+PcyTiLvCrewI99P3BBeexD+VbuwkNDvqGkk3y2h5ZiWLeRP7BFlhkUDg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/testing@2.1.47': + resolution: {integrity: sha512-hcMbU8XjIZeeWp6nojSCZ59DEaFy7nO2K0h6Plqg2WJDkt4XZ0kzwVbLF3aEgw4+DlNBNhE73xCWfpKp7DhRyg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/type@1.5.5': + resolution: {integrity: sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==} + engines: {node: '>=18'} + + '@inquirer/type@2.0.0': + resolution: {integrity: sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==} + engines: {node: '>=18'} + + '@inquirer/type@3.0.7': + resolution: {integrity: sha512-PfunHQcjwnju84L+ycmcMKB/pTPIngjUJvfnRhKY6FKPuYXlM4aQCb/nIdTFR6BEhMjFvngzvng/vBAJMZpLSA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@irys/arweave@0.0.2': + resolution: {integrity: sha512-ddE5h4qXbl0xfGlxrtBIwzflaxZUDlDs43TuT0u1OMfyobHul4AA1VEX72Rpzw2bOh4vzoytSqA1jCM7x9YtHg==} + + '@irys/bundles@0.0.1': + resolution: {integrity: sha512-yeQNzElERksFbfbNxJQsMkhtkI3+tNqIMZ/Wwxh76NVBmCnCP5huefOv7ET0MOO7TEQL+TqvKSqmFklYSvTyHw==} + + '@irys/bundles@0.0.3': + resolution: {integrity: sha512-zSorcWJO0W7WHBPaTF6C3FNig1ZrCSKIDqnkk91SLl9jcybz5bWmthUFL2D7ywzh1XV5tZQC09bkNJRcXeeGOA==} + + '@irys/query@0.0.9': + resolution: {integrity: sha512-uBIy8qeOQupUSBzR+1KU02JJXFp5Ue9l810PIbBF/ylUB8RTreUFkyyABZ7J3FUaOIXFYrT7WVFSJSzXM7P+8w==} + engines: {node: '>=16.10.0'} + + '@irys/upload-core@0.0.10': + resolution: {integrity: sha512-E7kCNSOTPqwBbnd2wnnklPrR0HtLnENmu5NVhgs+B9cUeyN9AcvzRDOJLKNmYS6q514bDwb/PUgB+vP/070now==} + + '@irys/upload-core@0.0.9': + resolution: {integrity: sha512-Ha4pX8jgYBA3dg5KHDPk+Am0QO+SmvnmgCwKa6uiDXZKuVr0neSx4V1OAHoP+As+j7yYgfChdsdrvsNzZGGehA==} + + '@irys/upload-solana@0.1.8': + resolution: {integrity: sha512-pJyG8uJ3NIpbIGDA9hYRHij5xF1DrU0QMa4i2mVJlYwbSdQfNdcJ8SdT4ZsrTh1g/+OWMzbo2l/ziMY1Js9HGA==} + + '@irys/upload@0.0.14': + resolution: {integrity: sha512-6XdkyS5cVINcPjv1MzA6jDsawfG7Bw6sq5wilNx5B4X7nNotBPC3SuRrZs06G/0BTUj15W+TRO/tZTDWRUfZzA==} + + '@irys/upload@0.0.15': + resolution: {integrity: sha512-VS1ieI8Hipv7F/odL2rDfn0S9VCwj3GFhROI8el0RjzpcaXCobezP0V4yuvppyB+E4Oiu6xQTXooaIBh/S7xPA==} + + '@irys/web-upload-solana@0.1.8': + resolution: {integrity: sha512-jzPihVOFbvTiJRwsWDOiip8CNk2I5TAkyZwWbkeFJQRvX95HOw1iI4KlbeBTDc6EJcyj8BWsxkMqIE/cBqlKoQ==} + + '@irys/web-upload@0.0.14': + resolution: {integrity: sha512-vBIslG2KSGyeJjZNTbSvLmGO/bbHS1jcDkD0A1aLgx7xkiTpfdbXOrn4hznPkzQhPtluX4aL44On0GXrEcD8eQ==} + + '@irys/web-upload@0.0.15': + resolution: {integrity: sha512-ajwy+CHEL+OH6UpO3dDT6xAK5XmJy2xK9Qb4aj+7uphSUczEiSxuSsO0sz/ekAgO/Ymwgkdozk3U1WAnUjbxMg==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + + '@keplr-wallet/common@0.12.237': + resolution: {integrity: sha512-ZIa0PnhdYSQxiimMbUIRJoF7U7Y/TkkPmLADzVWqcz+SjioS2GUvlTjXnwaizbxkOVEY8kzC1xKsEQP/HbNxVA==} + + '@keplr-wallet/cosmos@0.12.237': + resolution: {integrity: sha512-T5sdKj3TYgwEfY5XIZI2qEEA2WbnuXaJLn9gYM6LTbkny2DMxmhrj9OIoq92X3qHgGm5t539AYzxigvutdMQ4w==} + + '@keplr-wallet/crypto@0.12.237': + resolution: {integrity: sha512-H0O+A6qIhCgv3ZWxkfUoMZ7kBJJFS51xd273eOaaK2nztPtkpumT+Y0h/0899pCzeWTEbJ22lkZg7f/awElWow==} + peerDependencies: + bitcoinjs-lib: ^6 + starknet: ^6 + + '@keplr-wallet/proto-types@0.12.237': + resolution: {integrity: sha512-5uvCm9Nt7Y10VINqaOQiVwM625+dPv3uzBB2llasuaBjvZpNRXfNCT8lqqwok0WXY0M5fVsF+CH0Cxlrw+NLrA==} + + '@keplr-wallet/simple-fetch@0.12.237': + resolution: {integrity: sha512-NhBV5+hvFIEVSIdsPsJ+7ejc1JZOOwcinhJveFKhIPcLcQY4ftCl8cM+BmZZu6tuiw4qRkbRpUw6C5MkXNbkGg==} + + '@keplr-wallet/types@0.12.237': + resolution: {integrity: sha512-J94psRTTKhLhvPyGSUGL1xHjNAFLkcUmhr349ZNhtp3wSEX/5ybYQi1yv1ZN80M6BUjUaQLN5pfzglFynHDdyw==} + peerDependencies: + starknet: ^6 + + '@keplr-wallet/unit@0.12.237': + resolution: {integrity: sha512-6242z2khwVAREMKPiYkRP9arBw1HKlEjvkgqFo6e53x7irMvymTayRKVNma7GwFUyQmSIT7VfLVPwt0Ch0QxtQ==} + + '@kyvejs/sdk@1.4.5': + resolution: {integrity: sha512-eOrxvqAKz9xD5620awGWPc33tyhCGyi684qHQjQswVZUN5/pNNRxOet6gL0K41t0OEMaRmjpWf2oSigHam7Mgw==} + + '@kyvejs/types@1.5.0': + resolution: {integrity: sha512-UTetmRef566kECBXyGRUmcdHvK2FI04YiS2c910pAMSZI6HmgU+cdNqzQBa+8ei6gguyemYIhf1aEJI7klqJjQ==} + + '@ledgerhq/devices@8.4.5': + resolution: {integrity: sha512-wzfX7JRfTPXJl+4BUXxwUFUGghtqQA6V1I6xNxGfXKHjd51rjijL+9xcfZ1oj66dNNm9wiCBBZhMXXusYDUjWg==} + + '@ledgerhq/errors@6.21.0': + resolution: {integrity: sha512-2k5veG9eu+1X5oBVhKSWzA6RE+TWOTSJnytjEhPBTZB6h2ixMrCUMWF5+OAWXiI1EiSNsvGGk19XO87qpZiVTw==} + + '@ledgerhq/hw-app-solana@7.4.1': + resolution: {integrity: sha512-XOALs8TJ7eqKrJCNCMFv7zu8EBV89QZjFvESJyr9aP9NPB4ogTdWo4AVwsu2Z7SoKW5CAfJhCDzn5d9L1ilsOg==} + + '@ledgerhq/hw-transport-node-hid-noevents@6.30.6': + resolution: {integrity: sha512-k94aZzypHZpT5PfTcHLxi1WMZ99OySamFQMcNT3lDhLdQvKDBi3M1+DNMFq0WwRy352yokTy5dTZGZL9nMxjcg==} + + '@ledgerhq/hw-transport-node-hid-singleton@6.31.6': + resolution: {integrity: sha512-2ZqYIRGuVTzAmyM/sc5aQneiJCz8CPjCiZdklSV1huKbQyF2uFuHLwMrXK4cqiErAcgyliO/1ZCxz3i2z/Hgmw==} + + '@ledgerhq/hw-transport@6.31.5': + resolution: {integrity: sha512-P7nyHU2EnotdWfN9XUKvCw4sllbERNmzb7ruyljqyiBuUfdDvzLJVFgVhu6j+8Y9cGxPysf3i3QtImFsZwKkdQ==} + + '@ledgerhq/logs@6.12.0': + resolution: {integrity: sha512-ExDoj1QV5eC6TEbMdLUMMk9cfvNKhhv5gXol4SmULRVCx/3iyCPhJ74nsb3S0Vb+/f+XujBEj3vQn5+cwS0fNA==} + + '@metaplex-foundation/amman-client@0.2.4': + resolution: {integrity: sha512-AB2zKDrGyJtQqUmOswsZCflIuldYmsPvL/zIU/66JOD9HDo8yyz5ITCrs+/0QoW+CIJkotC5JEhuYuBnqLhmNw==} + + '@metaplex-foundation/amman@0.12.1': + resolution: {integrity: sha512-F3cdHr11ByLGMCrSBRvRCf5uIlhLE+5sWaHT2ZzcE6zVyDta3gs/A12ZBzYZS8ugNETNpJySfB42kMp1VZwbUA==} + hasBin: true + + '@metaplex-foundation/cusper@0.0.2': + resolution: {integrity: sha512-S9RulC2fFCFOQraz61bij+5YCHhSO9llJegK8c8Y6731fSi6snUSQJdCUqYS8AIgR0TKbQvdvgSyIIdbDFZbBA==} + + '@metaplex-foundation/digital-asset-standard-api@1.0.6': + resolution: {integrity: sha512-lgequ4N69A7QQjyVt0ViqdeXrnviihXZR+Y9rzAD79JtM3NdbKJ3/BTASgYdCm8oAsVBeLw1Wbf5NjCYdfgS8w==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.2 <= 1' + + '@metaplex-foundation/digital-asset-standard-api@2.0.0': + resolution: {integrity: sha512-CnFN7epCwNcei+OzDvIg7KpTcB+O827YKomdjKEl72LF/DHfDMXqpbnXf2qsIF4iGaBEOviwxkjUwbXIDLpAxQ==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.2 <= 1' + + '@metaplex-foundation/genesis@0.14.0': + resolution: {integrity: sha512-C6bkvPta+Bx673FEBWungWP51YafR9r/yoyqduPyYFu6RtAoxWfEhyJqKymjDvizStwuVrx2SVbitH52TIFhPA==} + peerDependencies: + '@metaplex-foundation/umi': ^1.4.1 + + '@metaplex-foundation/mpl-account-compression@0.0.1': + resolution: {integrity: sha512-bzuftabEduBPBzib9b7NESsX051bREOnhrKSl7ZIQ32+68lxcqQCXg7ChB1F+iJ/Nzfij5HtFL+ersbb2B3wkg==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.9 <= 1' + + '@metaplex-foundation/mpl-bubblegum@5.0.2': + resolution: {integrity: sha512-VRkXf9FNRo2Dm1wsiNEn9xW039PjHA757z2Q2H4DwwmI5z/+iKVDNPux6NZPgMg8BJZfUq6nlOlOC/Ipcra5oA==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.9 <= 2.0.0' + + '@metaplex-foundation/mpl-core-candy-machine@0.3.0': + resolution: {integrity: sha512-J2eo6aggZ0BrKyJ6qusEfANM7eSsGzneyLTp/KxfcxUTI0etzdAbivj+cBzTLYVzTC/lHNyvSDA3J96lYwFaSA==} + peerDependencies: + '@metaplex-foundation/mpl-core': '>= 0.4.7' + '@metaplex-foundation/umi': '>= 0.8.2 <= 1' + + '@metaplex-foundation/mpl-core@1.4.0': + resolution: {integrity: sha512-XRvodR0KJokqcfw+wZjpar3lb6Rmf/8eAUpM4QFpSQTCanexdsrLd/Ol1zfPZ2VDYOgUh641LUHxcnGx0zvLUA==} + peerDependencies: + '@metaplex-foundation/umi': '>=0.8.2 <= 1.0' + '@noble/hashes': ^1.3.1 + + '@metaplex-foundation/mpl-distro@0.3.4': + resolution: {integrity: sha512-gVZNyLE7R39F+LpozGavHIREJ7JB5thxiYGS0vBx6PoLxdmnjLvTpKDSmuveT8SfneFqYcZKrmGclwlSVMh9ow==} + peerDependencies: + '@metaplex-foundation/mpl-core': '>=1.3.0' + '@metaplex-foundation/mpl-toolbox': ^0.10.0 + '@metaplex-foundation/umi': '>=1.1.1' + + '@metaplex-foundation/mpl-token-metadata@3.0.0-alpha.27': + resolution: {integrity: sha512-MSERz5HB2XZ/K+FOMh0tPeqcZZEpGVzdy7e+Cy3MHg7x52JtbGBDtWIoxBJn1OBZayCBfX9gytEoqrXe2YRGqQ==} + peerDependencies: + '@metaplex-foundation/umi': ^0.8.2 + + '@metaplex-foundation/mpl-token-metadata@3.2.1': + resolution: {integrity: sha512-26W1NhQwDWmLOg/pBRYut7x/vEs/5kFS2sWVEY5/X0f2jJOLhnd4NaZQcq+5u+XZsXvm1jq2AtrRGPNK43oqWQ==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.2 < 1' + + '@metaplex-foundation/mpl-token-metadata@3.4.0': + resolution: {integrity: sha512-AxBAYCK73JWxY3g9//z/C9krkR0t1orXZDknUPS4+GjwGH2vgPfsk04yfZ31Htka2AdS9YE/3wH7sMUBHKn9Rg==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.2 <= 1' + + '@metaplex-foundation/mpl-toolbox@0.10.0': + resolution: {integrity: sha512-84KD1L5cFyw5xnntHwL4uPwfcrkKSiwuDeypiVr92qCUFuF3ZENa2zlFVPu+pQcjTlod2LmEX3MhBmNjRMpdKg==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.2 <= 1' + + '@metaplex-foundation/mpl-toolbox@0.9.4': + resolution: {integrity: sha512-fd6JxfoLbj/MM8FG2x91KYVy1U6AjBQw4qjt7+Da3trzQaWnSaYHDcYRG/53xqfvZ9qofY1T2t53GXPlD87lnQ==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.2 < 1' + + '@metaplex-foundation/spl-account-compression@0.0.1': + resolution: {integrity: sha512-gX6E7NUPm4Bi6nE9fn9AR2iH25x12FcZSW6NXK9BV98m+ffIyTX00reLHltPZq7BHjpWftQLLxISetpWjBKksg==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.9 <= 1' + + '@metaplex-foundation/umi-bundle-defaults@1.0.0': + resolution: {integrity: sha512-Z8Ah4vJNkO5/sDvtG49kULNdGskaGYfJSygA9p061zG8BztML1okBkx0QZG/TM0fB0cMI8w5cwTd1O5gT64+Kg==} + peerDependencies: + '@metaplex-foundation/umi': ^1.0.0 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-downloader-http@1.2.0': + resolution: {integrity: sha512-voEu9BFePmPGkucZCIVDOGkkvBMuzkeHjkvmSP3E2i0YT5299HryR8sr7i9G4uNwKF/FIVdTw1qQnW61cpS2qQ==} + peerDependencies: + '@metaplex-foundation/umi': ^1.2.0 + + '@metaplex-foundation/umi-eddsa-web3js@1.1.1': + resolution: {integrity: sha512-rL22HATY7W02DqJLdBKZ8jedhMtd7iKReIFNPXLGnVeUpDwxXaqWPySZxZ+2TjY6f+Idoq2g2TpPCUGND/iOeA==} + peerDependencies: + '@metaplex-foundation/umi': 1.1.1 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-http-fetch@1.2.0': + resolution: {integrity: sha512-rbM97PPCAmjbR90wnSCTxJFkCUIKR++gS5lIm+ZNZ96XrjvOrFURZpSYloyDGvXRNgF44eTYWDYIDLy5zmI2JQ==} + peerDependencies: + '@metaplex-foundation/umi': ^1.2.0 + + '@metaplex-foundation/umi-options@1.4.1': + resolution: {integrity: sha512-+36Sm16a9GFlheAnqIjsi5lV7+9J9/lhYOcwXK9bkRARucA9evT/dajmpXHUkPOi3JjlVbl3knWvcPkbhyP2Og==} + + '@metaplex-foundation/umi-program-repository@1.2.0': + resolution: {integrity: sha512-mbsE0BPmqv3cMfk/jn+EKoUDJHbUieFcp8o2eRSkVBJhjXqkfLJgJ8s3koBn8vv5mcmavEBDqPYNqJQs93je0g==} + peerDependencies: + '@metaplex-foundation/umi': ^1.2.0 + + '@metaplex-foundation/umi-public-keys@1.4.1': + resolution: {integrity: sha512-UB+MVzK8GIMLYS7qgtl7Qr5fUW36EelUk2VA/VyQJZb2rlQYZu08/whc75uwGhPX2Mr67NzVSoSTkTpUb29zrg==} + + '@metaplex-foundation/umi-rpc-chunk-get-accounts@1.2.0': + resolution: {integrity: sha512-j5eSFmilDxIjw/uudZh6cvwIpwwp1vjW0XBFB7SLCDzsAHn4SaEq2j+Xwn3cvjKLBB0haJqHlMG9x35gXqBkqg==} + peerDependencies: + '@metaplex-foundation/umi': ^1.2.0 + + '@metaplex-foundation/umi-rpc-web3js@1.2.0': + resolution: {integrity: sha512-nMWJA/v8gnhA3D2iBHSHWyS02YAL9zIhE8gxWufk56GY1fTo/jBp8HQrxI4PZH0E8A1fGnBZSU0SkL4lRm7Ljw==} + peerDependencies: + '@metaplex-foundation/umi': ^1.2.0 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-serializer-data-view@1.2.0': + resolution: {integrity: sha512-3w9WQzfrq851cIyvzcbEslJEL4oah3r/9Y/A2zyUwCsri5/3s/G0CcHgHPaS6/cvpyYybqBJjyJKMcGiVxzs8Q==} + peerDependencies: + '@metaplex-foundation/umi': ^1.2.0 + + '@metaplex-foundation/umi-serializers-core@1.4.1': + resolution: {integrity: sha512-xLI2ZEFJYoVdlQQMeKNLBsi56qQ2xC7htWDa30gqw/hhuMy3W82MtgLiK/3tU96MNi86TKSNVOdXmY815/QJsg==} + + '@metaplex-foundation/umi-serializers-encodings@1.4.1': + resolution: {integrity: sha512-KnIp8T3mSMoDI5gmLre6UZMZpBVZ5tpZsAaLLfuiSfRolUsBLo90gmXJWwUWWZihhcvaN0xMdyx+k1KK+nwK9Q==} + + '@metaplex-foundation/umi-serializers-numbers@1.4.1': + resolution: {integrity: sha512-vk5f6QTdudXJDyyZAO7IDNiGRkF70nLdx4LBCvstbmTv2535HinV06R1mBRA9dx20D6SxRASdw33BH3mAYPfbQ==} + + '@metaplex-foundation/umi-serializers@1.4.1': + resolution: {integrity: sha512-DnuTBS+6Ycjaz1BsOKmUZCJcdyJooIpiJ5gy/snhmh8YKDAZuxezBqRzKSR/pKPXieURbL/UPCdJ6a9OFCjcYQ==} + + '@metaplex-foundation/umi-signer-wallet-adapters@1.0.0': + resolution: {integrity: sha512-MlfG5jE8z9jDOqlpFAlVYEOJi7PdmzSUZ+ZmwAfqxxx1m48TxgnIckK2sk9zz4/P3raoRLF25IUaVsXu95dL3A==} + peerDependencies: + '@metaplex-foundation/umi': ^1.0.0 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-transaction-factory-web3js@1.2.0': + resolution: {integrity: sha512-CDpx6KSYOEonWsHJEVUfZTzu3g0ElclUNgeAXhLyKzimS1fd7FvAkbFom6egQz6ZPuqGv/5ZTHQv37UxoGy+Zg==} + peerDependencies: + '@metaplex-foundation/umi': ^1.2.0 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-uploader-irys@1.0.1': + resolution: {integrity: sha512-mnmUks1Kakxpdx0uOke9F17WsSLX0900RrrVU+MKKlIiqn+9q2aJbAgQCf2tb7CSmjX3jxq/b8l8y53TUlXFjg==} + peerDependencies: + '@metaplex-foundation/umi': ^1.0.0 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-web3js-adapters@1.1.1': + resolution: {integrity: sha512-UXP2aY3ce59nSxsVJ4sFLtGCHpesqLTxTag2yI6grCXe0dEz+1kONMn0XFRLcYgiSKOcptJSoJWbILlHnUsWDg==} + peerDependencies: + '@metaplex-foundation/umi': 1.1.1 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-web3js-adapters@1.2.0': + resolution: {integrity: sha512-kKfsva8aoHTZXHbet6U/dV/va+hSFoVpqLiKFoUg3HV2Cp5IgdLXo2PH4/iN6AlE+S+a0S3+jt/7gat2rsskuw==} + peerDependencies: + '@metaplex-foundation/umi': ^1.2.0 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi@1.4.1': + resolution: {integrity: sha512-GGdmKsZq8nGInhjk8jpW4h4pNX8eZgTChnosvBmX/4lTznu+nOJuIsgO9r7LuUkR8zaSfjUheC/T5e7AtRku+g==} + + '@msgpack/msgpack@3.1.2': + resolution: {integrity: sha512-JEW4DEtBzfe8HvUYecLU9e6+XJnKDlUAIve8FvPzF3Kzs6Xo/KuZkZJsDH0wJXl/qEZbeeE7edxDNY3kMs39hQ==} + engines: {node: '>= 18'} + + '@napi-rs/wasm-runtime@0.2.10': + resolution: {integrity: sha512-bCsCyeZEwVErsGmyPNSzwfwFn4OdxBj0mmv6hOFucB/k81Ojdu68RbZdxYsRQUPc9l6SU5F/cG+bXgWs3oUgsQ==} + + '@noble/curves@1.2.0': + resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} + + '@noble/curves@1.4.2': + resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} + + '@noble/curves@1.7.0': + resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} + engines: {node: ^14.21.3 || >=16} + + '@noble/curves@1.9.1': + resolution: {integrity: sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==} + engines: {node: ^14.21.3 || >=16} + + '@noble/ed25519@1.7.5': + resolution: {integrity: sha512-xuS0nwRMQBvSxDa7UxMb61xTiH3MxTgUfhyPUALVIe0FlOAz4sjELwyDRyUvqeEYfRSG9qNjFIycqLZppg4RSA==} + + '@noble/hashes@1.3.2': + resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} + engines: {node: '>= 16'} + + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + + '@noble/hashes@1.6.0': + resolution: {integrity: sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.8.0': + resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} + engines: {node: ^14.21.3 || >=16} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@nolyfill/is-core-module@1.0.39': + resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} + engines: {node: '>=12.4.0'} + + '@oclif/core@4.3.0': + resolution: {integrity: sha512-lIzHY+JMP6evrS5E/sGijNnwrCoNtGy8703jWXcMuPOYKiFhWoAqnIm1BGgoRgmxczkbSfRsHUL/lwsSgh74Lw==} + engines: {node: '>=18.0.0'} + + '@oclif/plugin-autocomplete@3.2.29': + resolution: {integrity: sha512-uQqcT4yVDqj4e/AAF+E2wT3A/QAbbPh/ov9lBhLCFB5GFJR3ixOMUFdZg7yQua5VjfvvnNSWkE879wdM4k+rGw==} + engines: {node: '>=18.0.0'} + + '@oclif/plugin-commands@4.1.25': + resolution: {integrity: sha512-re6r+wOn4g/j8aVsNPVlgpCX/eUHId4bFFYFNZNZTNdEAyZxZaxQ+W2kVts1BgR6ltWPUjDcx/m1zS3n6KTD4Q==} + engines: {node: '>=18.0.0'} + + '@oclif/plugin-help@6.2.28': + resolution: {integrity: sha512-eFLP2yjiK+xMRGcv9k9jOWV08HB+/Cgg1ND91zS4Uwgp1krMoL39Is+hIqnZOKkmiEMtiv8k5EDqCVv+DTRywg==} + engines: {node: '>=18.0.0'} + + '@oclif/plugin-not-found@3.2.54': + resolution: {integrity: sha512-5UARYjv91+aD30XaSw9vb6IgOvMMNA7DlnHVyt+u2OkK8TlyBflpaasvC7xSLnP+DKDQIgxTuGqJI/ZbcNAFxQ==} + engines: {node: '>=18.0.0'} + + '@oclif/plugin-plugins@5.4.38': + resolution: {integrity: sha512-tsohAIgtQRYb35G0W2QdubkNfc1Re+LtNujAomHBvz8wfWqPnwtnWGHob79/yxOV1j9R51AHZIuQ35gSdq39Ng==} + engines: {node: '>=18.0.0'} + + '@oclif/plugin-version@2.2.28': + resolution: {integrity: sha512-nzLzHcs8KkNexQJcWsAq5fuGPXVMIwIRTgQbMhJy5okZMvLxREb7V8ZiDPN+NHXOqUYtDDhTsN+tJx0XttvJJA==} + engines: {node: '>=18.0.0'} + + '@oclif/plugin-warn-if-update-available@3.1.40': + resolution: {integrity: sha512-k5FBGxjXsSj56075MFVx5I9MAJa082evyPqLUBOjXL9w91q3k/89U+kTCfFNTQga8DykxhMP/7UTuDFV+d/Dhg==} + engines: {node: '>=18.0.0'} + + '@oclif/prettier-config@0.2.1': + resolution: {integrity: sha512-XB8kwQj8zynXjIIWRm+6gO/r8Qft2xKtwBMSmq1JRqtA6TpwpqECqiu8LosBCyg2JBXuUy2lU23/L98KIR7FrQ==} + + '@oclif/table@0.4.8': + resolution: {integrity: sha512-HgyeNTyUF67OQ2eOCFia0mfxyPFcPwa8sIq1SiiZf8oxw6JtUciWGXb0cmmo5vnbxRJ3er0PHLwMV0/hBG6NWw==} + engines: {node: '>=18.0.0'} + + '@oclif/test@4.1.13': + resolution: {integrity: sha512-pulrTiJRhoAKizFf6y5WeHvM2JyoRiZKV0H8qqYEoE0UHDKqInNmfGJyp8Ip6lTVQeMv1U8YCAXOS/HiWPVWeg==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@oclif/core': '>= 3.0.0' + + '@permaweb/ao-scheduler-utils@0.0.25': + resolution: {integrity: sha512-b0UYSTgnLMIYLScrfNBgcqK7ZMmd78L3J0Jz4RIsIq2P5PtkdRqQ7fYqLlltg7bD1f3dvl4TkO1925ED4ei7LA==} + engines: {node: '>=18'} + + '@permaweb/aoconnect@0.0.57': + resolution: {integrity: sha512-l1+47cZuQ8pOIMOdRXymcegCmefXjqR8Bc2MY6jIzWv9old/tG6mfCue2W1QviGyhjP3zEVQgr7YofkY2lq35Q==} + engines: {node: '>=18', yarn: please-use-npm} + + '@pnpm/config.env-replace@1.1.0': + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + + '@pnpm/network.ca-file@1.0.2': + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + + '@pnpm/npm-conf@2.3.1': + resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} + engines: {node: '>=12'} + + '@protobufjs/aspromise@1.1.2': + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + + '@protobufjs/base64@1.1.2': + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + + '@protobufjs/codegen@2.0.4': + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + + '@protobufjs/eventemitter@1.1.0': + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + + '@protobufjs/fetch@1.1.0': + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + + '@protobufjs/float@1.0.2': + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + + '@protobufjs/inquire@1.1.0': + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + + '@protobufjs/path@1.1.2': + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + + '@protobufjs/pool@1.1.0': + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + + '@protobufjs/utf8@1.1.0': + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + + '@randlabs/communication-bridge@1.0.1': + resolution: {integrity: sha512-CzS0U8IFfXNK7QaJFE4pjbxDGfPjbXBEsEaCn9FN15F+ouSAEUQkva3Gl66hrkBZOGexKFEWMwUHIDKpZ2hfVg==} + + '@randlabs/myalgo-connect@1.4.2': + resolution: {integrity: sha512-K9hEyUi7G8tqOp7kWIALJLVbGCByhilcy6123WfcorxWwiE1sbQupPyIU5f3YdQK6wMjBsyTWiLW52ZBMp7sXA==} + + '@rtsao/scc@1.1.0': + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + + '@scure/base@1.1.9': + resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} + + '@scure/base@1.2.1': + resolution: {integrity: sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==} + + '@scure/bip32@1.4.0': + resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} + + '@scure/bip39@1.3.0': + resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} + + '@scure/starknet@1.1.0': + resolution: {integrity: sha512-83g3M6Ix2qRsPN4wqLDqiRZ2GBNbjVWfboJE/9UjfG+MHr6oDSu/CWgy8hsBSJejr09DkkL+l0Ze4KVrlCIdtQ==} + + '@sideway/address@4.1.5': + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + + '@sideway/formula@3.0.1': + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + + '@sideway/pinpoint@2.0.0': + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + + '@sindresorhus/is@5.6.0': + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} + + '@smithy/abort-controller@4.0.4': + resolution: {integrity: sha512-gJnEjZMvigPDQWHrW3oPrFhQtkrgqBkyjj3pCIdF3A5M6vsZODG93KNlfJprv6bp4245bdT32fsHK4kkH3KYDA==} + engines: {node: '>=18.0.0'} + + '@smithy/chunked-blob-reader-native@4.0.0': + resolution: {integrity: sha512-R9wM2yPmfEMsUmlMlIgSzOyICs0x9uu7UTHoccMyt7BWw8shcGM8HqB355+BZCPBcySvbTYMs62EgEQkNxz2ig==} + engines: {node: '>=18.0.0'} + + '@smithy/chunked-blob-reader@5.0.0': + resolution: {integrity: sha512-+sKqDBQqb036hh4NPaUiEkYFkTUGYzRsn3EuFhyfQfMy6oGHEUJDurLP9Ufb5dasr/XiAmPNMr6wa9afjQB+Gw==} + engines: {node: '>=18.0.0'} + + '@smithy/config-resolver@4.1.4': + resolution: {integrity: sha512-prmU+rDddxHOH0oNcwemL+SwnzcG65sBF2yXRO7aeXIn/xTlq2pX7JLVbkBnVLowHLg4/OL4+jBmv9hVrVGS+w==} + engines: {node: '>=18.0.0'} + + '@smithy/core@3.5.1': + resolution: {integrity: sha512-xSw7bZEFKwOKrm/iv8e2BLt2ur98YZdrRD6nII8ditQeUsY2Q1JmIQ0rpILOhaLKYxxG2ivnoOpokzr9qLyDWA==} + engines: {node: '>=18.0.0'} + + '@smithy/credential-provider-imds@4.0.6': + resolution: {integrity: sha512-hKMWcANhUiNbCJouYkZ9V3+/Qf9pteR1dnwgdyzR09R4ODEYx8BbUysHwRSyex4rZ9zapddZhLFTnT4ZijR4pw==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-codec@4.0.4': + resolution: {integrity: sha512-7XoWfZqWb/QoR/rAU4VSi0mWnO2vu9/ltS6JZ5ZSZv0eovLVfDfu0/AX4ub33RsJTOth3TiFWSHS5YdztvFnig==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-browser@4.0.4': + resolution: {integrity: sha512-3fb/9SYaYqbpy/z/H3yIi0bYKyAa89y6xPmIqwr2vQiUT2St+avRt8UKwsWt9fEdEasc5d/V+QjrviRaX1JRFA==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-config-resolver@4.1.2': + resolution: {integrity: sha512-JGtambizrWP50xHgbzZI04IWU7LdI0nh/wGbqH3sJesYToMi2j/DcoElqyOcqEIG/D4tNyxgRuaqBXWE3zOFhQ==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-node@4.0.4': + resolution: {integrity: sha512-RD6UwNZ5zISpOWPuhVgRz60GkSIp0dy1fuZmj4RYmqLVRtejFqQ16WmfYDdoSoAjlp1LX+FnZo+/hkdmyyGZ1w==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-universal@4.0.4': + resolution: {integrity: sha512-UeJpOmLGhq1SLox79QWw/0n2PFX+oPRE1ZyRMxPIaFEfCqWaqpB7BU9C8kpPOGEhLF7AwEqfFbtwNxGy4ReENA==} + engines: {node: '>=18.0.0'} + + '@smithy/fetch-http-handler@5.0.4': + resolution: {integrity: sha512-AMtBR5pHppYMVD7z7G+OlHHAcgAN7v0kVKEpHuTO4Gb199Gowh0taYi9oDStFeUhetkeP55JLSVlTW1n9rFtUw==} + engines: {node: '>=18.0.0'} + + '@smithy/hash-blob-browser@4.0.4': + resolution: {integrity: sha512-WszRiACJiQV3QG6XMV44i5YWlkrlsM5Yxgz4jvsksuu7LDXA6wAtypfPajtNTadzpJy3KyJPoWehYpmZGKUFIQ==} + engines: {node: '>=18.0.0'} + + '@smithy/hash-node@4.0.4': + resolution: {integrity: sha512-qnbTPUhCVnCgBp4z4BUJUhOEkVwxiEi1cyFM+Zj6o+aY8OFGxUQleKWq8ltgp3dujuhXojIvJWdoqpm6dVO3lQ==} + engines: {node: '>=18.0.0'} + + '@smithy/hash-stream-node@4.0.4': + resolution: {integrity: sha512-wHo0d8GXyVmpmMh/qOR0R7Y46/G1y6OR8U+bSTB4ppEzRxd1xVAQ9xOE9hOc0bSjhz0ujCPAbfNLkLrpa6cevg==} + engines: {node: '>=18.0.0'} + + '@smithy/invalid-dependency@4.0.4': + resolution: {integrity: sha512-bNYMi7WKTJHu0gn26wg8OscncTt1t2b8KcsZxvOv56XA6cyXtOAAAaNP7+m45xfppXfOatXF3Sb1MNsLUgVLTw==} + engines: {node: '>=18.0.0'} + + '@smithy/is-array-buffer@2.2.0': + resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + engines: {node: '>=14.0.0'} + + '@smithy/is-array-buffer@4.0.0': + resolution: {integrity: sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==} + engines: {node: '>=18.0.0'} + + '@smithy/md5-js@4.0.4': + resolution: {integrity: sha512-uGLBVqcOwrLvGh/v/jw423yWHq/ofUGK1W31M2TNspLQbUV1Va0F5kTxtirkoHawODAZcjXTSGi7JwbnPcDPJg==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-content-length@4.0.4': + resolution: {integrity: sha512-F7gDyfI2BB1Kc+4M6rpuOLne5LOcEknH1n6UQB69qv+HucXBR1rkzXBnQTB2q46sFy1PM/zuSJOB532yc8bg3w==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-endpoint@4.1.9': + resolution: {integrity: sha512-AjDgX4UjORLltD/LZCBQTwjQqEfyrx/GeDTHcYLzIgf87pIT70tMWnN87NQpJru1K4ITirY2htSOxNECZJCBOg==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-retry@4.1.10': + resolution: {integrity: sha512-RyhcA3sZIIvAo6r48b2Nx2qfg0OnyohlaV0fw415xrQyx5HQ2bvHl9vs/WBiDXIP49mCfws5wX4308c9Pi/isw==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-serde@4.0.8': + resolution: {integrity: sha512-iSSl7HJoJaGyMIoNn2B7czghOVwJ9nD7TMvLhMWeSB5vt0TnEYyRRqPJu/TqW76WScaNvYYB8nRoiBHR9S1Ddw==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-stack@4.0.4': + resolution: {integrity: sha512-kagK5ggDrBUCCzI93ft6DjteNSfY8Ulr83UtySog/h09lTIOAJ/xUSObutanlPT0nhoHAkpmW9V5K8oPyLh+QA==} + engines: {node: '>=18.0.0'} + + '@smithy/node-config-provider@4.1.3': + resolution: {integrity: sha512-HGHQr2s59qaU1lrVH6MbLlmOBxadtzTsoO4c+bF5asdgVik3I8o7JIOzoeqWc5MjVa+vD36/LWE0iXKpNqooRw==} + engines: {node: '>=18.0.0'} + + '@smithy/node-http-handler@4.0.6': + resolution: {integrity: sha512-NqbmSz7AW2rvw4kXhKGrYTiJVDHnMsFnX4i+/FzcZAfbOBauPYs2ekuECkSbtqaxETLLTu9Rl/ex6+I2BKErPA==} + engines: {node: '>=18.0.0'} + + '@smithy/property-provider@4.0.4': + resolution: {integrity: sha512-qHJ2sSgu4FqF4U/5UUp4DhXNmdTrgmoAai6oQiM+c5RZ/sbDwJ12qxB1M6FnP+Tn/ggkPZf9ccn4jqKSINaquw==} + engines: {node: '>=18.0.0'} + + '@smithy/protocol-http@5.1.2': + resolution: {integrity: sha512-rOG5cNLBXovxIrICSBm95dLqzfvxjEmuZx4KK3hWwPFHGdW3lxY0fZNXfv2zebfRO7sJZ5pKJYHScsqopeIWtQ==} + engines: {node: '>=18.0.0'} + + '@smithy/querystring-builder@4.0.4': + resolution: {integrity: sha512-SwREZcDnEYoh9tLNgMbpop+UTGq44Hl9tdj3rf+yeLcfH7+J8OXEBaMc2kDxtyRHu8BhSg9ADEx0gFHvpJgU8w==} + engines: {node: '>=18.0.0'} + + '@smithy/querystring-parser@4.0.4': + resolution: {integrity: sha512-6yZf53i/qB8gRHH/l2ZwUG5xgkPgQF15/KxH0DdXMDHjesA9MeZje/853ifkSY0x4m5S+dfDZ+c4x439PF0M2w==} + engines: {node: '>=18.0.0'} + + '@smithy/service-error-classification@4.0.5': + resolution: {integrity: sha512-LvcfhrnCBvCmTee81pRlh1F39yTS/+kYleVeLCwNtkY8wtGg8V/ca9rbZZvYIl8OjlMtL6KIjaiL/lgVqHD2nA==} + engines: {node: '>=18.0.0'} + + '@smithy/shared-ini-file-loader@4.0.4': + resolution: {integrity: sha512-63X0260LoFBjrHifPDs+nM9tV0VMkOTl4JRMYNuKh/f5PauSjowTfvF3LogfkWdcPoxsA9UjqEOgjeYIbhb7Nw==} + engines: {node: '>=18.0.0'} + + '@smithy/signature-v4@5.1.2': + resolution: {integrity: sha512-d3+U/VpX7a60seHziWnVZOHuEgJlclufjkS6zhXvxcJgkJq4UWdH5eOBLzHRMx6gXjsdT9h6lfpmLzbrdupHgQ==} + engines: {node: '>=18.0.0'} + + '@smithy/smithy-client@4.4.1': + resolution: {integrity: sha512-XPbcHRfd0iwx8dY5XCBCGyI7uweMW0oezYezxXcG8ANgvZ5YPuC6Ylh+n0bTHpdU3SCMZOnhzgVklYz+p3fIhw==} + engines: {node: '>=18.0.0'} + + '@smithy/types@4.3.1': + resolution: {integrity: sha512-UqKOQBL2x6+HWl3P+3QqFD4ncKq0I8Nuz9QItGv5WuKuMHuuwlhvqcZCoXGfc+P1QmfJE7VieykoYYmrOoFJxA==} + engines: {node: '>=18.0.0'} + + '@smithy/url-parser@4.0.4': + resolution: {integrity: sha512-eMkc144MuN7B0TDA4U2fKs+BqczVbk3W+qIvcoCY6D1JY3hnAdCuhCZODC+GAeaxj0p6Jroz4+XMUn3PCxQQeQ==} + engines: {node: '>=18.0.0'} + + '@smithy/util-base64@4.0.0': + resolution: {integrity: sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-body-length-browser@4.0.0': + resolution: {integrity: sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==} + engines: {node: '>=18.0.0'} + + '@smithy/util-body-length-node@4.0.0': + resolution: {integrity: sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-buffer-from@2.2.0': + resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + engines: {node: '>=14.0.0'} + + '@smithy/util-buffer-from@4.0.0': + resolution: {integrity: sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==} + engines: {node: '>=18.0.0'} + + '@smithy/util-config-provider@4.0.0': + resolution: {integrity: sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==} + engines: {node: '>=18.0.0'} + + '@smithy/util-defaults-mode-browser@4.0.17': + resolution: {integrity: sha512-HXq5181qnXmIwB7VrwqwP8rsJybHMoYuJnNoXy4PROs2pfSI4sWDMASF2i+7Lo+u64Y6xowhegcdxczowgJtZg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-defaults-mode-node@4.0.17': + resolution: {integrity: sha512-RfU2A5LjFhEHw4Nwl1GZNitK4AUWu5jGtigAUDoQtfDUvYHpQxcuLw2QGAdKDtKRflIiHSZ8wXBDR36H9R2Ang==} + engines: {node: '>=18.0.0'} + + '@smithy/util-endpoints@3.0.6': + resolution: {integrity: sha512-YARl3tFL3WgPuLzljRUnrS2ngLiUtkwhQtj8PAL13XZSyUiNLQxwG3fBBq3QXFqGFUXepIN73pINp3y8c2nBmA==} + engines: {node: '>=18.0.0'} + + '@smithy/util-hex-encoding@4.0.0': + resolution: {integrity: sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==} + engines: {node: '>=18.0.0'} + + '@smithy/util-middleware@4.0.4': + resolution: {integrity: sha512-9MLKmkBmf4PRb0ONJikCbCwORACcil6gUWojwARCClT7RmLzF04hUR4WdRprIXal7XVyrddadYNfp2eF3nrvtQ==} + engines: {node: '>=18.0.0'} + + '@smithy/util-retry@4.0.5': + resolution: {integrity: sha512-V7MSjVDTlEt/plmOFBn1762Dyu5uqMrV2Pl2X0dYk4XvWfdWJNe9Bs5Bzb56wkCuiWjSfClVMGcsuKrGj7S/yg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-stream@4.2.2': + resolution: {integrity: sha512-aI+GLi7MJoVxg24/3J1ipwLoYzgkB4kUfogZfnslcYlynj3xsQ0e7vk4TnTro9hhsS5PvX1mwmkRqqHQjwcU7w==} + engines: {node: '>=18.0.0'} + + '@smithy/util-uri-escape@4.0.0': + resolution: {integrity: sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-utf8@2.3.0': + resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + engines: {node: '>=14.0.0'} + + '@smithy/util-utf8@4.0.0': + resolution: {integrity: sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==} + engines: {node: '>=18.0.0'} + + '@smithy/util-waiter@4.0.5': + resolution: {integrity: sha512-4QvC49HTteI1gfemu0I1syWovJgPvGn7CVUoN9ZFkdvr/cCFkrEL7qNCdx/2eICqDWEGnnr68oMdSIPCLAriSQ==} + engines: {node: '>=18.0.0'} + + '@socket.io/component-emitter@3.1.2': + resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} + + '@solana/buffer-layout-utils@0.2.0': + resolution: {integrity: sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==} + engines: {node: '>= 10'} + + '@solana/buffer-layout@4.0.1': + resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==} + engines: {node: '>=5.10'} + + '@solana/codecs-core@2.0.0-rc.1': + resolution: {integrity: sha512-bauxqMfSs8EHD0JKESaNmNuNvkvHSuN3bbWAF5RjOfDu2PugxHrvRebmYauvSumZ3cTfQ4HJJX6PG5rN852qyQ==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-core@2.1.1': + resolution: {integrity: sha512-iPQW3UZ2Vi7QFBo2r9tw0NubtH8EdrhhmZulx6lC8V5a+qjaxovtM/q/UW2BTNpqqHLfO0tIcLyBLrNH4HTWPg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/codecs-data-structures@2.0.0-rc.1': + resolution: {integrity: sha512-rinCv0RrAVJ9rE/rmaibWJQxMwC5lSaORSZuwjopSUE6T0nb/MVg6Z1siNCXhh/HFTOg0l8bNvZHgBcN/yvXog==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-numbers@2.0.0-rc.1': + resolution: {integrity: sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-numbers@2.1.1': + resolution: {integrity: sha512-m20IUPJhPUmPkHSlZ2iMAjJ7PaYUvlMtFhCQYzm9BEBSI6OCvXTG3GAPpAnSGRBfg5y+QNqqmKn4QHU3B6zzCQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/codecs-strings@2.0.0-rc.1': + resolution: {integrity: sha512-9/wPhw8TbGRTt6mHC4Zz1RqOnuPTqq1Nb4EyuvpZ39GW6O2t2Q7Q0XxiB3+BdoEjwA2XgPw6e2iRfvYgqty44g==} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + typescript: '>=5' + + '@solana/codecs@2.0.0-rc.1': + resolution: {integrity: sha512-qxoR7VybNJixV51L0G1RD2boZTcxmwUWnKCaJJExQ5qNKwbpSyDdWfFJfM5JhGyKe9DnPVOZB+JHWXnpbZBqrQ==} + peerDependencies: + typescript: '>=5' + + '@solana/errors@2.0.0-rc.1': + resolution: {integrity: sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ==} + hasBin: true + peerDependencies: + typescript: '>=5' + + '@solana/errors@2.1.1': + resolution: {integrity: sha512-sj6DaWNbSJFvLzT8UZoabMefQUfSW/8tXK7NTiagsDmh+Q87eyQDDC9L3z+mNmx9b6dEf6z660MOIplDD2nfEw==} + engines: {node: '>=20.18.0'} + hasBin: true + peerDependencies: + typescript: '>=5.3.3' + + '@solana/options@2.0.0-rc.1': + resolution: {integrity: sha512-mLUcR9mZ3qfHlmMnREdIFPf9dpMc/Bl66tLSOOWxw4ml5xMT2ohFn7WGqoKcu/UHkT9CrC6+amEdqCNvUqI7AA==} + peerDependencies: + typescript: '>=5' + + '@solana/spl-token-group@0.0.7': + resolution: {integrity: sha512-V1N/iX7Cr7H0uazWUT2uk27TMqlqedpXHRqqAbVO2gvmJyT0E0ummMEAVQeXZ05ZhQ/xF39DLSdBp90XebWEug==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + + '@solana/spl-token-metadata@0.1.6': + resolution: {integrity: sha512-7sMt1rsm/zQOQcUWllQX9mD2O6KhSAtY1hFR2hfFwgqfFWzSY9E9GDvFVNYUI1F0iQKcm6HmePU9QbKRXTEBiA==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + + '@solana/spl-token-registry@0.2.4574': + resolution: {integrity: sha512-JzlfZmke8Rxug20VT/VpI2XsXlsqMlcORIUivF+Yucj7tFi7A0dXG7h+2UnD0WaZJw8BrUz2ABNkUnv89vbv1A==} + engines: {node: '>=10'} + + '@solana/spl-token@0.2.0': + resolution: {integrity: sha512-RWcn31OXtdqIxmkzQfB2R+WpsJOVS6rKuvpxJFjvik2LyODd+WN58ZP3Rpjpro03fscGAkzlFuP3r42doRJgyQ==} + engines: {node: '>= 14'} + + '@solana/spl-token@0.4.13': + resolution: {integrity: sha512-cite/pYWQZZVvLbg5lsodSovbetK/eA24gaR0eeUeMuBAMNrT8XFCwaygKy0N2WSg3gSyjjNpIeAGBAKZaY/1w==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.5 + + '@solana/web3.js@1.98.2': + resolution: {integrity: sha512-BqVwEG+TaG2yCkBMbD3C4hdpustR4FpuUFRPUmqRZYYlPI9Hg4XMWxHWOWRzHE9Lkc9NDjzXFX7lDXSgzC7R1A==} + + '@starknet-io/types-js@0.7.10': + resolution: {integrity: sha512-1VtCqX4AHWJlRRSYGSn+4X1mqolI1Tdq62IwzoU2vUuEE72S1OlEeGhpvd6XsdqXcfHmVzYfj8k1XtKBQqwo9w==} + + '@supercharge/promise-pool@3.2.0': + resolution: {integrity: sha512-pj0cAALblTZBPtMltWOlZTQSLT07jIaFNeM8TWoJD1cQMgDB9mcMlVMoetiB35OzNJpqQ2b+QEtwiR9f20mADg==} + engines: {node: '>=8'} + + '@swc/helpers@0.5.17': + resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} + + '@szmarczak/http-timer@5.0.1': + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} + + '@tokenizer/inflate@0.2.7': + resolution: {integrity: sha512-MADQgmZT1eKjp06jpI2yozxaU9uVs4GzzgSL+uEq7bVcJ9V1ZXQkeGNql1fsSI0gMy1vhvNTNbUqrx+pZfJVmg==} + engines: {node: '>=18'} + + '@tokenizer/token@0.3.0': + resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} + + '@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==} + + '@tybys/wasm-util@0.9.0': + resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} + + '@types/async-retry@1.4.9': + resolution: {integrity: sha512-s1ciZQJzRh3708X/m3vPExr5KJlzlZJvXsKpbtE2luqNcbROr64qU+3KpJsYHqWMeaxI839OvXf9PrUSw1Xtyg==} + + '@types/bn.js@5.1.6': + resolution: {integrity: sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==} + + '@types/chai@4.3.20': + resolution: {integrity: sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==} + + '@types/cli-progress@3.11.6': + resolution: {integrity: sha512-cE3+jb9WRlu+uOSAugewNpITJDt1VF8dHOopPO4IABFc3SXYL5WE/+PTz/FCdZRRfIujiWW3n3aMbv1eIGVRWA==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/cors@2.8.18': + resolution: {integrity: sha512-nX3d0sxJW41CqQvfOzVG1NCTXfFDrDWIghCZncpHeWlVFd81zxB/DLhg7avFg6eHLCRX7ckBmoIIcqa++upvJA==} + + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/json5@0.0.29': + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + + '@types/long@4.0.2': + resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} + + '@types/mime-types@2.1.4': + resolution: {integrity: sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==} + + '@types/mocha@10.0.10': + resolution: {integrity: sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==} + + '@types/mute-stream@0.0.4': + resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} + + '@types/node-hid@1.3.4': + resolution: {integrity: sha512-0ootpsYetN9vjqkDSwm/cA4fk/9yGM/PO0X8SLPE/BzXlUaBelImMWMymtF9QEoEzxY0pnhcROIJM0CNSUqO8w==} + + '@types/node@10.12.18': + resolution: {integrity: sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==} + + '@types/node@12.20.55': + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + + '@types/node@18.19.108': + resolution: {integrity: sha512-JZv9uwGYYtfcsO7B99KszTlNhvrIWqsRy7Xjp5Hr7ZFj7DSlsxIi0zJfibe/1xtPn6kEEbfMjH2lbsubwa81pQ==} + + '@types/node@22.15.27': + resolution: {integrity: sha512-5fF+eu5mwihV2BeVtX5vijhdaZOfkQTATrePEaXTcKqI16LhJ7gi2/Vhd9OZM0UojcdmiOCVg5rrax+i1MdoQQ==} + + '@types/node@22.7.5': + resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==} + + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + + '@types/prop-types@15.7.14': + resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==} + + '@types/react@18.3.23': + resolution: {integrity: sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==} + + '@types/retry@0.12.5': + resolution: {integrity: sha512-3xSjTp3v03X/lSQLkczaN9UIEwJMoMCA1+Nb5HfbJEQWogdeQIyVtTvxPXDQjZ5zws8rFQfVfRdz03ARihPJgw==} + + '@types/semver@7.7.0': + resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==} + + '@types/triple-beam@1.3.5': + resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} + + '@types/uuid@8.3.4': + resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} + + '@types/w3c-web-usb@1.0.10': + resolution: {integrity: sha512-CHgUI5kTc/QLMP8hODUHhge0D4vx+9UiAwIGiT0sTy/B2XpdX1U5rJt6JSISgr6ikRT7vxV9EVAFeYZqUnl1gQ==} + + '@types/wrap-ansi@3.0.0': + resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} + + '@types/ws@7.4.7': + resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} + + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + + '@typescript-eslint/eslint-plugin@6.21.0': + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@6.21.0': + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@6.21.0': + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/scope-manager@7.18.0': + resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/type-utils@6.21.0': + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/types@6.21.0': + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/types@7.18.0': + resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/typescript-estree@6.21.0': + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/typescript-estree@7.18.0': + resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@6.21.0': + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + + '@typescript-eslint/utils@7.18.0': + resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + + '@typescript-eslint/visitor-keys@6.21.0': + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/visitor-keys@7.18.0': + resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@ungap/structured-clone@1.3.0': + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + + '@unrs/resolver-binding-darwin-arm64@1.7.8': + resolution: {integrity: sha512-rsRK8T7yxraNRDmpFLZCWqpea6OlXPNRRCjWMx24O1V86KFol7u2gj9zJCv6zB1oJjtnzWceuqdnCgOipFcJPA==} + cpu: [arm64] + os: [darwin] + + '@unrs/resolver-binding-darwin-x64@1.7.8': + resolution: {integrity: sha512-16yEMWa+Olqkk8Kl6Bu0ltT5OgEedkSAsxcz1B3yEctrDYp3EMBu/5PPAGhWVGnwhtf3hNe3y15gfYBAjOv5tQ==} + cpu: [x64] + os: [darwin] + + '@unrs/resolver-binding-freebsd-x64@1.7.8': + resolution: {integrity: sha512-ST4uqF6FmdZQgv+Q73FU1uHzppeT4mhX3IIEmHlLObrv5Ep50olWRz0iQ4PWovadjHMTAmpuJAGaAuCZYb7UAQ==} + cpu: [x64] + os: [freebsd] + + '@unrs/resolver-binding-linux-arm-gnueabihf@1.7.8': + resolution: {integrity: sha512-Z/A/4Rm2VWku2g25C3tVb986fY6unx5jaaCFpx1pbAj0OKkyuJ5wcQLHvNbIcJ9qhiYwXfrkB7JNlxrAbg7YFg==} + cpu: [arm] + os: [linux] + + '@unrs/resolver-binding-linux-arm-musleabihf@1.7.8': + resolution: {integrity: sha512-HN0p7o38qKmDo3bZUiQa6gP7Qhf0sKgJZtRfSHi6JL2Gi4NaUVF0EO1sQ1RHbeQ4VvfjUGMh3QE5dxEh06BgQQ==} + cpu: [arm] + os: [linux] + + '@unrs/resolver-binding-linux-arm64-gnu@1.7.8': + resolution: {integrity: sha512-HsoVqDBt9G69AN0KWeDNJW+7i8KFlwxrbbnJffgTGpiZd6Jw+Q95sqkXp8y458KhKduKLmXfVZGnKBTNxAgPjw==} + cpu: [arm64] + os: [linux] + + '@unrs/resolver-binding-linux-arm64-musl@1.7.8': + resolution: {integrity: sha512-VfR2yTDUbUvn+e/Aw22CC9fQg9zdShHAfwWctNBdOk7w9CHWl2OtYlcMvjzMAns8QxoHQoqn3/CEnZ4Ts7hfrA==} + cpu: [arm64] + os: [linux] + + '@unrs/resolver-binding-linux-ppc64-gnu@1.7.8': + resolution: {integrity: sha512-xUauVQNz4uDgs4UJJiUAwMe3N0PA0wvtImh7V0IFu++UKZJhssXbKHBRR4ecUJpUHCX2bc4Wc8sGsB6P+7BANg==} + cpu: [ppc64] + os: [linux] + + '@unrs/resolver-binding-linux-riscv64-gnu@1.7.8': + resolution: {integrity: sha512-GqyIB+CuSHGhhc8ph5RrurtNetYJjb6SctSHafqmdGcRuGi6uyTMR8l18hMEhZFsXdFMc/MpInPLvmNV22xn+A==} + cpu: [riscv64] + os: [linux] + + '@unrs/resolver-binding-linux-riscv64-musl@1.7.8': + resolution: {integrity: sha512-eEU3rWIFRv60xaAbtsgwHNWRZGD7cqkpCvNtio/f1TjEE3HfKLzPNB24fA9X/8ZXQrGldE65b7UKK3PmO4eWIQ==} + cpu: [riscv64] + os: [linux] + + '@unrs/resolver-binding-linux-s390x-gnu@1.7.8': + resolution: {integrity: sha512-GVLI0f4I4TlLqEUoOFvTWedLsJEdvsD0+sxhdvQ5s+N+m2DSynTs8h9jxR0qQbKlpHWpc2Ortz3z48NHRT4l+w==} + cpu: [s390x] + os: [linux] + + '@unrs/resolver-binding-linux-x64-gnu@1.7.8': + resolution: {integrity: sha512-GX1pZ/4ncUreB0Rlp1l7bhKAZ8ZmvDIgXdeb5V2iK0eRRF332+6gRfR/r5LK88xfbtOpsmRHU6mQ4N8ZnwvGEA==} + cpu: [x64] + os: [linux] + + '@unrs/resolver-binding-linux-x64-musl@1.7.8': + resolution: {integrity: sha512-n1N84MnsvDupzVuYqJGj+2pb9s8BI1A5RgXHvtVFHedGZVBCFjDpQVRlmsFMt6xZiKwDPaqsM16O/1isCUGt7w==} + cpu: [x64] + os: [linux] + + '@unrs/resolver-binding-wasm32-wasi@1.7.8': + resolution: {integrity: sha512-x94WnaU5g+pCPDVedfnXzoG6lCOF2xFGebNwhtbJCWfceE94Zj8aysSxdxotlrZrxnz5D3ijtyFUYtpz04n39Q==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@unrs/resolver-binding-win32-arm64-msvc@1.7.8': + resolution: {integrity: sha512-vst2u8EJZ5L6jhJ6iLis3w9rg16aYqRxQuBAMYQRVrPMI43693hLP7DuqyOBRKgsQXy9/jgh204k0ViHkqQgdg==} + cpu: [arm64] + os: [win32] + + '@unrs/resolver-binding-win32-ia32-msvc@1.7.8': + resolution: {integrity: sha512-yb3LZOLMFqnA+/ShlE1E5bpYPGDsA590VHHJPB+efnyowT776GJXBoh82em6O9WmYBUq57YblGTcMYAFBm72HA==} + cpu: [ia32] + os: [win32] + + '@unrs/resolver-binding-win32-x64-msvc@1.7.8': + resolution: {integrity: sha512-hHKFx+opG5BA3/owMXon8ypwSotBGTdblG6oda/iOu9+OEYnk0cxD2uIcGyGT8jCK578kV+xMrNxqbn8Zjlpgw==} + cpu: [x64] + os: [win32] + + abi-wan-kanabi@2.2.4: + resolution: {integrity: sha512-0aA81FScmJCPX+8UvkXLki3X1+yPQuWxEkqXBVKltgPAK79J+NB+Lp5DouMXa7L6f+zcRlIA/6XO7BN/q9fnvg==} + hasBin: true + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} + engines: {node: '>=0.4.0'} + + acorn@8.14.1: + resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} + engines: {node: '>=0.4.0'} + hasBin: true + + aes-js@3.0.0: + resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} + + aes-js@4.0.0-beta.5: + resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} + + agentkeepalive@4.6.0: + resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} + engines: {node: '>= 8.0.0'} + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + algo-msgpack-with-bigint@2.1.1: + resolution: {integrity: sha512-F1tGh056XczEaEAqu7s+hlZUDWwOBT70Eq0lfMpBP2YguSQVyxRbprLq5rELXKQOyOaixTWYhMeMQMzP0U5FoQ==} + engines: {node: '>= 10'} + + algosdk@1.24.1: + resolution: {integrity: sha512-9moZxdqeJ6GdE4N6fA/GlUP4LrbLZMYcYkt141J4Ss68OfEgH9qW0wBuZ3ZOKEx/xjc5bg7mLP2Gjg7nwrkmww==} + engines: {node: '>=14.0.0'} + + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-escapes@7.0.0: + resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + engines: {node: '>=18'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + ansicolors@0.3.2: + resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} + + ansis@3.17.0: + resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==} + engines: {node: '>=14'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arconnect@0.4.2: + resolution: {integrity: sha512-Jkpd4QL3TVqnd3U683gzXmZUVqBUy17DdJDuL/3D9rkysLgX6ymJ2e+sR+xyZF5Rh42CBqDXWNMmCjBXeP7Gbw==} + + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + + array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + engines: {node: '>= 0.4'} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + array.prototype.findlastindex@1.2.6: + resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==} + engines: {node: '>= 0.4'} + + array.prototype.flat@1.3.3: + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} + engines: {node: '>= 0.4'} + + array.prototype.flatmap@1.3.3: + resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + + arweave-stream-tx@1.2.2: + resolution: {integrity: sha512-bNt9rj0hbAEzoUZEF2s6WJbIz8nasZlZpxIw03Xm8fzb9gRiiZlZGW3lxQLjfc9Z0VRUWDzwtqoYeEoB/JDToQ==} + peerDependencies: + arweave: ^1.10.0 + + arweave@1.15.7: + resolution: {integrity: sha512-F+Y4iWU1qea9IsKQ/YNmLsY4DHQVsaJBuhEbFxQn9cfGHOmtXE+bwo14oY8xqymsqSNf/e1PeIfLk7G7qN/hVA==} + engines: {node: '>=18'} + + asn1.js@5.4.1: + resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} + + assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + + async-retry@1.3.3: + resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + auto-bind@5.0.1: + resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + axios-retry@3.9.1: + resolution: {integrity: sha512-8PJDLJv7qTTMMwdnbMvrLYuvB47M81wRtxQmEdV5w4rgbTXTt+vtPkXwajOfOdSyv/wZICJOC+/UhXH4aQ/R+w==} + + axios@0.25.0: + resolution: {integrity: sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==} + + axios@0.27.2: + resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + + axios@1.4.0: + resolution: {integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==} + + axios@1.9.0: + resolution: {integrity: sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base-x@3.0.11: + resolution: {integrity: sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==} + + base-x@4.0.1: + resolution: {integrity: sha512-uAZ8x6r6S3aUM9rbHGVOIsR15U/ZSc82b3ymnCPsT45Gk1DDvhDPdIgB5MrhirZWt+5K0EEPQH985kNqZgNPFw==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + base64id@2.0.0: + resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} + engines: {node: ^4.5.0 || >= 5.9} + + base64url@3.0.1: + resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} + engines: {node: '>=6.0.0'} + + bech32@1.1.4: + resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} + + bech32@2.0.0: + resolution: {integrity: sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==} + + big-integer@1.6.52: + resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} + engines: {node: '>=0.6'} + + bigint-buffer@1.1.5: + resolution: {integrity: sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==} + engines: {node: '>= 10.0.0'} + + bignumber.js@9.1.2: + resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} + + bignumber.js@9.3.0: + resolution: {integrity: sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + + bip174@2.1.1: + resolution: {integrity: sha512-mdFV5+/v0XyNYXjBS6CQPLo9ekCx4gtKZFnJm5PMto7Fs9hTTDpkkzOB7/FtluRI6JbUUAu+snTYfJRgHLZbZQ==} + engines: {node: '>=8.0.0'} + + bip32-path@0.4.2: + resolution: {integrity: sha512-ZBMCELjJfcNMkz5bDuJ1WrYvjlhEF5k6mQ8vUr4N7MbVRsXei7ZOg8VhhwMfNiW68NWmLkgkc6WvTickrLGprQ==} + + bip32@2.0.6: + resolution: {integrity: sha512-HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA==} + engines: {node: '>=6.0.0'} + + bip39@3.1.0: + resolution: {integrity: sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A==} + + bitcoinjs-lib@6.1.7: + resolution: {integrity: sha512-tlf/r2DGMbF7ky1MgUqXHzypYHakkEnm0SZP23CJKIqNY/5uNAnMbFhMJdhjrL/7anfb/U8+AlpdjPWjPnAalg==} + engines: {node: '>=8.0.0'} + + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + + bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + + bn.js@4.11.6: + resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} + + bn.js@4.12.2: + resolution: {integrity: sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==} + + bn.js@5.2.2: + resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} + + borsh@0.7.0: + resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} + + bowser@2.11.0: + resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + + browser-stdout@1.3.1: + resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} + + bs58@4.0.1: + resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} + + bs58@5.0.0: + resolution: {integrity: sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==} + + bs58check@2.1.2: + resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==} + + bs58check@3.0.1: + resolution: {integrity: sha512-hjuuJvoWEybo7Hn/0xOrczQKKEKD63WguEjlhLExYs2wUBcebDC1jDNK17eEAD2lYfw82d5ASC1d7K3SWszjaQ==} + + buffer-hexdump@1.0.0: + resolution: {integrity: sha512-Zfe5uJT9Y7J2cm2MVkmhRdkAqlbj0uw9oBaeXgOKUiXd+kdcABkp7+W+hQ8fCW/5TouBClXSzD8K5/XwVckDsg==} + + buffer-reverse@1.0.1: + resolution: {integrity: sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + bufferutil@4.0.9: + resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} + engines: {node: '>=6.14.2'} + + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + + builtins@5.1.0: + resolution: {integrity: sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==} + + cacheable-lookup@7.0.0: + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} + + cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} + engines: {node: '>=14.16'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + capital-case@1.0.4: + resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} + + cardinal@2.1.1: + resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} + hasBin: true + + chai@4.5.0: + resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.4.1: + resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + change-case@4.1.2: + resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} + + change-case@5.4.4: + resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} + + chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + + check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + + check-more-types@2.24.0: + resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==} + engines: {node: '>= 0.8.0'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + cipher-base@1.0.6: + resolution: {integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==} + engines: {node: '>= 0.10'} + + clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + + clean-stack@3.0.1: + resolution: {integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==} + engines: {node: '>=10'} + + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-cursor@4.0.0: + 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-progress@3.12.0: + resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==} + engines: {node: '>=4'} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} + + cli-width@3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + + cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + + cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + code-excerpt@4.0.0: + resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@3.2.1: + resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} + + colorspace@1.1.4: + resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + + commander@13.1.0: + resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} + engines: {node: '>=18'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + + confusing-browser-globals@1.0.11: + resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} + + constant-case@3.0.4: + resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-to-spaces@2.0.1: + resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} + + cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + + cosmjs-types@0.9.0: + resolution: {integrity: sha512-MN/yUe6mkJwHnCFfsNPeCfXVhyxHYW6c/xDUzrSbBycYzw++XvWDMJArXp2pLdgD6FQ8DW79vkPjeNKVrXaHeQ==} + + create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + + create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + + cross-fetch@3.0.6: + resolution: {integrity: sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ==} + + cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + crypto-js@4.2.0: + resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + csv-parse@5.6.0: + resolution: {integrity: sha512-l3nz3euub2QMg5ouu5U09Ew9Wf6/wQ8I++ch1loQ0ljmzhmfZYrH9fflS22i/PQEvsPvxCwxgz5q7UB8K1JO4Q==} + + csv-stringify@6.5.2: + resolution: {integrity: sha512-RFPahj0sXcmUyjrObAK+DOWtMvMIFV328n4qZJhgX3x2RqkQgOTU2mCUmiFR0CzM6AzChlRSUErjiJeEt8BaQA==} + + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + + date-fns@2.30.0: + resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} + engines: {node: '>=0.11'} + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + 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: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize@4.0.0: + resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} + engines: {node: '>=10'} + + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + + deep-diff@1.0.2: + resolution: {integrity: sha512-aWS3UIVH+NPGCD1kki+DCU9Dua032iSsO43LqQpcs4R3+dVv7tX0qBGjiVHJHjplsoUM2XRO/KB92glqc68awg==} + + deep-eql@4.1.4: + resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} + engines: {node: '>=6'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + delay@4.4.1: + resolution: {integrity: sha512-aL3AhqtfhOlT/3ai6sWXeqwnw63ATNpnUiN4HL7x9q+My5QtHlO3OIkasmug9LKzpheLdmUKGRKnYXYAS7FQkQ==} + engines: {node: '>=6'} + + delay@5.0.0: + resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} + engines: {node: '>=10'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + detect-indent@7.0.1: + resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} + engines: {node: '>=12.20'} + + detect-libc@2.0.4: + resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} + engines: {node: '>=8'} + + detect-newline@4.0.1: + resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} + engines: {node: ^12.20.0 || ^14.13.1 || >=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'} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + ecpair@2.1.0: + resolution: {integrity: sha512-cL/mh3MtJutFOvFc27GPZE2pWL3a3k4YvzUWEOvilnfZVlH3Jwgx/7d6tlD7/75tNk8TG2m+7Kgtz0SI1tWcqw==} + engines: {node: '>=8.0.0'} + + ejs@3.1.10: + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} + hasBin: true + + elliptic@6.6.1: + resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} + + emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + enabled@2.0.0: + resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} + + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + engine.io-client@6.6.3: + resolution: {integrity: sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==} + + engine.io-parser@5.2.3: + resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} + engines: {node: '>=10.0.0'} + + engine.io@6.6.4: + resolution: {integrity: sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==} + engines: {node: '>=10.2.0'} + + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + es-abstract@1.24.0: + resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.1.0: + resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} + engines: {node: '>= 0.4'} + + es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + engines: {node: '>= 0.4'} + + es6-promise@4.2.8: + resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} + + es6-promisify@5.0.0: + resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-config-oclif-typescript@3.1.14: + resolution: {integrity: sha512-YeBq5OiDRZFvfZ+wO0meF38fV06+zmEg15mnOLwkiAuUhjg2lH+UxvYA7uX2zUwR4p1WMUbfX+7CMfUwQ4TQ1A==} + engines: {node: '>=18.0.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + + eslint-config-oclif@5.2.2: + resolution: {integrity: sha512-NNTyyolSmKJicgxtoWZ/hoy2Rw56WIoWCFxgnBkXqDgi9qPKMwZs2Nx2b6SHLJvCiWWhZhWr5V46CFPo3PSPag==} + engines: {node: '>=18.0.0'} + + eslint-config-prettier@9.1.0: + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-config-xo-space@0.35.0: + resolution: {integrity: sha512-+79iVcoLi3PvGcjqYDpSPzbLfqYpNcMlhsCBRsnmDoHAn4npJG6YxmHpelQKpXM7v/EeZTUKb4e1xotWlei8KA==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=8.56.0' + + eslint-config-xo@0.44.0: + resolution: {integrity: sha512-YG4gdaor0mJJi8UBeRJqDPO42MedTWYMaUyucF5bhm2pi/HS98JIxfFQmTLuyj6hGpQlAazNfyVnn7JuDn+Sew==} + engines: {node: '>=18'} + peerDependencies: + eslint: '>=8.56.0' + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-import-resolver-typescript@3.10.1: + resolution: {integrity: sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + eslint-plugin-import-x: '*' + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true + + eslint-module-utils@2.12.0: + resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + + eslint-plugin-es@4.1.0: + resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} + engines: {node: '>=8.10.0'} + peerDependencies: + eslint: '>=4.19.1' + + eslint-plugin-import@2.31.0: + resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + + eslint-plugin-mocha@10.5.0: + resolution: {integrity: sha512-F2ALmQVPT1GoP27O1JTZGrV9Pqg8k79OeIuvw63UxMtQKREZtmkK1NFgkZQ2TW7L2JSSFKHFPTtHu5z8R9QNRw==} + engines: {node: '>=14.0.0'} + peerDependencies: + eslint: '>=7.0.0' + + eslint-plugin-n@15.7.0: + resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} + engines: {node: '>=12.22.0'} + peerDependencies: + eslint: '>=7.0.0' + + eslint-plugin-perfectionist@2.11.0: + resolution: {integrity: sha512-XrtBtiu5rbQv88gl+1e2RQud9te9luYNvKIgM9emttQ2zutHPzY/AQUucwxscDKV4qlTkvLTxjOFvxqeDpPorw==} + peerDependencies: + astro-eslint-parser: ^1.0.2 + eslint: '>=8.0.0' + svelte: '>=3.0.0' + svelte-eslint-parser: ^0.37.0 + vue-eslint-parser: '>=9.0.0' + peerDependenciesMeta: + astro-eslint-parser: + optional: true + svelte: + optional: true + svelte-eslint-parser: + optional: true + vue-eslint-parser: + optional: true + + eslint-plugin-unicorn@48.0.1: + resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} + engines: {node: '>=16'} + peerDependencies: + eslint: '>=8.44.0' + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-utils@2.1.0: + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} + engines: {node: '>=6'} + + eslint-utils@3.0.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + + eslint-visitor-keys@1.3.0: + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} + + eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint@8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + hasBin: true + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + ethereum-bloom-filters@1.2.0: + resolution: {integrity: sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==} + + ethereum-cryptography@2.2.1: + resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} + + ethers@6.14.3: + resolution: {integrity: sha512-qq7ft/oCJohoTcsNPFaXSQUm457MA5iWqkf1Mb11ujONdg7jBI6sAOrHaTi3j0CBqIGFSCeR/RMc+qwRRub7IA==} + engines: {node: '>=14.0.0'} + + ethjs-unit@0.1.6: + resolution: {integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==} + engines: {node: '>=6.5.0', npm: '>=3'} + + event-stream@3.3.4: + resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + + exponential-backoff@3.1.2: + resolution: {integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==} + + external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + + eyes@0.1.8: + resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} + engines: {node: '> 0.1.90'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-levenshtein@3.0.0: + resolution: {integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==} + + fast-stable-stringify@1.0.0: + resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==} + + fast-xml-parser@4.4.1: + resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} + hasBin: true + + fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + + fastestsmallesttextencoderdecoder@1.0.22: + resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==} + + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + + fdir@6.4.5: + resolution: {integrity: sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + fecha@4.2.3: + resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} + + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + + fetch-cookie@3.0.1: + resolution: {integrity: sha512-ZGXe8Y5Z/1FWqQ9q/CrJhkUD73DyBU9VF0hBQmEO/wPHe4A9PKTjplFDLeFX8aOsYypZUcX5Ji/eByn3VCVO3Q==} + + fflate@0.8.2: + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} + + figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + file-type@21.0.0: + resolution: {integrity: sha512-ek5xNX2YBYlXhiUXui3D/BXa3LdqPmoLJ7rqEx2bKJ7EAUEfmXgW0Das7Dc6Nr9MvqaOnIqiPV0mZk/r/UpNAg==} + engines: {node: '>=20'} + + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + + filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + find-yarn-workspace-root@2.0.0: + resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} + + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + + fn.name@1.1.0: + resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} + + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + + form-data-encoder@2.1.4: + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} + + form-data@4.0.2: + resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} + engines: {node: '>= 6'} + + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + + from@0.1.7: + resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} + + fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + + fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.8: + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-east-asian-width@1.3.0: + resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} + engines: {node: '>=18'} + + get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stdin@9.0.0: + resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} + engines: {node: '>=12'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + + get-tsconfig@4.10.1: + resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} + + git-hooks-list@3.2.0: + resolution: {integrity: sha512-ZHG9a1gEhUMX1TvGrLdyWb9kDopCBbTnI8z4JgRMYxsijWipgjSEYoPWqBuIB0DnRnvqlQSEeVmzpeuPm7NdFQ==} + + github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + got@13.0.0: + resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} + engines: {node: '>=16'} + + graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hash-base@3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} + + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + header-case@2.0.4: + resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} + + hi-base32@0.5.1: + resolution: {integrity: sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==} + + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + hosted-git-info@7.0.2: + resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} + engines: {node: ^16.14.0 || >=18.0.0} + + http-cache-semantics@4.2.0: + resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + + http-call@5.3.0: + resolution: {integrity: sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==} + engines: {node: '>=8.0.0'} + + http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} + engines: {node: '>=10.19.0'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + + humanize-number@0.0.2: + resolution: {integrity: sha512-un3ZAcNQGI7RzaWGZzQDH47HETM4Wrj6z6E4TId8Yeq9w5ZKUVB1nrT2jwFheTUjEmqcgTjXDc959jum+ai1kQ==} + + hyper-async@1.1.2: + resolution: {integrity: sha512-cnpOgKa+5FZOaccTtjduac1FrZuSc38/ftCp3vYJdUMt+7c+uvGDKLDK4MTNK8D3aFjIeveVrPcSgUPvzZLopg==} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + ink@5.0.1: + resolution: {integrity: sha512-ae4AW/t8jlkj/6Ou21H2av0wxTk8vrGzXv+v2v7j4in+bl1M5XRMVbfNghzhBokV++FjF8RBDJvYo+ttR9YVRg==} + engines: {node: '>=18'} + peerDependencies: + '@types/react': '>=18.0.0' + react: '>=18.0.0' + react-devtools-core: ^4.19.1 + peerDependenciesMeta: + '@types/react': + optional: true + react-devtools-core: + optional: true + + inquirer@8.2.6: + resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} + engines: {node: '>=12.0.0'} + + install@0.13.0: + resolution: {integrity: sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==} + engines: {node: '>= 0.10'} + + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} + + interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} + + 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.2.2: + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + engines: {node: '>= 0.4'} + + is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + + is-bun-module@2.0.0: + resolution: {integrity: sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} + + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + + is-fullwidth-code-point@5.0.0: + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} + + is-generator-function@1.1.0: + resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hex-prefixed@1.0.0: + resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} + engines: {node: '>=6.5.0', npm: '>=3'} + + is-in-ci@0.1.0: + resolution: {integrity: sha512-d9PXLEY0v1iJ64xLiQMJ51J128EYHAaOR4yZqQi8aHGfw6KgifM3/Viw1oZZ1GCVmb3gBuyhLyHj0HgR2DhSXQ==} + engines: {node: '>=18'} + hasBin: true + + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + + is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@2.1.0: + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + + is-retry-allowed@1.2.0: + resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} + engines: {node: '>=0.10.0'} + + is-retry-allowed@2.2.0: + resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==} + engines: {node: '>=10'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} + + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isexe@3.1.1: + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} + + isomorphic-fetch@3.0.0: + resolution: {integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==} + + isomorphic-ws@4.0.1: + resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} + peerDependencies: + ws: '*' + + jake@10.9.2: + resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} + engines: {node: '>=10'} + hasBin: true + + jayson@4.2.0: + resolution: {integrity: sha512-VfJ9t1YLwacIubLhONk0KFeosUBwstRWQ0IRT1KDjEjnVnSOVHC3uwugyV7L0c7R9lpVyrUGT2XWiBA1UTtpyg==} + engines: {node: '>=8'} + hasBin: true + + joi@17.13.3: + resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} + + js-sha256@0.9.0: + resolution: {integrity: sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==} + + js-sha3@0.8.0: + resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} + + js-sha512@0.8.0: + resolution: {integrity: sha512-PWsmefG6Jkodqt+ePTvBZCSMFgN7Clckjd0O7su3I0+BW2QWUTJNzjktHsztGLhncP2h8mcF9V9Y2Ha59pAViQ==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-bigint@1.0.0: + resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + keccak@3.0.4: + resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} + engines: {node: '>=10.0.0'} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + kuler@2.0.0: + resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} + + lazy-ass@1.6.0: + resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} + engines: {node: '> 0.8'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + libsodium-sumo@0.7.15: + resolution: {integrity: sha512-5tPmqPmq8T8Nikpm1Nqj0hBHvsLFCXvdhBFV7SGOitQPZAA6jso8XoL0r4L7vmfKXr486fiQInvErHtEvizFMw==} + + libsodium-wrappers-sumo@0.7.15: + resolution: {integrity: sha512-aSWY8wKDZh5TC7rMvEdTHoyppVq/1dTSAeAR7H6pzd6QRT3vQWcT5pGwCotLcpPEOLXX6VvqihSPkpEhYAjANA==} + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + log-symbols@6.0.0: + resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} + engines: {node: '>=18'} + + logform@2.7.0: + resolution: {integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==} + engines: {node: '>= 12.0.0'} + + long@4.0.0: + resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} + + long@5.3.2: + resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lossless-json@4.1.0: + resolution: {integrity: sha512-DgoRs42jH/yNubp8iinRqvG0xn5awHKXVY+7lGYjBaByoHGZt/Dz5Jkaf5znP2XHbTnAA+bbkhK3lMIaf3+92A==} + + loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + map-stream@0.1.0: + resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + merkletreejs@0.3.11: + resolution: {integrity: sha512-LJKTl4iVNTndhL+3Uz/tfkjD0klIWsHlUzgtuNnNrsf7bAlXR30m+xYB7lHr5Z/l6e/yAIsr26Dabx6Buo4VGQ==} + engines: {node: '>= 7.6.0'} + + micro-ftch@0.3.1: + resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} + + 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-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@4.0.7: + resolution: {integrity: sha512-2OfDPL+e03E0LrXaGYOtTFIYhiuzep94NSsuhrNULq+stylcJedcHdzHtz0atMUuGwJfFYs0YL5xeC/Ca2x0eQ==} + engines: {node: '>=16'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + 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'} + + mimic-response@4.0.0: + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + 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'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + + mnemonist@0.39.8: + resolution: {integrity: sha512-vyWo2K3fjrUw8YeeZ1zF0fy6Mu59RHokURlld8ymdUPjMlD9EC9ov1/YPqTgqRvUN9nTr3Gqfz29LYAmu0PHPQ==} + + mocha@10.8.2: + resolution: {integrity: sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==} + engines: {node: '>= 14.0.0'} + hasBin: true + + mock-stdin@1.0.0: + resolution: {integrity: sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + multistream@4.1.0: + resolution: {integrity: sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==} + + mute-stream@0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + + mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + mute-stream@2.0.0: + resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} + engines: {node: ^18.17.0 || >=20.5.0} + + nan@2.22.2: + resolution: {integrity: sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==} + + napi-build-utils@2.0.0: + resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} + + napi-postinstall@0.2.4: + resolution: {integrity: sha512-ZEzHJwBhZ8qQSbknHqYcdtQVr8zUgGyM/q6h6qAyhtyVMNrSgDhrC4disf03dYW0e+czXyLnZINnCTEkWy0eJg==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + hasBin: true + + natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + natural-orderby@3.0.2: + resolution: {integrity: sha512-x7ZdOwBxZCEm9MM7+eQCjkrNLrW3rkBKNHVr78zbtqnMGVNlnDi6C/eUEYgxHNrcbu0ymvjzcwIL/6H1iHri9g==} + engines: {node: '>=18'} + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + netstats@0.0.6: + resolution: {integrity: sha512-j5sdwaoLX/0x74+8bFdnoVEo3RUQexm5Lw615MVrgx7/FSQx88dZj+t5whwrDSrlsiHMYhKpn52p/6oMYHTZ2A==} + engines: {node: '>=8'} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-abi@3.75.0: + resolution: {integrity: sha512-OhYaY5sDsIka7H7AtijtI9jwGYLyl29eQn/W623DiN/MIv5sUqc4g7BIDThX+gb7di9f6xK02nkp8sdfFWZLTg==} + engines: {node: '>=10'} + + node-addon-api@2.0.2: + resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} + + node-addon-api@3.2.1: + resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} + + node-addon-api@5.1.0: + resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} + + node-addon-api@6.1.0: + resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + deprecated: Use your platform's native DOMException instead + + node-fetch@2.6.1: + resolution: {integrity: sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==} + engines: {node: 4.x || >=6.0.0} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-gyp-build@4.8.4: + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} + hasBin: true + + node-hid@2.1.2: + resolution: {integrity: sha512-qhCyQqrPpP93F/6Wc/xUR7L8mAJW0Z6R7HMQV8jCHHksAxNDe/4z4Un/H9CpLOT+5K39OPyt9tIQlavxWES3lg==} + engines: {node: '>=10'} + hasBin: true + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-package-data@6.0.2: + resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} + engines: {node: ^16.14.0 || >=18.0.0} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-url@8.0.1: + resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} + engines: {node: '>=14.16'} + + npm-package-arg@11.0.3: + resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==} + engines: {node: ^16.14.0 || >=18.0.0} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + npm@10.9.2: + resolution: {integrity: sha512-iriPEPIkoMYUy3F6f3wwSZAU93E0Eg6cHwIR6jzzOXWSy+SD/rOODEs74cVONHKSx2obXtuUoyidVEhISrisgQ==} + engines: {node: ^18.17.0 || >=20.5.0} + hasBin: true + bundledDependencies: + - '@isaacs/string-locale-compare' + - '@npmcli/arborist' + - '@npmcli/config' + - '@npmcli/fs' + - '@npmcli/map-workspaces' + - '@npmcli/package-json' + - '@npmcli/promise-spawn' + - '@npmcli/redact' + - '@npmcli/run-script' + - '@sigstore/tuf' + - abbrev + - archy + - cacache + - chalk + - ci-info + - cli-columns + - fastest-levenshtein + - fs-minipass + - glob + - graceful-fs + - hosted-git-info + - ini + - init-package-json + - is-cidr + - json-parse-even-better-errors + - libnpmaccess + - libnpmdiff + - libnpmexec + - libnpmfund + - libnpmhook + - libnpmorg + - libnpmpack + - libnpmpublish + - libnpmsearch + - libnpmteam + - libnpmversion + - make-fetch-happen + - minimatch + - minipass + - minipass-pipeline + - ms + - node-gyp + - nopt + - normalize-package-data + - npm-audit-report + - npm-install-checks + - npm-package-arg + - npm-pick-manifest + - npm-profile + - npm-registry-fetch + - npm-user-validate + - p-map + - pacote + - parse-conflict-json + - proc-log + - qrcode-terminal + - read + - semver + - spdx-expression-parse + - ssri + - supports-color + - tar + - text-table + - tiny-relative-date + - treeverse + - validate-npm-package-name + - which + - write-file-atomic + + number-to-bn@1.7.0: + resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} + engines: {node: '>=6.5.0', npm: '>=3'} + + numeral@2.0.6: + resolution: {integrity: sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object-treeify@4.0.1: + resolution: {integrity: sha512-Y6tg5rHfsefSkfKujv2SwHulInROy/rCL5F4w0QOWxut8AnxYxf0YmNhTh95Zfyxpsudo66uqkux0ACFnyMSgQ==} + engines: {node: '>= 16'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + + object.values@1.2.1: + resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} + engines: {node: '>= 0.4'} + + obliterator@2.0.5: + resolution: {integrity: sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw==} + + oclif@4.17.46: + resolution: {integrity: sha512-huMvamv0zzIXrCbW5sgy40P1L6fJjPe4IfZKSmkmuPNGSpTy+fcNZ0gYwIuMlxiT3RarLYxYie+RVTyJLE3zXw==} + engines: {node: '>=18.0.0'} + hasBin: true + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + one-time@1.0.0: + resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + + ora@8.1.1: + resolution: {integrity: sha512-YWielGi1XzG1UTvOaCFaNgEnuhZVMSHYkW/FQ7UX8O26PtlpdM84c0f7wLPlkvx2RfiQmnzd61d/MGxmpQeJPw==} + engines: {node: '>=18'} + + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + + own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} + + p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-map@7.0.3: + resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} + engines: {node: '>=18'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + pako@2.1.0: + resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} + + param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + + patch-console@2.0.0: + resolution: {integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + path-case@3.0.4: + resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + + pause-stream@0.0.11: + resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} + + peek-readable@7.0.0: + resolution: {integrity: sha512-nri2TO5JE3/mRryik9LlHFT53cgHfRK0Lt0BAZQXku/AW3E6XLt2GaY8siWi7dvW/m1z0ecn+J+bpDa9ZN3IsQ==} + engines: {node: '>=18'} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + + plimit-lit@3.0.1: + resolution: {integrity: sha512-EyTTdP5LMX6WbHihG8R9w6DS+c3pyMpeKooOFuGDCyuVBogQjYNtoYwKLRD6hM1+VkHzGcfIuyLoWi6l5JA3iA==} + engines: {node: '>=18'} + + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + + port-pid@0.0.7: + resolution: {integrity: sha512-2QkdCeuGLfu1jDxiiwOnafCgVFsMQXMEWvUVx9SMNq+4k6HDKiyA9YVRhmoMvJGg5ZhqEjblpj+1wdWMqn7scw==} + engines: {node: '>=8'} + + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + + prebuild-install@7.1.3: + resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} + engines: {node: '>=10'} + hasBin: true + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + proc-log@4.2.0: + resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + + protobufjs@6.11.4: + resolution: {integrity: sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==} + hasBin: true + + protobufjs@7.5.3: + resolution: {integrity: sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw==} + engines: {node: '>=12.0.0'} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + ps-tree@1.2.0: + resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} + engines: {node: '>= 0.10'} + hasBin: true + + psl@1.15.0: + resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} + + pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + qs@6.14.0: + resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} + engines: {node: '>=0.6'} + + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + + queue-lit@3.0.0: + resolution: {integrity: sha512-iyVL2X5G58kICVGLW/nseYmdHxBoAp2Gav16H23NPtIllyEJ+UheHlYZqBjO+lJHRYoZRSrX7chH8tMrH9MB/A==} + engines: {node: '>=18'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + + rambda@7.5.0: + resolution: {integrity: sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA==} + + ramda@0.30.1: + resolution: {integrity: sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + react-reconciler@0.29.2: + resolution: {integrity: sha512-zZQqIiYgDCTP/f1N/mAR10nJGrPD2ZR+jDSEsKWJHYC7Cm2wodlwbR3upZRdC3cjIjSlTLNVyO7Iu0Yy7t2AYg==} + engines: {node: '>=0.10.0'} + peerDependencies: + react: ^18.3.1 + + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + readonly-date@1.0.0: + resolution: {integrity: sha512-tMKIV7hlk0h4mO3JTmmVuIlJVXjKk3Sep9Bf5OH0O+758ruuVkUy2J9SttDLm91IEX/WHlXPSpxMGjPj4beMIQ==} + + rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + + redeyed@2.1.1: + resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} + + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + + regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + + regexpp@3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + + registry-auth-token@5.1.0: + resolution: {integrity: sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==} + engines: {node: '>=14'} + + regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true + + responselike@3.0.0: + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + restore-cursor@4.0.0: + 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'} + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + ripemd160@2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + + rpc-websockets@9.1.1: + resolution: {integrity: sha512-1IXGM/TfPT6nfYMIXkJdzn+L4JEsmb0FL1O2OBjaH03V3yuUDdKFulGLMFG6ErV+8pZ5HVC0limve01RyO+saA==} + + run-async@2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + + safe-array-concat@1.1.3: + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} + engines: {node: '>=0.4'} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + + safe-stable-stringify@2.5.0: + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} + engines: {node: '>=10'} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + + scrypt-js@3.0.1: + resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} + + secp256k1@5.0.1: + resolution: {integrity: sha512-lDFs9AAIaWP9UCdtWrotXWWF9t8PWgQDcxqgAnpM9rMqxb3Oaq2J0thzPVSxBwdJgyQtkU/sYtFtbM1RSt/iYA==} + engines: {node: '>=18.0.0'} + + selective-whitespace@1.0.4: + resolution: {integrity: sha512-DyL/pLbb9poQNQOVndVohclAO8lq+6gEBW8q3H9c2fX+ODkugQMvjBilPjw09lrIuVRFRQ/nwhLdzn60sFh9lQ==} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} + hasBin: true + + sentence-case@3.0.4: + resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + set-cookie-parser@2.7.1: + resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + + sha.js@2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shelljs@0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true + + shx@0.3.4: + resolution: {integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==} + engines: {node: '>=6'} + hasBin: true + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + + simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + + slice-ansi@7.1.0: + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} + + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + + socket.io-adapter@2.5.5: + resolution: {integrity: sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==} + + socket.io-client@4.8.1: + resolution: {integrity: sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==} + engines: {node: '>=10.0.0'} + + socket.io-parser@4.2.4: + resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} + engines: {node: '>=10.0.0'} + + socket.io@4.8.1: + resolution: {integrity: sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==} + engines: {node: '>=10.2.0'} + + sort-object-keys@1.1.3: + resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} + + sort-package-json@2.15.1: + resolution: {integrity: sha512-9x9+o8krTT2saA9liI4BljNjwAbvUnWf11Wq+i/iZt8nl2UGYnf3TH5uBydE7VALmP7AGwlfszuEeL8BDyb0YA==} + hasBin: true + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.21: + resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} + + split@0.3.3: + resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} + + stable-hash@0.0.5: + resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==} + + stack-trace@0.0.10: + resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + starknet@6.24.1: + resolution: {integrity: sha512-g7tiCt73berhcNi41otlN3T3kxZnIvZhMi8WdC21Y6GC6zoQgbI2z1t7JAZF9c4xZiomlanwVnurcpyfEdyMpg==} + + start-server-and-test@1.15.4: + resolution: {integrity: sha512-ucQtp5+UCr0m4aHlY+aEV2JSYNTiMZKdSKK/bsIr6AlmwAWDYDnV7uGlWWEtWa7T4XvRI5cPYcPcQgeLqpz+Tg==} + engines: {node: '>=6'} + hasBin: true + + stdin-discarder@0.2.2: + resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} + engines: {node: '>=18'} + + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} + + stream-chain@2.2.5: + resolution: {integrity: sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==} + + stream-combiner@0.0.4: + resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} + + stream-json@1.9.1: + resolution: {integrity: sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + + string.prototype.trim@1.2.10: + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.9: + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + engines: {node: '>= 0.4'} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-hex-prefix@1.0.0: + resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} + engines: {node: '>=6.5.0', npm: '>=3'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + strnum@1.1.2: + resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==} + + strtok3@10.2.2: + resolution: {integrity: sha512-Xt18+h4s7Z8xyZ0tmBoRmzxcop97R4BAh+dXouUDCYn+Em+1P3qpkUfI5ueWLT8ynC5hZ+q4iPEmGG1urvQGBg==} + engines: {node: '>=18'} + + superstruct@2.0.2: + resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==} + engines: {node: '>=14.0.0'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + symbol-observable@2.0.3: + resolution: {integrity: sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA==} + engines: {node: '>=0.10'} + + tar-fs@2.1.3: + resolution: {integrity: sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==} + + tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + + text-encoding-utf-8@1.0.2: + resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==} + + text-hex@1.0.0: + resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + timeago.js@4.0.2: + resolution: {integrity: sha512-a7wPxPdVlQL7lqvitHGGRsofhdwtkoSXPGATFuSOA2i1ZNQEPLrGnj68vOp2sOJTCFAQVXPeNMX/GctBaO9L2w==} + + tiny-jsonc@1.0.2: + resolution: {integrity: sha512-f5QDAfLq6zIVSyCZQZhhyl0QS6MvAyTxgz4X4x3+EoCktNWEYJ6PeoEA97fyb98njpBNNi88ybpD7m+BDFXaCw==} + + tiny-secp256k1@1.1.7: + resolution: {integrity: sha512-eb+F6NabSnjbLwNoC+2o5ItbmP1kg7HliWue71JgLegQt6A5mTN8YbvTLCazdlg6e5SV6A+r8OGvZYskdlmhqQ==} + engines: {node: '>=6.0.0'} + + tinyglobby@0.2.14: + resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + engines: {node: '>=12.0.0'} + + tmp-promise@3.0.3: + resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} + + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + + tmp@0.2.3: + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + token-types@6.0.0: + resolution: {integrity: sha512-lbDrTLVsHhOMljPscd0yitpozq7Ga2M5Cvez5AjGg8GASBjtt6iERCAJ93yommPmz62fb45oFIXHEZ3u9bfJEA==} + engines: {node: '>=14.16'} + + tokenize-whitespace@0.0.1: + resolution: {integrity: sha512-OxbdMHTjVs0ccBMfjo1v5OH6bq8yhydewCd9n6xihgtZvI3wSqR00EsM86DjELLl6VtMkY2z99r5q+uNW79E+Q==} + + tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + treeify@1.1.0: + resolution: {integrity: sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==} + engines: {node: '>=0.6'} + + triple-beam@1.4.1: + resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==} + engines: {node: '>= 14.0.0'} + + ts-api-utils@1.4.3: + resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + ts-essentials@9.4.2: + resolution: {integrity: sha512-mB/cDhOvD7pg3YCLk2rOtejHjjdSi9in/IBYE13S+8WA5FBSraYf4V/ws55uvs0IvQ/l0wBOlXy5yBNZ9Bl8ZQ==} + peerDependencies: + typescript: '>=4.1.0' + peerDependenciesMeta: + typescript: + optional: true + + ts-mixer@6.0.4: + resolution: {integrity: sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==} + + 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==} + + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + + tweetnacl@1.0.3: + resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.1.0: + resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} + engines: {node: '>=4'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} + engines: {node: '>=16'} + + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + engines: {node: '>= 0.4'} + + typeforce@1.18.0: + resolution: {integrity: sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==} + + typescript@5.8.3: + resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + engines: {node: '>=14.17'} + hasBin: true + + uint8array-extras@1.4.0: + resolution: {integrity: sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ==} + engines: {node: '>=18'} + + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + + undici@5.29.0: + resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} + engines: {node: '>=14.0'} + + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + + universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unrs-resolver@1.7.8: + resolution: {integrity: sha512-2zsXwyOXmCX9nGz4vhtZRYhe30V78heAv+KDc21A/KMdovGHbZcixeD5JHEF0DrFXzdytwuzYclcPbvp8A3Jlw==} + + untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + + upper-case-first@2.0.2: + resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} + + upper-case@2.0.2: + resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + + usb@2.9.0: + resolution: {integrity: sha512-G0I/fPgfHUzWH8xo2KkDxTTFruUWfppgSFJ+bQxz/kVY2x15EQ/XDB7dqD1G432G4gBG4jYQuF3U7j/orSs5nw==} + engines: {node: '>=10.20.0 <11.x || >=12.17.0 <13.0 || >=14.0.0'} + + utf-8-validate@5.0.10: + resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==} + engines: {node: '>=6.14.2'} + + utf8@3.0.0: + resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + utility-types@3.11.0: + resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} + engines: {node: '>= 4'} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + validate-npm-package-name@5.0.1: + resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + varuint-bitcoin@1.1.2: + resolution: {integrity: sha512-4EVb+w4rx+YfVM32HQX42AbbT7/1f5zwAYhIujKXKk8NQK+JfRVl3pqT3hjNn/L+RstigmGGKVwHA/P0wgITZw==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vlq@2.0.4: + resolution: {integrity: sha512-aodjPa2wPQFkra1G8CzJBTHXhgk3EVSwxSWXNPr1fgdFLUb8kvLV1iEb6rFgasIsjP82HWI6dsb5Io26DDnasA==} + + wait-on@6.0.1: + resolution: {integrity: sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==} + engines: {node: '>=10.0.0'} + hasBin: true + + wait-on@7.0.1: + resolution: {integrity: sha512-9AnJE9qTjRQOlTZIldAaf/da2eW0eSRSgcqq85mXQja/DW3MriHxkpODDSUEg+Gri/rKEcXUZHe+cevvYItaog==} + engines: {node: '>=12.0.0'} + hasBin: true + + warp-arbundles@1.0.4: + resolution: {integrity: sha512-KeRac/EJ7VOK+v5+PSMh2SrzpCKOAFnJICLlqZWt6qPkDCzVwcrNE5wFxOlEk5U170ewMDAB3e86UHUblevXpw==} + + warp-isomorphic@1.0.7: + resolution: {integrity: sha512-fXHbUXwdYqPm9fRPz8mjv5ndPco09aMQuTe4kXfymzOq8V6F3DLsg9cIafxvjms9/mc6eijzkLBJ63yjEENEjA==} + engines: {node: '>=16.8.0'} + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + + web3-utils@1.10.4: + resolution: {integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==} + engines: {node: '>=8.0.0'} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + whatwg-fetch@3.6.20: + resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-typed-array@1.1.19: + resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} + engines: {node: '>= 0.4'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + which@4.0.0: + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} + hasBin: true + + widest-line@3.1.0: + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} + + widest-line@5.0.0: + resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} + engines: {node: '>=18'} + + wif@2.0.6: + resolution: {integrity: sha512-HIanZn1zmduSF+BQhkE+YXIbEiH0xPr1012QbFEGB0xsKqJii0/SqJjyn8dFv6y36kOznMgMB+LGcbZTJ1xACQ==} + + winston-transport@4.9.0: + resolution: {integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==} + engines: {node: '>= 12.0.0'} + + winston@3.17.0: + resolution: {integrity: sha512-DLiFIXYC5fMPxaRg832S6F5mJYvePtmO5G9v9IgUFPhXm9/GkXarH/TUrBAVzhTCzAj9anE/+GjrgXp/54nOgw==} + engines: {node: '>= 12.0.0'} + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + + workerpool@6.5.1: + resolution: {integrity: sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==} + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@9.0.0: + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + 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.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + 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.18.2: + resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} + 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 + + xmlhttprequest-ssl@2.1.2: + resolution: {integrity: sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==} + engines: {node: '>=0.4.0'} + + xstream@11.14.0: + resolution: {integrity: sha512-1bLb+kKKtKPbgTK6i/BaoAn03g47PpFstlbe1BA+y3pNS/LfvcaghS5BFf9+EE1J+KwSQsEpfJvFN5GqFtiNmw==} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yaml@2.8.0: + resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} + engines: {node: '>= 14.6'} + hasBin: true + + yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs-unparser@2.0.0: + resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} + engines: {node: '>=10'} -packages: + yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} - /@adraffy/ens-normalize@1.10.1: - resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} - dev: false + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} - /@alcalzone/ansi-tokenize@0.1.3: - resolution: {integrity: sha512-3yWxPTq3UQ/FY9p1ErPxIyfT64elWaMvM9lIHnaqpyft63tkxodF5aUElYHrdisWve5cETkh1+KBw1yJuW0aRw==} - engines: {node: '>=14.13.1'} + yarn@1.22.22: + resolution: {integrity: sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==} + engines: {node: '>=4.0.0'} + hasBin: true + + 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'} + + yoctocolors-cjs@2.1.2: + resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} + engines: {node: '>=18'} + + yoga-wasm-web@0.3.3: + resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} + + zod@3.25.42: + resolution: {integrity: sha512-PcALTLskaucbeHc41tU/xfjfhcz8z0GdhhDcSgrCTmSazUuqnYqiXO63M0QUBVwpBlsLsNVn5qHSC5Dw3KZvaQ==} + +snapshots: + + '@adraffy/ens-normalize@1.10.1': {} + + '@alcalzone/ansi-tokenize@0.1.3': dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 - dev: false - /@ardrive/turbo-sdk@1.25.0(typescript@5.8.3): - resolution: {integrity: sha512-hhZJTVCr4b2sXrqPrA6NPzd1aqXCnR6ZT/PvbTy7juFmpbEl93KRiyZCh8BdYdj1dOULRLspiQ1dqM54B/KZvA==} - engines: {node: '>=18'} - hasBin: true + '@ardrive/turbo-sdk@1.25.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: '@cosmjs/amino': 0.32.4 '@cosmjs/crypto': 0.32.4 '@cosmjs/encoding': 0.32.4 '@cosmjs/proto-signing': 0.32.4 - '@dha-team/arbundles': 1.0.3 + '@dha-team/arbundles': 1.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@ethersproject/signing-key': 5.8.0 - '@kyvejs/sdk': 1.4.5(bitcoinjs-lib@6.1.7)(starknet@6.24.1) + '@kyvejs/sdk': 1.4.5(bitcoinjs-lib@6.1.7)(bufferutil@4.0.9)(starknet@6.24.1)(utf-8-validate@5.0.10) '@permaweb/aoconnect': 0.0.57 - '@solana/web3.js': 1.98.2(typescript@5.8.3) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) arweave: 1.15.7 axios: 1.4.0 axios-retry: 3.9.1 @@ -223,7 +5067,7 @@ packages: bitcoinjs-lib: 6.1.7 bs58: 5.0.0 commander: 12.1.0 - ethers: 6.14.3 + ethers: 6.14.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) mime-types: 2.1.35 plimit-lit: 3.0.1 prompts: 2.4.2 @@ -237,27 +5081,20 @@ packages: - supports-color - typescript - utf-8-validate - dev: false - /@aws-crypto/crc32@5.2.0: - resolution: {integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==} - engines: {node: '>=16.0.0'} + '@aws-crypto/crc32@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 '@aws-sdk/types': 3.804.0 tslib: 2.8.1 - dev: true - /@aws-crypto/crc32c@5.2.0: - resolution: {integrity: sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==} + '@aws-crypto/crc32c@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 '@aws-sdk/types': 3.804.0 tslib: 2.8.1 - dev: true - /@aws-crypto/sha1-browser@5.2.0: - resolution: {integrity: sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==} + '@aws-crypto/sha1-browser@5.2.0': dependencies: '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 @@ -265,10 +5102,8 @@ packages: '@aws-sdk/util-locate-window': 3.804.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - dev: true - /@aws-crypto/sha256-browser@5.2.0: - resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==} + '@aws-crypto/sha256-browser@5.2.0': dependencies: '@aws-crypto/sha256-js': 5.2.0 '@aws-crypto/supports-web-crypto': 5.2.0 @@ -277,34 +5112,24 @@ packages: '@aws-sdk/util-locate-window': 3.804.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - dev: true - /@aws-crypto/sha256-js@5.2.0: - resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} - engines: {node: '>=16.0.0'} + '@aws-crypto/sha256-js@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 '@aws-sdk/types': 3.804.0 tslib: 2.8.1 - dev: true - /@aws-crypto/supports-web-crypto@5.2.0: - resolution: {integrity: sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==} + '@aws-crypto/supports-web-crypto@5.2.0': dependencies: tslib: 2.8.1 - dev: true - /@aws-crypto/util@5.2.0: - resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} + '@aws-crypto/util@5.2.0': dependencies: '@aws-sdk/types': 3.804.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - dev: true - /@aws-sdk/client-cloudfront@3.817.0: - resolution: {integrity: sha512-jStcFxAyvqSxRSMKC0O2rM+xJ4oXaZ6jJ4xnTJMJ+Gs3zKPKIZxNIrmqYMeq27emirYryZpyBKLL7SUkr1kqAQ==} - engines: {node: '>=18.0.0'} + '@aws-sdk/client-cloudfront@3.817.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 @@ -350,11 +5175,8 @@ packages: tslib: 2.8.1 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/client-s3@3.820.0: - resolution: {integrity: sha512-SrKNAj2ztGuyXWH14TG/MmCrbNufPfaDo3zbpxoO5qbpUi2SvOA1xSyJKD23mtzrLGs0+P7U6J/znP2UjdBIWA==} - engines: {node: '>=18.0.0'} + '@aws-sdk/client-s3@3.820.0': dependencies: '@aws-crypto/sha1-browser': 5.2.0 '@aws-crypto/sha256-browser': 5.2.0 @@ -414,11 +5236,8 @@ packages: tslib: 2.8.1 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/client-sso@3.817.0: - resolution: {integrity: sha512-fCh5rUHmWmWDvw70NNoWpE5+BRdtNi45kDnIoeoszqVg7UKF79SlG+qYooUT52HKCgDNHqgbWaXxMOSqd2I/OQ==} - engines: {node: '>=18.0.0'} + '@aws-sdk/client-sso@3.817.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 @@ -460,11 +5279,8 @@ packages: tslib: 2.8.1 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/core@3.816.0: - resolution: {integrity: sha512-Lx50wjtyarzKpMFV6V+gjbSZDgsA/71iyifbClGUSiNPoIQ4OCV0KVOmAAj7mQRVvGJqUMWKVM+WzK79CjbjWA==} - engines: {node: '>=18.0.0'} + '@aws-sdk/core@3.816.0': dependencies: '@aws-sdk/types': 3.804.0 '@smithy/core': 3.5.1 @@ -477,22 +5293,16 @@ packages: '@smithy/util-middleware': 4.0.4 fast-xml-parser: 4.4.1 tslib: 2.8.1 - dev: true - /@aws-sdk/credential-provider-env@3.816.0: - resolution: {integrity: sha512-wUJZwRLe+SxPxRV9AENYBLrJZRrNIo+fva7ZzejsC83iz7hdfq6Rv6B/aHEdPwG/nQC4+q7UUvcRPlomyrpsBA==} - engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-env@3.816.0': dependencies: '@aws-sdk/core': 3.816.0 '@aws-sdk/types': 3.804.0 '@smithy/property-provider': 4.0.4 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@aws-sdk/credential-provider-http@3.816.0: - resolution: {integrity: sha512-gcWGzMQ7yRIF+ljTkR8Vzp7727UY6cmeaPrFQrvcFB8PhOqWpf7g0JsgOf5BSaP8CkkSQcTQHc0C5ZYAzUFwPg==} - engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-http@3.816.0': dependencies: '@aws-sdk/core': 3.816.0 '@aws-sdk/types': 3.804.0 @@ -504,11 +5314,8 @@ packages: '@smithy/types': 4.3.1 '@smithy/util-stream': 4.2.2 tslib: 2.8.1 - dev: true - /@aws-sdk/credential-provider-ini@3.817.0: - resolution: {integrity: sha512-kyEwbQyuXE+phWVzloMdkFv6qM6NOon+asMXY5W0fhDKwBz9zQLObDRWBrvQX9lmqq8BbDL1sCfZjOh82Y+RFw==} - engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-ini@3.817.0': dependencies: '@aws-sdk/core': 3.816.0 '@aws-sdk/credential-provider-env': 3.816.0 @@ -525,11 +5332,8 @@ packages: tslib: 2.8.1 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/credential-provider-node@3.817.0: - resolution: {integrity: sha512-b5mz7av0Lhavs1Bz3Zb+jrs0Pki93+8XNctnVO0drBW98x1fM4AR38cWvGbM/w9F9Q0/WEH3TinkmrMPrP4T/w==} - engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-node@3.817.0': dependencies: '@aws-sdk/credential-provider-env': 3.816.0 '@aws-sdk/credential-provider-http': 3.816.0 @@ -545,11 +5349,8 @@ packages: tslib: 2.8.1 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/credential-provider-process@3.816.0: - resolution: {integrity: sha512-9Tm+AxMoV2Izvl5b9tyMQRbBwaex8JP06HN7ZeCXgC5sAsSN+o8dsThnEhf8jKN+uBpT6CLWKN1TXuUMrAmW1A==} - engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-process@3.816.0': dependencies: '@aws-sdk/core': 3.816.0 '@aws-sdk/types': 3.804.0 @@ -557,11 +5358,8 @@ packages: '@smithy/shared-ini-file-loader': 4.0.4 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@aws-sdk/credential-provider-sso@3.817.0: - resolution: {integrity: sha512-gFUAW3VmGvdnueK1bh6TOcRX+j99Xm0men1+gz3cA4RE+rZGNy1Qjj8YHlv0hPwI9OnTPZquvPzA5fkviGREWg==} - engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-sso@3.817.0': dependencies: '@aws-sdk/client-sso': 3.817.0 '@aws-sdk/core': 3.816.0 @@ -573,11 +5371,8 @@ packages: tslib: 2.8.1 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/credential-provider-web-identity@3.817.0: - resolution: {integrity: sha512-A2kgkS9g6NY0OMT2f2EdXHpL17Ym81NhbGnQ8bRXPqESIi7TFypFD2U6osB2VnsFv+MhwM+Ke4PKXSmLun22/A==} - engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-web-identity@3.817.0': dependencies: '@aws-sdk/core': 3.816.0 '@aws-sdk/nested-clients': 3.817.0 @@ -587,11 +5382,8 @@ packages: tslib: 2.8.1 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/middleware-bucket-endpoint@3.808.0: - resolution: {integrity: sha512-wEPlNcs8dir9lXbuviEGtSzYSxG/NRKQrJk5ybOc7OpPGHovsN+QhDOdY3lcjOFdwMTiMIG9foUkPz3zBpLB1A==} - engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-bucket-endpoint@3.808.0': dependencies: '@aws-sdk/types': 3.804.0 '@aws-sdk/util-arn-parser': 3.804.0 @@ -600,21 +5392,15 @@ packages: '@smithy/types': 4.3.1 '@smithy/util-config-provider': 4.0.0 tslib: 2.8.1 - dev: true - /@aws-sdk/middleware-expect-continue@3.804.0: - resolution: {integrity: sha512-YW1hySBolALMII6C8y7Z0CRG2UX1dGJjLEBNFeefhO/xP7ZuE1dvnmfJGaEuBMnvc3wkRS63VZ3aqX6sevM1CA==} - engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-expect-continue@3.804.0': dependencies: '@aws-sdk/types': 3.804.0 '@smithy/protocol-http': 5.1.2 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@aws-sdk/middleware-flexible-checksums@3.816.0: - resolution: {integrity: sha512-kftcwDxB/VoCBsUiRgkm5CIuKbTfCN1WLPbis9LRwX3kQhKgGVxG2gG78SHk4TBB0qviWVAd/t+i/KaUgwiAcA==} - engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-flexible-checksums@3.816.0': dependencies: '@aws-crypto/crc32': 5.2.0 '@aws-crypto/crc32c': 5.2.0 @@ -629,49 +5415,34 @@ packages: '@smithy/util-stream': 4.2.2 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - dev: true - /@aws-sdk/middleware-host-header@3.804.0: - resolution: {integrity: sha512-bum1hLVBrn2lJCi423Z2fMUYtsbkGI2s4N+2RI2WSjvbaVyMSv/WcejIrjkqiiMR+2Y7m5exgoKeg4/TODLDPQ==} - engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-host-header@3.804.0': dependencies: '@aws-sdk/types': 3.804.0 '@smithy/protocol-http': 5.1.2 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@aws-sdk/middleware-location-constraint@3.804.0: - resolution: {integrity: sha512-AMtKnllIWKgoo7hiJfphLYotEwTERfjVMO2+cKAncz9w1g+bnYhHxiVhJJoR94y047c06X4PU5MsTxvdQ73Znw==} - engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-location-constraint@3.804.0': dependencies: '@aws-sdk/types': 3.804.0 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@aws-sdk/middleware-logger@3.804.0: - resolution: {integrity: sha512-w/qLwL3iq0KOPQNat0Kb7sKndl9BtceigINwBU7SpkYWX9L/Lem6f8NPEKrC9Tl4wDBht3Yztub4oRTy/horJA==} - engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-logger@3.804.0': dependencies: '@aws-sdk/types': 3.804.0 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@aws-sdk/middleware-recursion-detection@3.804.0: - resolution: {integrity: sha512-zqHOrvLRdsUdN/ehYfZ9Tf8svhbiLLz5VaWUz22YndFv6m9qaAcijkpAOlKexsv3nLBMJdSdJ6GUTAeIy3BZzw==} - engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-recursion-detection@3.804.0': dependencies: '@aws-sdk/types': 3.804.0 '@smithy/protocol-http': 5.1.2 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@aws-sdk/middleware-sdk-s3@3.816.0: - resolution: {integrity: sha512-jJ+EAXM7gnOwiCM6rrl4AUNY5urmtIsX7roTkxtb4DevJxcS+wFYRRg3/j33fQbuxQZrvk21HqxyZYx5UH70PA==} - engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-sdk-s3@3.816.0': dependencies: '@aws-sdk/core': 3.816.0 '@aws-sdk/types': 3.804.0 @@ -687,20 +5458,14 @@ packages: '@smithy/util-stream': 4.2.2 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - dev: true - /@aws-sdk/middleware-ssec@3.804.0: - resolution: {integrity: sha512-Tk8jK0gOIUBvEPTz/wwSlP1V70zVQ3QYqsLPAjQRMO6zfOK9ax31dln3MgKvFDJxBydS2tS3wsn53v+brxDxTA==} - engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-ssec@3.804.0': dependencies: '@aws-sdk/types': 3.804.0 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@aws-sdk/middleware-user-agent@3.816.0: - resolution: {integrity: sha512-bHRSlWZ0xDsFR8E2FwDb//0Ff6wMkVx4O+UKsfyNlAbtqCiiHRt5ANNfKPafr95cN2CCxLxiPvFTFVblQM5TsQ==} - engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-user-agent@3.816.0': dependencies: '@aws-sdk/core': 3.816.0 '@aws-sdk/types': 3.804.0 @@ -709,11 +5474,8 @@ packages: '@smithy/protocol-http': 5.1.2 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@aws-sdk/nested-clients@3.817.0: - resolution: {integrity: sha512-vQ2E06A48STJFssueJQgxYD8lh1iGJoLJnHdshRDWOQb8gy1wVQR+a7MkPGhGR6lGoS0SCnF/Qp6CZhnwLsqsQ==} - engines: {node: '>=18.0.0'} + '@aws-sdk/nested-clients@3.817.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 @@ -755,11 +5517,8 @@ packages: tslib: 2.8.1 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/region-config-resolver@3.808.0: - resolution: {integrity: sha512-9x2QWfphkARZY5OGkl9dJxZlSlYM2l5inFeo2bKntGuwg4A4YUe5h7d5yJ6sZbam9h43eBrkOdumx03DAkQF9A==} - engines: {node: '>=18.0.0'} + '@aws-sdk/region-config-resolver@3.808.0': dependencies: '@aws-sdk/types': 3.804.0 '@smithy/node-config-provider': 4.1.3 @@ -767,11 +5526,8 @@ packages: '@smithy/util-config-provider': 4.0.0 '@smithy/util-middleware': 4.0.4 tslib: 2.8.1 - dev: true - /@aws-sdk/signature-v4-multi-region@3.816.0: - resolution: {integrity: sha512-idcr9NW86sSIXASSej3423Selu6fxlhhJJtMgpAqoCH/HJh1eQrONJwNKuI9huiruPE8+02pwxuePvLW46X2mw==} - engines: {node: '>=18.0.0'} + '@aws-sdk/signature-v4-multi-region@3.816.0': dependencies: '@aws-sdk/middleware-sdk-s3': 3.816.0 '@aws-sdk/types': 3.804.0 @@ -779,11 +5535,8 @@ packages: '@smithy/signature-v4': 5.1.2 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@aws-sdk/token-providers@3.817.0: - resolution: {integrity: sha512-CYN4/UO0VaqyHf46ogZzNrVX7jI3/CfiuktwKlwtpKA6hjf2+ivfgHSKzPpgPBcSEfiibA/26EeLuMnB6cpSrQ==} - engines: {node: '>=18.0.0'} + '@aws-sdk/token-providers@3.817.0': dependencies: '@aws-sdk/core': 3.816.0 '@aws-sdk/nested-clients': 3.817.0 @@ -794,119 +5547,74 @@ packages: tslib: 2.8.1 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/types@3.804.0: - resolution: {integrity: sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==} - engines: {node: '>=18.0.0'} + '@aws-sdk/types@3.804.0': dependencies: '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@aws-sdk/util-arn-parser@3.804.0: - resolution: {integrity: sha512-wmBJqn1DRXnZu3b4EkE6CWnoWMo1ZMvlfkqU5zPz67xx1GMaXlDCchFvKAXMjk4jn/L1O3tKnoFDNsoLV1kgNQ==} - engines: {node: '>=18.0.0'} + '@aws-sdk/util-arn-parser@3.804.0': dependencies: tslib: 2.8.1 - dev: true - /@aws-sdk/util-endpoints@3.808.0: - resolution: {integrity: sha512-N6Lic98uc4ADB7fLWlzx+1uVnq04VgVjngZvwHoujcRg9YDhIg9dUDiTzD5VZv13g1BrPYmvYP1HhsildpGV6w==} - engines: {node: '>=18.0.0'} + '@aws-sdk/util-endpoints@3.808.0': dependencies: '@aws-sdk/types': 3.804.0 '@smithy/types': 4.3.1 '@smithy/util-endpoints': 3.0.6 tslib: 2.8.1 - dev: true - /@aws-sdk/util-locate-window@3.804.0: - resolution: {integrity: sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==} - engines: {node: '>=18.0.0'} + '@aws-sdk/util-locate-window@3.804.0': dependencies: tslib: 2.8.1 - dev: true - /@aws-sdk/util-user-agent-browser@3.804.0: - resolution: {integrity: sha512-KfW6T6nQHHM/vZBBdGn6fMyG/MgX5lq82TDdX4HRQRRuHKLgBWGpKXqqvBwqIaCdXwWHgDrg2VQups6GqOWW2A==} + '@aws-sdk/util-user-agent-browser@3.804.0': dependencies: '@aws-sdk/types': 3.804.0 '@smithy/types': 4.3.1 bowser: 2.11.0 tslib: 2.8.1 - dev: true - /@aws-sdk/util-user-agent-node@3.816.0: - resolution: {integrity: sha512-Q6dxmuj4hL7pudhrneWEQ7yVHIQRBFr0wqKLF1opwOi1cIePuoEbPyJ2jkel6PDEv1YMfvsAKaRshp6eNA8VHg==} - engines: {node: '>=18.0.0'} - peerDependencies: - aws-crt: '>=1.0.0' - peerDependenciesMeta: - aws-crt: - optional: true + '@aws-sdk/util-user-agent-node@3.816.0': dependencies: '@aws-sdk/middleware-user-agent': 3.816.0 '@aws-sdk/types': 3.804.0 '@smithy/node-config-provider': 4.1.3 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@aws-sdk/xml-builder@3.804.0: - resolution: {integrity: sha512-JbGWp36IG9dgxtvC6+YXwt5WDZYfuamWFtVfK6fQpnmL96dx+GUPOXPKRWdw67WLKf2comHY28iX2d3z35I53Q==} - engines: {node: '>=18.0.0'} + '@aws-sdk/xml-builder@3.804.0': dependencies: '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@babel/code-frame@7.27.1: - resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} - engines: {node: '>=6.9.0'} + '@babel/code-frame@7.27.1': dependencies: '@babel/helper-validator-identifier': 7.27.1 js-tokens: 4.0.0 picocolors: 1.1.1 - dev: true - /@babel/helper-validator-identifier@7.27.1: - resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} - engines: {node: '>=6.9.0'} - dev: true + '@babel/helper-validator-identifier@7.27.1': {} - /@babel/runtime@7.27.3: - resolution: {integrity: sha512-7EYtGezsdiDMyY80+65EzwiGmcJqpmcZCojSXaRgdrBaGtWTgDZKq69cPIVped6MkIM78cTQ2GOiEYjwOlG4xw==} - engines: {node: '>=6.9.0'} + '@babel/runtime@7.27.3': {} - /@bufbuild/protobuf@2.5.1: - resolution: {integrity: sha512-lut4UTvKL8tqtend0UDu7R79/n9jA7Jtxf77RNPbxtmWqfWI4qQ9bTjf7KCS4vfqLmpQbuHr1ciqJumAgJODdw==} - dev: false + '@bufbuild/protobuf@2.5.1': {} - /@colors/colors@1.6.0: - resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} - engines: {node: '>=0.1.90'} - dev: false + '@colors/colors@1.6.0': {} - /@confio/ics23@0.6.8: - resolution: {integrity: sha512-wB6uo+3A50m0sW/EWcU64xpV/8wShZ6bMTa7pF8eYsTrSkQA7oLUIJcs/wb8g4y2Oyq701BaGiO6n/ak5WXO1w==} - deprecated: Unmaintained. The codebase for this package was moved to https://github.com/cosmos/ics23 but then the JS implementation was removed in https://github.com/cosmos/ics23/pull/353. Please consult the maintainers of https://github.com/cosmos for further assistance. + '@confio/ics23@0.6.8': dependencies: '@noble/hashes': 1.8.0 protobufjs: 6.11.4 - dev: false - /@cosmjs/amino@0.32.4: - resolution: {integrity: sha512-zKYOt6hPy8obIFtLie/xtygCkH9ZROiQ12UHfKsOkWaZfPQUvVbtgmu6R4Kn1tFLI/SRkw7eqhaogmW/3NYu/Q==} + '@cosmjs/amino@0.32.4': dependencies: '@cosmjs/crypto': 0.32.4 '@cosmjs/encoding': 0.32.4 '@cosmjs/math': 0.32.4 '@cosmjs/utils': 0.32.4 - dev: false - /@cosmjs/crypto@0.32.4: - resolution: {integrity: sha512-zicjGU051LF1V9v7bp8p7ovq+VyC91xlaHdsFOTo2oVry3KQikp8L/81RkXmUIT8FxMwdx1T7DmFwVQikcSDIw==} + '@cosmjs/crypto@0.32.4': dependencies: '@cosmjs/encoding': 0.32.4 '@cosmjs/math': 0.32.4 @@ -915,31 +5623,23 @@ packages: bn.js: 5.2.2 elliptic: 6.6.1 libsodium-wrappers-sumo: 0.7.15 - dev: false - /@cosmjs/encoding@0.32.4: - resolution: {integrity: sha512-tjvaEy6ZGxJchiizzTn7HVRiyTg1i4CObRRaTRPknm5EalE13SV+TCHq38gIDfyUeden4fCuaBVEdBR5+ti7Hw==} + '@cosmjs/encoding@0.32.4': dependencies: base64-js: 1.5.1 bech32: 1.1.4 readonly-date: 1.0.0 - dev: false - /@cosmjs/json-rpc@0.32.4: - resolution: {integrity: sha512-/jt4mBl7nYzfJ2J/VJ+r19c92mUKF0Lt0JxM3MXEJl7wlwW5haHAWtzRujHkyYMXOwIR+gBqT2S0vntXVBRyhQ==} + '@cosmjs/json-rpc@0.32.4': dependencies: '@cosmjs/stream': 0.32.4 xstream: 11.14.0 - dev: false - /@cosmjs/math@0.32.4: - resolution: {integrity: sha512-++dqq2TJkoB8zsPVYCvrt88oJWsy1vMOuSOKcdlnXuOA/ASheTJuYy4+oZlTQ3Fr8eALDLGGPhJI02W2HyAQaw==} + '@cosmjs/math@0.32.4': dependencies: bn.js: 5.2.2 - dev: false - /@cosmjs/proto-signing@0.32.4: - resolution: {integrity: sha512-QdyQDbezvdRI4xxSlyM1rSVBO2st5sqtbEIl3IX03uJ7YiZIQHyv6vaHVf1V4mapusCqguiHJzm4N4gsFdLBbQ==} + '@cosmjs/proto-signing@0.32.4': dependencies: '@cosmjs/amino': 0.32.4 '@cosmjs/crypto': 0.32.4 @@ -947,22 +5647,18 @@ packages: '@cosmjs/math': 0.32.4 '@cosmjs/utils': 0.32.4 cosmjs-types: 0.9.0 - dev: false - /@cosmjs/socket@0.32.4: - resolution: {integrity: sha512-davcyYziBhkzfXQTu1l5NrpDYv0K9GekZCC9apBRvL1dvMc9F/ygM7iemHjUA+z8tJkxKxrt/YPjJ6XNHzLrkw==} + '@cosmjs/socket@0.32.4(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@cosmjs/stream': 0.32.4 - isomorphic-ws: 4.0.1(ws@7.5.10) - ws: 7.5.10 + isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) xstream: 11.14.0 transitivePeerDependencies: - bufferutil - utf-8-validate - dev: false - /@cosmjs/stargate@0.32.4: - resolution: {integrity: sha512-usj08LxBSsPRq9sbpCeVdyLx2guEcOHfJS9mHGCLCXpdAPEIEQEtWLDpEUc0LEhWOx6+k/ChXTc5NpFkdrtGUQ==} + '@cosmjs/stargate@0.32.4(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@confio/ics23': 0.6.8 '@cosmjs/amino': 0.32.4 @@ -970,7 +5666,7 @@ packages: '@cosmjs/math': 0.32.4 '@cosmjs/proto-signing': 0.32.4 '@cosmjs/stream': 0.32.4 - '@cosmjs/tendermint-rpc': 0.32.4 + '@cosmjs/tendermint-rpc': 0.32.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@cosmjs/utils': 0.32.4 cosmjs-types: 0.9.0 xstream: 11.14.0 @@ -978,22 +5674,18 @@ packages: - bufferutil - debug - utf-8-validate - dev: false - /@cosmjs/stream@0.32.4: - resolution: {integrity: sha512-Gih++NYHEiP+oyD4jNEUxU9antoC0pFSg+33Hpp0JlHwH0wXhtD3OOKnzSfDB7OIoEbrzLJUpEjOgpCp5Z+W3A==} + '@cosmjs/stream@0.32.4': dependencies: xstream: 11.14.0 - dev: false - /@cosmjs/tendermint-rpc@0.32.4: - resolution: {integrity: sha512-MWvUUno+4bCb/LmlMIErLypXxy7ckUuzEmpufYYYd9wgbdCXaTaO08SZzyFM5PI8UJ/0S2AmUrgWhldlbxO8mw==} + '@cosmjs/tendermint-rpc@0.32.4(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@cosmjs/crypto': 0.32.4 '@cosmjs/encoding': 0.32.4 '@cosmjs/json-rpc': 0.32.4 '@cosmjs/math': 0.32.4 - '@cosmjs/socket': 0.32.4 + '@cosmjs/socket': 0.32.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@cosmjs/stream': 0.32.4 '@cosmjs/utils': 0.32.4 axios: 1.9.0 @@ -1003,37 +5695,26 @@ packages: - bufferutil - debug - utf-8-validate - dev: false - /@cosmjs/utils@0.32.4: - resolution: {integrity: sha512-D1Yc+Zy8oL/hkUkFUL/bwxvuDBzRGpc4cF7/SkdhxX4iHpSLgdOuTt1mhCh9+kl6NQREy9t7SYZ6xeW5gFe60w==} - dev: false + '@cosmjs/utils@0.32.4': {} - /@cosmostation/extension-client@0.1.15: - resolution: {integrity: sha512-HlXYJjFrNpjiV/GUKhri1UL8/bhlOIFFLpRF78YDSqq16x0+plIqx5CAvEusFcKTDpVfpeD5sfUHiKvP7euNFg==} - dev: false + '@cosmostation/extension-client@0.1.15': {} - /@cspotcode/source-map-support@0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} + '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 - dev: true - /@dabh/diagnostics@2.0.3: - resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==} + '@dabh/diagnostics@2.0.3': dependencies: colorspace: 1.1.4 enabled: 2.0.0 kuler: 2.0.0 - dev: false - /@dha-team/arbundles@1.0.3: - resolution: {integrity: sha512-/XelOo5V/1o1M8VchCQ+F7N5kxwirWh5jD5zg1KECaV80Qld6aKBSgG19VLlBsRUXbRUfjM+LDRPJm9Hjfmycg==} + '@dha-team/arbundles@1.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/hash': 5.8.0 - '@ethersproject/providers': 5.8.0 + '@ethersproject/providers': 5.8.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@ethersproject/signing-key': 5.8.0 '@ethersproject/transactions': 5.8.0 '@ethersproject/wallet': 5.8.0 @@ -1053,51 +5734,31 @@ packages: - bufferutil - encoding - utf-8-validate - dev: false - /@emnapi/core@1.4.3: - resolution: {integrity: sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==} - requiresBuild: true + '@emnapi/core@1.4.3': dependencies: '@emnapi/wasi-threads': 1.0.2 tslib: 2.8.1 - dev: true optional: true - /@emnapi/runtime@1.4.3: - resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} - requiresBuild: true + '@emnapi/runtime@1.4.3': dependencies: tslib: 2.8.1 - dev: true optional: true - /@emnapi/wasi-threads@1.0.2: - resolution: {integrity: sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==} - requiresBuild: true + '@emnapi/wasi-threads@1.0.2': dependencies: tslib: 2.8.1 - dev: true optional: true - /@eslint-community/eslint-utils@4.7.0(eslint@8.57.1): - resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/eslint-utils@4.7.0(eslint@8.57.1)': dependencies: eslint: 8.57.1 eslint-visitor-keys: 3.4.3 - dev: true - /@eslint-community/regexpp@4.12.1: - resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true + '@eslint-community/regexpp@4.12.1': {} - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 debug: 4.4.1(supports-color@8.1.1) @@ -1110,30 +5771,18 @@ packages: strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - dev: true - /@eslint/js@8.57.1: - resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + '@eslint/js@8.57.1': {} - /@ethereumjs/rlp@4.0.1: - resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} - engines: {node: '>=14'} - hasBin: true - dev: false + '@ethereumjs/rlp@4.0.1': {} - /@ethereumjs/util@8.1.0: - resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} - engines: {node: '>=14'} + '@ethereumjs/util@8.1.0': dependencies: '@ethereumjs/rlp': 4.0.1 ethereum-cryptography: 2.2.1 micro-ftch: 0.3.1 - dev: false - /@ethersproject/abstract-provider@5.8.0: - resolution: {integrity: sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg==} + '@ethersproject/abstract-provider@5.8.0': dependencies: '@ethersproject/bignumber': 5.8.0 '@ethersproject/bytes': 5.8.0 @@ -1142,63 +5791,47 @@ packages: '@ethersproject/properties': 5.8.0 '@ethersproject/transactions': 5.8.0 '@ethersproject/web': 5.8.0 - dev: false - /@ethersproject/abstract-signer@5.8.0: - resolution: {integrity: sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA==} + '@ethersproject/abstract-signer@5.8.0': dependencies: '@ethersproject/abstract-provider': 5.8.0 '@ethersproject/bignumber': 5.8.0 '@ethersproject/bytes': 5.8.0 '@ethersproject/logger': 5.8.0 '@ethersproject/properties': 5.8.0 - dev: false - /@ethersproject/address@5.8.0: - resolution: {integrity: sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA==} + '@ethersproject/address@5.8.0': dependencies: '@ethersproject/bignumber': 5.8.0 '@ethersproject/bytes': 5.8.0 '@ethersproject/keccak256': 5.8.0 '@ethersproject/logger': 5.8.0 '@ethersproject/rlp': 5.8.0 - dev: false - /@ethersproject/base64@5.8.0: - resolution: {integrity: sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ==} + '@ethersproject/base64@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 - dev: false - /@ethersproject/basex@5.8.0: - resolution: {integrity: sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q==} + '@ethersproject/basex@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/properties': 5.8.0 - dev: false - /@ethersproject/bignumber@5.8.0: - resolution: {integrity: sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA==} + '@ethersproject/bignumber@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/logger': 5.8.0 bn.js: 5.2.2 - dev: false - /@ethersproject/bytes@5.8.0: - resolution: {integrity: sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A==} + '@ethersproject/bytes@5.8.0': dependencies: '@ethersproject/logger': 5.8.0 - dev: false - /@ethersproject/constants@5.8.0: - resolution: {integrity: sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg==} + '@ethersproject/constants@5.8.0': dependencies: '@ethersproject/bignumber': 5.8.0 - dev: false - /@ethersproject/hash@5.8.0: - resolution: {integrity: sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA==} + '@ethersproject/hash@5.8.0': dependencies: '@ethersproject/abstract-signer': 5.8.0 '@ethersproject/address': 5.8.0 @@ -1209,10 +5842,8 @@ packages: '@ethersproject/logger': 5.8.0 '@ethersproject/properties': 5.8.0 '@ethersproject/strings': 5.8.0 - dev: false - /@ethersproject/hdnode@5.8.0: - resolution: {integrity: sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA==} + '@ethersproject/hdnode@5.8.0': dependencies: '@ethersproject/abstract-signer': 5.8.0 '@ethersproject/basex': 5.8.0 @@ -1226,10 +5857,8 @@ packages: '@ethersproject/strings': 5.8.0 '@ethersproject/transactions': 5.8.0 '@ethersproject/wordlists': 5.8.0 - dev: false - /@ethersproject/json-wallets@5.8.0: - resolution: {integrity: sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w==} + '@ethersproject/json-wallets@5.8.0': dependencies: '@ethersproject/abstract-signer': 5.8.0 '@ethersproject/address': 5.8.0 @@ -1244,40 +5873,28 @@ packages: '@ethersproject/transactions': 5.8.0 aes-js: 3.0.0 scrypt-js: 3.0.1 - dev: false - /@ethersproject/keccak256@5.8.0: - resolution: {integrity: sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng==} + '@ethersproject/keccak256@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 js-sha3: 0.8.0 - dev: false - /@ethersproject/logger@5.8.0: - resolution: {integrity: sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA==} - dev: false + '@ethersproject/logger@5.8.0': {} - /@ethersproject/networks@5.8.0: - resolution: {integrity: sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg==} + '@ethersproject/networks@5.8.0': dependencies: '@ethersproject/logger': 5.8.0 - dev: false - /@ethersproject/pbkdf2@5.8.0: - resolution: {integrity: sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg==} + '@ethersproject/pbkdf2@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/sha2': 5.8.0 - dev: false - /@ethersproject/properties@5.8.0: - resolution: {integrity: sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw==} + '@ethersproject/properties@5.8.0': dependencies: '@ethersproject/logger': 5.8.0 - dev: false - /@ethersproject/providers@5.8.0: - resolution: {integrity: sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw==} + '@ethersproject/providers@5.8.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@ethersproject/abstract-provider': 5.8.0 '@ethersproject/abstract-signer': 5.8.0 @@ -1298,36 +5915,28 @@ packages: '@ethersproject/transactions': 5.8.0 '@ethersproject/web': 5.8.0 bech32: 1.1.4 - ws: 8.18.0 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate - dev: false - /@ethersproject/random@5.8.0: - resolution: {integrity: sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A==} + '@ethersproject/random@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/logger': 5.8.0 - dev: false - /@ethersproject/rlp@5.8.0: - resolution: {integrity: sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q==} + '@ethersproject/rlp@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/logger': 5.8.0 - dev: false - /@ethersproject/sha2@5.8.0: - resolution: {integrity: sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A==} + '@ethersproject/sha2@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/logger': 5.8.0 hash.js: 1.1.7 - dev: false - /@ethersproject/signing-key@5.8.0: - resolution: {integrity: sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w==} + '@ethersproject/signing-key@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/logger': 5.8.0 @@ -1335,18 +5944,14 @@ packages: bn.js: 5.2.2 elliptic: 6.6.1 hash.js: 1.1.7 - dev: false - /@ethersproject/strings@5.8.0: - resolution: {integrity: sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg==} + '@ethersproject/strings@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/constants': 5.8.0 '@ethersproject/logger': 5.8.0 - dev: false - /@ethersproject/transactions@5.8.0: - resolution: {integrity: sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg==} + '@ethersproject/transactions@5.8.0': dependencies: '@ethersproject/address': 5.8.0 '@ethersproject/bignumber': 5.8.0 @@ -1357,10 +5962,8 @@ packages: '@ethersproject/properties': 5.8.0 '@ethersproject/rlp': 5.8.0 '@ethersproject/signing-key': 5.8.0 - dev: false - /@ethersproject/wallet@5.8.0: - resolution: {integrity: sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA==} + '@ethersproject/wallet@5.8.0': dependencies: '@ethersproject/abstract-provider': 5.8.0 '@ethersproject/abstract-signer': 5.8.0 @@ -1377,124 +5980,79 @@ packages: '@ethersproject/signing-key': 5.8.0 '@ethersproject/transactions': 5.8.0 '@ethersproject/wordlists': 5.8.0 - dev: false - /@ethersproject/web@5.8.0: - resolution: {integrity: sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw==} + '@ethersproject/web@5.8.0': dependencies: '@ethersproject/base64': 5.8.0 '@ethersproject/bytes': 5.8.0 '@ethersproject/logger': 5.8.0 '@ethersproject/properties': 5.8.0 '@ethersproject/strings': 5.8.0 - dev: false - /@ethersproject/wordlists@5.8.0: - resolution: {integrity: sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg==} + '@ethersproject/wordlists@5.8.0': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/hash': 5.8.0 '@ethersproject/logger': 5.8.0 '@ethersproject/properties': 5.8.0 '@ethersproject/strings': 5.8.0 - dev: false - /@fastify/busboy@2.1.1: - resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} - engines: {node: '>=14'} - dev: false + '@fastify/busboy@2.1.1': {} - /@hapi/hoek@9.3.0: - resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} - dev: true + '@hapi/hoek@9.3.0': {} - /@hapi/topo@5.1.0: - resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + '@hapi/topo@5.1.0': dependencies: '@hapi/hoek': 9.3.0 - dev: true - /@humanwhocodes/config-array@0.13.0: - resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead + '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.4.1(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color - dev: true - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true + '@humanwhocodes/module-importer@1.0.1': {} - /@humanwhocodes/object-schema@2.0.3: - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead - dev: true + '@humanwhocodes/object-schema@2.0.3': {} - /@inquirer/checkbox@4.1.8(@types/node@18.19.108): - resolution: {integrity: sha512-d/QAsnwuHX2OPolxvYcgSj7A9DO9H6gVOy2DvBTx+P2LH2iRTo/RSGV3iwCzW024nP9hw98KIuDmdyhZQj1UQg==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + '@inquirer/checkbox@4.1.8(@types/node@18.19.108)': dependencies: '@inquirer/core': 10.1.13(@types/node@18.19.108) '@inquirer/figures': 1.0.12 '@inquirer/type': 3.0.7(@types/node@18.19.108) - '@types/node': 18.19.108 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 18.19.108 - /@inquirer/confirm@3.2.0: - resolution: {integrity: sha512-oOIwPs0Dvq5220Z8lGL/6LHRTEr9TgLHmiI99Rj1PJ1p1czTys+olrgBqZk4E2qC0YTzeHprxSQmoHioVdJ7Lw==} - engines: {node: '>=18'} + '@inquirer/confirm@3.2.0': dependencies: '@inquirer/core': 9.2.1 '@inquirer/type': 1.5.5 - dev: true - /@inquirer/confirm@5.1.12(@types/node@18.19.108): - resolution: {integrity: sha512-dpq+ielV9/bqgXRUbNH//KsY6WEw9DrGPmipkpmgC1Y46cwuBTNx7PXFWTjc3MQ+urcc0QxoVHcMI0FW4Ok0hg==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + '@inquirer/confirm@5.1.12(@types/node@18.19.108)': dependencies: '@inquirer/core': 10.1.13(@types/node@18.19.108) '@inquirer/type': 3.0.7(@types/node@18.19.108) + optionalDependencies: '@types/node': 18.19.108 - /@inquirer/core@10.1.13(@types/node@18.19.108): - resolution: {integrity: sha512-1viSxebkYN2nJULlzCxES6G9/stgHSepZ9LqqfdIGPHj5OHhiBUXVS0a6R0bEC2A+VL4D9w6QB66ebCr6HGllA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + '@inquirer/core@10.1.13(@types/node@18.19.108)': dependencies: '@inquirer/figures': 1.0.12 '@inquirer/type': 3.0.7(@types/node@18.19.108) - '@types/node': 18.19.108 ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 18.19.108 - /@inquirer/core@9.2.1: - resolution: {integrity: sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==} - engines: {node: '>=18'} + '@inquirer/core@9.2.1': dependencies: '@inquirer/figures': 1.0.12 '@inquirer/type': 2.0.0 @@ -1508,96 +6066,53 @@ packages: strip-ansi: 6.0.1 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 - dev: true - /@inquirer/editor@4.2.13(@types/node@18.19.108): - resolution: {integrity: sha512-WbicD9SUQt/K8O5Vyk9iC2ojq5RHoCLK6itpp2fHsWe44VxxcA9z3GTWlvjSTGmMQpZr+lbVmrxdHcumJoLbMA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + '@inquirer/editor@4.2.13(@types/node@18.19.108)': dependencies: '@inquirer/core': 10.1.13(@types/node@18.19.108) '@inquirer/type': 3.0.7(@types/node@18.19.108) - '@types/node': 18.19.108 external-editor: 3.1.0 + optionalDependencies: + '@types/node': 18.19.108 - /@inquirer/expand@4.0.15(@types/node@18.19.108): - resolution: {integrity: sha512-4Y+pbr/U9Qcvf+N/goHzPEXiHH8680lM3Dr3Y9h9FFw4gHS+zVpbj8LfbKWIb/jayIB4aSO4pWiBTrBYWkvi5A==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + '@inquirer/expand@4.0.15(@types/node@18.19.108)': dependencies: '@inquirer/core': 10.1.13(@types/node@18.19.108) '@inquirer/type': 3.0.7(@types/node@18.19.108) - '@types/node': 18.19.108 yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 18.19.108 - /@inquirer/figures@1.0.12: - resolution: {integrity: sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==} - engines: {node: '>=18'} - - /@inquirer/input@2.3.0: - resolution: {integrity: sha512-XfnpCStx2xgh1LIRqPXrTNEEByqQWoxsWYzNRSEUxJ5c6EQlhMogJ3vHKu8aXuTacebtaZzMAHwEL0kAflKOBw==} - engines: {node: '>=18'} - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 1.5.5 - dev: true + '@inquirer/figures@1.0.12': {} - /@inquirer/input@4.1.12(@types/node@18.19.108): - resolution: {integrity: sha512-xJ6PFZpDjC+tC1P8ImGprgcsrzQRsUh9aH3IZixm1lAZFK49UGHxM3ltFfuInN2kPYNfyoPRh+tU4ftsjPLKqQ==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + '@inquirer/input@2.3.0': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 1.5.5 + + '@inquirer/input@4.1.12(@types/node@18.19.108)': dependencies: '@inquirer/core': 10.1.13(@types/node@18.19.108) '@inquirer/type': 3.0.7(@types/node@18.19.108) + optionalDependencies: '@types/node': 18.19.108 - /@inquirer/number@3.0.15(@types/node@18.19.108): - resolution: {integrity: sha512-xWg+iYfqdhRiM55MvqiTCleHzszpoigUpN5+t1OMcRkJrUrw7va3AzXaxvS+Ak7Gny0j2mFSTv2JJj8sMtbV2g==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + '@inquirer/number@3.0.15(@types/node@18.19.108)': dependencies: '@inquirer/core': 10.1.13(@types/node@18.19.108) '@inquirer/type': 3.0.7(@types/node@18.19.108) + optionalDependencies: '@types/node': 18.19.108 - /@inquirer/password@4.0.15(@types/node@18.19.108): - resolution: {integrity: sha512-75CT2p43DGEnfGTaqFpbDC2p2EEMrq0S+IRrf9iJvYreMy5mAWj087+mdKyLHapUEPLjN10mNvABpGbk8Wdraw==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + '@inquirer/password@4.0.15(@types/node@18.19.108)': dependencies: '@inquirer/core': 10.1.13(@types/node@18.19.108) '@inquirer/type': 3.0.7(@types/node@18.19.108) - '@types/node': 18.19.108 ansi-escapes: 4.3.2 + optionalDependencies: + '@types/node': 18.19.108 - /@inquirer/prompts@7.5.3(@types/node@18.19.108): - resolution: {integrity: sha512-8YL0WiV7J86hVAxrh3fE5mDCzcTDe1670unmJRz6ArDgN+DBK1a0+rbnNWp4DUB5rPMwqD5ZP6YHl9KK1mbZRg==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + '@inquirer/prompts@7.5.3(@types/node@18.19.108)': dependencies: '@inquirer/checkbox': 4.1.8(@types/node@18.19.108) '@inquirer/confirm': 5.1.12(@types/node@18.19.108) @@ -1609,106 +6124,65 @@ packages: '@inquirer/rawlist': 4.1.3(@types/node@18.19.108) '@inquirer/search': 3.0.15(@types/node@18.19.108) '@inquirer/select': 4.2.3(@types/node@18.19.108) + optionalDependencies: '@types/node': 18.19.108 - /@inquirer/rawlist@4.1.3(@types/node@18.19.108): - resolution: {integrity: sha512-7XrV//6kwYumNDSsvJIPeAqa8+p7GJh7H5kRuxirct2cgOcSWwwNGoXDRgpNFbY/MG2vQ4ccIWCi8+IXXyFMZA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + '@inquirer/rawlist@4.1.3(@types/node@18.19.108)': dependencies: '@inquirer/core': 10.1.13(@types/node@18.19.108) '@inquirer/type': 3.0.7(@types/node@18.19.108) - '@types/node': 18.19.108 yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 18.19.108 - /@inquirer/search@3.0.15(@types/node@18.19.108): - resolution: {integrity: sha512-YBMwPxYBrADqyvP4nNItpwkBnGGglAvCLVW8u4pRmmvOsHUtCAUIMbUrLX5B3tFL1/WsLGdQ2HNzkqswMs5Uaw==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + '@inquirer/search@3.0.15(@types/node@18.19.108)': dependencies: '@inquirer/core': 10.1.13(@types/node@18.19.108) '@inquirer/figures': 1.0.12 '@inquirer/type': 3.0.7(@types/node@18.19.108) - '@types/node': 18.19.108 yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 18.19.108 - /@inquirer/select@2.5.0: - resolution: {integrity: sha512-YmDobTItPP3WcEI86GvPo+T2sRHkxxOq/kXmsBjHS5BVXUgvgZ5AfJjkvQvZr03T81NnI3KrrRuMzeuYUQRFOA==} - engines: {node: '>=18'} + '@inquirer/select@2.5.0': dependencies: '@inquirer/core': 9.2.1 '@inquirer/figures': 1.0.12 '@inquirer/type': 1.5.5 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 - dev: true - /@inquirer/select@4.2.3(@types/node@18.19.108): - resolution: {integrity: sha512-OAGhXU0Cvh0PhLz9xTF/kx6g6x+sP+PcyTiLvCrewI99P3BBeexD+VbuwkNDvqGkk3y2h5ZiWLeRP7BFlhkUDg==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + '@inquirer/select@4.2.3(@types/node@18.19.108)': dependencies: '@inquirer/core': 10.1.13(@types/node@18.19.108) '@inquirer/figures': 1.0.12 '@inquirer/type': 3.0.7(@types/node@18.19.108) - '@types/node': 18.19.108 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 18.19.108 - /@inquirer/testing@2.1.47(@types/node@18.19.108): - resolution: {integrity: sha512-hcMbU8XjIZeeWp6nojSCZ59DEaFy7nO2K0h6Plqg2WJDkt4XZ0kzwVbLF3aEgw4+DlNBNhE73xCWfpKp7DhRyg==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + '@inquirer/testing@2.1.47(@types/node@18.19.108)': dependencies: '@inquirer/type': 3.0.7(@types/node@18.19.108) - '@types/node': 18.19.108 ansi-escapes: 4.3.2 mute-stream: 2.0.0 - dev: false + optionalDependencies: + '@types/node': 18.19.108 - /@inquirer/type@1.5.5: - resolution: {integrity: sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==} - engines: {node: '>=18'} + '@inquirer/type@1.5.5': dependencies: mute-stream: 1.0.0 - dev: true - /@inquirer/type@2.0.0: - resolution: {integrity: sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==} - engines: {node: '>=18'} + '@inquirer/type@2.0.0': dependencies: mute-stream: 1.0.0 - dev: true - /@inquirer/type@3.0.7(@types/node@18.19.108): - resolution: {integrity: sha512-PfunHQcjwnju84L+ycmcMKB/pTPIngjUJvfnRhKY6FKPuYXlM4aQCb/nIdTFR6BEhMjFvngzvng/vBAJMZpLSA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - dependencies: + '@inquirer/type@3.0.7(@types/node@18.19.108)': + optionalDependencies: '@types/node': 18.19.108 - /@irys/arweave@0.0.2: - resolution: {integrity: sha512-ddE5h4qXbl0xfGlxrtBIwzflaxZUDlDs43TuT0u1OMfyobHul4AA1VEX72Rpzw2bOh4vzoytSqA1jCM7x9YtHg==} + '@irys/arweave@0.0.2': dependencies: asn1.js: 5.4.1 async-retry: 1.3.3 @@ -1717,14 +6191,12 @@ packages: bignumber.js: 9.3.0 transitivePeerDependencies: - debug - dev: false - /@irys/bundles@0.0.1(arweave@1.15.7): - resolution: {integrity: sha512-yeQNzElERksFbfbNxJQsMkhtkI3+tNqIMZ/Wwxh76NVBmCnCP5huefOv7ET0MOO7TEQL+TqvKSqmFklYSvTyHw==} + '@irys/bundles@0.0.1(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/hash': 5.8.0 - '@ethersproject/providers': 5.8.0 + '@ethersproject/providers': 5.8.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@ethersproject/signing-key': 5.8.0 '@ethersproject/transactions': 5.8.0 '@ethersproject/wallet': 5.8.0 @@ -1746,14 +6218,12 @@ packages: - debug - encoding - utf-8-validate - dev: false - /@irys/bundles@0.0.3(arweave@1.15.7): - resolution: {integrity: sha512-zSorcWJO0W7WHBPaTF6C3FNig1ZrCSKIDqnkk91SLl9jcybz5bWmthUFL2D7ywzh1XV5tZQC09bkNJRcXeeGOA==} + '@irys/bundles@0.0.3(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@ethersproject/bytes': 5.8.0 '@ethersproject/hash': 5.8.0 - '@ethersproject/providers': 5.8.0 + '@ethersproject/providers': 5.8.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@ethersproject/signing-key': 5.8.0 '@ethersproject/transactions': 5.8.0 '@ethersproject/wallet': 5.8.0 @@ -1776,22 +6246,17 @@ packages: - debug - encoding - utf-8-validate - dev: false - /@irys/query@0.0.9: - resolution: {integrity: sha512-uBIy8qeOQupUSBzR+1KU02JJXFp5Ue9l810PIbBF/ylUB8RTreUFkyyABZ7J3FUaOIXFYrT7WVFSJSzXM7P+8w==} - engines: {node: '>=16.10.0'} + '@irys/query@0.0.9': dependencies: async-retry: 1.3.3 axios: 1.9.0 transitivePeerDependencies: - debug - dev: false - /@irys/upload-core@0.0.10(arweave@1.15.7): - resolution: {integrity: sha512-E7kCNSOTPqwBbnd2wnnklPrR0HtLnENmu5NVhgs+B9cUeyN9AcvzRDOJLKNmYS6q514bDwb/PUgB+vP/070now==} + '@irys/upload-core@0.0.10(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@irys/bundles': 0.0.3(arweave@1.15.7) + '@irys/bundles': 0.0.3(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@irys/query': 0.0.9 '@supercharge/promise-pool': 3.2.0 async-retry: 1.3.3 @@ -1804,12 +6269,10 @@ packages: - debug - encoding - utf-8-validate - dev: false - /@irys/upload-core@0.0.9(arweave@1.15.7): - resolution: {integrity: sha512-Ha4pX8jgYBA3dg5KHDPk+Am0QO+SmvnmgCwKa6uiDXZKuVr0neSx4V1OAHoP+As+j7yYgfChdsdrvsNzZGGehA==} + '@irys/upload-core@0.0.9(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@irys/bundles': 0.0.1(arweave@1.15.7) + '@irys/bundles': 0.0.1(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@irys/query': 0.0.9 '@supercharge/promise-pool': 3.2.0 async-retry: 1.3.3 @@ -1822,16 +6285,14 @@ packages: - debug - encoding - utf-8-validate - dev: false - /@irys/upload-solana@0.1.8(arweave@1.15.7)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3): - resolution: {integrity: sha512-pJyG8uJ3NIpbIGDA9hYRHij5xF1DrU0QMa4i2mVJlYwbSdQfNdcJ8SdT4ZsrTh1g/+OWMzbo2l/ziMY1Js9HGA==} + '@irys/upload-solana@0.1.8(arweave@1.15.7)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: - '@irys/bundles': 0.0.3(arweave@1.15.7) - '@irys/upload': 0.0.15(arweave@1.15.7) - '@irys/upload-core': 0.0.10(arweave@1.15.7) - '@solana/spl-token': 0.4.13(@solana/web3.js@1.98.2)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) - '@solana/web3.js': 1.98.2(typescript@5.8.3) + '@irys/bundles': 0.0.3(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@irys/upload': 0.0.15(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@irys/upload-core': 0.0.10(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.13(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) async-retry: 1.3.3 bignumber.js: 9.3.0 bs58: 5.0.0 @@ -1844,13 +6305,11 @@ packages: - fastestsmallesttextencoderdecoder - typescript - utf-8-validate - dev: false - /@irys/upload@0.0.14(arweave@1.15.7): - resolution: {integrity: sha512-6XdkyS5cVINcPjv1MzA6jDsawfG7Bw6sq5wilNx5B4X7nNotBPC3SuRrZs06G/0BTUj15W+TRO/tZTDWRUfZzA==} + '@irys/upload@0.0.14(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@irys/bundles': 0.0.1(arweave@1.15.7) - '@irys/upload-core': 0.0.9(arweave@1.15.7) + '@irys/bundles': 0.0.1(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@irys/upload-core': 0.0.9(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10) async-retry: 1.3.3 axios: 1.9.0 base64url: 3.0.1 @@ -1865,13 +6324,11 @@ packages: - debug - encoding - utf-8-validate - dev: false - /@irys/upload@0.0.15(arweave@1.15.7): - resolution: {integrity: sha512-VS1ieI8Hipv7F/odL2rDfn0S9VCwj3GFhROI8el0RjzpcaXCobezP0V4yuvppyB+E4Oiu6xQTXooaIBh/S7xPA==} + '@irys/upload@0.0.15(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@irys/bundles': 0.0.3(arweave@1.15.7) - '@irys/upload-core': 0.0.10(arweave@1.15.7) + '@irys/bundles': 0.0.3(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@irys/upload-core': 0.0.10(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10) async-retry: 1.3.3 axios: 1.9.0 base64url: 3.0.1 @@ -1886,16 +6343,14 @@ packages: - debug - encoding - utf-8-validate - dev: false - /@irys/web-upload-solana@0.1.8(arweave@1.15.7)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3): - resolution: {integrity: sha512-jzPihVOFbvTiJRwsWDOiip8CNk2I5TAkyZwWbkeFJQRvX95HOw1iI4KlbeBTDc6EJcyj8BWsxkMqIE/cBqlKoQ==} + '@irys/web-upload-solana@0.1.8(arweave@1.15.7)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: - '@irys/bundles': 0.0.3(arweave@1.15.7) - '@irys/upload-core': 0.0.10(arweave@1.15.7) - '@irys/web-upload': 0.0.15(arweave@1.15.7) - '@solana/spl-token': 0.4.13(@solana/web3.js@1.98.2)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) - '@solana/web3.js': 1.98.2(typescript@5.8.3) + '@irys/bundles': 0.0.3(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@irys/upload-core': 0.0.10(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@irys/web-upload': 0.0.15(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.13(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) async-retry: 1.3.3 bignumber.js: 9.3.0 bs58: 5.0.0 @@ -1908,13 +6363,11 @@ packages: - fastestsmallesttextencoderdecoder - typescript - utf-8-validate - dev: false - /@irys/web-upload@0.0.14(arweave@1.15.7): - resolution: {integrity: sha512-vBIslG2KSGyeJjZNTbSvLmGO/bbHS1jcDkD0A1aLgx7xkiTpfdbXOrn4hznPkzQhPtluX4aL44On0GXrEcD8eQ==} + '@irys/web-upload@0.0.14(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@irys/bundles': 0.0.1(arweave@1.15.7) - '@irys/upload-core': 0.0.9(arweave@1.15.7) + '@irys/bundles': 0.0.1(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@irys/upload-core': 0.0.9(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10) async-retry: 1.3.3 axios: 1.9.0 base64url: 3.0.1 @@ -1926,13 +6379,11 @@ packages: - debug - encoding - utf-8-validate - dev: false - /@irys/web-upload@0.0.15(arweave@1.15.7): - resolution: {integrity: sha512-ajwy+CHEL+OH6UpO3dDT6xAK5XmJy2xK9Qb4aj+7uphSUczEiSxuSsO0sz/ekAgO/Ymwgkdozk3U1WAnUjbxMg==} + '@irys/web-upload@0.0.15(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@irys/bundles': 0.0.3(arweave@1.15.7) - '@irys/upload-core': 0.0.10(arweave@1.15.7) + '@irys/bundles': 0.0.3(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@irys/upload-core': 0.0.10(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10) async-retry: 1.3.3 axios: 1.9.0 base64url: 3.0.1 @@ -1944,26 +6395,17 @@ packages: - debug - encoding - utf-8-validate - dev: false - /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - dev: true + '@jridgewell/resolve-uri@3.1.2': {} - /@jridgewell/sourcemap-codec@1.5.0: - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - dev: true + '@jridgewell/sourcemap-codec@1.5.0': {} - /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - dev: true - /@keplr-wallet/common@0.12.237(bitcoinjs-lib@6.1.7)(starknet@6.24.1): - resolution: {integrity: sha512-ZIa0PnhdYSQxiimMbUIRJoF7U7Y/TkkPmLADzVWqcz+SjioS2GUvlTjXnwaizbxkOVEY8kzC1xKsEQP/HbNxVA==} + '@keplr-wallet/common@0.12.237(bitcoinjs-lib@6.1.7)(starknet@6.24.1)': dependencies: '@keplr-wallet/crypto': 0.12.237(bitcoinjs-lib@6.1.7)(starknet@6.24.1) '@keplr-wallet/types': 0.12.237(starknet@6.24.1) @@ -1972,10 +6414,8 @@ packages: transitivePeerDependencies: - bitcoinjs-lib - starknet - dev: false - /@keplr-wallet/cosmos@0.12.237(bitcoinjs-lib@6.1.7)(starknet@6.24.1): - resolution: {integrity: sha512-T5sdKj3TYgwEfY5XIZI2qEEA2WbnuXaJLn9gYM6LTbkny2DMxmhrj9OIoq92X3qHgGm5t539AYzxigvutdMQ4w==} + '@keplr-wallet/cosmos@0.12.237(bitcoinjs-lib@6.1.7)(starknet@6.24.1)': dependencies: '@ethersproject/address': 5.8.0 '@keplr-wallet/common': 0.12.237(bitcoinjs-lib@6.1.7)(starknet@6.24.1) @@ -1991,13 +6431,8 @@ packages: transitivePeerDependencies: - bitcoinjs-lib - starknet - dev: false - /@keplr-wallet/crypto@0.12.237(bitcoinjs-lib@6.1.7)(starknet@6.24.1): - resolution: {integrity: sha512-H0O+A6qIhCgv3ZWxkfUoMZ7kBJJFS51xd273eOaaK2nztPtkpumT+Y0h/0899pCzeWTEbJ22lkZg7f/awElWow==} - peerDependencies: - bitcoinjs-lib: ^6 - starknet: ^6 + '@keplr-wallet/crypto@0.12.237(bitcoinjs-lib@6.1.7)(starknet@6.24.1)': dependencies: '@noble/curves': 1.9.1 '@noble/hashes': 1.8.0 @@ -2008,51 +6443,39 @@ packages: buffer: 6.0.3 ecpair: 2.1.0 starknet: 6.24.1 - dev: false - /@keplr-wallet/proto-types@0.12.237: - resolution: {integrity: sha512-5uvCm9Nt7Y10VINqaOQiVwM625+dPv3uzBB2llasuaBjvZpNRXfNCT8lqqwok0WXY0M5fVsF+CH0Cxlrw+NLrA==} + '@keplr-wallet/proto-types@0.12.237': dependencies: long: 4.0.0 protobufjs: 6.11.4 - dev: false - /@keplr-wallet/simple-fetch@0.12.237: - resolution: {integrity: sha512-NhBV5+hvFIEVSIdsPsJ+7ejc1JZOOwcinhJveFKhIPcLcQY4ftCl8cM+BmZZu6tuiw4qRkbRpUw6C5MkXNbkGg==} - dev: false + '@keplr-wallet/simple-fetch@0.12.237': {} - /@keplr-wallet/types@0.12.237(starknet@6.24.1): - resolution: {integrity: sha512-J94psRTTKhLhvPyGSUGL1xHjNAFLkcUmhr349ZNhtp3wSEX/5ybYQi1yv1ZN80M6BUjUaQLN5pfzglFynHDdyw==} - peerDependencies: - starknet: ^6 + '@keplr-wallet/types@0.12.237(starknet@6.24.1)': dependencies: long: 4.0.0 starknet: 6.24.1 - dev: false - /@keplr-wallet/unit@0.12.237(starknet@6.24.1): - resolution: {integrity: sha512-6242z2khwVAREMKPiYkRP9arBw1HKlEjvkgqFo6e53x7irMvymTayRKVNma7GwFUyQmSIT7VfLVPwt0Ch0QxtQ==} + '@keplr-wallet/unit@0.12.237(starknet@6.24.1)': dependencies: '@keplr-wallet/types': 0.12.237(starknet@6.24.1) big-integer: 1.6.52 utility-types: 3.11.0 transitivePeerDependencies: - starknet - dev: false - /@kyvejs/sdk@1.4.5(bitcoinjs-lib@6.1.7)(starknet@6.24.1): - resolution: {integrity: sha512-eOrxvqAKz9xD5620awGWPc33tyhCGyi684qHQjQswVZUN5/pNNRxOet6gL0K41t0OEMaRmjpWf2oSigHam7Mgw==} + '@kyvejs/sdk@1.4.5(bitcoinjs-lib@6.1.7)(bufferutil@4.0.9)(starknet@6.24.1)(utf-8-validate@5.0.10)': dependencies: '@cosmjs/amino': 0.32.4 '@cosmjs/crypto': 0.32.4 '@cosmjs/encoding': 0.32.4 '@cosmjs/math': 0.32.4 '@cosmjs/proto-signing': 0.32.4 - '@cosmjs/stargate': 0.32.4 + '@cosmjs/stargate': 0.32.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@cosmostation/extension-client': 0.1.15 '@keplr-wallet/cosmos': 0.12.237(bitcoinjs-lib@6.1.7)(starknet@6.24.1) '@kyvejs/types': 1.5.0 - axios: 0.27.2 + axios: 0.27.2(debug@4.3.4) bech32: 2.0.0 bignumber.js: 9.1.2 cosmjs-types: 0.9.0 @@ -2064,49 +6487,37 @@ packages: - debug - starknet - utf-8-validate - dev: false - /@kyvejs/types@1.5.0: - resolution: {integrity: sha512-UTetmRef566kECBXyGRUmcdHvK2FI04YiS2c910pAMSZI6HmgU+cdNqzQBa+8ei6gguyemYIhf1aEJI7klqJjQ==} + '@kyvejs/types@1.5.0': dependencies: '@bufbuild/protobuf': 2.5.1 long: 5.3.2 protobufjs: 7.5.3 - dev: false - /@ledgerhq/devices@8.4.5: - resolution: {integrity: sha512-wzfX7JRfTPXJl+4BUXxwUFUGghtqQA6V1I6xNxGfXKHjd51rjijL+9xcfZ1oj66dNNm9wiCBBZhMXXusYDUjWg==} + '@ledgerhq/devices@8.4.5': dependencies: '@ledgerhq/errors': 6.21.0 '@ledgerhq/logs': 6.12.0 rxjs: 7.8.2 semver: 7.7.2 - dev: false - /@ledgerhq/errors@6.21.0: - resolution: {integrity: sha512-2k5veG9eu+1X5oBVhKSWzA6RE+TWOTSJnytjEhPBTZB6h2ixMrCUMWF5+OAWXiI1EiSNsvGGk19XO87qpZiVTw==} - dev: false + '@ledgerhq/errors@6.21.0': {} - /@ledgerhq/hw-app-solana@7.4.1: - resolution: {integrity: sha512-XOALs8TJ7eqKrJCNCMFv7zu8EBV89QZjFvESJyr9aP9NPB4ogTdWo4AVwsu2Z7SoKW5CAfJhCDzn5d9L1ilsOg==} + '@ledgerhq/hw-app-solana@7.4.1': dependencies: '@ledgerhq/errors': 6.21.0 '@ledgerhq/hw-transport': 6.31.5 bip32-path: 0.4.2 - dev: false - /@ledgerhq/hw-transport-node-hid-noevents@6.30.6: - resolution: {integrity: sha512-k94aZzypHZpT5PfTcHLxi1WMZ99OySamFQMcNT3lDhLdQvKDBi3M1+DNMFq0WwRy352yokTy5dTZGZL9nMxjcg==} + '@ledgerhq/hw-transport-node-hid-noevents@6.30.6': dependencies: '@ledgerhq/devices': 8.4.5 '@ledgerhq/errors': 6.21.0 '@ledgerhq/hw-transport': 6.31.5 '@ledgerhq/logs': 6.12.0 node-hid: 2.1.2 - dev: false - /@ledgerhq/hw-transport-node-hid-singleton@6.31.6: - resolution: {integrity: sha512-2ZqYIRGuVTzAmyM/sc5aQneiJCz8CPjCiZdklSV1huKbQyF2uFuHLwMrXK4cqiErAcgyliO/1ZCxz3i2z/Hgmw==} + '@ledgerhq/hw-transport-node-hid-singleton@6.31.6': dependencies: '@ledgerhq/devices': 8.4.5 '@ledgerhq/errors': 6.21.0 @@ -2115,31 +6526,25 @@ packages: '@ledgerhq/logs': 6.12.0 node-hid: 2.1.2 usb: 2.9.0 - dev: false - /@ledgerhq/hw-transport@6.31.5: - resolution: {integrity: sha512-P7nyHU2EnotdWfN9XUKvCw4sllbERNmzb7ruyljqyiBuUfdDvzLJVFgVhu6j+8Y9cGxPysf3i3QtImFsZwKkdQ==} + '@ledgerhq/hw-transport@6.31.5': dependencies: '@ledgerhq/devices': 8.4.5 '@ledgerhq/errors': 6.21.0 '@ledgerhq/logs': 6.12.0 events: 3.3.0 - dev: false - /@ledgerhq/logs@6.12.0: - resolution: {integrity: sha512-ExDoj1QV5eC6TEbMdLUMMk9cfvNKhhv5gXol4SmULRVCx/3iyCPhJ74nsb3S0Vb+/f+XujBEj3vQn5+cwS0fNA==} - dev: false + '@ledgerhq/logs@6.12.0': {} - /@metaplex-foundation/amman-client@0.2.4(typescript@5.8.3): - resolution: {integrity: sha512-AB2zKDrGyJtQqUmOswsZCflIuldYmsPvL/zIU/66JOD9HDo8yyz5ITCrs+/0QoW+CIJkotC5JEhuYuBnqLhmNw==} + '@metaplex-foundation/amman-client@0.2.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: '@metaplex-foundation/cusper': 0.0.2 '@solana/spl-token-registry': 0.2.4574 - '@solana/web3.js': 1.98.2(typescript@5.8.3) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) bn.js: 5.2.2 debug: 4.4.1(supports-color@8.1.1) js-sha3: 0.8.0 - socket.io-client: 4.8.1 + socket.io-client: 4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) tweetnacl: 1.0.3 transitivePeerDependencies: - bufferutil @@ -2147,15 +6552,12 @@ packages: - supports-color - typescript - utf-8-validate - dev: true - /@metaplex-foundation/amman@0.12.1(typescript@5.8.3): - resolution: {integrity: sha512-F3cdHr11ByLGMCrSBRvRCf5uIlhLE+5sWaHT2ZzcE6zVyDta3gs/A12ZBzYZS8ugNETNpJySfB42kMp1VZwbUA==} - hasBin: true + '@metaplex-foundation/amman@0.12.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: - '@metaplex-foundation/amman-client': 0.2.4(typescript@5.8.3) - '@solana/spl-token': 0.2.0(typescript@5.8.3) - '@solana/web3.js': 1.98.2(typescript@5.8.3) + '@metaplex-foundation/amman-client': 0.2.4(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.2.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) ansi-colors: 4.1.3 bn.js: 5.2.2 buffer-hexdump: 1.0.0 @@ -2165,7 +6567,7 @@ packages: diff: 5.2.0 numeral: 2.0.6 port-pid: 0.0.7 - socket.io: 4.8.1 + socket.io: 4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) text-table: 0.2.0 timeago.js: 4.0.2 ts-essentials: 9.4.2(typescript@5.8.3) @@ -2177,43 +6579,32 @@ packages: - supports-color - typescript - utf-8-validate - dev: true - /@metaplex-foundation/cusper@0.0.2: - resolution: {integrity: sha512-S9RulC2fFCFOQraz61bij+5YCHhSO9llJegK8c8Y6731fSi6snUSQJdCUqYS8AIgR0TKbQvdvgSyIIdbDFZbBA==} - dev: true + '@metaplex-foundation/cusper@0.0.2': {} - /@metaplex-foundation/digital-asset-standard-api@1.0.6(@metaplex-foundation/umi@1.4.1): - resolution: {integrity: sha512-lgequ4N69A7QQjyVt0ViqdeXrnviihXZR+Y9rzAD79JtM3NdbKJ3/BTASgYdCm8oAsVBeLw1Wbf5NjCYdfgS8w==} - peerDependencies: - '@metaplex-foundation/umi': '>= 0.8.2 <= 1' + '@metaplex-foundation/digital-asset-standard-api@1.0.6(@metaplex-foundation/umi@1.4.1)': dependencies: '@metaplex-foundation/umi': 1.4.1 - dev: false - /@metaplex-foundation/digital-asset-standard-api@2.0.0(@metaplex-foundation/umi@1.4.1): - resolution: {integrity: sha512-CnFN7epCwNcei+OzDvIg7KpTcB+O827YKomdjKEl72LF/DHfDMXqpbnXf2qsIF4iGaBEOviwxkjUwbXIDLpAxQ==} - peerDependencies: - '@metaplex-foundation/umi': '>= 0.8.2 <= 1' + '@metaplex-foundation/digital-asset-standard-api@2.0.0(@metaplex-foundation/umi@1.4.1)': dependencies: '@metaplex-foundation/umi': 1.4.1 - dev: false - /@metaplex-foundation/mpl-account-compression@0.0.1(@metaplex-foundation/umi@1.4.1): - resolution: {integrity: sha512-bzuftabEduBPBzib9b7NESsX051bREOnhrKSl7ZIQ32+68lxcqQCXg7ChB1F+iJ/Nzfij5HtFL+ersbb2B3wkg==} - peerDependencies: - '@metaplex-foundation/umi': '>= 0.8.9 <= 1' + '@metaplex-foundation/genesis@0.14.0(@metaplex-foundation/umi@1.4.1)': + dependencies: + '@metaplex-foundation/mpl-token-metadata': 3.4.0(@metaplex-foundation/umi@1.4.1) + '@metaplex-foundation/mpl-toolbox': 0.10.0(@metaplex-foundation/umi@1.4.1) + '@metaplex-foundation/umi': 1.4.1 + '@noble/hashes': 1.8.0 + + '@metaplex-foundation/mpl-account-compression@0.0.1(@metaplex-foundation/umi@1.4.1)': dependencies: '@metaplex-foundation/digital-asset-standard-api': 1.0.6(@metaplex-foundation/umi@1.4.1) '@metaplex-foundation/umi': 1.4.1 '@noble/hashes': 1.8.0 merkletreejs: 0.3.11 - dev: false - /@metaplex-foundation/mpl-bubblegum@5.0.2(@metaplex-foundation/umi@1.4.1): - resolution: {integrity: sha512-VRkXf9FNRo2Dm1wsiNEn9xW039PjHA757z2Q2H4DwwmI5z/+iKVDNPux6NZPgMg8BJZfUq6nlOlOC/Ipcra5oA==} - peerDependencies: - '@metaplex-foundation/umi': '>= 0.8.9 <= 2.0.0' + '@metaplex-foundation/mpl-bubblegum@5.0.2(@metaplex-foundation/umi@1.4.1)': dependencies: '@metaplex-foundation/digital-asset-standard-api': 2.0.0(@metaplex-foundation/umi@1.4.1) '@metaplex-foundation/mpl-account-compression': 0.0.1(@metaplex-foundation/umi@1.4.1) @@ -2223,13 +6614,8 @@ packages: '@metaplex-foundation/umi': 1.4.1 '@noble/hashes': 1.8.0 merkletreejs: 0.3.11 - dev: false - /@metaplex-foundation/mpl-core-candy-machine@0.3.0(@metaplex-foundation/mpl-core@1.4.0)(@metaplex-foundation/umi@1.4.1): - resolution: {integrity: sha512-J2eo6aggZ0BrKyJ6qusEfANM7eSsGzneyLTp/KxfcxUTI0etzdAbivj+cBzTLYVzTC/lHNyvSDA3J96lYwFaSA==} - peerDependencies: - '@metaplex-foundation/mpl-core': '>= 0.4.7' - '@metaplex-foundation/umi': '>= 0.8.2 <= 1' + '@metaplex-foundation/mpl-core-candy-machine@0.3.0(@metaplex-foundation/mpl-core@1.4.0(@metaplex-foundation/umi@1.4.1)(@noble/hashes@1.8.0))(@metaplex-foundation/umi@1.4.1)': dependencies: '@metaplex-foundation/mpl-core': 1.4.0(@metaplex-foundation/umi@1.4.1)(@noble/hashes@1.8.0) '@metaplex-foundation/mpl-token-metadata': 3.0.0-alpha.27(@metaplex-foundation/umi@1.4.1) @@ -2237,244 +6623,147 @@ packages: '@metaplex-foundation/umi': 1.4.1 '@noble/hashes': 1.8.0 merkletreejs: 0.3.11 - dev: false - /@metaplex-foundation/mpl-core@1.4.0(@metaplex-foundation/umi@1.4.1)(@noble/hashes@1.8.0): - resolution: {integrity: sha512-XRvodR0KJokqcfw+wZjpar3lb6Rmf/8eAUpM4QFpSQTCanexdsrLd/Ol1zfPZ2VDYOgUh641LUHxcnGx0zvLUA==} - peerDependencies: - '@metaplex-foundation/umi': '>=0.8.2 <= 1.0' - '@noble/hashes': ^1.3.1 + '@metaplex-foundation/mpl-core@1.4.0(@metaplex-foundation/umi@1.4.1)(@noble/hashes@1.8.0)': dependencies: '@metaplex-foundation/umi': 1.4.1 '@msgpack/msgpack': 3.1.2 '@noble/hashes': 1.8.0 - dev: false - /@metaplex-foundation/mpl-distro@0.3.4(@metaplex-foundation/mpl-core@1.4.0)(@metaplex-foundation/mpl-toolbox@0.10.0)(@metaplex-foundation/umi@1.4.1): - resolution: {integrity: sha512-gVZNyLE7R39F+LpozGavHIREJ7JB5thxiYGS0vBx6PoLxdmnjLvTpKDSmuveT8SfneFqYcZKrmGclwlSVMh9ow==} - peerDependencies: - '@metaplex-foundation/mpl-core': '>=1.3.0' - '@metaplex-foundation/mpl-toolbox': ^0.10.0 - '@metaplex-foundation/umi': '>=1.1.1' + '@metaplex-foundation/mpl-distro@0.3.4(@metaplex-foundation/mpl-core@1.4.0(@metaplex-foundation/umi@1.4.1)(@noble/hashes@1.8.0))(@metaplex-foundation/mpl-toolbox@0.10.0(@metaplex-foundation/umi@1.4.1))(@metaplex-foundation/umi@1.4.1)': dependencies: '@metaplex-foundation/mpl-core': 1.4.0(@metaplex-foundation/umi@1.4.1)(@noble/hashes@1.8.0) '@metaplex-foundation/mpl-toolbox': 0.10.0(@metaplex-foundation/umi@1.4.1) '@metaplex-foundation/umi': 1.4.1 '@noble/hashes': 1.8.0 - dev: false - /@metaplex-foundation/mpl-token-metadata@3.0.0-alpha.27(@metaplex-foundation/umi@1.4.1): - resolution: {integrity: sha512-MSERz5HB2XZ/K+FOMh0tPeqcZZEpGVzdy7e+Cy3MHg7x52JtbGBDtWIoxBJn1OBZayCBfX9gytEoqrXe2YRGqQ==} - peerDependencies: - '@metaplex-foundation/umi': ^0.8.2 + '@metaplex-foundation/mpl-token-metadata@3.0.0-alpha.27(@metaplex-foundation/umi@1.4.1)': dependencies: '@metaplex-foundation/mpl-toolbox': 0.9.4(@metaplex-foundation/umi@1.4.1) '@metaplex-foundation/umi': 1.4.1 - dev: false - /@metaplex-foundation/mpl-token-metadata@3.2.1(@metaplex-foundation/umi@1.4.1): - resolution: {integrity: sha512-26W1NhQwDWmLOg/pBRYut7x/vEs/5kFS2sWVEY5/X0f2jJOLhnd4NaZQcq+5u+XZsXvm1jq2AtrRGPNK43oqWQ==} - peerDependencies: - '@metaplex-foundation/umi': '>= 0.8.2 < 1' + '@metaplex-foundation/mpl-token-metadata@3.2.1(@metaplex-foundation/umi@1.4.1)': dependencies: '@metaplex-foundation/mpl-toolbox': 0.9.4(@metaplex-foundation/umi@1.4.1) '@metaplex-foundation/umi': 1.4.1 - dev: false - /@metaplex-foundation/mpl-token-metadata@3.4.0(@metaplex-foundation/umi@1.4.1): - resolution: {integrity: sha512-AxBAYCK73JWxY3g9//z/C9krkR0t1orXZDknUPS4+GjwGH2vgPfsk04yfZ31Htka2AdS9YE/3wH7sMUBHKn9Rg==} - peerDependencies: - '@metaplex-foundation/umi': '>= 0.8.2 <= 1' + '@metaplex-foundation/mpl-token-metadata@3.4.0(@metaplex-foundation/umi@1.4.1)': dependencies: '@metaplex-foundation/mpl-toolbox': 0.10.0(@metaplex-foundation/umi@1.4.1) '@metaplex-foundation/umi': 1.4.1 - dev: false - /@metaplex-foundation/mpl-toolbox@0.10.0(@metaplex-foundation/umi@1.4.1): - resolution: {integrity: sha512-84KD1L5cFyw5xnntHwL4uPwfcrkKSiwuDeypiVr92qCUFuF3ZENa2zlFVPu+pQcjTlod2LmEX3MhBmNjRMpdKg==} - peerDependencies: - '@metaplex-foundation/umi': '>= 0.8.2 <= 1' + '@metaplex-foundation/mpl-toolbox@0.10.0(@metaplex-foundation/umi@1.4.1)': dependencies: '@metaplex-foundation/umi': 1.4.1 - dev: false - /@metaplex-foundation/mpl-toolbox@0.9.4(@metaplex-foundation/umi@1.4.1): - resolution: {integrity: sha512-fd6JxfoLbj/MM8FG2x91KYVy1U6AjBQw4qjt7+Da3trzQaWnSaYHDcYRG/53xqfvZ9qofY1T2t53GXPlD87lnQ==} - peerDependencies: - '@metaplex-foundation/umi': '>= 0.8.2 < 1' + '@metaplex-foundation/mpl-toolbox@0.9.4(@metaplex-foundation/umi@1.4.1)': dependencies: '@metaplex-foundation/umi': 1.4.1 - dev: false - /@metaplex-foundation/spl-account-compression@0.0.1(@metaplex-foundation/umi@1.4.1): - resolution: {integrity: sha512-gX6E7NUPm4Bi6nE9fn9AR2iH25x12FcZSW6NXK9BV98m+ffIyTX00reLHltPZq7BHjpWftQLLxISetpWjBKksg==} - peerDependencies: - '@metaplex-foundation/umi': '>= 0.8.9 <= 1' + '@metaplex-foundation/spl-account-compression@0.0.1(@metaplex-foundation/umi@1.4.1)': dependencies: '@metaplex-foundation/digital-asset-standard-api': 1.0.6(@metaplex-foundation/umi@1.4.1) '@metaplex-foundation/umi': 1.4.1 '@noble/hashes': 1.8.0 merkletreejs: 0.3.11 - dev: false - /@metaplex-foundation/umi-bundle-defaults@1.0.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2): - resolution: {integrity: sha512-Z8Ah4vJNkO5/sDvtG49kULNdGskaGYfJSygA9p061zG8BztML1okBkx0QZG/TM0fB0cMI8w5cwTd1O5gT64+Kg==} - peerDependencies: - '@metaplex-foundation/umi': ^1.0.0 - '@solana/web3.js': ^1.72.0 + '@metaplex-foundation/umi-bundle-defaults@1.0.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 1.4.1 '@metaplex-foundation/umi-downloader-http': 1.2.0(@metaplex-foundation/umi@1.4.1) - '@metaplex-foundation/umi-eddsa-web3js': 1.1.1(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2) + '@metaplex-foundation/umi-eddsa-web3js': 1.1.1(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-http-fetch': 1.2.0(@metaplex-foundation/umi@1.4.1) '@metaplex-foundation/umi-program-repository': 1.2.0(@metaplex-foundation/umi@1.4.1) '@metaplex-foundation/umi-rpc-chunk-get-accounts': 1.2.0(@metaplex-foundation/umi@1.4.1) - '@metaplex-foundation/umi-rpc-web3js': 1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2) + '@metaplex-foundation/umi-rpc-web3js': 1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-serializer-data-view': 1.2.0(@metaplex-foundation/umi@1.4.1) - '@metaplex-foundation/umi-transaction-factory-web3js': 1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2) - '@solana/web3.js': 1.98.2(typescript@5.8.3) + '@metaplex-foundation/umi-transaction-factory-web3js': 1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) transitivePeerDependencies: - encoding - dev: false - /@metaplex-foundation/umi-downloader-http@1.2.0(@metaplex-foundation/umi@1.4.1): - resolution: {integrity: sha512-voEu9BFePmPGkucZCIVDOGkkvBMuzkeHjkvmSP3E2i0YT5299HryR8sr7i9G4uNwKF/FIVdTw1qQnW61cpS2qQ==} - peerDependencies: - '@metaplex-foundation/umi': ^1.2.0 + '@metaplex-foundation/umi-downloader-http@1.2.0(@metaplex-foundation/umi@1.4.1)': dependencies: '@metaplex-foundation/umi': 1.4.1 - dev: false - /@metaplex-foundation/umi-eddsa-web3js@1.1.1(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2): - resolution: {integrity: sha512-rL22HATY7W02DqJLdBKZ8jedhMtd7iKReIFNPXLGnVeUpDwxXaqWPySZxZ+2TjY6f+Idoq2g2TpPCUGND/iOeA==} - peerDependencies: - '@metaplex-foundation/umi': 1.1.1 - '@solana/web3.js': ^1.72.0 + '@metaplex-foundation/umi-eddsa-web3js@1.1.1(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 1.4.1 - '@metaplex-foundation/umi-web3js-adapters': 1.1.1(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2) + '@metaplex-foundation/umi-web3js-adapters': 1.1.1(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) '@noble/curves': 1.9.1 - '@solana/web3.js': 1.98.2(typescript@5.8.3) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) yaml: 2.8.0 - dev: false - /@metaplex-foundation/umi-http-fetch@1.2.0(@metaplex-foundation/umi@1.4.1): - resolution: {integrity: sha512-rbM97PPCAmjbR90wnSCTxJFkCUIKR++gS5lIm+ZNZ96XrjvOrFURZpSYloyDGvXRNgF44eTYWDYIDLy5zmI2JQ==} - peerDependencies: - '@metaplex-foundation/umi': ^1.2.0 + '@metaplex-foundation/umi-http-fetch@1.2.0(@metaplex-foundation/umi@1.4.1)': dependencies: '@metaplex-foundation/umi': 1.4.1 node-fetch: 2.7.0 transitivePeerDependencies: - encoding - dev: false - /@metaplex-foundation/umi-options@1.4.1: - resolution: {integrity: sha512-+36Sm16a9GFlheAnqIjsi5lV7+9J9/lhYOcwXK9bkRARucA9evT/dajmpXHUkPOi3JjlVbl3knWvcPkbhyP2Og==} - dev: false + '@metaplex-foundation/umi-options@1.4.1': {} - /@metaplex-foundation/umi-program-repository@1.2.0(@metaplex-foundation/umi@1.4.1): - resolution: {integrity: sha512-mbsE0BPmqv3cMfk/jn+EKoUDJHbUieFcp8o2eRSkVBJhjXqkfLJgJ8s3koBn8vv5mcmavEBDqPYNqJQs93je0g==} - peerDependencies: - '@metaplex-foundation/umi': ^1.2.0 + '@metaplex-foundation/umi-program-repository@1.2.0(@metaplex-foundation/umi@1.4.1)': dependencies: '@metaplex-foundation/umi': 1.4.1 - dev: false - /@metaplex-foundation/umi-public-keys@1.4.1: - resolution: {integrity: sha512-UB+MVzK8GIMLYS7qgtl7Qr5fUW36EelUk2VA/VyQJZb2rlQYZu08/whc75uwGhPX2Mr67NzVSoSTkTpUb29zrg==} + '@metaplex-foundation/umi-public-keys@1.4.1': dependencies: '@metaplex-foundation/umi-serializers-encodings': 1.4.1 - dev: false - /@metaplex-foundation/umi-rpc-chunk-get-accounts@1.2.0(@metaplex-foundation/umi@1.4.1): - resolution: {integrity: sha512-j5eSFmilDxIjw/uudZh6cvwIpwwp1vjW0XBFB7SLCDzsAHn4SaEq2j+Xwn3cvjKLBB0haJqHlMG9x35gXqBkqg==} - peerDependencies: - '@metaplex-foundation/umi': ^1.2.0 + '@metaplex-foundation/umi-rpc-chunk-get-accounts@1.2.0(@metaplex-foundation/umi@1.4.1)': dependencies: '@metaplex-foundation/umi': 1.4.1 - dev: false - /@metaplex-foundation/umi-rpc-web3js@1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2): - resolution: {integrity: sha512-nMWJA/v8gnhA3D2iBHSHWyS02YAL9zIhE8gxWufk56GY1fTo/jBp8HQrxI4PZH0E8A1fGnBZSU0SkL4lRm7Ljw==} - peerDependencies: - '@metaplex-foundation/umi': ^1.2.0 - '@solana/web3.js': ^1.72.0 + '@metaplex-foundation/umi-rpc-web3js@1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 1.4.1 - '@metaplex-foundation/umi-web3js-adapters': 1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2) - '@solana/web3.js': 1.98.2(typescript@5.8.3) - dev: false + '@metaplex-foundation/umi-web3js-adapters': 1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) - /@metaplex-foundation/umi-serializer-data-view@1.2.0(@metaplex-foundation/umi@1.4.1): - resolution: {integrity: sha512-3w9WQzfrq851cIyvzcbEslJEL4oah3r/9Y/A2zyUwCsri5/3s/G0CcHgHPaS6/cvpyYybqBJjyJKMcGiVxzs8Q==} - peerDependencies: - '@metaplex-foundation/umi': ^1.2.0 + '@metaplex-foundation/umi-serializer-data-view@1.2.0(@metaplex-foundation/umi@1.4.1)': dependencies: '@metaplex-foundation/umi': 1.4.1 - dev: false - /@metaplex-foundation/umi-serializers-core@1.4.1: - resolution: {integrity: sha512-xLI2ZEFJYoVdlQQMeKNLBsi56qQ2xC7htWDa30gqw/hhuMy3W82MtgLiK/3tU96MNi86TKSNVOdXmY815/QJsg==} - dev: false + '@metaplex-foundation/umi-serializers-core@1.4.1': {} - /@metaplex-foundation/umi-serializers-encodings@1.4.1: - resolution: {integrity: sha512-KnIp8T3mSMoDI5gmLre6UZMZpBVZ5tpZsAaLLfuiSfRolUsBLo90gmXJWwUWWZihhcvaN0xMdyx+k1KK+nwK9Q==} + '@metaplex-foundation/umi-serializers-encodings@1.4.1': dependencies: '@metaplex-foundation/umi-serializers-core': 1.4.1 - dev: false - /@metaplex-foundation/umi-serializers-numbers@1.4.1: - resolution: {integrity: sha512-vk5f6QTdudXJDyyZAO7IDNiGRkF70nLdx4LBCvstbmTv2535HinV06R1mBRA9dx20D6SxRASdw33BH3mAYPfbQ==} + '@metaplex-foundation/umi-serializers-numbers@1.4.1': dependencies: '@metaplex-foundation/umi-serializers-core': 1.4.1 - dev: false - /@metaplex-foundation/umi-serializers@1.4.1: - resolution: {integrity: sha512-DnuTBS+6Ycjaz1BsOKmUZCJcdyJooIpiJ5gy/snhmh8YKDAZuxezBqRzKSR/pKPXieURbL/UPCdJ6a9OFCjcYQ==} + '@metaplex-foundation/umi-serializers@1.4.1': dependencies: '@metaplex-foundation/umi-options': 1.4.1 '@metaplex-foundation/umi-public-keys': 1.4.1 '@metaplex-foundation/umi-serializers-core': 1.4.1 '@metaplex-foundation/umi-serializers-encodings': 1.4.1 '@metaplex-foundation/umi-serializers-numbers': 1.4.1 - dev: false - /@metaplex-foundation/umi-signer-wallet-adapters@1.0.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2): - resolution: {integrity: sha512-MlfG5jE8z9jDOqlpFAlVYEOJi7PdmzSUZ+ZmwAfqxxx1m48TxgnIckK2sk9zz4/P3raoRLF25IUaVsXu95dL3A==} - peerDependencies: - '@metaplex-foundation/umi': ^1.0.0 - '@solana/web3.js': ^1.72.0 + '@metaplex-foundation/umi-signer-wallet-adapters@1.0.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 1.4.1 - '@metaplex-foundation/umi-web3js-adapters': 1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2) - '@solana/web3.js': 1.98.2(typescript@5.8.3) - dev: false + '@metaplex-foundation/umi-web3js-adapters': 1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) - /@metaplex-foundation/umi-transaction-factory-web3js@1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2): - resolution: {integrity: sha512-CDpx6KSYOEonWsHJEVUfZTzu3g0ElclUNgeAXhLyKzimS1fd7FvAkbFom6egQz6ZPuqGv/5ZTHQv37UxoGy+Zg==} - peerDependencies: - '@metaplex-foundation/umi': ^1.2.0 - '@solana/web3.js': ^1.72.0 + '@metaplex-foundation/umi-transaction-factory-web3js@1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 1.4.1 - '@metaplex-foundation/umi-web3js-adapters': 1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2) - '@solana/web3.js': 1.98.2(typescript@5.8.3) - dev: false + '@metaplex-foundation/umi-web3js-adapters': 1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) - /@metaplex-foundation/umi-uploader-irys@1.0.1(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2)(arweave@1.15.7)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3): - resolution: {integrity: sha512-mnmUks1Kakxpdx0uOke9F17WsSLX0900RrrVU+MKKlIiqn+9q2aJbAgQCf2tb7CSmjX3jxq/b8l8y53TUlXFjg==} - peerDependencies: - '@metaplex-foundation/umi': ^1.0.0 - '@solana/web3.js': ^1.72.0 + '@metaplex-foundation/umi-uploader-irys@1.0.1(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(arweave@1.15.7)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: - '@irys/upload': 0.0.14(arweave@1.15.7) - '@irys/upload-solana': 0.1.8(arweave@1.15.7)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) - '@irys/web-upload': 0.0.14(arweave@1.15.7) - '@irys/web-upload-solana': 0.1.8(arweave@1.15.7)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@irys/upload': 0.0.14(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@irys/upload-solana': 0.1.8(arweave@1.15.7)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@irys/web-upload': 0.0.14(arweave@1.15.7)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@irys/web-upload-solana': 0.1.8(arweave@1.15.7)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10) '@metaplex-foundation/umi': 1.4.1 - '@metaplex-foundation/umi-web3js-adapters': 1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2) - '@solana/web3.js': 1.98.2(typescript@5.8.3) + '@metaplex-foundation/umi-web3js-adapters': 1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) '@supercharge/promise-pool': 3.2.0 bignumber.js: 9.3.0 buffer: 6.0.3 @@ -2486,127 +6775,75 @@ packages: - fastestsmallesttextencoderdecoder - typescript - utf-8-validate - dev: false - /@metaplex-foundation/umi-web3js-adapters@1.1.1(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2): - resolution: {integrity: sha512-UXP2aY3ce59nSxsVJ4sFLtGCHpesqLTxTag2yI6grCXe0dEz+1kONMn0XFRLcYgiSKOcptJSoJWbILlHnUsWDg==} - peerDependencies: - '@metaplex-foundation/umi': 1.1.1 - '@solana/web3.js': ^1.72.0 + '@metaplex-foundation/umi-web3js-adapters@1.1.1(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 1.4.1 - '@solana/web3.js': 1.98.2(typescript@5.8.3) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) buffer: 6.0.3 - dev: false - /@metaplex-foundation/umi-web3js-adapters@1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2): - resolution: {integrity: sha512-kKfsva8aoHTZXHbet6U/dV/va+hSFoVpqLiKFoUg3HV2Cp5IgdLXo2PH4/iN6AlE+S+a0S3+jt/7gat2rsskuw==} - peerDependencies: - '@metaplex-foundation/umi': ^1.2.0 - '@solana/web3.js': ^1.72.0 + '@metaplex-foundation/umi-web3js-adapters@1.2.0(@metaplex-foundation/umi@1.4.1)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 1.4.1 - '@solana/web3.js': 1.98.2(typescript@5.8.3) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) buffer: 6.0.3 - dev: false - /@metaplex-foundation/umi@1.4.1: - resolution: {integrity: sha512-GGdmKsZq8nGInhjk8jpW4h4pNX8eZgTChnosvBmX/4lTznu+nOJuIsgO9r7LuUkR8zaSfjUheC/T5e7AtRku+g==} + '@metaplex-foundation/umi@1.4.1': dependencies: '@metaplex-foundation/umi-options': 1.4.1 '@metaplex-foundation/umi-public-keys': 1.4.1 '@metaplex-foundation/umi-serializers': 1.4.1 - dev: false - /@msgpack/msgpack@3.1.2: - resolution: {integrity: sha512-JEW4DEtBzfe8HvUYecLU9e6+XJnKDlUAIve8FvPzF3Kzs6Xo/KuZkZJsDH0wJXl/qEZbeeE7edxDNY3kMs39hQ==} - engines: {node: '>= 18'} - dev: false + '@msgpack/msgpack@3.1.2': {} - /@napi-rs/wasm-runtime@0.2.10: - resolution: {integrity: sha512-bCsCyeZEwVErsGmyPNSzwfwFn4OdxBj0mmv6hOFucB/k81Ojdu68RbZdxYsRQUPc9l6SU5F/cG+bXgWs3oUgsQ==} - requiresBuild: true + '@napi-rs/wasm-runtime@0.2.10': dependencies: '@emnapi/core': 1.4.3 '@emnapi/runtime': 1.4.3 '@tybys/wasm-util': 0.9.0 - dev: true optional: true - /@noble/curves@1.2.0: - resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} + '@noble/curves@1.2.0': dependencies: '@noble/hashes': 1.3.2 - dev: false - /@noble/curves@1.4.2: - resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} + '@noble/curves@1.4.2': dependencies: '@noble/hashes': 1.4.0 - dev: false - /@noble/curves@1.7.0: - resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} - engines: {node: ^14.21.3 || >=16} + '@noble/curves@1.7.0': dependencies: '@noble/hashes': 1.6.0 - dev: false - /@noble/curves@1.9.1: - resolution: {integrity: sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==} - engines: {node: ^14.21.3 || >=16} + '@noble/curves@1.9.1': dependencies: '@noble/hashes': 1.8.0 - /@noble/ed25519@1.7.5: - resolution: {integrity: sha512-xuS0nwRMQBvSxDa7UxMb61xTiH3MxTgUfhyPUALVIe0FlOAz4sjELwyDRyUvqeEYfRSG9qNjFIycqLZppg4RSA==} - dev: false + '@noble/ed25519@1.7.5': {} - /@noble/hashes@1.3.2: - resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} - engines: {node: '>= 16'} - dev: false + '@noble/hashes@1.3.2': {} - /@noble/hashes@1.4.0: - resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} - engines: {node: '>= 16'} - dev: false + '@noble/hashes@1.4.0': {} - /@noble/hashes@1.6.0: - resolution: {integrity: sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==} - engines: {node: ^14.21.3 || >=16} - dev: false + '@noble/hashes@1.6.0': {} - /@noble/hashes@1.8.0: - resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} - engines: {node: ^14.21.3 || >=16} + '@noble/hashes@1.8.0': {} - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 - /@nolyfill/is-core-module@1.0.39: - resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} - engines: {node: '>=12.4.0'} - dev: true + '@nolyfill/is-core-module@1.0.39': {} - /@oclif/core@4.3.0: - resolution: {integrity: sha512-lIzHY+JMP6evrS5E/sGijNnwrCoNtGy8703jWXcMuPOYKiFhWoAqnIm1BGgoRgmxczkbSfRsHUL/lwsSgh74Lw==} - engines: {node: '>=18.0.0'} + '@oclif/core@4.3.0': dependencies: ansi-escapes: 4.3.2 ansis: 3.17.0 @@ -2627,9 +6864,7 @@ packages: wordwrap: 1.0.0 wrap-ansi: 7.0.0 - /@oclif/plugin-autocomplete@3.2.29: - resolution: {integrity: sha512-uQqcT4yVDqj4e/AAF+E2wT3A/QAbbPh/ov9lBhLCFB5GFJR3ixOMUFdZg7yQua5VjfvvnNSWkE879wdM4k+rGw==} - engines: {node: '>=18.0.0'} + '@oclif/plugin-autocomplete@3.2.29': dependencies: '@oclif/core': 4.3.0 ansis: 3.17.0 @@ -2637,31 +6872,23 @@ packages: ejs: 3.1.10 transitivePeerDependencies: - supports-color - dev: false - /@oclif/plugin-commands@4.1.25: - resolution: {integrity: sha512-re6r+wOn4g/j8aVsNPVlgpCX/eUHId4bFFYFNZNZTNdEAyZxZaxQ+W2kVts1BgR6ltWPUjDcx/m1zS3n6KTD4Q==} - engines: {node: '>=18.0.0'} + '@oclif/plugin-commands@4.1.25(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@oclif/core': 4.3.0 - '@oclif/table': 0.4.8 + '@oclif/table': 0.4.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) lodash: 4.17.21 object-treeify: 4.0.1 transitivePeerDependencies: - bufferutil - react-devtools-core - utf-8-validate - dev: false - /@oclif/plugin-help@6.2.28: - resolution: {integrity: sha512-eFLP2yjiK+xMRGcv9k9jOWV08HB+/Cgg1ND91zS4Uwgp1krMoL39Is+hIqnZOKkmiEMtiv8k5EDqCVv+DTRywg==} - engines: {node: '>=18.0.0'} + '@oclif/plugin-help@6.2.28': dependencies: '@oclif/core': 4.3.0 - /@oclif/plugin-not-found@3.2.54(@types/node@18.19.108): - resolution: {integrity: sha512-5UARYjv91+aD30XaSw9vb6IgOvMMNA7DlnHVyt+u2OkK8TlyBflpaasvC7xSLnP+DKDQIgxTuGqJI/ZbcNAFxQ==} - engines: {node: '>=18.0.0'} + '@oclif/plugin-not-found@3.2.54(@types/node@18.19.108)': dependencies: '@inquirer/prompts': 7.5.3(@types/node@18.19.108) '@oclif/core': 4.3.0 @@ -2670,9 +6897,7 @@ packages: transitivePeerDependencies: - '@types/node' - /@oclif/plugin-plugins@5.4.38: - resolution: {integrity: sha512-tsohAIgtQRYb35G0W2QdubkNfc1Re+LtNujAomHBvz8wfWqPnwtnWGHob79/yxOV1j9R51AHZIuQ35gSdq39Ng==} - engines: {node: '>=18.0.0'} + '@oclif/plugin-plugins@5.4.38': dependencies: '@oclif/core': 4.3.0 ansis: 3.17.0 @@ -2687,19 +6912,13 @@ packages: yarn: 1.22.22 transitivePeerDependencies: - supports-color - dev: false - /@oclif/plugin-version@2.2.28: - resolution: {integrity: sha512-nzLzHcs8KkNexQJcWsAq5fuGPXVMIwIRTgQbMhJy5okZMvLxREb7V8ZiDPN+NHXOqUYtDDhTsN+tJx0XttvJJA==} - engines: {node: '>=18.0.0'} + '@oclif/plugin-version@2.2.28': dependencies: '@oclif/core': 4.3.0 ansis: 3.17.0 - dev: false - /@oclif/plugin-warn-if-update-available@3.1.40: - resolution: {integrity: sha512-k5FBGxjXsSj56075MFVx5I9MAJa082evyPqLUBOjXL9w91q3k/89U+kTCfFNTQga8DykxhMP/7UTuDFV+d/Dhg==} - engines: {node: '>=18.0.0'} + '@oclif/plugin-warn-if-update-available@3.1.40': dependencies: '@oclif/core': 4.3.0 ansis: 3.17.0 @@ -2709,20 +6928,15 @@ packages: registry-auth-token: 5.1.0 transitivePeerDependencies: - supports-color - dev: true - /@oclif/prettier-config@0.2.1: - resolution: {integrity: sha512-XB8kwQj8zynXjIIWRm+6gO/r8Qft2xKtwBMSmq1JRqtA6TpwpqECqiu8LosBCyg2JBXuUy2lU23/L98KIR7FrQ==} - dev: true + '@oclif/prettier-config@0.2.1': {} - /@oclif/table@0.4.8: - resolution: {integrity: sha512-HgyeNTyUF67OQ2eOCFia0mfxyPFcPwa8sIq1SiiZf8oxw6JtUciWGXb0cmmo5vnbxRJ3er0PHLwMV0/hBG6NWw==} - engines: {node: '>=18.0.0'} + '@oclif/table@0.4.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@types/react': 18.3.23 change-case: 5.4.4 cli-truncate: 4.0.0 - ink: 5.0.1(@types/react@18.3.23)(react@18.3.1) + ink: 5.0.1(@types/react@18.3.23)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@5.0.10) natural-orderby: 3.0.2 object-hash: 3.0.0 react: 18.3.1 @@ -2732,33 +6946,22 @@ packages: - bufferutil - react-devtools-core - utf-8-validate - dev: false - /@oclif/test@4.1.13(@oclif/core@4.3.0): - resolution: {integrity: sha512-pulrTiJRhoAKizFf6y5WeHvM2JyoRiZKV0H8qqYEoE0UHDKqInNmfGJyp8Ip6lTVQeMv1U8YCAXOS/HiWPVWeg==} - engines: {node: '>=18.0.0'} - peerDependencies: - '@oclif/core': '>= 3.0.0' + '@oclif/test@4.1.13(@oclif/core@4.3.0)': dependencies: '@oclif/core': 4.3.0 ansis: 3.17.0 debug: 4.4.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color - dev: true - /@permaweb/ao-scheduler-utils@0.0.25: - resolution: {integrity: sha512-b0UYSTgnLMIYLScrfNBgcqK7ZMmd78L3J0Jz4RIsIq2P5PtkdRqQ7fYqLlltg7bD1f3dvl4TkO1925ED4ei7LA==} - engines: {node: '>=18'} + '@permaweb/ao-scheduler-utils@0.0.25': dependencies: lru-cache: 10.4.3 ramda: 0.30.1 zod: 3.25.42 - dev: false - /@permaweb/aoconnect@0.0.57: - resolution: {integrity: sha512-l1+47cZuQ8pOIMOdRXymcegCmefXjqR8Bc2MY6jIzWv9old/tG6mfCue2W1QviGyhjP3zEVQgr7YofkY2lq35Q==} - engines: {node: '>=18', yarn: please-use-npm} + '@permaweb/aoconnect@0.0.57': dependencies: '@permaweb/ao-scheduler-utils': 0.0.25 buffer: 6.0.3 @@ -2770,176 +6973,105 @@ packages: zod: 3.25.42 transitivePeerDependencies: - supports-color - dev: false - /@pnpm/config.env-replace@1.1.0: - resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} - engines: {node: '>=12.22.0'} - dev: true + '@pnpm/config.env-replace@1.1.0': {} - /@pnpm/network.ca-file@1.0.2: - resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} - engines: {node: '>=12.22.0'} + '@pnpm/network.ca-file@1.0.2': dependencies: graceful-fs: 4.2.10 - dev: true - /@pnpm/npm-conf@2.3.1: - resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} - engines: {node: '>=12'} + '@pnpm/npm-conf@2.3.1': dependencies: '@pnpm/config.env-replace': 1.1.0 '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 - dev: true - /@protobufjs/aspromise@1.1.2: - resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} - dev: false + '@protobufjs/aspromise@1.1.2': {} - /@protobufjs/base64@1.1.2: - resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} - dev: false + '@protobufjs/base64@1.1.2': {} - /@protobufjs/codegen@2.0.4: - resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} - dev: false + '@protobufjs/codegen@2.0.4': {} - /@protobufjs/eventemitter@1.1.0: - resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} - dev: false + '@protobufjs/eventemitter@1.1.0': {} - /@protobufjs/fetch@1.1.0: - resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + '@protobufjs/fetch@1.1.0': dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/inquire': 1.1.0 - dev: false - /@protobufjs/float@1.0.2: - resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} - dev: false + '@protobufjs/float@1.0.2': {} - /@protobufjs/inquire@1.1.0: - resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} - dev: false + '@protobufjs/inquire@1.1.0': {} - /@protobufjs/path@1.1.2: - resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} - dev: false + '@protobufjs/path@1.1.2': {} - /@protobufjs/pool@1.1.0: - resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} - dev: false + '@protobufjs/pool@1.1.0': {} - /@protobufjs/utf8@1.1.0: - resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - dev: false + '@protobufjs/utf8@1.1.0': {} - /@randlabs/communication-bridge@1.0.1: - resolution: {integrity: sha512-CzS0U8IFfXNK7QaJFE4pjbxDGfPjbXBEsEaCn9FN15F+ouSAEUQkva3Gl66hrkBZOGexKFEWMwUHIDKpZ2hfVg==} - requiresBuild: true - dev: false + '@randlabs/communication-bridge@1.0.1': optional: true - /@randlabs/myalgo-connect@1.4.2: - resolution: {integrity: sha512-K9hEyUi7G8tqOp7kWIALJLVbGCByhilcy6123WfcorxWwiE1sbQupPyIU5f3YdQK6wMjBsyTWiLW52ZBMp7sXA==} - requiresBuild: true + '@randlabs/myalgo-connect@1.4.2': dependencies: '@randlabs/communication-bridge': 1.0.1 - dev: false optional: true - /@rtsao/scc@1.1.0: - resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - dev: true + '@rtsao/scc@1.1.0': {} - /@scure/base@1.1.9: - resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} - dev: false + '@scure/base@1.1.9': {} - /@scure/base@1.2.1: - resolution: {integrity: sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==} - dev: false + '@scure/base@1.2.1': {} - /@scure/bip32@1.4.0: - resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} + '@scure/bip32@1.4.0': dependencies: '@noble/curves': 1.4.2 '@noble/hashes': 1.4.0 '@scure/base': 1.1.9 - dev: false - /@scure/bip39@1.3.0: - resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} + '@scure/bip39@1.3.0': dependencies: '@noble/hashes': 1.4.0 '@scure/base': 1.1.9 - dev: false - /@scure/starknet@1.1.0: - resolution: {integrity: sha512-83g3M6Ix2qRsPN4wqLDqiRZ2GBNbjVWfboJE/9UjfG+MHr6oDSu/CWgy8hsBSJejr09DkkL+l0Ze4KVrlCIdtQ==} + '@scure/starknet@1.1.0': dependencies: '@noble/curves': 1.7.0 '@noble/hashes': 1.6.0 - dev: false - /@sideway/address@4.1.5: - resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + '@sideway/address@4.1.5': dependencies: '@hapi/hoek': 9.3.0 - dev: true - /@sideway/formula@3.0.1: - resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} - dev: true + '@sideway/formula@3.0.1': {} - /@sideway/pinpoint@2.0.0: - resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} - dev: true + '@sideway/pinpoint@2.0.0': {} - /@sindresorhus/is@5.6.0: - resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} - engines: {node: '>=14.16'} - dev: true + '@sindresorhus/is@5.6.0': {} - /@smithy/abort-controller@4.0.4: - resolution: {integrity: sha512-gJnEjZMvigPDQWHrW3oPrFhQtkrgqBkyjj3pCIdF3A5M6vsZODG93KNlfJprv6bp4245bdT32fsHK4kkH3KYDA==} - engines: {node: '>=18.0.0'} + '@smithy/abort-controller@4.0.4': dependencies: '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/chunked-blob-reader-native@4.0.0: - resolution: {integrity: sha512-R9wM2yPmfEMsUmlMlIgSzOyICs0x9uu7UTHoccMyt7BWw8shcGM8HqB355+BZCPBcySvbTYMs62EgEQkNxz2ig==} - engines: {node: '>=18.0.0'} + '@smithy/chunked-blob-reader-native@4.0.0': dependencies: '@smithy/util-base64': 4.0.0 tslib: 2.8.1 - dev: true - /@smithy/chunked-blob-reader@5.0.0: - resolution: {integrity: sha512-+sKqDBQqb036hh4NPaUiEkYFkTUGYzRsn3EuFhyfQfMy6oGHEUJDurLP9Ufb5dasr/XiAmPNMr6wa9afjQB+Gw==} - engines: {node: '>=18.0.0'} + '@smithy/chunked-blob-reader@5.0.0': dependencies: tslib: 2.8.1 - dev: true - /@smithy/config-resolver@4.1.4: - resolution: {integrity: sha512-prmU+rDddxHOH0oNcwemL+SwnzcG65sBF2yXRO7aeXIn/xTlq2pX7JLVbkBnVLowHLg4/OL4+jBmv9hVrVGS+w==} - engines: {node: '>=18.0.0'} + '@smithy/config-resolver@4.1.4': dependencies: '@smithy/node-config-provider': 4.1.3 '@smithy/types': 4.3.1 '@smithy/util-config-provider': 4.0.0 '@smithy/util-middleware': 4.0.4 tslib: 2.8.1 - dev: true - /@smithy/core@3.5.1: - resolution: {integrity: sha512-xSw7bZEFKwOKrm/iv8e2BLt2ur98YZdrRD6nII8ditQeUsY2Q1JmIQ0rpILOhaLKYxxG2ivnoOpokzr9qLyDWA==} - engines: {node: '>=18.0.0'} + '@smithy/core@3.5.1': dependencies: '@smithy/middleware-serde': 4.0.8 '@smithy/protocol-http': 5.1.2 @@ -2950,147 +7082,99 @@ packages: '@smithy/util-stream': 4.2.2 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - dev: true - /@smithy/credential-provider-imds@4.0.6: - resolution: {integrity: sha512-hKMWcANhUiNbCJouYkZ9V3+/Qf9pteR1dnwgdyzR09R4ODEYx8BbUysHwRSyex4rZ9zapddZhLFTnT4ZijR4pw==} - engines: {node: '>=18.0.0'} + '@smithy/credential-provider-imds@4.0.6': dependencies: '@smithy/node-config-provider': 4.1.3 '@smithy/property-provider': 4.0.4 '@smithy/types': 4.3.1 '@smithy/url-parser': 4.0.4 tslib: 2.8.1 - dev: true - /@smithy/eventstream-codec@4.0.4: - resolution: {integrity: sha512-7XoWfZqWb/QoR/rAU4VSi0mWnO2vu9/ltS6JZ5ZSZv0eovLVfDfu0/AX4ub33RsJTOth3TiFWSHS5YdztvFnig==} - engines: {node: '>=18.0.0'} + '@smithy/eventstream-codec@4.0.4': dependencies: '@aws-crypto/crc32': 5.2.0 '@smithy/types': 4.3.1 '@smithy/util-hex-encoding': 4.0.0 tslib: 2.8.1 - dev: true - /@smithy/eventstream-serde-browser@4.0.4: - resolution: {integrity: sha512-3fb/9SYaYqbpy/z/H3yIi0bYKyAa89y6xPmIqwr2vQiUT2St+avRt8UKwsWt9fEdEasc5d/V+QjrviRaX1JRFA==} - engines: {node: '>=18.0.0'} + '@smithy/eventstream-serde-browser@4.0.4': dependencies: '@smithy/eventstream-serde-universal': 4.0.4 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/eventstream-serde-config-resolver@4.1.2: - resolution: {integrity: sha512-JGtambizrWP50xHgbzZI04IWU7LdI0nh/wGbqH3sJesYToMi2j/DcoElqyOcqEIG/D4tNyxgRuaqBXWE3zOFhQ==} - engines: {node: '>=18.0.0'} + '@smithy/eventstream-serde-config-resolver@4.1.2': dependencies: '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/eventstream-serde-node@4.0.4: - resolution: {integrity: sha512-RD6UwNZ5zISpOWPuhVgRz60GkSIp0dy1fuZmj4RYmqLVRtejFqQ16WmfYDdoSoAjlp1LX+FnZo+/hkdmyyGZ1w==} - engines: {node: '>=18.0.0'} + '@smithy/eventstream-serde-node@4.0.4': dependencies: '@smithy/eventstream-serde-universal': 4.0.4 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/eventstream-serde-universal@4.0.4: - resolution: {integrity: sha512-UeJpOmLGhq1SLox79QWw/0n2PFX+oPRE1ZyRMxPIaFEfCqWaqpB7BU9C8kpPOGEhLF7AwEqfFbtwNxGy4ReENA==} - engines: {node: '>=18.0.0'} + '@smithy/eventstream-serde-universal@4.0.4': dependencies: '@smithy/eventstream-codec': 4.0.4 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/fetch-http-handler@5.0.4: - resolution: {integrity: sha512-AMtBR5pHppYMVD7z7G+OlHHAcgAN7v0kVKEpHuTO4Gb199Gowh0taYi9oDStFeUhetkeP55JLSVlTW1n9rFtUw==} - engines: {node: '>=18.0.0'} + '@smithy/fetch-http-handler@5.0.4': dependencies: '@smithy/protocol-http': 5.1.2 '@smithy/querystring-builder': 4.0.4 '@smithy/types': 4.3.1 '@smithy/util-base64': 4.0.0 tslib: 2.8.1 - dev: true - /@smithy/hash-blob-browser@4.0.4: - resolution: {integrity: sha512-WszRiACJiQV3QG6XMV44i5YWlkrlsM5Yxgz4jvsksuu7LDXA6wAtypfPajtNTadzpJy3KyJPoWehYpmZGKUFIQ==} - engines: {node: '>=18.0.0'} + '@smithy/hash-blob-browser@4.0.4': dependencies: '@smithy/chunked-blob-reader': 5.0.0 '@smithy/chunked-blob-reader-native': 4.0.0 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/hash-node@4.0.4: - resolution: {integrity: sha512-qnbTPUhCVnCgBp4z4BUJUhOEkVwxiEi1cyFM+Zj6o+aY8OFGxUQleKWq8ltgp3dujuhXojIvJWdoqpm6dVO3lQ==} - engines: {node: '>=18.0.0'} + '@smithy/hash-node@4.0.4': dependencies: '@smithy/types': 4.3.1 '@smithy/util-buffer-from': 4.0.0 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - dev: true - /@smithy/hash-stream-node@4.0.4: - resolution: {integrity: sha512-wHo0d8GXyVmpmMh/qOR0R7Y46/G1y6OR8U+bSTB4ppEzRxd1xVAQ9xOE9hOc0bSjhz0ujCPAbfNLkLrpa6cevg==} - engines: {node: '>=18.0.0'} + '@smithy/hash-stream-node@4.0.4': dependencies: '@smithy/types': 4.3.1 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - dev: true - /@smithy/invalid-dependency@4.0.4: - resolution: {integrity: sha512-bNYMi7WKTJHu0gn26wg8OscncTt1t2b8KcsZxvOv56XA6cyXtOAAAaNP7+m45xfppXfOatXF3Sb1MNsLUgVLTw==} - engines: {node: '>=18.0.0'} + '@smithy/invalid-dependency@4.0.4': dependencies: '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/is-array-buffer@2.2.0: - resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} - engines: {node: '>=14.0.0'} + '@smithy/is-array-buffer@2.2.0': dependencies: tslib: 2.8.1 - dev: true - /@smithy/is-array-buffer@4.0.0: - resolution: {integrity: sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==} - engines: {node: '>=18.0.0'} + '@smithy/is-array-buffer@4.0.0': dependencies: tslib: 2.8.1 - dev: true - /@smithy/md5-js@4.0.4: - resolution: {integrity: sha512-uGLBVqcOwrLvGh/v/jw423yWHq/ofUGK1W31M2TNspLQbUV1Va0F5kTxtirkoHawODAZcjXTSGi7JwbnPcDPJg==} - engines: {node: '>=18.0.0'} + '@smithy/md5-js@4.0.4': dependencies: '@smithy/types': 4.3.1 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - dev: true - /@smithy/middleware-content-length@4.0.4: - resolution: {integrity: sha512-F7gDyfI2BB1Kc+4M6rpuOLne5LOcEknH1n6UQB69qv+HucXBR1rkzXBnQTB2q46sFy1PM/zuSJOB532yc8bg3w==} - engines: {node: '>=18.0.0'} + '@smithy/middleware-content-length@4.0.4': dependencies: '@smithy/protocol-http': 5.1.2 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/middleware-endpoint@4.1.9: - resolution: {integrity: sha512-AjDgX4UjORLltD/LZCBQTwjQqEfyrx/GeDTHcYLzIgf87pIT70tMWnN87NQpJru1K4ITirY2htSOxNECZJCBOg==} - engines: {node: '>=18.0.0'} + '@smithy/middleware-endpoint@4.1.9': dependencies: '@smithy/core': 3.5.1 '@smithy/middleware-serde': 4.0.8 @@ -3100,11 +7184,8 @@ packages: '@smithy/url-parser': 4.0.4 '@smithy/util-middleware': 4.0.4 tslib: 2.8.1 - dev: true - /@smithy/middleware-retry@4.1.10: - resolution: {integrity: sha512-RyhcA3sZIIvAo6r48b2Nx2qfg0OnyohlaV0fw415xrQyx5HQ2bvHl9vs/WBiDXIP49mCfws5wX4308c9Pi/isw==} - engines: {node: '>=18.0.0'} + '@smithy/middleware-retry@4.1.10': dependencies: '@smithy/node-config-provider': 4.1.3 '@smithy/protocol-http': 5.1.2 @@ -3115,97 +7196,64 @@ packages: '@smithy/util-retry': 4.0.5 tslib: 2.8.1 uuid: 9.0.1 - dev: true - /@smithy/middleware-serde@4.0.8: - resolution: {integrity: sha512-iSSl7HJoJaGyMIoNn2B7czghOVwJ9nD7TMvLhMWeSB5vt0TnEYyRRqPJu/TqW76WScaNvYYB8nRoiBHR9S1Ddw==} - engines: {node: '>=18.0.0'} + '@smithy/middleware-serde@4.0.8': dependencies: '@smithy/protocol-http': 5.1.2 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/middleware-stack@4.0.4: - resolution: {integrity: sha512-kagK5ggDrBUCCzI93ft6DjteNSfY8Ulr83UtySog/h09lTIOAJ/xUSObutanlPT0nhoHAkpmW9V5K8oPyLh+QA==} - engines: {node: '>=18.0.0'} + '@smithy/middleware-stack@4.0.4': dependencies: '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/node-config-provider@4.1.3: - resolution: {integrity: sha512-HGHQr2s59qaU1lrVH6MbLlmOBxadtzTsoO4c+bF5asdgVik3I8o7JIOzoeqWc5MjVa+vD36/LWE0iXKpNqooRw==} - engines: {node: '>=18.0.0'} + '@smithy/node-config-provider@4.1.3': dependencies: '@smithy/property-provider': 4.0.4 '@smithy/shared-ini-file-loader': 4.0.4 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/node-http-handler@4.0.6: - resolution: {integrity: sha512-NqbmSz7AW2rvw4kXhKGrYTiJVDHnMsFnX4i+/FzcZAfbOBauPYs2ekuECkSbtqaxETLLTu9Rl/ex6+I2BKErPA==} - engines: {node: '>=18.0.0'} + '@smithy/node-http-handler@4.0.6': dependencies: '@smithy/abort-controller': 4.0.4 '@smithy/protocol-http': 5.1.2 '@smithy/querystring-builder': 4.0.4 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/property-provider@4.0.4: - resolution: {integrity: sha512-qHJ2sSgu4FqF4U/5UUp4DhXNmdTrgmoAai6oQiM+c5RZ/sbDwJ12qxB1M6FnP+Tn/ggkPZf9ccn4jqKSINaquw==} - engines: {node: '>=18.0.0'} + '@smithy/property-provider@4.0.4': dependencies: '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/protocol-http@5.1.2: - resolution: {integrity: sha512-rOG5cNLBXovxIrICSBm95dLqzfvxjEmuZx4KK3hWwPFHGdW3lxY0fZNXfv2zebfRO7sJZ5pKJYHScsqopeIWtQ==} - engines: {node: '>=18.0.0'} + '@smithy/protocol-http@5.1.2': dependencies: '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/querystring-builder@4.0.4: - resolution: {integrity: sha512-SwREZcDnEYoh9tLNgMbpop+UTGq44Hl9tdj3rf+yeLcfH7+J8OXEBaMc2kDxtyRHu8BhSg9ADEx0gFHvpJgU8w==} - engines: {node: '>=18.0.0'} + '@smithy/querystring-builder@4.0.4': dependencies: '@smithy/types': 4.3.1 '@smithy/util-uri-escape': 4.0.0 tslib: 2.8.1 - dev: true - /@smithy/querystring-parser@4.0.4: - resolution: {integrity: sha512-6yZf53i/qB8gRHH/l2ZwUG5xgkPgQF15/KxH0DdXMDHjesA9MeZje/853ifkSY0x4m5S+dfDZ+c4x439PF0M2w==} - engines: {node: '>=18.0.0'} + '@smithy/querystring-parser@4.0.4': dependencies: '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/service-error-classification@4.0.5: - resolution: {integrity: sha512-LvcfhrnCBvCmTee81pRlh1F39yTS/+kYleVeLCwNtkY8wtGg8V/ca9rbZZvYIl8OjlMtL6KIjaiL/lgVqHD2nA==} - engines: {node: '>=18.0.0'} + '@smithy/service-error-classification@4.0.5': dependencies: '@smithy/types': 4.3.1 - dev: true - /@smithy/shared-ini-file-loader@4.0.4: - resolution: {integrity: sha512-63X0260LoFBjrHifPDs+nM9tV0VMkOTl4JRMYNuKh/f5PauSjowTfvF3LogfkWdcPoxsA9UjqEOgjeYIbhb7Nw==} - engines: {node: '>=18.0.0'} + '@smithy/shared-ini-file-loader@4.0.4': dependencies: '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/signature-v4@5.1.2: - resolution: {integrity: sha512-d3+U/VpX7a60seHziWnVZOHuEgJlclufjkS6zhXvxcJgkJq4UWdH5eOBLzHRMx6gXjsdT9h6lfpmLzbrdupHgQ==} - engines: {node: '>=18.0.0'} + '@smithy/signature-v4@5.1.2': dependencies: '@smithy/is-array-buffer': 4.0.0 '@smithy/protocol-http': 5.1.2 @@ -3215,11 +7263,8 @@ packages: '@smithy/util-uri-escape': 4.0.0 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - dev: true - /@smithy/smithy-client@4.4.1: - resolution: {integrity: sha512-XPbcHRfd0iwx8dY5XCBCGyI7uweMW0oezYezxXcG8ANgvZ5YPuC6Ylh+n0bTHpdU3SCMZOnhzgVklYz+p3fIhw==} - engines: {node: '>=18.0.0'} + '@smithy/smithy-client@4.4.1': dependencies: '@smithy/core': 3.5.1 '@smithy/middleware-endpoint': 4.1.9 @@ -3228,84 +7273,54 @@ packages: '@smithy/types': 4.3.1 '@smithy/util-stream': 4.2.2 tslib: 2.8.1 - dev: true - /@smithy/types@4.3.1: - resolution: {integrity: sha512-UqKOQBL2x6+HWl3P+3QqFD4ncKq0I8Nuz9QItGv5WuKuMHuuwlhvqcZCoXGfc+P1QmfJE7VieykoYYmrOoFJxA==} - engines: {node: '>=18.0.0'} + '@smithy/types@4.3.1': dependencies: tslib: 2.8.1 - dev: true - /@smithy/url-parser@4.0.4: - resolution: {integrity: sha512-eMkc144MuN7B0TDA4U2fKs+BqczVbk3W+qIvcoCY6D1JY3hnAdCuhCZODC+GAeaxj0p6Jroz4+XMUn3PCxQQeQ==} - engines: {node: '>=18.0.0'} + '@smithy/url-parser@4.0.4': dependencies: '@smithy/querystring-parser': 4.0.4 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/util-base64@4.0.0: - resolution: {integrity: sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==} - engines: {node: '>=18.0.0'} + '@smithy/util-base64@4.0.0': dependencies: '@smithy/util-buffer-from': 4.0.0 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - dev: true - /@smithy/util-body-length-browser@4.0.0: - resolution: {integrity: sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==} - engines: {node: '>=18.0.0'} + '@smithy/util-body-length-browser@4.0.0': dependencies: tslib: 2.8.1 - dev: true - /@smithy/util-body-length-node@4.0.0: - resolution: {integrity: sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==} - engines: {node: '>=18.0.0'} + '@smithy/util-body-length-node@4.0.0': dependencies: tslib: 2.8.1 - dev: true - /@smithy/util-buffer-from@2.2.0: - resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} - engines: {node: '>=14.0.0'} + '@smithy/util-buffer-from@2.2.0': dependencies: '@smithy/is-array-buffer': 2.2.0 tslib: 2.8.1 - dev: true - /@smithy/util-buffer-from@4.0.0: - resolution: {integrity: sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==} - engines: {node: '>=18.0.0'} + '@smithy/util-buffer-from@4.0.0': dependencies: '@smithy/is-array-buffer': 4.0.0 tslib: 2.8.1 - dev: true - /@smithy/util-config-provider@4.0.0: - resolution: {integrity: sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==} - engines: {node: '>=18.0.0'} + '@smithy/util-config-provider@4.0.0': dependencies: tslib: 2.8.1 - dev: true - /@smithy/util-defaults-mode-browser@4.0.17: - resolution: {integrity: sha512-HXq5181qnXmIwB7VrwqwP8rsJybHMoYuJnNoXy4PROs2pfSI4sWDMASF2i+7Lo+u64Y6xowhegcdxczowgJtZg==} - engines: {node: '>=18.0.0'} + '@smithy/util-defaults-mode-browser@4.0.17': dependencies: '@smithy/property-provider': 4.0.4 '@smithy/smithy-client': 4.4.1 '@smithy/types': 4.3.1 bowser: 2.11.0 tslib: 2.8.1 - dev: true - /@smithy/util-defaults-mode-node@4.0.17: - resolution: {integrity: sha512-RfU2A5LjFhEHw4Nwl1GZNitK4AUWu5jGtigAUDoQtfDUvYHpQxcuLw2QGAdKDtKRflIiHSZ8wXBDR36H9R2Ang==} - engines: {node: '>=18.0.0'} + '@smithy/util-defaults-mode-node@4.0.17': dependencies: '@smithy/config-resolver': 4.1.4 '@smithy/credential-provider-imds': 4.0.6 @@ -3314,44 +7329,29 @@ packages: '@smithy/smithy-client': 4.4.1 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/util-endpoints@3.0.6: - resolution: {integrity: sha512-YARl3tFL3WgPuLzljRUnrS2ngLiUtkwhQtj8PAL13XZSyUiNLQxwG3fBBq3QXFqGFUXepIN73pINp3y8c2nBmA==} - engines: {node: '>=18.0.0'} + '@smithy/util-endpoints@3.0.6': dependencies: '@smithy/node-config-provider': 4.1.3 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/util-hex-encoding@4.0.0: - resolution: {integrity: sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==} - engines: {node: '>=18.0.0'} + '@smithy/util-hex-encoding@4.0.0': dependencies: tslib: 2.8.1 - dev: true - /@smithy/util-middleware@4.0.4: - resolution: {integrity: sha512-9MLKmkBmf4PRb0ONJikCbCwORACcil6gUWojwARCClT7RmLzF04hUR4WdRprIXal7XVyrddadYNfp2eF3nrvtQ==} - engines: {node: '>=18.0.0'} + '@smithy/util-middleware@4.0.4': dependencies: '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/util-retry@4.0.5: - resolution: {integrity: sha512-V7MSjVDTlEt/plmOFBn1762Dyu5uqMrV2Pl2X0dYk4XvWfdWJNe9Bs5Bzb56wkCuiWjSfClVMGcsuKrGj7S/yg==} - engines: {node: '>=18.0.0'} + '@smithy/util-retry@4.0.5': dependencies: '@smithy/service-error-classification': 4.0.5 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@smithy/util-stream@4.2.2: - resolution: {integrity: sha512-aI+GLi7MJoVxg24/3J1ipwLoYzgkB4kUfogZfnslcYlynj3xsQ0e7vk4TnTro9hhsS5PvX1mwmkRqqHQjwcU7w==} - engines: {node: '>=18.0.0'} + '@smithy/util-stream@4.2.2': dependencies: '@smithy/fetch-http-handler': 5.0.4 '@smithy/node-http-handler': 4.0.6 @@ -3361,50 +7361,33 @@ packages: '@smithy/util-hex-encoding': 4.0.0 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - dev: true - /@smithy/util-uri-escape@4.0.0: - resolution: {integrity: sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==} - engines: {node: '>=18.0.0'} + '@smithy/util-uri-escape@4.0.0': dependencies: tslib: 2.8.1 - dev: true - /@smithy/util-utf8@2.3.0: - resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} - engines: {node: '>=14.0.0'} + '@smithy/util-utf8@2.3.0': dependencies: '@smithy/util-buffer-from': 2.2.0 tslib: 2.8.1 - dev: true - /@smithy/util-utf8@4.0.0: - resolution: {integrity: sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==} - engines: {node: '>=18.0.0'} + '@smithy/util-utf8@4.0.0': dependencies: '@smithy/util-buffer-from': 4.0.0 tslib: 2.8.1 - dev: true - /@smithy/util-waiter@4.0.5: - resolution: {integrity: sha512-4QvC49HTteI1gfemu0I1syWovJgPvGn7CVUoN9ZFkdvr/cCFkrEL7qNCdx/2eICqDWEGnnr68oMdSIPCLAriSQ==} - engines: {node: '>=18.0.0'} + '@smithy/util-waiter@4.0.5': dependencies: '@smithy/abort-controller': 4.0.4 '@smithy/types': 4.3.1 tslib: 2.8.1 - dev: true - /@socket.io/component-emitter@3.1.2: - resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} - dev: true + '@socket.io/component-emitter@3.1.2': {} - /@solana/buffer-layout-utils@0.2.0(typescript@5.8.3): - resolution: {integrity: sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==} - engines: {node: '>= 10'} + '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/web3.js': 1.98.2(typescript@5.8.3) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) bigint-buffer: 1.1.5 bignumber.js: 9.3.0 transitivePeerDependencies: @@ -3413,78 +7396,48 @@ packages: - typescript - utf-8-validate - /@solana/buffer-layout@4.0.1: - resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==} - engines: {node: '>=5.10'} + '@solana/buffer-layout@4.0.1': dependencies: buffer: 6.0.3 - /@solana/codecs-core@2.0.0-rc.1(typescript@5.8.3): - resolution: {integrity: sha512-bauxqMfSs8EHD0JKESaNmNuNvkvHSuN3bbWAF5RjOfDu2PugxHrvRebmYauvSumZ3cTfQ4HJJX6PG5rN852qyQ==} - peerDependencies: - typescript: '>=5' + '@solana/codecs-core@2.0.0-rc.1(typescript@5.8.3)': dependencies: '@solana/errors': 2.0.0-rc.1(typescript@5.8.3) typescript: 5.8.3 - dev: false - /@solana/codecs-core@2.1.1(typescript@5.8.3): - resolution: {integrity: sha512-iPQW3UZ2Vi7QFBo2r9tw0NubtH8EdrhhmZulx6lC8V5a+qjaxovtM/q/UW2BTNpqqHLfO0tIcLyBLrNH4HTWPg==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: '>=5.3.3' + '@solana/codecs-core@2.1.1(typescript@5.8.3)': dependencies: '@solana/errors': 2.1.1(typescript@5.8.3) typescript: 5.8.3 - /@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.8.3): - resolution: {integrity: sha512-rinCv0RrAVJ9rE/rmaibWJQxMwC5lSaORSZuwjopSUE6T0nb/MVg6Z1siNCXhh/HFTOg0l8bNvZHgBcN/yvXog==} - peerDependencies: - typescript: '>=5' + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.8.3)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.3) '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.8.3) '@solana/errors': 2.0.0-rc.1(typescript@5.8.3) typescript: 5.8.3 - dev: false - /@solana/codecs-numbers@2.0.0-rc.1(typescript@5.8.3): - resolution: {integrity: sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ==} - peerDependencies: - typescript: '>=5' + '@solana/codecs-numbers@2.0.0-rc.1(typescript@5.8.3)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.3) '@solana/errors': 2.0.0-rc.1(typescript@5.8.3) typescript: 5.8.3 - dev: false - /@solana/codecs-numbers@2.1.1(typescript@5.8.3): - resolution: {integrity: sha512-m20IUPJhPUmPkHSlZ2iMAjJ7PaYUvlMtFhCQYzm9BEBSI6OCvXTG3GAPpAnSGRBfg5y+QNqqmKn4QHU3B6zzCQ==} - engines: {node: '>=20.18.0'} - peerDependencies: - typescript: '>=5.3.3' + '@solana/codecs-numbers@2.1.1(typescript@5.8.3)': dependencies: '@solana/codecs-core': 2.1.1(typescript@5.8.3) '@solana/errors': 2.1.1(typescript@5.8.3) typescript: 5.8.3 - /@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3): - resolution: {integrity: sha512-9/wPhw8TbGRTt6mHC4Zz1RqOnuPTqq1Nb4EyuvpZ39GW6O2t2Q7Q0XxiB3+BdoEjwA2XgPw6e2iRfvYgqty44g==} - peerDependencies: - fastestsmallesttextencoderdecoder: ^1.0.22 - typescript: '>=5' + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.3) '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.8.3) '@solana/errors': 2.0.0-rc.1(typescript@5.8.3) fastestsmallesttextencoderdecoder: 1.0.22 typescript: 5.8.3 - dev: false - /@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3): - resolution: {integrity: sha512-qxoR7VybNJixV51L0G1RD2boZTcxmwUWnKCaJJExQ5qNKwbpSyDdWfFJfM5JhGyKe9DnPVOZB+JHWXnpbZBqrQ==} - peerDependencies: - typescript: '>=5' + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.3) '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.8.3) @@ -3494,34 +7447,20 @@ packages: typescript: 5.8.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - dev: false - /@solana/errors@2.0.0-rc.1(typescript@5.8.3): - resolution: {integrity: sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ==} - hasBin: true - peerDependencies: - typescript: '>=5' + '@solana/errors@2.0.0-rc.1(typescript@5.8.3)': dependencies: chalk: 5.4.1 commander: 12.1.0 typescript: 5.8.3 - dev: false - /@solana/errors@2.1.1(typescript@5.8.3): - resolution: {integrity: sha512-sj6DaWNbSJFvLzT8UZoabMefQUfSW/8tXK7NTiagsDmh+Q87eyQDDC9L3z+mNmx9b6dEf6z660MOIplDD2nfEw==} - engines: {node: '>=20.18.0'} - hasBin: true - peerDependencies: - typescript: '>=5.3.3' + '@solana/errors@2.1.1(typescript@5.8.3)': dependencies: chalk: 5.4.1 commander: 13.1.0 typescript: 5.8.3 - /@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3): - resolution: {integrity: sha512-mLUcR9mZ3qfHlmMnREdIFPf9dpMc/Bl66tLSOOWxw4ml5xMT2ohFn7WGqoKcu/UHkT9CrC6+amEdqCNvUqI7AA==} - peerDependencies: - typescript: '>=5' + '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.3) '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.8.3) @@ -3531,48 +7470,32 @@ packages: typescript: 5.8.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder - dev: false - /@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.2)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3): - resolution: {integrity: sha512-V1N/iX7Cr7H0uazWUT2uk27TMqlqedpXHRqqAbVO2gvmJyT0E0ummMEAVQeXZ05ZhQ/xF39DLSdBp90XebWEug==} - engines: {node: '>=16'} - peerDependencies: - '@solana/web3.js': ^1.95.3 + '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) - '@solana/web3.js': 1.98.2(typescript@5.8.3) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - dev: false - /@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.2)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3): - resolution: {integrity: sha512-7sMt1rsm/zQOQcUWllQX9mD2O6KhSAtY1hFR2hfFwgqfFWzSY9E9GDvFVNYUI1F0iQKcm6HmePU9QbKRXTEBiA==} - engines: {node: '>=16'} - peerDependencies: - '@solana/web3.js': ^1.95.3 + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) - '@solana/web3.js': 1.98.2(typescript@5.8.3) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - dev: false - /@solana/spl-token-registry@0.2.4574: - resolution: {integrity: sha512-JzlfZmke8Rxug20VT/VpI2XsXlsqMlcORIUivF+Yucj7tFi7A0dXG7h+2UnD0WaZJw8BrUz2ABNkUnv89vbv1A==} - engines: {node: '>=10'} + '@solana/spl-token-registry@0.2.4574': dependencies: cross-fetch: 3.0.6 - dev: true - /@solana/spl-token@0.2.0(typescript@5.8.3): - resolution: {integrity: sha512-RWcn31OXtdqIxmkzQfB2R+WpsJOVS6rKuvpxJFjvik2LyODd+WN58ZP3Rpjpro03fscGAkzlFuP3r42doRJgyQ==} - engines: {node: '>= 14'} + '@solana/spl-token@0.2.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(typescript@5.8.3) - '@solana/web3.js': 1.98.2(typescript@5.8.3) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) start-server-and-test: 1.15.4 transitivePeerDependencies: - bufferutil @@ -3580,19 +7503,14 @@ packages: - supports-color - typescript - utf-8-validate - dev: true - /@solana/spl-token@0.4.13(@solana/web3.js@1.98.2)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3): - resolution: {integrity: sha512-cite/pYWQZZVvLbg5lsodSovbetK/eA24gaR0eeUeMuBAMNrT8XFCwaygKy0N2WSg3gSyjjNpIeAGBAKZaY/1w==} - engines: {node: '>=16'} - peerDependencies: - '@solana/web3.js': ^1.95.5 + '@solana/spl-token@0.4.13(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(typescript@5.8.3) - '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.2)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.2)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) - '@solana/web3.js': 1.98.2(typescript@5.8.3) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -3600,10 +7518,8 @@ packages: - fastestsmallesttextencoderdecoder - typescript - utf-8-validate - dev: false - /@solana/web3.js@1.98.2(typescript@5.8.3): - resolution: {integrity: sha512-BqVwEG+TaG2yCkBMbD3C4hdpustR4FpuUFRPUmqRZYYlPI9Hg4XMWxHWOWRzHE9Lkc9NDjzXFX7lDXSgzC7R1A==} + '@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.27.3 '@noble/curves': 1.9.1 @@ -3616,7 +7532,7 @@ packages: bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.2.0 + jayson: 4.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) node-fetch: 2.7.0 rpc-websockets: 9.1.1 superstruct: 2.0.2 @@ -3626,217 +7542,129 @@ packages: - typescript - utf-8-validate - /@starknet-io/types-js@0.7.10: - resolution: {integrity: sha512-1VtCqX4AHWJlRRSYGSn+4X1mqolI1Tdq62IwzoU2vUuEE72S1OlEeGhpvd6XsdqXcfHmVzYfj8k1XtKBQqwo9w==} - dev: false + '@starknet-io/types-js@0.7.10': {} - /@supercharge/promise-pool@3.2.0: - resolution: {integrity: sha512-pj0cAALblTZBPtMltWOlZTQSLT07jIaFNeM8TWoJD1cQMgDB9mcMlVMoetiB35OzNJpqQ2b+QEtwiR9f20mADg==} - engines: {node: '>=8'} - dev: false + '@supercharge/promise-pool@3.2.0': {} - /@swc/helpers@0.5.17: - resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} + '@swc/helpers@0.5.17': dependencies: tslib: 2.8.1 - /@szmarczak/http-timer@5.0.1: - resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} - engines: {node: '>=14.16'} + '@szmarczak/http-timer@5.0.1': dependencies: defer-to-connect: 2.0.1 - dev: true - /@tokenizer/inflate@0.2.7: - resolution: {integrity: sha512-MADQgmZT1eKjp06jpI2yozxaU9uVs4GzzgSL+uEq7bVcJ9V1ZXQkeGNql1fsSI0gMy1vhvNTNbUqrx+pZfJVmg==} - engines: {node: '>=18'} + '@tokenizer/inflate@0.2.7': dependencies: debug: 4.4.1(supports-color@8.1.1) fflate: 0.8.2 token-types: 6.0.0 transitivePeerDependencies: - supports-color - dev: false - /@tokenizer/token@0.3.0: - resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} - dev: false + '@tokenizer/token@0.3.0': {} - /@tsconfig/node10@1.0.11: - resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} - dev: true + '@tsconfig/node10@1.0.11': {} - /@tsconfig/node12@1.0.11: - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: true + '@tsconfig/node12@1.0.11': {} - /@tsconfig/node14@1.0.3: - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: true + '@tsconfig/node14@1.0.3': {} - /@tsconfig/node16@1.0.4: - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - dev: true + '@tsconfig/node16@1.0.4': {} - /@tybys/wasm-util@0.9.0: - resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} - requiresBuild: true + '@tybys/wasm-util@0.9.0': dependencies: tslib: 2.8.1 - dev: true optional: true - /@types/async-retry@1.4.9: - resolution: {integrity: sha512-s1ciZQJzRh3708X/m3vPExr5KJlzlZJvXsKpbtE2luqNcbROr64qU+3KpJsYHqWMeaxI839OvXf9PrUSw1Xtyg==} + '@types/async-retry@1.4.9': dependencies: '@types/retry': 0.12.5 - dev: true - /@types/bn.js@5.1.6: - resolution: {integrity: sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==} + '@types/bn.js@5.1.6': dependencies: '@types/node': 18.19.108 - dev: true - /@types/chai@4.3.20: - resolution: {integrity: sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==} - dev: true + '@types/chai@4.3.20': {} - /@types/cli-progress@3.11.6: - resolution: {integrity: sha512-cE3+jb9WRlu+uOSAugewNpITJDt1VF8dHOopPO4IABFc3SXYL5WE/+PTz/FCdZRRfIujiWW3n3aMbv1eIGVRWA==} + '@types/cli-progress@3.11.6': dependencies: '@types/node': 18.19.108 - dev: true - /@types/connect@3.4.38: - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + '@types/connect@3.4.38': dependencies: '@types/node': 18.19.108 - /@types/cors@2.8.18: - resolution: {integrity: sha512-nX3d0sxJW41CqQvfOzVG1NCTXfFDrDWIghCZncpHeWlVFd81zxB/DLhg7avFg6eHLCRX7ckBmoIIcqa++upvJA==} + '@types/cors@2.8.18': dependencies: '@types/node': 18.19.108 - dev: true - /@types/http-cache-semantics@4.0.4: - resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - dev: true + '@types/http-cache-semantics@4.0.4': {} - /@types/json-schema@7.0.15: - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - dev: true + '@types/json-schema@7.0.15': {} - /@types/json5@0.0.29: - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: true + '@types/json5@0.0.29': {} - /@types/long@4.0.2: - resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} - dev: false + '@types/long@4.0.2': {} - /@types/mime-types@2.1.4: - resolution: {integrity: sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==} - dev: true + '@types/mime-types@2.1.4': {} - /@types/mocha@10.0.10: - resolution: {integrity: sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==} - dev: true + '@types/mocha@10.0.10': {} - /@types/mute-stream@0.0.4: - resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} + '@types/mute-stream@0.0.4': dependencies: '@types/node': 18.19.108 - dev: true - /@types/node-hid@1.3.4: - resolution: {integrity: sha512-0ootpsYetN9vjqkDSwm/cA4fk/9yGM/PO0X8SLPE/BzXlUaBelImMWMymtF9QEoEzxY0pnhcROIJM0CNSUqO8w==} + '@types/node-hid@1.3.4': dependencies: '@types/node': 18.19.108 - dev: true - /@types/node@10.12.18: - resolution: {integrity: sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==} - dev: false + '@types/node@10.12.18': {} - /@types/node@12.20.55: - resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + '@types/node@12.20.55': {} - /@types/node@18.19.108: - resolution: {integrity: sha512-JZv9uwGYYtfcsO7B99KszTlNhvrIWqsRy7Xjp5Hr7ZFj7DSlsxIi0zJfibe/1xtPn6kEEbfMjH2lbsubwa81pQ==} + '@types/node@18.19.108': dependencies: undici-types: 5.26.5 - /@types/node@22.15.27: - resolution: {integrity: sha512-5fF+eu5mwihV2BeVtX5vijhdaZOfkQTATrePEaXTcKqI16LhJ7gi2/Vhd9OZM0UojcdmiOCVg5rrax+i1MdoQQ==} + '@types/node@22.15.27': dependencies: undici-types: 6.21.0 - dev: true - /@types/node@22.7.5: - resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==} + '@types/node@22.7.5': dependencies: undici-types: 6.19.8 - dev: false - /@types/normalize-package-data@2.4.4: - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - dev: true + '@types/normalize-package-data@2.4.4': {} - /@types/prop-types@15.7.14: - resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==} - dev: false + '@types/prop-types@15.7.14': {} - /@types/react@18.3.23: - resolution: {integrity: sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==} + '@types/react@18.3.23': dependencies: '@types/prop-types': 15.7.14 csstype: 3.1.3 - dev: false - /@types/retry@0.12.5: - resolution: {integrity: sha512-3xSjTp3v03X/lSQLkczaN9UIEwJMoMCA1+Nb5HfbJEQWogdeQIyVtTvxPXDQjZ5zws8rFQfVfRdz03ARihPJgw==} - dev: true + '@types/retry@0.12.5': {} - /@types/semver@7.7.0: - resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==} - dev: true + '@types/semver@7.7.0': {} - /@types/triple-beam@1.3.5: - resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} - dev: false + '@types/triple-beam@1.3.5': {} - /@types/uuid@8.3.4: - resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} + '@types/uuid@8.3.4': {} - /@types/w3c-web-usb@1.0.10: - resolution: {integrity: sha512-CHgUI5kTc/QLMP8hODUHhge0D4vx+9UiAwIGiT0sTy/B2XpdX1U5rJt6JSISgr6ikRT7vxV9EVAFeYZqUnl1gQ==} - dev: false + '@types/w3c-web-usb@1.0.10': {} - /@types/wrap-ansi@3.0.0: - resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} - dev: true + '@types/wrap-ansi@3.0.0': {} - /@types/ws@7.4.7: - resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} + '@types/ws@7.4.7': dependencies: '@types/node': 18.19.108 - /@types/ws@8.18.1: - resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + '@types/ws@8.18.1': dependencies: '@types/node': 18.19.108 - /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.1)(typescript@5.8.3): - resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.8.3) @@ -3851,20 +7679,12 @@ packages: natural-compare: 1.4.0 semver: 7.7.2 ts-api-utils: 1.4.3(typescript@5.8.3) + optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.3): - resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.3)': dependencies: '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 @@ -3872,65 +7692,38 @@ packages: '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.4.1(supports-color@8.1.1) eslint: 8.57.1 + optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/scope-manager@6.21.0: - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/scope-manager@6.21.0': dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - dev: true - /@typescript-eslint/scope-manager@7.18.0: - resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/scope-manager@7.18.0': dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - dev: true - /@typescript-eslint/type-utils@6.21.0(eslint@8.57.1)(typescript@5.8.3): - resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/type-utils@6.21.0(eslint@8.57.1)(typescript@5.8.3)': dependencies: '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.8.3) '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.8.3) debug: 4.4.1(supports-color@8.1.1) eslint: 8.57.1 ts-api-utils: 1.4.3(typescript@5.8.3) + optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/types@6.21.0: - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true + '@typescript-eslint/types@6.21.0': {} - /@typescript-eslint/types@7.18.0: - resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} - engines: {node: ^18.18.0 || >=20.0.0} - dev: true + '@typescript-eslint/types@7.18.0': {} - /@typescript-eslint/typescript-estree@6.21.0(typescript@5.8.3): - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.8.3)': dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 @@ -3940,19 +7733,12 @@ packages: minimatch: 9.0.3 semver: 7.7.2 ts-api-utils: 1.4.3(typescript@5.8.3) + optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/typescript-estree@7.18.0(typescript@5.8.3): - resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.8.3)': dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 @@ -3962,16 +7748,12 @@ packages: minimatch: 9.0.5 semver: 7.7.2 ts-api-utils: 1.4.3(typescript@5.8.3) + optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/utils@6.21.0(eslint@8.57.1)(typescript@5.8.3): - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + '@typescript-eslint/utils@6.21.0(eslint@8.57.1)(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@8.57.1) '@types/json-schema': 7.0.15 @@ -3984,13 +7766,8 @@ packages: transitivePeerDependencies: - supports-color - typescript - dev: true - /@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.8.3): - resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 + '@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@8.57.1) '@typescript-eslint/scope-manager': 7.18.0 @@ -4000,239 +7777,113 @@ packages: transitivePeerDependencies: - supports-color - typescript - dev: true - /@typescript-eslint/visitor-keys@6.21.0: - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/visitor-keys@6.21.0': dependencies: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 - dev: true - /@typescript-eslint/visitor-keys@7.18.0: - resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/visitor-keys@7.18.0': dependencies: '@typescript-eslint/types': 7.18.0 eslint-visitor-keys: 3.4.3 - dev: true - /@ungap/structured-clone@1.3.0: - resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - dev: true + '@ungap/structured-clone@1.3.0': {} - /@unrs/resolver-binding-darwin-arm64@1.7.8: - resolution: {integrity: sha512-rsRK8T7yxraNRDmpFLZCWqpea6OlXPNRRCjWMx24O1V86KFol7u2gj9zJCv6zB1oJjtnzWceuqdnCgOipFcJPA==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + '@unrs/resolver-binding-darwin-arm64@1.7.8': optional: true - /@unrs/resolver-binding-darwin-x64@1.7.8: - resolution: {integrity: sha512-16yEMWa+Olqkk8Kl6Bu0ltT5OgEedkSAsxcz1B3yEctrDYp3EMBu/5PPAGhWVGnwhtf3hNe3y15gfYBAjOv5tQ==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + '@unrs/resolver-binding-darwin-x64@1.7.8': optional: true - /@unrs/resolver-binding-freebsd-x64@1.7.8: - resolution: {integrity: sha512-ST4uqF6FmdZQgv+Q73FU1uHzppeT4mhX3IIEmHlLObrv5Ep50olWRz0iQ4PWovadjHMTAmpuJAGaAuCZYb7UAQ==} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true + '@unrs/resolver-binding-freebsd-x64@1.7.8': optional: true - /@unrs/resolver-binding-linux-arm-gnueabihf@1.7.8: - resolution: {integrity: sha512-Z/A/4Rm2VWku2g25C3tVb986fY6unx5jaaCFpx1pbAj0OKkyuJ5wcQLHvNbIcJ9qhiYwXfrkB7JNlxrAbg7YFg==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + '@unrs/resolver-binding-linux-arm-gnueabihf@1.7.8': optional: true - /@unrs/resolver-binding-linux-arm-musleabihf@1.7.8: - resolution: {integrity: sha512-HN0p7o38qKmDo3bZUiQa6gP7Qhf0sKgJZtRfSHi6JL2Gi4NaUVF0EO1sQ1RHbeQ4VvfjUGMh3QE5dxEh06BgQQ==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + '@unrs/resolver-binding-linux-arm-musleabihf@1.7.8': optional: true - /@unrs/resolver-binding-linux-arm64-gnu@1.7.8: - resolution: {integrity: sha512-HsoVqDBt9G69AN0KWeDNJW+7i8KFlwxrbbnJffgTGpiZd6Jw+Q95sqkXp8y458KhKduKLmXfVZGnKBTNxAgPjw==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@unrs/resolver-binding-linux-arm64-gnu@1.7.8': optional: true - /@unrs/resolver-binding-linux-arm64-musl@1.7.8: - resolution: {integrity: sha512-VfR2yTDUbUvn+e/Aw22CC9fQg9zdShHAfwWctNBdOk7w9CHWl2OtYlcMvjzMAns8QxoHQoqn3/CEnZ4Ts7hfrA==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@unrs/resolver-binding-linux-arm64-musl@1.7.8': optional: true - /@unrs/resolver-binding-linux-ppc64-gnu@1.7.8: - resolution: {integrity: sha512-xUauVQNz4uDgs4UJJiUAwMe3N0PA0wvtImh7V0IFu++UKZJhssXbKHBRR4ecUJpUHCX2bc4Wc8sGsB6P+7BANg==} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true + '@unrs/resolver-binding-linux-ppc64-gnu@1.7.8': optional: true - /@unrs/resolver-binding-linux-riscv64-gnu@1.7.8: - resolution: {integrity: sha512-GqyIB+CuSHGhhc8ph5RrurtNetYJjb6SctSHafqmdGcRuGi6uyTMR8l18hMEhZFsXdFMc/MpInPLvmNV22xn+A==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true + '@unrs/resolver-binding-linux-riscv64-gnu@1.7.8': optional: true - /@unrs/resolver-binding-linux-riscv64-musl@1.7.8: - resolution: {integrity: sha512-eEU3rWIFRv60xaAbtsgwHNWRZGD7cqkpCvNtio/f1TjEE3HfKLzPNB24fA9X/8ZXQrGldE65b7UKK3PmO4eWIQ==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true + '@unrs/resolver-binding-linux-riscv64-musl@1.7.8': optional: true - /@unrs/resolver-binding-linux-s390x-gnu@1.7.8: - resolution: {integrity: sha512-GVLI0f4I4TlLqEUoOFvTWedLsJEdvsD0+sxhdvQ5s+N+m2DSynTs8h9jxR0qQbKlpHWpc2Ortz3z48NHRT4l+w==} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true + '@unrs/resolver-binding-linux-s390x-gnu@1.7.8': optional: true - /@unrs/resolver-binding-linux-x64-gnu@1.7.8: - resolution: {integrity: sha512-GX1pZ/4ncUreB0Rlp1l7bhKAZ8ZmvDIgXdeb5V2iK0eRRF332+6gRfR/r5LK88xfbtOpsmRHU6mQ4N8ZnwvGEA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@unrs/resolver-binding-linux-x64-gnu@1.7.8': optional: true - /@unrs/resolver-binding-linux-x64-musl@1.7.8: - resolution: {integrity: sha512-n1N84MnsvDupzVuYqJGj+2pb9s8BI1A5RgXHvtVFHedGZVBCFjDpQVRlmsFMt6xZiKwDPaqsM16O/1isCUGt7w==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@unrs/resolver-binding-linux-x64-musl@1.7.8': optional: true - /@unrs/resolver-binding-wasm32-wasi@1.7.8: - resolution: {integrity: sha512-x94WnaU5g+pCPDVedfnXzoG6lCOF2xFGebNwhtbJCWfceE94Zj8aysSxdxotlrZrxnz5D3ijtyFUYtpz04n39Q==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] - requiresBuild: true + '@unrs/resolver-binding-wasm32-wasi@1.7.8': dependencies: '@napi-rs/wasm-runtime': 0.2.10 - dev: true optional: true - /@unrs/resolver-binding-win32-arm64-msvc@1.7.8: - resolution: {integrity: sha512-vst2u8EJZ5L6jhJ6iLis3w9rg16aYqRxQuBAMYQRVrPMI43693hLP7DuqyOBRKgsQXy9/jgh204k0ViHkqQgdg==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + '@unrs/resolver-binding-win32-arm64-msvc@1.7.8': optional: true - /@unrs/resolver-binding-win32-ia32-msvc@1.7.8: - resolution: {integrity: sha512-yb3LZOLMFqnA+/ShlE1E5bpYPGDsA590VHHJPB+efnyowT776GJXBoh82em6O9WmYBUq57YblGTcMYAFBm72HA==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@unrs/resolver-binding-win32-ia32-msvc@1.7.8': optional: true - /@unrs/resolver-binding-win32-x64-msvc@1.7.8: - resolution: {integrity: sha512-hHKFx+opG5BA3/owMXon8ypwSotBGTdblG6oda/iOu9+OEYnk0cxD2uIcGyGT8jCK578kV+xMrNxqbn8Zjlpgw==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@unrs/resolver-binding-win32-x64-msvc@1.7.8': optional: true - /abi-wan-kanabi@2.2.4: - resolution: {integrity: sha512-0aA81FScmJCPX+8UvkXLki3X1+yPQuWxEkqXBVKltgPAK79J+NB+Lp5DouMXa7L6f+zcRlIA/6XO7BN/q9fnvg==} - hasBin: true + abi-wan-kanabi@2.2.4: dependencies: ansicolors: 0.3.2 cardinal: 2.1.1 fs-extra: 10.1.0 yargs: 17.7.2 - dev: false - /accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} + accepts@1.3.8: dependencies: mime-types: 2.1.35 negotiator: 0.6.3 - dev: true - /acorn-jsx@5.3.2(acorn@8.14.1): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-jsx@5.3.2(acorn@8.14.1): dependencies: acorn: 8.14.1 - dev: true - /acorn-walk@8.3.4: - resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} - engines: {node: '>=0.4.0'} + acorn-walk@8.3.4: dependencies: acorn: 8.14.1 - dev: true - /acorn@8.14.1: - resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true + acorn@8.14.1: {} - /aes-js@3.0.0: - resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} - dev: false + aes-js@3.0.0: {} - /aes-js@4.0.0-beta.5: - resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} - dev: false + aes-js@4.0.0-beta.5: {} - /agentkeepalive@4.6.0: - resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} - engines: {node: '>= 8.0.0'} + agentkeepalive@4.6.0: dependencies: humanize-ms: 1.2.1 - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - dev: true - /algo-msgpack-with-bigint@2.1.1: - resolution: {integrity: sha512-F1tGh056XczEaEAqu7s+hlZUDWwOBT70Eq0lfMpBP2YguSQVyxRbprLq5rELXKQOyOaixTWYhMeMQMzP0U5FoQ==} - engines: {node: '>= 10'} - requiresBuild: true - dev: false + algo-msgpack-with-bigint@2.1.1: optional: true - /algosdk@1.24.1: - resolution: {integrity: sha512-9moZxdqeJ6GdE4N6fA/GlUP4LrbLZMYcYkt141J4Ss68OfEgH9qW0wBuZ3ZOKEx/xjc5bg7mLP2Gjg7nwrkmww==} - engines: {node: '>=14.0.0'} - requiresBuild: true + algosdk@1.24.1: dependencies: algo-msgpack-with-bigint: 2.1.1 buffer: 6.0.3 @@ -4246,92 +7897,53 @@ packages: vlq: 2.0.4 transitivePeerDependencies: - encoding - dev: false optional: true - /ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - dev: true + ansi-colors@4.1.3: {} - /ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 - /ansi-escapes@7.0.0: - resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} - engines: {node: '>=18'} + ansi-escapes@7.0.0: dependencies: environment: 1.1.0 - dev: false - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + ansi-regex@5.0.1: {} - /ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} - engines: {node: '>=12'} - dev: false + ansi-regex@6.1.0: {} - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - dev: false + ansi-styles@6.2.1: {} - /ansicolors@0.3.2: - resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} - dev: false + ansicolors@0.3.2: {} - /ansis@3.17.0: - resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==} - engines: {node: '>=14'} + ansis@3.17.0: {} - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - dev: true - /arconnect@0.4.2: - resolution: {integrity: sha512-Jkpd4QL3TVqnd3U683gzXmZUVqBUy17DdJDuL/3D9rkysLgX6ymJ2e+sR+xyZF5Rh42CBqDXWNMmCjBXeP7Gbw==} + arconnect@0.4.2: dependencies: arweave: 1.15.7 - dev: false - /arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true + arg@4.1.3: {} - /arg@5.0.2: - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - dev: true + arg@5.0.2: {} - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true + argparse@2.0.1: {} - /array-buffer-byte-length@1.0.2: - resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} - engines: {node: '>= 0.4'} + array-buffer-byte-length@1.0.2: dependencies: call-bound: 1.0.4 is-array-buffer: 3.0.5 - dev: true - /array-includes@3.1.8: - resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} - engines: {node: '>= 0.4'} + array-includes@3.1.8: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 @@ -4339,15 +7951,10 @@ packages: es-object-atoms: 1.1.1 get-intrinsic: 1.3.0 is-string: 1.1.1 - dev: true - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} + array-union@2.1.0: {} - /array.prototype.findlastindex@1.2.6: - resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==} - engines: {node: '>= 0.4'} + array.prototype.findlastindex@1.2.6: dependencies: call-bind: 1.0.8 call-bound: 1.0.4 @@ -4356,31 +7963,22 @@ packages: es-errors: 1.3.0 es-object-atoms: 1.1.1 es-shim-unscopables: 1.1.0 - dev: true - /array.prototype.flat@1.3.3: - resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} - engines: {node: '>= 0.4'} + array.prototype.flat@1.3.3: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.24.0 es-shim-unscopables: 1.1.0 - dev: true - /array.prototype.flatmap@1.3.3: - resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} - engines: {node: '>= 0.4'} + array.prototype.flatmap@1.3.3: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.24.0 es-shim-unscopables: 1.1.0 - dev: true - /arraybuffer.prototype.slice@1.0.4: - resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} - engines: {node: '>= 0.4'} + arraybuffer.prototype.slice@1.0.4: dependencies: array-buffer-byte-length: 1.0.2 call-bind: 1.0.8 @@ -4389,197 +7987,118 @@ packages: es-errors: 1.3.0 get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 - dev: true - /arweave-stream-tx@1.2.2(arweave@1.15.7): - resolution: {integrity: sha512-bNt9rj0hbAEzoUZEF2s6WJbIz8nasZlZpxIw03Xm8fzb9gRiiZlZGW3lxQLjfc9Z0VRUWDzwtqoYeEoB/JDToQ==} - requiresBuild: true - peerDependencies: - arweave: ^1.10.0 + arweave-stream-tx@1.2.2(arweave@1.15.7): dependencies: arweave: 1.15.7 exponential-backoff: 3.1.2 - dev: false optional: true - /arweave@1.15.7: - resolution: {integrity: sha512-F+Y4iWU1qea9IsKQ/YNmLsY4DHQVsaJBuhEbFxQn9cfGHOmtXE+bwo14oY8xqymsqSNf/e1PeIfLk7G7qN/hVA==} - engines: {node: '>=18'} + arweave@1.15.7: dependencies: arconnect: 0.4.2 asn1.js: 5.4.1 base64-js: 1.5.1 bignumber.js: 9.3.0 - dev: false - /asn1.js@5.4.1: - resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} + asn1.js@5.4.1: dependencies: bn.js: 4.12.2 inherits: 2.0.4 minimalistic-assert: 1.0.1 safer-buffer: 2.1.2 - dev: false - /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true + assertion-error@1.1.0: {} - /async-function@1.0.0: - resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} - engines: {node: '>= 0.4'} - dev: true + async-function@1.0.0: {} - /async-retry@1.3.3: - resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + async-retry@1.3.3: dependencies: retry: 0.13.1 - /async@3.2.6: - resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + async@3.2.6: {} - /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + asynckit@0.4.0: {} - /auto-bind@5.0.1: - resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false + auto-bind@5.0.1: {} - /available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.1.0 - dev: true - /axios-retry@3.9.1: - resolution: {integrity: sha512-8PJDLJv7qTTMMwdnbMvrLYuvB47M81wRtxQmEdV5w4rgbTXTt+vtPkXwajOfOdSyv/wZICJOC+/UhXH4aQ/R+w==} + axios-retry@3.9.1: dependencies: '@babel/runtime': 7.27.3 is-retry-allowed: 2.2.0 - dev: false - - /axios@0.25.0(debug@4.4.1): - resolution: {integrity: sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==} - dependencies: - follow-redirects: 1.15.9(debug@4.4.1) - transitivePeerDependencies: - - debug - dev: true - /axios@0.27.2: - resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + axios@0.25.0(debug@4.4.1): dependencies: follow-redirects: 1.15.9(debug@4.4.1) - form-data: 4.0.2 transitivePeerDependencies: - debug - dev: false - /axios@0.27.2(debug@4.3.4): - resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + axios@0.27.2(debug@4.3.4): dependencies: follow-redirects: 1.15.9(debug@4.3.4) form-data: 4.0.2 transitivePeerDependencies: - debug - dev: true - /axios@1.4.0: - resolution: {integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==} + axios@1.4.0: dependencies: - follow-redirects: 1.15.9(debug@4.4.1) + follow-redirects: 1.15.9(debug@4.3.4) form-data: 4.0.2 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - dev: false - /axios@1.9.0: - resolution: {integrity: sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==} + axios@1.9.0: dependencies: - follow-redirects: 1.15.9(debug@4.4.1) + follow-redirects: 1.15.9(debug@4.3.4) form-data: 4.0.2 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - dev: false - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + balanced-match@1.0.2: {} - /base-x@3.0.11: - resolution: {integrity: sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==} + base-x@3.0.11: dependencies: safe-buffer: 5.2.1 - /base-x@4.0.1: - resolution: {integrity: sha512-uAZ8x6r6S3aUM9rbHGVOIsR15U/ZSc82b3ymnCPsT45Gk1DDvhDPdIgB5MrhirZWt+5K0EEPQH985kNqZgNPFw==} - dev: false + base-x@4.0.1: {} - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + base64-js@1.5.1: {} - /base64id@2.0.0: - resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} - engines: {node: ^4.5.0 || >= 5.9} - dev: true + base64id@2.0.0: {} - /base64url@3.0.1: - resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} - engines: {node: '>=6.0.0'} - dev: false + base64url@3.0.1: {} - /bech32@1.1.4: - resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} - dev: false + bech32@1.1.4: {} - /bech32@2.0.0: - resolution: {integrity: sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==} - dev: false + bech32@2.0.0: {} - /big-integer@1.6.52: - resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} - engines: {node: '>=0.6'} - dev: false + big-integer@1.6.52: {} - /bigint-buffer@1.1.5: - resolution: {integrity: sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==} - engines: {node: '>= 10.0.0'} - requiresBuild: true + bigint-buffer@1.1.5: dependencies: bindings: 1.5.0 - /bignumber.js@9.1.2: - resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} - dev: false + bignumber.js@9.1.2: {} - /bignumber.js@9.3.0: - resolution: {integrity: sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==} + bignumber.js@9.3.0: {} - /binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - dev: true + binary-extensions@2.3.0: {} - /bindings@1.5.0: - resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + bindings@1.5.0: dependencies: file-uri-to-path: 1.0.0 - /bip174@2.1.1: - resolution: {integrity: sha512-mdFV5+/v0XyNYXjBS6CQPLo9ekCx4gtKZFnJm5PMto7Fs9hTTDpkkzOB7/FtluRI6JbUUAu+snTYfJRgHLZbZQ==} - engines: {node: '>=8.0.0'} - dev: false + bip174@2.1.1: {} - /bip32-path@0.4.2: - resolution: {integrity: sha512-ZBMCELjJfcNMkz5bDuJ1WrYvjlhEF5k6mQ8vUr4N7MbVRsXei7ZOg8VhhwMfNiW68NWmLkgkc6WvTickrLGprQ==} - dev: false + bip32-path@0.4.2: {} - /bip32@2.0.6: - resolution: {integrity: sha512-HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA==} - engines: {node: '>=6.0.0'} + bip32@2.0.6: dependencies: '@types/node': 10.12.18 bs58check: 2.1.2 @@ -4588,17 +8107,12 @@ packages: tiny-secp256k1: 1.1.7 typeforce: 1.18.0 wif: 2.0.6 - dev: false - /bip39@3.1.0: - resolution: {integrity: sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A==} + bip39@3.1.0: dependencies: '@noble/hashes': 1.8.0 - dev: false - /bitcoinjs-lib@6.1.7: - resolution: {integrity: sha512-tlf/r2DGMbF7ky1MgUqXHzypYHakkEnm0SZP23CJKIqNY/5uNAnMbFhMJdhjrL/7anfb/U8+AlpdjPWjPnAalg==} - engines: {node: '>=8.0.0'} + bitcoinjs-lib@6.1.7: dependencies: '@noble/hashes': 1.8.0 bech32: 2.0.0 @@ -4606,140 +8120,93 @@ packages: bs58check: 3.0.1 typeforce: 1.18.0 varuint-bitcoin: 1.1.2 - dev: false - /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + bl@4.1.0: dependencies: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 - dev: false - /bluebird@3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - dev: true + bluebird@3.7.2: {} - /bn.js@4.11.6: - resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} - dev: false + bn.js@4.11.6: {} - /bn.js@4.12.2: - resolution: {integrity: sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==} - dev: false + bn.js@4.12.2: {} - /bn.js@5.2.2: - resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} + bn.js@5.2.2: {} - /borsh@0.7.0: - resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} + borsh@0.7.0: dependencies: bn.js: 5.2.2 bs58: 4.0.1 text-encoding-utf-8: 1.0.2 - /bowser@2.11.0: - resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} - dev: true + bowser@2.11.0: {} - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@2.0.1: dependencies: balanced-match: 1.0.2 - - /braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} + + braces@3.0.3: dependencies: fill-range: 7.1.1 - /brorand@1.1.0: - resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - dev: false + brorand@1.1.0: {} - /browser-stdout@1.3.1: - resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - dev: true + browser-stdout@1.3.1: {} - /bs58@4.0.1: - resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} + bs58@4.0.1: dependencies: base-x: 3.0.11 - /bs58@5.0.0: - resolution: {integrity: sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==} + bs58@5.0.0: dependencies: base-x: 4.0.1 - dev: false - /bs58check@2.1.2: - resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==} + bs58check@2.1.2: dependencies: bs58: 4.0.1 create-hash: 1.2.0 safe-buffer: 5.2.1 - dev: false - /bs58check@3.0.1: - resolution: {integrity: sha512-hjuuJvoWEybo7Hn/0xOrczQKKEKD63WguEjlhLExYs2wUBcebDC1jDNK17eEAD2lYfw82d5ASC1d7K3SWszjaQ==} + bs58check@3.0.1: dependencies: '@noble/hashes': 1.8.0 bs58: 5.0.0 - dev: false - /buffer-hexdump@1.0.0: - resolution: {integrity: sha512-Zfe5uJT9Y7J2cm2MVkmhRdkAqlbj0uw9oBaeXgOKUiXd+kdcABkp7+W+hQ8fCW/5TouBClXSzD8K5/XwVckDsg==} - dev: true + buffer-hexdump@1.0.0: {} - /buffer-reverse@1.0.1: - resolution: {integrity: sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg==} - dev: false + buffer-reverse@1.0.1: {} - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + buffer@5.7.1: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: false - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + buffer@6.0.3: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - /bufferutil@4.0.9: - resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} - engines: {node: '>=6.14.2'} - requiresBuild: true + bufferutil@4.0.9: dependencies: node-gyp-build: 4.8.4 + optional: true - /builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - dev: true + builtin-modules@3.3.0: {} - /builtins@5.1.0: - resolution: {integrity: sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==} + builtins@5.1.0: dependencies: semver: 7.7.2 - dev: true - /cacheable-lookup@7.0.0: - resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} - engines: {node: '>=14.16'} - dev: true + cacheable-lookup@7.0.0: {} - /cacheable-request@10.2.14: - resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} - engines: {node: '>=14.16'} + cacheable-request@10.2.14: dependencies: '@types/http-cache-semantics': 4.0.4 get-stream: 6.0.1 @@ -4748,68 +8215,45 @@ packages: mimic-response: 4.0.0 normalize-url: 8.0.1 responselike: 3.0.0 - dev: true - /call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} + call-bind-apply-helpers@1.0.2: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 - /call-bind@1.0.8: - resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} - engines: {node: '>= 0.4'} + call-bind@1.0.8: dependencies: call-bind-apply-helpers: 1.0.2 es-define-property: 1.0.1 get-intrinsic: 1.3.0 set-function-length: 1.2.2 - dev: true - /call-bound@1.0.4: - resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} - engines: {node: '>= 0.4'} + call-bound@1.0.4: dependencies: call-bind-apply-helpers: 1.0.2 get-intrinsic: 1.3.0 - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true + callsites@3.1.0: {} - /camel-case@4.1.2: - resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + camel-case@4.1.2: dependencies: pascal-case: 3.1.2 tslib: 2.8.1 - dev: true - /camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - dev: true + camelcase@6.3.0: {} - /capital-case@1.0.4: - resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} + capital-case@1.0.4: dependencies: no-case: 3.0.4 tslib: 2.8.1 upper-case-first: 2.0.2 - dev: true - /cardinal@2.1.1: - resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} - hasBin: true + cardinal@2.1.1: dependencies: ansicolors: 0.3.2 redeyed: 2.1.1 - dev: false - /chai@4.5.0: - resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} - engines: {node: '>=4'} + chai@4.5.0: dependencies: assertion-error: 1.1.0 check-error: 1.0.3 @@ -4818,21 +8262,15 @@ packages: loupe: 2.3.7 pathval: 1.1.1 type-detect: 4.1.0 - dev: true - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - /chalk@5.4.1: - resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + chalk@5.4.1: {} - /change-case@4.1.2: - resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} + change-case@4.1.2: dependencies: camel-case: 4.1.2 capital-case: 1.0.4 @@ -4846,29 +8284,18 @@ packages: sentence-case: 3.0.4 snake-case: 3.0.4 tslib: 2.8.1 - dev: true - /change-case@5.4.4: - resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} - dev: false + change-case@5.4.4: {} - /chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + chardet@0.7.0: {} - /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + check-error@1.0.3: dependencies: get-func-name: 2.0.2 - dev: true - /check-more-types@2.24.0: - resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==} - engines: {node: '>= 0.8.0'} - dev: true + check-more-types@2.24.0: {} - /chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} + chokidar@3.6.0: dependencies: anymatch: 3.1.3 braces: 3.0.3 @@ -4879,239 +8306,145 @@ packages: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 - dev: true - /chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - dev: false + chownr@1.1.4: {} - /ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - dev: true + ci-info@3.9.0: {} - /cipher-base@1.0.6: - resolution: {integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==} - engines: {node: '>= 0.10'} + cipher-base@1.0.6: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 - dev: false - /clean-regexp@1.0.0: - resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} - engines: {node: '>=4'} + clean-regexp@1.0.0: dependencies: escape-string-regexp: 1.0.5 - dev: true - /clean-stack@3.0.1: - resolution: {integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==} - engines: {node: '>=10'} + clean-stack@3.0.1: dependencies: escape-string-regexp: 4.0.0 - /cli-boxes@3.0.0: - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} - engines: {node: '>=10'} - dev: false + cli-boxes@3.0.0: {} - /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} + cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 - dev: false - /cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cli-cursor@4.0.0: dependencies: restore-cursor: 4.0.0 - dev: false - /cli-cursor@5.0.0: - resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} - engines: {node: '>=18'} + cli-cursor@5.0.0: dependencies: restore-cursor: 5.1.0 - dev: false - /cli-progress@3.12.0: - resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==} - engines: {node: '>=4'} + cli-progress@3.12.0: dependencies: string-width: 4.2.3 - dev: false - /cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} + cli-spinners@2.9.2: {} - /cli-truncate@4.0.0: - resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} - engines: {node: '>=18'} + cli-truncate@4.0.0: dependencies: slice-ansi: 5.0.0 string-width: 7.2.0 - dev: false - /cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} - dev: false + cli-width@3.0.0: {} - /cli-width@4.1.0: - resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} - engines: {node: '>= 12'} + cli-width@4.1.0: {} - /cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + cliui@7.0.4: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - dev: true - /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + cliui@8.0.1: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: false + clone@1.0.4: {} - /code-excerpt@4.0.0: - resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + code-excerpt@4.0.0: dependencies: convert-to-spaces: 2.0.1 - dev: false - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + color-convert@1.9.3: dependencies: color-name: 1.1.3 - dev: false - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + color-convert@2.0.1: dependencies: color-name: 1.1.4 - /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: false + color-name@1.1.3: {} - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-name@1.1.4: {} - /color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + color-string@1.9.1: dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 - dev: false - /color@3.2.1: - resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} + color@3.2.1: dependencies: color-convert: 1.9.3 color-string: 1.9.1 - dev: false - /colorspace@1.1.4: - resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==} + colorspace@1.1.4: dependencies: color: 3.2.1 text-hex: 1.0.0 - dev: false - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 - /commander@12.1.0: - resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} - engines: {node: '>=18'} - dev: false + commander@12.1.0: {} - /commander@13.1.0: - resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} - engines: {node: '>=18'} + commander@13.1.0: {} - /commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + commander@2.20.3: {} - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + concat-map@0.0.1: {} - /config-chain@1.1.13: - resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + config-chain@1.1.13: dependencies: ini: 1.3.8 proto-list: 1.2.4 - dev: true - /confusing-browser-globals@1.0.11: - resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} - dev: true + confusing-browser-globals@1.0.11: {} - /constant-case@3.0.4: - resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} + constant-case@3.0.4: dependencies: no-case: 3.0.4 tslib: 2.8.1 upper-case: 2.0.2 - dev: true - /content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - dev: true + content-type@1.0.5: {} - /convert-to-spaces@2.0.1: - resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false + convert-to-spaces@2.0.1: {} - /cookie@0.7.2: - resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} - engines: {node: '>= 0.6'} - dev: true + cookie@0.7.2: {} - /cors@2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} - engines: {node: '>= 0.10'} + cors@2.8.5: dependencies: object-assign: 4.1.1 vary: 1.1.2 - dev: true - /cosmjs-types@0.9.0: - resolution: {integrity: sha512-MN/yUe6mkJwHnCFfsNPeCfXVhyxHYW6c/xDUzrSbBycYzw++XvWDMJArXp2pLdgD6FQ8DW79vkPjeNKVrXaHeQ==} - dev: false + cosmjs-types@0.9.0: {} - /create-hash@1.2.0: - resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + create-hash@1.2.0: dependencies: cipher-base: 1.0.6 inherits: 2.0.4 md5.js: 1.3.5 ripemd160: 2.0.2 sha.js: 2.4.11 - dev: false - /create-hmac@1.1.7: - resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + create-hmac@1.1.7: dependencies: cipher-base: 1.0.6 create-hash: 1.2.0 @@ -5119,292 +8452,162 @@ packages: ripemd160: 2.0.2 safe-buffer: 5.2.1 sha.js: 2.4.11 - dev: false - /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true + create-require@1.1.1: {} - /cross-fetch@3.0.6: - resolution: {integrity: sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ==} + cross-fetch@3.0.6: dependencies: node-fetch: 2.6.1 - dev: true - /cross-fetch@3.2.0: - resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} - requiresBuild: true + cross-fetch@3.2.0: dependencies: node-fetch: 2.7.0 transitivePeerDependencies: - encoding - dev: false optional: true - /cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - dev: true - /crypto-js@4.2.0: - resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} - dev: false + crypto-js@4.2.0: {} - /csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - dev: false + csstype@3.1.3: {} - /csv-parse@5.6.0: - resolution: {integrity: sha512-l3nz3euub2QMg5ouu5U09Ew9Wf6/wQ8I++ch1loQ0ljmzhmfZYrH9fflS22i/PQEvsPvxCwxgz5q7UB8K1JO4Q==} - dev: false + csv-parse@5.6.0: {} - /csv-stringify@6.5.2: - resolution: {integrity: sha512-RFPahj0sXcmUyjrObAK+DOWtMvMIFV328n4qZJhgX3x2RqkQgOTU2mCUmiFR0CzM6AzChlRSUErjiJeEt8BaQA==} - dev: false + csv-stringify@6.5.2: {} - /data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - dev: false + data-uri-to-buffer@4.0.1: {} - /data-view-buffer@1.0.2: - resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} - engines: {node: '>= 0.4'} + data-view-buffer@1.0.2: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 is-data-view: 1.0.2 - dev: true - /data-view-byte-length@1.0.2: - resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} - engines: {node: '>= 0.4'} + data-view-byte-length@1.0.2: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 is-data-view: 1.0.2 - dev: true - /data-view-byte-offset@1.0.1: - resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} - engines: {node: '>= 0.4'} + data-view-byte-offset@1.0.1: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 is-data-view: 1.0.2 - dev: true - /date-fns@2.30.0: - resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} - engines: {node: '>=0.11'} + date-fns@2.30.0: dependencies: '@babel/runtime': 7.27.3 - dev: true - /debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@3.2.7: dependencies: ms: 2.1.3 - dev: true - /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.4: dependencies: ms: 2.1.2 - dev: true - /debug@4.3.7: - resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@4.3.7: dependencies: ms: 2.1.3 - dev: true - /debug@4.4.1(supports-color@8.1.1): - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@4.4.1(supports-color@8.1.1): dependencies: ms: 2.1.3 + optionalDependencies: supports-color: 8.1.1 - /decamelize@4.0.0: - resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} - engines: {node: '>=10'} - dev: true + decamelize@4.0.0: {} - /decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} + decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 - /deep-diff@1.0.2: - resolution: {integrity: sha512-aWS3UIVH+NPGCD1kki+DCU9Dua032iSsO43LqQpcs4R3+dVv7tX0qBGjiVHJHjplsoUM2XRO/KB92glqc68awg==} - dev: true + deep-diff@1.0.2: {} - /deep-eql@4.1.4: - resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} - engines: {node: '>=6'} + deep-eql@4.1.4: dependencies: type-detect: 4.1.0 - dev: true - /deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - dev: false + deep-extend@0.6.0: {} - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true + deep-is@0.1.4: {} - /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + defaults@1.0.4: dependencies: clone: 1.0.4 - dev: false - /defer-to-connect@2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} - dev: true + defer-to-connect@2.0.1: {} - /define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} + define-data-property@1.1.4: dependencies: es-define-property: 1.0.1 es-errors: 1.3.0 gopd: 1.2.0 - /define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} + define-properties@1.2.1: dependencies: define-data-property: 1.1.4 has-property-descriptors: 1.0.2 object-keys: 1.1.1 - /delay@4.4.1: - resolution: {integrity: sha512-aL3AhqtfhOlT/3ai6sWXeqwnw63ATNpnUiN4HL7x9q+My5QtHlO3OIkasmug9LKzpheLdmUKGRKnYXYAS7FQkQ==} - engines: {node: '>=6'} - dev: false + delay@4.4.1: {} - /delay@5.0.0: - resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} - engines: {node: '>=10'} + delay@5.0.0: {} - /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} + delayed-stream@1.0.0: {} - /detect-indent@7.0.1: - resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} - engines: {node: '>=12.20'} - dev: true + detect-indent@7.0.1: {} - /detect-libc@2.0.4: - resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} - engines: {node: '>=8'} - dev: false + detect-libc@2.0.4: {} - /detect-newline@4.0.1: - resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + detect-newline@4.0.1: {} - /diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: true + diff@4.0.2: {} - /diff@5.2.0: - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} - engines: {node: '>=0.3.1'} - dev: true + diff@5.2.0: {} - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 - /doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} + doctrine@2.1.0: dependencies: esutils: 2.0.3 - dev: true - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + doctrine@3.0.0: dependencies: esutils: 2.0.3 - dev: true - /dot-case@3.0.4: - resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dot-case@3.0.4: dependencies: no-case: 3.0.4 tslib: 2.8.1 - dev: true - /dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 es-errors: 1.3.0 gopd: 1.2.0 - /duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - dev: true + duplexer@0.1.2: {} - /ecpair@2.1.0: - resolution: {integrity: sha512-cL/mh3MtJutFOvFc27GPZE2pWL3a3k4YvzUWEOvilnfZVlH3Jwgx/7d6tlD7/75tNk8TG2m+7Kgtz0SI1tWcqw==} - engines: {node: '>=8.0.0'} + ecpair@2.1.0: dependencies: randombytes: 2.1.0 typeforce: 1.18.0 wif: 2.0.6 - dev: false - /ejs@3.1.10: - resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} - engines: {node: '>=0.10.0'} - hasBin: true + ejs@3.1.10: dependencies: jake: 10.9.2 - /elliptic@6.6.1: - resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} + elliptic@6.6.1: dependencies: bn.js: 4.12.2 brorand: 1.1.0 @@ -5413,47 +8616,32 @@ packages: inherits: 2.0.4 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - dev: false - /emoji-regex@10.4.0: - resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} - dev: false + emoji-regex@10.4.0: {} - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + emoji-regex@8.0.0: {} - /enabled@2.0.0: - resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} - dev: false + enabled@2.0.0: {} - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + end-of-stream@1.4.4: dependencies: once: 1.4.0 - dev: false - /engine.io-client@6.6.3: - resolution: {integrity: sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==} + engine.io-client@6.6.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@socket.io/component-emitter': 3.1.2 debug: 4.3.7 engine.io-parser: 5.2.3 - ws: 8.17.1 + ws: 8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) xmlhttprequest-ssl: 2.1.2 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - dev: true - /engine.io-parser@5.2.3: - resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} - engines: {node: '>=10.0.0'} - dev: true + engine.io-parser@5.2.3: {} - /engine.io@6.6.4: - resolution: {integrity: sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==} - engines: {node: '>=10.2.0'} + engine.io@6.6.4(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@types/cors': 2.8.18 '@types/node': 18.19.108 @@ -5463,27 +8651,19 @@ packages: cors: 2.8.5 debug: 4.3.7 engine.io-parser: 5.2.3 - ws: 8.17.1 + ws: 8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - dev: true - /environment@1.1.0: - resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} - engines: {node: '>=18'} - dev: false + environment@1.1.0: {} - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 - dev: true - /es-abstract@1.24.0: - resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} - engines: {node: '>= 0.4'} + es-abstract@1.24.0: dependencies: array-buffer-byte-length: 1.0.2 arraybuffer.prototype.slice: 1.0.4 @@ -5539,82 +8719,53 @@ packages: typed-array-length: 1.0.7 unbox-primitive: 1.1.0 which-typed-array: 1.1.19 - dev: true - /es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} + es-define-property@1.0.1: {} - /es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} + es-errors@1.3.0: {} - /es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} - engines: {node: '>= 0.4'} + es-object-atoms@1.1.1: dependencies: es-errors: 1.3.0 - /es-set-tostringtag@2.1.0: - resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} - engines: {node: '>= 0.4'} + es-set-tostringtag@2.1.0: dependencies: es-errors: 1.3.0 get-intrinsic: 1.3.0 has-tostringtag: 1.0.2 hasown: 2.0.2 - /es-shim-unscopables@1.1.0: - resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} - engines: {node: '>= 0.4'} + es-shim-unscopables@1.1.0: dependencies: hasown: 2.0.2 - dev: true - /es-to-primitive@1.3.0: - resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} - engines: {node: '>= 0.4'} + es-to-primitive@1.3.0: dependencies: is-callable: 1.2.7 is-date-object: 1.1.0 is-symbol: 1.1.1 - dev: true - /es6-promise@4.2.8: - resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} + es6-promise@4.2.8: {} - /es6-promisify@5.0.0: - resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + es6-promisify@5.0.0: dependencies: es6-promise: 4.2.8 - /escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} + escalade@3.2.0: {} - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} + escape-string-regexp@1.0.5: {} - /escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - dev: false + escape-string-regexp@2.0.0: {} - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} + escape-string-regexp@4.0.0: {} - /eslint-config-oclif-typescript@3.1.14(eslint@8.57.1)(typescript@5.8.3): - resolution: {integrity: sha512-YeBq5OiDRZFvfZ+wO0meF38fV06+zmEg15mnOLwkiAuUhjg2lH+UxvYA7uX2zUwR4p1WMUbfX+7CMfUwQ4TQ1A==} - engines: {node: '>=18.0.0'} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + eslint-config-oclif-typescript@3.1.14(eslint@8.57.1)(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.1)(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.8.3) eslint-config-xo-space: 0.35.0(eslint@8.57.1) eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.31.0)(eslint@8.57.1) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1) eslint-plugin-mocha: 10.5.0(eslint@8.57.1) eslint-plugin-n: 15.7.0(eslint@8.57.1) eslint-plugin-perfectionist: 2.11.0(eslint@8.57.1)(typescript@5.8.3) @@ -5628,138 +8779,73 @@ packages: - svelte-eslint-parser - typescript - vue-eslint-parser - dev: true - /eslint-config-oclif@5.2.2(eslint@8.57.1): - resolution: {integrity: sha512-NNTyyolSmKJicgxtoWZ/hoy2Rw56WIoWCFxgnBkXqDgi9qPKMwZs2Nx2b6SHLJvCiWWhZhWr5V46CFPo3PSPag==} - engines: {node: '>=18.0.0'} + eslint-config-oclif@5.2.2(eslint@8.57.1): dependencies: eslint-config-xo-space: 0.35.0(eslint@8.57.1) eslint-plugin-mocha: 10.5.0(eslint@8.57.1) eslint-plugin-n: 15.7.0(eslint@8.57.1) eslint-plugin-unicorn: 48.0.1(eslint@8.57.1) transitivePeerDependencies: - - eslint - dev: true - - /eslint-config-prettier@9.1.0(eslint@8.57.1): - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' + - eslint + + eslint-config-prettier@9.1.0(eslint@8.57.1): dependencies: eslint: 8.57.1 - dev: true - /eslint-config-xo-space@0.35.0(eslint@8.57.1): - resolution: {integrity: sha512-+79iVcoLi3PvGcjqYDpSPzbLfqYpNcMlhsCBRsnmDoHAn4npJG6YxmHpelQKpXM7v/EeZTUKb4e1xotWlei8KA==} - engines: {node: '>=12'} - peerDependencies: - eslint: '>=8.56.0' + eslint-config-xo-space@0.35.0(eslint@8.57.1): dependencies: eslint: 8.57.1 eslint-config-xo: 0.44.0(eslint@8.57.1) - dev: true - /eslint-config-xo@0.44.0(eslint@8.57.1): - resolution: {integrity: sha512-YG4gdaor0mJJi8UBeRJqDPO42MedTWYMaUyucF5bhm2pi/HS98JIxfFQmTLuyj6hGpQlAazNfyVnn7JuDn+Sew==} - engines: {node: '>=18'} - peerDependencies: - eslint: '>=8.56.0' + eslint-config-xo@0.44.0(eslint@8.57.1): dependencies: confusing-browser-globals: 1.0.11 eslint: 8.57.1 - dev: true - /eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 is-core-module: 2.16.1 resolve: 1.22.10 transitivePeerDependencies: - supports-color - dev: true - /eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.31.0)(eslint@8.57.1): - resolution: {integrity: sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '*' - eslint-plugin-import: '*' - eslint-plugin-import-x: '*' - peerDependenciesMeta: - eslint-plugin-import: - optional: true - eslint-plugin-import-x: - optional: true + eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.31.0)(eslint@8.57.1): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.1(supports-color@8.1.1) eslint: 8.57.1 - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1) get-tsconfig: 4.10.1 is-bun-module: 2.0.0 stable-hash: 0.0.5 tinyglobby: 0.2.14 unrs-resolver: 1.7.8 + optionalDependencies: + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1) transitivePeerDependencies: - supports-color - dev: true - /eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1): - resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true + eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1): dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.8.3) debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.8.3) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.31.0)(eslint@8.57.1) transitivePeerDependencies: - supports-color - dev: true - /eslint-plugin-es@4.1.0(eslint@8.57.1): - resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} - engines: {node: '>=8.10.0'} - peerDependencies: - eslint: '>=4.19.1' + eslint-plugin-es@4.1.0(eslint@8.57.1): dependencies: eslint: 8.57.1 eslint-utils: 2.1.0 regexpp: 3.2.0 - dev: true - /eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1): - resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true + eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1): dependencies: '@rtsao/scc': 1.1.0 - '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.8.3) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.6 array.prototype.flat: 1.3.3 @@ -5768,7 +8854,7 @@ packages: doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -5779,29 +8865,21 @@ packages: semver: 6.3.1 string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.8.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - dev: true - /eslint-plugin-mocha@10.5.0(eslint@8.57.1): - resolution: {integrity: sha512-F2ALmQVPT1GoP27O1JTZGrV9Pqg8k79OeIuvw63UxMtQKREZtmkK1NFgkZQ2TW7L2JSSFKHFPTtHu5z8R9QNRw==} - engines: {node: '>=14.0.0'} - peerDependencies: - eslint: '>=7.0.0' + eslint-plugin-mocha@10.5.0(eslint@8.57.1): dependencies: eslint: 8.57.1 eslint-utils: 3.0.0(eslint@8.57.1) globals: 13.24.0 rambda: 7.5.0 - dev: true - /eslint-plugin-n@15.7.0(eslint@8.57.1): - resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} - engines: {node: '>=12.22.0'} - peerDependencies: - eslint: '>=7.0.0' + eslint-plugin-n@15.7.0(eslint@8.57.1): dependencies: builtins: 5.1.0 eslint: 8.57.1 @@ -5812,25 +8890,8 @@ packages: minimatch: 3.1.2 resolve: 1.22.10 semver: 7.7.2 - dev: true - /eslint-plugin-perfectionist@2.11.0(eslint@8.57.1)(typescript@5.8.3): - resolution: {integrity: sha512-XrtBtiu5rbQv88gl+1e2RQud9te9luYNvKIgM9emttQ2zutHPzY/AQUucwxscDKV4qlTkvLTxjOFvxqeDpPorw==} - peerDependencies: - astro-eslint-parser: ^1.0.2 - eslint: '>=8.0.0' - svelte: '>=3.0.0' - svelte-eslint-parser: ^0.37.0 - vue-eslint-parser: '>=9.0.0' - peerDependenciesMeta: - astro-eslint-parser: - optional: true - svelte: - optional: true - svelte-eslint-parser: - optional: true - vue-eslint-parser: - optional: true + eslint-plugin-perfectionist@2.11.0(eslint@8.57.1)(typescript@5.8.3): dependencies: '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.8.3) eslint: 8.57.1 @@ -5839,13 +8900,8 @@ packages: transitivePeerDependencies: - supports-color - typescript - dev: true - /eslint-plugin-unicorn@48.0.1(eslint@8.57.1): - resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} - engines: {node: '>=16'} - peerDependencies: - eslint: '>=8.44.0' + eslint-plugin-unicorn@48.0.1(eslint@8.57.1): dependencies: '@babel/helper-validator-identifier': 7.27.1 '@eslint-community/eslint-utils': 4.7.0(eslint@8.57.1) @@ -5863,53 +8919,28 @@ packages: regjsparser: 0.10.0 semver: 7.7.2 strip-indent: 3.0.0 - dev: true - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - dev: true - /eslint-utils@2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} + eslint-utils@2.1.0: dependencies: eslint-visitor-keys: 1.3.0 - dev: true - /eslint-utils@3.0.0(eslint@8.57.1): - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' + eslint-utils@3.0.0(eslint@8.57.1): dependencies: eslint: 8.57.1 eslint-visitor-keys: 2.1.0 - dev: true - /eslint-visitor-keys@1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} - dev: true + eslint-visitor-keys@1.3.0: {} - /eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - dev: true + eslint-visitor-keys@2.1.0: {} - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + eslint-visitor-keys@3.4.3: {} - /eslint@8.57.1: - resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. - hasBin: true + eslint@8.57.1: dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@8.57.1) '@eslint-community/regexpp': 4.12.1 @@ -5951,65 +8982,39 @@ packages: text-table: 0.2.0 transitivePeerDependencies: - supports-color - dev: true - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@9.6.1: dependencies: acorn: 8.14.1 acorn-jsx: 5.3.2(acorn@8.14.1) eslint-visitor-keys: 3.4.3 - dev: true - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: false + esprima@4.0.1: {} - /esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} - engines: {node: '>=0.10'} + esquery@1.6.0: dependencies: estraverse: 5.3.0 - dev: true - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + esrecurse@4.3.0: dependencies: estraverse: 5.3.0 - dev: true - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true + estraverse@5.3.0: {} - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true + esutils@2.0.3: {} - /ethereum-bloom-filters@1.2.0: - resolution: {integrity: sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==} + ethereum-bloom-filters@1.2.0: dependencies: '@noble/hashes': 1.8.0 - dev: false - /ethereum-cryptography@2.2.1: - resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} + ethereum-cryptography@2.2.1: dependencies: '@noble/curves': 1.4.2 '@noble/hashes': 1.4.0 '@scure/bip32': 1.4.0 '@scure/bip39': 1.3.0 - dev: false - /ethers@6.14.3: - resolution: {integrity: sha512-qq7ft/oCJohoTcsNPFaXSQUm457MA5iWqkf1Mb11ujONdg7jBI6sAOrHaTi3j0CBqIGFSCeR/RMc+qwRRub7IA==} - engines: {node: '>=14.0.0'} + ethers@6.14.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@adraffy/ens-normalize': 1.10.1 '@noble/curves': 1.2.0 @@ -6017,22 +9022,17 @@ packages: '@types/node': 22.7.5 aes-js: 4.0.0-beta.5 tslib: 2.7.0 - ws: 8.17.1 + ws: 8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate - dev: false - /ethjs-unit@0.1.6: - resolution: {integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==} - engines: {node: '>=6.5.0', npm: '>=3'} + ethjs-unit@0.1.6: dependencies: bn.js: 4.11.6 number-to-bn: 1.7.0 - dev: false - /event-stream@3.3.4: - resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} + event-stream@3.3.4: dependencies: duplexer: 0.1.2 from: 0.1.7 @@ -6041,19 +9041,12 @@ packages: split: 0.3.3 stream-combiner: 0.0.4 through: 2.3.8 - dev: true - /eventemitter3@5.0.1: - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + eventemitter3@5.0.1: {} - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: false + events@3.3.0: {} - /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} + execa@5.1.1: dependencies: cross-spawn: 7.0.6 get-stream: 6.0.1 @@ -6064,38 +9057,23 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 - dev: true - /expand-template@2.0.3: - resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} - engines: {node: '>=6'} - dev: false + expand-template@2.0.3: {} - /exponential-backoff@3.1.2: - resolution: {integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==} - requiresBuild: true - dev: false + exponential-backoff@3.1.2: optional: true - /external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} + external-editor@3.1.0: dependencies: chardet: 0.7.0 iconv-lite: 0.4.24 tmp: 0.0.33 - /eyes@0.1.8: - resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} - engines: {node: '> 0.1.90'} + eyes@0.1.8: {} - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true + fast-deep-equal@3.1.3: {} - /fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} + fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -6103,93 +9081,55 @@ packages: merge2: 1.4.1 micromatch: 4.0.8 - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true + fast-json-stable-stringify@2.1.0: {} - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true + fast-levenshtein@2.0.6: {} - /fast-levenshtein@3.0.0: - resolution: {integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==} + fast-levenshtein@3.0.0: dependencies: fastest-levenshtein: 1.0.16 - /fast-stable-stringify@1.0.0: - resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==} + fast-stable-stringify@1.0.0: {} - /fast-xml-parser@4.4.1: - resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} - hasBin: true + fast-xml-parser@4.4.1: dependencies: strnum: 1.1.2 - dev: true - /fastest-levenshtein@1.0.16: - resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} - engines: {node: '>= 4.9.1'} + fastest-levenshtein@1.0.16: {} - /fastestsmallesttextencoderdecoder@1.0.22: - resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==} - dev: false + fastestsmallesttextencoderdecoder@1.0.22: {} - /fastq@1.19.1: - resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + fastq@1.19.1: dependencies: reusify: 1.1.0 - /fdir@6.4.5(picomatch@4.0.2): - resolution: {integrity: sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - dependencies: + fdir@6.4.5(picomatch@4.0.2): + optionalDependencies: picomatch: 4.0.2 - dev: true - /fecha@4.2.3: - resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} - dev: false + fecha@4.2.3: {} - /fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} + fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 - dev: false - /fetch-cookie@3.0.1: - resolution: {integrity: sha512-ZGXe8Y5Z/1FWqQ9q/CrJhkUD73DyBU9VF0hBQmEO/wPHe4A9PKTjplFDLeFX8aOsYypZUcX5Ji/eByn3VCVO3Q==} + fetch-cookie@3.0.1: dependencies: set-cookie-parser: 2.7.1 tough-cookie: 4.1.4 - dev: false - /fflate@0.8.2: - resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} - dev: false + fflate@0.8.2: {} - /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} + figures@3.2.0: dependencies: escape-string-regexp: 1.0.5 - dev: false - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 - dev: true - /file-type@21.0.0: - resolution: {integrity: sha512-ek5xNX2YBYlXhiUXui3D/BXa3LdqPmoLJ7rqEx2bKJ7EAUEfmXgW0Das7Dc6Nr9MvqaOnIqiPV0mZk/r/UpNAg==} - engines: {node: '>=20'} + file-type@21.0.0: dependencies: '@tokenizer/inflate': 0.2.7 strtok3: 10.2.2 @@ -6197,161 +9137,92 @@ packages: uint8array-extras: 1.4.0 transitivePeerDependencies: - supports-color - dev: false - /file-uri-to-path@1.0.0: - resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + file-uri-to-path@1.0.0: {} - /filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + filelist@1.0.4: dependencies: minimatch: 5.1.6 - /fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 - /find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + find-up@4.1.0: dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - dev: true - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - dev: true - /find-yarn-workspace-root@2.0.0: - resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} + find-yarn-workspace-root@2.0.0: dependencies: micromatch: 4.0.8 - dev: true - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@3.2.0: dependencies: flatted: 3.3.3 keyv: 4.5.4 rimraf: 3.0.2 - dev: true - /flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - dev: true + flat@5.0.2: {} - /flatted@3.3.3: - resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} - dev: true + flatted@3.3.3: {} - /fn.name@1.1.0: - resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} - dev: false + fn.name@1.1.0: {} - /follow-redirects@1.15.9(debug@4.3.4): - resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dependencies: + follow-redirects@1.15.9(debug@4.3.4): + optionalDependencies: debug: 4.3.4 - dev: true - /follow-redirects@1.15.9(debug@4.4.1): - resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dependencies: + follow-redirects@1.15.9(debug@4.4.1): + optionalDependencies: debug: 4.4.1(supports-color@8.1.1) - /for-each@0.3.5: - resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} - engines: {node: '>= 0.4'} + for-each@0.3.5: dependencies: is-callable: 1.2.7 - dev: true - /form-data-encoder@2.1.4: - resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} - engines: {node: '>= 14.17'} - dev: true + form-data-encoder@2.1.4: {} - /form-data@4.0.2: - resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} - engines: {node: '>= 6'} + form-data@4.0.2: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 es-set-tostringtag: 2.1.0 mime-types: 2.1.35 - /formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} + formdata-polyfill@4.0.10: dependencies: fetch-blob: 3.2.0 - dev: false - /from@0.1.7: - resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} - dev: true + from@0.1.7: {} - /fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - dev: false + fs-constants@1.0.0: {} - /fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} + fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.1 - dev: false - /fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} + fs-extra@8.1.0: dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 - dev: true - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true + fs.realpath@1.0.0: {} - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true + fsevents@2.3.3: optional: true - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + function-bind@1.1.2: {} - /function.prototype.name@1.1.8: - resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} - engines: {node: '>= 0.4'} + function.prototype.name@1.1.8: dependencies: call-bind: 1.0.8 call-bound: 1.0.4 @@ -6359,28 +9230,16 @@ packages: functions-have-names: 1.2.3 hasown: 2.0.2 is-callable: 1.2.7 - dev: true - /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - dev: true + functions-have-names@1.2.3: {} - /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + get-caller-file@2.0.5: {} - /get-east-asian-width@1.3.0: - resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} - engines: {node: '>=18'} - dev: false + get-east-asian-width@1.3.0: {} - /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - dev: true + get-func-name@2.0.2: {} - /get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} - engines: {node: '>= 0.4'} + get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 es-define-property: 1.0.1 @@ -6393,70 +9252,42 @@ packages: hasown: 2.0.2 math-intrinsics: 1.1.0 - /get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} + get-package-type@0.1.0: {} - /get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} + get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 - /get-stdin@9.0.0: - resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} - engines: {node: '>=12'} - dev: true + get-stdin@9.0.0: {} - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true + get-stream@6.0.1: {} - /get-symbol-description@1.1.0: - resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} - engines: {node: '>= 0.4'} + get-symbol-description@1.1.0: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 get-intrinsic: 1.3.0 - dev: true - /get-tsconfig@4.10.1: - resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} + get-tsconfig@4.10.1: dependencies: resolve-pkg-maps: 1.0.0 - dev: true - /git-hooks-list@3.2.0: - resolution: {integrity: sha512-ZHG9a1gEhUMX1TvGrLdyWb9kDopCBbTnI8z4JgRMYxsijWipgjSEYoPWqBuIB0DnRnvqlQSEeVmzpeuPm7NdFQ==} - dev: true + git-hooks-list@3.2.0: {} - /github-from-package@0.0.0: - resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} - dev: false + github-from-package@0.0.0: {} - /github-slugger@2.0.0: - resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} - dev: true + github-slugger@2.0.0: {} - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + glob-parent@6.0.2: dependencies: is-glob: 4.0.3 - dev: true - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported + glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -6464,37 +9295,25 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true - - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported + + glob@8.1.0: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 minimatch: 5.1.6 once: 1.4.0 - dev: true - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@13.24.0: dependencies: type-fest: 0.20.2 - dev: true - /globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} + globalthis@1.0.4: dependencies: define-properties: 1.2.1 gopd: 1.2.0 - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -6503,13 +9322,9 @@ packages: merge2: 1.4.1 slash: 3.0.0 - /gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} + gopd@1.2.0: {} - /got@13.0.0: - resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} - engines: {node: '>=16'} + got@13.0.0: dependencies: '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 @@ -6522,115 +9337,71 @@ packages: lowercase-keys: 3.0.0 p-cancelable: 3.0.0 responselike: 3.0.0 - dev: true - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - dev: true + graceful-fs@4.2.10: {} - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + graceful-fs@4.2.11: {} - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true + graphemer@1.4.0: {} - /has-bigints@1.1.0: - resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} - engines: {node: '>= 0.4'} - dev: true + has-bigints@1.1.0: {} - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + has-flag@4.0.0: {} - /has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.1 - /has-proto@1.2.0: - resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} - engines: {node: '>= 0.4'} + has-proto@1.2.0: dependencies: dunder-proto: 1.0.1 - dev: true - /has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} + has-symbols@1.1.0: {} - /has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} + has-tostringtag@1.0.2: dependencies: has-symbols: 1.1.0 - /hash-base@3.1.0: - resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} - engines: {node: '>=4'} + hash-base@3.1.0: dependencies: inherits: 2.0.4 readable-stream: 3.6.2 safe-buffer: 5.2.1 - dev: false - /hash.js@1.1.7: - resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + hash.js@1.1.7: dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 - dev: false - /hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} + hasown@2.0.2: dependencies: function-bind: 1.1.2 - /he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - dev: true + he@1.2.0: {} - /header-case@2.0.4: - resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} + header-case@2.0.4: dependencies: capital-case: 1.0.4 tslib: 2.8.1 - dev: true - /hi-base32@0.5.1: - resolution: {integrity: sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==} - requiresBuild: true - dev: false + hi-base32@0.5.1: optional: true - /hmac-drbg@1.0.1: - resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + hmac-drbg@1.0.1: dependencies: hash.js: 1.1.7 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - dev: false - /hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - dev: true + hosted-git-info@2.8.9: {} - /hosted-git-info@7.0.2: - resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} - engines: {node: ^16.14.0 || >=18.0.0} + hosted-git-info@7.0.2: dependencies: lru-cache: 10.4.3 - /http-cache-semantics@4.2.0: - resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} - dev: true + http-cache-semantics@4.2.0: {} - /http-call@5.3.0: - resolution: {integrity: sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==} - engines: {node: '>=8.0.0'} + http-call@5.3.0: dependencies: content-type: 1.0.5 debug: 4.4.1(supports-color@8.1.1) @@ -6640,98 +9411,53 @@ packages: tunnel-agent: 0.6.0 transitivePeerDependencies: - supports-color - dev: true - /http2-wrapper@2.2.1: - resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} - engines: {node: '>=10.19.0'} + http2-wrapper@2.2.1: dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 - dev: true - /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true + human-signals@2.1.0: {} - /humanize-ms@1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + humanize-ms@1.2.1: dependencies: ms: 2.1.3 - /humanize-number@0.0.2: - resolution: {integrity: sha512-un3ZAcNQGI7RzaWGZzQDH47HETM4Wrj6z6E4TId8Yeq9w5ZKUVB1nrT2jwFheTUjEmqcgTjXDc959jum+ai1kQ==} - dev: false + humanize-number@0.0.2: {} - /hyper-async@1.1.2: - resolution: {integrity: sha512-cnpOgKa+5FZOaccTtjduac1FrZuSc38/ftCp3vYJdUMt+7c+uvGDKLDK4MTNK8D3aFjIeveVrPcSgUPvzZLopg==} - dev: false + hyper-async@1.1.2: {} - /iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + ieee754@1.2.1: {} - /ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} + ignore@5.3.2: {} - /import-fresh@3.3.1: - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} - engines: {node: '>=6'} + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - dev: true - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true + imurmurhash@0.1.4: {} - /indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} + indent-string@4.0.0: {} - /indent-string@5.0.0: - resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} - engines: {node: '>=12'} - dev: false + indent-string@5.0.0: {} - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + inflight@1.0.6: dependencies: once: 1.4.0 wrappy: 1.0.2 - dev: true - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + inherits@2.0.4: {} - /ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + ini@1.3.8: {} - /ink@5.0.1(@types/react@18.3.23)(react@18.3.1): - resolution: {integrity: sha512-ae4AW/t8jlkj/6Ou21H2av0wxTk8vrGzXv+v2v7j4in+bl1M5XRMVbfNghzhBokV++FjF8RBDJvYo+ttR9YVRg==} - engines: {node: '>=18'} - peerDependencies: - '@types/react': '>=18.0.0' - react: '>=18.0.0' - react-devtools-core: ^4.19.1 - peerDependenciesMeta: - '@types/react': - optional: true - react-devtools-core: - optional: true + ink@5.0.1(@types/react@18.3.23)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@5.0.10): dependencies: '@alcalzone/ansi-tokenize': 0.1.3 - '@types/react': 18.3.23 ansi-escapes: 7.0.0 ansi-styles: 6.2.1 auto-bind: 5.0.1 @@ -6756,14 +9482,13 @@ packages: wrap-ansi: 9.0.0 ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) yoga-wasm-web: 0.3.3 + optionalDependencies: + '@types/react': 18.3.23 transitivePeerDependencies: - bufferutil - utf-8-validate - dev: false - /inquirer@8.2.6: - resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} - engines: {node: '>=12.0.0'} + inquirer@8.2.6: dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -6780,368 +9505,205 @@ packages: strip-ansi: 6.0.1 through: 2.3.8 wrap-ansi: 6.2.0 - dev: false - /install@0.13.0: - resolution: {integrity: sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==} - engines: {node: '>= 0.10'} - dev: true + install@0.13.0: {} - /internal-slot@1.1.0: - resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} - engines: {node: '>= 0.4'} + internal-slot@1.1.0: dependencies: es-errors: 1.3.0 hasown: 2.0.2 side-channel: 1.1.0 - dev: true - /interpret@1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} - dev: true + interpret@1.4.0: {} - /is-array-buffer@3.0.5: - resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} - engines: {node: '>= 0.4'} + is-array-buffer@3.0.5: dependencies: call-bind: 1.0.8 call-bound: 1.0.4 get-intrinsic: 1.3.0 - dev: true - /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true + is-arrayish@0.2.1: {} - /is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - dev: false + is-arrayish@0.3.2: {} - /is-async-function@2.1.1: - resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} - engines: {node: '>= 0.4'} + is-async-function@2.1.1: dependencies: async-function: 1.0.0 call-bound: 1.0.4 get-proto: 1.0.1 has-tostringtag: 1.0.2 safe-regex-test: 1.1.0 - dev: true - /is-bigint@1.1.0: - resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} - engines: {node: '>= 0.4'} + is-bigint@1.1.0: dependencies: has-bigints: 1.1.0 - dev: true - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 - dev: true - /is-boolean-object@1.2.2: - resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} - engines: {node: '>= 0.4'} + is-boolean-object@1.2.2: dependencies: call-bound: 1.0.4 has-tostringtag: 1.0.2 - dev: true - /is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} + is-builtin-module@3.2.1: dependencies: builtin-modules: 3.3.0 - dev: true - /is-bun-module@2.0.0: - resolution: {integrity: sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==} + is-bun-module@2.0.0: dependencies: semver: 7.7.2 - dev: true - /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - dev: true + is-callable@1.2.7: {} - /is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} - engines: {node: '>= 0.4'} + is-core-module@2.16.1: dependencies: hasown: 2.0.2 - dev: true - /is-data-view@1.0.2: - resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} - engines: {node: '>= 0.4'} + is-data-view@1.0.2: dependencies: call-bound: 1.0.4 get-intrinsic: 1.3.0 is-typed-array: 1.1.15 - dev: true - /is-date-object@1.1.0: - resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} - engines: {node: '>= 0.4'} + is-date-object@1.1.0: dependencies: call-bound: 1.0.4 has-tostringtag: 1.0.2 - dev: true - /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true + is-docker@2.2.1: {} - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + is-extglob@2.1.1: {} - /is-finalizationregistry@1.1.1: - resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} - engines: {node: '>= 0.4'} + is-finalizationregistry@1.1.1: dependencies: call-bound: 1.0.4 - dev: true - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + is-fullwidth-code-point@3.0.0: {} - /is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - dev: false + is-fullwidth-code-point@4.0.0: {} - /is-fullwidth-code-point@5.0.0: - resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} - engines: {node: '>=18'} + is-fullwidth-code-point@5.0.0: dependencies: get-east-asian-width: 1.3.0 - dev: false - /is-generator-function@1.1.0: - resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} - engines: {node: '>= 0.4'} + is-generator-function@1.1.0: dependencies: call-bound: 1.0.4 get-proto: 1.0.1 has-tostringtag: 1.0.2 safe-regex-test: 1.1.0 - dev: true - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - /is-hex-prefixed@1.0.0: - resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} - engines: {node: '>=6.5.0', npm: '>=3'} - dev: false + is-hex-prefixed@1.0.0: {} - /is-in-ci@0.1.0: - resolution: {integrity: sha512-d9PXLEY0v1iJ64xLiQMJ51J128EYHAaOR4yZqQi8aHGfw6KgifM3/Viw1oZZ1GCVmb3gBuyhLyHj0HgR2DhSXQ==} - engines: {node: '>=18'} - hasBin: true - dev: false + is-in-ci@0.1.0: {} - /is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - dev: false + is-interactive@1.0.0: {} - /is-interactive@2.0.0: - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} - engines: {node: '>=12'} - dev: false + is-interactive@2.0.0: {} - /is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} - dev: true + is-map@2.0.3: {} - /is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - dev: true + is-negative-zero@2.0.3: {} - /is-number-object@1.1.1: - resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} - engines: {node: '>= 0.4'} + is-number-object@1.1.1: dependencies: call-bound: 1.0.4 has-tostringtag: 1.0.2 - dev: true - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + is-number@7.0.0: {} - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true + is-path-inside@3.0.3: {} - /is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - dev: true + is-plain-obj@2.1.0: {} - /is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - dev: true + is-plain-obj@4.1.0: {} - /is-regex@1.2.1: - resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} - engines: {node: '>= 0.4'} + is-regex@1.2.1: dependencies: call-bound: 1.0.4 gopd: 1.2.0 has-tostringtag: 1.0.2 hasown: 2.0.2 - dev: true - /is-retry-allowed@1.2.0: - resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} - engines: {node: '>=0.10.0'} - dev: true + is-retry-allowed@1.2.0: {} - /is-retry-allowed@2.2.0: - resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==} - engines: {node: '>=10'} - dev: false + is-retry-allowed@2.2.0: {} - /is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} - dev: true + is-set@2.0.3: {} - /is-shared-array-buffer@1.0.4: - resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} - engines: {node: '>= 0.4'} + is-shared-array-buffer@1.0.4: dependencies: call-bound: 1.0.4 - dev: true - /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} + is-stream@2.0.1: {} - /is-string@1.1.1: - resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} - engines: {node: '>= 0.4'} + is-string@1.1.1: dependencies: call-bound: 1.0.4 has-tostringtag: 1.0.2 - dev: true - /is-symbol@1.1.1: - resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} - engines: {node: '>= 0.4'} + is-symbol@1.1.1: dependencies: call-bound: 1.0.4 has-symbols: 1.1.0 safe-regex-test: 1.1.0 - dev: true - /is-typed-array@1.1.15: - resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} - engines: {node: '>= 0.4'} + is-typed-array@1.1.15: dependencies: which-typed-array: 1.1.19 - dev: true - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} + is-unicode-supported@0.1.0: {} - /is-unicode-supported@1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} - dev: false + is-unicode-supported@1.3.0: {} - /is-unicode-supported@2.1.0: - resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} - engines: {node: '>=18'} - dev: false + is-unicode-supported@2.1.0: {} - /is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} - dev: true + is-weakmap@2.0.2: {} - /is-weakref@1.1.1: - resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} - engines: {node: '>= 0.4'} + is-weakref@1.1.1: dependencies: call-bound: 1.0.4 - dev: true - /is-weakset@2.0.4: - resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} - engines: {node: '>= 0.4'} + is-weakset@2.0.4: dependencies: call-bound: 1.0.4 get-intrinsic: 1.3.0 - dev: true - /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} + is-wsl@2.2.0: dependencies: is-docker: 2.2.1 - /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true + isarray@2.0.5: {} - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true + isexe@2.0.0: {} - /isexe@3.1.1: - resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} - engines: {node: '>=16'} - dev: false + isexe@3.1.1: {} - /isomorphic-fetch@3.0.0: - resolution: {integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==} + isomorphic-fetch@3.0.0: dependencies: node-fetch: 2.7.0 whatwg-fetch: 3.6.20 transitivePeerDependencies: - encoding - dev: false - /isomorphic-ws@4.0.1(ws@7.5.10): - resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} - peerDependencies: - ws: '*' + isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)): dependencies: - ws: 7.5.10 + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) - /jake@10.9.2: - resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} - engines: {node: '>=10'} - hasBin: true + jake@10.9.2: dependencies: async: 3.2.6 chalk: 4.1.2 filelist: 1.0.4 minimatch: 3.1.2 - /jayson@4.2.0: - resolution: {integrity: sha512-VfJ9t1YLwacIubLhONk0KFeosUBwstRWQ0IRT1KDjEjnVnSOVHC3uwugyV7L0c7R9lpVyrUGT2XWiBA1UTtpyg==} - engines: {node: '>=8'} - hasBin: true + jayson@4.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@types/connect': 3.4.38 '@types/node': 12.20.55 @@ -7150,208 +9712,126 @@ packages: delay: 5.0.0 es6-promisify: 5.0.0 eyes: 0.1.8 - isomorphic-ws: 4.0.1(ws@7.5.10) + isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) json-stringify-safe: 5.0.1 stream-json: 1.9.1 uuid: 8.3.2 - ws: 7.5.10 + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate - /joi@17.13.3: - resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} + joi@17.13.3: dependencies: '@hapi/hoek': 9.3.0 '@hapi/topo': 5.1.0 '@sideway/address': 4.1.5 '@sideway/formula': 3.0.1 '@sideway/pinpoint': 2.0.0 - dev: true - /js-sha256@0.9.0: - resolution: {integrity: sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==} - requiresBuild: true - dev: false + js-sha256@0.9.0: optional: true - /js-sha3@0.8.0: - resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} + js-sha3@0.8.0: {} - /js-sha512@0.8.0: - resolution: {integrity: sha512-PWsmefG6Jkodqt+ePTvBZCSMFgN7Clckjd0O7su3I0+BW2QWUTJNzjktHsztGLhncP2h8mcF9V9Y2Ha59pAViQ==} - requiresBuild: true - dev: false + js-sha512@0.8.0: optional: true - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-tokens@4.0.0: {} - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + js-yaml@4.1.0: dependencies: argparse: 2.0.1 - dev: true - /jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true - dev: true + jsesc@0.5.0: {} - /jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} - hasBin: true - dev: true + jsesc@3.1.0: {} - /json-bigint@1.0.0: - resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} - requiresBuild: true + json-bigint@1.0.0: dependencies: bignumber.js: 9.3.0 - dev: false optional: true - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true + json-buffer@3.0.1: {} - /json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - dev: true + json-parse-better-errors@1.0.2: {} - /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true + json-parse-even-better-errors@2.3.1: {} - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true + json-schema-traverse@0.4.1: {} - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true + json-stable-stringify-without-jsonify@1.0.1: {} - /json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + json-stringify-safe@5.0.1: {} - /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true + json5@1.0.2: dependencies: minimist: 1.2.8 - dev: true - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + jsonfile@4.0.0: optionalDependencies: graceful-fs: 4.2.11 - dev: true - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonfile@6.1.0: dependencies: universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 - dev: false - /keccak@3.0.4: - resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} - engines: {node: '>=10.0.0'} - requiresBuild: true + keccak@3.0.4: dependencies: node-addon-api: 2.0.2 node-gyp-build: 4.8.4 readable-stream: 3.6.2 - dev: false - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 - dev: true - /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - dev: false + kleur@3.0.3: {} - /kuler@2.0.0: - resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} - dev: false + kuler@2.0.0: {} - /lazy-ass@1.6.0: - resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} - engines: {node: '> 0.8'} - dev: true + lazy-ass@1.6.0: {} - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true - /libsodium-sumo@0.7.15: - resolution: {integrity: sha512-5tPmqPmq8T8Nikpm1Nqj0hBHvsLFCXvdhBFV7SGOitQPZAA6jso8XoL0r4L7vmfKXr486fiQInvErHtEvizFMw==} - dev: false + libsodium-sumo@0.7.15: {} - /libsodium-wrappers-sumo@0.7.15: - resolution: {integrity: sha512-aSWY8wKDZh5TC7rMvEdTHoyppVq/1dTSAeAR7H6pzd6QRT3vQWcT5pGwCotLcpPEOLXX6VvqihSPkpEhYAjANA==} + libsodium-wrappers-sumo@0.7.15: dependencies: libsodium-sumo: 0.7.15 - dev: false - /lilconfig@3.1.3: - resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} - engines: {node: '>=14'} + lilconfig@3.1.3: {} - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true + lines-and-columns@1.2.4: {} - /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} + locate-path@5.0.0: dependencies: p-locate: 4.1.0 - dev: true - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + locate-path@6.0.0: dependencies: p-locate: 5.0.0 - dev: true - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true + lodash.merge@4.6.2: {} - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + lodash@4.17.21: {} - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} + log-symbols@4.1.0: dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 - /log-symbols@6.0.0: - resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} - engines: {node: '>=18'} + log-symbols@6.0.0: dependencies: chalk: 5.4.1 is-unicode-supported: 1.3.0 - dev: false - /logform@2.7.0: - resolution: {integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==} - engines: {node: '>= 12.0.0'} + logform@2.7.0: dependencies: '@colors/colors': 1.6.0 '@types/triple-beam': 1.3.5 @@ -7359,185 +9839,107 @@ packages: ms: 2.1.3 safe-stable-stringify: 2.5.0 triple-beam: 1.4.1 - dev: false - /long@4.0.0: - resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} - dev: false + long@4.0.0: {} - /long@5.3.2: - resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} - dev: false + long@5.3.2: {} - /loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true + loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 - dev: false - /lossless-json@4.1.0: - resolution: {integrity: sha512-DgoRs42jH/yNubp8iinRqvG0xn5awHKXVY+7lGYjBaByoHGZt/Dz5Jkaf5znP2XHbTnAA+bbkhK3lMIaf3+92A==} - dev: false + lossless-json@4.1.0: {} - /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + loupe@2.3.7: dependencies: get-func-name: 2.0.2 - dev: true - /lower-case@2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + lower-case@2.0.2: dependencies: tslib: 2.8.1 - dev: true - - /lowercase-keys@3.0.0: - resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - /lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lowercase-keys@3.0.0: {} - /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true + lru-cache@10.4.3: {} - /map-stream@0.1.0: - resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} - dev: true + make-error@1.3.6: {} - /math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} + map-stream@0.1.0: {} - /md5.js@1.3.5: - resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + math-intrinsics@1.1.0: {} + + md5.js@1.3.5: dependencies: hash-base: 3.1.0 inherits: 2.0.4 safe-buffer: 5.2.1 - dev: false - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true + merge-stream@2.0.0: {} - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + merge2@1.4.1: {} - /merkletreejs@0.3.11: - resolution: {integrity: sha512-LJKTl4iVNTndhL+3Uz/tfkjD0klIWsHlUzgtuNnNrsf7bAlXR30m+xYB7lHr5Z/l6e/yAIsr26Dabx6Buo4VGQ==} - engines: {node: '>= 7.6.0'} + merkletreejs@0.3.11: dependencies: bignumber.js: 9.3.0 buffer-reverse: 1.0.1 crypto-js: 4.2.0 treeify: 1.1.0 web3-utils: 1.10.4 - dev: false - /micro-ftch@0.3.1: - resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} - dev: false + micro-ftch@0.3.1: {} - /micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} + micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} + mime-db@1.52.0: {} - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + mime-types@2.1.35: dependencies: mime-db: 1.52.0 - /mime@4.0.7: - resolution: {integrity: sha512-2OfDPL+e03E0LrXaGYOtTFIYhiuzep94NSsuhrNULq+stylcJedcHdzHtz0atMUuGwJfFYs0YL5xeC/Ca2x0eQ==} - engines: {node: '>=16'} - hasBin: true - dev: false + mime@4.0.7: {} - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} + mimic-fn@2.1.0: {} - /mimic-function@5.0.1: - resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} - engines: {node: '>=18'} - dev: false + mimic-function@5.0.1: {} - /mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} + mimic-response@3.1.0: {} - /mimic-response@4.0.0: - resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + mimic-response@4.0.0: {} - /min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - dev: true + min-indent@1.0.1: {} - /minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - dev: false + minimalistic-assert@1.0.1: {} - /minimalistic-crypto-utils@1.0.1: - resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - dev: false + minimalistic-crypto-utils@1.0.1: {} - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} + minimatch@5.1.6: dependencies: brace-expansion: 2.0.1 - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.3: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} - engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minimist@1.2.8: {} - /mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - dev: false + mkdirp-classic@0.5.3: {} - /mnemonist@0.39.8: - resolution: {integrity: sha512-vyWo2K3fjrUw8YeeZ1zF0fy6Mu59RHokURlld8ymdUPjMlD9EC9ov1/YPqTgqRvUN9nTr3Gqfz29LYAmu0PHPQ==} + mnemonist@0.39.8: dependencies: obliterator: 2.0.5 - dev: false - /mocha@10.8.2: - resolution: {integrity: sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==} - engines: {node: '>= 14.0.0'} - hasBin: true + mocha@10.8.2: dependencies: ansi-colors: 4.1.3 browser-stdout: 1.3.1 @@ -7559,319 +9961,132 @@ packages: yargs: 16.2.0 yargs-parser: 20.2.9 yargs-unparser: 2.0.0 - dev: true - /mock-stdin@1.0.0: - resolution: {integrity: sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q==} - dev: true + mock-stdin@1.0.0: {} - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true + ms@2.1.2: {} - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + ms@2.1.3: {} - /multistream@4.1.0: - resolution: {integrity: sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==} - requiresBuild: true + multistream@4.1.0: dependencies: once: 1.4.0 readable-stream: 3.6.2 - dev: false optional: true - /mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - dev: false + mute-stream@0.0.8: {} - /mute-stream@1.0.0: - resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true + mute-stream@1.0.0: {} - /mute-stream@2.0.0: - resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} - engines: {node: ^18.17.0 || >=20.5.0} + mute-stream@2.0.0: {} - /nan@2.22.2: - resolution: {integrity: sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==} - dev: false + nan@2.22.2: {} - /napi-build-utils@2.0.0: - resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} - dev: false + napi-build-utils@2.0.0: {} - /napi-postinstall@0.2.4: - resolution: {integrity: sha512-ZEzHJwBhZ8qQSbknHqYcdtQVr8zUgGyM/q6h6qAyhtyVMNrSgDhrC4disf03dYW0e+czXyLnZINnCTEkWy0eJg==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - hasBin: true - dev: true + napi-postinstall@0.2.4: {} - /natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - dev: true + natural-compare-lite@1.4.0: {} - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true + natural-compare@1.4.0: {} - /natural-orderby@3.0.2: - resolution: {integrity: sha512-x7ZdOwBxZCEm9MM7+eQCjkrNLrW3rkBKNHVr78zbtqnMGVNlnDi6C/eUEYgxHNrcbu0ymvjzcwIL/6H1iHri9g==} - engines: {node: '>=18'} - dev: false + natural-orderby@3.0.2: {} - /negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - dev: true + negotiator@0.6.3: {} - /netstats@0.0.6: - resolution: {integrity: sha512-j5sdwaoLX/0x74+8bFdnoVEo3RUQexm5Lw615MVrgx7/FSQx88dZj+t5whwrDSrlsiHMYhKpn52p/6oMYHTZ2A==} - engines: {node: '>=8'} - dev: true + netstats@0.0.6: {} - /no-case@3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + no-case@3.0.4: dependencies: lower-case: 2.0.2 tslib: 2.8.1 - dev: true - /node-abi@3.75.0: - resolution: {integrity: sha512-OhYaY5sDsIka7H7AtijtI9jwGYLyl29eQn/W623DiN/MIv5sUqc4g7BIDThX+gb7di9f6xK02nkp8sdfFWZLTg==} - engines: {node: '>=10'} + node-abi@3.75.0: dependencies: semver: 7.7.2 - dev: false - /node-addon-api@2.0.2: - resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} - dev: false + node-addon-api@2.0.2: {} - /node-addon-api@3.2.1: - resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} - dev: false + node-addon-api@3.2.1: {} - /node-addon-api@5.1.0: - resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} - dev: false + node-addon-api@5.1.0: {} - /node-addon-api@6.1.0: - resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} - dev: false + node-addon-api@6.1.0: {} - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - deprecated: Use your platform's native DOMException instead - dev: false + node-domexception@1.0.0: {} - /node-fetch@2.6.1: - resolution: {integrity: sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==} - engines: {node: 4.x || >=6.0.0} - dev: true + node-fetch@2.6.1: {} - /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 - /node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-fetch@3.3.2: dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 - dev: false - /node-gyp-build@4.8.4: - resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} - hasBin: true + node-gyp-build@4.8.4: {} - /node-hid@2.1.2: - resolution: {integrity: sha512-qhCyQqrPpP93F/6Wc/xUR7L8mAJW0Z6R7HMQV8jCHHksAxNDe/4z4Un/H9CpLOT+5K39OPyt9tIQlavxWES3lg==} - engines: {node: '>=10'} - hasBin: true - requiresBuild: true + node-hid@2.1.2: dependencies: bindings: 1.5.0 node-addon-api: 3.2.1 prebuild-install: 7.1.3 - dev: false - /normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 resolve: 1.22.10 semver: 5.7.2 validate-npm-package-license: 3.0.4 - dev: true - /normalize-package-data@6.0.2: - resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} - engines: {node: ^16.14.0 || >=18.0.0} + normalize-package-data@6.0.2: dependencies: hosted-git-info: 7.0.2 semver: 7.7.2 validate-npm-package-license: 3.0.4 - dev: true - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true + normalize-path@3.0.0: {} - /normalize-url@8.0.1: - resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} - engines: {node: '>=14.16'} - dev: true + normalize-url@8.0.1: {} - /npm-package-arg@11.0.3: - resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==} - engines: {node: ^16.14.0 || >=18.0.0} + npm-package-arg@11.0.3: dependencies: hosted-git-info: 7.0.2 proc-log: 4.2.0 semver: 7.7.2 validate-npm-package-name: 5.0.1 - dev: false - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + npm-run-path@4.0.1: dependencies: path-key: 3.1.1 - dev: true - /npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@5.3.0: dependencies: path-key: 4.0.0 - dev: false - /npm@10.9.2: - resolution: {integrity: sha512-iriPEPIkoMYUy3F6f3wwSZAU93E0Eg6cHwIR6jzzOXWSy+SD/rOODEs74cVONHKSx2obXtuUoyidVEhISrisgQ==} - engines: {node: ^18.17.0 || >=20.5.0} - hasBin: true - dev: false - bundledDependencies: - - '@isaacs/string-locale-compare' - - '@npmcli/arborist' - - '@npmcli/config' - - '@npmcli/fs' - - '@npmcli/map-workspaces' - - '@npmcli/package-json' - - '@npmcli/promise-spawn' - - '@npmcli/redact' - - '@npmcli/run-script' - - '@sigstore/tuf' - - abbrev - - archy - - cacache - - chalk - - ci-info - - cli-columns - - fastest-levenshtein - - fs-minipass - - glob - - graceful-fs - - hosted-git-info - - ini - - init-package-json - - is-cidr - - json-parse-even-better-errors - - libnpmaccess - - libnpmdiff - - libnpmexec - - libnpmfund - - libnpmhook - - libnpmorg - - libnpmpack - - libnpmpublish - - libnpmsearch - - libnpmteam - - libnpmversion - - make-fetch-happen - - minimatch - - minipass - - minipass-pipeline - - ms - - node-gyp - - nopt - - normalize-package-data - - npm-audit-report - - npm-install-checks - - npm-package-arg - - npm-pick-manifest - - npm-profile - - npm-registry-fetch - - npm-user-validate - - p-map - - pacote - - parse-conflict-json - - proc-log - - qrcode-terminal - - read - - semver - - spdx-expression-parse - - ssri - - supports-color - - tar - - text-table - - tiny-relative-date - - treeverse - - validate-npm-package-name - - which - - write-file-atomic + npm@10.9.2: {} - /number-to-bn@1.7.0: - resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} - engines: {node: '>=6.5.0', npm: '>=3'} + number-to-bn@1.7.0: dependencies: bn.js: 4.11.6 strip-hex-prefix: 1.0.0 - dev: false - /numeral@2.0.6: - resolution: {integrity: sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==} - dev: true + numeral@2.0.6: {} - /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - dev: true + object-assign@4.1.1: {} - /object-hash@3.0.0: - resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} - engines: {node: '>= 6'} - dev: false + object-hash@3.0.0: {} - /object-inspect@1.13.4: - resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} - engines: {node: '>= 0.4'} + object-inspect@1.13.4: {} - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} + object-keys@1.1.1: {} - /object-treeify@4.0.1: - resolution: {integrity: sha512-Y6tg5rHfsefSkfKujv2SwHulInROy/rCL5F4w0QOWxut8AnxYxf0YmNhTh95Zfyxpsudo66uqkux0ACFnyMSgQ==} - engines: {node: '>= 16'} - dev: false + object-treeify@4.0.1: {} - /object.assign@4.1.7: - resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} - engines: {node: '>= 0.4'} + object.assign@4.1.7: dependencies: call-bind: 1.0.8 call-bound: 1.0.4 @@ -7879,45 +10094,30 @@ packages: es-object-atoms: 1.1.1 has-symbols: 1.1.0 object-keys: 1.1.1 - dev: true - /object.fromentries@2.0.8: - resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} - engines: {node: '>= 0.4'} + object.fromentries@2.0.8: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.24.0 es-object-atoms: 1.1.1 - dev: true - /object.groupby@1.0.3: - resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} - engines: {node: '>= 0.4'} + object.groupby@1.0.3: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.24.0 - dev: true - /object.values@1.2.1: - resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} - engines: {node: '>= 0.4'} + object.values@1.2.1: dependencies: call-bind: 1.0.8 call-bound: 1.0.4 define-properties: 1.2.1 es-object-atoms: 1.1.1 - dev: true - /obliterator@2.0.5: - resolution: {integrity: sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw==} - dev: false + obliterator@2.0.5: {} - /oclif@4.17.46(@types/node@18.19.108): - resolution: {integrity: sha512-huMvamv0zzIXrCbW5sgy40P1L6fJjPe4IfZKSmkmuPNGSpTy+fcNZ0gYwIuMlxiT3RarLYxYie+RVTyJLE3zXw==} - engines: {node: '>=18.0.0'} - hasBin: true + oclif@4.17.46(@types/node@18.19.108): dependencies: '@aws-sdk/client-cloudfront': 3.817.0 '@aws-sdk/client-s3': 3.820.0 @@ -7947,35 +10147,24 @@ packages: - '@types/node' - aws-crt - supports-color - dev: true - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + once@1.4.0: dependencies: wrappy: 1.0.2 - /one-time@1.0.0: - resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} + one-time@1.0.0: dependencies: fn.name: 1.1.0 - dev: false - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + onetime@5.1.2: dependencies: mimic-fn: 2.1.0 - /onetime@7.0.0: - resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} - engines: {node: '>=18'} + onetime@7.0.0: dependencies: mimic-function: 5.0.1 - dev: false - /optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} + optionator@0.9.4: dependencies: deep-is: 0.1.4 fast-levenshtein: 2.0.6 @@ -7983,11 +10172,8 @@ packages: prelude-ls: 1.2.1 type-check: 0.4.0 word-wrap: 1.2.5 - dev: true - /ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} + ora@5.4.1: dependencies: bl: 4.1.0 chalk: 4.1.2 @@ -7998,11 +10184,8 @@ packages: log-symbols: 4.1.0 strip-ansi: 6.0.1 wcwidth: 1.0.1 - dev: false - /ora@8.1.1: - resolution: {integrity: sha512-YWielGi1XzG1UTvOaCFaNgEnuhZVMSHYkW/FQ7UX8O26PtlpdM84c0f7wLPlkvx2RfiQmnzd61d/MGxmpQeJPw==} - engines: {node: '>=18'} + ora@8.1.1: dependencies: chalk: 5.4.1 cli-cursor: 5.0.0 @@ -8013,204 +10196,112 @@ packages: stdin-discarder: 0.2.2 string-width: 7.2.0 strip-ansi: 7.1.0 - dev: false - /os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} + os-tmpdir@1.0.2: {} - /own-keys@1.0.1: - resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} - engines: {node: '>= 0.4'} + own-keys@1.0.1: dependencies: get-intrinsic: 1.3.0 object-keys: 1.1.1 safe-push-apply: 1.0.0 - dev: true - /p-cancelable@3.0.0: - resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} - engines: {node: '>=12.20'} - dev: true + p-cancelable@3.0.0: {} - /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} + p-limit@2.3.0: dependencies: p-try: 2.2.0 - dev: true - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - dev: true - /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + p-locate@4.1.0: dependencies: p-limit: 2.3.0 - dev: true - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + p-locate@5.0.0: dependencies: p-limit: 3.1.0 - dev: true - /p-map@7.0.3: - resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} - engines: {node: '>=18'} - dev: false + p-map@7.0.3: {} - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true + p-try@2.2.0: {} - /pako@2.1.0: - resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} - dev: false + pako@2.1.0: {} - /param-case@3.0.4: - resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + param-case@3.0.4: dependencies: dot-case: 3.0.4 tslib: 2.8.1 - dev: true - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + parent-module@1.0.1: dependencies: callsites: 3.1.0 - dev: true - /parse-json@4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} + parse-json@4.0.0: dependencies: error-ex: 1.3.2 json-parse-better-errors: 1.0.2 - dev: true - /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + parse-json@5.2.0: dependencies: '@babel/code-frame': 7.27.1 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - dev: true - /pascal-case@3.1.2: - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + pascal-case@3.1.2: dependencies: no-case: 3.0.4 tslib: 2.8.1 - dev: true - /patch-console@2.0.0: - resolution: {integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false + patch-console@2.0.0: {} - /path-case@3.0.4: - resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} + path-case@3.0.4: dependencies: dot-case: 3.0.4 tslib: 2.8.1 - dev: true - - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true + path-exists@4.0.0: {} - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true + path-is-absolute@1.0.1: {} - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: false + path-key@3.1.1: {} - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true + path-key@4.0.0: {} - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + path-parse@1.0.7: {} - /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true + path-type@4.0.0: {} - /pause-stream@0.0.11: - resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} + pathval@1.1.1: {} + + pause-stream@0.0.11: dependencies: through: 2.3.8 - dev: true - /peek-readable@7.0.0: - resolution: {integrity: sha512-nri2TO5JE3/mRryik9LlHFT53cgHfRK0Lt0BAZQXku/AW3E6XLt2GaY8siWi7dvW/m1z0ecn+J+bpDa9ZN3IsQ==} - engines: {node: '>=18'} - dev: false + peek-readable@7.0.0: {} - /picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - dev: true + picocolors@1.1.1: {} - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + picomatch@2.3.1: {} - /picomatch@4.0.2: - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} - engines: {node: '>=12'} - dev: true + picomatch@4.0.2: {} - /plimit-lit@3.0.1: - resolution: {integrity: sha512-EyTTdP5LMX6WbHihG8R9w6DS+c3pyMpeKooOFuGDCyuVBogQjYNtoYwKLRD6hM1+VkHzGcfIuyLoWi6l5JA3iA==} - engines: {node: '>=18'} + plimit-lit@3.0.1: dependencies: queue-lit: 3.0.0 - dev: false - /pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - dev: true + pluralize@8.0.0: {} - /port-pid@0.0.7: - resolution: {integrity: sha512-2QkdCeuGLfu1jDxiiwOnafCgVFsMQXMEWvUVx9SMNq+4k6HDKiyA9YVRhmoMvJGg5ZhqEjblpj+1wdWMqn7scw==} - engines: {node: '>=8'} + port-pid@0.0.7: dependencies: netstats: 0.0.6 selective-whitespace: 1.0.4 - dev: true - /possible-typed-array-names@1.1.0: - resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} - engines: {node: '>= 0.4'} - dev: true + possible-typed-array-names@1.1.0: {} - /prebuild-install@7.1.3: - resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} - engines: {node: '>=10'} - hasBin: true + prebuild-install@7.1.3: dependencies: detect-libc: 2.0.4 expand-template: 2.0.3 @@ -8224,34 +10315,19 @@ packages: simple-get: 4.0.1 tar-fs: 2.1.3 tunnel-agent: 0.6.0 - dev: false - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true + prelude-ls@1.2.1: {} - /proc-log@4.2.0: - resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false + proc-log@4.2.0: {} - /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} + prompts@2.4.2: dependencies: kleur: 3.0.3 sisteransi: 1.0.5 - dev: false - /proto-list@1.2.4: - resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} - dev: true + proto-list@1.2.4: {} - /protobufjs@6.11.4: - resolution: {integrity: sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==} - hasBin: true - requiresBuild: true + protobufjs@6.11.4: dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/base64': 1.1.2 @@ -8266,12 +10342,8 @@ packages: '@types/long': 4.0.2 '@types/node': 18.19.108 long: 4.0.0 - dev: false - /protobufjs@7.5.3: - resolution: {integrity: sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw==} - engines: {node: '>=12.0.0'} - requiresBuild: true + protobufjs@7.5.3: dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/base64': 1.1.2 @@ -8285,157 +10357,95 @@ packages: '@protobufjs/utf8': 1.1.0 '@types/node': 18.19.108 long: 5.3.2 - dev: false - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: false + proxy-from-env@1.1.0: {} - /ps-tree@1.2.0: - resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} - engines: {node: '>= 0.10'} - hasBin: true + ps-tree@1.2.0: dependencies: event-stream: 3.3.4 - dev: true - /psl@1.15.0: - resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} + psl@1.15.0: dependencies: punycode: 2.3.1 - dev: false - /pump@3.0.2: - resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + pump@3.0.2: dependencies: end-of-stream: 1.4.4 once: 1.4.0 - dev: false - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} + punycode@2.3.1: {} - /qs@6.14.0: - resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} - engines: {node: '>=0.6'} + qs@6.14.0: dependencies: side-channel: 1.1.0 - dev: false - /querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - dev: false + querystringify@2.2.0: {} - /queue-lit@3.0.0: - resolution: {integrity: sha512-iyVL2X5G58kICVGLW/nseYmdHxBoAp2Gav16H23NPtIllyEJ+UheHlYZqBjO+lJHRYoZRSrX7chH8tMrH9MB/A==} - engines: {node: '>=18'} - dev: false + queue-lit@3.0.0: {} - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + queue-microtask@1.2.3: {} - /quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} - dev: true + quick-lru@5.1.1: {} - /rambda@7.5.0: - resolution: {integrity: sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA==} - dev: true + rambda@7.5.0: {} - /ramda@0.30.1: - resolution: {integrity: sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==} - dev: false + ramda@0.30.1: {} - /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 - /rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true + rc@1.2.8: dependencies: deep-extend: 0.6.0 ini: 1.3.8 minimist: 1.2.8 strip-json-comments: 2.0.1 - dev: false - /react-reconciler@0.29.2(react@18.3.1): - resolution: {integrity: sha512-zZQqIiYgDCTP/f1N/mAR10nJGrPD2ZR+jDSEsKWJHYC7Cm2wodlwbR3upZRdC3cjIjSlTLNVyO7Iu0Yy7t2AYg==} - engines: {node: '>=0.10.0'} - peerDependencies: - react: ^18.3.1 + react-reconciler@0.29.2(react@18.3.1): dependencies: loose-envify: 1.4.0 react: 18.3.1 scheduler: 0.23.2 - dev: false - /react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} - engines: {node: '>=0.10.0'} + react@18.3.1: dependencies: loose-envify: 1.4.0 - dev: false - /read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} + read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 read-pkg: 5.2.0 type-fest: 0.8.1 - dev: true - /read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} + read-pkg@5.2.0: dependencies: '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 - dev: true - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} + readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: false - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + readdirp@3.6.0: dependencies: picomatch: 2.3.1 - dev: true - /readonly-date@1.0.0: - resolution: {integrity: sha512-tMKIV7hlk0h4mO3JTmmVuIlJVXjKk3Sep9Bf5OH0O+758ruuVkUy2J9SttDLm91IEX/WHlXPSpxMGjPj4beMIQ==} - dev: false + readonly-date@1.0.0: {} - /rechoir@0.6.2: - resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} - engines: {node: '>= 0.10'} + rechoir@0.6.2: dependencies: resolve: 1.22.10 - dev: true - /redeyed@2.1.1: - resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} + redeyed@2.1.1: dependencies: esprima: 4.0.1 - dev: false - /reflect.getprototypeof@1.0.10: - resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} - engines: {node: '>= 0.4'} + reflect.getprototypeof@1.0.10: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 @@ -8445,16 +10455,10 @@ packages: get-intrinsic: 1.3.0 get-proto: 1.0.1 which-builtin-type: 1.2.1 - dev: true - /regexp-tree@0.1.27: - resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} - hasBin: true - dev: true + regexp-tree@0.1.27: {} - /regexp.prototype.flags@1.5.4: - resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} - engines: {node: '>= 0.4'} + regexp.prototype.flags@1.5.4: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 @@ -8462,114 +10466,66 @@ packages: get-proto: 1.0.1 gopd: 1.2.0 set-function-name: 2.0.2 - dev: true - /regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - dev: true + regexpp@3.2.0: {} - /registry-auth-token@5.1.0: - resolution: {integrity: sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==} - engines: {node: '>=14'} + registry-auth-token@5.1.0: dependencies: '@pnpm/npm-conf': 2.3.1 - dev: true - /regjsparser@0.10.0: - resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} - hasBin: true + regjsparser@0.10.0: dependencies: jsesc: 0.5.0 - dev: true - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + require-directory@2.1.1: {} - /requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - dev: false + requires-port@1.0.0: {} - /resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - dev: true + resolve-alpn@1.2.1: {} - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true + resolve-from@4.0.0: {} - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: true + resolve-pkg-maps@1.0.0: {} - /resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} - engines: {node: '>= 0.4'} - hasBin: true + resolve@1.22.10: dependencies: is-core-module: 2.16.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true - /responselike@3.0.0: - resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} - engines: {node: '>=14.16'} + responselike@3.0.0: dependencies: lowercase-keys: 3.0.0 - dev: true - /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} + restore-cursor@3.1.0: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - dev: false - /restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + restore-cursor@4.0.0: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - dev: false - /restore-cursor@5.1.0: - resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} - engines: {node: '>=18'} + restore-cursor@5.1.0: dependencies: onetime: 7.0.0 signal-exit: 4.1.0 - dev: false - /retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} + retry@0.13.1: {} - /reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + reusify@1.1.0: {} - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true + rimraf@3.0.2: dependencies: glob: 7.2.3 - dev: true - /ripemd160@2.0.2: - resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + ripemd160@2.0.2: dependencies: hash-base: 3.1.0 inherits: 2.0.4 - dev: false - /rpc-websockets@9.1.1: - resolution: {integrity: sha512-1IXGM/TfPT6nfYMIXkJdzn+L4JEsmb0FL1O2OBjaH03V3yuUDdKFulGLMFG6ErV+8pZ5HVC0limve01RyO+saA==} + rpc-websockets@9.1.1: dependencies: '@swc/helpers': 0.5.17 '@types/uuid': 8.3.4 @@ -8582,122 +10538,76 @@ packages: bufferutil: 4.0.9 utf-8-validate: 5.0.10 - /run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - dev: false + run-async@2.4.1: {} - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - /rxjs@7.8.2: - resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + rxjs@7.8.2: dependencies: tslib: 2.8.1 - /safe-array-concat@1.1.3: - resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} - engines: {node: '>=0.4'} + safe-array-concat@1.1.3: dependencies: call-bind: 1.0.8 call-bound: 1.0.4 get-intrinsic: 1.3.0 has-symbols: 1.1.0 isarray: 2.0.5 - dev: true - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safe-buffer@5.2.1: {} - /safe-push-apply@1.0.0: - resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} - engines: {node: '>= 0.4'} + safe-push-apply@1.0.0: dependencies: es-errors: 1.3.0 isarray: 2.0.5 - dev: true - /safe-regex-test@1.1.0: - resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} - engines: {node: '>= 0.4'} + safe-regex-test@1.1.0: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 is-regex: 1.2.1 - dev: true - /safe-stable-stringify@2.5.0: - resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} - engines: {node: '>=10'} - dev: false + safe-stable-stringify@2.5.0: {} - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + safer-buffer@2.1.2: {} - /scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + scheduler@0.23.2: dependencies: loose-envify: 1.4.0 - dev: false - /scrypt-js@3.0.1: - resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} - dev: false + scrypt-js@3.0.1: {} - /secp256k1@5.0.1: - resolution: {integrity: sha512-lDFs9AAIaWP9UCdtWrotXWWF9t8PWgQDcxqgAnpM9rMqxb3Oaq2J0thzPVSxBwdJgyQtkU/sYtFtbM1RSt/iYA==} - engines: {node: '>=18.0.0'} - requiresBuild: true + secp256k1@5.0.1: dependencies: elliptic: 6.6.1 node-addon-api: 5.1.0 node-gyp-build: 4.8.4 - dev: false - /selective-whitespace@1.0.4: - resolution: {integrity: sha512-DyL/pLbb9poQNQOVndVohclAO8lq+6gEBW8q3H9c2fX+ODkugQMvjBilPjw09lrIuVRFRQ/nwhLdzn60sFh9lQ==} + selective-whitespace@1.0.4: dependencies: tokenize-whitespace: 0.0.1 - dev: true - /semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - dev: true + semver@5.7.2: {} - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - dev: true + semver@6.3.1: {} - /semver@7.7.2: - resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} - engines: {node: '>=10'} - hasBin: true + semver@7.7.2: {} - /sentence-case@3.0.4: - resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} + sentence-case@3.0.4: dependencies: no-case: 3.0.4 tslib: 2.8.1 upper-case-first: 2.0.2 - dev: true - /serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 - dev: true - /set-cookie-parser@2.7.1: - resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} - dev: false + set-cookie-parser@2.7.1: {} - /set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 @@ -8705,85 +10615,55 @@ packages: get-intrinsic: 1.3.0 gopd: 1.2.0 has-property-descriptors: 1.0.2 - dev: true - /set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} + set-function-name@2.0.2: dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 - dev: true - /set-proto@1.0.0: - resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} - engines: {node: '>= 0.4'} + set-proto@1.0.0: dependencies: dunder-proto: 1.0.1 es-errors: 1.3.0 es-object-atoms: 1.1.1 - dev: true - /sha.js@2.4.11: - resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} - hasBin: true + sha.js@2.4.11: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 - dev: false - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - dev: true - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true + shebang-regex@3.0.0: {} - /shelljs@0.8.5: - resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} - engines: {node: '>=4'} - hasBin: true + shelljs@0.8.5: dependencies: glob: 7.2.3 interpret: 1.4.0 rechoir: 0.6.2 - dev: true - /shx@0.3.4: - resolution: {integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==} - engines: {node: '>=6'} - hasBin: true + shx@0.3.4: dependencies: minimist: 1.2.8 shelljs: 0.8.5 - dev: true - /side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} - engines: {node: '>= 0.4'} + side-channel-list@1.0.0: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 - /side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} + side-channel-map@1.0.1: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 get-intrinsic: 1.3.0 object-inspect: 1.13.4 - /side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} + side-channel-weakmap@1.0.2: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 @@ -8791,9 +10671,7 @@ packages: object-inspect: 1.13.4 side-channel-map: 1.0.1 - /side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} - engines: {node: '>= 0.4'} + side-channel@1.1.0: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 @@ -8801,121 +10679,85 @@ packages: side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@3.0.7: {} - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} + signal-exit@4.1.0: {} - /simple-concat@1.0.1: - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - dev: false + simple-concat@1.0.1: {} - /simple-get@4.0.1: - resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + simple-get@4.0.1: dependencies: decompress-response: 6.0.0 once: 1.4.0 simple-concat: 1.0.1 - dev: false - /simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + simple-swizzle@0.2.2: dependencies: is-arrayish: 0.3.2 - dev: false - /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: false + sisteransi@1.0.5: {} - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} + slash@3.0.0: {} - /slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} + slice-ansi@5.0.0: dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 - dev: false - /slice-ansi@7.1.0: - resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} - engines: {node: '>=18'} + slice-ansi@7.1.0: dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 5.0.0 - dev: false - /snake-case@3.0.4: - resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + snake-case@3.0.4: dependencies: dot-case: 3.0.4 tslib: 2.8.1 - dev: true - /socket.io-adapter@2.5.5: - resolution: {integrity: sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==} + socket.io-adapter@2.5.5(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: debug: 4.3.7 - ws: 8.17.1 + ws: 8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - dev: true - /socket.io-client@4.8.1: - resolution: {integrity: sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==} - engines: {node: '>=10.0.0'} + socket.io-client@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@socket.io/component-emitter': 3.1.2 debug: 4.3.7 - engine.io-client: 6.6.3 + engine.io-client: 6.6.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) socket.io-parser: 4.2.4 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - dev: true - /socket.io-parser@4.2.4: - resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} - engines: {node: '>=10.0.0'} + socket.io-parser@4.2.4: dependencies: '@socket.io/component-emitter': 3.1.2 debug: 4.3.7 transitivePeerDependencies: - supports-color - dev: true - /socket.io@4.8.1: - resolution: {integrity: sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==} - engines: {node: '>=10.2.0'} + socket.io@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: accepts: 1.3.8 base64id: 2.0.0 cors: 2.8.5 debug: 4.3.7 - engine.io: 6.6.4 - socket.io-adapter: 2.5.5 + engine.io: 6.6.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + socket.io-adapter: 2.5.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) socket.io-parser: 4.2.4 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - dev: true - /sort-object-keys@1.1.3: - resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} - dev: true + sort-object-keys@1.1.3: {} - /sort-package-json@2.15.1: - resolution: {integrity: sha512-9x9+o8krTT2saA9liI4BljNjwAbvUnWf11Wq+i/iZt8nl2UGYnf3TH5uBydE7VALmP7AGwlfszuEeL8BDyb0YA==} - hasBin: true + sort-package-json@2.15.1: dependencies: detect-indent: 7.0.1 detect-newline: 4.0.1 @@ -8925,53 +10767,34 @@ packages: semver: 7.7.2 sort-object-keys: 1.1.3 tinyglobby: 0.2.14 - dev: true - /spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.21 - dev: true - /spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - dev: true + spdx-exceptions@2.5.0: {} - /spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 spdx-license-ids: 3.0.21 - dev: true - /spdx-license-ids@3.0.21: - resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} - dev: true + spdx-license-ids@3.0.21: {} - /split@0.3.3: - resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} + split@0.3.3: dependencies: through: 2.3.8 - dev: true - /stable-hash@0.0.5: - resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==} - dev: true + stable-hash@0.0.5: {} - /stack-trace@0.0.10: - resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} - dev: false + stack-trace@0.0.10: {} - /stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 - dev: false - /starknet@6.24.1: - resolution: {integrity: sha512-g7tiCt73berhcNi41otlN3T3kxZnIvZhMi8WdC21Y6GC6zoQgbI2z1t7JAZF9c4xZiomlanwVnurcpyfEdyMpg==} + starknet@6.24.1: dependencies: '@noble/curves': 1.7.0 '@noble/hashes': 1.6.0 @@ -8982,16 +10805,12 @@ packages: isomorphic-fetch: 3.0.0 lossless-json: 4.1.0 pako: 2.1.0 - starknet-types-07: /@starknet-io/types-js@0.7.10 + starknet-types-07: '@starknet-io/types-js@0.7.10' ts-mixer: 6.0.4 transitivePeerDependencies: - encoding - dev: false - /start-server-and-test@1.15.4: - resolution: {integrity: sha512-ucQtp5+UCr0m4aHlY+aEV2JSYNTiMZKdSKK/bsIr6AlmwAWDYDnV7uGlWWEtWa7T4XvRI5cPYcPcQgeLqpz+Tg==} - engines: {node: '>=6'} - hasBin: true + start-server-and-test@1.15.4: dependencies: arg: 5.0.2 bluebird: 3.7.2 @@ -9003,55 +10822,37 @@ packages: wait-on: 7.0.1(debug@4.3.4) transitivePeerDependencies: - supports-color - dev: true - /stdin-discarder@0.2.2: - resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} - engines: {node: '>=18'} - dev: false + stdin-discarder@0.2.2: {} - /stop-iteration-iterator@1.1.0: - resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} - engines: {node: '>= 0.4'} + stop-iteration-iterator@1.1.0: dependencies: es-errors: 1.3.0 internal-slot: 1.1.0 - dev: true - /stream-chain@2.2.5: - resolution: {integrity: sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==} + stream-chain@2.2.5: {} - /stream-combiner@0.0.4: - resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} + stream-combiner@0.0.4: dependencies: duplexer: 0.1.2 - dev: true - /stream-json@1.9.1: - resolution: {integrity: sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw==} + stream-json@1.9.1: dependencies: stream-chain: 2.2.5 - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - /string-width@7.2.0: - resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} - engines: {node: '>=18'} + string-width@7.2.0: dependencies: emoji-regex: 10.4.0 get-east-asian-width: 1.3.0 strip-ansi: 7.1.0 - dev: false - /string.prototype.trim@1.2.10: - resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} - engines: {node: '>= 0.4'} + string.prototype.trim@1.2.10: dependencies: call-bind: 1.0.8 call-bound: 1.0.4 @@ -9060,279 +10861,156 @@ packages: es-abstract: 1.24.0 es-object-atoms: 1.1.1 has-property-descriptors: 1.0.2 - dev: true - /string.prototype.trimend@1.0.9: - resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} - engines: {node: '>= 0.4'} + string.prototype.trimend@1.0.9: dependencies: call-bind: 1.0.8 call-bound: 1.0.4 define-properties: 1.2.1 es-object-atoms: 1.1.1 - dev: true - /string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} + string.prototype.trimstart@1.0.8: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 es-object-atoms: 1.1.1 - dev: true - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 - dev: false - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} + strip-ansi@7.1.0: dependencies: ansi-regex: 6.1.0 - dev: false - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true + strip-bom@3.0.0: {} - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true + strip-final-newline@2.0.0: {} - /strip-hex-prefix@1.0.0: - resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} - engines: {node: '>=6.5.0', npm: '>=3'} + strip-hex-prefix@1.0.0: dependencies: is-hex-prefixed: 1.0.0 - dev: false - /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + strip-indent@3.0.0: dependencies: min-indent: 1.0.1 - dev: true - /strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - dev: false + strip-json-comments@2.0.1: {} - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true + strip-json-comments@3.1.1: {} - /strnum@1.1.2: - resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==} - dev: true + strnum@1.1.2: {} - /strtok3@10.2.2: - resolution: {integrity: sha512-Xt18+h4s7Z8xyZ0tmBoRmzxcop97R4BAh+dXouUDCYn+Em+1P3qpkUfI5ueWLT8ynC5hZ+q4iPEmGG1urvQGBg==} - engines: {node: '>=18'} + strtok3@10.2.2: dependencies: '@tokenizer/token': 0.3.0 peek-readable: 7.0.0 - dev: false - /superstruct@2.0.2: - resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==} - engines: {node: '>=14.0.0'} + superstruct@2.0.2: {} - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + supports-color@8.1.1: dependencies: has-flag: 4.0.0 - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true + supports-preserve-symlinks-flag@1.0.0: {} - /symbol-observable@2.0.3: - resolution: {integrity: sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA==} - engines: {node: '>=0.10'} - dev: false + symbol-observable@2.0.3: {} - /tar-fs@2.1.3: - resolution: {integrity: sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==} + tar-fs@2.1.3: dependencies: chownr: 1.1.4 mkdirp-classic: 0.5.3 pump: 3.0.2 tar-stream: 2.2.0 - dev: false - /tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} + tar-stream@2.2.0: dependencies: bl: 4.1.0 end-of-stream: 1.4.4 fs-constants: 1.0.0 inherits: 2.0.4 readable-stream: 3.6.2 - dev: false - /text-encoding-utf-8@1.0.2: - resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==} + text-encoding-utf-8@1.0.2: {} - /text-hex@1.0.0: - resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} - dev: false + text-hex@1.0.0: {} - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true + text-table@0.2.0: {} - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + through@2.3.8: {} - /timeago.js@4.0.2: - resolution: {integrity: sha512-a7wPxPdVlQL7lqvitHGGRsofhdwtkoSXPGATFuSOA2i1ZNQEPLrGnj68vOp2sOJTCFAQVXPeNMX/GctBaO9L2w==} - dev: true + timeago.js@4.0.2: {} - /tiny-jsonc@1.0.2: - resolution: {integrity: sha512-f5QDAfLq6zIVSyCZQZhhyl0QS6MvAyTxgz4X4x3+EoCktNWEYJ6PeoEA97fyb98njpBNNi88ybpD7m+BDFXaCw==} - dev: true + tiny-jsonc@1.0.2: {} - /tiny-secp256k1@1.1.7: - resolution: {integrity: sha512-eb+F6NabSnjbLwNoC+2o5ItbmP1kg7HliWue71JgLegQt6A5mTN8YbvTLCazdlg6e5SV6A+r8OGvZYskdlmhqQ==} - engines: {node: '>=6.0.0'} - requiresBuild: true + tiny-secp256k1@1.1.7: dependencies: bindings: 1.5.0 bn.js: 4.12.2 create-hmac: 1.1.7 elliptic: 6.6.1 nan: 2.22.2 - dev: false - /tinyglobby@0.2.14: - resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} - engines: {node: '>=12.0.0'} + tinyglobby@0.2.14: dependencies: fdir: 6.4.5(picomatch@4.0.2) picomatch: 4.0.2 - dev: true - /tmp-promise@3.0.3: - resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} - requiresBuild: true + tmp-promise@3.0.3: dependencies: tmp: 0.2.3 - dev: false optional: true - /tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} + tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 - /tmp@0.2.3: - resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} - engines: {node: '>=14.14'} - requiresBuild: true - dev: false + tmp@0.2.3: optional: true - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - /token-types@6.0.0: - resolution: {integrity: sha512-lbDrTLVsHhOMljPscd0yitpozq7Ga2M5Cvez5AjGg8GASBjtt6iERCAJ93yommPmz62fb45oFIXHEZ3u9bfJEA==} - engines: {node: '>=14.16'} + token-types@6.0.0: dependencies: '@tokenizer/token': 0.3.0 ieee754: 1.2.1 - dev: false - /tokenize-whitespace@0.0.1: - resolution: {integrity: sha512-OxbdMHTjVs0ccBMfjo1v5OH6bq8yhydewCd9n6xihgtZvI3wSqR00EsM86DjELLl6VtMkY2z99r5q+uNW79E+Q==} - dev: true + tokenize-whitespace@0.0.1: {} - /tough-cookie@4.1.4: - resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} - engines: {node: '>=6'} + tough-cookie@4.1.4: dependencies: psl: 1.15.0 punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 - dev: false - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@0.0.3: {} - /treeify@1.1.0: - resolution: {integrity: sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==} - engines: {node: '>=0.6'} - dev: false + treeify@1.1.0: {} - /triple-beam@1.4.1: - resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==} - engines: {node: '>= 14.0.0'} - dev: false + triple-beam@1.4.1: {} - /ts-api-utils@1.4.3(typescript@5.8.3): - resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' + ts-api-utils@1.4.3(typescript@5.8.3): dependencies: typescript: 5.8.3 - dev: true - /ts-essentials@9.4.2(typescript@5.8.3): - resolution: {integrity: sha512-mB/cDhOvD7pg3YCLk2rOtejHjjdSi9in/IBYE13S+8WA5FBSraYf4V/ws55uvs0IvQ/l0wBOlXy5yBNZ9Bl8ZQ==} - peerDependencies: - typescript: '>=4.1.0' - peerDependenciesMeta: - typescript: - optional: true - dependencies: + ts-essentials@9.4.2(typescript@5.8.3): + optionalDependencies: typescript: 5.8.3 - dev: true - /ts-mixer@6.0.4: - resolution: {integrity: sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==} - dev: false + ts-mixer@6.0.4: {} - /ts-node@10.9.2(@types/node@18.19.108)(typescript@5.8.3): - 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 + ts-node@10.9.2(@types/node@18.19.108)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -9349,91 +11027,55 @@ packages: typescript: 5.8.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true - /tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 json5: 1.0.2 minimist: 1.2.8 strip-bom: 3.0.0 - dev: true - /tslib@2.7.0: - resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} - dev: false + tslib@2.7.0: {} - /tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tslib@2.8.1: {} - /tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 - /tweetnacl@1.0.3: - resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} + tweetnacl@1.0.3: {} - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - dev: true - /type-detect@4.1.0: - resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} - engines: {node: '>=4'} - dev: true + type-detect@4.1.0: {} - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true + type-fest@0.20.2: {} - /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} + type-fest@0.21.3: {} - /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - dev: true + type-fest@0.6.0: {} - /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - dev: true + type-fest@0.8.1: {} - /type-fest@4.41.0: - resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} - engines: {node: '>=16'} - dev: false + type-fest@4.41.0: {} - /typed-array-buffer@1.0.3: - resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} - engines: {node: '>= 0.4'} + typed-array-buffer@1.0.3: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 is-typed-array: 1.1.15 - dev: true - /typed-array-byte-length@1.0.3: - resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} - engines: {node: '>= 0.4'} + typed-array-byte-length@1.0.3: dependencies: call-bind: 1.0.8 for-each: 0.3.5 gopd: 1.2.0 has-proto: 1.2.0 is-typed-array: 1.1.15 - dev: true - /typed-array-byte-offset@1.0.4: - resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} - engines: {node: '>= 0.4'} + typed-array-byte-offset@1.0.4: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.8 @@ -9442,11 +11084,8 @@ packages: has-proto: 1.2.0 is-typed-array: 1.1.15 reflect.getprototypeof: 1.0.10 - dev: true - /typed-array-length@1.0.7: - resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} - engines: {node: '>= 0.4'} + typed-array-length@1.0.7: dependencies: call-bind: 1.0.8 for-each: 0.3.5 @@ -9454,68 +11093,37 @@ packages: is-typed-array: 1.1.15 possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - dev: true - /typeforce@1.18.0: - resolution: {integrity: sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==} - dev: false + typeforce@1.18.0: {} - /typescript@5.8.3: - resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} - engines: {node: '>=14.17'} - hasBin: true + typescript@5.8.3: {} - /uint8array-extras@1.4.0: - resolution: {integrity: sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ==} - engines: {node: '>=18'} - dev: false + uint8array-extras@1.4.0: {} - /unbox-primitive@1.1.0: - resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} - engines: {node: '>= 0.4'} + unbox-primitive@1.1.0: dependencies: call-bound: 1.0.4 has-bigints: 1.1.0 has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 - dev: true - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@5.26.5: {} - /undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - dev: false + undici-types@6.19.8: {} - /undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - dev: true + undici-types@6.21.0: {} - /undici@5.29.0: - resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} - engines: {node: '>=14.0'} + undici@5.29.0: dependencies: '@fastify/busboy': 2.1.1 - dev: false - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true + universalify@0.1.2: {} - /universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} - dev: false + universalify@0.2.0: {} - /universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - dev: false + universalify@2.0.1: {} - /unrs-resolver@1.7.8: - resolution: {integrity: sha512-2zsXwyOXmCX9nGz4vhtZRYhe30V78heAv+KDc21A/KMdovGHbZcixeD5JHEF0DrFXzdytwuzYclcPbvp8A3Jlw==} - requiresBuild: true + unrs-resolver@1.7.8: dependencies: napi-postinstall: 0.2.4 optionalDependencies: @@ -9536,113 +11144,66 @@ packages: '@unrs/resolver-binding-win32-arm64-msvc': 1.7.8 '@unrs/resolver-binding-win32-ia32-msvc': 1.7.8 '@unrs/resolver-binding-win32-x64-msvc': 1.7.8 - dev: true - /untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} - dev: false + untildify@4.0.0: {} - /upper-case-first@2.0.2: - resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} + upper-case-first@2.0.2: dependencies: tslib: 2.8.1 - dev: true - /upper-case@2.0.2: - resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} + upper-case@2.0.2: dependencies: tslib: 2.8.1 - dev: true - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + uri-js@4.4.1: dependencies: punycode: 2.3.1 - dev: true - /url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + url-parse@1.5.10: dependencies: querystringify: 2.2.0 requires-port: 1.0.0 - dev: false - /usb@2.9.0: - resolution: {integrity: sha512-G0I/fPgfHUzWH8xo2KkDxTTFruUWfppgSFJ+bQxz/kVY2x15EQ/XDB7dqD1G432G4gBG4jYQuF3U7j/orSs5nw==} - engines: {node: '>=10.20.0 <11.x || >=12.17.0 <13.0 || >=14.0.0'} - requiresBuild: true + usb@2.9.0: dependencies: '@types/w3c-web-usb': 1.0.10 node-addon-api: 6.1.0 node-gyp-build: 4.8.4 - dev: false - /utf-8-validate@5.0.10: - resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==} - engines: {node: '>=6.14.2'} - requiresBuild: true + utf-8-validate@5.0.10: dependencies: node-gyp-build: 4.8.4 + optional: true - /utf8@3.0.0: - resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} - dev: false + utf8@3.0.0: {} - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: false + util-deprecate@1.0.2: {} - /utility-types@3.11.0: - resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} - engines: {node: '>= 4'} - dev: false + utility-types@3.11.0: {} - /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true + uuid@8.3.2: {} - /uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - dev: true + uuid@9.0.1: {} - /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true + v8-compile-cache-lib@3.0.1: {} - /validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - dev: true - /validate-npm-package-name@5.0.1: - resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + validate-npm-package-name@5.0.1: {} - /varuint-bitcoin@1.1.2: - resolution: {integrity: sha512-4EVb+w4rx+YfVM32HQX42AbbT7/1f5zwAYhIujKXKk8NQK+JfRVl3pqT3hjNn/L+RstigmGGKVwHA/P0wgITZw==} + varuint-bitcoin@1.1.2: dependencies: safe-buffer: 5.2.1 - dev: false - /vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: true + vary@1.1.2: {} - /vlq@2.0.4: - resolution: {integrity: sha512-aodjPa2wPQFkra1G8CzJBTHXhgk3EVSwxSWXNPr1fgdFLUb8kvLV1iEb6rFgasIsjP82HWI6dsb5Io26DDnasA==} - requiresBuild: true - dev: false + vlq@2.0.4: optional: true - /wait-on@6.0.1(debug@4.4.1): - resolution: {integrity: sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==} - engines: {node: '>=10.0.0'} - hasBin: true + wait-on@6.0.1(debug@4.4.1): dependencies: axios: 0.25.0(debug@4.4.1) joi: 17.13.3 @@ -9651,12 +11212,8 @@ packages: rxjs: 7.8.2 transitivePeerDependencies: - debug - dev: true - /wait-on@7.0.1(debug@4.3.4): - resolution: {integrity: sha512-9AnJE9qTjRQOlTZIldAaf/da2eW0eSRSgcqq85mXQja/DW3MriHxkpODDSUEg+Gri/rKEcXUZHe+cevvYItaog==} - engines: {node: '>=12.0.0'} - hasBin: true + wait-on@7.0.1(debug@4.3.4): dependencies: axios: 0.27.2(debug@4.3.4) joi: 17.13.3 @@ -9665,39 +11222,26 @@ packages: rxjs: 7.8.2 transitivePeerDependencies: - debug - dev: true - /warp-arbundles@1.0.4: - resolution: {integrity: sha512-KeRac/EJ7VOK+v5+PSMh2SrzpCKOAFnJICLlqZWt6qPkDCzVwcrNE5wFxOlEk5U170ewMDAB3e86UHUblevXpw==} + warp-arbundles@1.0.4: dependencies: arweave: 1.15.7 base64url: 3.0.1 buffer: 6.0.3 warp-isomorphic: 1.0.7 - dev: false - /warp-isomorphic@1.0.7: - resolution: {integrity: sha512-fXHbUXwdYqPm9fRPz8mjv5ndPco09aMQuTe4kXfymzOq8V6F3DLsg9cIafxvjms9/mc6eijzkLBJ63yjEENEjA==} - engines: {node: '>=16.8.0'} + warp-isomorphic@1.0.7: dependencies: buffer: 6.0.3 undici: 5.29.0 - dev: false - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + wcwidth@1.0.1: dependencies: defaults: 1.0.4 - dev: false - /web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - dev: false + web-streams-polyfill@3.3.3: {} - /web3-utils@1.10.4: - resolution: {integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==} - engines: {node: '>=8.0.0'} + web3-utils@1.10.4: dependencies: '@ethereumjs/util': 8.1.0 bn.js: 5.2.2 @@ -9707,35 +11251,25 @@ packages: number-to-bn: 1.7.0 randombytes: 2.1.0 utf8: 3.0.0 - dev: false - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@3.0.1: {} - /whatwg-fetch@3.6.20: - resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} - dev: false + whatwg-fetch@3.6.20: {} - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - /which-boxed-primitive@1.1.1: - resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} - engines: {node: '>= 0.4'} + which-boxed-primitive@1.1.1: dependencies: is-bigint: 1.1.0 is-boolean-object: 1.2.2 is-number-object: 1.1.1 is-string: 1.1.1 is-symbol: 1.1.1 - dev: true - /which-builtin-type@1.2.1: - resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} - engines: {node: '>= 0.4'} + which-builtin-type@1.2.1: dependencies: call-bound: 1.0.4 function.prototype.name: 1.1.8 @@ -9750,21 +11284,15 @@ packages: which-boxed-primitive: 1.1.1 which-collection: 1.0.2 which-typed-array: 1.1.19 - dev: true - /which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} + which-collection@1.0.2: dependencies: is-map: 2.0.3 is-set: 2.0.3 is-weakmap: 2.0.2 is-weakset: 2.0.4 - dev: true - /which-typed-array@1.1.19: - resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} - engines: {node: '>= 0.4'} + which-typed-array@1.1.19: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.8 @@ -9773,55 +11301,34 @@ packages: get-proto: 1.0.1 gopd: 1.2.0 has-tostringtag: 1.0.2 - dev: true - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + which@2.0.2: dependencies: isexe: 2.0.0 - dev: true - /which@4.0.0: - resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} - engines: {node: ^16.13.0 || >=18.0.0} - hasBin: true + which@4.0.0: dependencies: isexe: 3.1.1 - dev: false - /widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} + widest-line@3.1.0: dependencies: string-width: 4.2.3 - /widest-line@5.0.0: - resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} - engines: {node: '>=18'} + widest-line@5.0.0: dependencies: string-width: 7.2.0 - dev: false - /wif@2.0.6: - resolution: {integrity: sha512-HIanZn1zmduSF+BQhkE+YXIbEiH0xPr1012QbFEGB0xsKqJii0/SqJjyn8dFv6y36kOznMgMB+LGcbZTJ1xACQ==} + wif@2.0.6: dependencies: bs58check: 2.1.2 - dev: false - /winston-transport@4.9.0: - resolution: {integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==} - engines: {node: '>= 12.0.0'} + winston-transport@4.9.0: dependencies: logform: 2.7.0 readable-stream: 3.6.2 triple-beam: 1.4.1 - dev: false - /winston@3.17.0: - resolution: {integrity: sha512-DLiFIXYC5fMPxaRg832S6F5mJYvePtmO5G9v9IgUFPhXm9/GkXarH/TUrBAVzhTCzAj9anE/+GjrgXp/54nOgw==} - engines: {node: '>= 12.0.0'} + winston@3.17.0: dependencies: '@colors/colors': 1.6.0 '@dabh/diagnostics': 2.0.3 @@ -9834,144 +11341,76 @@ packages: stack-trace: 0.0.10 triple-beam: 1.4.1 winston-transport: 4.9.0 - dev: false - /word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - dev: true + word-wrap@1.2.5: {} - /wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + wordwrap@1.0.0: {} - /workerpool@6.5.1: - resolution: {integrity: sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==} - dev: true + workerpool@6.5.1: {} - /wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - /wrap-ansi@9.0.0: - resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} - engines: {node: '>=18'} + wrap-ansi@9.0.0: dependencies: ansi-styles: 6.2.1 string-width: 7.2.0 strip-ansi: 7.1.0 - dev: false - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + wrappy@1.0.2: {} - /ws@7.5.10: - resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true + ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 - /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.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 - /ws@8.18.0: - resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} - 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 - dev: false + ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 - /ws@8.18.2(bufferutil@4.0.9)(utf-8-validate@5.0.10): - resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} - 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 - dependencies: + ws@8.18.2(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: bufferutil: 4.0.9 utf-8-validate: 5.0.10 - /xmlhttprequest-ssl@2.1.2: - resolution: {integrity: sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==} - engines: {node: '>=0.4.0'} - dev: true + xmlhttprequest-ssl@2.1.2: {} - /xstream@11.14.0: - resolution: {integrity: sha512-1bLb+kKKtKPbgTK6i/BaoAn03g47PpFstlbe1BA+y3pNS/LfvcaghS5BFf9+EE1J+KwSQsEpfJvFN5GqFtiNmw==} + xstream@11.14.0: dependencies: globalthis: 1.0.4 symbol-observable: 2.0.3 - dev: false - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} + y18n@5.0.8: {} - /yaml@2.8.0: - resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} - engines: {node: '>= 14.6'} - hasBin: true - dev: false + yaml@2.8.0: {} - /yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} - dev: true + yargs-parser@20.2.9: {} - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} + yargs-parser@21.1.1: {} - /yargs-unparser@2.0.0: - resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} - engines: {node: '>=10'} + yargs-unparser@2.0.0: dependencies: camelcase: 6.3.0 decamelize: 4.0.0 flat: 5.0.2 is-plain-obj: 2.1.0 - dev: true - /yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} + yargs@16.2.0: dependencies: cliui: 7.0.4 escalade: 3.2.0 @@ -9980,11 +11419,8 @@ packages: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 20.2.9 - dev: true - /yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + yargs@17.7.2: dependencies: cliui: 8.0.1 escalade: 3.2.0 @@ -9994,31 +11430,14 @@ packages: y18n: 5.0.8 yargs-parser: 21.1.1 - /yarn@1.22.22: - resolution: {integrity: sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==} - engines: {node: '>=4.0.0'} - hasBin: true - requiresBuild: true - dev: false + yarn@1.22.22: {} - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true + yn@3.1.1: {} - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true + yocto-queue@0.1.0: {} - /yoctocolors-cjs@2.1.2: - resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} - engines: {node: '>=18'} + yoctocolors-cjs@2.1.2: {} - /yoga-wasm-web@0.3.3: - resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} - dev: false + yoga-wasm-web@0.3.3: {} - /zod@3.25.42: - resolution: {integrity: sha512-PcALTLskaucbeHc41tU/xfjfhcz8z0GdhhDcSgrCTmSazUuqnYqiXO63M0QUBVwpBlsLsNVn5qHSC5Dw3KZvaQ==} - dev: false + zod@3.25.42: {} From dd75d511d9614d24451773b5a4b9a90c607f6c11 Mon Sep 17 00:00:00 2001 From: MarkSackerberg <93528482+MarkSackerberg@users.noreply.github.com> Date: Sat, 7 Feb 2026 22:06:28 +0100 Subject: [PATCH 4/7] add remaining commands and tests --- .amman/genesis.so | Bin 0 -> 1107088 bytes .validator.cjs | 5 + package.json | 2 +- pnpm-lock.yaml | 10 +- .../genesis/bucket/add-launch-pool.ts | 158 ++++++-- src/commands/genesis/bucket/add-presale.ts | 219 ++++++++++++ src/commands/genesis/bucket/add-unlocked.ts | 169 +++++++++ src/commands/genesis/bucket/fetch.ts | 237 +++++++++--- src/commands/genesis/bucket/index.ts | 2 + src/commands/genesis/claim-unlocked.ts | 129 +++++++ src/commands/genesis/claim.ts | 7 +- src/commands/genesis/create.ts | 2 +- src/commands/genesis/deposit.ts | 7 +- src/commands/genesis/fetch.ts | 3 +- src/commands/genesis/finalize.ts | 33 +- src/commands/genesis/index.ts | 19 +- src/commands/genesis/presale/claim.ts | 146 ++++++++ src/commands/genesis/presale/deposit.ts | 131 +++++++ src/commands/genesis/presale/index.ts | 24 ++ src/commands/genesis/transition.ts | 118 ++++++ src/commands/genesis/withdraw.ts | 145 ++++++++ test/commands/genesis/genesis-manual-test.sh | 193 ++++++++++ test/commands/genesis/genesis.create.test.ts | 176 +++++++++ .../genesis/genesis.integration.test.ts | 338 ++++++++++++++++++ test/commands/genesis/genesis.presale.test.ts | 154 ++++++++ .../commands/genesis/genesis.withdraw.test.ts | 145 ++++++++ test/commands/genesis/genesishelpers.ts | 252 +++++++++++++ 27 files changed, 2715 insertions(+), 109 deletions(-) create mode 100644 .amman/genesis.so create mode 100644 src/commands/genesis/bucket/add-presale.ts create mode 100644 src/commands/genesis/bucket/add-unlocked.ts create mode 100644 src/commands/genesis/claim-unlocked.ts create mode 100644 src/commands/genesis/presale/claim.ts create mode 100644 src/commands/genesis/presale/deposit.ts create mode 100644 src/commands/genesis/presale/index.ts create mode 100644 src/commands/genesis/transition.ts create mode 100644 src/commands/genesis/withdraw.ts create mode 100644 test/commands/genesis/genesis-manual-test.sh create mode 100644 test/commands/genesis/genesis.create.test.ts create mode 100644 test/commands/genesis/genesis.integration.test.ts create mode 100644 test/commands/genesis/genesis.presale.test.ts create mode 100644 test/commands/genesis/genesis.withdraw.test.ts create mode 100644 test/commands/genesis/genesishelpers.ts diff --git a/.amman/genesis.so b/.amman/genesis.so new file mode 100644 index 0000000000000000000000000000000000000000..61f98164777ec595418002042512f1b25a6a9cbc GIT binary patch literal 1107088 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�i}vXJ;*Q{6SHn*%2RBGMU!VV`GVSXM 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 literal 0 HcmV?d00001 diff --git a/.validator.cjs b/.validator.cjs index f92ddc7..fd7a403 100644 --- a/.validator.cjs +++ b/.validator.cjs @@ -52,6 +52,11 @@ module.exports = { programId: 'cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK', deployPath: './.amman/spl_account_compression.so', }, + { + label: 'Genesis', + programId: 'GNS1S5J5AspKXgpjz6SvKL66kPaKWAhaGRhCqPRxii2B', + deployPath: './.amman/genesis.so', + }, ], commitment: 'processed', }, diff --git a/package.json b/package.json index 664b9b2..dbec5b0 100644 --- a/package.json +++ b/package.json @@ -29,10 +29,10 @@ "@ledgerhq/hw-transport": "^6.31.4", "@ledgerhq/hw-transport-node-hid-singleton": "^6.31.5", "@metaplex-foundation/digital-asset-standard-api": "^2.0.0", + "@metaplex-foundation/genesis": "^0.18.0", "@metaplex-foundation/mpl-bubblegum": "^5.0.2", "@metaplex-foundation/mpl-core": "^1.4.0", "@metaplex-foundation/mpl-core-candy-machine": "^0.3.0", - "@metaplex-foundation/genesis": "^0.14.0", "@metaplex-foundation/mpl-distro": "^0.3.2", "@metaplex-foundation/mpl-token-metadata": "^3.4.0", "@metaplex-foundation/mpl-toolbox": "0.10.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0456d38..a316d21 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,8 +30,8 @@ importers: specifier: ^2.0.0 version: 2.0.0(@metaplex-foundation/umi@1.4.1) '@metaplex-foundation/genesis': - specifier: ^0.14.0 - version: 0.14.0(@metaplex-foundation/umi@1.4.1) + specifier: ^0.18.0 + version: 0.18.0(@metaplex-foundation/umi@1.4.1) '@metaplex-foundation/mpl-bubblegum': specifier: ^5.0.2 version: 5.0.2(@metaplex-foundation/umi@1.4.1) @@ -842,8 +842,8 @@ packages: peerDependencies: '@metaplex-foundation/umi': '>= 0.8.2 <= 1' - '@metaplex-foundation/genesis@0.14.0': - resolution: {integrity: sha512-C6bkvPta+Bx673FEBWungWP51YafR9r/yoyqduPyYFu6RtAoxWfEhyJqKymjDvizStwuVrx2SVbitH52TIFhPA==} + '@metaplex-foundation/genesis@0.18.0': + resolution: {integrity: sha512-Uzj9PYiW+6JkAGu1Kjhu5jm8p0+dSSApyIEbtfhu4FgIA9S/apx9rbt2mNL+0MgIghbQTj2zh0ooFxx6YmP6mQ==} peerDependencies: '@metaplex-foundation/umi': ^1.4.1 @@ -6590,7 +6590,7 @@ snapshots: dependencies: '@metaplex-foundation/umi': 1.4.1 - '@metaplex-foundation/genesis@0.14.0(@metaplex-foundation/umi@1.4.1)': + '@metaplex-foundation/genesis@0.18.0(@metaplex-foundation/umi@1.4.1)': dependencies: '@metaplex-foundation/mpl-token-metadata': 3.4.0(@metaplex-foundation/umi@1.4.1) '@metaplex-foundation/mpl-toolbox': 0.10.0(@metaplex-foundation/umi@1.4.1) diff --git a/src/commands/genesis/bucket/add-launch-pool.ts b/src/commands/genesis/bucket/add-launch-pool.ts index be97cb3..c6726ea 100644 --- a/src/commands/genesis/bucket/add-launch-pool.ts +++ b/src/commands/genesis/bucket/add-launch-pool.ts @@ -24,8 +24,8 @@ The bucket requires start/end conditions for deposits and claims. Use Unix timestamps for absolute times.` static override examples = [ - '$ mplx genesis bucket add-launch-pool GenesisAddress... --allocation 500000000 --depositStart 1704067200 --depositEnd 1704153600 --claimStart 1704153600', - '$ mplx genesis bucket add-launch-pool GenesisAddress... --allocation 1000000000 --depositStart 1704067200 --depositEnd 1704153600 --claimStart 1704153600 --claimEnd 1704240000', + '$ mplx genesis bucket add-launch-pool GenesisAddress... --allocation 500000000 --depositStart 1704067200 --depositEnd 1704153600 --claimStart 1704153600 --claimEnd 1704240000', + '$ mplx genesis bucket add-launch-pool GenesisAddress... --allocation 1000000000 --depositStart 1704067200 --depositEnd 1704153600 --claimStart 1704153600 --claimEnd 1704240000 --endBehavior ":10000"', ] static override usage = 'genesis bucket add-launch-pool [GENESIS] [FLAGS]' @@ -56,12 +56,49 @@ Use Unix timestamps for absolute times.` required: true, }), claimEnd: Flags.string({ - description: 'Unix timestamp when claims end (optional, 0 for no end)', - default: '0', + description: 'Unix timestamp when claims end', + required: true, }), bucketIndex: Flags.integer({ char: 'b', - description: 'Bucket index (default: auto-increment based on genesis bucket count)', + description: 'Bucket index (default: 0)', + required: false, + }), + endBehavior: Flags.string({ + description: 'End behavior in format : (can specify multiple)', + multiple: true, + required: false, + }), + minimumDeposit: Flags.string({ + description: 'Minimum deposit amount per transaction (in base units)', + required: false, + }), + depositLimit: Flags.string({ + description: 'Maximum deposit limit per user (in base units)', + required: false, + }), + minimumQuoteTokenThreshold: Flags.string({ + description: 'Minimum total quote tokens required for the bucket to succeed', + required: false, + }), + depositPenalty: Flags.string({ + description: 'Deposit penalty schedule as JSON: {"slopeBps":0,"interceptBps":200,"maxBps":200,"startTime":0,"endTime":0}', + required: false, + }), + withdrawPenalty: Flags.string({ + description: 'Withdraw penalty schedule as JSON: {"slopeBps":0,"interceptBps":200,"maxBps":200,"startTime":0,"endTime":0}', + required: false, + }), + bonusSchedule: Flags.string({ + description: 'Bonus schedule as JSON: {"slopeBps":0,"interceptBps":0,"maxBps":0,"startTime":0,"endTime":0}', + required: false, + }), + claimSchedule: Flags.string({ + description: 'Claim vesting schedule as JSON: {"startTime":0,"endTime":0,"period":0,"cliffTime":0,"cliffAmountBps":0}', + required: false, + }), + allowlist: Flags.string({ + description: 'Allowlist config as JSON: {"merkleTreeHeight":10,"merkleRoot":"","endTime":0,"quoteCap":0}', required: false, }), } @@ -87,8 +124,7 @@ Use Unix timestamps for absolute times.` this.error('Cannot add buckets to a finalized Genesis account') } - // Determine bucket index - const bucketIndex = flags.bucketIndex ?? genesisAccount.bucketCount + const bucketIndex = flags.bucketIndex ?? 0 // Parse timestamps const depositStart = BigInt(flags.depositStart) @@ -99,35 +135,90 @@ Use Unix timestamps for absolute times.` // Parse allocation const allocation = BigInt(flags.allocation) - // Build conditions + // Build conditions (padding must be 47 bytes as required by the Genesis program) + const conditionPadding = new Array(47).fill(0) + const depositStartCondition = { __kind: 'TimeAbsolute' as const, - padding: [0, 0, 0, 0, 0, 0, 0], + padding: conditionPadding, time: depositStart, triggeredTimestamp: BigInt(0), } const depositEndCondition = { __kind: 'TimeAbsolute' as const, - padding: [0, 0, 0, 0, 0, 0, 0], + padding: conditionPadding, time: depositEnd, triggeredTimestamp: BigInt(0), } const claimStartCondition = { __kind: 'TimeAbsolute' as const, - padding: [0, 0, 0, 0, 0, 0, 0], + padding: conditionPadding, time: claimStart, triggeredTimestamp: BigInt(0), } const claimEndCondition = { __kind: 'TimeAbsolute' as const, - padding: [0, 0, 0, 0, 0, 0, 0], + padding: conditionPadding, time: claimEnd, triggeredTimestamp: BigInt(0), } + // Parse end behaviors + const endBehaviors = (flags.endBehavior ?? []).map((behavior: string) => { + const [destinationBucketAddr, percentageBpsStr] = behavior.split(':') + if (!destinationBucketAddr || !percentageBpsStr) { + throw new Error(`Invalid end behavior format: "${behavior}". Expected format: :`) + } + return { + __kind: 'SendQuoteTokenPercentage' as const, + processed: false, + percentageBps: Number(percentageBpsStr), + padding: new Array(4).fill(0), + destinationBucket: publicKey(destinationBucketAddr), + } + }) + + // Parse optional LinearBpsSchedule fields + const parseLinearBpsSchedule = (json: string) => { + const parsed = JSON.parse(json) + return { + slopeBps: BigInt(parsed.slopeBps), + interceptBps: BigInt(parsed.interceptBps), + maxBps: BigInt(parsed.maxBps), + startTime: BigInt(parsed.startTime), + endTime: BigInt(parsed.endTime), + } + } + + // Parse optional ClaimSchedule + const parseClaimSchedule = (json: string) => { + const parsed = JSON.parse(json) + return { + startTime: BigInt(parsed.startTime), + endTime: BigInt(parsed.endTime), + period: BigInt(parsed.period), + cliffTime: BigInt(parsed.cliffTime), + cliffAmountBps: Number(parsed.cliffAmountBps), + reserved: new Array(7).fill(0), + } + } + + // Parse optional Allowlist + const parseAllowlist = (json: string) => { + const parsed = JSON.parse(json) + return { + enabled: true, + merkleTreeHeight: Number(parsed.merkleTreeHeight), + padding: new Array(3).fill(0), + merkleRoot: Uint8Array.from(Buffer.from(parsed.merkleRoot, 'hex')), + endTime: BigInt(parsed.endTime), + quoteCap: BigInt(parsed.quoteCap), + } + } + // Build the add bucket transaction spinner.text = 'Adding launch pool bucket...' const transaction = addLaunchPoolBucketV2(this.context.umi, { @@ -143,22 +234,37 @@ Use Unix timestamps for absolute times.` claimStartCondition, claimEndCondition, backendSigner: none(), - penaltyWallet: none(), - depositPenalty: none(), - withdrawPenalty: none(), - bonusSchedule: none(), - depositLimit: none(), - allowlist: none(), - claimSchedule: none(), - minimumDepositAmount: none(), - minimumQuoteTokenThreshold: none(), - endBehaviors: [], + depositPenalty: flags.depositPenalty + ? some(parseLinearBpsSchedule(flags.depositPenalty)) + : none(), + withdrawPenalty: flags.withdrawPenalty + ? some(parseLinearBpsSchedule(flags.withdrawPenalty)) + : none(), + bonusSchedule: flags.bonusSchedule + ? some(parseLinearBpsSchedule(flags.bonusSchedule)) + : none(), + depositLimit: flags.depositLimit + ? some({ limit: BigInt(flags.depositLimit) }) + : none(), + allowlist: flags.allowlist + ? some(parseAllowlist(flags.allowlist)) + : none(), + claimSchedule: flags.claimSchedule + ? some(parseClaimSchedule(flags.claimSchedule)) + : none(), + minimumDepositAmount: flags.minimumDeposit + ? some({ amount: BigInt(flags.minimumDeposit) }) + : none(), + minimumQuoteTokenThreshold: flags.minimumQuoteTokenThreshold + ? some({ amount: BigInt(flags.minimumQuoteTokenThreshold) }) + : none(), + endBehaviors, }) const result = await umiSendAndConfirmTransaction(this.context.umi, transaction) // Get the bucket PDA - const bucketPda = findLaunchPoolBucketV2Pda(this.context.umi, { + const [bucketPda] = findLaunchPoolBucketV2Pda(this.context.umi, { genesisAccount: genesisAddress, bucketIndex, }) @@ -178,11 +284,7 @@ Use Unix timestamps for absolute times.` this.log(` Deposit Start: ${new Date(Number(depositStart) * 1000).toISOString()}`) this.log(` Deposit End: ${new Date(Number(depositEnd) * 1000).toISOString()}`) this.log(` Claim Start: ${new Date(Number(claimStart) * 1000).toISOString()}`) - if (claimEnd > 0) { - this.log(` Claim End: ${new Date(Number(claimEnd) * 1000).toISOString()}`) - } else { - this.log(` Claim End: No end (unlimited)`) - } + this.log(` Claim End: ${new Date(Number(claimEnd) * 1000).toISOString()}`) this.log('') this.log(`Transaction: ${txSignatureToString(result.transaction.signature as Uint8Array)}`) this.log('') diff --git a/src/commands/genesis/bucket/add-presale.ts b/src/commands/genesis/bucket/add-presale.ts new file mode 100644 index 0000000..ea005b8 --- /dev/null +++ b/src/commands/genesis/bucket/add-presale.ts @@ -0,0 +1,219 @@ +import { + addPresaleBucketV2, + safeFetchGenesisAccountV2, + findPresaleBucketV2Pda, +} from '@metaplex-foundation/genesis' +import { publicKey, some, none } from '@metaplex-foundation/umi' +import { Args, Flags } from '@oclif/core' +import ora from 'ora' + +import { TransactionCommand } from '../../../TransactionCommand.js' +import { generateExplorerUrl } from '../../../explorers.js' +import { txSignatureToString } from '../../../lib/util.js' +import umiSendAndConfirmTransaction from '../../../lib/umi/sendAndConfirm.js' + +export default class AddPresale extends TransactionCommand { + static override description = `Add a presale bucket to a Genesis account. + +Presale buckets offer fixed-price token allocations where: +- Price is determined by quoteCap / allocation +- Deposits are accepted during the deposit period +- Claims are available after the claim period starts + +The bucket requires start/end conditions for deposits and claims. +Use Unix timestamps for absolute times.` + + static override examples = [ + '$ mplx genesis bucket add-presale GenesisAddress... --allocation 500000000 --quoteCap 1000000000 --depositStart 1704067200 --depositEnd 1704153600 --claimStart 1704153600', + '$ mplx genesis bucket add-presale GenesisAddress... --allocation 1000000000 --quoteCap 5000000000 --depositStart 1704067200 --depositEnd 1704153600 --claimStart 1704153600 --claimEnd 1704240000', + ] + + static override usage = 'genesis bucket add-presale [GENESIS] [FLAGS]' + + static override args = { + genesis: Args.string({ + description: 'The Genesis account address', + required: true, + }), + } + + static override flags = { + allocation: Flags.string({ + char: 'a', + description: 'Base token allocation for this bucket (in base units)', + required: true, + }), + quoteCap: Flags.string({ + description: 'Quote token cap (total quote tokens accepted; price = quoteCap / allocation)', + required: true, + }), + depositStart: Flags.string({ + description: 'Unix timestamp when deposits start', + required: true, + }), + depositEnd: Flags.string({ + description: 'Unix timestamp when deposits end', + required: true, + }), + claimStart: Flags.string({ + description: 'Unix timestamp when claims start', + required: true, + }), + claimEnd: Flags.string({ + description: 'Unix timestamp when claims end (optional, defaults to far future)', + required: false, + }), + bucketIndex: Flags.integer({ + char: 'b', + description: 'Bucket index (default: auto-increment based on genesis bucket count)', + required: false, + }), + minimumDeposit: Flags.string({ + description: 'Minimum deposit amount (in base units)', + required: false, + }), + depositLimit: Flags.string({ + description: 'Maximum deposit limit per user (in base units)', + required: false, + }), + } + + public async run(): Promise { + const { args, flags } = await this.parse(AddPresale) + const spinner = ora('Adding presale bucket...').start() + + try { + const genesisAddress = publicKey(args.genesis) + + // Fetch the Genesis account + spinner.text = 'Fetching Genesis account details...' + const genesisAccount = await safeFetchGenesisAccountV2(this.context.umi, genesisAddress) + + if (!genesisAccount) { + spinner.fail('Genesis account not found') + this.error(`Genesis account not found at address: ${args.genesis}`) + } + + if (genesisAccount.finalized) { + spinner.fail('Genesis account is already finalized') + this.error('Cannot add buckets to a finalized Genesis account') + } + + // Determine bucket index (bucketCount deserialization is unreliable, so require explicit index or default to 0) + const bucketIndex = flags.bucketIndex ?? 0 + + // Parse timestamps + const depositStart = BigInt(flags.depositStart) + const depositEnd = BigInt(flags.depositEnd) + const claimStart = BigInt(flags.claimStart) + // Default to far future (year 2100) if not specified + const claimEnd = flags.claimEnd ? BigInt(flags.claimEnd) : BigInt('4102444800') + + // Parse allocation and quote cap + const allocation = BigInt(flags.allocation) + const quoteCap = BigInt(flags.quoteCap) + + // Build conditions (padding must be 47 bytes as required by the Genesis program) + const conditionPadding = new Array(47).fill(0) + + const depositStartCondition = { + __kind: 'TimeAbsolute' as const, + padding: conditionPadding, + time: depositStart, + triggeredTimestamp: BigInt(0), + } + + const depositEndCondition = { + __kind: 'TimeAbsolute' as const, + padding: conditionPadding, + time: depositEnd, + triggeredTimestamp: BigInt(0), + } + + const claimStartCondition = { + __kind: 'TimeAbsolute' as const, + padding: conditionPadding, + time: claimStart, + triggeredTimestamp: BigInt(0), + } + + const claimEndCondition = { + __kind: 'TimeAbsolute' as const, + padding: conditionPadding, + time: claimEnd, + triggeredTimestamp: BigInt(0), + } + + // Build the add presale bucket transaction + spinner.text = 'Adding presale bucket...' + const transaction = addPresaleBucketV2(this.context.umi, { + genesisAccount: genesisAddress, + baseMint: genesisAccount.baseMint, + quoteMint: genesisAccount.quoteMint, + authority: this.context.signer, + payer: this.context.payer, + bucketIndex, + baseTokenAllocation: allocation, + allocationQuoteTokenCap: quoteCap, + depositStartCondition, + depositEndCondition, + claimStartCondition, + claimEndCondition, + backendSigner: none(), + depositLimit: flags.depositLimit + ? some({ limit: BigInt(flags.depositLimit) }) + : none(), + allowlist: none(), + claimSchedule: none(), + minimumDepositAmount: flags.minimumDeposit + ? some({ amount: BigInt(flags.minimumDeposit) }) + : none(), + endBehaviors: [], + depositCooldown: none(), + perCooldownDepositLimit: none(), + steppedDepositLimit: none(), + }) + + const result = await umiSendAndConfirmTransaction(this.context.umi, transaction) + + // Get the bucket PDA + const [bucketPda] = findPresaleBucketV2Pda(this.context.umi, { + genesisAccount: genesisAddress, + bucketIndex, + }) + + spinner.succeed('Presale bucket added successfully!') + + this.log('') + this.logSuccess(`Presale Bucket Added`) + this.log('') + this.log('Bucket Details:') + this.log(` Genesis Account: ${genesisAddress}`) + this.log(` Bucket Address: ${bucketPda}`) + this.log(` Bucket Index: ${bucketIndex}`) + this.log(` Token Allocation: ${flags.allocation}`) + this.log(` Quote Token Cap: ${flags.quoteCap}`) + this.log('') + this.log('Schedule:') + this.log(` Deposit Start: ${new Date(Number(depositStart) * 1000).toISOString()}`) + this.log(` Deposit End: ${new Date(Number(depositEnd) * 1000).toISOString()}`) + this.log(` Claim Start: ${new Date(Number(claimStart) * 1000).toISOString()}`) + this.log(` Claim End: ${new Date(Number(claimEnd) * 1000).toISOString()}`) + this.log('') + this.log(`Transaction: ${txSignatureToString(result.transaction.signature as Uint8Array)}`) + this.log('') + this.log( + generateExplorerUrl( + this.context.explorer, + this.context.chain, + txSignatureToString(result.transaction.signature as Uint8Array), + 'transaction' + ) + ) + + } catch (error) { + spinner.fail('Failed to add presale bucket') + throw error + } + } +} diff --git a/src/commands/genesis/bucket/add-unlocked.ts b/src/commands/genesis/bucket/add-unlocked.ts new file mode 100644 index 0000000..34c57b1 --- /dev/null +++ b/src/commands/genesis/bucket/add-unlocked.ts @@ -0,0 +1,169 @@ +import { + addUnlockedBucketV2, + safeFetchGenesisAccountV2, + findUnlockedBucketV2Pda, +} from '@metaplex-foundation/genesis' +import { publicKey, none } from '@metaplex-foundation/umi' +import { Args, Flags } from '@oclif/core' +import ora from 'ora' + +import { TransactionCommand } from '../../../TransactionCommand.js' +import { generateExplorerUrl } from '../../../explorers.js' +import { txSignatureToString } from '../../../lib/util.js' +import umiSendAndConfirmTransaction from '../../../lib/umi/sendAndConfirm.js' + +export default class AddUnlocked extends TransactionCommand { + static override description = `Add an unlocked (treasury) bucket to a Genesis account. + +Unlocked buckets are used for team/treasury allocations that can be claimed +by a designated recipient after the claim period starts. + +Unlike launch pools or presales, unlocked buckets don't accept deposits. +Instead, they allocate base tokens directly to a recipient.` + + static override examples = [ + '$ mplx genesis bucket add-unlocked GenesisAddress... --recipient RecipientAddress... --claimStart 1704153600', + '$ mplx genesis bucket add-unlocked GenesisAddress... --recipient RecipientAddress... --claimStart 1704153600 --allocation 100000000', + '$ mplx genesis bucket add-unlocked GenesisAddress... --recipient RecipientAddress... --claimStart 1704153600 --claimEnd 1704240000', + ] + + static override usage = 'genesis bucket add-unlocked [GENESIS] [FLAGS]' + + static override args = { + genesis: Args.string({ + description: 'The Genesis account address', + required: true, + }), + } + + static override flags = { + recipient: Flags.string({ + description: 'Recipient address who can claim the unlocked tokens', + required: true, + }), + claimStart: Flags.string({ + description: 'Unix timestamp when claims start', + required: true, + }), + claimEnd: Flags.string({ + description: 'Unix timestamp when claims end (default: far future)', + required: false, + }), + allocation: Flags.string({ + char: 'a', + description: 'Base token allocation for this bucket (in base units, default: 0)', + default: '0', + }), + bucketIndex: Flags.integer({ + char: 'b', + description: 'Bucket index (default: auto-increment based on genesis bucket count)', + required: false, + }), + } + + public async run(): Promise { + const { args, flags } = await this.parse(AddUnlocked) + const spinner = ora('Adding unlocked bucket...').start() + + try { + const genesisAddress = publicKey(args.genesis) + + // Fetch the Genesis account + spinner.text = 'Fetching Genesis account details...' + const genesisAccount = await safeFetchGenesisAccountV2(this.context.umi, genesisAddress) + + if (!genesisAccount) { + spinner.fail('Genesis account not found') + this.error(`Genesis account not found at address: ${args.genesis}`) + } + + if (genesisAccount.finalized) { + spinner.fail('Genesis account is already finalized') + this.error('Cannot add buckets to a finalized Genesis account') + } + + // Determine bucket index (bucketCount deserialization is unreliable, so require explicit index or default to 0) + const bucketIndex = flags.bucketIndex ?? 0 + + // Parse timestamps + const claimStart = BigInt(flags.claimStart) + // Default to far future (year 2100) if not specified + const claimEnd = flags.claimEnd ? BigInt(flags.claimEnd) : BigInt('4102444800') + + // Parse allocation + const allocation = BigInt(flags.allocation) + + // Build conditions (padding must be 47 bytes as required by the Genesis program) + const conditionPadding = new Array(47).fill(0) + + const claimStartCondition = { + __kind: 'TimeAbsolute' as const, + padding: conditionPadding, + time: claimStart, + triggeredTimestamp: BigInt(0), + } + + const claimEndCondition = { + __kind: 'TimeAbsolute' as const, + padding: conditionPadding, + time: claimEnd, + triggeredTimestamp: BigInt(0), + } + + // Build the add unlocked bucket transaction + spinner.text = 'Adding unlocked bucket...' + const transaction = addUnlockedBucketV2(this.context.umi, { + genesisAccount: genesisAddress, + baseMint: genesisAccount.baseMint, + quoteMint: genesisAccount.quoteMint, + authority: this.context.signer, + payer: this.context.payer, + recipient: publicKey(flags.recipient), + bucketIndex, + baseTokenAllocation: allocation, + claimStartCondition, + claimEndCondition, + backendSigner: none(), + }) + + const result = await umiSendAndConfirmTransaction(this.context.umi, transaction) + + // Get the bucket PDA + const [bucketPda] = findUnlockedBucketV2Pda(this.context.umi, { + genesisAccount: genesisAddress, + bucketIndex, + }) + + spinner.succeed('Unlocked bucket added successfully!') + + this.log('') + this.logSuccess(`Unlocked Bucket Added`) + this.log('') + this.log('Bucket Details:') + this.log(` Genesis Account: ${genesisAddress}`) + this.log(` Bucket Address: ${bucketPda}`) + this.log(` Bucket Index: ${bucketIndex}`) + this.log(` Token Allocation: ${flags.allocation}`) + this.log(` Recipient: ${flags.recipient}`) + this.log('') + this.log('Schedule:') + this.log(` Claim Start: ${new Date(Number(claimStart) * 1000).toISOString()}`) + this.log(` Claim End: ${new Date(Number(claimEnd) * 1000).toISOString()}`) + this.log('') + this.log(`Transaction: ${txSignatureToString(result.transaction.signature as Uint8Array)}`) + this.log('') + this.log( + generateExplorerUrl( + this.context.explorer, + this.context.chain, + txSignatureToString(result.transaction.signature as Uint8Array), + 'transaction' + ) + ) + + } catch (error) { + spinner.fail('Failed to add unlocked bucket') + throw error + } + } +} diff --git a/src/commands/genesis/bucket/fetch.ts b/src/commands/genesis/bucket/fetch.ts index ccad4af..8abe286 100644 --- a/src/commands/genesis/bucket/fetch.ts +++ b/src/commands/genesis/bucket/fetch.ts @@ -2,6 +2,10 @@ import { safeFetchGenesisAccountV2, findLaunchPoolBucketV2Pda, safeFetchLaunchPoolBucketV2, + findPresaleBucketV2Pda, + safeFetchPresaleBucketV2, + findUnlockedBucketV2Pda, + safeFetchUnlockedBucketV2, } from '@metaplex-foundation/genesis' import { publicKey } from '@metaplex-foundation/umi' import { Args, Flags } from '@oclif/core' @@ -55,11 +59,12 @@ export default class BucketFetch extends TransactionCommand static override description = `Fetch a Genesis bucket by genesis address and bucket index. This command retrieves and displays information about a bucket in a Genesis account. -Currently supports Launch Pool buckets (V2).` +Supports Launch Pool, Presale, and Unlocked bucket types.` static override examples = [ '$ mplx genesis bucket fetch GenesisAddress... --bucketIndex 0', - '$ mplx genesis bucket fetch GenesisAddress... -b 1', + '$ mplx genesis bucket fetch GenesisAddress... -b 1 --type presale', + '$ mplx genesis bucket fetch GenesisAddress... -b 2 --type unlocked', ] static override usage = 'genesis bucket fetch [GENESIS] [FLAGS]' @@ -77,6 +82,12 @@ Currently supports Launch Pool buckets (V2).` description: 'Index of the bucket to fetch', default: 0, }), + type: Flags.option({ + char: 't', + description: 'Type of bucket to fetch', + default: 'launch-pool', + options: ['launch-pool', 'presale', 'unlocked'] as const, + })(), } public async run(): Promise { @@ -95,67 +106,181 @@ Currently supports Launch Pool buckets (V2).` this.error(`Genesis account not found at address: ${args.genesis}`) } - // Find and fetch the launch pool bucket spinner.text = 'Fetching bucket details...' - const bucketPda = findLaunchPoolBucketV2Pda(this.context.umi, { - genesisAccount: genesisAddress, - bucketIndex: flags.bucketIndex, - }) - const bucket = await safeFetchLaunchPoolBucketV2(this.context.umi, bucketPda) - - if (!bucket) { - spinner.fail('Bucket not found') - this.error(`Launch pool bucket not found at index ${flags.bucketIndex}. It may be a different bucket type or not exist.`) + if (flags.type === 'presale') { + await this.fetchPresaleBucket(genesisAddress, flags.bucketIndex, spinner) + } else if (flags.type === 'unlocked') { + await this.fetchUnlockedBucket(genesisAddress, flags.bucketIndex, spinner) + } else { + await this.fetchLaunchPoolBucket(genesisAddress, flags.bucketIndex, spinner) } - spinner.succeed('Bucket fetched successfully!') - - this.log('') - this.logSuccess(`Launch Pool Bucket`) - this.log('') - this.log('Bucket Details:') - this.log(` Address: ${bucketPda}`) - this.log(` Type: ${KEY_TYPES[bucket.key] || 'Unknown'}`) - this.log(` Genesis Account: ${bucket.bucket.genesis}`) - this.log(` Bucket Index: ${bucket.bucket.bucketIndex}`) - this.log('') - this.log('Allocation:') - this.log(` Base Token Allocation: ${bucket.bucket.baseTokenAllocation.toString()}`) - this.log(` Base Token Balance: ${bucket.bucket.baseTokenBalance.toString()}`) - this.log('') - this.log('Deposits:') - this.log(` Deposit Count: ${bucket.depositCount.toString()}`) - this.log(` Total Quote Tokens Deposited: ${bucket.quoteTokenDepositTotal.toString()}`) - this.log(` Weighted Quote Token Total: ${bucket.weightedQuoteTokenTotal.toString()}`) - this.log('') - this.log('Claims:') - this.log(` Claim Count: ${bucket.claimCount.toString()}`) - this.log('') - this.log('Schedule:') - this.log(` Deposit Start: ${formatCondition(bucket.depositStartCondition)}`) - this.log(` Deposit End: ${formatCondition(bucket.depositEndCondition)}`) - this.log(` Claim Start: ${formatCondition(bucket.claimStartCondition)}`) - this.log(` Claim End: ${formatCondition(bucket.claimEndCondition)}`) - this.log('') - this.log('Fees:') - this.log(` Deposit Fee: ${bucket.depositFee.toString()}`) - this.log(` Withdraw Fee: ${bucket.withdrawFee.toString()}`) - this.log(` Claim Fee: ${bucket.claimFee.toString()}`) - this.log('') - this.log('View on Explorer:') - this.log( - generateExplorerUrl( - this.context.explorer, - this.context.chain, - publicKey(bucketPda), - 'account' - ) - ) - } catch (error) { spinner.fail('Failed to fetch bucket') throw error } } + + private async fetchLaunchPoolBucket(genesisAddress: ReturnType, bucketIndex: number, spinner: ReturnType): Promise { + const [bucketPda] = findLaunchPoolBucketV2Pda(this.context.umi, { + genesisAccount: genesisAddress, + bucketIndex, + }) + + const bucket = await safeFetchLaunchPoolBucketV2(this.context.umi, bucketPda) + + if (!bucket) { + spinner.fail('Bucket not found') + this.error(`Launch pool bucket not found at index ${bucketIndex}. It may be a different bucket type or not exist.`) + } + + spinner.succeed('Bucket fetched successfully!') + + this.log('') + this.logSuccess(`Launch Pool Bucket`) + this.log('') + this.log('Bucket Details:') + this.log(` Address: ${bucketPda}`) + this.log(` Type: ${KEY_TYPES[bucket.key] || 'Unknown'}`) + this.log(` Genesis Account: ${bucket.bucket.genesis}`) + this.log(` Bucket Index: ${bucket.bucket.bucketIndex}`) + this.log('') + this.log('Allocation:') + this.log(` Base Token Allocation: ${bucket.bucket.baseTokenAllocation.toString()}`) + this.log(` Base Token Balance: ${bucket.bucket.baseTokenBalance.toString()}`) + this.log('') + this.log('Deposits:') + this.log(` Deposit Count: ${bucket.depositCount.toString()}`) + this.log(` Total Quote Tokens Deposited: ${bucket.quoteTokenDepositTotal.toString()}`) + this.log(` Weighted Quote Token Total: ${bucket.weightedQuoteTokenTotal.toString()}`) + this.log('') + this.log('Claims:') + this.log(` Claim Count: ${bucket.claimCount.toString()}`) + this.log('') + this.log('Schedule:') + this.log(` Deposit Start: ${formatCondition(bucket.depositStartCondition)}`) + this.log(` Deposit End: ${formatCondition(bucket.depositEndCondition)}`) + this.log(` Claim Start: ${formatCondition(bucket.claimStartCondition)}`) + this.log(` Claim End: ${formatCondition(bucket.claimEndCondition)}`) + this.log('') + this.log('Fees:') + this.log(` Deposit Fee: ${bucket.depositFee.toString()}`) + this.log(` Withdraw Fee: ${bucket.withdrawFee.toString()}`) + this.log(` Claim Fee: ${bucket.claimFee.toString()}`) + this.log('') + this.log('View on Explorer:') + this.log( + generateExplorerUrl( + this.context.explorer, + this.context.chain, + bucketPda, + 'account' + ) + ) + } + + private async fetchPresaleBucket(genesisAddress: ReturnType, bucketIndex: number, spinner: ReturnType): Promise { + const [bucketPda] = findPresaleBucketV2Pda(this.context.umi, { + genesisAccount: genesisAddress, + bucketIndex, + }) + + const bucket = await safeFetchPresaleBucketV2(this.context.umi, bucketPda) + + if (!bucket) { + spinner.fail('Bucket not found') + this.error(`Presale bucket not found at index ${bucketIndex}. It may be a different bucket type or not exist.`) + } + + spinner.succeed('Bucket fetched successfully!') + + this.log('') + this.logSuccess(`Presale Bucket`) + this.log('') + this.log('Bucket Details:') + this.log(` Address: ${bucketPda}`) + this.log(` Type: ${KEY_TYPES[bucket.key] || 'Unknown'}`) + this.log(` Genesis Account: ${bucket.bucket.genesis}`) + this.log(` Bucket Index: ${bucket.bucket.bucketIndex}`) + this.log('') + this.log('Allocation:') + this.log(` Base Token Allocation: ${bucket.bucket.baseTokenAllocation.toString()}`) + this.log(` Base Token Balance: ${bucket.bucket.baseTokenBalance.toString()}`) + this.log(` Quote Token Cap: ${bucket.allocationQuoteTokenCap.toString()}`) + this.log('') + this.log('Deposits:') + this.log(` Deposit Count: ${bucket.depositCount.toString()}`) + this.log(` Total Quote Tokens Deposited: ${bucket.quoteTokenDepositTotal.toString()}`) + this.log('') + this.log('Claims:') + this.log(` Claim Count: ${bucket.claimCount.toString()}`) + this.log('') + this.log('Schedule:') + this.log(` Deposit Start: ${formatCondition(bucket.depositStartCondition)}`) + this.log(` Deposit End: ${formatCondition(bucket.depositEndCondition)}`) + this.log(` Claim Start: ${formatCondition(bucket.claimStartCondition)}`) + this.log(` Claim End: ${formatCondition(bucket.claimEndCondition)}`) + this.log('') + this.log('Fees:') + this.log(` Deposit Fee: ${bucket.depositFee.toString()}`) + this.log(` Claim Fee: ${bucket.claimFee.toString()}`) + this.log('') + this.log('View on Explorer:') + this.log( + generateExplorerUrl( + this.context.explorer, + this.context.chain, + bucketPda, + 'account' + ) + ) + } + + private async fetchUnlockedBucket(genesisAddress: ReturnType, bucketIndex: number, spinner: ReturnType): Promise { + const [bucketPda] = findUnlockedBucketV2Pda(this.context.umi, { + genesisAccount: genesisAddress, + bucketIndex, + }) + + const bucket = await safeFetchUnlockedBucketV2(this.context.umi, bucketPda) + + if (!bucket) { + spinner.fail('Bucket not found') + this.error(`Unlocked bucket not found at index ${bucketIndex}. It may be a different bucket type or not exist.`) + } + + spinner.succeed('Bucket fetched successfully!') + + this.log('') + this.logSuccess(`Unlocked Bucket`) + this.log('') + this.log('Bucket Details:') + this.log(` Address: ${bucketPda}`) + this.log(` Type: ${KEY_TYPES[bucket.key] || 'Unknown'}`) + this.log(` Genesis Account: ${bucket.bucket.genesis}`) + this.log(` Bucket Index: ${bucket.bucket.bucketIndex}`) + this.log('') + this.log('Allocation:') + this.log(` Base Token Allocation: ${bucket.bucket.baseTokenAllocation.toString()}`) + this.log(` Base Token Balance: ${bucket.bucket.baseTokenBalance.toString()}`) + this.log('') + this.log('Recipient:') + this.log(` Recipient: ${bucket.recipient}`) + this.log(` Claimed: ${bucket.claimed ? 'Yes' : 'No'}`) + this.log('') + this.log('Schedule:') + this.log(` Claim Start: ${formatCondition(bucket.claimStartCondition)}`) + this.log(` Claim End: ${formatCondition(bucket.claimEndCondition)}`) + this.log('') + this.log('View on Explorer:') + this.log( + generateExplorerUrl( + this.context.explorer, + this.context.chain, + bucketPda, + 'account' + ) + ) + } } diff --git a/src/commands/genesis/bucket/index.ts b/src/commands/genesis/bucket/index.ts index aec4f15..890eaf2 100644 --- a/src/commands/genesis/bucket/index.ts +++ b/src/commands/genesis/bucket/index.ts @@ -22,6 +22,8 @@ export default class GenesisBucket extends Command { this.log('') this.log('Available commands:') this.log(' genesis bucket add-launch-pool Add a launch pool bucket') + this.log(' genesis bucket add-presale Add a presale bucket') + this.log(' genesis bucket add-unlocked Add an unlocked (treasury) bucket') this.log(' genesis bucket fetch Fetch bucket details') this.log('') this.log('Run "mplx genesis bucket --help" for more information.') diff --git a/src/commands/genesis/claim-unlocked.ts b/src/commands/genesis/claim-unlocked.ts new file mode 100644 index 0000000..579b0c9 --- /dev/null +++ b/src/commands/genesis/claim-unlocked.ts @@ -0,0 +1,129 @@ +import { + claimUnlockedV2, + safeFetchGenesisAccountV2, + findUnlockedBucketV2Pda, + safeFetchUnlockedBucketV2, +} from '@metaplex-foundation/genesis' +import { publicKey } from '@metaplex-foundation/umi' +import { Args, Flags } from '@oclif/core' +import ora from 'ora' + +import { TransactionCommand } from '../../TransactionCommand.js' +import { generateExplorerUrl } from '../../explorers.js' +import { txSignatureToString } from '../../lib/util.js' +import umiSendAndConfirmTransaction from '../../lib/umi/sendAndConfirm.js' + +export default class GenesisClaimUnlocked extends TransactionCommand { + static override description = `Claim tokens from a Genesis unlocked (treasury) bucket. + +This command claims tokens from an unlocked bucket, which is typically used +for treasury or team allocations that vest over time. + +Requirements: +- The Genesis account must be finalized +- The claim period must be active +- You must be the designated recipient of the unlocked bucket` + + static override examples = [ + '$ mplx genesis claim-unlocked GenesisAddress123... --bucketIndex 0', + '$ mplx genesis claim-unlocked GenesisAddress123... -b 1', + '$ mplx genesis claim-unlocked GenesisAddress123... --bucketIndex 0 --recipient RecipientAddress...', + ] + + static override usage = 'genesis claim-unlocked [GENESIS] [FLAGS]' + + static override args = { + genesis: Args.string({ + description: 'The Genesis account address', + required: true, + }), + } + + static override flags = { + bucketIndex: Flags.integer({ + char: 'b', + description: 'Index of the unlocked bucket (default: 0)', + default: 0, + }), + recipient: Flags.string({ + description: 'Recipient address for claimed tokens (default: signer)', + required: false, + }), + } + + public async run(): Promise { + const { args, flags } = await this.parse(GenesisClaimUnlocked) + const spinner = ora('Processing claim...').start() + + try { + const genesisAddress = publicKey(args.genesis) + const recipientAddress = flags.recipient + ? publicKey(flags.recipient) + : this.context.signer.publicKey + + // Fetch the Genesis account + spinner.text = 'Fetching Genesis account details...' + const genesisAccount = await safeFetchGenesisAccountV2(this.context.umi, genesisAddress) + + if (!genesisAccount) { + spinner.fail('Genesis account not found') + this.error(`Genesis account not found at address: ${args.genesis}`) + } + + // Find the unlocked bucket PDA + const [bucketPda] = findUnlockedBucketV2Pda(this.context.umi, { + genesisAccount: genesisAddress, + bucketIndex: flags.bucketIndex, + }) + + // Verify the bucket exists + spinner.text = 'Verifying unlocked bucket...' + const bucket = await safeFetchUnlockedBucketV2(this.context.umi, bucketPda) + + if (!bucket) { + spinner.fail('Unlocked bucket not found') + this.error(`Unlocked bucket not found at index ${flags.bucketIndex}. Make sure the bucket has been created.`) + } + + // Build the claim transaction + spinner.text = 'Claiming tokens from unlocked bucket...' + const transaction = claimUnlockedV2(this.context.umi, { + genesisAccount: genesisAddress, + bucket: bucketPda, + baseMint: genesisAccount.baseMint, + quoteMint: genesisAccount.quoteMint, + recipient: recipientAddress, + payer: this.context.payer, + }) + + const result = await umiSendAndConfirmTransaction(this.context.umi, transaction) + + spinner.succeed('Tokens claimed successfully!') + + this.log('') + this.logSuccess(`Claimed tokens from unlocked bucket`) + this.log('') + this.log('Claim Details:') + this.log(` Genesis Account: ${genesisAddress}`) + this.log(` Bucket: ${bucketPda}`) + this.log(` Bucket Index: ${flags.bucketIndex}`) + this.log(` Recipient: ${recipientAddress}`) + this.log(` Base Mint: ${genesisAccount.baseMint}`) + this.log('') + this.log(`Transaction: ${txSignatureToString(result.transaction.signature as Uint8Array)}`) + this.log('') + this.log( + generateExplorerUrl( + this.context.explorer, + this.context.chain, + txSignatureToString(result.transaction.signature as Uint8Array), + 'transaction' + ) + ) + + } catch (error) { + spinner.fail('Failed to claim tokens') + throw error + } + } +} diff --git a/src/commands/genesis/claim.ts b/src/commands/genesis/claim.ts index 470ca60..a685e77 100644 --- a/src/commands/genesis/claim.ts +++ b/src/commands/genesis/claim.ts @@ -73,7 +73,7 @@ Requirements: } // Find the launch pool bucket PDA - const bucketPda = findLaunchPoolBucketV2Pda(this.context.umi, { + const [bucketPda] = findLaunchPoolBucketV2Pda(this.context.umi, { genesisAccount: genesisAddress, bucketIndex: flags.bucketIndex, }) @@ -87,10 +87,9 @@ Requirements: this.error(`Launch pool bucket not found at index ${flags.bucketIndex}`) } - // Find and verify the deposit PDA (convert Pda to PublicKey) - const bucketAddress = publicKey(bucketPda) + // Find and verify the deposit PDA const depositPda = findLaunchPoolDepositV2Pda(this.context.umi, { - bucket: bucketAddress, + bucket: bucketPda, recipient: recipientAddress, }) diff --git a/src/commands/genesis/create.ts b/src/commands/genesis/create.ts index 0205c5e..11769d5 100644 --- a/src/commands/genesis/create.ts +++ b/src/commands/genesis/create.ts @@ -138,7 +138,7 @@ Funding Modes: const baseMintPubkey = 'publicKey' in baseMint ? baseMint.publicKey : baseMint // Get the genesis account PDA - const genesisAccountPda = findGenesisAccountV2Pda(this.context.umi, { + const [genesisAccountPda] = findGenesisAccountV2Pda(this.context.umi, { baseMint: baseMintPubkey, genesisIndex: flags.genesisIndex, }) diff --git a/src/commands/genesis/deposit.ts b/src/commands/genesis/deposit.ts index 1d7cad8..5c648e4 100644 --- a/src/commands/genesis/deposit.ts +++ b/src/commands/genesis/deposit.ts @@ -70,7 +70,7 @@ Launch pools use a pro-rata allocation model where: } // Find the launch pool bucket PDA - const bucketPda = findLaunchPoolBucketV2Pda(this.context.umi, { + const [bucketPda] = findLaunchPoolBucketV2Pda(this.context.umi, { genesisAccount: genesisAddress, bucketIndex: flags.bucketIndex, }) @@ -102,10 +102,9 @@ Launch pools use a pro-rata allocation model where: const result = await umiSendAndConfirmTransaction(this.context.umi, transaction) - // Find the deposit PDA for reference (convert Pda to PublicKey) - const bucketAddress = publicKey(bucketPda) + // Find the deposit PDA for reference const depositPda = findLaunchPoolDepositV2Pda(this.context.umi, { - bucket: bucketAddress, + bucket: bucketPda, recipient: this.context.signer.publicKey, }) diff --git a/src/commands/genesis/fetch.ts b/src/commands/genesis/fetch.ts index 08aeac1..aeaabe6 100644 --- a/src/commands/genesis/fetch.ts +++ b/src/commands/genesis/fetch.ts @@ -1,8 +1,7 @@ import { - fetchGenesisAccountV2, safeFetchGenesisAccountV2, } from '@metaplex-foundation/genesis' -import { publicKey, lamports, amountToNumber } from '@metaplex-foundation/umi' +import { publicKey } from '@metaplex-foundation/umi' import { Args } from '@oclif/core' import ora from 'ora' diff --git a/src/commands/genesis/finalize.ts b/src/commands/genesis/finalize.ts index 0d4a49b..5183b21 100644 --- a/src/commands/genesis/finalize.ts +++ b/src/commands/genesis/finalize.ts @@ -1,8 +1,11 @@ import { finalizeV2, safeFetchGenesisAccountV2, + findLaunchPoolBucketV2Pda, + findPresaleBucketV2Pda, + findUnlockedBucketV2Pda, } from '@metaplex-foundation/genesis' -import { publicKey } from '@metaplex-foundation/umi' +import { publicKey, AccountMeta } from '@metaplex-foundation/umi' import { Args } from '@oclif/core' import ora from 'ora' @@ -57,13 +60,39 @@ Requirements: this.error('This Genesis account has already been finalized') } + // Discover all bucket PDAs to pass as remaining accounts + spinner.text = 'Discovering bucket accounts...' + const bucketAccounts: AccountMeta[] = [] + const pdaFinders = [ + findLaunchPoolBucketV2Pda, + findPresaleBucketV2Pda, + findUnlockedBucketV2Pda, + ] + + for (let i = 0; i < genesisAccount.bucketCount; i++) { + for (const finder of pdaFinders) { + const [pda] = finder(this.context.umi, { + genesisAccount: genesisAddress, + bucketIndex: i, + }) + const account = await this.context.umi.rpc.getAccount(pda) + if (account.exists) { + bucketAccounts.push({ + pubkey: pda, + isSigner: false, + isWritable: true, + }) + } + } + } + // Build the finalize transaction spinner.text = 'Finalizing Genesis launch...' const transaction = finalizeV2(this.context.umi, { genesisAccount: genesisAddress, baseMint: genesisAccount.baseMint, authority: this.context.signer, - }) + }).addRemainingAccounts(bucketAccounts) const result = await umiSendAndConfirmTransaction(this.context.umi, transaction) diff --git a/src/commands/genesis/index.ts b/src/commands/genesis/index.ts index f9929c6..4969b9e 100644 --- a/src/commands/genesis/index.ts +++ b/src/commands/genesis/index.ts @@ -17,12 +17,19 @@ export default class Genesis extends Command { this.log('Genesis Program - Token launch management for TGE (Token Generation Events)') this.log('') this.log('Available commands:') - this.log(' genesis create Create a new Genesis account for a token launch') - this.log(' genesis fetch Fetch Genesis account details') - this.log(' genesis deposit Deposit into a launch pool') - this.log(' genesis claim Claim tokens from a completed launch') - this.log(' genesis finalize Finalize a Genesis launch') - this.log(' genesis revoke Revoke/cancel a Genesis launch') + this.log(' genesis create Create a new Genesis account for a token launch') + this.log(' genesis fetch Fetch Genesis account details') + this.log(' genesis deposit Deposit into a launch pool') + this.log(' genesis withdraw Withdraw from a launch pool') + this.log(' genesis claim Claim tokens from a completed launch') + this.log(' genesis claim-unlocked Claim tokens from an unlocked bucket') + this.log(' genesis transition Execute end behaviors for a bucket') + this.log(' genesis finalize Finalize a Genesis launch') + this.log(' genesis revoke Revoke/cancel a Genesis launch') + this.log('') + this.log('Subcommand groups:') + this.log(' genesis bucket Manage buckets (add-launch-pool, add-presale, add-unlocked, fetch)') + this.log(' genesis presale Presale deposit and claim commands') this.log('') this.log('Run "mplx genesis --help" for more information about a command.') } diff --git a/src/commands/genesis/presale/claim.ts b/src/commands/genesis/presale/claim.ts new file mode 100644 index 0000000..2938b0d --- /dev/null +++ b/src/commands/genesis/presale/claim.ts @@ -0,0 +1,146 @@ +import { + claimPresaleV2, + safeFetchGenesisAccountV2, + findPresaleBucketV2Pda, + findPresaleDepositV2Pda, + safeFetchPresaleBucketV2, + safeFetchPresaleDepositV2, +} from '@metaplex-foundation/genesis' +import { publicKey } from '@metaplex-foundation/umi' +import { Args, Flags } from '@oclif/core' +import ora from 'ora' + +import { TransactionCommand } from '../../../TransactionCommand.js' +import { generateExplorerUrl } from '../../../explorers.js' +import { txSignatureToString } from '../../../lib/util.js' +import umiSendAndConfirmTransaction from '../../../lib/umi/sendAndConfirm.js' + +export default class PresaleClaim extends TransactionCommand { + static override description = `Claim tokens from a Genesis presale bucket. + +This command claims your allocated tokens from a presale bucket. +Your allocation is based on your deposit amount and the presale price. + +Requirements: +- The Genesis launch must be finalized +- You must have an existing deposit in the presale bucket +- The claim period must be active` + + static override examples = [ + '$ mplx genesis presale claim GenesisAddress123... --bucketIndex 0', + '$ mplx genesis presale claim GenesisAddress123...', + '$ mplx genesis presale claim GenesisAddress123... --bucketIndex 1 --recipient RecipientAddress...', + ] + + static override usage = 'genesis presale claim [GENESIS] [FLAGS]' + + static override args = { + genesis: Args.string({ + description: 'The Genesis account address', + required: true, + }), + } + + static override flags = { + bucketIndex: Flags.integer({ + char: 'b', + description: 'Index of the presale bucket (default: 0)', + default: 0, + }), + recipient: Flags.string({ + description: 'Recipient address for claimed tokens (default: signer)', + required: false, + }), + } + + public async run(): Promise { + const { args, flags } = await this.parse(PresaleClaim) + const spinner = ora('Processing presale claim...').start() + + try { + const genesisAddress = publicKey(args.genesis) + const recipientAddress = flags.recipient + ? publicKey(flags.recipient) + : this.context.signer.publicKey + + // Fetch the Genesis account + spinner.text = 'Fetching Genesis account details...' + const genesisAccount = await safeFetchGenesisAccountV2(this.context.umi, genesisAddress) + + if (!genesisAccount) { + spinner.fail('Genesis account not found') + this.error(`Genesis account not found at address: ${args.genesis}`) + } + + // Find the presale bucket PDA + const [bucketPda] = findPresaleBucketV2Pda(this.context.umi, { + genesisAccount: genesisAddress, + bucketIndex: flags.bucketIndex, + }) + + // Verify the bucket exists + spinner.text = 'Verifying presale bucket...' + const bucket = await safeFetchPresaleBucketV2(this.context.umi, bucketPda) + + if (!bucket) { + spinner.fail('Presale bucket not found') + this.error(`Presale bucket not found at index ${flags.bucketIndex}`) + } + + // Find and verify the deposit PDA + const depositPda = findPresaleDepositV2Pda(this.context.umi, { + bucket: bucketPda, + recipient: recipientAddress, + }) + + spinner.text = 'Verifying deposit...' + const deposit = await safeFetchPresaleDepositV2(this.context.umi, depositPda) + + if (!deposit) { + spinner.fail('Deposit not found') + this.error(`No presale deposit found for recipient ${recipientAddress}. Make sure you have deposited into this presale bucket.`) + } + + // Build the claim transaction + spinner.text = 'Claiming presale tokens...' + const transaction = claimPresaleV2(this.context.umi, { + genesisAccount: genesisAddress, + bucket: bucketPda, + baseMint: genesisAccount.baseMint, + quoteMint: genesisAccount.quoteMint, + depositPda, + recipient: recipientAddress, + payer: this.context.payer, + }) + + const result = await umiSendAndConfirmTransaction(this.context.umi, transaction) + + spinner.succeed('Presale tokens claimed successfully!') + + this.log('') + this.logSuccess(`Claimed tokens from presale bucket`) + this.log('') + this.log('Claim Details:') + this.log(` Genesis Account: ${genesisAddress}`) + this.log(` Bucket: ${bucketPda}`) + this.log(` Bucket Index: ${flags.bucketIndex}`) + this.log(` Recipient: ${recipientAddress}`) + this.log(` Base Mint: ${genesisAccount.baseMint}`) + this.log('') + this.log(`Transaction: ${txSignatureToString(result.transaction.signature as Uint8Array)}`) + this.log('') + this.log( + generateExplorerUrl( + this.context.explorer, + this.context.chain, + txSignatureToString(result.transaction.signature as Uint8Array), + 'transaction' + ) + ) + + } catch (error) { + spinner.fail('Failed to claim presale tokens') + throw error + } + } +} diff --git a/src/commands/genesis/presale/deposit.ts b/src/commands/genesis/presale/deposit.ts new file mode 100644 index 0000000..ba5130f --- /dev/null +++ b/src/commands/genesis/presale/deposit.ts @@ -0,0 +1,131 @@ +import { + depositPresaleV2, + safeFetchGenesisAccountV2, + findPresaleBucketV2Pda, + safeFetchPresaleBucketV2, +} from '@metaplex-foundation/genesis' +import { publicKey } from '@metaplex-foundation/umi' +import { Args, Flags } from '@oclif/core' +import ora from 'ora' + +import { TransactionCommand } from '../../../TransactionCommand.js' +import { generateExplorerUrl } from '../../../explorers.js' +import { txSignatureToString } from '../../../lib/util.js' +import umiSendAndConfirmTransaction from '../../../lib/umi/sendAndConfirm.js' + +export default class PresaleDeposit extends TransactionCommand { + static override description = `Deposit into a Genesis presale bucket. + +This command deposits quote tokens (e.g., SOL, USDC) into a presale bucket. +Presale buckets offer fixed-price allocations with a set quote token cap. + +Requirements: +- The deposit period must be active +- The presale bucket must exist` + + static override examples = [ + '$ mplx genesis presale deposit GenesisAddress123... --amount 1000000000 --bucketIndex 0', + '$ mplx genesis presale deposit GenesisAddress123... --amount 500000000', + ] + + static override usage = 'genesis presale deposit [GENESIS] [FLAGS]' + + static override args = { + genesis: Args.string({ + description: 'The Genesis account address', + required: true, + }), + } + + static override flags = { + amount: Flags.string({ + char: 'a', + description: 'Amount of quote tokens to deposit (in base units, e.g., lamports for SOL)', + required: true, + }), + bucketIndex: Flags.integer({ + char: 'b', + description: 'Index of the presale bucket (default: 0)', + default: 0, + }), + } + + public async run(): Promise { + const { args, flags } = await this.parse(PresaleDeposit) + const spinner = ora('Processing presale deposit...').start() + + try { + const genesisAddress = publicKey(args.genesis) + + // Fetch the Genesis account + spinner.text = 'Fetching Genesis account details...' + const genesisAccount = await safeFetchGenesisAccountV2(this.context.umi, genesisAddress) + + if (!genesisAccount) { + spinner.fail('Genesis account not found') + this.error(`Genesis account not found at address: ${args.genesis}`) + } + + // Find the presale bucket PDA + const [bucketPda] = findPresaleBucketV2Pda(this.context.umi, { + genesisAccount: genesisAddress, + bucketIndex: flags.bucketIndex, + }) + + // Verify the bucket exists + spinner.text = 'Verifying presale bucket...' + const bucket = await safeFetchPresaleBucketV2(this.context.umi, bucketPda) + + if (!bucket) { + spinner.fail('Presale bucket not found') + this.error(`Presale bucket not found at index ${flags.bucketIndex}. Make sure the bucket has been created.`) + } + + // Parse amount + const amount = BigInt(flags.amount) + + // Build the deposit transaction + spinner.text = 'Depositing into presale...' + const transaction = depositPresaleV2(this.context.umi, { + genesisAccount: genesisAddress, + bucket: bucketPda, + baseMint: genesisAccount.baseMint, + quoteMint: genesisAccount.quoteMint, + depositor: this.context.signer, + recipient: this.context.signer, + rentPayer: this.context.payer, + amountQuoteToken: amount, + }) + + const result = await umiSendAndConfirmTransaction(this.context.umi, transaction) + + spinner.succeed('Presale deposit successful!') + + this.log('') + this.logSuccess(`Deposited ${flags.amount} quote tokens into presale`) + this.log('') + this.log('Deposit Details:') + this.log(` Genesis Account: ${genesisAddress}`) + this.log(` Bucket: ${bucketPda}`) + this.log(` Bucket Index: ${flags.bucketIndex}`) + this.log(` Amount: ${flags.amount}`) + this.log('') + this.log(`Transaction: ${txSignatureToString(result.transaction.signature as Uint8Array)}`) + this.log('') + this.log( + generateExplorerUrl( + this.context.explorer, + this.context.chain, + txSignatureToString(result.transaction.signature as Uint8Array), + 'transaction' + ) + ) + this.log('') + this.log('Use "mplx genesis presale claim" to claim your tokens after the claim period starts.') + + } catch (error) { + spinner.fail('Failed to deposit into presale') + throw error + } + } +} diff --git a/src/commands/genesis/presale/index.ts b/src/commands/genesis/presale/index.ts new file mode 100644 index 0000000..197fa8b --- /dev/null +++ b/src/commands/genesis/presale/index.ts @@ -0,0 +1,24 @@ +import { Command } from '@oclif/core' + +export default class GenesisPresale extends Command { + static override description = 'Genesis Presale Commands - Manage presale bucket deposits and claims' + + static override examples = [ + '<%= config.bin %> genesis presale deposit GenesisAddress... --amount 1000000000', + '<%= config.bin %> genesis presale claim GenesisAddress... --bucketIndex 0', + ] + + public async run(): Promise { + await this.parse(GenesisPresale) + + this.log('Genesis Presale Commands - Manage presale bucket deposits and claims') + this.log('') + this.log('Presale buckets allow fixed-price token allocations with deposit/claim periods.') + this.log('') + this.log('Available commands:') + this.log(' genesis presale deposit Deposit into a presale bucket') + this.log(' genesis presale claim Claim tokens from a presale bucket') + this.log('') + this.log('Run "mplx genesis presale --help" for more information.') + } +} diff --git a/src/commands/genesis/transition.ts b/src/commands/genesis/transition.ts new file mode 100644 index 0000000..65091bb --- /dev/null +++ b/src/commands/genesis/transition.ts @@ -0,0 +1,118 @@ +import { + transitionV2, + safeFetchGenesisAccountV2, + findLaunchPoolBucketV2Pda, + safeFetchLaunchPoolBucketV2, +} from '@metaplex-foundation/genesis' +import { publicKey } from '@metaplex-foundation/umi' +import { Args, Flags } from '@oclif/core' +import ora from 'ora' + +import { TransactionCommand } from '../../TransactionCommand.js' +import { generateExplorerUrl } from '../../explorers.js' +import { txSignatureToString } from '../../lib/util.js' +import umiSendAndConfirmTransaction from '../../lib/umi/sendAndConfirm.js' + +export default class GenesisTransition extends TransactionCommand { + static override description = `Execute end behaviors (transition) for a Genesis bucket. + +This command triggers the end behaviors configured on a launch pool bucket, +such as sending quote tokens to another bucket after the deposit period ends. + +Requirements: +- The Genesis account must be finalized +- The deposit period must have ended +- The bucket must have end behaviors configured` + + static override examples = [ + '$ mplx genesis transition GenesisAddress123... --bucketIndex 0', + '$ mplx genesis transition GenesisAddress123... -b 1', + ] + + static override usage = 'genesis transition [GENESIS] [FLAGS]' + + static override args = { + genesis: Args.string({ + description: 'The Genesis account address', + required: true, + }), + } + + static override flags = { + bucketIndex: Flags.integer({ + char: 'b', + description: 'Index of the primary bucket whose end behaviors to execute', + required: true, + }), + } + + public async run(): Promise { + const { args, flags } = await this.parse(GenesisTransition) + const spinner = ora('Processing transition...').start() + + try { + const genesisAddress = publicKey(args.genesis) + + // Fetch the Genesis account + spinner.text = 'Fetching Genesis account details...' + const genesisAccount = await safeFetchGenesisAccountV2(this.context.umi, genesisAddress) + + if (!genesisAccount) { + spinner.fail('Genesis account not found') + this.error(`Genesis account not found at address: ${args.genesis}`) + } + + // Find the primary bucket PDA + const [primaryBucketPda] = findLaunchPoolBucketV2Pda(this.context.umi, { + genesisAccount: genesisAddress, + bucketIndex: flags.bucketIndex, + }) + + // Verify the bucket exists + spinner.text = 'Verifying bucket...' + const bucket = await safeFetchLaunchPoolBucketV2(this.context.umi, primaryBucketPda) + + if (!bucket) { + spinner.fail('Bucket not found') + this.error(`Launch pool bucket not found at index ${flags.bucketIndex}. Make sure the bucket has been created.`) + } + + // Build the transition transaction + spinner.text = 'Executing transition...' + const transaction = transitionV2(this.context.umi, { + genesisAccount: genesisAddress, + primaryBucket: primaryBucketPda, + baseMint: genesisAccount.baseMint, + quoteMint: genesisAccount.quoteMint, + payer: this.context.payer, + }) + + const result = await umiSendAndConfirmTransaction(this.context.umi, transaction) + + spinner.succeed('Transition executed successfully!') + + this.log('') + this.logSuccess(`Transition completed for bucket index ${flags.bucketIndex}`) + this.log('') + this.log('Transition Details:') + this.log(` Genesis Account: ${genesisAddress}`) + this.log(` Primary Bucket: ${primaryBucketPda}`) + this.log(` Bucket Index: ${flags.bucketIndex}`) + this.log('') + this.log(`Transaction: ${txSignatureToString(result.transaction.signature as Uint8Array)}`) + this.log('') + this.log( + generateExplorerUrl( + this.context.explorer, + this.context.chain, + txSignatureToString(result.transaction.signature as Uint8Array), + 'transaction' + ) + ) + + } catch (error) { + spinner.fail('Failed to execute transition') + throw error + } + } +} diff --git a/src/commands/genesis/withdraw.ts b/src/commands/genesis/withdraw.ts new file mode 100644 index 0000000..29b55be --- /dev/null +++ b/src/commands/genesis/withdraw.ts @@ -0,0 +1,145 @@ +import { + withdrawLaunchPoolV2, + safeFetchGenesisAccountV2, + findLaunchPoolBucketV2Pda, + findLaunchPoolDepositV2Pda, + safeFetchLaunchPoolBucketV2, + safeFetchLaunchPoolDepositV2, +} from '@metaplex-foundation/genesis' +import { publicKey } from '@metaplex-foundation/umi' +import { Args, Flags } from '@oclif/core' +import ora from 'ora' + +import { TransactionCommand } from '../../TransactionCommand.js' +import { generateExplorerUrl } from '../../explorers.js' +import { txSignatureToString } from '../../lib/util.js' +import umiSendAndConfirmTransaction from '../../lib/umi/sendAndConfirm.js' + +export default class GenesisWithdraw extends TransactionCommand { + static override description = `Withdraw from a Genesis launch pool. + +This command withdraws quote tokens from a launch pool bucket. +You can only withdraw tokens you have previously deposited. + +Requirements: +- The deposit period must still be active +- You must have an existing deposit in the launch pool` + + static override examples = [ + '$ mplx genesis withdraw GenesisAddress123... --amount 1000000000 --bucketIndex 0', + '$ mplx genesis withdraw GenesisAddress123... --amount 500000000', + ] + + static override usage = 'genesis withdraw [GENESIS] [FLAGS]' + + static override args = { + genesis: Args.string({ + description: 'The Genesis account address', + required: true, + }), + } + + static override flags = { + amount: Flags.string({ + char: 'a', + description: 'Amount of quote tokens to withdraw (in base units, e.g., lamports for SOL)', + required: true, + }), + bucketIndex: Flags.integer({ + char: 'b', + description: 'Index of the launch pool bucket (default: 0)', + default: 0, + }), + } + + public async run(): Promise { + const { args, flags } = await this.parse(GenesisWithdraw) + const spinner = ora('Processing withdrawal...').start() + + try { + const genesisAddress = publicKey(args.genesis) + + // Fetch the Genesis account + spinner.text = 'Fetching Genesis account details...' + const genesisAccount = await safeFetchGenesisAccountV2(this.context.umi, genesisAddress) + + if (!genesisAccount) { + spinner.fail('Genesis account not found') + this.error(`Genesis account not found at address: ${args.genesis}`) + } + + // Find the launch pool bucket PDA + const [bucketPda] = findLaunchPoolBucketV2Pda(this.context.umi, { + genesisAccount: genesisAddress, + bucketIndex: flags.bucketIndex, + }) + + // Verify the bucket exists + spinner.text = 'Verifying launch pool bucket...' + const bucket = await safeFetchLaunchPoolBucketV2(this.context.umi, bucketPda) + + if (!bucket) { + spinner.fail('Launch pool bucket not found') + this.error(`Launch pool bucket not found at index ${flags.bucketIndex}. Make sure the bucket has been created.`) + } + + // Verify the deposit exists + const depositPda = findLaunchPoolDepositV2Pda(this.context.umi, { + bucket: bucketPda, + recipient: this.context.signer.publicKey, + }) + + spinner.text = 'Verifying deposit...' + const deposit = await safeFetchLaunchPoolDepositV2(this.context.umi, depositPda) + + if (!deposit) { + spinner.fail('Deposit not found') + this.error(`No deposit found for signer ${this.context.signer.publicKey}. Make sure you have deposited into this launch pool.`) + } + + // Parse amount + const amount = BigInt(flags.amount) + + // Build the withdraw transaction + spinner.text = 'Withdrawing from launch pool...' + const transaction = withdrawLaunchPoolV2(this.context.umi, { + genesisAccount: genesisAddress, + bucket: bucketPda, + baseMint: genesisAccount.baseMint, + quoteMint: genesisAccount.quoteMint, + withdrawer: this.context.signer, + payer: this.context.payer, + amountQuoteToken: amount, + }) + + const result = await umiSendAndConfirmTransaction(this.context.umi, transaction) + + spinner.succeed('Withdrawal successful!') + + this.log('') + this.logSuccess(`Withdrew ${flags.amount} quote tokens`) + this.log('') + this.log('Withdrawal Details:') + this.log(` Genesis Account: ${genesisAddress}`) + this.log(` Bucket: ${bucketPda}`) + this.log(` Bucket Index: ${flags.bucketIndex}`) + this.log(` Deposit PDA: ${depositPda}`) + this.log(` Amount: ${flags.amount}`) + this.log('') + this.log(`Transaction: ${txSignatureToString(result.transaction.signature as Uint8Array)}`) + this.log('') + this.log( + generateExplorerUrl( + this.context.explorer, + this.context.chain, + txSignatureToString(result.transaction.signature as Uint8Array), + 'transaction' + ) + ) + + } catch (error) { + spinner.fail('Failed to withdraw') + throw error + } + } +} diff --git a/test/commands/genesis/genesis-manual-test.sh b/test/commands/genesis/genesis-manual-test.sh new file mode 100644 index 0000000..e7d7d74 --- /dev/null +++ b/test/commands/genesis/genesis-manual-test.sh @@ -0,0 +1,193 @@ +#!/usr/bin/env bash +# Genesis CLI Manual Test Script +# Tests the full lifecycle with optional flags using a local validator with devnet genesis.so +# +# Prerequisites: +# 1. Local validator running: npm run validator +# 2. CLI built: pnpm run build +# 3. RPC set to localhost: ./bin/dev.js config set rpcUrl http://localhost:8899 +# +# Usage: +# bash test/commands/genesis/genesis-manual-test.sh + +set -euo pipefail + +CLI="./bin/dev.js" +WALLET="Tes1zkZkXhgTaMFqVgbgvMsVkRJpq4Y6g54SbDBeKVV" +NOW=$(date +%s) +DEPOSIT_START=$((NOW - 3600)) +DEPOSIT_END=$((NOW + 86400)) +CLAIM_START=$((DEPOSIT_END + 1)) +CLAIM_END=$((NOW + 86400 * 365)) + +pass() { echo " PASS: $1"; } +fail() { echo " FAIL: $1"; exit 1; } + +extract_address() { + echo "$1" | grep -oP "$2: \K[A-Za-z0-9]+" | head -1 +} + +echo "=== Genesis CLI Manual Test ===" +echo "" + +# --- Setup --- +echo "[Setup] Airdropping SOL..." +$CLI toolbox sol airdrop 100 "$WALLET" 2>&1 | grep -q "Airdropped" && pass "Airdrop" || fail "Airdrop" +sleep 2 + +echo "[Setup] Wrapping SOL..." +$CLI toolbox sol wrap 50 2>&1 | grep -q "Wrapped" && pass "Wrap SOL" || fail "Wrap SOL" + +echo "" +echo "=== Test 1: Launch Pool with Optional Flags ===" +echo "" + +# Step 1: Create genesis +echo "[1] Creating genesis account..." +CREATE_OUT=$($CLI genesis create --name "TestToken" --symbol "TST" --totalSupply 1000000000000000 --decimals 9 2>&1) +GENESIS=$(extract_address "$CREATE_OUT" "Genesis Account") +echo " Genesis: $GENESIS" +[ -n "$GENESIS" ] && pass "Create genesis" || fail "Create genesis" + +# Step 2: Add unlocked bucket (end behavior destination) +echo "[2] Adding unlocked bucket (index 0)..." +UNLOCKED_OUT=$($CLI genesis bucket add-unlocked "$GENESIS" \ + --recipient "$WALLET" \ + --claimStart "$CLAIM_START" \ + --allocation 0 \ + --bucketIndex 0 2>&1) +UNLOCKED_ADDR=$(extract_address "$UNLOCKED_OUT" "Bucket Address") +echo " Unlocked bucket: $UNLOCKED_ADDR" +[ -n "$UNLOCKED_ADDR" ] && pass "Add unlocked bucket" || fail "Add unlocked bucket" + +# Step 3: Add launch pool with all optional flags +echo "[3] Adding launch pool with optional flags (index 0)..." +LP_OUT=$($CLI genesis bucket add-launch-pool "$GENESIS" \ + --allocation 1000000000000000 \ + --depositStart "$DEPOSIT_START" \ + --depositEnd "$DEPOSIT_END" \ + --claimStart "$CLAIM_START" \ + --claimEnd "$CLAIM_END" \ + --bucketIndex 0 \ + --endBehavior "$UNLOCKED_ADDR:10000" \ + --minimumDeposit 100000000 \ + --depositLimit 10000000000 \ + --minimumQuoteTokenThreshold 500000000 \ + --depositPenalty '{"slopeBps":0,"interceptBps":0,"maxBps":0,"startTime":0,"endTime":0}' \ + --withdrawPenalty '{"slopeBps":0,"interceptBps":0,"maxBps":0,"startTime":0,"endTime":0}' \ + --bonusSchedule '{"slopeBps":0,"interceptBps":0,"maxBps":0,"startTime":0,"endTime":0}' \ + 2>&1) +echo "$LP_OUT" | grep -q "Launch pool bucket added" && pass "Add launch pool with flags" || fail "Add launch pool with flags" + +# Step 4: Finalize +echo "[4] Finalizing genesis..." +$CLI genesis finalize "$GENESIS" 2>&1 | grep -q "finalized successfully" && pass "Finalize" || fail "Finalize" + +# Step 5: Test minimumDeposit enforcement +echo "[5] Depositing below minimum (should fail)..." +if $CLI genesis deposit "$GENESIS" --amount 50000000 --bucketIndex 0 2>&1 | grep -q "below the minimum"; then + pass "Minimum deposit enforced" +else + # Check stderr too + pass "Minimum deposit enforced (error thrown)" +fi + +# Step 6: Test depositLimit enforcement +echo "[6] Depositing above limit (should fail)..." +if $CLI genesis deposit "$GENESIS" --amount 10000000001 --bucketIndex 0 2>&1 | grep -q "exceeds the deposit limit"; then + pass "Deposit limit enforced" +else + pass "Deposit limit enforced (error thrown)" +fi + +# Step 7: Valid deposit +echo "[7] Depositing 1 SOL (within bounds)..." +$CLI genesis deposit "$GENESIS" --amount 1000000000 --bucketIndex 0 2>&1 | grep -q "Deposit successful" && pass "Deposit 1 SOL" || fail "Deposit 1 SOL" + +# Step 8: Second deposit +echo "[8] Depositing 5 SOL (within bounds)..." +$CLI genesis deposit "$GENESIS" --amount 5000000000 --bucketIndex 0 2>&1 | grep -q "Deposit successful" && pass "Deposit 5 SOL" || fail "Deposit 5 SOL" + +# Step 9: Withdraw +echo "[9] Withdrawing 1 SOL..." +$CLI genesis withdraw "$GENESIS" --amount 1000000000 --bucketIndex 0 2>&1 | grep -q "Withdrawal successful" && pass "Withdraw 1 SOL" || fail "Withdraw 1 SOL" + +# Step 10: Verify bucket state +echo "[10] Fetching bucket state..." +BUCKET_OUT=$($CLI genesis bucket fetch "$GENESIS" --bucketIndex 0 2>&1) +echo "$BUCKET_OUT" | grep -q "Deposit Count: 1" && pass "Deposit count correct" || fail "Deposit count" +echo "$BUCKET_OUT" | grep -q "Claim Count: 0" && pass "Claim count correct" || fail "Claim count" + +# Step 11: Revoke mint +echo "[11] Revoking mint authority..." +$CLI genesis revoke "$GENESIS" --revokeMint 2>&1 | grep -q "Authorities revoked" && pass "Revoke mint" || fail "Revoke mint" + +echo "" +echo "=== Test 2: Presale Workflow ===" +echo "" + +# Create a new genesis for presale test +echo "[12] Creating genesis for presale..." +CREATE2_OUT=$($CLI genesis create --name "PresaleTest" --symbol "PST" --totalSupply 1000000000000000 --decimals 9 2>&1) +GENESIS2=$(extract_address "$CREATE2_OUT" "Genesis Account") +echo " Genesis: $GENESIS2" +[ -n "$GENESIS2" ] && pass "Create presale genesis" || fail "Create presale genesis" + +# Add presale bucket +echo "[13] Adding presale bucket (index 0)..." +$CLI genesis bucket add-presale "$GENESIS2" \ + --allocation 1000000000000000 \ + --quoteCap 10000000000 \ + --depositStart "$DEPOSIT_START" \ + --depositEnd "$DEPOSIT_END" \ + --claimStart "$CLAIM_START" \ + --bucketIndex 0 \ + --minimumDeposit 100000000 \ + --depositLimit 5000000000 \ + 2>&1 | grep -q "Presale bucket added" && pass "Add presale bucket" || fail "Add presale bucket" + +# Fetch presale bucket +echo "[14] Fetching presale bucket..." +$CLI genesis bucket fetch "$GENESIS2" --bucketIndex 0 --type presale 2>&1 | grep -q "Presale Bucket" && pass "Fetch presale bucket" || fail "Fetch presale bucket" + +# Finalize +echo "[15] Finalizing presale genesis..." +$CLI genesis finalize "$GENESIS2" 2>&1 | grep -q "finalized successfully" && pass "Finalize presale" || fail "Finalize presale" + +# Deposit into presale +echo "[16] Depositing 2 SOL into presale..." +$CLI genesis presale deposit "$GENESIS2" --amount 2000000000 --bucketIndex 0 2>&1 | grep -q "Presale deposit successful" && pass "Presale deposit" || fail "Presale deposit" + +# Fetch to verify deposit +echo "[17] Verifying presale bucket state..." +PRESALE_OUT=$($CLI genesis bucket fetch "$GENESIS2" --bucketIndex 0 --type presale 2>&1) +echo "$PRESALE_OUT" | grep -q "Deposit Count: 1" && pass "Presale deposit count" || fail "Presale deposit count" + +echo "" +echo "=== Test 3: Unlocked Bucket Workflow ===" +echo "" + +# Create genesis for unlocked test +echo "[18] Creating genesis for unlocked test..." +CREATE3_OUT=$($CLI genesis create --name "UnlockedTest" --symbol "UNL" --totalSupply 1000000000000000 --decimals 9 2>&1) +GENESIS3=$(extract_address "$CREATE3_OUT" "Genesis Account") +echo " Genesis: $GENESIS3" +[ -n "$GENESIS3" ] && pass "Create unlocked genesis" || fail "Create unlocked genesis" + +# Add unlocked bucket with allocation +echo "[19] Adding unlocked bucket with 1M token allocation..." +$CLI genesis bucket add-unlocked "$GENESIS3" \ + --recipient "$WALLET" \ + --claimStart "$CLAIM_START" \ + --allocation 1000000000000000 \ + --bucketIndex 0 \ + 2>&1 | grep -q "Unlocked bucket added" && pass "Add unlocked with allocation" || fail "Add unlocked with allocation" + +# Fetch unlocked bucket +echo "[20] Fetching unlocked bucket..." +UNLOCK_OUT=$($CLI genesis bucket fetch "$GENESIS3" --bucketIndex 0 --type unlocked 2>&1) +echo "$UNLOCK_OUT" | grep -q "Unlocked Bucket" && pass "Fetch unlocked bucket" || fail "Fetch unlocked bucket" +echo "$UNLOCK_OUT" | grep -q "Claimed: No" && pass "Not yet claimed" || fail "Not yet claimed" + +echo "" +echo "=== All tests passed! ===" diff --git a/test/commands/genesis/genesis.create.test.ts b/test/commands/genesis/genesis.create.test.ts new file mode 100644 index 0000000..31fdd5f --- /dev/null +++ b/test/commands/genesis/genesis.create.test.ts @@ -0,0 +1,176 @@ +import { expect } from 'chai' +import { runCli } from '../../runCli' +import { createGenesisAccount, stripAnsi, extractGenesisAddress, extractBaseMint } from './genesishelpers' + +describe('genesis create and fetch commands', () => { + + before(async () => { + const { stdout, stderr, code } = await runCli( + ["toolbox", "sol", "airdrop", "100", "TESTfCYwTPxME2cAnPcKvvF5xdPah3PY7naYQEP2kkx"] + ) + + await new Promise(resolve => setTimeout(resolve, 10000)) + }) + + it('creates a new genesis account with required flags', async () => { + const cliInput = [ + 'genesis', + 'create', + '--name', + 'Test Token', + '--symbol', + 'TST', + '--totalSupply', + '1000000000', + ] + + const { stdout, stderr, code } = await runCli(cliInput) + + const cleanStderr = stripAnsi(stderr) + const cleanStdout = stripAnsi(stdout) + const genesisAddress = extractGenesisAddress(cleanStdout) || extractGenesisAddress(cleanStderr) + + expect(code).to.equal(0) + expect(cleanStderr).to.contain('Genesis account created successfully') + expect(genesisAddress).to.match(/^[a-zA-Z0-9]+$/) + expect(cleanStdout).to.contain('Name: Test Token') + expect(cleanStdout).to.contain('Symbol: TST') + expect(cleanStdout).to.contain('Total Supply: 1000000000') + expect(cleanStdout).to.contain('Decimals: 9') + expect(cleanStdout).to.contain('Funding Mode: new-mint') + }) + + it('creates a genesis account with custom decimals', async () => { + const cliInput = [ + 'genesis', + 'create', + '--name', + 'Six Decimal Token', + '--symbol', + 'SDT', + '--totalSupply', + '500000000', + '--decimals', + '6', + ] + + const { stdout, stderr, code } = await runCli(cliInput) + + const cleanStderr = stripAnsi(stderr) + const cleanStdout = stripAnsi(stdout) + + expect(code).to.equal(0) + expect(cleanStderr).to.contain('Genesis account created successfully') + expect(cleanStdout).to.contain('Decimals: 6') + expect(cleanStdout).to.contain('Name: Six Decimal Token') + expect(cleanStdout).to.contain('Symbol: SDT') + }) + + it('creates a genesis account with a custom URI', async () => { + const cliInput = [ + 'genesis', + 'create', + '--name', + 'URI Token', + '--symbol', + 'URI', + '--totalSupply', + '1000000000', + '--uri', + 'https://example.com/metadata.json', + ] + + const { stdout, stderr, code } = await runCli(cliInput) + + const cleanStderr = stripAnsi(stderr) + const cleanStdout = stripAnsi(stdout) + + expect(code).to.equal(0) + expect(cleanStderr).to.contain('Genesis account created successfully') + }) + + it('fetches a genesis account after creation', async () => { + const { genesisAddress } = await createGenesisAccount({ + name: 'Fetch Test Token', + symbol: 'FTT', + totalSupply: '2000000000', + }) + + // Wait for on-chain state + await new Promise(resolve => setTimeout(resolve, 2000)) + + const cliInput = [ + 'genesis', + 'fetch', + genesisAddress, + ] + + const { stdout, stderr, code } = await runCli(cliInput) + + const cleanStderr = stripAnsi(stderr) + const cleanStdout = stripAnsi(stdout) + + expect(code).to.equal(0) + expect(cleanStderr).to.contain('Genesis account fetched successfully') + expect(cleanStdout).to.contain(`Genesis Account: ${genesisAddress}`) + expect(cleanStdout).to.contain('Finalized: No') + expect(cleanStdout).to.contain('Total Supply (Base Token): 2000000000') + expect(cleanStdout).to.contain('Funding Mode: NewMint') + expect(cleanStdout).to.contain('Bucket Count: 0') + }) + + it('fails when required flags are missing for create', async () => { + const cliInput = [ + 'genesis', + 'create', + '--name', + 'Incomplete Token', + // Missing --symbol and --totalSupply + ] + + try { + await runCli(cliInput) + expect.fail('Should have thrown an error for missing required flags') + } catch (error) { + expect((error as Error).message).to.contain('Missing required flag') + } + }) + + it('fails when fetching a non-existent genesis account', async () => { + const cliInput = [ + 'genesis', + 'fetch', + '11111111111111111111111111111111', + ] + + try { + await runCli(cliInput) + expect.fail('Should have thrown an error for non-existent account') + } catch (error) { + expect((error as Error).message).to.not.be.empty + } + }) + + it('fails with transfer funding mode when baseMint is missing', async () => { + const cliInput = [ + 'genesis', + 'create', + '--name', + 'Transfer Token', + '--symbol', + 'TFR', + '--totalSupply', + '1000000000', + '--fundingMode', + 'transfer', + // Missing --baseMint + ] + + try { + await runCli(cliInput) + expect.fail('Should have thrown an error for missing baseMint') + } catch (error) { + expect((error as Error).message).to.contain('baseMint is required') + } + }) +}) diff --git a/test/commands/genesis/genesis.integration.test.ts b/test/commands/genesis/genesis.integration.test.ts new file mode 100644 index 0000000..8ca378b --- /dev/null +++ b/test/commands/genesis/genesis.integration.test.ts @@ -0,0 +1,338 @@ +import { expect } from 'chai' +import { runCli } from '../../runCli' +import { createGenesisAccount, addLaunchPoolBucket, addUnlockedBucket, stripAnsi, extractGenesisAddress, extractBucketAddress } from './genesishelpers' + +describe('genesis integration workflow', () => { + let genesisAddress: string + let baseMint: string + let bucketAddress: string + + // Timestamps for the launch pool + const now = Math.floor(Date.now() / 1000) + const depositStart = (now - 3600).toString() // 1 hour ago + const depositEnd = (now + 86400).toString() // 1 day from now + const claimStart = (now + 86400 + 1).toString() // just after deposit end + const claimEnd = (now + 86400 * 365).toString() // 1 year from now + + before(async () => { + // Airdrop SOL for testing + await runCli([ + "toolbox", "sol", "airdrop", "100", "TESTfCYwTPxME2cAnPcKvvF5xdPah3PY7naYQEP2kkx" + ]) + + await new Promise(resolve => setTimeout(resolve, 10000)) + + // Wrap some SOL to get wrapped SOL tokens (needed for deposits) + await runCli([ + 'toolbox', + 'sol', + 'wrap', + '50', + ]) + }) + + it('creates a genesis account for the workflow', async () => { + const result = await createGenesisAccount({ + name: 'Integration Token', + symbol: 'INT', + totalSupply: '1000000000', + decimals: 9, + }) + + genesisAddress = result.genesisAddress + baseMint = result.baseMint + + expect(genesisAddress).to.match(/^[a-zA-Z0-9]+$/) + expect(baseMint).to.match(/^[a-zA-Z0-9]+$/) + }) + + it('adds a launch pool bucket to the genesis account', async () => { + const result = await addLaunchPoolBucket(genesisAddress, { + allocation: '500000000', + depositStart, + depositEnd, + claimStart, + claimEnd, + }) + + bucketAddress = result.bucketAddress + + expect(bucketAddress).to.match(/^[a-zA-Z0-9]+$/) + }) + + it('fetches the genesis account and verifies bucket was added', async () => { + await new Promise(resolve => setTimeout(resolve, 2000)) + + const { stdout, stderr, code } = await runCli([ + 'genesis', + 'fetch', + genesisAddress, + ]) + + const cleanStderr = stripAnsi(stderr) + const cleanStdout = stripAnsi(stdout) + + expect(code).to.equal(0) + expect(cleanStderr).to.contain('Genesis account fetched successfully') + expect(cleanStdout).to.contain(`Genesis Account: ${genesisAddress}`) + expect(cleanStdout).to.contain('Bucket Count: 1') + expect(cleanStdout).to.contain('Finalized: No') + }) + + it('fetches the launch pool bucket details', async () => { + const { stdout, stderr, code } = await runCli([ + 'genesis', + 'bucket', + 'fetch', + genesisAddress, + '--bucketIndex', + '0', + ]) + + const cleanStderr = stripAnsi(stderr) + const cleanStdout = stripAnsi(stdout) + + expect(code).to.equal(0) + expect(cleanStderr).to.contain('Bucket fetched successfully') + expect(cleanStdout).to.contain('Launch Pool Bucket') + expect(cleanStdout).to.contain('Base Token Allocation: 500000000') + expect(cleanStdout).to.contain('Deposit Count: 0') + expect(cleanStdout).to.contain('Claim Count: 0') + }) + + it('deposits into the launch pool', async () => { + const { stdout, stderr, code } = await runCli([ + 'genesis', + 'deposit', + genesisAddress, + '--amount', + '1000000000', // 1 SOL in lamports + '--bucketIndex', + '0', + ]) + + const cleanStderr = stripAnsi(stderr) + const cleanStdout = stripAnsi(stdout) + + expect(code).to.equal(0) + expect(cleanStderr).to.contain('Deposit successful') + expect(cleanStdout).to.contain(`Genesis Account: ${genesisAddress}`) + expect(cleanStdout).to.contain('Bucket Index: 0') + expect(cleanStdout).to.contain('Amount: 1000000000') + expect(cleanStdout).to.contain('Transaction:') + }) + + it('finalizes the genesis launch', async () => { + const { stdout, stderr, code } = await runCli([ + 'genesis', + 'finalize', + genesisAddress, + ]) + + const cleanStderr = stripAnsi(stderr) + const cleanStdout = stripAnsi(stdout) + + expect(code).to.equal(0) + expect(cleanStderr).to.contain('Genesis launch finalized successfully') + expect(cleanStdout).to.contain(`Genesis Account: ${genesisAddress}`) + expect(cleanStdout).to.contain('Status: Finalized') + expect(cleanStdout).to.contain('Transaction:') + }) + + it('verifies the genesis account is now finalized', async () => { + await new Promise(resolve => setTimeout(resolve, 2000)) + + const { stdout, stderr, code } = await runCli([ + 'genesis', + 'fetch', + genesisAddress, + ]) + + const cleanStderr = stripAnsi(stderr) + const cleanStdout = stripAnsi(stdout) + + expect(code).to.equal(0) + expect(cleanStdout).to.contain('Finalized: Yes') + }) + + it('fails to finalize an already-finalized genesis account', async () => { + try { + await runCli([ + 'genesis', + 'finalize', + genesisAddress, + ]) + expect.fail('Should have thrown an error for already-finalized account') + } catch (error) { + expect((error as Error).message).to.contain('already been finalized') + } + }) + + it('fails to add a bucket to a finalized genesis account', async () => { + try { + await runCli([ + 'genesis', + 'bucket', + 'add-launch-pool', + genesisAddress, + '--allocation', + '100000000', + '--depositStart', + depositStart, + '--depositEnd', + depositEnd, + '--claimStart', + claimStart, + ]) + expect.fail('Should have thrown an error for finalized account') + } catch (error) { + expect((error as Error).message).to.contain('finalized') + } + }) + + it('revokes mint authority', async () => { + const { stdout, stderr, code } = await runCli([ + 'genesis', + 'revoke', + genesisAddress, + '--revokeMint', + ]) + + const cleanStderr = stripAnsi(stderr) + const cleanStdout = stripAnsi(stdout) + + expect(code).to.equal(0) + expect(cleanStderr).to.contain('Authorities revoked successfully') + expect(cleanStdout).to.contain('Mint Authority Revoked: Yes') + expect(cleanStdout).to.contain('Freeze Authority Revoked: No') + expect(cleanStdout).to.contain('WARNING') + }) + + it('fails when no revoke flag is specified', async () => { + try { + await runCli([ + 'genesis', + 'revoke', + genesisAddress, + ]) + expect.fail('Should have thrown an error when no revoke flag is specified') + } catch (error) { + expect((error as Error).message).to.contain('revokeMint') + } + }) + + it('fails to deposit into a non-existent bucket', async () => { + try { + await runCli([ + 'genesis', + 'deposit', + genesisAddress, + '--amount', + '1000000', + '--bucketIndex', + '99', + ]) + expect.fail('Should have thrown an error for non-existent bucket') + } catch (error) { + expect((error as Error).message).to.not.be.empty + } + }) + + it('fails to fetch a non-existent bucket', async () => { + try { + await runCli([ + 'genesis', + 'bucket', + 'fetch', + genesisAddress, + '--bucketIndex', + '99', + ]) + expect.fail('Should have thrown an error for non-existent bucket') + } catch (error) { + expect((error as Error).message).to.contain('not found') + } + }) +}) + +describe('genesis unlocked bucket workflow', () => { + let genesisAddress: string + let baseMint: string + + const now = Math.floor(Date.now() / 1000) + const claimStart = (now - 3600).toString() // 1 hour ago (so claim is active) + const claimEnd = (now + 86400 * 365).toString() // 1 year from now + + before(async () => { + await runCli([ + "toolbox", "sol", "airdrop", "100", "TESTfCYwTPxME2cAnPcKvvF5xdPah3PY7naYQEP2kkx" + ]) + + await new Promise(resolve => setTimeout(resolve, 10000)) + }) + + it('creates a genesis account with unlocked bucket', async () => { + const result = await createGenesisAccount({ + name: 'Unlocked Token', + symbol: 'UNL', + totalSupply: '1000000000', + decimals: 9, + }) + + genesisAddress = result.genesisAddress + baseMint = result.baseMint + + expect(genesisAddress).to.match(/^[a-zA-Z0-9]+$/) + }) + + it('adds an unlocked bucket', async () => { + const result = await addUnlockedBucket( + genesisAddress, + 'TESTfCYwTPxME2cAnPcKvvF5xdPah3PY7naYQEP2kkx', + { + allocation: '100000000', + claimStart, + claimEnd, + } + ) + + expect(result.bucketAddress).to.match(/^[a-zA-Z0-9]+$/) + }) + + it('fetches the unlocked bucket details', async () => { + const { stdout, stderr, code } = await runCli([ + 'genesis', + 'bucket', + 'fetch', + genesisAddress, + '--bucketIndex', + '0', + '--type', + 'unlocked', + ]) + + const cleanStderr = stripAnsi(stderr) + const cleanStdout = stripAnsi(stdout) + + expect(code).to.equal(0) + expect(cleanStderr).to.contain('Bucket fetched successfully') + expect(cleanStdout).to.contain('Unlocked Bucket') + expect(cleanStdout).to.contain('Base Token Allocation: 100000000') + expect(cleanStdout).to.contain('Claimed: No') + }) + + it('fails to claim unlocked bucket before finalization', async () => { + try { + await runCli([ + 'genesis', + 'claim-unlocked', + genesisAddress, + '--bucketIndex', + '0', + ]) + expect.fail('Should have thrown an error before finalization') + } catch (error) { + expect((error as Error).message).to.not.be.empty + } + }) +}) diff --git a/test/commands/genesis/genesis.presale.test.ts b/test/commands/genesis/genesis.presale.test.ts new file mode 100644 index 0000000..1342ee0 --- /dev/null +++ b/test/commands/genesis/genesis.presale.test.ts @@ -0,0 +1,154 @@ +import { expect } from 'chai' +import { runCli } from '../../runCli' +import { createGenesisAccount, addPresaleBucket, stripAnsi } from './genesishelpers' + +describe('genesis presale workflow', () => { + let genesisAddress: string + let baseMint: string + let bucketAddress: string + + const now = Math.floor(Date.now() / 1000) + const depositStart = (now - 3600).toString() // 1 hour ago + const depositEnd = (now + 86400).toString() // 1 day from now + const claimStart = (now + 86400 + 1).toString() // just after deposit end + const claimEnd = (now + 86400 * 365).toString() // 1 year from now + + before(async () => { + await runCli([ + "toolbox", "sol", "airdrop", "100", "TESTfCYwTPxME2cAnPcKvvF5xdPah3PY7naYQEP2kkx" + ]) + + await new Promise(resolve => setTimeout(resolve, 10000)) + + await runCli([ + 'toolbox', + 'sol', + 'wrap', + '50', + ]) + }) + + it('creates a genesis account for presale workflow', async () => { + const result = await createGenesisAccount({ + name: 'Presale Token', + symbol: 'PSL', + totalSupply: '1000000000', + decimals: 9, + }) + + genesisAddress = result.genesisAddress + baseMint = result.baseMint + + expect(genesisAddress).to.match(/^[a-zA-Z0-9]+$/) + expect(baseMint).to.match(/^[a-zA-Z0-9]+$/) + }) + + it('adds a presale bucket to the genesis account', async () => { + const result = await addPresaleBucket(genesisAddress, { + allocation: '500000000', + quoteCap: '1000000000', + depositStart, + depositEnd, + claimStart, + claimEnd, + }) + + bucketAddress = result.bucketAddress + + expect(bucketAddress).to.match(/^[a-zA-Z0-9]+$/) + }) + + it('fetches the presale bucket details', async () => { + const { stdout, stderr, code } = await runCli([ + 'genesis', + 'bucket', + 'fetch', + genesisAddress, + '--bucketIndex', + '0', + '--type', + 'presale', + ]) + + const cleanStderr = stripAnsi(stderr) + const cleanStdout = stripAnsi(stdout) + + expect(code).to.equal(0) + expect(cleanStderr).to.contain('Bucket fetched successfully') + expect(cleanStdout).to.contain('Presale Bucket') + expect(cleanStdout).to.contain('Base Token Allocation: 500000000') + expect(cleanStdout).to.contain('Quote Token Cap: 1000000000') + }) + + it('deposits into the presale bucket', async () => { + const { stdout, stderr, code } = await runCli([ + 'genesis', + 'presale', + 'deposit', + genesisAddress, + '--amount', + '1000000000', + '--bucketIndex', + '0', + ]) + + const cleanStderr = stripAnsi(stderr) + const cleanStdout = stripAnsi(stdout) + + expect(code).to.equal(0) + expect(cleanStderr).to.contain('Presale deposit successful') + expect(cleanStdout).to.contain(`Genesis Account: ${genesisAddress}`) + expect(cleanStdout).to.contain('Amount: 1000000000') + expect(cleanStdout).to.contain('Transaction:') + }) + + it('fails to deposit into a non-existent presale bucket', async () => { + try { + await runCli([ + 'genesis', + 'presale', + 'deposit', + genesisAddress, + '--amount', + '1000000', + '--bucketIndex', + '99', + ]) + expect.fail('Should have thrown an error for non-existent bucket') + } catch (error) { + expect((error as Error).message).to.not.be.empty + } + }) + + it('fails to claim from presale with no deposit', async () => { + // Create a new genesis with a presale bucket but no deposit + const newGenesis = await createGenesisAccount({ + name: 'No Deposit Presale', + symbol: 'NDP', + totalSupply: '1000000000', + }) + + await addPresaleBucket(newGenesis.genesisAddress, { + allocation: '500000000', + quoteCap: '1000000000', + depositStart, + depositEnd, + claimStart, + claimEnd, + }) + + try { + await runCli([ + 'genesis', + 'presale', + 'claim', + newGenesis.genesisAddress, + '--bucketIndex', + '0', + ]) + expect.fail('Should have thrown an error for no deposit') + } catch (error) { + expect((error as Error).message).to.not.be.empty + } + }) +}) diff --git a/test/commands/genesis/genesis.withdraw.test.ts b/test/commands/genesis/genesis.withdraw.test.ts new file mode 100644 index 0000000..ff6c84a --- /dev/null +++ b/test/commands/genesis/genesis.withdraw.test.ts @@ -0,0 +1,145 @@ +import { expect } from 'chai' +import { runCli } from '../../runCli' +import { createGenesisAccount, addLaunchPoolBucket, stripAnsi } from './genesishelpers' + +describe('genesis withdraw workflow', () => { + let genesisAddress: string + let baseMint: string + let bucketAddress: string + + const now = Math.floor(Date.now() / 1000) + const depositStart = (now - 3600).toString() // 1 hour ago + const depositEnd = (now + 86400).toString() // 1 day from now + const claimStart = (now + 86400 + 1).toString() // just after deposit end + const claimEnd = (now + 86400 * 365).toString() // 1 year from now + + before(async () => { + await runCli([ + "toolbox", "sol", "airdrop", "100", "TESTfCYwTPxME2cAnPcKvvF5xdPah3PY7naYQEP2kkx" + ]) + + await new Promise(resolve => setTimeout(resolve, 10000)) + + await runCli([ + 'toolbox', + 'sol', + 'wrap', + '50', + ]) + }) + + it('creates a genesis account for withdraw workflow', async () => { + const result = await createGenesisAccount({ + name: 'Withdraw Token', + symbol: 'WTH', + totalSupply: '1000000000', + decimals: 9, + }) + + genesisAddress = result.genesisAddress + baseMint = result.baseMint + + expect(genesisAddress).to.match(/^[a-zA-Z0-9]+$/) + }) + + it('adds a launch pool bucket', async () => { + const result = await addLaunchPoolBucket(genesisAddress, { + allocation: '500000000', + depositStart, + depositEnd, + claimStart, + claimEnd, + }) + + bucketAddress = result.bucketAddress + + expect(bucketAddress).to.match(/^[a-zA-Z0-9]+$/) + }) + + it('deposits into the launch pool', async () => { + const { stdout, stderr, code } = await runCli([ + 'genesis', + 'deposit', + genesisAddress, + '--amount', + '1000000000', + '--bucketIndex', + '0', + ]) + + const cleanStderr = stripAnsi(stderr) + expect(code).to.equal(0) + expect(cleanStderr).to.contain('Deposit successful') + }) + + it('withdraws from the launch pool', async () => { + const { stdout, stderr, code } = await runCli([ + 'genesis', + 'withdraw', + genesisAddress, + '--amount', + '500000000', + '--bucketIndex', + '0', + ]) + + const cleanStderr = stripAnsi(stderr) + const cleanStdout = stripAnsi(stdout) + + expect(code).to.equal(0) + expect(cleanStderr).to.contain('Withdrawal successful') + expect(cleanStdout).to.contain(`Genesis Account: ${genesisAddress}`) + expect(cleanStdout).to.contain('Bucket Index: 0') + expect(cleanStdout).to.contain('Amount: 500000000') + expect(cleanStdout).to.contain('Transaction:') + }) + + it('fails to withdraw from a non-existent bucket', async () => { + try { + await runCli([ + 'genesis', + 'withdraw', + genesisAddress, + '--amount', + '1000000', + '--bucketIndex', + '99', + ]) + expect.fail('Should have thrown an error for non-existent bucket') + } catch (error) { + expect((error as Error).message).to.not.be.empty + } + }) + + it('fails to withdraw without a deposit', async () => { + // Create a new genesis with a launch pool but no deposit + const newGenesis = await createGenesisAccount({ + name: 'No Deposit Token', + symbol: 'NDT', + totalSupply: '1000000000', + }) + + await addLaunchPoolBucket(newGenesis.genesisAddress, { + allocation: '500000000', + depositStart, + depositEnd, + claimStart, + claimEnd, + }) + + try { + await runCli([ + 'genesis', + 'withdraw', + newGenesis.genesisAddress, + '--amount', + '1000000', + '--bucketIndex', + '0', + ]) + expect.fail('Should have thrown an error for no deposit') + } catch (error) { + expect((error as Error).message).to.not.be.empty + } + }) +}) diff --git a/test/commands/genesis/genesishelpers.ts b/test/commands/genesis/genesishelpers.ts new file mode 100644 index 0000000..654fe12 --- /dev/null +++ b/test/commands/genesis/genesishelpers.ts @@ -0,0 +1,252 @@ +import { expect } from 'chai' +import { runCli } from '../../runCli' + +// Helper to strip ANSI color codes +const stripAnsi = (str: string) => str.replace(/\u001b\[\d+m/g, '') + +// Helper to extract Genesis Account address from output +const extractGenesisAddress = (str: string) => { + const patterns = [ + /Genesis Account: ([a-zA-Z0-9]+)/, + ] + + for (const pattern of patterns) { + const match = str.match(pattern) + if (match) return match[1] + } + return null +} + +// Helper to extract Base Mint address from output +const extractBaseMint = (str: string) => { + const patterns = [ + /Base Mint: ([a-zA-Z0-9]+)/, + ] + + for (const pattern of patterns) { + const match = str.match(pattern) + if (match) return match[1] + } + return null +} + +// Helper to extract Bucket Address from output +const extractBucketAddress = (str: string) => { + const patterns = [ + /Bucket Address: ([a-zA-Z0-9]+)/, + /Bucket: ([a-zA-Z0-9]+)/, + ] + + for (const pattern of patterns) { + const match = str.match(pattern) + if (match) return match[1] + } + return null +} + +const createGenesisAccount = async (options?: { + name?: string + symbol?: string + totalSupply?: string + decimals?: number +}): Promise<{ genesisAddress: string; baseMint: string }> => { + const name = options?.name ?? 'Test Token' + const symbol = options?.symbol ?? 'TST' + const totalSupply = options?.totalSupply ?? '1000000000' + const decimals = options?.decimals ?? 9 + + const cliInput = [ + 'genesis', + 'create', + '--name', + name, + '--symbol', + symbol, + '--totalSupply', + totalSupply, + '--decimals', + decimals.toString(), + ] + + const { stdout, stderr, code } = await runCli(cliInput) + + const cleanStderr = stripAnsi(stderr) + const cleanStdout = stripAnsi(stdout) + const genesisAddress = extractGenesisAddress(cleanStdout) || extractGenesisAddress(cleanStderr) + const baseMint = extractBaseMint(cleanStdout) || extractBaseMint(cleanStderr) + + if (!genesisAddress) { + throw new Error(`Genesis address not found in output.\nstdout: ${cleanStdout}\nstderr: ${cleanStderr}`) + } + + if (!baseMint) { + throw new Error(`Base mint not found in output.\nstdout: ${cleanStdout}\nstderr: ${cleanStderr}`) + } + + expect(code).to.equal(0) + expect(cleanStderr).to.contain('Genesis account created successfully') + expect(genesisAddress).to.match(/^[a-zA-Z0-9]+$/) + + return { genesisAddress, baseMint } +} + +const addLaunchPoolBucket = async ( + genesisAddress: string, + options?: { + allocation?: string + depositStart?: string + depositEnd?: string + claimStart?: string + claimEnd?: string + } +): Promise<{ bucketAddress: string }> => { + // Use timestamps in the past so deposits are immediately active + const now = Math.floor(Date.now() / 1000) + const allocation = options?.allocation ?? '500000000' + const depositStart = options?.depositStart ?? (now - 3600).toString() + const depositEnd = options?.depositEnd ?? (now + 86400).toString() + const claimStart = options?.claimStart ?? (now + 86400).toString() + const claimEnd = options?.claimEnd ?? (now + 86400 * 365).toString() + + const cliInput = [ + 'genesis', + 'bucket', + 'add-launch-pool', + genesisAddress, + '--allocation', + allocation, + '--depositStart', + depositStart, + '--depositEnd', + depositEnd, + '--claimStart', + claimStart, + '--claimEnd', + claimEnd, + ] + + const { stdout, stderr, code } = await runCli(cliInput) + + const cleanStderr = stripAnsi(stderr) + const cleanStdout = stripAnsi(stdout) + const bucketAddress = extractBucketAddress(cleanStdout) || extractBucketAddress(cleanStderr) + + if (!bucketAddress) { + throw new Error(`Bucket address not found in output.\nstdout: ${cleanStdout}\nstderr: ${cleanStderr}`) + } + + expect(code).to.equal(0) + expect(cleanStderr).to.contain('Launch pool bucket added successfully') + + return { bucketAddress } +} + +const addPresaleBucket = async ( + genesisAddress: string, + options?: { + allocation?: string + quoteCap?: string + depositStart?: string + depositEnd?: string + claimStart?: string + claimEnd?: string + } +): Promise<{ bucketAddress: string }> => { + const now = Math.floor(Date.now() / 1000) + const allocation = options?.allocation ?? '500000000' + const quoteCap = options?.quoteCap ?? '1000000000' + const depositStart = options?.depositStart ?? (now - 3600).toString() + const depositEnd = options?.depositEnd ?? (now + 86400).toString() + const claimStart = options?.claimStart ?? (now + 86400).toString() + const claimEnd = options?.claimEnd ?? (now + 86400 * 365).toString() + + const cliInput = [ + 'genesis', + 'bucket', + 'add-presale', + genesisAddress, + '--allocation', + allocation, + '--quoteCap', + quoteCap, + '--depositStart', + depositStart, + '--depositEnd', + depositEnd, + '--claimStart', + claimStart, + '--claimEnd', + claimEnd, + ] + + const { stdout, stderr, code } = await runCli(cliInput) + + const cleanStderr = stripAnsi(stderr) + const cleanStdout = stripAnsi(stdout) + const bucketAddress = extractBucketAddress(cleanStdout) || extractBucketAddress(cleanStderr) + + if (!bucketAddress) { + throw new Error(`Bucket address not found in output.\nstdout: ${cleanStdout}\nstderr: ${cleanStderr}`) + } + + expect(code).to.equal(0) + expect(cleanStderr).to.contain('Presale bucket added successfully') + + return { bucketAddress } +} + +const addUnlockedBucket = async ( + genesisAddress: string, + recipientAddress: string, + options?: { + allocation?: string + claimStart?: string + claimEnd?: string + } +): Promise<{ bucketAddress: string }> => { + const now = Math.floor(Date.now() / 1000) + const allocation = options?.allocation ?? '100000000' + const claimStart = options?.claimStart ?? (now - 3600).toString() + const claimEnd = options?.claimEnd ?? (now + 86400 * 365).toString() + + const cliInput = [ + 'genesis', + 'bucket', + 'add-unlocked', + genesisAddress, + '--recipient', + recipientAddress, + '--allocation', + allocation, + '--claimStart', + claimStart, + '--claimEnd', + claimEnd, + ] + + const { stdout, stderr, code } = await runCli(cliInput) + + const cleanStderr = stripAnsi(stderr) + const cleanStdout = stripAnsi(stdout) + const bucketAddress = extractBucketAddress(cleanStdout) || extractBucketAddress(cleanStderr) + + if (!bucketAddress) { + throw new Error(`Bucket address not found in output.\nstdout: ${cleanStdout}\nstderr: ${cleanStderr}`) + } + + expect(code).to.equal(0) + expect(cleanStderr).to.contain('Unlocked bucket added successfully') + + return { bucketAddress } +} + +export { + stripAnsi, + extractGenesisAddress, + extractBaseMint, + extractBucketAddress, + createGenesisAccount, + addLaunchPoolBucket, + addPresaleBucket, + addUnlockedBucket, +} From ef044eea19dce237f324c2606e1d08dc90dac066 Mon Sep 17 00:00:00 2001 From: MarkSackerberg <93528482+MarkSackerberg@users.noreply.github.com> Date: Sat, 7 Feb 2026 23:20:57 +0100 Subject: [PATCH 5/7] fix tests --- src/commands/genesis/bucket/add-presale.ts | 8 ++-- src/commands/genesis/bucket/add-unlocked.ts | 2 +- src/commands/genesis/bucket/fetch.ts | 37 ++-------------- src/commands/genesis/create.ts | 5 ++- src/commands/genesis/deposit.ts | 13 +++++- src/commands/genesis/fetch.ts | 44 ++----------------- src/commands/genesis/finalize.ts | 25 +++++++---- src/commands/genesis/presale/deposit.ts | 13 +++++- src/commands/genesis/withdraw.ts | 15 +++++-- src/lib/genesis.ts | 40 +++++++++++++++++ test/commands/genesis/genesis-manual-test.sh | 7 ++- test/commands/genesis/genesis.create.test.ts | 3 +- .../genesis/genesis.integration.test.ts | 7 +-- test/commands/genesis/genesis.presale.test.ts | 4 +- .../commands/genesis/genesis.withdraw.test.ts | 2 - test/commands/genesis/genesishelpers.ts | 4 ++ 16 files changed, 116 insertions(+), 113 deletions(-) create mode 100644 src/lib/genesis.ts diff --git a/src/commands/genesis/bucket/add-presale.ts b/src/commands/genesis/bucket/add-presale.ts index ea005b8..c88d169 100644 --- a/src/commands/genesis/bucket/add-presale.ts +++ b/src/commands/genesis/bucket/add-presale.ts @@ -65,15 +65,15 @@ Use Unix timestamps for absolute times.` }), bucketIndex: Flags.integer({ char: 'b', - description: 'Bucket index (default: auto-increment based on genesis bucket count)', - required: false, + description: 'Bucket index for this presale bucket', + required: true, }), minimumDeposit: Flags.string({ - description: 'Minimum deposit amount (in base units)', + description: 'Minimum deposit amount per transaction (in quote token base units)', required: false, }), depositLimit: Flags.string({ - description: 'Maximum deposit limit per user (in base units)', + description: 'Maximum deposit limit per user (in quote token base units)', required: false, }), } diff --git a/src/commands/genesis/bucket/add-unlocked.ts b/src/commands/genesis/bucket/add-unlocked.ts index 34c57b1..51cebbd 100644 --- a/src/commands/genesis/bucket/add-unlocked.ts +++ b/src/commands/genesis/bucket/add-unlocked.ts @@ -56,7 +56,7 @@ Instead, they allocate base tokens directly to a recipient.` }), bucketIndex: Flags.integer({ char: 'b', - description: 'Bucket index (default: auto-increment based on genesis bucket count)', + description: 'Bucket index (default: 0)', required: false, }), } diff --git a/src/commands/genesis/bucket/fetch.ts b/src/commands/genesis/bucket/fetch.ts index 8abe286..244e017 100644 --- a/src/commands/genesis/bucket/fetch.ts +++ b/src/commands/genesis/bucket/fetch.ts @@ -11,40 +11,9 @@ import { publicKey } from '@metaplex-foundation/umi' import { Args, Flags } from '@oclif/core' import ora from 'ora' -import { TransactionCommand } from '../../../TransactionCommand.js' +import { BaseCommand } from '../../../BaseCommand.js' import { generateExplorerUrl } from '../../../explorers.js' - -// Key types from Genesis (enum values) -const KEY_TYPES: Record = { - 0: 'Uninitialized', - 1: 'GenesisAccount', - 2: 'LaunchPoolBucket', - 3: 'LaunchPoolDeposit', - 4: 'StreamflowBucket', - 5: 'UnlockedBucket', - 6: 'MeteoraBucket', - 7: 'PumpBucket', - 8: 'DistributionBucket', - 9: 'PresaleBucket', - 10: 'PresaleDeposit', - 11: 'VaultBucket', - 12: 'VaultDeposit', - 13: 'BondingCurveBucket', - 14: 'AuctionBucket', - 15: 'AuctionBid', - 16: 'AuctionTree', - 17: 'RaydiumCpmmBucket', - 18: 'GenesisAccountV2', - 19: 'PresaleBucketV2', - 20: 'PresaleDepositV2', - 21: 'UnlockedBucketV2', - 22: 'RaydiumCpmmBucketV2', - 23: 'VaultBucketV2', - 24: 'VaultDepositV2', - 25: 'BondingCurveBucketV2', - 26: 'LaunchPoolBucketV2', - 27: 'LaunchPoolDepositV2', -} +import { KEY_TYPES } from '../../../lib/genesis.js' function formatCondition(condition: { __kind: string; time?: bigint }): string { if (condition.__kind === 'TimeAbsolute' && condition.time) { @@ -55,7 +24,7 @@ function formatCondition(condition: { __kind: string; time?: bigint }): string { return `${condition.__kind}` } -export default class BucketFetch extends TransactionCommand { +export default class BucketFetch extends BaseCommand { static override description = `Fetch a Genesis bucket by genesis address and bucket index. This command retrieves and displays information about a bucket in a Genesis account. diff --git a/src/commands/genesis/create.ts b/src/commands/genesis/create.ts index 11769d5..51d8cec 100644 --- a/src/commands/genesis/create.ts +++ b/src/commands/genesis/create.ts @@ -114,7 +114,10 @@ Funding Modes: ? publicKey(flags.quoteMint) : WRAPPED_SOL_MINT - // Parse total supply + // Parse and validate total supply + if (!/^\d+$/.test(flags.totalSupply)) { + this.error(`Invalid totalSupply "${flags.totalSupply}". Must be a non-negative integer string (e.g., "1000000000").`) + } const totalSupply = BigInt(flags.totalSupply) // Build the initialize transaction diff --git a/src/commands/genesis/deposit.ts b/src/commands/genesis/deposit.ts index 5c648e4..26be81e 100644 --- a/src/commands/genesis/deposit.ts +++ b/src/commands/genesis/deposit.ts @@ -84,8 +84,17 @@ Launch pools use a pro-rata allocation model where: this.error(`Launch pool bucket not found at index ${flags.bucketIndex}. Make sure the bucket has been created.`) } - // Parse amount - const amount = BigInt(flags.amount) + // Parse and validate amount + let amount: bigint + try { + amount = BigInt(flags.amount) + } catch { + this.error(`Invalid amount "${flags.amount}". Must be a non-negative integer.`) + } + + if (amount <= 0n) { + this.error('Deposit amount must be greater than 0.') + } // Build the deposit transaction spinner.text = 'Depositing into launch pool...' diff --git a/src/commands/genesis/fetch.ts b/src/commands/genesis/fetch.ts index aeaabe6..5f6c860 100644 --- a/src/commands/genesis/fetch.ts +++ b/src/commands/genesis/fetch.ts @@ -5,49 +5,11 @@ import { publicKey } from '@metaplex-foundation/umi' import { Args } from '@oclif/core' import ora from 'ora' -import { TransactionCommand } from '../../TransactionCommand.js' +import { BaseCommand } from '../../BaseCommand.js' import { generateExplorerUrl } from '../../explorers.js' +import { KEY_TYPES, FUNDING_MODES } from '../../lib/genesis.js' -// Key types from Genesis (enum values) -const KEY_TYPES: Record = { - 0: 'Uninitialized', - 1: 'GenesisAccount', - 2: 'LaunchPoolBucket', - 3: 'LaunchPoolDeposit', - 4: 'StreamflowBucket', - 5: 'UnlockedBucket', - 6: 'MeteoraBucket', - 7: 'PumpBucket', - 8: 'DistributionBucket', - 9: 'PresaleBucket', - 10: 'PresaleDeposit', - 11: 'VaultBucket', - 12: 'VaultDeposit', - 13: 'BondingCurveBucket', - 14: 'AuctionBucket', - 15: 'AuctionBid', - 16: 'AuctionTree', - 17: 'RaydiumCpmmBucket', - 18: 'GenesisAccountV2', - 19: 'PresaleBucketV2', - 20: 'PresaleDepositV2', - 21: 'UnlockedBucketV2', - 22: 'RaydiumCpmmBucketV2', - 23: 'VaultBucketV2', - 24: 'VaultDepositV2', - 25: 'BondingCurveBucketV2', - 26: 'LaunchPoolBucketV2', - 27: 'LaunchPoolDepositV2', -} - -// Funding modes -const FUNDING_MODES: Record = { - 0: 'NewMint', - 1: 'Transfer', - 2: 'ExistingMint', -} - -export default class GenesisFetch extends TransactionCommand { +export default class GenesisFetch extends BaseCommand { static override description = `Fetch a Genesis account by its address. This command retrieves and displays information about an existing Genesis account. diff --git a/src/commands/genesis/finalize.ts b/src/commands/genesis/finalize.ts index 5183b21..f5aace0 100644 --- a/src/commands/genesis/finalize.ts +++ b/src/commands/genesis/finalize.ts @@ -62,30 +62,37 @@ Requirements: // Discover all bucket PDAs to pass as remaining accounts spinner.text = 'Discovering bucket accounts...' - const bucketAccounts: AccountMeta[] = [] const pdaFinders = [ findLaunchPoolBucketV2Pda, findPresaleBucketV2Pda, findUnlockedBucketV2Pda, ] + // Build all PDA lookups and fetch in parallel + const pdaLookups: { pda: ReturnType }[] = [] for (let i = 0; i < genesisAccount.bucketCount; i++) { for (const finder of pdaFinders) { const [pda] = finder(this.context.umi, { genesisAccount: genesisAddress, bucketIndex: i, }) - const account = await this.context.umi.rpc.getAccount(pda) - if (account.exists) { - bucketAccounts.push({ - pubkey: pda, - isSigner: false, - isWritable: true, - }) - } + pdaLookups.push({ pda }) } } + const accounts = await Promise.all( + pdaLookups.map(({ pda }) => this.context.umi.rpc.getAccount(pda)) + ) + + const bucketAccounts: AccountMeta[] = accounts + .map((account, idx) => ({ account, pda: pdaLookups[idx].pda })) + .filter(({ account }) => account.exists) + .map(({ pda }) => ({ + pubkey: pda, + isSigner: false, + isWritable: true, + })) + // Build the finalize transaction spinner.text = 'Finalizing Genesis launch...' const transaction = finalizeV2(this.context.umi, { diff --git a/src/commands/genesis/presale/deposit.ts b/src/commands/genesis/presale/deposit.ts index ba5130f..bb48dfb 100644 --- a/src/commands/genesis/presale/deposit.ts +++ b/src/commands/genesis/presale/deposit.ts @@ -81,8 +81,17 @@ Requirements: this.error(`Presale bucket not found at index ${flags.bucketIndex}. Make sure the bucket has been created.`) } - // Parse amount - const amount = BigInt(flags.amount) + // Parse and validate amount + let amount: bigint + try { + amount = BigInt(flags.amount) + } catch { + this.error(`Invalid amount "${flags.amount}". Must be a non-negative integer.`) + } + + if (amount <= 0n) { + this.error('Deposit amount must be greater than 0.') + } // Build the deposit transaction spinner.text = 'Depositing into presale...' diff --git a/src/commands/genesis/withdraw.ts b/src/commands/genesis/withdraw.ts index 29b55be..8fc3e6d 100644 --- a/src/commands/genesis/withdraw.ts +++ b/src/commands/genesis/withdraw.ts @@ -84,7 +84,7 @@ Requirements: } // Verify the deposit exists - const depositPda = findLaunchPoolDepositV2Pda(this.context.umi, { + const [depositPda] = findLaunchPoolDepositV2Pda(this.context.umi, { bucket: bucketPda, recipient: this.context.signer.publicKey, }) @@ -97,8 +97,17 @@ Requirements: this.error(`No deposit found for signer ${this.context.signer.publicKey}. Make sure you have deposited into this launch pool.`) } - // Parse amount - const amount = BigInt(flags.amount) + // Parse and validate amount + let amount: bigint + try { + amount = BigInt(flags.amount) + } catch { + this.error(`Invalid amount "${flags.amount}". Must be a non-negative integer.`) + } + + if (amount <= 0n) { + this.error('Withdrawal amount must be greater than 0.') + } // Build the withdraw transaction spinner.text = 'Withdrawing from launch pool...' diff --git a/src/lib/genesis.ts b/src/lib/genesis.ts new file mode 100644 index 0000000..7fced3d --- /dev/null +++ b/src/lib/genesis.ts @@ -0,0 +1,40 @@ +// Shared Genesis constants + +// Key types from Genesis (enum values) +export const KEY_TYPES: Record = { + 0: 'Uninitialized', + 1: 'GenesisAccount', + 2: 'LaunchPoolBucket', + 3: 'LaunchPoolDeposit', + 4: 'StreamflowBucket', + 5: 'UnlockedBucket', + 6: 'MeteoraBucket', + 7: 'PumpBucket', + 8: 'DistributionBucket', + 9: 'PresaleBucket', + 10: 'PresaleDeposit', + 11: 'VaultBucket', + 12: 'VaultDeposit', + 13: 'BondingCurveBucket', + 14: 'AuctionBucket', + 15: 'AuctionBid', + 16: 'AuctionTree', + 17: 'RaydiumCpmmBucket', + 18: 'GenesisAccountV2', + 19: 'PresaleBucketV2', + 20: 'PresaleDepositV2', + 21: 'UnlockedBucketV2', + 22: 'RaydiumCpmmBucketV2', + 23: 'VaultBucketV2', + 24: 'VaultDepositV2', + 25: 'BondingCurveBucketV2', + 26: 'LaunchPoolBucketV2', + 27: 'LaunchPoolDepositV2', +} + +// Funding modes +export const FUNDING_MODES: Record = { + 0: 'NewMint', + 1: 'Transfer', + 2: 'ExistingMint', +} diff --git a/test/commands/genesis/genesis-manual-test.sh b/test/commands/genesis/genesis-manual-test.sh index e7d7d74..9d5eef1 100644 --- a/test/commands/genesis/genesis-manual-test.sh +++ b/test/commands/genesis/genesis-manual-test.sh @@ -24,7 +24,7 @@ pass() { echo " PASS: $1"; } fail() { echo " FAIL: $1"; exit 1; } extract_address() { - echo "$1" | grep -oP "$2: \K[A-Za-z0-9]+" | head -1 + echo "$1" | grep -E -o "$2: [A-Za-z0-9]+" | sed "s/^$2: //" | head -1 } echo "=== Genesis CLI Manual Test ===" @@ -88,8 +88,7 @@ echo "[5] Depositing below minimum (should fail)..." if $CLI genesis deposit "$GENESIS" --amount 50000000 --bucketIndex 0 2>&1 | grep -q "below the minimum"; then pass "Minimum deposit enforced" else - # Check stderr too - pass "Minimum deposit enforced (error thrown)" + fail "Minimum deposit NOT enforced" fi # Step 6: Test depositLimit enforcement @@ -97,7 +96,7 @@ echo "[6] Depositing above limit (should fail)..." if $CLI genesis deposit "$GENESIS" --amount 10000000001 --bucketIndex 0 2>&1 | grep -q "exceeds the deposit limit"; then pass "Deposit limit enforced" else - pass "Deposit limit enforced (error thrown)" + fail "Deposit limit NOT enforced" fi # Step 7: Valid deposit diff --git a/test/commands/genesis/genesis.create.test.ts b/test/commands/genesis/genesis.create.test.ts index 31fdd5f..dfba8aa 100644 --- a/test/commands/genesis/genesis.create.test.ts +++ b/test/commands/genesis/genesis.create.test.ts @@ -5,7 +5,8 @@ import { createGenesisAccount, stripAnsi, extractGenesisAddress, extractBaseMint describe('genesis create and fetch commands', () => { before(async () => { - const { stdout, stderr, code } = await runCli( + // runCli rejects on non-zero exit, so failures propagate automatically + await runCli( ["toolbox", "sol", "airdrop", "100", "TESTfCYwTPxME2cAnPcKvvF5xdPah3PY7naYQEP2kkx"] ) diff --git a/test/commands/genesis/genesis.integration.test.ts b/test/commands/genesis/genesis.integration.test.ts index 2b7f05b..b3b1cfa 100644 --- a/test/commands/genesis/genesis.integration.test.ts +++ b/test/commands/genesis/genesis.integration.test.ts @@ -1,10 +1,9 @@ import { expect } from 'chai' import { runCli } from '../../runCli' -import { createGenesisAccount, addLaunchPoolBucket, addUnlockedBucket, stripAnsi, extractGenesisAddress, extractBucketAddress } from './genesishelpers' +import { createGenesisAccount, addLaunchPoolBucket, addUnlockedBucket, stripAnsi } from './genesishelpers' describe('genesis integration workflow', () => { let genesisAddress: string - let baseMint: string let bucketAddress: string let unlockedBucketAddress: string @@ -41,10 +40,8 @@ describe('genesis integration workflow', () => { }) genesisAddress = result.genesisAddress - baseMint = result.baseMint expect(genesisAddress).to.match(/^[a-zA-Z0-9]+$/) - expect(baseMint).to.match(/^[a-zA-Z0-9]+$/) }) it('adds an unlocked bucket as graduation destination', async () => { @@ -277,7 +274,6 @@ describe('genesis integration workflow', () => { describe('genesis unlocked bucket workflow', () => { let genesisAddress: string - let baseMint: string const now = Math.floor(Date.now() / 1000) const claimStart = (now - 3600).toString() // 1 hour ago (so claim is active) @@ -300,7 +296,6 @@ describe('genesis unlocked bucket workflow', () => { }) genesisAddress = result.genesisAddress - baseMint = result.baseMint expect(genesisAddress).to.match(/^[a-zA-Z0-9]+$/) }) diff --git a/test/commands/genesis/genesis.presale.test.ts b/test/commands/genesis/genesis.presale.test.ts index 1342ee0..e15e4ef 100644 --- a/test/commands/genesis/genesis.presale.test.ts +++ b/test/commands/genesis/genesis.presale.test.ts @@ -4,7 +4,6 @@ import { createGenesisAccount, addPresaleBucket, stripAnsi } from './genesishelp describe('genesis presale workflow', () => { let genesisAddress: string - let baseMint: string let bucketAddress: string const now = Math.floor(Date.now() / 1000) @@ -14,6 +13,7 @@ describe('genesis presale workflow', () => { const claimEnd = (now + 86400 * 365).toString() // 1 year from now before(async () => { + // runCli rejects on non-zero exit, so failures propagate automatically await runCli([ "toolbox", "sol", "airdrop", "100", "TESTfCYwTPxME2cAnPcKvvF5xdPah3PY7naYQEP2kkx" ]) @@ -37,10 +37,8 @@ describe('genesis presale workflow', () => { }) genesisAddress = result.genesisAddress - baseMint = result.baseMint expect(genesisAddress).to.match(/^[a-zA-Z0-9]+$/) - expect(baseMint).to.match(/^[a-zA-Z0-9]+$/) }) it('adds a presale bucket to the genesis account', async () => { diff --git a/test/commands/genesis/genesis.withdraw.test.ts b/test/commands/genesis/genesis.withdraw.test.ts index 6246ffb..976c5aa 100644 --- a/test/commands/genesis/genesis.withdraw.test.ts +++ b/test/commands/genesis/genesis.withdraw.test.ts @@ -4,7 +4,6 @@ import { createGenesisAccount, addLaunchPoolBucket, addUnlockedBucket, stripAnsi describe('genesis withdraw workflow', () => { let genesisAddress: string - let baseMint: string let bucketAddress: string let unlockedBucketAddress: string @@ -38,7 +37,6 @@ describe('genesis withdraw workflow', () => { }) genesisAddress = result.genesisAddress - baseMint = result.baseMint expect(genesisAddress).to.match(/^[a-zA-Z0-9]+$/) }) diff --git a/test/commands/genesis/genesishelpers.ts b/test/commands/genesis/genesishelpers.ts index 1d0d446..e85b289 100644 --- a/test/commands/genesis/genesishelpers.ts +++ b/test/commands/genesis/genesishelpers.ts @@ -157,6 +157,7 @@ const addPresaleBucket = async ( depositEnd?: string claimStart?: string claimEnd?: string + bucketIndex?: number } ): Promise<{ bucketAddress: string }> => { const now = Math.floor(Date.now() / 1000) @@ -166,6 +167,7 @@ const addPresaleBucket = async ( const depositEnd = options?.depositEnd ?? (now + 86400).toString() const claimStart = options?.claimStart ?? (now + 86400).toString() const claimEnd = options?.claimEnd ?? (now + 86400 * 365).toString() + const bucketIndex = (options?.bucketIndex ?? 0).toString() const cliInput = [ 'genesis', @@ -184,6 +186,8 @@ const addPresaleBucket = async ( claimStart, '--claimEnd', claimEnd, + '--bucketIndex', + bucketIndex, ] const { stdout, stderr, code } = await runCli(cliInput) From aa50fd19f440adec6e2810a02122f9fe7cd34281 Mon Sep 17 00:00:00 2001 From: MarkSackerberg <93528482+MarkSackerberg@users.noreply.github.com> Date: Sat, 7 Feb 2026 23:31:03 +0100 Subject: [PATCH 6/7] more fixes --- test/commands/genesis/genesishelpers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/commands/genesis/genesishelpers.ts b/test/commands/genesis/genesishelpers.ts index e85b289..d36f4df 100644 --- a/test/commands/genesis/genesishelpers.ts +++ b/test/commands/genesis/genesishelpers.ts @@ -2,7 +2,7 @@ import { expect } from 'chai' import { runCli } from '../../runCli' // Helper to strip ANSI color codes -const stripAnsi = (str: string) => str.replace(/\u001b\[\d+m/g, '') +const stripAnsi = (str: string) => str.replace(/\u001b\[[\d;]*m/g, '') // Helper to extract Genesis Account address from output const extractGenesisAddress = (str: string) => { From 46d2cf6df5d5baf6b4f57ca47c4c25f8007b5f91 Mon Sep 17 00:00:00 2001 From: MarkSackerberg <93528482+MarkSackerberg@users.noreply.github.com> Date: Sun, 8 Feb 2026 00:05:52 +0100 Subject: [PATCH 7/7] fix bucket not found --- src/commands/genesis/transition.ts | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/commands/genesis/transition.ts b/src/commands/genesis/transition.ts index 65091bb..d317ee7 100644 --- a/src/commands/genesis/transition.ts +++ b/src/commands/genesis/transition.ts @@ -4,7 +4,8 @@ import { findLaunchPoolBucketV2Pda, safeFetchLaunchPoolBucketV2, } from '@metaplex-foundation/genesis' -import { publicKey } from '@metaplex-foundation/umi' +import { findAssociatedTokenPda } from '@metaplex-foundation/mpl-toolbox' +import { publicKey, AccountMeta } from '@metaplex-foundation/umi' import { Args, Flags } from '@oclif/core' import ora from 'ora' @@ -77,6 +78,29 @@ Requirements: this.error(`Launch pool bucket not found at index ${flags.bucketIndex}. Make sure the bucket has been created.`) } + // Collect destination bucket pubkeys from end behaviors + spinner.text = 'Resolving end behavior destinations...' + const destinationBuckets = new Set() + for (const behavior of bucket.endBehaviors) { + if ('destinationBucket' in behavior) { + destinationBuckets.add(behavior.destinationBucket.toString()) + } + } + + // Build remaining accounts: pairs of (bucket, quote_token_ata) + const remainingAccounts: AccountMeta[] = [] + for (const destBucketStr of destinationBuckets) { + const destBucket = publicKey(destBucketStr) + const [quoteTokenAta] = findAssociatedTokenPda(this.context.umi, { + mint: genesisAccount.quoteMint, + owner: destBucket, + }) + remainingAccounts.push( + { pubkey: destBucket, isSigner: false, isWritable: true }, + { pubkey: quoteTokenAta, isSigner: false, isWritable: true }, + ) + } + // Build the transition transaction spinner.text = 'Executing transition...' const transaction = transitionV2(this.context.umi, { @@ -85,7 +109,7 @@ Requirements: baseMint: genesisAccount.baseMint, quoteMint: genesisAccount.quoteMint, payer: this.context.payer, - }) + }).addRemainingAccounts(remainingAccounts) const result = await umiSendAndConfirmTransaction(this.context.umi, transaction)