diff --git a/packages/bridge-ui-v2/.env.example b/packages/bridge-ui-v2/.env.example index 6e35b0ce4e4..5e46f175912 100644 --- a/packages/bridge-ui-v2/.env.example +++ b/packages/bridge-ui-v2/.env.example @@ -1,84 +1,23 @@ -# Chain Names -export PUBLIC_L1_CHAIN_NAME="" -export PUBLIC_L2_CHAIN_NAME="" -export PUBLIC_L3_CHAIN_NAME="" - - -# Chain Ids -export PUBLIC_L1_CHAIN_ID= -export PUBLIC_L2_CHAIN_ID= -export PUBLIC_L3_CHAIN_ID= - - -# RPC Urls -export PUBLIC_L1_RPC_URL=https:// -export PUBLIC_L2_RPC_URL=https:// -export PUBLIC_L3_RPC_URL=https:// - - -# Explorer Urls -export PUBLIC_L1_EXPLORER_URL=https:// -export PUBLIC_L2_EXPLORER_URL=https:// -export PUBLIC_L3_EXPLORER_URL=https:// - - -# Relayer API -export PUBLIC_RELAYER_URL=https:// - +# Default explorer as fallback for the sidebar +export PUBLIC_DEFAULT_EXPLORER=https:// # Use the bridge guide Urls export PUBLIC_GUIDE_URL=https:// - -# Cross Chain (Taiko) Contract address -export PUBLIC_L1_CROSS_CHAIN_SYNC_ADDRESS=0x -export PUBLIC_L2_CROSS_CHAIN_SYNC_ADDRESS=0x -export PUBLIC_L3_CROSS_CHAIN_SYNC_ADDRESS=0x - - -# Token Vault Contract address -export PUBLIC_L1_TOKEN_VAULT_ADDRESS=0x -export PUBLIC_L2_TOKEN_VAULT_ADDRESS=0x -export PUBLIC_L3_TOKEN_VAULT_ADDRESS=0x - -# ERC721 Token Vault Contract address -export PUBLIC_L1_ERC721_VAULT_ADDRESS= -export PUBLIC_L2_ERC721_VAULT_ADDRESS= -export PUBLIC_L3_ERC721_VAULT_ADDRESS= - - -# ERC1155 Token Vault Contract address -export PUBLIC_L1_ERC1155_VAULT_ADDRESS= -export PUBLIC_L2_ERC1155_VAULT_ADDRESS= -export PUBLIC_L3_ERC1155_VAULT_ADDRESS= - - -# Bridge Contract address -export PUBLIC_L1_BRIDGE_ADDRESS=0x -export PUBLIC_L2_BRIDGE_ADDRESS=0x -export PUBLIC_L3_BRIDGE_ADDRESS=0x - - -# Signal Service Contract address -export PUBLIC_L1_SIGNAL_SERVICE_ADDRESS=0x -export PUBLIC_L2_SIGNAL_SERVICE_ADDRESS=0x -export PUBLIC_L3_SIGNAL_SERVICE_ADDRESS=0x - - -# Test token List -export PUBLIC_TEST_ERC20=[] - - # WalletConnect Project ID export PUBLIC_WALLETCONNECT_PROJECT_ID="" # Enable NFT Bridge ("true" or "false") export PUBLIC_NFT_BRIDGE_ENABLED="" - # Sentry export PUBLIC_SENTRY_DSN=https:// - export SENTRY_ORG= export SENTRY_PROJECT= export SENTRY_AUTH_TOKEN= + +# Config jsons in base64 (see ReadMe, these are generated via a script) +export CONFIGURED_BRIDGES= +export CONFIGURED_CHAINS= +export CONFIGURED_CUSTOM_TOKEN= +export CONFIGURED_RELAYER= \ No newline at end of file diff --git a/packages/bridge-ui-v2/.eslintignore b/packages/bridge-ui-v2/.eslintignore index d31e3142a9d..c26e640c61f 100644 --- a/packages/bridge-ui-v2/.eslintignore +++ b/packages/bridge-ui-v2/.eslintignore @@ -16,3 +16,5 @@ CHANGELOG.md pnpm-lock.yaml package-lock.json yarn.lock + +src/generated/* diff --git a/packages/bridge-ui-v2/.gitignore b/packages/bridge-ui-v2/.gitignore index 178c296b661..163f35ec659 100644 --- a/packages/bridge-ui-v2/.gitignore +++ b/packages/bridge-ui-v2/.gitignore @@ -14,4 +14,4 @@ vite.config.ts.timestamp-* !/config/sample/ !/config/schemas/ -src/generated/* \ No newline at end of file +src/generated/* diff --git a/packages/bridge-ui-v2/README.md b/packages/bridge-ui-v2/README.md index 1ea4d3e58f0..1b027803947 100644 --- a/packages/bridge-ui-v2/README.md +++ b/packages/bridge-ui-v2/README.md @@ -1,26 +1,92 @@ # Bridge UI v2 -## Developing +This package contains the Bridge UI built with svelte and wagmi -Installed dependencies with `pnpm install` +- [Bridge UI v2](#bridge-ui-v2) + - [Development setup](#development-setup) + - [Set up environment variables](#set-up-environment-variables) + - [Set up configurations](#set-up-configurations) + - [Start a development server:](#start-a-development-server) + - [Building](#building) -Set up environment variables +## Development setup + +Install all dependencies with + +```bash +pnpm install +``` + +### Set up environment variables ```bash cp .env.example .env +``` -# update environment variables in .env +Then update environment variables in .env +```bash source .env ``` -start a development server: +### Set up configurations + +**High-level flow:** + +1. Prepare .json config files +2. Export as base64 to .env +3. build/serve creates typescript configs for the app + +
+ +**Detailed process** + +These are are the additional configuration files that have to be filled in: + +| Name | Description | +| --------------------------------------- | ---------------------------------------------------------------------------------------- | +| **/config/configuredBridges.json** | Defines the chains that are connected via taiko bridges and lists the contract addresses | +| **/config/configuredChains.json** | Defines some metadata for the chains, such as name, icons, explorer URL, etc. | +| **/config/configuredRelayer.json** | If chains have a relayer, the URL and the chain IDs it covers are entered here | +| **/config/configuredCustomTokens.json** | Defines a list of tokens that should be availabe in the token dropdowns | + +--- + +
+ +To get started, open your terminal in `/packages/bridge-ui-v2/` + +1. Copy the config examples + ```bash + cp config/sample/configuredBridges.example config/configuredBridges.json + cp config/sample/configuredChains.example config/configuredChains.json + cp config/sample/configuredRelayer.example config/configuredRelayer.json + cp config/sample/configuredCustomTokens.example config/configuredCustomTokens.json + ``` +2. Change or fill in all the information that will be used by the bridge UI inside these files. + +3. As the configurations are not committed directly, they will be loaded from the .env.
For that they need to be encoded and appended to the .env file: + + ```bash + pnpm export:config + ``` + + This command exports the json as base64 string to your .env file + +4. Now whenver a build is triggered it will generate the config files based on the .env file in `src/generated/` +
**Note: In the** `config/schemas` **folder are schemas that will validate the correct json format and report any errors in your initial json configurations, so check the log output for any errors!** +
+ +**Beware**, that if you make changes to the json files, you need to export them to the .env again via script. +
+ +### Start a development server: ```bash -pnpm run dev +pnpm dev # or start the server and open the app in a new browser tab -pnpm run dev -- --open +pnpm dev -- --open ``` ## Building @@ -33,4 +99,4 @@ npm run build You can preview the production build with `npm run preview`. -> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment. +To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment. diff --git a/packages/bridge-ui-v2/config/sample/configuredBridges.example b/packages/bridge-ui-v2/config/sample/configuredBridges.example new file mode 100644 index 00000000000..0fae45ec692 --- /dev/null +++ b/packages/bridge-ui-v2/config/sample/configuredBridges.example @@ -0,0 +1,52 @@ +{ + "configuredBridges": [ + { + "source": "", + "destination": "", + "addresses": { + "bridgeAddress": "", + "erc20VaultAddress": "", + "erc721VaultAddress": "", + "erc1155VaultAddress": "", + "crossChainSyncAddress": "", + "signalServiceAddress": "" + } + }, + { + "source": "", + "destination": "", + "addresses": { + "bridgeAddress": "", + "erc20VaultAddress": "", + "erc721VaultAddress": "", + "erc1155VaultAddress": "", + "crossChainSyncAddress": "", + "signalServiceAddress": "" + } + }, + { + "source": "", + "destination": "", + "addresses": { + "bridgeAddress": "", + "erc20VaultAddress": "", + "erc721VaultAddress": "", + "erc1155VaultAddress": "", + "crossChainSyncAddress": "", + "signalServiceAddress": "" + } + }, + { + "source": "", + "destination": "", + "addresses": { + "bridgeAddress": "", + "erc20VaultAddress": "", + "erc721VaultAddress": "", + "erc1155VaultAddress": "", + "crossChainSyncAddress": "", + "signalServiceAddress": "" + } + } + ] +} diff --git a/packages/bridge-ui-v2/config/sample/configuredChains.example b/packages/bridge-ui-v2/config/sample/configuredChains.example new file mode 100644 index 00000000000..77d24262e8e --- /dev/null +++ b/packages/bridge-ui-v2/config/sample/configuredChains.example @@ -0,0 +1,37 @@ +{ + "configuredChains": [ + { + "123456": { + "name": "", + "type": "L1", + "icon": "path/or/url/to/icon", + "urls": { + "rpc": "", + "explorer": "" + } + } + }, + { + "78910": { + "name": "", + "type": "L2", + "icon": "path/or/url/to/icon", + "urls": { + "rpc": "", + "explorer": "" + } + } + }, + { + "98765": { + "name": "", + "type": "L3", + "icon": "path/or/url/to/icon", + "urls": { + "rpc": "", + "explorer": "" + } + } + } + ] +} diff --git a/packages/bridge-ui-v2/config/sample/configuredCustomToken.example b/packages/bridge-ui-v2/config/sample/configuredCustomToken.example new file mode 100644 index 00000000000..646b11f374c --- /dev/null +++ b/packages/bridge-ui-v2/config/sample/configuredCustomToken.example @@ -0,0 +1,26 @@ +[ + { + "name": "Bull Token", + "addresses": { + "1234": "0x00...", + "4567": "0x00...", + "8910": "0x00..." + }, + "symbol": "BLL", + "decimals": 18, + "type": "ERC20", + "logoURI": "http://example.com/logo.png" + }, + { + "name": "Horse Token", + "addresses": { + "1234": "0x00...", + "4567": "0x00...", + "8910": "0x00..." + }, + "symbol": "HORSE", + "decimals": 18, + "type": "ERC20", + "logoURI": "http://example.com/logo.png" + } +] \ No newline at end of file diff --git a/packages/bridge-ui-v2/config/sample/configuredRelayer.example b/packages/bridge-ui-v2/config/sample/configuredRelayer.example new file mode 100644 index 00000000000..b087f935341 --- /dev/null +++ b/packages/bridge-ui-v2/config/sample/configuredRelayer.example @@ -0,0 +1,12 @@ +{ + "configuredRelayer": [ + { + "chainIds": [123456, 654321], + "url": "https://some/url.example" + }, + { + "chainIds": [1, 11155111], + "url": "https://some/other/url.example" + } + ] +} diff --git a/packages/bridge-ui-v2/config/schemas/configuredBridges.schema.json b/packages/bridge-ui-v2/config/schemas/configuredBridges.schema.json new file mode 100644 index 00000000000..9d5041e00e7 --- /dev/null +++ b/packages/bridge-ui-v2/config/schemas/configuredBridges.schema.json @@ -0,0 +1,59 @@ +{ + "$id": "configuredBridges.json", + "type": "object", + "properties": { + "configuredBridges": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source": { + "type": "string" + }, + "destination": { + "type": "string" + }, + "addresses": { + "type": "object", + "properties": { + "bridgeAddress": { + "type": "string" + }, + "erc20VaultAddress": { + "type": "string" + }, + "etherVaultAddress": { + "type": "string" + }, + "erc721VaultAddress": { + "type": "string" + }, + "erc1155VaultAddress": { + "type": "string" + }, + "crossChainSyncAddress": { + "type": "string" + }, + "signalServiceAddress": { + "type": "string" + } + }, + "required": [ + "bridgeAddress", + "erc20VaultAddress", + "erc721VaultAddress", + "erc1155VaultAddress", + "crossChainSyncAddress", + "signalServiceAddress" + ], + "additionalProperties": false + } + }, + "required": ["source", "destination", "addresses"], + "additionalProperties": false + } + } + }, + "required": ["configuredBridges"], + "additionalProperties": false +} diff --git a/packages/bridge-ui-v2/config/schemas/configuredChains.schema.json b/packages/bridge-ui-v2/config/schemas/configuredChains.schema.json new file mode 100644 index 00000000000..2ba1ebaa98b --- /dev/null +++ b/packages/bridge-ui-v2/config/schemas/configuredChains.schema.json @@ -0,0 +1,42 @@ +{ + "$id": "configuredChains.json", + "properties": { + "configuredChains": { + "type": "array", + "items": { + "type": "object", + "propertyNames": { + "pattern": "^[0-9]+$" + }, + "additionalProperties": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "type": { + "type": "string" + }, + "urls": { + "type": "object", + "properties": { + "rpc": { + "type": "string" + }, + "explorer": { + "type": "string" + } + }, + "required": ["rpc", "explorer"] + } + }, + "required": ["name", "icon", "type", "urls"] + } + } + } + }, + "required": ["configuredChains"] +} diff --git a/packages/bridge-ui-v2/config/schemas/configuredCustomToken.schema.json b/packages/bridge-ui-v2/config/schemas/configuredCustomToken.schema.json new file mode 100644 index 00000000000..8d0beabc48a --- /dev/null +++ b/packages/bridge-ui-v2/config/schemas/configuredCustomToken.schema.json @@ -0,0 +1,37 @@ +{ + "$id": "configuredCustomToken.json", + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "addresses": { + "type": "object", + "propertyNames": { + "pattern": "^[0-9]+$" + }, + "additionalProperties": { + "type": "string" + } + }, + "symbol": { + "type": "string" + }, + "decimals": { + "type": "integer" + }, + "type": { + "type": "string" + }, + "logoURI": { + "type": "string" + }, + "mintable": { + "type": "boolean" + } + }, + "required": ["name", "addresses", "symbol", "decimals", "type", "logoURI"] + } +} diff --git a/packages/bridge-ui-v2/config/schemas/configuredRelayer.schema.json b/packages/bridge-ui-v2/config/schemas/configuredRelayer.schema.json new file mode 100644 index 00000000000..2d33b5ed7c0 --- /dev/null +++ b/packages/bridge-ui-v2/config/schemas/configuredRelayer.schema.json @@ -0,0 +1,25 @@ +{ + "$id": "configuredRelayer.json", + "type": "object", + "properties": { + "configuredRelayer": { + "type": "array", + "items": { + "type": "object", + "properties": { + "chainIds": { + "type": "array", + "items": { + "type": "integer" + } + }, + "url": { + "type": "string" + } + }, + "required": ["chainIds", "url"] + } + } + }, + "required": ["configuredRelayer"] +} diff --git a/packages/bridge-ui-v2/package.json b/packages/bridge-ui-v2/package.json index c19fb507d2f..a3e844c9ea5 100644 --- a/packages/bridge-ui-v2/package.json +++ b/packages/bridge-ui-v2/package.json @@ -17,7 +17,8 @@ "format": "prettier --write .", "lint": "prettier --check . && eslint .", "lint:fix": "pnpm format && eslint . --fix", - "generate:abi": "pnpm wagmi generate" + "generate:abi": "cd ../protocol && pnpm forge build && cd - && pnpm wagmi generate", + "export:config": "pnpm ./scripts/exportJsonToEnv.js" }, "devDependencies": { "@playwright/test": "^1.28.1", @@ -32,12 +33,14 @@ "abitype": "^0.8.7", "autoprefixer": "^10.4.14", "daisyui": "3.1.7", + "dotenv": "^16.3.1", "eslint": "^8.28.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-simple-import-sort": "^10.0.0", "eslint-plugin-svelte": "^2.26.0", "ethereum-address": "^0.0.4", "jsdom": "^22.1.0", + "ajv": "^8.6.4", "lokijs": "^1.5.12", "postcss": "^8.4.24", "prettier": "^3.0.0", @@ -45,6 +48,7 @@ "svelte": "^4.1.0", "svelte-check": "^3.4.6", "tailwindcss": "^3.3.2", + "ts-morph": "^19.0.0", "tslib": "^2.4.1", "typescript": "^5.1.6", "vite": "^4.3.0", diff --git a/packages/bridge-ui-v2/scripts/exportJsonToEnv.js b/packages/bridge-ui-v2/scripts/exportJsonToEnv.js new file mode 100755 index 00000000000..2a131fcf334 --- /dev/null +++ b/packages/bridge-ui-v2/scripts/exportJsonToEnv.js @@ -0,0 +1,51 @@ +#!/usr/bin/env node + +import * as fs from 'fs'; +import * as path from 'path'; + +import { Logger as LogUtil } from './utils/Logger.js'; + +const Logger = new LogUtil('exportJsonToEnv'); + +const envFile = './.env'; + +const bridgesPath = 'config/configuredBridges.json'; +const chainsPath = 'config/configuredChains.json'; +const tokensPath = 'config/configuredCustomToken.json'; +const relayerPath = 'config/configuredRelayer.json'; + +// Create a backup of the existing .env file +fs.copyFileSync(envFile, `${envFile}.bak`); + +const jsonFiles = [bridgesPath, chainsPath, tokensPath, relayerPath]; + +jsonFiles.forEach((jsonFile) => { + if (fs.existsSync(jsonFile)) { + Logger.info(`Exporting ${jsonFile} to .env file...`); + + const fileContent = fs.readFileSync(jsonFile); + let base64Content = fileContent.toString('base64'); + const filename = path.basename(jsonFile, '.json'); + + if (filename !== 'configuredChains') { + base64Content = base64Content.replace(/\s+/g, ''); + } + + const envKey = filename.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase(); + + const envFileContent = fs.readFileSync(envFile, 'utf-8'); + const regex = new RegExp(`^export ${envKey}=.*$`, 'm'); + + if (regex.test(envFileContent)) { + fs.writeFileSync(envFile, envFileContent.replace(regex, `export ${envKey}='${base64Content}'`)); + } else { + fs.appendFileSync(envFile, `\nexport ${envKey}='${base64Content}'`); + } + + Logger.info(`Successfully updated ${envKey}`); + } else { + Logger.error(`Warning: File ${jsonFile} does not exist.`); + } +}); + +Logger.info('Done.'); diff --git a/packages/bridge-ui-v2/scripts/utils/Logger.js b/packages/bridge-ui-v2/scripts/utils/Logger.js new file mode 100644 index 00000000000..37c9d5039bd --- /dev/null +++ b/packages/bridge-ui-v2/scripts/utils/Logger.js @@ -0,0 +1,57 @@ +/* eslint-disable no-console */ +const FgMagenta = '\x1b[35m'; +const FgYellow = '\x1b[33m'; +const FgRed = '\x1b[31m'; +const Bright = '\x1b[1m'; +const Reset = '\x1b[0m'; + +const timestamp = () => new Date().toLocaleTimeString(); + +export class Logger { + /** + * @param {string} pluginName + */ + constructor(pluginName) { + this.pluginName = pluginName; + } + + /** + * @param {string} message + */ + info(message) { + this._logWithColor(FgMagenta, message); + } + + /** + * @param {any} message + */ + warn(message) { + this._logWithColor(FgYellow, message); + } + + /** + * @param {string} message + */ + error(message) { + this._logWithColor(FgRed, message, true); + } + + /** + * @param {string} color + * @param {any} message + */ + _logWithColor(color, message, isError = false) { + console.log( + `${color}${timestamp()}${Bright} [${this.pluginName}]${Reset}${isError ? color : ''} ${message} ${ + isError ? Reset : '' + } `, + ); + } +} + +// Usage +// const logger = new Logger("plugin-name"); + +// logger.info("This is a log message."); // Logs in magenta +// logger.warn("This is a warning message."); // Logs in yellow +// logger.error("This is an error message."); // Logs in red diff --git a/packages/bridge-ui-v2/scripts/utils/decodeBase64ToJson.ts b/packages/bridge-ui-v2/scripts/utils/decodeBase64ToJson.ts new file mode 100644 index 00000000000..f7209af0020 --- /dev/null +++ b/packages/bridge-ui-v2/scripts/utils/decodeBase64ToJson.ts @@ -0,0 +1,5 @@ +import { Buffer } from 'buffer'; + +export const decodeBase64ToJson = (base64: string) => { + return JSON.parse(Buffer.from(base64, 'base64').toString('utf-8')); +}; diff --git a/packages/bridge-ui-v2/scripts/utils/formatSourceFile.ts b/packages/bridge-ui-v2/scripts/utils/formatSourceFile.ts new file mode 100644 index 00000000000..1a40c145f22 --- /dev/null +++ b/packages/bridge-ui-v2/scripts/utils/formatSourceFile.ts @@ -0,0 +1,9 @@ +import { promises as fs } from 'fs'; +import * as prettier from 'prettier'; + +export async function formatSourceFile(tsFilePath: string) { + const generatedCode = await fs.readFile(tsFilePath, 'utf-8'); + + // Format the code using Prettier + return await prettier.format(generatedCode, { parser: 'typescript' }); +} diff --git a/packages/bridge-ui-v2/scripts/utils/validateJson.ts b/packages/bridge-ui-v2/scripts/utils/validateJson.ts new file mode 100644 index 00000000000..924152e3683 --- /dev/null +++ b/packages/bridge-ui-v2/scripts/utils/validateJson.ts @@ -0,0 +1,25 @@ +/* eslint-disable no-console */ +import Ajv, { type Schema } from 'ajv'; + +import { Logger } from './Logger'; + +const ajv = new Ajv({ strict: false }); + +type SchmaWithId = Schema & { $id?: string }; + +const logger = new Logger('json-validator'); + +export const validateJsonAgainstSchema = (json: JSON, schema: SchmaWithId): boolean => { + logger.info(`Validating ${schema.$id}`); + const validate = ajv.compile(schema); + + const valid = validate(json); + + if (!valid) { + logger.error('Validation failed.'); + console.error('Error details:', ajv.errors); + return false; + } + logger.info(`Validation of ${schema.$id} succeeded.`); + return true; +}; diff --git a/packages/bridge-ui-v2/scripts/vite-plugins/generateBridgeConfig.ts b/packages/bridge-ui-v2/scripts/vite-plugins/generateBridgeConfig.ts new file mode 100644 index 00000000000..2e1d8f46c94 --- /dev/null +++ b/packages/bridge-ui-v2/scripts/vite-plugins/generateBridgeConfig.ts @@ -0,0 +1,143 @@ +import dotenv from 'dotenv'; +import { promises as fs } from 'fs'; +import path from 'path'; +import { Project, SourceFile, VariableDeclarationKind } from 'ts-morph'; + +import configuredBridgesSchema from '../../config/schemas/configuredBridges.schema.json'; +import type { BridgeConfig, ConfiguredBridgesType, RoutingMap } from '../../src/libs/bridge/types'; +import { decodeBase64ToJson } from '../utils/decodeBase64ToJson'; +import { formatSourceFile } from '../utils/formatSourceFile'; +import { Logger } from '../utils/Logger'; +import { validateJsonAgainstSchema } from '../utils/validateJson'; + +dotenv.config(); +const pluginName = 'generateBridgeConfig'; +const logger = new Logger(pluginName); + +const currentDir = path.resolve(new URL(import.meta.url).pathname); + +const outputPath = path.join(path.dirname(currentDir), '../../src/generated/bridgeConfig.ts'); + +export function generateBridgeConfig() { + return { + name: pluginName, + async buildStart() { + if (!process.env.CONFIGURED_BRIDGES) { + throw new Error( + 'CONFIGURED_BRIDGES is not defined in environment. Make sure to run the export step in the documentation.', + ); + } + + // Decode base64 encoded JSON string + const configuredBridgesConfigFile = decodeBase64ToJson(process.env.CONFIGURED_BRIDGES || ''); + + // Valide JSON against schema + const isValid = validateJsonAgainstSchema(configuredBridgesConfigFile, configuredBridgesSchema); + + if (!isValid) { + throw new Error('encoded configuredBridges.json is not valid.'); + } + logger.info('Plugin initialized.'); + + const tsFilePath = path.resolve(outputPath); + + const project = new Project(); + const notification = `// Generated by ${pluginName} on ${new Date().toLocaleString()}`; + const warning = `// WARNING: Do not change this file manually as it will be overwritten`; + + let sourceFile = project.createSourceFile(tsFilePath, `${notification}\n${warning}\n`, { overwrite: true }); + + // Create the TypeScript content + sourceFile = await storeTypes(sourceFile); + sourceFile = await buildBridgeConfig(sourceFile, configuredBridgesConfigFile); + + // Save the file + await sourceFile.saveSync(); + logger.info(`Generated config file`); + + await sourceFile.saveSync(); + + const formatted = await formatSourceFile(tsFilePath); + + // Write the formatted code back to the file + await fs.writeFile(tsFilePath, formatted); + logger.info(`Formatted config file saved to ${tsFilePath}`); + }, + }; +} + +async function storeTypes(sourceFile: SourceFile) { + logger.info(`Storing types...`); + + // RoutingMap + sourceFile.addImportDeclaration({ + namedImports: ['RoutingMap'], + moduleSpecifier: '$libs/bridge', + isTypeOnly: true, + }); + + logger.info('Type stored.'); + return sourceFile; +} + +async function buildBridgeConfig(sourceFile: SourceFile, configuredBridgesConfigFile: ConfiguredBridgesType) { + logger.info('Building bridge config...'); + const routingContractsMap: RoutingMap = {}; + + const bridges: ConfiguredBridgesType = configuredBridgesConfigFile; + + if (!bridges.configuredBridges || !Array.isArray(bridges.configuredBridges)) { + logger.error('configuredBridges is not an array. Please check the content of the configuredBridgesConfigFile.'); + throw new Error(); + } + + bridges.configuredBridges.forEach((item: BridgeConfig) => { + if (!routingContractsMap[item.source]) { + routingContractsMap[item.source] = {}; + } + routingContractsMap[item.source][item.destination] = item.addresses; + }); + + // Add routingContractsMap variable + sourceFile.addVariableStatement({ + declarationKind: VariableDeclarationKind.Const, + declarations: [ + { + name: 'routingContractsMap', + type: 'RoutingMap', + initializer: _formatObjectToTsLiteral(routingContractsMap), + }, + ], + isExported: true, + }); + + logger.info(`Configured ${bridges.configuredBridges.length} bridges.`); + return sourceFile; +} + +const _formatObjectToTsLiteral = (obj: RoutingMap): string => { + const formatValue = (value: any): string => { + if (typeof value === 'string') { + return `"${value}"`; + } + if (typeof value === 'number' || typeof value === 'boolean' || value === null) { + return String(value); + } + if (Array.isArray(value)) { + return `[${value.map(formatValue).join(', ')}]`; + } + if (typeof value === 'object') { + return _formatObjectToTsLiteral(value); + } + return 'undefined'; + }; + + if (Array.isArray(obj)) { + return `[${obj.map(formatValue).join(', ')}]`; + } + + const entries = Object.entries(obj); + const formattedEntries = entries.map(([key, value]) => `${key}: ${formatValue(value)}`); + + return `{${formattedEntries.join(', ')}}`; +}; diff --git a/packages/bridge-ui-v2/scripts/vite-plugins/generateChainConfig.ts b/packages/bridge-ui-v2/scripts/vite-plugins/generateChainConfig.ts new file mode 100644 index 00000000000..bb46dafb2a8 --- /dev/null +++ b/packages/bridge-ui-v2/scripts/vite-plugins/generateChainConfig.ts @@ -0,0 +1,176 @@ +/* eslint-disable no-console */ +import dotenv from 'dotenv'; +import { promises as fs } from 'fs'; +import path from 'path'; +import { Project, SourceFile, VariableDeclarationKind } from 'ts-morph'; + +import configuredChainsSchema from '../../config/schemas/configuredChains.schema.json'; +import type { ChainConfig, ChainConfigMap, ConfiguredChains } from '../../src/libs/chain/types'; +import { decodeBase64ToJson } from './../utils/decodeBase64ToJson'; +import { formatSourceFile } from './../utils/formatSourceFile'; +import { Logger } from './../utils/Logger'; +import { validateJsonAgainstSchema } from './../utils/validateJson'; +dotenv.config(); + +const pluginName = 'generateChainConfig'; +const logger = new Logger(pluginName); + +const currentDir = path.resolve(new URL(import.meta.url).pathname); + +const outputPath = path.join(path.dirname(currentDir), '../../src/generated/chainConfig.ts'); + +export function generateChainConfig() { + return { + name: pluginName, + async buildStart() { + logger.info('Plugin initialized.'); + + if (!process.env.CONFIGURED_CHAINS) { + throw new Error( + 'CONFIGURED_CHAINS is not defined in environment. Make sure to run the export step in the documentation.', + ); + } + // Decode base64 encoded JSON string + const configuredChainsConfigFile = decodeBase64ToJson(process.env.CONFIGURED_CHAINS || ''); + // Valide JSON against schema + const isValid = validateJsonAgainstSchema(configuredChainsConfigFile, configuredChainsSchema); + + if (!isValid) { + throw new Error('encoded configuredBridges.json is not valid.'); + } + + // Path to where you want to save the generated TypeScript file + const tsFilePath = path.resolve(outputPath); + + const project = new Project(); + const notification = `// Generated by ${pluginName} on ${new Date().toLocaleString()}`; + const warning = `// WARNING: Do not change this file manually as it will be overwritten`; + + let sourceFile = project.createSourceFile(tsFilePath, `${notification}\n${warning}\n`, { overwrite: true }); + + // Create the TypeScript content + sourceFile = await storeTypes(sourceFile); + sourceFile = await buildChainConfig(sourceFile, configuredChainsConfigFile); + await sourceFile.saveSync(); + + const formatted = await formatSourceFile(tsFilePath); + + // Write the formatted code back to the file + await fs.writeFile(tsFilePath, formatted); + + logger.info(`Formatted config file saved to ${tsFilePath}`); + }, + }; +} + +async function storeTypes(sourceFile: SourceFile) { + logger.info(`Storing types...`); + + // ChainConfigMap + sourceFile.addImportDeclaration({ + namedImports: ['ChainConfigMap'], + moduleSpecifier: '$libs/chain', + isTypeOnly: true, + }); + + // LayerType + sourceFile.addEnum({ + name: 'LayerType', + isExported: false, + members: [ + { name: 'L1', value: 'L1' }, + { name: 'L2', value: 'L2' }, + { name: 'L3', value: 'L3' }, + ], + }); + + logger.info('Types stored.'); + return sourceFile; +} + +async function buildChainConfig(sourceFile: SourceFile, configuredChainsConfigFile: ConfiguredChains) { + const chainConfig: ChainConfigMap = {}; + + const chains: ConfiguredChains = configuredChainsConfigFile; + + if (!chains.configuredChains || !Array.isArray(chains.configuredChains)) { + console.error('configuredChains is not an array. Please check the content of the configuredChainsConfigFile.'); + throw new Error(); + } + + chains.configuredChains.forEach((item: Record) => { + for (const [chainIdStr, config] of Object.entries(item)) { + const chainId = Number(chainIdStr); + const type = config.type as LayerType; + + // Check for duplicates + if (Object.prototype.hasOwnProperty.call(chainConfig, chainId)) { + logger.error(`Duplicate chainId ${chainId} found in configuredChains.json`); + throw new Error(); + } + + // Validate LayerType + if (!Object.values(LayerType).includes(config.type)) { + logger.error(`Invalid LayerType ${config.type} found for chainId ${chainId}`); + throw new Error(); + } + + chainConfig[chainId] = { ...config, type }; + } + }); + + // Add chainConfig variable to sourceFile + sourceFile.addVariableStatement({ + declarationKind: VariableDeclarationKind.Const, + declarations: [ + { + name: 'chainConfig', + type: 'ChainConfigMap', + initializer: _formatObjectToTsLiteral(chainConfig), + }, + ], + isExported: true, + }); + + logger.info(`Configured ${Object.keys(chainConfig).length} chains.`); + return sourceFile; +} + +enum LayerType { + L1 = 'L1', + L2 = 'L2', + L3 = 'L3', +} + +const _formatObjectToTsLiteral = (obj: ChainConfigMap): string => { + const formatValue = (value: ChainConfig): string => { + if (typeof value === 'string') { + if (typeof value === 'string') { + if (Object.values(LayerType).includes(value as LayerType)) { + return `LayerType.${value}`; // This line is using LayerType as an enum, but it is now a type + } + return `"${value}"`; + } + return `"${value}"`; + } + if (typeof value === 'number' || typeof value === 'boolean' || value === null) { + return String(value); + } + if (Array.isArray(value)) { + return `[${value.map(formatValue).join(', ')}]`; + } + if (typeof value === 'object') { + return _formatObjectToTsLiteral(value); + } + return 'undefined'; + }; + + if (Array.isArray(obj)) { + return `[${obj.map(formatValue).join(', ')}]`; + } + + const entries = Object.entries(obj); + const formattedEntries = entries.map(([key, value]) => `${key}: ${formatValue(value)}`); + + return `{${formattedEntries.join(', ')}}`; +}; diff --git a/packages/bridge-ui-v2/scripts/vite-plugins/generateCustomTokenConfig.ts b/packages/bridge-ui-v2/scripts/vite-plugins/generateCustomTokenConfig.ts new file mode 100644 index 00000000000..2a950ee9568 --- /dev/null +++ b/packages/bridge-ui-v2/scripts/vite-plugins/generateCustomTokenConfig.ts @@ -0,0 +1,120 @@ +import dotenv from 'dotenv'; +import { promises as fs } from 'fs'; +import path from 'path'; +import { Project, SourceFile, VariableDeclarationKind } from 'ts-morph'; + +import configuredChainsSchema from '../../config/schemas/configuredChains.schema.json'; +import type { Token } from '../../src/libs/token/types'; +import { decodeBase64ToJson } from './../utils/decodeBase64ToJson'; +import { formatSourceFile } from './../utils/formatSourceFile'; +import { Logger } from './../utils/Logger'; +import { validateJsonAgainstSchema } from './../utils/validateJson'; + +dotenv.config(); +const pluginName = 'generateTokens'; +const logger = new Logger(pluginName); + +const currentDir = path.resolve(new URL(import.meta.url).pathname); + +const outputPath = path.join(path.dirname(currentDir), '../../src/generated/customTokenConfig.ts'); + +export function generateCustomTokenConfig() { + return { + name: pluginName, + async buildStart() { + logger.info('Plugin initialized.'); + + if (!process.env.CONFIGURED_CUSTOM_TOKEN) { + throw new Error( + 'CONFIGURED_CUSTOM_TOKEN is not defined in environment. Make sure to run the export step in the documentation.', + ); + } + + // Decode base64 encoded JSON string + const configuredTokenConfigFile = decodeBase64ToJson(process.env.CONFIGURED_CUSTOM_TOKEN || ''); + + // Valide JSON against schema + const isValid = validateJsonAgainstSchema(configuredTokenConfigFile, configuredChainsSchema); + + if (!isValid) { + throw new Error('encoded configuredBridges.json is not valid.'); + } + + const tsFilePath = path.resolve(outputPath); + + const project = new Project(); + const notification = `// Generated by ${pluginName} on ${new Date().toLocaleString()}`; + const warning = `// WARNING: Do not change this file manually as it will be overwritten`; + + let sourceFile = project.createSourceFile(tsFilePath, `${notification}\n${warning}\n`, { overwrite: true }); + + // Create the TypeScript content + sourceFile = await storeTypes(sourceFile); + sourceFile = await buildCustomTokenConfig(sourceFile, configuredTokenConfigFile); + + await sourceFile.save(); + + const formatted = await formatSourceFile(tsFilePath); + + // Write the formatted code back to the file + await fs.writeFile(tsFilePath, formatted); + logger.info(`Formatted config file saved to ${tsFilePath}`); + }, + }; +} + +async function storeTypes(sourceFile: SourceFile) { + logger.info(`Storing types...`); + sourceFile.addImportDeclaration({ + namedImports: ['Token'], + moduleSpecifier: '$libs/token', + isTypeOnly: true, + }); + + sourceFile.addImportDeclaration({ + namedImports: ['TokenType'], + moduleSpecifier: '$libs/token', + }); + logger.info('Type stored.'); + return sourceFile; +} + +async function buildCustomTokenConfig(sourceFile: SourceFile, configuredTokenConfigFile: Token[]) { + logger.info('Building custom token config...'); + const tokens: Token[] = configuredTokenConfigFile; + + sourceFile.addVariableStatement({ + declarationKind: VariableDeclarationKind.Const, + declarations: [ + { + name: 'customToken', + initializer: _formatObjectToTsLiteral(tokens), + type: 'Token[]', + }, + ], + isExported: true, + }); + + logger.info(`Configured ${tokens.length} tokens.`); + + return sourceFile; +} + +const _formatObjectToTsLiteral = (tokens: Token[]): string => { + const formatToken = (token: Token): string => { + const entries = Object.entries(token); + const formattedEntries = entries.map(([key, value]) => { + if (key === 'type' && typeof value === 'string') { + return `${key}: TokenType.${value}`; + } + if (typeof value === 'object') { + return `${key}: ${JSON.stringify(value)}`; + } + return `${key}: ${JSON.stringify(value)}`; + }); + + return `{${formattedEntries.join(', ')}}`; + }; + + return `[${tokens.map(formatToken).join(', ')}]`; +}; diff --git a/packages/bridge-ui-v2/scripts/vite-plugins/generateRelayerConfig.ts b/packages/bridge-ui-v2/scripts/vite-plugins/generateRelayerConfig.ts new file mode 100644 index 00000000000..cffe4ebe694 --- /dev/null +++ b/packages/bridge-ui-v2/scripts/vite-plugins/generateRelayerConfig.ts @@ -0,0 +1,116 @@ +/* eslint-disable no-console */ +import dotenv from 'dotenv'; +import { promises as fs } from 'fs'; +import path from 'path'; +import { Project, SourceFile, VariableDeclarationKind } from 'ts-morph'; + +import configuredRelayerSchema from '../../config/schemas/configuredRelayer.schema.json'; +import type { ConfiguredRelayer, RelayerConfig } from '../../src/libs/relayer/types'; +import { decodeBase64ToJson } from './../utils/decodeBase64ToJson'; +import { formatSourceFile } from './../utils/formatSourceFile'; +import { Logger } from './../utils/Logger'; +import { validateJsonAgainstSchema } from './../utils/validateJson'; + +dotenv.config(); + +const pluginName = 'generateRelayerConfig'; +const logger = new Logger(pluginName); + +const currentDir = path.resolve(new URL(import.meta.url).pathname); + +const outputPath = path.join(path.dirname(currentDir), '../../src/generated/relayerConfig.ts'); + +export function generateRelayerConfig() { + return { + name: pluginName, + async buildStart() { + logger.info('Plugin initialized.'); + + if (!process.env.CONFIGURED_RELAYER) { + throw new Error( + 'CONFIGURED_RELAYER is not defined in environment. Make sure to run the export step in the documentation.', + ); + } + + // Decode base64 encoded JSON string + const configuredRelayerConfigFile = decodeBase64ToJson(process.env.CONFIGURED_RELAYER || ''); + + // Valide JSON against schema + const isValid = validateJsonAgainstSchema(configuredRelayerConfigFile, configuredRelayerSchema); + if (!isValid) { + throw new Error('encoded configuredBridges.json is not valid.'); + } + + // Path to where you want to save the generated Typ eScript file + const tsFilePath = path.resolve(outputPath); + + const project = new Project(); + const notification = `// Generated by ${pluginName} on ${new Date().toLocaleString()}`; + const warning = `// WARNING: Do not change this file manually as it will be overwritten`; + + let sourceFile = project.createSourceFile(tsFilePath, `${notification}\n${warning}\n`, { overwrite: true }); + + // Create the TypeScript content + sourceFile = await storeTypesAndEnums(sourceFile); + sourceFile = await buildRelayerConfig(sourceFile, configuredRelayerConfigFile); + + await sourceFile.save(); + + const formatted = await formatSourceFile(tsFilePath); + console.log('formatted', tsFilePath); + + // Write the formatted code back to the file + await fs.writeFile(tsFilePath, formatted); + logger.info(`Formatted config file saved to ${tsFilePath}`); + }, + }; +} + +async function storeTypesAndEnums(sourceFile: SourceFile) { + logger.info(`Storing types...`); + // RelayerConfig + sourceFile.addImportDeclaration({ + namedImports: ['RelayerConfig'], + moduleSpecifier: '$libs/relayer', + isTypeOnly: true, + }); + + logger.info('Types stored.'); + return sourceFile; +} + +async function buildRelayerConfig(sourceFile: SourceFile, configuredRelayerConfigFile: ConfiguredRelayer) { + logger.info('Building relayer config...'); + + const relayer: ConfiguredRelayer = configuredRelayerConfigFile; + + if (!relayer.configuredRelayer || !Array.isArray(relayer.configuredRelayer)) { + console.error('configuredRelayer is not an array. Please check the content of the configuredRelayerConfigFile.'); + throw new Error(); + } + + // Create a constant variable for the configuration + const relayerConfigVariable = { + declarationKind: VariableDeclarationKind.Const, + declarations: [ + { + name: 'configuredRelayer', + initializer: _formatObjectToTsLiteral(relayer.configuredRelayer), + type: 'RelayerConfig[]', + }, + ], + isExported: true, + }; + + sourceFile.addVariableStatement(relayerConfigVariable); + logger.info('Relayer config built.'); + return sourceFile; +} + +const _formatRelayerConfigToTsLiteral = (config: RelayerConfig): string => { + return `{chainIds: [${config.chainIds ? config.chainIds.join(', ') : ''}], url: "${config.url}"}`; +}; + +const _formatObjectToTsLiteral = (relayers: RelayerConfig[]): string => { + return `[${relayers.map(_formatRelayerConfigToTsLiteral).join(', ')}]`; +}; diff --git a/packages/bridge-ui-v2/src/abi/index.ts b/packages/bridge-ui-v2/src/abi/index.ts index 768bfb82069..85da89b3fc5 100644 --- a/packages/bridge-ui-v2/src/abi/index.ts +++ b/packages/bridge-ui-v2/src/abi/index.ts @@ -1,21 +1,17 @@ -// Generated by @wagmi/cli@1.0.0 on 7/6/2023 at 10:51:18 AM +// Generated by @wagmi/cli@1.3.0 on 8/30/2023 at 11:07:31 AM ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Bridge ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// export const bridgeABI = [ - { type: 'error', inputs: [], name: 'B_CANNOT_RECEIVE' }, { type: 'error', inputs: [], name: 'B_DENIED' }, { type: 'error', inputs: [], name: 'B_DENIED' }, { type: 'error', inputs: [], name: 'B_ERC20_CANNOT_RECEIVE' }, - { type: 'error', inputs: [], name: 'B_ETHER_RELEASED_ALREADY' }, - { type: 'error', inputs: [], name: 'B_ETHER_RELEASED_ALREADY' }, { type: 'error', inputs: [], name: 'B_EV_DO_NOT_BURN' }, { type: 'error', inputs: [], name: 'B_EV_NOT_AUTHORIZED' }, { type: 'error', inputs: [], name: 'B_EV_PARAM' }, { type: 'error', inputs: [], name: 'B_FAILED_TRANSFER' }, - { type: 'error', inputs: [], name: 'B_FAILED_TRANSFER' }, { type: 'error', inputs: [], name: 'B_FORBIDDEN' }, { type: 'error', inputs: [], name: 'B_FORBIDDEN' }, { type: 'error', inputs: [], name: 'B_GAS_LIMIT' }, @@ -29,15 +25,15 @@ export const bridgeABI = [ { type: 'error', inputs: [], name: 'B_MSG_NON_RETRIABLE' }, { type: 'error', inputs: [], name: 'B_MSG_NOT_FAILED' }, { type: 'error', inputs: [], name: 'B_MSG_NOT_FAILED' }, + { type: 'error', inputs: [], name: 'B_MSG_RECALLED_ALREADY' }, + { type: 'error', inputs: [], name: 'B_MSG_RECALLED_ALREADY' }, { type: 'error', inputs: [], name: 'B_NULL_APP_ADDR' }, - { type: 'error', inputs: [], name: 'B_OWNER_IS_NULL' }, - { type: 'error', inputs: [], name: 'B_OWNER_IS_NULL' }, - { type: 'error', inputs: [], name: 'B_OWNER_IS_NULL' }, { type: 'error', inputs: [], name: 'B_SIGNAL_NOT_RECEIVED' }, { type: 'error', inputs: [], name: 'B_SIGNAL_NOT_RECEIVED' }, { type: 'error', inputs: [], name: 'B_STATUS_MISMATCH' }, { type: 'error', inputs: [], name: 'B_STATUS_MISMATCH' }, - { type: 'error', inputs: [], name: 'B_WRONG_CHAIN_ID' }, + { type: 'error', inputs: [], name: 'B_USER_IS_NULL' }, + { type: 'error', inputs: [], name: 'B_USER_IS_NULL' }, { type: 'error', inputs: [], name: 'B_WRONG_CHAIN_ID' }, { type: 'error', inputs: [], name: 'B_WRONG_CHAIN_ID' }, { type: 'error', inputs: [], name: 'B_WRONG_CHAIN_ID' }, @@ -58,7 +54,7 @@ export const bridgeABI = [ { type: 'event', anonymous: false, - inputs: [{ name: 'addressManager', internalType: 'address', type: 'address', indexed: false }], + inputs: [{ name: 'addressManager', internalType: 'address', type: 'address', indexed: true }], name: 'AddressManagerChanged', }, { @@ -73,28 +69,20 @@ export const bridgeABI = [ { type: 'event', anonymous: false, - inputs: [ - { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, - { name: 'to', internalType: 'address', type: 'address', indexed: false }, - { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false }, - ], - name: 'EtherReleased', + inputs: [{ name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }], + name: 'Initialized', }, { type: 'event', anonymous: false, - inputs: [ - { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, - { name: 'to', internalType: 'address', type: 'address', indexed: false }, - { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false }, - ], - name: 'EtherReleased', + inputs: [{ name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }], + name: 'MessageRecalled', }, { type: 'event', anonymous: false, - inputs: [{ name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }], - name: 'Initialized', + inputs: [{ name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }], + name: 'MessageRecalled', }, { type: 'event', @@ -107,15 +95,14 @@ export const bridgeABI = [ type: 'tuple', components: [ { name: 'id', internalType: 'uint256', type: 'uint256' }, - { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'from', internalType: 'address', type: 'address' }, { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, - { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'user', internalType: 'address', type: 'address' }, { name: 'to', internalType: 'address', type: 'address' }, - { name: 'refundAddress', internalType: 'address', type: 'address' }, - { name: 'depositValue', internalType: 'uint256', type: 'uint256' }, - { name: 'callValue', internalType: 'uint256', type: 'uint256' }, - { name: 'processingFee', internalType: 'uint256', type: 'uint256' }, + { name: 'refundTo', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + { name: 'fee', internalType: 'uint256', type: 'uint256' }, { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, { name: 'data', internalType: 'bytes', type: 'bytes' }, { name: 'memo', internalType: 'string', type: 'string' }, @@ -136,15 +123,14 @@ export const bridgeABI = [ type: 'tuple', components: [ { name: 'id', internalType: 'uint256', type: 'uint256' }, - { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'from', internalType: 'address', type: 'address' }, { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, - { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'user', internalType: 'address', type: 'address' }, { name: 'to', internalType: 'address', type: 'address' }, - { name: 'refundAddress', internalType: 'address', type: 'address' }, - { name: 'depositValue', internalType: 'uint256', type: 'uint256' }, - { name: 'callValue', internalType: 'uint256', type: 'uint256' }, - { name: 'processingFee', internalType: 'uint256', type: 'uint256' }, + { name: 'refundTo', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + { name: 'fee', internalType: 'uint256', type: 'uint256' }, { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, { name: 'data', internalType: 'bytes', type: 'bytes' }, { name: 'memo', internalType: 'string', type: 'string' }, @@ -187,7 +173,7 @@ export const bridgeABI = [ type: 'event', anonymous: false, inputs: [ - { name: 'sender', internalType: 'address', type: 'address', indexed: false }, + { name: 'sender', internalType: 'address', type: 'address', indexed: true }, { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: false }, ], name: 'SignalSent', @@ -211,7 +197,7 @@ export const bridgeABI = [ type: 'tuple', components: [ { name: 'msgHash', internalType: 'bytes32', type: 'bytes32' }, - { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'from', internalType: 'address', type: 'address' }, { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, ], }, @@ -241,15 +227,14 @@ export const bridgeABI = [ type: 'tuple', components: [ { name: 'id', internalType: 'uint256', type: 'uint256' }, - { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'from', internalType: 'address', type: 'address' }, { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, - { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'user', internalType: 'address', type: 'address' }, { name: 'to', internalType: 'address', type: 'address' }, - { name: 'refundAddress', internalType: 'address', type: 'address' }, - { name: 'depositValue', internalType: 'uint256', type: 'uint256' }, - { name: 'callValue', internalType: 'uint256', type: 'uint256' }, - { name: 'processingFee', internalType: 'uint256', type: 'uint256' }, + { name: 'refundTo', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + { name: 'fee', internalType: 'uint256', type: 'uint256' }, { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, { name: 'data', internalType: 'bytes', type: 'bytes' }, { name: 'memo', internalType: 'string', type: 'string' }, @@ -273,13 +258,6 @@ export const bridgeABI = [ name: 'isDestChainEnabled', outputs: [{ name: 'enabled', internalType: 'bool', type: 'bool' }], }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'msgHash', internalType: 'bytes32', type: 'bytes32' }], - name: 'isEtherReleased', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], - }, { stateMutability: 'view', type: 'function', @@ -291,6 +269,13 @@ export const bridgeABI = [ name: 'isMessageFailed', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'msgHash', internalType: 'bytes32', type: 'bytes32' }], + name: 'isMessageRecalled', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, { stateMutability: 'view', type: 'function', @@ -326,15 +311,14 @@ export const bridgeABI = [ type: 'tuple', components: [ { name: 'id', internalType: 'uint256', type: 'uint256' }, - { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'from', internalType: 'address', type: 'address' }, { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, - { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'user', internalType: 'address', type: 'address' }, { name: 'to', internalType: 'address', type: 'address' }, - { name: 'refundAddress', internalType: 'address', type: 'address' }, - { name: 'depositValue', internalType: 'uint256', type: 'uint256' }, - { name: 'callValue', internalType: 'uint256', type: 'uint256' }, - { name: 'processingFee', internalType: 'uint256', type: 'uint256' }, + { name: 'refundTo', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + { name: 'fee', internalType: 'uint256', type: 'uint256' }, { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, { name: 'data', internalType: 'bytes', type: 'bytes' }, { name: 'memo', internalType: 'string', type: 'string' }, @@ -355,15 +339,14 @@ export const bridgeABI = [ type: 'tuple', components: [ { name: 'id', internalType: 'uint256', type: 'uint256' }, - { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'from', internalType: 'address', type: 'address' }, { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, - { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'user', internalType: 'address', type: 'address' }, { name: 'to', internalType: 'address', type: 'address' }, - { name: 'refundAddress', internalType: 'address', type: 'address' }, - { name: 'depositValue', internalType: 'uint256', type: 'uint256' }, - { name: 'callValue', internalType: 'uint256', type: 'uint256' }, - { name: 'processingFee', internalType: 'uint256', type: 'uint256' }, + { name: 'refundTo', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + { name: 'fee', internalType: 'uint256', type: 'uint256' }, { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, { name: 'data', internalType: 'bytes', type: 'bytes' }, { name: 'memo', internalType: 'string', type: 'string' }, @@ -371,7 +354,7 @@ export const bridgeABI = [ }, { name: 'proof', internalType: 'bytes', type: 'bytes' }, ], - name: 'releaseEther', + name: 'recallMessage', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'renounceOwnership', outputs: [] }, @@ -384,7 +367,7 @@ export const bridgeABI = [ { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, ], name: 'resolve', - outputs: [{ name: '', internalType: 'address payable', type: 'address' }], + outputs: [{ name: 'addr', internalType: 'address payable', type: 'address' }], }, { stateMutability: 'view', @@ -394,7 +377,7 @@ export const bridgeABI = [ { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, ], name: 'resolve', - outputs: [{ name: '', internalType: 'address payable', type: 'address' }], + outputs: [{ name: 'addr', internalType: 'address payable', type: 'address' }], }, { stateMutability: 'nonpayable', @@ -406,15 +389,14 @@ export const bridgeABI = [ type: 'tuple', components: [ { name: 'id', internalType: 'uint256', type: 'uint256' }, - { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'from', internalType: 'address', type: 'address' }, { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, - { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'user', internalType: 'address', type: 'address' }, { name: 'to', internalType: 'address', type: 'address' }, - { name: 'refundAddress', internalType: 'address', type: 'address' }, - { name: 'depositValue', internalType: 'uint256', type: 'uint256' }, - { name: 'callValue', internalType: 'uint256', type: 'uint256' }, - { name: 'processingFee', internalType: 'uint256', type: 'uint256' }, + { name: 'refundTo', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + { name: 'fee', internalType: 'uint256', type: 'uint256' }, { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, { name: 'data', internalType: 'bytes', type: 'bytes' }, { name: 'memo', internalType: 'string', type: 'string' }, @@ -435,15 +417,14 @@ export const bridgeABI = [ type: 'tuple', components: [ { name: 'id', internalType: 'uint256', type: 'uint256' }, - { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'from', internalType: 'address', type: 'address' }, { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, - { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'user', internalType: 'address', type: 'address' }, { name: 'to', internalType: 'address', type: 'address' }, - { name: 'refundAddress', internalType: 'address', type: 'address' }, - { name: 'depositValue', internalType: 'uint256', type: 'uint256' }, - { name: 'callValue', internalType: 'uint256', type: 'uint256' }, - { name: 'processingFee', internalType: 'uint256', type: 'uint256' }, + { name: 'refundTo', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + { name: 'fee', internalType: 'uint256', type: 'uint256' }, { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, { name: 'data', internalType: 'bytes', type: 'bytes' }, { name: 'memo', internalType: 'string', type: 'string' }, @@ -471,10 +452,31 @@ export const bridgeABI = [ ] as const; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// TokenVault +// EtherVault ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const tokenVaultABI = [ +export const etherVaultABI = [ + { type: 'error', inputs: [], name: 'B_DENIED' }, + { type: 'error', inputs: [], name: 'B_ERC20_CANNOT_RECEIVE' }, + { type: 'error', inputs: [], name: 'B_EV_DO_NOT_BURN' }, + { type: 'error', inputs: [], name: 'B_EV_NOT_AUTHORIZED' }, + { type: 'error', inputs: [], name: 'B_EV_PARAM' }, + { type: 'error', inputs: [], name: 'B_FAILED_TRANSFER' }, + { type: 'error', inputs: [], name: 'B_FORBIDDEN' }, + { type: 'error', inputs: [], name: 'B_GAS_LIMIT' }, + { type: 'error', inputs: [], name: 'B_INCORRECT_VALUE' }, + { type: 'error', inputs: [], name: 'B_INIT_PARAM_ERROR' }, + { type: 'error', inputs: [], name: 'B_MSG_HASH_NULL' }, + { type: 'error', inputs: [], name: 'B_MSG_NON_RETRIABLE' }, + { type: 'error', inputs: [], name: 'B_MSG_NOT_FAILED' }, + { type: 'error', inputs: [], name: 'B_MSG_RECALLED_ALREADY' }, + { type: 'error', inputs: [], name: 'B_NULL_APP_ADDR' }, + { type: 'error', inputs: [], name: 'B_SIGNAL_NOT_RECEIVED' }, + { type: 'error', inputs: [], name: 'B_STATUS_MISMATCH' }, + { type: 'error', inputs: [], name: 'B_USER_IS_NULL' }, + { type: 'error', inputs: [], name: 'B_WRONG_CHAIN_ID' }, + { type: 'error', inputs: [], name: 'B_WRONG_TO_ADDRESS' }, + { type: 'error', inputs: [], name: 'B_ZERO_SIGNAL' }, { type: 'error', inputs: [], name: 'RESOLVER_DENIED' }, { type: 'error', inputs: [], name: 'RESOLVER_INVALID_ADDR' }, { @@ -485,82 +487,29 @@ export const tokenVaultABI = [ ], name: 'RESOLVER_ZERO_ADDR', }, - { type: 'error', inputs: [], name: 'TOKENVAULT_CANONICAL_TOKEN_NOT_FOUND' }, - { type: 'error', inputs: [], name: 'TOKENVAULT_INVALID_AMOUNT' }, - { type: 'error', inputs: [], name: 'TOKENVAULT_INVALID_OWNER' }, - { type: 'error', inputs: [], name: 'TOKENVAULT_INVALID_SENDER' }, - { type: 'error', inputs: [], name: 'TOKENVAULT_INVALID_SRC_CHAIN_ID' }, - { type: 'error', inputs: [], name: 'TOKENVAULT_INVALID_TO' }, - { type: 'error', inputs: [], name: 'TOKENVAULT_INVALID_TOKEN' }, - { type: 'error', inputs: [], name: 'TOKENVAULT_INVALID_VALUE' }, - { type: 'error', inputs: [], name: 'TOKENVAULT_MESSAGE_NOT_FAILED' }, { type: 'event', anonymous: false, - inputs: [{ name: 'addressManager', internalType: 'address', type: 'address', indexed: false }], + inputs: [{ name: 'addressManager', internalType: 'address', type: 'address', indexed: true }], name: 'AddressManagerChanged', }, { type: 'event', anonymous: false, inputs: [ - { name: 'srcChainId', internalType: 'uint256', type: 'uint256', indexed: true }, - { name: 'canonicalToken', internalType: 'address', type: 'address', indexed: true }, - { name: 'bridgedToken', internalType: 'address', type: 'address', indexed: true }, - { name: 'canonicalTokenSymbol', internalType: 'string', type: 'string', indexed: false }, - { name: 'canonicalTokenName', internalType: 'string', type: 'string', indexed: false }, - { name: 'canonicalTokenDecimal', internalType: 'uint8', type: 'uint8', indexed: false }, - ], - name: 'BridgedERC20Deployed', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, - { name: 'from', internalType: 'address', type: 'address', indexed: true }, - { name: 'to', internalType: 'address', type: 'address', indexed: true }, - { name: 'srcChainId', internalType: 'uint256', type: 'uint256', indexed: false }, - { name: 'token', internalType: 'address', type: 'address', indexed: false }, - { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false }, - ], - name: 'ERC20Received', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, - { name: 'from', internalType: 'address', type: 'address', indexed: true }, - { name: 'token', internalType: 'address', type: 'address', indexed: false }, - { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false }, - ], - name: 'ERC20Released', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, - { name: 'from', internalType: 'address', type: 'address', indexed: true }, - { name: 'to', internalType: 'address', type: 'address', indexed: true }, - { name: 'destChainId', internalType: 'uint256', type: 'uint256', indexed: false }, - { name: 'token', internalType: 'address', type: 'address', indexed: false }, - { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'addr', internalType: 'address', type: 'address', indexed: true }, + { name: 'authorized', internalType: 'bool', type: 'bool', indexed: false }, ], - name: 'ERC20Sent', + name: 'Authorized', }, { type: 'event', anonymous: false, inputs: [ - { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, - { name: 'from', internalType: 'address', type: 'address', indexed: true }, { name: 'to', internalType: 'address', type: 'address', indexed: true }, - { name: 'destChainId', internalType: 'uint256', type: 'uint256', indexed: false }, { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false }, ], - name: 'EtherSent', + name: 'EtherReleased', }, { type: 'event', @@ -585,27 +534,14 @@ export const tokenVaultABI = [ outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'bridgedAddress', internalType: 'address', type: 'address' }], - name: 'bridgedToCanonical', - outputs: [ - { name: 'chainId', internalType: 'uint256', type: 'uint256' }, - { name: 'addr', internalType: 'address', type: 'address' }, - { name: 'decimals', internalType: 'uint8', type: 'uint8' }, - { name: 'symbol', internalType: 'string', type: 'string' }, - { name: 'name', internalType: 'string', type: 'string' }, - ], - }, - { - stateMutability: 'view', + stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: 'chainId', internalType: 'uint256', type: 'uint256' }, - { name: 'canonicalAddress', internalType: 'address', type: 'address' }, + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'authorized', internalType: 'bool', type: 'bool' }, ], - name: 'canonicalToBridged', - outputs: [{ name: 'bridgedAddress', internalType: 'address', type: 'address' }], + name: 'authorize', + outputs: [], }, { stateMutability: 'nonpayable', @@ -617,19 +553,9 @@ export const tokenVaultABI = [ { stateMutability: 'view', type: 'function', - inputs: [{ name: 'tokenAddress', internalType: 'address', type: 'address' }], - name: 'isBridgedToken', - outputs: [{ name: 'isBridged', internalType: 'bool', type: 'bool' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'msgHash', internalType: 'bytes32', type: 'bytes32' }], - name: 'messageDeposits', - outputs: [ - { name: 'token', internalType: 'address', type: 'address' }, - { name: 'amount', internalType: 'uint256', type: 'uint256' }, - ], + inputs: [{ name: 'addr', internalType: 'address', type: 'address' }], + name: 'isAuthorized', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { stateMutability: 'view', @@ -642,52 +568,17 @@ export const tokenVaultABI = [ stateMutability: 'nonpayable', type: 'function', inputs: [ - { - name: 'canonicalToken', - internalType: 'struct TokenVault.CanonicalERC20', - type: 'tuple', - components: [ - { name: 'chainId', internalType: 'uint256', type: 'uint256' }, - { name: 'addr', internalType: 'address', type: 'address' }, - { name: 'decimals', internalType: 'uint8', type: 'uint8' }, - { name: 'symbol', internalType: 'string', type: 'string' }, - { name: 'name', internalType: 'string', type: 'string' }, - ], - }, - { name: 'from', internalType: 'address', type: 'address' }, - { name: 'to', internalType: 'address', type: 'address' }, + { name: 'recipient', internalType: 'address', type: 'address' }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], - name: 'receiveERC20', + name: 'releaseEther', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', - inputs: [ - { - name: 'message', - internalType: 'struct IBridge.Message', - type: 'tuple', - components: [ - { name: 'id', internalType: 'uint256', type: 'uint256' }, - { name: 'sender', internalType: 'address', type: 'address' }, - { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, - { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, - { name: 'owner', internalType: 'address', type: 'address' }, - { name: 'to', internalType: 'address', type: 'address' }, - { name: 'refundAddress', internalType: 'address', type: 'address' }, - { name: 'depositValue', internalType: 'uint256', type: 'uint256' }, - { name: 'callValue', internalType: 'uint256', type: 'uint256' }, - { name: 'processingFee', internalType: 'uint256', type: 'uint256' }, - { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, - { name: 'data', internalType: 'bytes', type: 'bytes' }, - { name: 'memo', internalType: 'string', type: 'string' }, - ], - }, - { name: 'proof', internalType: 'bytes', type: 'bytes' }, - ], - name: 'releaseERC20', + inputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }], + name: 'releaseEther', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'renounceOwnership', outputs: [] }, @@ -700,7 +591,7 @@ export const tokenVaultABI = [ { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, ], name: 'resolve', - outputs: [{ name: '', internalType: 'address payable', type: 'address' }], + outputs: [{ name: 'addr', internalType: 'address payable', type: 'address' }], }, { stateMutability: 'view', @@ -710,23 +601,7 @@ export const tokenVaultABI = [ { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, ], name: 'resolve', - outputs: [{ name: '', internalType: 'address payable', type: 'address' }], - }, - { - stateMutability: 'payable', - type: 'function', - inputs: [ - { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, - { name: 'to', internalType: 'address', type: 'address' }, - { name: 'token', internalType: 'address', type: 'address' }, - { name: 'amount', internalType: 'uint256', type: 'uint256' }, - { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, - { name: 'processingFee', internalType: 'uint256', type: 'uint256' }, - { name: 'refundAddress', internalType: 'address', type: 'address' }, - { name: 'memo', internalType: 'string', type: 'string' }, - ], - name: 'sendERC20', - outputs: [], + outputs: [{ name: 'addr', internalType: 'address payable', type: 'address' }], }, { stateMutability: 'nonpayable', @@ -742,207 +617,1652 @@ export const tokenVaultABI = [ name: 'transferOwnership', outputs: [], }, + { stateMutability: 'payable', type: 'receive' }, ] as const; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// CrossChainSync +// ERC20Vault ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const crossChainSyncABI = [ +export const erc20VaultABI = [ + { type: 'error', inputs: [], name: 'RESOLVER_DENIED' }, + { type: 'error', inputs: [], name: 'RESOLVER_INVALID_ADDR' }, { - type: 'event', - anonymous: false, + type: 'error', inputs: [ - { name: 'srcHeight', internalType: 'uint256', type: 'uint256', indexed: true }, - { name: 'blockHash', internalType: 'bytes32', type: 'bytes32', indexed: false }, - { name: 'signalRoot', internalType: 'bytes32', type: 'bytes32', indexed: false }, + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, ], - name: 'CrossChainSynced', - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'number', internalType: 'uint256', type: 'uint256' }], - name: 'getCrossChainBlockHash', - outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + name: 'RESOLVER_ZERO_ADDR', }, + { type: 'error', inputs: [], name: 'VAULT_INVALID_AMOUNT' }, + { type: 'error', inputs: [], name: 'VAULT_INVALID_FROM' }, + { type: 'error', inputs: [], name: 'VAULT_INVALID_SRC_CHAIN_ID' }, + { type: 'error', inputs: [], name: 'VAULT_INVALID_TO' }, + { type: 'error', inputs: [], name: 'VAULT_INVALID_TOKEN' }, + { type: 'error', inputs: [], name: 'VAULT_INVALID_USER' }, + { type: 'error', inputs: [], name: 'VAULT_MESSAGE_NOT_FAILED' }, + { type: 'error', inputs: [], name: 'VAULT_MESSAGE_RELEASED_ALREADY' }, { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'number', internalType: 'uint256', type: 'uint256' }], - name: 'getCrossChainSignalRoot', - outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + type: 'event', + anonymous: false, + inputs: [{ name: 'addressManager', internalType: 'address', type: 'address', indexed: true }], + name: 'AddressManagerChanged', }, -] as const; - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// FreeMintERC20 -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const freeMintErc20ABI = [ { - stateMutability: 'nonpayable', - type: 'constructor', + type: 'event', + anonymous: false, inputs: [ - { name: 'name', internalType: 'string', type: 'string' }, - { name: 'symbol', internalType: 'string', type: 'string' }, + { name: 'srcChainId', internalType: 'uint256', type: 'uint256', indexed: true }, + { name: 'ctoken', internalType: 'address', type: 'address', indexed: true }, + { name: 'btoken', internalType: 'address', type: 'address', indexed: true }, + { name: 'ctokenSymbol', internalType: 'string', type: 'string', indexed: false }, + { name: 'ctokenName', internalType: 'string', type: 'string', indexed: false }, + { name: 'ctokenDecimal', internalType: 'uint8', type: 'uint8', indexed: false }, ], + name: 'BridgedTokenDeployed', + }, + { + type: 'event', + anonymous: false, + inputs: [{ name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }], + name: 'Initialized', }, - { type: 'error', inputs: [], name: 'HasMinted' }, { type: 'event', anonymous: false, inputs: [ - { name: 'owner', internalType: 'address', type: 'address', indexed: true }, - { name: 'spender', internalType: 'address', type: 'address', indexed: true }, - { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true }, + { name: 'newOwner', internalType: 'address', type: 'address', indexed: true }, ], - name: 'Approval', + name: 'OwnershipTransferred', }, { type: 'event', anonymous: false, inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, { name: 'from', internalType: 'address', type: 'address', indexed: true }, { name: 'to', internalType: 'address', type: 'address', indexed: true }, - { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'srcChainId', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'token', internalType: 'address', type: 'address', indexed: false }, + { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false }, ], - name: 'Transfer', + name: 'TokenReceived', }, { - stateMutability: 'view', - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'owner', internalType: 'address', type: 'address' }, - { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'token', internalType: 'address', type: 'address', indexed: false }, + { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false }, ], - name: 'allowance', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'TokenReleased', }, { - stateMutability: 'nonpayable', - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'spender', internalType: 'address', type: 'address' }, - { name: 'amount', internalType: 'uint256', type: 'uint256' }, + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { name: 'destChainId', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'token', internalType: 'address', type: 'address', indexed: false }, + { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false }, ], - name: 'approve', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'account', internalType: 'address', type: 'address' }], - name: 'balanceOf', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'TokenSent', }, { stateMutability: 'view', type: 'function', inputs: [], - name: 'decimals', - outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], + name: 'addressManager', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: 'nonpayable', + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'bridgedToCanonical', + outputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'decimals', internalType: 'uint8', type: 'uint8' }, + { name: 'symbol', internalType: 'string', type: 'string' }, + { name: 'name', internalType: 'string', type: 'string' }, + ], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: '', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'address', type: 'address' }, + ], + name: 'canonicalToBridged', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'addressManager', internalType: 'address', type: 'address' }], + name: 'init', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'isBridgedToken', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'payable', + type: 'function', + inputs: [ + { + name: 'message', + internalType: 'struct IBridge.Message', + type: 'tuple', + components: [ + { name: 'id', internalType: 'uint256', type: 'uint256' }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'user', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'refundTo', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + { name: 'fee', internalType: 'uint256', type: 'uint256' }, + { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, + { name: 'memo', internalType: 'string', type: 'string' }, + ], + }, + ], + name: 'onMessageRecalled', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'payable', + type: 'function', + inputs: [ + { + name: 'ctoken', + internalType: 'struct ERC20Vault.CanonicalERC20', + type: 'tuple', + components: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'decimals', internalType: 'uint8', type: 'uint8' }, + { name: 'symbol', internalType: 'string', type: 'string' }, + { name: 'name', internalType: 'string', type: 'string' }, + ], + }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'receiveToken', + outputs: [], + }, + { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'renounceOwnership', outputs: [] }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, + ], + name: 'resolve', + outputs: [{ name: 'addr', internalType: 'address payable', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, + ], + name: 'resolve', + outputs: [{ name: 'addr', internalType: 'address payable', type: 'address' }], + }, + { + stateMutability: 'payable', + type: 'function', + inputs: [ + { + name: 'opt', + internalType: 'struct ERC20Vault.BridgeTransferOp', + type: 'tuple', + components: [ + { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'token', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, + { name: 'fee', internalType: 'uint256', type: 'uint256' }, + { name: 'refundTo', internalType: 'address', type: 'address' }, + { name: 'memo', internalType: 'string', type: 'string' }, + ], + }, + ], + name: 'sendToken', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newAddressManager', internalType: 'address', type: 'address' }], + name: 'setAddressManager', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }], + name: 'supportsInterface', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], + name: 'transferOwnership', + outputs: [], + }, +] as const; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// ERC721Vault +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const erc721VaultABI = [ + { type: 'error', inputs: [], name: 'RESOLVER_DENIED' }, + { type: 'error', inputs: [], name: 'RESOLVER_INVALID_ADDR' }, + { + type: 'error', + inputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + ], + name: 'RESOLVER_ZERO_ADDR', + }, + { type: 'error', inputs: [], name: 'VAULT_INTERFACE_NOT_SUPPORTED' }, + { type: 'error', inputs: [], name: 'VAULT_INVALID_AMOUNT' }, + { type: 'error', inputs: [], name: 'VAULT_INVALID_FROM' }, + { type: 'error', inputs: [], name: 'VAULT_INVALID_SRC_CHAIN_ID' }, + { type: 'error', inputs: [], name: 'VAULT_INVALID_TO' }, + { type: 'error', inputs: [], name: 'VAULT_INVALID_TOKEN' }, + { type: 'error', inputs: [], name: 'VAULT_INVALID_USER' }, + { type: 'error', inputs: [], name: 'VAULT_MAX_TOKEN_PER_TXN_EXCEEDED' }, + { type: 'error', inputs: [], name: 'VAULT_MESSAGE_NOT_FAILED' }, + { type: 'error', inputs: [], name: 'VAULT_MESSAGE_RELEASED_ALREADY' }, + { type: 'error', inputs: [], name: 'VAULT_TOKEN_ARRAY_MISMATCH' }, + { + type: 'event', + anonymous: false, + inputs: [{ name: 'addressManager', internalType: 'address', type: 'address', indexed: true }], + name: 'AddressManagerChanged', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256', indexed: true }, + { name: 'ctoken', internalType: 'address', type: 'address', indexed: true }, + { name: 'btoken', internalType: 'address', type: 'address', indexed: true }, + { name: 'ctokenSymbol', internalType: 'string', type: 'string', indexed: false }, + { name: 'ctokenName', internalType: 'string', type: 'string', indexed: false }, + ], + name: 'BridgedTokenDeployed', + }, + { + type: 'event', + anonymous: false, + inputs: [{ name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }], + name: 'Initialized', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true }, + { name: 'newOwner', internalType: 'address', type: 'address', indexed: true }, + ], + name: 'OwnershipTransferred', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { name: 'srcChainId', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'token', internalType: 'address', type: 'address', indexed: false }, + { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]', indexed: false }, + { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]', indexed: false }, + ], + name: 'TokenReceived', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'token', internalType: 'address', type: 'address', indexed: false }, + { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]', indexed: false }, + { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]', indexed: false }, + ], + name: 'TokenReleased', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { name: 'destChainId', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'token', internalType: 'address', type: 'address', indexed: false }, + { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]', indexed: false }, + { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]', indexed: false }, + ], + name: 'TokenSent', + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'ERC1155_INTERFACE_ID', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'ERC721_INTERFACE_ID', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'addressManager', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'bridgedToCanonical', + outputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'symbol', internalType: 'string', type: 'string' }, + { name: 'name', internalType: 'string', type: 'string' }, + ], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: '', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'address', type: 'address' }, + ], + name: 'canonicalToBridged', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'addressManager', internalType: 'address', type: 'address' }], + name: 'init', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'isBridgedToken', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'pure', + type: 'function', + inputs: [ + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'bytes', type: 'bytes' }, + ], + name: 'onERC721Received', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'payable', + type: 'function', + inputs: [ + { + name: 'message', + internalType: 'struct IBridge.Message', + type: 'tuple', + components: [ + { name: 'id', internalType: 'uint256', type: 'uint256' }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'user', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'refundTo', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + { name: 'fee', internalType: 'uint256', type: 'uint256' }, + { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, + { name: 'memo', internalType: 'string', type: 'string' }, + ], + }, + ], + name: 'onMessageRecalled', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'payable', + type: 'function', + inputs: [ + { + name: 'ctoken', + internalType: 'struct BaseNFTVault.CanonicalNFT', + type: 'tuple', + components: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'symbol', internalType: 'string', type: 'string' }, + { name: 'name', internalType: 'string', type: 'string' }, + ], + }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' }, + ], + name: 'receiveToken', + outputs: [], + }, + { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'renounceOwnership', outputs: [] }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, + ], + name: 'resolve', + outputs: [{ name: 'addr', internalType: 'address payable', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, + ], + name: 'resolve', + outputs: [{ name: 'addr', internalType: 'address payable', type: 'address' }], + }, + { + stateMutability: 'payable', + type: 'function', + inputs: [ + { + name: 'opt', + internalType: 'struct BaseNFTVault.BridgeTransferOp', + type: 'tuple', + components: [ + { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'token', internalType: 'address', type: 'address' }, + { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' }, + { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' }, + { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, + { name: 'fee', internalType: 'uint256', type: 'uint256' }, + { name: 'refundTo', internalType: 'address', type: 'address' }, + { name: 'memo', internalType: 'string', type: 'string' }, + ], + }, + ], + name: 'sendToken', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newAddressManager', internalType: 'address', type: 'address' }], + name: 'setAddressManager', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }], + name: 'supportsInterface', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], + name: 'transferOwnership', + outputs: [], + }, +] as const; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// ERC1155Vault +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const erc1155VaultABI = [ + { type: 'error', inputs: [], name: 'RESOLVER_DENIED' }, + { type: 'error', inputs: [], name: 'RESOLVER_INVALID_ADDR' }, + { + type: 'error', + inputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + ], + name: 'RESOLVER_ZERO_ADDR', + }, + { type: 'error', inputs: [], name: 'VAULT_INTERFACE_NOT_SUPPORTED' }, + { type: 'error', inputs: [], name: 'VAULT_INVALID_AMOUNT' }, + { type: 'error', inputs: [], name: 'VAULT_INVALID_FROM' }, + { type: 'error', inputs: [], name: 'VAULT_INVALID_SRC_CHAIN_ID' }, + { type: 'error', inputs: [], name: 'VAULT_INVALID_TO' }, + { type: 'error', inputs: [], name: 'VAULT_INVALID_TOKEN' }, + { type: 'error', inputs: [], name: 'VAULT_INVALID_USER' }, + { type: 'error', inputs: [], name: 'VAULT_MAX_TOKEN_PER_TXN_EXCEEDED' }, + { type: 'error', inputs: [], name: 'VAULT_MESSAGE_NOT_FAILED' }, + { type: 'error', inputs: [], name: 'VAULT_MESSAGE_RELEASED_ALREADY' }, + { type: 'error', inputs: [], name: 'VAULT_TOKEN_ARRAY_MISMATCH' }, + { + type: 'event', + anonymous: false, + inputs: [{ name: 'addressManager', internalType: 'address', type: 'address', indexed: true }], + name: 'AddressManagerChanged', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256', indexed: true }, + { name: 'ctoken', internalType: 'address', type: 'address', indexed: true }, + { name: 'btoken', internalType: 'address', type: 'address', indexed: true }, + { name: 'ctokenSymbol', internalType: 'string', type: 'string', indexed: false }, + { name: 'ctokenName', internalType: 'string', type: 'string', indexed: false }, + ], + name: 'BridgedTokenDeployed', + }, + { + type: 'event', + anonymous: false, + inputs: [{ name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }], + name: 'Initialized', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true }, + { name: 'newOwner', internalType: 'address', type: 'address', indexed: true }, + ], + name: 'OwnershipTransferred', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { name: 'srcChainId', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'token', internalType: 'address', type: 'address', indexed: false }, + { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]', indexed: false }, + { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]', indexed: false }, + ], + name: 'TokenReceived', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'token', internalType: 'address', type: 'address', indexed: false }, + { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]', indexed: false }, + { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]', indexed: false }, + ], + name: 'TokenReleased', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { name: 'destChainId', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'token', internalType: 'address', type: 'address', indexed: false }, + { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]', indexed: false }, + { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]', indexed: false }, + ], + name: 'TokenSent', + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'ERC1155_INTERFACE_ID', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'ERC721_INTERFACE_ID', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'addressManager', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'bridgedToCanonical', + outputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'symbol', internalType: 'string', type: 'string' }, + { name: 'name', internalType: 'string', type: 'string' }, + ], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: '', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'address', type: 'address' }, + ], + name: 'canonicalToBridged', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'addressManager', internalType: 'address', type: 'address' }], + name: 'init', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'isBridgedToken', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'pure', + type: 'function', + inputs: [ + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'uint256[]', type: 'uint256[]' }, + { name: '', internalType: 'uint256[]', type: 'uint256[]' }, + { name: '', internalType: 'bytes', type: 'bytes' }, + ], + name: 'onERC1155BatchReceived', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'pure', + type: 'function', + inputs: [ + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'bytes', type: 'bytes' }, + ], + name: 'onERC1155Received', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'payable', + type: 'function', + inputs: [ + { + name: 'message', + internalType: 'struct IBridge.Message', + type: 'tuple', + components: [ + { name: 'id', internalType: 'uint256', type: 'uint256' }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'user', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'refundTo', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + { name: 'fee', internalType: 'uint256', type: 'uint256' }, + { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, + { name: 'memo', internalType: 'string', type: 'string' }, + ], + }, + ], + name: 'onMessageRecalled', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'payable', + type: 'function', + inputs: [ + { + name: 'ctoken', + internalType: 'struct BaseNFTVault.CanonicalNFT', + type: 'tuple', + components: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'symbol', internalType: 'string', type: 'string' }, + { name: 'name', internalType: 'string', type: 'string' }, + ], + }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' }, + { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' }, + ], + name: 'receiveToken', + outputs: [], + }, + { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'renounceOwnership', outputs: [] }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, + ], + name: 'resolve', + outputs: [{ name: 'addr', internalType: 'address payable', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, + ], + name: 'resolve', + outputs: [{ name: 'addr', internalType: 'address payable', type: 'address' }], + }, + { + stateMutability: 'payable', + type: 'function', + inputs: [ + { + name: 'opt', + internalType: 'struct BaseNFTVault.BridgeTransferOp', + type: 'tuple', + components: [ + { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'token', internalType: 'address', type: 'address' }, + { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' }, + { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' }, + { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, + { name: 'fee', internalType: 'uint256', type: 'uint256' }, + { name: 'refundTo', internalType: 'address', type: 'address' }, + { name: 'memo', internalType: 'string', type: 'string' }, + ], + }, + ], + name: 'sendToken', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newAddressManager', internalType: 'address', type: 'address' }], + name: 'setAddressManager', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }], + name: 'supportsInterface', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], + name: 'transferOwnership', + outputs: [], + }, +] as const; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// CrossChainSync +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const crossChainSyncABI = [ + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'srcHeight', internalType: 'uint64', type: 'uint64', indexed: true }, + { name: 'blockHash', internalType: 'bytes32', type: 'bytes32', indexed: false }, + { name: 'signalRoot', internalType: 'bytes32', type: 'bytes32', indexed: false }, + ], + name: 'CrossChainSynced', + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'blockId', internalType: 'uint64', type: 'uint64' }], + name: 'getCrossChainBlockHash', + outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'blockId', internalType: 'uint64', type: 'uint64' }], + name: 'getCrossChainSignalRoot', + outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + }, +] as const; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// FreeMintERC20 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const freeMintErc20ABI = [ + { + stateMutability: 'nonpayable', + type: 'constructor', + inputs: [ + { name: 'name', internalType: 'string', type: 'string' }, + { name: 'symbol', internalType: 'string', type: 'string' }, + ], + }, + { type: 'error', inputs: [], name: 'HasMinted' }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'owner', internalType: 'address', type: 'address', indexed: true }, + { name: 'spender', internalType: 'address', type: 'address', indexed: true }, + { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'Approval', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'Transfer', + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'spender', internalType: 'address', type: 'address' }, + ], + name: 'allowance', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'approve', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'balanceOf', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'decimals', + outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'subtractedValue', internalType: 'uint256', type: 'uint256' }, + ], + name: 'decreaseAllowance', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'addedValue', internalType: 'uint256', type: 'uint256' }, + ], + name: 'increaseAllowance', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'to', internalType: 'address', type: 'address' }], + name: 'mint', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'minter', internalType: 'address', type: 'address' }], + name: 'minters', + outputs: [{ name: 'hasMinted', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'name', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'symbol', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'totalSupply', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'transfer', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'transferFrom', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, +] as const; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Erc20 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const erc20ABI = [ + { type: 'error', inputs: [], name: 'BRIDGED_TOKEN_CANNOT_RECEIVE' }, + { type: 'error', inputs: [], name: 'BRIDGED_TOKEN_INVALID_PARAMS' }, + { type: 'error', inputs: [], name: 'RESOLVER_DENIED' }, + { type: 'error', inputs: [], name: 'RESOLVER_INVALID_ADDR' }, + { + type: 'error', + inputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + ], + name: 'RESOLVER_ZERO_ADDR', + }, + { + type: 'event', + anonymous: false, + inputs: [{ name: 'addressManager', internalType: 'address', type: 'address', indexed: true }], + name: 'AddressManagerChanged', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'owner', internalType: 'address', type: 'address', indexed: true }, + { name: 'spender', internalType: 'address', type: 'address', indexed: true }, + { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'Approval', + }, + { + type: 'event', + anonymous: false, + inputs: [{ name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }], + name: 'Initialized', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true }, + { name: 'newOwner', internalType: 'address', type: 'address', indexed: true }, + ], + name: 'OwnershipTransferred', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'Transfer', + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'addressManager', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'spender', internalType: 'address', type: 'address' }, + ], + name: 'allowance', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'approve', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'balanceOf', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'account', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'burn', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'canonical', + outputs: [ + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'uint256', type: 'uint256' }, + ], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'decimals', + outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'subtractedValue', internalType: 'uint256', type: 'uint256' }, + ], + name: 'decreaseAllowance', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'addedValue', internalType: 'uint256', type: 'uint256' }, + ], + name: 'increaseAllowance', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: '_addressManager', internalType: 'address', type: 'address' }, + { name: '_srcToken', internalType: 'address', type: 'address' }, + { name: '_srcChainId', internalType: 'uint256', type: 'uint256' }, + { name: '_decimals', internalType: 'uint8', type: 'uint8' }, + { name: '_symbol', internalType: 'string', type: 'string' }, + { name: '_name', internalType: 'string', type: 'string' }, + ], + name: 'init', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'account', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'mint', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'name', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'renounceOwnership', outputs: [] }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, + ], + name: 'resolve', + outputs: [{ name: 'addr', internalType: 'address payable', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, + ], + name: 'resolve', + outputs: [{ name: 'addr', internalType: 'address payable', type: 'address' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newAddressManager', internalType: 'address', type: 'address' }], + name: 'setAddressManager', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'srcChainId', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'srcToken', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'symbol', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'totalSupply', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'transfer', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'transferFrom', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], + name: 'transferOwnership', + outputs: [], + }, +] as const; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Erc721 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const erc721ABI = [ + { type: 'error', inputs: [], name: 'BRIDGED_TOKEN_CANNOT_RECEIVE' }, + { type: 'error', inputs: [], name: 'BRIDGED_TOKEN_INVALID_BURN' }, + { type: 'error', inputs: [], name: 'BRIDGED_TOKEN_INVALID_PARAMS' }, + { type: 'error', inputs: [], name: 'RESOLVER_DENIED' }, + { type: 'error', inputs: [], name: 'RESOLVER_INVALID_ADDR' }, + { + type: 'error', + inputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + ], + name: 'RESOLVER_ZERO_ADDR', + }, + { + type: 'event', + anonymous: false, + inputs: [{ name: 'addressManager', internalType: 'address', type: 'address', indexed: true }], + name: 'AddressManagerChanged', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'owner', internalType: 'address', type: 'address', indexed: true }, + { name: 'approved', internalType: 'address', type: 'address', indexed: true }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256', indexed: true }, + ], + name: 'Approval', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'owner', internalType: 'address', type: 'address', indexed: true }, + { name: 'operator', internalType: 'address', type: 'address', indexed: true }, + { name: 'approved', internalType: 'bool', type: 'bool', indexed: false }, + ], + name: 'ApprovalForAll', + }, + { + type: 'event', + anonymous: false, + inputs: [{ name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }], + name: 'Initialized', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true }, + { name: 'newOwner', internalType: 'address', type: 'address', indexed: true }, + ], + name: 'OwnershipTransferred', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256', indexed: true }, + ], + name: 'Transfer', + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'addressManager', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + ], + name: 'approve', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'owner', internalType: 'address', type: 'address' }], + name: 'balanceOf', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'account', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + ], + name: 'burn', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], + name: 'getApproved', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: '_addressManager', internalType: 'address', type: 'address' }, + { name: '_srcToken', internalType: 'address', type: 'address' }, + { name: '_srcChainId', internalType: 'uint256', type: 'uint256' }, + { name: '_symbol', internalType: 'string', type: 'string' }, + { name: '_name', internalType: 'string', type: 'string' }, + ], + name: 'init', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'operator', internalType: 'address', type: 'address' }, + ], + name: 'isApprovedForAll', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'account', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + ], + name: 'mint', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'name', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], + name: 'ownerOf', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'renounceOwnership', outputs: [] }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, + ], + name: 'resolve', + outputs: [{ name: 'addr', internalType: 'address payable', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, + ], + name: 'resolve', + outputs: [{ name: 'addr', internalType: 'address payable', type: 'address' }], + }, + { + stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: 'spender', internalType: 'address', type: 'address' }, - { name: 'subtractedValue', internalType: 'uint256', type: 'uint256' }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, ], - name: 'decreaseAllowance', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + name: 'safeTransferFrom', + outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: 'spender', internalType: 'address', type: 'address' }, - { name: 'addedValue', internalType: 'uint256', type: 'uint256' }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, ], - name: 'increaseAllowance', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + name: 'safeTransferFrom', + outputs: [], }, { stateMutability: 'nonpayable', type: 'function', - inputs: [{ name: 'to', internalType: 'address', type: 'address' }], - name: 'mint', + inputs: [{ name: 'newAddressManager', internalType: 'address', type: 'address' }], + name: 'setAddressManager', outputs: [], }, { - stateMutability: 'view', + stateMutability: 'nonpayable', type: 'function', - inputs: [{ name: 'minter', internalType: 'address', type: 'address' }], - name: 'minters', - outputs: [{ name: 'hasMinted', internalType: 'bool', type: 'bool' }], + inputs: [ + { name: 'operator', internalType: 'address', type: 'address' }, + { name: 'approved', internalType: 'bool', type: 'bool' }, + ], + name: 'setApprovalForAll', + outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [], - name: 'name', - outputs: [{ name: '', internalType: 'string', type: 'string' }], + name: 'source', + outputs: [ + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'uint256', type: 'uint256' }, + ], }, { stateMutability: 'view', type: 'function', inputs: [], - name: 'symbol', - outputs: [{ name: '', internalType: 'string', type: 'string' }], + name: 'srcChainId', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [], - name: 'totalSupply', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'srcToken', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', - inputs: [ - { name: 'to', internalType: 'address', type: 'address' }, - { name: 'amount', internalType: 'uint256', type: 'uint256' }, - ], - name: 'transfer', + inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }], + name: 'supportsInterface', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'symbol', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + }, + { + stateMutability: 'pure', + type: 'function', + inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], + name: 'tokenURI', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'from', internalType: 'address', type: 'address' }, { name: 'to', internalType: 'address', type: 'address' }, - { name: 'amount', internalType: 'uint256', type: 'uint256' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, ], name: 'transferFrom', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], + name: 'transferOwnership', + outputs: [], }, ] as const; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Erc20 +// Erc1155 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const erc20ABI = [ +export const erc1155ABI = [ + { type: 'error', inputs: [], name: 'BRIDGED_TOKEN_CANNOT_RECEIVE' }, + { type: 'error', inputs: [], name: 'BRIDGED_TOKEN_INVALID_PARAMS' }, + { type: 'error', inputs: [], name: 'RESOLVER_DENIED' }, + { type: 'error', inputs: [], name: 'RESOLVER_INVALID_ADDR' }, { - stateMutability: 'nonpayable', - type: 'constructor', + type: 'error', inputs: [ - { name: 'name_', internalType: 'string', type: 'string' }, - { name: 'symbol_', internalType: 'string', type: 'string' }, + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, ], + name: 'RESOLVER_ZERO_ADDR', + }, + { + type: 'event', + anonymous: false, + inputs: [{ name: 'addressManager', internalType: 'address', type: 'address', indexed: true }], + name: 'AddressManagerChanged', }, { type: 'event', anonymous: false, inputs: [ - { name: 'owner', internalType: 'address', type: 'address', indexed: true }, - { name: 'spender', internalType: 'address', type: 'address', indexed: true }, - { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'account', internalType: 'address', type: 'address', indexed: true }, + { name: 'operator', internalType: 'address', type: 'address', indexed: true }, + { name: 'approved', internalType: 'bool', type: 'bool', indexed: false }, ], - name: 'Approval', + name: 'ApprovalForAll', + }, + { + type: 'event', + anonymous: false, + inputs: [{ name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }], + name: 'Initialized', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true }, + { name: 'newOwner', internalType: 'address', type: 'address', indexed: true }, + ], + name: 'OwnershipTransferred', }, { type: 'event', @@ -950,64 +2270,116 @@ export const erc20ABI = [ inputs: [ { name: 'from', internalType: 'address', type: 'address', indexed: true }, { name: 'to', internalType: 'address', type: 'address', indexed: true }, - { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false }, ], name: 'Transfer', }, { - stateMutability: 'view', - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'owner', internalType: 'address', type: 'address' }, - { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'operator', internalType: 'address', type: 'address', indexed: true }, + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { name: 'ids', internalType: 'uint256[]', type: 'uint256[]', indexed: false }, + { name: 'values', internalType: 'uint256[]', type: 'uint256[]', indexed: false }, ], - name: 'allowance', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'TransferBatch', }, { - stateMutability: 'nonpayable', - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'spender', internalType: 'address', type: 'address' }, - { name: 'amount', internalType: 'uint256', type: 'uint256' }, + { name: 'operator', internalType: 'address', type: 'address', indexed: true }, + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { name: 'id', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, ], - name: 'approve', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + name: 'TransferSingle', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'value', internalType: 'string', type: 'string', indexed: false }, + { name: 'id', internalType: 'uint256', type: 'uint256', indexed: true }, + ], + name: 'URI', }, { stateMutability: 'view', type: 'function', - inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + inputs: [], + name: 'addressManager', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'account', internalType: 'address', type: 'address' }, + { name: 'id', internalType: 'uint256', type: 'uint256' }, + ], name: 'balanceOf', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', - inputs: [], - name: 'decimals', - outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], + inputs: [ + { name: 'accounts', internalType: 'address[]', type: 'address[]' }, + { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' }, + ], + name: 'balanceOfBatch', + outputs: [{ name: '', internalType: 'uint256[]', type: 'uint256[]' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: 'spender', internalType: 'address', type: 'address' }, - { name: 'subtractedValue', internalType: 'uint256', type: 'uint256' }, + { name: 'account', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], - name: 'decreaseAllowance', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + name: 'burn', + outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: 'spender', internalType: 'address', type: 'address' }, - { name: 'addedValue', internalType: 'uint256', type: 'uint256' }, + { name: '_addressManager', internalType: 'address', type: 'address' }, + { name: '_srcToken', internalType: 'address', type: 'address' }, + { name: '_srcChainId', internalType: 'uint256', type: 'uint256' }, + { name: '_symbol', internalType: 'string', type: 'string' }, + { name: '_name', internalType: 'string', type: 'string' }, ], - name: 'increaseAllowance', + name: 'init', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'account', internalType: 'address', type: 'address' }, + { name: 'operator', internalType: 'address', type: 'address' }, + ], + name: 'isApprovedForAll', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'account', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'mint', + outputs: [], + }, { stateMutability: 'view', type: 'function', @@ -1019,25 +2391,43 @@ export const erc20ABI = [ stateMutability: 'view', type: 'function', inputs: [], - name: 'symbol', - outputs: [{ name: '', internalType: 'string', type: 'string' }], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, + { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'renounceOwnership', outputs: [] }, { stateMutability: 'view', type: 'function', - inputs: [], - name: 'totalSupply', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + inputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, + ], + name: 'resolve', + outputs: [{ name: 'addr', internalType: 'address payable', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, + ], + name: 'resolve', + outputs: [{ name: 'addr', internalType: 'address payable', type: 'address' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ + { name: 'from', internalType: 'address', type: 'address' }, { name: 'to', internalType: 'address', type: 'address' }, - { name: 'amount', internalType: 'uint256', type: 'uint256' }, + { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' }, + { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, ], - name: 'transfer', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + name: 'safeBatchTransferFrom', + outputs: [], }, { stateMutability: 'nonpayable', @@ -1045,9 +2435,70 @@ export const erc20ABI = [ inputs: [ { name: 'from', internalType: 'address', type: 'address' }, { name: 'to', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, ], - name: 'transferFrom', + name: 'safeTransferFrom', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newAddressManager', internalType: 'address', type: 'address' }], + name: 'setAddressManager', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'operator', internalType: 'address', type: 'address' }, + { name: 'approved', internalType: 'bool', type: 'bool' }, + ], + name: 'setApprovalForAll', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'srcChainId', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'srcToken', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }], + name: 'supportsInterface', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'symbol', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], + name: 'transferOwnership', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'uri', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + }, ] as const; diff --git a/packages/bridge-ui-v2/src/components/Activities/Activities.svelte b/packages/bridge-ui-v2/src/components/Activities/Activities.svelte index e3e9f0ee915..9f91980599d 100644 --- a/packages/bridge-ui-v2/src/components/Activities/Activities.svelte +++ b/packages/bridge-ui-v2/src/components/Activities/Activities.svelte @@ -4,7 +4,7 @@ import type { Address } from 'viem'; import { Card } from '$components/Card'; - import ChainSelector from '$components/ChainSelector/ChainSelector.svelte'; + import { ChainSelector } from '$components/ChainSelector'; import { DesktopOrLarger } from '$components/DesktopOrLarger'; import OnAccount from '$components/OnAccount/OnAccount.svelte'; import { Paginator } from '$components/Paginator'; @@ -18,6 +18,7 @@ import MobileDetailsDialog from './MobileDetailsDialog.svelte'; import StatusInfoDialog from './StatusInfoDialog.svelte'; import Transaction from './Transaction.svelte'; + import { warningToast } from '$components/NotificationToast'; let transactions: BridgeTransaction[] = []; @@ -57,7 +58,7 @@ loadingTxs = true; try { - updateTransactions(newAccount.address); + await updateTransactions(newAccount.address); } catch (err) { console.error(err); // TODO: handle @@ -78,28 +79,16 @@ }; const updateTransactions = async (address: Address) => { - const { mergedTransactions, outdatedLocalTransactions } = await fetchTransactions(address); + const { mergedTransactions, outdatedLocalTransactions, error } = await fetchTransactions(address); transactions = mergedTransactions; if (outdatedLocalTransactions.length > 0) { await bridgeTxService.removeTransactions(address, outdatedLocalTransactions); } - }; - - onMount(async () => { - // We want to make sure that we are connected before fetching - if (!$account?.isConnected || !$account?.address) return; - - loadingTxs = true; - - try { - await updateTransactions($account.address); - } catch (err) { - console.error(err); - // TODO: handle - } finally { - loadingTxs = false; + if (error) { + // Todo: handle different error scenarios + warningToast($t('activities.errors.relayer_offline')); } - }); + }; $: pageSize = isDesktopOrLarger ? activitiesConfig.pageSizeDesktop : activitiesConfig.pageSizeMobile; diff --git a/packages/bridge-ui-v2/src/components/Activities/ChainSymbolName.svelte b/packages/bridge-ui-v2/src/components/Activities/ChainSymbolName.svelte index 1c0627e0a7a..ed9bc6e0ba0 100644 --- a/packages/bridge-ui-v2/src/components/Activities/ChainSymbolName.svelte +++ b/packages/bridge-ui-v2/src/components/Activities/ChainSymbolName.svelte @@ -1,12 +1,13 @@
- + chain-logo {chainName}
diff --git a/packages/bridge-ui-v2/src/components/Activities/MobileDetailsDialog.svelte b/packages/bridge-ui-v2/src/components/Activities/MobileDetailsDialog.svelte index 4b3ad0a5e1a..55b467db2c5 100644 --- a/packages/bridge-ui-v2/src/components/Activities/MobileDetailsDialog.svelte +++ b/packages/bridge-ui-v2/src/components/Activities/MobileDetailsDialog.svelte @@ -2,27 +2,32 @@ import { t } from 'svelte-i18n'; import { formatEther } from 'viem'; + import { chainConfig } from '$chainConfig'; import { Icon } from '$components/Icon'; import { Tooltip } from '$components/Tooltip'; import type { BridgeTransaction } from '$libs/bridge'; - import { chainUrlMap } from '$libs/chain'; import { noop } from '$libs/util/noop'; import { uid } from '$libs/util/uid'; import ChainSymbolName from './ChainSymbolName.svelte'; + import Status from './Status.svelte'; export let closeDetails = noop; export let detailsOpen = false; export let selectedItem: BridgeTransaction | null; + let tooltipOpen = false; + const openToolTip = (event: Event) => { + event.stopPropagation(); + tooltipOpen = !tooltipOpen; + }; let dialogId = `dialog-${uid()}`; diff --git a/packages/bridge-ui-v2/src/components/Bridge/Bridge.svelte b/packages/bridge-ui-v2/src/components/Bridge/Bridge.svelte index 02cbe1cd907..c95249dabc5 100644 --- a/packages/bridge-ui-v2/src/components/Bridge/Bridge.svelte +++ b/packages/bridge-ui-v2/src/components/Bridge/Bridge.svelte @@ -2,14 +2,15 @@ import { t } from 'svelte-i18n'; import { TransactionExecutionError, UserRejectedRequestError } from 'viem'; + import { routingContractsMap } from '$bridgeConfig'; + import { chainConfig } from '$chainConfig'; + import ChainSelectorWrapper from '$components/Bridge/ChainSelectorWrapper.svelte'; import { Card } from '$components/Card'; - import { ChainSelector } from '$components/ChainSelector'; import { successToast, warningToast } from '$components/NotificationToast'; import { errorToast, infoToast } from '$components/NotificationToast/NotificationToast.svelte'; import { OnAccount } from '$components/OnAccount'; import { OnNetwork } from '$components/OnNetwork'; import { TokenDropdown } from '$components/TokenDropdown'; - import { PUBLIC_L1_EXPLORER_URL } from '$env/static/public'; import { type BridgeArgs, bridges, @@ -18,8 +19,8 @@ type ETHBridgeArgs, MessageStatus, } from '$libs/bridge'; + import { hasBridge } from '$libs/bridge/bridges'; import type { ERC20Bridge } from '$libs/bridge/ERC20Bridge'; - import { chainContractsMap, chains, chainUrlMap } from '$libs/chain'; import { ApproveError, InsufficientAllowanceError, @@ -40,18 +41,28 @@ import { ProcessingFee } from './ProcessingFee'; import Recipient from './Recipient.svelte'; import { bridgeService, destNetwork, enteredAmount, processingFee, recipientAddress, selectedToken } from './state'; - import SwitchChainsButton from './SwitchChainsButton.svelte'; let amountComponent: Amount; let recipientComponent: Recipient; let processingFeeComponent: ProcessingFee; - function onNetworkChange(network: Network) { - if (network && chains.length === 2) { - // If there are only two chains, the destination chain will be the other one - const otherChain = chains.find((chain) => chain.id !== network.id); + function onNetworkChange(newNetwork: Network, oldNetwork: Network) { + if (newNetwork) { + const destChainId = $destNetwork?.id; + if (!$destNetwork?.id) return; - if (otherChain) destNetwork.set(otherChain); + // determine if we simply swapped dest and src networks + if (newNetwork.id === destChainId) { + destNetwork.set(oldNetwork); + return; + } + // check if the new network has a bridge to the current dest network + if (hasBridge(newNetwork.id, $destNetwork?.id)) { + destNetwork.set(oldNetwork); + } else { + // if not, set dest network to null + $destNetwork = null; + } } } @@ -82,7 +93,7 @@ throw new Error('token address not found'); } - const spenderAddress = chainContractsMap[$network.id].tokenVaultAddress; + const spenderAddress = routingContractsMap[$network.id][$destNetwork.id].erc20VaultAddress; const txHash = await erc20Bridge.approve({ tokenAddress, @@ -91,13 +102,13 @@ wallet: walletClient, }); - const { explorerUrl } = chainUrlMap[$network.id]; + const { explorer } = chainConfig[$network.id].urls; infoToast( $t('bridge.actions.approve.tx', { values: { token: $selectedToken.symbol, - url: `${explorerUrl}/tx/${txHash}`, + url: `${explorer}/tx/${txHash}`, }, }), ); @@ -150,14 +161,14 @@ srcChainId: $network.id, destChainId: $destNetwork.id, amount: $enteredAmount, - processingFee: $processingFee, + fee: $processingFee, } as BridgeArgs; switch ($selectedToken.type) { case TokenType.ETH: { // Specific arguments for ETH bridge: // - bridgeAddress - const bridgeAddress = chainContractsMap[$network.id].bridgeAddress; + const bridgeAddress = routingContractsMap[$network.id][$destNetwork.id].bridgeAddress; bridgeArgs = { ...bridgeArgs, bridgeAddress } as ETHBridgeArgs; break; } @@ -177,7 +188,7 @@ throw new Error('token address not found'); } - const tokenVaultAddress = chainContractsMap[$network.id].tokenVaultAddress; + const tokenVaultAddress = routingContractsMap[$network.id][$destNetwork.id].erc20VaultAddress; const isTokenAlreadyDeployed = await isDeployedCrossChain({ token: $selectedToken, @@ -187,25 +198,31 @@ bridgeArgs = { ...bridgeArgs, - tokenAddress, + token: tokenAddress, tokenVaultAddress, isTokenAlreadyDeployed, } as ERC20BridgeArgs; break; } - + case TokenType.ERC721: + // todo: implement + break; + case TokenType.ERC1155: + // todo: implement + break; default: throw new Error('invalid token type'); } const txHash = await $bridgeService.bridge(bridgeArgs); + const explorer = chainConfig[bridgeArgs.srcChainId].urls.explorer; + infoToast( $t('bridge.actions.bridge.tx', { values: { token: $selectedToken.symbol, - //Todo: must link to the correct explorer, not just L1 - url: `${PUBLIC_L1_EXPLORER_URL}/tx/${txHash}`, + url: `${explorer}/tx/${txHash}`, }, }), ); @@ -284,12 +301,7 @@
- - - - - - +
diff --git a/packages/bridge-ui-v2/src/components/Bridge/ChainSelectorWrapper.svelte b/packages/bridge-ui-v2/src/components/Bridge/ChainSelectorWrapper.svelte new file mode 100644 index 00000000000..ac7d32d053e --- /dev/null +++ b/packages/bridge-ui-v2/src/components/Bridge/ChainSelectorWrapper.svelte @@ -0,0 +1,39 @@ + + + + + + + + + diff --git a/packages/bridge-ui-v2/src/components/Bridge/ProcessingFee/NoneOption.svelte b/packages/bridge-ui-v2/src/components/Bridge/ProcessingFee/NoneOption.svelte index d9034180e4a..7a96104630b 100644 --- a/packages/bridge-ui-v2/src/components/Bridge/ProcessingFee/NoneOption.svelte +++ b/packages/bridge-ui-v2/src/components/Bridge/ProcessingFee/NoneOption.svelte @@ -23,6 +23,7 @@ try { // Get the balance of the user on the destination chain const destBalance = await getBalance({ + token, userAddress, srcChainId: destChainId, }); diff --git a/packages/bridge-ui-v2/src/components/Bridge/SwitchChainsButton.svelte b/packages/bridge-ui-v2/src/components/Bridge/SwitchChainsButton.svelte index e9a73f0b23a..53927040add 100644 --- a/packages/bridge-ui-v2/src/components/Bridge/SwitchChainsButton.svelte +++ b/packages/bridge-ui-v2/src/components/Bridge/SwitchChainsButton.svelte @@ -24,9 +24,6 @@ } - diff --git a/packages/bridge-ui-v2/src/components/Bridge/state.ts b/packages/bridge-ui-v2/src/components/Bridge/state.ts index a0f83bd8362..3a9ea5360c7 100644 --- a/packages/bridge-ui-v2/src/components/Bridge/state.ts +++ b/packages/bridge-ui-v2/src/components/Bridge/state.ts @@ -2,6 +2,7 @@ import type { Address, Chain, FetchBalanceResult } from '@wagmi/core'; import { derived, writable } from 'svelte/store'; import { bridges } from '$libs/bridge'; +import { chains } from '$libs/chain'; import type { Token } from '$libs/token'; // Note: we could combine this with Context API, but since we'll only @@ -17,6 +18,7 @@ export const selectedToken = writable>(null); export const tokenBalance = writable>(null); export const enteredAmount = writable(BigInt(0)); export const destNetwork = writable>(null); +export const destOptions = writable(chains); export const processingFee = writable(BigInt(0)); export const recipientAddress = writable>(null); diff --git a/packages/bridge-ui-v2/src/components/Card/Card.svelte b/packages/bridge-ui-v2/src/components/Card/Card.svelte index 7050be733f9..056a86a7fe4 100644 --- a/packages/bridge-ui-v2/src/components/Card/Card.svelte +++ b/packages/bridge-ui-v2/src/components/Card/Card.svelte @@ -7,7 +7,8 @@ md:rounded-[20px] md:border md:border-divider-border - dark:md:glassy-gradient-card`; + dark:md:glassy-gradient-card + dark:md:glass-background-gradient`; export let title: string; export let text = ''; diff --git a/packages/bridge-ui-v2/src/components/ChainSelector/ChainSelector.svelte b/packages/bridge-ui-v2/src/components/ChainSelector/ChainSelector.svelte index 4c6ab5f6224..10fe2daadf2 100644 --- a/packages/bridge-ui-v2/src/components/ChainSelector/ChainSelector.svelte +++ b/packages/bridge-ui-v2/src/components/ChainSelector/ChainSelector.svelte @@ -1,15 +1,18 @@ - - - - - - - diff --git a/packages/bridge-ui-v2/src/components/Icon/index.ts b/packages/bridge-ui-v2/src/components/Icon/index.ts index 6a64010b1da..8916c451589 100644 --- a/packages/bridge-ui-v2/src/components/Icon/index.ts +++ b/packages/bridge-ui-v2/src/components/Icon/index.ts @@ -2,4 +2,3 @@ export { default as BllIcon } from './BLL.svelte'; export { default as EthIcon } from './ETH.svelte'; export { default as HorseIcon } from './HORSE.svelte'; export { default as Icon, type IconType } from './Icon.svelte'; -export { default as TaikoIcon } from './Taiko.svelte'; diff --git a/packages/bridge-ui-v2/src/components/LoadingMask/LoadingMask.svelte b/packages/bridge-ui-v2/src/components/LoadingMask/LoadingMask.svelte index cfec438c309..a702a48a4fc 100644 --- a/packages/bridge-ui-v2/src/components/LoadingMask/LoadingMask.svelte +++ b/packages/bridge-ui-v2/src/components/LoadingMask/LoadingMask.svelte @@ -13,6 +13,8 @@ 'top-0 bottom-0', 'left-0 right-0', 'overflow-hidden', + 'overlay-dialog', + 'text-white', $$props.class, ); let textClasses = classNames('body-regular', textClass); diff --git a/packages/bridge-ui-v2/src/components/OnNetwork/OnNetwork.svelte b/packages/bridge-ui-v2/src/components/OnNetwork/OnNetwork.svelte index a11087249bb..4b1639c4035 100644 --- a/packages/bridge-ui-v2/src/components/OnNetwork/OnNetwork.svelte +++ b/packages/bridge-ui-v2/src/components/OnNetwork/OnNetwork.svelte @@ -7,6 +7,8 @@ let prevNetwork = $network; network.subscribe((newNetwork) => { + // only update if the network has actually changed + if (newNetwork?.id === prevNetwork?.id) return; change(newNetwork, prevNetwork); prevNetwork = newNetwork; }); diff --git a/packages/bridge-ui-v2/src/components/SideNavigation/SideNavigation.svelte b/packages/bridge-ui-v2/src/components/SideNavigation/SideNavigation.svelte index f4ef1f36da6..cf9d05126d0 100644 --- a/packages/bridge-ui-v2/src/components/SideNavigation/SideNavigation.svelte +++ b/packages/bridge-ui-v2/src/components/SideNavigation/SideNavigation.svelte @@ -6,10 +6,12 @@ import { t } from 'svelte-i18n'; import { page } from '$app/stores'; + import { chainConfig } from '$chainConfig'; import { Icon } from '$components/Icon'; import { LinkButton } from '$components/LinkButton'; import { LogoWithText } from '$components/Logo'; - import { PUBLIC_GUIDE_URL, PUBLIC_L2_EXPLORER_URL } from '$env/static/public'; + import { PUBLIC_DEFAULT_EXPLORER, PUBLIC_GUIDE_URL } from '$env/static/public'; + import { network } from '$stores/network'; let drawerToggleElem: HTMLInputElement; @@ -88,7 +90,7 @@
  • - + {$t('nav.explorer')} diff --git a/packages/bridge-ui-v2/src/components/Spinner/Spinner.svelte b/packages/bridge-ui-v2/src/components/Spinner/Spinner.svelte index 7d55bb1247f..fef6c927d94 100644 --- a/packages/bridge-ui-v2/src/components/Spinner/Spinner.svelte +++ b/packages/bridge-ui-v2/src/components/Spinner/Spinner.svelte @@ -4,8 +4,9 @@ const classes = classNames( 'w-6 h-6', 'animate-spin', - 'box-border inline-block', + 'inline-block', 'border-[3px] border-b-transparent rounded-full', + 'border-primary-content border-b-transparent ', $$props.class, ); diff --git a/packages/bridge-ui-v2/src/components/SwitchChainModal/SwitchChainModal.svelte b/packages/bridge-ui-v2/src/components/SwitchChainModal/SwitchChainModal.svelte index 58413c9726c..b72c10621dd 100644 --- a/packages/bridge-ui-v2/src/components/SwitchChainModal/SwitchChainModal.svelte +++ b/packages/bridge-ui-v2/src/components/SwitchChainModal/SwitchChainModal.svelte @@ -1,15 +1,17 @@ diff --git a/packages/bridge-ui-v2/src/components/TokenDropdown/DropdownView.svelte b/packages/bridge-ui-v2/src/components/TokenDropdown/DropdownView.svelte index 3e0594fc65d..79c13ca570f 100644 --- a/packages/bridge-ui-v2/src/components/TokenDropdown/DropdownView.svelte +++ b/packages/bridge-ui-v2/src/components/TokenDropdown/DropdownView.svelte @@ -68,9 +68,15 @@ on:click={() => selectToken(token)} on:keydown={getTokenKeydownHandler(token)}>
    - - - + {#if symbolToIconMap[token.symbol]} + + + + {:else} + + + + {/if} {token.symbol}
  • @@ -100,8 +106,7 @@ bg-transparent flex-1 - px-0" - > + px-0"> {$t('token_dropdown.add_custom')} diff --git a/packages/bridge-ui-v2/src/components/TokenDropdown/TokenDropdown.svelte b/packages/bridge-ui-v2/src/components/TokenDropdown/TokenDropdown.svelte index 7eb67590658..e7953336536 100644 --- a/packages/bridge-ui-v2/src/components/TokenDropdown/TokenDropdown.svelte +++ b/packages/bridge-ui-v2/src/components/TokenDropdown/TokenDropdown.svelte @@ -24,6 +24,7 @@ let id = `menu-${uid()}`; let menuOpen = false; + const customTokens = tokenService.getTokens($account?.address as Address); // This will control which view to render depending on the screensize. // Since markup will differ, and there is logic running when interacting // with this component, it makes more sense to not render the view that's @@ -58,17 +59,23 @@ // if it is an imported Token, chances are we do not yet have the bridged address // for the destination chain, so we need to fetch it if (token.imported) { - // ... in the case of imported tokens, we also require the destination chain to be selected. + // ... in the case of imported tokens, we also require the destination chain to be selected. if (!destChain) { if (!destChain) { warningToast($t('messages.network.required_dest')); return; } - const bridgedAddress = await getCrossChainAddress({ - token, - srcChainId: chain.id, - destChainId: destChain.id, - }); + let bridgedAddress = null; + + try { + bridgedAddress = await getCrossChainAddress({ + token, + srcChainId: chain.id, + destChainId: destChain.id, + }); + } catch (error) { + console.error(error); + } // only update the token if we actually have a new bridged address if (bridgedAddress && bridgedAddress !== token.addresses[destChain.id]) { @@ -110,11 +117,11 @@
    {#if symbolToIconMap[value.symbol]} - + {:else} - + {/if} {value.symbol} @@ -125,8 +132,8 @@ {#if isDesktopOrLarger} - + {:else} - + {/if}
    diff --git a/packages/bridge-ui-v2/src/components/Tooltip/Tooltip.svelte b/packages/bridge-ui-v2/src/components/Tooltip/Tooltip.svelte index 8ead95c8b53..78adcb83eda 100644 --- a/packages/bridge-ui-v2/src/components/Tooltip/Tooltip.svelte +++ b/packages/bridge-ui-v2/src/components/Tooltip/Tooltip.svelte @@ -10,7 +10,7 @@ let tooltipId = `tooltip-${uid()}`; let tooltipClass = `block dialog-tooltip`; - let tooltipOpen = false; + export let tooltipOpen = false; let classes = classNames('flex', $$props.class || 'relative'); const GAP = 10; // distance between trigger element and tooltip diff --git a/packages/bridge-ui-v2/src/i18n/en.json b/packages/bridge-ui-v2/src/i18n/en.json index e5014f327c9..3aa9a5801ca 100644 --- a/packages/bridge-ui-v2/src/i18n/en.json +++ b/packages/bridge-ui-v2/src/i18n/en.json @@ -37,7 +37,7 @@ "cannot_fetch_balance": "Error fetching balance. Wrong chain?", "unknown_error": "An error occured", "custom_token": { - "not_found": "Token not found", + "not_found": "Token not found!", "description": "Are you on the right network?" } }, @@ -139,7 +139,7 @@ "actions": { "claim": { "tx": "Transaction sent to claim {token} tokens. Click
    here to see it in the explorer.", - "success": "Transaction completed! Your funds have been successfully claimed on ${network}.", + "success": "Transaction completed! Your funds have been successfully claimed on {network}.", "rejected": "Request to claim rejected." }, "release": { @@ -149,7 +149,8 @@ } }, "errors": { - "insufficient_balance": "Insufficient balance to claim. Please add some ETH to your wallet." + "insufficient_balance": "Insufficient balance to claim. Please add some ETH to your wallet.", + "relayer_offline": "Relayer did not respond. Your transactions may only be loaded partially." } }, "faucet": { @@ -173,12 +174,18 @@ "no_connected": "Please connect your wallet to mint tokens.", "insufficient_balance": "You don't have enough ETH to complete the transaction. Please add some ETH to your wallet.", "token_minted": "You have already minted this token.", + "not_mintable": "This token is not mintable on this network", "unknown": "Something did not work" } }, "token_dropdown": { "label": "Select token", - "add_custom": "Add Custom" + "add_custom": "Add Custom", + "custom_token": { + "title": "Add your own token", + "description": "You can add your own token by entering the contract address below. Make sure you are on the chain where the token is deployed.", + "button": "Add token" + } }, "inputs": { "nft": { @@ -205,7 +212,11 @@ }, "chain_selector": { "placeholder": "Select chain", - "currently_on": "You are currently on" + "currently_on": "You are currently on", + "disabled_options": { + "title": "Disabled options?", + "description": "Some options might be disabled due to not having a valid bridge configuration" + } }, "chain": { "to": "To", @@ -246,6 +257,8 @@ "confirm": "Confirm", "close": "Close", "loading": "Loading", - "ok": "Ok" + "ok": "Ok", + "name": "Name", + "balance": "Balance" } } diff --git a/packages/bridge-ui-v2/src/libs/bridge/Bridge.ts b/packages/bridge-ui-v2/src/libs/bridge/Bridge.ts index 18c94cc5e9a..f2b5290dc74 100644 --- a/packages/bridge-ui-v2/src/libs/bridge/Bridge.ts +++ b/packages/bridge-ui-v2/src/libs/bridge/Bridge.ts @@ -2,7 +2,7 @@ import { getContract, type GetContractResult, type WalletClient } from '@wagmi/c import { type Hash, UserRejectedRequestError } from 'viem'; import { bridgeABI } from '$abi'; -import { chainContractsMap } from '$libs/chain'; +import { routingContractsMap } from '$bridgeConfig'; import { MessageStatusError, RetryError, WrongChainError, WrongOwnerError } from '$libs/error'; import type { BridgeProver } from '$libs/proof'; import { getLogger } from '$libs/util/logger'; @@ -30,19 +30,20 @@ export abstract class Bridge { protected async beforeClaiming({ msgHash, message, wallet }: ClaimArgs) { const connectedChainId = await wallet.getChainId(); const destChainId = Number(message.destChainId); + const srcChainId = Number(message.srcChainId); // Are we connected to the destination chain? if (connectedChainId !== destChainId) { throw new WrongChainError('wallet must be connected to the destination chain'); } - const { owner } = message; + const { user } = message; const userAddress = wallet.account.address; // Are we the owner of the message? - if (owner.toLowerCase() !== userAddress.toLowerCase()) { + if (user.toLowerCase() !== userAddress.toLowerCase()) { throw new WrongOwnerError('user cannot process this as it is not their message'); } - const destBridgeAddress = chainContractsMap[connectedChainId].bridgeAddress; + const destBridgeAddress = routingContractsMap[connectedChainId][srcChainId].bridgeAddress; const destBridgeContract = getContract({ address: destBridgeAddress, @@ -84,16 +85,16 @@ export abstract class Bridge { throw new WrongChainError('wallet must be connected to the source chain'); } - const { owner } = message; + const { user } = message; const userAddress = wallet.account.address; // Are we the owner of the message? - if (owner.toLowerCase() !== userAddress.toLowerCase()) { + if (user.toLowerCase() !== userAddress.toLowerCase()) { throw new WrongOwnerError('user cannot process this as it is not their message'); } // Before releasing we need to make sure the message has failed const destChainId = Number(message.destChainId); - const destBridgeAddress = chainContractsMap[destChainId].bridgeAddress; + const destBridgeAddress = routingContractsMap[destChainId][srcChainId].bridgeAddress; const destBridgeContract = getContract({ address: destBridgeAddress, diff --git a/packages/bridge-ui-v2/src/libs/bridge/ERC20Bridge.ts b/packages/bridge-ui-v2/src/libs/bridge/ERC20Bridge.ts index 91ab846c862..fb87ce1408b 100644 --- a/packages/bridge-ui-v2/src/libs/bridge/ERC20Bridge.ts +++ b/packages/bridge-ui-v2/src/libs/bridge/ERC20Bridge.ts @@ -1,9 +1,9 @@ import { getContract, type Hash } from '@wagmi/core'; import { UserRejectedRequestError } from 'viem'; -import { erc20ABI, tokenVaultABI } from '$abi'; +import { bridgeABI, erc20ABI, erc20VaultABI } from '$abi'; +import { routingContractsMap } from '$bridgeConfig'; import { bridgeService } from '$config'; -import { chainContractsMap } from '$libs/chain'; import { ApproveError, InsufficientAllowanceError, @@ -18,54 +18,44 @@ import { getLogger } from '$libs/util/logger'; import { Bridge } from './Bridge'; import { type ApproveArgs, + type BridgeTransferOp, type ClaimArgs, type ERC20BridgeArgs, MessageStatus, type ReleaseArgs, type RequireAllowanceArgs, - type SendERC20Args, } from './types'; const log = getLogger('ERC20Bridge'); export class ERC20Bridge extends Bridge { private static async _prepareTransaction(args: ERC20BridgeArgs) { - const { - to, - amount, - wallet, - destChainId, - tokenAddress, - processingFee, - tokenVaultAddress, - isTokenAlreadyDeployed, - memo = '', - } = args; + const { to, amount, wallet, destChainId, token, fee, tokenVaultAddress, isTokenAlreadyDeployed, memo = '' } = args; const tokenVaultContract = getContract({ walletClient: wallet, - abi: tokenVaultABI, + abi: erc20VaultABI, address: tokenVaultAddress, }); - const refundAddress = wallet.account.address; + const refundTo = wallet.account.address; const gasLimit = !isTokenAlreadyDeployed ? BigInt(bridgeService.noTokenDeployedGasLimit) - : processingFee > 0 + : fee > 0 ? bridgeService.noOwnerGasLimit : BigInt(0); - const sendERC20Args: SendERC20Args = [ - BigInt(destChainId), + const sendERC20Args: BridgeTransferOp = { + destChainId: BigInt(destChainId), to, - tokenAddress, + token, amount, gasLimit, - processingFee, - refundAddress, + fee, + refundTo, memo, - ]; + }; log('Preparing transaction with args', sendERC20Args); @@ -78,13 +68,13 @@ export class ERC20Bridge extends Bridge { async estimateGas(args: ERC20BridgeArgs) { const { tokenVaultContract, sendERC20Args } = await ERC20Bridge._prepareTransaction(args); - const [, , , , , processingFee] = sendERC20Args; + const { fee } = sendERC20Args; - const value = processingFee; + const value = fee; log('Estimating gas for sendERC20 call with value', value); - const estimatedGas = tokenVaultContract.estimateGas.sendERC20([...sendERC20Args], { value }); + const estimatedGas = tokenVaultContract.estimateGas.sendToken([sendERC20Args], { value }); log('Gas estimated', estimatedGas); @@ -148,11 +138,11 @@ export class ERC20Bridge extends Bridge { } async bridge(args: ERC20BridgeArgs) { - const { amount, tokenAddress, wallet, tokenVaultAddress } = args; + const { amount, token, wallet, tokenVaultAddress } = args; const requireAllowance = await this.requireAllowance({ amount, - tokenAddress, + tokenAddress: token, ownerAddress: wallet.account.address, spenderAddress: tokenVaultAddress, }); @@ -162,14 +152,14 @@ export class ERC20Bridge extends Bridge { } const { tokenVaultContract, sendERC20Args } = await ERC20Bridge._prepareTransaction(args); - const [, , , , , processingFee] = sendERC20Args; + const { fee } = sendERC20Args; - const value = processingFee; + const value = fee; try { log('Calling sendERC20 with value', value); - const txHash = await tokenVaultContract.write.sendERC20([...sendERC20Args], { value }); + const txHash = await tokenVaultContract.write.sendToken([sendERC20Args], { value }); log('Transaction hash for sendERC20 call', txHash); @@ -238,15 +228,15 @@ export class ERC20Bridge extends Bridge { const proof = await this._prover.generateProofToRelease(msgHash, srcChainId, destChainId); - const srcTokenVaultAddress = chainContractsMap[connectedChainId].tokenVaultAddress; - const srcTokenVaultContract = getContract({ + const bridgeAddress = routingContractsMap[connectedChainId][destChainId].bridgeAddress; + const bridgeContract = getContract({ walletClient: wallet, - abi: tokenVaultABI, - address: srcTokenVaultAddress, + abi: bridgeABI, + address: bridgeAddress, }); try { - const txHash = await srcTokenVaultContract.write.releaseERC20([message, proof]); + const txHash = await bridgeContract.write.recallMessage([message, proof]); log('Transaction hash for releaseERC20 call', txHash); diff --git a/packages/bridge-ui-v2/src/libs/bridge/ETHBridge.ts b/packages/bridge-ui-v2/src/libs/bridge/ETHBridge.ts index 471e042d8b0..e6bb6439307 100644 --- a/packages/bridge-ui-v2/src/libs/bridge/ETHBridge.ts +++ b/packages/bridge-ui-v2/src/libs/bridge/ETHBridge.ts @@ -2,8 +2,8 @@ import { getContract, type Hash } from '@wagmi/core'; import { UserRejectedRequestError } from 'viem'; import { bridgeABI } from '$abi'; +import { routingContractsMap } from '$bridgeConfig'; import { bridgeService } from '$config'; -import { chainContractsMap } from '$libs/chain'; import { ProcessMessageError, ReleaseError, SendMessageError } from '$libs/error'; import type { BridgeProver } from '$libs/proof'; import { getLogger } from '$libs/util/logger'; @@ -15,7 +15,7 @@ const log = getLogger('bridge:ETHBridge'); export class ETHBridge extends Bridge { private static async _prepareTransaction(args: ETHBridgeArgs) { - const { to, amount, wallet, srcChainId, destChainId, bridgeAddress, processingFee, memo = '' } = args; + const { to, amount, wallet, srcChainId, destChainId, bridgeAddress, fee: processingFee, memo = '' } = args; const bridgeContract = getContract({ walletClient: wallet, @@ -27,8 +27,7 @@ export class ETHBridge extends Bridge { // TODO: contract actually supports bridging to ourselves as well as // to another address at the same time - const [depositValue, callValue] = - to.toLowerCase() === owner.toLowerCase() ? [amount, BigInt(0)] : [BigInt(0), amount]; + const [value] = to.toLowerCase() === owner.toLowerCase() ? [amount, BigInt(0)] : [BigInt(0), amount]; // If there is a processing fee, use the specified message gas limit // as might not be called by the owner @@ -36,17 +35,16 @@ export class ETHBridge extends Bridge { const message: Message = { to, - owner, - sender: owner, - refundAddress: owner, + user: owner, + from: owner, + refundTo: owner, srcChainId: BigInt(srcChainId), destChainId: BigInt(destChainId), gasLimit, - callValue, - depositValue, - processingFee, + value, + fee: processingFee, memo, data: '0x', @@ -64,9 +62,9 @@ export class ETHBridge extends Bridge { async estimateGas(args: ETHBridgeArgs) { const { bridgeContract, message } = await ETHBridge._prepareTransaction(args); - const { depositValue, callValue, processingFee } = message; + const { value: callValue, fee: processingFee } = message; - const value = depositValue + callValue + processingFee; + const value = callValue + processingFee; log('Estimating gas for sendMessage call with value', value); @@ -79,9 +77,9 @@ export class ETHBridge extends Bridge { async bridge(args: ETHBridgeArgs) { const { bridgeContract, message } = await ETHBridge._prepareTransaction(args); - const { depositValue, callValue, processingFee } = message; + const { value: callValue, fee: processingFee } = message; - const value = depositValue + callValue + processingFee; + const value = callValue + processingFee; try { log('Calling sendMessage with value', value); @@ -149,7 +147,7 @@ export class ETHBridge extends Bridge { const proof = await this._prover.generateProofToRelease(msgHash, srcChainId, destChainId); - const srcBridgeAddress = chainContractsMap[connectedChainId].bridgeAddress; + const srcBridgeAddress = routingContractsMap[connectedChainId][destChainId].bridgeAddress; const srcBridgeContract = getContract({ walletClient: wallet, abi: bridgeABI, @@ -157,7 +155,7 @@ export class ETHBridge extends Bridge { }); try { - const txHash = await srcBridgeContract.write.releaseEther([message, proof]); + const txHash = await srcBridgeContract.write.recallMessage([message, proof]); log('Transaction hash for releaseEther call', txHash); diff --git a/packages/bridge-ui-v2/src/libs/bridge/bridges.ts b/packages/bridge-ui-v2/src/libs/bridge/bridges.ts index 86e965b6fc5..0ff303a271e 100644 --- a/packages/bridge-ui-v2/src/libs/bridge/bridges.ts +++ b/packages/bridge-ui-v2/src/libs/bridge/bridges.ts @@ -1,3 +1,4 @@ +import { routingContractsMap } from '$bridgeConfig'; import { BridgeProver } from '$libs/proof'; import type { TokenType } from '$libs/token'; @@ -15,3 +16,7 @@ export const bridges: Record = { ERC721: new ERC721Bridge(prover), ERC1155: new ERC1155Bridge(prover), }; + +export const hasBridge = (srcChainId: number, destChainId: number): boolean => { + return !!routingContractsMap[srcChainId] && !!routingContractsMap[srcChainId][destChainId]; +}; diff --git a/packages/bridge-ui-v2/src/libs/bridge/checkBalanceToBridge.ts b/packages/bridge-ui-v2/src/libs/bridge/checkBalanceToBridge.ts index 7563464d2c7..5c43093f43a 100644 --- a/packages/bridge-ui-v2/src/libs/bridge/checkBalanceToBridge.ts +++ b/packages/bridge-ui-v2/src/libs/bridge/checkBalanceToBridge.ts @@ -1,7 +1,7 @@ import { getPublicClient } from '@wagmi/core'; import { type Address, zeroAddress } from 'viem'; -import { chainContractsMap } from '$libs/chain'; +import { routingContractsMap } from '$bridgeConfig'; import { InsufficientAllowanceError, InsufficientBalanceError, RevertedWithFailedError } from '$libs/error'; import { getAddress, type Token, TokenType } from '$libs/token'; import { isDeployedCrossChain } from '$libs/token/isDeployedCrossChain'; @@ -19,7 +19,7 @@ type HasEnoughBalanceToBridgeArgs = { balance: bigint; srcChainId: number; destChainId: number; - processingFee?: bigint; + fee?: bigint; }; export async function checkBalanceToBridge({ @@ -29,7 +29,7 @@ export async function checkBalanceToBridge({ balance, srcChainId, destChainId, - processingFee, + fee, }: HasEnoughBalanceToBridgeArgs) { const wallet = await getConnectedWallet(); let estimatedCost = BigInt(0); @@ -40,12 +40,11 @@ export async function checkBalanceToBridge({ wallet, srcChainId, destChainId, - processingFee, + fee, } as BridgeArgs; if (token.type === TokenType.ETH) { - const { bridgeAddress } = chainContractsMap[srcChainId]; - + const { bridgeAddress } = routingContractsMap[srcChainId][destChainId]; try { estimatedCost = await estimateCostOfBridging(bridges.ETH, { ...bridgeArgs, @@ -67,13 +66,13 @@ export async function checkBalanceToBridge({ throw new InsufficientBalanceError('you do not have enough balance to bridge'); } } else { - const { tokenVaultAddress } = chainContractsMap[srcChainId]; + const { erc20VaultAddress } = routingContractsMap[srcChainId][destChainId]; const tokenAddress = await getAddress({ token, srcChainId, destChainId }); // since we are briding a token, we need the ETH balance of the wallet balance = await getPublicClient().getBalance(wallet.account); - if (!tokenAddress || tokenAddress === zeroAddress) return false; + if (!tokenAddress || tokenAddress === zeroAddress || balance === BigInt(0)) return false; const bridge = bridges[token.type]; @@ -84,7 +83,7 @@ export async function checkBalanceToBridge({ amount, tokenAddress, ownerAddress: wallet.account.address, - spenderAddress: tokenVaultAddress, + spenderAddress: erc20VaultAddress, }); if (allowance) { @@ -92,9 +91,6 @@ export async function checkBalanceToBridge({ } } - // since we are briding a token, we need the ETH balance of the wallet - balance = await getPublicClient().getBalance(wallet.account); - const isTokenAlreadyDeployed = await isDeployedCrossChain({ token, srcChainId, @@ -104,8 +100,8 @@ export async function checkBalanceToBridge({ try { estimatedCost = await estimateCostOfBridging(bridges.ERC20, { ...bridgeArgs, - tokenAddress, - tokenVaultAddress, + token: tokenAddress, + tokenVaultAddress: erc20VaultAddress, isTokenAlreadyDeployed, } as ERC20BridgeArgs); } catch (err) { diff --git a/packages/bridge-ui-v2/src/libs/bridge/fetchTransactions.ts b/packages/bridge-ui-v2/src/libs/bridge/fetchTransactions.ts index 7a20d655c7e..8e198970dc3 100644 --- a/packages/bridge-ui-v2/src/libs/bridge/fetchTransactions.ts +++ b/packages/bridge-ui-v2/src/libs/bridge/fetchTransactions.ts @@ -1,29 +1,45 @@ import type { Address } from 'viem'; -import { relayerApiService } from '$libs/relayer'; +import { relayerApiServices } from '$libs/relayer'; import { bridgeTxService } from '$libs/storage'; import { getLogger } from '$libs/util/logger'; import { mergeAndCaptureOutdatedTransactions } from '$libs/util/mergeTransactions'; -import type { BridgeTransaction } from './types'; +import { type BridgeTransaction, MessageStatus } from './types'; const log = getLogger('bridge:fetchTransactions'); +let error: Error; export async function fetchTransactions(userAddress: Address) { // Transactions from local storage const localTxs: BridgeTransaction[] = await bridgeTxService.getAllTxByAddress(userAddress); - // Transactions from relayer - const { txs } = await relayerApiService.getAllBridgeTransactionByAddress(userAddress, { - page: 0, - size: 100, + // Get all transactions from all relayers + const relayerTxPromises: Promise[] = relayerApiServices.map(async (relayerApiService) => { + const { txs } = await relayerApiService.getAllBridgeTransactionByAddress(userAddress, { + page: 0, + size: 100, + }); + log(`fetched ${txs.length} transactions from relayer`, txs); + return txs; }); - log(`fetched ${txs.length} transactions from relayer`, txs); - const { mergedTransactions, outdatedLocalTransactions } = mergeAndCaptureOutdatedTransactions(localTxs, txs); - log( - `merging ${localTxs.length} local and ${txs.length} relayer transactions. New size: ${mergedTransactions.length}`, - ); + let relayerTxsArrays: BridgeTransaction[][] + // Wait for all promises to resolve + try { + relayerTxsArrays = await Promise.all(relayerTxPromises); + } catch (e) { + log('error fetching transactions from relayers', e); + error = e as Error; + relayerTxsArrays = [] + } + + // Flatten the arrays into a single array + const relayerTxs: BridgeTransaction[] = relayerTxsArrays.reduce((acc, txs) => acc.concat(txs), []); + + log(`fetched ${relayerTxs.length} transactions from all relayers`, relayerTxs); + + const { mergedTransactions, outdatedLocalTransactions } = mergeAndCaptureOutdatedTransactions(localTxs, relayerTxs); if (outdatedLocalTransactions.length > 0) { log( `found ${outdatedLocalTransactions.length} outdated transaction(s)`, @@ -31,5 +47,18 @@ export async function fetchTransactions(userAddress: Address) { ); } - return { mergedTransactions, outdatedLocalTransactions }; + // Sort by status + const statusOrder: MessageStatus[] = [ + MessageStatus.NEW, + MessageStatus.RETRIABLE, + MessageStatus.FAILED, + MessageStatus.DONE, + ]; + + mergedTransactions.sort((a: BridgeTransaction, b: BridgeTransaction) => { + const aStatusIndex = a.status !== undefined ? statusOrder.indexOf(a.status) : -1; + const bStatusIndex = b.status !== undefined ? statusOrder.indexOf(b.status) : -1; + return aStatusIndex - bStatusIndex; + }); + return { mergedTransactions, outdatedLocalTransactions, error }; } diff --git a/packages/bridge-ui-v2/src/libs/bridge/getMaxAmountToBridge.ts b/packages/bridge-ui-v2/src/libs/bridge/getMaxAmountToBridge.ts index 06e9bc88c06..9cebc5c7e37 100644 --- a/packages/bridge-ui-v2/src/libs/bridge/getMaxAmountToBridge.ts +++ b/packages/bridge-ui-v2/src/libs/bridge/getMaxAmountToBridge.ts @@ -1,6 +1,6 @@ import type { Address } from 'viem'; -import { chainContractsMap } from '$libs/chain'; +import { routingContractsMap } from '$bridgeConfig'; import { type Token, TokenType } from '$libs/token'; import { getConnectedWallet } from '$libs/util/getConnectedWallet'; import { getLogger } from '$libs/util/logger'; @@ -16,7 +16,7 @@ type GetMaxToBridgeArgs = { amount?: bigint; srcChainId?: number; destChainId?: number; - processingFee?: bigint; + fee?: bigint; }; const log = getLogger('bridge:getMaxAmountToBridge'); @@ -28,7 +28,7 @@ export async function getMaxAmountToBridge({ balance, srcChainId, destChainId, - processingFee, + fee, }: GetMaxToBridgeArgs) { // For ERC20 tokens, we can bridge the whole balance let maxAmount = balance; @@ -40,7 +40,7 @@ export async function getMaxAmountToBridge({ } const wallet = await getConnectedWallet(); - const { bridgeAddress } = chainContractsMap[srcChainId]; + const { bridgeAddress } = routingContractsMap[srcChainId][destChainId]; const bridgeArgs = { to, @@ -49,7 +49,7 @@ export async function getMaxAmountToBridge({ srcChainId, destChainId, bridgeAddress, - processingFee, + fee, } as ETHBridgeArgs; const estimatedCost = await estimateCostOfBridging(bridges.ETH, bridgeArgs); @@ -57,7 +57,7 @@ export async function getMaxAmountToBridge({ log('Estimated cost of bridging', estimatedCost, 'with argument', bridgeArgs); // We also need to take into account the processing fee if any - maxAmount = balance - estimatedCost - (processingFee ?? BigInt(0)); + maxAmount = balance - estimatedCost - (fee ?? BigInt(0)); } return maxAmount; diff --git a/packages/bridge-ui-v2/src/libs/bridge/isTransactionProcessable.ts b/packages/bridge-ui-v2/src/libs/bridge/isTransactionProcessable.ts index f16ed469e15..0df351b15e5 100644 --- a/packages/bridge-ui-v2/src/libs/bridge/isTransactionProcessable.ts +++ b/packages/bridge-ui-v2/src/libs/bridge/isTransactionProcessable.ts @@ -1,7 +1,7 @@ import { getContract } from '@wagmi/core'; import { crossChainSyncABI } from '$abi'; -import { chainContractsMap } from '$libs/chain'; +import { routingContractsMap } from '$bridgeConfig'; import { publicClient } from '$libs/wagmi'; import { type BridgeTransaction, MessageStatus } from './types'; @@ -19,7 +19,7 @@ export async function isTransactionProcessable(bridgeTx: BridgeTransaction) { // TODO: do better job here as this is to make the UI happy if (status !== MessageStatus.NEW) return true; - const destCrossChainSyncAddress = chainContractsMap[Number(destChainId)].crossChainSyncAddress; + const destCrossChainSyncAddress = routingContractsMap[Number(destChainId)][Number(srcChainId)].crossChainSyncAddress; try { const destCrossChainSyncContract = getContract({ diff --git a/packages/bridge-ui-v2/src/libs/bridge/messageStatusPoller.ts b/packages/bridge-ui-v2/src/libs/bridge/messageStatusPoller.ts index 3c0548484d4..1209a044d7a 100644 --- a/packages/bridge-ui-v2/src/libs/bridge/messageStatusPoller.ts +++ b/packages/bridge-ui-v2/src/libs/bridge/messageStatusPoller.ts @@ -2,8 +2,8 @@ import { getContract, type Hash } from '@wagmi/core'; import { EventEmitter } from 'events'; import { bridgeABI } from '$abi'; +import { routingContractsMap } from '$bridgeConfig'; import { bridgeTransactionPoller } from '$config'; -import { chainContractsMap } from '$libs/chain'; import { BridgeTxPollingError } from '$libs/error'; import { getLogger } from '$libs/util/logger'; import { nextTick } from '$libs/util/nextTick'; @@ -46,7 +46,7 @@ const hashIntervalMap: Record = {}; * } */ export function startPolling(bridgeTx: BridgeTransaction, runImmediately = false) { - const { hash, destChainId, msgHash, status } = bridgeTx; + const { hash, srcChainId, destChainId, msgHash, status } = bridgeTx; // Without this we cannot poll at all. Let's throw an error // that can be handled in the UI @@ -64,7 +64,7 @@ export function startPolling(bridgeTx: BridgeTransaction, runImmediately = false let interval = hashIntervalMap[hash]; // We are gonna be polling the destination bridge contract - const destBridgeAddress = chainContractsMap[Number(destChainId)].bridgeAddress; + const destBridgeAddress = routingContractsMap[Number(destChainId)][Number(srcChainId)].bridgeAddress; const destBridgeContract = getContract({ address: destBridgeAddress, abi: bridgeABI, diff --git a/packages/bridge-ui-v2/src/libs/bridge/types.ts b/packages/bridge-ui-v2/src/libs/bridge/types.ts index 0529e8f910b..bd5f3a531c6 100644 --- a/packages/bridge-ui-v2/src/libs/bridge/types.ts +++ b/packages/bridge-ui-v2/src/libs/bridge/types.ts @@ -17,24 +17,22 @@ export enum MessageStatus { export type Message = { // Message ID. Will be set in contract id: bigint; - // Message sender address (auto filled) - sender: Address; + // Message from address (auto filled) + from: Address; // Source chain ID (auto filled) srcChainId: bigint; // Destination chain ID where the `to` address lives (auto filled) destChainId: bigint; - // Owner address of the bridged asset. - owner: Address; + // User address of the bridged asset. + user: Address; // Destination owner address to: Address; // Alternate address to send any refund. If blank, defaults to owner. - refundAddress: Address; - // Deposited Ether minus the processingFee. - depositValue: bigint; - // callValue to invoke on the destination chain, for ERC20 transfers. - callValue: bigint; + refundTo: Address; + // value to invoke on the destination chain, for ERC20 transfers. + value: bigint; // Processing fee for the relayer. Zero if owner will process themself. - processingFee: bigint; + fee: bigint; // gasLimit to invoke on the destination chain, for ERC20 transfers. gasLimit: bigint; // callData to invoke on the destination chain, for ERC20 transfers. @@ -47,15 +45,14 @@ export type Message = { // Identical to Message, but relayer uses capitalization export type RelayerMessage = { Id: bigint; - Sender: Address; + From: Address; SrcChainId: number | string | bigint; DestChainId: number | string | bigint; - Owner: Address; + User: Address; To: Address; - RefundAddress: Address; - DepositValue: bigint; - CallValue: bigint; - ProcessingFee: bigint; + RefundTo: Address; + Value: bigint; + Fee: bigint; GasLimit: bigint; Data: Hex; Memo: string; @@ -80,27 +77,14 @@ export type BridgeTransaction = { message?: Message; }; -// TokenVault sendERC20(...args) -export type SendERC20Args = [ - bigint, // destChainId - Address, // to - Address, // token - bigint, // amount - bigint, // gasLimit - bigint, // processingFee - Address, // refundAddress - string, // memo -]; - -// TODO: future sendToken(op: BridgeTransferOp) export type BridgeTransferOp = { destChainId: bigint; to: Address; token: Address; amount: bigint; gasLimit: bigint; - processingFee: bigint; - refundAddress: Address; + fee: bigint; + refundTo: Address; memo: string; }; @@ -117,7 +101,7 @@ export type BridgeArgs = { srcChainId: number; destChainId: number; amount: bigint; - processingFee: bigint; + fee: bigint; memo?: string; }; @@ -126,7 +110,7 @@ export type ETHBridgeArgs = BridgeArgs & { }; export type ERC20BridgeArgs = BridgeArgs & { - tokenAddress: Address; + token: Address; tokenVaultAddress: Address; isTokenAlreadyDeployed?: boolean; }; @@ -148,3 +132,25 @@ export interface Bridge { estimateGas(args: BridgeArgs): Promise; bridge(args: BridgeArgs): Promise; } + +export type ConfiguredBridgesType = { + configuredBridges: Array; +}; + +export type BridgeConfig = { + source: string; + destination: string; + addresses: AddressConfig; +}; + +export type AddressConfig = { + bridgeAddress: Address; + erc20VaultAddress: Address; + etherVaultAddress?: Address; + erc721VaultAddress: Address; + erc1155VaultAddress: Address; + crossChainSyncAddress: Address; + signalServiceAddress: Address; +}; + +export type RoutingMap = Record>; diff --git a/packages/bridge-ui-v2/src/libs/chain/chains.ts b/packages/bridge-ui-v2/src/libs/chain/chains.ts index 31a0832842b..6f931d7edae 100644 --- a/packages/bridge-ui-v2/src/libs/chain/chains.ts +++ b/packages/bridge-ui-v2/src/libs/chain/chains.ts @@ -1,176 +1,37 @@ -import type { Address, Chain } from '@wagmi/core'; - -import { - PUBLIC_L1_BRIDGE_ADDRESS, - PUBLIC_L1_CHAIN_ID, - PUBLIC_L1_CHAIN_NAME, - PUBLIC_L1_CROSS_CHAIN_SYNC_ADDRESS, - PUBLIC_L1_ERC721_VAULT_ADDRESS, - PUBLIC_L1_ERC1155_VAULT_ADDRESS, - PUBLIC_L1_EXPLORER_URL, - PUBLIC_L1_RPC_URL, - PUBLIC_L1_SIGNAL_SERVICE_ADDRESS, - PUBLIC_L1_TOKEN_VAULT_ADDRESS, - PUBLIC_L2_BRIDGE_ADDRESS, - PUBLIC_L2_CHAIN_ID, - PUBLIC_L2_CHAIN_NAME, - PUBLIC_L2_CROSS_CHAIN_SYNC_ADDRESS, - PUBLIC_L2_ERC721_VAULT_ADDRESS, - PUBLIC_L2_ERC1155_VAULT_ADDRESS, - PUBLIC_L2_EXPLORER_URL, - PUBLIC_L2_RPC_URL, - PUBLIC_L2_SIGNAL_SERVICE_ADDRESS, - PUBLIC_L2_TOKEN_VAULT_ADDRESS, - PUBLIC_L3_BRIDGE_ADDRESS, - PUBLIC_L3_CHAIN_ID, - PUBLIC_L3_CHAIN_NAME, - PUBLIC_L3_CROSS_CHAIN_SYNC_ADDRESS, - PUBLIC_L3_ERC721_VAULT_ADDRESS, - PUBLIC_L3_ERC1155_VAULT_ADDRESS, - PUBLIC_L3_EXPLORER_URL, - PUBLIC_L3_RPC_URL, - PUBLIC_L3_SIGNAL_SERVICE_ADDRESS, - PUBLIC_L3_TOKEN_VAULT_ADDRESS, -} from '$env/static/public'; - -export type ChainID = bigint; - -export const mainnetChain: Chain = { - id: Number(PUBLIC_L1_CHAIN_ID), - name: PUBLIC_L1_CHAIN_NAME, - network: 'L1', - nativeCurrency: { - name: 'Ether', - symbol: 'ETH', - decimals: 18, - }, - rpcUrls: { - public: { http: [PUBLIC_L1_RPC_URL] }, - default: { http: [PUBLIC_L1_RPC_URL] }, - }, - blockExplorers: { - default: { - name: 'Main', - url: PUBLIC_L1_EXPLORER_URL, +import type { Chain } from '@wagmi/core'; + +import { chainConfig } from '$chainConfig'; +import type { ChainConfigMap } from '$libs/chain'; + +function mapChainConfigToChain(chainId: string, chainConfig: ChainConfigMap[number]): Chain { + return { + id: Number(chainId), + name: chainConfig.name, + network: chainConfig.name, + nativeCurrency: { + name: 'ETH', + symbol: 'ETH', + decimals: 18, }, - }, -}; - -export const taikoChain: Chain = { - id: Number(PUBLIC_L2_CHAIN_ID), - name: PUBLIC_L2_CHAIN_NAME, - network: 'L2', - nativeCurrency: { - name: 'Ether', - symbol: 'ETH', - decimals: 18, - }, - rpcUrls: { - public: { http: [PUBLIC_L2_RPC_URL] }, - default: { http: [PUBLIC_L2_RPC_URL] }, - }, - blockExplorers: { - default: { - name: 'Main', - url: PUBLIC_L2_EXPLORER_URL, + rpcUrls: { + public: { http: [chainConfig.urls.rpc] }, + default: { http: [chainConfig.urls.rpc] }, }, - }, -}; + }; +} -export const taikoL3Chain: Chain = { - id: Number(PUBLIC_L3_CHAIN_ID), - name: PUBLIC_L3_CHAIN_NAME, - network: 'L3', - nativeCurrency: { - name: 'Ether', - symbol: 'ETH', - decimals: 18, - }, - rpcUrls: { - public: { http: [PUBLIC_L3_RPC_URL] }, - default: { http: [PUBLIC_L3_RPC_URL] }, - }, - blockExplorers: { - default: { - name: 'Layer 3', - url: PUBLIC_L3_EXPLORER_URL, - }, - }, -}; - -//Todo: add L3 chain -export const chains = [mainnetChain, taikoChain]; - -export const getChainName = (chainId: number) => { - const chain = chains.find((chain) => chain.id === chainId); - return chain?.name || chainId; -}; - -export const isSupportedChain = (chainId: ChainID): boolean => { - return chains.some((chain) => BigInt(chain.id) === chainId); -}; +export const chains: Chain[] = Object.entries(chainConfig).map(([chainId, chainConfig]) => + mapChainConfigToChain(chainId, chainConfig), +); -export const chainUrlMap: Record< - string, - { - rpcUrl: string; - explorerUrl: string; - } -> = { - [PUBLIC_L1_CHAIN_ID]: { - rpcUrl: PUBLIC_L1_RPC_URL, - explorerUrl: PUBLIC_L1_EXPLORER_URL, - }, - [PUBLIC_L2_CHAIN_ID]: { - rpcUrl: PUBLIC_L2_RPC_URL, - explorerUrl: PUBLIC_L2_EXPLORER_URL, - }, - [PUBLIC_L3_CHAIN_ID]: { - rpcUrl: PUBLIC_L3_RPC_URL, - explorerUrl: PUBLIC_L3_EXPLORER_URL, - }, +export const getConfiguredChainIds = (): number[] => { + return chains.map((chain) => Number(chain.id)); }; -// Todo: export to env? -export const chainIcons = { - [PUBLIC_L1_CHAIN_ID]: '/ethereum-chain.png', - [PUBLIC_L2_CHAIN_ID]: '/taiko-chain.png', - [PUBLIC_L3_CHAIN_ID]: '', +export const isSupportedChain = (chainId: number) => { + return chains.some((chain) => chain.id === chainId); }; -export const chainContractsMap: Record< - string, - { - bridgeAddress: Address; - tokenVaultAddress: Address; - erc721VaultAddress: Address; - erc1155VaultAddress: Address; - crossChainSyncAddress: Address; - signalServiceAddress: Address; - } -> = { - [PUBLIC_L1_CHAIN_ID]: { - bridgeAddress: PUBLIC_L1_BRIDGE_ADDRESS as Address, - tokenVaultAddress: PUBLIC_L1_TOKEN_VAULT_ADDRESS as Address, - erc721VaultAddress: PUBLIC_L1_ERC721_VAULT_ADDRESS as Address, - erc1155VaultAddress: PUBLIC_L1_ERC1155_VAULT_ADDRESS as Address, - crossChainSyncAddress: PUBLIC_L1_CROSS_CHAIN_SYNC_ADDRESS as Address, - signalServiceAddress: PUBLIC_L1_SIGNAL_SERVICE_ADDRESS as Address, - }, - [PUBLIC_L2_CHAIN_ID]: { - bridgeAddress: PUBLIC_L2_BRIDGE_ADDRESS as Address, - tokenVaultAddress: PUBLIC_L2_TOKEN_VAULT_ADDRESS as Address, - erc721VaultAddress: PUBLIC_L2_ERC721_VAULT_ADDRESS as Address, - erc1155VaultAddress: PUBLIC_L2_ERC1155_VAULT_ADDRESS as Address, - crossChainSyncAddress: PUBLIC_L2_CROSS_CHAIN_SYNC_ADDRESS as Address, - signalServiceAddress: PUBLIC_L2_SIGNAL_SERVICE_ADDRESS as Address, - }, - [PUBLIC_L3_CHAIN_ID]: { - bridgeAddress: PUBLIC_L3_BRIDGE_ADDRESS as Address, - tokenVaultAddress: PUBLIC_L3_TOKEN_VAULT_ADDRESS as Address, - erc721VaultAddress: PUBLIC_L3_ERC721_VAULT_ADDRESS as Address, - erc1155VaultAddress: PUBLIC_L3_ERC1155_VAULT_ADDRESS as Address, - crossChainSyncAddress: PUBLIC_L3_CROSS_CHAIN_SYNC_ADDRESS as Address, - signalServiceAddress: PUBLIC_L3_SIGNAL_SERVICE_ADDRESS as Address, - }, +export const getChainImages = (): Record => { + return Object.fromEntries(Object.entries(chainConfig).map(([chainId, config]) => [Number(chainId), config.icon])); }; diff --git a/packages/bridge-ui-v2/src/libs/chain/index.ts b/packages/bridge-ui-v2/src/libs/chain/index.ts index c2037b545dd..6a85535358d 100644 --- a/packages/bridge-ui-v2/src/libs/chain/index.ts +++ b/packages/bridge-ui-v2/src/libs/chain/index.ts @@ -1 +1,2 @@ export * from './chains'; +export * from './types'; diff --git a/packages/bridge-ui-v2/src/libs/chain/types.ts b/packages/bridge-ui-v2/src/libs/chain/types.ts new file mode 100644 index 00000000000..86cf20409ac --- /dev/null +++ b/packages/bridge-ui-v2/src/libs/chain/types.ts @@ -0,0 +1,25 @@ +export type ChainID = bigint; + +export enum LayerType { + L1 = 'L1', + L2 = 'L2', + L3 = 'L3', +} + +export type Urls = { + rpc: string; + explorer: string; +}; + +export type ChainConfig = { + name: string; + urls: Urls; + icon: string; + type: LayerType; +}; + +export type ChainConfigMap = Record; + +export type ConfiguredChains = { + configuredChains: Array>; +}; diff --git a/packages/bridge-ui-v2/src/libs/connect/web3modal.ts b/packages/bridge-ui-v2/src/libs/connect/web3modal.ts index 7855266ded2..536aa5f5730 100644 --- a/packages/bridge-ui-v2/src/libs/connect/web3modal.ts +++ b/packages/bridge-ui-v2/src/libs/connect/web3modal.ts @@ -1,21 +1,20 @@ import { EthereumClient } from '@web3modal/ethereum'; import { Web3Modal } from '@web3modal/html'; -import { PUBLIC_L1_CHAIN_ID, PUBLIC_L2_CHAIN_ID, PUBLIC_WALLETCONNECT_PROJECT_ID } from '$env/static/public'; -import { chains } from '$libs/chain'; +import { PUBLIC_WALLETCONNECT_PROJECT_ID } from '$env/static/public'; +import { chains, getChainImages } from '$libs/chain'; import { wagmiConfig } from '$libs/wagmi'; const projectId = PUBLIC_WALLETCONNECT_PROJECT_ID; const ethereumClient = new EthereumClient(wagmiConfig, chains); +const chainImages = getChainImages(); + export const web3modal = new Web3Modal( { projectId, - chainImages: { - [PUBLIC_L1_CHAIN_ID]: '/ethereum-chain.png', - [PUBLIC_L2_CHAIN_ID]: '/taiko-chain.png', - }, + chainImages, // TODO: can we bring these vars into Tailwind theme? themeVariables: { '--w3m-font-family': '"Public Sans", sans-serif', @@ -50,6 +49,7 @@ export const web3modal = new Web3Modal( '--w3m-color-bg-2': 'var(--neutral-background)', '--w3m-color-overlay': 'none', '--w3m-accent-color': 'var(--neutral-background)', + '--w3m-accent-fill-color': 'var(--dark-background)', }, themeMode: (localStorage.getItem('theme') as 'dark' | 'light') ?? 'dark', }, diff --git a/packages/bridge-ui-v2/src/libs/proof/BridgeProver.ts b/packages/bridge-ui-v2/src/libs/proof/BridgeProver.ts index 465ad203bc7..3b7daef37df 100644 --- a/packages/bridge-ui-v2/src/libs/proof/BridgeProver.ts +++ b/packages/bridge-ui-v2/src/libs/proof/BridgeProver.ts @@ -1,7 +1,7 @@ import { encodeAbiParameters, type Hash, toHex, toRlp } from 'viem'; +import { routingContractsMap } from '$bridgeConfig'; import { MessageStatus } from '$libs/bridge'; -import { chainContractsMap } from '$libs/chain'; import { InvalidProofError } from '$libs/error'; import { Prover } from './Prover'; @@ -39,8 +39,8 @@ export class BridgeProver extends Prover { } async generateProofToProcessMessage(msgHash: Hash, srcChainId: number, destChainId: number) { - const srcBridgeAddress = chainContractsMap[srcChainId].bridgeAddress; - const srcSignalServiceAddress = chainContractsMap[srcChainId].signalServiceAddress; + const srcBridgeAddress = routingContractsMap[srcChainId][destChainId].bridgeAddress; + const srcSignalServiceAddress = routingContractsMap[srcChainId][destChainId].signalServiceAddress; const { proof, block } = await this.generateProof({ msgHash, @@ -59,8 +59,8 @@ export class BridgeProver extends Prover { } async generateProofToRelease(msgHash: Hash, srcChainId: number, destChainId: number) { - const srcBridgeAddress = chainContractsMap[srcChainId].bridgeAddress; - const destBridgeAddress = chainContractsMap[destChainId].bridgeAddress; + const srcBridgeAddress = routingContractsMap[srcChainId][destChainId].bridgeAddress; + const destBridgeAddress = routingContractsMap[destChainId][srcChainId].bridgeAddress; const { proof, block } = await this.generateProof({ msgHash, diff --git a/packages/bridge-ui-v2/src/libs/proof/Prover.ts b/packages/bridge-ui-v2/src/libs/proof/Prover.ts index 7b182137144..b3cb623d3b7 100644 --- a/packages/bridge-ui-v2/src/libs/proof/Prover.ts +++ b/packages/bridge-ui-v2/src/libs/proof/Prover.ts @@ -2,7 +2,7 @@ import { getContract, type GetContractResult, type PublicClient } from '@wagmi/c import { type Address, encodePacked, type Hex, keccak256 } from 'viem'; import { crossChainSyncABI } from '$abi'; -import { chainContractsMap } from '$libs/chain'; +import { routingContractsMap } from '$bridgeConfig'; import { PendingBlockError } from '$libs/error'; import { getLogger } from '$libs/util/logger'; import { publicClient } from '$libs/wagmi'; @@ -27,7 +27,7 @@ export class Prover { async generateProof(args: GenerateProofArgs) { const { msgHash, clientChainId, contractAddress, crossChainSyncChainId, proofForAccountAddress } = args; - const crossChainSyncAddress = chainContractsMap[crossChainSyncChainId].crossChainSyncAddress; + const crossChainSyncAddress = routingContractsMap[crossChainSyncChainId][clientChainId].crossChainSyncAddress; // Get the block from chain A based on the latest block hash // we get cross chain (Taiko contract on chain B) diff --git a/packages/bridge-ui-v2/src/libs/relayer/RelayerAPIService.ts b/packages/bridge-ui-v2/src/libs/relayer/RelayerAPIService.ts index 76ae56170dd..c2a981b7bdf 100644 --- a/packages/bridge-ui-v2/src/libs/relayer/RelayerAPIService.ts +++ b/packages/bridge-ui-v2/src/libs/relayer/RelayerAPIService.ts @@ -4,12 +4,13 @@ import axios from 'axios'; import { Buffer } from 'buffer'; import { bridgeABI } from '$abi'; -import { type BridgeTransaction, MessageStatus } from '$libs/bridge'; +import { routingContractsMap } from '$bridgeConfig'; +import type { BridgeTransaction, MessageStatus } from '$libs/bridge'; +import { isSupportedChain } from '$libs/chain'; import { TokenType } from '$libs/token'; import { getLogger } from '$libs/util/logger'; import { publicClient } from '$libs/wagmi'; -import { chainContractsMap, isSupportedChain } from '../chain/chains'; import type { APIRequestParams, APIResponse, @@ -23,9 +24,16 @@ import type { const log = getLogger('RelayerAPIService'); export class RelayerAPIService { + constructor(baseUrl: string) { + log('relayer service instantiated'); + // There is a chance that by accident the env var + // does (or does not) have trailing slash for + // this baseURL. Normalize it, preventing errors + this.baseUrl = baseUrl.replace(/\/$/, ''); + } + //Todo: duplicate code in BridgeTxService private static async _getTransactionReceipt(chainId: number, hash: Hash) { - log(`Getting transaction receipt for ${hash} on chain ${chainId}`); try { const client = publicClient({ chainId }); const receipt = await client.getTransactionReceipt({ hash }); @@ -47,8 +55,8 @@ export class RelayerAPIService { continue; } - const { bridgeAddress } = chainContractsMap[item.chainID]; // TODO: also handle unsupported chain - const { DestChainId, SrcChainId } = Message; + const { DestChainId: destChainId, SrcChainId: srcChainId } = Message; + const { bridgeAddress } = routingContractsMap[Number(srcChainId)][Number(destChainId)]; const { transactionHash, address } = Raw; // Check all conditions @@ -56,7 +64,7 @@ export class RelayerAPIService { const isAddressPresent = Boolean(address); const isUniqueHash = !uniqueHashes.has(transactionHash); const isCorrectBridgeAddress = address?.toLowerCase() === bridgeAddress?.toLowerCase(); - const areChainsSupported = isSupportedChain(BigInt(DestChainId)) && isSupportedChain(BigInt(SrcChainId)); + const areChainsSupported = isSupportedChain(Number(destChainId)) && isSupportedChain(Number(srcChainId)); // If the transaction hash is unique, add it to the set for future checks if (isUniqueHash) uniqueHashes.add(transactionHash); @@ -76,12 +84,20 @@ export class RelayerAPIService { return filteredItems; } - private static async _getBridgeMessageStatus(msgHash: Hash, chainId: number) { - const { bridgeAddress } = chainContractsMap[Number(chainId)]; + private static async _getBridgeMessageStatus({ + msgHash, + srcChainId, + destChainId, + }: { + msgHash: Hash; + srcChainId: number; + destChainId: number; + }) { + const { bridgeAddress } = routingContractsMap[Number(destChainId)][Number(srcChainId)]; const result = await readContract({ address: bridgeAddress, abi: bridgeABI, - chainId: Number(chainId), + chainId: Number(destChainId), functionName: 'getMessageStatus', args: [msgHash], }); @@ -90,14 +106,6 @@ export class RelayerAPIService { private readonly baseUrl: string; - constructor(baseUrl: string) { - log('relayer service instantiated'); - // There is a chance that by accident the env var - // does (or does not) have trailing slash for - // this baseURL. Normalize it, preventing errors - this.baseUrl = baseUrl.replace(/\/$/, ''); - } - async getTransactionsFromAPI(params: APIRequestParams): Promise { const requestURL = `${this.baseUrl}/events`; @@ -109,8 +117,7 @@ export class RelayerAPIService { timeout: 5000, // todo: discuss and move to config }); - // response.data.items.push(...mockedData); - if (response.status >= 400) throw response; + if (!response || response.status >= 400) throw response; log('Events form API', response.data); @@ -157,7 +164,6 @@ export class RelayerAPIService { } const items = RelayerAPIService._filterDuplicateAndWrongBridge(apiTxs.items); - const txs: BridgeTransaction[] = items.map((tx: APIResponseTransaction) => { let data: string = tx.data.Message.Data; if (data === '') { @@ -180,17 +186,16 @@ export class RelayerAPIService { message: { id: tx.data.Message.Id, to: tx.data.Message.To, - data: tx.data.Message.Data, + data, memo: tx.data.Message.Memo, - owner: tx.data.Message.Owner, - sender: tx.data.Message.Sender, + user: tx.data.Message.User, + from: tx.data.Message.From, gasLimit: BigInt(tx.data.Message.GasLimit), - callValue: BigInt(tx.data.Message.CallValue), + value: BigInt(tx.data.Message.Value), srcChainId: BigInt(tx.data.Message.SrcChainId), destChainId: BigInt(tx.data.Message.DestChainId), - depositValue: BigInt(tx.data.Message.DepositValue), - processingFee: BigInt(tx.data.Message.ProcessingFee), - refundAddress: tx.data.Message.RefundAddress, + fee: BigInt(tx.data.Message.Fee), + refundTo: tx.data.Message.RefundTo, }, } as BridgeTransaction; @@ -213,7 +218,11 @@ export class RelayerAPIService { if (!msgHash) return; //todo: handle this case - const status = await RelayerAPIService._getBridgeMessageStatus(msgHash, Number(destChainId)); + const status = await RelayerAPIService._getBridgeMessageStatus({ + msgHash, + srcChainId: Number(srcChainId), + destChainId: Number(destChainId), + }); // Update the status bridgeTx.status = status; @@ -230,11 +239,7 @@ export class RelayerAPIService { // Spreading to preserve original txs in case of array mutation log('Enhanced transactions', [...bridgeTxs]); - // We want to show the latest transactions first - bridgeTxs.reverse(); - // Place new transactions at the top of the list - bridgeTxs.sort((tx) => (tx.status === MessageStatus.NEW ? -1 : 1)); return { txs: bridgeTxs, paginationInfo }; } @@ -267,11 +272,11 @@ export class RelayerAPIService { function _checkType(bridgeTx: BridgeTransaction): TokenType { const to = bridgeTx.message?.to; switch (to) { - case chainContractsMap[Number(bridgeTx.srcChainId)].tokenVaultAddress: + case routingContractsMap[Number(bridgeTx.destChainId)][Number(bridgeTx.srcChainId)].erc20VaultAddress: return TokenType.ERC20; - case chainContractsMap[Number(bridgeTx.srcChainId)].erc721VaultAddress: + case routingContractsMap[Number(bridgeTx.destChainId)][Number(bridgeTx.srcChainId)].erc721VaultAddress: return TokenType.ERC721; - case chainContractsMap[Number(bridgeTx.srcChainId)].erc1155VaultAddress: + case routingContractsMap[Number(bridgeTx.destChainId)][Number(bridgeTx.srcChainId)].erc1155VaultAddress: return TokenType.ERC1155; default: return TokenType.ETH; diff --git a/packages/bridge-ui-v2/src/libs/relayer/index.ts b/packages/bridge-ui-v2/src/libs/relayer/index.ts index a26d79b9225..dfd22e0e6a7 100644 --- a/packages/bridge-ui-v2/src/libs/relayer/index.ts +++ b/packages/bridge-ui-v2/src/libs/relayer/index.ts @@ -1,5 +1,2 @@ -import { PUBLIC_RELAYER_URL } from '$env/static/public'; - -import { RelayerAPIService } from './RelayerAPIService'; - -export const relayerApiService = new RelayerAPIService(PUBLIC_RELAYER_URL); +export { relayerApiServices } from './initRelayers'; +export * from './types'; diff --git a/packages/bridge-ui-v2/src/libs/relayer/initRelayers.ts b/packages/bridge-ui-v2/src/libs/relayer/initRelayers.ts new file mode 100644 index 00000000000..e00307b080e --- /dev/null +++ b/packages/bridge-ui-v2/src/libs/relayer/initRelayers.ts @@ -0,0 +1,7 @@ +import { configuredRelayer } from '$relayerConfig'; + +import { RelayerAPIService } from './RelayerAPIService'; + +export const relayerApiServices: RelayerAPIService[] = configuredRelayer.map( + (relayerConfig) => new RelayerAPIService(relayerConfig.url), +); diff --git a/packages/bridge-ui-v2/src/libs/relayer/types.ts b/packages/bridge-ui-v2/src/libs/relayer/types.ts index 599c9064afb..7804910b8ee 100644 --- a/packages/bridge-ui-v2/src/libs/relayer/types.ts +++ b/packages/bridge-ui-v2/src/libs/relayer/types.ts @@ -81,3 +81,12 @@ export type APIResponse = PaginationInfo & { items: APIResponseTransaction[]; visible: number; }; + +export type RelayerConfig = { + chainIds: number[]; + url: string; +}; + +export type ConfiguredRelayer = { + configuredRelayer: RelayerConfig[]; +}; diff --git a/packages/bridge-ui-v2/src/libs/storage/BridgeTxService.ts b/packages/bridge-ui-v2/src/libs/storage/BridgeTxService.ts index bc531b77141..8a6d5d8af24 100644 --- a/packages/bridge-ui-v2/src/libs/storage/BridgeTxService.ts +++ b/packages/bridge-ui-v2/src/libs/storage/BridgeTxService.ts @@ -2,15 +2,22 @@ import { getContract, waitForTransaction } from '@wagmi/core'; import type { Address, Hash, TransactionReceipt } from 'viem'; import { bridgeABI } from '$abi'; +import { routingContractsMap } from '$bridgeConfig'; import { pendingTransaction, storageService } from '$config'; import { type BridgeTransaction, MessageStatus } from '$libs/bridge'; -import { chainContractsMap, isSupportedChain } from '$libs/chain'; +import { isSupportedChain } from '$libs/chain'; import { jsonParseWithDefault } from '$libs/util/jsonParseWithDefault'; import { getLogger } from '$libs/util/logger'; import { publicClient } from '$libs/wagmi'; const log = getLogger('storage:BridgeTxService'); +type BridgeMessageParams = { + msgHash: Hash; + srcChainId: number; + destChainId: number; +}; + export class BridgeTxService { private readonly storage: Storage; @@ -27,13 +34,23 @@ export class BridgeTxService { } } - private static async _getBridgeMessageSent(userAddress: Address, chainId: number, blockNumber: number) { + private static async _getBridgeMessageSent({ + userAddress, + srcChainId, + destChainId, + blockNumber, + }: { + userAddress: Address; + srcChainId: number; + destChainId: number; + blockNumber: number; + }) { // Gets the event MessageSent from the bridge contract // in the block where the transaction was mined, and find // our event MessageSent whose owner is the address passed in - const bridgeAddress = chainContractsMap[chainId].bridgeAddress; - const client = publicClient({ chainId }); + const bridgeAddress = routingContractsMap[srcChainId][destChainId].bridgeAddress; + const client = publicClient({ chainId: srcChainId }); const filter = await client.createContractEventFilter({ abi: bridgeABI, @@ -47,14 +64,15 @@ export class BridgeTxService { const messageSentEvents = await client.getFilterLogs({ filter }); // Filter out those events that are not from the current address - return messageSentEvents.find(({ args }) => args.message?.owner.toLowerCase() === userAddress.toLowerCase()); + return messageSentEvents.find(({ args }) => args.message?.user.toLowerCase() === userAddress.toLowerCase()); } - private static _getBridgeMessageStatus(msgHash: Hash, chainId: number) { - const bridgeAddress = chainContractsMap[chainId].bridgeAddress; + private static _getBridgeMessageStatus({ msgHash, srcChainId, destChainId }: BridgeMessageParams) { + // Gets the status of the message from the destination bridge contract + const bridgeAddress = routingContractsMap[destChainId][srcChainId].bridgeAddress; const bridgeContract = getContract({ - chainId, + chainId: destChainId, abi: bridgeABI, address: bridgeAddress, }); @@ -81,7 +99,7 @@ export class BridgeTxService { const { destChainId, srcChainId, hash } = bridgeTx; // Ignore transactions from chains not supported by the bridge - if (isSupportedChain(srcChainId)) return; + if (!isSupportedChain(Number(srcChainId))) return; let receipt: TransactionReceipt | null = null; @@ -105,11 +123,12 @@ export class BridgeTxService { // We have receipt bridgeTx.receipt = receipt; - const messageSentEvent = await BridgeTxService._getBridgeMessageSent( - address, - Number(srcChainId), - Number(receipt.blockNumber), - ); + const messageSentEvent = await BridgeTxService._getBridgeMessageSent({ + userAddress: address, + srcChainId: Number(srcChainId), + destChainId: Number(destChainId), + blockNumber: Number(receipt.blockNumber), + }); if (!messageSentEvent?.args?.msgHash || !messageSentEvent?.args?.message) { // No message yet, so we can't get more info from this transaction @@ -123,7 +142,11 @@ export class BridgeTxService { bridgeTx.msgHash = msgHash; bridgeTx.message = message; - const status = await BridgeTxService._getBridgeMessageStatus(msgHash, Number(destChainId)); + const status = await BridgeTxService._getBridgeMessageStatus({ + msgHash: msgHash, + srcChainId: Number(srcChainId), + destChainId: Number(destChainId), + }); bridgeTx.status = status; return bridgeTx; diff --git a/packages/bridge-ui-v2/src/libs/token/checkMintable.test.ts b/packages/bridge-ui-v2/src/libs/token/checkMintable.test.ts index 6802f6332e2..56d894011b1 100644 --- a/packages/bridge-ui-v2/src/libs/token/checkMintable.test.ts +++ b/packages/bridge-ui-v2/src/libs/token/checkMintable.test.ts @@ -6,19 +6,33 @@ import { type PublicClient, type WalletClient, } from '@wagmi/core'; +import { zeroAddress } from 'viem'; import { freeMintErc20ABI } from '$abi'; -import { mainnetChain } from '$libs/chain'; import { InsufficientBalanceError, TokenMintedError } from '$libs/error'; import { checkMintable } from './checkMintable'; -import { testERC20Tokens } from './tokens'; +import { type Token, TokenType } from './types'; vi.mock('$env/static/public'); vi.mock('@wagmi/core'); vi.mock('$abi'); -const BLLToken = testERC20Tokens[0]; +const PUBLIC_L1_CHAIN_ID = 11155111; +const PUBLIC_L2_CHAIN_ID = 1670005; + +const L1_TOKEN_ADDRESS = '0x123456'; + +const BLLToken: Token = { + name: 'MockToken', + addresses: { + [PUBLIC_L1_CHAIN_ID]: L1_TOKEN_ADDRESS, + [PUBLIC_L2_CHAIN_ID]: zeroAddress, + }, + symbol: 'MOCK', + decimals: 18, + type: TokenType.ERC20, +}; const mockWalletClient = { account: { address: '0x123' }, @@ -53,14 +67,14 @@ describe('checkMintable', () => { vi.mocked(mockTokenContract.read.minters).mockResolvedValueOnce(true); try { - await checkMintable(BLLToken, mainnetChain.id); + await checkMintable(BLLToken, 1); expect.fail('should have thrown'); } catch (error) { expect(error).toBeInstanceOf(TokenMintedError); expect(getContract).toHaveBeenCalledWith({ walletClient: mockWalletClient, abi: freeMintErc20ABI, - address: BLLToken.addresses[mainnetChain.id], + address: BLLToken.addresses[1], }); expect(mockTokenContract.read.minters).toHaveBeenCalledWith([mockWalletClient.account.address]); } @@ -81,7 +95,7 @@ describe('checkMintable', () => { vi.mocked(mockPublicClient.getBalance).mockResolvedValueOnce(BigInt(100)); try { - await checkMintable(BLLToken, mainnetChain.id); + await checkMintable(BLLToken, 1); expect.fail('should have thrown'); } catch (error) { expect(error).toBeInstanceOf(InsufficientBalanceError); @@ -106,7 +120,7 @@ describe('checkMintable', () => { vi.mocked(mockPublicClient.getBalance).mockResolvedValueOnce(BigInt(300)); try { - await checkMintable(BLLToken, mainnetChain.id); + await checkMintable(BLLToken, 1); } catch (error) { expect.fail('should not have thrown'); } diff --git a/packages/bridge-ui-v2/src/libs/token/getAddress.test.ts b/packages/bridge-ui-v2/src/libs/token/getAddress.test.ts index d40df436e5c..7d00df59e59 100644 --- a/packages/bridge-ui-v2/src/libs/token/getAddress.test.ts +++ b/packages/bridge-ui-v2/src/libs/token/getAddress.test.ts @@ -1,15 +1,29 @@ import { getContract, type GetContractResult } from '@wagmi/core'; - -import { PUBLIC_L1_CHAIN_ID, PUBLIC_L2_CHAIN_ID } from '$env/static/public'; +import { zeroAddress } from 'viem'; import { getAddress } from './getAddress'; -import { ETHToken, testERC20Tokens } from './tokens'; +import { ETHToken } from './tokens'; +import { type Token, TokenType } from './types'; vi.mock('$env/static/public'); vi.mock('@wagmi/core'); vi.mock('$abi'); -const HORSEToken = testERC20Tokens[1]; +const PUBLIC_L1_CHAIN_ID = 11155111; +const PUBLIC_L2_CHAIN_ID = 1670005; + +const L1_TOKEN_ADDRESS = '0x123456'; + +const HORSEToken: Token = { + name: 'MockToken', + addresses: { + [PUBLIC_L1_CHAIN_ID]: L1_TOKEN_ADDRESS, + [PUBLIC_L2_CHAIN_ID]: zeroAddress, + }, + symbol: 'MOCK', + decimals: 18, + type: TokenType.ERC20, +}; const mockTokenContract = { read: { diff --git a/packages/bridge-ui-v2/src/libs/token/getAddress.ts b/packages/bridge-ui-v2/src/libs/token/getAddress.ts index 42baeced17b..8bf22da9c48 100644 --- a/packages/bridge-ui-v2/src/libs/token/getAddress.ts +++ b/packages/bridge-ui-v2/src/libs/token/getAddress.ts @@ -25,13 +25,10 @@ export async function getAddress({ token, srcChainId, destChainId }: GetAddressA // there is nothing we can do here. if (!destChainId) return; - // Find the address on the destination chain instead. We are - // most likely on Taiko chain. We need to then query the - // canonicalToBridged mapping on the other chain address = await getCrossChainAddress({ token, - srcChainId: destChainId, - destChainId: srcChainId, + srcChainId: srcChainId, + destChainId: destChainId, }); if (!address || address === zeroAddress) { diff --git a/packages/bridge-ui-v2/src/libs/token/getBalance.test.ts b/packages/bridge-ui-v2/src/libs/token/getBalance.test.ts index 12db6a12687..3fdd8e91e19 100644 --- a/packages/bridge-ui-v2/src/libs/token/getBalance.test.ts +++ b/packages/bridge-ui-v2/src/libs/token/getBalance.test.ts @@ -1,11 +1,10 @@ import { fetchBalance, type WalletClient } from '@wagmi/core'; import { zeroAddress } from 'viem'; -import { PUBLIC_L1_CHAIN_ID } from '$env/static/public'; - import { getAddress } from './getAddress'; import { getBalance } from './getBalance'; -import { ETHToken, testERC20Tokens } from './tokens'; +import { ETHToken } from './tokens'; +import { type Token, TokenType } from './types'; vi.mock('$env/static/public'); vi.mock('@wagmi/core'); @@ -14,7 +13,21 @@ vi.mock('$abi'); // We don't want to test this function again, do we? vi.mock('./getAddress'); -const BLLToken = testERC20Tokens[0]; +const PUBLIC_L1_CHAIN_ID = 11155111; +const PUBLIC_L2_CHAIN_ID = 1670005; + +const L1_TOKEN_ADDRESS = '0x123456'; + +const BLLToken: Token = { + name: 'MockToken', + addresses: { + [PUBLIC_L1_CHAIN_ID]: L1_TOKEN_ADDRESS, + [PUBLIC_L2_CHAIN_ID]: zeroAddress, + }, + symbol: 'MOCK', + decimals: 18, + type: TokenType.ERC20, +}; const mockWalletClient = { account: { address: '0xasdf' }, diff --git a/packages/bridge-ui-v2/src/libs/token/getCrossChainAddress.ts b/packages/bridge-ui-v2/src/libs/token/getCrossChainAddress.ts index b6fa27edacd..71450b8d36d 100644 --- a/packages/bridge-ui-v2/src/libs/token/getCrossChainAddress.ts +++ b/packages/bridge-ui-v2/src/libs/token/getCrossChainAddress.ts @@ -1,65 +1,128 @@ import { type Address, getContract } from '@wagmi/core'; import { zeroAddress } from 'viem'; -import { tokenVaultABI } from '$abi'; -import { chainContractsMap } from '$libs/chain'; +import { erc20VaultABI } from '$abi'; +import { routingContractsMap } from '$bridgeConfig'; +import { chains } from '$libs/chain'; import { getLogger } from '$libs/util/logger'; import { type GetCrossChainAddressArgs, TokenType } from './types'; const log = getLogger('token:getCrossChainAddress'); +// TODO: have another look at this function + export async function getCrossChainAddress({ token, srcChainId, destChainId, }: GetCrossChainAddressArgs): Promise
    { if (token.type === TokenType.ETH) return null; // ETH doesn't have an address - log( `Getting cross chain address for token ${token.symbol} (${token.name}) from chain ${srcChainId} to chain ${destChainId}`, ); + + if (token.type === TokenType.ERC721) return null; // TODO + if (token.type === TokenType.ERC1155) return null; // TODO + const srcChainTokenAddress = token.addresses[srcChainId]; const destChainTokenAddress = token.addresses[destChainId]; - // check if we already have it - if (destChainTokenAddress && destChainTokenAddress !== zeroAddress) { + const existsOnDestinationChain = destChainTokenAddress && destChainTokenAddress !== zeroAddress; + const existsOnSourceChain = srcChainTokenAddress && srcChainTokenAddress !== zeroAddress; + + // check if we already have it but only if we have it on the current chain as well + if (existsOnDestinationChain && existsOnSourceChain) { return token.addresses[destChainId]; } - if (!srcChainTokenAddress || srcChainTokenAddress === zeroAddress) { - throw new Error( - `Token ${token.symbol} (${token.name}) does not have any valid configured address on chain ${srcChainId} or ${destChainId}`, - ); - } + // it could be that we don't have the token address on the current chain, but we have it on another chain + if (!existsOnSourceChain) { + // find one chain with a configured address + const configuredChainId = Object.keys(token.addresses).find((chainId) => token.addresses[chainId] !== zeroAddress); + + // if we have no configuration at all, we cannot find the address + if (!configuredChainId) return null; + + // get the configured token address on that chain + const configuredTokenAddress = token.addresses[Number(configuredChainId)]; + + // we need find a vault that is configured with the selected srcChainId and the configuredChainId + const erc20VaultInfo = chains + .filter((chain) => { + const routesForChain = routingContractsMap[chain.id]; + return ( + routesForChain && + routesForChain[Number(configuredChainId)] && + routesForChain[Number(configuredChainId)].erc20VaultAddress + ); + }) + .map((chain) => { + const erc20VaultAddress = routingContractsMap[chain.id][Number(configuredChainId)].erc20VaultAddress; + return { + chainId: chain.id, + vaultAddress: erc20VaultAddress, + }; + }); + + // if we don't have any vault, we cannot find the address + if (erc20VaultInfo.length === 0) return null; - const { tokenVaultAddress: srcChainTokenVaultAddress } = chainContractsMap[srcChainId]; - const { tokenVaultAddress: destChainTokenVaultAddress } = chainContractsMap[destChainId]; - - const srcTokenVaultContract = getContract({ - abi: tokenVaultABI, - chainId: srcChainId, - address: srcChainTokenVaultAddress, - }); - - const destTokenVaultContract = getContract({ - abi: tokenVaultABI, - chainId: destChainId, - address: destChainTokenVaultAddress, - }); - - // first we need to figure out the canonical address of the token - const canonicalTokenInfo = await srcTokenVaultContract.read.bridgedToCanonical([srcChainTokenAddress]); - const canonicalTokenAddress = canonicalTokenInfo[1]; // this will break if the contracts ever change the order of the return values - - // if the canonical address is 0x0, then the token is canonical - if (canonicalTokenAddress === zeroAddress) { - // let's check if it is bridged on the destination chain by querying the destination vault - // e.g. bridged L1 -> L2 with native L1 token - return await destTokenVaultContract.read.canonicalToBridged([BigInt(srcChainId), srcChainTokenAddress]); + // use the first one we find + const { chainId: foundChainId, vaultAddress: erc20VaultAddress } = erc20VaultInfo[0]; + + const configuredTokenVaultContract = getContract({ + abi: erc20VaultABI, + chainId: foundChainId, + address: erc20VaultAddress, + }); + + const bridgedAddress = await configuredTokenVaultContract.read.canonicalToBridged([ + BigInt(configuredChainId), + configuredTokenAddress, + ]); + + return bridgedAddress; + + // now that we have the bridgedAddress address, we can check if it is bridged + // const { erc20VaultAddress: destChainTokenVaultAddress } = + // routingContractsMap[destChainId][foundChainId]; + // const destTokenVaultContract = getContract({ + // abi: erc20VaultABI, + // chainId: destChainId, + // address: destChainTokenVaultAddress, + // }); + + // return await destTokenVaultContract.read.canonicalToBridged([BigInt(destChainId), bridgedAddress]); } else { - // if we have found a canonical, we can check for the bridged address on the source token vault - // e.g. bridging L2 -> L1 with native L1 token - return await srcTokenVaultContract.read.canonicalToBridged([BigInt(destChainId), canonicalTokenAddress]); + const { erc20VaultAddress: srcChainTokenVaultAddress } = routingContractsMap[srcChainId][destChainId]; + const { erc20VaultAddress: destChainTokenVaultAddress } = routingContractsMap[destChainId][srcChainId]; + + const srcTokenVaultContract = getContract({ + abi: erc20VaultABI, + chainId: srcChainId, + address: srcChainTokenVaultAddress, + }); + + const destTokenVaultContract = getContract({ + abi: erc20VaultABI, + chainId: destChainId, + address: destChainTokenVaultAddress, + }); + + // first we need to figure out the canonical address of the token + const canonicalTokenInfo = await srcTokenVaultContract.read.bridgedToCanonical([srcChainTokenAddress]); + const canonicalTokenAddress = canonicalTokenInfo[1]; // this will break if the contracts ever change the order of the return values + + // if the canonical address is 0x0, then the token is canonical + if (canonicalTokenAddress === zeroAddress) { + // let's check if it is bridged on the destination chain by querying the destination vault + // e.g. bridged L1 -> L2 with native L1 token + return await destTokenVaultContract.read.canonicalToBridged([BigInt(srcChainId), srcChainTokenAddress]); + } else { + // if we have found a canonical, we can check for the bridged address on the source token vault + // e.g. bridging L2 -> L1 with native L1 token + return await srcTokenVaultContract.read.canonicalToBridged([BigInt(destChainId), canonicalTokenAddress]); + } } } diff --git a/packages/bridge-ui-v2/src/libs/token/mint.test.ts b/packages/bridge-ui-v2/src/libs/token/mint.test.ts index a39c917957e..c87ad0be574 100644 --- a/packages/bridge-ui-v2/src/libs/token/mint.test.ts +++ b/packages/bridge-ui-v2/src/libs/token/mint.test.ts @@ -1,15 +1,28 @@ import { getContract, type GetContractResult, getWalletClient, type WalletClient } from '@wagmi/core'; - -import { PUBLIC_L1_CHAIN_ID } from '$env/static/public'; +import { zeroAddress } from 'viem'; import { mint } from './mint'; -import { testERC20Tokens } from './tokens'; +import { type Token, TokenType } from './types'; vi.mock('$env/static/public'); vi.mock('@wagmi/core'); vi.mock('$abi'); -const BLLToken = testERC20Tokens[0]; +const PUBLIC_L1_CHAIN_ID = 11155111; +const PUBLIC_L2_CHAIN_ID = 1670005; + +const L1_TOKEN_ADDRESS = '0x123456'; + +const BLLToken: Token = { + name: 'MockToken', + addresses: { + [PUBLIC_L1_CHAIN_ID]: L1_TOKEN_ADDRESS, + [PUBLIC_L2_CHAIN_ID]: zeroAddress, + }, + symbol: 'MOCK', + decimals: 18, + type: TokenType.ERC20, +}; const mockWalletClient = { account: { address: '0x123' }, diff --git a/packages/bridge-ui-v2/src/libs/token/tokens.ts b/packages/bridge-ui-v2/src/libs/token/tokens.ts index c55ec4f7993..cabeb8e41ab 100644 --- a/packages/bridge-ui-v2/src/libs/token/tokens.ts +++ b/packages/bridge-ui-v2/src/libs/token/tokens.ts @@ -1,44 +1,22 @@ import { zeroAddress } from 'viem'; -import { PUBLIC_L1_CHAIN_ID, PUBLIC_L2_CHAIN_ID, PUBLIC_TEST_ERC20 } from '$env/static/public'; -import { jsonParseWithDefault } from '$libs/util/jsonParseWithDefault'; +import { customToken } from '$customToken'; +import { getConfiguredChainIds } from '$libs/chain'; -import { type Token, type TokenEnv, TokenType } from './types'; +import { type Token, TokenType } from './types'; + +const chains = getConfiguredChainIds(); + +const zeroAddressMap = chains.reduce((acc, chainId) => ({ ...acc, [chainId]: zeroAddress }), {}); export const ETHToken: Token = { name: 'Ether', - addresses: { - [PUBLIC_L1_CHAIN_ID]: zeroAddress, - [PUBLIC_L2_CHAIN_ID]: zeroAddress, - }, + addresses: zeroAddressMap, decimals: 18, symbol: 'ETH', type: TokenType.ETH, }; -export const TKOToken: Token = { - name: 'Taiko', - addresses: { - [PUBLIC_L1_CHAIN_ID]: zeroAddress, - [PUBLIC_L2_CHAIN_ID]: zeroAddress, - }, - decimals: 8, - symbol: 'TKO', - type: TokenType.ERC20, -}; - -export const testERC20Tokens: Token[] = jsonParseWithDefault(PUBLIC_TEST_ERC20, []).map( - ({ name, address, symbol }) => ({ - name, - symbol, - addresses: { - // They are only deployed on L1 - [PUBLIC_L1_CHAIN_ID]: address, - [PUBLIC_L2_CHAIN_ID]: zeroAddress, - }, - decimals: 18, - type: TokenType.ERC20, - }), -); +export const testERC20Tokens: Token[] = customToken; export const tokens = [ETHToken, ...testERC20Tokens]; diff --git a/packages/bridge-ui-v2/src/libs/token/types.ts b/packages/bridge-ui-v2/src/libs/token/types.ts index bc3fd09a3e9..8b281d41cdf 100644 --- a/packages/bridge-ui-v2/src/libs/token/types.ts +++ b/packages/bridge-ui-v2/src/libs/token/types.ts @@ -19,7 +19,9 @@ export type Token = { symbol: string; decimals: number; type: TokenType; + logoURI?: string; imported?: boolean; + mintable?: boolean; }; export type TokenEnv = { diff --git a/packages/bridge-ui-v2/src/libs/util/chainToIconMap.ts b/packages/bridge-ui-v2/src/libs/util/chainToIconMap.ts deleted file mode 100644 index 1d5aaeff588..00000000000 --- a/packages/bridge-ui-v2/src/libs/util/chainToIconMap.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { ComponentType } from 'svelte'; - -import { EthIcon, TaikoIcon } from '$components/Icon'; -import { PUBLIC_L1_CHAIN_ID, PUBLIC_L2_CHAIN_ID } from '$env/static/public'; - -export const chainToIconMap: Record = { - [PUBLIC_L1_CHAIN_ID]: EthIcon, - [PUBLIC_L2_CHAIN_ID]: TaikoIcon, - // TODO: L3 -}; diff --git a/packages/bridge-ui-v2/src/libs/wagmi/watcher.ts b/packages/bridge-ui-v2/src/libs/wagmi/watcher.ts index 3b9265fa4ce..0051995209a 100644 --- a/packages/bridge-ui-v2/src/libs/wagmi/watcher.ts +++ b/packages/bridge-ui-v2/src/libs/wagmi/watcher.ts @@ -24,7 +24,7 @@ export async function startWatching() { // We need to check if the chain is supported, and if not // we present the user with a modal to switch networks. - if (chain && !isSupportedChain(BigInt(chain.id))) { + if (chain && !isSupportedChain(Number(chain.id))) { log('Unsupported chain', chain); switchChainModal.set(true); return; diff --git a/packages/bridge-ui-v2/src/styles/base.css b/packages/bridge-ui-v2/src/styles/base.css index bfe4862a47d..09567745862 100644 --- a/packages/bridge-ui-v2/src/styles/base.css +++ b/packages/bridge-ui-v2/src/styles/base.css @@ -37,6 +37,10 @@ z-index: -1; } + input { + border: 1px solid var(--border-dark-primary, #5d636f); + } + @media (min-width: 768px) { body::before { background-size: 700px, cover, cover; diff --git a/packages/bridge-ui-v2/src/styles/components.css b/packages/bridge-ui-v2/src/styles/components.css index 775d17cfb48..631299df9f9 100644 --- a/packages/bridge-ui-v2/src/styles/components.css +++ b/packages/bridge-ui-v2/src/styles/components.css @@ -163,15 +163,18 @@ @apply modal-backdrop bg-overlay-background rounded-xl; } + .overlay-dialog { + background-color: var(--overlay-dialog) + } + .chainselector { @apply /* background: var(--interactive-dark-tertiary, #444A55); */ hover:background-color: var(--interactive-dark-tertiary-hover, #5D636F); } .glassy-gradient-card::before { - background: linear-gradient(226deg, rgba(93, 99, 111, 0.1) 1.26%, rgba(25, 30, 40, 0.2) 100%); + @apply glassy-background; content: ''; - backdrop-filter: blur(2px); position: absolute; inset: 0%; z-index: -1; diff --git a/packages/bridge-ui-v2/src/styles/utilities.css b/packages/bridge-ui-v2/src/styles/utilities.css index c867aa49bca..5be8937433b 100644 --- a/packages/bridge-ui-v2/src/styles/utilities.css +++ b/packages/bridge-ui-v2/src/styles/utilities.css @@ -25,6 +25,10 @@ @apply backdrop-filter backdrop-blur-sm; } + .glass-background-gradient { + background: linear-gradient(226deg, rgba(93, 99, 111, 0.1) 1.26%, rgba(25, 30, 40, 0.2) 100%); + } + /* Flex shortcuts */ .f-between-center { @apply flex justify-between items-center; diff --git a/packages/bridge-ui-v2/static/bg-md.svg b/packages/bridge-ui-v2/static/bg-md.svg deleted file mode 100644 index fd416a9484c..00000000000 --- a/packages/bridge-ui-v2/static/bg-md.svg +++ /dev/null @@ -1,3060 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/bridge-ui-v2/static/bg.svg b/packages/bridge-ui-v2/static/bg.svg deleted file mode 100644 index c51c9f78597..00000000000 --- a/packages/bridge-ui-v2/static/bg.svg +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/bridge-ui-v2/static/chains/eldfell.svg b/packages/bridge-ui-v2/static/chains/eldfell.svg new file mode 100644 index 00000000000..c634e8df405 --- /dev/null +++ b/packages/bridge-ui-v2/static/chains/eldfell.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/bridge-ui-v2/static/chains/ethereum.svg b/packages/bridge-ui-v2/static/chains/ethereum.svg new file mode 100644 index 00000000000..d9b8deb4e96 --- /dev/null +++ b/packages/bridge-ui-v2/static/chains/ethereum.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/packages/bridge-ui-v2/static/chains/taiko.svg b/packages/bridge-ui-v2/static/chains/taiko.svg new file mode 100644 index 00000000000..383b51b90f1 --- /dev/null +++ b/packages/bridge-ui-v2/static/chains/taiko.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/bridge-ui-v2/static/ethereum-chain.png b/packages/bridge-ui-v2/static/ethereum-chain.png deleted file mode 100644 index b2d2552ebdf..00000000000 Binary files a/packages/bridge-ui-v2/static/ethereum-chain.png and /dev/null differ diff --git a/packages/bridge-ui-v2/static/taiko-chain.png b/packages/bridge-ui-v2/static/taiko-chain.png deleted file mode 100644 index 19408015866..00000000000 Binary files a/packages/bridge-ui-v2/static/taiko-chain.png and /dev/null differ diff --git a/packages/bridge-ui-v2/tailwind.config.js b/packages/bridge-ui-v2/tailwind.config.js index 4625c0926be..6b2a878da12 100644 --- a/packages/bridge-ui-v2/tailwind.config.js +++ b/packages/bridge-ui-v2/tailwind.config.js @@ -221,7 +221,7 @@ export default { '--elevated-background': '#191E28', // grey-800 '--neutral-background': '#2B303B', // grey-700 '--overlay-background': 'rgba(12, 17, 28, 0.5)', // grey-900|50% - + '--overlay-dialog': 'rgba(12, 17, 28, 0.90)', // grey-900|90% '--divider-border': '#444A55', // grey-600 // ================================ // @@ -295,6 +295,7 @@ export default { '--elevated-background': '#FAFAFA', // grey-5 '--neutral-background': '#E7E7E7', // grey-50 '--overlay-background': 'rgba(12, 17, 28, 0.2)', // grey-900|20% + '--overlay-dialog': 'rgba(12, 17, 28, 0.9)', // grey-900|20% '--divider-border': '#CACBCE', // grey-100 diff --git a/packages/bridge-ui-v2/tsconfig.json b/packages/bridge-ui-v2/tsconfig.json index dbd0fda8269..49bf04335f7 100644 --- a/packages/bridge-ui-v2/tsconfig.json +++ b/packages/bridge-ui-v2/tsconfig.json @@ -18,7 +18,11 @@ "$stores": ["./src/stores/index.ts"], "$config": ["./src/app.config.ts"], "$libs/*": ["./src/libs/*"], - "$abi": ["./src/abi/index.ts"] + "$abi": ["./src/abi/index.ts"], + "$bridgeConfig": ["./src/generated/bridgeConfig.ts"], + "$chainConfig": ["./src/generated/chainConfig.ts"], + "$relayerConfig": ["./src/generated/relayerConfig.ts"], + "$customToken": ["./src/generated/customTokenConfig.ts"] }, // https://vitest.dev/config/#globals diff --git a/packages/bridge-ui-v2/vite.config.ts b/packages/bridge-ui-v2/vite.config.ts index d59218b5cc9..4297df2a02c 100644 --- a/packages/bridge-ui-v2/vite.config.ts +++ b/packages/bridge-ui-v2/vite.config.ts @@ -1,6 +1,11 @@ import { sveltekit } from '@sveltejs/kit/vite'; import tsconfigPaths from 'vite-tsconfig-paths'; -import { defineConfig } from 'vitest/config'; +import { defineConfig } from 'vitest/dist/config'; + +import { generateBridgeConfig } from './scripts/vite-plugins/generateBridgeConfig'; +import { generateChainConfig } from './scripts/vite-plugins/generateChainConfig'; +import { generateCustomTokenConfig } from './scripts/vite-plugins/generateCustomTokenConfig'; +import { generateRelayerConfig } from './scripts/vite-plugins/generateRelayerConfig'; export default defineConfig({ build: { @@ -8,10 +13,13 @@ export default defineConfig({ }, plugins: [ sveltekit(), - // This plugin gives vite the ability to resolve imports using TypeScript's path mapping. // https://www.npmjs.com/package/vite-tsconfig-paths tsconfigPaths(), + generateBridgeConfig(), + generateChainConfig(), + generateRelayerConfig(), + generateCustomTokenConfig(), ], test: { environment: 'jsdom', diff --git a/packages/bridge-ui-v2/wagmi.config.ts b/packages/bridge-ui-v2/wagmi.config.ts index 5e550f87fca..f9d496905e2 100644 --- a/packages/bridge-ui-v2/wagmi.config.ts +++ b/packages/bridge-ui-v2/wagmi.config.ts @@ -1,13 +1,18 @@ import { defineConfig } from '@wagmi/cli'; import type { Abi } from 'abitype'; +import Bridge from '../protocol/out/Bridge.sol/Bridge.json'; // CI will fail if we import from the protocol package // We'll ignore this file on svelte-check: `svelte-check --ignore ./wagmi.config.ts` -import Bridge from '../protocol/out/Bridge.sol/Bridge.json'; -import ERC20 from '../protocol/out/ERC20.sol/ERC20.json'; +import ERC20 from '../protocol/out/BridgedERC20.sol/BridgedERC20.json'; +import ERC721 from '../protocol/out/BridgedERC721.sol/BridgedERC721.json'; +import ERC1155 from '../protocol/out/BridgedERC1155.sol/BridgedERC1155.json'; +import ERC20Vault from '../protocol/out/ERC20Vault.sol/ERC20Vault.json'; +import ERC721Vault from '../protocol/out/ERC721Vault.sol/ERC721Vault.json'; +import ERC1155Vault from '../protocol/out/ERC1155Vault.sol/ERC1155Vault.json'; +import EtherVault from '../protocol/out/EtherVault.sol/EtherVault.json'; import FreeMintERC20 from '../protocol/out/FreeMintERC20.sol/FreeMintERC20.json'; import ICrossChainSync from '../protocol/out/ICrossChainSync.sol/ICrossChainSync.json'; -import TokenVault from '../protocol/out/TokenVault.sol/TokenVault.json'; export default defineConfig({ out: 'src/abi/index.ts', @@ -17,8 +22,20 @@ export default defineConfig({ abi: Bridge.abi as Abi, }, { - name: 'TokenVault', - abi: TokenVault.abi as Abi, + name: 'EtherVault', + abi: EtherVault.abi as Abi, + }, + { + name: 'ERC20Vault', + abi: ERC20Vault.abi as Abi, + }, + { + name: 'ERC721Vault', + abi: ERC721Vault.abi as Abi, + }, + { + name: 'ERC1155Vault', + abi: ERC1155Vault.abi as Abi, }, { name: 'CrossChainSync', @@ -32,5 +49,13 @@ export default defineConfig({ name: 'Erc20', abi: ERC20.abi as Abi, }, + { + name: 'Erc721', + abi: ERC721.abi as Abi, + }, + { + name: 'Erc1155', + abi: ERC1155.abi as Abi, + }, ], }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9084582466b..888e4a7d7d7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: devDependencies: lefthook: specifier: ^1.4.7 - version: 1.4.8 + version: 1.4.7 prettier: specifier: ^2.8.8 version: 2.8.8 @@ -21,7 +21,7 @@ importers: dependencies: '@coinbase/wallet-sdk': specifier: ^3.6.3 - version: 3.7.1 + version: 3.6.3(@babel/core@7.22.15) '@ethersproject/experimental': specifier: ^5.7.0 version: 5.7.0 @@ -30,7 +30,7 @@ importers: version: 0.2.0 '@sentry/svelte': specifier: ^7.54.0 - version: 7.61.1(svelte@3.59.2) + version: 7.54.0(svelte@3.53.1) '@sveltestack/svelte-query': specifier: ^1.6.0 version: 1.6.0 @@ -51,32 +51,32 @@ importers: version: 2.3.3 svelte-i18n: specifier: ^3.5.1 - version: 3.7.0(svelte@3.59.2) + version: 3.6.0(svelte@3.53.1) svelte-spa-router: specifier: ^3.2.0 - version: 3.3.0 + version: 3.2.0 wagmi: specifier: ^0.12.16 - version: 0.12.19(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) + version: 0.12.16(debug@4.3.4)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) devDependencies: '@babel/preset-env': specifier: ^7.16.0 - version: 7.22.9(@babel/core@7.22.9) + version: 7.16.0(@babel/core@7.22.15) '@sentry/vite-plugin': specifier: ^2.2.1 - version: 2.5.0 + version: 2.2.1 '@sveltejs/vite-plugin-svelte': specifier: ^1.0.1 - version: 1.4.0(svelte@3.59.2)(vite@3.2.7) + version: 1.0.1(svelte@3.53.1)(vite@3.0.0) '@tsconfig/svelte': specifier: ^3.0.0 version: 3.0.0 '@types/debug': specifier: ^4.1.7 - version: 4.1.8 + version: 4.1.7 '@types/eslint': specifier: ^8.2.1 - version: 8.44.1 + version: 8.2.1 '@types/estree': specifier: ^0.0.50 version: 0.0.50 @@ -85,31 +85,31 @@ importers: version: 27.5.2 '@types/mixpanel': specifier: ^2.14.3 - version: 2.14.5 + version: 2.14.3 '@types/sanitize-html': specifier: ^2.6.2 - version: 2.9.0 + version: 2.6.2 '@typescript-eslint/eslint-plugin': specifier: ^5.16.0 - version: 5.16.0(@typescript-eslint/parser@5.62.0)(eslint@7.32.0)(typescript@4.9.5) + version: 5.16.0(@typescript-eslint/parser@5.45.0)(eslint@7.32.0)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ^5.16.0 - version: 5.62.0(eslint@7.32.0)(typescript@4.9.5) + version: 5.45.0(eslint@7.32.0)(typescript@4.9.5) '@wagmi/cli': specifier: ^1.0.1 - version: 1.3.0(typescript@4.9.5)(wagmi@0.12.19) + version: 1.0.1(typescript@4.9.5)(wagmi@0.12.16) '@zerodevx/svelte-toast': specifier: ^0.6.3 version: 0.6.3 abitype: specifier: ^0.8.2 - version: 0.8.11(typescript@4.9.5) + version: 0.8.7(typescript@4.9.5)(zod@3.22.2) autoprefixer: specifier: ^10.4.13 version: 10.4.14(postcss@8.4.27) babel-jest: specifier: ^27.3.1 - version: 27.5.1(@babel/core@7.22.9) + version: 27.3.1(@babel/core@7.22.15) babel-plugin-transform-es2015-modules-commonjs: specifier: ^6.26.2 version: 6.26.2 @@ -121,13 +121,13 @@ importers: version: 7.32.0 eslint-plugin-jest: specifier: ^27.2.1 - version: 27.2.3(@typescript-eslint/eslint-plugin@5.16.0)(eslint@7.32.0)(jest@27.5.1)(typescript@4.9.5) + version: 27.2.1(@typescript-eslint/eslint-plugin@5.16.0)(eslint@7.32.0)(jest@27.5.1)(typescript@4.9.5) eslint-plugin-simple-import-sort: specifier: ^10.0.0 version: 10.0.0(eslint@7.32.0) eslint-plugin-svelte3: specifier: ^4.0.0 - version: 4.0.0(eslint@7.32.0)(svelte@3.59.2) + version: 4.0.0(eslint@7.32.0)(svelte@3.53.1) fs-extra: specifier: ^11.1.1 version: 11.1.1 @@ -136,7 +136,7 @@ importers: version: 27.5.1 node-sass: specifier: ^7.0.1 - version: 7.0.3 + version: 7.0.1 postcss: specifier: ^8.4.19 version: 8.4.27 @@ -145,76 +145,76 @@ importers: version: 7.1.2 postcss-loader: specifier: ^7.3.3 - version: 7.3.3(postcss@8.4.27)(webpack@5.88.2) + version: 7.3.3(postcss@8.4.27)(typescript@4.9.5)(webpack@5.88.2) prettier: specifier: 2.7.1 version: 2.7.1 prettier-plugin-svelte: specifier: ^2.9.0 - version: 2.10.1(prettier@2.7.1)(svelte@3.59.2) + version: 2.9.0(prettier@2.7.1)(svelte@3.53.1) rollup-plugin-node-builtins: specifier: ^2.0.0 - version: 2.1.2 + version: 2.0.0 rollup-plugin-polyfill-node: specifier: ^0.10.2 version: 0.10.2(rollup@2.79.1) svelte: specifier: ^3.53.1 - version: 3.59.2 + version: 3.53.1 svelte-check: specifier: ^2.8.0 - version: 2.10.3(@babel/core@7.22.9)(node-sass@7.0.3)(postcss@8.4.27)(svelte@3.59.2) + version: 2.8.0(@babel/core@7.22.15)(node-sass@7.0.1)(postcss@8.4.27)(svelte@3.53.1) svelte-heros-v2: specifier: ^0.3.10 - version: 0.3.21(svelte@3.59.2) + version: 0.3.10 svelte-jester: specifier: ^2.1.5 - version: 2.3.2(jest@27.5.1)(svelte@3.59.2) + version: 2.1.5(jest@27.5.1)(svelte@3.53.1) svelte-loader: specifier: ^3.1.2 - version: 3.1.9(svelte@3.59.2) + version: 3.1.2(svelte@3.53.1) svelte-preprocess: specifier: ^4.10.7 - version: 4.10.7(@babel/core@7.22.9)(node-sass@7.0.3)(postcss@8.4.27)(svelte@3.59.2)(typescript@4.9.5) + version: 4.10.7(@babel/core@7.22.15)(node-sass@7.0.1)(postcss@8.4.27)(svelte@3.53.1)(typescript@4.9.5) tailwindcss: specifier: ^3.2.4 version: 3.3.3 theme-change: specifier: ^2.2.0 - version: 2.5.0 + version: 2.2.0 ts-jest: specifier: ^27.0.7 - version: 27.1.5(@babel/core@7.22.9)(@types/jest@27.5.2)(babel-jest@27.5.1)(esbuild@0.15.13)(jest@27.5.1)(typescript@4.9.5) + version: 27.0.7(@babel/core@7.22.15)(@types/jest@27.5.2)(babel-jest@27.3.1)(jest@27.5.1)(typescript@4.9.5) ts-jest-mock-import-meta: specifier: ^0.12.0 - version: 0.12.0(ts-jest@27.1.5) + version: 0.12.0(ts-jest@27.0.7) ts-loader: specifier: ^9.2.6 - version: 9.4.4(typescript@4.9.5)(webpack@5.88.2) + version: 9.2.6(typescript@4.9.5)(webpack@5.88.2) tslib: specifier: ^2.4.0 - version: 2.6.1 + version: 2.4.1 typescript: specifier: ^4.6.4 version: 4.9.5 vite: specifier: ^3.0.0 - version: 3.2.7 + version: 3.0.0 packages/bridge-ui-v2: dependencies: '@wagmi/core': specifier: ^1.3.6 - version: 1.3.8(lokijs@1.5.12)(react@18.2.0)(typescript@5.1.6)(viem@1.5.3) + version: 1.3.6(lokijs@1.5.12)(react@18.2.0)(typescript@5.1.6)(viem@1.4.1) '@web3modal/ethereum': specifier: ^2.6.2 - version: 2.7.1(@wagmi/core@1.3.8)(viem@1.5.3) + version: 2.6.2(@wagmi/core@1.3.6)(viem@1.4.1) '@web3modal/html': specifier: ^2.6.2 - version: 2.7.1(react@18.2.0) + version: 2.6.2(react@18.2.0) '@zerodevx/svelte-toast': specifier: ^0.9.5 - version: 0.9.5(svelte@4.1.2) + version: 0.9.5(svelte@4.1.0) axios: specifier: ^1.4.0 version: 1.4.0(debug@4.3.4) @@ -229,59 +229,65 @@ importers: version: 3.3.0 svelte-i18n: specifier: ^3.6.0 - version: 3.7.0(svelte@4.1.2) + version: 3.6.0(svelte@4.1.0) viem: specifier: ^1.4.1 - version: 1.5.3(typescript@5.1.6)(zod@3.21.4) + version: 1.4.1(typescript@5.1.6) devDependencies: '@playwright/test': specifier: ^1.28.1 - version: 1.36.2 + version: 1.28.1 '@sveltejs/adapter-auto': specifier: ^2.1.0 - version: 2.1.0(@sveltejs/kit@1.22.4) + version: 2.1.0(@sveltejs/kit@1.22.3) '@sveltejs/adapter-static': specifier: ^2.0.2 - version: 2.0.3(@sveltejs/kit@1.22.4) + version: 2.0.2(@sveltejs/kit@1.22.3) '@sveltejs/kit': specifier: ^1.22.3 - version: 1.22.4(svelte@4.1.2)(vite@4.4.8) + version: 1.22.3(svelte@4.1.0)(vite@4.3.0) '@types/debug': specifier: ^4.1.7 - version: 4.1.8 + version: 4.1.7 '@typescript-eslint/eslint-plugin': specifier: ^6.6.0 - version: 6.6.0(@typescript-eslint/parser@5.62.0)(eslint@8.46.0)(typescript@5.1.6) + version: 6.6.0(@typescript-eslint/parser@5.45.0)(eslint@8.28.0)(typescript@5.1.6) '@typescript-eslint/parser': specifier: ^5.45.0 - version: 5.62.0(eslint@8.46.0)(typescript@5.1.6) + version: 5.45.0(eslint@8.28.0)(typescript@5.1.6) '@vitest/coverage-v8': specifier: ^0.33.0 - version: 0.33.0(vitest@0.32.4) + version: 0.33.0(vitest@0.32.2) '@wagmi/cli': specifier: ^1.0.1 - version: 1.3.0(@wagmi/core@1.3.8)(typescript@5.1.6) + version: 1.0.1(@wagmi/core@1.3.6)(typescript@5.1.6) abitype: specifier: ^0.8.7 - version: 0.8.11(typescript@5.1.6) + version: 0.8.7(typescript@5.1.6)(zod@3.22.2) + ajv: + specifier: ^8.6.4 + version: 8.7.0 autoprefixer: specifier: ^10.4.14 version: 10.4.14(postcss@8.4.27) daisyui: specifier: 3.1.7 version: 3.1.7(postcss@8.4.27) + dotenv: + specifier: ^16.3.1 + version: 16.3.1 eslint: specifier: ^8.28.0 - version: 8.46.0 + version: 8.28.0 eslint-config-prettier: specifier: ^8.5.0 - version: 8.10.0(eslint@8.46.0) + version: 8.8.0(eslint@8.28.0) eslint-plugin-simple-import-sort: specifier: ^10.0.0 - version: 10.0.0(eslint@8.46.0) + version: 10.0.0(eslint@8.28.0) eslint-plugin-svelte: specifier: ^2.26.0 - version: 2.32.4(eslint@8.46.0)(svelte@4.1.2) + version: 2.26.0(eslint@8.28.0)(svelte@4.1.0) ethereum-address: specifier: ^0.0.4 version: 0.0.4 @@ -296,37 +302,40 @@ importers: version: 8.4.27 prettier: specifier: ^3.0.0 - version: 3.0.1 + version: 3.0.0 prettier-plugin-svelte: specifier: ^3.0.0 - version: 3.0.3(prettier@3.0.1)(svelte@4.1.2) + version: 3.0.0(prettier@3.0.0)(svelte@4.1.0) svelte: specifier: ^4.1.0 - version: 4.1.2 + version: 4.1.0 svelte-check: specifier: ^3.4.6 - version: 3.4.6(postcss@8.4.27)(svelte@4.1.2) + version: 3.4.6(postcss@8.4.27)(svelte@4.1.0) tailwindcss: specifier: ^3.3.2 version: 3.3.3 + ts-morph: + specifier: ^19.0.0 + version: 19.0.0 tslib: specifier: ^2.4.1 - version: 2.6.1 + version: 2.4.1 typescript: specifier: ^5.1.6 version: 5.1.6 vite: specifier: ^4.3.0 - version: 4.4.8(@types/node@20.5.7) + version: 4.3.0(@types/node@20.5.9) vite-tsconfig-paths: specifier: ^4.2.0 - version: 4.2.0(typescript@5.1.6)(vite@4.4.8) + version: 4.2.0(typescript@5.1.6)(vite@4.3.0) vitest: specifier: ^0.32.2 - version: 0.32.4(jsdom@22.1.0) + version: 0.32.2(jsdom@22.1.0) vitest-fetch-mock: specifier: ^0.2.2 - version: 0.2.2(vitest@0.32.4) + version: 0.2.2(vitest@0.32.2) packages/eventindexer: {} @@ -336,7 +345,7 @@ importers: dependencies: '@coinbase/wallet-sdk': specifier: ^3.6.3 - version: 3.7.1 + version: 3.6.3(@babel/core@7.22.15) '@ethersproject/experimental': specifier: ^5.7.0 version: 5.7.0 @@ -345,7 +354,7 @@ importers: version: 0.2.0 '@sentry/svelte': specifier: ^7.54.0 - version: 7.61.1(svelte@3.59.2) + version: 7.54.0(svelte@3.53.1) '@sveltestack/svelte-query': specifier: ^1.6.0 version: 1.6.0 @@ -366,32 +375,32 @@ importers: version: 2.3.3 svelte-i18n: specifier: ^3.5.1 - version: 3.7.0(svelte@3.59.2) + version: 3.6.0(svelte@3.53.1) svelte-spa-router: specifier: ^3.2.0 - version: 3.3.0 + version: 3.2.0 wagmi: specifier: ^0.12.16 - version: 0.12.19(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) + version: 0.12.16(debug@4.3.4)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) devDependencies: '@babel/preset-env': specifier: ^7.16.0 - version: 7.22.9(@babel/core@7.22.9) + version: 7.16.0(@babel/core@7.22.15) '@sentry/vite-plugin': specifier: ^2.2.1 - version: 2.5.0 + version: 2.2.1 '@sveltejs/vite-plugin-svelte': specifier: ^1.0.1 - version: 1.4.0(svelte@3.59.2)(vite@3.2.7) + version: 1.0.1(svelte@3.53.1)(vite@3.0.0) '@tsconfig/svelte': specifier: ^5.0.2 version: 5.0.2 '@types/debug': specifier: ^4.1.7 - version: 4.1.8 + version: 4.1.7 '@types/eslint': specifier: ^8.2.1 - version: 8.44.1 + version: 8.2.1 '@types/estree': specifier: ^0.0.50 version: 0.0.50 @@ -400,31 +409,31 @@ importers: version: 27.5.2 '@types/mixpanel': specifier: ^2.14.3 - version: 2.14.5 + version: 2.14.3 '@types/sanitize-html': specifier: ^2.6.2 - version: 2.9.0 + version: 2.6.2 '@typescript-eslint/eslint-plugin': specifier: ^6.6.0 - version: 6.6.0(@typescript-eslint/parser@5.62.0)(eslint@7.32.0)(typescript@4.9.5) + version: 6.6.0(@typescript-eslint/parser@5.45.0)(eslint@7.32.0)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ^5.16.0 - version: 5.62.0(eslint@7.32.0)(typescript@4.9.5) + version: 5.45.0(eslint@7.32.0)(typescript@4.9.5) '@wagmi/cli': specifier: ^1.0.1 - version: 1.3.0(typescript@4.9.5)(wagmi@0.12.19) + version: 1.0.1(typescript@4.9.5)(wagmi@0.12.16) '@zerodevx/svelte-toast': specifier: ^0.6.3 version: 0.6.3 abitype: specifier: ^0.8.2 - version: 0.8.11(typescript@4.9.5) + version: 0.8.7(typescript@4.9.5)(zod@3.22.2) autoprefixer: specifier: ^10.4.13 version: 10.4.14(postcss@8.4.27) babel-jest: specifier: ^27.3.1 - version: 27.5.1(@babel/core@7.22.9) + version: 27.3.1(@babel/core@7.22.15) babel-plugin-transform-es2015-modules-commonjs: specifier: ^6.26.2 version: 6.26.2 @@ -436,13 +445,13 @@ importers: version: 7.32.0 eslint-plugin-jest: specifier: ^27.2.1 - version: 27.2.3(@typescript-eslint/eslint-plugin@6.6.0)(eslint@7.32.0)(jest@27.5.1)(typescript@4.9.5) + version: 27.2.1(@typescript-eslint/eslint-plugin@6.6.0)(eslint@7.32.0)(jest@27.5.1)(typescript@4.9.5) eslint-plugin-simple-import-sort: specifier: ^10.0.0 version: 10.0.0(eslint@7.32.0) eslint-plugin-svelte3: specifier: ^4.0.0 - version: 4.0.0(eslint@7.32.0)(svelte@3.59.2) + version: 4.0.0(eslint@7.32.0)(svelte@3.53.1) fs-extra: specifier: ^11.1.1 version: 11.1.1 @@ -451,7 +460,7 @@ importers: version: 27.5.1 node-sass: specifier: ^7.0.1 - version: 7.0.3 + version: 7.0.1 postcss: specifier: ^8.4.19 version: 8.4.27 @@ -460,97 +469,97 @@ importers: version: 7.1.2 postcss-loader: specifier: ^7.3.3 - version: 7.3.3(postcss@8.4.27)(webpack@5.88.2) + version: 7.3.3(postcss@8.4.27)(typescript@4.9.5)(webpack@5.88.2) prettier: specifier: 2.7.1 version: 2.7.1 prettier-plugin-svelte: specifier: ^2.9.0 - version: 2.10.1(prettier@2.7.1)(svelte@3.59.2) + version: 2.9.0(prettier@2.7.1)(svelte@3.53.1) rollup-plugin-node-builtins: specifier: ^2.0.0 - version: 2.1.2 + version: 2.0.0 rollup-plugin-polyfill-node: specifier: ^0.10.2 version: 0.10.2(rollup@2.79.1) svelte: specifier: ^3.53.1 - version: 3.59.2 + version: 3.53.1 svelte-check: specifier: ^2.8.0 - version: 2.10.3(@babel/core@7.22.9)(node-sass@7.0.3)(postcss@8.4.27)(svelte@3.59.2) + version: 2.8.0(@babel/core@7.22.15)(node-sass@7.0.1)(postcss@8.4.27)(svelte@3.53.1) svelte-heros-v2: specifier: ^0.3.10 - version: 0.3.21(svelte@3.59.2) + version: 0.3.10 svelte-jester: specifier: ^2.1.5 - version: 2.3.2(jest@27.5.1)(svelte@3.59.2) + version: 2.1.5(jest@27.5.1)(svelte@3.53.1) svelte-loader: specifier: ^3.1.2 - version: 3.1.9(svelte@3.59.2) + version: 3.1.2(svelte@3.53.1) svelte-preprocess: specifier: ^4.10.7 - version: 4.10.7(@babel/core@7.22.9)(node-sass@7.0.3)(postcss@8.4.27)(svelte@3.59.2)(typescript@4.9.5) + version: 4.10.7(@babel/core@7.22.15)(node-sass@7.0.1)(postcss@8.4.27)(svelte@3.53.1)(typescript@4.9.5) tailwindcss: specifier: ^3.2.4 version: 3.3.3 theme-change: specifier: ^2.2.0 - version: 2.5.0 + version: 2.2.0 ts-jest: specifier: ^27.0.7 - version: 27.1.5(@babel/core@7.22.9)(@types/jest@27.5.2)(babel-jest@27.5.1)(esbuild@0.15.13)(jest@27.5.1)(typescript@4.9.5) + version: 27.0.7(@babel/core@7.22.15)(@types/jest@27.5.2)(babel-jest@27.3.1)(jest@27.5.1)(typescript@4.9.5) ts-jest-mock-import-meta: specifier: ^0.12.0 - version: 0.12.0(ts-jest@27.1.5) + version: 0.12.0(ts-jest@27.0.7) ts-loader: specifier: ^9.2.6 - version: 9.4.4(typescript@4.9.5)(webpack@5.88.2) + version: 9.2.6(typescript@4.9.5)(webpack@5.88.2) tslib: specifier: ^2.4.0 - version: 2.6.1 + version: 2.4.1 typescript: specifier: ^4.6.4 version: 4.9.5 vite: specifier: ^3.0.0 - version: 3.2.7 + version: 3.0.0 packages/protocol: devDependencies: '@defi-wonderland/smock': specifier: ^2.3.4 - version: 2.3.5(@ethersproject/abi@5.7.0)(@ethersproject/abstract-provider@5.7.0)(@ethersproject/abstract-signer@5.7.0)(@nomiclabs/hardhat-ethers@2.2.3)(ethers@5.7.2)(hardhat@2.17.1) + version: 2.3.4(@ethersproject/abi@5.7.0)(@ethersproject/abstract-provider@5.7.0)(@ethersproject/abstract-signer@5.7.0)(@nomiclabs/hardhat-ethers@2.2.3)(ethers@5.7.2)(hardhat@2.14.0) '@foundry-rs/hardhat-forge': specifier: ^0.1.17 - version: 0.1.17(@nomiclabs/hardhat-ethers@2.2.3)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.17.1) + version: 0.1.17(@nomiclabs/hardhat-ethers@2.2.3)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.14.0) '@nomicfoundation/hardhat-foundry': specifier: ^1.0.1 - version: 1.0.2(hardhat@2.17.1) + version: 1.0.1(hardhat@2.14.0) '@nomicfoundation/hardhat-network-helpers': specifier: ^1.0.8 - version: 1.0.8(hardhat@2.17.1) + version: 1.0.8(hardhat@2.14.0) '@nomiclabs/hardhat-ethers': specifier: ^2.2.3 - version: 2.2.3(ethers@5.7.2)(hardhat@2.17.1) + version: 2.2.3(ethers@5.7.2)(hardhat@2.14.0) '@nomiclabs/hardhat-etherscan': specifier: ^3.1.7 - version: 3.1.7(hardhat@2.17.1) + version: 3.1.7(hardhat@2.14.0) '@nomiclabs/hardhat-waffle': specifier: ^2.0.5 - version: 2.0.6(@nomiclabs/hardhat-ethers@2.2.3)(@types/sinon-chai@3.2.9)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.17.1) + version: 2.0.5(@nomiclabs/hardhat-ethers@2.2.3)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.14.0) '@openzeppelin/hardhat-upgrades': specifier: ^1.22.1 - version: 1.28.0(@nomiclabs/hardhat-ethers@2.2.3)(@nomiclabs/hardhat-etherscan@3.1.7)(ethers@5.7.2)(hardhat@2.17.1) + version: 1.22.1(@nomiclabs/hardhat-ethers@2.2.3)(@nomiclabs/hardhat-etherscan@3.1.7)(ethers@5.7.2)(hardhat@2.14.0) '@typechain/ethers-v5': specifier: ^7.2.0 version: 7.2.0(@ethersproject/abi@5.7.0)(@ethersproject/bytes@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typechain@5.2.0)(typescript@4.9.5) '@typechain/hardhat': specifier: ^2.3.1 - version: 2.3.1(hardhat@2.17.1)(lodash@4.17.21)(typechain@5.2.0) + version: 2.3.1(hardhat@2.14.0)(lodash@4.17.21)(typechain@5.2.0) '@types/chai': specifier: ^4.3.4 - version: 4.3.5 + version: 4.3.4 '@types/glob': specifier: ^8.1.0 version: 8.1.0 @@ -580,19 +589,19 @@ importers: version: 7.32.0 eslint-config-prettier: specifier: ^8.8.0 - version: 8.10.0(eslint@7.32.0) + version: 8.8.0(eslint@7.32.0) eslint-config-standard: specifier: ^16.0.3 - version: 16.0.3(eslint-plugin-import@2.28.0)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@6.1.1)(eslint@7.32.0) + version: 16.0.3(eslint-plugin-import@2.27.5)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@6.1.1)(eslint@7.32.0) eslint-plugin-import: specifier: ^2.27.5 - version: 2.28.0(@typescript-eslint/parser@4.33.0)(eslint@7.32.0) + version: 2.27.5(@typescript-eslint/parser@4.33.0)(eslint@7.32.0) eslint-plugin-node: specifier: ^11.1.0 version: 11.1.0(eslint@7.32.0) eslint-plugin-prettier: specifier: ^3.4.1 - version: 3.4.1(eslint-config-prettier@8.10.0)(eslint@7.32.0)(prettier@2.8.8) + version: 3.4.1(eslint-config-prettier@8.8.0)(eslint@7.32.0)(prettier@2.8.8) eslint-plugin-promise: specifier: ^6.1.1 version: 6.1.1(eslint@7.32.0) @@ -604,22 +613,22 @@ importers: version: 8.1.0 hardhat: specifier: ^2.14.0 - version: 2.17.1(ts-node@10.9.1)(typescript@4.9.5) + version: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) hardhat-abi-exporter: specifier: ^2.10.1 - version: 2.10.1(hardhat@2.17.1) + version: 2.10.1(hardhat@2.14.0) hardhat-contract-sizer: specifier: ^2.8.0 - version: 2.10.0(hardhat@2.17.1) + version: 2.8.0(hardhat@2.14.0) hardhat-docgen: specifier: ^1.3.0 - version: 1.3.0(hardhat@2.17.1)(lodash@4.17.21) + version: 1.3.0(hardhat@2.14.0)(lodash@4.17.21)(prettier@2.8.8) hardhat-gas-reporter: specifier: ^1.0.9 - version: 1.0.9(hardhat@2.17.1) + version: 1.0.9(hardhat@2.14.0) hardhat-preprocessor: specifier: ^0.1.5 - version: 0.1.5(hardhat@2.17.1) + version: 0.1.5(hardhat@2.14.0) merkle-patricia-tree: specifier: ^4.2.4 version: 4.2.4 @@ -631,13 +640,13 @@ importers: version: 3.0.0 solhint: specifier: ^3.4.1 - version: 3.4.1 + version: 3.4.1(typescript@4.9.5) solidity-coverage: specifier: github:taikoxyz/solidity-coverage - version: github.com/taikoxyz/solidity-coverage/ceb49fd1f6041e4fcd26079dfb0d3b0f58c812e5(hardhat@2.17.1) + version: github.com/taikoxyz/solidity-coverage/ceb49fd1f6041e4fcd26079dfb0d3b0f58c812e5(hardhat@2.14.0) solidity-docgen: specifier: 0.6.0-beta.35 - version: 0.6.0-beta.35(hardhat@2.17.1) + version: 0.6.0-beta.35(hardhat@2.14.0) ts-node: specifier: ^10.9.1 version: 10.9.1(@types/node@12.20.55)(typescript@4.9.5) @@ -654,7 +663,7 @@ importers: dependencies: '@coinbase/wallet-sdk': specifier: ^3.6.3 - version: 3.7.1 + version: 3.6.3(@babel/core@7.22.15) '@ethersproject/experimental': specifier: ^5.7.0 version: 5.7.0 @@ -666,10 +675,10 @@ importers: version: 1.6.0 '@wagmi/connectors': specifier: ^0.1.1 - version: 0.1.10(@wagmi/core@0.8.19)(ethers@5.7.2)(react@18.2.0) + version: 0.1.1(@babel/core@7.22.15)(@wagmi/core@0.8.0)(ethers@5.7.2)(typescript@4.9.5) '@wagmi/core': specifier: ^0.8.0 - version: 0.8.19(@coinbase/wallet-sdk@3.7.1)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) + version: 0.8.0(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) axios: specifier: ^1.2.0 version: 1.4.0(debug@4.3.4) @@ -684,23 +693,23 @@ importers: version: 2.3.3 svelte-i18n: specifier: ^3.5.1 - version: 3.7.0(svelte@3.59.2) + version: 3.6.0(svelte@3.53.1) svelte-spa-router: specifier: ^3.2.0 - version: 3.3.0 + version: 3.2.0 devDependencies: '@babel/preset-env': specifier: ^7.16.0 - version: 7.22.9(@babel/core@7.22.9) + version: 7.16.0(@babel/core@7.22.15) '@sveltejs/vite-plugin-svelte': specifier: ^1.0.1 - version: 1.4.0(svelte@3.59.2)(vite@3.2.7) + version: 1.0.1(svelte@3.53.1)(vite@3.0.0) '@tsconfig/svelte': specifier: ^5.0.2 version: 5.0.2 '@types/eslint': specifier: ^8.2.1 - version: 8.44.1 + version: 8.2.1 '@types/estree': specifier: ^0.0.50 version: 0.0.50 @@ -709,16 +718,16 @@ importers: version: 27.5.2 '@types/mixpanel': specifier: ^2.14.3 - version: 2.14.5 + version: 2.14.3 '@types/sanitize-html': specifier: ^2.6.2 - version: 2.9.0 + version: 2.6.2 '@typescript-eslint/eslint-plugin': specifier: ^6.6.0 - version: 6.6.0(@typescript-eslint/parser@5.62.0)(eslint@8.46.0)(typescript@4.9.5) + version: 6.6.0(@typescript-eslint/parser@5.45.0)(eslint@8.48.0)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ^5.16.0 - version: 5.62.0(eslint@8.46.0)(typescript@4.9.5) + version: 5.45.0(eslint@8.48.0)(typescript@4.9.5) '@zerodevx/svelte-toast': specifier: ^0.6.3 version: 0.6.3 @@ -727,7 +736,7 @@ importers: version: 10.4.14(postcss@8.4.27) babel-jest: specifier: ^27.3.1 - version: 27.5.1(@babel/core@7.22.9) + version: 27.3.1(@babel/core@7.22.15) babel-plugin-transform-es2015-modules-commonjs: specifier: ^6.26.2 version: 6.26.2 @@ -739,7 +748,7 @@ importers: version: 27.5.1 node-sass: specifier: ^7.0.1 - version: 7.0.3 + version: 7.0.1 postcss: specifier: ^8.4.19 version: 8.4.27 @@ -748,67 +757,67 @@ importers: version: 7.1.2 postcss-loader: specifier: ^7.3.3 - version: 7.3.3(postcss@8.4.27)(webpack@5.88.2) + version: 7.3.3(postcss@8.4.27)(typescript@4.9.5)(webpack@5.88.2) prettier: specifier: 2.7.1 version: 2.7.1 rollup-plugin-node-builtins: specifier: ^2.0.0 - version: 2.1.2 + version: 2.0.0 rollup-plugin-polyfill-node: specifier: ^0.10.2 version: 0.10.2(rollup@2.79.1) svelte: specifier: ^3.53.1 - version: 3.59.2 + version: 3.53.1 svelte-check: specifier: ^2.8.0 - version: 2.10.3(@babel/core@7.22.9)(node-sass@7.0.3)(postcss@8.4.27)(svelte@3.59.2) + version: 2.8.0(@babel/core@7.22.15)(node-sass@7.0.1)(postcss@8.4.27)(svelte@3.53.1) svelte-heros-v2: specifier: ^0.3.10 - version: 0.3.21(svelte@3.59.2) + version: 0.3.10 svelte-jester: specifier: ^2.1.5 - version: 2.3.2(jest@27.5.1)(svelte@3.59.2) + version: 2.1.5(jest@27.5.1)(svelte@3.53.1) svelte-loader: specifier: ^3.1.2 - version: 3.1.9(svelte@3.59.2) + version: 3.1.2(svelte@3.53.1) svelte-preprocess: specifier: ^4.10.7 - version: 4.10.7(@babel/core@7.22.9)(node-sass@7.0.3)(postcss@8.4.27)(svelte@3.59.2)(typescript@4.9.5) + version: 4.10.7(@babel/core@7.22.15)(node-sass@7.0.1)(postcss@8.4.27)(svelte@3.53.1)(typescript@4.9.5) tailwindcss: specifier: ^3.2.4 version: 3.3.3 theme-change: specifier: ^2.2.0 - version: 2.5.0 + version: 2.2.0 ts-jest: specifier: ^27.0.7 - version: 27.1.5(@babel/core@7.22.9)(@types/jest@27.5.2)(babel-jest@27.5.1)(esbuild@0.15.13)(jest@27.5.1)(typescript@4.9.5) + version: 27.0.7(@babel/core@7.22.15)(@types/jest@27.5.2)(babel-jest@27.3.1)(jest@27.5.1)(typescript@4.9.5) ts-jest-mock-import-meta: specifier: ^0.12.0 - version: 0.12.0(ts-jest@27.1.5) + version: 0.12.0(ts-jest@27.0.7) ts-loader: specifier: ^9.2.6 - version: 9.4.4(typescript@4.9.5)(webpack@5.88.2) + version: 9.2.6(typescript@4.9.5)(webpack@5.88.2) tslib: specifier: ^2.4.0 - version: 2.6.1 + version: 2.4.1 typescript: specifier: ^4.6.4 version: 4.9.5 vite: specifier: ^3.0.0 - version: 3.2.7 + version: 3.0.0 vite-plugin-static-copy: specifier: ^0.12.0 - version: 0.12.0(vite@3.2.7) + version: 0.12.0(vite@3.0.0) packages/status-page: dependencies: '@coinbase/wallet-sdk': specifier: ^3.6.3 - version: 3.7.1 + version: 3.6.3(@babel/core@7.22.15) '@ethersproject/experimental': specifier: ^5.7.0 version: 5.7.0 @@ -820,10 +829,10 @@ importers: version: 1.6.0 '@wagmi/connectors': specifier: ^0.1.1 - version: 0.1.10(@wagmi/core@0.8.19)(ethers@5.7.2)(react@18.2.0) + version: 0.1.1(@babel/core@7.22.15)(@wagmi/core@0.8.0)(ethers@5.7.2)(typescript@4.9.5) '@wagmi/core': specifier: ^0.8.0 - version: 0.8.19(@coinbase/wallet-sdk@3.7.1)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) + version: 0.8.0(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) axios: specifier: ^1.2.0 version: 1.4.0(debug@4.3.4) @@ -838,23 +847,23 @@ importers: version: 2.3.3 svelte-i18n: specifier: ^3.5.1 - version: 3.7.0(svelte@3.59.2) + version: 3.6.0(svelte@3.53.1) svelte-spa-router: specifier: ^3.2.0 - version: 3.3.0 + version: 3.2.0 devDependencies: '@babel/preset-env': specifier: ^7.16.0 - version: 7.22.9(@babel/core@7.22.9) + version: 7.16.0(@babel/core@7.22.15) '@sveltejs/vite-plugin-svelte': specifier: ^1.0.1 - version: 1.4.0(svelte@3.59.2)(vite@3.2.7) + version: 1.0.1(svelte@3.53.1)(vite@3.0.0) '@tsconfig/svelte': specifier: ^5.0.2 version: 5.0.2 '@types/eslint': specifier: ^8.2.1 - version: 8.44.1 + version: 8.2.1 '@types/estree': specifier: ^0.0.50 version: 0.0.50 @@ -863,16 +872,16 @@ importers: version: 27.5.2 '@types/mixpanel': specifier: ^2.14.3 - version: 2.14.5 + version: 2.14.3 '@types/sanitize-html': specifier: ^2.6.2 - version: 2.9.0 + version: 2.6.2 '@typescript-eslint/eslint-plugin': specifier: ^6.6.0 - version: 6.6.0(@typescript-eslint/parser@5.62.0)(eslint@8.46.0)(typescript@4.9.5) + version: 6.6.0(@typescript-eslint/parser@5.45.0)(eslint@8.48.0)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ^5.16.0 - version: 5.62.0(eslint@8.46.0)(typescript@4.9.5) + version: 5.45.0(eslint@8.48.0)(typescript@4.9.5) '@zerodevx/svelte-toast': specifier: ^0.6.3 version: 0.6.3 @@ -881,7 +890,7 @@ importers: version: 10.4.14(postcss@8.4.27) babel-jest: specifier: ^27.3.1 - version: 27.5.1(@babel/core@7.22.9) + version: 27.3.1(@babel/core@7.22.15) babel-plugin-transform-es2015-modules-commonjs: specifier: ^6.26.2 version: 6.26.2 @@ -893,7 +902,7 @@ importers: version: 27.5.1 node-sass: specifier: ^7.0.1 - version: 7.0.3 + version: 7.0.1 postcss: specifier: ^8.4.19 version: 8.4.27 @@ -902,61 +911,61 @@ importers: version: 7.1.2 postcss-loader: specifier: ^7.3.3 - version: 7.3.3(postcss@8.4.27)(webpack@5.88.2) + version: 7.3.3(postcss@8.4.27)(typescript@4.9.5)(webpack@5.88.2) prettier: specifier: 2.7.1 version: 2.7.1 rollup-plugin-node-builtins: specifier: ^2.0.0 - version: 2.1.2 + version: 2.0.0 rollup-plugin-polyfill-node: specifier: ^0.10.2 version: 0.10.2(rollup@2.79.1) svelte: specifier: ^3.53.1 - version: 3.59.2 + version: 3.53.1 svelte-check: specifier: ^2.8.0 - version: 2.10.3(@babel/core@7.22.9)(node-sass@7.0.3)(postcss@8.4.27)(svelte@3.59.2) + version: 2.8.0(@babel/core@7.22.15)(node-sass@7.0.1)(postcss@8.4.27)(svelte@3.53.1) svelte-heros-v2: specifier: ^0.3.10 - version: 0.3.21(svelte@3.59.2) + version: 0.3.10 svelte-jester: specifier: ^2.1.5 - version: 2.3.2(jest@27.5.1)(svelte@3.59.2) + version: 2.1.5(jest@27.5.1)(svelte@3.53.1) svelte-loader: specifier: ^3.1.2 - version: 3.1.9(svelte@3.59.2) + version: 3.1.2(svelte@3.53.1) svelte-preprocess: specifier: ^4.10.7 - version: 4.10.7(@babel/core@7.22.9)(node-sass@7.0.3)(postcss@8.4.27)(svelte@3.59.2)(typescript@4.9.5) + version: 4.10.7(@babel/core@7.22.15)(node-sass@7.0.1)(postcss@8.4.27)(svelte@3.53.1)(typescript@4.9.5) tailwindcss: specifier: ^3.2.4 version: 3.3.3 theme-change: specifier: ^2.2.0 - version: 2.5.0 + version: 2.2.0 ts-jest: specifier: ^27.0.7 - version: 27.1.5(@babel/core@7.22.9)(@types/jest@27.5.2)(babel-jest@27.5.1)(esbuild@0.15.13)(jest@27.5.1)(typescript@4.9.5) + version: 27.0.7(@babel/core@7.22.15)(@types/jest@27.5.2)(babel-jest@27.3.1)(jest@27.5.1)(typescript@4.9.5) ts-jest-mock-import-meta: specifier: ^0.12.0 - version: 0.12.0(ts-jest@27.1.5) + version: 0.12.0(ts-jest@27.0.7) ts-loader: specifier: ^9.2.6 - version: 9.4.4(typescript@4.9.5)(webpack@5.88.2) + version: 9.2.6(typescript@4.9.5)(webpack@5.88.2) tslib: specifier: ^2.4.0 - version: 2.6.1 + version: 2.4.1 typescript: specifier: ^4.6.4 version: 4.9.5 vite: specifier: ^3.0.0 - version: 3.2.7 + version: 3.0.0 vite-plugin-static-copy: specifier: ^0.12.0 - version: 0.12.0(vite@3.2.7) + version: 0.12.0(vite@3.0.0) packages/website: dependencies: @@ -990,16 +999,16 @@ importers: version: 2.0.18(react@18.2.0) '@types/node': specifier: ^20.4.5 - version: 20.4.7 + version: 20.4.5 '@types/react': specifier: ^18.2.17 - version: 18.2.18 + version: 18.2.17 autoprefixer: specifier: ^10.4.14 version: 10.4.14(postcss@8.4.27) daisyui: specifier: ^3.5.0 - version: 3.5.1 + version: 3.5.0 postcss: specifier: ^8.4.27 version: 8.4.27 @@ -1011,7 +1020,7 @@ importers: version: 5.1.6 viem: specifier: ^1.4.1 - version: 1.5.3(typescript@5.1.6)(zod@3.21.4) + version: 1.4.1(typescript@5.1.6) packages/whitepaper: {} @@ -1035,70 +1044,39 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 - - /@aws-crypto/sha256-js@1.2.2: - resolution: {integrity: sha512-Nr1QJIbW/afYYGzYvrF70LtaHrIRtd4TNAglX8BvlfxJLZ45SAmueIKYl5tWoNBPzp65ymXGFK0Bb1vZUpuc9g==} - dependencies: - '@aws-crypto/util': 1.2.2 - '@aws-sdk/types': 3.378.0 - tslib: 1.14.1 - dev: true - - /@aws-crypto/util@1.2.2: - resolution: {integrity: sha512-H8PjG5WJ4wz0UXAFXeJjWCW1vkvIJ3qUUD+rGRwJ2/hj+xT58Qle2MTql/2MGzkU+1JLAFuR6aJpLAjHwhmwwg==} - dependencies: - '@aws-sdk/types': 3.378.0 - '@aws-sdk/util-utf8-browser': 3.259.0 - tslib: 1.14.1 - dev: true - - /@aws-sdk/types@3.378.0: - resolution: {integrity: sha512-qP0CvR/ItgktmN8YXpGQglzzR/6s0nrsQ4zIfx3HMwpsBTwuouYahcCtF1Vr82P4NFcoDA412EJahJ2pIqEd+w==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.0.2 - tslib: 2.6.1 - dev: true - - /@aws-sdk/util-utf8-browser@3.259.0: - resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} - dependencies: - tslib: 2.6.1 - dev: true + '@jridgewell/trace-mapping': 0.3.19 /@babel/code-frame@7.12.11: resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} dependencies: - '@babel/highlight': 7.22.5 + '@babel/highlight': 7.22.13 dev: true - /@babel/code-frame@7.22.5: - resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} + /@babel/code-frame@7.22.13: + resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.22.5 - dev: true + '@babel/highlight': 7.22.13 + chalk: 2.4.2 /@babel/compat-data@7.22.9: resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} engines: {node: '>=6.9.0'} - dev: true - /@babel/core@7.22.9: - resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} + /@babel/core@7.22.15: + resolution: {integrity: sha512-PtZqMmgRrvj8ruoEOIwVA3yoF91O+Hgw9o7DAUTNBA6Mo2jpu31clx9a7Nz/9JznqetTR6zwfC4L3LAjKQXUwA==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.9 - '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) - '@babel/helpers': 7.22.6 - '@babel/parser': 7.22.7 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.22.15 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.22.15(@babel/core@7.22.15) + '@babel/helpers': 7.22.15 + '@babel/parser': 7.22.15 + '@babel/template': 7.22.15 + '@babel/traverse': 7.22.15 + '@babel/types': 7.22.15 convert-source-map: 1.9.0 debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 @@ -1106,172 +1084,178 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true - /@babel/generator@7.22.9: - resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==} + /@babel/generator@7.22.15: + resolution: {integrity: sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.15 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.19 jsesc: 2.5.2 - dev: true /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.15 dev: true - /@babel/helper-builder-binary-assignment-operator-visitor@7.22.5: - resolution: {integrity: sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==} + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.15 dev: true - /@babel/helper-compilation-targets@7.22.9(@babel/core@7.22.9): - resolution: {integrity: sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==} + /@babel/helper-compilation-targets@7.22.15: + resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.9 - '@babel/helper-validator-option': 7.22.5 + '@babel/helper-validator-option': 7.22.15 browserslist: 4.21.10 lru-cache: 5.1.1 semver: 6.3.1 - dev: true - /@babel/helper-create-class-features-plugin@7.22.9(@babel/core@7.22.9): - resolution: {integrity: sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==} + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.15 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.9) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.15) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: true - /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.22.9): - resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.9): + /@babel/helper-define-polyfill-provider@0.2.4(@babel/core@7.22.15): + resolution: {integrity: sha512-OrpPZ97s+aPi6h2n1OXzdhVis1SGSsMU2aMHgLcOKfsp4/v1NWpx3CWT3lBj5eeBq9cDkPkh+YCfdF7O12uNDQ==} + peerDependencies: + '@babel/core': ^7.4.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/traverse': 7.22.15 + debug: 4.3.4(supports-color@8.1.1) + lodash.debounce: 4.0.8 + resolve: 1.22.4 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.15): resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.15 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4(supports-color@8.1.1) lodash.debounce: 4.0.8 - resolve: 1.22.3 + resolve: 1.22.4 transitivePeerDependencies: - supports-color - dev: true + dev: false /@babel/helper-environment-visitor@7.22.5: resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-function-name@7.22.5: resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.5 - dev: true + '@babel/template': 7.22.15 + '@babel/types': 7.22.15 /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 - dev: true + '@babel/types': 7.22.15 - /@babel/helper-member-expression-to-functions@7.22.5: - resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} + /@babel/helper-member-expression-to-functions@7.22.15: + resolution: {integrity: sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.15 dev: true - /@babel/helper-module-imports@7.22.5: - resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 - dev: true + '@babel/types': 7.22.15 - /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.9): - resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + /@babel/helper-module-transforms@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-l1UiX4UyHSFsYt17iQ3Se5pQQZZHa22zyIXURmvkmLCD4t/aU+dvNWHatKac/D9Vm9UES7nvIqHs4jZqKviUmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.5 - dev: true + '@babel/helper-validator-identifier': 7.22.15 /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.15 dev: true /@babel/helper-plugin-utils@7.22.5: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.22.9): + /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.22.15): resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-wrap-function': 7.22.9 + '@babel/helper-wrap-function': 7.22.10 dev: true - /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.9): + /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.15): resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.15 '@babel/helper-optimise-call-expression': 7.22.5 dev: true @@ -1279,938 +1263,906 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 - dev: true + '@babel/types': 7.22.15 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.15 dev: true /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 - dev: true + '@babel/types': 7.22.15 /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + /@babel/helper-validator-identifier@7.22.15: + resolution: {integrity: sha512-4E/F9IIEi8WR94324mbDUMo074YTheJmd7eZF5vITTeYchqAi6sYXRLHUVsmkdmY4QjfKTcB2jB7dVP3NaBElQ==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-option@7.22.5: - resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} + /@babel/helper-validator-option@7.22.15: + resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-wrap-function@7.22.9: - resolution: {integrity: sha512-sZ+QzfauuUEfxSEjKFmi3qDSHgLsTPK/pEpoD/qonZKOtTPTLbf59oabPQ4rKekt9lFcj/hTZaOhWwFYrgjk+Q==} + /@babel/helper-wrap-function@7.22.10: + resolution: {integrity: sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.22.5 - '@babel/template': 7.22.5 - '@babel/types': 7.22.5 + '@babel/template': 7.22.15 + '@babel/types': 7.22.15 dev: true - /@babel/helpers@7.22.6: - resolution: {integrity: sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==} + /@babel/helpers@7.22.15: + resolution: {integrity: sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/template': 7.22.15 + '@babel/traverse': 7.22.15 + '@babel/types': 7.22.15 transitivePeerDependencies: - supports-color - dev: true - /@babel/highlight@7.22.5: - resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} + /@babel/highlight@7.22.13: + resolution: {integrity: sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.15 chalk: 2.4.2 js-tokens: 4.0.0 - dev: true - /@babel/parser@7.22.7: - resolution: {integrity: sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==} + /@babel/parser@7.22.15: + resolution: {integrity: sha512-RWmQ/sklUN9BvGGpCDgSubhHWfAx24XDTDObup4ffvxaYsptOg2P3KG0j+1eWKLxpkX0j0uHxmpq2Z1SP/VhxA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.22.5 - dev: true + '@babel/types': 7.22.15 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.22.6(@babel/core@7.22.9) + '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.22.15) dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.9): - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.22.15): + resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - dev: true - - /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.22.9): - resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} - engines: {node: '>=4'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.15 + '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.15) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.15) dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.9): - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.15): + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.9): - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + /@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.22.15): + resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-static-block instead. peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.15) dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.9): - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.22.15): + resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.15) dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.9): - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.22.15): + resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.15) dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.9): - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.22.15): + resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.15) dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.9): - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.22.15): + resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.15) dev: true - /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.22.15): + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.15) dev: true - /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.22.15): + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.15) dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.9): - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.22.15): + resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/compat-data': 7.22.9 + '@babel/core': 7.22.15 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.15) dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.9): - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.22.15): + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.15) dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.9): - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.22.15): + resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.15) dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.9): - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.22.15): + resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.9): - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + /@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.22.15): + resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.15) dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.9): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.22.15): + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.9): - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.15): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.9): - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.15): + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.9): - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.15): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.9): - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.15): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.15): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.9): - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.15): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-async-generator-functions@7.22.7(@babel/core@7.22.9): - resolution: {integrity: sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.15): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-environment-visitor': 7.22.5 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.9) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.15): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.15): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.15): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.15): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.15): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: - '@babel/core': ^7.12.0 + '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-classes@7.22.6(@babel/core@7.22.9): - resolution: {integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.15): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.9) - '@babel/helper-split-export-declaration': 7.22.6 - globals: 11.12.0 dev: true - /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.15): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.22.5 dev: true - /@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==} + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.15): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.15): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==} + /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} + /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.5 + '@babel/core': 7.22.15 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.15) dev: true - /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==} + /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} + /@babel/plugin-transform-block-scoping@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-G1czpdJBZCtngoK1sJgloLiOHUnkb/bLZwqVZD8kXmq0ZnVfTTWUcs9OWtp0mBtYJ+4LQY1fllqBkOIPhXmFmw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} + /@babel/plugin-transform-classes@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.15 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 + '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.15) + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 dev: true - /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==} + /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.9) + '@babel/template': 7.22.15 dev: true - /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} + /@babel/plugin-transform-destructuring@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-HzG8sFl1ZVGTme74Nw+X01XsUTqERVQ6/RLHo3XjGRzm7XD6QTtfS3NJotVgCGy8BzkDqRjRBD8dAyJn5TuvSQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==} + /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} + /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} + /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.15 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} + /@babel/plugin-transform-for-of@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==} + /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.15 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-function-name': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 dev: true - /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} + /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} + /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 + '@babel/helper-module-transforms': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==} + /@babel/plugin-transform-modules-commonjs@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-jWL4eh90w0HQOTKP2MoXXUpVxilxsB2Vl4ji69rSjS3EcZ/v4sBmn+A3NpepuJzBhOaEBbR7udonlHHn5DWidg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 + '@babel/helper-module-transforms': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.9) + '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==} + /@babel/plugin-transform-modules-systemjs@7.22.11(@babel/core@7.22.15): + resolution: {integrity: sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.9) + '@babel/helper-validator-identifier': 7.22.15 dev: true - /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==} + /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.9 - '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.15 + '@babel/helper-module-transforms': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==} + /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-optional-chaining@7.22.6(@babel/core@7.22.9): - resolution: {integrity: sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==} + /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.9) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.15) dev: true - /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} + /@babel/plugin-transform-optional-chaining@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-ngQ2tBhq5vvSJw2Q2Z9i7ealNkpDMU0rGWnHPKqRZO0tzZ5tlaoz4hDvhXioOoaE0X2vfNss1djwg0DXlfu30A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.15) dev: true - /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} + /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==} + /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} + /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.22.15): + resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + regenerator-transform: 0.15.2 dev: true - /@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==} + /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.15): + resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - regenerator-transform: 0.15.1 dev: true - /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} + /@babel/plugin-transform-runtime@7.22.15(@babel/core@7.22.15): + resolution: {integrity: sha512-tEVLhk8NRZSmwQ0DJtxxhTrCht1HVo8VaMzYT4w6lwyKBuHsgoioAUA7/6eT2fRfc5/23fuGdlwIxXhRVgWr4g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - dev: true + babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.15) + babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.15) + babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.15) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: false - /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-unicode-escapes@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} + /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.22.15): + resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.15): resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.15 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.15) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/preset-env@7.22.9(@babel/core@7.22.9): - resolution: {integrity: sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==} + /@babel/preset-env@7.16.0(@babel/core@7.22.15): + resolution: {integrity: sha512-cdTu/W0IrviamtnZiTfixPfIncr2M1VqRrkjzZWlr1B4TVYimCFK5jkyOdP4qw2MrlKHi+b3ORj6x8GoCew8Dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.9 - '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.15 + '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.9) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.9) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.9) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.9) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.9) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.9) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.9) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.9) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.9) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.9) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-async-generator-functions': 7.22.7(@babel/core@7.22.9) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.9) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-destructuring': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-optional-chaining': 7.22.6(@babel/core@7.22.9) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-regenerator': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-unicode-escapes': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.9) - '@babel/preset-modules': 0.1.6(@babel/core@7.22.9) - '@babel/types': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.9) - babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.9) - babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.9) - core-js-compat: 3.32.0 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.22.15) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.22.15) + '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.22.15) + '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.22.15) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.15) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.15) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.22.15) + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.15) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.15) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.15) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.15) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.15) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.15) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.15) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-modules-commonjs': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-modules-systemjs': 7.22.11(@babel/core@7.22.15) + '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.15) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.22.15) + '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.15) + '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.22.15) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.15) + '@babel/preset-modules': 0.1.6(@babel/core@7.22.15) + '@babel/types': 7.22.15 + babel-plugin-polyfill-corejs2: 0.2.3(@babel/core@7.22.15) + babel-plugin-polyfill-corejs3: 0.3.0(@babel/core@7.22.15) + babel-plugin-polyfill-regenerator: 0.2.3(@babel/core@7.22.15) + core-js-compat: 3.32.1 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules@0.1.6(@babel/core@7.22.9): + /@babel/preset-modules@0.1.6(@babel/core@7.22.15): resolution: {integrity: sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.9) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.9) - '@babel/types': 7.22.5 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.15) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.15) + '@babel/types': 7.22.15 esutils: 2.0.3 dev: true @@ -2218,47 +2170,44 @@ packages: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: true - /@babel/runtime@7.22.6: - resolution: {integrity: sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==} + /@babel/runtime@7.22.15: + resolution: {integrity: sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.13.11 + regenerator-runtime: 0.14.0 - /@babel/template@7.22.5: - resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.5 - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 - dev: true + '@babel/code-frame': 7.22.13 + '@babel/parser': 7.22.15 + '@babel/types': 7.22.15 - /@babel/traverse@7.22.8: - resolution: {integrity: sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==} + /@babel/traverse@7.22.15: + resolution: {integrity: sha512-DdHPwvJY0sEeN4xJU5uRLmZjgMMDIvMPniLuYzUVXj/GGzysPl0/fwt44JBkyUIzGJPV8QgHMcQdQ34XFuKTYQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.9 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.22.15 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/parser': 7.22.15 + '@babel/types': 7.22.15 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color - dev: true - /@babel/types@7.22.5: - resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} + /@babel/types@7.22.15: + resolution: {integrity: sha512-X+NLXr0N8XXmN5ZsaQdm9U2SSC3UbIYq/doL++sueHOTisgZHoKaQtZxGuV2cUPQHMfjKEfg/g6oy7Hm6SKFtA==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.15 to-fast-properties: 2.0.0 - dev: true /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -2299,12 +2248,41 @@ packages: case: 1.6.3 dev: true + /@coinbase/wallet-sdk@3.6.3(@babel/core@7.22.15): + resolution: {integrity: sha512-XUR4poOJE+dKzwBTdlM693CdLFitr046oZOVY3iDnbFcRrrQswhbDji7q4CmUcD4HxbfViX7PFoIwl79YQcukg==} + engines: {node: '>= 10.0.0'} + dependencies: + '@metamask/safe-event-emitter': 2.0.0 + '@solana/web3.js': 1.78.4 + bind-decorator: 1.0.11 + bn.js: 5.2.1 + buffer: 6.0.3 + clsx: 1.2.1 + eth-block-tracker: 4.4.3(@babel/core@7.22.15) + eth-json-rpc-filters: 4.2.2 + eth-rpc-errors: 4.0.2 + json-rpc-engine: 6.1.0 + keccak: 3.0.3 + preact: 10.17.1 + qs: 6.11.2 + rxjs: 6.6.7 + sha.js: 2.4.11 + stream-browserify: 3.0.0 + util: 0.12.5 + transitivePeerDependencies: + - '@babel/core' + - bufferutil + - encoding + - supports-color + - utf-8-validate + dev: false + /@coinbase/wallet-sdk@3.7.1: resolution: {integrity: sha512-LjyoDCB+7p0waQXfK+fUgcAs3Ezk6S6e+LYaoFjpJ6c9VTop3NyZF40Pi7df4z7QJohCwzuIDjz0Rhtig6Y7Pg==} engines: {node: '>= 10.0.0'} dependencies: '@metamask/safe-event-emitter': 2.0.0 - '@solana/web3.js': 1.78.2 + '@solana/web3.js': 1.78.4 bind-decorator: 1.0.11 bn.js: 5.2.1 buffer: 6.0.3 @@ -2314,7 +2292,7 @@ packages: eth-rpc-errors: 4.0.2 json-rpc-engine: 6.1.0 keccak: 3.0.3 - preact: 10.16.0 + preact: 10.17.1 qs: 6.11.2 rxjs: 6.6.7 sha.js: 2.4.11 @@ -2340,8 +2318,8 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@defi-wonderland/smock@2.3.5(@ethersproject/abi@5.7.0)(@ethersproject/abstract-provider@5.7.0)(@ethersproject/abstract-signer@5.7.0)(@nomiclabs/hardhat-ethers@2.2.3)(ethers@5.7.2)(hardhat@2.17.1): - resolution: {integrity: sha512-klANj1hUpc3cd2ShXdVH/bEGwxJd+LxOngkF5gLcIbg6b37RCgMPMmR/94/hgL62F8bfWtuNKsQD7K+c6M5fWQ==} + /@defi-wonderland/smock@2.3.4(@ethersproject/abi@5.7.0)(@ethersproject/abstract-provider@5.7.0)(@ethersproject/abstract-signer@5.7.0)(@nomiclabs/hardhat-ethers@2.2.3)(ethers@5.7.2)(hardhat@2.14.0): + resolution: {integrity: sha512-VYJbsoCOdFRyGkAwvaQhQRrU6V8AjK3five8xdbo41DEE9n3qXzUNBUxyD9HhXB/dWWPFWT21IGw5Ztl6Qw3Ew==} peerDependencies: '@ethersproject/abi': ^5 '@ethersproject/abstract-provider': ^5 @@ -2356,10 +2334,10 @@ packages: '@nomicfoundation/ethereumjs-evm': 1.3.2 '@nomicfoundation/ethereumjs-util': 8.0.6 '@nomicfoundation/ethereumjs-vm': 6.4.2 - '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2)(hardhat@2.17.1) + '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2)(hardhat@2.14.0) diff: 5.1.0 ethers: 5.7.2 - hardhat: 2.17.1(ts-node@10.9.1)(typescript@4.9.5) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) lodash.isequal: 4.5.0 lodash.isequalwith: 4.4.0 rxjs: 7.8.1 @@ -2376,7 +2354,7 @@ packages: eth-ens-namehash: 2.0.8 solc: 0.4.26 testrpc: 0.0.1 - web3-utils: 1.10.0 + web3-utils: 1.10.2 dev: true /@ensdomains/resolver@0.2.4: @@ -2384,8 +2362,8 @@ packages: deprecated: Please use @ensdomains/ens-contracts dev: true - /@esbuild/android-arm64@0.18.17: - resolution: {integrity: sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==} + /@esbuild/android-arm64@0.17.19: + resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -2402,8 +2380,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.15.18: - resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} + /@esbuild/android-arm@0.17.19: + resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -2411,17 +2389,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.18.17: - resolution: {integrity: sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64@0.18.17: - resolution: {integrity: sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==} + /@esbuild/android-x64@0.17.19: + resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -2429,8 +2398,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.18.17: - resolution: {integrity: sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==} + /@esbuild/darwin-arm64@0.17.19: + resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -2438,8 +2407,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.18.17: - resolution: {integrity: sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==} + /@esbuild/darwin-x64@0.17.19: + resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -2447,8 +2416,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.18.17: - resolution: {integrity: sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==} + /@esbuild/freebsd-arm64@0.17.19: + resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -2456,8 +2425,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.18.17: - resolution: {integrity: sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==} + /@esbuild/freebsd-x64@0.17.19: + resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -2465,8 +2434,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.18.17: - resolution: {integrity: sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==} + /@esbuild/linux-arm64@0.17.19: + resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -2474,8 +2443,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.18.17: - resolution: {integrity: sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==} + /@esbuild/linux-arm@0.17.19: + resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -2483,8 +2452,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.18.17: - resolution: {integrity: sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==} + /@esbuild/linux-ia32@0.17.19: + resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -2492,8 +2461,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.15.13: - resolution: {integrity: sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag==} + /@esbuild/linux-loong64@0.14.54: + resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -2501,8 +2470,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.15.18: - resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} + /@esbuild/linux-loong64@0.15.13: + resolution: {integrity: sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -2510,8 +2479,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.18.17: - resolution: {integrity: sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==} + /@esbuild/linux-loong64@0.17.19: + resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -2519,8 +2488,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.18.17: - resolution: {integrity: sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==} + /@esbuild/linux-mips64el@0.17.19: + resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -2528,8 +2497,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.18.17: - resolution: {integrity: sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==} + /@esbuild/linux-ppc64@0.17.19: + resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -2537,8 +2506,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.18.17: - resolution: {integrity: sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==} + /@esbuild/linux-riscv64@0.17.19: + resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -2546,8 +2515,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.18.17: - resolution: {integrity: sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==} + /@esbuild/linux-s390x@0.17.19: + resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -2555,8 +2524,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.18.17: - resolution: {integrity: sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==} + /@esbuild/linux-x64@0.17.19: + resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -2564,8 +2533,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.18.17: - resolution: {integrity: sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==} + /@esbuild/netbsd-x64@0.17.19: + resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -2573,8 +2542,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.18.17: - resolution: {integrity: sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==} + /@esbuild/openbsd-x64@0.17.19: + resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -2582,8 +2551,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.18.17: - resolution: {integrity: sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==} + /@esbuild/sunos-x64@0.17.19: + resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -2591,8 +2560,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.18.17: - resolution: {integrity: sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==} + /@esbuild/win32-arm64@0.17.19: + resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -2600,8 +2569,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.18.17: - resolution: {integrity: sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==} + /@esbuild/win32-ia32@0.17.19: + resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -2609,8 +2578,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.18.17: - resolution: {integrity: sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==} + /@esbuild/win32-x64@0.17.19: + resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -2625,21 +2594,31 @@ packages: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: eslint: 7.32.0 - eslint-visitor-keys: 3.4.2 + eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.46.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.28.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.46.0 - eslint-visitor-keys: 3.4.2 + eslint: 8.28.0 + eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.6.2: - resolution: {integrity: sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==} + /@eslint-community/eslint-utils@4.4.0(eslint@8.48.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.48.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.8.0: + resolution: {integrity: sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true @@ -2650,7 +2629,7 @@ packages: ajv: 6.12.6 debug: 4.3.4(supports-color@8.1.1) espree: 7.3.1 - globals: 13.20.0 + globals: 13.21.0 ignore: 4.0.6 import-fresh: 3.3.0 js-yaml: 3.14.1 @@ -2660,14 +2639,31 @@ packages: - supports-color dev: true - /@eslint/eslintrc@2.1.1: - resolution: {integrity: sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==} + /@eslint/eslintrc@1.4.1: + resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4(supports-color@8.1.1) + espree: 9.6.1 + globals: 13.21.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/eslintrc@2.1.2: + resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@8.1.1) espree: 9.6.1 - globals: 13.20.0 + globals: 13.21.0 ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -2677,8 +2673,8 @@ packages: - supports-color dev: true - /@eslint/js@8.46.0: - resolution: {integrity: sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==} + /@eslint/js@8.48.0: + resolution: {integrity: sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -2706,7 +2702,7 @@ packages: '@types/node-fetch': 2.6.4 ethers: 5.7.2 mkdirp: 0.5.6 - node-fetch: 2.6.12 + node-fetch: 2.7.0 solc: 0.6.12 ts-generator: 0.1.1 typechain: 3.0.0(typescript@4.9.5) @@ -2757,9 +2753,23 @@ packages: - utf-8-validate dev: true + /@ethereumjs/rlp@4.0.1: + resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /@ethereumjs/util@8.1.0: + resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} + engines: {node: '>=14'} + dependencies: + '@ethereumjs/rlp': 4.0.1 + ethereum-cryptography: 2.1.2 + micro-ftch: 0.3.1 + dev: true + /@ethersproject/abi@5.0.0-beta.153: resolution: {integrity: sha512-aXweZ1Z7vMNzJdLpR1CZUAIgnwjrZeUSvN9syCwlBaEBUFJmFY+HHnfuTI5vIhVs/mRkfJVrbEyl51JZQqyjAg==} - requiresBuild: true dependencies: '@ethersproject/address': 5.7.0 '@ethersproject/bignumber': 5.7.0 @@ -3073,13 +3083,13 @@ packages: resolution: {integrity: sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==} dependencies: '@formatjs/intl-localematcher': 0.2.25 - tslib: 2.6.1 + tslib: 2.4.1 dev: false /@formatjs/fast-memoize@1.2.1: resolution: {integrity: sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==} dependencies: - tslib: 2.6.1 + tslib: 2.4.1 dev: false /@formatjs/icu-messageformat-parser@2.1.0: @@ -3087,20 +3097,20 @@ packages: dependencies: '@formatjs/ecma402-abstract': 1.11.4 '@formatjs/icu-skeleton-parser': 1.3.6 - tslib: 2.6.1 + tslib: 2.4.1 dev: false /@formatjs/icu-skeleton-parser@1.3.6: resolution: {integrity: sha512-I96mOxvml/YLrwU2Txnd4klA7V8fRhb6JG/4hm3VMNmeJo1F03IpV2L3wWt7EweqNLES59SZ4d6hVOPCSf80Bg==} dependencies: '@formatjs/ecma402-abstract': 1.11.4 - tslib: 2.6.1 + tslib: 2.4.1 dev: false /@formatjs/intl-localematcher@0.2.25: resolution: {integrity: sha512-YmLcX70BxoSopLFdLr1Ds99NdlTI2oWoLbaUW2M406lxOIPzE1KQhRz2fPUkq34xVZQaihCoU29h0KK7An3bhA==} dependencies: - tslib: 2.6.1 + tslib: 2.4.1 dev: false /@foundry-rs/easy-foundryup@0.1.3: @@ -3110,7 +3120,7 @@ packages: ts-interface-checker: 0.1.13 dev: true - /@foundry-rs/hardhat-forge@0.1.17(@nomiclabs/hardhat-ethers@2.2.3)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.17.1): + /@foundry-rs/hardhat-forge@0.1.17(@nomiclabs/hardhat-ethers@2.2.3)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.14.0): resolution: {integrity: sha512-2wxzxA12CQmT11PH/KigyVTNm/4vzsVtzVZow6gwCbC41fTyf73a5qbggHZFRR74JXfmvVSkX1BJitTmdzQvxw==} peerDependencies: '@nomiclabs/hardhat-ethers': ^2.0.0 @@ -3119,8 +3129,8 @@ packages: hardhat: ^2.0.0 dependencies: '@foundry-rs/easy-foundryup': 0.1.3 - '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2)(hardhat@2.17.1) - '@nomiclabs/hardhat-waffle': 2.0.6(@nomiclabs/hardhat-ethers@2.2.3)(@types/sinon-chai@3.2.9)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.17.1) + '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2)(hardhat@2.14.0) + '@nomiclabs/hardhat-waffle': 2.0.5(@nomiclabs/hardhat-ethers@2.2.3)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.14.0) '@types/sinon-chai': 3.2.9 '@types/web3': 1.0.19 camelcase-keys: 7.0.2 @@ -3129,7 +3139,7 @@ packages: ethers: 5.7.2 fs-extra: 10.1.0 glob: 7.2.3 - hardhat: 2.17.1(ts-node@10.9.1)(typescript@4.9.5) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) true-case-path: 2.2.1 ts-interface-checker: 0.1.13 transitivePeerDependencies: @@ -3140,8 +3150,8 @@ packages: resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} dev: true - /@headlessui/react@1.7.16(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-2MphIAZdSUacZBT6EXk8AJkj+EuvaaJbtCyHTJrPsz8inhzCl7qeNPI1uk1AUvCgWylVtdN8cVVmnhUDPxPy3g==} + /@headlessui/react@1.7.17(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-4am+tzvkqDSSgiwrsEpGWqgGo9dz8qU5M3znCkC4PgkpY4HcCZzEDEvozltGGGHIKl9jbXbZPSH5TWn4sWJdow==} engines: {node: '>=10'} peerDependencies: react: ^16 || ^17 || ^18 @@ -3160,8 +3170,8 @@ packages: react: 18.2.0 dev: true - /@humanwhocodes/config-array@0.11.10: - resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} + /@humanwhocodes/config-array@0.11.11: + resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -3212,7 +3222,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.5.7 + '@types/node': 20.5.9 chalk: 4.1.2 jest-message-util: 27.5.1 jest-util: 27.5.1 @@ -3233,7 +3243,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.5.7 + '@types/node': 20.5.9 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.8.1 @@ -3270,7 +3280,7 @@ packages: dependencies: '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.5.7 + '@types/node': 20.5.9 jest-mock: 27.5.1 dev: true @@ -3280,7 +3290,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@sinonjs/fake-timers': 8.1.0 - '@types/node': 20.5.7 + '@types/node': 20.5.9 jest-message-util: 27.5.1 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -3309,7 +3319,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.5.7 + '@types/node': 20.5.9 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -3333,13 +3343,6 @@ packages: - supports-color dev: true - /@jest/schemas@29.6.0: - resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - /@jest/source-map@27.5.1: resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -3375,7 +3378,7 @@ packages: resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@jest/types': 27.5.1 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 @@ -3400,7 +3403,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.5.7 + '@types/node': 20.5.9 '@types/yargs': 16.0.5 chalk: 4.1.2 dev: true @@ -3411,16 +3414,11 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 - - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} - engines: {node: '>=6.0.0'} + '@jridgewell/trace-mapping': 0.3.19 /@jridgewell/resolve-uri@3.1.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} - dev: true /@jridgewell/set-array@1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} @@ -3430,20 +3428,17 @@ packages: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.19 dev: true - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.18: - resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + /@jridgewell/trace-mapping@0.3.19: + resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} @@ -3452,7 +3447,7 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /@json-rpc-tools/provider@1.7.6: + /@json-rpc-tools/provider@1.7.6(debug@4.3.4): resolution: {integrity: sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. dependencies: @@ -3464,14 +3459,12 @@ packages: - bufferutil - debug - utf-8-validate - dev: false /@json-rpc-tools/types@1.7.6: resolution: {integrity: sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. dependencies: keyvaluestorage-interface: 1.0.0 - dev: false /@json-rpc-tools/utils@1.7.6: resolution: {integrity: sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw==} @@ -3479,10 +3472,9 @@ packages: dependencies: '@json-rpc-tools/types': 1.7.6 '@pedrouid/environment': 1.0.1 - dev: false - /@ledgerhq/connect-kit-loader@1.1.1: - resolution: {integrity: sha512-Jq/CMEw+o5+u6YEcVtkE5UiEDhTjyqro1vo0hDDScf1WdDkxBHahYn/1bL9QEhA4nG5JyfygcL1+CKT+2BilWw==} + /@ledgerhq/connect-kit-loader@1.1.2: + resolution: {integrity: sha512-mscwGroSJQrCTjtNGBu+18FQbZYA4+q6Tyx6K7CXHl6AwgZKbWfZYdgP2F+fyZcRUdGRsMX8QtvU61VcGGtO1A==} /@lit-labs/ssr-dom-shim@1.1.1: resolution: {integrity: sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==} @@ -3502,7 +3494,7 @@ packages: resolution: {integrity: sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==} dependencies: '@types/estree-jsx': 1.0.0 - '@types/mdx': 2.0.5 + '@types/mdx': 2.0.7 estree-util-build-jsx: 2.2.2 estree-util-is-identifier-name: 2.1.0 estree-util-to-js: 1.2.0 @@ -3527,8 +3519,8 @@ packages: peerDependencies: react: '>=16' dependencies: - '@types/mdx': 2.0.5 - '@types/react': 18.2.18 + '@types/mdx': 2.0.7 + '@types/react': 18.2.17 react: 18.2.0 dev: false @@ -3550,7 +3542,7 @@ packages: resolution: {integrity: sha512-9cIRrfkWvHblSiNDVXsjivqa9Ak0RYo/1H6tqTqTbAx+oBK2Sva0lWDHxGchOqA7bySGUJKAWSNJvH6gdHZ0gQ==} engines: {node: '>=14.0.0'} dependencies: - '@types/debug': 4.1.8 + '@types/debug': 4.1.7 debug: 4.3.4(supports-color@8.1.1) semver: 7.5.4 superstruct: 1.0.3 @@ -3563,7 +3555,7 @@ packages: '@motionone/easing': 10.15.1 '@motionone/types': 10.15.1 '@motionone/utils': 10.15.1 - tslib: 2.6.1 + tslib: 2.4.1 /@motionone/dom@10.16.2: resolution: {integrity: sha512-bnuHdNbge1FutZXv+k7xub9oPWcF0hsu8y1HTH/qg6av58YI0VufZ3ngfC7p2xhMJMnoh0LXFma2EGTgPeCkeg==} @@ -3573,26 +3565,26 @@ packages: '@motionone/types': 10.15.1 '@motionone/utils': 10.15.1 hey-listen: 1.0.8 - tslib: 2.6.1 + tslib: 2.4.1 /@motionone/easing@10.15.1: resolution: {integrity: sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==} dependencies: '@motionone/utils': 10.15.1 - tslib: 2.6.1 + tslib: 2.4.1 /@motionone/generators@10.15.1: resolution: {integrity: sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ==} dependencies: '@motionone/types': 10.15.1 '@motionone/utils': 10.15.1 - tslib: 2.6.1 + tslib: 2.4.1 /@motionone/svelte@10.16.2: resolution: {integrity: sha512-38xsroKrfK+aHYhuQlE6eFcGy0EwrB43Q7RGjF73j/kRUTcLNu/LAaKiLLsN5lyqVzCgTBVt4TMT/ShWbTbc5Q==} dependencies: '@motionone/dom': 10.16.2 - tslib: 2.6.1 + tslib: 2.4.1 /@motionone/types@10.15.1: resolution: {integrity: sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA==} @@ -3602,16 +3594,16 @@ packages: dependencies: '@motionone/types': 10.15.1 hey-listen: 1.0.8 - tslib: 2.6.1 + tslib: 2.4.1 /@motionone/vue@10.16.2: resolution: {integrity: sha512-7/dEK/nWQXOkJ70bqb2KyNfSWbNvWqKKq1C8juj+0Mg/AorgD8O5wE3naddK0G+aXuNMqRuc4jlsYHHWHtIzVw==} dependencies: '@motionone/dom': 10.16.2 - tslib: 2.6.1 + tslib: 2.4.1 - /@napi-rs/simple-git-android-arm-eabi@0.1.8: - resolution: {integrity: sha512-JJCejHBB1G6O8nxjQLT4quWCcvLpC3oRdJJ9G3MFYSCoYS8i1bWCWeU+K7Br+xT+D6s1t9q8kNJAwJv9Ygpi0g==} + /@napi-rs/simple-git-android-arm-eabi@0.1.9: + resolution: {integrity: sha512-9D4JnfePMpgL4pg9aMUX7/TIWEUQ+Tgx8n3Pf8TNCMGjUbImJyYsDSLJzbcv9wH7srgn4GRjSizXFJHAPjzEug==} engines: {node: '>= 10'} cpu: [arm] os: [android] @@ -3619,8 +3611,8 @@ packages: dev: false optional: true - /@napi-rs/simple-git-android-arm64@0.1.8: - resolution: {integrity: sha512-mraHzwWBw3tdRetNOS5KnFSjvdAbNBnjFLA8I4PwTCPJj3Q4txrigcPp2d59cJ0TC51xpnPXnZjYdNwwSI9g6g==} + /@napi-rs/simple-git-android-arm64@0.1.9: + resolution: {integrity: sha512-Krilsw0gPrrASZzudNEl9pdLuNbhoTK0j7pUbfB8FRifpPdFB/zouwuEm0aSnsDXN4ftGrmGG82kuiR/2MeoPg==} engines: {node: '>= 10'} cpu: [arm64] os: [android] @@ -3628,8 +3620,8 @@ packages: dev: false optional: true - /@napi-rs/simple-git-darwin-arm64@0.1.8: - resolution: {integrity: sha512-ufy/36eI/j4UskEuvqSH7uXtp3oXeLDmjQCfKJz3u5Vx98KmOMKrqAm2H81AB2WOtCo5mqS6PbBeUXR8BJX8lQ==} + /@napi-rs/simple-git-darwin-arm64@0.1.9: + resolution: {integrity: sha512-H/F09nDgYjv4gcFrZBgdTKkZEepqt0KLYcCJuUADuxkKupmjLdecMhypXLk13AzvLW4UQI7NlLTLDXUFLyr2BA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -3637,8 +3629,8 @@ packages: dev: false optional: true - /@napi-rs/simple-git-darwin-x64@0.1.8: - resolution: {integrity: sha512-Vb21U+v3tPJNl+8JtIHHT8HGe6WZ8o1Tq3f6p+Jx9Cz71zEbcIiB9FCEMY1knS/jwQEOuhhlI9Qk7d4HY+rprA==} + /@napi-rs/simple-git-darwin-x64@0.1.9: + resolution: {integrity: sha512-jBR2xS9nVPqmHv0TWz874W0m/d453MGrMeLjB+boK5IPPLhg3AWIZj0aN9jy2Je1BGVAa0w3INIQJtBBeB6kFA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -3646,8 +3638,8 @@ packages: dev: false optional: true - /@napi-rs/simple-git-linux-arm-gnueabihf@0.1.8: - resolution: {integrity: sha512-6BPTJ7CzpSm2t54mRLVaUr3S7ORJfVJoCk2rQ8v8oDg0XAMKvmQQxOsAgqKBo9gYNHJnqrOx3AEuEgvB586BuQ==} + /@napi-rs/simple-git-linux-arm-gnueabihf@0.1.9: + resolution: {integrity: sha512-3n0+VpO4YfZxndZ0sCvsHIvsazd+JmbSjrlTRBCnJeAU1/sfos3skNZtKGZksZhjvd+3o+/GFM8L7Xnv01yggA==} engines: {node: '>= 10'} cpu: [arm] os: [linux] @@ -3655,8 +3647,8 @@ packages: dev: false optional: true - /@napi-rs/simple-git-linux-arm64-gnu@0.1.8: - resolution: {integrity: sha512-qfESqUCAA/XoQpRXHptSQ8gIFnETCQt1zY9VOkplx6tgYk9PCeaX4B1Xuzrh3eZamSCMJFn+1YB9Ut8NwyGgAA==} + /@napi-rs/simple-git-linux-arm64-gnu@0.1.9: + resolution: {integrity: sha512-lIzf0KHU2SKC12vMrWwCtysG2Sdt31VHRPMUiz9lD9t3xwVn8qhFSTn5yDkTeG3rgX6o0p5EKalfQN5BXsJq2w==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -3664,8 +3656,8 @@ packages: dev: false optional: true - /@napi-rs/simple-git-linux-arm64-musl@0.1.8: - resolution: {integrity: sha512-G80BQPpaRmQpn8dJGHp4I2/YVhWDUNJwcCrJAtAdbKFDCMyCHJBln2ERL/+IEUlIAT05zK/c1Z5WEprvXEdXow==} + /@napi-rs/simple-git-linux-arm64-musl@0.1.9: + resolution: {integrity: sha512-KQozUoNXrxrB8k741ncWXSiMbjl1AGBGfZV21PANzUM8wH4Yem2bg3kfglYS/QIx3udspsT35I9abu49n7D1/w==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -3673,8 +3665,8 @@ packages: dev: false optional: true - /@napi-rs/simple-git-linux-x64-gnu@0.1.8: - resolution: {integrity: sha512-NI6o1sZYEf6vPtNWJAm9w8BxJt+LlSFW0liSjYe3lc3e4dhMfV240f0ALeqlwdIldRPaDFwZSJX5/QbS7nMzhw==} + /@napi-rs/simple-git-linux-x64-gnu@0.1.9: + resolution: {integrity: sha512-O/Niui5mnHPcK3iYC3ui8wgERtJWsQ3Y74W/09t0bL/3dgzGMl4oQt0qTj9dWCsnoGsIEYHPzwCBp/2vqYp/pw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -3682,8 +3674,8 @@ packages: dev: false optional: true - /@napi-rs/simple-git-linux-x64-musl@0.1.8: - resolution: {integrity: sha512-wljGAEOW41er45VTiU8kXJmO480pQKzsgRCvPlJJSCaEVBbmo6XXbFIXnZy1a2J3Zyy2IOsRB4PVkUZaNuPkZQ==} + /@napi-rs/simple-git-linux-x64-musl@0.1.9: + resolution: {integrity: sha512-L9n+e8Wn3hKr3RsIdY8GaB+ry4xZ4BaGwyKExgoB8nDGQuRUY9oP6p0WA4hWfJvJnU1H6hvo36a5UFPReyBO7A==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -3691,8 +3683,8 @@ packages: dev: false optional: true - /@napi-rs/simple-git-win32-arm64-msvc@0.1.8: - resolution: {integrity: sha512-QuV4QILyKPfbWHoQKrhXqjiCClx0SxbCTVogkR89BwivekqJMd9UlMxZdoCmwLWutRx4z9KmzQqokvYI5QeepA==} + /@napi-rs/simple-git-win32-arm64-msvc@0.1.9: + resolution: {integrity: sha512-Z6Ja/SZK+lMvRWaxj7wjnvSbAsGrH006sqZo8P8nxKUdZfkVvoCaAWr1r0cfkk2Z3aijLLtD+vKeXGlUPH6gGQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -3700,8 +3692,8 @@ packages: dev: false optional: true - /@napi-rs/simple-git-win32-x64-msvc@0.1.8: - resolution: {integrity: sha512-UzNS4JtjhZhZ5hRLq7BIUq+4JOwt1ThIKv11CsF1ag2l99f0123XvfEpjczKTaa94nHtjXYc2Mv9TjccBqYOew==} + /@napi-rs/simple-git-win32-x64-msvc@0.1.9: + resolution: {integrity: sha512-VAZj1UvC+R2MjKOD3I/Y7dmQlHWAYy4omhReQJRpbCf+oGCBi9CWiIduGqeYEq723nLIKdxP7XjaO0wl1NnUww==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -3709,21 +3701,21 @@ packages: dev: false optional: true - /@napi-rs/simple-git@0.1.8: - resolution: {integrity: sha512-BvOMdkkofTz6lEE35itJ/laUokPhr/5ToMGlOH25YnhLD2yN1KpRAT4blW9tT8281/1aZjW3xyi73bs//IrDKA==} + /@napi-rs/simple-git@0.1.9: + resolution: {integrity: sha512-qKzDS0+VjMvVyU28px+C6zlD1HKy83NIdYzfMQWa/g/V1iG/Ic8uwrS2ihHfm7mp7X0PPrmINLiTTi6ieUIKfw==} engines: {node: '>= 10'} optionalDependencies: - '@napi-rs/simple-git-android-arm-eabi': 0.1.8 - '@napi-rs/simple-git-android-arm64': 0.1.8 - '@napi-rs/simple-git-darwin-arm64': 0.1.8 - '@napi-rs/simple-git-darwin-x64': 0.1.8 - '@napi-rs/simple-git-linux-arm-gnueabihf': 0.1.8 - '@napi-rs/simple-git-linux-arm64-gnu': 0.1.8 - '@napi-rs/simple-git-linux-arm64-musl': 0.1.8 - '@napi-rs/simple-git-linux-x64-gnu': 0.1.8 - '@napi-rs/simple-git-linux-x64-musl': 0.1.8 - '@napi-rs/simple-git-win32-arm64-msvc': 0.1.8 - '@napi-rs/simple-git-win32-x64-msvc': 0.1.8 + '@napi-rs/simple-git-android-arm-eabi': 0.1.9 + '@napi-rs/simple-git-android-arm64': 0.1.9 + '@napi-rs/simple-git-darwin-arm64': 0.1.9 + '@napi-rs/simple-git-darwin-x64': 0.1.9 + '@napi-rs/simple-git-linux-arm-gnueabihf': 0.1.9 + '@napi-rs/simple-git-linux-arm64-gnu': 0.1.9 + '@napi-rs/simple-git-linux-arm64-musl': 0.1.9 + '@napi-rs/simple-git-linux-x64-gnu': 0.1.9 + '@napi-rs/simple-git-linux-x64-musl': 0.1.9 + '@napi-rs/simple-git-win32-arm64-msvc': 0.1.9 + '@napi-rs/simple-git-win32-x64-msvc': 0.1.9 dev: false /@next/env@13.4.12: @@ -3820,6 +3812,12 @@ packages: resolution: {integrity: sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA==} dependencies: '@noble/hashes': 1.3.1 + dev: true + + /@noble/curves@1.2.0: + resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} + dependencies: + '@noble/hashes': 1.3.2 /@noble/hashes@1.2.0: resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} @@ -3831,6 +3829,11 @@ packages: /@noble/hashes@1.3.1: resolution: {integrity: sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==} engines: {node: '>= 16'} + dev: true + + /@noble/hashes@1.3.2: + resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} + engines: {node: '>= 16'} /@noble/secp256k1@1.7.1: resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} @@ -4154,22 +4157,22 @@ packages: - utf-8-validate dev: true - /@nomicfoundation/hardhat-foundry@1.0.2(hardhat@2.17.1): - resolution: {integrity: sha512-NbOrtIKcss51h+1h/TaZkCxOn9KaGbLd6/l75V4X7oDhonGmMWevwrKTNMHC90wCATDkV+B37jmn3fGbWCs+Vg==} + /@nomicfoundation/hardhat-foundry@1.0.1(hardhat@2.14.0): + resolution: {integrity: sha512-sQEaX3rik6Gclmek4MqCyOc9+vOM0ZS40eUARrB6K9t6wthqCwJ29CClfxLdbrjn/3MM5hX8ioD+/9OqdGVxSQ==} peerDependencies: hardhat: ^2.12.6 dependencies: chalk: 2.4.2 - hardhat: 2.17.1(ts-node@10.9.1)(typescript@4.9.5) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) dev: true - /@nomicfoundation/hardhat-network-helpers@1.0.8(hardhat@2.17.1): + /@nomicfoundation/hardhat-network-helpers@1.0.8(hardhat@2.14.0): resolution: {integrity: sha512-MNqQbzUJZnCMIYvlniC3U+kcavz/PhhQSsY90tbEtUyMj/IQqsLwIRZa4ctjABh3Bz0KCh9OXUZ7Yk/d9hr45Q==} peerDependencies: hardhat: ^2.9.5 dependencies: ethereumjs-util: 7.1.5 - hardhat: 2.17.1(ts-node@10.9.1)(typescript@4.9.5) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) dev: true /@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1: @@ -4278,17 +4281,17 @@ packages: '@nomicfoundation/solidity-analyzer-win32-x64-msvc': 0.1.1 dev: true - /@nomiclabs/hardhat-ethers@2.2.3(ethers@5.7.2)(hardhat@2.17.1): + /@nomiclabs/hardhat-ethers@2.2.3(ethers@5.7.2)(hardhat@2.14.0): resolution: {integrity: sha512-YhzPdzb612X591FOe68q+qXVXGG2ANZRvDo0RRUtimev85rCrAlv/TLMEZw5c+kq9AbzocLTVX/h2jVIFPL9Xg==} peerDependencies: ethers: ^5.0.0 hardhat: ^2.0.0 dependencies: ethers: 5.7.2 - hardhat: 2.17.1(ts-node@10.9.1)(typescript@4.9.5) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) dev: true - /@nomiclabs/hardhat-etherscan@3.1.7(hardhat@2.17.1): + /@nomiclabs/hardhat-etherscan@3.1.7(hardhat@2.14.0): resolution: {integrity: sha512-tZ3TvSgpvsQ6B6OGmo1/Au6u8BrAkvs1mIC/eURA3xgIfznUZBhmpne8hv7BXUzw9xNL3fXdpOYgOQlVMTcoHQ==} peerDependencies: hardhat: ^2.0.4 @@ -4299,7 +4302,7 @@ packages: chalk: 2.4.2 debug: 4.3.4(supports-color@8.1.1) fs-extra: 7.0.1 - hardhat: 2.17.1(ts-node@10.9.1)(typescript@4.9.5) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) lodash: 4.17.21 semver: 6.3.1 table: 6.8.1 @@ -4308,20 +4311,18 @@ packages: - supports-color dev: true - /@nomiclabs/hardhat-waffle@2.0.6(@nomiclabs/hardhat-ethers@2.2.3)(@types/sinon-chai@3.2.9)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.17.1): - resolution: {integrity: sha512-+Wz0hwmJGSI17B+BhU/qFRZ1l6/xMW82QGXE/Gi+WTmwgJrQefuBs1lIf7hzQ1hLk6hpkvb/zwcNkpVKRYTQYg==} + /@nomiclabs/hardhat-waffle@2.0.5(@nomiclabs/hardhat-ethers@2.2.3)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.14.0): + resolution: {integrity: sha512-U1RH9OQ1mWYQfb+moX5aTgGjpVVlOcpiFI47wwnaGG4kLhcTy90cNiapoqZenxcRAITVbr0/+QSduINL5EsUIQ==} peerDependencies: '@nomiclabs/hardhat-ethers': ^2.0.0 - '@types/sinon-chai': ^3.2.3 ethereum-waffle: '*' ethers: ^5.0.0 hardhat: ^2.0.0 dependencies: - '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2)(hardhat@2.17.1) - '@types/sinon-chai': 3.2.9 + '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2)(hardhat@2.14.0) ethereum-waffle: 3.4.4(typescript@4.9.5) ethers: 5.7.2 - hardhat: 2.17.1(ts-node@10.9.1)(typescript@4.9.5) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) dev: true /@npmcli/fs@1.1.1: @@ -4340,21 +4341,8 @@ packages: rimraf: 3.0.2 dev: true - /@openzeppelin/defender-base-client@1.47.1(debug@4.3.4): - resolution: {integrity: sha512-xnopi1tZIh1zY9KF3mo9S2YgMP0I3T11r6jiO1teAw6M0U5Fx2SCjfCVoKV7CLAQGH1VHmAZ7w2CmcEsFvlQng==} - dependencies: - amazon-cognito-identity-js: 6.3.1 - async-retry: 1.3.3 - axios: 1.4.0(debug@4.3.4) - lodash: 4.17.21 - node-fetch: 2.6.12 - transitivePeerDependencies: - - debug - - encoding - dev: true - - /@openzeppelin/hardhat-upgrades@1.28.0(@nomiclabs/hardhat-ethers@2.2.3)(@nomiclabs/hardhat-etherscan@3.1.7)(ethers@5.7.2)(hardhat@2.17.1): - resolution: {integrity: sha512-7sb/Jf+X+uIufOBnmHR0FJVWuxEs2lpxjJnLNN6eCJCP8nD0v+Ot5lTOW2Qb/GFnh+fLvJtEkhkowz4ZQ57+zQ==} + /@openzeppelin/hardhat-upgrades@1.22.1(@nomiclabs/hardhat-ethers@2.2.3)(@nomiclabs/hardhat-etherscan@3.1.7)(ethers@5.7.2)(hardhat@2.14.0): + resolution: {integrity: sha512-MdoitCTLl4zwMU8MeE/bCj+7JMWBEvd38XqJkw36PkJrXlbv6FedDVCPoumMAhpmtymm0nTwTYYklYG+L6WiiQ==} hasBin: true peerDependencies: '@nomiclabs/hardhat-ethers': ^2.0.0 @@ -4366,63 +4354,44 @@ packages: '@nomiclabs/harhdat-etherscan': optional: true dependencies: - '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2)(hardhat@2.17.1) - '@nomiclabs/hardhat-etherscan': 3.1.7(hardhat@2.17.1) - '@openzeppelin/defender-base-client': 1.47.1(debug@4.3.4) - '@openzeppelin/platform-deploy-client': 0.8.0(debug@4.3.4) + '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2)(hardhat@2.14.0) + '@nomiclabs/hardhat-etherscan': 3.1.7(hardhat@2.14.0) '@openzeppelin/upgrades-core': 1.28.0 chalk: 4.1.2 debug: 4.3.4(supports-color@8.1.1) ethers: 5.7.2 - hardhat: 2.17.1(ts-node@10.9.1)(typescript@4.9.5) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) proper-lockfile: 4.1.2 transitivePeerDependencies: - - encoding - supports-color dev: true - /@openzeppelin/platform-deploy-client@0.8.0(debug@4.3.4): - resolution: {integrity: sha512-POx3AsnKwKSV/ZLOU/gheksj0Lq7Is1q2F3pKmcFjGZiibf+4kjGxr4eSMrT+2qgKYZQH1ZLQZ+SkbguD8fTvA==} - dependencies: - '@ethersproject/abi': 5.7.0 - '@openzeppelin/defender-base-client': 1.47.1(debug@4.3.4) - axios: 0.21.4(debug@4.3.4) - lodash: 4.17.21 - node-fetch: 2.6.12 - transitivePeerDependencies: - - debug - - encoding - dev: true - /@openzeppelin/upgrades-core@1.28.0: resolution: {integrity: sha512-8RKlyg98Adv+46GxDaR0awL3R8bVCcQ27DcSEwrgWOp6siHh8sZg4a2l+2dhPl1510S6uBfhHSydMH5VX2BV5g==} hasBin: true dependencies: cbor: 9.0.1 chalk: 4.1.2 - compare-versions: 6.0.0 + compare-versions: 6.1.0 debug: 4.3.4(supports-color@8.1.1) ethereumjs-util: 7.1.5 minimist: 1.2.8 proper-lockfile: 4.1.2 - solidity-ast: 0.4.49 + solidity-ast: 0.4.52 transitivePeerDependencies: - supports-color dev: true /@pedrouid/environment@1.0.1: resolution: {integrity: sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug==} - dev: false - /@playwright/test@1.36.2: - resolution: {integrity: sha512-2rVZeyPRjxfPH6J0oGJqE8YxiM1IBRyM8hyrXYK7eSiAqmbNhxwcLa7dZ7fy9Kj26V7FYia5fh9XJRq4Dqme+g==} - engines: {node: '>=16'} + /@playwright/test@1.28.1: + resolution: {integrity: sha512-xN6spdqrNlwSn9KabIhqfZR7IWjPpFK1835tFNgjrlysaSezuX8PYUwaz38V/yI8TJLG9PkAMEXoHRXYXlpTPQ==} + engines: {node: '>=14'} hasBin: true dependencies: - '@types/node': 20.5.7 - playwright-core: 1.36.2 - optionalDependencies: - fsevents: 2.3.2 + '@types/node': 20.5.9 + playwright-core: 1.28.1 dev: true /@polka/url@1.0.0-next.21: @@ -4497,6 +4466,14 @@ packages: rollup: 2.79.1 dev: true + /@rollup/pluginutils@4.2.1: + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + /@safe-global/safe-apps-provider@0.15.2: resolution: {integrity: sha512-BaoGAuY7h6jLBL7P+M6b7hd+1QfTv8uMyNF3udhiNUwA0XwfzH2ePQB13IEV3Mn7wdcIMEEUDS5kHbtAsj60qQ==} dependencies: @@ -4522,7 +4499,7 @@ packages: /@safe-global/safe-apps-sdk@7.11.0: resolution: {integrity: sha512-RDamzPM1Lhhiiz0O+Dn6FkFqIh47jmZX+HCV/BBnBBOSKfBJE//IGD3+02zMgojXHTikQAburdPes9qmH1SA1A==} dependencies: - '@safe-global/safe-gateway-typescript-sdk': 3.8.0 + '@safe-global/safe-gateway-typescript-sdk': 3.10.0 ethers: 5.7.2 transitivePeerDependencies: - bufferutil @@ -4532,7 +4509,7 @@ packages: /@safe-global/safe-apps-sdk@7.9.0: resolution: {integrity: sha512-S2EI+JL8ocSgE3uGNaDZCzKmwfhtxXZFDUP76vN0FeaY35itFMyi8F0Vhxu0XnZm3yLzJE3tp5px6GhuQFLU6w==} dependencies: - '@safe-global/safe-gateway-typescript-sdk': 3.8.0 + '@safe-global/safe-gateway-typescript-sdk': 3.10.0 ethers: 5.7.2 transitivePeerDependencies: - bufferutil @@ -4542,8 +4519,8 @@ packages: /@safe-global/safe-apps-sdk@8.0.0(typescript@5.1.6): resolution: {integrity: sha512-gYw0ki/EAuV1oSyMxpqandHjnthZjYYy+YWpTAzf8BqfXM3ItcZLpjxfg+3+mXW8HIO+3jw6T9iiqEXsqHaMMw==} dependencies: - '@safe-global/safe-gateway-typescript-sdk': 3.8.0 - viem: 1.5.3(typescript@5.1.6)(zod@3.21.4) + '@safe-global/safe-gateway-typescript-sdk': 3.10.0 + viem: 1.4.1(typescript@5.1.6) transitivePeerDependencies: - bufferutil - encoding @@ -4551,73 +4528,110 @@ packages: - utf-8-validate - zod - /@safe-global/safe-gateway-typescript-sdk@3.8.0: - resolution: {integrity: sha512-CiGWIHgIaOdICpDxp05Jw3OPslWTu8AnL0PhrCT1xZgIO86NlMMLzkGbeycJ4FHpTjA999O791Oxp4bZPIjgHA==} + /@safe-global/safe-apps-sdk@8.1.0(typescript@5.1.6): + resolution: {integrity: sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w==} + dependencies: + '@safe-global/safe-gateway-typescript-sdk': 3.10.0 + viem: 1.4.1(typescript@5.1.6) + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + + /@safe-global/safe-gateway-typescript-sdk@3.10.0: + resolution: {integrity: sha512-nhWjFRRgrGz4uZbyQ3Hgm4si1AixCWlnvi5WUCq/+V+e8EoA2Apj9xJEt8zzXvtELlddFqkH2sfTFy9LIjGXKg==} dependencies: cross-fetch: 3.1.8 transitivePeerDependencies: - encoding - /@scure/base@1.1.1: - resolution: {integrity: sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==} + /@scure/base@1.1.3: + resolution: {integrity: sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q==} /@scure/bip32@1.1.5: resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} dependencies: '@noble/hashes': 1.2.0 '@noble/secp256k1': 1.7.1 - '@scure/base': 1.1.1 + '@scure/base': 1.1.3 dev: true /@scure/bip32@1.3.0: resolution: {integrity: sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q==} dependencies: '@noble/curves': 1.0.0 + '@noble/hashes': 1.3.0 + '@scure/base': 1.1.3 + + /@scure/bip32@1.3.1: + resolution: {integrity: sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A==} + dependencies: + '@noble/curves': 1.1.0 '@noble/hashes': 1.3.1 - '@scure/base': 1.1.1 + '@scure/base': 1.1.3 + dev: true /@scure/bip39@1.1.1: resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} dependencies: '@noble/hashes': 1.2.0 - '@scure/base': 1.1.1 + '@scure/base': 1.1.3 dev: true /@scure/bip39@1.2.0: resolution: {integrity: sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg==} + dependencies: + '@noble/hashes': 1.3.0 + '@scure/base': 1.1.3 + + /@scure/bip39@1.2.1: + resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} dependencies: '@noble/hashes': 1.3.1 - '@scure/base': 1.1.1 + '@scure/base': 1.1.3 + dev: true - /@sentry-internal/tracing@7.61.1: - resolution: {integrity: sha512-E8J6ZMXHGdWdmgKBK/ounuUppDK65c4Hphin6iVckDGMEATn0auYAKngeyRUMLof1167DssD8wxcIA4aBvmScA==} + /@sentry-internal/tracing@7.53.1: + resolution: {integrity: sha512-a4H4rvVdz0XDGgNfRqc7zg6rMt2P1P05xBmgfIfztYy94Vciw1QMdboNiT7einr8ra8wogdEaK4Pe2AzYAPBJQ==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.61.1 - '@sentry/types': 7.61.1 - '@sentry/utils': 7.61.1 - tslib: 2.6.1 + '@sentry/core': 7.53.1 + '@sentry/types': 7.53.1 + '@sentry/utils': 7.53.1 + tslib: 1.14.1 + dev: true - /@sentry/browser@7.61.1: - resolution: {integrity: sha512-v6Wv0O/PF+sqji+WWpJmxAlQafsiKmsXQLzKAIntVjl3HbYO5oVS3ubCyqfxSlLxIhM5JuHcEOLn6Zi3DPtpcw==} + /@sentry-internal/tracing@7.54.0: + resolution: {integrity: sha512-JsyhZ0wWZ+VqbHJg+azqRGdYJDkcI5R9+pnkO6SzbzxrRewqMAIwzkpPee3oI7vG99uhMEkOkMjHu0nQGwkOQw==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.61.1 - '@sentry/core': 7.61.1 - '@sentry/replay': 7.61.1 - '@sentry/types': 7.61.1 - '@sentry/utils': 7.61.1 - tslib: 2.6.1 + '@sentry/core': 7.54.0 + '@sentry/types': 7.54.0 + '@sentry/utils': 7.54.0 + tslib: 1.14.1 dev: false - /@sentry/bundler-plugin-core@2.5.0: - resolution: {integrity: sha512-UNjeTSf0Irt/RsC1Xsfxa+RC92mBvjzuWQnvHJ5c+mXwUt+jLcFgGMCSVK/FCDZO+gAeKzmU1+G2UexbsNAP8w==} - engines: {node: '>= 14'} + /@sentry/browser@7.54.0: + resolution: {integrity: sha512-EvLAw03N9WE2m1CMl2/1YMeIs1icw9IEOVJhWmf3uJEysNJOFWXu6ZzdtHEz1E6DiJYhc1HzDya0ExZeJxNARA==} + engines: {node: '>=8'} dependencies: - '@sentry/cli': 2.20.4 - '@sentry/node': 7.61.1 - '@sentry/utils': 7.61.1 - dotenv: 16.3.1 + '@sentry-internal/tracing': 7.54.0 + '@sentry/core': 7.54.0 + '@sentry/replay': 7.54.0 + '@sentry/types': 7.54.0 + '@sentry/utils': 7.54.0 + tslib: 1.14.1 + dev: false + + /@sentry/bundler-plugin-core@2.2.1: + resolution: {integrity: sha512-X4zNbeGMZscNb5u1EIfdnpOHJuISmvDBxpEZ3j8j1Rwj1ztnp02iYkl6TbP9ukf0WBC0uq4KkJX+UTJ6Gs5KWw==} + engines: {node: '>= 10'} + dependencies: + '@sentry/cli': 2.20.6 + '@sentry/node': 7.53.1 + '@sentry/utils': 7.53.1 find-up: 5.0.0 glob: 9.3.2 magic-string: 0.27.0 @@ -4627,14 +4641,14 @@ packages: - supports-color dev: true - /@sentry/cli@2.20.4: - resolution: {integrity: sha512-mycBCKQmLdaJpSKpXc3IXrQwb5HLxrdjgJgLGbb8saFHIkXl/1ePH171j+REq4dIP1uetu0bdDgEYj6AQjkleQ==} + /@sentry/cli@2.20.6: + resolution: {integrity: sha512-j4OFbDCIo/dB/uXDmXnRqCbku0KquekSFSG0Wb6RKwkGqpKwFMRauKXZJrgL4as3qIfDX8HrjNRv257QYMwdQA==} engines: {node: '>= 10'} hasBin: true requiresBuild: true dependencies: https-proxy-agent: 5.0.1 - node-fetch: 2.6.12 + node-fetch: 2.7.0 progress: 2.0.3 proxy-from-env: 1.1.0 which: 2.0.2 @@ -4654,13 +4668,23 @@ packages: tslib: 1.14.1 dev: true - /@sentry/core@7.61.1: - resolution: {integrity: sha512-WTRt0J33KhUbYuDQZ5G58kdsNeQ5JYrpi6o+Qz+1xTv60DQq/tBGRJ7d86SkmdnGIiTs6W1hsxAtyiLS0y9d2A==} + /@sentry/core@7.53.1: + resolution: {integrity: sha512-DAH8IJNORJJ7kQLqsZuhMkN6cwJjXzFuuUoZor7IIDHIHjtl51W+2F3Stg3+I3ZoKDfJfUNKqhipk2WZjG0FBg==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.53.1 + '@sentry/utils': 7.53.1 + tslib: 1.14.1 + dev: true + + /@sentry/core@7.54.0: + resolution: {integrity: sha512-MAn0E2EwgNn1pFQn4qxhU+1kz6edullWg6VE5wCmtpXWOVw6sILBUsQpeIG5djBKMcneJCdOlz5jeqcKPrLvZQ==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.61.1 - '@sentry/utils': 7.61.1 - tslib: 2.6.1 + '@sentry/types': 7.54.0 + '@sentry/utils': 7.54.0 + tslib: 1.14.1 + dev: false /@sentry/hub@5.30.0: resolution: {integrity: sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==} @@ -4697,43 +4721,43 @@ packages: - supports-color dev: true - /@sentry/node@7.61.1: - resolution: {integrity: sha512-+crVAeymXdWZcDuwU9xySf4sVv2fHOFlr13XqeXl73q4zqKJM1IX4VUO9On3+jTyGfB5SCAuBBYpzA3ehBfeYw==} + /@sentry/node@7.53.1: + resolution: {integrity: sha512-B4ax8sRd54xj4ad+4eY2EOKNt0Mh1NjuLW1zUKS8HW3h0bmuaDFzGuhEVvEY5H4SaV6tZKj1c0dvnMnyUbYkhA==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.61.1 - '@sentry/core': 7.61.1 - '@sentry/types': 7.61.1 - '@sentry/utils': 7.61.1 + '@sentry-internal/tracing': 7.53.1 + '@sentry/core': 7.53.1 + '@sentry/types': 7.53.1 + '@sentry/utils': 7.53.1 cookie: 0.4.2 https-proxy-agent: 5.0.1 lru_map: 0.3.3 - tslib: 2.6.1 + tslib: 1.14.1 transitivePeerDependencies: - supports-color dev: true - /@sentry/replay@7.61.1: - resolution: {integrity: sha512-Nsnnzx8c+DRjnfQ0Md11KGdY21XOPa50T2B3eBEyFAhibvYEc/68PuyVWkMBQ7w9zo/JV+q6HpIXKD0THUtqZA==} + /@sentry/replay@7.54.0: + resolution: {integrity: sha512-C0F0568ybphzGmKGe23duB6n5wJcgM7WLYhoeqW3o2bHeqpj1dGPSka/K3s9KzGaAgzn1zeOUYXJsOs+T/XdsA==} engines: {node: '>=12'} dependencies: - '@sentry/core': 7.61.1 - '@sentry/types': 7.61.1 - '@sentry/utils': 7.61.1 + '@sentry/core': 7.54.0 + '@sentry/types': 7.54.0 + '@sentry/utils': 7.54.0 dev: false - /@sentry/svelte@7.61.1(svelte@3.59.2): - resolution: {integrity: sha512-RyqyPNAn8Olb5tkpF1+wEbD3deD4Sqj9sMKMrwQu72f3XkFQtH/6/Mf0w0vbEU40v7fMzeJFnZhiC1Pzq7EMZQ==} + /@sentry/svelte@7.54.0(svelte@3.53.1): + resolution: {integrity: sha512-KGfR4+y0TSBv8tDBHRqT1l1boowgk4351Edlw6KV48930c324rXJFzH097raisWSGVZ1IGKiJ9hgSQpoEP3/4A==} engines: {node: '>=8'} peerDependencies: - svelte: 3.x || 4.x + svelte: 3.x dependencies: - '@sentry/browser': 7.61.1 - '@sentry/types': 7.61.1 - '@sentry/utils': 7.61.1 - magic-string: 0.30.2 - svelte: 3.59.2 - tslib: 2.6.1 + '@sentry/browser': 7.54.0 + '@sentry/types': 7.54.0 + '@sentry/utils': 7.54.0 + magic-string: 0.30.3 + svelte: 3.53.1 + tslib: 1.14.1 dev: false /@sentry/tracing@5.30.0: @@ -4752,9 +4776,15 @@ packages: engines: {node: '>=6'} dev: true - /@sentry/types@7.61.1: - resolution: {integrity: sha512-CpPKL+OfwYOduRX9AT3p+Ie1fftgcCPd5WofTVVq7xeWRuerOOf2iJd0v+8yHQ25omgres1YOttDkCcvQRn4Jw==} + /@sentry/types@7.53.1: + resolution: {integrity: sha512-/ijchRIu+jz3+j/zY+7KRPfLSCY14fTx5xujjbOdmEKjmIHQmwPBdszcQm40uwofrR8taV4hbt5MFN+WnjCkCw==} + engines: {node: '>=8'} + dev: true + + /@sentry/types@7.54.0: + resolution: {integrity: sha512-D+i9xogBeawvQi2r0NOrM7zYcUaPuijeME4O9eOTrDF20tj71hWtJLilK+KTGLYFtpGg1h+9bPaz7OHEIyVopg==} engines: {node: '>=8'} + dev: false /@sentry/utils@5.30.0: resolution: {integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==} @@ -4764,39 +4794,42 @@ packages: tslib: 1.14.1 dev: true - /@sentry/utils@7.61.1: - resolution: {integrity: sha512-pUPXoiuYrTEPcBHjRizFB6eZEGm/6cTBwdWSHUjkGKvt19zuZ1ixFJQV6LrIL/AMeiQbmfQ+kTd/8SR7E9rcTQ==} + /@sentry/utils@7.53.1: + resolution: {integrity: sha512-DKJA1LSUOEv4KOR828MzVuLh+drjeAgzyKgN063OEKmnirgjgRgNNS8wUgwpG0Tn2k6ANZGCwrdfzPeSBxshKg==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.61.1 - tslib: 2.6.1 + '@sentry/types': 7.53.1 + tslib: 1.14.1 + dev: true - /@sentry/vite-plugin@2.5.0: - resolution: {integrity: sha512-u5lfIysy6UVzUGn/adyDcRXfzFyip4mLGThTnKeOeA9rCgmJUVnErH8TD8xhTKdpq/MBiQ+KqrC6xG9pKCa96g==} - engines: {node: '>= 14'} + /@sentry/utils@7.54.0: + resolution: {integrity: sha512-3Yf5KlKjIcYLddOexSt2ovu2TWlR4Fi7M+aCK8yUTzwNzf/xwFSWOstHlD/WiDy9HvfhWAOB/ukNTuAeJmtasw==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.54.0 + tslib: 1.14.1 + dev: false + + /@sentry/vite-plugin@2.2.1: + resolution: {integrity: sha512-7UeDnMRMis8o68penA8cIb2ph0je4MaJUsglFtk5zocyKr5HGCA7lh50cGAZW6/MIFEKiOZ+1mR6kYdjgACTZA==} + engines: {node: '>= 10'} dependencies: - '@sentry/bundler-plugin-core': 2.5.0 + '@sentry/bundler-plugin-core': 2.2.1 unplugin: 1.0.1 transitivePeerDependencies: - encoding - supports-color dev: true - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - /@sindresorhus/is@0.14.0: resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} engines: {node: '>=6'} - requiresBuild: true dev: true optional: true /@sindresorhus/is@4.6.0: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} - requiresBuild: true dev: true optional: true @@ -4812,27 +4845,20 @@ packages: '@sinonjs/commons': 1.8.6 dev: true - /@smithy/types@2.0.2: - resolution: {integrity: sha512-wcymEjIXQ9+NEfE5Yt5TInAqe1o4n+Nh+rh00AwoazppmUt8tdo6URhc5gkDcOYrcvlDVAZE7uG69nDpEGUKxw==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.6.1 - dev: true - /@solana/buffer-layout@4.0.1: resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==} engines: {node: '>=5.10'} dependencies: buffer: 6.0.3 - /@solana/web3.js@1.78.2: - resolution: {integrity: sha512-oF+TmBZCt3eAEl4Meu3GO2p6G8wdyoKgXgTKzQpIUIhpMGA/dVQzyMFpKjCgoTU1Kx+/UF3gXUdsZOxQukGbvQ==} + /@solana/web3.js@1.78.4: + resolution: {integrity: sha512-up5VG1dK+GPhykmuMIozJZBbVqpm77vbOG6/r5dS7NBGZonwHfTLdBbsYc3rjmaQ4DpCXUa3tUc4RZHRORvZrw==} dependencies: - '@babel/runtime': 7.22.6 - '@noble/curves': 1.1.0 - '@noble/hashes': 1.3.1 + '@babel/runtime': 7.22.15 + '@noble/curves': 1.2.0 + '@noble/hashes': 1.3.2 '@solana/buffer-layout': 4.0.1 - agentkeepalive: 4.3.0 + agentkeepalive: 4.5.0 bigint-buffer: 1.1.5 bn.js: 5.2.1 borsh: 0.7.0 @@ -4840,13 +4866,12 @@ packages: buffer: 6.0.3 fast-stable-stringify: 1.0.0 jayson: 4.1.0 - node-fetch: 2.6.12 - rpc-websockets: 7.5.1 + node-fetch: 2.7.0 + rpc-websockets: 7.6.0 superstruct: 0.14.2 transitivePeerDependencies: - bufferutil - encoding - - supports-color - utf-8-validate /@solidity-parser/parser@0.14.5: @@ -4965,25 +4990,25 @@ packages: '@stablelib/random': 1.0.2 '@stablelib/wipe': 1.0.1 - /@sveltejs/adapter-auto@2.1.0(@sveltejs/kit@1.22.4): + /@sveltejs/adapter-auto@2.1.0(@sveltejs/kit@1.22.3): resolution: {integrity: sha512-o2pZCfATFtA/Gw/BB0Xm7k4EYaekXxaPGER3xGSY3FvzFJGTlJlZjBseaXwYSM94lZ0HniOjTokN3cWaLX6fow==} peerDependencies: '@sveltejs/kit': ^1.0.0 dependencies: - '@sveltejs/kit': 1.22.4(svelte@4.1.2)(vite@4.4.8) + '@sveltejs/kit': 1.22.3(svelte@4.1.0)(vite@4.3.0) import-meta-resolve: 3.0.0 dev: true - /@sveltejs/adapter-static@2.0.3(@sveltejs/kit@1.22.4): - resolution: {integrity: sha512-VUqTfXsxYGugCpMqQv1U0LIdbR3S5nBkMMDmpjGVJyM6Q2jHVMFtdWJCkeHMySc6mZxJ+0eZK3T7IgmUCDrcUQ==} + /@sveltejs/adapter-static@2.0.2(@sveltejs/kit@1.22.3): + resolution: {integrity: sha512-9wYtf6s6ew7DHUHMrt55YpD1FgV7oWql2IGsW5BXquLxqcY9vjrqCFo0TzzDpo+ZPZkW/v77k0eOP6tsAb8HmQ==} peerDependencies: '@sveltejs/kit': ^1.5.0 dependencies: - '@sveltejs/kit': 1.22.4(svelte@4.1.2)(vite@4.4.8) + '@sveltejs/kit': 1.22.3(svelte@4.1.0)(vite@4.3.0) dev: true - /@sveltejs/kit@1.22.4(svelte@4.1.2)(vite@4.4.8): - resolution: {integrity: sha512-Opkqw1QXk4Cc25b/heJP2D7mX+OUBFAq4MXKfET58svTTxdeiHFKzmnuRsSF3nmxESqrLjqPAgHpib+knNGzRw==} + /@sveltejs/kit@1.22.3(svelte@4.1.0)(vite@4.3.0): + resolution: {integrity: sha512-IpHD5wvuoOIHYaHQUBJ1zERD2Iz+fB/rBXhXjl8InKw6X4VKE9BSus+ttHhE7Ke+Ie9ecfilzX8BnWE3FeQyng==} engines: {node: ^16.14 || >=18} hasBin: true requiresBuild: true @@ -4991,75 +5016,79 @@ packages: svelte: ^3.54.0 || ^4.0.0-next.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.4.3(svelte@4.1.2)(vite@4.4.8) - '@types/cookie': 0.5.1 + '@sveltejs/vite-plugin-svelte': 2.4.5(svelte@4.1.0)(vite@4.3.0) + '@types/cookie': 0.5.2 cookie: 0.5.0 devalue: 4.3.2 esm-env: 1.0.0 kleur: 4.1.5 - magic-string: 0.30.2 + magic-string: 0.30.3 mime: 3.0.0 sade: 1.8.1 set-cookie-parser: 2.6.0 sirv: 2.0.3 - svelte: 4.1.2 + svelte: 4.1.0 undici: 5.22.1 - vite: 4.4.8(@types/node@20.5.7) + vite: 4.3.0(@types/node@20.5.9) transitivePeerDependencies: - supports-color dev: true - /@sveltejs/vite-plugin-svelte-inspector@1.0.3(@sveltejs/vite-plugin-svelte@2.4.3)(svelte@4.1.2)(vite@4.4.8): - resolution: {integrity: sha512-Khdl5jmmPN6SUsVuqSXatKpQTMIifoQPDanaxC84m9JxIibWvSABJyHpyys0Z+1yYrxY5TTEQm+6elh0XCMaOA==} + /@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.4.5)(svelte@4.1.0)(vite@4.3.0): + resolution: {integrity: sha512-zjiuZ3yydBtwpF3bj0kQNV0YXe+iKE545QGZVTaylW3eAzFr+pJ/cwK8lZEaRp4JtaJXhD5DyWAV4AxLh6DgaQ==} engines: {node: ^14.18.0 || >= 16} peerDependencies: '@sveltejs/vite-plugin-svelte': ^2.2.0 svelte: ^3.54.0 || ^4.0.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.4.3(svelte@4.1.2)(vite@4.4.8) + '@sveltejs/vite-plugin-svelte': 2.4.5(svelte@4.1.0)(vite@4.3.0) debug: 4.3.4(supports-color@8.1.1) - svelte: 4.1.2 - vite: 4.4.8(@types/node@20.5.7) + svelte: 4.1.0 + vite: 4.3.0(@types/node@20.5.9) transitivePeerDependencies: - supports-color dev: true - /@sveltejs/vite-plugin-svelte@1.4.0(svelte@3.59.2)(vite@3.2.7): - resolution: {integrity: sha512-6QupI/jemMfK+yI2pMtJcu5iO2gtgTfcBdGwMZZt+lgbFELhszbDl6Qjh000HgAV8+XUA+8EY8DusOFk8WhOIg==} + /@sveltejs/vite-plugin-svelte@1.0.1(svelte@3.53.1)(vite@3.0.0): + resolution: {integrity: sha512-PorCgUounn0VXcpeJu+hOweZODKmGuLHsLomwqSj+p26IwjjGffmYQfVHtiTWq+NqaUuuHWWG7vPge6UFw4Aeg==} engines: {node: ^14.18.0 || >= 16} peerDependencies: + diff-match-patch: ^1.0.5 svelte: ^3.44.0 vite: ^3.0.0 + peerDependenciesMeta: + diff-match-patch: + optional: true dependencies: + '@rollup/pluginutils': 4.2.1 debug: 4.3.4(supports-color@8.1.1) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.26.7 - svelte: 3.59.2 - svelte-hmr: 0.15.2(svelte@3.59.2) - vite: 3.2.7 - vitefu: 0.2.4(vite@3.2.7) + svelte: 3.53.1 + svelte-hmr: 0.14.12(svelte@3.53.1) + vite: 3.0.0 transitivePeerDependencies: - supports-color dev: true - /@sveltejs/vite-plugin-svelte@2.4.3(svelte@4.1.2)(vite@4.4.8): - resolution: {integrity: sha512-NY2h+B54KHZO3kDURTdARqthn6D4YSIebtfW75NvZ/fwyk4G+AJw3V/i0OBjyN4406Ht9yZcnNWMuRUFnDNNiA==} + /@sveltejs/vite-plugin-svelte@2.4.5(svelte@4.1.0)(vite@4.3.0): + resolution: {integrity: sha512-UJKsFNwhzCVuiZd06jM/psscyNJNDwjQC+qIeb7GBJK9iWeQCcIyfcPWDvbCudfcJggY9jtxJeeaZH7uny93FQ==} engines: {node: ^14.18.0 || >= 16} peerDependencies: svelte: ^3.54.0 || ^4.0.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 1.0.3(@sveltejs/vite-plugin-svelte@2.4.3)(svelte@4.1.2)(vite@4.4.8) + '@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.4.5)(svelte@4.1.0)(vite@4.3.0) debug: 4.3.4(supports-color@8.1.1) deepmerge: 4.3.1 kleur: 4.1.5 - magic-string: 0.30.2 - svelte: 4.1.2 - svelte-hmr: 0.15.2(svelte@4.1.2) - vite: 4.4.8(@types/node@20.5.7) - vitefu: 0.2.4(vite@4.4.8) + magic-string: 0.30.3 + svelte: 4.1.0 + svelte-hmr: 0.15.3(svelte@4.1.0) + vite: 4.3.0(@types/node@20.5.9) + vitefu: 0.2.4(vite@4.3.0) transitivePeerDependencies: - supports-color dev: true @@ -5076,13 +5105,12 @@ packages: /@swc/helpers@0.5.1: resolution: {integrity: sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==} dependencies: - tslib: 2.6.1 + tslib: 2.6.2 dev: false /@szmarczak/http-timer@1.1.2: resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} engines: {node: '>=6'} - requiresBuild: true dependencies: defer-to-connect: 1.1.3 dev: true @@ -5091,35 +5119,34 @@ packages: /@szmarczak/http-timer@4.0.6: resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} engines: {node: '>=10'} - requiresBuild: true dependencies: defer-to-connect: 2.0.1 dev: true optional: true - /@tanstack/query-core@4.32.5: - resolution: {integrity: sha512-UOxiDYmzYWD21ASIUnW3w+Nq3LcW1BPFFfIyZOor6UsRl76KGLlvUhJ402/dof1JxcQFPK7nZ5iUGPVqLiT8zg==} + /@tanstack/query-core@4.33.0: + resolution: {integrity: sha512-qYu73ptvnzRh6se2nyBIDHGBQvPY1XXl3yR769B7B6mIDD7s+EZhdlWHQ67JI6UOTFRaI7wupnTnwJ3gE0Mr/g==} - /@tanstack/query-persist-client-core@4.32.5: - resolution: {integrity: sha512-+fxI9QcR8SbWoBjdnbB6M+Xbv381w0ygm4kKRLz/QKfNVMm8uTcAVz9lbnKyDO9AJ0rB8h7ps5IKGvdH0szzHA==} + /@tanstack/query-persist-client-core@4.33.0: + resolution: {integrity: sha512-3P16+2JjcUU5CHi10jJuwd0ZQYvQtSuzLvCUCjVuAnj3GZjfSso1v8t6WAObAr9RPuIC6vDXeOQ3mr07EF/NxQ==} dependencies: - '@tanstack/query-core': 4.32.5 + '@tanstack/query-core': 4.33.0 - /@tanstack/query-sync-storage-persister@4.32.5: - resolution: {integrity: sha512-dNCMJP3YFq/K+CiHkf3jviTEuhuUA3LKjYDlyW9Eb5ozEE++Wt4tGVsAuWnG/s3GuTutnlNVdjCXHUI1G9Tbow==} + /@tanstack/query-sync-storage-persister@4.33.0: + resolution: {integrity: sha512-V6igMcdEOXPRpvmNFQ6I/iJaw9NhxWy7x8PWamm2cgSsLi8bHaDvUVuWkZm+ikI47QjoCUk7qll/82JYLaH+pw==} dependencies: - '@tanstack/query-persist-client-core': 4.32.5 + '@tanstack/query-persist-client-core': 4.33.0 - /@tanstack/react-query-persist-client@4.32.5(@tanstack/react-query@4.32.5): - resolution: {integrity: sha512-vq5onulghFAl5G0MXJUkeK7SRkUN/QSdJYpJYCemGYayFlmZxQOo6fF3fyn9xnZowvUdufCsCoXWgQf5duIW1A==} + /@tanstack/react-query-persist-client@4.33.0(@tanstack/react-query@4.33.0): + resolution: {integrity: sha512-B3q0r1tqTTSkd9vctyqFj28xdGZJ+Dnr/7H05Ta1JF1w7EauVQl8ILrmXADecwvILnr1xoZO6lvi2W+mZxMinw==} peerDependencies: - '@tanstack/react-query': ^4.32.5 + '@tanstack/react-query': ^4.33.0 dependencies: - '@tanstack/query-persist-client-core': 4.32.5 - '@tanstack/react-query': 4.32.5(react@18.2.0) + '@tanstack/query-persist-client-core': 4.33.0 + '@tanstack/react-query': 4.33.0(react@18.2.0) - /@tanstack/react-query@4.32.5(react@18.2.0): - resolution: {integrity: sha512-4tR0GxyyKhLpYvbglOGpWVqHS+t3bs7yy89DuTgJvnKLnaS5UW2sbfAzlV9JtwL7s5Z8eW2q2EDMcAtutb0lAw==} + /@tanstack/react-query@4.33.0(react@18.2.0): + resolution: {integrity: sha512-97nGbmDK0/m0B86BdiXzx3EW9RcDYKpnyL2+WwyuLHEgpfThYAnXFaMMmnTDuAO4bQJXEhflumIEUfKmP7ESGA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -5130,7 +5157,7 @@ packages: react-native: optional: true dependencies: - '@tanstack/query-core': 4.32.5 + '@tanstack/query-core': 4.33.0 react: 18.2.0 use-sync-external-store: 1.2.0(react@18.2.0) @@ -5139,7 +5166,7 @@ packages: peerDependencies: react: ^18.2.0 dependencies: - mermaid: 10.3.0 + mermaid: 10.4.0 react: 18.2.0 unist-util-visit: 5.0.0 transitivePeerDependencies: @@ -5163,6 +5190,15 @@ packages: engines: {node: '>= 10'} dev: true + /@ts-morph/common@0.20.0: + resolution: {integrity: sha512-7uKjByfbPpwuzkstL3L5MQyuXPSKdoNG93Fmi2JoDcTf3pEP731JdRFAduRVkOs8oqxPsXKA+ScrWkdQ8t/I+Q==} + dependencies: + fast-glob: 3.3.1 + minimatch: 7.4.6 + mkdirp: 2.1.6 + path-browserify: 1.0.1 + dev: true + /@tsconfig/node10@1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} dev: true @@ -5217,7 +5253,7 @@ packages: typescript: 4.9.5 dev: true - /@typechain/hardhat@2.3.1(hardhat@2.17.1)(lodash@4.17.21)(typechain@5.2.0): + /@typechain/hardhat@2.3.1(hardhat@2.14.0)(lodash@4.17.21)(typechain@5.2.0): resolution: {integrity: sha512-BQV8OKQi0KAzLXCdsPO0pZBNQQ6ra8A2ucC26uFX/kquRBtJu1yEyWnVSmtr07b5hyRoJRpzUeINLnyqz4/MAw==} peerDependencies: hardhat: ^2.0.10 @@ -5225,13 +5261,13 @@ packages: typechain: ^5.1.2 dependencies: fs-extra: 9.1.0 - hardhat: 2.17.1(ts-node@10.9.1)(typescript@4.9.5) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) lodash: 4.17.21 typechain: 5.2.0(typescript@4.9.5) dev: true - /@types/abstract-leveldown@7.2.1: - resolution: {integrity: sha512-YK8irIC+eMrrmtGx0H4ISn9GgzLd9dojZWJaMbjp1YHLl2VqqNFBNrL5Q3KjGf4VE3sf/4hmq6EhQZ7kZp1NoQ==} + /@types/abstract-leveldown@7.2.2: + resolution: {integrity: sha512-EVVYLp4D3zwP5/sS2S5x70t1w0BDrjbv0x0d0znngFKX/YExe+il/JAlHOEpo0cTdtY4Ohnllen32hPganG20w==} dev: true /@types/acorn@4.0.6: @@ -5247,8 +5283,8 @@ packages: /@types/babel__core@7.20.1: resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} dependencies: - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/parser': 7.22.15 + '@babel/types': 7.22.15 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.20.1 @@ -5257,41 +5293,39 @@ packages: /@types/babel__generator@7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.15 dev: true /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/parser': 7.22.15 + '@babel/types': 7.22.15 dev: true /@types/babel__traverse@7.20.1: resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.15 dev: true /@types/bn.js@4.11.6: resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} dependencies: - '@types/node': 20.5.7 - dev: true + '@types/node': 12.20.55 /@types/bn.js@5.1.1: resolution: {integrity: sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==} dependencies: - '@types/node': 20.5.7 + '@types/node': 12.20.55 dev: true /@types/cacheable-request@6.0.3: resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} - requiresBuild: true dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 - '@types/node': 20.5.7 + '@types/node': 12.20.55 '@types/responselike': 1.0.0 dev: true optional: true @@ -5299,34 +5333,38 @@ packages: /@types/chai-subset@1.3.3: resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} dependencies: - '@types/chai': 4.3.5 + '@types/chai': 4.3.6 dev: true - /@types/chai@4.3.5: - resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==} + /@types/chai@4.3.4: + resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==} + dev: true + + /@types/chai@4.3.6: + resolution: {integrity: sha512-VOVRLM1mBxIRxydiViqPcKn6MIxZytrbMpd6RJLIWKxUNr3zux8no0Oc7kJx0WAPIitgZ0gkrDS+btlqQpubpw==} dev: true /@types/concat-stream@1.6.1: resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} dependencies: - '@types/node': 20.5.7 + '@types/node': 12.20.55 dev: true - /@types/connect@3.4.35: - resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} + /@types/connect@3.4.36: + resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==} dependencies: - '@types/node': 20.5.7 + '@types/node': 12.20.55 - /@types/cookie@0.5.1: - resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==} + /@types/cookie@0.5.2: + resolution: {integrity: sha512-DBpRoJGKJZn7RY92dPrgoMew8xCWc2P71beqsjyhEI/Ds9mOyVmBwtekyfhpwFIVt1WrxTonFifiOZ62V8CnNA==} dev: true /@types/d3-scale-chromatic@3.0.0: resolution: {integrity: sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==} dev: false - /@types/d3-scale@4.0.3: - resolution: {integrity: sha512-PATBiMCpvHJSMtZAMEhc2WyL+hnzarKzI6wAHYjhsonjWJYGq5BXTzQjv4l8m2jO183/4wZ90rKvSeT7o72xNQ==} + /@types/d3-scale@4.0.4: + resolution: {integrity: sha512-eq1ZeTj0yr72L8MQk6N6heP603ubnywSDRfNpi5enouR112HzGLS6RIvExCzZTraFF4HdzNpJMwA/zGiMoHUUw==} dependencies: '@types/d3-time': 3.0.0 dev: false @@ -5335,20 +5373,33 @@ packages: resolution: {integrity: sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==} dev: false + /@types/debug@4.1.7: + resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} + dependencies: + '@types/ms': 0.7.31 + /@types/debug@4.1.8: resolution: {integrity: sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==} dependencies: '@types/ms': 0.7.31 + dev: false /@types/eslint-scope@3.7.4: resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} dependencies: - '@types/eslint': 8.44.1 + '@types/eslint': 8.44.2 + '@types/estree': 0.0.50 + dev: true + + /@types/eslint@8.2.1: + resolution: {integrity: sha512-UP9rzNn/XyGwb5RQ2fok+DzcIRIYwc16qTXse5+Smsy8MOIccCChT15KAwnsgQx4PzJkaMq4myFyZ4CL5TjhIQ==} + dependencies: '@types/estree': 0.0.50 + '@types/json-schema': 7.0.12 dev: true - /@types/eslint@8.44.1: - resolution: {integrity: sha512-XpNDc4Z5Tb4x+SW1MriMVeIsMoONHCkWFMkR/aPJbzEsxqHy+4Glu/BqTdPrApfDeMaXbtNh6bseNgl5KaWrSg==} + /@types/eslint@8.44.2: + resolution: {integrity: sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==} dependencies: '@types/estree': 0.0.50 '@types/json-schema': 7.0.12 @@ -5373,14 +5424,14 @@ packages: /@types/form-data@0.0.33: resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} dependencies: - '@types/node': 20.5.7 + '@types/node': 12.20.55 dev: true /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.5.7 + '@types/node': 12.20.55 dev: true /@types/glob@8.1.0: @@ -5393,13 +5444,13 @@ packages: /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: - '@types/node': 20.5.7 + '@types/node': 20.5.9 dev: true /@types/hast@2.3.5: resolution: {integrity: sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /@types/html-minifier-terser@6.1.0: @@ -5408,7 +5459,6 @@ packages: /@types/http-cache-semantics@4.0.1: resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} - requiresBuild: true dev: true optional: true @@ -5457,9 +5507,8 @@ packages: /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - requiresBuild: true dependencies: - '@types/node': 20.5.7 + '@types/node': 12.20.55 dev: true optional: true @@ -5470,9 +5519,9 @@ packages: /@types/levelup@4.3.3: resolution: {integrity: sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==} dependencies: - '@types/abstract-leveldown': 7.2.1 + '@types/abstract-leveldown': 7.2.2 '@types/level-errors': 3.0.0 - '@types/node': 20.5.7 + '@types/node': 12.20.55 dev: true /@types/lru-cache@5.1.1: @@ -5482,11 +5531,11 @@ packages: /@types/mdast@3.0.12: resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false - /@types/mdx@2.0.5: - resolution: {integrity: sha512-76CqzuD6Q7LC+AtbPqrvD9AqsN0k8bsYo2bM2J8pmNldP1aIPAbzUQ7QbobyXL4eLr1wK5x8FZFe8eF/ubRuBg==} + /@types/mdx@2.0.7: + resolution: {integrity: sha512-BG4tyr+4amr3WsSEmHn/fXPqaCba/AYZ7dsaQTiavihQunHSIxk+uAtqsjvicNpyHN6cm+B9RVrUOtW9VzIKHw==} dev: false /@types/minimatch@5.1.2: @@ -5497,14 +5546,14 @@ packages: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true - /@types/mixpanel@2.14.5: - resolution: {integrity: sha512-QTPHsxaAurmWBFxmTtaYATDb55PMx2mrPdW2Yzaa5T6dpMAzviFUiOjqDm9EelDNEiURrNLrZkK2lxKLjsjcGg==} + /@types/mixpanel@2.14.3: + resolution: {integrity: sha512-pc/3bFJNX74nCVFyx4jd606k9hNi6rdeU9qyqbiws5/Q8YwoExdzpOl1qp7oLbSigl1jju1b/f0XcP/b/THj2A==} dev: true /@types/mkdirp@0.5.2: resolution: {integrity: sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==} dependencies: - '@types/node': 20.5.7 + '@types/node': 20.5.9 dev: true /@types/mocha@9.1.1: @@ -5517,7 +5566,7 @@ packages: /@types/node-fetch@2.6.4: resolution: {integrity: sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==} dependencies: - '@types/node': 20.5.7 + '@types/node': 20.5.9 form-data: 3.0.1 dev: true @@ -5528,12 +5577,13 @@ packages: /@types/node@12.20.55: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - /@types/node@20.4.7: - resolution: {integrity: sha512-bUBrPjEry2QUTsnuEjzjbS7voGWCc30W0qzgMf90GPeDGFRakvrz47ju+oqDAKCXLUCe39u57/ORMl/O/04/9g==} + /@types/node@20.4.5: + resolution: {integrity: sha512-rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg==} dev: true - /@types/node@20.5.7: - resolution: {integrity: sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA==} + /@types/node@20.5.9: + resolution: {integrity: sha512-PcGNd//40kHAS3sTlzKB9C9XL4K0sTup8nbG5lC14kzEteTNuAFh9u5nA0o5TWnSG2r/JNPRXFVcHJIIeRlmqQ==} + dev: true /@types/node@8.10.66: resolution: {integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==} @@ -5546,8 +5596,7 @@ packages: /@types/pbkdf2@3.1.0: resolution: {integrity: sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==} dependencies: - '@types/node': 20.5.7 - dev: true + '@types/node': 12.20.55 /@types/prettier@2.7.3: resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} @@ -5560,12 +5609,12 @@ packages: resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} dev: true - /@types/qs@6.9.7: - resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} + /@types/qs@6.9.8: + resolution: {integrity: sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==} dev: true - /@types/react@18.2.18: - resolution: {integrity: sha512-da4NTSeBv/P34xoZPhtcLkmZuJ+oYaCxHmyHzwaDQo9RQPBeXV+06gEk2FpqEcsX9XrnNLvRpVh6bdavDSjtiQ==} + /@types/react@18.2.17: + resolution: {integrity: sha512-u+e7OlgPPh+aryjOm5UJMX32OvB2E3QASOAqVMY6Ahs90djagxwv2ya0IctglNbNTexC12qCSMZG47KPfy1hAA==} dependencies: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.3 @@ -5574,35 +5623,34 @@ packages: /@types/readable-stream@2.3.15: resolution: {integrity: sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==} dependencies: - '@types/node': 20.5.7 + '@types/node': 12.20.55 safe-buffer: 5.1.2 dev: true /@types/resolve@0.0.8: resolution: {integrity: sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==} dependencies: - '@types/node': 20.5.7 + '@types/node': 20.5.9 dev: true /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} - requiresBuild: true dependencies: - '@types/node': 20.5.7 + '@types/node': 12.20.55 dev: true optional: true - /@types/sanitize-html@2.9.0: - resolution: {integrity: sha512-4fP/kEcKNj2u39IzrxWYuf/FnCCwwQCpif6wwY6ROUS1EPRIfWJjGkY3HIowY1EX/VbX5e86yq8AAE7UPMgATg==} + /@types/sanitize-html@2.6.2: + resolution: {integrity: sha512-7Lu2zMQnmHHQGKXVvCOhSziQMpa+R2hMHFefzbYoYMHeaXR0uXqNeOc3JeQQQ8/6Xa2Br/P1IQTLzV09xxAiUQ==} dependencies: - htmlparser2: 8.0.2 + htmlparser2: 6.1.0 dev: true /@types/sass@1.45.0: resolution: {integrity: sha512-jn7qwGFmJHwUSphV8zZneO3GmtlgLsmhs/LQyVvQbIIa+fzGMUiHI4HXJZL3FT8MJmgXWbLGiVVY7ElvHq6vDA==} deprecated: This is a stub types definition. sass provides its own type definitions, so you do not need this installed. dependencies: - sass: 1.64.2 + sass: 1.66.1 dev: true /@types/scheduler@0.16.3: @@ -5611,17 +5659,16 @@ packages: /@types/secp256k1@4.0.3: resolution: {integrity: sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==} dependencies: - '@types/node': 20.5.7 - dev: true + '@types/node': 12.20.55 - /@types/semver@7.5.0: - resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} + /@types/semver@7.5.1: + resolution: {integrity: sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==} dev: true /@types/sinon-chai@3.2.9: resolution: {integrity: sha512-/19t63pFYU0ikrdbXKBWj9PCdnKyTd0Qkz0X91Ta081cYsq90OxYdcWwK/dwEoDa6dtXgj2HJfmzgq+QZTHdmQ==} dependencies: - '@types/chai': 4.3.5 + '@types/chai': 4.3.4 '@types/sinon': 10.0.16 dev: true @@ -5642,12 +5689,12 @@ packages: /@types/trusted-types@2.0.3: resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==} - /@types/underscore@1.11.6: - resolution: {integrity: sha512-G2oC64I/sR817KDL2b2Mc7+diXyxcibyUeLMyexU4K/sG8hyt/YMlbBK0TVhx/YQ1ehfzgXhLuq2YQHIL4bXUQ==} + /@types/underscore@1.11.9: + resolution: {integrity: sha512-M63wKUdsjDFUfyFt1TCUZHGFk9KDAa5JP0adNUErbm0U45Lr06HtANdYRP+GyleEopEoZ4UyBcdAC5TnW4Uz2w==} dev: true - /@types/unist@2.0.7: - resolution: {integrity: sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==} + /@types/unist@2.0.8: + resolution: {integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==} dev: false /@types/unist@3.0.0: @@ -5658,18 +5705,13 @@ packages: resolution: {integrity: sha512-fhZ9DyvDYDwHZUp5/STa9XW2re0E8GxoioYJ4pEUZ13YHpApSagixj7IAdoYH5uAK+UalGq6Ml8LYzmgRA/q+A==} dependencies: '@types/bn.js': 5.1.1 - '@types/underscore': 1.11.6 + '@types/underscore': 1.11.9 dev: true /@types/ws@7.4.7: resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: - '@types/node': 20.5.7 - - /@types/ws@8.5.5: - resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} - dependencies: - '@types/node': 20.5.7 + '@types/node': 12.20.55 /@types/yargs-parser@21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} @@ -5681,7 +5723,7 @@ packages: '@types/yargs-parser': 21.0.0 dev: true - /@typescript-eslint/eslint-plugin@5.16.0(@typescript-eslint/parser@5.62.0)(eslint@7.32.0)(typescript@4.9.5): + /@typescript-eslint/eslint-plugin@5.16.0(@typescript-eslint/parser@5.45.0)(eslint@7.32.0)(typescript@4.9.5): resolution: {integrity: sha512-SJoba1edXvQRMmNI505Uo4XmGbxCK9ARQpkvOd00anxzri9RNQk0DDCxD+LIl+jYhkzOJiOMMKYEHnHEODjdCw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5692,7 +5734,7 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.45.0(eslint@7.32.0)(typescript@4.9.5) '@typescript-eslint/scope-manager': 5.16.0 '@typescript-eslint/type-utils': 5.16.0(eslint@7.32.0)(typescript@4.9.5) '@typescript-eslint/utils': 5.16.0(eslint@7.32.0)(typescript@4.9.5) @@ -5719,7 +5761,7 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.6.2 + '@eslint-community/regexpp': 4.8.0 '@typescript-eslint/parser': 4.33.0(eslint@7.32.0)(typescript@4.9.5) '@typescript-eslint/scope-manager': 6.6.0 '@typescript-eslint/type-utils': 6.6.0(eslint@7.32.0)(typescript@4.9.5) @@ -5737,7 +5779,7 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@6.6.0(@typescript-eslint/parser@5.62.0)(eslint@7.32.0)(typescript@4.9.5): + /@typescript-eslint/eslint-plugin@6.6.0(@typescript-eslint/parser@5.45.0)(eslint@7.32.0)(typescript@4.9.5): resolution: {integrity: sha512-CW9YDGTQnNYMIo5lMeuiIG08p4E0cXrXTbcZ2saT/ETE7dWUrNxlijsQeU04qAAKkILiLzdQz+cGFxCJjaZUmA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -5748,8 +5790,8 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@4.9.5) + '@eslint-community/regexpp': 4.8.0 + '@typescript-eslint/parser': 5.45.0(eslint@7.32.0)(typescript@4.9.5) '@typescript-eslint/scope-manager': 6.6.0 '@typescript-eslint/type-utils': 6.6.0(eslint@7.32.0)(typescript@4.9.5) '@typescript-eslint/utils': 6.6.0(eslint@7.32.0)(typescript@4.9.5) @@ -5766,7 +5808,7 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@6.6.0(@typescript-eslint/parser@5.62.0)(eslint@8.46.0)(typescript@4.9.5): + /@typescript-eslint/eslint-plugin@6.6.0(@typescript-eslint/parser@5.45.0)(eslint@8.28.0)(typescript@5.1.6): resolution: {integrity: sha512-CW9YDGTQnNYMIo5lMeuiIG08p4E0cXrXTbcZ2saT/ETE7dWUrNxlijsQeU04qAAKkILiLzdQz+cGFxCJjaZUmA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -5777,25 +5819,25 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 5.62.0(eslint@8.46.0)(typescript@4.9.5) + '@eslint-community/regexpp': 4.8.0 + '@typescript-eslint/parser': 5.45.0(eslint@8.28.0)(typescript@5.1.6) '@typescript-eslint/scope-manager': 6.6.0 - '@typescript-eslint/type-utils': 6.6.0(eslint@8.46.0)(typescript@4.9.5) - '@typescript-eslint/utils': 6.6.0(eslint@8.46.0)(typescript@4.9.5) + '@typescript-eslint/type-utils': 6.6.0(eslint@8.28.0)(typescript@5.1.6) + '@typescript-eslint/utils': 6.6.0(eslint@8.28.0)(typescript@5.1.6) '@typescript-eslint/visitor-keys': 6.6.0 debug: 4.3.4(supports-color@8.1.1) - eslint: 8.46.0 + eslint: 8.28.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 semver: 7.5.4 - ts-api-utils: 1.0.2(typescript@4.9.5) - typescript: 4.9.5 + ts-api-utils: 1.0.2(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/eslint-plugin@6.6.0(@typescript-eslint/parser@5.62.0)(eslint@8.46.0)(typescript@5.1.6): + /@typescript-eslint/eslint-plugin@6.6.0(@typescript-eslint/parser@5.45.0)(eslint@8.48.0)(typescript@4.9.5): resolution: {integrity: sha512-CW9YDGTQnNYMIo5lMeuiIG08p4E0cXrXTbcZ2saT/ETE7dWUrNxlijsQeU04qAAKkILiLzdQz+cGFxCJjaZUmA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -5806,20 +5848,20 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 5.62.0(eslint@8.46.0)(typescript@5.1.6) + '@eslint-community/regexpp': 4.8.0 + '@typescript-eslint/parser': 5.45.0(eslint@8.48.0)(typescript@4.9.5) '@typescript-eslint/scope-manager': 6.6.0 - '@typescript-eslint/type-utils': 6.6.0(eslint@8.46.0)(typescript@5.1.6) - '@typescript-eslint/utils': 6.6.0(eslint@8.46.0)(typescript@5.1.6) + '@typescript-eslint/type-utils': 6.6.0(eslint@8.48.0)(typescript@4.9.5) + '@typescript-eslint/utils': 6.6.0(eslint@8.48.0)(typescript@4.9.5) '@typescript-eslint/visitor-keys': 6.6.0 debug: 4.3.4(supports-color@8.1.1) - eslint: 8.46.0 + eslint: 8.48.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 semver: 7.5.4 - ts-api-utils: 1.0.2(typescript@5.1.6) - typescript: 5.1.6 + ts-api-utils: 1.0.2(typescript@4.9.5) + typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true @@ -5844,8 +5886,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@4.9.5): - resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} + /@typescript-eslint/parser@5.45.0(eslint@7.32.0)(typescript@4.9.5): + resolution: {integrity: sha512-brvs/WSM4fKUmF5Ot/gEve6qYiCMjm6w4HkHPfS6ZNmxTS0m0iNN4yOChImaCkqc1hRwFGqUyanMXuGal6oyyQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -5854,9 +5896,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.45.0 + '@typescript-eslint/types': 5.45.0 + '@typescript-eslint/typescript-estree': 5.45.0(typescript@4.9.5) debug: 4.3.4(supports-color@8.1.1) eslint: 7.32.0 typescript: 4.9.5 @@ -5864,8 +5906,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.46.0)(typescript@4.9.5): - resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} + /@typescript-eslint/parser@5.45.0(eslint@8.28.0)(typescript@5.1.6): + resolution: {integrity: sha512-brvs/WSM4fKUmF5Ot/gEve6qYiCMjm6w4HkHPfS6ZNmxTS0m0iNN4yOChImaCkqc1hRwFGqUyanMXuGal6oyyQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -5874,18 +5916,18 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.45.0 + '@typescript-eslint/types': 5.45.0 + '@typescript-eslint/typescript-estree': 5.45.0(typescript@5.1.6) debug: 4.3.4(supports-color@8.1.1) - eslint: 8.46.0 - typescript: 4.9.5 + eslint: 8.28.0 + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.46.0)(typescript@5.1.6): - resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} + /@typescript-eslint/parser@5.45.0(eslint@8.48.0)(typescript@4.9.5): + resolution: {integrity: sha512-brvs/WSM4fKUmF5Ot/gEve6qYiCMjm6w4HkHPfS6ZNmxTS0m0iNN4yOChImaCkqc1hRwFGqUyanMXuGal6oyyQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -5894,12 +5936,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) + '@typescript-eslint/scope-manager': 5.45.0 + '@typescript-eslint/types': 5.45.0 + '@typescript-eslint/typescript-estree': 5.45.0(typescript@4.9.5) debug: 4.3.4(supports-color@8.1.1) - eslint: 8.46.0 - typescript: 5.1.6 + eslint: 8.48.0 + typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true @@ -5920,6 +5962,14 @@ packages: '@typescript-eslint/visitor-keys': 5.16.0 dev: true + /@typescript-eslint/scope-manager@5.45.0: + resolution: {integrity: sha512-noDMjr87Arp/PuVrtvN3dXiJstQR1+XlQ4R1EvzG+NMgXi8CuMCXpb8JqNtFHKceVSQ985BZhfRdowJzbv4yKw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.45.0 + '@typescript-eslint/visitor-keys': 5.45.0 + dev: true + /@typescript-eslint/scope-manager@5.62.0: resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -5975,7 +6025,7 @@ packages: - supports-color dev: true - /@typescript-eslint/type-utils@6.6.0(eslint@8.46.0)(typescript@4.9.5): + /@typescript-eslint/type-utils@6.6.0(eslint@8.28.0)(typescript@5.1.6): resolution: {integrity: sha512-8m16fwAcEnQc69IpeDyokNO+D5spo0w1jepWWY2Q6y5ZKNuj5EhVQXjtVAeDDqvW6Yg7dhclbsz6rTtOvcwpHg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -5985,17 +6035,17 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.6.0(typescript@4.9.5) - '@typescript-eslint/utils': 6.6.0(eslint@8.46.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 6.6.0(typescript@5.1.6) + '@typescript-eslint/utils': 6.6.0(eslint@8.28.0)(typescript@5.1.6) debug: 4.3.4(supports-color@8.1.1) - eslint: 8.46.0 - ts-api-utils: 1.0.2(typescript@4.9.5) - typescript: 4.9.5 + eslint: 8.28.0 + ts-api-utils: 1.0.2(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/type-utils@6.6.0(eslint@8.46.0)(typescript@5.1.6): + /@typescript-eslint/type-utils@6.6.0(eslint@8.48.0)(typescript@4.9.5): resolution: {integrity: sha512-8m16fwAcEnQc69IpeDyokNO+D5spo0w1jepWWY2Q6y5ZKNuj5EhVQXjtVAeDDqvW6Yg7dhclbsz6rTtOvcwpHg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -6005,12 +6055,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.6.0(typescript@5.1.6) - '@typescript-eslint/utils': 6.6.0(eslint@8.46.0)(typescript@5.1.6) + '@typescript-eslint/typescript-estree': 6.6.0(typescript@4.9.5) + '@typescript-eslint/utils': 6.6.0(eslint@8.48.0)(typescript@4.9.5) debug: 4.3.4(supports-color@8.1.1) - eslint: 8.46.0 - ts-api-utils: 1.0.2(typescript@5.1.6) - typescript: 5.1.6 + eslint: 8.48.0 + ts-api-utils: 1.0.2(typescript@4.9.5) + typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true @@ -6025,6 +6075,11 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /@typescript-eslint/types@5.45.0: + resolution: {integrity: sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@typescript-eslint/types@5.62.0: resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6077,8 +6132,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5): - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + /@typescript-eslint/typescript-estree@5.45.0(typescript@4.9.5): + resolution: {integrity: sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -6086,8 +6141,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 + '@typescript-eslint/types': 5.45.0 + '@typescript-eslint/visitor-keys': 5.45.0 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 @@ -6098,7 +6153,28 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@5.1.6): + /@typescript-eslint/typescript-estree@5.45.0(typescript@5.1.6): + resolution: {integrity: sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.45.0 + '@typescript-eslint/visitor-keys': 5.45.0 + debug: 4.3.4(supports-color@8.1.1) + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -6113,8 +6189,8 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - tsutils: 3.21.0(typescript@5.1.6) - typescript: 5.1.6 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true @@ -6187,7 +6263,7 @@ packages: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@7.32.0) '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 + '@types/semver': 7.5.1 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) @@ -6207,7 +6283,7 @@ packages: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@7.32.0) '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 + '@types/semver': 7.5.1 '@typescript-eslint/scope-manager': 6.6.0 '@typescript-eslint/types': 6.6.0 '@typescript-eslint/typescript-estree': 6.6.0(typescript@4.9.5) @@ -6218,38 +6294,38 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.6.0(eslint@8.46.0)(typescript@4.9.5): + /@typescript-eslint/utils@6.6.0(eslint@8.28.0)(typescript@5.1.6): resolution: {integrity: sha512-mPHFoNa2bPIWWglWYdR0QfY9GN0CfvvXX1Sv6DlSTive3jlMTUy+an67//Gysc+0Me9pjitrq0LJp0nGtLgftw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.28.0) '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 + '@types/semver': 7.5.1 '@typescript-eslint/scope-manager': 6.6.0 '@typescript-eslint/types': 6.6.0 - '@typescript-eslint/typescript-estree': 6.6.0(typescript@4.9.5) - eslint: 8.46.0 + '@typescript-eslint/typescript-estree': 6.6.0(typescript@5.1.6) + eslint: 8.28.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils@6.6.0(eslint@8.46.0)(typescript@5.1.6): + /@typescript-eslint/utils@6.6.0(eslint@8.48.0)(typescript@4.9.5): resolution: {integrity: sha512-mPHFoNa2bPIWWglWYdR0QfY9GN0CfvvXX1Sv6DlSTive3jlMTUy+an67//Gysc+0Me9pjitrq0LJp0nGtLgftw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0) '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 + '@types/semver': 7.5.1 '@typescript-eslint/scope-manager': 6.6.0 '@typescript-eslint/types': 6.6.0 - '@typescript-eslint/typescript-estree': 6.6.0(typescript@5.1.6) - eslint: 8.46.0 + '@typescript-eslint/typescript-estree': 6.6.0(typescript@4.9.5) + eslint: 8.48.0 semver: 7.5.4 transitivePeerDependencies: - supports-color @@ -6269,7 +6345,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.16.0 - eslint-visitor-keys: 3.4.2 + eslint-visitor-keys: 3.4.3 + dev: true + + /@typescript-eslint/visitor-keys@5.45.0: + resolution: {integrity: sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.45.0 + eslint-visitor-keys: 3.4.3 dev: true /@typescript-eslint/visitor-keys@5.62.0: @@ -6277,7 +6361,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.62.0 - eslint-visitor-keys: 3.4.2 + eslint-visitor-keys: 3.4.3 dev: true /@typescript-eslint/visitor-keys@6.6.0: @@ -6285,14 +6369,14 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 6.6.0 - eslint-visitor-keys: 3.4.2 + eslint-visitor-keys: 3.4.3 dev: true /@vercel/analytics@1.0.1: resolution: {integrity: sha512-Ux0c9qUfkcPqng3vrR0GTrlQdqNJ2JREn/2ydrVuKwM3RtMfF2mWX31Ijqo1opSjNAq6rK76PwtANw6kl6TAow==} dev: false - /@vitest/coverage-v8@0.33.0(vitest@0.32.4): + /@vitest/coverage-v8@0.33.0(vitest@0.32.2): resolution: {integrity: sha512-Rj5IzoLF7FLj6yR7TmqsfRDSeaFki6NAJ/cQexqhbWkHEV2htlVGrmuOde3xzvFsCbLCagf4omhcIaVmfU8Okg==} peerDependencies: vitest: '>=0.32.0 <1' @@ -6303,59 +6387,60 @@ packages: istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.6 - magic-string: 0.30.2 + magic-string: 0.30.3 picocolors: 1.0.0 - std-env: 3.3.3 + std-env: 3.4.3 test-exclude: 6.0.0 v8-to-istanbul: 9.1.0 - vitest: 0.32.4(jsdom@22.1.0) + vitest: 0.32.2(jsdom@22.1.0) transitivePeerDependencies: - supports-color dev: true - /@vitest/expect@0.32.4: - resolution: {integrity: sha512-m7EPUqmGIwIeoU763N+ivkFjTzbaBn0n9evsTOcde03ugy2avPs3kZbYmw3DkcH1j5mxhMhdamJkLQ6dM1bk/A==} + /@vitest/expect@0.32.2: + resolution: {integrity: sha512-6q5yzweLnyEv5Zz1fqK5u5E83LU+gOMVBDuxBl2d2Jfx1BAp5M+rZgc5mlyqdnxquyoiOXpXmFNkcGcfFnFH3Q==} dependencies: - '@vitest/spy': 0.32.4 - '@vitest/utils': 0.32.4 - chai: 4.3.7 + '@vitest/spy': 0.32.2 + '@vitest/utils': 0.32.2 + chai: 4.3.8 dev: true - /@vitest/runner@0.32.4: - resolution: {integrity: sha512-cHOVCkiRazobgdKLnczmz2oaKK9GJOw6ZyRcaPdssO1ej+wzHVIkWiCiNacb3TTYPdzMddYkCgMjZ4r8C0JFCw==} + /@vitest/runner@0.32.2: + resolution: {integrity: sha512-06vEL0C1pomOEktGoLjzZw+1Fb+7RBRhmw/06WkDrd1akkT9i12su0ku+R/0QM69dfkIL/rAIDTG+CSuQVDcKw==} dependencies: - '@vitest/utils': 0.32.4 + '@vitest/utils': 0.32.2 + concordance: 5.0.4 p-limit: 4.0.0 pathe: 1.1.1 dev: true - /@vitest/snapshot@0.32.4: - resolution: {integrity: sha512-IRpyqn9t14uqsFlVI2d7DFMImGMs1Q9218of40bdQQgMePwVdmix33yMNnebXcTzDU5eiV3eUsoxxH5v0x/IQA==} + /@vitest/snapshot@0.32.2: + resolution: {integrity: sha512-JwhpeH/PPc7GJX38vEfCy9LtRzf9F4er7i4OsAJyV7sjPwjj+AIR8cUgpMTWK4S3TiamzopcTyLsZDMuldoi5A==} dependencies: - magic-string: 0.30.2 + magic-string: 0.30.3 pathe: 1.1.1 - pretty-format: 29.6.2 + pretty-format: 27.5.1 dev: true - /@vitest/spy@0.32.4: - resolution: {integrity: sha512-oA7rCOqVOOpE6rEoXuCOADX7Lla1LIa4hljI2MSccbpec54q+oifhziZIJXxlE/CvI2E+ElhBHzVu0VEvJGQKQ==} + /@vitest/spy@0.32.2: + resolution: {integrity: sha512-Q/ZNILJ4ca/VzQbRM8ur3Si5Sardsh1HofatG9wsJY1RfEaw0XKP8IVax2lI1qnrk9YPuG9LA2LkZ0EI/3d4ug==} dependencies: tinyspy: 2.1.1 dev: true - /@vitest/utils@0.32.4: - resolution: {integrity: sha512-Gwnl8dhd1uJ+HXrYyV0eRqfmk9ek1ASE/LWfTCuWMw+d07ogHqp4hEAV28NiecimK6UY9DpSEPh+pXBA5gtTBg==} + /@vitest/utils@0.32.2: + resolution: {integrity: sha512-lnJ0T5i03j0IJaeW73hxe2AuVnZ/y1BhhCOuIcl9LIzXnbpXJT9Lrt6brwKHXLOiA7MZ6N5hSJjt0xE1dGNCzQ==} dependencies: - diff-sequences: 29.4.3 + diff-sequences: 29.6.3 loupe: 2.3.6 - pretty-format: 29.6.2 + pretty-format: 27.5.1 dev: true /@vue/compiler-sfc@2.7.14: resolution: {integrity: sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==} dependencies: - '@babel/parser': 7.22.7 - postcss: 8.4.27 + '@babel/parser': 7.22.15 + postcss: 8.4.29 source-map: 0.6.1 dev: true @@ -6442,8 +6527,19 @@ packages: dependencies: typescript: 4.9.5 - /@wagmi/chains@1.3.0(typescript@4.9.5): - resolution: {integrity: sha512-7tyr1irTZQpA4/4HoIiJP3XYZuJIZuWiZ1V1j5WEG3cjm8TXIlMEzO0N+hT/cZKw4/UtF2EukvB8GkDWa2S77w==} + /@wagmi/chains@0.2.22(typescript@5.1.6): + resolution: {integrity: sha512-TdiOzJT6TO1JrztRNjTA5Quz+UmQlbvWFG8N41u9tta0boHA1JCAzGGvU6KuIcOmJfRJkKOUIt67wlbopCpVHg==} + peerDependencies: + typescript: '>=4.9.4' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + typescript: 5.1.6 + dev: true + + /@wagmi/chains@1.0.0(typescript@4.9.5): + resolution: {integrity: sha512-eNbqRWyHbivcMNq5tbXJks4NaOzVLHnNQauHPeE/EDT9AlpqzcrMc+v2T1/2Iw8zN4zgqB86NCsxeJHJs7+xng==} peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -6453,8 +6549,8 @@ packages: typescript: 4.9.5 dev: true - /@wagmi/chains@1.3.0(typescript@5.1.6): - resolution: {integrity: sha512-7tyr1irTZQpA4/4HoIiJP3XYZuJIZuWiZ1V1j5WEG3cjm8TXIlMEzO0N+hT/cZKw4/UtF2EukvB8GkDWa2S77w==} + /@wagmi/chains@1.0.0(typescript@5.1.6): + resolution: {integrity: sha512-eNbqRWyHbivcMNq5tbXJks4NaOzVLHnNQauHPeE/EDT9AlpqzcrMc+v2T1/2Iw8zN4zgqB86NCsxeJHJs7+xng==} peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -6464,16 +6560,15 @@ packages: typescript: 5.1.6 dev: true - /@wagmi/chains@1.6.0(typescript@4.9.5): - resolution: {integrity: sha512-5FRlVxse5P4ZaHG3GTvxwVANSmYJas1eQrTBHhjxVtqXoorm0aLmCHbhmN8Xo1yu09PaWKlleEvfE98yH4AgIw==} + /@wagmi/chains@1.4.0(typescript@5.1.6): + resolution: {integrity: sha512-9HwJrhcZ1TxyrCbE10y7s1eSiSiyfGam7AHIOLYExaOX+vpOZ+MNTt4orFEDbEpz1fxwJDPPI38lanAUix1OSA==} peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: typescript: optional: true dependencies: - typescript: 4.9.5 - dev: true + typescript: 5.1.6 /@wagmi/chains@1.6.0(typescript@5.1.6): resolution: {integrity: sha512-5FRlVxse5P4ZaHG3GTvxwVANSmYJas1eQrTBHhjxVtqXoorm0aLmCHbhmN8Xo1yu09PaWKlleEvfE98yH4AgIw==} @@ -6485,14 +6580,14 @@ packages: dependencies: typescript: 5.1.6 - /@wagmi/cli@1.3.0(@wagmi/core@1.3.8)(typescript@5.1.6): - resolution: {integrity: sha512-/YXmdp0XWgQEwRSVO8IjVB8KY5HK+6+eqJsZI3a+y3XMH4T/NxVBoT/JxTqV6HEivr3HOLgDcTzvQhNy3mZ0HA==} + /@wagmi/cli@1.0.1(@wagmi/core@1.3.6)(typescript@5.1.6): + resolution: {integrity: sha512-SZwT7RglyVDipDTPL/dEKfrAJ3GdSKfdhaF6CFoseIgSiOLkj3xbakvAqdjYSkYnnpjrqLXc3WKZCnszQryctA==} engines: {node: '>=14'} hasBin: true peerDependencies: - '@wagmi/core': '>=1.0.0' - typescript: '>=5.0.4' - wagmi: '>=1.0.0' + '@wagmi/core': '>=1.0.0-next.0' + typescript: '>=4.9.4' + wagmi: '>=1.0.0-next.0' peerDependenciesMeta: '@wagmi/core': optional: true @@ -6501,9 +6596,9 @@ packages: wagmi: optional: true dependencies: - '@wagmi/chains': 1.3.0(typescript@5.1.6) - '@wagmi/core': 1.3.8(lokijs@1.5.12)(react@18.2.0)(typescript@5.1.6)(viem@1.5.3) - abitype: 0.8.7(typescript@5.1.6)(zod@3.21.4) + '@wagmi/chains': 0.2.22(typescript@5.1.6) + '@wagmi/core': 1.3.6(lokijs@1.5.12)(react@18.2.0)(typescript@5.1.6)(viem@1.4.1) + abitype: 0.8.1(typescript@5.1.6)(zod@3.22.2) abort-controller: 3.0.0 bundle-require: 3.1.2(esbuild@0.15.13) cac: 6.7.14 @@ -6524,21 +6619,21 @@ packages: picocolors: 1.0.0 prettier: 2.8.8 typescript: 5.1.6 - viem: 1.5.3(typescript@5.1.6)(zod@3.21.4) - zod: 3.21.4 + viem: 0.3.50(typescript@5.1.6)(zod@3.22.2) + zod: 3.22.2 transitivePeerDependencies: - bufferutil - utf-8-validate dev: true - /@wagmi/cli@1.3.0(typescript@4.9.5)(wagmi@0.12.19): - resolution: {integrity: sha512-/YXmdp0XWgQEwRSVO8IjVB8KY5HK+6+eqJsZI3a+y3XMH4T/NxVBoT/JxTqV6HEivr3HOLgDcTzvQhNy3mZ0HA==} + /@wagmi/cli@1.0.1(typescript@4.9.5)(wagmi@0.12.16): + resolution: {integrity: sha512-SZwT7RglyVDipDTPL/dEKfrAJ3GdSKfdhaF6CFoseIgSiOLkj3xbakvAqdjYSkYnnpjrqLXc3WKZCnszQryctA==} engines: {node: '>=14'} hasBin: true peerDependencies: - '@wagmi/core': '>=1.0.0' - typescript: '>=5.0.4' - wagmi: '>=1.0.0' + '@wagmi/core': '>=1.0.0-next.0' + typescript: '>=4.9.4' + wagmi: '>=1.0.0-next.0' peerDependenciesMeta: '@wagmi/core': optional: true @@ -6547,8 +6642,8 @@ packages: wagmi: optional: true dependencies: - '@wagmi/chains': 1.3.0(typescript@4.9.5) - abitype: 0.8.7(typescript@4.9.5)(zod@3.21.4) + '@wagmi/chains': 0.2.22(typescript@4.9.5) + abitype: 0.8.1(typescript@4.9.5)(zod@3.22.2) abort-controller: 3.0.0 bundle-require: 3.1.2(esbuild@0.15.13) cac: 6.7.14 @@ -6569,16 +6664,16 @@ packages: picocolors: 1.0.0 prettier: 2.8.8 typescript: 4.9.5 - viem: 1.5.3(typescript@4.9.5)(zod@3.21.4) - wagmi: 0.12.19(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) - zod: 3.21.4 + viem: 0.3.50(typescript@4.9.5)(zod@3.22.2) + wagmi: 0.12.16(debug@4.3.4)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) + zod: 3.22.2 transitivePeerDependencies: - bufferutil - utf-8-validate dev: true - /@wagmi/connectors@0.1.10(@wagmi/core@0.8.19)(ethers@5.7.2)(react@18.2.0): - resolution: {integrity: sha512-kEFzqNlB+EEl4gcvTMYZOSGlWXn53YGIiAsvXnqo3MEim4ZfTqcNZ71NV+DVmQu+N+F09wvq2FkbLO4lLVB78g==} + /@wagmi/connectors@0.1.1(@babel/core@7.22.15)(@wagmi/core@0.8.0)(ethers@5.7.2)(typescript@4.9.5): + resolution: {integrity: sha512-W9w73o9HCYzuBsDHuujwBT/nGGIu5qLBSqVqslXf/S1Q9OiWoudmuIs3opuYqxgw5MpWbMqhq6QaxA7Qcd6NrA==} peerDependencies: '@wagmi/core': 0.8.x ethers: ^5.0.0 @@ -6586,27 +6681,25 @@ packages: '@wagmi/core': optional: true dependencies: - '@coinbase/wallet-sdk': 3.7.1 - '@ledgerhq/connect-kit-loader': 1.1.1 - '@wagmi/core': 0.8.19(@coinbase/wallet-sdk@3.7.1)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) + '@coinbase/wallet-sdk': 3.6.3(@babel/core@7.22.15) + '@ledgerhq/connect-kit-loader': 1.1.2 + '@wagmi/core': 0.8.0(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) '@walletconnect/ethereum-provider': 1.8.0 - '@walletconnect/universal-provider': 2.9.2 - '@web3modal/standalone': 2.4.3(react@18.2.0) + abitype: 0.1.8(typescript@4.9.5) ethers: 5.7.2 eventemitter3: 4.0.7 transitivePeerDependencies: - - '@react-native-async-storage/async-storage' + - '@babel/core' - bufferutil - debug - encoding - - lokijs - - react - supports-color + - typescript - utf-8-validate dev: false - /@wagmi/connectors@0.3.24(@wagmi/core@0.10.17)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5): - resolution: {integrity: sha512-1pI0G9HRblc651dCz9LXuEu/zWQk23XwOUYqJEINb/c2TTLtw5TnTRIcefxxK6RnxeJvcKfnmK0rdZp/4ujFAA==} + /@wagmi/connectors@0.3.21(@wagmi/core@0.10.14)(debug@4.3.4)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5): + resolution: {integrity: sha512-yXtczgBQzVhUeo6D2L9yu8HmWQv08v6Ji5Cb4ZNL1mM2VVnvXxv7l40fSschcTw6H5jBZytgeGgL/aTYhn3HYQ==} peerDependencies: '@wagmi/core': '>=0.9.x' ethers: '>=5.5.1 <6' @@ -6618,11 +6711,11 @@ packages: optional: true dependencies: '@coinbase/wallet-sdk': 3.7.1 - '@ledgerhq/connect-kit-loader': 1.1.1 + '@ledgerhq/connect-kit-loader': 1.1.2 '@safe-global/safe-apps-provider': 0.15.2 '@safe-global/safe-apps-sdk': 7.11.0 - '@wagmi/core': 0.10.17(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) - '@walletconnect/ethereum-provider': 2.9.0(@walletconnect/modal@2.6.1) + '@wagmi/core': 0.10.14(debug@4.3.4)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) + '@walletconnect/ethereum-provider': 2.8.1(@walletconnect/modal@2.6.1)(debug@4.3.4) '@walletconnect/legacy-provider': 2.0.0 '@walletconnect/modal': 2.6.1(react@18.2.0) abitype: 0.3.0(typescript@4.9.5) @@ -6632,6 +6725,7 @@ packages: transitivePeerDependencies: - '@react-native-async-storage/async-storage' - bufferutil + - debug - encoding - lokijs - react @@ -6639,8 +6733,8 @@ packages: - utf-8-validate - zod - /@wagmi/connectors@2.6.6(@wagmi/chains@1.6.0)(lokijs@1.5.12)(react@18.2.0)(typescript@5.1.6)(viem@1.5.3): - resolution: {integrity: sha512-/o1c/TCivQs8DOAUOcQvY2UIt3p2mWOAHi39D0LC74+ncpXzLC5/gyaWU38qnTxPM8s/PmTmaWDgz+VhICXrag==} + /@wagmi/connectors@2.6.5(@wagmi/chains@1.4.0)(lokijs@1.5.12)(react@18.2.0)(typescript@5.1.6)(viem@1.4.1): + resolution: {integrity: sha512-klF31togMDd0qQqEcLl5cCGxjMbL0RRXQ8I1vxmEa3KdGzw6Z3ICVzX7/bDfnNEZcOW7BKyAnZDq7rCt5jTOiw==} peerDependencies: '@wagmi/chains': '>=1.3.0' typescript: '>=5.0.4' @@ -6652,18 +6746,18 @@ packages: optional: true dependencies: '@coinbase/wallet-sdk': 3.7.1 - '@ledgerhq/connect-kit-loader': 1.1.1 + '@ledgerhq/connect-kit-loader': 1.1.2 '@safe-global/safe-apps-provider': 0.17.1(typescript@5.1.6) - '@safe-global/safe-apps-sdk': 8.0.0(typescript@5.1.6) - '@wagmi/chains': 1.6.0(typescript@5.1.6) - '@walletconnect/ethereum-provider': 2.9.0(@walletconnect/modal@2.5.9)(lokijs@1.5.12) + '@safe-global/safe-apps-sdk': 8.1.0(typescript@5.1.6) + '@wagmi/chains': 1.4.0(typescript@5.1.6) + '@walletconnect/ethereum-provider': 2.8.6(@walletconnect/modal@2.5.9)(lokijs@1.5.12) '@walletconnect/legacy-provider': 2.0.0 '@walletconnect/modal': 2.5.9(react@18.2.0) - '@walletconnect/utils': 2.9.0(lokijs@1.5.12) - abitype: 0.8.7(typescript@5.1.6)(zod@3.21.4) + '@walletconnect/utils': 2.8.6(lokijs@1.5.12) + abitype: 0.8.7(typescript@5.1.6)(zod@3.22.2) eventemitter3: 4.0.7 typescript: 5.1.6 - viem: 1.5.3(typescript@5.1.6)(zod@3.21.4) + viem: 1.4.1(typescript@5.1.6) transitivePeerDependencies: - '@react-native-async-storage/async-storage' - bufferutil @@ -6674,8 +6768,8 @@ packages: - utf-8-validate - zod - /@wagmi/core@0.10.17(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5): - resolution: {integrity: sha512-qud45y3IlHp7gYWzoFeyysmhyokRie59Xa5tcx5F1E/v4moD5BY0kzD26mZW/ZQ3WZuVK/lZwiiPRqpqWH52Gw==} + /@wagmi/core@0.10.14(debug@4.3.4)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5): + resolution: {integrity: sha512-+iQj5YNdVQ/kLVpVMLmF71Y2vnW3ox4b4Na4S9fvQazGudhqfqfpQ+YPYmH6SIIuZ1VhRnBmjJIY88IZt/OkwA==} peerDependencies: ethers: '>=5.5.1 <6' typescript: '>=4.9.4' @@ -6684,16 +6778,17 @@ packages: optional: true dependencies: '@wagmi/chains': 0.2.22(typescript@4.9.5) - '@wagmi/connectors': 0.3.24(@wagmi/core@0.10.17)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) + '@wagmi/connectors': 0.3.21(@wagmi/core@0.10.14)(debug@4.3.4)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) abitype: 0.3.0(typescript@4.9.5) ethers: 5.7.2 eventemitter3: 4.0.7 typescript: 4.9.5 - zustand: 4.4.0(react@18.2.0) + zustand: 4.4.1(react@18.2.0) transitivePeerDependencies: - '@react-native-async-storage/async-storage' - '@types/react' - bufferutil + - debug - encoding - immer - lokijs @@ -6702,8 +6797,8 @@ packages: - utf-8-validate - zod - /@wagmi/core@0.8.19(@coinbase/wallet-sdk@3.7.1)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5): - resolution: {integrity: sha512-B1iXB4MRjxgoybZATRmBI7YEfUhpIl3aZGUjo5GXPU1SNtlXIA4/3wePlmLD64XzICXVBp99kynrrdlvJxc4gw==} + /@wagmi/core@0.8.0(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5): + resolution: {integrity: sha512-249Iph7Z289ym2WQGtUHXSzUK4w/n33IYSAAIDpL4/csB7sOoAYAEAOH5bxH/x2KT7gPd1pNSgOWDzfoG3hI4w==} peerDependencies: '@coinbase/wallet-sdk': '>=3.6.0' '@walletconnect/ethereum-provider': '>=1.7.5' @@ -6714,30 +6809,21 @@ packages: '@walletconnect/ethereum-provider': optional: true dependencies: - '@coinbase/wallet-sdk': 3.7.1 + '@coinbase/wallet-sdk': 3.6.3(@babel/core@7.22.15) '@wagmi/chains': 0.1.14 - '@wagmi/connectors': 0.1.10(@wagmi/core@0.8.19)(ethers@5.7.2)(react@18.2.0) - abitype: 0.2.5(typescript@4.9.5) + abitype: 0.1.8(typescript@4.9.5) ethers: 5.7.2 eventemitter3: 4.0.7 - zustand: 4.4.0(react@18.2.0) + zustand: 4.4.1(react@18.2.0) transitivePeerDependencies: - - '@react-native-async-storage/async-storage' - '@types/react' - - bufferutil - - debug - - encoding - immer - - lokijs - react - - supports-color - typescript - - utf-8-validate - - zod dev: false - /@wagmi/core@1.3.8(lokijs@1.5.12)(react@18.2.0)(typescript@5.1.6)(viem@1.5.3): - resolution: {integrity: sha512-OYSxikoMizqVnpSkFTwGE7PwFaz2k0PXteSiI0W2Mtk4j4sZzRFdP+9AWeDB6AYm0yU3WvgN1IATx0EEBKUe3w==} + /@wagmi/core@1.3.6(lokijs@1.5.12)(react@18.2.0)(typescript@5.1.6)(viem@1.4.1): + resolution: {integrity: sha512-TXv9ZlRR5aySfERFuWMuo+lKXC/CoqtxVJZVHPqhK1jY+nldMx3AvrWzzF4CccRaMYcVdvPFepvmxzq2A2VvWg==} peerDependencies: typescript: '>=5.0.4' viem: '>=0.3.35' @@ -6745,13 +6831,13 @@ packages: typescript: optional: true dependencies: - '@wagmi/chains': 1.6.0(typescript@5.1.6) - '@wagmi/connectors': 2.6.6(@wagmi/chains@1.6.0)(lokijs@1.5.12)(react@18.2.0)(typescript@5.1.6)(viem@1.5.3) - abitype: 0.8.7(typescript@5.1.6)(zod@3.21.4) + '@wagmi/chains': 1.4.0(typescript@5.1.6) + '@wagmi/connectors': 2.6.5(@wagmi/chains@1.4.0)(lokijs@1.5.12)(react@18.2.0)(typescript@5.1.6)(viem@1.4.1) + abitype: 0.8.7(typescript@5.1.6)(zod@3.22.2) eventemitter3: 4.0.7 typescript: 5.1.6 - viem: 1.5.3(typescript@5.1.6)(zod@3.21.4) - zustand: 4.4.0(react@18.2.0) + viem: 1.4.1(typescript@5.1.6) + zustand: 4.4.1(react@18.2.0) transitivePeerDependencies: - '@react-native-async-storage/async-storage' - '@types/react' @@ -6798,22 +6884,22 @@ packages: - utf-8-validate dev: false - /@walletconnect/core@2.9.0(lokijs@1.5.12): - resolution: {integrity: sha512-MZYJghS9YCvGe32UOgDj0mCasaOoGHQaYXWeQblXE/xb8HuaM6kAWhjIQN9P+MNp5QP134BHP5olQostcCotXQ==} + /@walletconnect/core@2.8.1: + resolution: {integrity: sha512-mN9Zkdl/NeThntK8cydDoQOW6jUEpOeFgYR1RCKPLH51VQwlbdSgvvQIeanSQXEY4U7AM3x8cs1sxqMomIfRQg==} dependencies: '@walletconnect/heartbeat': 1.2.1 '@walletconnect/jsonrpc-provider': 1.0.13 '@walletconnect/jsonrpc-types': 1.0.3 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/jsonrpc-ws-connection': 1.0.12 + '@walletconnect/jsonrpc-ws-connection': 1.0.13 '@walletconnect/keyvaluestorage': 1.0.2(lokijs@1.5.12) '@walletconnect/logger': 2.0.1 '@walletconnect/relay-api': 1.0.9 '@walletconnect/relay-auth': 1.0.4 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.9.0(lokijs@1.5.12) - '@walletconnect/utils': 2.9.0(lokijs@1.5.12) + '@walletconnect/types': 2.8.1 + '@walletconnect/utils': 2.8.1 events: 3.3.0 lodash.isequal: 4.5.0 uint8arrays: 3.1.1 @@ -6823,8 +6909,8 @@ packages: - lokijs - utf-8-validate - /@walletconnect/core@2.9.2: - resolution: {integrity: sha512-VARMPAx8sIgodeyngDHbealP3B621PQqjqKsByFUTOep8ZI1/R/20zU+cmq6j9RCrL+kLKZcrZqeVzs8Z7OlqQ==} + /@walletconnect/core@2.8.6(lokijs@1.5.12): + resolution: {integrity: sha512-rnSqm1KJLcww/v6+UH8JeibQkJ3EKgyUDPfEK0stSEkrIUIcXaFlq3Et8S+vgV8bPhI0MVUhAhFL5OJZ3t2ryg==} dependencies: '@walletconnect/heartbeat': 1.2.1 '@walletconnect/jsonrpc-provider': 1.0.13 @@ -6837,8 +6923,8 @@ packages: '@walletconnect/relay-auth': 1.0.4 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.9.2 - '@walletconnect/utils': 2.9.2 + '@walletconnect/types': 2.8.6(lokijs@1.5.12) + '@walletconnect/utils': 2.8.6(lokijs@1.5.12) events: 3.3.0 lodash.isequal: 4.5.0 uint8arrays: 3.1.1 @@ -6847,7 +6933,6 @@ packages: - bufferutil - lokijs - utf-8-validate - dev: false /@walletconnect/crypto@1.0.3: resolution: {integrity: sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g==} @@ -6881,7 +6966,7 @@ packages: '@walletconnect/signer-connection': 1.8.0 '@walletconnect/types': 1.8.0 '@walletconnect/utils': 1.8.0 - eip1193-provider: 1.0.1 + eip1193-provider: 1.0.1(debug@4.3.4) eventemitter3: 4.0.7 transitivePeerDependencies: - bufferutil @@ -6890,8 +6975,8 @@ packages: - utf-8-validate dev: false - /@walletconnect/ethereum-provider@2.9.0(@walletconnect/modal@2.5.9)(lokijs@1.5.12): - resolution: {integrity: sha512-rSXkC0SXMigJRdIi/M2RMuEuATY1AwtlTWQBnqyxoht7xbO2bQNPCXn0XL4s/GRNrSUtoKSY4aPMHXV4W4yLBA==} + /@walletconnect/ethereum-provider@2.8.1(@walletconnect/modal@2.6.1)(debug@4.3.4): + resolution: {integrity: sha512-YlF8CCiFTSEZRyANIBsop/U+t+d1Z1/UXXoE9+iwjSGKJsaym6PgBLPb2d8XdmS/qR6Tcx7lVodTp4cVtezKnA==} peerDependencies: '@walletconnect/modal': '>=2' peerDependenciesMeta: @@ -6902,21 +6987,22 @@ packages: '@walletconnect/jsonrpc-provider': 1.0.13 '@walletconnect/jsonrpc-types': 1.0.3 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/modal': 2.5.9(react@18.2.0) - '@walletconnect/sign-client': 2.9.0(lokijs@1.5.12) - '@walletconnect/types': 2.9.0(lokijs@1.5.12) - '@walletconnect/universal-provider': 2.9.0(lokijs@1.5.12) - '@walletconnect/utils': 2.9.0(lokijs@1.5.12) + '@walletconnect/modal': 2.6.1(react@18.2.0) + '@walletconnect/sign-client': 2.8.1 + '@walletconnect/types': 2.8.1 + '@walletconnect/universal-provider': 2.8.1(debug@4.3.4) + '@walletconnect/utils': 2.8.1 events: 3.3.0 transitivePeerDependencies: - '@react-native-async-storage/async-storage' - bufferutil + - debug - encoding - lokijs - utf-8-validate - /@walletconnect/ethereum-provider@2.9.0(@walletconnect/modal@2.6.1): - resolution: {integrity: sha512-rSXkC0SXMigJRdIi/M2RMuEuATY1AwtlTWQBnqyxoht7xbO2bQNPCXn0XL4s/GRNrSUtoKSY4aPMHXV4W4yLBA==} + /@walletconnect/ethereum-provider@2.8.6(@walletconnect/modal@2.5.9)(lokijs@1.5.12): + resolution: {integrity: sha512-wUvJEsXTLmMihrOhQxAs1k9hrWEOT03QBn54P9r9GpJbJ1zEfIjQaXFfi8uup6gldhH+vN38PsbOiLyv/6d3qQ==} peerDependencies: '@walletconnect/modal': '>=2' peerDependenciesMeta: @@ -6927,11 +7013,11 @@ packages: '@walletconnect/jsonrpc-provider': 1.0.13 '@walletconnect/jsonrpc-types': 1.0.3 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/modal': 2.6.1(react@18.2.0) - '@walletconnect/sign-client': 2.9.0(lokijs@1.5.12) - '@walletconnect/types': 2.9.0(lokijs@1.5.12) - '@walletconnect/universal-provider': 2.9.0(lokijs@1.5.12) - '@walletconnect/utils': 2.9.0(lokijs@1.5.12) + '@walletconnect/modal': 2.5.9(react@18.2.0) + '@walletconnect/sign-client': 2.8.6(lokijs@1.5.12) + '@walletconnect/types': 2.8.6(lokijs@1.5.12) + '@walletconnect/universal-provider': 2.8.6(lokijs@1.5.12) + '@walletconnect/utils': 2.8.6(lokijs@1.5.12) events: 3.3.0 transitivePeerDependencies: - '@react-native-async-storage/async-storage' @@ -6991,18 +7077,6 @@ packages: '@walletconnect/jsonrpc-types': 1.0.3 tslib: 1.14.1 - /@walletconnect/jsonrpc-ws-connection@1.0.12: - resolution: {integrity: sha512-HAcadga3Qjt1Cqy+qXEW6zjaCs8uJGdGQrqltzl3OjiK4epGZRdvSzTe63P+t/3z+D2wG+ffEPn0GVcDozmN1w==} - dependencies: - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/safe-json': 1.0.2 - events: 3.3.0 - tslib: 1.14.1 - ws: 7.5.9 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - /@walletconnect/jsonrpc-ws-connection@1.0.13: resolution: {integrity: sha512-mfOM7uFH4lGtQxG+XklYuFBj6dwVvseTt5/ahOkkmpcAEgz2umuzu7fTR+h5EmjQBdrmYyEBOWADbeaFNxdySg==} dependencies: @@ -7014,7 +7088,6 @@ packages: transitivePeerDependencies: - bufferutil - utf-8-validate - dev: false /@walletconnect/keyvaluestorage@1.0.2(lokijs@1.5.12): resolution: {integrity: sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ==} @@ -7051,7 +7124,7 @@ packages: '@walletconnect/legacy-types': 2.0.0 '@walletconnect/legacy-utils': 2.0.0 copy-to-clipboard: 3.3.3 - preact: 10.16.0 + preact: 10.17.1 qrcode: 1.5.3 /@walletconnect/legacy-provider@2.0.0: @@ -7190,17 +7263,17 @@ packages: dependencies: tslib: 1.14.1 - /@walletconnect/sign-client@2.9.0(lokijs@1.5.12): - resolution: {integrity: sha512-mEKc4LlLMebCe45qzqh+MX4ilQK4kOEBzLY6YJpG8EhyT45eX4JMNA7qQoYa9MRMaaVb/7USJcc4e3ZrjZvQmA==} + /@walletconnect/sign-client@2.8.1: + resolution: {integrity: sha512-6DbpjP9BED2YZOZdpVgYo0HwPBV7k99imnsdMFrTn16EFAxhuYP0/qPwum9d072oNMGWJSA6d4rzc8FHNtHsCA==} dependencies: - '@walletconnect/core': 2.9.0(lokijs@1.5.12) + '@walletconnect/core': 2.8.1 '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.1 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/logger': 2.0.1 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.9.0(lokijs@1.5.12) - '@walletconnect/utils': 2.9.0(lokijs@1.5.12) + '@walletconnect/types': 2.8.1 + '@walletconnect/utils': 2.8.1 events: 3.3.0 transitivePeerDependencies: - '@react-native-async-storage/async-storage' @@ -7208,24 +7281,23 @@ packages: - lokijs - utf-8-validate - /@walletconnect/sign-client@2.9.2: - resolution: {integrity: sha512-anRwnXKlR08lYllFMEarS01hp1gr6Q9XUgvacr749hoaC/AwGVlxYFdM8+MyYr3ozlA+2i599kjbK/mAebqdXg==} + /@walletconnect/sign-client@2.8.6(lokijs@1.5.12): + resolution: {integrity: sha512-rOFTKTHP7oJfXgYHX7+SdB8VbcsEE3ZFG/bMdmZboWaBim1mrY3vUyDdKrNr0VgI3AwBiEQezQDfKxBX0pMSQQ==} dependencies: - '@walletconnect/core': 2.9.2 + '@walletconnect/core': 2.8.6(lokijs@1.5.12) '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.1 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/logger': 2.0.1 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.9.2 - '@walletconnect/utils': 2.9.2 + '@walletconnect/types': 2.8.6(lokijs@1.5.12) + '@walletconnect/utils': 2.8.6(lokijs@1.5.12) events: 3.3.0 transitivePeerDependencies: - '@react-native-async-storage/async-storage' - bufferutil - lokijs - utf-8-validate - dev: false /@walletconnect/signer-connection@1.8.0: resolution: {integrity: sha512-+YAaTAP52MWZJ2wWnqKClKCPlPHBo6reURFe0cWidLADh9mi/kPWGALZ5AENK22zpem1bbKV466rF5Rzvu0ehA==} @@ -7262,8 +7334,8 @@ packages: deprecated: 'WalletConnect''s v1 SDKs are now deprecated. Please upgrade to a v2 SDK. For details see: https://docs.walletconnect.com/' dev: false - /@walletconnect/types@2.9.0(lokijs@1.5.12): - resolution: {integrity: sha512-ORopsMfSRvUYqtjKKd6scfg8o4/aGebipLxx92AuuUgMTERSU6cGmIrK6rdLu7W6FBJkmngPLEGc9mRqAb9Lug==} + /@walletconnect/types@2.8.1: + resolution: {integrity: sha512-MLISp85b+27vVkm3Wkud+eYCwySXCdOrmn0yQCSN6DnRrrunrD05ksz4CXGP7h2oXUvvXPDt/6lXBf1B4AfqrA==} dependencies: '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.1 @@ -7275,8 +7347,8 @@ packages: - '@react-native-async-storage/async-storage' - lokijs - /@walletconnect/types@2.9.2: - resolution: {integrity: sha512-7Rdn30amnJEEal4hk83cdwHUuxI1SWQ+K7fFFHBMqkuHLGi3tpMY6kpyfDxnUScYEZXqgRps4Jo5qQgnRqVM7A==} + /@walletconnect/types@2.8.6(lokijs@1.5.12): + resolution: {integrity: sha512-Z/PFa3W1XdxeTcCtdR6lUsFgZfU/69wWJBPyclPwn7cu1+eriuCr6XZXQpJjib3flU+HnwHiXeUuqZaheehPxw==} dependencies: '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.1 @@ -7287,38 +7359,39 @@ packages: transitivePeerDependencies: - '@react-native-async-storage/async-storage' - lokijs - dev: false - /@walletconnect/universal-provider@2.9.0(lokijs@1.5.12): - resolution: {integrity: sha512-k3nkSBkF69sJJVoe17IVoPtnhp/sgaa2t+x7BvA/BKeMxE0DGdtRJdEXotTc8DBmI7o2tkq6l8+HyFBGjQ/CjQ==} + /@walletconnect/universal-provider@2.8.1(debug@4.3.4): + resolution: {integrity: sha512-6shgE4PM/S+GEh9oTWMloHZlt2BLsCitRn9tBh2Vf+jZiGlug3WNm+tBc/Fo6ILyHuzeYPbkzCM67AxcutOHGQ==} dependencies: '@walletconnect/jsonrpc-http-connection': 1.0.7 '@walletconnect/jsonrpc-provider': 1.0.13 '@walletconnect/jsonrpc-types': 1.0.3 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/logger': 2.0.1 - '@walletconnect/sign-client': 2.9.0(lokijs@1.5.12) - '@walletconnect/types': 2.9.0(lokijs@1.5.12) - '@walletconnect/utils': 2.9.0(lokijs@1.5.12) + '@walletconnect/sign-client': 2.8.1 + '@walletconnect/types': 2.8.1 + '@walletconnect/utils': 2.8.1 + eip1193-provider: 1.0.1(debug@4.3.4) events: 3.3.0 transitivePeerDependencies: - '@react-native-async-storage/async-storage' - bufferutil + - debug - encoding - lokijs - utf-8-validate - /@walletconnect/universal-provider@2.9.2: - resolution: {integrity: sha512-JmaolkO8D31UdRaQCHwlr8uIFUI5BYhBzqYFt54Mc6gbIa1tijGOmdyr6YhhFO70LPmS6gHIjljwOuEllmlrxw==} + /@walletconnect/universal-provider@2.8.6(lokijs@1.5.12): + resolution: {integrity: sha512-ln1RVv8+oHu9enOJ/oVkjiarneB+4vJCk16znOklIN2JtDHwB8iObDHlQH3UE6ynNTw1iRvaGuPR4g+YdIfB6w==} dependencies: '@walletconnect/jsonrpc-http-connection': 1.0.7 '@walletconnect/jsonrpc-provider': 1.0.13 '@walletconnect/jsonrpc-types': 1.0.3 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/logger': 2.0.1 - '@walletconnect/sign-client': 2.9.2 - '@walletconnect/types': 2.9.2 - '@walletconnect/utils': 2.9.2 + '@walletconnect/sign-client': 2.8.6(lokijs@1.5.12) + '@walletconnect/types': 2.8.6(lokijs@1.5.12) + '@walletconnect/utils': 2.8.6(lokijs@1.5.12) events: 3.3.0 transitivePeerDependencies: - '@react-native-async-storage/async-storage' @@ -7326,7 +7399,6 @@ packages: - encoding - lokijs - utf-8-validate - dev: false /@walletconnect/utils@1.8.0: resolution: {integrity: sha512-zExzp8Mj1YiAIBfKNm5u622oNw44WOESzo6hj+Q3apSMIb0Jph9X3GDIdbZmvVZsNPxWDL7uodKgZcCInZv2vA==} @@ -7340,8 +7412,8 @@ packages: query-string: 6.13.5 dev: false - /@walletconnect/utils@2.9.0(lokijs@1.5.12): - resolution: {integrity: sha512-7Tu3m6dZL84KofrNBcblsgpSqU2vdo9ImLD7zWimLXERVGNQ8smXG+gmhQYblebIBhsPzjy9N38YMC3nPlfQNw==} + /@walletconnect/utils@2.8.1: + resolution: {integrity: sha512-d6p9OX3v70m6ijp+j4qvqiQZQU1vbEHN48G8HqXasyro3Z+N8vtcB5/gV4pTYsbWgLSDtPHj49mzbWQ0LdIdTw==} dependencies: '@stablelib/chacha20poly1305': 1.0.1 '@stablelib/hkdf': 1.0.1 @@ -7351,7 +7423,7 @@ packages: '@walletconnect/relay-api': 1.0.9 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.9.0(lokijs@1.5.12) + '@walletconnect/types': 2.8.1 '@walletconnect/window-getters': 1.0.1 '@walletconnect/window-metadata': 1.0.1 detect-browser: 5.3.0 @@ -7361,8 +7433,8 @@ packages: - '@react-native-async-storage/async-storage' - lokijs - /@walletconnect/utils@2.9.2: - resolution: {integrity: sha512-D44hwXET/8JhhIjqljY6qxSu7xXnlPrf63UN/Qfl98vDjWlYVcDl2+JIQRxD9GPastw0S8XZXdRq59XDXLuZBg==} + /@walletconnect/utils@2.8.6(lokijs@1.5.12): + resolution: {integrity: sha512-wcy6e5+COYo7tfNnW8YqidnATdJDIW6vDiWWE7A1F78Sl/VflkaevB9cIgyn8eLdxC1SxXgGoeC2oLP90nnHJg==} dependencies: '@stablelib/chacha20poly1305': 1.0.1 '@stablelib/hkdf': 1.0.1 @@ -7372,7 +7444,7 @@ packages: '@walletconnect/relay-api': 1.0.9 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.9.2 + '@walletconnect/types': 2.8.6(lokijs@1.5.12) '@walletconnect/window-getters': 1.0.1 '@walletconnect/window-metadata': 1.0.1 detect-browser: 5.3.0 @@ -7381,7 +7453,6 @@ packages: transitivePeerDependencies: - '@react-native-async-storage/async-storage' - lokijs - dev: false /@walletconnect/window-getters@1.0.0: resolution: {integrity: sha512-xB0SQsLaleIYIkSsl43vm8EwETpBzJ2gnzk7e0wMF3ktqiTGS6TFHxcprMl5R44KKh4tCcHCJwolMCaDSwtAaA==} @@ -7404,56 +7475,38 @@ packages: '@walletconnect/window-getters': 1.0.1 tslib: 1.14.1 - /@web3modal/core@2.4.3(react@18.2.0): - resolution: {integrity: sha512-7Z/sDe9RIYQ2k9ITcxgEa/u7FvlI76vcVVZn9UY4ISivefqrH4JAS3GX4JmVNUUlovwuiZdyqBv4llAQOMK6Rg==} + /@web3modal/core@2.6.2(react@18.2.0): + resolution: {integrity: sha512-7gi618Z+bFOwEzhdxROt4AC8N45oiPHJFEA0AX3PxhB+ni5Usc1VQ03jQhk7DnQLDnQq+3hCY71F1escdxkdBA==} dependencies: buffer: 6.0.3 - valtio: 1.10.5(react@18.2.0) - transitivePeerDependencies: - - react - dev: false - - /@web3modal/core@2.7.1(react@18.2.0): - resolution: {integrity: sha512-eFWR1tK1qN4FguhaZq2VW0AVr8DC/Fox2eJnK1eTfk32hxSgUtl8wr5fVM8EoLeoapQ7Zcc0SNg/QLuLQ9t2tA==} - dependencies: - valtio: 1.11.0(react@18.2.0) + valtio: 1.10.6(react@18.2.0) transitivePeerDependencies: - react dev: false - /@web3modal/ethereum@2.7.1(@wagmi/core@1.3.8)(viem@1.5.3): - resolution: {integrity: sha512-1x3qhYh9qgtvw1MDQD4VeDf2ZOsVANKRPtUty4lF+N4L8xnAIwvNKUAMA4j6T5xSsjqUfq5Tdy5mYsNxLmsWMA==} + /@web3modal/ethereum@2.6.2(@wagmi/core@1.3.6)(viem@1.4.1): + resolution: {integrity: sha512-8QCzJj0+x6y/7V++DQnXdPjdmMvq+zm/Fl8CEKhNlni9p4H406q7ramjdJEu1Bk4xtCklYh/aU3ZGR5wUIDysA==} peerDependencies: '@wagmi/core': '>=1' viem: '>=1' dependencies: - '@wagmi/core': 1.3.8(lokijs@1.5.12)(react@18.2.0)(typescript@5.1.6)(viem@1.5.3) - viem: 1.5.3(typescript@5.1.6)(zod@3.21.4) - dev: false - - /@web3modal/html@2.7.1(react@18.2.0): - resolution: {integrity: sha512-/psh2p6c6VVFTWUhS/dbGCM9Q0/9x/EY6MWyqLD7+3EGNcz7XTHs8YfpflHjq2rDUNt6E56wM5dT+JRKV7Vkjw==} - dependencies: - '@web3modal/core': 2.7.1(react@18.2.0) - '@web3modal/ui': 2.7.1(react@18.2.0) - transitivePeerDependencies: - - react + '@wagmi/core': 1.3.6(lokijs@1.5.12)(react@18.2.0)(typescript@5.1.6)(viem@1.4.1) + viem: 1.4.1(typescript@5.1.6) dev: false - /@web3modal/standalone@2.4.3(react@18.2.0): - resolution: {integrity: sha512-5ATXBoa4GGm+TIUSsKWsfWCJunv1XevOizpgTFhqyeGgRDmWhqsz9UIPzH/1mk+g0iJ/xqMKs5F6v9D2QeKxag==} - deprecated: This package has been deprecated in favor of @walletconnect/modal. Please read more at https://docs.walletconnect.com + /@web3modal/html@2.6.2(react@18.2.0): + resolution: {integrity: sha512-SUm0lUyd+Dps7CCWbv0w5RZgqIHNJF/omTwZJ8yZckbE7JjhxnoFDjGNZI3AVJo0HSEZHWilDQvhF2NaLv97eg==} dependencies: - '@web3modal/core': 2.4.3(react@18.2.0) - '@web3modal/ui': 2.4.3(react@18.2.0) + '@web3modal/core': 2.6.2(react@18.2.0) + '@web3modal/ui': 2.6.2(react@18.2.0) transitivePeerDependencies: - react dev: false - /@web3modal/ui@2.4.3(react@18.2.0): - resolution: {integrity: sha512-J989p8CdtEhI9gZHf/rZ/WFqYlrAHWw9GmAhFoiNODwjAp0BoG/uoaPiijJMchXdngihZOjLGCQwDXU16DHiKg==} + /@web3modal/ui@2.6.2(react@18.2.0): + resolution: {integrity: sha512-bhBNsookaqkTdLjyERBA7XM9KV8XPQ2bWAGd3roIgAFxLlaoWqrV0pPZHLtp+C97AglV4mbeqvFsHZ0jwpm8lw==} dependencies: - '@web3modal/core': 2.4.3(react@18.2.0) + '@web3modal/core': 2.6.2(react@18.2.0) lit: 2.7.5 motion: 10.16.2 qrcode: 1.5.3 @@ -7461,17 +7514,6 @@ packages: - react dev: false - /@web3modal/ui@2.7.1(react@18.2.0): - resolution: {integrity: sha512-JpGJbLAl/Wmuyyn+JwuwtlPD8mUW2HV/gsSxKWZoElgjbfDY4vjHo9PH2G++2HhugISfzjawp43r8lP/hWgWOQ==} - dependencies: - '@web3modal/core': 2.7.1(react@18.2.0) - lit: 2.7.6 - motion: 10.16.2 - qrcode: 1.5.3 - transitivePeerDependencies: - - react - dev: false - /@webassemblyjs/ast@1.11.6: resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} dependencies: @@ -7594,12 +7636,12 @@ packages: resolution: {integrity: sha512-k0W1JFoqHIcIQaP9ij99+Rv0ugaQSSNwOuNwwmTGRjWtIqrQr+ExLDE8LQGXLlJIprqDyMWB4lJkUql/r0RAtA==} dev: true - /@zerodevx/svelte-toast@0.9.5(svelte@4.1.2): + /@zerodevx/svelte-toast@0.9.5(svelte@4.1.0): resolution: {integrity: sha512-JLeB/oRdJfT+dz9A5bgd3Z7TuQnBQbeUtXrGIrNWMGqWbabpepBF2KxtWVhL2qtxpRqhae2f6NAOzH7xs4jUSw==} peerDependencies: svelte: ^3.57.0 || ^4.0.0 dependencies: - svelte: 4.1.2 + svelte: 4.1.0 dev: false /JSONStream@1.3.5: @@ -7621,15 +7663,11 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: true - /abitype@0.2.5(typescript@4.9.5): - resolution: {integrity: sha512-t1iiokWYpkrziu4WL2Gb6YdGvaP9ZKs7WnA39TI8TsW2E99GVRgDPW/xOKhzoCdyxOYt550CNYEFluCwGaFHaA==} + /abitype@0.1.8(typescript@4.9.5): + resolution: {integrity: sha512-2pde0KepTzdfu19ZrzYTYVIWo69+6UbBCY4B1RDiwWgo2XZtFSJhF6C+XThuRXbbZ823J0Rw1Y5cP0NXYVcCdQ==} engines: {pnpm: '>=7'} peerDependencies: typescript: '>=4.7.4' - zod: '>=3.19.1' - peerDependenciesMeta: - zod: - optional: true dependencies: typescript: 4.9.5 dev: false @@ -7646,31 +7684,33 @@ packages: dependencies: typescript: 4.9.5 - /abitype@0.8.11(typescript@4.9.5): - resolution: {integrity: sha512-bM4v2dKvX08sZ9IU38IN5BKmN+ZkOSd2oI4a9f0ejHYZQYV6cDr7j+d95ga0z2XHG36Y4jzoG5Z7qDqxp7fi/A==} + /abitype@0.8.1(typescript@4.9.5)(zod@3.22.2): + resolution: {integrity: sha512-n8Di6AWb3i7HnEkBvecU6pG0a5nj5YwMvdAIwPLsQK95ulRy/XS113s/RXvSfTX1iOQJYFrEO3/q4SMWu7OwTA==} peerDependencies: - typescript: '>=5.0.4' + typescript: '>=4.9.4' zod: ^3 >=3.19.1 peerDependenciesMeta: zod: optional: true dependencies: typescript: 4.9.5 + zod: 3.22.2 dev: true - /abitype@0.8.11(typescript@5.1.6): - resolution: {integrity: sha512-bM4v2dKvX08sZ9IU38IN5BKmN+ZkOSd2oI4a9f0ejHYZQYV6cDr7j+d95ga0z2XHG36Y4jzoG5Z7qDqxp7fi/A==} + /abitype@0.8.1(typescript@5.1.6)(zod@3.22.2): + resolution: {integrity: sha512-n8Di6AWb3i7HnEkBvecU6pG0a5nj5YwMvdAIwPLsQK95ulRy/XS113s/RXvSfTX1iOQJYFrEO3/q4SMWu7OwTA==} peerDependencies: - typescript: '>=5.0.4' + typescript: '>=4.9.4' zod: ^3 >=3.19.1 peerDependenciesMeta: zod: optional: true dependencies: typescript: 5.1.6 + zod: 3.22.2 dev: true - /abitype@0.8.7(typescript@4.9.5)(zod@3.21.4): + /abitype@0.8.7(typescript@4.9.5)(zod@3.22.2): resolution: {integrity: sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==} peerDependencies: typescript: '>=5.0.4' @@ -7680,37 +7720,22 @@ packages: optional: true dependencies: typescript: 4.9.5 - zod: 3.21.4 + zod: 3.22.2 dev: true - /abitype@0.8.7(typescript@5.1.6)(zod@3.21.4): - resolution: {integrity: sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3 >=3.19.1 - peerDependenciesMeta: - zod: - optional: true - dependencies: - typescript: 5.1.6 - zod: 3.21.4 - - /abitype@0.9.3(typescript@4.9.5)(zod@3.21.4): - resolution: {integrity: sha512-dz4qCQLurx97FQhnb/EIYTk/ldQ+oafEDUqC0VVIeQS1Q48/YWt/9YNfMmp9SLFqN41ktxny3c8aYxHjmFIB/w==} + /abitype@0.8.7(typescript@5.1.6)(zod@3.22.2): + resolution: {integrity: sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==} peerDependencies: typescript: '>=5.0.4' zod: ^3 >=3.19.1 peerDependenciesMeta: - typescript: - optional: true zod: optional: true dependencies: - typescript: 4.9.5 - zod: 3.21.4 - dev: true + typescript: 5.1.6 + zod: 3.22.2 - /abitype@0.9.3(typescript@5.1.6)(zod@3.21.4): + /abitype@0.9.3(typescript@5.1.6): resolution: {integrity: sha512-dz4qCQLurx97FQhnb/EIYTk/ldQ+oafEDUqC0VVIeQS1Q48/YWt/9YNfMmp9SLFqN41ktxny3c8aYxHjmFIB/w==} peerDependencies: typescript: '>=5.0.4' @@ -7722,7 +7747,6 @@ packages: optional: true dependencies: typescript: 5.1.6 - zod: 3.21.4 /abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} @@ -7744,12 +7768,6 @@ packages: queue-microtask: 1.2.3 dev: true - /abstract-leveldown@0.12.4: - resolution: {integrity: sha512-TOod9d5RDExo6STLMGa+04HGkl+TlMfbDnTyN93/ETJ9DpQ0DaYLqcMZlbXvdc4W3vVo1Qrl+WhSp8zvDsJ+jA==} - dependencies: - xtend: 3.0.0 - dev: true - /abstract-leveldown@2.6.3: resolution: {integrity: sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==} dependencies: @@ -7801,7 +7819,6 @@ packages: /accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} - requiresBuild: true dependencies: mime-types: 2.1.35 negotiator: 0.6.3 @@ -7884,15 +7901,11 @@ packages: - supports-color dev: true - /agentkeepalive@4.3.0: - resolution: {integrity: sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==} + /agentkeepalive@4.5.0: + resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} engines: {node: '>= 8.0.0'} dependencies: - debug: 4.3.4(supports-color@8.1.1) - depd: 2.0.0 humanize-ms: 1.2.1 - transitivePeerDependencies: - - supports-color /aggregate-error@3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} @@ -7928,22 +7941,18 @@ packages: uri-js: 4.4.1 dev: true - /amazon-cognito-identity-js@6.3.1: - resolution: {integrity: sha512-PxBdufgS8uZShrcIFAsRjmqNXsh/4fXOWUGQOUhKLHWWK1pcp/y+VeFF48avXIWefM8XwsT3JlN6m9J2eHt4LA==} + /ajv@8.7.0: + resolution: {integrity: sha512-fX9/Yiy9YwnP/QB/4zqBpTavtL4YuXpiHlXlkE0y2itGcO++ixFIg+NFk1l0TfHjt11EDDhHAhLVe0rFgTBaGA==} dependencies: - '@aws-crypto/sha256-js': 1.2.2 - buffer: 4.9.2 - fast-base64-decode: 1.0.0 - isomorphic-unfetch: 3.1.0 - js-cookie: 2.2.1 - transitivePeerDependencies: - - encoding + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 dev: true /amdefine@1.0.1: resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} engines: {node: '>=0.4.2'} - requiresBuild: true dev: true optional: true @@ -8018,8 +8027,8 @@ packages: engines: {node: '>=10'} dev: true - /antlr4@4.13.0: - resolution: {integrity: sha512-zooUbt+UscjnWyOrsuY/tVFL4rwrAGwOivpQmvmUDE22hy/lUA467Rc1rcixyRwcRUIXFYBwv7+dClDSHdmmew==} + /antlr4@4.13.1: + resolution: {integrity: sha512-kiXTspaRYvnIArgE97z5YVVf/cDVQABr3abFRR6mE7yesLMkgu4ujuyV/sgxafQ8wgve0DJQUJ38Z8tkgA2izA==} engines: {node: '>=16'} dev: true @@ -8126,12 +8135,11 @@ packages: /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - requiresBuild: true dev: true optional: true - /array-includes@3.1.6: - resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + /array-includes@3.1.7: + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -8156,8 +8164,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /array.prototype.findlastindex@1.2.2: - resolution: {integrity: sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==} + /array.prototype.findlast@1.2.3: + resolution: {integrity: sha512-kcBubumjciBg4JKp5KTKtI7ec7tRefPk88yjkWJwaVKYd9QfTaxcsOxoMNKd7iBr447zCfDV0z1kOF47umv42g==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -8167,8 +8175,8 @@ packages: get-intrinsic: 1.2.1 dev: true - /array.prototype.flat@1.3.1: - resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} + /array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -8187,8 +8195,8 @@ packages: es-shim-unscopables: 1.0.0 dev: true - /array.prototype.reduce@1.0.5: - resolution: {integrity: sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==} + /array.prototype.reduce@1.0.6: + resolution: {integrity: sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -8198,13 +8206,14 @@ packages: is-string: 1.0.7 dev: true - /arraybuffer.prototype.slice@1.0.1: - resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==} + /arraybuffer.prototype.slice@1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 call-bind: 1.0.2 define-properties: 1.2.0 + es-abstract: 1.22.1 get-intrinsic: 1.2.1 is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 @@ -8279,13 +8288,7 @@ packages: /async-mutex@0.2.6: resolution: {integrity: sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==} dependencies: - tslib: 2.6.1 - - /async-retry@1.3.3: - resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} - dependencies: - retry: 0.13.1 - dev: true + tslib: 2.4.1 /async@1.5.2: resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} @@ -8329,8 +8332,8 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.10 - caniuse-lite: 1.0.30001519 - fraction.js: 4.2.0 + caniuse-lite: 1.0.30001527 + fraction.js: 4.3.6 normalize-range: 0.1.2 picocolors: 1.0.0 postcss: 8.4.27 @@ -8364,6 +8367,7 @@ packages: proxy-from-env: 1.1.0 transitivePeerDependencies: - debug + dev: false /axobject-query@3.2.1: resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} @@ -8534,18 +8538,37 @@ packages: - supports-color dev: true - /babel-jest@27.5.1(@babel/core@7.22.9): + /babel-jest@27.3.1(@babel/core@7.22.15): + resolution: {integrity: sha512-SjIF8hh/ir0peae2D6S6ZKRhUy7q/DnpH7k/V6fT4Bgs/LXXUztOpX4G2tCgq8mLo5HA9mN6NmlFMeYtKmIsTQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + dependencies: + '@babel/core': 7.22.15 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/babel__core': 7.20.1 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 27.5.1(@babel/core@7.22.15) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-jest@27.5.1(@babel/core@7.22.15): resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 '@types/babel__core': 7.20.1 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 27.5.1(@babel/core@7.22.9) + babel-preset-jest: 27.5.1(@babel/core@7.22.15) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -8582,47 +8605,83 @@ packages: resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.5 + '@babel/template': 7.22.15 + '@babel/types': 7.22.15 '@types/babel__core': 7.20.1 '@types/babel__traverse': 7.20.1 dev: true - /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.9): + /babel-plugin-polyfill-corejs2@0.2.3(@babel/core@7.22.15): + resolution: {integrity: sha512-NDZ0auNRzmAfE1oDDPW2JhzIMXUk+FFe2ICejmt5T4ocKgiQx3e0VCRx9NCAidcMtL2RUZaWtXnmjTCkx0tcbA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.22.9 + '@babel/core': 7.22.15 + '@babel/helper-define-polyfill-provider': 0.2.4(@babel/core@7.22.15) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.15): resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.9 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.9) + '@babel/core': 7.22.15 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.15) semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: false + + /babel-plugin-polyfill-corejs3@0.3.0(@babel/core@7.22.15): + resolution: {integrity: sha512-JLwi9vloVdXLjzACL80j24bG6/T1gYxwowG44dg6HN/7aTPdyPbJJidf6ajoA3RPHHtW0j9KMrSOLpIZpAnPpg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-define-polyfill-provider': 0.2.4(@babel/core@7.22.15) + core-js-compat: 3.32.1 + transitivePeerDependencies: + - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.22.9): + /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.22.15): resolution: {integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.9) - core-js-compat: 3.32.0 + '@babel/core': 7.22.15 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.15) + core-js-compat: 3.32.1 + transitivePeerDependencies: + - supports-color + dev: false + + /babel-plugin-polyfill-regenerator@0.2.3(@babel/core@7.22.15): + resolution: {integrity: sha512-JVE78oRZPKFIeUqFGrSORNzQnrDwZR16oiWeGM8ZyjBn2XAT5OjP+wXx5ESuo33nUsFUEJYjtklnsKbxW5L+7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.15 + '@babel/helper-define-polyfill-provider': 0.2.4(@babel/core@7.22.15) transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.9): + /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.15): resolution: {integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.9) + '@babel/core': 7.22.15 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.15) transitivePeerDependencies: - supports-color - dev: true + dev: false /babel-plugin-syntax-async-functions@6.13.0: resolution: {integrity: sha512-4Zp4unmHgw30A1eWI5EpACji2qMocisdXhAftfhXoSV9j0Tvj6nRFE3tOmRY912E0FMRm/L5xWE7MGVT2FoLnw==} @@ -8857,24 +8916,24 @@ packages: babel-types: 6.26.0 dev: true - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.9): + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.15): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.9) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.9) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.9) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.9) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.9) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.9) + '@babel/core': 7.22.15 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.15) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.15) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.15) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.15) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.15) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.15) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.15) dev: true /babel-preset-env@1.7.0: @@ -8914,15 +8973,15 @@ packages: - supports-color dev: true - /babel-preset-jest@27.5.1(@babel/core@7.22.9): + /babel-preset-jest@27.5.1(@babel/core@7.22.15): resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 babel-plugin-jest-hoist: 27.5.1 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.9) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.15) dev: true /babel-register@6.26.0: @@ -9058,9 +9117,8 @@ packages: engines: {node: '>=14.0.0'} dev: true - /bignumber.js@9.1.1: - resolution: {integrity: sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==} - requiresBuild: true + /bignumber.js@9.1.2: + resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} dev: true optional: true @@ -9087,12 +9145,6 @@ packages: unorm: 1.6.0 dev: true - /bl@0.8.2: - resolution: {integrity: sha512-pfqikmByp+lifZCS0p6j6KreV6kNU6Apzpm2nKOk+94cZb/jvle55+JxWiByUQ0Wo/+XnDXEy5MxxKMb6r0VIw==} - dependencies: - readable-stream: 1.0.34 - dev: true - /bl@5.1.0: resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} dependencies: @@ -9103,12 +9155,15 @@ packages: /blakejs@1.2.1: resolution: {integrity: sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==} - dev: true /bluebird@3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} dev: true + /blueimp-md5@2.19.0: + resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} + dev: true + /bn.js@4.11.6: resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} dev: true @@ -9126,7 +9181,6 @@ packages: /body-parser@1.20.1: resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - requiresBuild: true dependencies: bytes: 3.1.2 content-type: 1.0.5 @@ -9148,7 +9202,6 @@ packages: /body-parser@1.20.2: resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - requiresBuild: true dependencies: bytes: 3.1.2 content-type: 1.0.5 @@ -9245,7 +9298,6 @@ packages: evp_bytestokey: 1.0.3 inherits: 2.0.4 safe-buffer: 5.2.1 - dev: true /browserify-cipher@1.0.1: resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} @@ -9264,14 +9316,6 @@ packages: safe-buffer: 5.2.1 dev: true - /browserify-fs@1.0.0: - resolution: {integrity: sha512-8LqHRPuAEKvyTX34R6tsw4bO2ro6j9DmlYBhiYWHRM26Zv2cBw1fJOU0NeUQ0RkXkPn/PFBjhA0dm4AgaBurTg==} - dependencies: - level-filesystem: 1.2.0 - level-js: 2.2.4 - levelup: 0.18.6 - dev: true - /browserify-rsa@4.1.0: resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} dependencies: @@ -9297,8 +9341,8 @@ packages: resolution: {integrity: sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==} hasBin: true dependencies: - caniuse-lite: 1.0.30001519 - electron-to-chromium: 1.4.484 + caniuse-lite: 1.0.30001527 + electron-to-chromium: 1.4.508 dev: true /browserslist@4.21.10: @@ -9306,11 +9350,10 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001519 - electron-to-chromium: 1.4.484 + caniuse-lite: 1.0.30001527 + electron-to-chromium: 1.4.508 node-releases: 2.0.13 update-browserslist-db: 1.0.11(browserslist@4.21.10) - dev: true /bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} @@ -9330,7 +9373,6 @@ packages: bs58: 4.0.1 create-hash: 1.2.0 safe-buffer: 5.2.1 - dev: true /bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} @@ -9338,6 +9380,12 @@ packages: node-int64: 0.4.0 dev: true + /btoa@1.2.1: + resolution: {integrity: sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==} + engines: {node: '>= 0.4.0'} + hasBin: true + dev: false + /buffer-alloc-unsafe@1.1.0: resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} dev: false @@ -9366,13 +9414,11 @@ packages: /buffer-to-arraybuffer@0.0.5: resolution: {integrity: sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==} - requiresBuild: true dev: true optional: true /buffer-xor@1.0.3: resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} - dev: true /buffer-xor@2.0.2: resolution: {integrity: sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==} @@ -9380,14 +9426,6 @@ packages: safe-buffer: 5.2.1 dev: true - /buffer@4.9.2: - resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - isarray: 1.0.0 - dev: true - /buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: @@ -9405,7 +9443,7 @@ packages: engines: {node: '>=6.14.2'} requiresBuild: true dependencies: - node-gyp-build: 4.6.0 + node-gyp-build: 4.6.1 /bundle-require@3.1.2(esbuild@0.15.13): resolution: {integrity: sha512-Of6l6JBAxiyQ5axFxUM6dYeP/W7X2Sozeo/4EYB9sJhL+dqL7TKjg+shwxp6jlu/6ZSERfsYtIpSJ1/x3XkAEA==} @@ -9466,7 +9504,7 @@ packages: promise-inflight: 1.0.1 rimraf: 3.0.2 ssri: 8.0.1 - tar: 6.1.15 + tar: 6.2.0 unique-filename: 1.1.1 transitivePeerDependencies: - bluebird @@ -9490,14 +9528,12 @@ packages: /cacheable-lookup@5.0.4: resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} engines: {node: '>=10.6.0'} - requiresBuild: true dev: true optional: true /cacheable-request@6.1.0: resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} engines: {node: '>=8'} - requiresBuild: true dependencies: clone-response: 1.0.3 get-stream: 5.2.0 @@ -9512,7 +9548,6 @@ packages: /cacheable-request@7.0.4: resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} engines: {node: '>=8'} - requiresBuild: true dependencies: clone-response: 1.0.3 get-stream: 5.2.0 @@ -9565,7 +9600,7 @@ packages: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 - tslib: 2.6.1 + tslib: 2.4.1 dev: true /camelcase-css@2.0.1: @@ -9606,14 +9641,14 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001519: - resolution: {integrity: sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==} + /caniuse-lite@1.0.30001527: + resolution: {integrity: sha512-YkJi7RwPgWtXVSgK4lG9AHH57nSzvvOp9MesgXmw4Q7n0C3H04L0foHqfxcmSAm5AcWb8dW9AYj2tR7/5GnddQ==} /capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} dependencies: no-case: 3.0.4 - tslib: 2.6.1 + tslib: 2.4.1 upper-case-first: 2.0.2 dev: true @@ -9662,6 +9697,19 @@ packages: type-detect: 4.0.8 dev: true + /chai@4.3.8: + resolution: {integrity: sha512-vX4YvVVtxlfSZ2VecZgFUTU5qPCYsobVI2O9FmwEXBhDigYGQA6jRXCycIs1yJnnWbZ6/+a2zNIF5DfVCcJBFQ==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.2 + deep-eql: 4.1.3 + get-func-name: 2.0.0 + loupe: 2.3.6 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + /chalk@1.1.3: resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} engines: {node: '>=0.10.0'} @@ -9689,7 +9737,6 @@ packages: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 - dev: true /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -9718,7 +9765,7 @@ packages: path-case: 3.0.4 sentence-case: 3.0.4 snake-case: 3.0.4 - tslib: 2.6.1 + tslib: 2.4.1 dev: true /char-regex@1.0.2: @@ -9783,12 +9830,11 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true /chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - requiresBuild: true dev: true optional: true @@ -9815,7 +9861,6 @@ packages: resolution: {integrity: sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==} engines: {node: '>=4.0.0', npm: '>=3.0.0'} deprecated: This module has been superseded by the multiformats module - requiresBuild: true dependencies: buffer: 5.7.1 class-is: 1.1.0 @@ -9830,7 +9875,6 @@ packages: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 - dev: true /cjs-module-lexer@1.2.3: resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} @@ -9838,7 +9882,6 @@ packages: /class-is@1.1.0: resolution: {integrity: sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==} - requiresBuild: true dev: true optional: true @@ -9861,7 +9904,7 @@ packages: catering: 2.1.1 module-error: 1.0.2 napi-macros: 2.2.2 - node-gyp-build: 4.6.0 + node-gyp-build: 4.6.1 dev: true /clean-css@5.3.2: @@ -9971,16 +10014,11 @@ packages: /clone-response@1.0.3: resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} - requiresBuild: true dependencies: mimic-response: 1.0.1 dev: true optional: true - /clone@0.1.19: - resolution: {integrity: sha512-IO78I0y6JcSpEPHzK4obKdsL7E7oLdRVDVOLwr2Hkbjsb+Eoz0dxW6tef0WizoKu0gLC4oZSZuEF4U2K6w1WQw==} - dev: true - /clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} @@ -9989,7 +10027,6 @@ packages: /clone@2.1.2: resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} engines: {node: '>=0.8'} - dev: true /clsx@1.2.1: resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} @@ -10000,13 +10037,17 @@ packages: engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: true + /code-block-writer@12.0.0: + resolution: {integrity: sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==} + dev: true + /code-point-at@1.1.0: resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} engines: {node: '>=0.10.0'} dev: true - /code-red@1.0.3: - resolution: {integrity: sha512-kVwJELqiILQyG5aeuyKFbdsI1fmQy1Cmf7dQ8eGmVuJoaRVdwey7WaMknr2ZFeVSYSKT0rExsa8EGw0aoI/1QQ==} + /code-red@1.0.4: + resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 '@types/estree': 1.0.1 @@ -10106,8 +10147,8 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} - /compare-versions@6.0.0: - resolution: {integrity: sha512-s2MzYxfRsE9f/ow8hjn7ysa7pod1xhHdQMsgiJtKx6XSNf4x2N1KG4fjrkUmXcP/e9Y2ZX4zB6sHIso0Lm6evQ==} + /compare-versions@6.1.0: + resolution: {integrity: sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==} dev: true /component-emitter@1.3.0: @@ -10132,6 +10173,20 @@ packages: typedarray: 0.0.6 dev: true + /concordance@5.0.4: + resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==} + engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'} + dependencies: + date-time: 3.1.0 + esutils: 2.0.3 + fast-diff: 1.3.0 + js-string-escape: 1.0.1 + lodash: 4.17.21 + md5-hex: 3.0.1 + semver: 7.5.4 + well-known-symbols: 2.0.0 + dev: true + /console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: true @@ -10310,14 +10365,13 @@ packages: resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} dependencies: no-case: 3.0.4 - tslib: 2.6.1 + tslib: 2.4.1 upper-case: 2.0.2 dev: true /content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} - requiresBuild: true dependencies: safe-buffer: 5.2.1 dev: true @@ -10325,7 +10379,6 @@ packages: /content-hash@2.5.2: resolution: {integrity: sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==} - requiresBuild: true dependencies: cids: 0.7.5 multicodec: 0.5.7 @@ -10336,17 +10389,14 @@ packages: /content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - requiresBuild: true dev: true optional: true /convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - dev: true /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - requiresBuild: true dev: true optional: true @@ -10362,7 +10412,6 @@ packages: /cookiejar@2.1.4: resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} - requiresBuild: true dev: true optional: true @@ -10376,14 +10425,13 @@ packages: dependencies: toggle-selection: 1.0.6 - /core-js-compat@3.32.0: - resolution: {integrity: sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==} + /core-js-compat@3.32.1: + resolution: {integrity: sha512-GSvKDv4wE0bPnQtjklV101juQ85g6H3rm5PDP20mqlS5j0kXF3pP97YvAu5hl+uFHqMictp3b2VxOHljWMAtuA==} dependencies: browserslist: 4.21.10 - dev: true - /core-js-pure@3.32.0: - resolution: {integrity: sha512-qsev1H+dTNYpDUEURRuOXMvpdtAnNEvQWS/FMJ2Vb5AY8ZP4rAPQldkE27joykZPJTe0+IVgHZYh1P5Xu1/i1g==} + /core-js-pure@3.32.1: + resolution: {integrity: sha512-f52QZwkFVDPf7UEQZGHKx6NYxsxmVGJe5DIvbzOdRMJlmT6yv0KDjR8rmy3ngr/t5wU54c7Sp/qIJH0ppbhVpQ==} requiresBuild: true dev: true @@ -10404,7 +10452,6 @@ packages: /cors@2.8.5: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} engines: {node: '>= 0.10'} - requiresBuild: true dependencies: object-assign: 4.1.1 vary: 1.1.2 @@ -10433,14 +10480,20 @@ packages: parse-json: 4.0.0 dev: true - /cosmiconfig@8.2.0: - resolution: {integrity: sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==} + /cosmiconfig@8.3.4(typescript@4.9.5): + resolution: {integrity: sha512-SF+2P8+o/PTV05rgsAjDzL4OFdVXAulSfC/L19VaeVT7+tpOOSscCt2QLxDZ+CLxF2WOiq6y1K5asvs8qUJT/Q==} engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 + typescript: 4.9.5 dev: true /crc-32@1.2.2: @@ -10464,7 +10517,6 @@ packages: md5.js: 1.3.5 ripemd160: 2.0.2 sha.js: 2.4.11 - dev: true /create-hmac@1.1.7: resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} @@ -10475,7 +10527,6 @@ packages: ripemd160: 2.0.2 safe-buffer: 5.2.1 sha.js: 2.4.11 - dev: true /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} @@ -10484,7 +10535,7 @@ packages: /cross-fetch@2.2.6: resolution: {integrity: sha512-9JZz+vXCmfKUZ68zAptS7k4Nu8e2qcibe7WVZYps7sAgk5R8GYTc+T1WR0v1rlP9HxgARmOX1UTIJZFytajpNA==} dependencies: - node-fetch: 2.6.12 + node-fetch: 2.7.0 whatwg-fetch: 2.0.4 transitivePeerDependencies: - encoding @@ -10493,7 +10544,7 @@ packages: /cross-fetch@3.1.8: resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} dependencies: - node-fetch: 2.6.12 + node-fetch: 2.7.0 transitivePeerDependencies: - encoding @@ -10555,12 +10606,12 @@ packages: peerDependencies: webpack: ^5.0.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.27) - postcss: 8.4.27 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.27) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.27) - postcss-modules-scope: 3.0.0(postcss@8.4.27) - postcss-modules-values: 4.0.0(postcss@8.4.27) + icss-utils: 5.1.0(postcss@8.4.29) + postcss: 8.4.29 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.29) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.29) + postcss-modules-scope: 3.0.0(postcss@8.4.29) + postcss-modules-values: 4.0.0(postcss@8.4.29) postcss-value-parser: 4.2.0 semver: 7.5.4 webpack: 5.88.2 @@ -10626,26 +10677,26 @@ packages: /csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} - /cytoscape-cose-bilkent@4.1.0(cytoscape@3.25.0): + /cytoscape-cose-bilkent@4.1.0(cytoscape@3.26.0): resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} peerDependencies: cytoscape: ^3.2.0 dependencies: cose-base: 1.0.3 - cytoscape: 3.25.0 + cytoscape: 3.26.0 dev: false - /cytoscape-fcose@2.2.0(cytoscape@3.25.0): + /cytoscape-fcose@2.2.0(cytoscape@3.26.0): resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} peerDependencies: cytoscape: ^3.2.0 dependencies: cose-base: 2.2.0 - cytoscape: 3.25.0 + cytoscape: 3.26.0 dev: false - /cytoscape@3.25.0: - resolution: {integrity: sha512-7MW3Iz57mCUo6JQCho6CmPBCbTlJr7LzyEtIkutG255HLVd4XuBg2I9BkTZLI/e4HoaOB/BiAzXuQybQ95+r9Q==} + /cytoscape@3.26.0: + resolution: {integrity: sha512-IV+crL+KBcrCnVVUCZW+zRRRFUZQcrtdOPXki+o4CFUWLdAEYvuZLcBSJC9EBK++suamERKzeY7roq2hdovV3w==} engines: {node: '>=0.10'} dependencies: heap: 0.2.7 @@ -10955,8 +11006,8 @@ packages: - ts-node dev: true - /daisyui@3.5.1: - resolution: {integrity: sha512-7GG+9QXnr2qQMCqnyFU8TxpaOYJigXiEtmzoivmiiZZHvxqIwYdaMAkgivqTVxEgy3Hot3m1suzZjmt1zUrvmA==} + /daisyui@3.5.0: + resolution: {integrity: sha512-wSaeXwaYdMv4yURv9wj7kKQQN9Jyumfh/skIpZfCNkCb2jLf/so+iNKSM8l4rDN0TRvB5OccMlAvsf2UAtk2gg==} engines: {node: '>=16.9.0'} dependencies: colord: 2.9.3 @@ -10998,6 +11049,13 @@ packages: whatwg-url: 12.0.1 dev: true + /date-time@3.1.0: + resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==} + engines: {node: '>=6'} + dependencies: + time-zone: 1.0.0 + dev: true + /dayjs@1.11.9: resolution: {integrity: sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==} dev: false @@ -11030,7 +11088,7 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.3 + ms: 2.1.1 supports-color: 6.0.0 dev: true @@ -11091,7 +11149,6 @@ packages: /decompress-response@3.3.0: resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} engines: {node: '>=4'} - requiresBuild: true dependencies: mimic-response: 1.0.1 dev: true @@ -11100,7 +11157,6 @@ packages: /decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} - requiresBuild: true dependencies: mimic-response: 3.1.0 dev: true @@ -11144,23 +11200,15 @@ packages: /defer-to-connect@1.1.3: resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} - requiresBuild: true dev: true optional: true /defer-to-connect@2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} - requiresBuild: true dev: true optional: true - /deferred-leveldown@0.2.0: - resolution: {integrity: sha512-+WCbb4+ez/SZ77Sdy1iadagFiVzMB89IKOBhglgnUkVxOxRWmmFsz8UDSNWh4Rhq+3wr/vMFlYj+rdEwWUDdng==} - dependencies: - abstract-leveldown: 0.12.4 - dev: true - /deferred-leveldown@1.2.2: resolution: {integrity: sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==} dependencies: @@ -11249,6 +11297,7 @@ packages: /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + dev: true /dependency-graph@0.9.0: resolution: {integrity: sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w==} @@ -11269,7 +11318,6 @@ packages: /destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - requiresBuild: true dev: true optional: true @@ -11327,8 +11375,8 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: true - /diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true @@ -11407,14 +11455,6 @@ packages: entities: 2.2.0 dev: true - /dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 - dev: true - /dom-walk@0.1.2: resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} dev: true @@ -11444,13 +11484,6 @@ packages: domelementtype: 2.3.0 dev: true - /domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - dependencies: - domelementtype: 2.3.0 - dev: true - /dompurify@3.0.5: resolution: {integrity: sha512-F9e6wPGtY+8KNMRAVfxeCOHU0/NPWMSENNq4pQctuXRqqdEPW7q3CrLbR5Nse044WwacyjHGOMlvNsBe1y6z9A==} dev: false @@ -11463,19 +11496,11 @@ packages: domhandler: 4.3.1 dev: true - /domutils@3.1.0: - resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - dev: true - /dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 - tslib: 2.6.1 + tslib: 2.4.1 dev: true /dotenv-expand@10.0.0: @@ -11502,7 +11527,6 @@ packages: /duplexer3@0.1.5: resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} - requiresBuild: true dev: true optional: true @@ -11523,24 +11547,21 @@ packages: /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - requiresBuild: true dev: true optional: true - /eip1193-provider@1.0.1: + /eip1193-provider@1.0.1(debug@4.3.4): resolution: {integrity: sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. dependencies: - '@json-rpc-tools/provider': 1.7.6 + '@json-rpc-tools/provider': 1.7.6(debug@4.3.4) transitivePeerDependencies: - bufferutil - debug - utf-8-validate - dev: false - /electron-to-chromium@1.4.484: - resolution: {integrity: sha512-nO3ZEomTK2PO/3TUXgEx0A97xZTpKVf4p427lABHuCpT1IQ2N+njVh29DkQkCk6Q4m2wjU+faK4xAcfFndwjvw==} - dev: true + /electron-to-chromium@1.4.508: + resolution: {integrity: sha512-FFa8QKjQK/A5QuFr2167myhMesGrhlOBD+3cYNxO9/S4XzHEXesyTD/1/xF644gC8buFPz3ca6G1LOQD0tZrrg==} /elkjs@0.8.2: resolution: {integrity: sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==} @@ -11579,7 +11600,6 @@ packages: /encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} - requiresBuild: true dev: true optional: true @@ -11666,12 +11686,12 @@ packages: engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.1 + arraybuffer.prototype.slice: 1.0.2 available-typed-arrays: 1.0.5 call-bind: 1.0.2 es-set-tostringtag: 2.0.1 es-to-primitive: 1.2.1 - function.prototype.name: 1.1.5 + function.prototype.name: 1.1.6 get-intrinsic: 1.2.1 get-symbol-description: 1.0.0 globalthis: 1.0.3 @@ -11693,11 +11713,11 @@ packages: object-keys: 1.1.1 object.assign: 4.1.4 regexp.prototype.flags: 1.5.0 - safe-array-concat: 1.0.0 + safe-array-concat: 1.0.1 safe-regex-test: 1.0.0 string.prototype.trim: 1.2.7 string.prototype.trimend: 1.0.6 - string.prototype.trimstart: 1.0.6 + string.prototype.trimstart: 1.0.7 typed-array-buffer: 1.0.0 typed-array-byte-length: 1.0.0 typed-array-byte-offset: 1.0.0 @@ -11781,6 +11801,15 @@ packages: es6-symbol: 3.1.3 dev: false + /esbuild-android-64@0.14.54: + resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /esbuild-android-64@0.15.13: resolution: {integrity: sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g==} engines: {node: '>=12'} @@ -11790,10 +11819,10 @@ packages: dev: true optional: true - /esbuild-android-64@0.15.18: - resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} + /esbuild-android-arm64@0.14.54: + resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==} engines: {node: '>=12'} - cpu: [x64] + cpu: [arm64] os: [android] requiresBuild: true dev: true @@ -11808,11 +11837,11 @@ packages: dev: true optional: true - /esbuild-android-arm64@0.15.18: - resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} + /esbuild-darwin-64@0.14.54: + resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==} engines: {node: '>=12'} - cpu: [arm64] - os: [android] + cpu: [x64] + os: [darwin] requiresBuild: true dev: true optional: true @@ -11826,10 +11855,10 @@ packages: dev: true optional: true - /esbuild-darwin-64@0.15.18: - resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} + /esbuild-darwin-arm64@0.14.54: + resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==} engines: {node: '>=12'} - cpu: [x64] + cpu: [arm64] os: [darwin] requiresBuild: true dev: true @@ -11844,11 +11873,11 @@ packages: dev: true optional: true - /esbuild-darwin-arm64@0.15.18: - resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} + /esbuild-freebsd-64@0.14.54: + resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==} engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] + cpu: [x64] + os: [freebsd] requiresBuild: true dev: true optional: true @@ -11862,10 +11891,10 @@ packages: dev: true optional: true - /esbuild-freebsd-64@0.15.18: - resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} + /esbuild-freebsd-arm64@0.14.54: + resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==} engines: {node: '>=12'} - cpu: [x64] + cpu: [arm64] os: [freebsd] requiresBuild: true dev: true @@ -11880,11 +11909,11 @@ packages: dev: true optional: true - /esbuild-freebsd-arm64@0.15.18: - resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} + /esbuild-linux-32@0.14.54: + resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==} engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] + cpu: [ia32] + os: [linux] requiresBuild: true dev: true optional: true @@ -11898,10 +11927,10 @@ packages: dev: true optional: true - /esbuild-linux-32@0.15.18: - resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} + /esbuild-linux-64@0.14.54: + resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==} engines: {node: '>=12'} - cpu: [ia32] + cpu: [x64] os: [linux] requiresBuild: true dev: true @@ -11916,10 +11945,10 @@ packages: dev: true optional: true - /esbuild-linux-64@0.15.18: - resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} + /esbuild-linux-arm64@0.14.54: + resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==} engines: {node: '>=12'} - cpu: [x64] + cpu: [arm64] os: [linux] requiresBuild: true dev: true @@ -11934,10 +11963,10 @@ packages: dev: true optional: true - /esbuild-linux-arm64@0.15.18: - resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} + /esbuild-linux-arm@0.14.54: + resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==} engines: {node: '>=12'} - cpu: [arm64] + cpu: [arm] os: [linux] requiresBuild: true dev: true @@ -11952,10 +11981,10 @@ packages: dev: true optional: true - /esbuild-linux-arm@0.15.18: - resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} + /esbuild-linux-mips64le@0.14.54: + resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==} engines: {node: '>=12'} - cpu: [arm] + cpu: [mips64el] os: [linux] requiresBuild: true dev: true @@ -11970,10 +11999,10 @@ packages: dev: true optional: true - /esbuild-linux-mips64le@0.15.18: - resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} + /esbuild-linux-ppc64le@0.14.54: + resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==} engines: {node: '>=12'} - cpu: [mips64el] + cpu: [ppc64] os: [linux] requiresBuild: true dev: true @@ -11988,10 +12017,10 @@ packages: dev: true optional: true - /esbuild-linux-ppc64le@0.15.18: - resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} + /esbuild-linux-riscv64@0.14.54: + resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==} engines: {node: '>=12'} - cpu: [ppc64] + cpu: [riscv64] os: [linux] requiresBuild: true dev: true @@ -12006,10 +12035,10 @@ packages: dev: true optional: true - /esbuild-linux-riscv64@0.15.18: - resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} + /esbuild-linux-s390x@0.14.54: + resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==} engines: {node: '>=12'} - cpu: [riscv64] + cpu: [s390x] os: [linux] requiresBuild: true dev: true @@ -12024,11 +12053,11 @@ packages: dev: true optional: true - /esbuild-linux-s390x@0.15.18: - resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} + /esbuild-netbsd-64@0.14.54: + resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==} engines: {node: '>=12'} - cpu: [s390x] - os: [linux] + cpu: [x64] + os: [netbsd] requiresBuild: true dev: true optional: true @@ -12042,11 +12071,11 @@ packages: dev: true optional: true - /esbuild-netbsd-64@0.15.18: - resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} + /esbuild-openbsd-64@0.14.54: + resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==} engines: {node: '>=12'} cpu: [x64] - os: [netbsd] + os: [openbsd] requiresBuild: true dev: true optional: true @@ -12060,11 +12089,11 @@ packages: dev: true optional: true - /esbuild-openbsd-64@0.15.18: - resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} + /esbuild-sunos-64@0.14.54: + resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==} engines: {node: '>=12'} cpu: [x64] - os: [openbsd] + os: [sunos] requiresBuild: true dev: true optional: true @@ -12078,11 +12107,11 @@ packages: dev: true optional: true - /esbuild-sunos-64@0.15.18: - resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} + /esbuild-windows-32@0.14.54: + resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==} engines: {node: '>=12'} - cpu: [x64] - os: [sunos] + cpu: [ia32] + os: [win32] requiresBuild: true dev: true optional: true @@ -12096,10 +12125,10 @@ packages: dev: true optional: true - /esbuild-windows-32@0.15.18: - resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} + /esbuild-windows-64@0.14.54: + resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==} engines: {node: '>=12'} - cpu: [ia32] + cpu: [x64] os: [win32] requiresBuild: true dev: true @@ -12114,10 +12143,10 @@ packages: dev: true optional: true - /esbuild-windows-64@0.15.18: - resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} + /esbuild-windows-arm64@0.14.54: + resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==} engines: {node: '>=12'} - cpu: [x64] + cpu: [arm64] os: [win32] requiresBuild: true dev: true @@ -12132,14 +12161,34 @@ packages: dev: true optional: true - /esbuild-windows-arm64@0.15.18: - resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} + /esbuild@0.14.54: + resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==} engines: {node: '>=12'} - cpu: [arm64] - os: [win32] + hasBin: true requiresBuild: true + optionalDependencies: + '@esbuild/linux-loong64': 0.14.54 + esbuild-android-64: 0.14.54 + esbuild-android-arm64: 0.14.54 + esbuild-darwin-64: 0.14.54 + esbuild-darwin-arm64: 0.14.54 + esbuild-freebsd-64: 0.14.54 + esbuild-freebsd-arm64: 0.14.54 + esbuild-linux-32: 0.14.54 + esbuild-linux-64: 0.14.54 + esbuild-linux-arm: 0.14.54 + esbuild-linux-arm64: 0.14.54 + esbuild-linux-mips64le: 0.14.54 + esbuild-linux-ppc64le: 0.14.54 + esbuild-linux-riscv64: 0.14.54 + esbuild-linux-s390x: 0.14.54 + esbuild-netbsd-64: 0.14.54 + esbuild-openbsd-64: 0.14.54 + esbuild-sunos-64: 0.14.54 + esbuild-windows-32: 0.14.54 + esbuild-windows-64: 0.14.54 + esbuild-windows-arm64: 0.14.54 dev: true - optional: true /esbuild@0.15.13: resolution: {integrity: sha512-Cu3SC84oyzzhrK/YyN4iEVy2jZu5t2fz66HEOShHURcjSkOSAVL8C/gfUT+lDJxkVHpg8GZ10DD0rMHRPqMFaQ==} @@ -12171,74 +12220,42 @@ packages: esbuild-windows-arm64: 0.15.13 dev: true - /esbuild@0.15.18: - resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.15.18 - '@esbuild/linux-loong64': 0.15.18 - esbuild-android-64: 0.15.18 - esbuild-android-arm64: 0.15.18 - esbuild-darwin-64: 0.15.18 - esbuild-darwin-arm64: 0.15.18 - esbuild-freebsd-64: 0.15.18 - esbuild-freebsd-arm64: 0.15.18 - esbuild-linux-32: 0.15.18 - esbuild-linux-64: 0.15.18 - esbuild-linux-arm: 0.15.18 - esbuild-linux-arm64: 0.15.18 - esbuild-linux-mips64le: 0.15.18 - esbuild-linux-ppc64le: 0.15.18 - esbuild-linux-riscv64: 0.15.18 - esbuild-linux-s390x: 0.15.18 - esbuild-netbsd-64: 0.15.18 - esbuild-openbsd-64: 0.15.18 - esbuild-sunos-64: 0.15.18 - esbuild-windows-32: 0.15.18 - esbuild-windows-64: 0.15.18 - esbuild-windows-arm64: 0.15.18 - dev: true - - /esbuild@0.18.17: - resolution: {integrity: sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==} + /esbuild@0.17.19: + resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.18.17 - '@esbuild/android-arm64': 0.18.17 - '@esbuild/android-x64': 0.18.17 - '@esbuild/darwin-arm64': 0.18.17 - '@esbuild/darwin-x64': 0.18.17 - '@esbuild/freebsd-arm64': 0.18.17 - '@esbuild/freebsd-x64': 0.18.17 - '@esbuild/linux-arm': 0.18.17 - '@esbuild/linux-arm64': 0.18.17 - '@esbuild/linux-ia32': 0.18.17 - '@esbuild/linux-loong64': 0.18.17 - '@esbuild/linux-mips64el': 0.18.17 - '@esbuild/linux-ppc64': 0.18.17 - '@esbuild/linux-riscv64': 0.18.17 - '@esbuild/linux-s390x': 0.18.17 - '@esbuild/linux-x64': 0.18.17 - '@esbuild/netbsd-x64': 0.18.17 - '@esbuild/openbsd-x64': 0.18.17 - '@esbuild/sunos-x64': 0.18.17 - '@esbuild/win32-arm64': 0.18.17 - '@esbuild/win32-ia32': 0.18.17 - '@esbuild/win32-x64': 0.18.17 + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 dev: true /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} - dev: true /escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - requiresBuild: true dev: true optional: true @@ -12286,8 +12303,8 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-prettier@8.10.0(eslint@7.32.0): - resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} + /eslint-config-prettier@8.8.0(eslint@7.32.0): + resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} hasBin: true peerDependencies: eslint: '>=7.0.0' @@ -12295,16 +12312,16 @@ packages: eslint: 7.32.0 dev: true - /eslint-config-prettier@8.10.0(eslint@8.46.0): - resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} + /eslint-config-prettier@8.8.0(eslint@8.28.0): + resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.46.0 + eslint: 8.28.0 dev: true - /eslint-config-standard@16.0.3(eslint-plugin-import@2.28.0)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@6.1.1)(eslint@7.32.0): + /eslint-config-standard@16.0.3(eslint-plugin-import@2.27.5)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@6.1.1)(eslint@7.32.0): resolution: {integrity: sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==} peerDependencies: eslint: ^7.12.1 @@ -12313,22 +12330,22 @@ packages: eslint-plugin-promise: ^4.2.1 || ^5.0.0 dependencies: eslint: 7.32.0 - eslint-plugin-import: 2.28.0(@typescript-eslint/parser@4.33.0)(eslint@7.32.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@4.33.0)(eslint@7.32.0) eslint-plugin-node: 11.1.0(eslint@7.32.0) eslint-plugin-promise: 6.1.1(eslint@7.32.0) dev: true - /eslint-import-resolver-node@0.3.7: - resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 - is-core-module: 2.12.1 - resolve: 1.22.3 + is-core-module: 2.13.0 + resolve: 1.22.4 transitivePeerDependencies: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@4.33.0)(eslint-import-resolver-node@0.3.7)(eslint@7.32.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@4.33.0)(eslint-import-resolver-node@0.3.9)(eslint@7.32.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -12352,7 +12369,7 @@ packages: '@typescript-eslint/parser': 4.33.0(eslint@7.32.0)(typescript@4.9.5) debug: 3.2.7 eslint: 7.32.0 - eslint-import-resolver-node: 0.3.7 + eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true @@ -12368,8 +12385,8 @@ packages: regexpp: 3.2.0 dev: true - /eslint-plugin-import@2.28.0(@typescript-eslint/parser@4.33.0)(eslint@7.32.0): - resolution: {integrity: sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==} + /eslint-plugin-import@2.27.5(@typescript-eslint/parser@4.33.0)(eslint@7.32.0): + resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -12379,23 +12396,20 @@ packages: optional: true dependencies: '@typescript-eslint/parser': 4.33.0(eslint@7.32.0)(typescript@4.9.5) - array-includes: 3.1.6 - array.prototype.findlastindex: 1.2.2 - array.prototype.flat: 1.3.1 + array-includes: 3.1.7 + array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.1 debug: 3.2.7 doctrine: 2.1.0 eslint: 7.32.0 - eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@4.33.0)(eslint-import-resolver-node@0.3.7)(eslint@7.32.0) + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@4.33.0)(eslint-import-resolver-node@0.3.9)(eslint@7.32.0) has: 1.0.3 - is-core-module: 2.12.1 + is-core-module: 2.13.0 is-glob: 4.0.3 minimatch: 3.1.2 - object.fromentries: 2.0.6 - object.groupby: 1.0.0 - object.values: 1.1.6 - resolve: 1.22.3 + object.values: 1.1.7 + resolve: 1.22.4 semver: 6.3.1 tsconfig-paths: 3.14.2 transitivePeerDependencies: @@ -12404,11 +12418,11 @@ packages: - supports-color dev: true - /eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@5.16.0)(eslint@7.32.0)(jest@27.5.1)(typescript@4.9.5): - resolution: {integrity: sha512-sRLlSCpICzWuje66Gl9zvdF6mwD5X86I4u55hJyFBsxYOsBCmT5+kSUjf+fkFWVMMgpzNEupjW8WzUqi83hJAQ==} + /eslint-plugin-jest@27.2.1(@typescript-eslint/eslint-plugin@5.16.0)(eslint@7.32.0)(jest@27.5.1)(typescript@4.9.5): + resolution: {integrity: sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 + '@typescript-eslint/eslint-plugin': ^5.0.0 eslint: ^7.0.0 || ^8.0.0 jest: '*' peerDependenciesMeta: @@ -12417,7 +12431,7 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.16.0(@typescript-eslint/parser@5.62.0)(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/eslint-plugin': 5.16.0(@typescript-eslint/parser@5.45.0)(eslint@7.32.0)(typescript@4.9.5) '@typescript-eslint/utils': 5.62.0(eslint@7.32.0)(typescript@4.9.5) eslint: 7.32.0 jest: 27.5.1 @@ -12426,11 +12440,11 @@ packages: - typescript dev: true - /eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@6.6.0)(eslint@7.32.0)(jest@27.5.1)(typescript@4.9.5): - resolution: {integrity: sha512-sRLlSCpICzWuje66Gl9zvdF6mwD5X86I4u55hJyFBsxYOsBCmT5+kSUjf+fkFWVMMgpzNEupjW8WzUqi83hJAQ==} + /eslint-plugin-jest@27.2.1(@typescript-eslint/eslint-plugin@6.6.0)(eslint@7.32.0)(jest@27.5.1)(typescript@4.9.5): + resolution: {integrity: sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 + '@typescript-eslint/eslint-plugin': ^5.0.0 eslint: ^7.0.0 || ^8.0.0 jest: '*' peerDependenciesMeta: @@ -12439,7 +12453,7 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.6.0(@typescript-eslint/parser@5.62.0)(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/eslint-plugin': 6.6.0(@typescript-eslint/parser@5.45.0)(eslint@7.32.0)(typescript@4.9.5) '@typescript-eslint/utils': 5.62.0(eslint@7.32.0)(typescript@4.9.5) eslint: 7.32.0 jest: 27.5.1 @@ -12459,11 +12473,11 @@ packages: eslint-utils: 2.1.0 ignore: 5.2.4 minimatch: 3.1.2 - resolve: 1.22.2 + resolve: 1.22.4 semver: 6.3.1 dev: true - /eslint-plugin-prettier@3.4.1(eslint-config-prettier@8.10.0)(eslint@7.32.0)(prettier@2.8.8): + /eslint-plugin-prettier@3.4.1(eslint-config-prettier@8.8.0)(eslint@7.32.0)(prettier@2.8.8): resolution: {integrity: sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==} engines: {node: '>=6.0.0'} peerDependencies: @@ -12475,7 +12489,7 @@ packages: optional: true dependencies: eslint: 7.32.0 - eslint-config-prettier: 8.10.0(eslint@7.32.0) + eslint-config-prettier: 8.8.0(eslint@7.32.0) prettier: 2.8.8 prettier-linter-helpers: 1.0.0 dev: true @@ -12497,47 +12511,45 @@ packages: eslint: 7.32.0 dev: true - /eslint-plugin-simple-import-sort@10.0.0(eslint@8.46.0): + /eslint-plugin-simple-import-sort@10.0.0(eslint@8.28.0): resolution: {integrity: sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==} peerDependencies: eslint: '>=5.0.0' dependencies: - eslint: 8.46.0 + eslint: 8.28.0 dev: true - /eslint-plugin-svelte3@4.0.0(eslint@7.32.0)(svelte@3.59.2): + /eslint-plugin-svelte3@4.0.0(eslint@7.32.0)(svelte@3.53.1): resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==} peerDependencies: eslint: '>=8.0.0' svelte: ^3.2.0 dependencies: eslint: 7.32.0 - svelte: 3.59.2 + svelte: 3.53.1 dev: true - /eslint-plugin-svelte@2.32.4(eslint@8.46.0)(svelte@4.1.2): - resolution: {integrity: sha512-VJ12i2Iogug1jvhwxSlognnfGj76P5gks/V4pUD4SCSVQOp14u47MNP0zAG8AQR3LT0Fi1iUvIFnY4l9z5Rwbg==} + /eslint-plugin-svelte@2.26.0(eslint@8.28.0)(svelte@4.1.0): + resolution: {integrity: sha512-EMcHDOMfMvjxoB5aCGASwDhVHOb/yy0Syer5aPm4GDQpjbPMceacs7LdSDL4xsCIHuOGPdOnc0YIjGpmmuKOlQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0-0 - svelte: ^3.37.0 || ^4.0.0 + svelte: ^3.37.0 peerDependenciesMeta: svelte: optional: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.28.0) '@jridgewell/sourcemap-codec': 1.4.15 debug: 4.3.4(supports-color@8.1.1) - eslint: 8.46.0 + eslint: 8.28.0 esutils: 2.0.3 - known-css-properties: 0.28.0 + known-css-properties: 0.27.0 postcss: 8.4.27 postcss-load-config: 3.1.4(postcss@8.4.27) postcss-safe-parser: 6.0.0(postcss@8.4.27) - postcss-selector-parser: 6.0.13 - semver: 7.5.4 - svelte: 4.1.2 - svelte-eslint-parser: 0.32.2(svelte@4.1.2) + svelte: 4.1.0 + svelte-eslint-parser: 0.26.1(svelte@4.1.0) transitivePeerDependencies: - supports-color - ts-node @@ -12563,16 +12575,26 @@ packages: resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} engines: {node: '>=6'} dependencies: - eslint-visitor-keys: 1.3.0 + eslint-visitor-keys: 1.3.0 + dev: true + + /eslint-utils@3.0.0(eslint@7.32.0): + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint: 7.32.0 + eslint-visitor-keys: 2.1.0 dev: true - /eslint-utils@3.0.0(eslint@7.32.0): + /eslint-utils@3.0.0(eslint@8.28.0): resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 7.32.0 + eslint: 8.28.0 eslint-visitor-keys: 2.1.0 dev: true @@ -12586,8 +12608,8 @@ packages: engines: {node: '>=10'} dev: true - /eslint-visitor-keys@3.4.2: - resolution: {integrity: sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==} + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -12616,7 +12638,7 @@ packages: file-entry-cache: 6.0.1 functional-red-black-tree: 1.0.1 glob-parent: 5.1.2 - globals: 13.20.0 + globals: 13.21.0 ignore: 4.0.6 import-fresh: 3.3.0 imurmurhash: 0.1.4 @@ -12635,21 +12657,69 @@ packages: strip-json-comments: 3.1.1 table: 6.8.1 text-table: 0.2.0 - v8-compile-cache: 2.3.0 + v8-compile-cache: 2.4.0 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint@8.28.0: + resolution: {integrity: sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint/eslintrc': 1.4.1 + '@humanwhocodes/config-array': 0.11.11 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4(supports-color@8.1.1) + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-utils: 3.0.0(eslint@8.28.0) + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.21.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.4 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-sdsl: 4.4.2 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + regexpp: 3.2.0 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 transitivePeerDependencies: - supports-color dev: true - /eslint@8.46.0: - resolution: {integrity: sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==} + /eslint@8.48.0: + resolution: {integrity: sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0) - '@eslint-community/regexpp': 4.6.2 - '@eslint/eslintrc': 2.1.1 - '@eslint/js': 8.46.0 - '@humanwhocodes/config-array': 0.11.10 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0) + '@eslint-community/regexpp': 4.8.0 + '@eslint/eslintrc': 2.1.2 + '@eslint/js': 8.48.0 + '@humanwhocodes/config-array': 0.11.11 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 @@ -12659,7 +12729,7 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.2 + eslint-visitor-keys: 3.4.3 espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 @@ -12667,7 +12737,7 @@ packages: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.20.0 + globals: 13.21.0 graphemer: 1.4.0 ignore: 5.2.4 imurmurhash: 0.1.4 @@ -12705,7 +12775,7 @@ packages: dependencies: acorn: 8.10.0 acorn-jsx: 5.3.2(acorn@8.10.0) - eslint-visitor-keys: 3.4.2 + eslint-visitor-keys: 3.4.3 dev: true /esprima@2.7.3: @@ -12785,7 +12855,7 @@ packages: resolution: {integrity: sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==} dependencies: '@types/estree-jsx': 1.0.0 - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /estree-walker@1.0.1: @@ -12808,7 +12878,6 @@ packages: /etag@1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - requiresBuild: true dev: true optional: true @@ -12826,6 +12895,20 @@ packages: - supports-color dev: true + /eth-block-tracker@4.4.3(@babel/core@7.22.15): + resolution: {integrity: sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw==} + dependencies: + '@babel/plugin-transform-runtime': 7.22.15(@babel/core@7.22.15) + '@babel/runtime': 7.22.15 + eth-query: 2.1.2 + json-rpc-random-id: 1.0.1 + pify: 3.0.0 + safe-event-emitter: 1.0.1 + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: false + /eth-block-tracker@6.1.0: resolution: {integrity: sha512-K9SY8+/xMBi4M5HHTDdxnpEqEEGjbNpzHFqvxyjMZej8InV/B+CkFRKM6W+uvrFJ7m8Zd1E0qUkseU3vdIDFYQ==} engines: {node: '>=14.0.0'} @@ -12869,6 +12952,19 @@ packages: sync-request: 6.1.0 dev: true + /eth-json-rpc-filters@4.2.2: + resolution: {integrity: sha512-DGtqpLU7bBg63wPMWg1sCpkKCf57dJ+hj/k3zF26anXMzkmtSBDExL8IhUu7LUd34f0Zsce3PYNO2vV2GaTzaw==} + dependencies: + '@metamask/safe-event-emitter': 2.0.0 + async-mutex: 0.2.6 + eth-json-rpc-middleware: 6.0.0 + eth-query: 2.1.2 + json-rpc-engine: 6.1.0 + pify: 5.0.0 + transitivePeerDependencies: + - encoding + dev: false + /eth-json-rpc-filters@5.1.0: resolution: {integrity: sha512-fos+9xmoa1A2Ytsc9eYof17r81BjdJOUcGcgZn4K/tKdCCTb+a8ytEtwlu1op5qsXFDlgGmstTELFrDEc89qEQ==} engines: {node: '>=14.0.0'} @@ -12894,7 +12990,7 @@ packages: /eth-json-rpc-middleware@1.6.0: resolution: {integrity: sha512-tDVCTlrUvdqHKqivYMjtFZsdD7TtpNLBCfKAcOpaVs7orBMS/A8HWro6dIzNtTZIR05FAbJ3bioFOnZpuCew9Q==} dependencies: - async: 2.6.4 + async: 2.6.2 eth-query: 2.1.2 eth-tx-summary: 3.2.4 ethereumjs-block: 1.7.1 @@ -12911,9 +13007,26 @@ packages: - supports-color dev: true + /eth-json-rpc-middleware@6.0.0: + resolution: {integrity: sha512-qqBfLU2Uq1Ou15Wox1s+NX05S9OcAEL4JZ04VZox2NS0U+RtCMjSxzXhLFWekdShUPZ+P8ax3zCO2xcPrp6XJQ==} + dependencies: + btoa: 1.2.1 + clone: 2.1.2 + eth-query: 2.1.2 + eth-rpc-errors: 3.0.0 + eth-sig-util: 1.4.2 + ethereumjs-util: 5.2.1 + json-rpc-engine: 5.4.0 + json-stable-stringify: 1.0.2 + node-fetch: 2.7.0 + pify: 3.0.0 + safe-event-emitter: 1.0.1 + transitivePeerDependencies: + - encoding + dev: false + /eth-lib@0.1.29: resolution: {integrity: sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==} - requiresBuild: true dependencies: bn.js: 4.12.0 elliptic: 6.5.4 @@ -12930,7 +13043,6 @@ packages: /eth-lib@0.2.8: resolution: {integrity: sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==} - requiresBuild: true dependencies: bn.js: 4.12.0 elliptic: 6.5.4 @@ -12944,6 +13056,12 @@ packages: json-rpc-random-id: 1.0.1 xtend: 4.0.2 + /eth-rpc-errors@3.0.0: + resolution: {integrity: sha512-iPPNHPrLwUlR9xCSYm7HHQjWBasor3+KZfRvwEWxMz3ca0yqnlBeJrnyphkGIXZ4J7AMAaOLmwy4AWhnxOiLxg==} + dependencies: + fast-safe-stringify: 2.1.1 + dev: false + /eth-rpc-errors@4.0.2: resolution: {integrity: sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ==} dependencies: @@ -12955,7 +13073,6 @@ packages: dependencies: ethereumjs-abi: github.com/ethereumjs/ethereumjs-abi/ee3994657fa7a427238e6ba92a84d0b529bbcde0 ethereumjs-util: 5.2.1 - dev: true /eth-sig-util@3.0.0: resolution: {integrity: sha512-4eFkMOhpGbTxBQ3AMzVf0haUX2uTur7DpWiHzWyTURa28BVJJtOkcb9Ok5TV0YvEPG61DODPW7ZUATbJTslioQ==} @@ -12972,7 +13089,7 @@ packages: /eth-tx-summary@3.2.4: resolution: {integrity: sha512-NtlDnaVZah146Rm8HMRUNMgIwG/ED4jiqk0TME9zFheMl1jOp6jL1m0NKGjJwehXQ6ZKCPr16MTr+qspKpEXNg==} dependencies: - async: 2.6.4 + async: 2.6.2 clone: 2.1.2 concat-stream: 1.6.2 end-of-stream: 1.4.4 @@ -12988,7 +13105,7 @@ packages: resolution: {integrity: sha512-/MSbf/r2/Ld8o0l15AymjOTlPqpN8Cr4ByUEA9GtR4x0yAh3TdtDzEg29zMjXCNPI7u6E5fOQdj/Cf9Tc7oVNw==} deprecated: 'New package name format for new versions: @ethereumjs/ethash. Please update.' dependencies: - async: 2.6.4 + async: 2.6.2 buffer-xor: 2.0.2 ethereumjs-util: 7.1.5 miller-rabin: 4.0.1 @@ -13033,7 +13150,6 @@ packages: scrypt-js: 3.0.1 secp256k1: 4.0.3 setimmediate: 1.0.5 - dev: true /ethereum-cryptography@1.2.0: resolution: {integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==} @@ -13044,6 +13160,15 @@ packages: '@scure/bip39': 1.1.1 dev: true + /ethereum-cryptography@2.1.2: + resolution: {integrity: sha512-Z5Ba0T0ImZ8fqXrJbpHcbpAvIswRte2wGNR/KePnu8GbbvgJ47lMxT/ZZPG6i9Jaht4azPDop4HaM00J0J59ug==} + dependencies: + '@noble/curves': 1.1.0 + '@noble/hashes': 1.3.1 + '@scure/bip32': 1.3.1 + '@scure/bip39': 1.2.1 + dev: true + /ethereum-waffle@3.4.4(typescript@4.9.5): resolution: {integrity: sha512-PA9+jCjw4WC3Oc5ocSMBj5sXvueWQeAbvCA+hUlb6oFgwwKyq5ka3bWQ7QZcjzIX+TdFkxP4IbFmoY2D8Dkj9Q==} engines: {node: '>=10.0'} @@ -13097,7 +13222,7 @@ packages: resolution: {integrity: sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==} deprecated: 'New package name format for new versions: @ethereumjs/block. Please update.' dependencies: - async: 2.6.4 + async: 2.6.2 ethereum-common: 0.2.0 ethereumjs-tx: 1.3.7 ethereumjs-util: 5.2.1 @@ -13108,7 +13233,7 @@ packages: resolution: {integrity: sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==} deprecated: 'New package name format for new versions: @ethereumjs/block. Please update.' dependencies: - async: 2.6.4 + async: 2.6.2 ethereumjs-common: 1.5.0 ethereumjs-tx: 2.1.2 ethereumjs-util: 5.2.1 @@ -13119,7 +13244,7 @@ packages: resolution: {integrity: sha512-zCxaRMUOzzjvX78DTGiKjA+4h2/sF0OYL1QuPux0DHpyq8XiNoF5GYHtb++GUxVlMsMfZV7AVyzbtgcRdIcEPQ==} deprecated: 'New package name format for new versions: @ethereumjs/blockchain. Please update.' dependencies: - async: 2.6.4 + async: 2.6.2 ethashjs: 0.0.8 ethereumjs-block: 2.2.2 ethereumjs-common: 1.5.0 @@ -13172,7 +13297,6 @@ packages: ethjs-util: 0.1.6 rlp: 2.2.7 safe-buffer: 5.2.1 - dev: true /ethereumjs-util@6.2.1: resolution: {integrity: sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==} @@ -13184,7 +13308,6 @@ packages: ethereum-cryptography: 0.1.3 ethjs-util: 0.1.6 rlp: 2.2.7 - dev: true /ethereumjs-util@7.1.5: resolution: {integrity: sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==} @@ -13201,7 +13324,7 @@ packages: resolution: {integrity: sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw==} deprecated: 'New package name format for new versions: @ethereumjs/vm. Please update.' dependencies: - async: 2.6.4 + async: 2.6.2 async-eventemitter: 0.2.4 ethereumjs-account: 2.0.5 ethereumjs-block: 2.2.2 @@ -13218,9 +13341,9 @@ packages: resolution: {integrity: sha512-X6qqZbsY33p5FTuZqCnQ4+lo957iUJMM6Mpa6bL4UW0dxM6WmDSHuI4j/zOp1E2TDKImBGCJA9QPfc08PaNubA==} deprecated: 'New package name format for new versions: @ethereumjs/vm. Please update.' dependencies: - async: 2.6.4 + async: 2.6.2 async-eventemitter: 0.2.4 - core-js-pure: 3.32.0 + core-js-pure: 3.32.1 ethereumjs-account: 3.0.0 ethereumjs-block: 2.2.2 ethereumjs-blockchain: 4.0.4 @@ -13316,7 +13439,6 @@ packages: dependencies: is-hex-prefixed: 1.0.0 strip-hex-prefix: 1.0.0 - dev: true /event-emitter@0.3.5: resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} @@ -13332,7 +13454,6 @@ packages: /eventemitter3@4.0.4: resolution: {integrity: sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==} - requiresBuild: true dev: true optional: true @@ -13348,7 +13469,6 @@ packages: dependencies: md5.js: 1.3.5 safe-buffer: 5.2.1 - dev: true /execa@0.8.0: resolution: {integrity: sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==} @@ -13426,7 +13546,6 @@ packages: /express@4.18.2: resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} engines: {node: '>= 0.10.0'} - requiresBuild: true dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -13517,10 +13636,6 @@ packages: checkpoint-store: 1.1.0 dev: true - /fast-base64-decode@1.0.0: - resolution: {integrity: sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q==} - dev: true - /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true @@ -13592,7 +13707,7 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.0.4 + flat-cache: 3.1.0 dev: true /file-uri-to-path@1.0.0: @@ -13622,7 +13737,6 @@ packages: /finalhandler@1.2.0: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} - requiresBuild: true dependencies: debug: 2.6.9 encodeurl: 1.0.2 @@ -13703,11 +13817,12 @@ packages: micromatch: 4.0.5 dev: true - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + /flat-cache@3.1.0: + resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==} + engines: {node: '>=12.0.0'} dependencies: flatted: 3.2.7 + keyv: 4.5.3 rimraf: 3.0.2 dev: true @@ -13766,10 +13881,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /foreach@2.0.6: - resolution: {integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==} - dev: true - /forever-agent@0.6.1: resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} dev: true @@ -13819,7 +13930,6 @@ packages: /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - requiresBuild: true dev: true optional: true @@ -13827,8 +13937,8 @@ packages: resolution: {integrity: sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==} dev: true - /fraction.js@4.2.0: - resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + /fraction.js@4.3.6: + resolution: {integrity: sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==} dev: true /fragment-cache@0.2.1: @@ -13841,7 +13951,6 @@ packages: /fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} - requiresBuild: true dev: true optional: true @@ -13911,7 +14020,6 @@ packages: /fs-minipass@1.2.7: resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} - requiresBuild: true dependencies: minipass: 2.9.0 dev: true @@ -13941,8 +14049,8 @@ packages: dev: true optional: true - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true @@ -13952,8 +14060,8 @@ packages: /function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - /function.prototype.name@1.1.5: - resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -13970,12 +14078,6 @@ packages: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true - /fwd-stream@1.0.4: - resolution: {integrity: sha512-q2qaK2B38W07wfPSQDKMiKOD5Nzv2XyuvQlrmh1q0pxyHNanKHq8lwQ6n9zHucAwA5EbzRJKEgds2orn88rYTg==} - dependencies: - readable-stream: 1.0.34 - dev: true - /ganache-core@2.13.2: resolution: {integrity: sha512-tIF5cR+ANQz0+3pHWxHjIwHqFXcVo0Mb+kcsNhglNFALcYo49aQpnS9dqHartqPfMFjiHh/qFoD3mYK0d/qGgw==} engines: {node: '>=8.9.0'} @@ -14059,7 +14161,6 @@ packages: /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - dev: true /get-caller-file@1.0.3: resolution: {integrity: sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==} @@ -14109,7 +14210,6 @@ packages: /get-stream@4.1.0: resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} engines: {node: '>=6'} - requiresBuild: true dependencies: pump: 3.0.0 dev: true @@ -14118,7 +14218,6 @@ packages: /get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} - requiresBuild: true dependencies: pump: 3.0.0 dev: true @@ -14206,7 +14305,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.0.4 once: 1.4.0 path-is-absolute: 1.0.1 dev: true @@ -14228,7 +14327,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.0.8 once: 1.4.0 path-is-absolute: 1.0.1 dev: true @@ -14302,10 +14401,9 @@ packages: /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - dev: true - /globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + /globals@13.21.0: + resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -14384,7 +14482,6 @@ packages: /got@11.8.6: resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} engines: {node: '>=10.19.0'} - requiresBuild: true dependencies: '@sindresorhus/is': 4.6.0 '@szmarczak/http-timer': 4.0.6 @@ -14403,7 +14500,6 @@ packages: /got@9.6.0: resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} engines: {node: '>=8.6'} - requiresBuild: true dependencies: '@sindresorhus/is': 0.14.0 '@szmarczak/http-timer': 1.1.2 @@ -14424,6 +14520,10 @@ packages: /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + /grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: true + /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true @@ -14475,7 +14575,7 @@ packages: engines: {node: '>=6'} dev: true - /hardhat-abi-exporter@2.10.1(hardhat@2.17.1): + /hardhat-abi-exporter@2.10.1(hardhat@2.14.0): resolution: {integrity: sha512-X8GRxUTtebMAd2k4fcPyVnCdPa6dYK4lBsrwzKP5yiSq4i+WadWPIumaLfce53TUf/o2TnLpLOduyO1ylE2NHQ==} engines: {node: '>=14.14.0'} peerDependencies: @@ -14483,31 +14583,31 @@ packages: dependencies: '@ethersproject/abi': 5.7.0 delete-empty: 3.0.0 - hardhat: 2.17.1(ts-node@10.9.1)(typescript@4.9.5) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) dev: true - /hardhat-contract-sizer@2.10.0(hardhat@2.17.1): - resolution: {integrity: sha512-QiinUgBD5MqJZJh1hl1jc9dNnpJg7eE/w4/4GEnrcmZJJTDbVFNe3+/3Ep24XqISSkYxRz36czcPHKHd/a0dwA==} + /hardhat-contract-sizer@2.8.0(hardhat@2.14.0): + resolution: {integrity: sha512-jXt2Si3uIDx5z99J+gvKa0yvIw156pE4dpH9X/PvTQv652BUd+qGj7WT93PXnHXGh5qhQLkjDYeZMYNOThfjFg==} peerDependencies: hardhat: ^2.0.0 dependencies: chalk: 4.1.2 cli-table3: 0.6.3 - hardhat: 2.17.1(ts-node@10.9.1)(typescript@4.9.5) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) strip-ansi: 6.0.1 dev: true - /hardhat-docgen@1.3.0(hardhat@2.17.1)(lodash@4.17.21): + /hardhat-docgen@1.3.0(hardhat@2.14.0)(lodash@4.17.21)(prettier@2.8.8): resolution: {integrity: sha512-paaiOHjJFLCLz2/qM1TQ7ZEG+Vy+LBvJL+SW4A64ZhBnVnyoZ/zv9DvEuawaWhqP5P7AOM6r22reVz4ecWgW7A==} engines: {node: '>=14.14.0'} peerDependencies: hardhat: ^2.0.0 dependencies: css-loader: 6.8.1(webpack@5.88.2) - hardhat: 2.17.1(ts-node@10.9.1)(typescript@4.9.5) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) html-webpack-plugin: 5.5.3(webpack@5.88.2) vue: 2.7.14 - vue-loader: 15.10.1(css-loader@6.8.1)(lodash@4.17.21)(vue-template-compiler@2.7.14)(webpack@5.88.2) + vue-loader: 15.10.2(css-loader@6.8.1)(lodash@4.17.21)(prettier@2.8.8)(vue-template-compiler@2.7.14)(webpack@5.88.2) vue-router: 3.6.5(vue@2.7.14) vue-template-compiler: 2.7.14 webpack: 5.88.2 @@ -14546,6 +14646,7 @@ packages: - mustache - nunjucks - plates + - prettier - pug - qejs - ractive @@ -14573,30 +14674,31 @@ packages: - whiskers dev: true - /hardhat-gas-reporter@1.0.9(hardhat@2.17.1): + /hardhat-gas-reporter@1.0.9(hardhat@2.14.0): resolution: {integrity: sha512-INN26G3EW43adGKBNzYWOlI3+rlLnasXTwW79YNnUhXPDa+yHESgt639dJEs37gCjhkbNKcRRJnomXEuMFBXJg==} peerDependencies: hardhat: ^2.0.2 dependencies: array-uniq: 1.0.3 eth-gas-reporter: 0.2.25 - hardhat: 2.17.1(ts-node@10.9.1)(typescript@4.9.5) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) sha1: 1.1.1 transitivePeerDependencies: - '@codechecks/client' dev: true - /hardhat-preprocessor@0.1.5(hardhat@2.17.1): + /hardhat-preprocessor@0.1.5(hardhat@2.14.0): resolution: {integrity: sha512-j8m44mmPxpxAAd0G8fPHRHOas/INZdzptSur0TNJvMEGcFdLDhbHHxBcqZVQ/bmiW42q4gC60AP4CXn9EF018g==} peerDependencies: hardhat: ^2.0.5 dependencies: - hardhat: 2.17.1(ts-node@10.9.1)(typescript@4.9.5) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) murmur-128: 0.2.1 dev: true - /hardhat@2.17.1(ts-node@10.9.1)(typescript@4.9.5): - resolution: {integrity: sha512-1PxRkfjhEzXs/wDxI5YgzYBxNmvzifBTjYzuopwel+vXpAhCudplusJthN5eig0FTs4qbi828DBIITEDh8x9LA==} + /hardhat@2.14.0(ts-node@10.9.1)(typescript@4.9.5): + resolution: {integrity: sha512-73jsInY4zZahMSVFurSK+5TNCJTXMv+vemvGia0Ac34Mm19fYp6vEPVGF3sucbumszsYxiTT2TbS8Ii2dsDSoQ==} + engines: {node: '>=14.0.0'} hasBin: true peerDependencies: ts-node: '*' @@ -14623,6 +14725,7 @@ packages: '@sentry/node': 5.30.0 '@types/bn.js': 5.1.1 '@types/lru-cache': 5.1.1 + abort-controller: 3.0.0 adm-zip: 0.4.16 aggregate-error: 3.1.0 ansi-escapes: 4.3.2 @@ -14638,13 +14741,14 @@ packages: fp-ts: 1.19.3 fs-extra: 7.0.1 glob: 7.2.0 - immutable: 4.3.2 + immutable: 4.3.4 io-ts: 1.10.4 keccak: 3.0.3 lodash: 4.17.21 mnemonist: 0.38.5 mocha: 10.2.0 p-map: 4.0.0 + qs: 6.11.2 raw-body: 2.5.2 resolve: 1.17.0 semver: 6.3.1 @@ -14687,7 +14791,6 @@ packages: /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} - dev: true /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} @@ -14761,7 +14864,6 @@ packages: inherits: 2.0.4 readable-stream: 3.6.2 safe-buffer: 5.2.1 - dev: true /hash-obj@4.0.0: resolution: {integrity: sha512-FwO1BUVWkyHasWDW4S8o0ssQXjvyghLV2rfVhnN36b2bbcj45eGiuzdn9XOvOpjV3TKQD7Gm2BWNXdE9V4KKYg==} @@ -14819,9 +14921,9 @@ packages: resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} dependencies: '@types/hast': 2.3.5 - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 hastscript: 7.2.0 - property-information: 6.2.0 + property-information: 6.3.0 vfile: 5.3.7 vfile-location: 4.1.0 web-namespaces: 2.0.1 @@ -14831,7 +14933,7 @@ packages: resolution: {integrity: sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==} dependencies: '@types/hast': 2.3.5 - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /hast-util-parse-selector@3.1.1: @@ -14846,14 +14948,14 @@ packages: '@types/estree': 1.0.1 '@types/estree-jsx': 1.0.0 '@types/hast': 2.3.5 - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 comma-separated-tokens: 2.0.3 estree-util-attach-comments: 2.1.1 estree-util-is-identifier-name: 2.1.0 hast-util-whitespace: 2.0.1 mdast-util-mdx-expression: 1.3.2 mdast-util-mdxjs-esm: 1.3.1 - property-information: 6.2.0 + property-information: 6.3.0 space-separated-tokens: 2.0.2 style-to-object: 0.4.2 unist-util-position: 4.0.4 @@ -14866,7 +14968,7 @@ packages: resolution: {integrity: sha512-tcllLfp23dJJ+ju5wCCZHVpzsQQ43+moJbqVX3jNWPB7z/KFC4FyZD6R7y94cHL6MQ33YtMZL8Z0aIXXI4XFTw==} dependencies: '@types/hast': 2.3.5 - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 hast-util-is-element: 2.1.3 unist-util-find-after: 4.0.1 dev: false @@ -14881,7 +14983,7 @@ packages: '@types/hast': 2.3.5 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 3.1.1 - property-information: 6.2.0 + property-information: 6.3.0 space-separated-tokens: 2.0.2 dev: false @@ -14894,7 +14996,7 @@ packages: resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: capital-case: 1.0.4 - tslib: 2.6.1 + tslib: 2.4.1 dev: true /heap@0.2.6: @@ -14962,7 +15064,7 @@ packages: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.19.2 + terser: 5.19.4 dev: true /html-webpack-plugin@5.5.3(webpack@5.88.2): @@ -14988,15 +15090,6 @@ packages: entities: 2.2.0 dev: true - /htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.1.0 - entities: 4.5.0 - dev: true - /http-basic@8.1.3: resolution: {integrity: sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==} engines: {node: '>=6.0.0'} @@ -15024,7 +15117,6 @@ packages: /http-https@1.0.0: resolution: {integrity: sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==} - requiresBuild: true dev: true optional: true @@ -15068,7 +15160,6 @@ packages: /http2-wrapper@1.0.3: resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} engines: {node: '>=10.19.0'} - requiresBuild: true dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 @@ -15113,17 +15204,13 @@ packages: dependencies: safer-buffer: 2.1.2 - /icss-utils@5.1.0(postcss@8.4.27): + /icss-utils@5.1.0(postcss@8.4.29): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.27 - dev: true - - /idb-wrapper@1.7.2: - resolution: {integrity: sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg==} + postcss: 8.4.29 dev: true /identicon.js@2.3.3: @@ -15158,8 +15245,8 @@ packages: resolution: {integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==} dev: true - /immutable@4.3.2: - resolution: {integrity: sha512-oGXzbEDem9OOpDWZu88jGiYCvIsLHMvGw+8OXlpsvTFvIQplQbjg1B1cvKg8f7Hoch6+NGjpPsH1Fr+Mc2D1aA==} + /immutable@4.3.4: + resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} dev: true /import-cwd@2.1.0: @@ -15220,10 +15307,6 @@ packages: engines: {node: '>=8'} dev: true - /indexof@0.0.1: - resolution: {integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==} - dev: true - /infer-owner@1.0.4: resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} dev: true @@ -15279,7 +15362,7 @@ packages: '@formatjs/ecma402-abstract': 1.11.4 '@formatjs/fast-memoize': 1.2.1 '@formatjs/icu-messageformat-parser': 2.1.0 - tslib: 2.6.1 + tslib: 2.4.1 dev: false /invariant@2.2.4: @@ -15306,7 +15389,6 @@ packages: /ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} - requiresBuild: true dev: true optional: true @@ -15394,11 +15476,10 @@ packages: ci-info: 2.0.0 dev: true - /is-core-module@2.12.1: - resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} + /is-core-module@2.13.0: + resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} dependencies: has: 1.0.3 - dev: true /is-data-descriptor@0.1.4: resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} @@ -15520,7 +15601,6 @@ packages: /is-hex-prefixed@1.0.0: resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} engines: {node: '>=6.5.0', npm: '>=3'} - dev: true /is-hexadecimal@2.0.1: resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} @@ -15564,10 +15644,6 @@ packages: engines: {node: '>=12'} dev: false - /is-object@0.1.2: - resolution: {integrity: sha512-GkfZZlIZtpkFrqyAXPQSRBMsaHAw+CgoKe2HXAkjd/sfoI9+hS8PT4wg2rJxdQyUKr7N2vHJbg7/jQtE5l5vBQ==} - dev: true - /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} @@ -15706,10 +15782,6 @@ packages: is-docker: 2.2.1 dev: true - /is@0.2.7: - resolution: {integrity: sha512-ajQCouIvkcSnl2iRdK70Jug9mohIHVX9uKpoWnl115ov0R5mzBvRrXxrnHbsA+8AdwCwc/sfw7HXmd4I5EJBdQ==} - dev: true - /isarray@0.0.1: resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} dev: true @@ -15721,10 +15793,6 @@ packages: /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - /isbuffer@0.0.0: - resolution: {integrity: sha512-xU+NoHp+YtKQkaM2HsQchYn0sltxMxew0HavMfHbjnucBoTSGbw745tL+Z7QBANleWM1eEQMenEpi174mIeS4g==} - dev: true - /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -15740,15 +15808,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /isomorphic-unfetch@3.1.0: - resolution: {integrity: sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==} - dependencies: - node-fetch: 2.6.12 - unfetch: 4.2.0 - transitivePeerDependencies: - - encoding - dev: true - /isomorphic-ws@4.0.1(ws@7.5.9): resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} peerDependencies: @@ -15776,8 +15835,8 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.22.9 - '@babel/parser': 7.22.7 + '@babel/core': 7.22.15 + '@babel/parser': 7.22.15 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.1 @@ -15818,7 +15877,7 @@ packages: engines: {node: '>=8'} hasBin: true dependencies: - '@types/connect': 3.4.35 + '@types/connect': 3.4.36 '@types/node': 12.20.55 '@types/ws': 7.4.7 JSONStream: 1.3.5 @@ -15850,7 +15909,7 @@ packages: '@jest/environment': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.5.7 + '@types/node': 20.5.9 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -15909,10 +15968,10 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@jest/test-sequencer': 27.5.1 '@jest/types': 27.5.1 - babel-jest: 27.5.1(@babel/core@7.22.9) + babel-jest: 27.5.1(@babel/core@7.22.15) chalk: 4.1.2 ci-info: 3.8.0 deepmerge: 4.3.1 @@ -15975,7 +16034,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.5.7 + '@types/node': 20.5.9 jest-mock: 27.5.1 jest-util: 27.5.1 jsdom: 16.7.0 @@ -15993,7 +16052,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.5.7 + '@types/node': 20.5.9 jest-mock: 27.5.1 jest-util: 27.5.1 dev: true @@ -16009,7 +16068,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@types/graceful-fs': 4.1.6 - '@types/node': 20.5.7 + '@types/node': 20.5.9 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -16020,7 +16079,7 @@ packages: micromatch: 4.0.5 walker: 1.0.8 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true /jest-jasmine2@27.5.1: @@ -16031,7 +16090,7 @@ packages: '@jest/source-map': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.5.7 + '@types/node': 20.5.9 chalk: 4.1.2 co: 4.6.0 expect: 27.5.1 @@ -16070,7 +16129,7 @@ packages: resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.22.13 '@jest/types': 27.5.1 '@types/stack-utils': 2.0.1 chalk: 4.1.2 @@ -16086,7 +16145,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.5.7 + '@types/node': 20.5.9 dev: true /jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): @@ -16128,7 +16187,7 @@ packages: jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1) jest-util: 27.5.1 jest-validate: 27.5.1 - resolve: 1.22.3 + resolve: 1.22.4 resolve.exports: 1.1.1 slash: 3.0.0 dev: true @@ -16142,7 +16201,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.5.7 + '@types/node': 20.5.9 chalk: 4.1.2 emittery: 0.8.1 graceful-fs: 4.2.11 @@ -16199,7 +16258,7 @@ packages: resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@types/node': 20.5.7 + '@types/node': 20.5.9 graceful-fs: 4.2.11 dev: true @@ -16207,16 +16266,16 @@ packages: resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/core': 7.22.9 - '@babel/generator': 7.22.9 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.9) - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/core': 7.22.15 + '@babel/generator': 7.22.15 + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.15) + '@babel/traverse': 7.22.15 + '@babel/types': 7.22.15 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 '@types/babel__traverse': 7.20.1 '@types/prettier': 2.7.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.9) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.15) chalk: 4.1.2 expect: 27.5.1 graceful-fs: 4.2.11 @@ -16238,7 +16297,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.5.7 + '@types/node': 20.5.9 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -16263,7 +16322,7 @@ packages: dependencies: '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.5.7 + '@types/node': 20.5.9 ansi-escapes: 4.3.2 chalk: 4.1.2 jest-util: 27.5.1 @@ -16274,7 +16333,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.5.7 + '@types/node': 20.5.9 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -16300,8 +16359,8 @@ packages: - utf-8-validate dev: true - /jiti@1.19.1: - resolution: {integrity: sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==} + /jiti@1.19.3: + resolution: {integrity: sha512-5eEbBDQT/jF1xg6l36P+mWGGoH9Spuy0PCdSr2dtWRDGC6ph/w9ZCL4lmESW8f8F7MwT3XKescfP0wnZWAKL9w==} hasBin: true dev: true @@ -16309,10 +16368,6 @@ packages: resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==} dev: true - /js-cookie@2.2.1: - resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==} - dev: true - /js-sdsl@4.4.2: resolution: {integrity: sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==} dev: true @@ -16324,6 +16379,11 @@ packages: /js-sha3@0.8.0: resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} + /js-string-escape@1.0.1: + resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} + engines: {node: '>= 0.8'} + dev: true + /js-tokens@3.0.2: resolution: {integrity: sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==} dev: true @@ -16450,19 +16510,15 @@ packages: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} hasBin: true - dev: true /json-buffer@3.0.0: resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} - requiresBuild: true dev: true optional: true /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - requiresBuild: true dev: true - optional: true /json-parse-better-errors@1.0.2: resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} @@ -16475,7 +16531,7 @@ packages: /json-rpc-engine@3.8.0: resolution: {integrity: sha512-6QNcvm2gFuuK4TKU1uwfH0Qd/cOSb9c1lls0gbnIhciktIUQJwz6NQNAW4B1KiGPenv7IKu97V222Yo1bNhGuA==} dependencies: - async: 2.6.4 + async: 2.6.2 babel-preset-env: 1.7.0 babelify: 7.3.0 json-rpc-error: 2.0.0 @@ -16485,6 +16541,13 @@ packages: - supports-color dev: true + /json-rpc-engine@5.4.0: + resolution: {integrity: sha512-rAffKbPoNDjuRnXkecTjnsE3xLLrb00rEkdgalINhaYVYIxDwWtvYBr9UFbhTvPB1B2qUOLoFd/cV6f4Q7mh7g==} + dependencies: + eth-rpc-errors: 3.0.0 + safe-event-emitter: 1.0.1 + dev: false + /json-rpc-engine@6.1.0: resolution: {integrity: sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==} engines: {node: '>=10.0.0'} @@ -16521,7 +16584,6 @@ packages: resolution: {integrity: sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==} dependencies: jsonify: 0.0.1 - dev: true /json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} @@ -16542,7 +16604,6 @@ packages: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true - dev: true /jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} @@ -16569,7 +16630,6 @@ packages: /jsonify@0.0.1: resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} - dev: true /jsonparse@1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} @@ -16602,12 +16662,11 @@ packages: requiresBuild: true dependencies: node-addon-api: 2.0.2 - node-gyp-build: 4.6.0 + node-gyp-build: 4.6.1 readable-stream: 3.6.2 /keyv@3.1.0: resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} - requiresBuild: true dependencies: json-buffer: 3.0.0 dev: true @@ -16615,11 +16674,9 @@ packages: /keyv@4.5.3: resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} - requiresBuild: true dependencies: json-buffer: 3.0.1 dev: true - optional: true /keyvaluestorage-interface@1.0.0: resolution: {integrity: sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==} @@ -16672,8 +16729,8 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} - /known-css-properties@0.28.0: - resolution: {integrity: sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==} + /known-css-properties@0.27.0: + resolution: {integrity: sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==} dev: true /layout-base@1.0.2: @@ -16691,91 +16748,83 @@ packages: invert-kv: 1.0.0 dev: true - /lefthook-darwin-arm64@1.4.8: - resolution: {integrity: sha512-wUaasRq7P1BNAlGwu/vONVHrwlrTwQGEhyn0leciEcnQCUN8aTeEC4hkxHmxisgQVQTdidYkCSWcsaEFn84xzw==} + /lefthook-darwin-arm64@1.4.7: + resolution: {integrity: sha512-26zPoDw9gUXCroqf8OIb3qHjIq7XWrRQKdwFz2RgCfOphY22XNEucq0W+5on5s4LeqI9GieKeYQ+R0UBTjQ5LA==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /lefthook-darwin-x64@1.4.8: - resolution: {integrity: sha512-uUkQeU08szL4IpKVQSlhzNObZ79YkwmZ3fZDmF+jjP69LMESEVY7Y+cuQI0RG4YOTXHGBqZs3MPUZ7ZygBrhcQ==} + /lefthook-darwin-x64@1.4.7: + resolution: {integrity: sha512-LSPiHTGEYqcABYuKqK+5+4SW6tmDXRUhSmZqcd7VSFsGa/9HU7imzqcbreiVPEO7ahKUDFYOB0riPV4g/Qys7w==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /lefthook-freebsd-arm64@1.4.8: - resolution: {integrity: sha512-X4rWxsmxfyMRgfIOqAnk2zrMzlJV0fANEDYNuUYBVbgH8IYAy1cyVQlolgeC8NhFW8VaJ3AztbWpnR1M8zEByA==} + /lefthook-freebsd-arm64@1.4.7: + resolution: {integrity: sha512-b7LJdWwnrkh3uuWKqNfrlvau8/9N78IoxPz1z/xo468WcwroCYORRGpM+lKvgmKjrVFOJZQ6lFIYvVe8212wZg==} cpu: [arm64] os: [freebsd] requiresBuild: true dev: true optional: true - /lefthook-freebsd-x64@1.4.8: - resolution: {integrity: sha512-ijenlZtEZpbnLFWTZdsIDmVdLzkaTkeEQVjjHEXdo2GBjLmdLYk8hRQiY/7oUxFe/JO1RLuhfIlPkKLtYz1iTQ==} + /lefthook-freebsd-x64@1.4.7: + resolution: {integrity: sha512-+sOYtxlyB9iwVHZLyoD0P7qg/8Guqjk5wmslXQrM89ilEQmDL+gnPRaqfEZrByjNEi/ltPTZ0YlOXeK/qxM0mg==} cpu: [x64] os: [freebsd] requiresBuild: true dev: true optional: true - /lefthook-linux-arm64@1.4.8: - resolution: {integrity: sha512-lOsJymblZ8nIpgm2lLfWx33tXtkdamK0lZThbSK4uwZQWFzSjr9qx21qZlJZ/mG8jZ5EY5Twhjqrt131CUXtMw==} + /lefthook-linux-arm64@1.4.7: + resolution: {integrity: sha512-Gli+cAqnBX0bCwv0mON8PM7SY/aIaM4H+nbqad5HlDHZ3ovoQBPxCmEvMxug7/Ssa3v3zdZ1cR2FkRrgzA1w+w==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /lefthook-linux-x64@1.4.8: - resolution: {integrity: sha512-tF/iQFZu9iR++C3UXvpeTQS50CtTdZWmeMJ49uAovu9qe3qpPdKoguorZSFDC2+OGYbd7wbulldpWhvgxarniA==} + /lefthook-linux-x64@1.4.7: + resolution: {integrity: sha512-XVN686RdGB8UB/zguDeY+Nx6ikN1I9g3QBGBOGPE3aj9waB86+FotPhat/c9wfb9T0gkhKnxMiQ9kO8nvDuQxw==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /lefthook-windows-arm64@1.4.8: - resolution: {integrity: sha512-ykqX5rm5UI6244cF6anf92p+JXNvuA/Ah3bpQKYSA5JoMG2vJmPZ9nIThq5ky/F90jXySBxcdZRdrridtagAbw==} + /lefthook-windows-arm64@1.4.7: + resolution: {integrity: sha512-CxZwmsIV9h1N2NPZ08a2V9jXzvaDMPwmyByDJZNOkWW1Z3Dx/Q76VK4X7aS3HhyLpudzwYEYScWhQ+SIOmx6IA==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /lefthook-windows-x64@1.4.8: - resolution: {integrity: sha512-wv8in0vku5eDpjNtri4s02kXbowEa6t/h8pHHUnCedmJJ2ImwwqGQJ1kwDVQL0U3bgdNWCfC2mUxVmtXoLQkBg==} + /lefthook-windows-x64@1.4.7: + resolution: {integrity: sha512-Hu/GoPrJviM9gbys11ZJEIgTXyQ4btifUn6WBFW4M7NpA8rxx1bbLfXdDlcl6W28BGDb1aFIXVdnJIupK01hUw==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /lefthook@1.4.8: - resolution: {integrity: sha512-SALO6nIy0aizM3FJdy4cNdUy9qKJyGZo6f8gZdzhBuKLMrwnm9YeMdJmQKeEPZA9E2mDSqdHGJjvMlKrm+04Pg==} + /lefthook@1.4.7: + resolution: {integrity: sha512-0fCJ1ekbGG+Pi+xK9bnBF4B5eXHf/FRSiuLRP0ofYYs8LO7p1f7qbYQTCj3qjGBs6mvv/wq4UIR8e+Gi+L06TA==} hasBin: true requiresBuild: true optionalDependencies: - lefthook-darwin-arm64: 1.4.8 - lefthook-darwin-x64: 1.4.8 - lefthook-freebsd-arm64: 1.4.8 - lefthook-freebsd-x64: 1.4.8 - lefthook-linux-arm64: 1.4.8 - lefthook-linux-x64: 1.4.8 - lefthook-windows-arm64: 1.4.8 - lefthook-windows-x64: 1.4.8 - dev: true - - /level-blobs@0.1.7: - resolution: {integrity: sha512-n0iYYCGozLd36m/Pzm206+brIgXP8mxPZazZ6ZvgKr+8YwOZ8/PPpYC5zMUu2qFygRN8RO6WC/HH3XWMW7RMVg==} - dependencies: - level-peek: 1.0.6 - once: 1.4.0 - readable-stream: 1.1.14 + lefthook-darwin-arm64: 1.4.7 + lefthook-darwin-x64: 1.4.7 + lefthook-freebsd-arm64: 1.4.7 + lefthook-freebsd-x64: 1.4.7 + lefthook-linux-arm64: 1.4.7 + lefthook-linux-x64: 1.4.7 + lefthook-windows-arm64: 1.4.7 + lefthook-windows-x64: 1.4.7 dev: true /level-codec@7.0.1: @@ -16807,36 +16856,6 @@ packages: errno: 0.1.8 dev: true - /level-filesystem@1.2.0: - resolution: {integrity: sha512-PhXDuCNYpngpxp3jwMT9AYBMgOvB6zxj3DeuIywNKmZqFj2djj9XfT2XDVslfqmo0Ip79cAd3SBy3FsfOZPJ1g==} - dependencies: - concat-stream: 1.6.2 - errno: 0.1.8 - fwd-stream: 1.0.4 - level-blobs: 0.1.7 - level-peek: 1.0.6 - level-sublevel: 5.2.3 - octal: 1.0.0 - once: 1.4.0 - xtend: 2.2.0 - dev: true - - /level-fix-range@1.0.2: - resolution: {integrity: sha512-9llaVn6uqBiSlBP+wKiIEoBa01FwEISFgHSZiyec2S0KpyLUkGR4afW/FCZ/X8y+QJvzS0u4PGOlZDdh1/1avQ==} - dev: true - - /level-fix-range@2.0.0: - resolution: {integrity: sha512-WrLfGWgwWbYPrHsYzJau+5+te89dUbENBg3/lsxOs4p2tYOhCHjbgXxBAj4DFqp3k/XBwitcRXoCh8RoCogASA==} - dependencies: - clone: 0.1.19 - dev: true - - /level-hooks@4.5.0: - resolution: {integrity: sha512-fxLNny/vL/G4PnkLhWsbHnEaRi+A/k8r5EH/M77npZwYL62RHi2fV0S824z3QdpAk6VTgisJwIRywzBHLK4ZVA==} - dependencies: - string-range: 1.2.2 - dev: true - /level-iterator-stream@1.3.1: resolution: {integrity: sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw==} dependencies: @@ -16873,17 +16892,6 @@ packages: xtend: 4.0.2 dev: true - /level-js@2.2.4: - resolution: {integrity: sha512-lZtjt4ZwHE00UMC1vAb271p9qzg8vKlnDeXfIesH3zL0KxhHRDjClQLGLWhyR0nK4XARnd4wc/9eD1ffd4PshQ==} - dependencies: - abstract-leveldown: 0.12.4 - idb-wrapper: 1.7.2 - isbuffer: 0.0.0 - ltgt: 2.2.1 - typedarray-to-buffer: 1.0.4 - xtend: 2.1.2 - dev: true - /level-mem@3.0.1: resolution: {integrity: sha512-LbtfK9+3Ug1UmvvhR2DqLqXiPW1OJ5jEh0a3m9ZgAipiwpSxGj/qaVVy54RG5vAQN1nCuXqjvprCuKSCxcJHBg==} engines: {node: '>=6'} @@ -16916,25 +16924,10 @@ packages: levelup: 4.4.0 dev: true - /level-peek@1.0.6: - resolution: {integrity: sha512-TKEzH5TxROTjQxWMczt9sizVgnmJ4F3hotBI48xCTYvOKd/4gA/uY0XjKkhJFo6BMic8Tqjf6jFMLWeg3MAbqQ==} - dependencies: - level-fix-range: 1.0.2 - dev: true - /level-post@1.0.7: resolution: {integrity: sha512-PWYqG4Q00asOrLhX7BejSajByB4EmG2GaKHfj3h5UmmZ2duciXLPGYWIjBzLECFWUGOZWlm5B20h/n3Gs3HKew==} dependencies: - ltgt: 2.2.1 - dev: true - - /level-sublevel@5.2.3: - resolution: {integrity: sha512-tO8jrFp+QZYrxx/Gnmjawuh1UBiifpvKNAcm4KCogesWr1Nm2+ckARitf+Oo7xg4OHqMW76eAqQ204BoIlscjA==} - dependencies: - level-fix-range: 2.0.0 - level-hooks: 4.5.0 - string-range: 1.2.2 - xtend: 2.0.6 + ltgt: 2.1.3 dev: true /level-sublevel@6.6.4: @@ -17005,18 +16998,6 @@ packages: classic-level: 1.3.0 dev: true - /levelup@0.18.6: - resolution: {integrity: sha512-uB0auyRqIVXx+hrpIUtol4VAPhLRcnxcOsd2i2m6rbFIDarO5dnrupLOStYYpEcu8ZT087Z9HEuYw1wjr6RL6Q==} - dependencies: - bl: 0.8.2 - deferred-leveldown: 0.2.0 - errno: 0.1.8 - prr: 0.0.0 - readable-stream: 1.0.34 - semver: 2.3.2 - xtend: 3.0.0 - dev: true - /levelup@1.3.9: resolution: {integrity: sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==} dependencies: @@ -17198,7 +17179,6 @@ packages: /lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - dev: true /lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} @@ -17294,25 +17274,23 @@ packages: /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: - tslib: 2.6.1 + tslib: 2.4.1 dev: true /lowercase-keys@1.0.1: resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} engines: {node: '>=0.10.0'} - requiresBuild: true dev: true optional: true /lowercase-keys@2.0.0: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} - requiresBuild: true dev: true optional: true - /lru-cache@10.0.0: - resolution: {integrity: sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==} + /lru-cache@10.0.1: + resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} engines: {node: 14 || >=16.14} dev: true @@ -17332,7 +17310,6 @@ packages: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 - dev: true /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} @@ -17378,8 +17355,8 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /magic-string@0.30.2: - resolution: {integrity: sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==} + /magic-string@0.30.3: + resolution: {integrity: sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -17399,7 +17376,7 @@ packages: resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} engines: {node: '>= 10'} dependencies: - agentkeepalive: 4.3.0 + agentkeepalive: 4.5.0 cacache: 15.3.0 http-cache-semantics: 4.1.1 http-proxy-agent: 4.0.1 @@ -17464,7 +17441,7 @@ packages: /match-sorter@6.3.1: resolution: {integrity: sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.15 remove-accents: 0.4.2 dev: false @@ -17473,19 +17450,25 @@ packages: engines: {node: '>=8.9.0'} dev: true + /md5-hex@3.0.1: + resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} + engines: {node: '>=8'} + dependencies: + blueimp-md5: 2.19.0 + dev: true + /md5.js@1.3.5: resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} dependencies: hash-base: 3.1.0 inherits: 2.0.4 safe-buffer: 5.2.1 - dev: true /mdast-util-definitions@5.1.2: resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} dependencies: '@types/mdast': 3.0.12 - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 unist-util-visit: 4.1.2 dev: false @@ -17502,7 +17485,7 @@ packages: resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} dependencies: '@types/mdast': 3.0.12 - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 decode-named-character-reference: 1.0.2 mdast-util-to-string: 3.2.0 micromark: 3.2.0 @@ -17599,7 +17582,7 @@ packages: '@types/estree-jsx': 1.0.0 '@types/hast': 2.3.5 '@types/mdast': 3.0.12 - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 ccount: 2.0.1 mdast-util-from-markdown: 1.3.1 mdast-util-to-markdown: 1.5.0 @@ -17660,7 +17643,7 @@ packages: resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} dependencies: '@types/mdast': 3.0.12 - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 longest-streak: 3.1.0 mdast-util-phrasing: 3.0.1 mdast-util-to-string: 3.2.0 @@ -17681,7 +17664,6 @@ packages: /media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} - requiresBuild: true dev: true optional: true @@ -17767,7 +17749,6 @@ packages: /merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - requiresBuild: true dev: true optional: true @@ -17802,7 +17783,7 @@ packages: /merkle-patricia-tree@3.0.0: resolution: {integrity: sha512-soRaMuNf/ILmw3KWbybaCjhx86EYeBbD8ph0edQCTed0JN/rxDt1EBN52Ajre3VyGo+91f8+/rfPIRQnnGMqmQ==} dependencies: - async: 2.6.4 + async: 2.6.2 ethereumjs-util: 5.2.1 level-mem: 3.0.1 level-ws: 1.0.0 @@ -17822,15 +17803,15 @@ packages: semaphore-async-await: 1.5.1 dev: true - /mermaid@10.3.0: - resolution: {integrity: sha512-H5quxuQjwXC8M1WuuzhAp2TdqGg74t5skfDBrNKJ7dt3z8Wprl5S6h9VJsRhoBUTSs1TMtHEdplLhCqXleZZLw==} + /mermaid@10.4.0: + resolution: {integrity: sha512-4QCQLp79lvz7UZxow5HUX7uWTPJOaQBVExduo91tliXC7v78i6kssZOPHxLL+Xs30KU72cpPn3g3imw/xm/gaw==} dependencies: '@braintree/sanitize-url': 6.0.4 - '@types/d3-scale': 4.0.3 + '@types/d3-scale': 4.0.4 '@types/d3-scale-chromatic': 3.0.0 - cytoscape: 3.25.0 - cytoscape-cose-bilkent: 4.1.0(cytoscape@3.25.0) - cytoscape-fcose: 2.2.0(cytoscape@3.25.0) + cytoscape: 3.26.0 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.26.0) + cytoscape-fcose: 2.2.0(cytoscape@3.26.0) d3: 7.8.5 d3-sankey: 0.12.3 dagre-d3-es: 7.0.10 @@ -17852,10 +17833,13 @@ packages: /methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - requiresBuild: true dev: true optional: true + /micro-ftch@0.3.1: + resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} + dev: true + /micromark-core-commonmark@1.1.0: resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} dependencies: @@ -18129,7 +18113,7 @@ packages: dependencies: '@types/acorn': 4.0.6 '@types/estree': 1.0.1 - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 estree-util-visit: 1.2.1 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 @@ -18253,7 +18237,6 @@ packages: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} hasBin: true - requiresBuild: true dev: true optional: true @@ -18276,14 +18259,12 @@ packages: /mimic-response@1.0.1: resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} engines: {node: '>=4'} - requiresBuild: true dev: true optional: true /mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} - requiresBuild: true dev: true optional: true @@ -18397,7 +18378,6 @@ packages: /minipass@2.9.0: resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} - requiresBuild: true dependencies: safe-buffer: 5.2.1 yallist: 3.1.1 @@ -18421,14 +18401,13 @@ packages: engines: {node: '>=8'} dev: true - /minipass@7.0.2: - resolution: {integrity: sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==} + /minipass@7.0.3: + resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} engines: {node: '>=16 || 14 >=14.17'} dev: true /minizlib@1.3.3: resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} - requiresBuild: true dependencies: minipass: 2.9.0 dev: true @@ -18454,7 +18433,6 @@ packages: resolution: {integrity: sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==} engines: {node: '>=4'} deprecated: This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that. - requiresBuild: true dependencies: mkdirp: 3.0.1 dev: true @@ -18480,21 +18458,26 @@ packages: hasBin: true dev: true + /mkdirp@2.1.6: + resolution: {integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==} + engines: {node: '>=10'} + hasBin: true + dev: true + /mkdirp@3.0.1: resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} engines: {node: '>=10'} hasBin: true - requiresBuild: true dev: true optional: true - /mlly@1.4.0: - resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==} + /mlly@1.4.2: + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} dependencies: acorn: 8.10.0 pathe: 1.1.1 pkg-types: 1.0.3 - ufo: 1.2.0 + ufo: 1.3.0 dev: true /mnemonist@0.38.5: @@ -18595,7 +18578,6 @@ packages: /mock-fs@4.14.0: resolution: {integrity: sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==} - requiresBuild: true dev: true optional: true @@ -18640,7 +18622,6 @@ packages: /multibase@0.6.1: resolution: {integrity: sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==} deprecated: This module has been superseded by the multiformats module - requiresBuild: true dependencies: base-x: 3.0.9 buffer: 5.7.1 @@ -18650,7 +18631,6 @@ packages: /multibase@0.7.0: resolution: {integrity: sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==} deprecated: This module has been superseded by the multiformats module - requiresBuild: true dependencies: base-x: 3.0.9 buffer: 5.7.1 @@ -18660,7 +18640,6 @@ packages: /multicodec@0.5.7: resolution: {integrity: sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==} deprecated: This module has been superseded by the multiformats module - requiresBuild: true dependencies: varint: 5.0.2 dev: true @@ -18669,7 +18648,6 @@ packages: /multicodec@1.0.4: resolution: {integrity: sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==} deprecated: This module has been superseded by the multiformats module - requiresBuild: true dependencies: buffer: 5.7.1 varint: 5.0.2 @@ -18681,7 +18659,6 @@ packages: /multihashes@0.4.21: resolution: {integrity: sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==} - requiresBuild: true dependencies: buffer: 5.7.1 multibase: 0.7.0 @@ -18711,7 +18688,6 @@ packages: /nano-json-stream-parser@0.1.2: resolution: {integrity: sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==} - requiresBuild: true dev: true optional: true @@ -18827,7 +18803,7 @@ packages: '@next/env': 13.4.12 '@swc/helpers': 0.5.1 busboy: 1.6.0 - caniuse-lite: 1.0.30001519 + caniuse-lite: 1.0.30001527 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -18857,7 +18833,7 @@ packages: react: '>=16.13.1' react-dom: '>=16.13.1' dependencies: - '@headlessui/react': 1.7.16(react-dom@18.2.0)(react@18.2.0) + '@headlessui/react': 1.7.17(react-dom@18.2.0)(react@18.2.0) '@popperjs/core': 2.11.8 clsx: 1.2.1 flexsearch: 0.7.31 @@ -18872,7 +18848,7 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) scroll-into-view-if-needed: 3.0.10 - zod: 3.21.4 + zod: 3.22.2 dev: false /nextra@2.10.0(next@13.4.12)(react-dom@18.2.0)(react@18.2.0): @@ -18883,10 +18859,10 @@ packages: react: '>=16.13.1' react-dom: '>=16.13.1' dependencies: - '@headlessui/react': 1.7.16(react-dom@18.2.0)(react@18.2.0) + '@headlessui/react': 1.7.17(react-dom@18.2.0)(react@18.2.0) '@mdx-js/mdx': 2.3.0 '@mdx-js/react': 2.3.0(react@18.2.0) - '@napi-rs/simple-git': 0.1.8 + '@napi-rs/simple-git': 0.1.9 '@theguild/remark-mermaid': 0.0.4(react@18.2.0) '@theguild/remark-npm2yarn': 0.1.1 clsx: 1.2.1 @@ -18901,16 +18877,16 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) rehype-katex: 6.0.3 - rehype-pretty-code: 0.9.11(shiki@0.14.3) + rehype-pretty-code: 0.9.11(shiki@0.14.4) remark-gfm: 3.0.1 remark-math: 5.1.1 remark-reading-time: 2.0.1 - shiki: 0.14.3 + shiki: 0.14.4 slash: 3.0.0 title: 3.5.3 unist-util-remove: 4.0.0 unist-util-visit: 5.0.0 - zod: 3.21.4 + zod: 3.22.2 transitivePeerDependencies: - supports-color dev: false @@ -18923,7 +18899,7 @@ packages: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 - tslib: 2.6.1 + tslib: 2.4.1 dev: true /node-addon-api@2.0.2: @@ -18943,7 +18919,7 @@ packages: /node-environment-flags@1.0.6: resolution: {integrity: sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==} dependencies: - object.getownpropertydescriptors: 2.1.6 + object.getownpropertydescriptors: 2.1.7 semver: 5.7.2 dev: true @@ -18954,8 +18930,8 @@ packages: is-stream: 1.1.0 dev: true - /node-fetch@2.6.12: - resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 @@ -18974,8 +18950,8 @@ packages: formdata-polyfill: 4.0.10 dev: true - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-gyp-build@4.6.1: + resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} hasBin: true /node-gyp@8.4.1: @@ -18991,7 +18967,7 @@ packages: npmlog: 6.0.2 rimraf: 3.0.2 semver: 7.5.4 - tar: 6.1.15 + tar: 6.2.0 which: 2.0.2 transitivePeerDependencies: - bluebird @@ -19004,10 +18980,9 @@ packages: /node-releases@2.0.13: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} - dev: true - /node-sass@7.0.3: - resolution: {integrity: sha512-8MIlsY/4dXUkJDYht9pIWBhMil3uHmE8b/AdJPjmFn1nBx9X9BASzfzmsCy0uCCb8eqI3SYYzVPDswWqSx7gjw==} + /node-sass@7.0.1: + resolution: {integrity: sha512-uMy+Xt29NlqKCFdFRZyXKOTqGt+QaKHexv9STj2WeLottnlqZEEWx6Bj0MXNthmFRRdM/YwyNo/8Tr46TOM0jQ==} engines: {node: '>=12'} hasBin: true requiresBuild: true @@ -19024,7 +18999,7 @@ packages: node-gyp: 8.4.1 npmlog: 5.0.1 request: 2.88.2 - sass-graph: 4.0.1 + sass-graph: 4.0.0 stdout-stream: 1.4.1 true-case-path: 1.0.3 transitivePeerDependencies: @@ -19045,7 +19020,7 @@ packages: resolution: {integrity: sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==} hasBin: true dependencies: - abbrev: 1.1.1 + abbrev: 1.0.9 dev: true /nopt@5.0.0: @@ -19060,7 +19035,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.3 + resolve: 1.22.4 semver: 5.7.2 validate-npm-package-license: 3.0.4 dev: true @@ -19070,7 +19045,7 @@ packages: engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.12.1 + is-core-module: 2.13.0 semver: 7.5.4 validate-npm-package-license: 3.0.4 dev: true @@ -19088,14 +19063,12 @@ packages: /normalize-url@4.5.1: resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} engines: {node: '>=8'} - requiresBuild: true dev: true optional: true /normalize-url@6.1.0: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} - requiresBuild: true dev: true optional: true @@ -19201,15 +19174,6 @@ packages: define-properties: 1.2.0 dev: true - /object-keys@0.2.0: - resolution: {integrity: sha512-XODjdR2pBh/1qrjPcbSeSgEtKbYo7LqYNq64/TPuCf7j9SfDD3i21yatKoIy39yIWNvVM59iutfQQpCv1RfFzA==} - deprecated: Please update to the latest object-keys - dependencies: - foreach: 2.0.6 - indexof: 0.0.1 - is: 0.2.7 - dev: true - /object-keys@0.4.0: resolution: {integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==} dev: true @@ -19246,33 +19210,15 @@ packages: object-keys: 1.1.1 dev: true - /object.fromentries@2.0.6: - resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - dev: true - - /object.getownpropertydescriptors@2.1.6: - resolution: {integrity: sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==} + /object.getownpropertydescriptors@2.1.7: + resolution: {integrity: sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==} engines: {node: '>= 0.8'} dependencies: - array.prototype.reduce: 1.0.5 + array.prototype.reduce: 1.0.6 call-bind: 1.0.2 define-properties: 1.2.0 es-abstract: 1.22.1 - safe-array-concat: 1.0.0 - dev: true - - /object.groupby@1.0.0: - resolution: {integrity: sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - get-intrinsic: 1.2.1 + safe-array-concat: 1.0.1 dev: true /object.pick@1.3.0: @@ -19282,8 +19228,8 @@ packages: isobject: 3.0.1 dev: true - /object.values@1.1.6: - resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} + /object.values@1.1.7: + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -19297,23 +19243,17 @@ packages: /oboe@2.1.4: resolution: {integrity: sha512-ymBJ4xSC6GBXLT9Y7lirj+xbqBLa+jADGJldGEYG7u8sZbS9GyG+u1Xk9c5cbriKwSpCg41qUhPjvU5xOpvIyQ==} - requiresBuild: true dependencies: http-https: 1.0.0 dev: true optional: true - /octal@1.0.0: - resolution: {integrity: sha512-nnda7W8d+A3vEIY+UrDQzzboPf1vhs4JYVhff5CDkq9QNoZY7Xrxeo/htox37j9dZf7yNHevZzqtejWgy1vCqQ==} - dev: true - /on-exit-leak-free@0.2.0: resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==} /on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} - requiresBuild: true dependencies: ee-first: 1.1.1 dev: true @@ -19405,14 +19345,12 @@ packages: /p-cancelable@1.1.0: resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} engines: {node: '>=6'} - requiresBuild: true dev: true optional: true /p-cancelable@2.1.1: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} engines: {node: '>=8'} - requiresBuild: true dev: true optional: true @@ -19500,7 +19438,7 @@ packages: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 - tslib: 2.6.1 + tslib: 2.4.1 dev: true /parent-module@1.0.1: @@ -19527,7 +19465,7 @@ packages: /parse-entities@4.0.1: resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 character-entities: 2.0.2 character-entities-legacy: 3.0.0 character-reference-invalid: 2.0.1 @@ -19560,7 +19498,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.22.13 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -19594,7 +19532,6 @@ packages: /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} - requiresBuild: true dev: true optional: true @@ -19602,7 +19539,7 @@ packages: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 - tslib: 2.6.1 + tslib: 2.4.1 dev: true /pascalcase@0.1.1: @@ -19660,7 +19597,7 @@ packages: resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} dependencies: dot-case: 3.0.4 - tslib: 2.6.1 + tslib: 2.4.1 dev: true /path-exists@2.1.0: @@ -19704,14 +19641,13 @@ packages: /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true /path-scurry@1.10.1: resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 10.0.0 - minipass: 7.0.2 + lru-cache: 10.0.1 + minipass: 7.0.3 dev: true /path-starts-with@2.0.1: @@ -19721,7 +19657,6 @@ packages: /path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - requiresBuild: true dev: true optional: true @@ -19756,7 +19691,6 @@ packages: ripemd160: 2.0.2 safe-buffer: 5.2.1 sha.js: 2.4.11 - dev: true /performance-now@2.1.0: resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} @@ -19852,13 +19786,13 @@ packages: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: jsonc-parser: 3.2.0 - mlly: 1.4.0 + mlly: 1.4.2 pathe: 1.1.1 dev: true - /playwright-core@1.36.2: - resolution: {integrity: sha512-sQYZt31dwkqxOrP7xy2ggDfEzUxM1lodjhsQ3NMMv5uGTRDsLxU0e4xf4wwMkF2gplIxf17QMBCodSFgm6bFVQ==} - engines: {node: '>=16'} + /playwright-core@1.28.1: + resolution: {integrity: sha512-3PixLnGPno0E8rSBJjtwqTwJe3Yw72QwBBBxNoukIj3lEeBNXwbNiKrNuB1oyQgTBw5QHUhNO3SteEtHaMK6ag==} + engines: {node: '>=14'} hasBin: true dev: true @@ -19909,7 +19843,7 @@ packages: postcss: 8.4.27 postcss-value-parser: 4.2.0 read-cache: 1.0.0 - resolve: 1.22.3 + resolve: 1.22.4 dev: true /postcss-js@4.0.1(postcss@8.4.27): @@ -19961,62 +19895,64 @@ packages: dependencies: lilconfig: 2.1.0 postcss: 8.4.27 - yaml: 2.3.1 + yaml: 2.3.2 dev: true - /postcss-loader@7.3.3(postcss@8.4.27)(webpack@5.88.2): + /postcss-loader@7.3.3(postcss@8.4.27)(typescript@4.9.5)(webpack@5.88.2): resolution: {integrity: sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==} engines: {node: '>= 14.15.0'} peerDependencies: postcss: ^7.0.0 || ^8.0.1 webpack: ^5.0.0 dependencies: - cosmiconfig: 8.2.0 - jiti: 1.19.1 + cosmiconfig: 8.3.4(typescript@4.9.5) + jiti: 1.19.3 postcss: 8.4.27 semver: 7.5.4 webpack: 5.88.2(esbuild@0.15.13) + transitivePeerDependencies: + - typescript dev: true - /postcss-modules-extract-imports@3.0.0(postcss@8.4.27): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.29): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.27 + postcss: 8.4.29 dev: true - /postcss-modules-local-by-default@4.0.3(postcss@8.4.27): + /postcss-modules-local-by-default@4.0.3(postcss@8.4.29): resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.27) - postcss: 8.4.27 + icss-utils: 5.1.0(postcss@8.4.29) + postcss: 8.4.29 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope@3.0.0(postcss@8.4.27): + /postcss-modules-scope@3.0.0(postcss@8.4.29): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.27 + postcss: 8.4.29 postcss-selector-parser: 6.0.13 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.27): + /postcss-modules-values@4.0.0(postcss@8.4.29): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.27) - postcss: 8.4.27 + icss-utils: 5.1.0(postcss@8.4.29) + postcss: 8.4.29 dev: true /postcss-nested@6.0.1(postcss@8.4.27): @@ -20048,15 +19984,6 @@ packages: postcss: 8.4.27 dev: true - /postcss-scss@4.0.6(postcss@8.4.27): - resolution: {integrity: sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.4.19 - dependencies: - postcss: 8.4.27 - dev: true - /postcss-selector-parser@6.0.13: resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} engines: {node: '>=4'} @@ -20095,13 +20022,22 @@ packages: source-map-js: 1.0.2 dev: true + /postcss@8.4.29: + resolution: {integrity: sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + /postinstall-postinstall@2.1.0: resolution: {integrity: sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ==} requiresBuild: true dev: true - /preact@10.16.0: - resolution: {integrity: sha512-XTSj3dJ4roKIC93pald6rWuB2qQJO9gO2iLLyTe87MrjQN+HklueLsmskbywEWqCHlclgz3/M4YLL2iBr9UmMA==} + /preact@10.17.1: + resolution: {integrity: sha512-X9BODrvQ4Ekwv9GURm9AKAGaomqXmip7NQTZgY7gcNmr7XE83adOMJvd3N42id1tMFU7ojiynRsYnY6/BRFxLA==} /preact@10.4.1: resolution: {integrity: sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q==} @@ -20125,7 +20061,6 @@ packages: /prepend-http@2.0.0: resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} engines: {node: '>=4'} - requiresBuild: true dev: true optional: true @@ -20136,24 +20071,24 @@ packages: fast-diff: 1.3.0 dev: true - /prettier-plugin-svelte@2.10.1(prettier@2.7.1)(svelte@3.59.2): - resolution: {integrity: sha512-Wlq7Z5v2ueCubWo0TZzKc9XHcm7TDxqcuzRuGd0gcENfzfT4JZ9yDlCbEgxWgiPmLHkBjfOtpAWkcT28MCDpUQ==} + /prettier-plugin-svelte@2.9.0(prettier@2.7.1)(svelte@3.53.1): + resolution: {integrity: sha512-3doBi5NO4IVgaNPtwewvrgPpqAcvNv0NwJNflr76PIGgi9nf1oguQV1Hpdm9TI2ALIQVn/9iIwLpBO5UcD2Jiw==} peerDependencies: prettier: ^1.16.4 || ^2.0.0 - svelte: ^3.2.0 || ^4.0.0-next.0 + svelte: ^3.2.0 dependencies: prettier: 2.7.1 - svelte: 3.59.2 + svelte: 3.53.1 dev: true - /prettier-plugin-svelte@3.0.3(prettier@3.0.1)(svelte@4.1.2): - resolution: {integrity: sha512-dLhieh4obJEK1hnZ6koxF+tMUrZbV5YGvRpf2+OADyanjya5j0z1Llo8iGwiHmFWZVG/hLEw/AJD5chXd9r3XA==} + /prettier-plugin-svelte@3.0.0(prettier@3.0.0)(svelte@4.1.0): + resolution: {integrity: sha512-l3RQcPty2UBCoRh3yb9c5XCAmxkrc4BptAnbd5acO1gmSJtChOWkiEjnOvh7hvmtT4V80S8gXCOKAq8RNeIzSw==} peerDependencies: prettier: ^3.0.0 svelte: ^3.2.0 || ^4.0.0-next.0 dependencies: - prettier: 3.0.1 - svelte: 4.1.2 + prettier: 3.0.0 + svelte: 4.1.0 dev: true /prettier@2.7.1: @@ -20168,8 +20103,8 @@ packages: hasBin: true dev: true - /prettier@3.0.1: - resolution: {integrity: sha512-fcOWSnnpCrovBsmFZIGIy9UqK2FaI7Hqax+DIO0A9UxeVoY4iweyaFjS5TavZN97Hfehph0nhsZnjlVKzEQSrQ==} + /prettier@3.0.0: + resolution: {integrity: sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==} engines: {node: '>=14'} hasBin: true dev: true @@ -20190,15 +20125,6 @@ packages: react-is: 17.0.2 dev: true - /pretty-format@29.6.2: - resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.0 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - /pretty-hrtime@1.0.3: resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} engines: {node: '>= 0.8'} @@ -20277,8 +20203,8 @@ packages: signal-exit: 3.0.7 dev: true - /property-information@6.2.0: - resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==} + /property-information@6.3.0: + resolution: {integrity: sha512-gVNZ74nqhRMiIUYWGQdosYetaKc83x8oT41a0LlV3AAFCAZwCpg4vmGkq8t34+cUhp3cnM4XDiU/7xlgK7HGrg==} dev: false /protocols@2.0.1: @@ -20288,7 +20214,6 @@ packages: /proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} - requiresBuild: true dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 @@ -20301,10 +20226,6 @@ packages: /proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - /prr@0.0.0: - resolution: {integrity: sha512-LmUECmrW7RVj6mDWKjTXfKug7TFGdiz9P18HMcO4RHL+RW7MCOGNvpj5j47Rnp6ne6r4fZ2VzyUWEpKbg+tsjQ==} - dev: true - /prr@1.0.1: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} dev: true @@ -20370,7 +20291,6 @@ packages: /pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - requiresBuild: true dependencies: end-of-stream: 1.4.4 once: 1.4.0 @@ -20418,7 +20338,6 @@ packages: /qs@6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} - requiresBuild: true dependencies: side-channel: 1.0.4 dev: true @@ -20438,7 +20357,6 @@ packages: /query-string@5.1.1: resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} engines: {node: '>=0.10.0'} - requiresBuild: true dependencies: decode-uri-component: 0.2.2 object-assign: 4.1.1 @@ -20509,14 +20427,12 @@ packages: /range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - requiresBuild: true dev: true optional: true /raw-body@2.5.1: resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} engines: {node: '>= 0.8'} - requiresBuild: true dependencies: bytes: 3.1.2 http-errors: 2.0.0 @@ -20549,10 +20465,6 @@ packages: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} dev: true - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true - /react@18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} @@ -20665,7 +20577,7 @@ packages: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} dependencies: - resolve: 1.22.3 + resolve: 1.22.4 dev: true /recursive-readdir@2.2.3: @@ -20698,8 +20610,8 @@ packages: resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==} dev: true - /regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + /regenerator-runtime@0.14.0: + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} /regenerator-transform@0.10.1: resolution: {integrity: sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==} @@ -20709,10 +20621,10 @@ packages: private: 0.1.8 dev: true - /regenerator-transform@0.15.1: - resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} + /regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.15 dev: true /regex-not@1.0.2: @@ -20732,8 +20644,8 @@ packages: functions-have-names: 1.2.3 dev: true - /regexparam@2.0.1: - resolution: {integrity: sha512-zRgSaYemnNYxUv+/5SeoHI0eJIgTL/A2pUtXUPLHQxUldagouJ9p+K6IbIZ/JiQuCEv2E2B1O11SjVQy3aMCkw==} + /regexparam@2.0.0: + resolution: {integrity: sha512-gJKwd2MVPWHAIFLsaYDZfyKzHNS4o7E/v8YmNf44vmeV2e4YfVoDToTOKTvE7ab68cRJ++kLuEXJBaEeJVt5ow==} engines: {node: '>=8'} dev: false @@ -20791,7 +20703,7 @@ packages: unist-util-visit: 4.1.2 dev: false - /rehype-pretty-code@0.9.11(shiki@0.14.3): + /rehype-pretty-code@0.9.11(shiki@0.14.4): resolution: {integrity: sha512-Eq90eCYXQJISktfRZ8PPtwc5SUyH6fJcxS8XOMnHPUQZBtC6RYo67gGlley9X2nR8vlniPj0/7oCDEYHKQa/oA==} engines: {node: '>=16'} peerDependencies: @@ -20800,7 +20712,7 @@ packages: '@types/hast': 2.3.5 hash-obj: 4.0.0 parse-numeric-range: 1.3.0 - shiki: 0.14.3 + shiki: 0.14.4 dev: false /relateurl@0.2.7: @@ -20995,7 +20907,6 @@ packages: /resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - requiresBuild: true dev: true optional: true @@ -21041,27 +20952,16 @@ packages: path-parse: 1.0.7 dev: true - /resolve@1.22.2: - resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} - hasBin: true - dependencies: - is-core-module: 2.12.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /resolve@1.22.3: - resolution: {integrity: sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==} + /resolve@1.22.4: + resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} hasBin: true dependencies: - is-core-module: 2.12.1 + is-core-module: 2.13.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true /responselike@1.0.2: resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} - requiresBuild: true dependencies: lowercase-keys: 1.0.1 dev: true @@ -21069,7 +20969,6 @@ packages: /responselike@2.0.1: resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} - requiresBuild: true dependencies: lowercase-keys: 2.0.0 dev: true @@ -21099,11 +20998,6 @@ packages: engines: {node: '>= 4'} dev: true - /retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} - dev: true - /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -21128,14 +21022,12 @@ packages: dependencies: hash-base: 3.1.0 inherits: 2.0.4 - dev: true /rlp@2.2.7: resolution: {integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==} hasBin: true dependencies: bn.js: 5.2.1 - dev: true /rlp@3.0.0: resolution: {integrity: sha512-PD6U2PGk6Vq2spfgiWZdomLvRGDreBLxi5jv5M8EpRo3pU6VEm31KO+HFxE18Q3vgqfDrQ9pZA3FP95rkijNKw==} @@ -21146,10 +21038,9 @@ packages: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} dev: false - /rollup-plugin-node-builtins@2.1.2: - resolution: {integrity: sha512-bxdnJw8jIivr2yEyt8IZSGqZkygIJOGAWypXvHXnwKAbUcN4Q/dGTx7K0oAJryC/m6aq6tKutltSeXtuogU6sw==} + /rollup-plugin-node-builtins@2.0.0: + resolution: {integrity: sha512-jvsEYNf5U95YttEQbs5c6H7YSMYGs3SWA8/MfnlQ9ddijsgYbq8uKx4WQ1J8Zyrq+tgPF0Quu48PURrlcMZWoQ==} dependencies: - browserify-fs: 1.0.0 buffer-es6: 4.9.3 crypto-browserify: 3.12.0 process-es6: 0.11.6 @@ -21169,21 +21060,21 @@ packages: engines: {node: '>=10.0.0'} hasBin: true optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true - /rollup@3.27.1: - resolution: {integrity: sha512-tXNDFwOkN6C2w5Blj1g6ForKeFw6c1mDu5jxoeDO3/pmYjgt+8yvIFjKzH5FQUq70OKZBkOt0zzv0THXL7vwzQ==} + /rollup@3.29.0: + resolution: {integrity: sha512-nszM8DINnx1vSS+TpbWKMkxem0CDWk3cSit/WWCBVs9/JZ1I/XLwOsiUglYuYReaeWWSsW9kge5zE5NZtf/a4w==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true - /rpc-websockets@7.5.1: - resolution: {integrity: sha512-kGFkeTsmd37pHPMaHIgN1LVKXMi0JD782v4Ds9ZKtLlwdTKjn+CxM9A9/gLT2LaOuEcEFGL98h1QWQtlOIdW0w==} + /rpc-websockets@7.6.0: + resolution: {integrity: sha512-Jgcs8q6t8Go98dEulww1x7RysgTkzpCMelVxZW4hvuyFtOGpeUz9prpr2KjUa/usqxgFCd9Tu3+yhHEP9GVmiQ==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.15 eventemitter3: 4.0.7 uuid: 8.3.2 ws: 8.13.0(bufferutil@4.0.7)(utf-8-validate@5.0.10) @@ -21224,7 +21115,7 @@ packages: /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: - tslib: 2.6.1 + tslib: 2.6.2 dev: true /sade@1.8.1: @@ -21233,8 +21124,8 @@ packages: dependencies: mri: 1.2.0 - /safe-array-concat@1.0.0: - resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==} + /safe-array-concat@1.0.1: + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} engines: {node: '>=0.4'} dependencies: call-bind: 1.0.2 @@ -21255,7 +21146,6 @@ packages: deprecated: Renamed to @metamask/safe-event-emitter dependencies: events: 3.3.0 - dev: true /safe-json-utils@1.1.1: resolution: {integrity: sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ==} @@ -21290,24 +21180,24 @@ packages: rimraf: 2.7.1 dev: true - /sass-graph@4.0.1: - resolution: {integrity: sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA==} + /sass-graph@4.0.0: + resolution: {integrity: sha512-WSO/MfXqKH7/TS8RdkCX3lVkPFQzCgbqdGsmSKq6tlPU+GpGEsa/5aW18JqItnqh+lPtcjifqdZ/VmiILkKckQ==} engines: {node: '>=12'} hasBin: true dependencies: glob: 7.2.3 lodash: 4.17.21 - scss-tokenizer: 0.4.3 + scss-tokenizer: 0.3.0 yargs: 17.7.2 dev: true - /sass@1.64.2: - resolution: {integrity: sha512-TnDlfc+CRnUAgLO9D8cQLFu/GIjJIzJCGkE7o4ekIGQOH7T3GetiRR/PsTWJUHhkzcSPrARkPI+gNWn5alCzDg==} + /sass@1.66.1: + resolution: {integrity: sha512-50c+zTsZOJVgFfTgwwEzkjA3/QACgdNsKueWPyAR0mRINIvLAStVQBbPg14iuqEQ74NPDbXzJARJ/O4SI1zftA==} engines: {node: '>=14.0.0'} hasBin: true dependencies: chokidar: 3.5.3 - immutable: 4.3.2 + immutable: 4.3.4 source-map-js: 1.0.2 dev: true @@ -21375,14 +21265,13 @@ packages: /scryptsy@1.2.1: resolution: {integrity: sha512-aldIRgMozSJ/Gl6K6qmJZysRP82lz83Wb42vl4PWN8SaLFHIaOzLPc9nUUW2jQN88CuGm5q5HefJ9jZ3nWSmTw==} - requiresBuild: true dependencies: pbkdf2: 3.1.2 dev: true optional: true - /scss-tokenizer@0.4.3: - resolution: {integrity: sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw==} + /scss-tokenizer@0.3.0: + resolution: {integrity: sha512-14Zl9GcbBvOT9057ZKjpz5yPOyUWG2ojd9D5io28wHRYsOrs7U95Q+KNL87+32p8rc+LvDpbu/i9ZYjM9Q+FsQ==} dependencies: js-base64: 2.6.4 source-map: 0.7.4 @@ -21395,8 +21284,7 @@ packages: dependencies: elliptic: 6.5.4 node-addon-api: 2.0.2 - node-gyp-build: 4.6.0 - dev: true + node-gyp-build: 4.6.1 /section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} @@ -21420,11 +21308,6 @@ packages: engines: {node: '>=0.8.0'} dev: true - /semver@2.3.2: - resolution: {integrity: sha512-abLdIKCosKfpnmhS52NCTjO4RiLspDfsn37prjzGrp9im5DPJOgh82Os92vtwGh6XdQryKI/7SREZnV+aqiXrA==} - hasBin: true - dev: true - /semver@5.4.1: resolution: {integrity: sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==} hasBin: true @@ -21438,7 +21321,6 @@ packages: /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - dev: true /semver@7.5.4: resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} @@ -21450,7 +21332,6 @@ packages: /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} - requiresBuild: true dependencies: debug: 2.6.9 depd: 2.0.0 @@ -21474,7 +21355,7 @@ packages: resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} dependencies: no-case: 3.0.4 - tslib: 2.6.1 + tslib: 2.4.1 upper-case-first: 2.0.2 dev: true @@ -21493,7 +21374,6 @@ packages: /serve-static@1.15.0: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} - requiresBuild: true dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 @@ -21507,7 +21387,6 @@ packages: /servify@0.1.12: resolution: {integrity: sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==} engines: {node: '>=6'} - requiresBuild: true dependencies: body-parser: 1.20.2 cors: 2.8.5 @@ -21547,7 +21426,6 @@ packages: /setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - dev: true /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} @@ -21599,8 +21477,8 @@ packages: rechoir: 0.6.2 dev: true - /shiki@0.14.3: - resolution: {integrity: sha512-U3S/a+b0KS+UkTyMjoNojvTgrBHjgp7L6ovhFVZsXmBGnVdQ4K4U9oK0z63w538S91ATngv1vXigHCSWOwnr+g==} + /shiki@0.14.4: + resolution: {integrity: sha512-IXCRip2IQzKwxArNNq1S+On4KPML3Yyn8Zzs/xRgcgOWIr8ntIK3IKzjFPfjy/7kt9ZMjc+FItfqHRBg8b6tNQ==} dependencies: ansi-sequence-parser: 1.1.1 jsonc-parser: 3.2.0 @@ -21624,13 +21502,11 @@ packages: /simple-concat@1.0.1: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - requiresBuild: true dev: true optional: true /simple-get@2.8.2: resolution: {integrity: sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==} - requiresBuild: true dependencies: decompress-response: 3.3.0 once: 1.4.0 @@ -21688,7 +21564,7 @@ packages: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: dot-case: 3.0.4 - tslib: 2.6.1 + tslib: 2.4.1 dev: true /snapdragon-node@2.1.1: @@ -21786,17 +21662,17 @@ packages: - debug dev: true - /solhint@3.4.1: + /solhint@3.4.1(typescript@4.9.5): resolution: {integrity: sha512-pzZn2RlZhws1XwvLPVSsxfHrwsteFf5eySOhpAytzXwKQYbTCJV6z8EevYDiSVKMpWrvbKpEtJ055CuEmzp4Xg==} hasBin: true dependencies: '@solidity-parser/parser': 0.16.1 ajv: 6.12.6 - antlr4: 4.13.0 + antlr4: 4.13.1 ast-parents: 0.0.1 chalk: 4.1.2 commander: 10.0.1 - cosmiconfig: 8.2.0 + cosmiconfig: 8.3.4(typescript@4.9.5) fast-diff: 1.3.0 glob: 8.1.0 ignore: 5.2.4 @@ -21809,20 +21685,24 @@ packages: text-table: 0.2.0 optionalDependencies: prettier: 2.8.8 + transitivePeerDependencies: + - typescript dev: true - /solidity-ast@0.4.49: - resolution: {integrity: sha512-Pr5sCAj1SFqzwFZw1HPKSq0PehlQNdM8GwKyAVYh2DOn7/cCK8LUKD1HeHnKtTgBW7hi9h4nnnan7hpAg5RhWQ==} + /solidity-ast@0.4.52: + resolution: {integrity: sha512-iOya9BSiB9jhM8Vf40n8lGELGzwrUc57rl5BhfNtJ5cvAaMvRcNlHeAMNvqJJyjoUnczqRbHqdivEqK89du3Cw==} + dependencies: + array.prototype.findlast: 1.2.3 dev: true - /solidity-docgen@0.6.0-beta.35(hardhat@2.17.1): + /solidity-docgen@0.6.0-beta.35(hardhat@2.14.0): resolution: {integrity: sha512-9QdwK1THk/MWIdq1PEW/6dvtND0pUqpFTsbKwwU9YQIMYuRhH1lek9SsgnsGGYtdJ0VTrXXcVT30q20a8Y610A==} peerDependencies: hardhat: ^2.8.0 dependencies: handlebars: 4.7.8 - hardhat: 2.17.1(ts-node@10.9.1)(typescript@4.9.5) - solidity-ast: 0.4.49 + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) + solidity-ast: 0.4.52 dev: true /sonic-boom@2.8.0: @@ -22023,8 +21903,8 @@ packages: engines: {node: '>= 0.8'} dev: true - /std-env@3.3.3: - resolution: {integrity: sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==} + /std-env@3.4.3: + resolution: {integrity: sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==} dev: true /stdin-discarder@0.1.0: @@ -22068,7 +21948,6 @@ packages: /strict-uri-encode@1.1.0: resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} engines: {node: '>=0.10.0'} - requiresBuild: true dev: true optional: true @@ -22084,10 +21963,6 @@ packages: strip-ansi: 6.0.1 dev: true - /string-range@1.2.2: - resolution: {integrity: sha512-tYft6IFi8SjplJpxCUxyqisD3b+R2CSkomrtJYCkvuf1KuCAWgz7YXt4O0jip7efpfCemwHEzTEAO8EuOYgh3w==} - dev: true - /string-width@1.0.2: resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} engines: {node: '>=0.10.0'} @@ -22138,8 +22013,8 @@ packages: es-abstract: 1.22.1 dev: true - /string.prototype.trimstart@1.0.6: - resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + /string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: call-bind: 1.0.2 define-properties: 1.2.0 @@ -22243,7 +22118,6 @@ packages: engines: {node: '>=6.5.0', npm: '>=3'} dependencies: is-hex-prefixed: 1.0.0 - dev: true /strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} @@ -22340,7 +22214,6 @@ packages: engines: {node: '>=4'} dependencies: has-flag: 3.0.0 - dev: true /supports-color@6.0.0: resolution: {integrity: sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==} @@ -22373,22 +22246,21 @@ packages: /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - dev: true - /svelte-check@2.10.3(@babel/core@7.22.9)(node-sass@7.0.3)(postcss@8.4.27)(svelte@3.59.2): - resolution: {integrity: sha512-Nt1aWHTOKFReBpmJ1vPug0aGysqPwJh2seM1OvICfM2oeyaA62mOiy5EvkXhltGfhCcIQcq2LoE0l1CwcWPjlw==} + /svelte-check@2.8.0(@babel/core@7.22.15)(node-sass@7.0.1)(postcss@8.4.27)(svelte@3.53.1): + resolution: {integrity: sha512-HRL66BxffMAZusqe5I5k26mRWQ+BobGd9Rxm3onh7ZVu0nTk8YTKJ9vu3LVPjUGLU9IX7zS+jmwPVhJYdXJ8vg==} hasBin: true peerDependencies: svelte: ^3.24.0 dependencies: - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.19 chokidar: 3.5.3 fast-glob: 3.3.1 import-fresh: 3.3.0 picocolors: 1.0.0 sade: 1.8.1 - svelte: 3.59.2 - svelte-preprocess: 4.10.7(@babel/core@7.22.9)(node-sass@7.0.3)(postcss@8.4.27)(svelte@3.59.2)(typescript@4.9.5) + svelte: 3.53.1 + svelte-preprocess: 4.10.7(@babel/core@7.22.15)(node-sass@7.0.1)(postcss@8.4.27)(svelte@3.53.1)(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - '@babel/core' @@ -22403,20 +22275,20 @@ packages: - sugarss dev: true - /svelte-check@3.4.6(postcss@8.4.27)(svelte@4.1.2): + /svelte-check@3.4.6(postcss@8.4.27)(svelte@4.1.0): resolution: {integrity: sha512-OBlY8866Zh1zHQTkBMPS6psPi7o2umTUyj6JWm4SacnIHXpWFm658pG32m3dKvKFL49V4ntAkfFHKo4ztH07og==} hasBin: true peerDependencies: svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 dependencies: - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.19 chokidar: 3.5.3 fast-glob: 3.3.1 import-fresh: 3.3.0 picocolors: 1.0.0 sade: 1.8.1 - svelte: 4.1.2 - svelte-preprocess: 5.0.4(postcss@8.4.27)(svelte@4.1.2)(typescript@5.1.6) + svelte: 4.1.0 + svelte-preprocess: 5.0.4(postcss@8.4.27)(svelte@4.1.0)(typescript@5.1.6) typescript: 5.1.6 transitivePeerDependencies: - '@babel/core' @@ -22434,113 +22306,98 @@ packages: resolution: {integrity: sha512-oU+Xv7Dl4kRU2kdFjsoPLfJfnt5hUhsFUZtuzI3Ku/f2iAFZqBoEuXOqK3N9ngD4dxQOmN4OKWPHVi3NeAeAfQ==} dev: true - /svelte-eslint-parser@0.32.2(svelte@4.1.2): - resolution: {integrity: sha512-Ok9D3A4b23iLQsONrjqtXtYDu5ZZ/826Blaw2LeFZVTg1pwofKDG4mz3/GYTax8fQ0plRGHI6j+d9VQYy5Lo/A==} + /svelte-eslint-parser@0.26.1(svelte@4.1.0): + resolution: {integrity: sha512-9amXrcFVhv9xrEdCnuIxai22NFQe/NwWVoD8cHGUHPhcU/yXlIHdhZX1L+0iLJszIPdK+iAgImC9IF572OXVWQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - svelte: ^3.37.0 || ^4.0.0 + svelte: ^3.37.0 peerDependenciesMeta: svelte: optional: true dependencies: eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.2 + eslint-visitor-keys: 3.4.3 espree: 9.6.1 - postcss: 8.4.27 - postcss-scss: 4.0.6(postcss@8.4.27) - svelte: 4.1.2 + svelte: 4.1.0 dev: true - /svelte-heros-v2@0.3.21(svelte@3.59.2): - resolution: {integrity: sha512-IcFzoKuDJ6i0qiINfwwaDX5ZTsx/0A5EgB/LPZXMZa+BzxXnlalbcDwyV9ukNvdQLfxVamTb9HuZS677pD/rdQ==} - peerDependencies: - svelte: ^3.54.0 - dependencies: - svelte: 3.59.2 + /svelte-heros-v2@0.3.10: + resolution: {integrity: sha512-e5ZhYN8blZwfhb2k4KYSfHnbbddonDNsglqMpwXLLwPVPBiJXeGpcPy2zkffq6kvkLS2tYipYOaAPSXimgtuUg==} dev: true - /svelte-hmr@0.14.12(svelte@3.59.2): + /svelte-hmr@0.14.12(svelte@3.53.1): resolution: {integrity: sha512-4QSW/VvXuqVcFZ+RhxiR8/newmwOCTlbYIezvkeN6302YFRE8cXy0naamHcjz8Y9Ce3ITTZtrHrIL0AGfyo61w==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: svelte: '>=3.19.0' dependencies: - svelte: 3.59.2 + svelte: 3.53.1 dev: true - /svelte-hmr@0.15.2(svelte@3.59.2): - resolution: {integrity: sha512-q/bAruCvFLwvNbeE1x3n37TYFb3mTBJ6TrCq6p2CoFbSTNhDE9oAtEfpy+wmc9So8AG0Tja+X0/mJzX9tSfvIg==} + /svelte-hmr@0.15.3(svelte@4.1.0): + resolution: {integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: - svelte: ^3.19.0 || ^4.0.0-next.0 + svelte: ^3.19.0 || ^4.0.0 dependencies: - svelte: 3.59.2 + svelte: 4.1.0 dev: true - /svelte-hmr@0.15.2(svelte@4.1.2): - resolution: {integrity: sha512-q/bAruCvFLwvNbeE1x3n37TYFb3mTBJ6TrCq6p2CoFbSTNhDE9oAtEfpy+wmc9So8AG0Tja+X0/mJzX9tSfvIg==} - engines: {node: ^12.20 || ^14.13.1 || >= 16} - peerDependencies: - svelte: ^3.19.0 || ^4.0.0-next.0 - dependencies: - svelte: 4.1.2 - dev: true - - /svelte-i18n@3.7.0(svelte@3.59.2): - resolution: {integrity: sha512-kfdJsYsyOE9tFEVtjPXvrUaufXQnbFAI6LsX9vaQP+xm8A5Wao2qQ6pRZmIUCAvXvYQt7aXQ7hK9+NP9AlxehA==} + /svelte-i18n@3.6.0(svelte@3.53.1): + resolution: {integrity: sha512-qvvcMqHVCXJ5pHoQR5uGzWAW5vS3qB9mBq+W6veLZ6jkrzZGOziR+wyOUJsc59BupMh+Ae30qjOndFrRU6v5jA==} engines: {node: '>= 16'} hasBin: true peerDependencies: - svelte: ^3 || ^4 + svelte: ^3.25.1 dependencies: cli-color: 2.0.3 deepmerge: 4.3.1 estree-walker: 2.0.2 intl-messageformat: 9.13.0 sade: 1.8.1 - svelte: 3.59.2 + svelte: 3.53.1 tiny-glob: 0.2.9 dev: false - /svelte-i18n@3.7.0(svelte@4.1.2): - resolution: {integrity: sha512-kfdJsYsyOE9tFEVtjPXvrUaufXQnbFAI6LsX9vaQP+xm8A5Wao2qQ6pRZmIUCAvXvYQt7aXQ7hK9+NP9AlxehA==} + /svelte-i18n@3.6.0(svelte@4.1.0): + resolution: {integrity: sha512-qvvcMqHVCXJ5pHoQR5uGzWAW5vS3qB9mBq+W6veLZ6jkrzZGOziR+wyOUJsc59BupMh+Ae30qjOndFrRU6v5jA==} engines: {node: '>= 16'} hasBin: true peerDependencies: - svelte: ^3 || ^4 + svelte: ^3.25.1 dependencies: cli-color: 2.0.3 deepmerge: 4.3.1 estree-walker: 2.0.2 intl-messageformat: 9.13.0 sade: 1.8.1 - svelte: 4.1.2 + svelte: 4.1.0 tiny-glob: 0.2.9 dev: false - /svelte-jester@2.3.2(jest@27.5.1)(svelte@3.59.2): - resolution: {integrity: sha512-JtxSz4FWAaCRBXbPsh4LcDs4Ua7zdXgLC0TZvT1R56hRV0dymmNP+abw67DTPF7sQPyNxWsOKd0Sl7Q8SnP8kg==} - engines: {node: '>=14'} + /svelte-jester@2.1.5(jest@27.5.1)(svelte@3.53.1): + resolution: {integrity: sha512-T3JoPsNYltlN2MiVFDxAMOulIO4fztFFI3DhOkzbs1yZQCUFp6sqS6aqusBsIEMVmXaEDW4HO/6bX+CuwuEUSw==} + engines: {node: '>= 12'} peerDependencies: jest: '>= 27' svelte: '>= 3' dependencies: jest: 27.5.1 - svelte: 3.59.2 + svelte: 3.53.1 dev: true - /svelte-loader@3.1.9(svelte@3.59.2): - resolution: {integrity: sha512-RITPqze3TppOhaZF8SEFTDTwFHov17k3UkOjpxyL/No/YVrvckKmXWOEj7QEpsZZZSNQPb28tMZbHEI2xLhJMQ==} + /svelte-loader@3.1.2(svelte@3.53.1): + resolution: {integrity: sha512-RhVIvitb+mtIwKNyvNQoDQ0EhXg2KH8LhQiiqeJh8u6vqJyGWoMoFcYCar69TT+1iaK5IYe0wPNYJ6TILcsurw==} peerDependencies: - svelte: ^3.0.0 || ^4.0.0-next.0 + svelte: '>3.0.0' dependencies: loader-utils: 2.0.4 - svelte: 3.59.2 + svelte: 3.53.1 svelte-dev-helper: 1.1.9 - svelte-hmr: 0.14.12(svelte@3.59.2) + svelte-hmr: 0.14.12(svelte@3.53.1) dev: true - /svelte-preprocess@4.10.7(@babel/core@7.22.9)(node-sass@7.0.3)(postcss@8.4.27)(svelte@3.59.2)(typescript@4.9.5): + /svelte-preprocess@4.10.7(@babel/core@7.22.15)(node-sass@7.0.1)(postcss@8.4.27)(svelte@3.53.1)(typescript@4.9.5): resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} engines: {node: '>= 9.11.2'} requiresBuild: true @@ -22581,20 +22438,20 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@types/pug': 2.0.6 '@types/sass': 1.45.0 detect-indent: 6.1.0 magic-string: 0.25.9 - node-sass: 7.0.3 + node-sass: 7.0.1 postcss: 8.4.27 sorcery: 0.10.0 strip-indent: 3.0.0 - svelte: 3.59.2 + svelte: 3.53.1 typescript: 4.9.5 dev: true - /svelte-preprocess@5.0.4(postcss@8.4.27)(svelte@4.1.2)(typescript@5.1.6): + /svelte-preprocess@5.0.4(postcss@8.4.27)(svelte@4.1.0)(typescript@5.1.6): resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==} engines: {node: '>= 14.10.0'} requiresBuild: true @@ -22638,41 +22495,40 @@ packages: postcss: 8.4.27 sorcery: 0.11.0 strip-indent: 3.0.0 - svelte: 4.1.2 + svelte: 4.1.0 typescript: 5.1.6 dev: true - /svelte-spa-router@3.3.0: - resolution: {integrity: sha512-cwRNe7cxD43sCvSfEeaKiNZg3FCizGxeMcf7CPiWRP3jKXjEma3vxyyuDtPOam6nWbVxl9TNM3hlE/i87ZlqcQ==} + /svelte-spa-router@3.2.0: + resolution: {integrity: sha512-igemo5Vs82TGBBw+DjWt6qKameXYzNs6aDXcTxou5XbEvOjiRcAM6MLkdVRCatn6u8r42dE99bt/br7T4qe/AQ==} dependencies: - regexparam: 2.0.1 + regexparam: 2.0.0 dev: false - /svelte@3.59.2: - resolution: {integrity: sha512-vzSyuGr3eEoAtT/A6bmajosJZIUWySzY2CzB3w2pgPvnkUjGqlDnsNnA0PMO+mMAhuyMul6C2uuZzY6ELSkzyA==} + /svelte@3.53.1: + resolution: {integrity: sha512-Q4/hHkktZogGhN5iqxqSi9sjEVoe/NbIxX4hXEHoasTxj+TxEQVAq66LnDMdAZxjmsodkoI5F3slqsS68U7FNw==} engines: {node: '>= 8'} - /svelte@4.1.2: - resolution: {integrity: sha512-/evA8U6CgOHe5ZD1C1W3va9iJG7mWflcCdghBORJaAhD2JzrVERJty/2gl0pIPrJYBGZwZycH6onYf+64XXF9g==} + /svelte@4.1.0: + resolution: {integrity: sha512-qob6IX0ui4Z++Lhwzvqb6aig79WhwsF3z6y1YMicjvw0rv71hxD+RmMFG3BM8lB7prNLXeOLnP64Zrynqa3Gtw==} engines: {node: '>=16'} dependencies: '@ampproject/remapping': 2.2.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.19 acorn: 8.10.0 aria-query: 5.3.0 axobject-query: 3.2.1 - code-red: 1.0.3 + code-red: 1.0.4 css-tree: 2.3.1 estree-walker: 3.0.3 is-reference: 3.0.1 locate-character: 3.0.0 - magic-string: 0.30.2 + magic-string: 0.30.3 periscopic: 3.1.0 /swarm-js@0.1.42: resolution: {integrity: sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ==} - requiresBuild: true dependencies: bluebird: 3.7.2 buffer: 5.7.1 @@ -22735,7 +22591,7 @@ packages: fast-glob: 3.3.1 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.19.1 + jiti: 1.19.3 lilconfig: 2.1.0 micromatch: 4.0.5 normalize-path: 3.0.0 @@ -22747,7 +22603,7 @@ packages: postcss-load-config: 4.0.1(postcss@8.4.27) postcss-nested: 6.0.1(postcss@8.4.27) postcss-selector-parser: 6.0.13 - resolve: 1.22.2 + resolve: 1.22.4 sucrase: 3.34.0 transitivePeerDependencies: - ts-node @@ -22773,7 +22629,7 @@ packages: is-regex: 1.1.4 minimist: 1.2.8 object-inspect: 1.12.3 - resolve: 1.22.3 + resolve: 1.22.4 resumer: 0.0.0 string.prototype.trim: 1.2.7 through: 2.3.8 @@ -22782,7 +22638,6 @@ packages: /tar@4.4.19: resolution: {integrity: sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==} engines: {node: '>=4.5'} - requiresBuild: true dependencies: chownr: 1.1.4 fs-minipass: 1.2.7 @@ -22794,8 +22649,8 @@ packages: dev: true optional: true - /tar@6.1.15: - resolution: {integrity: sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==} + /tar@6.2.0: + resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 @@ -22830,12 +22685,12 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.19 esbuild: 0.15.13 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 - terser: 5.19.2 + terser: 5.19.4 webpack: 5.88.2(esbuild@0.15.13) dev: true @@ -22855,16 +22710,16 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.19 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 - terser: 5.19.2 + terser: 5.19.4 webpack: 5.88.2 dev: true - /terser@5.19.2: - resolution: {integrity: sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==} + /terser@5.19.4: + resolution: {integrity: sha512-6p1DjHeuluwxDXcuT9VR8p64klWJKo1ILiy19s6C9+0Bh2+NWTX6nD9EPppiER4ICkHDVB1RkVpin/YW2nQn/g==} engines: {node: '>=10'} hasBin: true dependencies: @@ -22903,8 +22758,8 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true - /theme-change@2.5.0: - resolution: {integrity: sha512-B/UdsgdHAGhSKHTAQnxg/etN0RaMDpehuJmZIjLMDVJ6DGIliRHGD6pODi1CXLQAN9GV0GSyB3G6yCuK05PkPQ==} + /theme-change@2.2.0: + resolution: {integrity: sha512-vvgZEEfmH3yZGq2bWHyzs2AOG1SRfNnCvWbEnPzGpdvvCmAWtOsEdg4H6k/OMapegG+LEQvQ76tQoN9B+FT7rg==} dev: true /then-request@6.0.2: @@ -22914,7 +22769,7 @@ packages: '@types/concat-stream': 1.6.1 '@types/form-data': 0.0.33 '@types/node': 8.10.66 - '@types/qs': 6.9.7 + '@types/qs': 6.9.8 caseless: 0.12.0 concat-stream: 1.6.2 form-data: 2.5.1 @@ -22956,10 +22811,14 @@ packages: /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + /time-zone@1.0.0: + resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==} + engines: {node: '>=4'} + dev: true + /timed-out@4.0.1: resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==} engines: {node: '>=0.10.0'} - requiresBuild: true dev: true optional: true @@ -23032,7 +22891,6 @@ packages: /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} - dev: true /to-object-path@0.3.0: resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} @@ -23044,7 +22902,6 @@ packages: /to-readable-stream@1.0.0: resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} engines: {node: '>=6'} - requiresBuild: true dev: true optional: true @@ -23203,7 +23060,7 @@ packages: glob: 7.2.3 mkdirp: 0.5.6 prettier: 2.8.8 - resolve: 1.22.3 + resolve: 1.22.4 ts-essentials: 1.0.4 dev: true @@ -23211,23 +23068,22 @@ packages: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true - /ts-jest-mock-import-meta@0.12.0(ts-jest@27.1.5): + /ts-jest-mock-import-meta@0.12.0(ts-jest@27.0.7): resolution: {integrity: sha512-LfuetNsQ6CDEAPekFOtMpCPRBBAgoA322IQ95eCa3x0mR++GwhZddlsmjOUhxRPLF3utbXUZpCEZiW+HP8jkiA==} peerDependencies: ts-jest: '>=20.0.0' dependencies: - ts-jest: 27.1.5(@babel/core@7.22.9)(@types/jest@27.5.2)(babel-jest@27.5.1)(esbuild@0.15.13)(jest@27.5.1)(typescript@4.9.5) + ts-jest: 27.0.7(@babel/core@7.22.15)(@types/jest@27.5.2)(babel-jest@27.3.1)(jest@27.5.1)(typescript@4.9.5) dev: true - /ts-jest@27.1.5(@babel/core@7.22.9)(@types/jest@27.5.2)(babel-jest@27.5.1)(esbuild@0.15.13)(jest@27.5.1)(typescript@4.9.5): - resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} + /ts-jest@27.0.7(@babel/core@7.22.15)(@types/jest@27.5.2)(babel-jest@27.3.1)(jest@27.5.1)(typescript@4.9.5): + resolution: {integrity: sha512-O41shibMqzdafpuP+CkrOL7ykbmLh+FqQrXEmV9CydQ5JBk0Sj0uAEF5TNNe94fZWKm3yYvWa/IbyV4Yg1zK2Q==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true peerDependencies: '@babel/core': '>=7.0.0-beta.0 <8' '@types/jest': ^27.0.0 babel-jest: '>=27.0.0 <28' - esbuild: '*' jest: ^27.0.0 typescript: '>=3.8 <5.0' peerDependenciesMeta: @@ -23237,14 +23093,11 @@ packages: optional: true babel-jest: optional: true - esbuild: - optional: true dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.15 '@types/jest': 27.5.2 - babel-jest: 27.5.1(@babel/core@7.22.9) + babel-jest: 27.3.1(@babel/core@7.22.15) bs-logger: 0.2.6 - esbuild: 0.15.13 fast-json-stable-stringify: 2.1.0 jest: 27.5.1 jest-util: 27.5.1 @@ -23256,8 +23109,8 @@ packages: yargs-parser: 20.2.9 dev: true - /ts-loader@9.4.4(typescript@4.9.5)(webpack@5.88.2): - resolution: {integrity: sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==} + /ts-loader@9.2.6(typescript@4.9.5)(webpack@5.88.2): + resolution: {integrity: sha512-QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw==} engines: {node: '>=12.0.0'} peerDependencies: typescript: '*' @@ -23271,6 +23124,13 @@ packages: webpack: 5.88.2(esbuild@0.15.13) dev: true + /ts-morph@19.0.0: + resolution: {integrity: sha512-D6qcpiJdn46tUqV45vr5UGM2dnIEuTGNxVhg0sk5NX11orcouwj6i1bMqZIz2mZTZB1Hcgy7C3oEVhAT+f6mbQ==} + dependencies: + '@ts-morph/common': 0.20.0 + code-block-writer: 12.0.0 + dev: true + /ts-node@10.9.1(@types/node@12.20.55)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true @@ -23327,8 +23187,11 @@ packages: /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - /tslib@2.6.1: - resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} + /tslib@2.4.1: + resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} /tsort@0.0.1: resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} @@ -23428,7 +23291,6 @@ packages: /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - requiresBuild: true dependencies: media-typer: 0.3.0 mime-types: 2.1.35 @@ -23516,10 +23378,6 @@ packages: is-typed-array: 1.1.12 dev: true - /typedarray-to-buffer@1.0.4: - resolution: {integrity: sha512-vjMKrfSoUDN8/Vnqitw2FmstOfuJ73G6CrSEKnf11A6RmasVxHqfeBcnTb6RsL4pTMuV5Zsv9IiHRphMZyckUw==} - dev: true - /typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} dependencies: @@ -23557,8 +23415,8 @@ packages: resolution: {integrity: sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==} dev: true - /ufo@1.2.0: - resolution: {integrity: sha512-RsPyTbqORDNDxqAdQPQBpgqhWle1VcTSou/FraClYlHf6TZnQcGslpLcAphNR+sQW4q5lLWLbOsRlh9j24baQg==} + /ufo@1.3.0: + resolution: {integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==} dev: true /uglify-js@3.17.4: @@ -23576,7 +23434,6 @@ packages: /ultron@1.1.1: resolution: {integrity: sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==} - requiresBuild: true dev: true optional: true @@ -23591,7 +23448,6 @@ packages: /underscore@1.9.1: resolution: {integrity: sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==} - requiresBuild: true dev: true optional: true @@ -23609,10 +23465,6 @@ packages: busboy: 1.6.0 dev: true - /unfetch@4.2.0: - resolution: {integrity: sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==} - dev: true - /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} @@ -23639,7 +23491,7 @@ packages: /unified@10.1.2: resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 bail: 2.0.2 extend: 3.0.2 is-buffer: 2.0.5 @@ -23673,7 +23525,7 @@ packages: /unist-util-find-after@4.0.1: resolution: {integrity: sha512-QO/PuPMm2ERxC6vFXEPtmAutOopy5PknD+Oq64gGwxKtk4xwo9Z97t9Av1obPmGU0IyTa6EKYUfTrK2QJS3Ozw==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 unist-util-is: 5.2.1 dev: false @@ -23684,7 +23536,7 @@ packages: /unist-util-is@5.2.1: resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /unist-util-is@6.0.0: @@ -23696,19 +23548,19 @@ packages: /unist-util-position-from-estree@1.1.2: resolution: {integrity: sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /unist-util-position@4.0.4: resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /unist-util-remove-position@4.0.2: resolution: {integrity: sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 unist-util-visit: 4.1.2 dev: false @@ -23723,20 +23575,20 @@ packages: /unist-util-stringify-position@3.0.3: resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /unist-util-visit-parents@4.1.1: resolution: {integrity: sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 unist-util-is: 5.2.1 dev: false /unist-util-visit-parents@5.1.3: resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 unist-util-is: 5.2.1 dev: false @@ -23750,7 +23602,7 @@ packages: /unist-util-visit@3.1.0: resolution: {integrity: sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 unist-util-is: 5.2.1 unist-util-visit-parents: 4.1.1 dev: false @@ -23758,7 +23610,7 @@ packages: /unist-util-visit@4.1.2: resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 unist-util-is: 5.2.1 unist-util-visit-parents: 5.1.3 dev: false @@ -23822,18 +23674,17 @@ packages: browserslist: 4.21.10 escalade: 3.1.1 picocolors: 1.0.0 - dev: true /upper-case-first@2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: - tslib: 2.6.1 + tslib: 2.4.1 dev: true /upper-case@2.0.2: resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} dependencies: - tslib: 2.6.1 + tslib: 2.4.1 dev: true /uri-js@4.4.1: @@ -23850,7 +23701,6 @@ packages: /url-parse-lax@3.0.0: resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} engines: {node: '>=4'} - requiresBuild: true dependencies: prepend-http: 2.0.0 dev: true @@ -23865,7 +23715,6 @@ packages: /url-set-query@1.0.0: resolution: {integrity: sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==} - requiresBuild: true dev: true optional: true @@ -23893,7 +23742,7 @@ packages: engines: {node: '>=6.14.2'} requiresBuild: true dependencies: - node-gyp-build: 4.6.0 + node-gyp-build: 4.6.1 /utf8@3.0.0: resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} @@ -23910,8 +23759,8 @@ packages: for-each: 0.3.3 has-proto: 1.0.1 has-symbols: 1.0.3 - object.getownpropertydescriptors: 2.1.6 - safe-array-concat: 1.0.0 + object.getownpropertydescriptors: 2.1.7 + safe-array-concat: 1.0.1 dev: true /util@0.12.5: @@ -23930,7 +23779,6 @@ packages: /utils-merge@1.0.1: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} - requiresBuild: true dev: true optional: true @@ -23943,7 +23791,6 @@ packages: resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. hasBin: true - requiresBuild: true dev: true optional: true @@ -23977,8 +23824,8 @@ packages: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: true - /v8-compile-cache@2.3.0: - resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} + /v8-compile-cache@2.4.0: + resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} dev: true /v8-to-istanbul@8.1.1: @@ -23994,7 +23841,7 @@ packages: resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} engines: {node: '>=10.12.0'} dependencies: - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.19 '@types/istanbul-lib-coverage': 2.0.4 convert-source-map: 1.9.0 dev: true @@ -24006,20 +23853,6 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /valtio@1.10.5(react@18.2.0): - resolution: {integrity: sha512-jTp0k63VXf4r5hPoaC6a6LCG4POkVSh629WLi1+d5PlajLsbynTMd7qAgEiOSPxzoX5iNvbN7iZ/k/g29wrNiQ==} - engines: {node: '>=12.20.0'} - peerDependencies: - react: '>=16.8' - peerDependenciesMeta: - react: - optional: true - dependencies: - proxy-compare: 2.5.1 - react: 18.2.0 - use-sync-external-store: 1.2.0(react@18.2.0) - dev: false - /valtio@1.10.6(react@18.2.0): resolution: {integrity: sha512-SxN1bHUmdhW6V8qsQTpCgJEwp7uHbntuH0S9cdLQtiohuevwBksbpXjwj5uDMA7bLwg1WKyq9sEpZrx3TIMrkA==} engines: {node: '>=12.20.0'} @@ -24048,14 +23881,12 @@ packages: /varint@5.0.2: resolution: {integrity: sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==} - requiresBuild: true dev: true optional: true /vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - requiresBuild: true dev: true optional: true @@ -24071,7 +23902,7 @@ packages: /vfile-location@4.1.0: resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 vfile: 5.3.7 dev: false @@ -24086,46 +23917,59 @@ packages: /vfile-message@3.1.4: resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 unist-util-stringify-position: 3.0.3 dev: false /vfile@5.3.7: resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 is-buffer: 2.0.5 unist-util-stringify-position: 3.0.3 vfile-message: 3.1.4 dev: false - /viem@1.5.3(typescript@4.9.5)(zod@3.21.4): - resolution: {integrity: sha512-oImpSDDvm8Y72qxXV0pCAGAqQLYgo8YENdz9EKS8ExnnOJLascpex4LNazNyp9cksjm3ORpVpbqGMr9Cy1z2mg==} - peerDependencies: - typescript: '>=5.0.4' - peerDependenciesMeta: - typescript: - optional: true + /viem@0.3.50(typescript@4.9.5)(zod@3.22.2): + resolution: {integrity: sha512-s+LxCYZTR9F/qPk1/n1YDVAX9vSeVz7GraqBZWGrDuenCJxo9ArCoIceJ6ksI0WwSeNzcZ0VVbD/kWRzTxkipw==} dependencies: '@adraffy/ens-normalize': 1.9.0 '@noble/curves': 1.0.0 '@noble/hashes': 1.3.0 '@scure/bip32': 1.3.0 '@scure/bip39': 1.2.0 - '@types/ws': 8.5.5 - '@wagmi/chains': 1.6.0(typescript@4.9.5) - abitype: 0.9.3(typescript@4.9.5)(zod@3.21.4) + '@wagmi/chains': 1.0.0(typescript@4.9.5) + abitype: 0.8.7(typescript@4.9.5)(zod@3.22.2) + isomorphic-ws: 5.0.0(ws@8.12.0) + ws: 8.12.0 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + dev: true + + /viem@0.3.50(typescript@5.1.6)(zod@3.22.2): + resolution: {integrity: sha512-s+LxCYZTR9F/qPk1/n1YDVAX9vSeVz7GraqBZWGrDuenCJxo9ArCoIceJ6ksI0WwSeNzcZ0VVbD/kWRzTxkipw==} + dependencies: + '@adraffy/ens-normalize': 1.9.0 + '@noble/curves': 1.0.0 + '@noble/hashes': 1.3.0 + '@scure/bip32': 1.3.0 + '@scure/bip39': 1.2.0 + '@wagmi/chains': 1.0.0(typescript@5.1.6) + abitype: 0.8.7(typescript@5.1.6)(zod@3.22.2) isomorphic-ws: 5.0.0(ws@8.12.0) - typescript: 4.9.5 ws: 8.12.0 transitivePeerDependencies: - bufferutil + - typescript - utf-8-validate - zod dev: true - /viem@1.5.3(typescript@5.1.6)(zod@3.21.4): - resolution: {integrity: sha512-oImpSDDvm8Y72qxXV0pCAGAqQLYgo8YENdz9EKS8ExnnOJLascpex4LNazNyp9cksjm3ORpVpbqGMr9Cy1z2mg==} + /viem@1.4.1(typescript@5.1.6): + resolution: {integrity: sha512-MtaoBHDSJDqa+QyXKG5d+S6EQSebRO0tzw6anSP4zC7AbC614vMeg9Y8LbkmEkWCw8swFYkort+H9l7GkWB0uA==} peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -24137,9 +23981,8 @@ packages: '@noble/hashes': 1.3.0 '@scure/bip32': 1.3.0 '@scure/bip39': 1.2.0 - '@types/ws': 8.5.5 '@wagmi/chains': 1.6.0(typescript@5.1.6) - abitype: 0.9.3(typescript@5.1.6)(zod@3.21.4) + abitype: 0.9.3(typescript@5.1.6) isomorphic-ws: 5.0.0(ws@8.12.0) typescript: 5.1.6 ws: 8.12.0 @@ -24148,21 +23991,20 @@ packages: - utf-8-validate - zod - /vite-node@0.32.4(@types/node@20.5.7): - resolution: {integrity: sha512-L2gIw+dCxO0LK14QnUMoqSYpa9XRGnTTTDjW2h19Mr+GR0EFj4vx52W41gFXfMLqpA00eK4ZjOVYo1Xk//LFEw==} + /vite-node@0.32.2(@types/node@20.5.9): + resolution: {integrity: sha512-dTQ1DCLwl2aEseov7cfQ+kDMNJpM1ebpyMMMwWzBvLbis8Nla/6c9WQcqpPssTwS6Rp/+U6KwlIj8Eapw4bLdA==} engines: {node: '>=v14.18.0'} hasBin: true dependencies: cac: 6.7.14 debug: 4.3.4(supports-color@8.1.1) - mlly: 1.4.0 + mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.4.8(@types/node@20.5.7) + vite: 4.3.0(@types/node@20.5.9) transitivePeerDependencies: - '@types/node' - less - - lightningcss - sass - stylus - sugarss @@ -24170,7 +24012,7 @@ packages: - terser dev: true - /vite-plugin-static-copy@0.12.0(vite@3.2.7): + /vite-plugin-static-copy@0.12.0(vite@3.0.0): resolution: {integrity: sha512-5a8hCjYJdf/rl8s7ct/YWt97gXdGPGNSOoJtkY5IYhbnSq04X1gTt5GpFHKfAxhHoed1Grfw3Ed13t7AjJi7gw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -24180,10 +24022,10 @@ packages: fast-glob: 3.3.1 fs-extra: 10.1.0 picocolors: 1.0.0 - vite: 3.2.7 + vite: 3.0.0 dev: true - /vite-tsconfig-paths@4.2.0(typescript@5.1.6)(vite@4.4.8): + /vite-tsconfig-paths@4.2.0(typescript@5.1.6)(vite@4.3.0): resolution: {integrity: sha512-jGpus0eUy5qbbMVGiTxCL1iB9ZGN6Bd37VGLJU39kTDD6ZfULTTb1bcc5IeTWqWJKiWV5YihCaibeASPiGi8kw==} peerDependencies: vite: '*' @@ -24194,53 +24036,46 @@ packages: debug: 4.3.4(supports-color@8.1.1) globrex: 0.1.2 tsconfck: 2.1.2(typescript@5.1.6) - vite: 4.4.8(@types/node@20.5.7) + vite: 4.3.0(@types/node@20.5.9) transitivePeerDependencies: - supports-color - typescript dev: true - /vite@3.2.7: - resolution: {integrity: sha512-29pdXjk49xAP0QBr0xXqu2s5jiQIXNvE/xwd0vUizYT2Hzqe4BksNNoWllFVXJf4eLZ+UlVQmXfB4lWrc+t18g==} - engines: {node: ^14.18.0 || >=16.0.0} + /vite@3.0.0: + resolution: {integrity: sha512-M7phQhY3+fRZa0H+1WzI6N+/onruwPTBTMvaj7TzgZ0v2TE+N2sdLKxJOfOv9CckDWt5C4HmyQP81xB4dwRKzA==} + engines: {node: '>=14.18.0'} hasBin: true peerDependencies: - '@types/node': '>= 14' less: '*' sass: '*' stylus: '*' - sugarss: '*' terser: ^5.4.0 peerDependenciesMeta: - '@types/node': - optional: true less: optional: true sass: optional: true stylus: optional: true - sugarss: - optional: true terser: optional: true dependencies: - esbuild: 0.15.18 + esbuild: 0.14.54 postcss: 8.4.27 - resolve: 1.22.2 + resolve: 1.22.4 rollup: 2.79.1 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true - /vite@4.4.8(@types/node@20.5.7): - resolution: {integrity: sha512-LONawOUUjxQridNWGQlNizfKH89qPigK36XhMI7COMGztz8KNY0JHim7/xDd71CZwGT4HtSRgI7Hy+RlhG0Gvg==} + /vite@4.3.0(@types/node@20.5.9): + resolution: {integrity: sha512-JTGFgDh3dVxeGBpuQX04Up+JZmuG6wu9414Ei36vQzaEruY/M4K0AgwtuB2b4HaBgB7R8l+LHxjB0jcgz4d2qQ==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: '@types/node': '>= 14' less: '*' - lightningcss: ^1.21.0 sass: '*' stylus: '*' sugarss: '*' @@ -24250,8 +24085,6 @@ packages: optional: true less: optional: true - lightningcss: - optional: true sass: optional: true stylus: @@ -24261,26 +24094,15 @@ packages: terser: optional: true dependencies: - '@types/node': 20.5.7 - esbuild: 0.18.17 + '@types/node': 20.5.9 + esbuild: 0.17.19 postcss: 8.4.27 - rollup: 3.27.1 + rollup: 3.29.0 optionalDependencies: - fsevents: 2.3.2 - dev: true - - /vitefu@0.2.4(vite@3.2.7): - resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} - peerDependencies: - vite: ^3.0.0 || ^4.0.0 - peerDependenciesMeta: - vite: - optional: true - dependencies: - vite: 3.2.7 + fsevents: 2.3.3 dev: true - /vitefu@0.2.4(vite@4.4.8): + /vitefu@0.2.4(vite@4.3.0): resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} peerDependencies: vite: ^3.0.0 || ^4.0.0 @@ -24288,23 +24110,23 @@ packages: vite: optional: true dependencies: - vite: 4.4.8(@types/node@20.5.7) + vite: 4.3.0(@types/node@20.5.9) dev: true - /vitest-fetch-mock@0.2.2(vitest@0.32.4): + /vitest-fetch-mock@0.2.2(vitest@0.32.2): resolution: {integrity: sha512-XmH6QgTSjCWrqXoPREIdbj40T7i1xnGmAsTAgfckoO75W1IEHKR8hcPCQ7SO16RsdW1t85oUm6pcQRLeBgjVYQ==} engines: {node: '>=14.14.0'} peerDependencies: vitest: '>=0.16.0' dependencies: cross-fetch: 3.1.8 - vitest: 0.32.4(jsdom@22.1.0) + vitest: 0.32.2(jsdom@22.1.0) transitivePeerDependencies: - encoding dev: true - /vitest@0.32.4(jsdom@22.1.0): - resolution: {integrity: sha512-3czFm8RnrsWwIzVDu/Ca48Y/M+qh3vOnF16czJm98Q/AN1y3B6PBsyV8Re91Ty5s7txKNjEhpgtGPcfdbh2MZg==} + /vitest@0.32.2(jsdom@22.1.0): + resolution: {integrity: sha512-hU8GNNuQfwuQmqTLfiKcqEhZY72Zxb7nnN07koCUNmntNxbKQnVbeIS6sqUgR3eXSlbOpit8+/gr1KpqoMgWCQ==} engines: {node: '>=v14.18.0'} hasBin: true peerDependencies: @@ -24334,34 +24156,34 @@ packages: webdriverio: optional: true dependencies: - '@types/chai': 4.3.5 + '@types/chai': 4.3.6 '@types/chai-subset': 1.3.3 - '@types/node': 20.5.7 - '@vitest/expect': 0.32.4 - '@vitest/runner': 0.32.4 - '@vitest/snapshot': 0.32.4 - '@vitest/spy': 0.32.4 - '@vitest/utils': 0.32.4 + '@types/node': 20.5.9 + '@vitest/expect': 0.32.2 + '@vitest/runner': 0.32.2 + '@vitest/snapshot': 0.32.2 + '@vitest/spy': 0.32.2 + '@vitest/utils': 0.32.2 acorn: 8.10.0 acorn-walk: 8.2.0 cac: 6.7.14 - chai: 4.3.7 + chai: 4.3.8 + concordance: 5.0.4 debug: 4.3.4(supports-color@8.1.1) jsdom: 22.1.0 local-pkg: 0.4.3 - magic-string: 0.30.2 + magic-string: 0.30.3 pathe: 1.1.1 picocolors: 1.0.0 - std-env: 3.3.3 + std-env: 3.4.3 strip-literal: 1.3.0 tinybench: 2.5.0 tinypool: 0.5.0 - vite: 4.4.8(@types/node@20.5.7) - vite-node: 0.32.4(@types/node@20.5.7) + vite: 4.3.0(@types/node@20.5.9) + vite-node: 0.32.2(@types/node@20.5.9) why-is-node-running: 2.2.2 transitivePeerDependencies: - less - - lightningcss - sass - stylus - sugarss @@ -24381,12 +24203,13 @@ packages: resolution: {integrity: sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==} dev: true - /vue-loader@15.10.1(css-loader@6.8.1)(lodash@4.17.21)(vue-template-compiler@2.7.14)(webpack@5.88.2): - resolution: {integrity: sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA==} + /vue-loader@15.10.2(css-loader@6.8.1)(lodash@4.17.21)(prettier@2.8.8)(vue-template-compiler@2.7.14)(webpack@5.88.2): + resolution: {integrity: sha512-ndeSe/8KQc/nlA7TJ+OBhv2qalmj1s+uBs7yHDRFaAXscFTApBzY9F1jES3bautmgWjDlDct0fw8rPuySDLwxw==} peerDependencies: '@vue/compiler-sfc': ^3.0.8 cache-loader: '*' css-loader: '*' + prettier: '*' vue-template-compiler: '*' webpack: ^3.0.0 || ^4.1.0 || ^5.0.0-0 peerDependenciesMeta: @@ -24394,6 +24217,8 @@ packages: optional: true cache-loader: optional: true + prettier: + optional: true vue-template-compiler: optional: true dependencies: @@ -24401,6 +24226,7 @@ packages: css-loader: 6.8.1(webpack@5.88.2) hash-sum: 1.0.2 loader-utils: 1.4.2 + prettier: 2.8.8 vue-hot-reload-api: 2.3.4 vue-style-loader: 4.1.3 vue-template-compiler: 2.7.14 @@ -24515,8 +24341,8 @@ packages: xml-name-validator: 4.0.0 dev: true - /wagmi@0.12.19(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5): - resolution: {integrity: sha512-S/el9BDb/HNeQWh1v8TvntMPX/CgKLDAoJqDb8i7jifLfWPqFL7gor3vnI1Vs6ZlB8uh7m+K1Qyg+mKhbITuDQ==} + /wagmi@0.12.16(debug@4.3.4)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5): + resolution: {integrity: sha512-ZnQYC7wkcxNrfIZ+8LIYIXaEmnih8n4aUBZ5J+YI6QwnAWfo80jI79Z5F0BBML6wG7PYP2iIzMbIlnDIfx67uQ==} peerDependencies: ethers: '>=5.5.1 <6' react: '>=17.0.0' @@ -24525,10 +24351,10 @@ packages: typescript: optional: true dependencies: - '@tanstack/query-sync-storage-persister': 4.32.5 - '@tanstack/react-query': 4.32.5(react@18.2.0) - '@tanstack/react-query-persist-client': 4.32.5(@tanstack/react-query@4.32.5) - '@wagmi/core': 0.10.17(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) + '@tanstack/query-sync-storage-persister': 4.33.0 + '@tanstack/react-query': 4.33.0(react@18.2.0) + '@tanstack/react-query-persist-client': 4.33.0(@tanstack/react-query@4.33.0) + '@wagmi/core': 0.10.14(debug@4.3.4)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) abitype: 0.3.0(typescript@4.9.5) ethers: 5.7.2 react: 18.2.0 @@ -24538,6 +24364,7 @@ packages: - '@react-native-async-storage/async-storage' - '@types/react' - bufferutil + - debug - encoding - immer - lokijs @@ -24582,7 +24409,6 @@ packages: /web3-bzz@1.2.11: resolution: {integrity: sha512-XGpWUEElGypBjeFyUhTkiPXFbDVD6Nr/S5jznE3t8cWUA0FxRf1n3n/NuIZeb0H9RkN2Ctd/jNma/k8XGa3YKg==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: '@types/node': 12.20.55 got: 9.6.0 @@ -24598,7 +24424,6 @@ packages: /web3-core-helpers@1.2.11: resolution: {integrity: sha512-PEPoAoZd5ME7UfbnCZBdzIerpe74GEvlwT4AjOmHeCVZoIFk7EqvOZDejJHt+feJA6kMVTdd0xzRNN295UhC1A==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: underscore: 1.9.1 web3-eth-iban: 1.2.11 @@ -24609,7 +24434,6 @@ packages: /web3-core-method@1.2.11: resolution: {integrity: sha512-ff0q76Cde94HAxLDZ6DbdmKniYCQVtvuaYh+rtOUMB6kssa5FX0q3vPmixi7NPooFnbKmmZCM6NvXg4IreTPIw==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: '@ethersproject/transactions': 5.7.0 underscore: 1.9.1 @@ -24623,7 +24447,6 @@ packages: /web3-core-promievent@1.2.11: resolution: {integrity: sha512-il4McoDa/Ox9Agh4kyfQ8Ak/9ABYpnF8poBLL33R/EnxLsJOGQG2nZhkJa3I067hocrPSjEdlPt/0bHXsln4qA==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: eventemitter3: 4.0.4 dev: true @@ -24632,7 +24455,6 @@ packages: /web3-core-requestmanager@1.2.11: resolution: {integrity: sha512-oFhBtLfOiIbmfl6T6gYjjj9igOvtyxJ+fjS+byRxiwFJyJ5BQOz4/9/17gWR1Cq74paTlI7vDGxYfuvfE/mKvA==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: underscore: 1.9.1 web3-core-helpers: 1.2.11 @@ -24647,7 +24469,6 @@ packages: /web3-core-subscriptions@1.2.11: resolution: {integrity: sha512-qEF/OVqkCvQ7MPs1JylIZCZkin0aKK9lDxpAtQ1F8niEDGFqn7DT8E/vzbIa0GsOjL2fZjDhWJsaW+BSoAW1gg==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: eventemitter3: 4.0.4 underscore: 1.9.1 @@ -24658,11 +24479,10 @@ packages: /web3-core@1.2.11: resolution: {integrity: sha512-CN7MEYOY5ryo5iVleIWRE3a3cZqVaLlIbIzDPsvQRUfzYnvzZQRZBm9Mq+ttDi2STOOzc1MKylspz/o3yq/LjQ==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: '@types/bn.js': 4.11.6 '@types/node': 12.20.55 - bignumber.js: 9.1.1 + bignumber.js: 9.1.2 web3-core-helpers: 1.2.11 web3-core-method: 1.2.11 web3-core-requestmanager: 1.2.11 @@ -24675,7 +24495,6 @@ packages: /web3-eth-abi@1.2.11: resolution: {integrity: sha512-PkRYc0+MjuLSgg03QVWqWlQivJqRwKItKtEpRUaxUAeLE7i/uU39gmzm2keHGcQXo3POXAbOnMqkDvOep89Crg==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: '@ethersproject/abi': 5.0.0-beta.153 underscore: 1.9.1 @@ -24686,7 +24505,6 @@ packages: /web3-eth-accounts@1.2.11: resolution: {integrity: sha512-6FwPqEpCfKIh3nSSGeo3uBm2iFSnFJDfwL3oS9pyegRBXNsGRVpgiW63yhNzL0796StsvjHWwQnQHsZNxWAkGw==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: crypto-browserify: 3.12.0 eth-lib: 0.2.8 @@ -24707,7 +24525,6 @@ packages: /web3-eth-contract@1.2.11: resolution: {integrity: sha512-MzYuI/Rq2o6gn7vCGcnQgco63isPNK5lMAan2E51AJLknjSLnOxwNY3gM8BcKoy4Z+v5Dv00a03Xuk78JowFow==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: '@types/bn.js': 4.11.6 underscore: 1.9.1 @@ -24726,7 +24543,6 @@ packages: /web3-eth-ens@1.2.11: resolution: {integrity: sha512-dbW7dXP6HqT1EAPvnniZVnmw6TmQEKF6/1KgAxbo8iBBYrVTMDGFQUUnZ+C4VETGrwwaqtX4L9d/FrQhZ6SUiA==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: content-hash: 2.5.2 eth-ens-namehash: 2.0.8 @@ -24745,7 +24561,6 @@ packages: /web3-eth-iban@1.2.11: resolution: {integrity: sha512-ozuVlZ5jwFC2hJY4+fH9pIcuH1xP0HEFhtWsR69u9uDIANHLPQQtWYmdj7xQ3p2YT4bQLq/axKhZi7EZVetmxQ==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: bn.js: 4.12.0 web3-utils: 1.2.11 @@ -24755,7 +24570,6 @@ packages: /web3-eth-personal@1.2.11: resolution: {integrity: sha512-42IzUtKq9iHZ8K9VN0vAI50iSU9tOA1V7XU2BhF/tb7We2iKBVdkley2fg26TxlOcKNEHm7o6HRtiiFsVK4Ifw==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: '@types/node': 12.20.55 web3-core: 1.2.11 @@ -24771,7 +24585,6 @@ packages: /web3-eth@1.2.11: resolution: {integrity: sha512-REvxW1wJ58AgHPcXPJOL49d1K/dPmuw4LjPLBPStOVkQjzDTVmJEIsiLwn2YeuNDd4pfakBwT8L3bz1G1/wVsQ==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: underscore: 1.9.1 web3-core: 1.2.11 @@ -24794,7 +24607,6 @@ packages: /web3-net@1.2.11: resolution: {integrity: sha512-sjrSDj0pTfZouR5BSTItCuZ5K/oZPVdVciPQ6981PPPIwJJkCMeVjD7I4zO3qDPCnBjBSbWvVnLdwqUBPtHxyg==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: web3-core: 1.2.11 web3-core-method: 1.2.11 @@ -24807,7 +24619,7 @@ packages: /web3-provider-engine@14.2.1: resolution: {integrity: sha512-iSv31h2qXkr9vrL6UZDm4leZMc32SjWJFGOp/D92JXfcEboCqraZyuExDkpxKw8ziTufXieNM7LSXNHzszYdJw==} dependencies: - async: 2.6.4 + async: 2.6.2 backoff: 2.5.0 clone: 2.1.2 cross-fetch: 2.2.6 @@ -24837,7 +24649,6 @@ packages: /web3-providers-http@1.2.11: resolution: {integrity: sha512-psh4hYGb1+ijWywfwpB2cvvOIMISlR44F/rJtYkRmQ5jMvG4FOCPlQJPiHQZo+2cc3HbktvvSJzIhkWQJdmvrA==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: web3-core-helpers: 1.2.11 xhr2-cookies: 1.1.0 @@ -24847,7 +24658,6 @@ packages: /web3-providers-ipc@1.2.11: resolution: {integrity: sha512-yhc7Y/k8hBV/KlELxynWjJDzmgDEDjIjBzXK+e0rHBsYEhdCNdIH5Psa456c+l0qTEU2YzycF8VAjYpWfPnBpQ==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: oboe: 2.1.4 underscore: 1.9.1 @@ -24858,7 +24668,6 @@ packages: /web3-providers-ws@1.2.11: resolution: {integrity: sha512-ZxnjIY1Er8Ty+cE4migzr43zA/+72AF1myzsLaU5eVgdsfV7Jqx7Dix1hbevNZDKFlSoEyq/3j/jYalh3So1Zg==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: eventemitter3: 4.0.4 underscore: 1.9.1 @@ -24872,7 +24681,6 @@ packages: /web3-shh@1.2.11: resolution: {integrity: sha512-B3OrO3oG1L+bv3E1sTwCx66injW1A8hhwpknDUbV+sw3fehFazA06z9SGXUefuFI1kVs4q2vRi0n4oCcI4dZDg==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: web3-core: 1.2.11 web3-core-method: 1.2.11 @@ -24883,13 +24691,14 @@ packages: dev: true optional: true - /web3-utils@1.10.0: - resolution: {integrity: sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==} + /web3-utils@1.10.2: + resolution: {integrity: sha512-TdApdzdse5YR+5GCX/b/vQnhhbj1KSAtfrDtRW7YS0kcWp1gkJsN62gw6GzCaNTeXookB7UrLtmDUuMv65qgow==} engines: {node: '>=8.0.0'} dependencies: + '@ethereumjs/util': 8.1.0 bn.js: 5.2.1 ethereum-bloom-filters: 1.0.10 - ethereumjs-util: 7.1.5 + ethereum-cryptography: 2.1.2 ethjs-unit: 0.1.6 number-to-bn: 1.7.0 randombytes: 2.1.0 @@ -24899,7 +24708,6 @@ packages: /web3-utils@1.2.11: resolution: {integrity: sha512-3Tq09izhD+ThqHEaWYX4VOT7dNPdZiO+c/1QMA0s5X2lDFKK/xHJb7cyTRRVzN2LvlHbR7baS1tmQhSua51TcQ==} engines: {node: '>=8.0.0'} - requiresBuild: true dependencies: bn.js: 4.12.0 eth-lib: 0.2.8 @@ -25052,6 +24860,11 @@ packages: - supports-color dev: true + /well-known-symbols@2.0.0: + resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==} + engines: {node: '>=6'} + dev: true + /whatwg-encoding@1.0.5: resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} dependencies: @@ -25229,7 +25042,6 @@ packages: /ws@3.3.3: resolution: {integrity: sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==} - requiresBuild: true peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -25325,7 +25137,6 @@ packages: /xhr-request-promise@0.1.3: resolution: {integrity: sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==} - requiresBuild: true dependencies: xhr-request: 1.1.0 dev: true @@ -25333,7 +25144,6 @@ packages: /xhr-request@1.1.0: resolution: {integrity: sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==} - requiresBuild: true dependencies: buffer-to-arraybuffer: 0.0.5 object-assign: 4.1.1 @@ -25347,7 +25157,6 @@ packages: /xhr2-cookies@1.1.0: resolution: {integrity: sha512-hjXUA6q+jl/bd8ADHcVfFsSPIf+tyLIjuO9TwJC9WI6JP2zKcS7C+p56I9kCLLsaCiNT035iYvEUUzdEFj/8+g==} - requiresBuild: true dependencies: cookiejar: 2.1.4 dev: true @@ -25380,14 +25189,6 @@ packages: engines: {node: '>=0.4.0'} dev: true - /xtend@2.0.6: - resolution: {integrity: sha512-fOZg4ECOlrMl+A6Msr7EIFcON1L26mb4NY5rurSkOex/TWhazOrg6eXD/B0XkuiYcYhQDWLXzQxLMVJ7LXwokg==} - engines: {node: '>=0.4'} - dependencies: - is-object: 0.1.2 - object-keys: 0.2.0 - dev: true - /xtend@2.1.2: resolution: {integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==} engines: {node: '>=0.4'} @@ -25395,16 +25196,6 @@ packages: object-keys: 0.4.0 dev: true - /xtend@2.2.0: - resolution: {integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw==} - engines: {node: '>=0.4'} - dev: true - - /xtend@3.0.0: - resolution: {integrity: sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg==} - engines: {node: '>=0.4'} - dev: true - /xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -25431,7 +25222,6 @@ packages: /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - dev: true /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} @@ -25441,8 +25231,8 @@ packages: engines: {node: '>= 6'} dev: true - /yaml@2.3.1: - resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} + /yaml@2.3.2: + resolution: {integrity: sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==} engines: {node: '>= 14'} dev: true @@ -25591,9 +25381,13 @@ packages: /zod@3.21.4: resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} + dev: false - /zustand@4.4.0(react@18.2.0): - resolution: {integrity: sha512-2dq6wq4dSxbiPTamGar0NlIG/av0wpyWZJGeQYtUOLegIUvhM2Bf86ekPlmgpUtS5uR7HyetSiktYrGsdsyZgQ==} + /zod@3.22.2: + resolution: {integrity: sha512-wvWkphh5WQsJbVk1tbx1l1Ly4yg+XecD+Mq280uBGt9wa5BKSWf4Mhp6GmrkPixhMxmabYY7RbzlwVP32pbGCg==} + + /zustand@4.4.1(react@18.2.0): + resolution: {integrity: sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw==} engines: {node: '>=12.7.0'} peerDependencies: '@types/react': '>=16.8' @@ -25621,9 +25415,8 @@ packages: dependencies: bn.js: 4.12.0 ethereumjs-util: 6.2.1 - dev: true - github.com/taikoxyz/solidity-coverage/ceb49fd1f6041e4fcd26079dfb0d3b0f58c812e5(hardhat@2.17.1): + github.com/taikoxyz/solidity-coverage/ceb49fd1f6041e4fcd26079dfb0d3b0f58c812e5(hardhat@2.14.0): resolution: {tarball: https://codeload.github.com/taikoxyz/solidity-coverage/tar.gz/ceb49fd1f6041e4fcd26079dfb0d3b0f58c812e5} id: github.com/taikoxyz/solidity-coverage/ceb49fd1f6041e4fcd26079dfb0d3b0f58c812e5 name: solidity-coverage @@ -25642,7 +25435,7 @@ packages: ghost-testrpc: 0.0.2 global-modules: 2.0.0 globby: 10.0.2 - hardhat: 2.17.1(ts-node@10.9.1)(typescript@4.9.5) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) jsonschema: 1.4.1 lodash: 4.17.21 mocha: 7.1.2 @@ -25652,7 +25445,7 @@ packages: sc-istanbul: 0.4.6 semver: 7.5.4 shelljs: 0.8.5 - web3-utils: 1.10.0 + web3-utils: 1.10.2 transitivePeerDependencies: - supports-color dev: true