diff --git a/.gitignore b/.gitignore index bb69225ce..2a0e4a4ba 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ # testing /coverage +gas-price-comparison.csv # production /build diff --git a/CODEOWNERS b/CODEOWNERS index 871ed3941..f9033ab4c 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -7,7 +7,7 @@ # These owners will be the default owners for everything in # the repo unless a later match takes precedence. -* @mrice32 @nicholaspai @dohaki @james-a-morris +* @mrice32 @nicholaspai @dohaki @james-a-morris @gsteenkamp89 # Serverless api /api/ @mrice32 @nicholaspai @dohaki @james-a-morris @pxrl diff --git a/api-docs-openapi.yaml b/api-docs-openapi.yaml index 65b2a47c9..4e2bf7011 100644 --- a/api-docs-openapi.yaml +++ b/api-docs-openapi.yaml @@ -166,13 +166,15 @@ paths: "quoteBlock": "19237525", "spokePoolAddress": "0xe35e9842fceaCA96570B734083f4a58e8F7C5f2A", "expectedFillTimeSec": "4", - "limits": { + "fillDeadline": "1737033609", + "limits": + { "minDeposit": "7799819", "maxDeposit": "22287428516241", "maxDepositInstant": "201958902363", "maxDepositShortDelay": "2045367713809", - "recommendedDepositInstant": "201958902363" - } + "recommendedDepositInstant": "201958902363", + }, } "400": description: Invalid input @@ -527,8 +529,12 @@ components: description: > The expected time (in seconds) for a fill to be made. Represents 75th percentile of the 7-day rolling average of times (updated daily). Times are dynamic by origin/destination token/chain for a given amount. example: "4" + fillDeadline: + type: string + description: > + The recommended deadline (UNIX timestamp in seconds) for the relayer to fill the deposit. After this destination chain timestamp, the fill will revert on the destination chain. limits: - $ref: '#/components/schemas/TransferLimits' + $ref: "#/components/schemas/TransferLimits" TransferLimits: type: object properties: diff --git a/api/_cache.ts b/api/_cache.ts index 2380cbc62..26d385239 100644 --- a/api/_cache.ts +++ b/api/_cache.ts @@ -73,7 +73,10 @@ export function buildCacheKey( } export function buildInternalCacheKey(...args: (string | number)[]): string { - return buildCacheKey("QUOTES_API", ...args); + return buildCacheKey( + `${process.env.CACHE_PREFIX ? process.env.CACHE_PREFIX + "-" : ""}QUOTES_API`, + ...args + ); } export async function getCachedValue( diff --git a/api/_constants.ts b/api/_constants.ts index 8f1b20d4d..2106b4db1 100644 --- a/api/_constants.ts +++ b/api/_constants.ts @@ -98,6 +98,12 @@ const defaultRelayerFeeCapitalCostConfig: { cutoff: ethers.utils.parseUnits("10000").toString(), decimals: 18, }, + GRASS: { + lowerBound: ethers.utils.parseUnits("0.0001").toString(), + upperBound: ethers.utils.parseUnits("0.0005").toString(), + cutoff: ethers.utils.parseUnits("10000").toString(), + decimals: 18, + }, }; defaultRelayerFeeCapitalCostConfig["USDC.e"] = { diff --git a/api/_errors.ts b/api/_errors.ts index b48ac2651..ee8c77afd 100644 --- a/api/_errors.ts +++ b/api/_errors.ts @@ -210,11 +210,14 @@ export function handleErrorCondition( const { type, path } = error; // Sanitize the error message that will be sent to client const message = `Invalid parameter at path '${path}'. Expected type '${type}'`; - acrossApiError = new InputError({ - message, - code: AcrossErrorCode.INVALID_PARAM, - param: path.join("."), - }); + acrossApiError = new InputError( + { + message, + code: AcrossErrorCode.INVALID_PARAM, + param: path.join("."), + }, + { cause: error } + ); } // Handle axios errors else if (error instanceof AxiosError) { @@ -267,6 +270,7 @@ export function handleErrorCondition( at: endpoint, code: acrossApiError.code, message: `Status ${acrossApiError.status} - ${acrossApiError.message}`, + cause: acrossApiError.cause, }); return response.status(acrossApiError.status).json(acrossApiError); diff --git a/api/_types/utility.types.ts b/api/_types/utility.types.ts index 629d75320..68fcaf589 100644 --- a/api/_types/utility.types.ts +++ b/api/_types/utility.types.ts @@ -21,3 +21,12 @@ export type TokenInfo = { name: string; addresses: Record; }; + +export type DepositRoute = { + originChainId: number; + originToken: string; + destinationChainId: number; + destinationToken: string; + originTokenSymbol: string; + destinationTokenSymbol: string; +}; diff --git a/api/_utils.ts b/api/_utils.ts index 4b94d2296..62d241ef2 100644 --- a/api/_utils.ts +++ b/api/_utils.ts @@ -83,23 +83,13 @@ type RpcProviderName = keyof typeof rpcProvidersJson.providers.urls; const { REACT_APP_HUBPOOL_CHAINID, - REACT_APP_PUBLIC_INFURA_ID, REACT_APP_COINGECKO_PRO_API_KEY, BASE_FEE_MARKUP, PRIORITY_FEE_MARKUP, + OP_STACK_L1_DATA_FEE_MARKUP, VERCEL_ENV, LOG_LEVEL, } = process.env; - -export const baseFeeMarkup: { - [chainId: string]: number; -} = JSON.parse(BASE_FEE_MARKUP || "{}"); -export const priorityFeeMarkup: { - [chainId: string]: number; -} = JSON.parse(PRIORITY_FEE_MARKUP || "{}"); -// Default to no markup. -export const DEFAULT_GAS_MARKUP = 0; - // Don't permit HUB_POOL_CHAIN_ID=0 export const HUB_POOL_CHAIN_ID = Number(REACT_APP_HUBPOOL_CHAINID || 1) as | 1 @@ -161,9 +151,9 @@ export const getLogger = (): LoggingUtility => { const defaultLogLevel = VERCEL_ENV === "production" ? "ERROR" : "DEBUG"; let logLevel = - LOG_LEVEL && !Object.keys(LogLevels).includes(LOG_LEVEL) - ? defaultLogLevel - : (LOG_LEVEL as keyof typeof LogLevels); + LOG_LEVEL && Object.keys(LogLevels).includes(LOG_LEVEL) + ? (LOG_LEVEL as keyof typeof LogLevels) + : defaultLogLevel; logger = { debug: (...args) => { @@ -533,19 +523,6 @@ export const getHubPool = (provider: providers.Provider) => { return HubPool__factory.connect(ENABLED_ROUTES.hubPoolAddress, provider); }; -/** - * Resolves an Infura provider given the name of the ETH network - * @param nameOrChainId The name of an ethereum network - * @returns A valid Ethers RPC provider - */ -export const infuraProvider = (nameOrChainId: providers.Networkish) => { - const url = new ethers.providers.InfuraProvider( - nameOrChainId, - REACT_APP_PUBLIC_INFURA_ID - ).connection.url; - return new ethers.providers.StaticJsonRpcProvider(url); -}; - /** * Resolves a fixed Static RPC provider if an override url has been specified. * @returns A provider or undefined if an override was not specified. @@ -592,11 +569,37 @@ export const getHubPoolClient = () => { ); }; +export const baseFeeMarkup: { + [chainId: string]: number; +} = JSON.parse(BASE_FEE_MARKUP || "{}"); +export const priorityFeeMarkup: { + [chainId: string]: number; +} = JSON.parse(PRIORITY_FEE_MARKUP || "{}"); +export const opStackL1DataFeeMarkup: { + [chainId: string]: number; +} = JSON.parse(OP_STACK_L1_DATA_FEE_MARKUP || "{}"); + +// Conservative values bsaed on existing configurations: +// - base fee gets marked up 1.5x because most chains have a theoretically volatile base fee but practically little +// volume so the base fee doesn't move much. +// - priority fee gets marked up 1.0x because new chains don't have enough volume to move priority +// fees much. +// - op stack l1 data fee gets marked up 1.0x because the op stack l1 data fee is based on ethereum +// base fee. +export const DEFAULT_BASE_FEE_MARKUP = 0.5; +export const DEFAULT_PRIORITY_FEE_MARKUP = 0; +export const DEFAULT_OP_L1_DATA_FEE_MARKUP = 1; + export const getGasMarkup = ( chainId: string | number -): { baseFeeMarkup: BigNumber; priorityFeeMarkup: BigNumber } => { +): { + baseFeeMarkup: BigNumber; + priorityFeeMarkup: BigNumber; + opStackL1DataFeeMarkup: BigNumber; +} => { let _baseFeeMarkup: BigNumber | undefined; let _priorityFeeMarkup: BigNumber | undefined; + let _opStackL1DataFeeMarkup: BigNumber | undefined; if (typeof baseFeeMarkup[chainId] === "number") { _baseFeeMarkup = utils.parseEther((1 + baseFeeMarkup[chainId]).toString()); } @@ -605,33 +608,31 @@ export const getGasMarkup = ( (1 + priorityFeeMarkup[chainId]).toString() ); } + if (typeof opStackL1DataFeeMarkup[chainId] === "number") { + _opStackL1DataFeeMarkup = utils.parseEther( + (1 + opStackL1DataFeeMarkup[chainId]).toString() + ); + } - // Otherwise, use default gas markup (or optimism's for OP stack). + // Otherwise, use default gas markup. if (_baseFeeMarkup === undefined) { - _baseFeeMarkup = utils.parseEther( - ( - 1 + - (sdk.utils.chainIsOPStack(Number(chainId)) - ? baseFeeMarkup[CHAIN_IDs.OPTIMISM] ?? DEFAULT_GAS_MARKUP - : DEFAULT_GAS_MARKUP) - ).toString() - ); + _baseFeeMarkup = utils.parseEther((1 + DEFAULT_BASE_FEE_MARKUP).toString()); } if (_priorityFeeMarkup === undefined) { _priorityFeeMarkup = utils.parseEther( - ( - 1 + - (sdk.utils.chainIsOPStack(Number(chainId)) - ? priorityFeeMarkup[CHAIN_IDs.OPTIMISM] ?? DEFAULT_GAS_MARKUP - : DEFAULT_GAS_MARKUP) - ).toString() + (1 + DEFAULT_PRIORITY_FEE_MARKUP).toString() + ); + } + if (_opStackL1DataFeeMarkup === undefined) { + _opStackL1DataFeeMarkup = utils.parseEther( + (1 + DEFAULT_OP_L1_DATA_FEE_MARKUP).toString() ); } - // Otherwise, use default gas markup (or optimism's for OP stack). return { baseFeeMarkup: _baseFeeMarkup, priorityFeeMarkup: _priorityFeeMarkup, + opStackL1DataFeeMarkup: _opStackL1DataFeeMarkup, }; }; @@ -709,7 +710,7 @@ export const getRelayerFeeDetails = async ( }, tokenPrice: number, relayerAddress: string, - gasPrice: sdk.utils.BigNumberish, + gasPrice?: sdk.utils.BigNumberish, gasUnits?: sdk.utils.BigNumberish, tokenGasCost?: sdk.utils.BigNumberish ): Promise => { @@ -882,7 +883,7 @@ export const getProvider = ( } else if (override) { providerCache[cacheKey] = override; } else { - providerCache[cacheKey] = infuraProvider(_chainId); + throw new Error(`No provider URL set for chain: ${chainId}`); } } return providerCache[cacheKey]; @@ -901,9 +902,10 @@ function getProviderFromConfigJson( const urls = getRpcUrlsFromConfigJson(chainId); if (urls.length === 0) { - console.warn( - `No provider URL found for chainId ${chainId} in rpc-providers.json` - ); + getLogger().warn({ + at: "getProviderFromConfigJson", + message: `No provider URL found for chainId ${chainId} in rpc-providers.json`, + }); return undefined; } @@ -1861,7 +1863,7 @@ export function getLimitsBufferMultiplier(symbol: string) { limitsBufferMultipliers[symbol] || "0.8" ); const multiplierCap = ethers.utils.parseEther("1"); - return bufferMultiplier.gt(multiplierCap) ? multiplierCap : bufferMultiplier; + return minBN(bufferMultiplier, multiplierCap); } export function getChainInputTokenMaxBalanceInUsd( @@ -1946,88 +1948,169 @@ export function isContractCache(chainId: number, address: string) { ); } -export function getCachedFillGasUsage( +export function getCachedNativeGasCost( deposit: Parameters[0], overrides?: Partial<{ - spokePoolAddress: string; relayerAddress: string; }> ) { + // We can use a long TTL since we are fetching only the native gas cost which should rarely change. + // Set this longer than the secondsPerUpdate value in the cron cache gas prices job. const ttlPerChain = { - default: 10, - [CHAIN_IDs.ARBITRUM]: 10, + default: 120, }; - const cacheKey = buildInternalCacheKey( - "fillGasUsage", + "nativeGasCost", deposit.destinationChainId, deposit.outputToken ); - const ttl = ttlPerChain[deposit.destinationChainId] || ttlPerChain.default; const fetchFn = async () => { + const relayerAddress = + overrides?.relayerAddress ?? + sdk.constants.DEFAULT_SIMULATED_RELAYER_ADDRESS; const relayerFeeCalculatorQueries = getRelayerFeeCalculatorQueries( deposit.destinationChainId, overrides ); + const unsignedFillTxn = + await relayerFeeCalculatorQueries.getUnsignedTxFromDeposit( + buildDepositForSimulation(deposit), + relayerAddress + ); + const voidSigner = new ethers.VoidSigner( + relayerAddress, + relayerFeeCalculatorQueries.provider + ); + return voidSigner.estimateGas(unsignedFillTxn); + }; + + return makeCacheGetterAndSetter( + cacheKey, + ttlPerChain.default, + fetchFn, + (nativeGasCostFromCache) => { + return BigNumber.from(nativeGasCostFromCache); + } + ); +} + +export function getCachedOpStackL1DataFee( + deposit: Parameters[0], + nativeGasCost: BigNumber, + overrides?: Partial<{ + relayerAddress: string; + }> +) { + // The L1 data fee should change after each Ethereum block since its based on the L1 base fee. + // However, the L1 base fee should only change by 12.5% at most per block. + // We set this higher than the secondsPerUpdate value in the cron cache gas prices job which will update this + // more frequently. + const ttlPerChain = { + default: 60, + }; + + const cacheKey = buildInternalCacheKey( + "opStackL1DataFee", + deposit.destinationChainId, + deposit.outputToken // This should technically differ based on the output token since the L2 calldata + // size affects the L1 data fee and this calldata can differ based on the output token. + ); + const fetchFn = async () => { // We don't care about the gas token price or the token gas price, only the raw gas units. In the API // we'll compute the gas price separately. - const gasCosts = await relayerFeeCalculatorQueries.getGasCosts( - buildDepositForSimulation(deposit), - overrides?.relayerAddress, - { - // Scale the op stack L1 gas cost component by the base fee multiplier. - // Consider adding a new environment variable OP_STACK_L1_GAS_COST_MARKUP if we want finer-grained control. - opStackL1GasCostMultiplier: getGasMarkup(deposit.destinationChainId) - .baseFeeMarkup, - } + const { opStackL1DataFeeMarkup } = getGasMarkup(deposit.destinationChainId); + const relayerFeeCalculatorQueries = getRelayerFeeCalculatorQueries( + deposit.destinationChainId, + overrides ); - return { - nativeGasCost: gasCosts.nativeGasCost, - tokenGasCost: gasCosts.tokenGasCost, - }; + const unsignedTx = + await relayerFeeCalculatorQueries.getUnsignedTxFromDeposit( + buildDepositForSimulation(deposit), + overrides?.relayerAddress + ); + const opStackL1GasCost = + await relayerFeeCalculatorQueries.getOpStackL1DataFee( + unsignedTx, + overrides?.relayerAddress, + { + opStackL2GasUnits: nativeGasCost, // Passed in here to avoid gas cost recomputation by the SDK + opStackL1DataFeeMultiplier: opStackL1DataFeeMarkup, + } + ); + return opStackL1GasCost; }; - return getCachedValue( + return makeCacheGetterAndSetter( cacheKey, - ttl, + ttlPerChain.default, fetchFn, - (gasCosts: { nativeGasCost: BigNumber; tokenGasCost: BigNumber }) => { - return { - nativeGasCost: BigNumber.from(gasCosts.nativeGasCost), - tokenGasCost: BigNumber.from(gasCosts.tokenGasCost), - }; + (l1DataFeeFromCache) => { + return BigNumber.from(l1DataFeeFromCache); } ); } -export function latestGasPriceCache(chainId: number) { +export function latestGasPriceCache( + chainId: number, + deposit?: Parameters[0], + overrides?: Partial<{ + relayerAddress: string; + }> +) { + // We set this higher than the secondsPerUpdate value in the cron cache gas prices job which will update this + // more frequently. const ttlPerChain = { default: 30, - [CHAIN_IDs.ARBITRUM]: 15, }; - return makeCacheGetterAndSetter( - buildInternalCacheKey("latestGasPriceCache", chainId), - ttlPerChain[chainId] || ttlPerChain.default, - async () => (await getMaxFeePerGas(chainId)).maxFeePerGas, - (bnFromCache) => BigNumber.from(bnFromCache) + // If deposit is defined, then the gas price will be dependent on the fill transaction derived from the deposit. + // Therefore, we technically should cache a different gas price per different types of deposit so we add + // an additional outputToken to the cache key to distinguish between gas prices dependent on deposit args + // for different output tokens, which should be the main factor affecting the fill gas cost. + buildInternalCacheKey( + `latestGasPriceCache${deposit ? `-${deposit.outputToken}` : ""}`, + chainId + ), + ttlPerChain.default, + async () => await getMaxFeePerGas(chainId, deposit, overrides), + (gasPrice: sdk.gasPriceOracle.GasPriceEstimate) => { + return { + maxFeePerGas: BigNumber.from(gasPrice.maxFeePerGas), + maxPriorityFeePerGas: BigNumber.from(gasPrice.maxPriorityFeePerGas), + }; + } ); } -/** - * Resolve the current gas price for a given chain - * @param chainId The chain ID to resolve the gas price for - * @returns The gas price in the native currency of the chain - */ -export function getMaxFeePerGas( - chainId: number +export async function getMaxFeePerGas( + chainId: number, + deposit?: Parameters[0], + overrides?: Partial<{ + relayerAddress: string; + }> ): Promise { + if (deposit && deposit.destinationChainId !== chainId) { + throw new Error( + "Chain ID must match the destination chain ID of the deposit" + ); + } const { baseFeeMarkup: baseFeeMultiplier, priorityFeeMarkup: priorityFeeMultiplier, } = getGasMarkup(chainId); + const relayerFeeCalculatorQueries = getRelayerFeeCalculatorQueries( + chainId, + overrides + ); + const unsignedFillTxn = deposit + ? await relayerFeeCalculatorQueries.getUnsignedTxFromDeposit( + buildDepositForSimulation(deposit), + overrides?.relayerAddress + ) + : undefined; return sdk.gasPriceOracle.getGasPriceEstimate(getProvider(chainId), { chainId, + unsignedTx: unsignedFillTxn, baseFeeMultiplier, priorityFeeMultiplier, }); diff --git a/api/cron-cache-gas-costs.ts b/api/cron-cache-gas-costs.ts new file mode 100644 index 000000000..a2e6a6da8 --- /dev/null +++ b/api/cron-cache-gas-costs.ts @@ -0,0 +1,152 @@ +import { VercelResponse } from "@vercel/node"; +import { DepositRoute, TypedVercelRequest } from "./_types"; +import { + HUB_POOL_CHAIN_ID, + getCachedNativeGasCost, + getLogger, + handleErrorCondition, + resolveVercelEndpoint, +} from "./_utils"; +import { UnauthorizedError } from "./_errors"; + +import mainnetChains from "../src/data/chains_1.json"; +import { utils, constants } from "@across-protocol/sdk"; +import { DEFAULT_SIMULATED_RECIPIENT_ADDRESS } from "./_constants"; +import axios from "axios"; +import { ethers } from "ethers"; + +// Set lower than TTL in getCachedNativeGasCost. This should rarely change so we should just make sure +// we keep this cache warm. +const updateIntervalsSecPerChain = { + default: 30, +}; + +const maxDurationSec = 60; + +const getDepositArgsForChainId = (chainId: number, tokenAddress: string) => { + return { + amount: ethers.BigNumber.from(100), + inputToken: constants.ZERO_ADDRESS, + outputToken: tokenAddress, + recipientAddress: DEFAULT_SIMULATED_RECIPIENT_ADDRESS, + originChainId: 0, // Shouldn't matter for simulation + destinationChainId: Number(chainId), + }; +}; + +const handler = async ( + request: TypedVercelRequest>, + response: VercelResponse +) => { + const logger = getLogger(); + logger.debug({ + at: "CronCacheGasCosts", + message: "Starting cron job...", + }); + try { + const authHeader = request.headers?.["authorization"]; + if ( + !process.env.CRON_SECRET || + authHeader !== `Bearer ${process.env.CRON_SECRET}` + ) { + throw new UnauthorizedError(); + } + + // Skip cron job on testnet + if (HUB_POOL_CHAIN_ID !== 1) { + logger.info({ + at: "CronCacheGasCosts", + message: "Skipping cron job on testnet", + }); + return; + } + + const availableRoutes = ( + await axios(`${resolveVercelEndpoint()}/api/available-routes`) + ).data as Array; + + // This marks the timestamp when the function started + const functionStart = Date.now(); + + const updateCounts: Record> = {}; + + /** + * @notice Updates the native gas cost cache every `updateNativeGasCostIntervalsSecPerChain` seconds + * up to `maxDurationSec` seconds. + * @param chainId Chain to estimate gas cost for + * @param outputTokenAddress This output token will be used to construct a fill transaction to simulate + * gas costs for. + */ + const updateNativeGasCostPromise = async ( + chainId: number, + outputTokenAddress: string + ): Promise => { + updateCounts[chainId] ??= {}; + updateCounts[chainId][outputTokenAddress] ??= 0; + const secondsPerUpdate = updateIntervalsSecPerChain.default; + const depositArgs = getDepositArgsForChainId(chainId, outputTokenAddress); + const cache = getCachedNativeGasCost(depositArgs); + + while (true) { + const diff = Date.now() - functionStart; + // Stop after `maxDurationSec` seconds + if (diff >= maxDurationSec * 1000) { + break; + } + try { + await cache.set(); + updateCounts[chainId][outputTokenAddress]++; + } catch (err) { + logger.warn({ + at: "CronCacheGasCosts#updateNativeGasCostPromise", + message: `Failed to set native gas cost cache for chain ${chainId}`, + depositArgs, + error: err, + }); + } + await utils.delay(secondsPerUpdate); + } + }; + + const getOutputTokensToChain = (chainId: number) => { + const destinationTokens = new Set(); + availableRoutes + .filter(({ destinationChainId }) => destinationChainId === chainId) + .forEach(({ destinationToken }) => { + if (!destinationTokens.has(destinationToken)) { + destinationTokens.add(destinationToken); + } + }); + return Array.from(destinationTokens); + }; + + const cacheUpdatePromise = Promise.all( + mainnetChains.map(async (chain) => { + await Promise.all( + getOutputTokensToChain(chain.chainId).map((outputToken) => + updateNativeGasCostPromise(chain.chainId, outputToken) + ) + ); + }) + ); + // There are many routes and therefore many promises to wait to resolve so we force the + // function to stop after `maxDurationSec` seconds. + await Promise.race([cacheUpdatePromise, utils.delay(maxDurationSec)]); + + logger.debug({ + at: "CronCacheGasCosts", + message: "Finished", + updateCounts, + }); + response.status(200).json({ updateCounts }); + } catch (error: unknown) { + return handleErrorCondition( + "cron-cache-gas-costs", + response, + logger, + error + ); + } +}; + +export default handler; diff --git a/api/cron-cache-gas-prices.ts b/api/cron-cache-gas-prices.ts index ea494f9c6..f7e94b081 100644 --- a/api/cron-cache-gas-prices.ts +++ b/api/cron-cache-gas-prices.ts @@ -1,23 +1,38 @@ import { VercelResponse } from "@vercel/node"; -import { TypedVercelRequest } from "./_types"; +import { DepositRoute, TypedVercelRequest } from "./_types"; import { HUB_POOL_CHAIN_ID, getLogger, handleErrorCondition, latestGasPriceCache, + resolveVercelEndpoint, } from "./_utils"; import { UnauthorizedError } from "./_errors"; import mainnetChains from "../src/data/chains_1.json"; -import { utils } from "@across-protocol/sdk"; +import { utils, constants } from "@across-protocol/sdk"; +import { CHAIN_IDs, DEFAULT_SIMULATED_RECIPIENT_ADDRESS } from "./_constants"; +import axios from "axios"; +import { ethers } from "ethers"; +// Set lower than TTL in latestGasPriceCache const updateIntervalsSecPerChain = { - default: 10, - 1: 12, + default: 5, }; const maxDurationSec = 60; +const getDepositArgsForChainId = (chainId: number, tokenAddress: string) => { + return { + amount: ethers.BigNumber.from(100), + inputToken: constants.ZERO_ADDRESS, + outputToken: tokenAddress, + recipientAddress: DEFAULT_SIMULATED_RECIPIENT_ADDRESS, + originChainId: 0, // Shouldn't matter for simulation + destinationChainId: Number(chainId), + }; +}; + const handler = async ( request: TypedVercelRequest>, response: VercelResponse @@ -45,19 +60,31 @@ const handler = async ( return; } + const availableRoutes = ( + await axios(`${resolveVercelEndpoint()}/api/available-routes`) + ).data as Array; + // This marks the timestamp when the function started const functionStart = Date.now(); - // The minimum interval for Vercel Serverless Functions cron jobs is 1 minute. - // But we want to update gas prices more frequently than that. - // To circumvent this, we run the function in a loop and update gas prices every - // `secondsPerUpdateForChain` seconds and stop after `maxDurationSec` seconds (1 minute). - const gasPricePromises = mainnetChains.map(async (chain) => { - const secondsPerUpdateForChain = - updateIntervalsSecPerChain[ - chain.chainId as keyof typeof updateIntervalsSecPerChain - ] || updateIntervalsSecPerChain.default; - const cache = latestGasPriceCache(chain.chainId); + const updateCounts: Record = {}; + + /** + * @notice Updates the gas price cache every `updateIntervalsSecPerChain` seconds up to `maxDurationSec` seconds. + * @param chainId Chain to estimate gas price for + * @param outputTokenAddress Optional param to set if the gas price is dependent on the calldata of the transaction + * to be submitted on the chainId. This output token will be used to construct a fill transaction to simulate. + */ + const updateGasPricePromise = async ( + chainId: number, + outputTokenAddress?: string + ): Promise => { + updateCounts[chainId] ??= 0; + const secondsPerUpdateForChain = updateIntervalsSecPerChain.default; + const depositArgs = outputTokenAddress + ? getDepositArgsForChainId(chainId, outputTokenAddress) + : undefined; + const cache = latestGasPriceCache(chainId, depositArgs); while (true) { const diff = Date.now() - functionStart; @@ -65,18 +92,55 @@ const handler = async ( if (diff >= maxDurationSec * 1000) { break; } - await cache.set(); + try { + await cache.set(); + updateCounts[chainId]++; + } catch (err) { + logger.warn({ + at: "CronCacheGasPrices#updateGasPricePromise", + message: `Failed to set gas price cache for chain ${chainId}`, + depositArgs, + error: err, + }); + } await utils.delay(secondsPerUpdateForChain); } - }); - await Promise.all(gasPricePromises); + }; + + const lineaDestinationRoutes = () => { + const routes = new Set(); + availableRoutes + .filter( + ({ destinationChainId }) => destinationChainId === CHAIN_IDs.LINEA + ) + .forEach(({ destinationToken }) => routes.add(destinationToken)); + return Array.from(routes); + }; + // The minimum interval for Vercel Serverless Functions cron jobs is 1 minute. + // But we want to update gas data more frequently than that. + // To circumvent this, we run the function in a loop and update gas prices every + // `secondsPerUpdateForChain` seconds and stop after `maxDurationSec` seconds (1 minute). + await Promise.all([ + // @dev Linea gas prices are dependent on the L2 calldata to be submitted so compute one gas price for each output token, + // so we compute one gas price per output token for Linea + Promise.all( + mainnetChains + .filter((chain) => chain.chainId !== CHAIN_IDs.LINEA) + .map((chain) => updateGasPricePromise(chain.chainId)) + ), + Promise.all( + lineaDestinationRoutes().map((destinationToken) => + updateGasPricePromise(CHAIN_IDs.LINEA, destinationToken) + ) + ), + ]); logger.debug({ at: "CronCacheGasPrices", message: "Finished", + updateCounts, }); - response.status(200); - response.send("OK"); + response.status(200).json({ updateCounts }); } catch (error: unknown) { return handleErrorCondition( "cron-cache-gas-prices", diff --git a/api/cron-cache-l1-data-fee.ts b/api/cron-cache-l1-data-fee.ts new file mode 100644 index 000000000..483088469 --- /dev/null +++ b/api/cron-cache-l1-data-fee.ts @@ -0,0 +1,158 @@ +import { VercelResponse } from "@vercel/node"; +import { DepositRoute, TypedVercelRequest } from "./_types"; +import { + HUB_POOL_CHAIN_ID, + getCachedNativeGasCost, + getCachedOpStackL1DataFee, + getLogger, + handleErrorCondition, + resolveVercelEndpoint, +} from "./_utils"; +import { UnauthorizedError } from "./_errors"; + +import mainnetChains from "../src/data/chains_1.json"; +import { utils, constants } from "@across-protocol/sdk"; +import { DEFAULT_SIMULATED_RECIPIENT_ADDRESS } from "./_constants"; +import axios from "axios"; +import { ethers } from "ethers"; + +// Set lower than TTL in getCachedOpStackL1DataFee +// Set lower than the L1 block time so we can try to get as up to date L1 data fees based on L1 base fees as possible. +const updateIntervalsSecPerChain = { + default: 10, +}; + +const maxDurationSec = 60; + +const getDepositArgsForChainId = (chainId: number, tokenAddress: string) => { + return { + amount: ethers.BigNumber.from(100), + inputToken: constants.ZERO_ADDRESS, + outputToken: tokenAddress, + recipientAddress: DEFAULT_SIMULATED_RECIPIENT_ADDRESS, + originChainId: 0, // Shouldn't matter for simulation + destinationChainId: Number(chainId), + }; +}; + +const handler = async ( + request: TypedVercelRequest>, + response: VercelResponse +) => { + const logger = getLogger(); + logger.debug({ + at: "CronCacheL1DataFee", + message: "Starting cron job...", + }); + try { + const authHeader = request.headers?.["authorization"]; + if ( + !process.env.CRON_SECRET || + authHeader !== `Bearer ${process.env.CRON_SECRET}` + ) { + throw new UnauthorizedError(); + } + + // Skip cron job on testnet + if (HUB_POOL_CHAIN_ID !== 1) { + logger.info({ + at: "CronCacheL1DataFee", + message: "Skipping cron job on testnet", + }); + return; + } + + const availableRoutes = ( + await axios(`${resolveVercelEndpoint()}/api/available-routes`) + ).data as Array; + + // This marks the timestamp when the function started + const functionStart = Date.now(); + + const updateCounts: Record> = {}; + + /** + * @notice Updates the L1 data fee gas cost cache every `updateL1DataFeeIntervalsSecPerChain` seconds + * up to `maxDurationSec` seconds. + * @param chainId Chain to estimate l1 data fee for + * @param outputTokenAddress This output token will be used to construct a fill transaction to simulate + * gas costs for. + */ + const updateL1DataFeePromise = async ( + chainId: number, + outputTokenAddress: string + ): Promise => { + updateCounts[chainId] ??= {}; + updateCounts[chainId][outputTokenAddress] ??= 0; + const secondsPerUpdate = updateIntervalsSecPerChain.default; + const depositArgs = getDepositArgsForChainId(chainId, outputTokenAddress); + const gasCostCache = getCachedNativeGasCost(depositArgs); + + while (true) { + const diff = Date.now() - functionStart; + // Stop after `maxDurationSec` seconds + if (diff >= maxDurationSec * 1000) { + break; + } + const gasCost = await gasCostCache.get(); + const cache = getCachedOpStackL1DataFee(depositArgs, gasCost); + try { + await cache.set(); + updateCounts[chainId][outputTokenAddress]++; + } catch (err) { + logger.warn({ + at: "CronCacheL1DataFee#updateL1DataFeePromise", + message: `Failed to set l1 data fee cache for chain ${chainId}`, + depositArgs, + gasCost, + error: err, + }); + } + await utils.delay(secondsPerUpdate); + } + }; + + const getOutputTokensToChain = (chainId: number) => { + const destinationTokens = new Set(); + availableRoutes + .filter(({ destinationChainId }) => destinationChainId === chainId) + .forEach(({ destinationToken }) => { + if (!destinationTokens.has(destinationToken)) { + destinationTokens.add(destinationToken); + } + }); + return Array.from(destinationTokens); + }; + + const cacheUpdatePromise = Promise.all( + mainnetChains + .filter((chain) => utils.chainIsOPStack(chain.chainId)) + .map(async (chain) => { + await Promise.all( + getOutputTokensToChain(chain.chainId).map((outputToken) => + updateL1DataFeePromise(chain.chainId, outputToken) + ) + ); + }) + ); + // There are many routes and therefore many promises to wait to resolve so we force the + // function to stop after `maxDurationSec` seconds. + await Promise.race([cacheUpdatePromise, utils.delay(maxDurationSec)]); + + logger.debug({ + at: "CronCacheL1DataFee", + message: "Finished", + updateCounts, + }); + response.status(200).json({ updateCounts }); + } catch (error: unknown) { + return handleErrorCondition( + "cron-cache-l1-data-fee", + response, + logger, + error + ); + } +}; + +export default handler; diff --git a/api/cron-ping-endpoints.ts b/api/cron-ping-endpoints.ts index 7656eddb0..6bdc1fe2d 100644 --- a/api/cron-ping-endpoints.ts +++ b/api/cron-ping-endpoints.ts @@ -24,6 +24,51 @@ const endpoints = [ }, updateIntervalSec: 10, }, + { + url: "https://preview.across.to/api/swap/auth", + params: { + amount: ethers.utils.parseUnits("1", 6).toString(), + tradeType: "minOutput", + inputToken: TOKEN_SYMBOLS_MAP.USDC.addresses[CHAIN_IDs.ARBITRUM], + originChainId: CHAIN_IDs.ARBITRUM, + outputToken: TOKEN_SYMBOLS_MAP.USDC.addresses[CHAIN_IDs.OPTIMISM], + destinationChainId: CHAIN_IDs.OPTIMISM, + depositor: "0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D", + skipOriginTxEstimation: true, + refundOnOrigin: false, + }, + updateIntervalSec: 10, + }, + { + url: "https://preview.across.to/api/swap/permit", + params: { + amount: ethers.utils.parseUnits("1", 6).toString(), + tradeType: "minOutput", + inputToken: TOKEN_SYMBOLS_MAP.USDC.addresses[CHAIN_IDs.ARBITRUM], + originChainId: CHAIN_IDs.ARBITRUM, + outputToken: TOKEN_SYMBOLS_MAP.USDC.addresses[CHAIN_IDs.OPTIMISM], + destinationChainId: CHAIN_IDs.OPTIMISM, + depositor: "0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D", + skipOriginTxEstimation: true, + refundOnOrigin: false, + }, + updateIntervalSec: 10, + }, + { + url: "https://preview.across.to/api/swap", + params: { + amount: ethers.utils.parseUnits("1", 6).toString(), + tradeType: "minOutput", + inputToken: TOKEN_SYMBOLS_MAP.USDC.addresses[CHAIN_IDs.ARBITRUM], + originChainId: CHAIN_IDs.ARBITRUM, + outputToken: TOKEN_SYMBOLS_MAP.USDC.addresses[CHAIN_IDs.OPTIMISM], + destinationChainId: CHAIN_IDs.OPTIMISM, + depositor: "0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D", + skipOriginTxEstimation: true, + refundOnOrigin: false, + }, + updateIntervalSec: 10, + }, ]; const maxDurationSec = 60; diff --git a/api/gas-prices.ts b/api/gas-prices.ts index fecf59694..83ac3dc5c 100644 --- a/api/gas-prices.ts +++ b/api/gas-prices.ts @@ -1,20 +1,20 @@ import { VercelResponse } from "@vercel/node"; import { - buildDepositForSimulation, + getCachedNativeGasCost, + getCachedOpStackL1DataFee, getGasMarkup, getLogger, - getMaxFeePerGas, - getRelayerFeeCalculatorQueries, handleErrorCondition, + latestGasPriceCache, sendResponse, } from "./_utils"; import { TypedVercelRequest } from "./_types"; -import { ethers, providers, VoidSigner } from "ethers"; +import { ethers } from "ethers"; import * as sdk from "@across-protocol/sdk"; -import { L2Provider } from "@eth-optimism/sdk/dist/interfaces/l2-provider"; import mainnetChains from "../src/data/chains_1.json"; import { + CHAIN_IDs, DEFAULT_SIMULATED_RECIPIENT_ADDRESS, TOKEN_SYMBOLS_MAP, } from "./_constants"; @@ -27,6 +27,16 @@ const QueryParamsSchema = object({ }); type QueryParams = Infer; +const getDepositArgsForChainId = (chainId: number, tokenAddress: string) => { + return { + amount: ethers.BigNumber.from(100), + inputToken: sdk.constants.ZERO_ADDRESS, + outputToken: tokenAddress, + recipientAddress: DEFAULT_SIMULATED_RECIPIENT_ADDRESS, + originChainId: 0, // Shouldn't matter for simulation + destinationChainId: Number(chainId), + }; +}; const handler = async ( { query }: TypedVercelRequest, response: VercelResponse @@ -46,70 +56,37 @@ const handler = async ( }) .filter(([, tokenAddress]) => tokenAddress !== undefined) ); - // getMaxFeePerGas will return the gas price after including the baseFeeMultiplier. - const gasPrices = await Promise.all( - Object.keys(chainIdsWithToken).map((chainId) => { - return getMaxFeePerGas(Number(chainId)); + const gasData = await Promise.all( + Object.entries(chainIdsWithToken).map(([chainId, tokenAddress]) => { + const depositArgs = getDepositArgsForChainId( + Number(chainId), + tokenAddress + ); + return Promise.all([ + getCachedNativeGasCost(depositArgs).get(), + latestGasPriceCache( + Number(chainId), + CHAIN_IDs.LINEA === Number(chainId) ? depositArgs : undefined + ).get(), + ]); }) ); + // We query the following gas costs after gas prices because token gas costs and op stack l1 gas costs + // depend on the gas price and native gas unit results. const gasCosts = await Promise.all( Object.entries(chainIdsWithToken).map( async ([chainId, tokenAddress], i) => { - // This is a dummy deposit used to pass into buildDepositForSimulation() to build a fill transaction - // that we can simulate without reversion. The only parameter that matters is that the destinationChainId - // is set to the spoke pool's chain ID we'll be simulating the fill call on. - const depositArgs = { - amount: ethers.BigNumber.from(100), - inputToken: sdk.constants.ZERO_ADDRESS, - outputToken: tokenAddress, - recipientAddress: DEFAULT_SIMULATED_RECIPIENT_ADDRESS, - originChainId: 0, // Shouldn't matter for simulation - destinationChainId: Number(chainId), - }; - const deposit = buildDepositForSimulation(depositArgs); - const relayerFeeCalculatorQueries = getRelayerFeeCalculatorQueries( - Number(chainId) + const depositArgs = getDepositArgsForChainId( + Number(chainId), + tokenAddress ); - const opStackL1GasCostMultiplier = getGasMarkup( - Number(chainId) - ).baseFeeMarkup; - const { nativeGasCost, tokenGasCost } = - await relayerFeeCalculatorQueries.getGasCosts( - deposit, - relayerFeeCalculatorQueries.simulatedRelayerAddress, - { - // Pass in the already-computed gasPrice into this query so that the tokenGasCost includes - // the scaled gas price, - // e.g. tokenGasCost = nativeGasCost * (baseFee * baseFeeMultiplier + priorityFee). - gasPrice: gasPrices[i].maxFeePerGas, - opStackL1GasCostMultiplier, - } - ); - // OPStack chains factor in the L1 gas cost of including the L2 transaction in an L1 rollup batch - // into the total gas cost of the L2 transaction. - let opStackL1GasCost: ethers.BigNumber | undefined = undefined; - if (sdk.utils.chainIsOPStack(Number(chainId))) { - const provider = relayerFeeCalculatorQueries.provider; - const _unsignedTx = await sdk.utils.populateV3Relay( - relayerFeeCalculatorQueries.spokePool, - deposit, - relayerFeeCalculatorQueries.simulatedRelayerAddress - ); - const voidSigner = new VoidSigner( - relayerFeeCalculatorQueries.simulatedRelayerAddress, - relayerFeeCalculatorQueries.provider - ); - const unsignedTx = await voidSigner.populateTransaction({ - ..._unsignedTx, - gasLimit: nativeGasCost, // prevents additional gas estimation call - }); - opStackL1GasCost = await ( - provider as L2Provider - ).estimateL1GasCost(unsignedTx); - opStackL1GasCost = opStackL1GasCostMultiplier - .mul(opStackL1GasCost) - .div(sdk.utils.fixedPointAdjustment); - } + const [nativeGasCost, gasPrice] = gasData[i]; + const opStackL1GasCost = sdk.utils.chainIsOPStack(Number(chainId)) + ? await getCachedOpStackL1DataFee(depositArgs, nativeGasCost).get() + : undefined; + const tokenGasCost = nativeGasCost + .mul(gasPrice.maxFeePerGas) + .add(opStackL1GasCost ?? ethers.BigNumber.from("0")); return { nativeGasCost, tokenGasCost, @@ -124,12 +101,12 @@ const handler = async ( Object.keys(chainIdsWithToken).map((chainId, i) => [ chainId, { - gasPrice: gasPrices[i].maxFeePerGas.toString(), + gasPrice: gasData[i][1].maxFeePerGas.toString(), gasPriceComponents: { - maxFeePerGas: gasPrices[i].maxFeePerGas - .sub(gasPrices[i].maxPriorityFeePerGas) + maxFeePerGas: gasData[i][1].maxFeePerGas + .sub(gasData[i][1].maxPriorityFeePerGas) .toString(), - priorityFeePerGas: gasPrices[i].maxPriorityFeePerGas.toString(), + priorityFeePerGas: gasData[i][1].maxPriorityFeePerGas.toString(), baseFeeMultiplier: ethers.utils.formatEther( getGasMarkup(chainId).baseFeeMarkup ), @@ -139,7 +116,9 @@ const handler = async ( opStackL1GasCostMultiplier: sdk.utils.chainIsOPStack( Number(chainId) ) - ? ethers.utils.formatEther(getGasMarkup(chainId).baseFeeMarkup) + ? ethers.utils.formatEther( + getGasMarkup(chainId).opStackL1DataFeeMarkup + ) : undefined, }, nativeGasCost: gasCosts[i].nativeGasCost.toString(), diff --git a/api/limits.ts b/api/limits.ts index fcfc29a33..e4fead88f 100644 --- a/api/limits.ts +++ b/api/limits.ts @@ -3,7 +3,7 @@ import { VercelResponse } from "@vercel/node"; import { BigNumber, ethers } from "ethers"; import { CHAIN_IDs, DEFAULT_SIMULATED_RECIPIENT_ADDRESS } from "./_constants"; import { TokenInfo, TypedVercelRequest } from "./_types"; -import { object, assert, Infer, optional, string } from "superstruct"; +import { assert, Infer, optional, string, type } from "superstruct"; import { ENABLED_ROUTES, @@ -32,12 +32,13 @@ import { getCachedLatestBlock, parsableBigNumberString, validateDepositMessage, - getCachedFillGasUsage, latestGasPriceCache, + getCachedNativeGasCost, + getCachedOpStackL1DataFee, } from "./_utils"; import { MissingParamError } from "./_errors"; -const LimitsQueryParamsSchema = object({ +const LimitsQueryParamsSchema = type({ token: optional(validAddress()), inputToken: optional(validAddress()), outputToken: optional(validAddress()), @@ -164,39 +165,50 @@ const handler = async ( message, }; - const [tokenPriceNative, _tokenPriceUsd, latestBlock, gasCosts, gasPrice] = - await Promise.all([ - getCachedTokenPrice( - l1Token.address, + const [ + tokenPriceNative, + _tokenPriceUsd, + latestBlock, + { maxFeePerGas: gasPrice }, + nativeGasCost, + ] = await Promise.all([ + getCachedTokenPrice( + l1Token.address, + sdk.constants.CUSTOM_GAS_TOKENS[destinationChainId]?.toLowerCase() ?? sdk.utils.getNativeTokenSymbol(destinationChainId).toLowerCase() - ), - getCachedTokenPrice(l1Token.address, "usd"), - getCachedLatestBlock(HUB_POOL_CHAIN_ID), - // Only use cached gas units if message is not defined, i.e. standard for standard bridges - isMessageDefined - ? undefined - : getCachedFillGasUsage(depositArgs, { - relayerAddress: relayer, - }), - latestGasPriceCache(destinationChainId).get(), - ]); + ), + getCachedTokenPrice(l1Token.address, "usd"), + getCachedLatestBlock(HUB_POOL_CHAIN_ID), + // We only want to derive an unsigned fill txn from the deposit args if the destination chain is Linea + // because only Linea's priority fee depends on the destination chain call data. + latestGasPriceCache( + destinationChainId, + CHAIN_IDs.LINEA === destinationChainId ? depositArgs : undefined, + { + relayerAddress: relayer, + } + ).get(), + isMessageDefined + ? undefined // Only use cached gas units if message is not defined, i.e. standard for standard bridges + : getCachedNativeGasCost(depositArgs, { + relayerAddress: relayer, + }).get(), + ]); const tokenPriceUsd = ethers.utils.parseUnits(_tokenPriceUsd.toString()); const [ - relayerFeeDetails, + opStackL1GasCost, multicallOutput, fullRelayerBalances, transferRestrictedBalances, fullRelayerMainnetBalances, ] = await Promise.all([ - getRelayerFeeDetails( - depositArgs, - tokenPriceNative, - relayer, - gasPrice, - gasCosts?.nativeGasCost, - gasCosts?.tokenGasCost - ), + nativeGasCost && sdk.utils.chainIsOPStack(destinationChainId) + ? // Only use cached gas units if message is not defined, i.e. standard for standard bridges + getCachedOpStackL1DataFee(depositArgs, nativeGasCost, { + relayerAddress: relayer, + }).get() + : undefined, callViaMulticall3(provider, multiCalls, { blockTag: latestBlock.number, }), @@ -226,6 +238,22 @@ const handler = async ( ) ), ]); + const tokenGasCost = + nativeGasCost && gasPrice + ? nativeGasCost + .mul(gasPrice) + .add(opStackL1GasCost ?? ethers.BigNumber.from("0")) + : undefined; + // This call should not make any additional RPC queries since we are passing in gasPrice, nativeGasCost + // and tokenGasCost. + const relayerFeeDetails = await getRelayerFeeDetails( + depositArgs, + tokenPriceNative, + relayer, + gasPrice, + nativeGasCost, + tokenGasCost + ); logger.debug({ at: "Limits", message: "Relayer fee details from SDK", @@ -274,8 +302,10 @@ const handler = async ( getLpCushion(l1Token.symbol, computedOriginChainId, destinationChainId), l1Token.decimals ); - liquidReserves = liquidReserves.sub(lpCushion); - if (liquidReserves.lt(0)) liquidReserves = ethers.BigNumber.from(0); + liquidReserves = maxBN( + liquidReserves.sub(lpCushion), + ethers.BigNumber.from(0) + ); maxDepositInstant = minBN(maxDepositInstant, liquidReserves); maxDepositShortDelay = minBN(maxDepositShortDelay, liquidReserves); @@ -390,15 +420,23 @@ const handler = async ( capitalFeeTotal: relayerFeeDetails.capitalFeeTotal, capitalFeePercent: relayerFeeDetails.capitalFeePercent, }, + gasFeeDetails: tokenGasCost + ? { + nativeGasCost: nativeGasCost!.toString(), // Should exist if tokenGasCost exists + opStackL1GasCost: opStackL1GasCost?.toString(), + gasPrice: gasPrice.toString(), + tokenGasCost: tokenGasCost.toString(), + } + : undefined, }; logger.debug({ at: "Limits", message: "Response data", responseJson, }); - // Respond with a 200 status code and 10 seconds of cache with - // 45 seconds of stale-while-revalidate. - sendResponse(response, responseJson, 200, 10, 45); + // Respond with a 200 status code and 1 second of cache time with + // 59s to keep serving the stale data while recomputing the cached value. + sendResponse(response, responseJson, 200, 1, 59); } catch (error: unknown) { return handleErrorCondition("limits", response, logger, error); } diff --git a/package.json b/package.json index 6ec93dc78..ff19eb18e 100644 --- a/package.json +++ b/package.json @@ -4,10 +4,10 @@ "private": true, "license": "AGPL-3.0-only", "dependencies": { - "@across-protocol/constants": "^3.1.24", - "@across-protocol/contracts": "^3.0.19", + "@across-protocol/constants": "^3.1.30", + "@across-protocol/contracts": "^3.0.25", "@across-protocol/contracts-v3.0.6": "npm:@across-protocol/contracts@3.0.6", - "@across-protocol/sdk": "^3.4.7", + "@across-protocol/sdk": "^3.4.12", "@amplitude/analytics-browser": "^2.3.5", "@balancer-labs/sdk": "1.1.6-beta.16", "@emotion/react": "^11.13.0", @@ -49,11 +49,12 @@ "react-router-dom": "v5", "react-tooltip": "^5.18.0", "superstruct": "^0.15.4", - "typescript": "^5.5.2" + "typescript": "^5.7.3" }, "scripts": { "start": "export REACT_APP_GIT_COMMIT_HASH=$(git rev-parse HEAD) && vite", "dev": "export REACT_APP_GIT_COMMIT_HASH=$(git rev-parse HEAD) && vite --port $PORT --host", + "dev:api": "vercel dev --listen 127.0.0.1:3000", "build": "yarn prebuild && export REACT_APP_GIT_COMMIT_HASH=$(git rev-parse HEAD) && tsc && vite build", "prebuild": "tsx scripts/pre-build.ts", "analyze": "yarn build && rollup-plugin-visualizer --open ./bundle-size-analysis.json", @@ -82,7 +83,8 @@ "generate:routes:mainnet": "yarn generate:routes 1", "generate:routes:testnet": "yarn generate:routes 11155111", "generate:chain-config": "tsx scripts/generate-chain-config.ts", - "generate:ui-assets": "tsx scripts/generate-ui-assets.ts" + "generate:ui-assets": "tsx scripts/generate-ui-assets.ts", + "gas-prices": "tsx scripts/gas-prices.ts" }, "lint-staged": { "*.{jsx,tsx,js,ts}": [ @@ -133,7 +135,7 @@ "@types/react": "v18", "@types/react-dom": "v18", "@types/react-router-dom": "5.3.3", - "@vercel/node": "^2.5.13", + "@vercel/node": "^5.0.2", "@vitejs/plugin-react": "^4.0.1", "axios-mock-adapter": "^1.21.2", "babel-cli": "^6.26.0", @@ -161,9 +163,11 @@ "serve": "^14.0.1", "storybook": "^7.5.3", "ts-jest": "^29.1.1", + "ts-node": "^10.9.2", "tsconfig-paths-webpack-plugin": "^4.0.0", "tsx": "^4.15.6", "typescript-eslint": "^7.13.1", + "vercel": "^39.3.0", "vite": "^4.3.9", "vite-plugin-environment": "^1.1.3", "vite-plugin-eslint": "^1.8.1", @@ -180,18 +184,28 @@ } }, "resolutions": { - "//": "See https://github.com/facebook/create-react-app/issues/11773 ", - "react-error-overlay": "6.0.9", "babel-loader": "8.1.0", "**/eccrypto/secp256k1": "3.8.1", "**/eth-crypto/secp256k1": "5.0.1", "**/libp2p-crypto/secp256k1": "4.0.4", - "**/ethereum-cryptography/secp256k1": "4.0.4" + "**/ethereum-cryptography/secp256k1": "4.0.4", + "**/@vercel/node/ts-node": "10.9.2", + "**/@vercel/node/typescript": "5.7.3", + "**/@vercel/node/path-to-regexp": "6.3.0", + "**/@vercel/routing-utils/path-to-regexp": "6.3.0" }, "overrides": { "secp256k1@3.7.1": "3.8.1", "secp256k1@4.0.3": "4.0.4", - "secp256k1@5.0.0": "5.0.1" + "secp256k1@5.0.0": "5.0.1", + "@vercel/node": { + "ts-node": "10.9.2", + "typescript": "5.7.3", + "path-to-regexp": "6.3.0" + }, + "@vercel/routing-utils": { + "path-to-regexp": "6.3.0" + } }, "eslintConfig": { "overrides": [ diff --git a/scripts/chain-configs/index.ts b/scripts/chain-configs/index.ts index 1d5129c26..f955d5dc6 100644 --- a/scripts/chain-configs/index.ts +++ b/scripts/chain-configs/index.ts @@ -6,6 +6,7 @@ export { default as BASE_SEPOLIA } from "./base-sepolia"; export { default as BLAST } from "./blast"; export { default as BLAST_SEPOLIA } from "./blast-sepolia"; export { default as INK } from "./ink"; +export { default as LENS_SEPOLIA } from "./lens-sepolia"; export { default as LINEA } from "./linea"; export { default as LISK } from "./lisk"; export { default as LISK_SEPOLIA } from "./lisk-sepolia"; @@ -19,6 +20,7 @@ export { default as POLYGON_AMOY } from "./polygon-amoy"; export { default as REDSTONE } from "./redstone"; export { default as SCROLL } from "./scroll"; export { default as SEPOLIA } from "./sepolia"; +export { default as SONEIUM } from "./soneium"; export { default as WORLD_CHAIN } from "./world-chain"; export { default as ZK_SYNC } from "./zk-sync"; export { default as ZORA } from "./zora"; diff --git a/scripts/chain-configs/lens-sepolia/assets/grayscale-logo.svg b/scripts/chain-configs/lens-sepolia/assets/grayscale-logo.svg new file mode 100644 index 000000000..16e98373e --- /dev/null +++ b/scripts/chain-configs/lens-sepolia/assets/grayscale-logo.svg @@ -0,0 +1,13 @@ + + + diff --git a/scripts/chain-configs/lens-sepolia/assets/logo.svg b/scripts/chain-configs/lens-sepolia/assets/logo.svg new file mode 100644 index 000000000..fe0fb7969 --- /dev/null +++ b/scripts/chain-configs/lens-sepolia/assets/logo.svg @@ -0,0 +1,13 @@ + + + diff --git a/scripts/chain-configs/lens-sepolia/index.ts b/scripts/chain-configs/lens-sepolia/index.ts new file mode 100644 index 000000000..21e9f230f --- /dev/null +++ b/scripts/chain-configs/lens-sepolia/index.ts @@ -0,0 +1,23 @@ +import { CHAIN_IDs, PUBLIC_NETWORKS } from "@across-protocol/constants"; +import { utils as sdkUtils } from "@across-protocol/sdk"; +import { ChainConfig } from "../types"; + +const { getDeployedAddress, getDeployedBlockNumber } = sdkUtils; + +const chainId = CHAIN_IDs.LENS_SEPOLIA; +const chainInfoBase = PUBLIC_NETWORKS[chainId]; + +export default { + ...chainInfoBase, + logoPath: "./assets/logo.svg", + grayscaleLogoPath: "./assets/grayscale-logo.svg", + spokePool: { + address: getDeployedAddress("SpokePool", chainId), + blockNumber: getDeployedBlockNumber("SpokePool", chainId), + }, + chainId, + publicRpcUrl: "https://rpc.testnet.lens.dev", + blockTimeSeconds: 1, + tokens: ["GRASS", "WETH", "WGRASS"], + enableCCTP: false, +} as ChainConfig; diff --git a/scripts/chain-configs/sepolia/index.ts b/scripts/chain-configs/sepolia/index.ts index 2a2ba493f..a7d3667c6 100644 --- a/scripts/chain-configs/sepolia/index.ts +++ b/scripts/chain-configs/sepolia/index.ts @@ -17,7 +17,7 @@ export default { }, chainId, publicRpcUrl: "https://gateway.tenderly.co/public/sepolia", - tokens: ["WETH", "ETH", "USDC"], + tokens: ["WETH", "ETH", "USDC", "GRASS"], enableCCTP: false, swapTokens: [], } as ChainConfig; diff --git a/scripts/chain-configs/soneium/assets/grayscale-logo.svg b/scripts/chain-configs/soneium/assets/grayscale-logo.svg new file mode 100644 index 000000000..83494173a --- /dev/null +++ b/scripts/chain-configs/soneium/assets/grayscale-logo.svg @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/scripts/chain-configs/soneium/assets/logo.svg b/scripts/chain-configs/soneium/assets/logo.svg new file mode 100644 index 000000000..cb375d579 --- /dev/null +++ b/scripts/chain-configs/soneium/assets/logo.svg @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/scripts/chain-configs/soneium/index.ts b/scripts/chain-configs/soneium/index.ts new file mode 100644 index 000000000..8e0b7eacc --- /dev/null +++ b/scripts/chain-configs/soneium/index.ts @@ -0,0 +1,23 @@ +import { CHAIN_IDs, PUBLIC_NETWORKS } from "@across-protocol/constants"; +import { utils as sdkUtils } from "@across-protocol/sdk"; +import { ChainConfig } from "../types"; + +const { getDeployedAddress, getDeployedBlockNumber } = sdkUtils; + +const chainId = CHAIN_IDs.SONEIUM; +const chainInfoBase = PUBLIC_NETWORKS[chainId]; + +export default { + ...chainInfoBase, + logoPath: "./assets/logo.svg", + grayscaleLogoPath: "./assets/grayscale-logo.svg", + spokePool: { + address: getDeployedAddress("SpokePool", chainId), + blockNumber: getDeployedBlockNumber("SpokePool", chainId), + }, + chainId, + publicRpcUrl: "https://rpc.soneium.org", + blockTimeSeconds: 2, + tokens: ["WETH", "ETH", "USDC.e"], + enableCCTP: false, +} as ChainConfig; diff --git a/scripts/gas-prices.ts b/scripts/gas-prices.ts new file mode 100644 index 000000000..26689ae06 --- /dev/null +++ b/scripts/gas-prices.ts @@ -0,0 +1,210 @@ +import { BigNumber } from "ethers"; +import { writeFileSync } from "fs"; +import { getCachedLimits, buildSearchParams } from "../api/_utils"; +import assert from "assert"; +import dotenv from "dotenv"; + +dotenv.config({ + path: [".env.local", ".env"], +}); + +type Limits = Awaited>; + +type Route = { + originChainId: number; + originToken: string; + destinationChainId: number; + destinationToken: string; + originTokenSymbol: string; + destinationTokenSymbol: string; +}; + +// use this script to compare gas prices for relayers between 2 environments +async function compareGasPrices() { + const PROD_URL = "https://app.across.to"; + const TEST_URL = process.env.TEST_URL_GAS_PRICE; + + assert( + TEST_URL, + 'No Test URL defined. Please add "TEST_URL_GAS_PRICE" to .env file' + ); + + const routes = (await fetch(`${PROD_URL}/api/available-routes`).then((res) => + res.json() + )) as Array; + + const chainTokenMap = (() => { + const chainTokenMap = new Map>(); + routes.forEach((route) => { + if (!chainTokenMap.has(route.destinationChainId)) { + chainTokenMap.set( + route.destinationChainId, + new Set([route.destinationTokenSymbol]) + ); + } else { + const tokens = chainTokenMap.get(route.destinationChainId)!; + chainTokenMap.set( + route.destinationChainId, + tokens.add(route.destinationTokenSymbol) + ); + } + }); + return chainTokenMap; + })(); + + console.log("Batching requests by chainId => ", chainTokenMap); + console.log("Please wait..."); + + // gas prices are cached per-chain, so we want to batch requests by chainId for more accurate results + const getLimitsByChainId = async ( + baseUrl: string, + chainId: number, + tokenBatch: string[] + ) => { + return Promise.all( + tokenBatch.map(async (tokenSymbol) => { + const route = routes.find( + (r) => + r.destinationChainId === chainId && + r.destinationTokenSymbol === tokenSymbol + ); + // shoudn't be possible + if (!route) { + throw new Error( + `Route not found for chainId: ${chainId}, token: ${tokenSymbol}` + ); + } + + const { + originToken, + destinationToken, + originChainId, + destinationChainId, + } = route; + + const limits = (await fetch( + `${baseUrl}/api/limits?${buildSearchParams({ + inputToken: originToken, + outputToken: destinationToken, + originChainId, + destinationChainId, + })}` + ).then((res) => res.json())) as Limits; + + return { + destinationChainId, + gasFeeTotal: BigNumber.from(limits.relayerFeeDetails.gasFeeTotal), + token: tokenSymbol, + }; + }) + ); + }; + + const fetchAllLimits = async (baseUrl: string) => { + const allResults: Array<{ + token: string; + destinationChainId: number; + gasFeeTotal: BigNumber; + }> = []; + + for (const [chainId, tokens] of chainTokenMap.entries()) { + const tokenBatch = Array.from(tokens); + const batchResults = await getLimitsByChainId( + baseUrl, + chainId, + tokenBatch + ); + allResults.push(...batchResults); + } + + return allResults; + }; + + const [prodResults, testResults] = await Promise.all([ + fetchAllLimits(PROD_URL), + fetchAllLimits(TEST_URL), + ]); + + const aggregateResults = ( + results: Array<{ + token: string; + destinationChainId: number; + gasFeeTotal: BigNumber; + }> + ) => { + const map = new Map(); + + results.forEach(({ token, destinationChainId, gasFeeTotal }) => { + const key = `${token}-${destinationChainId}`; + if (!map.has(key)) { + // Use only the first entry for each token/chainId combination + map.set(key, gasFeeTotal); + } + // Ignore subsequent duplicates + }); + + return map; + }; + + const prodResultsMap = aggregateResults(prodResults); + const testResultsMap = aggregateResults(testResults); + + // Prepare a set of all unique keys from both production and test results + const allKeys = new Set([ + ...prodResultsMap.keys(), + ...testResultsMap.keys(), + ]); + + // Prepare comparison data without duplicates + const comparisonData = Array.from(allKeys).map((key) => { + const [token, destinationChainIdStr] = key.split("-"); + const destinationChainId = Number(destinationChainIdStr); + const prodGasFee = prodResultsMap.get(key) || BigNumber.from(0); + const testGasFee = testResultsMap.get(key) || BigNumber.from(0); + const difference = testGasFee.sub(prodGasFee); + const percentageChange = prodGasFee.isZero() + ? "N/A" + : `${difference.mul(100).div(prodGasFee).toNumber()}%`; + + return { + Token: token, + ChainID: destinationChainId, + ProductionGasFee: prodGasFee.toString(), + TestGasFee: testGasFee.toString(), + Difference: difference.toString(), + PercentageChange: + percentageChange !== "N/A" ? `${percentageChange}` : "N/A", + }; + }); + + // Generate CSV content + const generateCSV = (data: typeof comparisonData) => { + const headers = [ + "Token", + "ChainID", + "ProductionGasFee", + "TestGasFee", + "Difference", + "PercentageChange", + ]; + const rows = data.map((row) => + [ + row.Token, + row.ChainID, + row.ProductionGasFee, + row.TestGasFee, + row.Difference, + row.PercentageChange, + ].join(",") + ); + return [headers.join(","), ...rows].join("\n"); + }; + + const csvContent = generateCSV(comparisonData); + + // Save the CSV content to a file + writeFileSync("gas-price-comparison.csv", csvContent); + + console.log("CSV file has been saved to gas-price-comparison.csv"); +} +compareGasPrices(); diff --git a/scripts/generate-routes.ts b/scripts/generate-routes.ts index 8ec0f2469..a001108df 100644 --- a/scripts/generate-routes.ts +++ b/scripts/generate-routes.ts @@ -50,6 +50,7 @@ const enabledMainnetChainConfigs = [ chainConfigs.WORLD_CHAIN, chainConfigs.ALEPH_ZERO, chainConfigs.INK, + chainConfigs.SONEIUM, ]; const enabledSepoliaChainConfigs = [ @@ -61,6 +62,7 @@ const enabledSepoliaChainConfigs = [ chainConfigs.POLYGON_AMOY, chainConfigs.BLAST_SEPOLIA, chainConfigs.LISK_SEPOLIA, + chainConfigs.LENS_SEPOLIA, ]; const enabledRoutes = { @@ -203,7 +205,127 @@ function transformChainConfigs( throw new Error(`No config found for chain ${toChainId}`); } - const tokens = processTokenRoutes(chainConfig, toChainConfig); + const tokens = chainConfig.tokens.flatMap((token) => { + const tokenSymbol = typeof token === "string" ? token : token.symbol; + + // Handle native USDC -> bridged USDC routes + if (tokenSymbol === "USDC") { + if (toChainConfig.enableCCTP) { + return [ + "USDC", + { + inputTokenSymbol: "USDC", + outputTokenSymbol: getBridgedUsdcSymbol(toChainConfig.chainId), + }, + ]; + } else if ( + toChainConfig.tokens.find( + (token) => + typeof token === "string" && sdkUtils.isBridgedUsdc(token) + ) + ) { + return [ + { + inputTokenSymbol: "USDC", + outputTokenSymbol: getBridgedUsdcSymbol(toChainConfig.chainId), + }, + ]; + } + } + + // Handle bridged USDC -> native/bridged USDC routes + if (sdkUtils.isBridgedUsdc(tokenSymbol)) { + if (toChainConfig.enableCCTP) { + return [ + { + inputTokenSymbol: tokenSymbol, + outputTokenSymbol: "USDC", + }, + { + inputTokenSymbol: tokenSymbol, + outputTokenSymbol: getBridgedUsdcSymbol(toChainConfig.chainId), + }, + ]; + } else if (toChainConfig.tokens.includes("USDC")) { + return [ + { + inputTokenSymbol: tokenSymbol, + outputTokenSymbol: "USDC", + }, + ]; + } else if ( + toChainConfig.tokens.find( + (token) => + typeof token === "string" && sdkUtils.isBridgedUsdc(token) + ) + ) { + return [ + { + inputTokenSymbol: tokenSymbol, + outputTokenSymbol: getBridgedUsdcSymbol(toChainConfig.chainId), + }, + ]; + } + } + + // Handle USDB -> DAI + if (tokenSymbol === "USDB" && toChainConfig.tokens.includes("DAI")) { + return [ + { + inputTokenSymbol: "USDB", + outputTokenSymbol: "DAI", + }, + ]; + } + if (tokenSymbol === "DAI" && toChainConfig.tokens.includes("USDB")) { + return [ + { + inputTokenSymbol: "DAI", + outputTokenSymbol: "USDB", + }, + ]; + } + + if ( + tokenSymbol === "WGRASS" && + toChainConfig.tokens.includes("GRASS") + ) { + return [ + { + inputTokenSymbol: "WGRASS", + outputTokenSymbol: "GRASS", + }, + ]; + } + + // Handle WETH Polygon & other non-eth chains + if ( + tokenSymbol === "WETH" && + !toChainConfig.tokens.includes("ETH") && + chainConfig.tokens.includes("ETH") + ) { + return ["WETH", "ETH"]; + } + + const chainIds = + typeof token === "string" ? [toChainId] : token.chainIds; + + const toToken = toChainConfig.tokens.find((token) => + typeof token === "string" + ? token === tokenSymbol + : token.symbol === tokenSymbol + ); + if ( + !toToken || + (typeof toToken === "object" && + !toToken.chainIds.includes(fromChainId)) || + !chainIds.includes(toChainId) + ) { + return []; + } + + return tokenSymbol; + }); // Handle USDC swap tokens const usdcSwapTokens = chainConfig.enableCCTP diff --git a/src/assets/chain-logos/lens-sepolia-grayscale.svg b/src/assets/chain-logos/lens-sepolia-grayscale.svg new file mode 100644 index 000000000..95a53dc22 --- /dev/null +++ b/src/assets/chain-logos/lens-sepolia-grayscale.svg @@ -0,0 +1,14 @@ + + + diff --git a/src/assets/chain-logos/lens-sepolia.svg b/src/assets/chain-logos/lens-sepolia.svg new file mode 100644 index 000000000..5531b2f06 --- /dev/null +++ b/src/assets/chain-logos/lens-sepolia.svg @@ -0,0 +1,13 @@ + + + diff --git a/src/assets/chain-logos/soneium-grayscale.svg b/src/assets/chain-logos/soneium-grayscale.svg new file mode 100644 index 000000000..83494173a --- /dev/null +++ b/src/assets/chain-logos/soneium-grayscale.svg @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/src/assets/chain-logos/soneium.svg b/src/assets/chain-logos/soneium.svg new file mode 100644 index 000000000..cb375d579 --- /dev/null +++ b/src/assets/chain-logos/soneium.svg @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/src/constants/chains/configs.ts b/src/constants/chains/configs.ts index 2e9bb6a3b..f9572cce2 100644 --- a/src/constants/chains/configs.ts +++ b/src/constants/chains/configs.ts @@ -40,6 +40,11 @@ import inkGrayscaleLogo from "assets/chain-logos/ink-grayscale.svg"; import { ReactComponent as inkLogoSvg } from "assets/chain-logos/ink.svg"; import { ReactComponent as inkGrayscaleLogoSvg } from "assets/chain-logos/ink-grayscale.svg"; +import lensSepoliaLogo from "assets/chain-logos/lens-sepolia.svg"; +import lensSepoliaGrayscaleLogo from "assets/chain-logos/lens-sepolia-grayscale.svg"; +import { ReactComponent as lensSepoliaLogoSvg } from "assets/chain-logos/lens-sepolia.svg"; +import { ReactComponent as lensSepoliaGrayscaleLogoSvg } from "assets/chain-logos/lens-sepolia-grayscale.svg"; + import lineaLogo from "assets/chain-logos/linea.svg"; import lineaGrayscaleLogo from "assets/chain-logos/linea-grayscale.svg"; import { ReactComponent as lineaLogoSvg } from "assets/chain-logos/linea.svg"; @@ -105,6 +110,11 @@ import sepoliaGrayscaleLogo from "assets/chain-logos/sepolia-grayscale.svg"; import { ReactComponent as sepoliaLogoSvg } from "assets/chain-logos/sepolia.svg"; import { ReactComponent as sepoliaGrayscaleLogoSvg } from "assets/chain-logos/sepolia-grayscale.svg"; +import soneiumLogo from "assets/chain-logos/soneium.svg"; +import soneiumGrayscaleLogo from "assets/chain-logos/soneium-grayscale.svg"; +import { ReactComponent as soneiumLogoSvg } from "assets/chain-logos/soneium.svg"; +import { ReactComponent as soneiumGrayscaleLogoSvg } from "assets/chain-logos/soneium-grayscale.svg"; + import worldChainLogo from "assets/chain-logos/world-chain.svg"; import worldChainGrayscaleLogo from "assets/chain-logos/world-chain-grayscale.svg"; import { ReactComponent as worldChainLogoSvg } from "assets/chain-logos/world-chain.svg"; @@ -259,6 +269,23 @@ export const ink = { pollingInterval: 1000, }; +export const lensSepolia = { + name: "Lens Sepolia", + fullName: "Lens sepolia", + chainId: 37111, + logoURI: lensSepoliaLogo, + grayscaleLogoURI: lensSepoliaGrayscaleLogo, + logoSvg: lensSepoliaLogoSvg, + grayscaleLogoSvg: lensSepoliaGrayscaleLogoSvg, + rpcUrl: "https://rpc.testnet.lens.dev", + explorerUrl: "https://block-explorer.testnet.lens.dev", + constructExplorerLink: (txHash: string) => + `${lensSepolia.explorerUrl}/tx/${txHash}`, + nativeCurrencySymbol: "GRASS", + customRpcUrl: process.env.REACT_APP_CHAIN_37111_PROVIDER_URL, + pollingInterval: 1000, +}; + export const linea = { name: "Linea", fullName: "Linea", @@ -478,6 +505,23 @@ export const sepolia = { pollingInterval: 15000, }; +export const soneium = { + name: "soneium", + fullName: "soneium", + chainId: 1868, + logoURI: soneiumLogo, + grayscaleLogoURI: soneiumGrayscaleLogo, + logoSvg: soneiumLogoSvg, + grayscaleLogoSvg: soneiumGrayscaleLogoSvg, + rpcUrl: "https://rpc.soneium.org", + explorerUrl: "https://soneium.blockscout.com", + constructExplorerLink: (txHash: string) => + `${soneium.explorerUrl}/tx/${txHash}`, + nativeCurrencySymbol: "ETH", + customRpcUrl: process.env.REACT_APP_CHAIN_1868_PROVIDER_URL, + pollingInterval: 2000, +}; + export const worldChain = { name: "World Chain", fullName: "World Chain", @@ -550,6 +594,7 @@ export const chainConfigs = [ blast, blastSepolia, ink, + lensSepolia, linea, lisk, liskSepolia, @@ -563,6 +608,7 @@ export const chainConfigs = [ redstone, scroll, sepolia, + soneium, worldChain, zkSync, zora, diff --git a/src/constants/chains/index.ts b/src/constants/chains/index.ts index 799aa091f..421a305bd 100644 --- a/src/constants/chains/index.ts +++ b/src/constants/chains/index.ts @@ -26,6 +26,7 @@ const orderedEnabledChainIds = [ CHAIN_IDs.WORLD_CHAIN, CHAIN_IDs.ALEPH_ZERO, CHAIN_IDs.INK, + CHAIN_IDs.SONEIUM, // testnet CHAIN_IDs.SEPOLIA, CHAIN_IDs.BASE_SEPOLIA, @@ -35,6 +36,7 @@ const orderedEnabledChainIds = [ CHAIN_IDs.POLYGON_AMOY, CHAIN_IDs.BLAST_SEPOLIA, CHAIN_IDs.LISK_SEPOLIA, + CHAIN_IDs.LENS_SEPOLIA, ]; export const chainInfoList: ChainInfoList = orderedEnabledChainIds.map( diff --git a/src/constants/tokens.ts b/src/constants/tokens.ts index ec12265e2..cc9f7c77f 100644 --- a/src/constants/tokens.ts +++ b/src/constants/tokens.ts @@ -15,6 +15,8 @@ import snxLogo from "assets/token-logos/snx.svg"; import pooltogetherLogo from "assets/token-logos/pool.svg"; import lskLogo from "assets/token-logos/lsk.svg"; import usdbLogo from "assets/token-logos/usdb.svg"; +// TODO: Replace with actual GRASS logo once known +import grassLogo from "assets/icons/question-circle.svg"; import { BRIDGED_USDC_SYMBOLS } from "../utils/sdk"; @@ -83,4 +85,6 @@ export const orderedTokenLogos = { OP: optimismLogo, ARB: arbitrumLogo, LSK: lskLogo, + GRASS: grassLogo, + WGRASS: grassLogo, }; diff --git a/src/data/chains_1.json b/src/data/chains_1.json index 41706a291..86090a827 100644 --- a/src/data/chains_1.json +++ b/src/data/chains_1.json @@ -1564,5 +1564,60 @@ "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/src/assets/token-logos/eth.svg" } ] + }, + { + "chainId": 1868, + "name": "Soneium", + "publicRpcUrl": "https://rpc.soneium.org", + "explorerUrl": "https://soneium.blockscout.com", + "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/scripts/chain-configs/soneium/assets/logo.svg", + "spokePool": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "spokePoolBlock": 1709997, + "inputTokens": [ + { + "address": "0x4200000000000000000000000000000000000006", + "symbol": "WETH", + "name": "Wrapped Ether", + "decimals": 18, + "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/src/assets/token-logos/weth.svg" + }, + { + "address": "0x4200000000000000000000000000000000000006", + "symbol": "ETH", + "name": "Ether", + "decimals": 18, + "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/src/assets/token-logos/eth.svg" + }, + { + "address": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "symbol": "USDC.e", + "name": "USD Coin (bridged)", + "decimals": 6, + "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/src/assets/token-logos/usdc.svg" + } + ], + "outputTokens": [ + { + "address": "0x4200000000000000000000000000000000000006", + "symbol": "WETH", + "name": "Wrapped Ether", + "decimals": 18, + "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/src/assets/token-logos/weth.svg" + }, + { + "address": "0x4200000000000000000000000000000000000006", + "symbol": "ETH", + "name": "Ether", + "decimals": 18, + "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/src/assets/token-logos/eth.svg" + }, + { + "address": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "symbol": "USDC.e", + "name": "USD Coin (bridged)", + "decimals": 6, + "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/src/assets/token-logos/usdc.svg" + } + ] } ] diff --git a/src/data/chains_11155111.json b/src/data/chains_11155111.json index d4302785d..00c1777bc 100644 --- a/src/data/chains_11155111.json +++ b/src/data/chains_11155111.json @@ -28,6 +28,13 @@ "name": "USD Coin", "decimals": 6, "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/src/assets/token-logos/usdc.svg" + }, + { + "address": "0x2Be68B15c693D3b5747F9F0D49D30A2E81BAA2Df", + "symbol": "GRASS", + "name": "Grass", + "decimals": 18, + "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/src/assets/token-logos/grass.svg" } ], "outputTokens": [ @@ -51,6 +58,13 @@ "name": "USD Coin", "decimals": 6, "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/src/assets/token-logos/usdc.svg" + }, + { + "address": "0x2Be68B15c693D3b5747F9F0D49D30A2E81BAA2Df", + "symbol": "GRASS", + "name": "Grass", + "decimals": 18, + "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/src/assets/token-logos/grass.svg" } ] }, @@ -382,5 +396,60 @@ "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/src/assets/token-logos/eth.svg" } ] + }, + { + "chainId": 37111, + "name": "Lens Sepolia", + "publicRpcUrl": "https://rpc.testnet.lens.dev", + "explorerUrl": "https://block-explorer.testnet.lens.dev", + "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/scripts/chain-configs/lens-sepolia/assets/logo.svg", + "spokePool": "0x6A0a7f39530923911832Dd60667CE5da5449967B", + "spokePoolBlock": 156275, + "inputTokens": [ + { + "address": "0xeee5a340Cdc9c179Db25dea45AcfD5FE8d4d3eB8", + "symbol": "GRASS", + "name": "Grass", + "decimals": 18, + "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/src/assets/token-logos/grass.svg" + }, + { + "address": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "symbol": "WETH", + "name": "Wrapped Ether", + "decimals": 18, + "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/src/assets/token-logos/weth.svg" + }, + { + "address": "0xeee5a340Cdc9c179Db25dea45AcfD5FE8d4d3eB8", + "symbol": "WGRASS", + "name": "Wrapped Grass", + "decimals": 18, + "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/src/assets/token-logos/wgrass.svg" + } + ], + "outputTokens": [ + { + "address": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "symbol": "WETH", + "name": "Wrapped Ether", + "decimals": 18, + "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/src/assets/token-logos/weth.svg" + }, + { + "address": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "symbol": "ETH", + "name": "Ether", + "decimals": 18, + "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/src/assets/token-logos/eth.svg" + }, + { + "address": "0xeee5a340Cdc9c179Db25dea45AcfD5FE8d4d3eB8", + "symbol": "GRASS", + "name": "Grass", + "decimals": 18, + "logoUrl": "https://raw.githubusercontent.com/across-protocol/frontend/master/src/assets/token-logos/grass.svg" + } + ] } ] diff --git a/src/data/routes_11155111_0x14224e63716afAcE30C9a417E0542281869f7d9e.json b/src/data/routes_11155111_0x14224e63716afAcE30C9a417E0542281869f7d9e.json index 2bf848111..ccdb4e69f 100644 --- a/src/data/routes_11155111_0x14224e63716afAcE30C9a417E0542281869f7d9e.json +++ b/src/data/routes_11155111_0x14224e63716afAcE30C9a417E0542281869f7d9e.json @@ -212,6 +212,39 @@ "isNative": true, "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" }, + { + "fromChain": 11155111, + "toChain": 37111, + "fromTokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14", + "toTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "fromSpokeAddress": "0x5ef6C01E11889d86803e0B23e3cB3F9E9d97B662", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, + { + "fromChain": 11155111, + "toChain": 37111, + "fromTokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14", + "toTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "fromSpokeAddress": "0x5ef6C01E11889d86803e0B23e3cB3F9E9d97B662", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, + { + "fromChain": 11155111, + "toChain": 37111, + "fromTokenAddress": "0x2Be68B15c693D3b5747F9F0D49D30A2E81BAA2Df", + "toTokenAddress": "0xeee5a340Cdc9c179Db25dea45AcfD5FE8d4d3eB8", + "fromSpokeAddress": "0x5ef6C01E11889d86803e0B23e3cB3F9E9d97B662", + "fromTokenSymbol": "GRASS", + "toTokenSymbol": "GRASS", + "isNative": false, + "l1TokenAddress": "0x2Be68B15c693D3b5747F9F0D49D30A2E81BAA2Df" + }, { "fromChain": 84532, "toChain": 11155111, @@ -399,6 +432,28 @@ "isNative": true, "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" }, + { + "fromChain": 84532, + "toChain": 37111, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "fromSpokeAddress": "0x82B564983aE7274c86695917BBf8C99ECb6F0F8F", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, + { + "fromChain": 84532, + "toChain": 37111, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "fromSpokeAddress": "0x82B564983aE7274c86695917BBf8C99ECb6F0F8F", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, { "fromChain": 421614, "toChain": 11155111, @@ -597,6 +652,28 @@ "isNative": true, "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" }, + { + "fromChain": 421614, + "toChain": 37111, + "fromTokenAddress": "0x980B62Da83eFf3D4576C647993b0c1D7faf17c73", + "toTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "fromSpokeAddress": "0x7E63A5f1a8F0B4d0934B2f2327DAED3F6bb2ee75", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, + { + "fromChain": 421614, + "toChain": 37111, + "fromTokenAddress": "0x980B62Da83eFf3D4576C647993b0c1D7faf17c73", + "toTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "fromSpokeAddress": "0x7E63A5f1a8F0B4d0934B2f2327DAED3F6bb2ee75", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, { "fromChain": 11155420, "toChain": 11155111, @@ -795,6 +872,28 @@ "isNative": false, "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" }, + { + "fromChain": 11155420, + "toChain": 37111, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "fromSpokeAddress": "0x4e8E101924eDE233C13e2D8622DC8aED2872d505", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, + { + "fromChain": 11155420, + "toChain": 37111, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "fromSpokeAddress": "0x4e8E101924eDE233C13e2D8622DC8aED2872d505", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, { "fromChain": 919, "toChain": 11155111, @@ -949,6 +1048,28 @@ "isNative": true, "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" }, + { + "fromChain": 919, + "toChain": 37111, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "fromSpokeAddress": "0xbd886FC0725Cc459b55BbFEb3E4278610331f83b", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, + { + "fromChain": 919, + "toChain": 37111, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "fromSpokeAddress": "0xbd886FC0725Cc459b55BbFEb3E4278610331f83b", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, { "fromChain": 80002, "toChain": 11155111, @@ -1026,6 +1147,17 @@ "isNative": false, "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" }, + { + "fromChain": 80002, + "toChain": 37111, + "fromTokenAddress": "0x52eF3d68BaB452a294342DC3e5f464d7f610f72E", + "toTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "fromSpokeAddress": "0xd08baaE74D6d2eAb1F3320B2E1a53eeb391ce8e5", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, { "fromChain": 168587773, "toChain": 11155111, @@ -1180,6 +1312,28 @@ "isNative": true, "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" }, + { + "fromChain": 168587773, + "toChain": 37111, + "fromTokenAddress": "0x4200000000000000000000000000000000000023", + "toTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "fromSpokeAddress": "0x5545092553Cf5Bf786e87a87192E902D50D8f022", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, + { + "fromChain": 168587773, + "toChain": 37111, + "fromTokenAddress": "0x4200000000000000000000000000000000000023", + "toTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "fromSpokeAddress": "0x5545092553Cf5Bf786e87a87192E902D50D8f022", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, { "fromChain": 4202, "toChain": 11155111, @@ -1333,6 +1487,138 @@ "toTokenSymbol": "ETH", "isNative": true, "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, + { + "fromChain": 4202, + "toChain": 37111, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "fromSpokeAddress": "0xeF684C38F94F48775959ECf2012D7E864ffb9dd4", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, + { + "fromChain": 4202, + "toChain": 37111, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "fromSpokeAddress": "0xeF684C38F94F48775959ECf2012D7E864ffb9dd4", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, + { + "fromChain": 37111, + "toChain": 11155111, + "fromTokenAddress": "0xeee5a340Cdc9c179Db25dea45AcfD5FE8d4d3eB8", + "toTokenAddress": "0x2Be68B15c693D3b5747F9F0D49D30A2E81BAA2Df", + "fromSpokeAddress": "0x6A0a7f39530923911832Dd60667CE5da5449967B", + "fromTokenSymbol": "GRASS", + "toTokenSymbol": "GRASS", + "isNative": false, + "l1TokenAddress": "0x2Be68B15c693D3b5747F9F0D49D30A2E81BAA2Df" + }, + { + "fromChain": 37111, + "toChain": 11155111, + "fromTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "toTokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14", + "fromSpokeAddress": "0x6A0a7f39530923911832Dd60667CE5da5449967B", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, + { + "fromChain": 37111, + "toChain": 11155111, + "fromTokenAddress": "0xeee5a340Cdc9c179Db25dea45AcfD5FE8d4d3eB8", + "toTokenAddress": "0x2Be68B15c693D3b5747F9F0D49D30A2E81BAA2Df", + "fromSpokeAddress": "0x6A0a7f39530923911832Dd60667CE5da5449967B", + "fromTokenSymbol": "WGRASS", + "toTokenSymbol": "GRASS", + "isNative": false, + "l1TokenAddress": "0x2Be68B15c693D3b5747F9F0D49D30A2E81BAA2Df" + }, + { + "fromChain": 37111, + "toChain": 84532, + "fromTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x6A0a7f39530923911832Dd60667CE5da5449967B", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, + { + "fromChain": 37111, + "toChain": 421614, + "fromTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "toTokenAddress": "0x980B62Da83eFf3D4576C647993b0c1D7faf17c73", + "fromSpokeAddress": "0x6A0a7f39530923911832Dd60667CE5da5449967B", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, + { + "fromChain": 37111, + "toChain": 11155420, + "fromTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x6A0a7f39530923911832Dd60667CE5da5449967B", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, + { + "fromChain": 37111, + "toChain": 919, + "fromTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x6A0a7f39530923911832Dd60667CE5da5449967B", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, + { + "fromChain": 37111, + "toChain": 80002, + "fromTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "toTokenAddress": "0x52eF3d68BaB452a294342DC3e5f464d7f610f72E", + "fromSpokeAddress": "0x6A0a7f39530923911832Dd60667CE5da5449967B", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, + { + "fromChain": 37111, + "toChain": 168587773, + "fromTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "toTokenAddress": "0x4200000000000000000000000000000000000023", + "fromSpokeAddress": "0x6A0a7f39530923911832Dd60667CE5da5449967B", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" + }, + { + "fromChain": 37111, + "toChain": 4202, + "fromTokenAddress": "0xaA91D645D7a6C1aeaa5988e0547267B77d33fe16", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x6A0a7f39530923911832Dd60667CE5da5449967B", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14" } ], "swapRoutes": [ diff --git a/src/data/routes_1_0xc186fA914353c44b2E33eBE05f21846F1048bEda.json b/src/data/routes_1_0xc186fA914353c44b2E33eBE05f21846F1048bEda.json index 826b804e4..c05b550ab 100644 --- a/src/data/routes_1_0xc186fA914353c44b2E33eBE05f21846F1048bEda.json +++ b/src/data/routes_1_0xc186fA914353c44b2E33eBE05f21846F1048bEda.json @@ -989,6 +989,39 @@ "isNative": true, "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, + { + "fromChain": 1, + "toChain": 1868, + "fromTokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x5c7BCd6E7De5423a257D81B442095A1a6ced35C5", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1, + "toChain": 1868, + "fromTokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x5c7BCd6E7De5423a257D81B442095A1a6ced35C5", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1, + "toChain": 1868, + "fromTokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "toTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "fromSpokeAddress": "0x5c7BCd6E7De5423a257D81B442095A1a6ced35C5", + "fromTokenSymbol": "USDC", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, { "fromChain": 1, "toChain": 42161, @@ -1947,6 +1980,39 @@ "isNative": true, "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, + { + "fromChain": 10, + "toChain": 1868, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x6f26Bf09B1C792e3228e5467807a900A503c0281", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 10, + "toChain": 1868, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x6f26Bf09B1C792e3228e5467807a900A503c0281", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 10, + "toChain": 1868, + "fromTokenAddress": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", + "toTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "fromSpokeAddress": "0x6f26Bf09B1C792e3228e5467807a900A503c0281", + "fromTokenSymbol": "USDC", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, { "fromChain": 10, "toChain": 42161, @@ -2729,6 +2795,28 @@ "isNative": false, "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, + { + "fromChain": 137, + "toChain": 1868, + "fromTokenAddress": "0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x9295ee1d8C5b022Be115A2AD3c30C72E34e7F096", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 137, + "toChain": 1868, + "fromTokenAddress": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", + "toTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "fromSpokeAddress": "0x9295ee1d8C5b022Be115A2AD3c30C72E34e7F096", + "fromTokenSymbol": "USDC", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, { "fromChain": 137, "toChain": 42161, @@ -3676,6 +3764,39 @@ "isNative": true, "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, + { + "fromChain": 42161, + "toChain": 1868, + "fromTokenAddress": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", + "toTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "fromSpokeAddress": "0xe35e9842fceaCA96570B734083f4a58e8F7C5f2A", + "fromTokenSymbol": "USDC", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 42161, + "toChain": 1868, + "fromTokenAddress": "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0xe35e9842fceaCA96570B734083f4a58e8F7C5f2A", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 42161, + "toChain": 1868, + "fromTokenAddress": "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0xe35e9842fceaCA96570B734083f4a58e8F7C5f2A", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, { "fromChain": 324, "toChain": 1, @@ -4446,6 +4567,39 @@ "isNative": true, "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, + { + "fromChain": 324, + "toChain": 1868, + "fromTokenAddress": "0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0xE0B015E54d54fc84a6cB9B666099c46adE9335FF", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 324, + "toChain": 1868, + "fromTokenAddress": "0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0xE0B015E54d54fc84a6cB9B666099c46adE9335FF", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 324, + "toChain": 1868, + "fromTokenAddress": "0x3355df6D4c9C3035724Fd0e3914dE96A5a83aaf4", + "toTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "fromSpokeAddress": "0xE0B015E54d54fc84a6cB9B666099c46adE9335FF", + "fromTokenSymbol": "USDC.e", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, { "fromChain": 8453, "toChain": 1, @@ -5106,6 +5260,39 @@ "isNative": true, "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, + { + "fromChain": 8453, + "toChain": 1868, + "fromTokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "toTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "fromSpokeAddress": "0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64", + "fromTokenSymbol": "USDC", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 8453, + "toChain": 1868, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 8453, + "toChain": 1868, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, { "fromChain": 8453, "toChain": 42161, @@ -5888,6 +6075,39 @@ "isNative": true, "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, + { + "fromChain": 59144, + "toChain": 1868, + "fromTokenAddress": "0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x7E63A5f1a8F0B4d0934B2f2327DAED3F6bb2ee75", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 59144, + "toChain": 1868, + "fromTokenAddress": "0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x7E63A5f1a8F0B4d0934B2f2327DAED3F6bb2ee75", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 59144, + "toChain": 1868, + "fromTokenAddress": "0x176211869cA2b568f2A7D4EE941E073a821EE1ff", + "toTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "fromSpokeAddress": "0x7E63A5f1a8F0B4d0934B2f2327DAED3F6bb2ee75", + "fromTokenSymbol": "USDC.e", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, { "fromChain": 34443, "toChain": 1, @@ -6581,6 +6801,39 @@ "isNative": true, "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, + { + "fromChain": 34443, + "toChain": 1868, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 34443, + "toChain": 1868, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 34443, + "toChain": 1868, + "fromTokenAddress": "0xd988097fb8612cc24eeC14542bC03424c656005f", + "toTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "USDC.e", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, { "fromChain": 81457, "toChain": 1, @@ -7098,6 +7351,28 @@ "isNative": true, "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, + { + "fromChain": 81457, + "toChain": 1868, + "fromTokenAddress": "0x4300000000000000000000000000000000000004", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x2D509190Ed0172ba588407D4c2df918F955Cc6E1", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 81457, + "toChain": 1868, + "fromTokenAddress": "0x4300000000000000000000000000000000000004", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x2D509190Ed0172ba588407D4c2df918F955Cc6E1", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, { "fromChain": 1135, "toChain": 1, @@ -7649,22 +7924,44 @@ "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, { - "fromChain": 534352, - "toChain": 1, - "fromTokenAddress": "0x5300000000000000000000000000000000000004", - "toTokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", - "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromChain": 1135, + "toChain": 1868, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x9552a0a6624A23B848060AE5901659CDDa1f83f8", "fromTokenSymbol": "WETH", "toTokenSymbol": "WETH", "isNative": false, "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, { - "fromChain": 534352, - "toChain": 1, - "fromTokenAddress": "0x5300000000000000000000000000000000000004", - "toTokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", - "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromChain": 1135, + "toChain": 1868, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x9552a0a6624A23B848060AE5901659CDDa1f83f8", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 534352, + "toChain": 1, + "fromTokenAddress": "0x5300000000000000000000000000000000000004", + "toTokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 534352, + "toChain": 1, + "fromTokenAddress": "0x5300000000000000000000000000000000000004", + "toTokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", "fromTokenSymbol": "ETH", "toTokenSymbol": "ETH", "isNative": true, @@ -8407,6 +8704,39 @@ "isNative": true, "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, + { + "fromChain": 534352, + "toChain": 1868, + "fromTokenAddress": "0x5300000000000000000000000000000000000004", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 534352, + "toChain": 1868, + "fromTokenAddress": "0x5300000000000000000000000000000000000004", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 534352, + "toChain": 1868, + "fromTokenAddress": "0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4", + "toTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "USDC", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, { "fromChain": 534352, "toChain": 42161, @@ -8749,6 +9079,28 @@ "isNative": true, "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, + { + "fromChain": 690, + "toChain": 1868, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x13fDac9F9b4777705db45291bbFF3c972c6d1d97", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 690, + "toChain": 1868, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x13fDac9F9b4777705db45291bbFF3c972c6d1d97", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, { "fromChain": 7777777, "toChain": 1, @@ -9233,6 +9585,39 @@ "isNative": true, "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, + { + "fromChain": 7777777, + "toChain": 1868, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x13fDac9F9b4777705db45291bbFF3c972c6d1d97", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 7777777, + "toChain": 1868, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x13fDac9F9b4777705db45291bbFF3c972c6d1d97", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 7777777, + "toChain": 1868, + "fromTokenAddress": "0xCccCCccc7021b32EBb4e8C08314bD62F7c653EC4", + "toTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "fromSpokeAddress": "0x13fDac9F9b4777705db45291bbFF3c972c6d1d97", + "fromTokenSymbol": "USDzC", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, { "fromChain": 480, "toChain": 1, @@ -9893,6 +10278,39 @@ "isNative": false, "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, + { + "fromChain": 480, + "toChain": 1868, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 480, + "toChain": 1868, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 480, + "toChain": 1868, + "fromTokenAddress": "0x79A02482A880bCE3F13e09Da970dC34db4CD24d1", + "toTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "fromSpokeAddress": "0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64", + "fromTokenSymbol": "USDC.e", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, { "fromChain": 41455, "toChain": 1, @@ -10157,6 +10575,17 @@ "isNative": false, "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, + { + "fromChain": 41455, + "toChain": 1868, + "fromTokenAddress": "0xB3f0eE446723f4258862D949B4c9688e7e7d35d3", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x13fDac9F9b4777705db45291bbFF3c972c6d1d97", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, { "fromChain": 57073, "toChain": 1, @@ -10486,90 +10915,629 @@ "toTokenSymbol": "ETH", "isNative": true, "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" - } - ], - "swapRoutes": [ + }, { - "fromChain": 10, - "toChain": 1, - "fromTokenAddress": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", - "toTokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "fromSpokeAddress": "0x6f26Bf09B1C792e3228e5467807a900A503c0281", - "fromTokenSymbol": "USDC", - "toTokenSymbol": "USDC", + "fromChain": 57073, + "toChain": 1868, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0xeF684C38F94F48775959ECf2012D7E864ffb9dd4", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", "isNative": false, - "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "swapTokenAddress": "0x7F5c764cBc14f9669B88837ca1490cCa17c31607", - "swapTokenSymbol": "USDC.e", - "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, { - "fromChain": 10, - "toChain": 137, - "fromTokenAddress": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", - "toTokenAddress": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", - "fromSpokeAddress": "0x6f26Bf09B1C792e3228e5467807a900A503c0281", - "fromTokenSymbol": "USDC", - "toTokenSymbol": "USDC", - "isNative": false, - "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "swapTokenAddress": "0x7F5c764cBc14f9669B88837ca1490cCa17c31607", - "swapTokenSymbol": "USDC.e", - "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + "fromChain": 57073, + "toChain": 1868, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0xeF684C38F94F48775959ECf2012D7E864ffb9dd4", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, { - "fromChain": 10, - "toChain": 137, - "fromTokenAddress": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", - "toTokenAddress": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", - "fromSpokeAddress": "0x6f26Bf09B1C792e3228e5467807a900A503c0281", - "fromTokenSymbol": "USDC", - "toTokenSymbol": "USDC.e", + "fromChain": 1868, + "toChain": 1, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", "isNative": false, - "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "swapTokenAddress": "0x7F5c764cBc14f9669B88837ca1490cCa17c31607", - "swapTokenSymbol": "USDC.e", - "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, { - "fromChain": 10, - "toChain": 42161, - "fromTokenAddress": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", - "toTokenAddress": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", - "fromSpokeAddress": "0x6f26Bf09B1C792e3228e5467807a900A503c0281", - "fromTokenSymbol": "USDC", + "fromChain": 1868, + "toChain": 1, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 1, + "fromTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "toTokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "USDC.e", "toTokenSymbol": "USDC", "isNative": false, - "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "swapTokenAddress": "0x7F5c764cBc14f9669B88837ca1490cCa17c31607", - "swapTokenSymbol": "USDC.e", - "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, { - "fromChain": 10, - "toChain": 42161, - "fromTokenAddress": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", - "toTokenAddress": "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8", - "fromSpokeAddress": "0x6f26Bf09B1C792e3228e5467807a900A503c0281", - "fromTokenSymbol": "USDC", - "toTokenSymbol": "USDC.e", + "fromChain": 1868, + "toChain": 10, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", "isNative": false, - "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "swapTokenAddress": "0x7F5c764cBc14f9669B88837ca1490cCa17c31607", - "swapTokenSymbol": "USDC.e", - "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" }, { - "fromChain": 10, - "toChain": 324, - "fromTokenAddress": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", - "toTokenAddress": "0x3355df6D4c9C3035724Fd0e3914dE96A5a83aaf4", - "fromSpokeAddress": "0x6f26Bf09B1C792e3228e5467807a900A503c0281", - "fromTokenSymbol": "USDC", - "toTokenSymbol": "USDC.e", - "isNative": false, - "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "swapTokenAddress": "0x7F5c764cBc14f9669B88837ca1490cCa17c31607", + "fromChain": 1868, + "toChain": 10, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 10, + "fromTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "toTokenAddress": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "USDC.e", + "toTokenSymbol": "USDC", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 1868, + "toChain": 10, + "fromTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "toTokenAddress": "0x7F5c764cBc14f9669B88837ca1490cCa17c31607", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "USDC.e", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 1868, + "toChain": 137, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 137, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 137, + "fromTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "toTokenAddress": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "USDC.e", + "toTokenSymbol": "USDC", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 1868, + "toChain": 137, + "fromTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "toTokenAddress": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "USDC.e", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 1868, + "toChain": 42161, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 42161, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 42161, + "fromTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "toTokenAddress": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "USDC.e", + "toTokenSymbol": "USDC", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 1868, + "toChain": 42161, + "fromTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "toTokenAddress": "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "USDC.e", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 1868, + "toChain": 324, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 324, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 324, + "fromTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "toTokenAddress": "0x3355df6D4c9C3035724Fd0e3914dE96A5a83aaf4", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "USDC.e", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 1868, + "toChain": 8453, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 8453, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 8453, + "fromTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "toTokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "USDC.e", + "toTokenSymbol": "USDC", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 1868, + "toChain": 8453, + "fromTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "toTokenAddress": "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "USDC.e", + "toTokenSymbol": "USDbC", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 1868, + "toChain": 59144, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 59144, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 59144, + "fromTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "toTokenAddress": "0x176211869cA2b568f2A7D4EE941E073a821EE1ff", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "USDC.e", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 1868, + "toChain": 34443, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 34443, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 34443, + "fromTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "toTokenAddress": "0xd988097fb8612cc24eeC14542bC03424c656005f", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "USDC.e", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 1868, + "toChain": 81457, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4300000000000000000000000000000000000004", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 81457, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4300000000000000000000000000000000000004", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 1135, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 1135, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 534352, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x5300000000000000000000000000000000000004", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 534352, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x5300000000000000000000000000000000000004", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 534352, + "fromTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "toTokenAddress": "0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "USDC.e", + "toTokenSymbol": "USDC", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 1868, + "toChain": 690, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 690, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 7777777, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 7777777, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 7777777, + "fromTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "toTokenAddress": "0xCccCCccc7021b32EBb4e8C08314bD62F7c653EC4", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "USDC.e", + "toTokenSymbol": "USDzC", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 1868, + "toChain": 480, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 480, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 480, + "fromTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "toTokenAddress": "0x79A02482A880bCE3F13e09Da970dC34db4CD24d1", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "USDC.e", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 1868, + "toChain": 41455, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0xB3f0eE446723f4258862D949B4c9688e7e7d35d3", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 41455, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0xB3f0eE446723f4258862D949B4c9688e7e7d35d3", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 57073, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "WETH", + "toTokenSymbol": "WETH", + "isNative": false, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + }, + { + "fromChain": 1868, + "toChain": 57073, + "fromTokenAddress": "0x4200000000000000000000000000000000000006", + "toTokenAddress": "0x4200000000000000000000000000000000000006", + "fromSpokeAddress": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", + "fromTokenSymbol": "ETH", + "toTokenSymbol": "ETH", + "isNative": true, + "l1TokenAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + } + ], + "swapRoutes": [ + { + "fromChain": 10, + "toChain": 1, + "fromTokenAddress": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", + "toTokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "fromSpokeAddress": "0x6f26Bf09B1C792e3228e5467807a900A503c0281", + "fromTokenSymbol": "USDC", + "toTokenSymbol": "USDC", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "swapTokenAddress": "0x7F5c764cBc14f9669B88837ca1490cCa17c31607", + "swapTokenSymbol": "USDC.e", + "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 10, + "toChain": 137, + "fromTokenAddress": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", + "toTokenAddress": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", + "fromSpokeAddress": "0x6f26Bf09B1C792e3228e5467807a900A503c0281", + "fromTokenSymbol": "USDC", + "toTokenSymbol": "USDC", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "swapTokenAddress": "0x7F5c764cBc14f9669B88837ca1490cCa17c31607", + "swapTokenSymbol": "USDC.e", + "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 10, + "toChain": 137, + "fromTokenAddress": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", + "toTokenAddress": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", + "fromSpokeAddress": "0x6f26Bf09B1C792e3228e5467807a900A503c0281", + "fromTokenSymbol": "USDC", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "swapTokenAddress": "0x7F5c764cBc14f9669B88837ca1490cCa17c31607", + "swapTokenSymbol": "USDC.e", + "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 10, + "toChain": 42161, + "fromTokenAddress": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", + "toTokenAddress": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", + "fromSpokeAddress": "0x6f26Bf09B1C792e3228e5467807a900A503c0281", + "fromTokenSymbol": "USDC", + "toTokenSymbol": "USDC", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "swapTokenAddress": "0x7F5c764cBc14f9669B88837ca1490cCa17c31607", + "swapTokenSymbol": "USDC.e", + "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 10, + "toChain": 42161, + "fromTokenAddress": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", + "toTokenAddress": "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8", + "fromSpokeAddress": "0x6f26Bf09B1C792e3228e5467807a900A503c0281", + "fromTokenSymbol": "USDC", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "swapTokenAddress": "0x7F5c764cBc14f9669B88837ca1490cCa17c31607", + "swapTokenSymbol": "USDC.e", + "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 10, + "toChain": 324, + "fromTokenAddress": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", + "toTokenAddress": "0x3355df6D4c9C3035724Fd0e3914dE96A5a83aaf4", + "fromSpokeAddress": "0x6f26Bf09B1C792e3228e5467807a900A503c0281", + "fromTokenSymbol": "USDC", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "swapTokenAddress": "0x7F5c764cBc14f9669B88837ca1490cCa17c31607", "swapTokenSymbol": "USDC.e", "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, @@ -10671,6 +11639,20 @@ "swapTokenSymbol": "USDC.e", "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, + { + "fromChain": 10, + "toChain": 1868, + "fromTokenAddress": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", + "toTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "fromSpokeAddress": "0x6f26Bf09B1C792e3228e5467807a900A503c0281", + "fromTokenSymbol": "USDC", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "swapTokenAddress": "0x7F5c764cBc14f9669B88837ca1490cCa17c31607", + "swapTokenSymbol": "USDC.e", + "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, { "fromChain": 137, "toChain": 1, @@ -10853,6 +11835,20 @@ "swapTokenSymbol": "USDC.e", "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, + { + "fromChain": 137, + "toChain": 1868, + "fromTokenAddress": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", + "toTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "fromSpokeAddress": "0x9295ee1d8C5b022Be115A2AD3c30C72E34e7F096", + "fromTokenSymbol": "USDC", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "swapTokenAddress": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", + "swapTokenSymbol": "USDC.e", + "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, { "fromChain": 42161, "toChain": 1, @@ -11035,6 +12031,20 @@ "swapTokenSymbol": "USDC.e", "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, + { + "fromChain": 42161, + "toChain": 1868, + "fromTokenAddress": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", + "toTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "fromSpokeAddress": "0xe35e9842fceaCA96570B734083f4a58e8F7C5f2A", + "fromTokenSymbol": "USDC", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "swapTokenAddress": "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8", + "swapTokenSymbol": "USDC.e", + "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, { "fromChain": 8453, "toChain": 1, @@ -11216,6 +12226,20 @@ "swapTokenAddress": "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA", "swapTokenSymbol": "USDbC", "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + }, + { + "fromChain": 8453, + "toChain": 1868, + "fromTokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + "toTokenAddress": "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369", + "fromSpokeAddress": "0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64", + "fromTokenSymbol": "USDC", + "toTokenSymbol": "USDC.e", + "isNative": false, + "l1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "swapTokenAddress": "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA", + "swapTokenSymbol": "USDbC", + "swapTokenL1TokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" } ], "pools": [], diff --git a/src/utils/constants.ts b/src/utils/constants.ts index 88c1a84e7..7c207c4d1 100644 --- a/src/utils/constants.ts +++ b/src/utils/constants.ts @@ -125,6 +125,7 @@ export const rewardPrograms: Record = { ChainId.INK, ChainId.WORLD_CHAIN, ChainId.LISK, + ChainId.SONEIUM, ], }, "arb-rebates": { @@ -241,6 +242,7 @@ export const nonEthChains = [ ChainId.POLYGON, ChainId.POLYGON_AMOY, ChainId.ALEPH_ZERO, + ChainId.LENS_SEPOLIA, ]; export const tokenTable = Object.fromEntries( diff --git a/src/utils/sdk.ts b/src/utils/sdk.ts index b78c2aeec..945add20c 100644 --- a/src/utils/sdk.ts +++ b/src/utils/sdk.ts @@ -12,8 +12,11 @@ export { mapAsync } from "@across-protocol/sdk/dist/esm/utils/ArrayUtils"; export { getCurrentTime } from "@across-protocol/sdk/dist/esm/utils/TimeUtils"; export { isBridgedUsdc } from "@across-protocol/sdk/dist/esm/utils/TokenUtils"; export { BRIDGED_USDC_SYMBOLS } from "@across-protocol/sdk/dist/esm/constants"; -export { getNativeTokenSymbol } from "@across-protocol/sdk/dist/esm/utils/NetworkUtils"; export { compareAddressesSimple } from "@across-protocol/sdk/dist/esm/utils/AddressUtils"; +export { + getNativeTokenSymbol, + chainIsLens, +} from "@across-protocol/sdk/dist/esm/utils/NetworkUtils"; export function getUpdateV3DepositTypedData( depositId: number, diff --git a/src/views/Bridge/components/ChainSelector.tsx b/src/views/Bridge/components/ChainSelector.tsx index d37c951fe..324a512fe 100644 --- a/src/views/Bridge/components/ChainSelector.tsx +++ b/src/views/Bridge/components/ChainSelector.tsx @@ -13,10 +13,10 @@ import { shortenAddress, } from "utils"; -import { getAllChains } from "../utils"; import { useBalanceBySymbolPerChain, useConnection } from "hooks"; import { useMemo } from "react"; import { BigNumber } from "ethers"; +import { getSupportedChains } from "../utils"; type Props = { selectedRoute: Route; @@ -25,8 +25,6 @@ type Props = { onSelectChain: (chainId: number, externalProjectId?: string) => void; }; -const allChains = getAllChains(); - export function ChainSelector({ selectedRoute, fromOrTo, @@ -37,8 +35,8 @@ export function ChainSelector({ const { fromChain, toChain, fromTokenSymbol, toTokenSymbol } = selectedRoute; const selectedChain = getChainInfo(isFrom ? fromChain : toChain); - const tokenInfo = getToken(isFrom ? fromTokenSymbol : toTokenSymbol); + const allChains = getSupportedChains(fromOrTo); const { account, isConnected } = useConnection(); const { balances } = useBalanceBySymbolPerChain({ @@ -76,7 +74,7 @@ export function ChainSelector({ } }); } - }, [balances, isConnected, isFrom]); + }, [allChains, balances, isConnected, isFrom]); return ( diff --git a/src/views/Bridge/utils.ts b/src/views/Bridge/utils.ts index 9eb18cfc6..f7a8e16d3 100644 --- a/src/views/Bridge/utils.ts +++ b/src/views/Bridge/utils.ts @@ -14,6 +14,7 @@ import { GetBridgeFeesResult, chainEndpointToId, parseUnits, + chainIsLens, } from "utils"; import { SwapQuoteApiResponse } from "utils/serverless-api/prod/swap-quote"; @@ -91,6 +92,14 @@ export function getReceiveTokenSymbol( return "ETH"; } + if (inputTokenSymbol === "GRASS" && chainIsLens(destinationChainId)) { + return isReceiverContract ? "WGRASS" : "GRASS"; + } + + if (inputTokenSymbol === "WGRASS") { + return "GRASS"; + } + return outputTokenSymbol; } @@ -371,58 +380,61 @@ export function getAvailableOutputTokens( ); } -export function getAllChains() { - return enabledRoutes - .map((route) => - route.externalProjectId - ? { - ...externConfigs[route.externalProjectId], - chainId: externConfigs[route.externalProjectId].intermediaryChain, - } - : { ...getChainInfo(route.fromChain), projectId: undefined } - ) - .filter( - (chain, index, self) => - index === - self.findIndex( - (fromChain) => - fromChain.chainId === chain.chainId && fromChain.name === chain.name - ) - ) - .sort((a, b) => { - if (a.name < b.name) { - return -1; - } - if (a.name > b.name) { - return 1; - } - return 0; - }); -} +export const ChainType = { + FROM: "from", + TO: "to", + ALL: "all", +} as const; + +export type ChainTypeT = (typeof ChainType)[keyof typeof ChainType]; + +export function getSupportedChains(chainType: ChainTypeT = ChainType.ALL) { + let chainIds: number[] = []; + + switch (chainType) { + case ChainType.FROM: + chainIds = enabledRoutes.map((route) => route.fromChain); + break; + case ChainType.TO: + chainIds = enabledRoutes.map((route) => route.toChain); + break; + case ChainType.ALL: + default: + chainIds = enabledRoutes.flatMap((route) => [ + route.fromChain, + route.toChain, + ]); + break; + } -export function getOriginChains() { - return enabledRoutes - .filter( - (route, index, self) => - index === - self.findIndex( - (r) => - r.fromChain === route.fromChain && r.externalProjectId === undefined // HL is destination-only + const uniqueChainIds = Array.from(new Set(chainIds)); + + const uniqueChains = uniqueChainIds.flatMap((chainId) => { + return [ + { ...getChainInfo(chainId), projectId: undefined }, + ...Object.values(externConfigs) + .filter( + ({ intermediaryChain, projectId }) => + chainType !== "from" && + intermediaryChain === chainId && + enabledRoutes.some((route) => route.externalProjectId === projectId) ) - ) - .map((route) => - route.externalProjectId - ? { - ...externConfigs[route.externalProjectId], - chainId: externConfigs[route.externalProjectId].intermediaryChain, - } - : { ...getChainInfo(route.fromChain), projectId: undefined } - ) - .sort((a, b) => { - if (a.name < b.name) return -1; - if (a.name > b.name) return 1; - return 0; - }); + .map((extern) => ({ + ...extern, + chainId: extern.intermediaryChain, + })), + ]; + }); + + return uniqueChains.sort((a, b) => { + if (a.name < b.name) { + return -1; + } + if (a.name > b.name) { + return 1; + } + return 0; + }); } export function getRouteFromUrl(overrides?: RouteFilter) { diff --git a/vercel.json b/vercel.json index 00a7f48ec..c777ee361 100644 --- a/vercel.json +++ b/vercel.json @@ -9,6 +9,14 @@ "path": "/api/cron-cache-gas-prices", "schedule": "* * * * *" }, + { + "path": "/api/cron-cache-gas-costs", + "schedule": "* * * * *" + }, + { + "path": "/api/cron-cache-l1-data-fee", + "schedule": "* * * * *" + }, { "path": "/api/cron-ping-endpoints", "schedule": "* * * * *" @@ -18,6 +26,12 @@ "api/cron-cache-gas-prices.ts": { "maxDuration": 90 }, + "api/cron-cache-gas-costs.ts": { + "maxDuration": 90 + }, + "api/cron-cache-l1-data-fee.ts": { + "maxDuration": 90 + }, "api/cron-ping-endpoints.ts": { "maxDuration": 90 } @@ -25,7 +39,7 @@ "rewrites": [ { "source": "/api/deposit/status", - "destination": "https://public.api.across.to/deposit/status" + "destination": "https://indexer.across.to/deposit/status" } ], "redirects": [ diff --git a/yarn.lock b/yarn.lock index 9b06bf5bf..d86cf631e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16,15 +16,10 @@ "@uma/common" "^2.17.0" hardhat "^2.9.3" -"@across-protocol/constants@^3.1.24", "@across-protocol/constants@^3.1.25": - version "3.1.25" - resolved "https://registry.yarnpkg.com/@across-protocol/constants/-/constants-3.1.25.tgz#60d6d9814582ff91faf2b6d9f51d6dccb447b4ce" - integrity sha512-GpZoYn7hETYL2BPMM2GqXAer6+l/xuhder+pvpb00HJcb/sqCjF7vaaeKxjKJ3jKtyeulYmdu0NDkeNm5KbNWA== - -"@across-protocol/constants@^3.1.9": - version "3.1.13" - resolved "https://registry.yarnpkg.com/@across-protocol/constants/-/constants-3.1.13.tgz#b4caf494e9d9fe50290cca91b7883ea408fdb90a" - integrity sha512-EsTJgQL5p+XXs40aBxOSbMOpQr/f4ty+Iyget8Oh6MT/cncCa2+W8a78fbqYqTtSpH6Sm7E8nvT8gPuSS6ef1w== +"@across-protocol/constants@^3.1.30", "@across-protocol/constants@^3.1.9": + version "3.1.30" + resolved "https://registry.yarnpkg.com/@across-protocol/constants/-/constants-3.1.30.tgz#b5bb82b5efcf3f63658332eece240ecdb645c0bc" + integrity sha512-1lEhQmYiqcMKg05fnPfSeCk9QTRaHdVykD+Wcr5tcsyPYgOMtXOXvxxvtSOe9FK+ckpRypp4ab2WUN2iitnzpw== "@across-protocol/contracts-v3.0.6@npm:@across-protocol/contracts@3.0.6": version "3.0.6" @@ -55,12 +50,12 @@ "@openzeppelin/contracts" "4.1.0" "@uma/core" "^2.18.0" -"@across-protocol/contracts@^3.0.19": - version "3.0.19" - resolved "https://registry.yarnpkg.com/@across-protocol/contracts/-/contracts-3.0.19.tgz#3756504bb3f5f625f9ca403045a79050e675602f" - integrity sha512-9GjKKF8SHGKP9FGhawHzLZ8sfBVFUICd+Bn1pn3SFuh0p+ndQIayG+QEYRKGFUXVPV6+XXLve750PQ1Hu7dIEg== +"@across-protocol/contracts@^3.0.25": + version "3.0.25" + resolved "https://registry.yarnpkg.com/@across-protocol/contracts/-/contracts-3.0.25.tgz#733771bb3d40e111bd14b8be9b4526595ccba0a7" + integrity sha512-OwBxylXAzujUJCGbENyBki0yUryJJAb4v7i69nri+psyJr8MA8LhiiOIVhw+jIUeukBeY8uKF+AI7fzlewwFvA== dependencies: - "@across-protocol/constants" "^3.1.24" + "@across-protocol/constants" "^3.1.30" "@coral-xyz/anchor" "^0.30.1" "@defi-wonderland/smock" "^2.3.4" "@eth-optimism/contracts" "^0.5.40" @@ -83,14 +78,14 @@ yargs "^17.7.2" zksync-web3 "^0.14.3" -"@across-protocol/sdk@^3.4.7": - version "3.4.7" - resolved "https://registry.yarnpkg.com/@across-protocol/sdk/-/sdk-3.4.7.tgz#6ddf9698f918d7b7e0216327d60b54b37fe14f22" - integrity sha512-GeyzDG8EzlN8oddmjXASqND+usZPkWDLpzbdWfAfBfHT3pjIMatntZqZghfCfjy+ICf+rlYrAb8I24H4jlct8Q== +"@across-protocol/sdk@^3.4.12": + version "3.4.12" + resolved "https://registry.yarnpkg.com/@across-protocol/sdk/-/sdk-3.4.12.tgz#2944f41d51a2cd889a4d1882435149a32e5441c8" + integrity sha512-Bc4hpvl0CysisOLk+WQLbSUwhRhJ/NPyHwocA/Qo5ERne+zmN8P8dsmVQLgsIxay3Nu+VLVcNLoSKWewiom46w== dependencies: "@across-protocol/across-token" "^1.0.0" - "@across-protocol/constants" "^3.1.25" - "@across-protocol/contracts" "^3.0.19" + "@across-protocol/constants" "^3.1.30" + "@across-protocol/contracts" "^3.0.25" "@eth-optimism/sdk" "^3.3.1" "@ethersproject/bignumber" "^5.7.0" "@pinata/sdk" "^2.1.0" @@ -1322,14 +1317,7 @@ dependencies: regenerator-runtime "^0.13.11" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.6.tgz#5b76eb89ad45e2e4a0a8db54c456251469a3358e" - integrity sha512-Ja18XcETdEl5mzzACGd+DKgaGJzPTCow7EglgwTmHdwokzDFYh/MHua6lU6DV/hjF2IaOJ4oX2nqnjG7RElKOw== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/runtime@^7.19.4", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2", "@babel/runtime@^7.25.0": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.19.4", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2", "@babel/runtime@^7.25.0", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4": version "7.26.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1" integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== @@ -1464,6 +1452,13 @@ bn.js "^5.1.2" buffer-layout "^1.2.0" +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + "@dabh/diagnostics@^2.0.2": version "2.0.3" resolved "https://registry.yarnpkg.com/@dabh/diagnostics/-/diagnostics-2.0.3.tgz#7f7e97ee9a725dffc7808d93668cc984e1dc477a" @@ -1516,29 +1511,32 @@ resolved "https://registry.yarnpkg.com/@ecies/ciphers/-/ciphers-0.2.2.tgz#82a15b10a6e502b63fb30915d944b2eaf3ff17ff" integrity sha512-ylfGR7PyTd+Rm2PqQowG08BCKA22QuX8NzrL+LxAAvazN10DMwdJ2fWwAzRj05FI/M8vNFGm3cv9Wq/GFWCBLg== -"@edge-runtime/format@^1.1.0-beta.23": - version "1.1.0-beta.31" - resolved "https://registry.yarnpkg.com/@edge-runtime/format/-/format-1.1.0-beta.31.tgz#58f945ad8e437a660d038da73f5a5802fc81cecd" - integrity sha512-tUZy+LMls1TivqVb7dbC0C0IMNjwP55co6vSkTgXCl9xFos3v43bCwAzivMaJ3NR8ZuihvK1gEj8CmvoqvOt0g== +"@edge-runtime/format@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@edge-runtime/format/-/format-2.2.1.tgz#10dcedb0d7c2063c9ee360fbab23846c8720f986" + integrity sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g== -"@edge-runtime/primitives@^1.1.0-beta.23", "@edge-runtime/primitives@^1.1.0-beta.31": - version "1.1.0-beta.31" - resolved "https://registry.yarnpkg.com/@edge-runtime/primitives/-/primitives-1.1.0-beta.31.tgz#f0e52f0ab77b088e6a45988afcccb07d663b3b33" - integrity sha512-OO1x32aJoxgME1k77RVxVNsazs5NY/SNwYEN8ptlZ6DKUXn0eesXftDsmlypX/OU0ZeJc61/xNVUuoeyDGJDVA== +"@edge-runtime/node-utils@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@edge-runtime/node-utils/-/node-utils-2.3.0.tgz#17ac98dd8a39e194c4fd49d66f3579ec5b125a78" + integrity sha512-uUtx8BFoO1hNxtHjp3eqVPC/mWImGb2exOfGjMLUoipuWgjej+f4o/VP4bUI8U40gu7Teogd5VTeZUkGvJSPOQ== -"@edge-runtime/vm@1.1.0-beta.23": - version "1.1.0-beta.23" - resolved "https://registry.yarnpkg.com/@edge-runtime/vm/-/vm-1.1.0-beta.23.tgz#b55d9add18cb7bb57acf184f6cd7b6edec782a25" - integrity sha512-XBp3rCuX4scJVOo2KconAotL5XGX3zdd8IkfDNr5VVSQ/B6HkiTNuf+EvzSQTpplF+fiyLTpfcP9EbNLibwLTA== - dependencies: - "@edge-runtime/primitives" "^1.1.0-beta.23" +"@edge-runtime/ponyfill@2.4.2": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@edge-runtime/ponyfill/-/ponyfill-2.4.2.tgz#9bec9feff18623f9f3ebe2f4ad8f0475c644ed07" + integrity sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA== + +"@edge-runtime/primitives@4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@edge-runtime/primitives/-/primitives-4.1.0.tgz#43c6e793362f3333acf0955a75b5735b34035494" + integrity sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ== -"@edge-runtime/vm@^1.1.0-beta.23": - version "1.1.0-beta.31" - resolved "https://registry.yarnpkg.com/@edge-runtime/vm/-/vm-1.1.0-beta.31.tgz#4deb95bf2b50cfc1bb2e7641ad2e165bde33e6c2" - integrity sha512-D3JW32u7LSTt0KbphGWx2F41jId7BY8H0Awr25PTRFWroqohfWo1C2huOh7/Yyn4qeyJOVEuxWeTzvbSkTyyTg== +"@edge-runtime/vm@3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@edge-runtime/vm/-/vm-3.2.0.tgz#8a735241d14e9fdad85497b8b17d0ea157df4710" + integrity sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw== dependencies: - "@edge-runtime/primitives" "^1.1.0-beta.31" + "@edge-runtime/primitives" "4.1.0" "@emotion/babel-plugin@^11.12.0": version "11.12.0" @@ -3189,6 +3187,11 @@ resolved "https://registry.yarnpkg.com/@fal-works/esbuild-plugin-global-externals/-/esbuild-plugin-global-externals-2.1.2.tgz#c05ed35ad82df8e6ac616c68b92c2282bd083ba4" integrity sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ== +"@fastify/busboy@^2.0.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" + integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== + "@floating-ui/core@^1.4.2": version "1.5.0" resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.5.0.tgz#5c05c60d5ae2d05101c3021c1a2a350ddc027f8c" @@ -3475,6 +3478,13 @@ wrap-ansi "^8.1.0" wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" +"@isaacs/fs-minipass@^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz#2d59ae3ab4b38fb4270bfa23d30f8e2e86c7fe32" + integrity sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w== + dependencies: + minipass "^7.0.4" + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -3713,10 +3723,10 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== "@jridgewell/set-array@^1.0.1": version "1.1.2" @@ -3728,6 +3738,14 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9": version "0.3.20" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f" @@ -3765,6 +3783,19 @@ dependencies: "@lit-labs/ssr-dom-shim" "^1.0.0" +"@mapbox/node-pre-gyp@^2.0.0-rc.0": + version "2.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-2.0.0-rc.0.tgz#4390439d79e30bba0a4dccb230723e359505c8b7" + integrity sha512-nhSMNprz3WmeRvd8iUs5JqkKr0Ncx46JtPxM3AhXes84XpSJfmIwKeWXRpsr53S7kqPkQfPhzrMFUxSNb23qSA== + dependencies: + consola "^3.2.3" + detect-libc "^2.0.0" + https-proxy-agent "^7.0.5" + node-fetch "^2.6.7" + nopt "^8.0.0" + semver "^7.5.3" + tar "^7.4.0" + "@maticnetwork/fx-portal@^1.0.4": version "1.0.5" resolved "https://registry.yarnpkg.com/@maticnetwork/fx-portal/-/fx-portal-1.0.5.tgz#c26bc0bdf979985f22223d2f1170171a10fa0764" @@ -4004,11 +4035,6 @@ "@motionone/dom" "^10.16.2" tslib "^2.3.1" -"@multiformats/base-x@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@multiformats/base-x/-/base-x-4.0.1.tgz#95ff0fa58711789d53aefb2590a8b7a4e715d121" - integrity sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw== - "@ndelangen/get-tarball@^3.0.7": version "3.0.9" resolved "https://registry.yarnpkg.com/@ndelangen/get-tarball/-/get-tarball-3.0.9.tgz#727ff4454e65f34707e742a59e5e6b1f525d8964" @@ -4059,16 +4085,11 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699" integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== -"@noble/hashes@1.5.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.5.0", "@noble/hashes@~1.5.0": +"@noble/hashes@1.5.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.4.0", "@noble/hashes@^1.5.0", "@noble/hashes@~1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.5.0.tgz#abadc5ca20332db2b1b2aa3e496e9af1213570b0" integrity sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA== -"@noble/hashes@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" - integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== - "@noble/secp256k1@1.7.1", "@noble/secp256k1@~1.7.0": version "1.7.1" resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" @@ -4970,14 +4991,14 @@ estree-walker "^2.0.1" picomatch "^2.2.2" -"@rollup/pluginutils@^5.0.2": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz#012b8f53c71e4f6f9cb317e311df1404f56e7a33" - integrity sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA== +"@rollup/pluginutils@^5.0.2", "@rollup/pluginutils@^5.1.3": + version "5.1.4" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.4.tgz#bb94f1f9eaaac944da237767cdfee6c5b2262d4a" + integrity sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ== dependencies: "@types/estree" "^1.0.0" estree-walker "^2.0.2" - picomatch "^2.3.1" + picomatch "^4.0.2" "@rollup/rollup-android-arm-eabi@4.18.0": version "4.18.0" @@ -5090,12 +5111,7 @@ resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.1.tgz#dd0b2a533063ca612c17aa9ad26424a2ff5aa865" integrity sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ== -"@scure/base@~1.1.0", "@scure/base@~1.1.2", "@scure/base@~1.1.4": - version "1.1.6" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.6.tgz#8ce5d304b436e4c84f896e0550c83e4d88cb917d" - integrity sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g== - -"@scure/base@~1.1.7", "@scure/base@~1.1.8": +"@scure/base@~1.1.0", "@scure/base@~1.1.2", "@scure/base@~1.1.4", "@scure/base@~1.1.7", "@scure/base@~1.1.8": version "1.1.9" resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.9.tgz#e5e142fbbfe251091f9c5f1dd4c834ac04c3dbd1" integrity sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg== @@ -5367,6 +5383,11 @@ resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== +"@sinclair/typebox@0.25.24": + version "0.25.24" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718" + integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ== + "@sinclair/typebox@^0.27.8": version "0.27.8" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" @@ -6662,7 +6683,7 @@ resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-14.5.1.tgz#27337d72046d5236b32fd977edee3f74c71d332f" integrity sha512-UCcUKrUYGj7ClomOo2SpNVvx4/fkd/2BbIHDCle8A0ax+P3bU7yJwDBDrS6ZwdTMARWTGODX1hEsCcO+7beJjg== -"@tootallnate/once@2": +"@tootallnate/once@2", "@tootallnate/once@2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== @@ -6890,6 +6911,26 @@ mkdirp "^1.0.4" path-browserify "^1.0.1" +"@tsconfig/node10@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" + integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + "@types/aria-query@^5.0.1": version "5.0.3" resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.3.tgz#07570ebd25f9b516c910a91f7244052c9b58eabc" @@ -6986,14 +7027,7 @@ dependencies: "@types/node" "*" -"@types/connect@*": - version "3.4.37" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.37.tgz#c66a96689fd3127c8772eb3e9e5c6028ec1a9af5" - integrity sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q== - dependencies: - "@types/node" "*" - -"@types/connect@^3.4.33": +"@types/connect@*", "@types/connect@^3.4.33": version "3.4.38" resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== @@ -7007,14 +7041,7 @@ dependencies: "@types/node" "*" -"@types/debug@^4.1.5": - version "4.1.8" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.8.tgz#cef723a5d0a90990313faec2d1e22aee5eecb317" - integrity sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ== - dependencies: - "@types/ms" "*" - -"@types/debug@^4.1.7": +"@types/debug@^4.1.5", "@types/debug@^4.1.7": version "4.1.12" resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== @@ -7197,9 +7224,9 @@ parse5 "^7.0.0" "@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.9": - version "7.0.12" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" - integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/keyv@^3.1.4": version "3.1.4" @@ -7225,7 +7252,7 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.184.tgz#23f96cd2a21a28e106dc24d825d4aa966de7a9fe" integrity sha512-RoZphVtHbxPZizt4IcILciSWiC6dcn+eZ8oX9IWEYfDMcocdd42f7NPI6fQj+6zI8y4E0L7gu2pcZKLGTRaV9Q== -"@types/long@^4.0.0", "@types/long@^4.0.1": +"@types/long@^4.0.0": version "4.0.2" resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== @@ -7278,11 +7305,6 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== -"@types/minimatch@^3.0.4": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" - integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== - "@types/mocha@^10.0.1": version "10.0.6" resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.6.tgz#818551d39113081048bdddbef96701b4e8bb9d1b" @@ -7308,6 +7330,11 @@ dependencies: undici-types "~5.26.4" +"@types/node@16.18.11": + version "16.18.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.11.tgz#cbb15c12ca7c16c85a72b6bdc4d4b01151bb3cae" + integrity sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA== + "@types/node@^10.0.3": version "10.17.60" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" @@ -7530,20 +7557,13 @@ dependencies: "@types/node" "*" -"@types/ws@^8.2.2": +"@types/ws@^8.2.2", "@types/ws@^8.5.5": version "8.5.13" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.13.tgz#6414c280875e2691d0d1e080b05addbf5cb91e20" integrity sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA== dependencies: "@types/node" "*" -"@types/ws@^8.5.5": - version "8.5.5" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.5.tgz#af587964aa06682702ee6dcbc7be41a80e4b28eb" - integrity sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg== - dependencies: - "@types/node" "*" - "@types/yargs-parser@*": version "20.2.1" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" @@ -7556,20 +7576,13 @@ dependencies: "@types/yargs-parser" "*" -"@types/yargs@^17.0.33": +"@types/yargs@^17.0.33", "@types/yargs@^17.0.8": version "17.0.33" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== dependencies: "@types/yargs-parser" "*" -"@types/yargs@^17.0.8": - version "17.0.24" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.24.tgz#b3ef8d50ad4aa6aecf6ddc97c580a00f5aa11902" - integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw== - dependencies: - "@types/yargs-parser" "*" - "@typescript-eslint/eslint-plugin@7.13.1": version "7.13.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.13.1.tgz#cdc521c8bca38b55585cf30db787fb2abad3f9fd" @@ -7699,48 +7712,7 @@ "@typescript-eslint/types" "7.13.1" eslint-visitor-keys "^3.4.3" -"@uma/common@^2.17.0", "@uma/common@^2.28.0", "@uma/common@^2.34.0", "@uma/common@^2.37.0": - version "2.37.0" - resolved "https://registry.yarnpkg.com/@uma/common/-/common-2.37.0.tgz#856a0cce47758f3ede862a6c80c6f254e8edae4c" - integrity sha512-yMMBZ8SHs3VuIAbV2RvYH8PIcmok79kTka0etWoa/VpIFbv+qh7mzpJGHLQ3i4FcAw9QMvesEJMVHYQfriN+OQ== - dependencies: - "@across-protocol/contracts" "^0.1.4" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.0.5" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@google-cloud/kms" "^3.0.1" - "@google-cloud/storage" "^6.4.2" - "@nomicfoundation/hardhat-verify" "^1.0.4" - "@nomiclabs/hardhat-ethers" "^2.2.1" - "@nomiclabs/hardhat-web3" "^2.0.0" - "@truffle/contract" "4.6.17" - "@truffle/hdwallet-provider" eip1559-beta - "@types/ethereum-protocol" "^1.0.0" - "@uniswap/v3-core" "^1.0.0-rc.2" - abi-decoder "github:UMAprotocol/abi-decoder" - async-retry "^1.3.3" - axios "^1.6.2" - bignumber.js "^8.0.1" - chalk-pipe "^3.0.0" - decimal.js "^10.2.1" - dotenv "^9.0.0" - eth-crypto "^2.4.0" - hardhat-deploy "0.9.1" - hardhat-gas-reporter "^1.0.4" - hardhat-typechain "^0.3.5" - lodash.uniqby "^4.7.0" - minimist "^1.2.0" - moment "^2.24.0" - node-fetch "^2.6.0" - node-metamask "github:UMAprotocol/node-metamask" - require-context "^1.1.0" - solidity-coverage "^0.7.13" - truffle-deploy-registry "^0.5.1" - web3 "^1.6.0" - winston "^3.2.1" - -"@uma/common@^2.37.3": +"@uma/common@^2.17.0", "@uma/common@^2.34.0", "@uma/common@^2.37.3": version "2.37.3" resolved "https://registry.yarnpkg.com/@uma/common/-/common-2.37.3.tgz#0d7fda1227e3a05563544bb36f418a790c81129d" integrity sha512-DLcM2xtiFWDbty21r2gsL6AJbOc8G/CMqg0iMxssvkKbz8varsWS44zJF85XGxMlY8fE40w0ZS8MR92xpbsu4g== @@ -7786,34 +7758,12 @@ resolved "https://registry.yarnpkg.com/@uma/contracts-frontend/-/contracts-frontend-0.4.25.tgz#86fd9e07d0466e04be41c48856e292b0f0de0722" integrity sha512-LfkMw0lO+H+hUPevoAFogVu5iJTXp+Q2ChddqiynvvrwZ/lrNHrOjj0uEX1winjJXTLFs78jBK1AsIkkYK2VTQ== -"@uma/contracts-node@^0.4.0", "@uma/contracts-node@^0.4.17": - version "0.4.22" - resolved "https://registry.yarnpkg.com/@uma/contracts-node/-/contracts-node-0.4.22.tgz#9e77eec9daed0402dafdee0a49f7d82980be1692" - integrity sha512-JDkp0k3dokemTogQNCVnlDsasl6jho9Rk1aW69+F6zZXRA7JHcfBAIN5ReRtsHSV1pAwMLiH1U8wVO5ispTf9w== - -"@uma/contracts-node@^0.4.25": +"@uma/contracts-node@^0.4.17", "@uma/contracts-node@^0.4.25": version "0.4.25" resolved "https://registry.yarnpkg.com/@uma/contracts-node/-/contracts-node-0.4.25.tgz#d5c82f1f2c7e0dc2dec26fe876db73ba3f0689d7" integrity sha512-WaFojX4qyMmXpy5MBS7g0M0KnWESGusdSfTmlkZpCh65TksGaJwAyOM1YBRLL3xm3xSgxPoG+n6tTilSomUmOw== -"@uma/core@^2.18.0", "@uma/core@^2.56.0": - version "2.59.0" - resolved "https://registry.yarnpkg.com/@uma/core/-/core-2.59.0.tgz#fb31340fb9d211e8e1a569b3f409e28ba8e82b9e" - integrity sha512-v8K0kWNvh0eNhtF1i0DKQ0TORoGOG1xx4Wk2fPAP2hfbYs+Vu/lHxqovx45xhHizf3sQ+kphf9DhvgDEi5lJvg== - dependencies: - "@gnosis.pm/safe-contracts" "^1.3.0" - "@gnosis.pm/zodiac" "3.2.0" - "@maticnetwork/fx-portal" "^1.0.4" - "@openzeppelin/contracts" "4.9.6" - "@uma/common" "^2.37.0" - "@uma/merkle-distributor" "^1.3.38" - "@uniswap/lib" "4.0.1-alpha" - "@uniswap/v2-core" "1.0.0" - "@uniswap/v2-periphery" "1.1.0-beta.0" - "@uniswap/v3-core" "^1.0.0-rc.2" - "@uniswap/v3-periphery" "^1.0.0-beta.23" - -"@uma/core@^2.61.0": +"@uma/core@^2.18.0", "@uma/core@^2.56.0", "@uma/core@^2.61.0": version "2.61.0" resolved "https://registry.yarnpkg.com/@uma/core/-/core-2.61.0.tgz#29580736349a47af8fb10beb4bb3b50bfcf912f5" integrity sha512-bnk+CWW+uWpRilrgUny/gDXHKomG+h1Ug84OXdx+AAvj1/BtlMDOCNNt1OX8LSAz+a0hkiN9s24/zgHclTC/sg== @@ -7829,20 +7779,6 @@ "@uniswap/v3-core" "^1.0.0-rc.2" "@uniswap/v3-periphery" "^1.0.0-beta.23" -"@uma/merkle-distributor@^1.3.38": - version "1.3.40" - resolved "https://registry.yarnpkg.com/@uma/merkle-distributor/-/merkle-distributor-1.3.40.tgz#70ba0ebf0fe923851786396bcb9a59a5a931127b" - integrity sha512-Hu0Qlj9pkCnwKMYGDoSOf6biabq64go7JiF9jJd/dbju12zh/gX6PInJTbosHfbYv6LIm43zb5RBc7XtZwW+nQ== - dependencies: - "@uma/common" "^2.28.0" - "@uma/contracts-node" "^0.4.0" - chai "^4.3.0" - commander "^7.1.0" - ethers "^5.4.2" - ipfs-http-client "^49.0.2" - mocha "^8.3.0" - node-fetch "^2.6.1" - "@uma/sdk@^0.34.10": version "0.34.10" resolved "https://registry.yarnpkg.com/@uma/sdk/-/sdk-0.34.10.tgz#ae2bb4d1f5f4140aef0f7d6141620d70dbd57f35" @@ -7863,11 +7799,6 @@ immer "^9.0.7" lodash-es "^4.17.21" -"@ungap/promise-all-settled@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" - integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== - "@uniswap/lib@1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@uniswap/lib/-/lib-1.1.1.tgz#0afd29601846c16e5d082866cbb24a9e0758e6bc" @@ -7971,10 +7902,73 @@ dependencies: crypto-js "^4.2.0" -"@vercel/build-utils@5.4.1": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@vercel/build-utils/-/build-utils-5.4.1.tgz#09a347f189fb13a3184a46c89d04e0f3da9793df" - integrity sha512-5+xIl65g8TpgLPQtlq7WYaS31/UZf+GcAO1O1IifUsLGM8+fhSgmmUVz7yoQ53YNWdnSA3WiKZfCgKopQPjlYQ== +"@vercel/build-utils@9.0.1": + version "9.0.1" + resolved "https://registry.yarnpkg.com/@vercel/build-utils/-/build-utils-9.0.1.tgz#5135a6f5e4908bad6e4642914b56963bf545d242" + integrity sha512-pG/izEqA0AGyqQj6QBfGoTOKU9FPG18sYw9qpncEq00uA+J4Ly4e8ssNbENsXtnXqkMjeoS3c5ncR3jT0bOyiA== + +"@vercel/error-utils@2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@vercel/error-utils/-/error-utils-2.0.3.tgz#72575bf3a3ff3e67f474364e24e753d113c5b79a" + integrity sha512-CqC01WZxbLUxoiVdh9B/poPbNpY9U+tO1N9oWHwTl5YAZxcqXmmWJ8KNMFItJCUUWdY3J3xv8LvAuQv2KZ5YdQ== + +"@vercel/fun@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@vercel/fun/-/fun-1.1.2.tgz#437cb320d161deac37621e7c118e26a27247d8e8" + integrity sha512-n13RO1BUy8u6+kzDQ2++BRj4Y5EAiQPt+aV+Tb2HNTmToNr4Mu3dE1kFlaTVTxQzAT3hvIRlVEU/OMvF8LCFJw== + dependencies: + "@tootallnate/once" "2.0.0" + async-listen "1.2.0" + debug "4.3.4" + execa "3.2.0" + fs-extra "8.1.0" + generic-pool "3.4.2" + micro "9.3.5-canary.3" + ms "2.1.1" + node-fetch "2.6.7" + path-match "1.2.4" + promisepipe "3.0.0" + semver "7.5.4" + stat-mode "0.3.0" + stream-to-promise "2.2.0" + tar "4.4.18" + tree-kill "1.2.2" + uid-promise "1.0.0" + uuid "3.3.2" + xdg-app-paths "5.1.0" + yauzl-promise "2.1.3" + +"@vercel/gatsby-plugin-vercel-analytics@1.0.11": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@vercel/gatsby-plugin-vercel-analytics/-/gatsby-plugin-vercel-analytics-1.0.11.tgz#07e6a02665c340ad31ad9d9d3b0df00a30a32aed" + integrity sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw== + dependencies: + web-vitals "0.2.4" + +"@vercel/gatsby-plugin-vercel-builder@2.0.63": + version "2.0.63" + resolved "https://registry.yarnpkg.com/@vercel/gatsby-plugin-vercel-builder/-/gatsby-plugin-vercel-builder-2.0.63.tgz#2cf80e1401e2a67818089da28bbde71988c35ae3" + integrity sha512-xZmZ6XOBycOR+Peq/WFBc8UkdrvSPXseCPhPLBK2MTz6y/EdD4KbpnHckYo0H85JUMsJLlAspAbRNKnJeVkvsQ== + dependencies: + "@sinclair/typebox" "0.25.24" + "@vercel/build-utils" "9.0.1" + "@vercel/routing-utils" "5.0.0" + esbuild "0.14.47" + etag "1.8.1" + fs-extra "11.1.0" + +"@vercel/go@3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@vercel/go/-/go-3.2.1.tgz#f98b3312237163cfe9b079493caeb26fb28d64b9" + integrity sha512-ezjmuUvLigH9V4egEaX0SZ+phILx8lb+Zkp1iTqKI+yl/ibPAtVo5o+dLSRAXU9U01LBmaLu3O8Oxd/JpWYCOw== + +"@vercel/hydrogen@1.0.11": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@vercel/hydrogen/-/hydrogen-1.0.11.tgz#dab390906e3e1e98a10a56cc4fb4b5243f28a6d6" + integrity sha512-nkSQ0LC7rFRdfkTUGm9pIbAfRb2Aat05u8ouN0FoUl7/I/YVgd0G6iRBN9bOMFUIiBiaKB4KqaZEFzVfUHpwYw== + dependencies: + "@vercel/static-config" "3.0.0" + ts-morph "12.0.0" "@vercel/kv@^2.0.0": version "2.0.0" @@ -7983,32 +7977,111 @@ dependencies: "@upstash/redis" "^1.31.3" -"@vercel/node-bridge@3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@vercel/node-bridge/-/node-bridge-3.0.0.tgz#443655b74713ec65531726fb5a30c5c528c804bf" - integrity sha512-TNQK6cufwrhd8ASDk5YHHenH8Xhp9sY8xUjOTKnQQI37KLk+Sw2HlHhT5rzUFN23ahosUlkY8InwtYUmSNb9kw== +"@vercel/next@4.4.2": + version "4.4.2" + resolved "https://registry.yarnpkg.com/@vercel/next/-/next-4.4.2.tgz#8df9ea80fa66c2f5d6d5bc55f94c21fcb913633f" + integrity sha512-bW/huCPGE2lRK7oUkqmwHiWpNcaWkyxJbLrsMlCF9JK6+iz5tj7EzUYng9KJzQMRMsVI7aieeA35VZqMwpYmHw== + dependencies: + "@vercel/nft" "0.27.10" + +"@vercel/nft@0.27.10": + version "0.27.10" + resolved "https://registry.yarnpkg.com/@vercel/nft/-/nft-0.27.10.tgz#f51c391674cdc285cdd004fa1c3822374b739eb8" + integrity sha512-zbaF9Wp/NsZtKLE4uVmL3FyfFwlpDyuymQM1kPbeT0mVOHKDQQNjnnfslB3REg3oZprmNFJuh3pkHBk2qAaizg== + dependencies: + "@mapbox/node-pre-gyp" "^2.0.0-rc.0" + "@rollup/pluginutils" "^5.1.3" + acorn "^8.6.0" + acorn-import-attributes "^1.9.5" + async-sema "^3.1.1" + bindings "^1.4.0" + estree-walker "2.0.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + node-gyp-build "^4.2.2" + picomatch "^4.0.2" + resolve-from "^5.0.0" -"@vercel/node@^2.5.13": - version "2.5.13" - resolved "https://registry.yarnpkg.com/@vercel/node/-/node-2.5.13.tgz#a7ed62290a34e601830986856404910f4a27d670" - integrity sha512-hHrrA4PW734pYz50ZLZF9N6nY+DgzakzCj1l38LHEsOW2VczZthIWRz6DUuKloJ9toOTbvxrvuixUgEL5WCKww== - dependencies: - "@edge-runtime/vm" "1.1.0-beta.23" - "@types/node" "*" - "@vercel/build-utils" "5.4.1" - "@vercel/node-bridge" "3.0.0" - "@vercel/static-config" "2.0.3" - edge-runtime "1.1.0-beta.23" +"@vercel/node@5.0.2", "@vercel/node@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@vercel/node/-/node-5.0.2.tgz#0ace971d4f67f6f4635b1a5136d036222dbeda2a" + integrity sha512-UcUVBC6i4j3WPxLA5GYnSvRd/E1fpqJ5dnMZMLromGCTzIXaw+Uzj7bsSSQ2Y9yPtwnWWrcEDmF3IumSTcdr/w== + dependencies: + "@edge-runtime/node-utils" "2.3.0" + "@edge-runtime/primitives" "4.1.0" + "@edge-runtime/vm" "3.2.0" + "@types/node" "16.18.11" + "@vercel/build-utils" "9.0.1" + "@vercel/error-utils" "2.0.3" + "@vercel/nft" "0.27.10" + "@vercel/static-config" "3.0.0" + async-listen "3.0.0" + cjs-module-lexer "1.2.3" + edge-runtime "2.5.9" + es-module-lexer "1.4.1" esbuild "0.14.47" - exit-hook "2.2.1" - node-fetch "2.6.7" - ts-node "8.9.1" - typescript "4.3.4" + etag "1.8.1" + node-fetch "2.6.9" + path-to-regexp "6.2.1" + ts-morph "12.0.0" + ts-node "10.9.1" + typescript "4.9.5" + undici "5.28.4" -"@vercel/static-config@2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@vercel/static-config/-/static-config-2.0.3.tgz#a3a9fd3994878df0f92c6a617dd1d4589fc1e739" - integrity sha512-XfP0z81SigmxvUzzhN6pbURJns86HKYjrLYgetLbBp1d8NUv4O8dqhNkRGpNGYdljTkjBQOfqG0HVT6dSnqvOw== +"@vercel/python@4.7.0": + version "4.7.0" + resolved "https://registry.yarnpkg.com/@vercel/python/-/python-4.7.0.tgz#43950a228a314a8de9d0751e2e38c87b02d5dc92" + integrity sha512-mkHmzYYZBLFLdvSdgrnBl1Qc1+LI5YIafSNJOj8oW4YU8vvALLMbwgZp42pZnyXW0e/3uHcesiRp4P0jSB0wyg== + +"@vercel/redwood@2.1.12": + version "2.1.12" + resolved "https://registry.yarnpkg.com/@vercel/redwood/-/redwood-2.1.12.tgz#c133275300e68808c902c0d089e0f82d278be39c" + integrity sha512-9CLwF8QKmxWlt1CMxoVD5gxTfwnojo1UlFONRSoUfjpNC+nTHEMCADVyawmDkANXs7Olx4QQSwJqsaWT8A9Jgg== + dependencies: + "@vercel/nft" "0.27.10" + "@vercel/routing-utils" "5.0.0" + "@vercel/static-config" "3.0.0" + semver "6.3.1" + ts-morph "12.0.0" + +"@vercel/remix-builder@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@vercel/remix-builder/-/remix-builder-5.0.2.tgz#a83ba21e6e229190b4f800ef688f2be8d6d34405" + integrity sha512-VkdTOGdE/iiG476xQLmqzIrwlXe3oabiZzNCronJe8wgtWfF4+0jBExhLkv1KS92v1kOfAXPWXqPqs2MktE8ZQ== + dependencies: + "@vercel/error-utils" "2.0.3" + "@vercel/nft" "0.27.10" + "@vercel/static-config" "3.0.0" + ts-morph "12.0.0" + +"@vercel/routing-utils@5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@vercel/routing-utils/-/routing-utils-5.0.0.tgz#0878d8d17e124128c197fb0ff1217f7fa3d31442" + integrity sha512-llvozDbkGDSelbgigAt9IwCQS8boP4rNHfy3rpJf0DqSn6UDlkFX270NwIQruyXN9KHktHC9qOof6Ik2+bT88A== + dependencies: + path-to-regexp "6.1.0" + optionalDependencies: + ajv "^6.0.0" + +"@vercel/ruby@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@vercel/ruby/-/ruby-2.1.0.tgz#431400276bcb131ef0b9f6cad2e4242557b921a4" + integrity sha512-UZYwlSEEfVnfzTmgkD+kxex9/gkZGt7unOWNyWFN7V/ZnZSsGBUgv6hXLnwejdRi3EztgRQEBd1kUKlXdIeC0Q== + +"@vercel/static-build@2.5.41": + version "2.5.41" + resolved "https://registry.yarnpkg.com/@vercel/static-build/-/static-build-2.5.41.tgz#616f98a239feaa503f5075d87ca2ad1e2313e3f2" + integrity sha512-cnKgFE6+xS00OCGLuURBLvWe2yIW9MU0ILKhFx3m3mpx8HfGYO2LN3b8Li8xYrJtr+rRUdGU3ITtXXveTClkug== + dependencies: + "@vercel/gatsby-plugin-vercel-analytics" "1.0.11" + "@vercel/gatsby-plugin-vercel-builder" "2.0.63" + "@vercel/static-config" "3.0.0" + ts-morph "12.0.0" + +"@vercel/static-config@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@vercel/static-config/-/static-config-3.0.0.tgz#2bd56aa08d1293f0982ca3a5923412550bf64bfe" + integrity sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw== dependencies: ajv "8.6.3" json-schema-to-ts "1.6.4" @@ -8634,11 +8707,6 @@ resolved "https://registry.yarnpkg.com/@zeit/schemas/-/schemas-2.21.0.tgz#cd242c6551ffb51830049d68d9743ab65b45b820" integrity sha512-/J4WBTpWtQ4itN1rb3ao8LfClmVcmz2pO6oYb7Qd4h7VSqUhIbJIvrykz9Ew1WMg6eFWsKdsMHc5uPbFxqlCpg== -"@zxing/text-encoding@0.9.0": - version "0.9.0" - resolved "https://registry.yarnpkg.com/@zxing/text-encoding/-/text-encoding-0.9.0.tgz#fb50ffabc6c7c66a0c96b4c03e3d9be74864b70b" - integrity sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA== - JSONStream@^1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -8662,6 +8730,11 @@ abbrev@1.0.x: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" integrity sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q== +abbrev@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf" + integrity sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ== + "abi-decoder@github:UMAprotocol/abi-decoder": version "2.2.2" resolved "https://codeload.github.com/UMAprotocol/abi-decoder/tar.gz/1f18b7037985bf9b8960a6dc39dc52579ef274bb" @@ -8726,6 +8799,11 @@ acorn-globals@^7.0.0: acorn "^8.1.0" acorn-walk "^8.0.2" +acorn-import-attributes@^1.9.5: + version "1.9.5" + resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" + integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== + acorn-jsx@^5.3.1, acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" @@ -8736,10 +8814,12 @@ acorn-walk@^7.2.0: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== -acorn-walk@^8.0.2: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== +acorn-walk@^8.0.2, acorn-walk@^8.1.1: + version "8.3.4" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" + integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== + dependencies: + acorn "^8.11.0" acorn@7.1.1: version "7.1.1" @@ -8751,10 +8831,10 @@ acorn@^7.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.1.0, acorn@^8.10.0, acorn@^8.12.0, acorn@^8.8.0, acorn@^8.8.1: - version "8.12.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.0.tgz#1627bfa2e058148036133b8d9b51a700663c294c" - integrity sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw== +acorn@^8.1.0, acorn@^8.10.0, acorn@^8.11.0, acorn@^8.12.0, acorn@^8.4.1, acorn@^8.6.0, acorn@^8.8.0, acorn@^8.8.1: + version "8.14.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" + integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== address@^1.0.1: version "1.2.2" @@ -8788,12 +8868,10 @@ agent-base@6: dependencies: debug "4" -agent-base@^7.0.2: - version "7.1.0" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.0.tgz#536802b76bc0b34aa50195eb2442276d613e3434" - integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg== - dependencies: - debug "^4.3.4" +agent-base@^7.1.2: + version "7.1.3" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.3.tgz#29435eb821bc4194633a5b89e5bc4703bafc25a1" + integrity sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw== agentkeepalive@^4.5.0: version "4.5.0" @@ -8835,7 +8913,7 @@ ajv@8.6.3: require-from-string "^2.0.2" uri-js "^4.2.2" -ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: +ajv@^6.0.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -8958,14 +9036,6 @@ any-promise@^1.0.0, any-promise@^1.1.0, any-promise@~1.3.0: resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== -any-signal@^2.1.0, any-signal@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/any-signal/-/any-signal-2.1.2.tgz#8d48270de0605f8b218cf9abe8e9c6a0e7418102" - integrity sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ== - dependencies: - abort-controller "^3.0.0" - native-abort-controller "^1.0.3" - anymatch@^1.3.0: version "1.3.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" @@ -8974,7 +9044,7 @@ anymatch@^1.3.0: micromatch "^2.1.5" normalize-path "^2.0.0" -anymatch@^3.0.3, anymatch@~3.1.1, anymatch@~3.1.2: +anymatch@^3.0.3, anymatch@~3.1.2: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -8999,6 +9069,11 @@ arconnect@^0.4.2: dependencies: arweave "^1.10.13" +arg@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.0.tgz#583c518199419e0037abb74062c37f8519e575f0" + integrity sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg== + arg@5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" @@ -9210,7 +9285,7 @@ asn1.js@^4.10.1: inherits "^2.0.1" minimalistic-assert "^1.0.0" -asn1.js@^5.0.1, asn1.js@^5.4.1: +asn1.js@^5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== @@ -9289,6 +9364,21 @@ async-limiter@~1.0.0: resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== +async-listen@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/async-listen/-/async-listen-1.2.0.tgz#861ab6f92e1703ba54498b10ddb9b5da7b69f363" + integrity sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA== + +async-listen@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/async-listen/-/async-listen-3.0.0.tgz#2e5941390b7d8c753d4dbe94bc6aecbdde52ec5e" + integrity sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg== + +async-listen@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/async-listen/-/async-listen-3.0.1.tgz#cbe4edeace2b93ebf5cf8092899ee139457978b7" + integrity sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA== + async-mutex@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.5.0.tgz#353c69a0b9e75250971a64ac203b0ebfddd75482" @@ -9303,6 +9393,11 @@ async-retry@^1.3.3: dependencies: retry "0.13.1" +async-sema@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/async-sema/-/async-sema-3.1.1.tgz#e527c08758a0f8f6f9f15f799a173ff3c40ea808" + integrity sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg== + async@1.x, async@^1.4.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -9315,12 +9410,7 @@ async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.5.0: dependencies: lodash "^4.17.14" -async@^3.2.0, async@^3.2.3: - version "3.2.4" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" - integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== - -async@^3.2.5: +async@^3.2.0, async@^3.2.3, async@^3.2.5: version "3.2.5" resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== @@ -9406,16 +9496,7 @@ axios@^0.27.2: follow-redirects "^1.14.9" form-data "^4.0.0" -axios@^1.5.1, axios@^1.6.0, axios@^1.6.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.2.tgz#b625db8a7051fbea61c35a3cbb3a1daa7b9c7621" - integrity sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -axios@^1.6.1: +axios@^1.5.1, axios@^1.6.0, axios@^1.6.1, axios@^1.6.2, axios@^1.7.4: version "1.7.8" resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.8.tgz#1997b1496b394c21953e68c14aaa51b7b5de3d6e" integrity sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw== @@ -9424,15 +9505,6 @@ axios@^1.6.1: form-data "^4.0.0" proxy-from-env "^1.1.0" -axios@^1.7.4: - version "1.7.7" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" - integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - babel-cli@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1" @@ -10250,7 +10322,7 @@ binary@~0.3.0: buffers "~0.1.1" chainsaw "~0.1.0" -bindings@^1.3.0, bindings@^1.5.0: +bindings@^1.3.0, bindings@^1.4.0, bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== @@ -10269,7 +10341,7 @@ bip66@^1.1.5: dependencies: safe-buffer "^5.0.1" -bl@^4.0.0, bl@^4.0.3, bl@^4.1.0: +bl@^4.0.3, bl@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== @@ -10283,13 +10355,6 @@ blakejs@^1.1.0: resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== -blob-to-it@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/blob-to-it/-/blob-to-it-1.0.4.tgz#f6caf7a4e90b7bb9215fa6a318ed6bd8ad9898cb" - integrity sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA== - dependencies: - browser-readablestream-to-it "^1.0.3" - bluebird@^3.5.0, bluebird@^3.5.2, bluebird@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" @@ -10353,19 +10418,6 @@ boolbase@^1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== -borc@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/borc/-/borc-2.1.2.tgz#6ce75e7da5ce711b963755117dd1b187f6f8cf19" - integrity sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w== - dependencies: - bignumber.js "^9.0.0" - buffer "^5.5.0" - commander "^2.15.0" - ieee754 "^1.1.13" - iso-url "~0.4.7" - json-text-sequence "~0.1.0" - readable-stream "^3.6.0" - borsh@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" @@ -10472,11 +10524,6 @@ browser-assert@^1.2.1: resolved "https://registry.yarnpkg.com/browser-assert/-/browser-assert-1.2.1.tgz#9aaa5a2a8c74685c2ae05bfe46efd606f068c200" integrity sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ== -browser-readablestream-to-it@^1.0.1, browser-readablestream-to-it@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz#ac3e406c7ee6cdf0a502dd55db33bab97f7fba76" - integrity sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw== - browser-stdout@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" @@ -10661,7 +10708,7 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== -buffer@6.0.3, buffer@^6.0.1, buffer@^6.0.3, buffer@~6.0.3: +buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== @@ -10682,14 +10729,7 @@ buffers@~0.1.1: resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" integrity sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ== -bufferutil@^4.0.1: - version "4.0.7" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad" - integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw== - dependencies: - node-gyp-build "^4.3.0" - -bufferutil@^4.0.8: +bufferutil@^4.0.1, bufferutil@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea" integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw== @@ -10708,13 +10748,6 @@ bundle-require@^4.0.0: dependencies: load-tsconfig "^0.2.3" -busboy@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" - integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== - dependencies: - streamsearch "^1.1.0" - byline@5.x: version "5.0.0" resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" @@ -10730,6 +10763,11 @@ bytes@3.0.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + bytes@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" @@ -10880,7 +10918,7 @@ cbor@^8.1.0: dependencies: nofilter "^3.1.0" -chai@^4.3.0, chai@^4.3.10, chai@^4.3.4: +chai@^4.3.10, chai@^4.3.4: version "4.4.1" resolved "https://registry.yarnpkg.com/chai/-/chai-4.4.1.tgz#3603fa6eba35425b0f2ac91a009fe924106e50d1" integrity sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g== @@ -11044,21 +11082,6 @@ cheerio@^1.0.0-rc.2: parse5 "^7.0.0" parse5-htmlparser2-tree-adapter "^7.0.0" -chokidar@3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" - integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.5.0" - optionalDependencies: - fsevents "~2.3.1" - chokidar@3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" @@ -11074,6 +11097,13 @@ chokidar@3.5.3: optionalDependencies: fsevents "~2.3.2" +chokidar@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.0.tgz#4d603963e5dd762dc5c7bb1cb5664e53a3002225" + integrity sha512-mxIojEAQcuEvT/lyXq+jf/3cO/KoA6z4CeNDGGevTybECPOMFCnQy3OPahluUkbqgPNGw5Bi78UC7Po6Lhy+NA== + dependencies: + readdirp "^4.0.1" + chokidar@^1.6.1: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" @@ -11115,6 +11145,11 @@ chownr@^2.0.0: resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== +chownr@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-3.0.0.tgz#9855e64ecd240a9cc4267ce8a4aa5d24a1da15e4" + integrity sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g== + chromatic@^6.17.4: version "6.17.4" resolved "https://registry.yarnpkg.com/chromatic/-/chromatic-6.17.4.tgz#6a946d51c631d871c165fe28fa2b3b0bcdf32e24" @@ -11145,16 +11180,6 @@ cids@^0.7.1, cids@~0.7.0: multicodec "^1.0.0" multihashes "~0.4.15" -cids@^1.0.0, cids@^1.1.5: - version "1.1.9" - resolved "https://registry.yarnpkg.com/cids/-/cids-1.1.9.tgz#402c26db5c07059377bcd6fb82f2a24e7f2f4a4f" - integrity sha512-l11hWRfugIcbGuTZwAM5PwpjPPjyb6UZOGwlHSnOBV5o07XhQ4gNpBN67FbODvpjyHtd+0Xs6KNvUcGBiDRsdg== - dependencies: - multibase "^4.0.1" - multicodec "^3.0.1" - multihashes "^4.0.1" - uint8arrays "^3.0.0" - cids@~0.8.0: version "0.8.3" resolved "https://registry.yarnpkg.com/cids/-/cids-0.8.3.tgz#aaf48ac8ed857c3d37dad94d8db1d8c9407b92db" @@ -11174,7 +11199,7 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: inherits "^2.0.1" safe-buffer "^5.0.1" -cjs-module-lexer@^1.0.0: +cjs-module-lexer@1.2.3, cjs-module-lexer@^1.0.0: version "1.2.3" resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== @@ -11528,7 +11553,7 @@ commander@^12.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== -commander@^2.11.0, commander@^2.15.0, commander@^2.19.0, commander@^2.20.3: +commander@^2.11.0, commander@^2.19.0, commander@^2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -11543,11 +11568,6 @@ commander@^6.2.1: resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== -commander@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -11619,6 +11639,11 @@ conf@^6.2.0: semver "^6.2.0" write-file-atomic "^3.0.0" +consola@^3.2.3: + version "3.4.0" + resolved "https://registry.yarnpkg.com/consola/-/consola-3.4.0.tgz#4cfc9348fd85ed16a17940b3032765e31061ab88" + integrity sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA== + constant-case@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-2.0.0.tgz#4175764d389d3fa9c8ecd29186ed6005243b6a46" @@ -11648,6 +11673,11 @@ content-hash@^2.5.2: multicodec "^0.5.5" multihashes "^0.4.15" +content-type@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + content-type@^1.0.4, content-type@~1.0.4, content-type@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" @@ -11794,6 +11824,11 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + cross-fetch@^2.1.0, cross-fetch@^2.1.1: version "2.2.6" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.6.tgz#2ef0bb39a24ac034787965c457368a28730e220a" @@ -11802,14 +11837,7 @@ cross-fetch@^2.1.0, cross-fetch@^2.1.1: node-fetch "^2.6.7" whatwg-fetch "^2.0.4" -cross-fetch@^3.0.6, cross-fetch@^3.1.4: - version "3.1.5" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" - integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== - dependencies: - node-fetch "2.6.7" - -cross-fetch@^3.1.5: +cross-fetch@^3.0.6, cross-fetch@^3.1.4, cross-fetch@^3.1.5: version "3.1.8" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== @@ -12018,27 +12046,20 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - -debug@~4.3.1, debug@~4.3.2: +debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: version "4.3.7" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== dependencies: ms "^2.1.3" +debug@4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + decamelize@^1.1.1, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -12235,16 +12256,16 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== -delimit-stream@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/delimit-stream/-/delimit-stream-0.1.0.tgz#9b8319477c0e5f8aeb3ce357ae305fc25ea1cd2b" - integrity sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ== - depd@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + dequal@^2.0.2, dequal@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" @@ -12290,6 +12311,11 @@ detect-indent@^6.1.0: resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== +detect-libc@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" + integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== + detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -12361,15 +12387,6 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dns-over-http-resolver@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz#194d5e140a42153f55bb79ac5a64dd2768c36af9" - integrity sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA== - dependencies: - debug "^4.3.1" - native-fetch "^3.0.0" - receptacle "^1.3.2" - doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" @@ -12568,19 +12585,19 @@ eciesjs@^0.4.11: "@noble/curves" "^1.6.0" "@noble/hashes" "^1.5.0" -edge-runtime@1.1.0-beta.23: - version "1.1.0-beta.23" - resolved "https://registry.yarnpkg.com/edge-runtime/-/edge-runtime-1.1.0-beta.23.tgz#fd4d93f021c622e9b188399fa83e6bd5e445cb5e" - integrity sha512-A7dO/Y+4UJnaxFcdz6pepL+0GcvvViWvf201oFQXepgdSxPDKiqxaayCag0eiirQ6OfF+cSTmPD3xrfEoAIjiQ== +edge-runtime@2.5.9: + version "2.5.9" + resolved "https://registry.yarnpkg.com/edge-runtime/-/edge-runtime-2.5.9.tgz#9daeb329f0339b8377483f230789b3d68f45f1d9" + integrity sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg== dependencies: - "@edge-runtime/format" "^1.1.0-beta.23" - "@edge-runtime/vm" "^1.1.0-beta.23" - exit-hook "2.2.1" - http-status "1.5.2" + "@edge-runtime/format" "2.2.1" + "@edge-runtime/ponyfill" "2.4.2" + "@edge-runtime/vm" "3.2.0" + async-listen "3.0.1" mri "1.2.0" picocolors "1.0.0" - pretty-bytes "5.6.0" pretty-ms "7.0.1" + signal-exit "4.0.2" time-span "4.0.0" ee-first@1.1.1: @@ -12595,13 +12612,6 @@ ejs@^3.1.8: dependencies: jake "^10.8.5" -electron-fetch@^1.7.2: - version "1.9.1" - resolved "https://registry.yarnpkg.com/electron-fetch/-/electron-fetch-1.9.1.tgz#e28bfe78d467de3f2dec884b1d72b8b05322f30f" - integrity sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA== - dependencies: - encoding "^0.1.13" - electron-to-chromium@^1.4.668: version "1.4.787" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.787.tgz#3eedd0a3b8be2b9e96e21675d399786ad90b99ed" @@ -12620,20 +12630,7 @@ elliptic@6.5.4: minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" -elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3, elliptic@^6.5.5: - version "6.5.5" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.5.tgz#c715e09f78b6923977610d4c2346d6ce22e6dded" - integrity sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -elliptic@^6.5.7: +elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3, elliptic@^6.5.5, elliptic@^6.5.7: version "6.6.1" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== @@ -12686,7 +12683,7 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== -encoding@^0.1.11, encoding@^0.1.13: +encoding@^0.1.11: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== @@ -12758,16 +12755,6 @@ envinfo@^7.7.3: resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.10.0.tgz#55146e3909cc5fe63c22da63fb15b05aeac35b13" integrity sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw== -err-code@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" - integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== - -err-code@^3.0.0, err-code@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-3.0.1.tgz#a444c7b992705f2b120ee320b09972eef331c920" - integrity sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA== - errno@~0.1.1: version "0.1.8" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" @@ -12881,6 +12868,11 @@ es-iterator-helpers@^1.0.19: iterator.prototype "^1.1.2" safe-array-concat "^1.1.2" +es-module-lexer@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" + integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== + es-module-lexer@^0.9.3: version "0.9.3" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" @@ -13475,22 +13467,22 @@ estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== +estree-walker@2.0.2, estree-walker@^2.0.1, estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + estree-walker@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== -estree-walker@^2.0.1, estree-walker@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -etag@~1.8.1: +etag@1.8.1, etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== @@ -13840,7 +13832,7 @@ ethers@5.5.3: "@ethersproject/web" "5.5.1" "@ethersproject/wordlists" "5.5.0" -ethers@5.7.2, ethers@^5.0.13, ethers@^5.4.2, ethers@^5.5.4, ethers@^5.6.8, ethers@^5.7.1, ethers@^5.7.2: +ethers@5.7.2, ethers@^5.0.13, ethers@^5.5.4, ethers@^5.6.8, ethers@^5.7.1, ethers@^5.7.2: version "5.7.2" resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== @@ -13954,6 +13946,11 @@ eventid@^2.0.0: dependencies: uuid "^8.0.0" +events-intercept@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/events-intercept/-/events-intercept-2.0.0.tgz#adbf38681c5a4b2011c41ee41f61a34cba448897" + integrity sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q== + events@^3.0.0, events@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" @@ -13967,6 +13964,22 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" +execa@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-3.2.0.tgz#18326b79c7ab7fbd6610fd900c1b9e95fa48f90a" + integrity sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + p-finally "^2.0.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + execa@^5.0.0, execa@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" @@ -13997,11 +14010,6 @@ execa@^7.0.0, execa@^7.1.1: signal-exit "^3.0.7" strip-final-newline "^3.0.0" -exit-hook@2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-2.2.1.tgz#007b2d92c6428eda2b76e7016a34351586934593" - integrity sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw== - exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -14201,11 +14209,6 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-fifo@^1.0.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" - integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== - fast-glob@^3.0.3, fast-glob@^3.2.2, fast-glob@^3.2.7, fast-glob@^3.2.9: version "3.2.12" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" @@ -14616,6 +14619,15 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== +fs-extra@11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.0.tgz#5784b102104433bb0e090f48bfc4a30742c357ed" + integrity sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" @@ -14634,6 +14646,15 @@ fs-extra@11.2.0, fs-extra@^11.1.0: jsonfile "^6.0.1" universalify "^2.0.0" +fs-extra@8.1.0, fs-extra@^8.1, fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-extra@^0.30.0: version "0.30.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" @@ -14672,15 +14693,6 @@ fs-extra@^7.0.1: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^8.1, fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-extra@^9.0.0, fs-extra@^9.0.1: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" @@ -14728,7 +14740,7 @@ fsevents@^1.0.0: bindings "^1.5.0" nan "^2.12.1" -fsevents@^2.3.2, fsevents@~2.3.1, fsevents@~2.3.2, fsevents@~2.3.3: +fsevents@^2.3.2, fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -14824,6 +14836,11 @@ gcp-metadata@^6.1.0: gaxios "^6.0.0" json-bigint "^1.0.0" +generic-pool@3.4.2: + version "3.4.2" + resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-3.4.2.tgz#92ff7196520d670839a67308092a12aadf2f6a59" + integrity sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag== + gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -14855,11 +14872,6 @@ get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@ has-symbols "^1.0.3" hasown "^2.0.0" -get-iterator@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-iterator/-/get-iterator-1.0.2.tgz#cd747c02b4c084461fac14f48f6b45a80ed25c82" - integrity sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg== - get-nonce@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" @@ -14897,7 +14909,7 @@ get-stream@^4.1.0: dependencies: pump "^3.0.0" -get-stream@^5.1.0: +get-stream@^5.0.0, get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== @@ -14978,7 +14990,7 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: +glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -15015,18 +15027,6 @@ glob@10.3.10: minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-scurry "^1.10.1" -glob@7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" @@ -15050,15 +15050,16 @@ glob@8.1.0, glob@^8.0.0: minimatch "^5.0.1" once "^1.3.0" -glob@^10.0.0, glob@^10.3.10: - version "10.4.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.1.tgz#0cfb01ab6a6b438177bfe6a58e2576f6efe909c2" - integrity sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw== +glob@^10.0.0, glob@^10.3.10, glob@^10.3.7: + version "10.4.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== dependencies: foreground-child "^3.1.0" jackspeak "^3.1.2" minimatch "^9.0.4" minipass "^7.1.2" + package-json-from-dist "^1.0.0" path-scurry "^1.11.1" glob@^5.0.15: @@ -15343,11 +15344,6 @@ graphql@^15.4.0, graphql@^15.6.1: resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.8.0.tgz#33410e96b012fa3bdb1091cc99a94769db212b38" integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== -growl@1.10.5: - version "1.10.5" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" - integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== - gtoken@^6.1.0: version "6.1.2" resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-6.1.2.tgz#aeb7bdb019ff4c3ba3ac100bbe7b6e74dce0e8bc" @@ -15758,6 +15754,17 @@ http-call@^5.2.2, http-call@^5.3.0: parse-json "^4.0.0" tunnel-agent "^0.6.0" +http-errors@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + http-errors@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" @@ -15769,6 +15776,14 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" +http-errors@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.4.0.tgz#6c0242dea6b3df7afda153c71089b31c6e82aabf" + integrity sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw== + dependencies: + inherits "2.0.1" + statuses ">= 1.2.1 < 2" + http-https@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" @@ -15808,11 +15823,6 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -http-status@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/http-status/-/http-status-1.5.2.tgz#22e6ea67b4b5e2a366f49cb1759dc5479cad2fd6" - integrity sha512-HzxX+/hV/8US1Gq4V6R6PgUmJ5Pt/DGATs4QhdEOpG8LrdS9/3UG2nnOvkqUpRks04yjVtV5p/NODjO+wvf6vg== - http2-wrapper@^1.0.0-beta.5.2: version "1.0.3" resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" @@ -15845,14 +15855,19 @@ https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: agent-base "6" debug "4" -https-proxy-agent@^7.0.1, https-proxy-agent@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz#8e97b841a029ad8ddc8731f26595bad868cb4168" - integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg== +https-proxy-agent@^7.0.1, https-proxy-agent@^7.0.2, https-proxy-agent@^7.0.5: + version "7.0.6" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9" + integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== dependencies: - agent-base "^7.0.2" + agent-base "^7.1.2" debug "4" +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + human-signals@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" @@ -15991,6 +16006,11 @@ inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, i resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA== + inherits@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -16096,133 +16116,6 @@ ipaddr.js@1.9.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== -ipfs-core-types@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/ipfs-core-types/-/ipfs-core-types-0.3.1.tgz#5dab234428d031d0657d1708f7bb040281d6ab5f" - integrity sha512-xPBsowS951RsuskMo86AWz9y4ReaBot1YsjOhZvKl8ORd8taxIBTT72LnEPwIZ2G24U854Zjxvd/qUMqO14ivg== - dependencies: - cids "^1.1.5" - multiaddr "^8.0.0" - peer-id "^0.14.1" - -ipfs-core-utils@^0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/ipfs-core-utils/-/ipfs-core-utils-0.7.2.tgz#ebc1281d14d26538881a8249c3eed8c27b98f519" - integrity sha512-d7T72GxvhNN+tEHsJjxI5Y4LQVdMMbSwNbWB6nVsIHUEdwm3w85L2u1E/ctNd9aaNGvoBwEcnIZhSmqhMf7stw== - dependencies: - any-signal "^2.1.2" - blob-to-it "^1.0.1" - browser-readablestream-to-it "^1.0.1" - cids "^1.1.5" - err-code "^2.0.3" - ipfs-core-types "^0.3.1" - ipfs-utils "^6.0.1" - it-all "^1.0.4" - it-map "^1.0.4" - it-peekable "^1.0.1" - multiaddr "^8.0.0" - multiaddr-to-uri "^6.0.0" - parse-duration "^0.4.4" - timeout-abort-controller "^1.1.1" - uint8arrays "^2.1.3" - -ipfs-http-client@^49.0.2: - version "49.0.4" - resolved "https://registry.yarnpkg.com/ipfs-http-client/-/ipfs-http-client-49.0.4.tgz#a7b5a696ab755ce1e822240e1774caab6cffa117" - integrity sha512-qgWbkcB4glQrUkE2tZR+GVXyrO6aJyspWBjyct/6TzrhCHx7evjz+kUTK+wNm4S9zccUePEml5VNZUmUhoQtbA== - dependencies: - abort-controller "^3.0.0" - any-signal "^2.1.2" - bignumber.js "^9.0.1" - cids "^1.1.5" - debug "^4.1.1" - form-data "^3.0.0" - ipfs-core-types "^0.3.1" - ipfs-core-utils "^0.7.2" - ipfs-utils "^6.0.1" - ipld-block "^0.11.0" - ipld-dag-cbor "^0.17.0" - ipld-dag-pb "^0.20.0" - ipld-raw "^6.0.0" - it-last "^1.0.4" - it-map "^1.0.4" - it-tar "^1.2.2" - it-to-stream "^0.1.2" - merge-options "^3.0.4" - multiaddr "^8.0.0" - multibase "^4.0.2" - multicodec "^3.0.1" - multihashes "^4.0.2" - nanoid "^3.1.12" - native-abort-controller "^1.0.3" - parse-duration "^0.4.4" - stream-to-it "^0.2.2" - uint8arrays "^2.1.3" - -ipfs-utils@^6.0.1: - version "6.0.8" - resolved "https://registry.yarnpkg.com/ipfs-utils/-/ipfs-utils-6.0.8.tgz#a0e4cad19af35569226fac93a84664b4c222d946" - integrity sha512-mDDQaDisI/uWk+X08wyw+jBcq76IXwMjgyaoyEgJDb/Izb+QbBCSJjo9q+EvbMxh6/l6q0NiAfbbsxEyQYPW9w== - dependencies: - abort-controller "^3.0.0" - any-signal "^2.1.0" - buffer "^6.0.1" - electron-fetch "^1.7.2" - err-code "^3.0.1" - is-electron "^2.2.0" - iso-url "^1.0.0" - it-glob "~0.0.11" - it-to-stream "^1.0.0" - merge-options "^3.0.4" - nanoid "^3.1.20" - native-abort-controller "^1.0.3" - native-fetch "^3.0.0" - node-fetch "^2.6.1" - stream-to-it "^0.2.2" - -ipld-block@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/ipld-block/-/ipld-block-0.11.1.tgz#c3a7b41aee3244187bd87a73f980e3565d299b6e" - integrity sha512-sDqqLqD5qh4QzGq6ssxLHUCnH4emCf/8F8IwjQM2cjEEIEHMUj57XhNYgmGbemdYPznUhffxFGEHsruh5+HQRw== - dependencies: - cids "^1.0.0" - -ipld-dag-cbor@^0.17.0: - version "0.17.1" - resolved "https://registry.yarnpkg.com/ipld-dag-cbor/-/ipld-dag-cbor-0.17.1.tgz#842e6c250603e5791049168831a425ec03471fb1" - integrity sha512-Bakj/cnxQBdscORyf4LRHxQJQfoaY8KWc7PWROQgX+aw5FCzBt8ga0VM/59K+ABOznsqNvyLR/wz/oYImOpXJw== - dependencies: - borc "^2.1.2" - cids "^1.0.0" - is-circular "^1.0.2" - multicodec "^3.0.1" - multihashing-async "^2.0.0" - uint8arrays "^2.1.3" - -ipld-dag-pb@^0.20.0: - version "0.20.0" - resolved "https://registry.yarnpkg.com/ipld-dag-pb/-/ipld-dag-pb-0.20.0.tgz#025c0343aafe6cb9db395dd1dc93c8c60a669360" - integrity sha512-zfM0EdaolqNjAxIrtpuGKvXxWk5YtH9jKinBuQGTcngOsWFQhyybGCTJHGNGGtRjHNJi2hz5Udy/8pzv4kcKyg== - dependencies: - cids "^1.0.0" - class-is "^1.1.0" - multicodec "^2.0.0" - multihashing-async "^2.0.0" - protons "^2.0.0" - reset "^0.1.0" - run "^1.4.0" - stable "^0.1.8" - uint8arrays "^1.0.0" - -ipld-raw@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/ipld-raw/-/ipld-raw-6.0.0.tgz#74d947fcd2ce4e0e1d5bb650c1b5754ed8ea6da0" - integrity sha512-UK7fjncAzs59iu/o2kwYtb8jgTtW6B+cNWIiNpAJkfRwqoMk1xD/6i25ktzwe4qO8gQgoR9RxA5ibC23nq8BLg== - dependencies: - cids "^1.0.0" - multicodec "^2.0.0" - multihashing-async "^2.0.0" - is-absolute-url@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" @@ -16319,11 +16212,6 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.1.5, is-callable@^1.2.7: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-circular@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-circular/-/is-circular-1.0.2.tgz#2e0ab4e9835f4c6b0ea2b9855a84acd501b8366c" - integrity sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA== - is-core-module@^2.13.0: version "2.13.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" @@ -16392,11 +16280,6 @@ is-dotfile@^1.0.0: resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= -is-electron@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/is-electron/-/is-electron-2.2.2.tgz#3778902a2044d76de98036f5dc58089ac4d80bb9" - integrity sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg== - is-equal-shallow@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" @@ -16788,29 +16671,6 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -iso-constants@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/iso-constants/-/iso-constants-0.1.2.tgz#3d2456ed5aeaa55d18564f285ba02a47a0d885b4" - integrity sha512-OTCM5ZCQsHBCI4Wdu4tSxvDIkmDHd5EwJDps5mKqnQnWJSKlnwMs3EDZ4n3Fh1tmkWkDlyd2vCDbEYuPbyrUNQ== - -iso-random-stream@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/iso-random-stream/-/iso-random-stream-2.0.2.tgz#a24f77c34cfdad9d398707d522a6a0cc640ff27d" - integrity sha512-yJvs+Nnelic1L2vH2JzWvvPQFA4r7kSTnpST/+LkAQjSz0hos2oqLD+qIVi9Qk38Hoe7mNDt3j0S27R58MVjLQ== - dependencies: - events "^3.3.0" - readable-stream "^3.4.0" - -iso-url@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/iso-url/-/iso-url-1.2.1.tgz#db96a49d8d9a64a1c889fc07cc525d093afb1811" - integrity sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng== - -iso-url@~0.4.7: - version "0.4.7" - resolved "https://registry.yarnpkg.com/iso-url/-/iso-url-0.4.7.tgz#de7e48120dae46921079fe78f325ac9e9217a385" - integrity sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog== - isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -16903,84 +16763,6 @@ istanbul-reports@^3.1.3: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -it-all@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/it-all/-/it-all-1.0.6.tgz#852557355367606295c4c3b7eff0136f07749335" - integrity sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A== - -it-concat@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/it-concat/-/it-concat-1.0.3.tgz#84db9376e4c77bf7bc1fd933bb90f184e7cef32b" - integrity sha512-sjeZQ1BWQ9U/W2oI09kZgUyvSWzQahTkOkLIsnEPgyqZFaF9ME5gV6An4nMjlyhXKWQMKEakQU8oRHs2SdmeyA== - dependencies: - bl "^4.0.0" - -it-glob@~0.0.11: - version "0.0.14" - resolved "https://registry.yarnpkg.com/it-glob/-/it-glob-0.0.14.tgz#24f5e7fa48f9698ce7dd410355f327470c91eb90" - integrity sha512-TKKzs9CglbsihSpcwJPXN5DBUssu4akRzPlp8QJRCoLrKoaOpyY2V1qDlxx+UMivn0i114YyTd4AawWl7eqIdw== - dependencies: - "@types/minimatch" "^3.0.4" - minimatch "^3.0.4" - -it-last@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/it-last/-/it-last-1.0.6.tgz#4106232e5905ec11e16de15a0e9f7037eaecfc45" - integrity sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q== - -it-map@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/it-map/-/it-map-1.0.6.tgz#6aa547e363eedcf8d4f69d8484b450bc13c9882c" - integrity sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ== - -it-peekable@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/it-peekable/-/it-peekable-1.0.3.tgz#8ebe933767d9c5aa0ae4ef8e9cb3a47389bced8c" - integrity sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ== - -it-reader@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/it-reader/-/it-reader-2.1.0.tgz#b1164be343f8538d8775e10fb0339f61ccf71b0f" - integrity sha512-hSysqWTO9Tlwc5EGjVf8JYZzw0D2FsxD/g+eNNWrez9zODxWt6QlN6JAMmycK72Mv4jHEKEXoyzUN4FYGmJaZw== - dependencies: - bl "^4.0.0" - -it-tar@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/it-tar/-/it-tar-1.2.2.tgz#8d79863dad27726c781a4bcc491f53c20f2866cf" - integrity sha512-M8V4a9I+x/vwXTjqvixcEZbQZHjwDIb8iUQ+D4M2QbhAdNs3WKVSl+45u5/F2XFx6jYMFOGzMVlKNK/uONgNIA== - dependencies: - bl "^4.0.0" - buffer "^5.4.3" - iso-constants "^0.1.2" - it-concat "^1.0.0" - it-reader "^2.0.0" - p-defer "^3.0.0" - -it-to-stream@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/it-to-stream/-/it-to-stream-0.1.2.tgz#7163151f75b60445e86b8ab1a968666acaacfe7b" - integrity sha512-DTB5TJRZG3untmZehcaFN0kGWl2bNv7tnJRgQHAO9QEt8jfvVRrebZtnD5NZd4SCj4WVPjl0LSrugNWE/UaZRQ== - dependencies: - buffer "^5.6.0" - fast-fifo "^1.0.0" - get-iterator "^1.0.2" - p-defer "^3.0.0" - p-fifo "^1.0.0" - readable-stream "^3.6.0" - -it-to-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/it-to-stream/-/it-to-stream-1.0.0.tgz#6c47f91d5b5df28bda9334c52782ef8e97fe3a4a" - integrity sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA== - dependencies: - buffer "^6.0.3" - fast-fifo "^1.0.0" - get-iterator "^1.0.2" - p-defer "^3.0.0" - p-fifo "^1.0.0" - readable-stream "^3.6.0" - iterator.prototype@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0" @@ -17505,13 +17287,6 @@ js-yaml@3.x, js-yaml@^3.10.0, js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" - integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== - dependencies: - argparse "^2.0.1" - js-yaml@4.1.0, js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" @@ -17728,13 +17503,6 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== -json-text-sequence@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/json-text-sequence/-/json-text-sequence-0.1.1.tgz#a72f217dc4afc4629fff5feb304dc1bd51a2f3d2" - integrity sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w== - dependencies: - delimit-stream "0.1.0" - json-to-graphql-query@^2.2.4: version "2.2.5" resolved "https://registry.yarnpkg.com/json-to-graphql-query/-/json-to-graphql-query-2.2.5.tgz#56b072a693b50fd4dc981367b60d52e3dc78f426" @@ -17746,9 +17514,9 @@ json5@^0.5.1: integrity sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw== json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" @@ -17832,16 +17600,7 @@ jws@^4.0.0: jwa "^2.0.0" safe-buffer "^5.0.1" -keccak@^3.0.0, keccak@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.3.tgz#4bc35ad917be1ef54ff246f904c2bbbf9ac61276" - integrity sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ== - dependencies: - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - readable-stream "^3.6.0" - -keccak@^3.0.3: +keccak@^3.0.0, keccak@^3.0.2, keccak@^3.0.3: version "3.0.4" resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== @@ -17850,11 +17609,6 @@ keccak@^3.0.3: node-gyp-build "^4.2.0" readable-stream "^3.6.0" -keypair@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/keypair/-/keypair-1.0.4.tgz#a749a45f388593f3950f18b3757d32a93bd8ce83" - integrity sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg== - keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" @@ -18016,23 +17770,6 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -libp2p-crypto@^0.19.0: - version "0.19.7" - resolved "https://registry.yarnpkg.com/libp2p-crypto/-/libp2p-crypto-0.19.7.tgz#e96a95bd430e672a695209fe0fbd2bcbd348bc35" - integrity sha512-Qb5o/3WFKF2j6mYSt4UBPyi2kbKl3jYV0podBJoJCw70DlpM5Xc+oh3fFY9ToSunu8aSQQ5GY8nutjXgX/uGRA== - dependencies: - err-code "^3.0.1" - is-typedarray "^1.0.0" - iso-random-stream "^2.0.0" - keypair "^1.0.1" - multiformats "^9.4.5" - node-forge "^0.10.0" - pem-jwk "^2.0.0" - protobufjs "^6.11.2" - secp256k1 "^4.0.0" - uint8arrays "^3.0.0" - ursa-optional "^0.10.1" - lilconfig@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" @@ -18135,9 +17872,9 @@ load-tsconfig@^0.2.3: integrity sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg== loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + version "1.4.2" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3" + integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== dependencies: big.js "^5.2.2" emojis-list "^3.0.0" @@ -18345,13 +18082,6 @@ log-chopper@^1.0.2: dependencies: byline "5.x" -log-symbols@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" - integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== - dependencies: - chalk "^4.0.0" - log-symbols@4.1.0, log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" @@ -18389,11 +18119,6 @@ logform@^2.3.2, logform@^2.4.0: safe-stable-stringify "^2.3.1" triple-beam "^1.3.0" -long@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" - integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== - long@^5.0.0: version "5.2.1" resolved "https://registry.yarnpkg.com/long/-/long-5.2.1.tgz#e27595d0083d103d2fa2c20c7699f8e0c92b897f" @@ -18667,13 +18392,6 @@ merge-descriptors@1.0.1: resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== -merge-options@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/merge-options/-/merge-options-3.0.4.tgz#84709c2aa2a4b24c1981f66c179fe5565cc6dbb7" - integrity sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== - dependencies: - is-plain-obj "^2.1.0" - merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -18719,6 +18437,15 @@ micro-ftch@^0.3.1: resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== +micro@9.3.5-canary.3: + version "9.3.5-canary.3" + resolved "https://registry.yarnpkg.com/micro/-/micro-9.3.5-canary.3.tgz#e957598abb9ab05aea8453e0150a521fe22135c3" + integrity sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g== + dependencies: + arg "4.1.0" + content-type "1.0.4" + raw-body "2.4.1" + micromatch@^2.1.5: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" @@ -18854,13 +18581,6 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== -minimatch@*, minimatch@^9.0.1, minimatch@^9.0.4: - version "9.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" - integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== - dependencies: - brace-expansion "^2.0.1" - "minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -18889,6 +18609,13 @@ minimatch@^5.0.1: dependencies: brace-expansion "^2.0.1" +minimatch@^9.0.1, minimatch@^9.0.4: + version "9.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" + integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== + dependencies: + brace-expansion "^2.0.1" + minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" @@ -18914,7 +18641,7 @@ minipass@^5.0.0: resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4, minipass@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== @@ -18934,6 +18661,14 @@ minizlib@^2.1.1: minipass "^3.0.0" yallist "^4.0.0" +minizlib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-3.0.1.tgz#46d5329d1eb3c83924eff1d3b858ca0a31581012" + integrity sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg== + dependencies: + minipass "^7.0.4" + rimraf "^5.0.5" + mixin-deep@^1.2.0: version "1.3.2" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" @@ -18954,7 +18689,7 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*: +mkdirp@*, mkdirp@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== @@ -19004,37 +18739,6 @@ mocha@^10.0.0, mocha@^10.2.0: yargs-parser "20.2.4" yargs-unparser "2.0.0" -mocha@^8.3.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.4.0.tgz#677be88bf15980a3cae03a73e10a0fc3997f0cff" - integrity sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ== - dependencies: - "@ungap/promise-all-settled" "1.1.2" - ansi-colors "4.1.1" - browser-stdout "1.3.1" - chokidar "3.5.1" - debug "4.3.1" - diff "5.0.0" - escape-string-regexp "4.0.0" - find-up "5.0.0" - glob "7.1.6" - growl "1.10.5" - he "1.2.0" - js-yaml "4.0.0" - log-symbols "4.0.0" - minimatch "3.0.4" - ms "2.1.3" - nanoid "3.1.20" - serialize-javascript "5.0.1" - strip-json-comments "3.1.1" - supports-color "8.1.1" - which "2.0.2" - wide-align "1.1.3" - workerpool "6.1.0" - yargs "16.2.0" - yargs-parser "20.2.4" - yargs-unparser "2.0.0" - mock-fs@^4.1.0: version "4.14.0" resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18" @@ -19067,6 +18771,11 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" @@ -19077,13 +18786,6 @@ ms@2.1.3, ms@^2.0.0, ms@^2.1.1, ms@^2.1.3: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -multiaddr-to-uri@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/multiaddr-to-uri/-/multiaddr-to-uri-6.0.0.tgz#8f08a75c6eeb2370d5d24b77b8413e3f0fa9bcc0" - integrity sha512-OjpkVHOXEmIKMO8WChzzQ7aZQcSQX8squxmvtDbRpy7/QNmJ3Z7jv6qyD74C28QtaeNie8O8ngW2AkeiMmKP7A== - dependencies: - multiaddr "^8.0.0" - multiaddr@^7.2.1, multiaddr@^7.3.0: version "7.5.0" resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-7.5.0.tgz#976c88e256e512263445ab03b3b68c003d5f485e" @@ -19096,20 +18798,6 @@ multiaddr@^7.2.1, multiaddr@^7.3.0: multibase "^0.7.0" varint "^5.0.0" -multiaddr@^8.0.0: - version "8.1.2" - resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-8.1.2.tgz#74060ff8636ba1c01b2cf0ffd53950b852fa9b1f" - integrity sha512-r13IzW8+Sv9zab9Gt8RPMIN2WkptIPq99EpAzg4IbJ/zTELhiEwXWr9bAmEatSCI4j/LSA6ESJzvz95JZ+ZYXQ== - dependencies: - cids "^1.0.0" - class-is "^1.1.0" - dns-over-http-resolver "^1.0.0" - err-code "^2.0.3" - is-ip "^3.1.0" - multibase "^3.0.0" - uint8arrays "^1.1.0" - varint "^5.0.0" - multibase@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" @@ -19126,21 +18814,6 @@ multibase@^1.0.0, multibase@^1.0.1: base-x "^3.0.8" buffer "^5.5.0" -multibase@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-3.1.2.tgz#59314e1e2c35d018db38e4c20bb79026827f0f2f" - integrity sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw== - dependencies: - "@multiformats/base-x" "^4.0.1" - web-encoding "^1.0.6" - -multibase@^4.0.1, multibase@^4.0.2: - version "4.0.6" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-4.0.6.tgz#6e624341483d6123ca1ede956208cb821b440559" - integrity sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ== - dependencies: - "@multiformats/base-x" "^4.0.1" - multibase@~0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b" @@ -19164,23 +18837,7 @@ multicodec@^1.0.0, multicodec@^1.0.1: buffer "^5.6.0" varint "^5.0.0" -multicodec@^2.0.0: - version "2.1.3" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-2.1.3.tgz#b9850635ad4e2a285a933151b55b4a2294152a5d" - integrity sha512-0tOH2Gtio39uO41o+2xl9UhRkCWxU5ZmZSbFCh/OjGzkWJI8e6lkN/s4Mj1YfyWoBod+2+S3W+6wO6nhkwN8pA== - dependencies: - uint8arrays "1.1.0" - varint "^6.0.0" - -multicodec@^3.0.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-3.2.1.tgz#82de3254a0fb163a107c1aab324f2a91ef51efb2" - integrity sha512-+expTPftro8VAW8kfvcuNNNBgb9gPeNYV9dn+z1kJRWF2vih+/S79f2RVeIwmrJBUJ6NT9IUPWnZDQvegEh5pw== - dependencies: - uint8arrays "^3.0.0" - varint "^6.0.0" - -multiformats@^9.4.2, multiformats@^9.4.5: +multiformats@^9.4.2: version "9.9.0" resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== @@ -19203,27 +18860,6 @@ multihashes@^1.0.1: multibase "^1.0.1" varint "^5.0.0" -multihashes@^4.0.1, multihashes@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-4.0.3.tgz#426610539cd2551edbf533adeac4c06b3b90fb05" - integrity sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA== - dependencies: - multibase "^4.0.1" - uint8arrays "^3.0.0" - varint "^5.0.2" - -multihashing-async@^2.0.0: - version "2.1.4" - resolved "https://registry.yarnpkg.com/multihashing-async/-/multihashing-async-2.1.4.tgz#26dce2ec7a40f0e7f9e732fc23ca5f564d693843" - integrity sha512-sB1MiQXPSBTNRVSJc2zM157PXgDtud2nMFUEIvBrsq5Wv96sUclMRK/ecjoP1T/W61UJBqt4tCTwMkUpt2Gbzg== - dependencies: - blakejs "^1.1.0" - err-code "^3.0.0" - js-sha3 "^0.8.0" - multihashes "^4.0.1" - murmurhash3js-revisited "^3.0.0" - uint8arrays "^3.0.0" - murmur-128@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/murmur-128/-/murmur-128-0.2.1.tgz#a9f6568781d2350ecb1bf80c14968cadbeaa4b4d" @@ -19233,11 +18869,6 @@ murmur-128@^0.2.1: fmix "^0.1.0" imul "^1.0.0" -murmurhash3js-revisited@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz#6bd36e25de8f73394222adc6e41fa3fac08a5869" - integrity sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g== - mute-stream@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" @@ -19257,7 +18888,7 @@ nan@2.14.0: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== -nan@^2.12.1, nan@^2.14.0, nan@^2.14.2: +nan@^2.12.1, nan@^2.14.0: version "2.19.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.19.0.tgz#bb58122ad55a6c5bc973303908d5b16cfdd5a8c0" integrity sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw== @@ -19272,12 +18903,7 @@ nano-json-stream-parser@^0.1.2: resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" integrity sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew== -nanoid@3.1.20: - version "3.1.20" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" - integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== - -nanoid@^3.1.12, nanoid@^3.1.20, nanoid@^3.3.1, nanoid@^3.3.6: +nanoid@^3.3.1, nanoid@^3.3.6: version "3.3.7" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== @@ -19304,16 +18930,6 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" -native-abort-controller@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/native-abort-controller/-/native-abort-controller-1.0.4.tgz#39920155cc0c18209ff93af5bc90be856143f251" - integrity sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ== - -native-fetch@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/native-fetch/-/native-fetch-3.0.0.tgz#06ccdd70e79e171c365c75117959cf4fe14a09bb" - integrity sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw== - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -19395,6 +19011,13 @@ node-fetch@2.6.7: dependencies: whatwg-url "^5.0.0" +node-fetch@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" + integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== + dependencies: + whatwg-url "^5.0.0" + node-fetch@^1.0.1, node-fetch@~1.7.1: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" @@ -19410,20 +19033,15 @@ node-fetch@^2.0.0, node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.12, nod dependencies: whatwg-url "^5.0.0" -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== - node-forge@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== -node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" - integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== +node-gyp-build@^4.2.0, node-gyp-build@^4.2.2, node-gyp-build@^4.3.0: + version "4.8.4" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.4.tgz#8a70ee85464ae52327772a90d66c6077a900cfc8" + integrity sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ== node-int64@^0.4.0: version "0.4.0" @@ -19467,6 +19085,13 @@ nopt@3.x: dependencies: abbrev "1" +nopt@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-8.0.0.tgz#644f1e78da564b70e3606ab8db4836b0e32e198a" + integrity sha512-1L/fTJ4UmV/lUxT2Uf006pfZKTvAgCF+chz+0OgBHO8u2Z67pE7AaAUUj7CJy0lXqHmymUvGFt6NE9R3HER0yw== + dependencies: + abbrev "^2.0.0" + normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -19499,7 +19124,7 @@ normalize-url@^6.0.1: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== -npm-run-path@^4.0.1: +npm-run-path@^4.0.0, npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== @@ -19819,6 +19444,11 @@ os-locale@^1.4.0: dependencies: lcid "^1.0.0" +os-paths@^4.0.1: + version "4.4.0" + resolved "https://registry.yarnpkg.com/os-paths/-/os-paths-4.4.0.tgz#2908b5bcb60cbfe3afb869292281a2a6b2f77ebe" + integrity sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg== + os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -19861,18 +19491,10 @@ p-cancelable@^3.0.0: resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== -p-defer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-3.0.0.tgz#d1dceb4ee9b2b604b1d94ffec83760175d4e6f83" - integrity sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw== - -p-fifo@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-fifo/-/p-fifo-1.0.0.tgz#e29d5cf17c239ba87f51dde98c1d26a9cfe20a63" - integrity sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A== - dependencies: - fast-fifo "^1.0.0" - p-defer "^3.0.0" +p-finally@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" + integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== p-limit@^1.1.0: version "1.3.0" @@ -19940,6 +19562,11 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +package-json-from-dist@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" + integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== + packageurl-js@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/packageurl-js/-/packageurl-js-1.0.2.tgz#c568a569848c66be8f2b467ac41b0f1427672b00" @@ -19986,11 +19613,6 @@ parse-cache-control@^1.0.1: resolved "https://registry.yarnpkg.com/parse-cache-control/-/parse-cache-control-1.0.1.tgz#8eeab3e54fa56920fe16ba38f77fa21aacc2d74e" integrity sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg== -parse-duration@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/parse-duration/-/parse-duration-0.4.4.tgz#11c0f51a689e97d06c57bd772f7fda7dc013243c" - integrity sha512-KbAJuYGUhZkB9gotDiKLnZ7Z3VTacK3fgwmDdB6ZVDtJbMBT6MfLga0WJaYpPDu0mzqT0NgHtHDt5PY4l0nidg== - parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" @@ -20158,6 +19780,14 @@ path-key@^4.0.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== +path-match@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/path-match/-/path-match-1.2.4.tgz#a62747f3c7e0c2514762697f24443585b09100ea" + integrity sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw== + dependencies: + http-errors "~1.4.0" + path-to-regexp "^1.0.0" + path-parse@^1.0.6, path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" @@ -20181,10 +19811,15 @@ path-to-regexp@2.2.1: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-2.2.1.tgz#90b617025a16381a879bc82a38d4e8bdeb2bcf45" integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ== -path-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== +path-to-regexp@6.1.0, path-to-regexp@6.2.1, path-to-regexp@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.3.0.tgz#2b6a26a337737a8e1416f9272ed0766b1c0389f4" + integrity sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ== + +path-to-regexp@^1.0.0, path-to-regexp@^1.7.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.9.0.tgz#5dc0753acbf8521ca2e0f137b4578b917b10cf24" + integrity sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g== dependencies: isarray "0.0.1" @@ -20240,26 +19875,6 @@ peek-stream@^1.1.0: duplexify "^3.5.0" through2 "^2.0.3" -peer-id@^0.14.1: - version "0.14.8" - resolved "https://registry.yarnpkg.com/peer-id/-/peer-id-0.14.8.tgz#667c6bedc8ab313c81376f6aca0baa2140266fab" - integrity sha512-GpuLpob/9FrEFvyZrKKsISEkaBYsON2u0WtiawLHj1ii6ewkoeRiSDFLyIefYhw0jGvQoeoZS05jaT52X7Bvig== - dependencies: - cids "^1.1.5" - class-is "^1.1.0" - libp2p-crypto "^0.19.0" - minimist "^1.2.5" - multihashes "^4.0.2" - protobufjs "^6.10.2" - uint8arrays "^2.0.5" - -pem-jwk@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pem-jwk/-/pem-jwk-2.0.0.tgz#1c5bb264612fc391340907f5c1de60c06d22f085" - integrity sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA== - dependencies: - asn1.js "^5.0.1" - pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" @@ -20285,6 +19900,11 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatc resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +picomatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" + integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== + pidtree@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" @@ -20560,7 +20180,7 @@ prettier@^2.7.1, prettier@^2.8.0: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== -pretty-bytes@5.6.0, pretty-bytes@^5.1.0: +pretty-bytes@^5.1.0: version "5.6.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== @@ -20657,6 +20277,11 @@ promiseback@^2.0.2: is-callable "^1.1.5" promise-deferred "^2.0.3" +promisepipe@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/promisepipe/-/promisepipe-3.0.0.tgz#c9b6e5aa861ef5fcce6134f6f75e14f8f30bd3b2" + integrity sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA== + prompts@^2.0.1, prompts@^2.4.0: version "2.4.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" @@ -20740,40 +20365,6 @@ protobufjs@7.3.0, protobufjs@^7.0.0, protobufjs@^7.2.5: "@types/node" ">=13.7.0" long "^5.0.0" -protobufjs@^6.10.2, protobufjs@^6.11.2: - version "6.11.4" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.4.tgz#29a412c38bf70d89e537b6d02d904a6f448173aa" - integrity sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw== - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/long" "^4.0.1" - "@types/node" ">=13.7.0" - long "^4.0.0" - -protocol-buffers-schema@^3.3.1: - version "3.6.0" - resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz#77bc75a48b2ff142c1ad5b5b90c94cd0fa2efd03" - integrity sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw== - -protons@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/protons/-/protons-2.0.3.tgz#94f45484d04b66dfedc43ad3abff1e8907994bb2" - integrity sha512-j6JikP/H7gNybNinZhAHMN07Vjr1i4lVupg598l4I9gSTjJqOvKnwjzYX2PzvBTSVf2eZ2nWv4vG+mtW8L6tpA== - dependencies: - protocol-buffers-schema "^3.3.1" - signed-varint "^2.0.1" - uint8arrays "^3.0.0" - varint "^5.0.0" - proxy-addr@~2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" @@ -21053,6 +20644,16 @@ range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== +raw-body@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" + integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== + dependencies: + bytes "3.1.0" + http-errors "1.7.3" + iconv-lite "0.4.24" + unpipe "1.0.0" + raw-body@2.5.2, raw-body@^2.4.1: version "2.5.2" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" @@ -21130,11 +20731,6 @@ react-element-to-jsx-string@^15.0.0: is-plain-object "5.0.0" react-is "18.1.0" -react-error-overlay@6.0.9: - version "6.0.9" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" - integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== - react-feather@^2.0.9: version "2.0.9" resolved "https://registry.yarnpkg.com/react-feather/-/react-feather-2.0.9.tgz#6e42072130d2fa9a09d4476b0e61b0ed17814480" @@ -21371,12 +20967,10 @@ readdirp@^2.0.0: micromatch "^3.1.10" readable-stream "^2.0.2" -readdirp@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" - integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== - dependencies: - picomatch "^2.2.1" +readdirp@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.1.tgz#bd115327129672dc47f87408f05df9bd9ca3ef55" + integrity sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw== readdirp@~3.6.0: version "3.6.0" @@ -21411,13 +21005,6 @@ recast@^0.23.1: source-map "~0.6.1" tslib "^2.0.1" -receptacle@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/receptacle/-/receptacle-1.3.2.tgz#a7994c7efafc7a01d0e2041839dab6c4951360d2" - integrity sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A== - dependencies: - ms "^2.1.1" - rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -21716,11 +21303,6 @@ requizzle@^0.2.3: dependencies: lodash "^4.17.21" -reset@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/reset/-/reset-0.1.0.tgz#9fc7314171995ae6cb0b7e58b06ce7522af4bafb" - integrity sha512-RF7bp2P2ODreUPA71FZ4DSK52gNLJJ8dSwA1nhOCoC0mI4KZ4D/W6zhd2nfBqX/JlR+QZ/iUqAYPjq1UQU8l0Q== - resolve-alpn@^1.0.0, resolve-alpn@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" @@ -21825,11 +21407,6 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== -retimer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/retimer/-/retimer-2.0.0.tgz#e8bd68c5e5a8ec2f49ccb5c636db84c04063bbca" - integrity sha512-KLXY85WkEq2V2bKex/LOO1ViXVn2KGYe4PYysAdYdjmraYIUsVkXu8O4am+8+5UbaaGl1qho4aqAAPHNQ4GSbg== - retry-request@^5.0.0: version "5.0.2" resolved "https://registry.yarnpkg.com/retry-request/-/retry-request-5.0.2.tgz#143d85f90c755af407fcc46b7166a4ba520e44da" @@ -21876,6 +21453,13 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" +rimraf@^5.0.5: + version "5.0.10" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.10.tgz#23b9843d3dc92db71f96e1a2ce92e39fd2a8221c" + integrity sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ== + dependencies: + glob "^10.3.7" + rimraf@~2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" @@ -22003,13 +21587,6 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -run@^1.4.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/run/-/run-1.5.0.tgz#1933b3e9d4008836d800035f43e265ab8a83c5bf" - integrity sha512-CBPzeX6JQZUdhZpSFyNt2vUk44ivKMWZYCNBYoZYEE46mL9nf6WyMP3320WnzIrJuo89+njiUvlo83jUEXjXLg== - dependencies: - minimatch "*" - rustbn.js@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/rustbn.js/-/rustbn.js-0.2.0.tgz#8082cb886e707155fd1cb6f23bd591ab8d55d0ca" @@ -22161,7 +21738,7 @@ secp256k1@3.7.1, secp256k1@3.8.1: nan "^2.14.0" safe-buffer "^5.1.2" -secp256k1@4.0.4, secp256k1@^4.0.0, secp256k1@^4.0.1: +secp256k1@4.0.4, secp256k1@^4.0.1: version "4.0.4" resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.4.tgz#58f0bfe1830fe777d9ca1ffc7574962a8189f8ab" integrity sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw== @@ -22189,11 +21766,18 @@ semaphore@>=1.0.1, semaphore@^1.0.3: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== -semver@^6.0.0, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: +semver@6.3.1, semver@^6.0.0, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== +semver@7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + semver@^7.0.0, semver@^7.1.2, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: version "7.6.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" @@ -22231,13 +21815,6 @@ sentence-case@^2.1.0: no-case "^2.2.0" upper-case-first "^1.1.2" -serialize-javascript@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" - integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== - dependencies: - randombytes "^2.1.0" - serialize-javascript@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" @@ -22358,6 +21935,11 @@ setimmediate@^1.0.5, setimmediate@~1.0.4: resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + setprototypeof@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" @@ -22436,6 +22018,11 @@ side-channel@^1.0.4, side-channel@^1.0.6: get-intrinsic "^1.2.4" object-inspect "^1.13.1" +signal-exit@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.0.2.tgz#ff55bb1d9ff2114c13b400688fa544ac63c36967" + integrity sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== + signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" @@ -22446,13 +22033,6 @@ signal-exit@^4.0.1: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== -signed-varint@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/signed-varint/-/signed-varint-2.0.1.tgz#50a9989da7c98c2c61dad119bc97470ef8528129" - integrity sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw== - dependencies: - varint "~5.0.0" - simple-concat@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" @@ -22710,7 +22290,7 @@ source-map-support@^0.4.15: dependencies: source-map "^0.5.6" -source-map-support@^0.5.13, source-map-support@^0.5.16, source-map-support@^0.5.17: +source-map-support@^0.5.13, source-map-support@^0.5.16: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -22832,11 +22412,6 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - stack-trace@0.0.x: version "0.0.10" resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" @@ -22856,6 +22431,11 @@ stacktrace-parser@^0.1.10: dependencies: type-fest "^0.7.1" +stat-mode@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-0.3.0.tgz#69283b081f851582b328d2a4ace5f591ce52f54b" + integrity sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng== + static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -22869,6 +22449,11 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== +"statuses@>= 1.2.1 < 2", "statuses@>= 1.5.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + stop-iteration-iterator@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" @@ -22917,14 +22502,7 @@ stream-to-array@~2.3.0: dependencies: any-promise "^1.1.0" -stream-to-it@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/stream-to-it/-/stream-to-it-0.2.4.tgz#d2fd7bfbd4a899b4c0d6a7e6a533723af5749bd0" - integrity sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ== - dependencies: - get-iterator "^1.0.2" - -stream-to-promise@^2.2.0: +stream-to-promise@2.2.0, stream-to-promise@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/stream-to-promise/-/stream-to-promise-2.2.0.tgz#b1edb2e1c8cb11289d1b503c08d3f2aef51e650f" integrity sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw== @@ -22933,11 +22511,6 @@ stream-to-promise@^2.2.0: end-of-stream "~1.1.0" stream-to-array "~2.3.0" -streamsearch@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" - integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== - strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" @@ -22961,7 +22534,7 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0": +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -22979,7 +22552,7 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.1.1: +string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -22996,15 +22569,6 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" @@ -23079,7 +22643,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -23107,13 +22671,6 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" @@ -23384,6 +22941,19 @@ tar-stream@^2.0.1, tar-stream@^2.1.4: inherits "^2.0.3" readable-stream "^3.1.1" +tar@4.4.18: + version "4.4.18" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.18.tgz#a565090fdcf786ee08ed14b1739179451b3cc476" + integrity sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg== + dependencies: + chownr "^1.1.4" + fs-minipass "^1.2.7" + minipass "^2.9.0" + minizlib "^1.3.3" + mkdirp "^0.5.5" + safe-buffer "^5.2.1" + yallist "^3.1.1" + tar@^4.0.2: version "4.4.19" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" @@ -23409,6 +22979,18 @@ tar@^6.2.0: mkdirp "^1.0.3" yallist "^4.0.0" +tar@^7.4.0: + version "7.4.3" + resolved "https://registry.yarnpkg.com/tar/-/tar-7.4.3.tgz#88bbe9286a3fcd900e94592cda7a22b192e80571" + integrity sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw== + dependencies: + "@isaacs/fs-minipass" "^4.0.0" + chownr "^3.0.0" + minipass "^7.1.2" + minizlib "^3.0.1" + mkdirp "^3.0.1" + yallist "^5.0.0" + teeny-request@^8.0.0: version "8.0.3" resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-8.0.3.tgz#5cb9c471ef5e59f2fca8280dc3c5909595e6ca24" @@ -23558,14 +23140,6 @@ timed-out@^4.0.1: resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== -timeout-abort-controller@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/timeout-abort-controller/-/timeout-abort-controller-1.1.1.tgz#2c3c3c66f13c783237987673c276cbd7a9762f29" - integrity sha512-BsF9i3NAJag6T0ZEjki9j654zoafI2X6ayuNd6Tp8+Ul6Tr5s4jo973qFeiWrRSweqvskC+AHDKUmIW4b7pdhQ== - dependencies: - abort-controller "^3.0.0" - retimer "^2.0.0" - tiny-glob@^0.2.6: version "0.2.9" resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.9.tgz#2212d441ac17928033b110f8b3640683129d31e2" @@ -23686,6 +23260,11 @@ toggle-selection@^1.0.6: resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI= +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + toidentifier@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" @@ -23747,7 +23326,7 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" integrity sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ== -tree-kill@^1.2.2: +tree-kill@1.2.2, tree-kill@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== @@ -23819,15 +23398,23 @@ ts-morph@12.0.0: "@ts-morph/common" "~0.11.0" code-block-writer "^10.1.1" -ts-node@8.9.1: - version "8.9.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.9.1.tgz#2f857f46c47e91dcd28a14e052482eb14cfd65a5" - integrity sha512-yrq6ODsxEFTLz0R3BX2myf0WBCSQh9A+py8PBo1dCzWIOcvisbyH6akNKqDHMgXePF2kir5mm5JXJTH3OUJYOQ== - dependencies: +ts-node@10.9.1, ts-node@10.9.2, ts-node@^10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" arg "^4.1.0" + create-require "^1.1.0" diff "^4.0.1" make-error "^1.1.1" - source-map-support "^0.5.17" + v8-compile-cache-lib "^3.0.1" yn "3.1.1" ts-toolbelt@^6.15.5: @@ -23863,12 +23450,7 @@ tslib@1.14.1, tslib@^1, tslib@^1.13.0, tslib@^1.14.1, tslib@^1.8.1, tslib@^1.9.0 resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.4.1, tslib@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -tslib@^2.8.0: +tslib@^2, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.4.1, tslib@^2.6.2, tslib@^2.8.0: version "2.8.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== @@ -24079,21 +23661,16 @@ typescript-eslint@^7.13.1: "@typescript-eslint/parser" "7.13.1" "@typescript-eslint/utils" "7.13.1" -typescript@4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.4.tgz#3f85b986945bcf31071decdd96cf8bfa65f9dcbc" - integrity sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew== +typescript@4.9.5, typescript@5.7.3, typescript@^5.7.3: + version "5.7.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.3.tgz#919b44a7dbb8583a9b856d162be24a54bf80073e" + integrity sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw== typescript@^3.9.7: version "3.9.10" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== -typescript@^5.5.2: - version "5.5.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.2.tgz#c26f023cb0054e657ce04f72583ea2d85f8d0507" - integrity sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew== - uc.micro@^2.0.0, uc.micro@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee" @@ -24104,20 +23681,10 @@ uglify-js@^3.1.4, uglify-js@^3.7.7: resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== -uint8arrays@1.1.0, uint8arrays@^1.0.0, uint8arrays@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-1.1.0.tgz#d034aa65399a9fd213a1579e323f0b29f67d0ed2" - integrity sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA== - dependencies: - multibase "^3.0.0" - web-encoding "^1.0.2" - -uint8arrays@^2.0.5, uint8arrays@^2.1.3: - version "2.1.10" - resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-2.1.10.tgz#34d023c843a327c676e48576295ca373c56e286a" - integrity sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A== - dependencies: - multiformats "^9.4.2" +uid-promise@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/uid-promise/-/uid-promise-1.0.0.tgz#68ef7c70a19dea4d637c7e3df2e0e548106f1a37" + integrity sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig== uint8arrays@^3.0.0, uint8arrays@^3.1.0: version "3.1.1" @@ -24151,12 +23718,12 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== -undici@^5.14.0: - version "5.20.0" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.20.0.tgz#6327462f5ce1d3646bcdac99da7317f455bcc263" - integrity sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g== +undici@5.28.4, undici@^5.14.0: + version "5.28.4" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.4.tgz#6b280408edb6a1a604a9b20340f45b422e373068" + integrity sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g== dependencies: - busboy "^1.6.0" + "@fastify/busboy" "^2.0.0" unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" @@ -24339,14 +23906,6 @@ url-set-query@^1.0.0: resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" integrity sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg== -ursa-optional@^0.10.1: - version "0.10.2" - resolved "https://registry.yarnpkg.com/ursa-optional/-/ursa-optional-0.10.2.tgz#bd74e7d60289c22ac2a69a3c8dea5eb2817f9681" - integrity sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A== - dependencies: - bindings "^1.5.0" - nan "^2.14.2" - use-callback-ref@^1.2.5, use-callback-ref@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.0.tgz#772199899b9c9a50526fedc4993fc7fa1f7e32d5" @@ -24418,7 +23977,7 @@ util@^0.10.3: dependencies: inherits "2.0.3" -util@^0.12.0, util@^0.12.3, util@^0.12.4, util@^0.12.5: +util@^0.12.0, util@^0.12.4, util@^0.12.5: version "0.12.5" resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== @@ -24459,6 +24018,11 @@ uuid@^9.0.0, uuid@^9.0.1: resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + v8-to-istanbul@^9.0.1: version "9.1.0" resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265" @@ -24496,21 +24060,34 @@ value-equal@^1.0.1: resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== -varint@^5.0.0, varint@^5.0.2, varint@~5.0.0: +varint@^5.0.0: version "5.0.2" resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== -varint@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0" - integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== - vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== +vercel@^39.3.0: + version "39.3.0" + resolved "https://registry.yarnpkg.com/vercel/-/vercel-39.3.0.tgz#d1a9b4727cc568c217019bf0f60df37a3c96b70e" + integrity sha512-VyGaH5tnVVsgACcbU4PCRyQBDg/SST7/HQBaIXNnmOW7Ngjcn04wamjPgYAdFUGroiTm+ZpmNbCO1DQXzNeTjQ== + dependencies: + "@vercel/build-utils" "9.0.1" + "@vercel/fun" "1.1.2" + "@vercel/go" "3.2.1" + "@vercel/hydrogen" "1.0.11" + "@vercel/next" "4.4.2" + "@vercel/node" "5.0.2" + "@vercel/python" "4.7.0" + "@vercel/redwood" "2.1.12" + "@vercel/remix-builder" "5.0.2" + "@vercel/ruby" "2.1.0" + "@vercel/static-build" "2.5.41" + chokidar "4.0.0" + verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" @@ -24657,14 +24234,10 @@ wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -web-encoding@^1.0.2, web-encoding@^1.0.6: - version "1.1.5" - resolved "https://registry.yarnpkg.com/web-encoding/-/web-encoding-1.1.5.tgz#fc810cf7667364a6335c939913f5051d3e0c4864" - integrity sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA== - dependencies: - util "^0.12.3" - optionalDependencies: - "@zxing/text-encoding" "0.9.0" +web-vitals@0.2.4: + version "0.2.4" + resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-0.2.4.tgz#ec3df43c834a207fd7cdefd732b2987896e08511" + integrity sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg== web3-bzz@1.10.0: version "1.10.0" @@ -25744,13 +25317,6 @@ which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.2, gopd "^1.0.1" has-tostringtag "^1.0.2" -which@2.0.2, which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - which@^1.1.1, which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -25758,12 +25324,12 @@ which@^1.1.1, which@^1.2.9, which@^1.3.1: dependencies: isexe "^2.0.0" -wide-align@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: - string-width "^1.0.2 || 2" + isexe "^2.0.0" widest-line@^3.1.0: version "3.1.0" @@ -25820,17 +25386,12 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== -workerpool@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b" - integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg== - workerpool@6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -25865,15 +25426,6 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" @@ -25930,7 +25482,7 @@ ws@8.13.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== -ws@8.18.0, ws@^8.5.0: +ws@8.18.0, ws@^8.11.0, ws@^8.13.0, ws@^8.2.3, ws@^8.5.0: version "8.18.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== @@ -25958,26 +25510,30 @@ ws@^6.1.0: dependencies: async-limiter "~1.0.0" -ws@^7.4.6, ws@^7.5.1: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -ws@^7.5.10: +ws@^7.4.6, ws@^7.5.1, ws@^7.5.10: version "7.5.10" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== -ws@^8.11.0, ws@^8.13.0, ws@^8.2.3: - version "8.17.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.0.tgz#d145d18eca2ed25aaf791a183903f7be5e295fea" - integrity sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow== - ws@~8.17.1: version "8.17.1" resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== +xdg-app-paths@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/xdg-app-paths/-/xdg-app-paths-5.1.0.tgz#f52f724f91e88244148c085c09bcd396443d8cae" + integrity sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA== + dependencies: + xdg-portable "^7.0.0" + +xdg-portable@^7.0.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/xdg-portable/-/xdg-portable-7.3.0.tgz#c6b1610de806a2ca1fe65727d5f8402c295d2e96" + integrity sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw== + dependencies: + os-paths "^4.0.1" + xhr-request-promise@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" @@ -26082,6 +25638,11 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== +yallist@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-5.0.0.tgz#00e2de443639ed0d78fd87de0d27469fbcffb533" + integrity sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw== + yaml@^1.10.0: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" @@ -26220,7 +25781,22 @@ yargs@^4.7.1: y18n "^3.2.1" yargs-parser "^2.4.1" -yauzl@^2.10.0: +yauzl-clone@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/yauzl-clone/-/yauzl-clone-1.0.4.tgz#8bc6d293b17cc98802bbbed2e289d18e7697c96c" + integrity sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA== + dependencies: + events-intercept "^2.0.0" + +yauzl-promise@2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/yauzl-promise/-/yauzl-promise-2.1.3.tgz#17467845db89fc6592ca987ca2ecfee8c381ae3d" + integrity sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA== + dependencies: + yauzl "^2.9.1" + yauzl-clone "^1.0.4" + +yauzl@^2.10.0, yauzl@^2.9.1: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==