diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 456459106..0ecee93d0 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -19,11 +19,10 @@ Please describe concisely the bug you have found. - Safe Core SDK versions: - api-kit: - - auth-kit: - - onramp-kit - protocol-kit: - relay-kit: - - safe-core-sdk-types: + - types-kit: + - sdk-starter-kit: - Safe contract version: - Environment: - browser diff --git a/.github/workflows/protocol-kit-e2e-test.yml b/.github/workflows/protocol-kit-e2e-test.yml index 7e790f43f..0378f8127 100644 --- a/.github/workflows/protocol-kit-e2e-test.yml +++ b/.github/workflows/protocol-kit-e2e-test.yml @@ -27,4 +27,5 @@ jobs: - name: Test ${{ matrix.provider }} - Safe ${{ matrix.contract-version }} run: | cd packages/protocol-kit + ls -la $(pwd)/node_modules/.bin yarn test:hardhat:${{ matrix.provider }}:${{ matrix.contract-version }} diff --git a/.github/workflows/sdk-test.yml b/.github/workflows/sdk-test.yml index 6ad7e67c1..cf1427e25 100644 --- a/.github/workflows/sdk-test.yml +++ b/.github/workflows/sdk-test.yml @@ -36,7 +36,5 @@ jobs: with: github-token: ${{ secrets.GITHUB_TOKEN }} files: packages/api-kit/coverage/lcov.info - packages/auth-kit/coverage/lcov.info - packages/onramp-kit/coverage/lcov.info packages/relay-kit/coverage/lcov.info packages/sdk-starter-kit/coverage/lcov.info diff --git a/README.md b/README.md index 8487dbcdf..bbcd1931f 100644 --- a/README.md +++ b/README.md @@ -28,9 +28,7 @@ If you want to develop using Safe Smart Accounts in a Javascript/Typescript app, | [protocol-kit](https://github.com/safe-global/safe-core-sdk/tree/main/packages/protocol-kit) | [![npm Version](https://badge.fury.io/js/%40safe-global%2Fprotocol-kit.svg)](https://badge.fury.io/js/%40safe-global%2Fprotocol-kit) | TypeScript library that facilitates the interaction with [Safe Smart Accounts](https://github.com/safe-global/safe-smart-account). Can be used to create new Safe accounts, update the configuration of existing Safes, create and execute transactions, among other features. | | [api-kit](https://github.com/safe-global/safe-core-sdk/tree/main/packages/api-kit) | [![npm Version](https://badge.fury.io/js/%40safe-global%2Fapi-kit.svg)](https://badge.fury.io/js/%40safe-global%2Fapi-kit) | [Safe Transaction Service API](https://github.com/safe-global/safe-transaction-service) typescript library. Allows to propose and share transactions with the other signers of a Safe, sending the signatures to the service to collect them, and getting information about a Safe, among other features. | | [relay-kit](https://github.com/safe-global/safe-core-sdk/tree/main/packages/relay-kit) | ​​​[​![npm Version](https://badge.fury.io/js/%40safe-global%2Frelay-kit.svg)​](https://badge.fury.io/js/%40safe-global%2Frelay-kit)​ | Typescript library that enables ERC-4337 with Safe and allows users to pay for the transaction fees from their Safe account balance using the blockchain native token or ERC-20 tokens, or to get their transactions sponsored. | -| [safe-core-sdk-types](https://github.com/safe-global/safe-core-sdk/tree/main/packages/safe-core-sdk-types) | [![npm Version](https://badge.fury.io/js/%40safe-global%2Fsafe-core-sdk-types.svg)](https://badge.fury.io/js/%40safe-global%2Fsafe-core-sdk-types) | Common types used in the [Safe Core SDK](https://github.com/safe-global/safe-core-sdk/tree/main/packages) packages. | -| [auth-kit](https://github.com/safe-global/safe-core-sdk/tree/main/packages/auth-kit) | [![npm Version](https://badge.fury.io/js/%40safe-global%2Fauth-kit.svg)](https://badge.fury.io/js/%40safe-global%2Fauth-kit) | Typescript library to create an Ethereum address and authenticating a blockchain account using an email address, social media account, or traditional crypto wallets like Metamask. | -| [onramp-kit](https://github.com/safe-global/safe-core-sdk/tree/main/packages/onramp-kit) | [![npm Version](https://badge.fury.io/js/%40safe-global%2Fonramp-kit.svg)](https://badge.fury.io/js/%40safe-global%2Fonramp-kit) | Typescript library that allows users to buy cryptocurrencies using a credit card and other payment options. | +| [types-kit](https://github.com/safe-global/safe-core-sdk/tree/main/packages/types-kit) | [![npm Version](https://badge.fury.io/js/%40safe-global%2Ftypes-kit.svg)](https://badge.fury.io/js/%40safe-global%2Ftypes-kit) | Common types used in the [Safe Core SDK](https://github.com/safe-global/safe-core-sdk/tree/main/packages) packages. | ## Guides diff --git a/guides/README.md b/guides/README.md index 544a4bfa5..a30019cd1 100644 --- a/guides/README.md +++ b/guides/README.md @@ -9,7 +9,7 @@ Read about the basics of Safe and [how it compares to other solutions](https://h The [Safe Core SDK](https://github.com/safe-global/safe-core-sdk) is a monorepo that contains software developer tools that allows interaction with [Safe Smart Accounts](https://github.com/safe-global/safe-smart-account) and the [Safe Transaction Service API](https://github.com/safe-global/safe-transaction-service). In this guide we will use the following packages to deploy new Safes, create transactions, collect off-chain signatures and execute transactions: -* **safe-core-sdk-types** +* **types-kit** Contains the types that are shared among the different packages inside the monorepo. diff --git a/guides/integrating-the-safe-core-sdk.md b/guides/integrating-the-safe-core-sdk.md index 2c9b75949..d1c5988bf 100644 --- a/guides/integrating-the-safe-core-sdk.md +++ b/guides/integrating-the-safe-core-sdk.md @@ -17,7 +17,7 @@ To integrate the [Safe Core SDK](https://github.com/safe-global/safe-core-sdk) into your Dapp or script you will need to install these dependencies: ``` -@safe-global/safe-core-sdk-types +@safe-global/types-kit @safe-global/protocol-kit @safe-global/api-kit ``` @@ -134,7 +134,7 @@ When the array contains only one transaction, it is not wrapped in the MultiSend ```js import { SafeTransactionOptionalProps } from '@safe-global/protocol-kit' -import { MetaTransactionData } from '@safe-global/safe-core-sdk-types' +import { MetaTransactionData } from '@safe-global/types-kit' const transactions: MetaTransactionData[] = [ { diff --git a/package.json b/package.json index af9c677b4..0bc603c7d 100644 --- a/package.json +++ b/package.json @@ -19,18 +19,18 @@ "author": "Safe (https://safe.global)", "license": "MIT", "devDependencies": { - "@types/jest": "^29.5.12", + "@types/jest": "^29.5.13", "@types/node": "^20.14.5", - "@typescript-eslint/eslint-plugin": "^7.13.1", - "@typescript-eslint/parser": "^7.13.1", + "@typescript-eslint/eslint-plugin": "^7.18.0", + "@typescript-eslint/parser": "^7.18.0", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.1.3", - "husky": "^9.0.11", + "eslint-plugin-prettier": "^5.2.1", + "husky": "^9.1.6", "jest": "^29.7.0", - "lerna": "^8.1.3", - "lint-staged": "^15.2.7", - "prettier": "^3.3.2", + "lerna": "^8.1.8", + "lint-staged": "^15.2.10", + "prettier": "^3.3.3", "rimraf": "^3.0.2", "ts-jest": "^29.1.5", "ts-node": "^10.9.2", diff --git a/packages/api-kit/.env.example b/packages/api-kit/.env.example deleted file mode 100644 index c519ed0be..000000000 --- a/packages/api-kit/.env.example +++ /dev/null @@ -1,2 +0,0 @@ -MNEMONIC= -PK= \ No newline at end of file diff --git a/packages/api-kit/hardhat.config.ts b/packages/api-kit/hardhat.config.ts deleted file mode 100644 index c5c5e2710..000000000 --- a/packages/api-kit/hardhat.config.ts +++ /dev/null @@ -1,52 +0,0 @@ -import '@nomicfoundation/hardhat-viem' -import dotenv from 'dotenv' -import { HardhatUserConfig, HttpNetworkUserConfig } from 'hardhat/types' -import yargs from 'yargs' - -import 'tsconfig-paths/register' - -yargs - .option('network', { - type: 'string', - default: 'hardhat' - }) - .help(false) - .version(false).argv - -dotenv.config() -const { MNEMONIC, PK, TESTS_PATH } = process.env -const DEFAULT_MNEMONIC = - 'myth like bonus scare over problem client lizard pioneer submit female collect' - -const sharedNetworkConfig: HttpNetworkUserConfig = {} -if (PK) { - sharedNetworkConfig.accounts = [PK] -} else { - sharedNetworkConfig.accounts = { - mnemonic: MNEMONIC || DEFAULT_MNEMONIC - } -} - -const config: HardhatUserConfig = { - defaultNetwork: 'sepolia', - paths: { - tests: TESTS_PATH - }, - networks: { - hardhat: { - allowUnlimitedContractSize: true, - blockGasLimit: 100000000, - gas: 100000000 - }, - sepolia: { - ...sharedNetworkConfig, - url: 'https://sepolia.gateway.tenderly.co' - } - }, - //@ts-expect-error Type not found - compilerOptions: { - paths: { '^@safe-global/protocol-kit/(.*)$': ['../protocol-kit/src/*'] } - } -} - -export default config diff --git a/packages/api-kit/package.json b/packages/api-kit/package.json index 71d3e7558..7366c33aa 100644 --- a/packages/api-kit/package.json +++ b/packages/api-kit/package.json @@ -1,6 +1,6 @@ { "name": "@safe-global/api-kit", - "version": "2.4.5", + "version": "2.4.6", "description": "SDK that facilitates the interaction with the Safe Transaction Service API", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -12,13 +12,13 @@ "API" ], "scripts": { - "test:web3": "export TESTS_PATH=tests/endpoint && export ETH_LIB=web3 && nyc --reporter=lcov hardhat test", - "test:ethers": "export TESTS_PATH=tests/endpoint && export ETH_LIB=ethers && nyc --reporter=lcov hardhat test", - "test:viem": "export TESTS_PATH=tests/endpoint && export ETH_LIB=viem && nyc --reporter=lcov hardhat test", + "test:web3": "export HARDHAT_NETWORK=sepolia && export ETH_LIB=web3 && nyc --reporter=lcov testing-kit test 'tests/endpoint/*.test.*'", + "test:ethers": "export HARDHAT_NETWORK=sepolia && export ETH_LIB=ethers && nyc --reporter=lcov testing-kit test 'tests/endpoint/*.test.*'", + "test:viem": "export HARDHAT_NETWORK=sepolia && export ETH_LIB=viem && nyc --reporter=lcov testing-kit test 'tests/endpoint/*.test.*'", "test": "yarn test:viem", - "test:ci:web3": "export TESTS_PATH=tests/e2e && export ETH_LIB=web3 && nyc --reporter=lcov hardhat test", - "test:ci:ethers": "export TESTS_PATH=tests/e2e && export ETH_LIB=ethers && nyc --reporter=lcov hardhat test", - "test:ci:viem": "export TESTS_PATH=tests/e2e && export ETH_LIB=viem && nyc --reporter=lcov hardhat test", + "test:ci:web3": "export HARDHAT_NETWORK=sepolia && export ETH_LIB=web3 && nyc --reporter=lcov testing-kit test 'tests/e2e/*.test.*'", + "test:ci:ethers": "export HARDHAT_NETWORK=sepolia && export ETH_LIB=ethers && nyc --reporter=lcov testing-kit test 'tests/e2e/*.test.*'", + "test:ci:viem": "export HARDHAT_NETWORK=sepolia && export ETH_LIB=viem && nyc --reporter=lcov testing-kit test 'tests/e2e/*.test.*'", "test:ci": "yarn test:ci:viem", "format:check": "prettier --check \"*/**/*.{js,json,md,ts}\"", "format": "prettier --write \"*/**/*.{js,json,md,ts}\"", @@ -39,31 +39,28 @@ ], "homepage": "https://github.com/safe-global/safe-core-sdk#readme", "devDependencies": { - "@nomicfoundation/hardhat-viem": "^2.0.2", "@safe-global/relay-kit": "^3.1.0", - "@types/chai": "^4.3.16", + "@safe-global/testing-kit": "^0.0.1-alpha.1", + "@types/chai": "^4.3.19", "@types/chai-as-promised": "^7.1.8", - "@types/mocha": "^10.0.6", + "@types/mocha": "^10.0.8", "@types/node-fetch": "^2.6.11", "@types/sinon-chai": "^3.2.11", - "@types/yargs": "^17.0.32", "chai": "^4.3.10", "chai-as-promised": "^7.1.1", - "ethers": "^6.13.1", - "hardhat": "2.20.1", + "ethers": "^6.13.2", "mocha": "^10.2.0", "nyc": "^15.1.0", "semver": "^7.6.1", "sinon": "^14.0.2", "sinon-chai": "^3.7.0", "tsconfig-paths": "^4.2.0", - "web3": "^4.7.0", - "yargs": "^17.7.2" + "web3": "^4.12.1" }, "dependencies": { - "@safe-global/protocol-kit": "^4.1.0", - "@safe-global/safe-core-sdk-types": "^5.1.0", + "@safe-global/protocol-kit": "^4.1.1", + "@safe-global/types-kit": "^1.0.0", "node-fetch": "^2.7.0", - "viem": "^2.19.0" + "viem": "^2.21.8" } } diff --git a/packages/api-kit/src/SafeApiKit.ts b/packages/api-kit/src/SafeApiKit.ts index 01ac92f1d..09c87e5bc 100644 --- a/packages/api-kit/src/SafeApiKit.ts +++ b/packages/api-kit/src/SafeApiKit.ts @@ -41,7 +41,7 @@ import { SafeOperation, SafeOperationConfirmationListResponse, SafeOperationResponse -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import { TRANSACTION_SERVICE_URLS } from './utils/config' import { isEmptyData } from './utils' import { getAddSafeOperationProps } from './utils/safeOperation' diff --git a/packages/api-kit/src/index.ts b/packages/api-kit/src/index.ts index 6067338bb..0ccf01f69 100644 --- a/packages/api-kit/src/index.ts +++ b/packages/api-kit/src/index.ts @@ -4,7 +4,7 @@ export * from './types/safeTransactionServiceTypes' export { SafeApiKitConfig } export default SafeApiKit -declare module 'viem/node_modules/abitype' { +declare module 'abitype' { export interface Register { AddressType: string } diff --git a/packages/api-kit/src/types/safeTransactionServiceTypes.ts b/packages/api-kit/src/types/safeTransactionServiceTypes.ts index 71699e498..a09256697 100644 --- a/packages/api-kit/src/types/safeTransactionServiceTypes.ts +++ b/packages/api-kit/src/types/safeTransactionServiceTypes.ts @@ -5,7 +5,7 @@ import { UserOperation, SafeOperationResponse, ListResponse -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' export type ListOptions = { /** Maximum number of results to return per page */ @@ -248,6 +248,7 @@ export type AddMessageProps = { } export type GetSafeMessageListProps = { + /** Which field to use when ordering the results. It can be: `created`, `modified` (default: `-created`) */ ordering?: string } & ListOptions @@ -260,7 +261,7 @@ export type EIP712TypedData = { export type GetSafeOperationListProps = { /** Address of the Safe to get SafeOperations for */ safeAddress: string - /** Which field to use when ordering the results */ + /** Which field to use when ordering the results. It can be: `user_operation__nonce`, `created` (default: `-user_operation__nonce`) */ ordering?: string } & ListOptions diff --git a/packages/api-kit/src/utils/safeOperation.ts b/packages/api-kit/src/utils/safeOperation.ts index 9804aad40..b2477cd90 100644 --- a/packages/api-kit/src/utils/safeOperation.ts +++ b/packages/api-kit/src/utils/safeOperation.ts @@ -1,4 +1,4 @@ -import { SafeOperation } from '@safe-global/safe-core-sdk-types' +import { SafeOperation } from '@safe-global/types-kit' export const getAddSafeOperationProps = async (safeOperation: SafeOperation) => { const userOperation = safeOperation.toUserOperation() diff --git a/packages/api-kit/tests/e2e/addMessageSignature.test.ts b/packages/api-kit/tests/e2e/addMessageSignature.test.ts index b4b5cad94..62255cecb 100644 --- a/packages/api-kit/tests/e2e/addMessageSignature.test.ts +++ b/packages/api-kit/tests/e2e/addMessageSignature.test.ts @@ -5,7 +5,7 @@ import Safe, { SigningMethod, buildContractSignature } from '@safe-global/protocol-kit' -import { SafeMessage } from '@safe-global/safe-core-sdk-types' +import { SafeMessage } from '@safe-global/types-kit' import SafeApiKit from '@safe-global/api-kit/index' import chai from 'chai' import chaiAsPromised from 'chai-as-promised' diff --git a/packages/api-kit/tests/e2e/confirmSafeOperation.test.ts b/packages/api-kit/tests/e2e/confirmSafeOperation.test.ts index 9f1e51146..075febbe5 100644 --- a/packages/api-kit/tests/e2e/confirmSafeOperation.test.ts +++ b/packages/api-kit/tests/e2e/confirmSafeOperation.test.ts @@ -6,7 +6,7 @@ import { BundlerClient, Safe4337InitOptions, Safe4337Pack } from '@safe-global/r import { generateTransferCallData } from '@safe-global/relay-kit/packs/safe-4337/testing-utils/helpers' import SafeApiKit from '@safe-global/api-kit/index' import { getAddSafeOperationProps } from '@safe-global/api-kit/utils/safeOperation' -import { SafeOperation } from '@safe-global/safe-core-sdk-types' +import { SafeOperation } from '@safe-global/types-kit' // Needs to be imported from dist folder in order to mock the getEip4337BundlerProvider function import * as safe4337Utils from '@safe-global/relay-kit/dist/src/packs/safe-4337/utils' import { getApiKit, getEip1193Provider } from '../utils/setupKits' diff --git a/packages/api-kit/tests/e2e/confirmTransaction.test.ts b/packages/api-kit/tests/e2e/confirmTransaction.test.ts index 7da0f4abe..090a8a342 100644 --- a/packages/api-kit/tests/e2e/confirmTransaction.test.ts +++ b/packages/api-kit/tests/e2e/confirmTransaction.test.ts @@ -7,7 +7,7 @@ import Safe, { import { SafeMultisigConfirmationResponse, SafeTransactionDataPartial -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import SafeApiKit from '@safe-global/api-kit/index' import chai from 'chai' import chaiAsPromised from 'chai-as-promised' diff --git a/packages/api-kit/tests/e2e/getSafeOperationsByAddress.test.ts b/packages/api-kit/tests/e2e/getSafeOperationsByAddress.test.ts index b5209fa30..95a283d9b 100644 --- a/packages/api-kit/tests/e2e/getSafeOperationsByAddress.test.ts +++ b/packages/api-kit/tests/e2e/getSafeOperationsByAddress.test.ts @@ -1,5 +1,5 @@ import SafeApiKit from '@safe-global/api-kit/index' -import { SafeOperationResponse } from '@safe-global/safe-core-sdk-types' +import { SafeOperationResponse } from '@safe-global/types-kit' import chai from 'chai' import chaiAsPromised from 'chai-as-promised' import { getApiKit } from '../utils/setupKits' diff --git a/packages/api-kit/tests/endpoint/index.test.ts b/packages/api-kit/tests/endpoint/index.test.ts index e72b5c536..d0d59d0b8 100644 --- a/packages/api-kit/tests/endpoint/index.test.ts +++ b/packages/api-kit/tests/endpoint/index.test.ts @@ -13,7 +13,7 @@ import SafeApiKit, { } from '@safe-global/api-kit/index' import * as httpRequests from '@safe-global/api-kit/utils/httpRequests' import Safe from '@safe-global/protocol-kit' -import { UserOperation } from '@safe-global/safe-core-sdk-types' +import { UserOperation } from '@safe-global/types-kit' import { signDelegate } from '@safe-global/api-kit/utils/signDelegate' import config from '../utils/config' import { getApiKit, getKits } from '../utils/setupKits' diff --git a/packages/api-kit/tsconfig.json b/packages/api-kit/tsconfig.json index 65d73d641..18bfaf51a 100644 --- a/packages/api-kit/tsconfig.json +++ b/packages/api-kit/tsconfig.json @@ -4,5 +4,5 @@ "composite": true, "outDir": "dist" }, - "include": ["src/**/*", "tests/**/*", "hardhat.config.ts"] + "include": ["src/**/*", "tests/**/*"] } diff --git a/packages/auth-kit/README.md b/packages/auth-kit/README.md deleted file mode 100644 index a7e80f840..000000000 --- a/packages/auth-kit/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# Auth Kit - -[![npm Version](https://badge.fury.io/js/%40safe-global%2Fauth-kit.svg)](https://badge.fury.io/js/%40safe-global%2Fauth-kit) -[![GitHub Release](https://img.shields.io/github/release/safe-global/safe-core-sdk.svg?style=flat)](https://github.com/safe-global/safe-core-sdk/releases) -[![GitHub](https://img.shields.io/github/license/safe-global/safe-core-sdk)](https://github.com/safe-global/safe-core-sdk/blob/main/LICENSE.md) - -The Auth Kit provides a way to authenticate blockchain accounts using email addresses, social accounts or traditional web3 wallets (ex. Metamask). When using web2 methods as your email or social account, a derived Ethereum address will be generated. - -## Documentation - -- [Auth Kit integration guides](https://docs.safe.global/sdk/auth-kit) - -- [Auth Kit reference](https://docs.safe.global/sdk/auth-kit/reference) - -## Example - -[Check a functional demo](https://github.com/safe-global/safe-core-sdk/tree/main/packages/auth-kit/example) using the `auth-kit` - -## Need Help or Have Questions? - -If you have any doubts, questions, or need assistance, feel free to reach out! [Here you will find how to get support.](https://github.com/safe-global/safe-core-sdk/tree/main/SUPPORT.md) - -## Contributing - -Please read our [contribution guidelines](https://github.com/safe-global/safe-core-sdk/tree/main/CONTRIBUTING.md) before submitting any changes. We appreciate your help! 🙌 - -## License - -This library is [released under MIT](https://github.com/safe-global/safe-core-sdk/blob/main/LICENSE.md). diff --git a/packages/auth-kit/example/.gitignore b/packages/auth-kit/example/.gitignore deleted file mode 100644 index a547bf36d..000000000 --- a/packages/auth-kit/example/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -dist -dist-ssr -*.local - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -.DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/packages/auth-kit/example/README.md b/packages/auth-kit/example/README.md deleted file mode 100644 index 633607dee..000000000 --- a/packages/auth-kit/example/README.md +++ /dev/null @@ -1,26 +0,0 @@ -# How to use - -This is an example of how to use the `@safe-global/auth-kit` package. - -```bash -yarn install -yarn start -``` - -This example can be used as a playground to test the package as it is relatively imported from the root of the project. - -```typescript -import { SafeAuthKit, SafeAuthProviderType, SafeAuthSignInData } from '../../src/index' -``` - -To use the example properly in your local machine follow these steps: - -**In the project root folder** - -1. `yarn install` -2. `yarn build` - -**In the auth-kit example root folder** - -3. `yarn install` -4. `yarn start` diff --git a/packages/auth-kit/example/index.html b/packages/auth-kit/example/index.html deleted file mode 100644 index 5e6dfaa22..000000000 --- a/packages/auth-kit/example/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Auth Provider demo - - -
- - - diff --git a/packages/auth-kit/example/package.json b/packages/auth-kit/example/package.json deleted file mode 100644 index b7e044aaf..000000000 --- a/packages/auth-kit/example/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "@safe-global/auth-kit-example", - "private": true, - "version": "1.0.0", - "type": "module", - "scripts": { - "clean": "rm -rf node_modules/.vite", - "start": "yarn clean && vite", - "build": "vite build" - }, - "dependencies": { - "@emotion/react": "^11.11.4", - "@emotion/styled": "^11.11.5", - "@mui/material": "^5.15.15", - "@safe-global/api-kit": "file:../../api-kit", - "@safe-global/auth-kit": "file:../", - "@safe-global/protocol-kit": "file:../../protocol-kit", - "@safe-global/safe-core-sdk-types": "file:../../safe-core-sdk-types", - "@safe-global/safe-react-components": "^2.0.6", - "ethers": "^6.11.1", - "react": "^18.2.0", - "react-dom": "^18.2.0" - }, - "devDependencies": { - "@rollup/plugin-commonjs": "^24.0.1", - "@types/react": "^18.0.27", - "@types/react-dom": "^18.0.10", - "@vitejs/plugin-react": "^3.1.0", - "rollup-plugin-polyfill-node": "^0.12.0", - "typescript": "^5.4.4", - "vite": "^4.5.3", - "vite-plugin-node-polyfills": "^0.16.0" - } -} diff --git a/packages/auth-kit/example/public/vite.svg b/packages/auth-kit/example/public/vite.svg deleted file mode 100644 index e7b8dfb1b..000000000 --- a/packages/auth-kit/example/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/auth-kit/example/src/App.tsx b/packages/auth-kit/example/src/App.tsx deleted file mode 100644 index 611cc08b8..000000000 --- a/packages/auth-kit/example/src/App.tsx +++ /dev/null @@ -1,412 +0,0 @@ -import { useEffect, useState } from 'react' -import { BrowserProvider, Eip1193Provider, ethers } from 'ethers' -import { Box, Button, Divider, Grid, Typography } from '@mui/material' -import { EthHashInfo } from '@safe-global/safe-react-components' -import Safe from '@safe-global/protocol-kit' -import AppBar from './AppBar' -import { - AuthKitSignInData, - SafeAuthInitOptions, - SafeAuthPack, - SafeAuthUserInfo -} from '@safe-global/auth-kit' -import { getSafeTxV4TypedData, getTypedData, getV3TypedData } from './typedData' - -function App() { - const [safeAuthPack, setSafeAuthPack] = useState() - const [isAuthenticated, setIsAuthenticated] = useState(!!safeAuthPack?.isAuthenticated) - const [safeAuthSignInResponse, setSafeAuthSignInResponse] = useState( - null - ) - const [userInfo, setUserInfo] = useState(null) - const [chainId, setChainId] = useState() - const [balance, setBalance] = useState() - const [consoleMessage, setConsoleMessage] = useState('') - const [consoleTitle, setConsoleTitle] = useState('') - const [provider, setProvider] = useState() - - useEffect(() => { - // @ts-expect-error - Missing globals - const params = new URL(window.document.location).searchParams - const chainId = params.get('chainId') - - ;(async () => { - const options: SafeAuthInitOptions = { - enableLogging: true, - buildEnv: 'production', - chainConfig: { - chainId: chainId || '0x64', - rpcTarget: 'https://gnosis.drpc.org' - } - } - - const authPack = new SafeAuthPack() - - await authPack.init(options) - - console.log('safeAuthPack:safeEmbed', authPack.safeAuthEmbed) - - setSafeAuthPack(authPack) - - authPack.subscribe('accountsChanged', async (accounts) => { - console.log('safeAuthPack:accountsChanged', accounts, authPack.isAuthenticated) - if (authPack.isAuthenticated) { - const signInInfo = await authPack?.signIn() - - setSafeAuthSignInResponse(signInInfo) - setIsAuthenticated(true) - } - }) - - authPack.subscribe('chainChanged', (eventData) => - console.log('safeAuthPack:chainChanged', eventData) - ) - })() - }, []) - - useEffect(() => { - if (!safeAuthPack || !isAuthenticated) return - ;(async () => { - const web3Provider = safeAuthPack.getProvider() - const userInfo = await safeAuthPack.getUserInfo() - - setUserInfo(userInfo) - - if (web3Provider) { - const provider = new BrowserProvider(safeAuthPack.getProvider() as Eip1193Provider) - const signer = await provider.getSigner() - const signerAddress = await signer.getAddress() - - setChainId((await provider?.getNetwork()).chainId.toString()) - setBalance( - ethers.formatEther((await provider.getBalance(signerAddress)) as ethers.BigNumberish) - ) - setProvider(provider) - } - })() - }, [isAuthenticated]) - - const login = async () => { - if (!safeAuthPack) { - throw new Error('SafeAuthPack is not initialized') - } - - const signInInfo = await safeAuthPack.signIn() - - setSafeAuthSignInResponse(signInInfo) - setIsAuthenticated(true) - } - - const logout = async () => { - if (!safeAuthPack) { - throw new Error('SafeAuthPack is not initialized') - } - - await safeAuthPack.signOut() - - setSafeAuthSignInResponse(null) - } - - const getUserInfo = async () => { - const userInfo = await safeAuthPack?.getUserInfo() - - uiConsole('User Info', userInfo) - } - - const getAccounts = async () => { - const accounts = await provider?.send('eth_accounts', []) - - uiConsole('Accounts', accounts) - } - - const getChainId = async () => { - const chainId = await provider?.send('eth_chainId', []) - - uiConsole('ChainId', chainId) - } - - const signAndExecuteSafeTx = async (index: number) => { - const safeAddress = safeAuthSignInResponse?.safes?.[index] || '0x' - - // Wrap Web3Auth provider with ethers - const protocolKit = await Safe.init({ - provider: safeAuthPack?.getProvider() as Eip1193Provider, - safeAddress - }) - - // Create transaction - let tx = await protocolKit.createTransaction({ - transactions: [ - { - to: ethers.getAddress(safeAuthSignInResponse?.eoa || '0x'), - data: '0x', - value: ethers.parseUnits('0.0001', 'ether').toString() - } - ] - }) - - // Sign transaction. Not necessary to execute the transaction if the threshold is one - // but kept to test the sign transaction modal - tx = await protocolKit.signTransaction(tx) - - // Execute transaction - const txResult = await protocolKit.executeTransaction(tx) - uiConsole('Safe Transaction Result', txResult) - } - - const signMessage = async (data: any, method: string) => { - let signedMessage - - const params = { - data, - from: safeAuthSignInResponse?.eoa - } - - if (method === 'eth_signTypedData') { - signedMessage = await provider?.send(method, [params.data, params.from]) - } else if (method === 'eth_signTypedData_v3' || method === 'eth_signTypedData_v4') { - signedMessage = await provider?.send(method, [params.from, JSON.stringify(params.data)]) - } else { - signedMessage = await (await provider?.getSigner())?.signMessage(data) - } - - uiConsole('Signed Message', signedMessage) - } - - const sendTransaction = async () => { - const tx = await provider?.send('eth_sendTransaction', [ - { - from: safeAuthSignInResponse?.eoa, - to: safeAuthSignInResponse?.eoa, - value: ethers.parseUnits('0.00001', 'ether').toString(), - gasLimit: 21000 - } - ]) - - uiConsole('Transaction Response', tx) - } - - const switchChain = async () => { - const result = await provider?.send('wallet_switchEthereumChain', [ - { - chainId: '0x1' - } - ]) - - uiConsole('Switch Chain', result) - } - - const addChain = async () => { - const result = await provider?.send('wallet_addEthereumChain', [ - { - chainId: '0x2105', - chainName: 'Base', - nativeCurrency: { - name: 'ETH', - symbol: 'ETH', - decimals: 18 - }, - rpcUrls: ['https://rpc.ankr.com/base'], - blockExplorerUrls: ['https://basescan.org/'] - } - ]) - - uiConsole(`Add chain`, result) - } - - const uiConsole = (title: string, message: unknown) => { - setConsoleTitle(title) - setConsoleMessage(typeof message === 'string' ? message : JSON.stringify(message, null, 2)) - } - - return ( - <> - - {safeAuthSignInResponse?.eoa && ( - - - - Signer - - - - - - Chain{' '} - - {chainId} - - - - Balance{' '} - - {balance} - - - - - - - - - - - - - - {' '} - - - - <> - - Safe accounts - - - {safeAuthSignInResponse?.safes?.length ? ( - safeAuthSignInResponse?.safes?.map((safe, index) => ( - <> - - - - - - - )) - ) : ( - - No Available Safes - - )} - - - - - Console - - - - {consoleTitle} - - - {consoleMessage} - - - - )} - - ) -} - -export default App diff --git a/packages/auth-kit/example/src/AppBar.tsx b/packages/auth-kit/example/src/AppBar.tsx deleted file mode 100644 index e3e85ffe4..000000000 --- a/packages/auth-kit/example/src/AppBar.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import { AppBar as MuiAppBar, Typography, styled, Box, Button } from '@mui/material' -import { SafeAuthUserInfo } from '@safe-global/auth-kit' - -type AppBarProps = { - isLoggedIn: boolean - onLogin: () => void - onLogout: () => void - userInfo?: SafeAuthUserInfo -} - -const AppBar = ({ isLoggedIn, onLogin, onLogout, userInfo }: AppBarProps) => { - return ( - - - Auth Provider Demo - - - - {isLoggedIn ? ( - - {userInfo && ( - - Hello {userInfo.name || userInfo.email} !! - - )} - - - ) : ( - - )} - - - ) -} - -const StyledAppBar = styled(MuiAppBar)` - && { - position: sticky; - top: 0; - background: ${({ theme }) => theme.palette.background.paper}; - height: 70px; - align-items: center; - justify-content: space-between; - flex-direction: row; - border-bottom: 2px solid ${({ theme }) => theme.palette.background.paper}; - box-shadow: none; - } -` - -export default AppBar diff --git a/packages/auth-kit/example/src/index.css b/packages/auth-kit/example/src/index.css deleted file mode 100644 index c0850d570..000000000 --- a/packages/auth-kit/example/src/index.css +++ /dev/null @@ -1 +0,0 @@ -@import url('../node_modules/@safe-global/safe-react-components/dist/fonts.css'); diff --git a/packages/auth-kit/example/src/main.tsx b/packages/auth-kit/example/src/main.tsx deleted file mode 100644 index 5f15ed030..000000000 --- a/packages/auth-kit/example/src/main.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react' -import ReactDOM from 'react-dom/client' -import { SafeThemeProvider } from '@safe-global/safe-react-components' -import { ThemeProvider, CssBaseline } from '@mui/material' - -import App from './App' - -import './index.css' - -ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( - - {(safeTheme) => ( - - - - - )} - -) diff --git a/packages/auth-kit/example/src/typedData.ts b/packages/auth-kit/example/src/typedData.ts deleted file mode 100644 index e10efd319..000000000 --- a/packages/auth-kit/example/src/typedData.ts +++ /dev/null @@ -1,175 +0,0 @@ -export const getTypedData = () => [ - { - type: 'string', - name: 'message', - value: 'Hi, Alice!' - }, - { - type: 'uint8', - name: 'value', - value: 10 - } -] - -export const getV3TypedData = (chainId: string) => ({ - types: { - EIP712Domain: [ - { name: 'name', type: 'string' }, - { name: 'version', type: 'string' }, - { name: 'chainId', type: 'uint256' }, - { name: 'verifyingContract', type: 'address' } - ], - Person: [ - { name: 'name', type: 'string' }, - { name: 'wallet', type: 'address' } - ], - Mail: [ - { name: 'from', type: 'Person' }, - { name: 'to', type: 'Person' }, - { name: 'contents', type: 'string' } - ] - }, - primaryType: 'Mail', - domain: { - name: 'Ether Mail', - version: '1', - chainId: Number(chainId), - verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC' - }, - message: { - from: { - name: 'Cow', - wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826' - }, - to: { - name: 'Bob', - wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB' - }, - contents: 'Hello, Bob!' - } -}) - -export const getSafeTxV4TypedData = (chainId: string) => ({ - types: { - SafeTx: [ - { - type: 'address', - name: 'to' - }, - { - type: 'uint256', - name: 'value' - }, - { - type: 'bytes', - name: 'data' - }, - { - type: 'uint8', - name: 'operation' - }, - { - type: 'uint256', - name: 'safeTxGas' - }, - { - type: 'uint256', - name: 'baseGas' - }, - { - type: 'uint256', - name: 'gasPrice' - }, - { - type: 'address', - name: 'gasToken' - }, - { - type: 'address', - name: 'refundReceiver' - }, - { - type: 'uint256', - name: 'nonce' - } - ], - EIP712Domain: [ - { - name: 'chainId', - type: 'uint256' - }, - { - name: 'verifyingContract', - type: 'address' - } - ] - }, - domain: { - chainId: Number(chainId), - verifyingContract: '0x93B148791c4d93420f421D59705C365DACAcF4C7' - }, - primaryType: 'SafeTx', - message: { - to: '0x03cd3e862972746b9bf9a2ba56308566fd270562', - value: '100000000000000', - data: '0x', - operation: '0', - safeTxGas: '0', - baseGas: '0', - gasPrice: '0', - gasToken: '0x0000000000000000000000000000000000000000', - refundReceiver: '0x0000000000000000000000000000000000000000', - nonce: '19' - } -}) - -export const getV4TypedData = (chainId: string) => ({ - types: { - EIP712Domain: [ - { name: 'name', type: 'string' }, - { name: 'version', type: 'string' }, - { name: 'chainId', type: 'uint256' }, - { name: 'verifyingContract', type: 'address' } - ], - Person: [ - { name: 'name', type: 'string' }, - { name: 'wallets', type: 'address[]' } - ], - Mail: [ - { name: 'from', type: 'Person' }, - { name: 'to', type: 'Person[]' }, - { name: 'contents', type: 'string' } - ], - Group: [ - { name: 'name', type: 'string' }, - { name: 'members', type: 'Person[]' } - ] - }, - domain: { - name: 'Ether Mail', - version: '1', - chainId: Number(chainId), - verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC' - }, - primaryType: 'Mail', - message: { - from: { - name: 'Cow', - wallets: [ - '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', - '0xDeaDbeefdEAdbeefdEadbEEFdeadbeEFdEaDbeeF' - ] - }, - to: [ - { - name: 'Bob', - wallets: [ - '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', - '0xB0BdaBea57B0BDABeA57b0bdABEA57b0BDabEa57', - '0xB0B0b0b0b0b0B000000000000000000000000000' - ] - } - ], - contents: 'Hello, Bob!' - } -}) diff --git a/packages/auth-kit/example/src/vite-env.d.ts b/packages/auth-kit/example/src/vite-env.d.ts deleted file mode 100644 index 11f02fe2a..000000000 --- a/packages/auth-kit/example/src/vite-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/packages/auth-kit/example/tsconfig.json b/packages/auth-kit/example/tsconfig.json deleted file mode 100644 index 3d0a51a86..000000000 --- a/packages/auth-kit/example/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "target": "ESNext", - "useDefineForClassFields": true, - "lib": ["DOM", "DOM.Iterable", "ESNext"], - "allowJs": false, - "skipLibCheck": true, - "esModuleInterop": false, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "module": "ESNext", - "moduleResolution": "Node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx" - }, - "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }] -} diff --git a/packages/auth-kit/example/tsconfig.node.json b/packages/auth-kit/example/tsconfig.node.json deleted file mode 100644 index 9d31e2aed..000000000 --- a/packages/auth-kit/example/tsconfig.node.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Node", - "allowSyntheticDefaultImports": true - }, - "include": ["vite.config.ts"] -} diff --git a/packages/auth-kit/example/vite.config.ts b/packages/auth-kit/example/vite.config.ts deleted file mode 100644 index 80d1b9312..000000000 --- a/packages/auth-kit/example/vite.config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { defineConfig } from 'vite' -import { nodePolyfills } from 'vite-plugin-node-polyfills' -import react from '@vitejs/plugin-react' - -export default defineConfig({ - plugins: [react(), nodePolyfills()], - server: { - port: 3000 - } -}) diff --git a/packages/auth-kit/example/yarn.lock b/packages/auth-kit/example/yarn.lock deleted file mode 100644 index 62a6b1661..000000000 --- a/packages/auth-kit/example/yarn.lock +++ /dev/null @@ -1,4682 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@adraffy/ens-normalize@1.10.1": - version "1.10.1" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz#63430d04bd8c5e74f8d7d049338f1cd9d4f02069" - integrity sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw== - -"@ampproject/remapping@^2.2.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" - integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2": - version "7.24.2" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" - integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== - dependencies: - "@babel/highlight" "^7.24.2" - picocolors "^1.0.0" - -"@babel/compat-data@^7.23.5": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" - integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== - -"@babel/core@^7.20.12": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.4.tgz#1f758428e88e0d8c563874741bc4ffc4f71a4717" - integrity sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.4" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.24.4" - "@babel/parser" "^7.24.4" - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.1" - "@babel/types" "^7.24.0" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.24.1", "@babel/generator@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.4.tgz#1fc55532b88adf952025d5d2d1e71f946cb1c498" - integrity sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw== - dependencies: - "@babel/types" "^7.24.0" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== - dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" - browserslist "^4.22.2" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.15": - version "7.24.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" - integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== - dependencies: - "@babel/types" "^7.24.0" - -"@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@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.20" - -"@babel/helper-plugin-utils@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz#945681931a52f15ce879fd5b86ce2dae6d3d7f2a" - integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.23.4": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" - integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - -"@babel/helpers@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.4.tgz#dc00907fd0d95da74563c142ef4cd21f2cb856b6" - integrity sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw== - dependencies: - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.1" - "@babel/types" "^7.24.0" - -"@babel/highlight@^7.24.2": - version "7.24.2" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.2.tgz#3f539503efc83d3c59080a10e6634306e0370d26" - integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.4.tgz#234487a110d89ad5a3ed4a8a566c36b9453e8c88" - integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== - -"@babel/plugin-transform-react-jsx-self@^7.18.6": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.1.tgz#a21d866d8167e752c6a7c4555dba8afcdfce6268" - integrity sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-react-jsx-source@^7.19.6": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.1.tgz#a2dedb12b09532846721b5df99e52ef8dc3351d0" - integrity sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.22.10", "@babel/runtime@^7.23.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.4.tgz#de795accd698007a66ba44add6cc86542aff1edd" - integrity sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.22.15", "@babel/template@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" - integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.24.0" - "@babel/types" "^7.24.0" - -"@babel/traverse@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.1.tgz#d65c36ac9dd17282175d1e4a3c49d5b7988f530c" - integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== - dependencies: - "@babel/code-frame" "^7.24.1" - "@babel/generator" "^7.24.1" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.24.1" - "@babel/types" "^7.24.0" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" - integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@emotion/babel-plugin@^11.11.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" - integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/runtime" "^7.18.3" - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/serialize" "^1.1.2" - babel-plugin-macros "^3.1.0" - convert-source-map "^1.5.0" - escape-string-regexp "^4.0.0" - find-root "^1.1.0" - source-map "^0.5.7" - stylis "4.2.0" - -"@emotion/cache@^11.11.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" - integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== - dependencies: - "@emotion/memoize" "^0.8.1" - "@emotion/sheet" "^1.2.2" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" - stylis "4.2.0" - -"@emotion/hash@^0.9.1": - version "0.9.1" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" - integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== - -"@emotion/is-prop-valid@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz#d4175076679c6a26faa92b03bb786f9e52612337" - integrity sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw== - dependencies: - "@emotion/memoize" "^0.8.1" - -"@emotion/memoize@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" - integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== - -"@emotion/react@^11.11.4": - version "11.11.4" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.4.tgz#3a829cac25c1f00e126408fab7f891f00ecc3c1d" - integrity sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw== - dependencies: - "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.11.0" - "@emotion/cache" "^11.11.0" - "@emotion/serialize" "^1.1.3" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" - hoist-non-react-statics "^3.3.1" - -"@emotion/serialize@^1.1.2", "@emotion/serialize@^1.1.3", "@emotion/serialize@^1.1.4": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.4.tgz#fc8f6d80c492cfa08801d544a05331d1cc7cd451" - integrity sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ== - dependencies: - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/unitless" "^0.8.1" - "@emotion/utils" "^1.2.1" - csstype "^3.0.2" - -"@emotion/sheet@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" - integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== - -"@emotion/styled@^11.11.5": - version "11.11.5" - resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.11.5.tgz#0c5c8febef9d86e8a926e663b2e5488705545dfb" - integrity sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ== - dependencies: - "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.11.0" - "@emotion/is-prop-valid" "^1.2.2" - "@emotion/serialize" "^1.1.4" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" - "@emotion/utils" "^1.2.1" - -"@emotion/unitless@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" - integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== - -"@emotion/use-insertion-effect-with-fallbacks@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" - integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== - -"@emotion/utils@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" - integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== - -"@emotion/weak-memoize@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" - integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== - -"@esbuild/android-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" - integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== - -"@esbuild/android-arm@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" - integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== - -"@esbuild/android-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" - integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== - -"@esbuild/darwin-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" - integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== - -"@esbuild/darwin-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" - integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== - -"@esbuild/freebsd-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" - integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== - -"@esbuild/freebsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" - integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== - -"@esbuild/linux-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" - integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== - -"@esbuild/linux-arm@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" - integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== - -"@esbuild/linux-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" - integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== - -"@esbuild/linux-loong64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" - integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== - -"@esbuild/linux-mips64el@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" - integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== - -"@esbuild/linux-ppc64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" - integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== - -"@esbuild/linux-riscv64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" - integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== - -"@esbuild/linux-s390x@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" - integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== - -"@esbuild/linux-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" - integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== - -"@esbuild/netbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" - integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== - -"@esbuild/openbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" - integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== - -"@esbuild/sunos-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" - integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== - -"@esbuild/win32-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" - integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== - -"@esbuild/win32-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" - integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== - -"@esbuild/win32-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" - integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== - -"@ethereumjs/common@2.6.5", "@ethereumjs/common@^2.6.4": - version "2.6.5" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.5.tgz#0a75a22a046272579d91919cb12d84f2756e8d30" - integrity sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA== - dependencies: - crc-32 "^1.2.0" - ethereumjs-util "^7.1.5" - -"@ethereumjs/common@^3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-3.2.0.tgz#b71df25845caf5456449163012074a55f048e0a0" - integrity sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA== - dependencies: - "@ethereumjs/util" "^8.1.0" - crc-32 "^1.2.0" - -"@ethereumjs/common@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-4.1.0.tgz#0a959320a69bd2e3b194144b29c61b63bd6e2f6a" - integrity sha512-XWdQvUjlQHVwh4uGEPFKHpsic69GOsMXEhlHrggS5ju/+2zAmmlz6B25TkCCymeElC9DUp13tH5Tc25Iuvtlcg== - dependencies: - "@ethereumjs/util" "^9.0.1" - crc "^4.3.2" - -"@ethereumjs/rlp@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41" - integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== - -"@ethereumjs/rlp@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-5.0.1.tgz#56c5433b9242f956e354fd7e4ce3523815e24854" - integrity sha512-Ab/Hfzz+T9Zl+65Nkg+9xAmwKPLicsnQ4NW49pgvJp9ovefuic95cgOS9CbPc9izIEgsqm1UitV0uNveCvud9w== - -"@ethereumjs/tx@3.5.2": - version "3.5.2" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.5.2.tgz#197b9b6299582ad84f9527ca961466fce2296c1c" - integrity sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw== - dependencies: - "@ethereumjs/common" "^2.6.4" - ethereumjs-util "^7.1.5" - -"@ethereumjs/tx@^4.1.2": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-4.2.0.tgz#5988ae15daf5a3b3c815493bc6b495e76009e853" - integrity sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw== - dependencies: - "@ethereumjs/common" "^3.2.0" - "@ethereumjs/rlp" "^4.0.1" - "@ethereumjs/util" "^8.1.0" - ethereum-cryptography "^2.0.0" - -"@ethereumjs/tx@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-5.1.0.tgz#c61a9048ec09fff360b18188224aae90c370e57f" - integrity sha512-VUhw2+4yXArJZRWhPjmZFrN4WUjUo0qUZUszVpW2KzsGlqCFf67kwJcH9Rca5eS0CRHjr2qHJLpvYOjNuaXVdA== - dependencies: - "@ethereumjs/common" "^4.1.0" - "@ethereumjs/rlp" "^5.0.1" - "@ethereumjs/util" "^9.0.1" - ethereum-cryptography "^2.1.2" - -"@ethereumjs/util@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.1.0.tgz#299df97fb6b034e0577ce9f94c7d9d1004409ed4" - integrity sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA== - dependencies: - "@ethereumjs/rlp" "^4.0.1" - ethereum-cryptography "^2.0.0" - micro-ftch "^0.3.1" - -"@ethereumjs/util@^9.0.1": - version "9.0.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-9.0.1.tgz#cbe0380981263451e3080ddcd74accf4b10f8723" - integrity sha512-NdFFEzCc3H1sYkNnnySwLg6owdQMhjUc2jfuDyx8Xv162WSluCnnSKouKOSG3njGNEyy2I9NmF8zTRDwuqpZWA== - dependencies: - "@ethereumjs/rlp" "^5.0.1" - ethereum-cryptography "^2.1.2" - -"@ethersproject/abi@^5.6.3": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" - integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/abstract-provider@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" - integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - -"@ethersproject/abstract-signer@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" - integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/address@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" - integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - -"@ethersproject/base64@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" - integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - -"@ethersproject/bignumber@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" - integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - bn.js "^5.2.1" - -"@ethersproject/bytes@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" - integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/constants@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" - integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - -"@ethersproject/hash@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" - integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/keccak256@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" - integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - js-sha3 "0.8.0" - -"@ethersproject/logger@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" - integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== - -"@ethersproject/networks@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" - integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/properties@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" - integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/rlp@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" - integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/signing-key@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" - integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - bn.js "^5.2.1" - elliptic "6.5.4" - hash.js "1.1.7" - -"@ethersproject/strings@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" - integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/transactions@^5.6.2", "@ethersproject/transactions@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" - integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - -"@ethersproject/web@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" - integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== - dependencies: - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@floating-ui/core@^1.0.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.0.tgz#fa41b87812a16bf123122bf945946bae3fdf7fc1" - integrity sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g== - dependencies: - "@floating-ui/utils" "^0.2.1" - -"@floating-ui/dom@^1.6.1": - version "1.6.3" - resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.3.tgz#954e46c1dd3ad48e49db9ada7218b0985cee75ef" - integrity sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw== - dependencies: - "@floating-ui/core" "^1.0.0" - "@floating-ui/utils" "^0.2.0" - -"@floating-ui/react-dom@^2.0.8": - version "2.0.8" - resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.8.tgz#afc24f9756d1b433e1fe0d047c24bd4d9cefaa5d" - integrity sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw== - dependencies: - "@floating-ui/dom" "^1.6.1" - -"@floating-ui/utils@^0.2.0", "@floating-ui/utils@^0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.1.tgz#16308cea045f0fc777b6ff20a9f25474dd8293d2" - integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q== - -"@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@metamask/abi-utils@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@metamask/abi-utils/-/abi-utils-2.0.2.tgz#ad394e9cb8a95ac177cad942daadd88a246c0de8" - integrity sha512-B/A1dY/w4F/t6cDHUscklO6ovb/ztFsrsTXFd8QlqSByk/vyy+QbPE3VVpmmyI/7RX+PA1AJcvBdzCIz+r9dVQ== - dependencies: - "@metamask/utils" "^8.0.0" - superstruct "^1.0.3" - -"@metamask/eth-sig-util@^7.0.1": - version "7.0.1" - resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-7.0.1.tgz#ad3227d6120f15f9293478de7dd9685a5c329586" - integrity sha512-59GSrMyFH2fPfu7nKeIQdZ150zxXNNhAQIUaFRUW+MGtVA4w/ONbiQobcRBLi+jQProfIyss51G8pfLPcQ0ylg== - dependencies: - "@ethereumjs/util" "^8.1.0" - "@metamask/abi-utils" "^2.0.2" - "@metamask/utils" "^8.1.0" - ethereum-cryptography "^2.1.2" - tweetnacl "^1.0.3" - tweetnacl-util "^0.15.1" - -"@metamask/rpc-errors@^6.1.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@metamask/rpc-errors/-/rpc-errors-6.1.0.tgz#dfdef7cba4b9ad01ca3f99e990b5980575b89b4f" - integrity sha512-JQElKxai26FpDyRKO/yH732wI+BV90i1u6pOuDOpdADSbppB2g1pPh3AGST1zkZqEE9eIKIUw8UdBQ4rp3VTSg== - dependencies: - "@metamask/utils" "^8.1.0" - fast-safe-stringify "^2.0.6" - -"@metamask/utils@^8.0.0", "@metamask/utils@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-8.1.0.tgz#b8e73f5b4696b1b668cf5c1421daad140a3f98ac" - integrity sha512-sFNpzBKRicDgM2ZuU6vrPROlqNGm8/jDsjc5WrU1RzCkAMc4Xr3vUUf8p59uQ6B09etUWNb8d2GTCbISdmH/Ug== - dependencies: - "@ethereumjs/tx" "^4.1.2" - "@noble/hashes" "^1.3.1" - "@types/debug" "^4.1.7" - debug "^4.3.4" - semver "^7.5.4" - superstruct "^1.0.3" - -"@mui/base@5.0.0-beta.40": - version "5.0.0-beta.40" - resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.40.tgz#1f8a782f1fbf3f84a961e954c8176b187de3dae2" - integrity sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ== - dependencies: - "@babel/runtime" "^7.23.9" - "@floating-ui/react-dom" "^2.0.8" - "@mui/types" "^7.2.14" - "@mui/utils" "^5.15.14" - "@popperjs/core" "^2.11.8" - clsx "^2.1.0" - prop-types "^15.8.1" - -"@mui/core-downloads-tracker@^5.15.15": - version "5.15.15" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.15.tgz#2bc2bda50db66c12f10aefec907c48c8f669ef59" - integrity sha512-aXnw29OWQ6I5A47iuWEI6qSSUfH6G/aCsW9KmW3LiFqr7uXZBK4Ks+z8G+qeIub8k0T5CMqlT2q0L+ZJTMrqpg== - -"@mui/material@^5.15.15": - version "5.15.15" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.15.15.tgz#e3ba35f50b510aa677cec3261abddc2db7b20b59" - integrity sha512-3zvWayJ+E1kzoIsvwyEvkTUKVKt1AjchFFns+JtluHCuvxgKcLSRJTADw37k0doaRtVAsyh8bz9Afqzv+KYrIA== - dependencies: - "@babel/runtime" "^7.23.9" - "@mui/base" "5.0.0-beta.40" - "@mui/core-downloads-tracker" "^5.15.15" - "@mui/system" "^5.15.15" - "@mui/types" "^7.2.14" - "@mui/utils" "^5.15.14" - "@types/react-transition-group" "^4.4.10" - clsx "^2.1.0" - csstype "^3.1.3" - prop-types "^15.8.1" - react-is "^18.2.0" - react-transition-group "^4.4.5" - -"@mui/private-theming@^5.15.14": - version "5.15.14" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.15.14.tgz#edd9a82948ed01586a01c842eb89f0e3f68970ee" - integrity sha512-UH0EiZckOWcxiXLX3Jbb0K7rC8mxTr9L9l6QhOZxYc4r8FHUkefltV9VDGLrzCaWh30SQiJvAEd7djX3XXY6Xw== - dependencies: - "@babel/runtime" "^7.23.9" - "@mui/utils" "^5.15.14" - prop-types "^15.8.1" - -"@mui/styled-engine@^5.15.14": - version "5.15.14" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.15.14.tgz#168b154c4327fa4ccc1933a498331d53f61c0de2" - integrity sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw== - dependencies: - "@babel/runtime" "^7.23.9" - "@emotion/cache" "^11.11.0" - csstype "^3.1.3" - prop-types "^15.8.1" - -"@mui/system@^5.15.15": - version "5.15.15" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.15.15.tgz#658771b200ce3c4a0f28e58169f02e5e718d1c53" - integrity sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ== - dependencies: - "@babel/runtime" "^7.23.9" - "@mui/private-theming" "^5.15.14" - "@mui/styled-engine" "^5.15.14" - "@mui/types" "^7.2.14" - "@mui/utils" "^5.15.14" - clsx "^2.1.0" - csstype "^3.1.3" - prop-types "^15.8.1" - -"@mui/types@^7.2.14": - version "7.2.14" - resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.14.tgz#8a02ac129b70f3d82f2f9b76ded2c8d48e3fc8c9" - integrity sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ== - -"@mui/utils@^5.15.14": - version "5.15.14" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.15.14.tgz#e414d7efd5db00bfdc875273a40c0a89112ade3a" - integrity sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA== - dependencies: - "@babel/runtime" "^7.23.9" - "@types/prop-types" "^15.7.11" - prop-types "^15.8.1" - react-is "^18.2.0" - -"@noble/curves@1.1.0", "@noble/curves@~1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.1.0.tgz#f13fc667c89184bc04cccb9b11e8e7bae27d8c3d" - integrity sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA== - dependencies: - "@noble/hashes" "1.3.1" - -"@noble/curves@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" - integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== - dependencies: - "@noble/hashes" "1.3.2" - -"@noble/hashes@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9" - integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== - -"@noble/hashes@1.3.2", "@noble/hashes@~1.3.0", "@noble/hashes@~1.3.1": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" - integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== - -"@noble/hashes@^1.3.1", "@noble/hashes@^1.3.3": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" - integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== - -"@popperjs/core@^2.11.8": - version "2.11.8" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" - integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== - -"@rollup/plugin-commonjs@^24.0.1": - version "24.0.1" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-24.0.1.tgz#d54ba26a3e3c495dc332bd27a81f7e9e2df46f90" - integrity sha512-15LsiWRZk4eOGqvrJyu3z3DaBu5BhXIMeWnijSRvd8irrrg9SHpQ1pH+BUK4H6Z9wL9yOxZJMTLU+Au86XHxow== - dependencies: - "@rollup/pluginutils" "^5.0.1" - commondir "^1.0.1" - estree-walker "^2.0.2" - glob "^8.0.3" - is-reference "1.2.1" - magic-string "^0.27.0" - -"@rollup/plugin-inject@^5.0.1", "@rollup/plugin-inject@^5.0.5": - version "5.0.5" - resolved "https://registry.yarnpkg.com/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz#616f3a73fe075765f91c5bec90176608bed277a3" - integrity sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg== - dependencies: - "@rollup/pluginutils" "^5.0.1" - estree-walker "^2.0.2" - magic-string "^0.30.3" - -"@rollup/pluginutils@^5.0.1": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz#012b8f53c71e4f6f9cb317e311df1404f56e7a33" - integrity sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA== - dependencies: - "@types/estree" "^1.0.0" - estree-walker "^2.0.2" - picomatch "^2.3.1" - -"@safe-global/api-kit@^2.2.0", "@safe-global/api-kit@file:../../api-kit": - version "2.2.0" - dependencies: - "@safe-global/protocol-kit" "^3.0.1" - "@safe-global/safe-core-sdk-types" "^4.0.1" - ethers "^6.7.1" - node-fetch "^2.7.0" - -"@safe-global/auth-kit@file:..": - version "2.0.2" - dependencies: - "@safe-global/api-kit" "^2.2.0" - "@safe-global/protocol-kit" "^3.0.1" - "@web3auth/safeauth-embed" "^0.0.0" - ethers "^6.7.1" - -"@safe-global/protocol-kit@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@safe-global/protocol-kit/-/protocol-kit-3.0.1.tgz#77793ca0f6ceb7e017230cd2f4b48e952145c4b5" - integrity sha512-7S2QCvIDw3NsErF0f8tIfiTBz32btCAkw7IYuQFPc+G7clLrvDNhDaZYSoDsa8F0EoEhn+605VA7XP//iL6AIg== - dependencies: - "@noble/hashes" "^1.3.3" - "@safe-global/safe-deployments" "^1.33.0" - ethereumjs-util "^7.1.5" - ethers "^6.7.1" - semver "^7.5.4" - web3 "^1.10.3" - web3-core "^1.10.3" - web3-utils "^1.10.3" - -"@safe-global/protocol-kit@file:../../protocol-kit": - version "3.0.1" - dependencies: - "@noble/hashes" "^1.3.3" - "@safe-global/safe-deployments" "^1.34.0" - ethereumjs-util "^7.1.5" - ethers "^6.7.1" - semver "^7.5.4" - web3 "^1.10.3" - web3-core "^1.10.3" - web3-utils "^1.10.3" - -"@safe-global/safe-core-sdk-types@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@safe-global/safe-core-sdk-types/-/safe-core-sdk-types-4.0.1.tgz#7fb87abc3e709eaf217423d582749e95b8d4d39f" - integrity sha512-cXW6petRWqUw1n04ZhVPgjzIL65FkAMqbPwkFAAlQ1lBxTt6xdxktLoAhgEDlqLNGibvncsNvKhxa1ib4T9MGg== - dependencies: - "@safe-global/safe-deployments" "^1.33.0" - ethers "^6.7.1" - web3-core "^1.10.3" - web3-utils "^1.10.3" - -"@safe-global/safe-core-sdk-types@file:../../safe-core-sdk-types": - version "4.0.1" - dependencies: - "@safe-global/safe-deployments" "^1.34.0" - ethers "^6.7.1" - web3-core "^1.10.3" - web3-utils "^1.10.3" - -"@safe-global/safe-deployments@^1.33.0", "@safe-global/safe-deployments@^1.34.0": - version "1.34.0" - resolved "https://registry.yarnpkg.com/@safe-global/safe-deployments/-/safe-deployments-1.34.0.tgz#5eef33012a4af55c4440036b1c0cfdb2245c6e49" - integrity sha512-J55iHhB1tiNoPeVQ5s943zrfeKRYPqBtnz/EM7d878WzUmmDlTGKHN98qPYKBxkRKP1UjEWuQDrZxy80lx1rJw== - dependencies: - semver "^7.3.7" - -"@safe-global/safe-react-components@^2.0.6": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@safe-global/safe-react-components/-/safe-react-components-2.0.6.tgz#795a3506b84806e43a50171e71ad5bde3a36f012" - integrity sha512-KCo/zf+xcBlXhcROQbyyscsfOExLV1dTQBoKrB2zluwQOQjbsKZu3qOpnIgU/94yHATm38IOJdC8snv6fQQe0A== - dependencies: - "@ethersproject/address" "^5.7.0" - ethereum-blockies-base64 "^1.0.2" - -"@scure/base@~1.1.0": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.3.tgz#8584115565228290a6c6c4961973e0903bb3df2f" - integrity sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q== - -"@scure/bip32@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.1.tgz#7248aea723667f98160f593d621c47e208ccbb10" - integrity sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A== - dependencies: - "@noble/curves" "~1.1.0" - "@noble/hashes" "~1.3.1" - "@scure/base" "~1.1.0" - -"@scure/bip39@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.1.tgz#5cee8978656b272a917b7871c981e0541ad6ac2a" - integrity sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg== - dependencies: - "@noble/hashes" "~1.3.0" - "@scure/base" "~1.1.0" - -"@sindresorhus/is@^4.0.0", "@sindresorhus/is@^4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" - integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== - -"@socket.io/component-emitter@~3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" - integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== - -"@szmarczak/http-timer@^4.0.5": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" - integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== - dependencies: - defer-to-connect "^2.0.0" - -"@szmarczak/http-timer@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a" - integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== - dependencies: - defer-to-connect "^2.0.1" - -"@toruslabs/base-controllers@^4.8.0", "@toruslabs/base-controllers@^4.9.1": - version "4.9.1" - resolved "https://registry.yarnpkg.com/@toruslabs/base-controllers/-/base-controllers-4.9.1.tgz#18bb60751405b33aee07c42483368e30a360ba1b" - integrity sha512-BaD1r+r9wK0XtODmJ8S6U5Iqwt2yM6DE1aEcPIreP2BOMe+TB35So2F/gS7kdUa8d2pmynfjEwHgNk/djJSQKA== - dependencies: - "@ethereumjs/util" "^9.0.1" - "@metamask/rpc-errors" "^6.1.0" - "@toruslabs/broadcast-channel" "^9.0.1" - "@toruslabs/http-helpers" "^5.0.0" - "@toruslabs/openlogin-jrpc" "^6.1.0" - async-mutex "^0.4.0" - bignumber.js "^9.1.2" - bowser "^2.11.0" - lodash "^4.17.21" - loglevel "^1.8.1" - -"@toruslabs/broadcast-channel@^9.0.1": - version "9.0.1" - resolved "https://registry.yarnpkg.com/@toruslabs/broadcast-channel/-/broadcast-channel-9.0.1.tgz#ade7b642e4304ef23615bcf0914852d051b47fed" - integrity sha512-xypCZwwD+cJ8fRCtMiJMWuuPg/9rf4P3AhWGkrTKL49GXFEx23akUjq/ti4n1o1uJdQok6E9MH9Z/JpLniyRaA== - dependencies: - "@babel/runtime" "^7.22.10" - "@toruslabs/eccrypto" "^4.0.0" - "@toruslabs/metadata-helpers" "^5.0.0" - bowser "^2.11.0" - loglevel "^1.8.1" - oblivious-set "1.1.1" - socket.io-client "^4.7.2" - unload "^2.4.1" - -"@toruslabs/constants@^13.0.4": - version "13.0.4" - resolved "https://registry.yarnpkg.com/@toruslabs/constants/-/constants-13.0.4.tgz#072df4afab5c9c21cfdc00334d37d8257b100df8" - integrity sha512-5RThL0rNl5o5sWG9p+s1NPxUOS+nlDn7cTd2wL+hE/Zm0F+p67ZFV16Emr90RAPpiYgZBngzpNAmCZ7xcgktQw== - -"@toruslabs/eccrypto@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@toruslabs/eccrypto/-/eccrypto-4.0.0.tgz#0b27ed2d1e9483e77f42a7619a2c3c19cb802f44" - integrity sha512-Z3EINkbsgJx1t6jCDVIJjLSUEGUtNIeDjhMWmeDGOWcP/+v/yQ1hEvd1wfxEz4q5WqIHhevacmPiVxiJ4DljGQ== - dependencies: - elliptic "^6.5.4" - -"@toruslabs/ethereum-controllers@^4.9.0": - version "4.9.1" - resolved "https://registry.yarnpkg.com/@toruslabs/ethereum-controllers/-/ethereum-controllers-4.9.1.tgz#3b171760c70dbc332f8861109191ca333ad25bb7" - integrity sha512-HDZsd00GJ3YrQEIs9rSCAY2vj4s1JhNsCMmjSsnTrbzRc/yv9DdFCbZJiuemvGWXFE1oau1RCTmaM582e5oRYA== - dependencies: - "@ethereumjs/common" "^4.1.0" - "@ethereumjs/tx" "^5.1.0" - "@ethereumjs/util" "^9.0.1" - "@metamask/eth-sig-util" "^7.0.1" - "@metamask/rpc-errors" "^6.1.0" - "@toruslabs/base-controllers" "^4.9.1" - "@toruslabs/http-helpers" "^5.0.0" - "@toruslabs/openlogin-jrpc" "^6.1.0" - async-mutex "^0.4.0" - bignumber.js "^9.1.2" - bn.js "^5.2.1" - ethers "^6.8.1" - fast-json-patch "^3.1.1" - jsonschema "^1.4.1" - lodash "^4.17.21" - loglevel "^1.8.1" - -"@toruslabs/http-helpers@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@toruslabs/http-helpers/-/http-helpers-5.0.0.tgz#2a309d2a2c5c00d50a725d83ccec8a7475771d62" - integrity sha512-GmezWz9JeF6YyhjLSm+9XDF4YaeICEckY0Jbo43i86SjhfJYgRWqEi63VSiNsaqc/z810Q0FQvEk1TnBRX2tgA== - dependencies: - lodash.merge "^4.6.2" - loglevel "^1.8.1" - -"@toruslabs/metadata-helpers@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@toruslabs/metadata-helpers/-/metadata-helpers-5.0.0.tgz#12be5de4e8a5d1af2dd080bdf05f5ad8953aaae7" - integrity sha512-ZUFfOHJVJC53c8wJYHjdF3bIgN2ZvfqehbTZ/zJ7oVFfrrd6O66V3gQ1i1zxBjH3yhOvZKQwc0DaMmh3G0NUXQ== - dependencies: - "@toruslabs/eccrypto" "^4.0.0" - "@toruslabs/http-helpers" "^5.0.0" - elliptic "^6.5.4" - ethereum-cryptography "^2.1.2" - json-stable-stringify "^1.0.2" - -"@toruslabs/openlogin-jrpc@^6.0.0", "@toruslabs/openlogin-jrpc@^6.1.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@toruslabs/openlogin-jrpc/-/openlogin-jrpc-6.1.0.tgz#35ea24771b46a5e5da30c9390fa2d73ef3e41883" - integrity sha512-0w3VSAjbHu5Mv+T5YSgAqC+jXjZtcPvBr5g7w2MeF6sICmk3OtMoGqD9XadLsOELcwSA35wrVvZuTbV+elXzhA== - dependencies: - "@metamask/rpc-errors" "^6.1.0" - "@toruslabs/openlogin-utils" "^6.1.0" - end-of-stream "^1.4.4" - events "^3.3.0" - fast-safe-stringify "^2.1.1" - once "^1.4.0" - pump "^3.0.0" - readable-stream "^4.4.2" - -"@toruslabs/openlogin-utils@^6.1.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@toruslabs/openlogin-utils/-/openlogin-utils-6.1.0.tgz#dee03cd905ea05be902523b1095ef6733bc6f7d6" - integrity sha512-X3xBui0GKiK5JZ677Q4UhLvMn1FOjL1a+1y9qPAn+b+bh41Gg1c8G/VMGRqMuu7owdQGY3B6f7XWuRSEYNk8kQ== - dependencies: - "@toruslabs/constants" "^13.0.4" - base64url "^3.0.1" - -"@types/bn.js@^5.1.0", "@types/bn.js@^5.1.1": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.5.tgz#2e0dacdcce2c0f16b905d20ff87aedbc6f7b4bf0" - integrity sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A== - dependencies: - "@types/node" "*" - -"@types/cacheable-request@^6.0.1", "@types/cacheable-request@^6.0.2": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" - integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== - dependencies: - "@types/http-cache-semantics" "*" - "@types/keyv" "^3.1.4" - "@types/node" "*" - "@types/responselike" "^1.0.0" - -"@types/debug@^4.1.7": - version "4.1.10" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.10.tgz#f23148a6eb771a34c466a4fc28379d8101e84494" - integrity sha512-tOSCru6s732pofZ+sMv9o4o3Zc+Sa8l3bxd/tweTQudFn06vAzb13ZX46Zi6m6EJ+RUbRTHvgQJ1gBtSgkaUYA== - dependencies: - "@types/ms" "*" - -"@types/estree@*", "@types/estree@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" - integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== - -"@types/http-cache-semantics@*": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" - integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== - -"@types/keyv@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" - integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== - dependencies: - "@types/node" "*" - -"@types/ms@*": - version "0.7.33" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.33.tgz#80bf1da64b15f21fd8c1dc387c31929317d99ee9" - integrity sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ== - -"@types/node@*": - version "20.8.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.0.tgz#10ddf0119cf20028781c06d7115562934e53f745" - integrity sha512-LzcWltT83s1bthcvjBmiBvGJiiUe84NWRHkw+ZV6Fr41z2FbIzvc815dk2nQ3RAKMuN2fkenM/z3Xv2QzEpYxQ== - -"@types/node@18.15.13": - version "18.15.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" - integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== - -"@types/node@^12.12.6": - version "12.20.55" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" - integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/pbkdf2@^3.0.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.2.tgz#2dc43808e9985a2c69ff02e2d2027bd4fe33e8dc" - integrity sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew== - dependencies: - "@types/node" "*" - -"@types/prop-types@*", "@types/prop-types@^15.7.11": - version "15.7.12" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" - integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== - -"@types/react-dom@^18.0.10": - version "18.2.24" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.24.tgz#8dda8f449ae436a7a6e91efed8035d4ab03ff759" - integrity sha512-cN6upcKd8zkGy4HU9F1+/s98Hrp6D4MOcippK4PoE8OZRngohHZpbJn1GsaDLz87MqvHNoT13nHvNqM9ocRHZg== - dependencies: - "@types/react" "*" - -"@types/react-transition-group@^4.4.10": - version "4.4.10" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.10.tgz#6ee71127bdab1f18f11ad8fb3322c6da27c327ac" - integrity sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q== - dependencies: - "@types/react" "*" - -"@types/react@*", "@types/react@^18.0.27": - version "18.2.74" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.74.tgz#2d52eb80e4e7c4ea8812c89181d6d590b53f958c" - integrity sha512-9AEqNZZyBx8OdZpxzQlaFEVCSFUM2YXJH46yPOiOpm078k6ZLOCcuAzGum/zK8YBwY+dbahVNbHrbgrAwIRlqw== - dependencies: - "@types/prop-types" "*" - csstype "^3.0.2" - -"@types/responselike@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.3.tgz#cc29706f0a397cfe6df89debfe4bf5cea159db50" - integrity sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw== - dependencies: - "@types/node" "*" - -"@types/secp256k1@^4.0.1": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.6.tgz#d60ba2349a51c2cbc5e816dcd831a42029d376bf" - integrity sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ== - dependencies: - "@types/node" "*" - -"@vitejs/plugin-react@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz#d1091f535eab8b83d6e74034d01e27d73c773240" - integrity sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g== - dependencies: - "@babel/core" "^7.20.12" - "@babel/plugin-transform-react-jsx-self" "^7.18.6" - "@babel/plugin-transform-react-jsx-source" "^7.19.6" - magic-string "^0.27.0" - react-refresh "^0.14.0" - -"@web3auth/safeauth-embed@^0.0.0": - version "0.0.0" - resolved "https://registry.yarnpkg.com/@web3auth/safeauth-embed/-/safeauth-embed-0.0.0.tgz#781210a5b02acbcbe26e2dcf5dd0f8730fde1edd" - integrity sha512-bTWjyf/ywHJ0P1nvemQZk5ebQaeExpqEOfSayL4GbUplcWlve43NRQSF7k/44gawiQ8uibYyLgElpiovUpqm4w== - dependencies: - "@web3auth/ws-embed" "^0.0.0" - -"@web3auth/ws-embed@^0.0.0": - version "0.0.0" - resolved "https://registry.yarnpkg.com/@web3auth/ws-embed/-/ws-embed-0.0.0.tgz#cf31c512a72dc3e2ede69fac3e28e780a7bf6406" - integrity sha512-FZtpuXN1oiOex3O5jPMTZI6SjDY95Gz/zqBX+6Fdyv1CBV024z3bljrkkO40fcDbX/Xn3BI9Rr9cxANpTgxMkA== - dependencies: - "@metamask/rpc-errors" "^6.1.0" - "@toruslabs/base-controllers" "^4.8.0" - "@toruslabs/ethereum-controllers" "^4.9.0" - "@toruslabs/openlogin-jrpc" "^6.0.0" - fast-deep-equal "^3.1.3" - loglevel "^1.8.1" - pump "^3.0.0" - readable-stream "^4.4.2" - -abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - -abortcontroller-polyfill@^1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz#6738495f4e901fbb57b6c0611d0c75f76c485bed" - integrity sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ== - -accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -aes-js@4.0.0-beta.5: - version "4.0.0-beta.5" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" - integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== - -ajv@^6.12.3: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - -assert@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd" - integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== - dependencies: - call-bind "^1.0.2" - is-nan "^1.3.2" - object-is "^1.1.5" - object.assign "^4.1.4" - util "^0.12.5" - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async-mutex@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.4.0.tgz#ae8048cd4d04ace94347507504b3cf15e631c25f" - integrity sha512-eJFZ1YhRR8UN8eBLoNzcDPcy/jqjsg6I1AP+KvWQX80BqOSW1oJPJXDylPUEeMr2ZQvHgnQ//Lp6f3RQ1zI7HA== - dependencies: - tslib "^2.4.0" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== - -aws4@^1.8.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" - integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== - -babel-plugin-macros@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" - integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== - dependencies: - "@babel/runtime" "^7.12.5" - cosmiconfig "^7.0.0" - resolve "^1.19.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base-x@^3.0.2, base-x@^3.0.8: - version "3.0.9" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" - integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== - dependencies: - safe-buffer "^5.0.1" - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -base64url@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d" - integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== - dependencies: - tweetnacl "^0.14.3" - -bignumber.js@^9.0.0, bignumber.js@^9.1.2: - version "9.1.2" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" - integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== - -blakejs@^1.1.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" - integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== - -bluebird@^3.5.0: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@4.11.6: - version "4.11.6" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" - integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.6, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.0.0, bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - -body-parser@1.20.2, body-parser@^1.16.0: - version "1.20.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - -bowser@^2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" - integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - -browser-resolve@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-2.0.0.tgz#99b7304cb392f8d73dba741bb2d7da28c6d7842b" - integrity sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ== - dependencies: - resolve "^1.17.0" - -browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.2.tgz#e78d4b69816d6e3dd1c747e64e9947f9ad79bc7e" - integrity sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg== - dependencies: - bn.js "^5.2.1" - browserify-rsa "^4.1.0" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.4" - inherits "^2.0.4" - parse-asn1 "^5.1.6" - readable-stream "^3.6.2" - safe-buffer "^5.2.1" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.22.2: - version "4.23.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== - dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -bs58@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" - integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== - dependencies: - base-x "^3.0.2" - -bs58check@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" - integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== - dependencies: - bs58 "^4.0.0" - create-hash "^1.1.0" - safe-buffer "^5.1.2" - -"buffer-polyfill@npm:buffer@^6.0.3", buffer@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - -buffer-to-arraybuffer@^0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a" - integrity sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== - -buffer@^5.0.5, buffer@^5.5.0, buffer@^5.6.0, buffer@^5.7.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -bufferutil@^4.0.1: - version "4.0.8" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea" - integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw== - dependencies: - node-gyp-build "^4.3.0" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -cacheable-lookup@^5.0.3: - version "5.0.4" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" - integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== - -cacheable-lookup@^6.0.4: - version "6.1.0" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz#0330a543471c61faa4e9035db583aad753b36385" - integrity sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww== - -cacheable-request@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.4.tgz#7a33ebf08613178b403635be7b899d3e69bbe817" - integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^4.0.0" - lowercase-keys "^2.0.0" - normalize-url "^6.0.1" - responselike "^2.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.5" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== - dependencies: - function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -caniuse-lite@^1.0.30001587: - version "1.0.30001606" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001606.tgz#b4d5f67ab0746a3b8b5b6d1f06e39c51beb39a9e" - integrity sha512-LPbwnW4vfpJId225pwjZJOgX1m9sGfbw/RKJvw/t0QhYOOaTXHvkjVGFGPpvwEzufrjvTlsULnVTxdy4/6cqkg== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chownr@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -cids@^0.7.1: - version "0.7.5" - resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2" - integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA== - dependencies: - buffer "^5.5.0" - class-is "^1.1.0" - multibase "~0.6.0" - multicodec "^1.0.0" - multihashes "~0.4.15" - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-is@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" - integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== - -clone-response@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" - integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== - dependencies: - mimic-response "^1.0.0" - -clsx@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.0.tgz#e851283bcb5c80ee7608db18487433f7b23f77cb" - integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-hash@^2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/content-hash/-/content-hash-2.5.2.tgz#bbc2655e7c21f14fd3bfc7b7d4bfe6e454c9e211" - integrity sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw== - dependencies: - cids "^0.7.1" - multicodec "^0.5.5" - multihashes "^0.4.15" - -content-type@~1.0.4, content-type@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -convert-source-map@^1.5.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" - integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== - -cors@^2.8.1: - version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - -cosmiconfig@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -crc-32@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" - integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== - -crc@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/crc/-/crc-4.3.2.tgz#49b7821cbf2cf61dfd079ed93863bbebd5469b9a" - integrity sha512-uGDHf4KLLh2zsHa8D8hIQ1H/HtFQhyHrc0uhHBcoKGol/Xnb+MPYfUMw7cvON6ze/GUESTudKayDcJC5HnJv1A== - -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -create-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-fetch@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-4.0.0.tgz#f037aef1580bb3a1a35164ea2a848ba81b445983" - integrity sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g== - dependencies: - node-fetch "^2.6.12" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -csstype@^3.0.2, csstype@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== - dependencies: - assert-plus "^1.0.0" - -debug@2.6.9, debug@^2.2.0: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^4.1.0, debug@^4.3.1, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -decode-uri-component@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== - dependencies: - mimic-response "^1.0.0" - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - -defer-to-connect@^2.0.0, defer-to-connect@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" - integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== - -define-data-property@^1.0.1, define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== - dependencies: - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - -define-properties@^1.1.3, define-properties@^1.1.4: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -des.js@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da" - integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dom-helpers@^5.0.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" - integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== - dependencies: - "@babel/runtime" "^7.8.7" - csstype "^3.0.2" - -dom-walk@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" - integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== - -domain-browser@^4.22.0: - version "4.23.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.23.0.tgz#427ebb91efcb070f05cffdfb8a4e9a6c25f8c94b" - integrity sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA== - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -electron-to-chromium@^1.4.668: - version "1.4.728" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.728.tgz#ac54d9d1b38752b920ec737a48c83dec2bf45ea1" - integrity sha512-Ud1v7hJJYIqehlUJGqR6PF1Ek8l80zWwxA6nGxigBsGJ9f9M2fciHyrIiNMerSHSH3p+0/Ia7jIlnDkt41h5cw== - -elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.3, elliptic@^6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -end-of-stream@^1.1.0, end-of-stream@^1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -engine.io-client@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.5.2.tgz#8709e22c291d4297ae80318d3c8baeae71f0e002" - integrity sha512-CQZqbrpEYnrpGqC07a9dJDz4gePZUgTPMU3NKJPSeQOyw27Tst4Pl3FemKoFGAlHzgZmKjoRmiJvbWfhCXUlIg== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.1" - engine.io-parser "~5.2.1" - ws "~8.11.0" - xmlhttprequest-ssl "~2.0.0" - -engine.io-parser@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.1.tgz#9f213c77512ff1a6cc0c7a86108a7ffceb16fcfb" - integrity sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es5-ext@^0.10.35, es5-ext@^0.10.50: - version "0.10.62" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" - integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== - dependencies: - es6-iterator "^2.0.3" - es6-symbol "^3.1.3" - next-tick "^1.1.0" - -es6-iterator@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-promise@^4.2.8: - version "4.2.8" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - -es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== - dependencies: - d "^1.0.1" - ext "^1.1.2" - -esbuild@^0.18.10: - version "0.18.20" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" - integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== - optionalDependencies: - "@esbuild/android-arm" "0.18.20" - "@esbuild/android-arm64" "0.18.20" - "@esbuild/android-x64" "0.18.20" - "@esbuild/darwin-arm64" "0.18.20" - "@esbuild/darwin-x64" "0.18.20" - "@esbuild/freebsd-arm64" "0.18.20" - "@esbuild/freebsd-x64" "0.18.20" - "@esbuild/linux-arm" "0.18.20" - "@esbuild/linux-arm64" "0.18.20" - "@esbuild/linux-ia32" "0.18.20" - "@esbuild/linux-loong64" "0.18.20" - "@esbuild/linux-mips64el" "0.18.20" - "@esbuild/linux-ppc64" "0.18.20" - "@esbuild/linux-riscv64" "0.18.20" - "@esbuild/linux-s390x" "0.18.20" - "@esbuild/linux-x64" "0.18.20" - "@esbuild/netbsd-x64" "0.18.20" - "@esbuild/openbsd-x64" "0.18.20" - "@esbuild/sunos-x64" "0.18.20" - "@esbuild/win32-arm64" "0.18.20" - "@esbuild/win32-ia32" "0.18.20" - "@esbuild/win32-x64" "0.18.20" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -estree-walker@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -eth-ens-namehash@2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" - integrity sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw== - dependencies: - idna-uts46-hx "^2.3.1" - js-sha3 "^0.5.7" - -eth-lib@0.2.8: - version "0.2.8" - resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" - integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw== - dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - xhr-request-promise "^0.1.2" - -eth-lib@^0.1.26: - version "0.1.29" - resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.29.tgz#0c11f5060d42da9f931eab6199084734f4dbd1d9" - integrity sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ== - dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - nano-json-stream-parser "^0.1.2" - servify "^0.1.12" - ws "^3.0.0" - xhr-request-promise "^0.1.2" - -ethereum-blockies-base64@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ethereum-blockies-base64/-/ethereum-blockies-base64-1.0.2.tgz#4aebca52142bf4d16a3144e6e2b59303e39ed2b3" - integrity sha512-Vg2HTm7slcWNKaRhCUl/L3b4KrB8ohQXdd5Pu3OI897EcR6tVRvUqdTwAyx+dnmoDzj8e2bwBLDQ50ByFmcz6w== - dependencies: - pnglib "0.0.1" - -ethereum-bloom-filters@^1.0.6: - version "1.0.10" - resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz#3ca07f4aed698e75bd134584850260246a5fed8a" - integrity sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA== - dependencies: - js-sha3 "^0.8.0" - -ethereum-cryptography@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" - integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== - dependencies: - "@types/pbkdf2" "^3.0.0" - "@types/secp256k1" "^4.0.1" - blakejs "^1.1.0" - browserify-aes "^1.2.0" - bs58check "^2.1.2" - create-hash "^1.2.0" - create-hmac "^1.1.7" - hash.js "^1.1.7" - keccak "^3.0.0" - pbkdf2 "^3.0.17" - randombytes "^2.1.0" - safe-buffer "^5.1.2" - scrypt-js "^3.0.0" - secp256k1 "^4.0.1" - setimmediate "^1.0.5" - -ethereum-cryptography@^2.0.0, ethereum-cryptography@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.1.2.tgz#18fa7108622e56481157a5cb7c01c0c6a672eb67" - 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" - -ethereumjs-util@^7.1.5: - version "7.1.5" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" - integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== - dependencies: - "@types/bn.js" "^5.1.0" - bn.js "^5.1.2" - create-hash "^1.1.2" - ethereum-cryptography "^0.1.3" - rlp "^2.2.4" - -ethers@^6.11.1, ethers@^6.7.1, ethers@^6.8.1: - version "6.11.1" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.11.1.tgz#96aae00b627c2e35f9b0a4d65c7ab658259ee6af" - integrity sha512-mxTAE6wqJQAbp5QAe/+o+rXOID7Nw91OZXvgpjDa1r4fAbq2Nu314oEZSbjoRLacuCzs7kUC3clEvkCQowffGg== - dependencies: - "@adraffy/ens-normalize" "1.10.1" - "@noble/curves" "1.2.0" - "@noble/hashes" "1.3.2" - "@types/node" "18.15.13" - aes-js "4.0.0-beta.5" - tslib "2.4.0" - ws "8.5.0" - -ethjs-unit@0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" - integrity sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw== - dependencies: - bn.js "4.11.6" - number-to-bn "1.7.0" - -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - -eventemitter3@4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" - integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== - -events@^3.0.0, events@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -express@^4.14.0: - version "4.19.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" - integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.2" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.6.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.11.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -ext@^1.1.2: - version "1.7.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" - integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== - dependencies: - type "^2.7.2" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-json-patch@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-json-patch/-/fast-json-patch-3.1.1.tgz#85064ea1b1ebf97a3f7ad01e23f9337e72c66947" - integrity sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ== - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-safe-stringify@^2.0.6, fast-safe-stringify@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" - integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== - -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -find-root@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" - integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== - -form-data-encoder@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.1.tgz#ac80660e4f87ee0d3d3c3638b7da8278ddb8ec96" - integrity sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg== - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fs-extra@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-minipass@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== - dependencies: - minipass "^2.6.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" - integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== - dependencies: - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== - dependencies: - assert-plus "^1.0.0" - -glob@^8.0.3: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - -global@~4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" - integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== - dependencies: - min-document "^2.19.0" - process "^0.11.10" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -got@12.1.0: - version "12.1.0" - resolved "https://registry.yarnpkg.com/got/-/got-12.1.0.tgz#099f3815305c682be4fd6b0ee0726d8e4c6b0af4" - integrity sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig== - dependencies: - "@sindresorhus/is" "^4.6.0" - "@szmarczak/http-timer" "^5.0.1" - "@types/cacheable-request" "^6.0.2" - "@types/responselike" "^1.0.0" - cacheable-lookup "^6.0.4" - cacheable-request "^7.0.2" - decompress-response "^6.0.0" - form-data-encoder "1.7.1" - get-stream "^6.0.1" - http2-wrapper "^2.1.10" - lowercase-keys "^3.0.0" - p-cancelable "^3.0.0" - responselike "^2.0.0" - -got@^11.8.5: - version "11.8.6" - resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" - integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== - dependencies: - "@sindresorhus/is" "^4.0.0" - "@szmarczak/http-timer" "^4.0.5" - "@types/cacheable-request" "^6.0.1" - "@types/responselike" "^1.0.0" - cacheable-lookup "^5.0.3" - cacheable-request "^7.0.2" - decompress-response "^6.0.0" - http2-wrapper "^1.0.0-beta.5.2" - lowercase-keys "^2.0.0" - p-cancelable "^2.0.0" - responselike "^2.0.0" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-property-descriptors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== - dependencies: - get-intrinsic "^1.2.2" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== - dependencies: - function-bind "^1.1.2" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hoist-non-react-statics@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -http-cache-semantics@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-https@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" - integrity sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg== - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -http2-wrapper@^1.0.0-beta.5.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" - integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.0.0" - -http2-wrapper@^2.1.10: - version "2.2.1" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.1.tgz#310968153dcdedb160d8b72114363ef5fce1f64a" - integrity sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.2.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -idna-uts46-hx@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" - integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== - dependencies: - punycode "2.1.0" - -ieee754@^1.1.13, ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-callable@^1.1.3: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-function@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" - integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== - -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-hex-prefixed@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" - integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA== - -is-nan@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" - integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - -is-reference@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" - integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== - dependencies: - "@types/estree" "*" - -is-typed-array@^1.1.3: - version "1.1.12" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== - dependencies: - which-typed-array "^1.1.11" - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -isomorphic-timers-promises@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/isomorphic-timers-promises/-/isomorphic-timers-promises-1.0.1.tgz#e4137c24dbc54892de8abae3a4b5c1ffff381598" - integrity sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ== - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== - -js-sha3@0.8.0, js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -js-sha3@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" - integrity sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stable-stringify@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz#e06f23128e0bbe342dc996ed5a19e28b57b580e0" - integrity sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g== - dependencies: - jsonify "^0.0.1" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== - optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" - integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== - -jsonschema@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.1.tgz#cc4c3f0077fb4542982973d8a083b6b34f482dab" - integrity sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ== - -jsprim@^1.2.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" - integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - -keccak@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" - integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== - dependencies: - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - readable-stream "^3.6.0" - -keyv@^4.0.0: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -loglevel@^1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.1.tgz#5c621f83d5b48c54ae93b6156353f555963377b4" - integrity sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg== - -loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -lowercase-keys@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" - integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -magic-string@^0.27.0: - version "0.27.0" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" - integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.13" - -magic-string@^0.30.3: - version "0.30.5" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9" - integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.15" - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -micro-ftch@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" - integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mimic-response@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - -min-document@^2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" - integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ== - dependencies: - dom-walk "^0.1.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -minipass@^2.6.0, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" - -mkdirp-promise@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" - integrity sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w== - dependencies: - mkdirp "*" - -mkdirp@*: - version "3.0.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" - integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== - -mkdirp@^0.5.5: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mock-fs@^4.1.0: - version "4.14.0" - resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18" - integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multibase@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" - integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - -multibase@~0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b" - integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - -multicodec@^0.5.5: - version "0.5.7" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.5.7.tgz#1fb3f9dd866a10a55d226e194abba2dcc1ee9ffd" - integrity sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA== - dependencies: - varint "^5.0.0" - -multicodec@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" - integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== - dependencies: - buffer "^5.6.0" - varint "^5.0.0" - -multihashes@^0.4.15, multihashes@~0.4.15: - version "0.4.21" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" - integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== - dependencies: - buffer "^5.5.0" - multibase "^0.7.0" - varint "^5.0.0" - -nano-json-stream-parser@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" - integrity sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew== - -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - -node-addon-api@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" - integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== - -node-fetch@^2.6.12, node-fetch@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - -node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: - version "4.7.1" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.7.1.tgz#cd7d2eb48e594874053150a9418ac85af83ca8f7" - integrity sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg== - -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -node-stdlib-browser@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/node-stdlib-browser/-/node-stdlib-browser-1.2.0.tgz#5ddcfdf4063b88fb282979a1aa6ddab9728d5e4c" - integrity sha512-VSjFxUhRhkyed8AtLwSCkMrJRfQ3e2lGtG3sP6FEgaLKBBbxM/dLfjRe1+iLhjvyLFW3tBQ8+c0pcOtXGbAZJg== - dependencies: - assert "^2.0.0" - browser-resolve "^2.0.0" - browserify-zlib "^0.2.0" - buffer "^5.7.1" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - create-require "^1.1.1" - crypto-browserify "^3.11.0" - domain-browser "^4.22.0" - events "^3.0.0" - https-browserify "^1.0.0" - isomorphic-timers-promises "^1.0.1" - os-browserify "^0.3.0" - path-browserify "^1.0.1" - pkg-dir "^5.0.0" - process "^0.11.10" - punycode "^1.4.1" - querystring-es3 "^0.2.1" - readable-stream "^3.6.0" - stream-browserify "^3.0.0" - stream-http "^3.2.0" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.1" - url "^0.11.0" - util "^0.12.4" - vm-browserify "^1.0.1" - -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -number-to-bn@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" - integrity sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig== - dependencies: - bn.js "4.11.6" - strip-hex-prefix "1.0.0" - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-inspect@^1.9.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -object-is@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -oblivious-set@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/oblivious-set/-/oblivious-set-1.1.1.tgz#d9d38e9491d51f27a5c3ec1681d2ba40aa81e98b" - integrity sha512-Oh+8fK09mgGmAshFdH6hSVco6KZmd1tTwNFWj35OvzdmJTMZtAkbn05zar2iG3v6sDs1JLEtOiBGNb6BHwkb2w== - -oboe@2.1.5: - version "2.1.5" - resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.5.tgz#5554284c543a2266d7a38f17e073821fbde393cd" - integrity sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA== - dependencies: - http-https "^1.0.0" - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== - -p-cancelable@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" - integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== - -p-cancelable@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" - integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-asn1@^5.0.0, parse-asn1@^5.1.6: - version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-headers@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" - integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -path-browserify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" - integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pbkdf2@^3.0.17, pbkdf2@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pkg-dir@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" - integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== - dependencies: - find-up "^5.0.0" - -pnglib@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/pnglib/-/pnglib-0.0.1.tgz#f9ab6f9c688f4a9d579ad8be28878a716e30c096" - integrity sha512-95ChzOoYLOPIyVmL+Y6X+abKGXUJlvOVLkB1QQkyXl7Uczc6FElUy/x01NS7r2GX6GRezloO/ecCX9h4U9KadA== - -postcss@^8.4.27: - version "8.4.38" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" - integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.2.0" - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - -prop-types@^15.6.2, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -psl@^1.1.28: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" - integrity sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA== - -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== - -punycode@^2.1.0, punycode@^2.1.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -qs@6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -qs@^6.11.2: - version "6.11.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" - integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== - dependencies: - side-channel "^1.0.4" - -qs@~6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== - -query-string@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" - integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== - dependencies: - decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -querystring-es3@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== - -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -react-dom@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-is@^16.13.1, react-is@^16.7.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -react-refresh@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" - integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== - -react-transition-group@^4.4.5: - version "4.4.5" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" - integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== - dependencies: - "@babel/runtime" "^7.5.5" - dom-helpers "^5.0.1" - loose-envify "^1.4.0" - prop-types "^15.6.2" - -react@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -readable-stream@^3.5.0, readable-stream@^3.6.0, readable-stream@^3.6.2: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.4.2.tgz#e6aced27ad3b9d726d8308515b9a1b98dc1b9d13" - integrity sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA== - dependencies: - abort-controller "^3.0.0" - buffer "^6.0.3" - events "^3.3.0" - process "^0.11.10" - string_decoder "^1.3.0" - -regenerator-runtime@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" - integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== - -request@^2.79.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -resolve-alpn@^1.0.0, resolve-alpn@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" - integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve@^1.17.0, resolve@^1.19.0: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -responselike@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" - integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== - dependencies: - lowercase-keys "^2.0.0" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rlp@^2.2.4: - version "2.2.7" - resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" - integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== - dependencies: - bn.js "^5.2.0" - -rollup-plugin-polyfill-node@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-polyfill-node/-/rollup-plugin-polyfill-node-0.12.0.tgz#33d421ddb7fcb69c234461e508ca6d2db6193f1d" - integrity sha512-PWEVfDxLEKt8JX1nZ0NkUAgXpkZMTb85rO/Ru9AQ69wYW8VUCfDgP4CGRXXWYni5wDF0vIeR1UoF3Jmw/Lt3Ug== - dependencies: - "@rollup/plugin-inject" "^5.0.1" - -rollup@^3.27.1: - version "3.29.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981" - integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw== - optionalDependencies: - fsevents "~2.3.2" - -safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - -scrypt-js@^3.0.0, scrypt-js@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== - -secp256k1@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" - integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== - dependencies: - elliptic "^6.5.4" - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.7, semver@^7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -send@0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -servify@^0.1.12: - version "0.1.12" - resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95" - integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw== - dependencies: - body-parser "^1.16.0" - cors "^2.8.1" - express "^4.14.0" - request "^2.79.0" - xhr "^2.3.3" - -set-function-length@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed" - integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== - dependencies: - define-data-property "^1.1.1" - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - -setimmediate@^1.0.4, setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== - -simple-get@^2.7.0: - version "2.8.2" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.2.tgz#5708fb0919d440657326cd5fe7d2599d07705019" - integrity sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw== - dependencies: - decompress-response "^3.3.0" - once "^1.3.1" - simple-concat "^1.0.0" - -socket.io-client@^4.7.2: - version "4.7.2" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.7.2.tgz#f2f13f68058bd4e40f94f2a1541f275157ff2c08" - integrity sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.2" - engine.io-client "~6.5.2" - socket.io-parser "~4.2.4" - -socket.io-parser@~4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83" - integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.1" - -source-map-js@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" - integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== - -source-map@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -sshpk@^1.7.0: - version "1.18.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" - integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -stream-browserify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" - integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== - dependencies: - inherits "~2.0.4" - readable-stream "^3.5.0" - -stream-http@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" - integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.4" - readable-stream "^3.6.0" - xtend "^4.0.2" - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== - -string_decoder@^1.0.0, string_decoder@^1.1.1, string_decoder@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -strip-hex-prefix@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" - integrity sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A== - dependencies: - is-hex-prefixed "1.0.0" - -stylis@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" - integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== - -superstruct@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-1.0.3.tgz#de626a5b49c6641ff4d37da3c7598e7a87697046" - integrity sha512-8iTn3oSS8nRGn+C2pgXSKPI3jmpm6FExNazNpjvqS6ZUJQCej3PUXEKM8NjHBOs54ExM+LPW/FBRhymrdcCiSg== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -swarm-js@^0.1.40: - version "0.1.42" - resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.42.tgz#497995c62df6696f6e22372f457120e43e727979" - integrity sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ== - dependencies: - bluebird "^3.5.0" - buffer "^5.0.5" - eth-lib "^0.1.26" - fs-extra "^4.0.2" - got "^11.8.5" - mime-types "^2.1.16" - mkdirp-promise "^5.0.1" - mock-fs "^4.1.0" - setimmediate "^1.0.5" - tar "^4.0.2" - xhr-request "^1.0.1" - -tar@^4.0.2: - version "4.4.19" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" - integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== - dependencies: - chownr "^1.1.4" - fs-minipass "^1.2.7" - minipass "^2.9.0" - minizlib "^1.3.3" - mkdirp "^0.5.5" - safe-buffer "^5.2.1" - yallist "^3.1.1" - -timed-out@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== - -timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -tslib@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -tslib@^2.4.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -tty-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" - integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - -tweetnacl-util@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b" - integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== - -tweetnacl@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" - integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -type@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" - integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^5.4.4: - version "5.4.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.4.tgz#eb2471e7b0a5f1377523700a21669dce30c2d952" - integrity sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw== - -ultron@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" - integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unload@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/unload/-/unload-2.4.1.tgz#b0c5b7fb44e17fcbf50dcb8fb53929c59dd226a5" - integrity sha512-IViSAm8Z3sRBYA+9wc0fLQmU9Nrxb16rcDmIiR6Y9LJSZzI7QY5QsDhqPpKOjAn0O9/kfK1TfNEMMAGPTIraPw== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-set-query@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" - integrity sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg== - -url@^0.11.0: - version "0.11.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad" - integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw== - dependencies: - punycode "^1.4.1" - qs "^6.11.2" - -utf-8-validate@^5.0.2: - version "5.0.10" - resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" - integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== - dependencies: - node-gyp-build "^4.3.0" - -utf8@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" - integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== - -util-deprecate@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util@^0.12.4, util@^0.12.5: - version "0.12.5" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - which-typed-array "^1.1.2" - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== - -varint@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" - integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== - -vary@^1, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vite-plugin-node-polyfills@^0.16.0: - version "0.16.0" - resolved "https://registry.yarnpkg.com/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.16.0.tgz#3834e15d3adc09854bc40ecca5f70457a0655809" - integrity sha512-uj1ymOmk7TliMxiivmXokpMY5gVMBpFPSZPLQSCv/LjkJGGKwyLjpbFL64dbYZEdFSUQ3tM7pbrxNh25yvhqOA== - dependencies: - "@rollup/plugin-inject" "^5.0.5" - buffer-polyfill "npm:buffer@^6.0.3" - node-stdlib-browser "^1.2.0" - process "^0.11.10" - -vite@^4.5.3: - version "4.5.3" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.3.tgz#d88a4529ea58bae97294c7e2e6f0eab39a50fb1a" - integrity sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg== - dependencies: - esbuild "^0.18.10" - postcss "^8.4.27" - rollup "^3.27.1" - optionalDependencies: - fsevents "~2.3.2" - -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - -web3-bzz@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.10.3.tgz#13942b37757eb850f3500a8e08bf605448b67566" - integrity sha512-XDIRsTwekdBXtFytMpHBuun4cK4x0ZMIDXSoo1UVYp+oMyZj07c7gf7tNQY5qZ/sN+CJIas4ilhN25VJcjSijQ== - dependencies: - "@types/node" "^12.12.6" - got "12.1.0" - swarm-js "^0.1.40" - -web3-core-helpers@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.10.3.tgz#f2db40ea57e888795e46f229b06113b60bcd671c" - integrity sha512-Yv7dQC3B9ipOc5sWm3VAz1ys70Izfzb8n9rSiQYIPjpqtJM+3V4EeK6ghzNR6CO2es0+Yu9CtCkw0h8gQhrTxA== - dependencies: - web3-eth-iban "1.10.3" - web3-utils "1.10.3" - -web3-core-method@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.10.3.tgz#63f16310ccab4eec8eca0a337d534565c2ba8d33" - integrity sha512-VZ/Dmml4NBmb0ep5PTSg9oqKoBtG0/YoMPei/bq/tUdlhB2dMB79sbeJPwx592uaV0Vpk7VltrrrBv5hTM1y4Q== - dependencies: - "@ethersproject/transactions" "^5.6.2" - web3-core-helpers "1.10.3" - web3-core-promievent "1.10.3" - web3-core-subscriptions "1.10.3" - web3-utils "1.10.3" - -web3-core-promievent@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.10.3.tgz#9765dd42ce6cf2dc0a08eaffee607b855644f290" - integrity sha512-HgjY+TkuLm5uTwUtaAfkTgRx/NzMxvVradCi02gy17NxDVdg/p6svBHcp037vcNpkuGeFznFJgULP+s2hdVgUQ== - dependencies: - eventemitter3 "4.0.4" - -web3-core-requestmanager@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.10.3.tgz#c34ca8e998a18d6ca3fa7f7a11d4391da401c987" - integrity sha512-VT9sKJfgM2yBOIxOXeXiDuFMP4pxzF6FT+y8KTLqhDFHkbG3XRe42Vm97mB/IvLQCJOmokEjl3ps8yP1kbggyw== - dependencies: - util "^0.12.5" - web3-core-helpers "1.10.3" - web3-providers-http "1.10.3" - web3-providers-ipc "1.10.3" - web3-providers-ws "1.10.3" - -web3-core-subscriptions@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.10.3.tgz#58768cd72a9313252ef05dc52c09536f009a9479" - integrity sha512-KW0Mc8sgn70WadZu7RjQ4H5sNDJ5Lx8JMI3BWos+f2rW0foegOCyWhRu33W1s6ntXnqeBUw5rRCXZRlA3z+HNA== - dependencies: - eventemitter3 "4.0.4" - web3-core-helpers "1.10.3" - -web3-core@1.10.3, web3-core@^1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.10.3.tgz#4aeb8f4b0cb5775d9fa4edf1127864743f1c3ae3" - integrity sha512-Vbk0/vUNZxJlz3RFjAhNNt7qTpX8yE3dn3uFxfX5OHbuon5u65YEOd3civ/aQNW745N0vGUlHFNxxmn+sG9DIw== - dependencies: - "@types/bn.js" "^5.1.1" - "@types/node" "^12.12.6" - bignumber.js "^9.0.0" - web3-core-helpers "1.10.3" - web3-core-method "1.10.3" - web3-core-requestmanager "1.10.3" - web3-utils "1.10.3" - -web3-eth-abi@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.10.3.tgz#7decfffa8fed26410f32cfefdc32d3e76f717ca2" - integrity sha512-O8EvV67uhq0OiCMekqYsDtb6FzfYzMXT7VMHowF8HV6qLZXCGTdB/NH4nJrEh2mFtEwVdS6AmLFJAQd2kVyoMQ== - dependencies: - "@ethersproject/abi" "^5.6.3" - web3-utils "1.10.3" - -web3-eth-accounts@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.10.3.tgz#9ecb816b81cd97333988bfcd0afaee5d13bbb198" - integrity sha512-8MipGgwusDVgn7NwKOmpeo3gxzzd+SmwcWeBdpXknuyDiZSQy9tXe+E9LeFGrmys/8mLLYP79n3jSbiTyv+6pQ== - dependencies: - "@ethereumjs/common" "2.6.5" - "@ethereumjs/tx" "3.5.2" - "@ethereumjs/util" "^8.1.0" - eth-lib "0.2.8" - scrypt-js "^3.0.1" - uuid "^9.0.0" - web3-core "1.10.3" - web3-core-helpers "1.10.3" - web3-core-method "1.10.3" - web3-utils "1.10.3" - -web3-eth-contract@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.10.3.tgz#8880468e2ba7d8a4791cf714f67d5e1ec1591275" - integrity sha512-Y2CW61dCCyY4IoUMD4JsEQWrILX4FJWDWC/Txx/pr3K/+fGsBGvS9kWQN5EsVXOp4g7HoFOfVh9Lf7BmVVSRmg== - dependencies: - "@types/bn.js" "^5.1.1" - web3-core "1.10.3" - web3-core-helpers "1.10.3" - web3-core-method "1.10.3" - web3-core-promievent "1.10.3" - web3-core-subscriptions "1.10.3" - web3-eth-abi "1.10.3" - web3-utils "1.10.3" - -web3-eth-ens@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.10.3.tgz#ae5b49bcb9823027e0b28aa6b1de58d726cbaafa" - integrity sha512-hR+odRDXGqKemw1GFniKBEXpjYwLgttTES+bc7BfTeoUyUZXbyDHe5ifC+h+vpzxh4oS0TnfcIoarK0Z9tFSiQ== - dependencies: - content-hash "^2.5.2" - eth-ens-namehash "2.0.8" - web3-core "1.10.3" - web3-core-helpers "1.10.3" - web3-core-promievent "1.10.3" - web3-eth-abi "1.10.3" - web3-eth-contract "1.10.3" - web3-utils "1.10.3" - -web3-eth-iban@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.10.3.tgz#91d458e5400195edc883a0d4383bf1cecd17240d" - integrity sha512-ZCfOjYKAjaX2TGI8uif5ah+J3BYFuo+47JOIV1RIz2l7kD9VfnxvRH5UiQDRyMALQC7KFd2hUqIEtHklapNyKA== - dependencies: - bn.js "^5.2.1" - web3-utils "1.10.3" - -web3-eth-personal@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.10.3.tgz#4e72008aa211327ccc3bfa7671c510e623368457" - integrity sha512-avrQ6yWdADIvuNQcFZXmGLCEzulQa76hUOuVywN7O3cklB4nFc/Gp3yTvD3bOAaE7DhjLQfhUTCzXL7WMxVTsw== - dependencies: - "@types/node" "^12.12.6" - web3-core "1.10.3" - web3-core-helpers "1.10.3" - web3-core-method "1.10.3" - web3-net "1.10.3" - web3-utils "1.10.3" - -web3-eth@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.10.3.tgz#b8c6f37f1aac52422583a5a9c29130983a3fb3b1" - integrity sha512-Uk1U2qGiif2mIG8iKu23/EQJ2ksB1BQXy3wF3RvFuyxt8Ft9OEpmGlO7wOtAyJdoKzD5vcul19bJpPcWSAYZhA== - dependencies: - web3-core "1.10.3" - web3-core-helpers "1.10.3" - web3-core-method "1.10.3" - web3-core-subscriptions "1.10.3" - web3-eth-abi "1.10.3" - web3-eth-accounts "1.10.3" - web3-eth-contract "1.10.3" - web3-eth-ens "1.10.3" - web3-eth-iban "1.10.3" - web3-eth-personal "1.10.3" - web3-net "1.10.3" - web3-utils "1.10.3" - -web3-net@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.10.3.tgz#9486c2fe51452cb958e11915db6f90bd6caa5482" - integrity sha512-IoSr33235qVoI1vtKssPUigJU9Fc/Ph0T9CgRi15sx+itysmvtlmXMNoyd6Xrgm9LuM4CIhxz7yDzH93B79IFg== - dependencies: - web3-core "1.10.3" - web3-core-method "1.10.3" - web3-utils "1.10.3" - -web3-providers-http@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.10.3.tgz#d8166ee89db82d37281ea9e15c5882a2d7928755" - integrity sha512-6dAgsHR3MxJ0Qyu3QLFlQEelTapVfWNTu5F45FYh8t7Y03T1/o+YAkVxsbY5AdmD+y5bXG/XPJ4q8tjL6MgZHw== - dependencies: - abortcontroller-polyfill "^1.7.5" - cross-fetch "^4.0.0" - es6-promise "^4.2.8" - web3-core-helpers "1.10.3" - -web3-providers-ipc@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.10.3.tgz#a7e015957fc037d8a87bd4b6ae3561c1b1ad1f46" - integrity sha512-vP5WIGT8FLnGRfswTxNs9rMfS1vCbMezj/zHbBe/zB9GauBRTYVrUo2H/hVrhLg8Ut7AbsKZ+tCJ4mAwpKi2hA== - dependencies: - oboe "2.1.5" - web3-core-helpers "1.10.3" - -web3-providers-ws@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.10.3.tgz#03c84958f9da251349cd26fd7a4ae567e3af6caa" - integrity sha512-/filBXRl48INxsh6AuCcsy4v5ndnTZ/p6bl67kmO9aK1wffv7CT++DrtclDtVMeDGCgB3van+hEf9xTAVXur7Q== - dependencies: - eventemitter3 "4.0.4" - web3-core-helpers "1.10.3" - websocket "^1.0.32" - -web3-shh@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.10.3.tgz#ee44f760598a65a290d611c443838aac854ee858" - integrity sha512-cAZ60CPvs9azdwMSQ/PSUdyV4PEtaW5edAZhu3rCXf6XxQRliBboic+AvwUvB6j3eswY50VGa5FygfVmJ1JVng== - dependencies: - web3-core "1.10.3" - web3-core-method "1.10.3" - web3-core-subscriptions "1.10.3" - web3-net "1.10.3" - -web3-utils@1.10.3, web3-utils@^1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.10.3.tgz#f1db99c82549c7d9f8348f04ffe4e0188b449714" - integrity sha512-OqcUrEE16fDBbGoQtZXWdavsPzbGIDc5v3VrRTZ0XrIpefC/viZ1ZU9bGEemazyS0catk/3rkOOxpzTfY+XsyQ== - dependencies: - "@ethereumjs/util" "^8.1.0" - bn.js "^5.2.1" - ethereum-bloom-filters "^1.0.6" - ethereum-cryptography "^2.1.2" - ethjs-unit "0.1.6" - number-to-bn "1.7.0" - randombytes "^2.1.0" - utf8 "3.0.0" - -web3@^1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.10.3.tgz#5e80ac532dc432b09fde668d570b0ad4e6710897" - integrity sha512-DgUdOOqC/gTqW+VQl1EdPxrVRPB66xVNtuZ5KD4adVBtko87hkgM8BTZ0lZ8IbUfnQk6DyjcDujMiH3oszllAw== - dependencies: - web3-bzz "1.10.3" - web3-core "1.10.3" - web3-eth "1.10.3" - web3-eth-personal "1.10.3" - web3-net "1.10.3" - web3-shh "1.10.3" - web3-utils "1.10.3" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -websocket@^1.0.32: - version "1.0.34" - resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" - integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== - dependencies: - bufferutil "^4.0.1" - debug "^2.2.0" - es5-ext "^0.10.50" - typedarray-to-buffer "^3.1.5" - utf-8-validate "^5.0.2" - yaeti "^0.0.6" - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which-typed-array@^1.1.11, which-typed-array@^1.1.2: - version "1.1.11" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.11.tgz#99d691f23c72aab6768680805a271b69761ed61a" - integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -ws@8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" - integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== - -ws@^3.0.0: - version "3.3.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" - integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" - -ws@~8.11.0: - version "8.11.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" - integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== - -xhr-request-promise@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" - integrity sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg== - dependencies: - xhr-request "^1.1.0" - -xhr-request@^1.0.1, xhr-request@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.1.0.tgz#f4a7c1868b9f198723444d82dcae317643f2e2ed" - integrity sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA== - dependencies: - buffer-to-arraybuffer "^0.0.5" - object-assign "^4.1.1" - query-string "^5.0.1" - simple-get "^2.7.0" - timed-out "^4.0.1" - url-set-query "^1.0.0" - xhr "^2.0.4" - -xhr@^2.0.4, xhr@^2.3.3: - version "2.6.0" - resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d" - integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== - dependencies: - global "~4.4.0" - is-function "^1.0.1" - parse-headers "^2.0.0" - xtend "^4.0.0" - -xmlhttprequest-ssl@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" - integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== - -xtend@^4.0.0, xtend@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -yaeti@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" - integrity sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug== - -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== diff --git a/packages/auth-kit/jest.config.js b/packages/auth-kit/jest.config.js deleted file mode 100644 index 14ef1f454..000000000 --- a/packages/auth-kit/jest.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const config = { - testEnvironment: 'jsdom', - roots: ['/src'], - verbose: true, - transform: { - '^.+\\.ts?$': 'ts-jest' - }, - moduleNameMapper: { - '^@safe-global/protocol-kit/(.*)$': '/../protocol-kit/src/$1', - '^@safe-global/auth-kit/(.*)$': '/src/$1' - }, - setupFiles: ['/jest.setup.ts'] -} - -module.exports = config diff --git a/packages/auth-kit/jest.setup.ts b/packages/auth-kit/jest.setup.ts deleted file mode 100644 index d507e9e56..000000000 --- a/packages/auth-kit/jest.setup.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { TextEncoder } from 'util' - -// TextEncoder is used by viem, supported by Browsers for over five years and node since v11 as a global export: https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder -// Both on-ramp and auth-kit rely on being on a browser (we access properties directly on `window`) therefore the tests are set with `testEnvironment: 'jsdom'` -// `js-dom` doesn't set some of the globals: https://github.com/jestjs/jest/blob/v29.7.0/packages/jest-environment-jsdom/src/index.ts -// for reference, node does: https://github.com/jestjs/jest/blob/4e56991693da7cd4c3730dc3579a1dd1403ee630/packages/jest-environment-node/src/index.ts#L40 - -Object.assign(global, { TextEncoder }) diff --git a/packages/auth-kit/package.json b/packages/auth-kit/package.json deleted file mode 100644 index 1217bcd2a..000000000 --- a/packages/auth-kit/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "@safe-global/auth-kit", - "version": "2.0.9", - "description": "Authentication library for web2 logins", - "main": "dist/src/index.js", - "types": "dist/src/index.d.ts", - "scripts": { - "test": "jest src --coverage", - "format:check": "prettier --check \"*/**/*.{js,json,md,ts}\"", - "format": "prettier --write \"*/**/*.{js,json,md,ts}\"", - "unbuild": "rm -rf dist", - "build": "yarn unbuild && yarn tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/safe-global/safe-core-sdk.git" - }, - "keywords": [ - "Safe", - "Ethereum", - "Account Abstraction", - "SDK", - "Authentication" - ], - "author": "Safe (https://safe.global)", - "license": "MIT", - "bugs": { - "url": "https://github.com/safe-global/safe-core-sdk/issues" - }, - "files": [ - "dist" - ], - "homepage": "https://github.com/safe-global/safe-core-sdk#readme", - "publishConfig": { - "access": "public" - }, - "devDependencies": { - "react": "^18.2.0", - "react-dom": "^18.2.0" - }, - "dependencies": { - "@safe-global/api-kit": "^2.4.5", - "@safe-global/protocol-kit": "^4.1.0", - "@web3auth/safeauth-embed": "^0.0.0", - "viem": "^2.19.0" - } -} diff --git a/packages/auth-kit/src/AuthKitBasePack.ts b/packages/auth-kit/src/AuthKitBasePack.ts deleted file mode 100644 index 5fcb2cdca..000000000 --- a/packages/auth-kit/src/AuthKitBasePack.ts +++ /dev/null @@ -1,123 +0,0 @@ -import { createWalletClient, custom } from 'viem' -import SafeApiKit from '@safe-global/api-kit' - -import type { AuthKitEthereumProvider, AuthKitSignInData } from './types' - -export abstract class AuthKitBasePack { - safeAuthData?: AuthKitSignInData - - /** - * Get the authentication status - * The derived classes should provide a mechanism to identify the authentication status - */ - abstract get isAuthenticated(): boolean - - /** - * Initialize the pack - * @param options The provider specific options - */ - abstract init(options?: unknown): Promise - - /** - * Start the sign in flow in the pack - * @returns The sign in data from the provider - */ - abstract signIn(options?: unknown): Promise - - /** - * Start the sign out flow in the pack - */ - abstract signOut(options?: unknown): Promise - - /** - * Get the provider instance based on the pack - * @returns The provider instance - */ - abstract getProvider(): AuthKitEthereumProvider | null - - /** - * Get the user info from the provider - * @returns The user info from the provider - */ - abstract getUserInfo(): Promise - - /** - * Subscribe to an event - * @param event The event to subscribe to - * @param handler The handler to be called when the event is triggered - */ - abstract subscribe(event: unknown, handler: unknown): void - - /** - * Unsubscribe from an event - * @param event The event to unsubscribe from - * @param handler The handler to be removed from the event - */ - abstract unsubscribe(event: unknown, handler: unknown): void - - /** - * Get the list of Safe addresses owned by the user in the chain - * @param txServiceUrl The URL of the Safe Transaction Service - * @returns The list of Safe addresses owned by the user in the chain - */ - async getSafes(txServiceUrl?: string): Promise { - try { - const apiKit = await this.#getApiKit(txServiceUrl) - - const address = await this.getAddress() - - const safesByOwner = await apiKit.getSafesByOwner(address) - - return safesByOwner.safes - } catch (e) { - return [] - } - } - - /** - * Get the owner address from the provider - * @returns The signer address - */ - async getAddress(): Promise { - const authKitProvider = this.getProvider() - - if (!authKitProvider) { - throw new Error('Provider is not defined') - } - - const client = createWalletClient({ transport: custom(authKitProvider) }) - const [address] = await client.getAddresses() - - return address - } - - async getChainId(): Promise { - const authKitProvider = this.getProvider() - - if (!authKitProvider) { - throw new Error('Provider is not defined') - } - - const client = createWalletClient({ transport: custom(authKitProvider) }) - const chainId = await client.getChainId() - - return BigInt(chainId) - } - - /** - * Get the SafeApiKit instance - * @returns A SafeApiKit instance - */ - async #getApiKit(txServiceUrl?: string): Promise { - if (!this.getProvider()) { - throw new Error('Provider is not defined') - } - - const chainId = await this.getChainId() - - return new SafeApiKit({ - chainId, - txServiceUrl - }) - } -} diff --git a/packages/auth-kit/src/index.ts b/packages/auth-kit/src/index.ts deleted file mode 100644 index e5e0a83ea..000000000 --- a/packages/auth-kit/src/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from './packs/safe-auth/SafeAuthPack' -export * from './packs/safe-auth/types' - -export * from './AuthKitBasePack' -export * from './types' diff --git a/packages/auth-kit/src/lib/error.test.ts b/packages/auth-kit/src/lib/error.test.ts deleted file mode 100644 index 6ac18da62..000000000 --- a/packages/auth-kit/src/lib/error.test.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { getErrorMessage } from './errors' - -describe('errors', () => { - describe('getErrorMessage()', () => { - it('should return the message if it is an Error object with a message', () => { - expect(getErrorMessage(new Error('error message'))).toBe('error message') - }) - - it('should return the message if it is an error with a message', () => { - expect(getErrorMessage({ message: 'object with error message' })).toBe( - 'object with error message' - ) - }) - - it('should return the stringified error if it is any object', () => { - expect(getErrorMessage({ anError: 'object with error message' })).toBe( - '{"anError":"object with error message"}' - ) - }) - - it('should return an Error if it is a string', () => { - expect(getErrorMessage('error message')).toBe('"error message"') - }) - }) -}) diff --git a/packages/auth-kit/src/lib/errors.ts b/packages/auth-kit/src/lib/errors.ts deleted file mode 100644 index d1c60bd69..000000000 --- a/packages/auth-kit/src/lib/errors.ts +++ /dev/null @@ -1,28 +0,0 @@ -type ErrorWithMessage = { - message: string -} - -function isErrorWithMessage(error: unknown): error is ErrorWithMessage { - return ( - typeof error === 'object' && - error !== null && - 'message' in error && - typeof (error as Record).message === 'string' - ) -} - -function toErrorWithMessage(maybeError: unknown): ErrorWithMessage { - if (isErrorWithMessage(maybeError)) return maybeError - - try { - return new Error(JSON.stringify(maybeError)) - } catch { - // fallback in case there's an error stringifying the maybeError - // like with circular references for example. - return new Error(String(maybeError)) - } -} - -export function getErrorMessage(error: unknown) { - return toErrorWithMessage(error).message -} diff --git a/packages/auth-kit/src/packs/safe-auth/SafeAuthPack.test.ts b/packages/auth-kit/src/packs/safe-auth/SafeAuthPack.test.ts deleted file mode 100644 index 61ff8b5ad..000000000 --- a/packages/auth-kit/src/packs/safe-auth/SafeAuthPack.test.ts +++ /dev/null @@ -1,140 +0,0 @@ -import { SafeAuthPack } from './SafeAuthPack' -import { AuthKitBasePack } from '@safe-global/auth-kit/index' -import { SafeAuthInitOptions } from './types' -import { CHAIN_CONFIG } from './constants' - -const mockProvider = { - request: async ({ method }: { method: string }) => { - if (method === 'eth_accounts') { - return Promise.resolve(['0xf61B443A155b07D2b2cAeA2d99715dC84E839EEf']) - } - - if (method === 'eth_chainId') { - return Promise.resolve('0x1') - } - - return null - } -} -const mockInit = jest.fn() -const mockLogin = jest.fn() -const mockLogout = jest.fn() - -jest.mock('@safe-global/api-kit', () => { - return jest.fn().mockImplementation(() => { - return { - getSafesByOwner: jest.fn().mockImplementation(() => { - return Promise.resolve({ safes: ['0xSafe1', '0xSafe2'] }) - }) - } - }) -}) - -jest.mock('@web3auth/safeauth-embed', () => { - return { - __esModule: true, - default: jest.fn().mockImplementation(() => { - return { - provider: mockProvider, - init: mockInit, - login: mockLogin, - logout: mockLogout, - getUserInfo: jest.fn().mockResolvedValue({ - email: 'mockMail@mail.com' - }) - } - }) - } -}) - -const safeAuthInitOptions: SafeAuthInitOptions = { - enableLogging: true, - showWidgetButton: false, - chainConfig: { rpcTarget: 'https://rpc.xdaichain.com', chainId: '0x64' } -} - -describe('SafeAuthPack', () => { - let safeAuthPack: SafeAuthPack - - beforeAll(async () => { - safeAuthPack = new SafeAuthPack({ - txServiceUrl: 'https://txservice-url.com' - }) - - await safeAuthPack.init(safeAuthInitOptions) - }) - - beforeEach(() => { - jest.clearAllMocks() - mockInit.mockClear() - mockLogin.mockClear() - }) - - describe('init()', () => { - it('should initialize SafeAuth', async () => { - expect(safeAuthPack.getProvider()).not.toBeNull() - expect(safeAuthPack).toBeInstanceOf(SafeAuthPack) - expect(safeAuthPack).toBeInstanceOf(AuthKitBasePack) - }) - - it('should call torus init()', async () => { - await safeAuthPack.init(safeAuthInitOptions) - expect(mockInit).toHaveBeenCalledWith( - expect.objectContaining({ - chainConfig: { - ...CHAIN_CONFIG['0x64'], - rpcTarget: 'https://rpc.xdaichain.com' - }, - enableLogging: true, - showWidgetButton: false, - walletUrls: { production: { logLevel: 'error', url: 'https://safe.web3auth.com' } } - }) - ) - }) - - it('should initialize the provider', async () => { - await safeAuthPack.init(safeAuthInitOptions) - - expect(safeAuthPack.getProvider()).toBe(mockProvider) - }) - }) - - describe('signIn()', () => { - it('should call the login() method', async () => { - const authKitSignInData = await safeAuthPack.signIn() - - expect(mockLogin).toHaveBeenCalled() - expect(authKitSignInData).toEqual({ - eoa: '0xf61B443A155b07D2b2cAeA2d99715dC84E839EEf', - safes: ['0xSafe1', '0xSafe2'] - }) - }) - }) - - describe('signOut()', () => { - it('should call the logout() method', async () => { - await safeAuthPack.signOut() - - expect(safeAuthPack.getProvider()).toBeNull() - expect(mockLogout).toHaveBeenCalled() - }) - }) - - describe('getProvider()', () => { - it('should return null if not signed in', async () => { - expect(safeAuthPack.getProvider()).toBeNull() - }) - - it('should return the provider after initialization', async () => { - await safeAuthPack.init(safeAuthInitOptions) - - expect(safeAuthPack.getProvider()).toEqual(mockProvider) - }) - }) - - describe('getUserInfo()', () => { - it('should return the provider information', async () => { - expect(await safeAuthPack.getUserInfo()).toEqual({ email: 'mockMail@mail.com' }) - }) - }) -}) diff --git a/packages/auth-kit/src/packs/safe-auth/SafeAuthPack.ts b/packages/auth-kit/src/packs/safe-auth/SafeAuthPack.ts deleted file mode 100644 index ca4a22108..000000000 --- a/packages/auth-kit/src/packs/safe-auth/SafeAuthPack.ts +++ /dev/null @@ -1,177 +0,0 @@ -import SafeAuthEmbed from '@web3auth/safeauth-embed' -import { TorusInPageProvider, WsEmbedParams } from '@web3auth/ws-embed' -import { getErrorMessage } from '@safe-global/auth-kit/lib/errors' -import { AuthKitBasePack } from '@safe-global/auth-kit/AuthKitBasePack' -import { - SafeAuthConfig, - SafeAuthEvent, - SafeAuthEventListener, - SafeAuthInitOptions, - SafeAuthSignInOptions, - SafeAuthSignOutOptions, - SafeAuthUserInfo -} from './types' - -import type { AuthKitEthereumProvider, AuthKitSignInData } from '@safe-global/auth-kit/types' -import { CHAIN_CONFIG } from './constants' - -const SAFE_WALLET_SERVICES_URL = 'https://safe.web3auth.com' -const WS_EMBED_NOT_INITIALIZED = 'SafeEmbed SDK is not initialized' - -/** - * SafeAuthPack uses the Web3Auth services to get a signer address across different dApps - * @class - */ -export class SafeAuthPack extends AuthKitBasePack { - safeAuthEmbed!: SafeAuthEmbed - #provider: AuthKitEthereumProvider | null - #config?: SafeAuthConfig - - /** - * Instantiate the SafeAuthPack - * @param config SafeAuth config - */ - constructor(config?: SafeAuthConfig) { - super() - - this.#config = config - this.#provider = null - } - - /** - * Check if the user is authenticated - * Checking the communication provider for this information - */ - get isAuthenticated(): boolean { - return this.safeAuthEmbed.communicationProvider.isLoggedIn - } - - /** - * Initialize the SafeAuthPack - * @param options The options to initialize the SafeAuthPack - * @throws Error if there was an error initializing the Web3Auth WsEmbed - */ - async init(options: SafeAuthInitOptions) { - try { - this.safeAuthEmbed = new SafeAuthEmbed() - - const chainConfig = - options.chainConfig && - ({ - ...CHAIN_CONFIG[options.chainConfig.chainId], - chainId: options.chainConfig?.chainId, - rpcTarget: options.chainConfig?.rpcTarget - } as WsEmbedParams['chainConfig']) - - await this.safeAuthEmbed.init({ - ...options, - chainConfig, - walletUrls: { - production: { url: SAFE_WALLET_SERVICES_URL, logLevel: 'error' } - } - }) - - this.#provider = this.safeAuthEmbed.provider as AuthKitEthereumProvider - } catch (e) { - throw new Error(getErrorMessage(e)) - } - } - - /** - * Connect to the Web3Auth services and login - * @param options The options to connect to the Web3Auth services - * When loginProvider is specified the native provider authentication will be used instead the provider selector UI modal - * @returns An AuthKitSignInData object with the signer address and the associated safes - */ - async signIn(options?: SafeAuthSignInOptions): Promise { - if (!this.safeAuthEmbed) { - throw new Error(WS_EMBED_NOT_INITIALIZED) - } - - await this.safeAuthEmbed.login(options) - - this.#provider = this.safeAuthEmbed.provider as AuthKitEthereumProvider - - const eoa = await this.getAddress() - const safes = await this.getSafes(this.#config?.txServiceUrl) - - return { eoa, safes } - } - - /** - * Get the provider returned by the Web3Auth WsEmbed - * @returns A EIP-1193 compatible provider. Can be wrapped with viem, ethers or web3 - */ - getProvider(): AuthKitEthereumProvider | null { - return this.#provider - } - - /** - * Disconnect from the Web3Auth services and logout - * Use reset parameter to true when you want to remove completely the iframe. - * When this is false you can logout and login again without the need to refresh the page. - * You need to re-instantiate the pack if you reset completely it - * @param options The options to disconnect from the Web3Auth services - */ - async signOut(options?: SafeAuthSignOutOptions) { - if (!this.safeAuthEmbed) { - throw new Error(WS_EMBED_NOT_INITIALIZED) - } - - this.#provider = null - - if (options?.reset) { - await this.safeAuthEmbed.cleanUp() - } else { - await this.safeAuthEmbed.logout() - } - } - - /** - * Get user information. Use it after authentication - * @returns The specific user information coming from the oAuth or email provider - * @throws Error if there was an error initializing the Web3Auth WsEmbed - */ - async getUserInfo(): Promise { - if (!this.safeAuthEmbed) { - throw new Error(WS_EMBED_NOT_INITIALIZED) - } - - const userInfo = this.safeAuthEmbed.getUserInfo() - - return userInfo - } - - /** - * Remove the Web3Auth WsEmbed iframe from the DOM. Useful if you need to re-instantiate the pack - * with an alternative configuration - */ - destroy() { - this.safeAuthEmbed.clearInit() - } - - /** - * Subscribe to events (accountsChanged, chainChanged) - * You can use the accountsChanged event to check the accounts and - * as an indicator that a first authentication happened, so if the page - * is refreshed you can call the signIn method immediately - * @param event The event you want to subscribe to - * @param handler The event handler - */ - subscribe(event: SafeAuthEvent, handler: SafeAuthEventListener): void { - const provider = this.getProvider() as TorusInPageProvider - - provider.on(event, handler) - } - - /** - * Unsubscribe from events - * @param event The event you want to unsubscribe from - * @param handler The event handler - */ - unsubscribe(event: SafeAuthEvent, handler: SafeAuthEventListener): void { - const provider = this.getProvider() as TorusInPageProvider - - provider.off(event, handler) - } -} diff --git a/packages/auth-kit/src/packs/safe-auth/constants.ts b/packages/auth-kit/src/packs/safe-auth/constants.ts deleted file mode 100644 index f5469d60c..000000000 --- a/packages/auth-kit/src/packs/safe-auth/constants.ts +++ /dev/null @@ -1,147 +0,0 @@ -import { SafeAuthProviderConfig } from './types' - -const MAINNET_CHAIN_ID = '0x1' -const POLYGON_CHAIN_ID = '0x89' -const BSC_MAINNET_CHAIN_ID = '0x38' -const AVALANCHE_MAINNET_CHAIN_ID = '0xa86a' -const XDAI_CHAIN_ID = '0x64' -const ARBITRUM_MAINNET_CHAIN_ID = '0xa4b1' -const OPTIMISM_MAINNET_CHAIN_ID = '0xa' -const CELO_MAINNET_CHAIN_ID = '0xa4ec' -const GOERLI_CHAIN_ID = '0x5' -const SEPOLIA_CHAIN_ID = '0xaa36a7' -const POLYGON_MUMBAI_CHAIN_ID = '0x13881' -const BSC_TESTNET_CHAIN_ID = '0x61' -const AVALANCHE_TESTNET_CHAIN_ID = '0xa869' -const ARBITRUM_TESTNET_CHAIN_ID = '0x66eeb' -const OPTIMISM_TESTNET_CHAIN_ID = '0x1a4' - -export const CHAIN_CONFIG: Record> = { - [MAINNET_CHAIN_ID]: { - blockExplorerUrl: 'https://etherscan.io', - chainId: MAINNET_CHAIN_ID, - displayName: 'Main Ethereum Network', - logo: 'eth.svg', - ticker: 'ETH', - tickerName: 'Ethereum' - }, - [POLYGON_CHAIN_ID]: { - blockExplorerUrl: 'https://polygonscan.com', - chainId: POLYGON_CHAIN_ID, - displayName: 'Polygon Mainnet', - logo: 'matic-network-logo.svg', - ticker: 'MATIC', - tickerName: 'Matic Network Token' - }, - [BSC_MAINNET_CHAIN_ID]: { - blockExplorerUrl: 'https://bscscan.com', - chainId: BSC_MAINNET_CHAIN_ID, - displayName: 'Binance Smart Chain Mainnet', - logo: 'bnb.png', - ticker: 'BNB', - tickerName: 'Binance Coin' - }, - [AVALANCHE_MAINNET_CHAIN_ID]: { - blockExplorerUrl: 'https://snowtrace.io', - chainId: AVALANCHE_MAINNET_CHAIN_ID, - displayName: 'Avalanche Mainnet C-Chain', - logo: 'avax.svg', - ticker: 'AVAX', - tickerName: 'Avalanche' - }, - [OPTIMISM_MAINNET_CHAIN_ID]: { - blockExplorerUrl: 'https://optimistic.etherscan.io', - chainId: OPTIMISM_MAINNET_CHAIN_ID, - displayName: 'Optimism', - logo: 'optimism.svg', - ticker: 'ETH', - tickerName: 'Ethereum' - }, - [CELO_MAINNET_CHAIN_ID]: { - blockExplorerUrl: 'https://explorer.celo.org', - chainId: CELO_MAINNET_CHAIN_ID, - displayName: 'Celo Mainnet', - logo: 'celo.svg', - ticker: 'CELO', - tickerName: 'Celo' - }, - [ARBITRUM_MAINNET_CHAIN_ID]: { - blockExplorerUrl: 'https://arbiscan.io', - chainId: ARBITRUM_MAINNET_CHAIN_ID, - displayName: 'Arbitrum One', - logo: 'eth.svg', - ticker: 'ETH', - tickerName: 'Ethereum' - }, - [XDAI_CHAIN_ID]: { - blockExplorerUrl: 'https://blockscout.com/poa/xdai', - chainId: XDAI_CHAIN_ID, - displayName: 'xDai', - logo: 'xdai.svg', - ticker: 'DAI', - tickerName: 'xDai Network Token' - }, - [GOERLI_CHAIN_ID]: { - blockExplorerUrl: 'https://goerli.etherscan.io', - chainId: GOERLI_CHAIN_ID, - displayName: 'Goerli Test Network', - logo: 'eth.svg', - ticker: 'ETH', - tickerName: 'Ethereum', - isTestnet: true - }, - [SEPOLIA_CHAIN_ID]: { - blockExplorerUrl: 'https://sepolia.etherscan.io', - chainId: SEPOLIA_CHAIN_ID, - displayName: 'Sepolia Test Network', - logo: 'eth.svg', - ticker: 'ETH', - tickerName: 'Ethereum', - isTestnet: true - }, - [POLYGON_MUMBAI_CHAIN_ID]: { - blockExplorerUrl: 'https://mumbai.polygonscan.com', - chainId: POLYGON_MUMBAI_CHAIN_ID, - displayName: 'Polygon Mumbai', - logo: 'matic-network-logo.svg', - ticker: 'MATIC', - tickerName: 'Matic Network Token', - isTestnet: true - }, - [BSC_TESTNET_CHAIN_ID]: { - blockExplorerUrl: 'https://testnet.bscscan.com', - chainId: BSC_TESTNET_CHAIN_ID, - displayName: 'Binance Smart Chain Testnet', - logo: 'bnb.png', - ticker: 'BNB', - tickerName: 'Binance Coin', - isTestnet: true - }, - [AVALANCHE_TESTNET_CHAIN_ID]: { - blockExplorerUrl: 'https://testnet.snowtrace.io', - chainId: AVALANCHE_TESTNET_CHAIN_ID, - displayName: 'Avalanche Testnet C-Chain', - logo: 'avax.png', - ticker: 'AVAX', - tickerName: 'Avalanche', - isTestnet: true - }, - [ARBITRUM_TESTNET_CHAIN_ID]: { - blockExplorerUrl: 'https://testnet.arbiscan.io', - chainId: ARBITRUM_TESTNET_CHAIN_ID, - displayName: 'Arbitrum Goerli', - logo: 'eth.svg', - ticker: 'ETH', - tickerName: 'Ethereum', - isTestnet: true - }, - [OPTIMISM_TESTNET_CHAIN_ID]: { - blockExplorerUrl: 'https://goerli-optimism.etherscan.io', - chainId: OPTIMISM_TESTNET_CHAIN_ID, - displayName: 'Optimism Goerli', - logo: 'optimism.svg', - ticker: 'ETH', - tickerName: 'Ethereum', - isTestnet: true - } -} diff --git a/packages/auth-kit/src/packs/safe-auth/types.ts b/packages/auth-kit/src/packs/safe-auth/types.ts deleted file mode 100644 index 6887e0193..000000000 --- a/packages/auth-kit/src/packs/safe-auth/types.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { LOGIN_PROVIDER_TYPE, WsEmbedParams, UserInfo } from '@web3auth/ws-embed' - -export type SafeAuthConfig = { - txServiceUrl?: string -} -export type SafeAuthInitOptions = Omit & { - chainConfig?: SafeAuthProviderConfig -} -export type SafeAuthSignInOptions = { - loginProvider?: LOGIN_PROVIDER_TYPE - login_hint?: string -} -export type SafeAuthSignOutOptions = { reset: boolean } -export type SafeAuthUserInfo = UserInfo -export type SafeAuthEvent = 'accountsChanged' | 'chainChanged' -export type SafeAuthEventListener = (...args: any[]) => void - -export type SafeAuthProviderConfig = { - blockExplorerUrl?: string - logo?: string - tickerName?: string - ticker?: string - rpcTarget: string - wcTarget?: string - chainId: string - displayName?: string - isTestnet?: boolean -} diff --git a/packages/auth-kit/src/types.ts b/packages/auth-kit/src/types.ts deleted file mode 100644 index e9dfd568b..000000000 --- a/packages/auth-kit/src/types.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { EIP1193Provider } from 'viem' - -// We want to use a specific auth-kit type and avoid to return external library types in the abstract base pack class -// If we decide to change the external library, we will only need to change the type in this file -export type AuthKitEthereumProvider = EIP1193Provider - -export type AuthKitSignInData = { - eoa: string - safes?: string[] -} diff --git a/packages/onramp-kit/README.md b/packages/onramp-kit/README.md deleted file mode 100644 index f3e1befc1..000000000 --- a/packages/onramp-kit/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# Onramp Kit - -[![npm Version](https://badge.fury.io/js/%40safe-global%2Fonramp-kit.svg)](https://badge.fury.io/js/%40safe-global%2Fonramp-kit) -[![GitHub Release](https://img.shields.io/github/release/safe-global/safe-core-sdk.svg?style=flat)](https://github.com/safe-global/safe-core-sdk/releases) -[![GitHub](https://img.shields.io/github/license/safe-global/safe-core-sdk)](https://github.com/safe-global/safe-core-sdk/blob/main/LICENSE.md) - -The Onramp Kit allows users to buy cryptocurrencies using a credit card and other payment options. - -## Documentation - -- [Onramp Kit integration guides](https://docs.safe.global/sdk/onramp-kit) - -- [Onramp Kit reference](https://docs.safe.global/sdk/onramp-kit/reference) - -## Example - -[Check a functional demo](https://github.com/safe-global/safe-core-sdk/tree/main/packages/onramp-kit/example) using the `onramp-kit` - -## Need Help or Have Questions? - -If you have any doubts, questions, or need assistance, feel free to reach out! [Here you will find how to get support.](https://github.com/safe-global/safe-core-sdk/tree/main/SUPPORT.md) - -## Contributing - -Please read our [contribution guidelines](https://github.com/safe-global/safe-core-sdk/tree/main/CONTRIBUTING.md) before submitting any changes. We appreciate your help! 🙌 - -## License - -This library is [released under MIT](https://github.com/safe-global/safe-core-sdk/blob/main/LICENSE.md). diff --git a/packages/onramp-kit/example/client/.env.sample b/packages/onramp-kit/example/client/.env.sample deleted file mode 100644 index cbe051c43..000000000 --- a/packages/onramp-kit/example/client/.env.sample +++ /dev/null @@ -1,14 +0,0 @@ -# Get your Stripe public key from https://stripe.com/docs/crypto/overview -VITE_STRIPE_PUBLIC_KEY= - -# Configure the Stripe backend URL. You need your own server instance running. -# You can use the one in the example/server folder as a starting point. -# More info here: -# https://docs.safe.global/safe-core-aa-sdk/onramp-kit/stripe#prerequisites -VITE_SAFE_STRIPE_BACKEND_BASE_URL= - -# Configure the Monerium client ID. You need to get one from Monerium. -# Add the client ID for the authorization code flow here (not the one for the client credentials flow). -# More info here: -# https://monerium.dev/docs/getting-started/create-app -VITE_MONERIUM_CLIENT_ID= diff --git a/packages/onramp-kit/example/client/.gitignore b/packages/onramp-kit/example/client/.gitignore deleted file mode 100644 index a547bf36d..000000000 --- a/packages/onramp-kit/example/client/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -dist -dist-ssr -*.local - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -.DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/packages/onramp-kit/example/client/README.md b/packages/onramp-kit/example/client/README.md deleted file mode 100644 index 4aec1a6b0..000000000 --- a/packages/onramp-kit/example/client/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# How to use - -This is an example of how to use the `@safe-global/onramp-kit` package. - -```bash -yarn install -yarn start -``` - -This example can be used as a playground to test the package as it is relatively imported from the root of the project. - -```typescript -import { SafeOnRampKit, SafeOnRampProviderType } from '../../src/index' -``` - -To use the example properly in your local machine follow these steps: - -**In the project root folder** - -1. `yarn install` -2. `yarn build` - -**In the onramp-kit client example root folder** - -3. `yarn install` -4. Configure `.env` following `.env.sample` -5. `yarn start` diff --git a/packages/onramp-kit/example/client/index.html b/packages/onramp-kit/example/client/index.html deleted file mode 100644 index ce4abe701..000000000 --- a/packages/onramp-kit/example/client/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Payments Provider demo - - -
- - - diff --git a/packages/onramp-kit/example/client/package.json b/packages/onramp-kit/example/client/package.json deleted file mode 100644 index 7c2c67671..000000000 --- a/packages/onramp-kit/example/client/package.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "@safe-global/onramp-kit-example-client", - "private": true, - "version": "1.0.0", - "type": "module", - "scripts": { - "clean": "rm -rf node_modules/.vite", - "start": "yarn clean && vite", - "build": "vite build" - }, - "dependencies": { - "@emotion/react": "^11.11.4", - "@emotion/styled": "^11.11.5", - "@monerium/sdk": "^2.12.0", - "@mui/material": "^5.15.15", - "@safe-global/auth-kit": "file:../../../auth-kit", - "@safe-global/onramp-kit": "file:../../", - "@safe-global/protocol-kit": "file:../../../protocol-kit", - "@safe-global/safe-react-components": "^2.0.6", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-router-dom": "^6.18.0", - "viem": "^2.19.0" - }, - "devDependencies": { - "@rollup/plugin-commonjs": "^24.1.0", - "@types/react": "^18.2.74", - "@types/react-dom": "^18.2.24", - "@vitejs/plugin-react": "^3.1.0", - "rollup-plugin-polyfill-node": "^0.12.0", - "typescript": "^5.4.4", - "vite": "^4.5.3", - "vite-plugin-node-polyfills": "^0.16.0" - } -} diff --git a/packages/onramp-kit/example/client/public/vite.svg b/packages/onramp-kit/example/client/public/vite.svg deleted file mode 100644 index e7b8dfb1b..000000000 --- a/packages/onramp-kit/example/client/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/onramp-kit/example/client/src/App.tsx b/packages/onramp-kit/example/client/src/App.tsx deleted file mode 100644 index c77c5201c..000000000 --- a/packages/onramp-kit/example/client/src/App.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { Outlet } from 'react-router-dom' - -import AppBar from './AppBar' -import { AuthProvider } from './AuthContext' - -function App() { - return ( - - - - - ) -} - -export default App diff --git a/packages/onramp-kit/example/client/src/AppBar.tsx b/packages/onramp-kit/example/client/src/AppBar.tsx deleted file mode 100644 index 784b220b1..000000000 --- a/packages/onramp-kit/example/client/src/AppBar.tsx +++ /dev/null @@ -1,92 +0,0 @@ -import { Link as RouterLink } from 'react-router-dom' -import { - AppBar as MuiAppBar, - Typography, - styled, - Link, - Button, - Box, - MenuItem, - Select, - SelectChangeEvent -} from '@mui/material' -import { EthHashInfo } from '@safe-global/safe-react-components' - -import { useAuth } from './AuthContext' - -const AppBar = () => { - const { logIn, logOut, isLoggedIn, data, selectedSafe, setSelectedSafe } = useAuth() - - return ( - - - OnRamp - - - - {isLoggedIn ? ( - <> - - - {data && data?.safes && data?.safes?.length > 0 && ( - - )} - - {data && data?.safes && !data?.safes?.length && ( - - )} - - - - ) : ( - - )} - - - ) -} - -const StyledAppBar = styled(MuiAppBar)` - && { - position: sticky; - top: 0; - background: ${({ theme }) => theme.palette.background.paper}; - height: 70px; - align-items: center; - flex-direction: row; - border-bottom: 2px solid ${({ theme }) => theme.palette.background.paper}; - box-shadow: none; - } -` - -export default AppBar diff --git a/packages/onramp-kit/example/client/src/AuthContext.tsx b/packages/onramp-kit/example/client/src/AuthContext.tsx deleted file mode 100644 index 657f59a56..000000000 --- a/packages/onramp-kit/example/client/src/AuthContext.tsx +++ /dev/null @@ -1,122 +0,0 @@ -import React, { createContext, useState, useEffect } from 'react' -import { SafeAuthPack, AuthKitSignInData, SafeAuthInitOptions } from '@safe-global/auth-kit' -import { Eip1193Provider } from '@safe-global/protocol-kit' - -type AuthContextProviderProps = { - children: React.ReactNode -} - -type AuthContextType = { - isLoggedIn: boolean - provider: Eip1193Provider | null - data?: AuthKitSignInData - selectedSafe: string - setSelectedSafe?: (safe: string) => void - logIn?: () => void - logOut?: () => void -} - -export const AuthContext = createContext({ - isLoggedIn: false, - selectedSafe: '', - provider: null -}) -const STORED_SAFE = 'selected_safe' -const AuthProvider = ({ children }: AuthContextProviderProps) => { - const [safeAuthPack, setSafeAuthPack] = useState() - const [isAuthenticated, setIsAuthenticated] = useState(!!safeAuthPack?.isAuthenticated) - const [safeAuthSignInResponse, setSafeAuthSignInResponse] = useState() - const [provider, setProvider] = useState() - const [selectedSafe, setSelectedSafe] = useState('') - - const storedSafe = sessionStorage.getItem(STORED_SAFE) - - useEffect(() => { - ;(async () => { - const authPack = new SafeAuthPack() - - const options: SafeAuthInitOptions = { - enableLogging: true, - showWidgetButton: false, - chainConfig: { chainId: '0xaa36a7', rpcTarget: 'https://sepolia.gateway.tenderly.co' } - } - - await authPack.init(options) - - setSafeAuthPack(authPack) - - // If the provider has an account the we can try to sign in the user - authPack.subscribe('accountsChanged', async (accounts: string[]) => { - if (accounts.length > 0) { - const signInInfo = await authPack?.signIn() - - setSafeAuthSignInResponse(signInInfo) - setIsAuthenticated(true) - - if (signInInfo.safes && signInInfo.safes.length > 0) { - setSelectedSafe(storedSafe || signInInfo?.safes[0]) - } - } - }) - })() - }, []) - - useEffect(() => { - if (!safeAuthPack || !isAuthenticated) return - - setProvider(safeAuthPack.getProvider()) - }, [isAuthenticated]) - - const logIn = async () => { - if (!safeAuthPack) return - - const signInInfo = await safeAuthPack.signIn() - setSafeAuthSignInResponse(signInInfo) - setIsAuthenticated(true) - - if (signInInfo?.safes && signInInfo.safes.length > 0) { - setSelectedSafe(storedSafe || signInInfo?.safes[0]) - } - } - - const logOut = async () => { - if (!safeAuthPack) return - - await safeAuthPack.signOut() - - setProvider(undefined) - setSafeAuthSignInResponse(undefined) - setIsAuthenticated(false) - } - - return ( - { - sessionStorage.setItem(STORED_SAFE, safe) - setSelectedSafe(safe) - } - }} - > - {children} - - ) -} - -const useAuth = () => { - const context = React.useContext(AuthContext) - - if (context === undefined) { - throw new Error('useAuth must be used within a AuthContextProvider') - } - - return context -} - -export { AuthProvider, useAuth } diff --git a/packages/onramp-kit/example/client/src/components/Stripe.tsx b/packages/onramp-kit/example/client/src/components/Stripe.tsx deleted file mode 100644 index 20a711934..000000000 --- a/packages/onramp-kit/example/client/src/components/Stripe.tsx +++ /dev/null @@ -1,96 +0,0 @@ -import { useEffect, useState, useRef } from 'react' -import { isAddress } from 'viem' -import { Grid, TextField, Button } from '@mui/material' - -import { StripeSession, StripePack } from '@safe-global/onramp-kit' - -const isSessionValid = (sessionId: string) => sessionId.length === 28 - -function Stripe() { - const [walletAddress, setWalletAddress] = useState('') - const [sessionId, setSessionId] = useState('') - const [stripePack, setStripePack] = useState() - const stripeRootRef = useRef(null) - - const handleCreateSession = async () => { - if (!isSessionValid(sessionId) && !isAddress(walletAddress)) return - - if (stripeRootRef.current) { - stripeRootRef.current.innerHTML = '' - } - - const sessionData = (await stripePack?.open({ - element: '#stripe-root', - sessionId: sessionId, - theme: 'light', - defaultOptions: { - transaction_details: { - wallet_address: walletAddress, - supported_destination_networks: ['ethereum', 'polygon'], - supported_destination_currencies: ['usdc'], - lock_wallet_address: true - }, - customer_information: { - email: 'john@doe.com' - } - } - })) as StripeSession - - stripePack?.subscribe('onramp_ui_loaded', () => { - console.log('UI loaded') - }) - - stripePack?.subscribe('onramp_session_updated', (e) => { - console.log('Session Updated', e.payload) - }) - - setWalletAddress(sessionData?.transaction_details?.wallet_address || '') - } - - useEffect(() => { - ;(async () => { - const pack = new StripePack({ - stripePublicKey: import.meta.env.VITE_STRIPE_PUBLIC_KEY, - onRampBackendUrl: import.meta.env.VITE_SAFE_STRIPE_BACKEND_BASE_URL - }) - - await pack.init() - - setStripePack(pack) - })() - }, []) - - return ( - - - setWalletAddress(event.target.value)} - sx={{ width: '100%' }} - /> - setSessionId(event.target.value)} - sx={{ width: '100%', mt: 2 }} - /> -
- -
- -
-
-
- ) -} - -export default Stripe diff --git a/packages/onramp-kit/example/client/src/components/monerium/Connected.tsx b/packages/onramp-kit/example/client/src/components/monerium/Connected.tsx deleted file mode 100644 index 969f063a1..000000000 --- a/packages/onramp-kit/example/client/src/components/monerium/Connected.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import { useState, useEffect } from 'react' -import { AuthContext, OrderState } from '@monerium/sdk' -import { Alert, Box, Button, TextField, CircularProgress as Loader } from '@mui/material' - -type ConnectedProps = { - authContext: AuthContext - orderState: OrderState | undefined - safe: string - onLogout: () => void - onTransfer: (iban: string, amount: string) => void -} - -function Connected({ authContext, orderState, safe, onLogout, onTransfer }: ConnectedProps) { - const [counterpartIban, setCounterpartIban] = useState('') - const [isLoading, setIsLoading] = useState(false) - - useEffect(() => { - if (orderState === OrderState.processed || orderState === OrderState.rejected) { - setCounterpartIban('') - setTimeout(() => { - setIsLoading(false) - }, 5000) - } - }, [orderState]) - - return ( - <> -

Email: {authContext.email}

-

User Id: {authContext.userId}

-

Default profile: {authContext.defaultProfile}

- - {isLoading ? ( - - {orderState && [OrderState.placed, OrderState.pending].includes(orderState) && ( - - )} - {orderState && ( - <> - {orderState === OrderState.placed && Order placed} - {orderState === OrderState.pending && Order pending} - {orderState === OrderState.rejected && Order rejected} - {orderState === OrderState.processed && ( - Order processed - )} - - )} - - ) : ( - <> - setCounterpartIban(e.target.value)} - placeholder="Enter the recipient's IBAN" - sx={{ mb: 2, width: '24em' }} - /> - -
- - {counterpartIban && safe && ( - <> - {`You are going to transfer 1 EUR from ${safe} to ${counterpartIban}`} - - - - )} - - - - )} - - ) -} - -export default Connected diff --git a/packages/onramp-kit/example/client/src/components/monerium/DeploySafe.tsx b/packages/onramp-kit/example/client/src/components/monerium/DeploySafe.tsx deleted file mode 100644 index 330b176f3..000000000 --- a/packages/onramp-kit/example/client/src/components/monerium/DeploySafe.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import { Button, Typography } from '@mui/material' - -function DeploySafe() { - return ( - <> - - No Safes found - - - You need to connect with an owner with at least one Safe. Click the deploy Safe button and - then reload. - - - ⚠️ Remember to add the connected address as an owner of the Safe. ⚠️ - - - - - ) -} - -export default DeploySafe diff --git a/packages/onramp-kit/example/client/src/components/monerium/Disconnected.tsx b/packages/onramp-kit/example/client/src/components/monerium/Disconnected.tsx deleted file mode 100644 index 0da3f1750..000000000 --- a/packages/onramp-kit/example/client/src/components/monerium/Disconnected.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { Box, Typography } from '@mui/material' - -function Disconnected() { - return ( - - - Connect - - - Use the connect button in the header for using your regular wallet or Social providers in - order to authenticate with an owner - - - Once you connect you will see the owner and the associated Safes. Choose the one you want to - link to Monerium - - - ) -} - -export default Disconnected diff --git a/packages/onramp-kit/example/client/src/components/monerium/LoginWithMonerium.tsx b/packages/onramp-kit/example/client/src/components/monerium/LoginWithMonerium.tsx deleted file mode 100644 index 346a71e99..000000000 --- a/packages/onramp-kit/example/client/src/components/monerium/LoginWithMonerium.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { Button, Typography } from '@mui/material' - -type LoginWithMoneriumProps = { - safe: string - threshold: string - onLogin: () => void -} - -function LoginWithMonerium({ safe, threshold, onLogin }: LoginWithMoneriumProps) { - return ( - <> - - Connected !! - - - You are connected and have selected the following Safe:{' '} - - {safe} ({threshold}) - - - - You now can login with Monerium and link the selected Safe with your account - -
- - - ) -} - -export default LoginWithMonerium diff --git a/packages/onramp-kit/example/client/src/components/monerium/Monerium.tsx b/packages/onramp-kit/example/client/src/components/monerium/Monerium.tsx deleted file mode 100644 index c97844f30..000000000 --- a/packages/onramp-kit/example/client/src/components/monerium/Monerium.tsx +++ /dev/null @@ -1,155 +0,0 @@ -import { useState, useEffect } from 'react' -import { AuthContext, OrderState, PaymentStandard } from '@monerium/sdk' -import { Box } from '@mui/material' -import Safe from '@safe-global/protocol-kit' - -import { useAuth } from '../../AuthContext' -import { MoneriumPack, SafeMoneriumClient } from '@safe-global/onramp-kit' -import Disconnected from './Disconnected' -import DeploySafe from './DeploySafe' -import LoginWithMonerium from './LoginWithMonerium' -import Connected from './Connected' - -function Monerium() { - const [authContext, setAuthContext] = useState() - const [safeThreshold, setSafeThreshold] = useState() - const [moneriumClient, setMoneriumClient] = useState() - const [moneriumPack, setMoneriumPack] = useState() - const [orderState, setOrderState] = useState() - const { isLoggedIn, selectedSafe, provider: authProvider } = useAuth() - - useEffect(() => { - ;(async () => { - if (!authProvider || !selectedSafe) return - - const protocolKit = await Safe.init({ - provider: authProvider, - safeAddress: selectedSafe, - isL1SafeSingleton: true - }) - - const pack = new MoneriumPack({ - clientId: import.meta.env.VITE_MONERIUM_CLIENT_ID, - redirectUrl: 'http://localhost:3000/monerium', - environment: 'sandbox' - }) - - await pack.init({ - protocolKit - }) - - pack.subscribe(OrderState.pending, (notification) => { - setOrderState(notification.meta.state) - }) - - pack.subscribe(OrderState.placed, (notification) => { - setOrderState(notification.meta.state) - }) - - pack.subscribe(OrderState.rejected, (notification) => { - setOrderState(notification.meta.state) - setTimeout(() => { - setOrderState(undefined) - }, 5000) - }) - - pack.subscribe(OrderState.processed, (notification) => { - setOrderState(notification.meta.state) - setTimeout(() => { - setOrderState(undefined) - }, 5000) - }) - - const threshold = await protocolKit.getThreshold() - const owners = await protocolKit.getOwners() - - setSafeThreshold(`${threshold}/${owners.length}`) - setMoneriumPack(pack) - })() - }, [authProvider, selectedSafe]) - - useEffect(() => { - startMoneriumFlow() - }, [moneriumPack]) - - const startMoneriumFlow = async (options?: { initiateAuthFlow?: boolean }) => { - if (!moneriumPack) return - - if (options?.initiateAuthFlow) { - await moneriumPack.open({ initiateAuthFlow: true }) - } else { - const moneriumClient = await moneriumPack.open() - - const authContext = await moneriumClient.getAuthContext() - const profile = await moneriumClient.getProfile(authContext.defaultProfile) - const balances = await moneriumClient.getBalances() - const orders = await moneriumClient.getOrders() - - console.group('Monerium data') - console.log('AuthContext', authContext) - console.log('Profile', profile) - console.log('Balances', balances) - console.log('Orders', orders) - console.log('Bearer Profile', moneriumClient.bearerProfile) - console.groupEnd() - - setMoneriumClient(moneriumClient) - setAuthContext(authContext) - } - } - - const closeMoneriumFlow = async () => { - moneriumPack?.close() - setAuthContext(undefined) - } - - const transfer = async (iban: string, amount: string) => { - const tx = await moneriumClient?.send({ - amount, - counterpart: { - identifier: { - standard: 'iban' as PaymentStandard.iban, - iban - }, - details: { - firstName: 'John', - lastName: 'Doe', - country: 'ES' - } - }, - memo: 'Testing Safe-Monerium integration' - }) - - console.log('New proposed transaction', tx) - } - - if (!isLoggedIn) return - - return ( - - {authContext ? ( - - ) : ( - <> - {!selectedSafe && } - - {selectedSafe && ( - startMoneriumFlow({ initiateAuthFlow: true })} - /> - )} - - )} - - ) -} - -export default Monerium diff --git a/packages/onramp-kit/example/client/src/index.css b/packages/onramp-kit/example/client/src/index.css deleted file mode 100644 index c0850d570..000000000 --- a/packages/onramp-kit/example/client/src/index.css +++ /dev/null @@ -1 +0,0 @@ -@import url('../node_modules/@safe-global/safe-react-components/dist/fonts.css'); diff --git a/packages/onramp-kit/example/client/src/main.tsx b/packages/onramp-kit/example/client/src/main.tsx deleted file mode 100644 index 0a750984c..000000000 --- a/packages/onramp-kit/example/client/src/main.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import ReactDOM from 'react-dom/client' -import { createBrowserRouter, Navigate, RouterProvider } from 'react-router-dom' -import { ThemeProvider, CssBaseline } from '@mui/material' -import { SafeThemeProvider } from '@safe-global/safe-react-components' - -import Stripe from './components/Stripe' -import Monerium from './components/monerium/Monerium' -import App from './App' - -import './index.css' - -const router = createBrowserRouter([ - { - path: '/', - element: , - children: [ - { - path: '/', - element: , - index: true - }, - { - path: '/stripe', - element: - }, - { - path: 'monerium', - element: - } - ] - } -]) - -ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( - - {(safeTheme) => ( - - - - - )} - -) diff --git a/packages/onramp-kit/example/client/src/vite-env.d.ts b/packages/onramp-kit/example/client/src/vite-env.d.ts deleted file mode 100644 index 11f02fe2a..000000000 --- a/packages/onramp-kit/example/client/src/vite-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/packages/onramp-kit/example/client/tsconfig.json b/packages/onramp-kit/example/client/tsconfig.json deleted file mode 100644 index 3d0a51a86..000000000 --- a/packages/onramp-kit/example/client/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "target": "ESNext", - "useDefineForClassFields": true, - "lib": ["DOM", "DOM.Iterable", "ESNext"], - "allowJs": false, - "skipLibCheck": true, - "esModuleInterop": false, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "module": "ESNext", - "moduleResolution": "Node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx" - }, - "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }] -} diff --git a/packages/onramp-kit/example/client/tsconfig.node.json b/packages/onramp-kit/example/client/tsconfig.node.json deleted file mode 100644 index 9d31e2aed..000000000 --- a/packages/onramp-kit/example/client/tsconfig.node.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Node", - "allowSyntheticDefaultImports": true - }, - "include": ["vite.config.ts"] -} diff --git a/packages/onramp-kit/example/client/vite.config.ts b/packages/onramp-kit/example/client/vite.config.ts deleted file mode 100644 index 80d1b9312..000000000 --- a/packages/onramp-kit/example/client/vite.config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { defineConfig } from 'vite' -import { nodePolyfills } from 'vite-plugin-node-polyfills' -import react from '@vitejs/plugin-react' - -export default defineConfig({ - plugins: [react(), nodePolyfills()], - server: { - port: 3000 - } -}) diff --git a/packages/onramp-kit/example/client/yarn.lock b/packages/onramp-kit/example/client/yarn.lock deleted file mode 100644 index 360a7a6fa..000000000 --- a/packages/onramp-kit/example/client/yarn.lock +++ /dev/null @@ -1,4743 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@adraffy/ens-normalize@1.10.1": - version "1.10.1" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz#63430d04bd8c5e74f8d7d049338f1cd9d4f02069" - integrity sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw== - -"@ampproject/remapping@^2.2.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" - integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2": - version "7.24.2" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" - integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== - dependencies: - "@babel/highlight" "^7.24.2" - picocolors "^1.0.0" - -"@babel/compat-data@^7.23.5": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" - integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== - -"@babel/core@^7.20.12": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.4.tgz#1f758428e88e0d8c563874741bc4ffc4f71a4717" - integrity sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.4" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.24.4" - "@babel/parser" "^7.24.4" - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.1" - "@babel/types" "^7.24.0" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.24.1", "@babel/generator@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.4.tgz#1fc55532b88adf952025d5d2d1e71f946cb1c498" - integrity sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw== - dependencies: - "@babel/types" "^7.24.0" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== - dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" - browserslist "^4.22.2" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.15": - version "7.24.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" - integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== - dependencies: - "@babel/types" "^7.24.0" - -"@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@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.20" - -"@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" - integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.23.4": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" - integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - -"@babel/helpers@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.4.tgz#dc00907fd0d95da74563c142ef4cd21f2cb856b6" - integrity sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw== - dependencies: - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.1" - "@babel/types" "^7.24.0" - -"@babel/highlight@^7.24.2": - version "7.24.2" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.2.tgz#3f539503efc83d3c59080a10e6634306e0370d26" - integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.4.tgz#234487a110d89ad5a3ed4a8a566c36b9453e8c88" - integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== - -"@babel/plugin-transform-react-jsx-self@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz#3849401bab7ae8ffa1e3e5687c94a753fc75bda7" - integrity sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-react-jsx-source@^7.19.6": - version "7.19.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz#88578ae8331e5887e8ce28e4c9dc83fb29da0b86" - integrity sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - -"@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.22.10", "@babel/runtime@^7.23.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.4.tgz#de795accd698007a66ba44add6cc86542aff1edd" - integrity sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.22.15", "@babel/template@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" - integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.24.0" - "@babel/types" "^7.24.0" - -"@babel/traverse@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.1.tgz#d65c36ac9dd17282175d1e4a3c49d5b7988f530c" - integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== - dependencies: - "@babel/code-frame" "^7.24.1" - "@babel/generator" "^7.24.1" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.24.1" - "@babel/types" "^7.24.0" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" - integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@emotion/babel-plugin@^11.11.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" - integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/runtime" "^7.18.3" - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/serialize" "^1.1.2" - babel-plugin-macros "^3.1.0" - convert-source-map "^1.5.0" - escape-string-regexp "^4.0.0" - find-root "^1.1.0" - source-map "^0.5.7" - stylis "4.2.0" - -"@emotion/cache@^11.11.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" - integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== - dependencies: - "@emotion/memoize" "^0.8.1" - "@emotion/sheet" "^1.2.2" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" - stylis "4.2.0" - -"@emotion/hash@^0.9.1": - version "0.9.1" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" - integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== - -"@emotion/is-prop-valid@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz#d4175076679c6a26faa92b03bb786f9e52612337" - integrity sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw== - dependencies: - "@emotion/memoize" "^0.8.1" - -"@emotion/memoize@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" - integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== - -"@emotion/react@^11.11.4": - version "11.11.4" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.4.tgz#3a829cac25c1f00e126408fab7f891f00ecc3c1d" - integrity sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw== - dependencies: - "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.11.0" - "@emotion/cache" "^11.11.0" - "@emotion/serialize" "^1.1.3" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" - hoist-non-react-statics "^3.3.1" - -"@emotion/serialize@^1.1.2", "@emotion/serialize@^1.1.3", "@emotion/serialize@^1.1.4": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.4.tgz#fc8f6d80c492cfa08801d544a05331d1cc7cd451" - integrity sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ== - dependencies: - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/unitless" "^0.8.1" - "@emotion/utils" "^1.2.1" - csstype "^3.0.2" - -"@emotion/sheet@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" - integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== - -"@emotion/styled@^11.11.5": - version "11.11.5" - resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.11.5.tgz#0c5c8febef9d86e8a926e663b2e5488705545dfb" - integrity sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ== - dependencies: - "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.11.0" - "@emotion/is-prop-valid" "^1.2.2" - "@emotion/serialize" "^1.1.4" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" - "@emotion/utils" "^1.2.1" - -"@emotion/unitless@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" - integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== - -"@emotion/use-insertion-effect-with-fallbacks@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" - integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== - -"@emotion/utils@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" - integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== - -"@emotion/weak-memoize@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" - integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== - -"@esbuild/android-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" - integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== - -"@esbuild/android-arm@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" - integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== - -"@esbuild/android-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" - integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== - -"@esbuild/darwin-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" - integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== - -"@esbuild/darwin-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" - integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== - -"@esbuild/freebsd-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" - integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== - -"@esbuild/freebsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" - integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== - -"@esbuild/linux-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" - integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== - -"@esbuild/linux-arm@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" - integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== - -"@esbuild/linux-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" - integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== - -"@esbuild/linux-loong64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" - integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== - -"@esbuild/linux-mips64el@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" - integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== - -"@esbuild/linux-ppc64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" - integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== - -"@esbuild/linux-riscv64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" - integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== - -"@esbuild/linux-s390x@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" - integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== - -"@esbuild/linux-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" - integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== - -"@esbuild/netbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" - integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== - -"@esbuild/openbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" - integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== - -"@esbuild/sunos-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" - integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== - -"@esbuild/win32-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" - integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== - -"@esbuild/win32-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" - integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== - -"@esbuild/win32-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" - integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== - -"@ethereumjs/common@2.6.5", "@ethereumjs/common@^2.6.4": - version "2.6.5" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.5.tgz#0a75a22a046272579d91919cb12d84f2756e8d30" - integrity sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA== - dependencies: - crc-32 "^1.2.0" - ethereumjs-util "^7.1.5" - -"@ethereumjs/common@^3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-3.2.0.tgz#b71df25845caf5456449163012074a55f048e0a0" - integrity sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA== - dependencies: - "@ethereumjs/util" "^8.1.0" - crc-32 "^1.2.0" - -"@ethereumjs/common@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-4.1.0.tgz#0a959320a69bd2e3b194144b29c61b63bd6e2f6a" - integrity sha512-XWdQvUjlQHVwh4uGEPFKHpsic69GOsMXEhlHrggS5ju/+2zAmmlz6B25TkCCymeElC9DUp13tH5Tc25Iuvtlcg== - dependencies: - "@ethereumjs/util" "^9.0.1" - crc "^4.3.2" - -"@ethereumjs/rlp@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41" - integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== - -"@ethereumjs/rlp@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-5.0.1.tgz#56c5433b9242f956e354fd7e4ce3523815e24854" - integrity sha512-Ab/Hfzz+T9Zl+65Nkg+9xAmwKPLicsnQ4NW49pgvJp9ovefuic95cgOS9CbPc9izIEgsqm1UitV0uNveCvud9w== - -"@ethereumjs/tx@3.5.2": - version "3.5.2" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.5.2.tgz#197b9b6299582ad84f9527ca961466fce2296c1c" - integrity sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw== - dependencies: - "@ethereumjs/common" "^2.6.4" - ethereumjs-util "^7.1.5" - -"@ethereumjs/tx@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-4.2.0.tgz#5988ae15daf5a3b3c815493bc6b495e76009e853" - integrity sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw== - dependencies: - "@ethereumjs/common" "^3.2.0" - "@ethereumjs/rlp" "^4.0.1" - "@ethereumjs/util" "^8.1.0" - ethereum-cryptography "^2.0.0" - -"@ethereumjs/tx@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-5.1.0.tgz#c61a9048ec09fff360b18188224aae90c370e57f" - integrity sha512-VUhw2+4yXArJZRWhPjmZFrN4WUjUo0qUZUszVpW2KzsGlqCFf67kwJcH9Rca5eS0CRHjr2qHJLpvYOjNuaXVdA== - dependencies: - "@ethereumjs/common" "^4.1.0" - "@ethereumjs/rlp" "^5.0.1" - "@ethereumjs/util" "^9.0.1" - ethereum-cryptography "^2.1.2" - -"@ethereumjs/util@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.1.0.tgz#299df97fb6b034e0577ce9f94c7d9d1004409ed4" - integrity sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA== - dependencies: - "@ethereumjs/rlp" "^4.0.1" - ethereum-cryptography "^2.0.0" - micro-ftch "^0.3.1" - -"@ethereumjs/util@^9.0.1": - version "9.0.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-9.0.1.tgz#cbe0380981263451e3080ddcd74accf4b10f8723" - integrity sha512-NdFFEzCc3H1sYkNnnySwLg6owdQMhjUc2jfuDyx8Xv162WSluCnnSKouKOSG3njGNEyy2I9NmF8zTRDwuqpZWA== - dependencies: - "@ethereumjs/rlp" "^5.0.1" - ethereum-cryptography "^2.1.2" - -"@ethersproject/abi@^5.6.3": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" - integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/abstract-provider@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" - integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - -"@ethersproject/abstract-signer@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" - integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/address@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" - integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - -"@ethersproject/base64@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" - integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - -"@ethersproject/bignumber@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" - integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - bn.js "^5.2.1" - -"@ethersproject/bytes@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" - integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/constants@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" - integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - -"@ethersproject/hash@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" - integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/keccak256@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" - integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - js-sha3 "0.8.0" - -"@ethersproject/logger@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" - integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== - -"@ethersproject/networks@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" - integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/properties@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" - integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/rlp@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" - integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/signing-key@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" - integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - bn.js "^5.2.1" - elliptic "6.5.4" - hash.js "1.1.7" - -"@ethersproject/strings@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" - integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/transactions@^5.6.2", "@ethersproject/transactions@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" - integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - -"@ethersproject/web@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" - integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== - dependencies: - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@floating-ui/core@^1.0.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.0.tgz#fa41b87812a16bf123122bf945946bae3fdf7fc1" - integrity sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g== - dependencies: - "@floating-ui/utils" "^0.2.1" - -"@floating-ui/dom@^1.6.1": - version "1.6.3" - resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.3.tgz#954e46c1dd3ad48e49db9ada7218b0985cee75ef" - integrity sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw== - dependencies: - "@floating-ui/core" "^1.0.0" - "@floating-ui/utils" "^0.2.0" - -"@floating-ui/react-dom@^2.0.8": - version "2.0.8" - resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.8.tgz#afc24f9756d1b433e1fe0d047c24bd4d9cefaa5d" - integrity sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw== - dependencies: - "@floating-ui/dom" "^1.6.1" - -"@floating-ui/utils@^0.2.0", "@floating-ui/utils@^0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.1.tgz#16308cea045f0fc777b6ff20a9f25474dd8293d2" - integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q== - -"@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@metamask/abi-utils@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@metamask/abi-utils/-/abi-utils-2.0.2.tgz#ad394e9cb8a95ac177cad942daadd88a246c0de8" - integrity sha512-B/A1dY/w4F/t6cDHUscklO6ovb/ztFsrsTXFd8QlqSByk/vyy+QbPE3VVpmmyI/7RX+PA1AJcvBdzCIz+r9dVQ== - dependencies: - "@metamask/utils" "^8.0.0" - superstruct "^1.0.3" - -"@metamask/eth-sig-util@^7.0.1": - version "7.0.1" - resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-7.0.1.tgz#ad3227d6120f15f9293478de7dd9685a5c329586" - integrity sha512-59GSrMyFH2fPfu7nKeIQdZ150zxXNNhAQIUaFRUW+MGtVA4w/ONbiQobcRBLi+jQProfIyss51G8pfLPcQ0ylg== - dependencies: - "@ethereumjs/util" "^8.1.0" - "@metamask/abi-utils" "^2.0.2" - "@metamask/utils" "^8.1.0" - ethereum-cryptography "^2.1.2" - tweetnacl "^1.0.3" - tweetnacl-util "^0.15.1" - -"@metamask/rpc-errors@^6.1.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@metamask/rpc-errors/-/rpc-errors-6.1.0.tgz#dfdef7cba4b9ad01ca3f99e990b5980575b89b4f" - integrity sha512-JQElKxai26FpDyRKO/yH732wI+BV90i1u6pOuDOpdADSbppB2g1pPh3AGST1zkZqEE9eIKIUw8UdBQ4rp3VTSg== - dependencies: - "@metamask/utils" "^8.1.0" - fast-safe-stringify "^2.0.6" - -"@metamask/utils@^8.0.0", "@metamask/utils@^8.1.0": - version "8.2.0" - resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-8.2.0.tgz#51d608faf1ba7ba021084682160f275bb127d137" - integrity sha512-Zjx6y0PPrf9B4pdZ8JHl0grwJf/qNJ1dzYQh10/QSlj7Ct9Qy+r9PzdgGUHgA4oHohe1Phwy8MFnzB6TWZE11A== - dependencies: - "@ethereumjs/tx" "^4.2.0" - "@noble/hashes" "^1.3.1" - "@scure/base" "^1.1.3" - "@types/debug" "^4.1.7" - debug "^4.3.4" - pony-cause "^2.1.10" - semver "^7.5.4" - superstruct "^1.0.3" - -"@monerium/sdk@^2.9.0": - version "2.9.0" - resolved "https://registry.yarnpkg.com/@monerium/sdk/-/sdk-2.9.0.tgz#ec7296623853acd0b7477b1b088f8c8fae42f197" - integrity sha512-6tr1fWau5tca2xjgIB/7NLJQFoVLcRvGQh6gqzgPJZCS9kRIVlupGk1MaejFdGWOmoEqJSFVUzi0TGhEJK+VcA== - dependencies: - crypto-js "^4.2.0" - -"@mui/base@5.0.0-beta.40": - version "5.0.0-beta.40" - resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.40.tgz#1f8a782f1fbf3f84a961e954c8176b187de3dae2" - integrity sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ== - dependencies: - "@babel/runtime" "^7.23.9" - "@floating-ui/react-dom" "^2.0.8" - "@mui/types" "^7.2.14" - "@mui/utils" "^5.15.14" - "@popperjs/core" "^2.11.8" - clsx "^2.1.0" - prop-types "^15.8.1" - -"@mui/core-downloads-tracker@^5.15.15": - version "5.15.15" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.15.tgz#2bc2bda50db66c12f10aefec907c48c8f669ef59" - integrity sha512-aXnw29OWQ6I5A47iuWEI6qSSUfH6G/aCsW9KmW3LiFqr7uXZBK4Ks+z8G+qeIub8k0T5CMqlT2q0L+ZJTMrqpg== - -"@mui/material@^5.15.15": - version "5.15.15" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.15.15.tgz#e3ba35f50b510aa677cec3261abddc2db7b20b59" - integrity sha512-3zvWayJ+E1kzoIsvwyEvkTUKVKt1AjchFFns+JtluHCuvxgKcLSRJTADw37k0doaRtVAsyh8bz9Afqzv+KYrIA== - dependencies: - "@babel/runtime" "^7.23.9" - "@mui/base" "5.0.0-beta.40" - "@mui/core-downloads-tracker" "^5.15.15" - "@mui/system" "^5.15.15" - "@mui/types" "^7.2.14" - "@mui/utils" "^5.15.14" - "@types/react-transition-group" "^4.4.10" - clsx "^2.1.0" - csstype "^3.1.3" - prop-types "^15.8.1" - react-is "^18.2.0" - react-transition-group "^4.4.5" - -"@mui/private-theming@^5.15.14": - version "5.15.14" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.15.14.tgz#edd9a82948ed01586a01c842eb89f0e3f68970ee" - integrity sha512-UH0EiZckOWcxiXLX3Jbb0K7rC8mxTr9L9l6QhOZxYc4r8FHUkefltV9VDGLrzCaWh30SQiJvAEd7djX3XXY6Xw== - dependencies: - "@babel/runtime" "^7.23.9" - "@mui/utils" "^5.15.14" - prop-types "^15.8.1" - -"@mui/styled-engine@^5.15.14": - version "5.15.14" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.15.14.tgz#168b154c4327fa4ccc1933a498331d53f61c0de2" - integrity sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw== - dependencies: - "@babel/runtime" "^7.23.9" - "@emotion/cache" "^11.11.0" - csstype "^3.1.3" - prop-types "^15.8.1" - -"@mui/system@^5.15.15": - version "5.15.15" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.15.15.tgz#658771b200ce3c4a0f28e58169f02e5e718d1c53" - integrity sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ== - dependencies: - "@babel/runtime" "^7.23.9" - "@mui/private-theming" "^5.15.14" - "@mui/styled-engine" "^5.15.14" - "@mui/types" "^7.2.14" - "@mui/utils" "^5.15.14" - clsx "^2.1.0" - csstype "^3.1.3" - prop-types "^15.8.1" - -"@mui/types@^7.2.14": - version "7.2.14" - resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.14.tgz#8a02ac129b70f3d82f2f9b76ded2c8d48e3fc8c9" - integrity sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ== - -"@mui/utils@^5.15.14": - version "5.15.14" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.15.14.tgz#e414d7efd5db00bfdc875273a40c0a89112ade3a" - integrity sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA== - dependencies: - "@babel/runtime" "^7.23.9" - "@types/prop-types" "^15.7.11" - prop-types "^15.8.1" - react-is "^18.2.0" - -"@noble/curves@1.1.0", "@noble/curves@~1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.1.0.tgz#f13fc667c89184bc04cccb9b11e8e7bae27d8c3d" - integrity sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA== - dependencies: - "@noble/hashes" "1.3.1" - -"@noble/curves@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" - integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== - dependencies: - "@noble/hashes" "1.3.2" - -"@noble/hashes@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9" - integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== - -"@noble/hashes@1.3.2", "@noble/hashes@~1.3.0", "@noble/hashes@~1.3.1": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" - integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== - -"@noble/hashes@^1.3.1", "@noble/hashes@^1.3.3": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" - integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== - -"@popperjs/core@^2.11.8": - version "2.11.8" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" - integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== - -"@remix-run/router@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.11.0.tgz#e0e45ac3fff9d8a126916f166809825537e9f955" - integrity sha512-BHdhcWgeiudl91HvVa2wxqZjSHbheSgIiDvxrF1VjFzBzpTtuDPkOdOi3Iqvc08kXtFkLjhbS+ML9aM8mJS+wQ== - -"@rollup/plugin-commonjs@^24.1.0": - version "24.1.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-24.1.0.tgz#79e54bd83bb64396761431eee6c44152ef322100" - integrity sha512-eSL45hjhCWI0jCCXcNtLVqM5N1JlBGvlFfY0m6oOYnLCJ6N0qEXoZql4sY2MOUArzhH4SA/qBpTxvvZp2Sc+DQ== - dependencies: - "@rollup/pluginutils" "^5.0.1" - commondir "^1.0.1" - estree-walker "^2.0.2" - glob "^8.0.3" - is-reference "1.2.1" - magic-string "^0.27.0" - -"@rollup/plugin-inject@^5.0.1", "@rollup/plugin-inject@^5.0.5": - version "5.0.5" - resolved "https://registry.yarnpkg.com/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz#616f3a73fe075765f91c5bec90176608bed277a3" - integrity sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg== - dependencies: - "@rollup/pluginutils" "^5.0.1" - estree-walker "^2.0.2" - magic-string "^0.30.3" - -"@rollup/pluginutils@^5.0.1": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz#012b8f53c71e4f6f9cb317e311df1404f56e7a33" - integrity sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA== - dependencies: - "@types/estree" "^1.0.0" - estree-walker "^2.0.2" - picomatch "^2.3.1" - -"@safe-global/api-kit@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@safe-global/api-kit/-/api-kit-2.2.0.tgz#e86ca041d73829aa68dbf7635b9ee6dc602264b3" - integrity sha512-y9EetRZXIFs5HmIk1blmL38Rbzxlt79cEuYGDEdmQJNa6SQ7OJdO4Eoy2hMFleZIhTKhoOWVsyEfdZnRPtsq2g== - dependencies: - "@safe-global/protocol-kit" "^3.0.1" - "@safe-global/safe-core-sdk-types" "^4.0.1" - ethers "^6.7.1" - node-fetch "^2.7.0" - -"@safe-global/auth-kit@file:../../../auth-kit": - version "2.0.2" - dependencies: - "@safe-global/api-kit" "^2.2.0" - "@safe-global/protocol-kit" "^3.0.1" - "@web3auth/safeauth-embed" "^0.0.0" - ethers "^6.7.1" - -"@safe-global/onramp-kit@file:../..": - version "3.0.1" - dependencies: - "@monerium/sdk" "^2.9.0" - "@safe-global/api-kit" "^2.2.0" - "@safe-global/protocol-kit" "^3.0.1" - "@safe-global/safe-core-sdk-types" "^4.0.1" - "@stripe/crypto" "^0.0.4" - "@stripe/stripe-js" "^1.54.2" - ethers "^6.7.1" - -"@safe-global/protocol-kit@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@safe-global/protocol-kit/-/protocol-kit-3.0.1.tgz#77793ca0f6ceb7e017230cd2f4b48e952145c4b5" - integrity sha512-7S2QCvIDw3NsErF0f8tIfiTBz32btCAkw7IYuQFPc+G7clLrvDNhDaZYSoDsa8F0EoEhn+605VA7XP//iL6AIg== - dependencies: - "@noble/hashes" "^1.3.3" - "@safe-global/safe-deployments" "^1.33.0" - ethereumjs-util "^7.1.5" - ethers "^6.7.1" - semver "^7.5.4" - web3 "^1.10.3" - web3-core "^1.10.3" - web3-utils "^1.10.3" - -"@safe-global/protocol-kit@file:../../../protocol-kit": - version "3.0.1" - dependencies: - "@noble/hashes" "^1.3.3" - "@safe-global/safe-deployments" "^1.34.0" - ethereumjs-util "^7.1.5" - ethers "^6.7.1" - semver "^7.5.4" - web3 "^1.10.3" - web3-core "^1.10.3" - web3-utils "^1.10.3" - -"@safe-global/safe-core-sdk-types@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@safe-global/safe-core-sdk-types/-/safe-core-sdk-types-4.0.1.tgz#7fb87abc3e709eaf217423d582749e95b8d4d39f" - integrity sha512-cXW6petRWqUw1n04ZhVPgjzIL65FkAMqbPwkFAAlQ1lBxTt6xdxktLoAhgEDlqLNGibvncsNvKhxa1ib4T9MGg== - dependencies: - "@safe-global/safe-deployments" "^1.33.0" - ethers "^6.7.1" - web3-core "^1.10.3" - web3-utils "^1.10.3" - -"@safe-global/safe-deployments@^1.33.0", "@safe-global/safe-deployments@^1.34.0": - version "1.34.0" - resolved "https://registry.yarnpkg.com/@safe-global/safe-deployments/-/safe-deployments-1.34.0.tgz#5eef33012a4af55c4440036b1c0cfdb2245c6e49" - integrity sha512-J55iHhB1tiNoPeVQ5s943zrfeKRYPqBtnz/EM7d878WzUmmDlTGKHN98qPYKBxkRKP1UjEWuQDrZxy80lx1rJw== - dependencies: - semver "^7.3.7" - -"@safe-global/safe-react-components@^2.0.6": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@safe-global/safe-react-components/-/safe-react-components-2.0.6.tgz#795a3506b84806e43a50171e71ad5bde3a36f012" - integrity sha512-KCo/zf+xcBlXhcROQbyyscsfOExLV1dTQBoKrB2zluwQOQjbsKZu3qOpnIgU/94yHATm38IOJdC8snv6fQQe0A== - dependencies: - "@ethersproject/address" "^5.7.0" - ethereum-blockies-base64 "^1.0.2" - -"@scure/base@^1.1.3", "@scure/base@~1.1.0": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.3.tgz#8584115565228290a6c6c4961973e0903bb3df2f" - integrity sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q== - -"@scure/bip32@1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.1.tgz#7248aea723667f98160f593d621c47e208ccbb10" - integrity sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A== - dependencies: - "@noble/curves" "~1.1.0" - "@noble/hashes" "~1.3.1" - "@scure/base" "~1.1.0" - -"@scure/bip39@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.1.tgz#5cee8978656b272a917b7871c981e0541ad6ac2a" - integrity sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg== - dependencies: - "@noble/hashes" "~1.3.0" - "@scure/base" "~1.1.0" - -"@sindresorhus/is@^4.0.0", "@sindresorhus/is@^4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" - integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== - -"@socket.io/component-emitter@~3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" - integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== - -"@stripe/crypto@^0.0.4": - version "0.0.4" - resolved "https://registry.yarnpkg.com/@stripe/crypto/-/crypto-0.0.4.tgz#51dbcb3750c75a6b8a6c8775381af82367359146" - integrity sha512-gcD/aG0N90ZrNVppWYf9ADPECptw6PVtF67VIeaFP7fhgd2NvNx8erkzlcvk3VIVSY+bZ6YGX7c7cASoySX74Q== - -"@stripe/stripe-js@^1.54.2": - version "1.54.2" - resolved "https://registry.yarnpkg.com/@stripe/stripe-js/-/stripe-js-1.54.2.tgz#0665848e22cbda936cfd05256facdfbba121438d" - integrity sha512-R1PwtDvUfs99cAjfuQ/WpwJ3c92+DAMy9xGApjqlWQMj0FKQabUAys2swfTRNzuYAYJh7NqK2dzcYVNkKLEKUg== - -"@szmarczak/http-timer@^4.0.5": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" - integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== - dependencies: - defer-to-connect "^2.0.0" - -"@szmarczak/http-timer@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a" - integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== - dependencies: - defer-to-connect "^2.0.1" - -"@toruslabs/base-controllers@^4.8.0", "@toruslabs/base-controllers@^4.9.1": - version "4.9.1" - resolved "https://registry.yarnpkg.com/@toruslabs/base-controllers/-/base-controllers-4.9.1.tgz#18bb60751405b33aee07c42483368e30a360ba1b" - integrity sha512-BaD1r+r9wK0XtODmJ8S6U5Iqwt2yM6DE1aEcPIreP2BOMe+TB35So2F/gS7kdUa8d2pmynfjEwHgNk/djJSQKA== - dependencies: - "@ethereumjs/util" "^9.0.1" - "@metamask/rpc-errors" "^6.1.0" - "@toruslabs/broadcast-channel" "^9.0.1" - "@toruslabs/http-helpers" "^5.0.0" - "@toruslabs/openlogin-jrpc" "^6.1.0" - async-mutex "^0.4.0" - bignumber.js "^9.1.2" - bowser "^2.11.0" - lodash "^4.17.21" - loglevel "^1.8.1" - -"@toruslabs/broadcast-channel@^9.0.1": - version "9.0.1" - resolved "https://registry.yarnpkg.com/@toruslabs/broadcast-channel/-/broadcast-channel-9.0.1.tgz#ade7b642e4304ef23615bcf0914852d051b47fed" - integrity sha512-xypCZwwD+cJ8fRCtMiJMWuuPg/9rf4P3AhWGkrTKL49GXFEx23akUjq/ti4n1o1uJdQok6E9MH9Z/JpLniyRaA== - dependencies: - "@babel/runtime" "^7.22.10" - "@toruslabs/eccrypto" "^4.0.0" - "@toruslabs/metadata-helpers" "^5.0.0" - bowser "^2.11.0" - loglevel "^1.8.1" - oblivious-set "1.1.1" - socket.io-client "^4.7.2" - unload "^2.4.1" - -"@toruslabs/constants@^13.0.4": - version "13.0.4" - resolved "https://registry.yarnpkg.com/@toruslabs/constants/-/constants-13.0.4.tgz#072df4afab5c9c21cfdc00334d37d8257b100df8" - integrity sha512-5RThL0rNl5o5sWG9p+s1NPxUOS+nlDn7cTd2wL+hE/Zm0F+p67ZFV16Emr90RAPpiYgZBngzpNAmCZ7xcgktQw== - -"@toruslabs/eccrypto@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@toruslabs/eccrypto/-/eccrypto-4.0.0.tgz#0b27ed2d1e9483e77f42a7619a2c3c19cb802f44" - integrity sha512-Z3EINkbsgJx1t6jCDVIJjLSUEGUtNIeDjhMWmeDGOWcP/+v/yQ1hEvd1wfxEz4q5WqIHhevacmPiVxiJ4DljGQ== - dependencies: - elliptic "^6.5.4" - -"@toruslabs/ethereum-controllers@^4.9.0": - version "4.9.1" - resolved "https://registry.yarnpkg.com/@toruslabs/ethereum-controllers/-/ethereum-controllers-4.9.1.tgz#3b171760c70dbc332f8861109191ca333ad25bb7" - integrity sha512-HDZsd00GJ3YrQEIs9rSCAY2vj4s1JhNsCMmjSsnTrbzRc/yv9DdFCbZJiuemvGWXFE1oau1RCTmaM582e5oRYA== - dependencies: - "@ethereumjs/common" "^4.1.0" - "@ethereumjs/tx" "^5.1.0" - "@ethereumjs/util" "^9.0.1" - "@metamask/eth-sig-util" "^7.0.1" - "@metamask/rpc-errors" "^6.1.0" - "@toruslabs/base-controllers" "^4.9.1" - "@toruslabs/http-helpers" "^5.0.0" - "@toruslabs/openlogin-jrpc" "^6.1.0" - async-mutex "^0.4.0" - bignumber.js "^9.1.2" - bn.js "^5.2.1" - ethers "^6.8.1" - fast-json-patch "^3.1.1" - jsonschema "^1.4.1" - lodash "^4.17.21" - loglevel "^1.8.1" - -"@toruslabs/http-helpers@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@toruslabs/http-helpers/-/http-helpers-5.0.0.tgz#2a309d2a2c5c00d50a725d83ccec8a7475771d62" - integrity sha512-GmezWz9JeF6YyhjLSm+9XDF4YaeICEckY0Jbo43i86SjhfJYgRWqEi63VSiNsaqc/z810Q0FQvEk1TnBRX2tgA== - dependencies: - lodash.merge "^4.6.2" - loglevel "^1.8.1" - -"@toruslabs/metadata-helpers@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@toruslabs/metadata-helpers/-/metadata-helpers-5.0.0.tgz#12be5de4e8a5d1af2dd080bdf05f5ad8953aaae7" - integrity sha512-ZUFfOHJVJC53c8wJYHjdF3bIgN2ZvfqehbTZ/zJ7oVFfrrd6O66V3gQ1i1zxBjH3yhOvZKQwc0DaMmh3G0NUXQ== - dependencies: - "@toruslabs/eccrypto" "^4.0.0" - "@toruslabs/http-helpers" "^5.0.0" - elliptic "^6.5.4" - ethereum-cryptography "^2.1.2" - json-stable-stringify "^1.0.2" - -"@toruslabs/openlogin-jrpc@^6.0.0", "@toruslabs/openlogin-jrpc@^6.1.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@toruslabs/openlogin-jrpc/-/openlogin-jrpc-6.1.0.tgz#35ea24771b46a5e5da30c9390fa2d73ef3e41883" - integrity sha512-0w3VSAjbHu5Mv+T5YSgAqC+jXjZtcPvBr5g7w2MeF6sICmk3OtMoGqD9XadLsOELcwSA35wrVvZuTbV+elXzhA== - dependencies: - "@metamask/rpc-errors" "^6.1.0" - "@toruslabs/openlogin-utils" "^6.1.0" - end-of-stream "^1.4.4" - events "^3.3.0" - fast-safe-stringify "^2.1.1" - once "^1.4.0" - pump "^3.0.0" - readable-stream "^4.4.2" - -"@toruslabs/openlogin-utils@^6.1.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@toruslabs/openlogin-utils/-/openlogin-utils-6.1.0.tgz#dee03cd905ea05be902523b1095ef6733bc6f7d6" - integrity sha512-X3xBui0GKiK5JZ677Q4UhLvMn1FOjL1a+1y9qPAn+b+bh41Gg1c8G/VMGRqMuu7owdQGY3B6f7XWuRSEYNk8kQ== - dependencies: - "@toruslabs/constants" "^13.0.4" - base64url "^3.0.1" - -"@types/bn.js@^5.1.0", "@types/bn.js@^5.1.1": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.5.tgz#2e0dacdcce2c0f16b905d20ff87aedbc6f7b4bf0" - integrity sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A== - dependencies: - "@types/node" "*" - -"@types/cacheable-request@^6.0.1", "@types/cacheable-request@^6.0.2": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" - integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== - dependencies: - "@types/http-cache-semantics" "*" - "@types/keyv" "^3.1.4" - "@types/node" "*" - "@types/responselike" "^1.0.0" - -"@types/debug@^4.1.7": - version "4.1.10" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.10.tgz#f23148a6eb771a34c466a4fc28379d8101e84494" - integrity sha512-tOSCru6s732pofZ+sMv9o4o3Zc+Sa8l3bxd/tweTQudFn06vAzb13ZX46Zi6m6EJ+RUbRTHvgQJ1gBtSgkaUYA== - dependencies: - "@types/ms" "*" - -"@types/estree@*", "@types/estree@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" - integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== - -"@types/http-cache-semantics@*": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" - integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== - -"@types/keyv@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" - integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== - dependencies: - "@types/node" "*" - -"@types/ms@*": - version "0.7.33" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.33.tgz#80bf1da64b15f21fd8c1dc387c31929317d99ee9" - integrity sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ== - -"@types/node@*": - version "20.10.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.0.tgz#16ddf9c0a72b832ec4fcce35b8249cf149214617" - integrity sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ== - dependencies: - undici-types "~5.26.4" - -"@types/node@18.15.13": - version "18.15.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" - integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== - -"@types/node@^12.12.6": - version "12.20.55" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" - integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/pbkdf2@^3.0.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.2.tgz#2dc43808e9985a2c69ff02e2d2027bd4fe33e8dc" - integrity sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew== - dependencies: - "@types/node" "*" - -"@types/prop-types@*", "@types/prop-types@^15.7.11": - version "15.7.12" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" - integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== - -"@types/react-dom@^18.2.24": - version "18.2.24" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.24.tgz#8dda8f449ae436a7a6e91efed8035d4ab03ff759" - integrity sha512-cN6upcKd8zkGy4HU9F1+/s98Hrp6D4MOcippK4PoE8OZRngohHZpbJn1GsaDLz87MqvHNoT13nHvNqM9ocRHZg== - dependencies: - "@types/react" "*" - -"@types/react-transition-group@^4.4.10": - version "4.4.10" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.10.tgz#6ee71127bdab1f18f11ad8fb3322c6da27c327ac" - integrity sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q== - dependencies: - "@types/react" "*" - -"@types/react@*", "@types/react@^18.2.74": - version "18.2.74" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.74.tgz#2d52eb80e4e7c4ea8812c89181d6d590b53f958c" - integrity sha512-9AEqNZZyBx8OdZpxzQlaFEVCSFUM2YXJH46yPOiOpm078k6ZLOCcuAzGum/zK8YBwY+dbahVNbHrbgrAwIRlqw== - dependencies: - "@types/prop-types" "*" - csstype "^3.0.2" - -"@types/responselike@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.3.tgz#cc29706f0a397cfe6df89debfe4bf5cea159db50" - integrity sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw== - dependencies: - "@types/node" "*" - -"@types/secp256k1@^4.0.1": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.6.tgz#d60ba2349a51c2cbc5e816dcd831a42029d376bf" - integrity sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ== - dependencies: - "@types/node" "*" - -"@vitejs/plugin-react@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz#d1091f535eab8b83d6e74034d01e27d73c773240" - integrity sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g== - dependencies: - "@babel/core" "^7.20.12" - "@babel/plugin-transform-react-jsx-self" "^7.18.6" - "@babel/plugin-transform-react-jsx-source" "^7.19.6" - magic-string "^0.27.0" - react-refresh "^0.14.0" - -"@web3auth/safeauth-embed@^0.0.0": - version "0.0.0" - resolved "https://registry.yarnpkg.com/@web3auth/safeauth-embed/-/safeauth-embed-0.0.0.tgz#781210a5b02acbcbe26e2dcf5dd0f8730fde1edd" - integrity sha512-bTWjyf/ywHJ0P1nvemQZk5ebQaeExpqEOfSayL4GbUplcWlve43NRQSF7k/44gawiQ8uibYyLgElpiovUpqm4w== - dependencies: - "@web3auth/ws-embed" "^0.0.0" - -"@web3auth/ws-embed@^0.0.0": - version "0.0.0" - resolved "https://registry.yarnpkg.com/@web3auth/ws-embed/-/ws-embed-0.0.0.tgz#cf31c512a72dc3e2ede69fac3e28e780a7bf6406" - integrity sha512-FZtpuXN1oiOex3O5jPMTZI6SjDY95Gz/zqBX+6Fdyv1CBV024z3bljrkkO40fcDbX/Xn3BI9Rr9cxANpTgxMkA== - dependencies: - "@metamask/rpc-errors" "^6.1.0" - "@toruslabs/base-controllers" "^4.8.0" - "@toruslabs/ethereum-controllers" "^4.9.0" - "@toruslabs/openlogin-jrpc" "^6.0.0" - fast-deep-equal "^3.1.3" - loglevel "^1.8.1" - pump "^3.0.0" - readable-stream "^4.4.2" - -abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - -abortcontroller-polyfill@^1.7.5: - version "1.7.5" - resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz#6738495f4e901fbb57b6c0611d0c75f76c485bed" - integrity sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ== - -accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -aes-js@4.0.0-beta.5: - version "4.0.0-beta.5" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" - integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== - -ajv@^6.12.3: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - -assert@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd" - integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== - dependencies: - call-bind "^1.0.2" - is-nan "^1.3.2" - object-is "^1.1.5" - object.assign "^4.1.4" - util "^0.12.5" - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async-mutex@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.4.0.tgz#ae8048cd4d04ace94347507504b3cf15e631c25f" - integrity sha512-eJFZ1YhRR8UN8eBLoNzcDPcy/jqjsg6I1AP+KvWQX80BqOSW1oJPJXDylPUEeMr2ZQvHgnQ//Lp6f3RQ1zI7HA== - dependencies: - tslib "^2.4.0" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== - -aws4@^1.8.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" - integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== - -babel-plugin-macros@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" - integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== - dependencies: - "@babel/runtime" "^7.12.5" - cosmiconfig "^7.0.0" - resolve "^1.19.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base-x@^3.0.2, base-x@^3.0.8: - version "3.0.9" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" - integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== - dependencies: - safe-buffer "^5.0.1" - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -base64url@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d" - integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== - dependencies: - tweetnacl "^0.14.3" - -bignumber.js@^9.0.0, bignumber.js@^9.1.2: - version "9.1.2" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" - integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== - -blakejs@^1.1.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" - integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== - -bluebird@^3.5.0: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@4.11.6: - version "4.11.6" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" - integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.6, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.0.0, bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - -body-parser@1.20.2, body-parser@^1.16.0: - version "1.20.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - -bowser@^2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" - integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - -browser-resolve@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-2.0.0.tgz#99b7304cb392f8d73dba741bb2d7da28c6d7842b" - integrity sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ== - dependencies: - resolve "^1.17.0" - -browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.2.tgz#e78d4b69816d6e3dd1c747e64e9947f9ad79bc7e" - integrity sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg== - dependencies: - bn.js "^5.2.1" - browserify-rsa "^4.1.0" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.4" - inherits "^2.0.4" - parse-asn1 "^5.1.6" - readable-stream "^3.6.2" - safe-buffer "^5.2.1" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.22.2: - version "4.23.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== - dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -bs58@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" - integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== - dependencies: - base-x "^3.0.2" - -bs58check@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" - integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== - dependencies: - bs58 "^4.0.0" - create-hash "^1.1.0" - safe-buffer "^5.1.2" - -"buffer-polyfill@npm:buffer@^6.0.3", buffer@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - -buffer-to-arraybuffer@^0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a" - integrity sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== - -buffer@^5.0.5, buffer@^5.5.0, buffer@^5.6.0, buffer@^5.7.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -bufferutil@^4.0.1: - version "4.0.8" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea" - integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw== - dependencies: - node-gyp-build "^4.3.0" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -cacheable-lookup@^5.0.3: - version "5.0.4" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" - integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== - -cacheable-lookup@^6.0.4: - version "6.1.0" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz#0330a543471c61faa4e9035db583aad753b36385" - integrity sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww== - -cacheable-request@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.4.tgz#7a33ebf08613178b403635be7b899d3e69bbe817" - integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^4.0.0" - lowercase-keys "^2.0.0" - normalize-url "^6.0.1" - responselike "^2.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== - dependencies: - function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -caniuse-lite@^1.0.30001587: - version "1.0.30001607" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001607.tgz#b91e8e033f6bca4e13d3d45388d87fa88931d9a5" - integrity sha512-WcvhVRjXLKFB/kmOFVwELtMxyhq3iM/MvmXcyCe2PNf166c39mptscOc/45TTS96n2gpNV2z7+NakArTWZCQ3w== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chownr@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -cids@^0.7.1: - version "0.7.5" - resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2" - integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA== - dependencies: - buffer "^5.5.0" - class-is "^1.1.0" - multibase "~0.6.0" - multicodec "^1.0.0" - multihashes "~0.4.15" - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-is@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" - integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== - -clone-response@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" - integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== - dependencies: - mimic-response "^1.0.0" - -clsx@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.0.tgz#e851283bcb5c80ee7608db18487433f7b23f77cb" - integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-hash@^2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/content-hash/-/content-hash-2.5.2.tgz#bbc2655e7c21f14fd3bfc7b7d4bfe6e454c9e211" - integrity sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw== - dependencies: - cids "^0.7.1" - multicodec "^0.5.5" - multihashes "^0.4.15" - -content-type@~1.0.4, content-type@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -convert-source-map@^1.5.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" - integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== - -cors@^2.8.1: - version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - -cosmiconfig@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -crc-32@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" - integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== - -crc@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/crc/-/crc-4.3.2.tgz#49b7821cbf2cf61dfd079ed93863bbebd5469b9a" - integrity sha512-uGDHf4KLLh2zsHa8D8hIQ1H/HtFQhyHrc0uhHBcoKGol/Xnb+MPYfUMw7cvON6ze/GUESTudKayDcJC5HnJv1A== - -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -create-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-fetch@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-4.0.0.tgz#f037aef1580bb3a1a35164ea2a848ba81b445983" - integrity sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g== - dependencies: - node-fetch "^2.6.12" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -crypto-js@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631" - integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q== - -csstype@^3.0.2, csstype@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== - dependencies: - assert-plus "^1.0.0" - -debug@2.6.9, debug@^2.2.0: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^4.1.0, debug@^4.3.1, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -decode-uri-component@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== - dependencies: - mimic-response "^1.0.0" - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - -defer-to-connect@^2.0.0, defer-to-connect@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" - integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== - -define-data-property@^1.0.1, define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== - dependencies: - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - -define-properties@^1.1.3, define-properties@^1.1.4: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -des.js@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da" - integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dom-helpers@^5.0.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" - integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== - dependencies: - "@babel/runtime" "^7.8.7" - csstype "^3.0.2" - -dom-walk@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" - integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== - -domain-browser@^4.22.0: - version "4.23.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.23.0.tgz#427ebb91efcb070f05cffdfb8a4e9a6c25f8c94b" - integrity sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA== - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -electron-to-chromium@^1.4.668: - version "1.4.729" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.729.tgz#8477d21e2a50993781950885b2731d92ad532c00" - integrity sha512-bx7+5Saea/qu14kmPTDHQxkp2UnziG3iajUQu3BxFvCOnpAJdDbMV4rSl+EqFDkkpNNVUFlR1kDfpL59xfy1HA== - -elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.3, elliptic@^6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -end-of-stream@^1.1.0, end-of-stream@^1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -engine.io-client@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.5.2.tgz#8709e22c291d4297ae80318d3c8baeae71f0e002" - integrity sha512-CQZqbrpEYnrpGqC07a9dJDz4gePZUgTPMU3NKJPSeQOyw27Tst4Pl3FemKoFGAlHzgZmKjoRmiJvbWfhCXUlIg== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.1" - engine.io-parser "~5.2.1" - ws "~8.11.0" - xmlhttprequest-ssl "~2.0.0" - -engine.io-parser@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.1.tgz#9f213c77512ff1a6cc0c7a86108a7ffceb16fcfb" - integrity sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es5-ext@^0.10.35, es5-ext@^0.10.50: - version "0.10.62" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" - integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== - dependencies: - es6-iterator "^2.0.3" - es6-symbol "^3.1.3" - next-tick "^1.1.0" - -es6-iterator@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-promise@^4.2.8: - version "4.2.8" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - -es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== - dependencies: - d "^1.0.1" - ext "^1.1.2" - -esbuild@^0.18.10: - version "0.18.20" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" - integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== - optionalDependencies: - "@esbuild/android-arm" "0.18.20" - "@esbuild/android-arm64" "0.18.20" - "@esbuild/android-x64" "0.18.20" - "@esbuild/darwin-arm64" "0.18.20" - "@esbuild/darwin-x64" "0.18.20" - "@esbuild/freebsd-arm64" "0.18.20" - "@esbuild/freebsd-x64" "0.18.20" - "@esbuild/linux-arm" "0.18.20" - "@esbuild/linux-arm64" "0.18.20" - "@esbuild/linux-ia32" "0.18.20" - "@esbuild/linux-loong64" "0.18.20" - "@esbuild/linux-mips64el" "0.18.20" - "@esbuild/linux-ppc64" "0.18.20" - "@esbuild/linux-riscv64" "0.18.20" - "@esbuild/linux-s390x" "0.18.20" - "@esbuild/linux-x64" "0.18.20" - "@esbuild/netbsd-x64" "0.18.20" - "@esbuild/openbsd-x64" "0.18.20" - "@esbuild/sunos-x64" "0.18.20" - "@esbuild/win32-arm64" "0.18.20" - "@esbuild/win32-ia32" "0.18.20" - "@esbuild/win32-x64" "0.18.20" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -estree-walker@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -eth-ens-namehash@2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" - integrity sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw== - dependencies: - idna-uts46-hx "^2.3.1" - js-sha3 "^0.5.7" - -eth-lib@0.2.8: - version "0.2.8" - resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" - integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw== - dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - xhr-request-promise "^0.1.2" - -eth-lib@^0.1.26: - version "0.1.29" - resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.29.tgz#0c11f5060d42da9f931eab6199084734f4dbd1d9" - integrity sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ== - dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - nano-json-stream-parser "^0.1.2" - servify "^0.1.12" - ws "^3.0.0" - xhr-request-promise "^0.1.2" - -ethereum-blockies-base64@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ethereum-blockies-base64/-/ethereum-blockies-base64-1.0.2.tgz#4aebca52142bf4d16a3144e6e2b59303e39ed2b3" - integrity sha512-Vg2HTm7slcWNKaRhCUl/L3b4KrB8ohQXdd5Pu3OI897EcR6tVRvUqdTwAyx+dnmoDzj8e2bwBLDQ50ByFmcz6w== - dependencies: - pnglib "0.0.1" - -ethereum-bloom-filters@^1.0.6: - version "1.0.10" - resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz#3ca07f4aed698e75bd134584850260246a5fed8a" - integrity sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA== - dependencies: - js-sha3 "^0.8.0" - -ethereum-cryptography@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" - integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== - dependencies: - "@types/pbkdf2" "^3.0.0" - "@types/secp256k1" "^4.0.1" - blakejs "^1.1.0" - browserify-aes "^1.2.0" - bs58check "^2.1.2" - create-hash "^1.2.0" - create-hmac "^1.1.7" - hash.js "^1.1.7" - keccak "^3.0.0" - pbkdf2 "^3.0.17" - randombytes "^2.1.0" - safe-buffer "^5.1.2" - scrypt-js "^3.0.0" - secp256k1 "^4.0.1" - setimmediate "^1.0.5" - -ethereum-cryptography@^2.0.0, ethereum-cryptography@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.1.2.tgz#18fa7108622e56481157a5cb7c01c0c6a672eb67" - 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" - -ethereumjs-util@^7.1.5: - version "7.1.5" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" - integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== - dependencies: - "@types/bn.js" "^5.1.0" - bn.js "^5.1.2" - create-hash "^1.1.2" - ethereum-cryptography "^0.1.3" - rlp "^2.2.4" - -ethers@^6.11.1, ethers@^6.7.1, ethers@^6.8.1: - version "6.11.1" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.11.1.tgz#96aae00b627c2e35f9b0a4d65c7ab658259ee6af" - integrity sha512-mxTAE6wqJQAbp5QAe/+o+rXOID7Nw91OZXvgpjDa1r4fAbq2Nu314oEZSbjoRLacuCzs7kUC3clEvkCQowffGg== - dependencies: - "@adraffy/ens-normalize" "1.10.1" - "@noble/curves" "1.2.0" - "@noble/hashes" "1.3.2" - "@types/node" "18.15.13" - aes-js "4.0.0-beta.5" - tslib "2.4.0" - ws "8.5.0" - -ethjs-unit@0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" - integrity sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw== - dependencies: - bn.js "4.11.6" - number-to-bn "1.7.0" - -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - -eventemitter3@4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" - integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== - -events@^3.0.0, events@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -express@^4.14.0: - version "4.19.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" - integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.2" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.6.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.11.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -ext@^1.1.2: - version "1.7.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" - integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== - dependencies: - type "^2.7.2" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-json-patch@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-json-patch/-/fast-json-patch-3.1.1.tgz#85064ea1b1ebf97a3f7ad01e23f9337e72c66947" - integrity sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ== - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-safe-stringify@^2.0.6, fast-safe-stringify@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" - integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== - -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -find-root@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" - integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== - -form-data-encoder@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.1.tgz#ac80660e4f87ee0d3d3c3638b7da8278ddb8ec96" - integrity sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg== - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fs-extra@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-minipass@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== - dependencies: - minipass "^2.6.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" - integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== - dependencies: - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== - dependencies: - assert-plus "^1.0.0" - -glob@^8.0.3: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - -global@~4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" - integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== - dependencies: - min-document "^2.19.0" - process "^0.11.10" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -got@12.1.0: - version "12.1.0" - resolved "https://registry.yarnpkg.com/got/-/got-12.1.0.tgz#099f3815305c682be4fd6b0ee0726d8e4c6b0af4" - integrity sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig== - dependencies: - "@sindresorhus/is" "^4.6.0" - "@szmarczak/http-timer" "^5.0.1" - "@types/cacheable-request" "^6.0.2" - "@types/responselike" "^1.0.0" - cacheable-lookup "^6.0.4" - cacheable-request "^7.0.2" - decompress-response "^6.0.0" - form-data-encoder "1.7.1" - get-stream "^6.0.1" - http2-wrapper "^2.1.10" - lowercase-keys "^3.0.0" - p-cancelable "^3.0.0" - responselike "^2.0.0" - -got@^11.8.5: - version "11.8.6" - resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" - integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== - dependencies: - "@sindresorhus/is" "^4.0.0" - "@szmarczak/http-timer" "^4.0.5" - "@types/cacheable-request" "^6.0.1" - "@types/responselike" "^1.0.0" - cacheable-lookup "^5.0.3" - cacheable-request "^7.0.2" - decompress-response "^6.0.0" - http2-wrapper "^1.0.0-beta.5.2" - lowercase-keys "^2.0.0" - p-cancelable "^2.0.0" - responselike "^2.0.0" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-property-descriptors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== - dependencies: - get-intrinsic "^1.2.2" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== - dependencies: - function-bind "^1.1.2" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hoist-non-react-statics@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -http-cache-semantics@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-https@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" - integrity sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg== - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -http2-wrapper@^1.0.0-beta.5.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" - integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.0.0" - -http2-wrapper@^2.1.10: - version "2.2.1" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.1.tgz#310968153dcdedb160d8b72114363ef5fce1f64a" - integrity sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.2.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -idna-uts46-hx@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" - integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== - dependencies: - punycode "2.1.0" - -ieee754@^1.1.13, ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-callable@^1.1.3: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-function@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" - integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== - -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-hex-prefixed@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" - integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA== - -is-nan@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" - integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - -is-reference@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" - integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== - dependencies: - "@types/estree" "*" - -is-typed-array@^1.1.3: - version "1.1.12" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== - dependencies: - which-typed-array "^1.1.11" - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -isomorphic-timers-promises@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/isomorphic-timers-promises/-/isomorphic-timers-promises-1.0.1.tgz#e4137c24dbc54892de8abae3a4b5c1ffff381598" - integrity sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ== - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== - -js-sha3@0.8.0, js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -js-sha3@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" - integrity sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stable-stringify@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz#e06f23128e0bbe342dc996ed5a19e28b57b580e0" - integrity sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g== - dependencies: - jsonify "^0.0.1" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== - optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" - integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== - -jsonschema@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.1.tgz#cc4c3f0077fb4542982973d8a083b6b34f482dab" - integrity sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ== - -jsprim@^1.2.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" - integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - -keccak@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" - integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== - dependencies: - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - readable-stream "^3.6.0" - -keyv@^4.0.0: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -loglevel@^1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.1.tgz#5c621f83d5b48c54ae93b6156353f555963377b4" - integrity sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg== - -loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -lowercase-keys@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" - integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -magic-string@^0.27.0: - version "0.27.0" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" - integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.13" - -magic-string@^0.30.3: - version "0.30.5" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9" - integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.15" - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -micro-ftch@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" - integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mimic-response@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - -min-document@^2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" - integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ== - dependencies: - dom-walk "^0.1.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -minipass@^2.6.0, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" - -mkdirp-promise@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" - integrity sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w== - dependencies: - mkdirp "*" - -mkdirp@*: - version "3.0.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" - integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== - -mkdirp@^0.5.5: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mock-fs@^4.1.0: - version "4.14.0" - resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18" - integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multibase@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" - integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - -multibase@~0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b" - integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - -multicodec@^0.5.5: - version "0.5.7" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.5.7.tgz#1fb3f9dd866a10a55d226e194abba2dcc1ee9ffd" - integrity sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA== - dependencies: - varint "^5.0.0" - -multicodec@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" - integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== - dependencies: - buffer "^5.6.0" - varint "^5.0.0" - -multihashes@^0.4.15, multihashes@~0.4.15: - version "0.4.21" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" - integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== - dependencies: - buffer "^5.5.0" - multibase "^0.7.0" - varint "^5.0.0" - -nano-json-stream-parser@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" - integrity sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew== - -nanoid@^3.3.6: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - -node-addon-api@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" - integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== - -node-fetch@^2.6.12, node-fetch@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - -node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: - version "4.7.1" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.7.1.tgz#cd7d2eb48e594874053150a9418ac85af83ca8f7" - integrity sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg== - -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -node-stdlib-browser@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/node-stdlib-browser/-/node-stdlib-browser-1.2.0.tgz#5ddcfdf4063b88fb282979a1aa6ddab9728d5e4c" - integrity sha512-VSjFxUhRhkyed8AtLwSCkMrJRfQ3e2lGtG3sP6FEgaLKBBbxM/dLfjRe1+iLhjvyLFW3tBQ8+c0pcOtXGbAZJg== - dependencies: - assert "^2.0.0" - browser-resolve "^2.0.0" - browserify-zlib "^0.2.0" - buffer "^5.7.1" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - create-require "^1.1.1" - crypto-browserify "^3.11.0" - domain-browser "^4.22.0" - events "^3.0.0" - https-browserify "^1.0.0" - isomorphic-timers-promises "^1.0.1" - os-browserify "^0.3.0" - path-browserify "^1.0.1" - pkg-dir "^5.0.0" - process "^0.11.10" - punycode "^1.4.1" - querystring-es3 "^0.2.1" - readable-stream "^3.6.0" - stream-browserify "^3.0.0" - stream-http "^3.2.0" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.1" - url "^0.11.0" - util "^0.12.4" - vm-browserify "^1.0.1" - -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -number-to-bn@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" - integrity sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig== - dependencies: - bn.js "4.11.6" - strip-hex-prefix "1.0.0" - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-inspect@^1.9.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -object-is@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -oblivious-set@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/oblivious-set/-/oblivious-set-1.1.1.tgz#d9d38e9491d51f27a5c3ec1681d2ba40aa81e98b" - integrity sha512-Oh+8fK09mgGmAshFdH6hSVco6KZmd1tTwNFWj35OvzdmJTMZtAkbn05zar2iG3v6sDs1JLEtOiBGNb6BHwkb2w== - -oboe@2.1.5: - version "2.1.5" - resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.5.tgz#5554284c543a2266d7a38f17e073821fbde393cd" - integrity sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA== - dependencies: - http-https "^1.0.0" - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== - -p-cancelable@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" - integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== - -p-cancelable@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" - integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-asn1@^5.0.0, parse-asn1@^5.1.6: - version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-headers@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" - integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -path-browserify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" - integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pbkdf2@^3.0.17, pbkdf2@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pkg-dir@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" - integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== - dependencies: - find-up "^5.0.0" - -pnglib@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/pnglib/-/pnglib-0.0.1.tgz#f9ab6f9c688f4a9d579ad8be28878a716e30c096" - integrity sha512-95ChzOoYLOPIyVmL+Y6X+abKGXUJlvOVLkB1QQkyXl7Uczc6FElUy/x01NS7r2GX6GRezloO/ecCX9h4U9KadA== - -pony-cause@^2.1.10: - version "2.1.10" - resolved "https://registry.yarnpkg.com/pony-cause/-/pony-cause-2.1.10.tgz#828457ad6f13be401a075dbf14107a9057945174" - integrity sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw== - -postcss@^8.4.27: - version "8.4.31" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" - integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== - dependencies: - nanoid "^3.3.6" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - -prop-types@^15.6.2, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -psl@^1.1.28: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" - integrity sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA== - -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== - -punycode@^2.1.0, punycode@^2.1.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -qs@6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -qs@^6.11.2: - version "6.11.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" - integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== - dependencies: - side-channel "^1.0.4" - -qs@~6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== - -query-string@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" - integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== - dependencies: - decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -querystring-es3@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== - -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -react-dom@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-is@^16.13.1, react-is@^16.7.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -react-refresh@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" - integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== - -react-router-dom@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.18.0.tgz#0a50c167209d6e7bd2ed9de200a6579ea4fb1dca" - integrity sha512-Ubrue4+Ercc/BoDkFQfc6og5zRQ4A8YxSO3Knsne+eRbZ+IepAsK249XBH/XaFuOYOYr3L3r13CXTLvYt5JDjw== - dependencies: - "@remix-run/router" "1.11.0" - react-router "6.18.0" - -react-router@6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.18.0.tgz#32e2bedc318e095a48763b5ed7758e54034cd36a" - integrity sha512-vk2y7Dsy8wI02eRRaRmOs9g2o+aE72YCx5q9VasT1N9v+lrdB79tIqrjMfByHiY5+6aYkH2rUa5X839nwWGPDg== - dependencies: - "@remix-run/router" "1.11.0" - -react-transition-group@^4.4.5: - version "4.4.5" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" - integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== - dependencies: - "@babel/runtime" "^7.5.5" - dom-helpers "^5.0.1" - loose-envify "^1.4.0" - prop-types "^15.6.2" - -react@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -readable-stream@^3.5.0, readable-stream@^3.6.0, readable-stream@^3.6.2: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.4.2.tgz#e6aced27ad3b9d726d8308515b9a1b98dc1b9d13" - integrity sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA== - dependencies: - abort-controller "^3.0.0" - buffer "^6.0.3" - events "^3.3.0" - process "^0.11.10" - string_decoder "^1.3.0" - -regenerator-runtime@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" - integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== - -request@^2.79.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -resolve-alpn@^1.0.0, resolve-alpn@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" - integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve@^1.17.0, resolve@^1.19.0: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -responselike@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" - integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== - dependencies: - lowercase-keys "^2.0.0" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rlp@^2.2.4: - version "2.2.7" - resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" - integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== - dependencies: - bn.js "^5.2.0" - -rollup-plugin-polyfill-node@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-polyfill-node/-/rollup-plugin-polyfill-node-0.12.0.tgz#33d421ddb7fcb69c234461e508ca6d2db6193f1d" - integrity sha512-PWEVfDxLEKt8JX1nZ0NkUAgXpkZMTb85rO/Ru9AQ69wYW8VUCfDgP4CGRXXWYni5wDF0vIeR1UoF3Jmw/Lt3Ug== - dependencies: - "@rollup/plugin-inject" "^5.0.1" - -rollup@^3.27.1: - version "3.29.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981" - integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw== - optionalDependencies: - fsevents "~2.3.2" - -safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - -scrypt-js@^3.0.0, scrypt-js@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== - -secp256k1@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" - integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== - dependencies: - elliptic "^6.5.4" - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.7, semver@^7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -send@0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -servify@^0.1.12: - version "0.1.12" - resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95" - integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw== - dependencies: - body-parser "^1.16.0" - cors "^2.8.1" - express "^4.14.0" - request "^2.79.0" - xhr "^2.3.3" - -set-function-length@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed" - integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== - dependencies: - define-data-property "^1.1.1" - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - -setimmediate@^1.0.4, setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== - -simple-get@^2.7.0: - version "2.8.2" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.2.tgz#5708fb0919d440657326cd5fe7d2599d07705019" - integrity sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw== - dependencies: - decompress-response "^3.3.0" - once "^1.3.1" - simple-concat "^1.0.0" - -socket.io-client@^4.7.2: - version "4.7.2" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.7.2.tgz#f2f13f68058bd4e40f94f2a1541f275157ff2c08" - integrity sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.2" - engine.io-client "~6.5.2" - socket.io-parser "~4.2.4" - -socket.io-parser@~4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83" - integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.1" - -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -source-map@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -sshpk@^1.7.0: - version "1.18.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" - integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -stream-browserify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" - integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== - dependencies: - inherits "~2.0.4" - readable-stream "^3.5.0" - -stream-http@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" - integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.4" - readable-stream "^3.6.0" - xtend "^4.0.2" - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== - -string_decoder@^1.0.0, string_decoder@^1.1.1, string_decoder@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -strip-hex-prefix@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" - integrity sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A== - dependencies: - is-hex-prefixed "1.0.0" - -stylis@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" - integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== - -superstruct@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-1.0.3.tgz#de626a5b49c6641ff4d37da3c7598e7a87697046" - integrity sha512-8iTn3oSS8nRGn+C2pgXSKPI3jmpm6FExNazNpjvqS6ZUJQCej3PUXEKM8NjHBOs54ExM+LPW/FBRhymrdcCiSg== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -swarm-js@^0.1.40: - version "0.1.42" - resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.42.tgz#497995c62df6696f6e22372f457120e43e727979" - integrity sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ== - dependencies: - bluebird "^3.5.0" - buffer "^5.0.5" - eth-lib "^0.1.26" - fs-extra "^4.0.2" - got "^11.8.5" - mime-types "^2.1.16" - mkdirp-promise "^5.0.1" - mock-fs "^4.1.0" - setimmediate "^1.0.5" - tar "^4.0.2" - xhr-request "^1.0.1" - -tar@^4.0.2: - version "4.4.19" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" - integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== - dependencies: - chownr "^1.1.4" - fs-minipass "^1.2.7" - minipass "^2.9.0" - minizlib "^1.3.3" - mkdirp "^0.5.5" - safe-buffer "^5.2.1" - yallist "^3.1.1" - -timed-out@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== - -timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -tslib@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -tslib@^2.4.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" - integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== - -tty-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" - integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - -tweetnacl-util@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b" - integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== - -tweetnacl@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" - integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -type@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" - integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^5.4.4: - version "5.4.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.4.tgz#eb2471e7b0a5f1377523700a21669dce30c2d952" - integrity sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw== - -ultron@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" - integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unload@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/unload/-/unload-2.4.1.tgz#b0c5b7fb44e17fcbf50dcb8fb53929c59dd226a5" - integrity sha512-IViSAm8Z3sRBYA+9wc0fLQmU9Nrxb16rcDmIiR6Y9LJSZzI7QY5QsDhqPpKOjAn0O9/kfK1TfNEMMAGPTIraPw== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-set-query@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" - integrity sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg== - -url@^0.11.0: - version "0.11.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad" - integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw== - dependencies: - punycode "^1.4.1" - qs "^6.11.2" - -utf-8-validate@^5.0.2: - version "5.0.10" - resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" - integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== - dependencies: - node-gyp-build "^4.3.0" - -utf8@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" - integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== - -util-deprecate@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util@^0.12.4, util@^0.12.5: - version "0.12.5" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - which-typed-array "^1.1.2" - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== - -varint@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" - integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== - -vary@^1, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vite-plugin-node-polyfills@^0.16.0: - version "0.16.0" - resolved "https://registry.yarnpkg.com/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.16.0.tgz#3834e15d3adc09854bc40ecca5f70457a0655809" - integrity sha512-uj1ymOmk7TliMxiivmXokpMY5gVMBpFPSZPLQSCv/LjkJGGKwyLjpbFL64dbYZEdFSUQ3tM7pbrxNh25yvhqOA== - dependencies: - "@rollup/plugin-inject" "^5.0.5" - buffer-polyfill "npm:buffer@^6.0.3" - node-stdlib-browser "^1.2.0" - process "^0.11.10" - -vite@^4.5.3: - version "4.5.3" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.3.tgz#d88a4529ea58bae97294c7e2e6f0eab39a50fb1a" - integrity sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg== - dependencies: - esbuild "^0.18.10" - postcss "^8.4.27" - rollup "^3.27.1" - optionalDependencies: - fsevents "~2.3.2" - -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - -web3-bzz@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.10.3.tgz#13942b37757eb850f3500a8e08bf605448b67566" - integrity sha512-XDIRsTwekdBXtFytMpHBuun4cK4x0ZMIDXSoo1UVYp+oMyZj07c7gf7tNQY5qZ/sN+CJIas4ilhN25VJcjSijQ== - dependencies: - "@types/node" "^12.12.6" - got "12.1.0" - swarm-js "^0.1.40" - -web3-core-helpers@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.10.3.tgz#f2db40ea57e888795e46f229b06113b60bcd671c" - integrity sha512-Yv7dQC3B9ipOc5sWm3VAz1ys70Izfzb8n9rSiQYIPjpqtJM+3V4EeK6ghzNR6CO2es0+Yu9CtCkw0h8gQhrTxA== - dependencies: - web3-eth-iban "1.10.3" - web3-utils "1.10.3" - -web3-core-method@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.10.3.tgz#63f16310ccab4eec8eca0a337d534565c2ba8d33" - integrity sha512-VZ/Dmml4NBmb0ep5PTSg9oqKoBtG0/YoMPei/bq/tUdlhB2dMB79sbeJPwx592uaV0Vpk7VltrrrBv5hTM1y4Q== - dependencies: - "@ethersproject/transactions" "^5.6.2" - web3-core-helpers "1.10.3" - web3-core-promievent "1.10.3" - web3-core-subscriptions "1.10.3" - web3-utils "1.10.3" - -web3-core-promievent@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.10.3.tgz#9765dd42ce6cf2dc0a08eaffee607b855644f290" - integrity sha512-HgjY+TkuLm5uTwUtaAfkTgRx/NzMxvVradCi02gy17NxDVdg/p6svBHcp037vcNpkuGeFznFJgULP+s2hdVgUQ== - dependencies: - eventemitter3 "4.0.4" - -web3-core-requestmanager@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.10.3.tgz#c34ca8e998a18d6ca3fa7f7a11d4391da401c987" - integrity sha512-VT9sKJfgM2yBOIxOXeXiDuFMP4pxzF6FT+y8KTLqhDFHkbG3XRe42Vm97mB/IvLQCJOmokEjl3ps8yP1kbggyw== - dependencies: - util "^0.12.5" - web3-core-helpers "1.10.3" - web3-providers-http "1.10.3" - web3-providers-ipc "1.10.3" - web3-providers-ws "1.10.3" - -web3-core-subscriptions@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.10.3.tgz#58768cd72a9313252ef05dc52c09536f009a9479" - integrity sha512-KW0Mc8sgn70WadZu7RjQ4H5sNDJ5Lx8JMI3BWos+f2rW0foegOCyWhRu33W1s6ntXnqeBUw5rRCXZRlA3z+HNA== - dependencies: - eventemitter3 "4.0.4" - web3-core-helpers "1.10.3" - -web3-core@1.10.3, web3-core@^1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.10.3.tgz#4aeb8f4b0cb5775d9fa4edf1127864743f1c3ae3" - integrity sha512-Vbk0/vUNZxJlz3RFjAhNNt7qTpX8yE3dn3uFxfX5OHbuon5u65YEOd3civ/aQNW745N0vGUlHFNxxmn+sG9DIw== - dependencies: - "@types/bn.js" "^5.1.1" - "@types/node" "^12.12.6" - bignumber.js "^9.0.0" - web3-core-helpers "1.10.3" - web3-core-method "1.10.3" - web3-core-requestmanager "1.10.3" - web3-utils "1.10.3" - -web3-eth-abi@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.10.3.tgz#7decfffa8fed26410f32cfefdc32d3e76f717ca2" - integrity sha512-O8EvV67uhq0OiCMekqYsDtb6FzfYzMXT7VMHowF8HV6qLZXCGTdB/NH4nJrEh2mFtEwVdS6AmLFJAQd2kVyoMQ== - dependencies: - "@ethersproject/abi" "^5.6.3" - web3-utils "1.10.3" - -web3-eth-accounts@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.10.3.tgz#9ecb816b81cd97333988bfcd0afaee5d13bbb198" - integrity sha512-8MipGgwusDVgn7NwKOmpeo3gxzzd+SmwcWeBdpXknuyDiZSQy9tXe+E9LeFGrmys/8mLLYP79n3jSbiTyv+6pQ== - dependencies: - "@ethereumjs/common" "2.6.5" - "@ethereumjs/tx" "3.5.2" - "@ethereumjs/util" "^8.1.0" - eth-lib "0.2.8" - scrypt-js "^3.0.1" - uuid "^9.0.0" - web3-core "1.10.3" - web3-core-helpers "1.10.3" - web3-core-method "1.10.3" - web3-utils "1.10.3" - -web3-eth-contract@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.10.3.tgz#8880468e2ba7d8a4791cf714f67d5e1ec1591275" - integrity sha512-Y2CW61dCCyY4IoUMD4JsEQWrILX4FJWDWC/Txx/pr3K/+fGsBGvS9kWQN5EsVXOp4g7HoFOfVh9Lf7BmVVSRmg== - dependencies: - "@types/bn.js" "^5.1.1" - web3-core "1.10.3" - web3-core-helpers "1.10.3" - web3-core-method "1.10.3" - web3-core-promievent "1.10.3" - web3-core-subscriptions "1.10.3" - web3-eth-abi "1.10.3" - web3-utils "1.10.3" - -web3-eth-ens@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.10.3.tgz#ae5b49bcb9823027e0b28aa6b1de58d726cbaafa" - integrity sha512-hR+odRDXGqKemw1GFniKBEXpjYwLgttTES+bc7BfTeoUyUZXbyDHe5ifC+h+vpzxh4oS0TnfcIoarK0Z9tFSiQ== - dependencies: - content-hash "^2.5.2" - eth-ens-namehash "2.0.8" - web3-core "1.10.3" - web3-core-helpers "1.10.3" - web3-core-promievent "1.10.3" - web3-eth-abi "1.10.3" - web3-eth-contract "1.10.3" - web3-utils "1.10.3" - -web3-eth-iban@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.10.3.tgz#91d458e5400195edc883a0d4383bf1cecd17240d" - integrity sha512-ZCfOjYKAjaX2TGI8uif5ah+J3BYFuo+47JOIV1RIz2l7kD9VfnxvRH5UiQDRyMALQC7KFd2hUqIEtHklapNyKA== - dependencies: - bn.js "^5.2.1" - web3-utils "1.10.3" - -web3-eth-personal@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.10.3.tgz#4e72008aa211327ccc3bfa7671c510e623368457" - integrity sha512-avrQ6yWdADIvuNQcFZXmGLCEzulQa76hUOuVywN7O3cklB4nFc/Gp3yTvD3bOAaE7DhjLQfhUTCzXL7WMxVTsw== - dependencies: - "@types/node" "^12.12.6" - web3-core "1.10.3" - web3-core-helpers "1.10.3" - web3-core-method "1.10.3" - web3-net "1.10.3" - web3-utils "1.10.3" - -web3-eth@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.10.3.tgz#b8c6f37f1aac52422583a5a9c29130983a3fb3b1" - integrity sha512-Uk1U2qGiif2mIG8iKu23/EQJ2ksB1BQXy3wF3RvFuyxt8Ft9OEpmGlO7wOtAyJdoKzD5vcul19bJpPcWSAYZhA== - dependencies: - web3-core "1.10.3" - web3-core-helpers "1.10.3" - web3-core-method "1.10.3" - web3-core-subscriptions "1.10.3" - web3-eth-abi "1.10.3" - web3-eth-accounts "1.10.3" - web3-eth-contract "1.10.3" - web3-eth-ens "1.10.3" - web3-eth-iban "1.10.3" - web3-eth-personal "1.10.3" - web3-net "1.10.3" - web3-utils "1.10.3" - -web3-net@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.10.3.tgz#9486c2fe51452cb958e11915db6f90bd6caa5482" - integrity sha512-IoSr33235qVoI1vtKssPUigJU9Fc/Ph0T9CgRi15sx+itysmvtlmXMNoyd6Xrgm9LuM4CIhxz7yDzH93B79IFg== - dependencies: - web3-core "1.10.3" - web3-core-method "1.10.3" - web3-utils "1.10.3" - -web3-providers-http@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.10.3.tgz#d8166ee89db82d37281ea9e15c5882a2d7928755" - integrity sha512-6dAgsHR3MxJ0Qyu3QLFlQEelTapVfWNTu5F45FYh8t7Y03T1/o+YAkVxsbY5AdmD+y5bXG/XPJ4q8tjL6MgZHw== - dependencies: - abortcontroller-polyfill "^1.7.5" - cross-fetch "^4.0.0" - es6-promise "^4.2.8" - web3-core-helpers "1.10.3" - -web3-providers-ipc@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.10.3.tgz#a7e015957fc037d8a87bd4b6ae3561c1b1ad1f46" - integrity sha512-vP5WIGT8FLnGRfswTxNs9rMfS1vCbMezj/zHbBe/zB9GauBRTYVrUo2H/hVrhLg8Ut7AbsKZ+tCJ4mAwpKi2hA== - dependencies: - oboe "2.1.5" - web3-core-helpers "1.10.3" - -web3-providers-ws@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.10.3.tgz#03c84958f9da251349cd26fd7a4ae567e3af6caa" - integrity sha512-/filBXRl48INxsh6AuCcsy4v5ndnTZ/p6bl67kmO9aK1wffv7CT++DrtclDtVMeDGCgB3van+hEf9xTAVXur7Q== - dependencies: - eventemitter3 "4.0.4" - web3-core-helpers "1.10.3" - websocket "^1.0.32" - -web3-shh@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.10.3.tgz#ee44f760598a65a290d611c443838aac854ee858" - integrity sha512-cAZ60CPvs9azdwMSQ/PSUdyV4PEtaW5edAZhu3rCXf6XxQRliBboic+AvwUvB6j3eswY50VGa5FygfVmJ1JVng== - dependencies: - web3-core "1.10.3" - web3-core-method "1.10.3" - web3-core-subscriptions "1.10.3" - web3-net "1.10.3" - -web3-utils@1.10.3, web3-utils@^1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.10.3.tgz#f1db99c82549c7d9f8348f04ffe4e0188b449714" - integrity sha512-OqcUrEE16fDBbGoQtZXWdavsPzbGIDc5v3VrRTZ0XrIpefC/viZ1ZU9bGEemazyS0catk/3rkOOxpzTfY+XsyQ== - dependencies: - "@ethereumjs/util" "^8.1.0" - bn.js "^5.2.1" - ethereum-bloom-filters "^1.0.6" - ethereum-cryptography "^2.1.2" - ethjs-unit "0.1.6" - number-to-bn "1.7.0" - randombytes "^2.1.0" - utf8 "3.0.0" - -web3@^1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.10.3.tgz#5e80ac532dc432b09fde668d570b0ad4e6710897" - integrity sha512-DgUdOOqC/gTqW+VQl1EdPxrVRPB66xVNtuZ5KD4adVBtko87hkgM8BTZ0lZ8IbUfnQk6DyjcDujMiH3oszllAw== - dependencies: - web3-bzz "1.10.3" - web3-core "1.10.3" - web3-eth "1.10.3" - web3-eth-personal "1.10.3" - web3-net "1.10.3" - web3-shh "1.10.3" - web3-utils "1.10.3" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -websocket@^1.0.32: - version "1.0.34" - resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" - integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== - dependencies: - bufferutil "^4.0.1" - debug "^2.2.0" - es5-ext "^0.10.50" - typedarray-to-buffer "^3.1.5" - utf-8-validate "^5.0.2" - yaeti "^0.0.6" - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which-typed-array@^1.1.11, which-typed-array@^1.1.2: - version "1.1.13" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" - integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.4" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -ws@8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" - integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== - -ws@^3.0.0: - version "3.3.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" - integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" - -ws@~8.11.0: - version "8.11.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" - integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== - -xhr-request-promise@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" - integrity sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg== - dependencies: - xhr-request "^1.1.0" - -xhr-request@^1.0.1, xhr-request@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.1.0.tgz#f4a7c1868b9f198723444d82dcae317643f2e2ed" - integrity sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA== - dependencies: - buffer-to-arraybuffer "^0.0.5" - object-assign "^4.1.1" - query-string "^5.0.1" - simple-get "^2.7.0" - timed-out "^4.0.1" - url-set-query "^1.0.0" - xhr "^2.0.4" - -xhr@^2.0.4, xhr@^2.3.3: - version "2.6.0" - resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d" - integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== - dependencies: - global "~4.4.0" - is-function "^1.0.1" - parse-headers "^2.0.0" - xtend "^4.0.0" - -xmlhttprequest-ssl@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" - integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== - -xtend@^4.0.0, xtend@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -yaeti@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" - integrity sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug== - -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== diff --git a/packages/onramp-kit/example/server/.env.sample b/packages/onramp-kit/example/server/.env.sample deleted file mode 100644 index 6362d5ad6..000000000 --- a/packages/onramp-kit/example/server/.env.sample +++ /dev/null @@ -1,9 +0,0 @@ - -# Frontend origin (CORS) -FRONTEND_ORIGIN=http://localhost:3000,http://127.0.0.1:5173 - -# Server port -SERVER_PORT=3001 - -# Stripe merchant Id see: https://stripe.com/docs/crypto/using-the-api -STRIPE_SERVER_SECRET_KEY= diff --git a/packages/onramp-kit/example/server/.gitignore b/packages/onramp-kit/example/server/.gitignore deleted file mode 100644 index 0bbbcb2a4..000000000 --- a/packages/onramp-kit/example/server/.gitignore +++ /dev/null @@ -1,27 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# environment variables -.env - -# dependencies -node_modules -/.pnp -.pnp.js - -# testing -coverage -coverage.json - -# production -build - -# misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* diff --git a/packages/onramp-kit/example/server/README.md b/packages/onramp-kit/example/server/README.md deleted file mode 100644 index b6e5f37eb..000000000 --- a/packages/onramp-kit/example/server/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# How to use - -### create a .env file - -``` -FRONTEND_ORIGIN=http://localhost:3000,http://127.0.0.1:5173 -SERVER_PORT=3001 -STRIPE_SERVER_SECRET_KEY= -``` - -### run server - -```bash -yarn install -yarn start -``` diff --git a/packages/onramp-kit/example/server/index.ts b/packages/onramp-kit/example/server/index.ts deleted file mode 100644 index 4d19686e7..000000000 --- a/packages/onramp-kit/example/server/index.ts +++ /dev/null @@ -1,20 +0,0 @@ -import dotenv from 'dotenv' - -import Server from './src/server' -import routes from './src/router/router' - -dotenv.config() - -const { SERVER_PORT, FRONTEND_ORIGIN } = process.env - -const allowedOrigins = FRONTEND_ORIGIN?.split(',') - -const DEFAULT_SERVER_PORT = '3001' - -const server = new Server() - -server.configureCors(allowedOrigins) - -server.registerRoutes(routes) - -server.start(SERVER_PORT || DEFAULT_SERVER_PORT) diff --git a/packages/onramp-kit/example/server/package.json b/packages/onramp-kit/example/server/package.json deleted file mode 100644 index d2d50c425..000000000 --- a/packages/onramp-kit/example/server/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "@safe-global/onramp-kit-example-client", - "version": "1.0.0", - "description": "Account abstraction basic Stripe service", - "main": "index.ts", - "license": "MIT", - "author": "Daniel Somoza", - "private": true, - "scripts": { - "build": "tsc", - "prestart:prod": "yarn build", - "start:prod": "node build/index.js | pino-pretty", - "start": "nodemon --exec ts-node index.ts | pino-pretty", - "test": "echo 'add tests'", - "test:coverage": "echo 'add tests'" - }, - "dependencies": { - "axios": "^1.6.8", - "cors": "^2.8.5", - "dotenv": "^16.4.5", - "express": "^4.19.2", - "pine": "^1.1.1", - "pino-http": "^8.5.1", - "pino-pretty": "^9.4.1" - }, - "devDependencies": { - "@types/cors": "^2.8.17", - "@types/express": "^4.17.21", - "@types/node": "^20.12.5", - "nodemon": "^3.1.0", - "ts-node": "^10.9.2", - "typescript": "^5.3.2" - } -} diff --git a/packages/onramp-kit/example/server/src/controllers/stripe-controller.ts b/packages/onramp-kit/example/server/src/controllers/stripe-controller.ts deleted file mode 100644 index 5c95a975b..000000000 --- a/packages/onramp-kit/example/server/src/controllers/stripe-controller.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { RequestType, ResponseType } from 'src/server' -import stripeService from '../services/stripe-service' - -const HTTP_ERROR_STATUS = 400 - -async function getStripeClientSecret(request: RequestType, response: ResponseType) { - try { - const stripeResponse = await stripeService.getStripeClientSecret(request.body) - - return response.send(stripeResponse) - } catch (error: any) { - response.status(HTTP_ERROR_STATUS) - - return response.send(error.response.data) - } -} - -async function getStripeSession(request: RequestType, response: ResponseType) { - const { sessionId } = request.params - - try { - const stripeResponse = await stripeService.getStripeSession(sessionId) - - return response.send(stripeResponse) - } catch (error: any) { - response.status(HTTP_ERROR_STATUS) - - return response.send(error.response.data) - } -} - -const stripeController = { - getStripeClientSecret, - getStripeSession -} - -export default stripeController diff --git a/packages/onramp-kit/example/server/src/lib/logger/logger.ts b/packages/onramp-kit/example/server/src/lib/logger/logger.ts deleted file mode 100644 index 486902113..000000000 --- a/packages/onramp-kit/example/server/src/lib/logger/logger.ts +++ /dev/null @@ -1,20 +0,0 @@ -import pinoHttp from 'pino-http' - -const logger = pinoHttp({ - serializers: { - req(req) { - req.body = req.raw.body // log the body request - return req - } - }, - - // Override attribute keys for the log object - customAttributeKeys: { - req: 'request', - res: 'response' - } -}) - -export default logger - -export const log = logger.logger diff --git a/packages/onramp-kit/example/server/src/router/router.ts b/packages/onramp-kit/example/server/src/router/router.ts deleted file mode 100644 index cef5919e9..000000000 --- a/packages/onramp-kit/example/server/src/router/router.ts +++ /dev/null @@ -1,5 +0,0 @@ -import stripeRouter from '../router/stripe-router' - -const routes = [stripeRouter] - -export default routes diff --git a/packages/onramp-kit/example/server/src/router/stripe-router.ts b/packages/onramp-kit/example/server/src/router/stripe-router.ts deleted file mode 100644 index bf74b5dd4..000000000 --- a/packages/onramp-kit/example/server/src/router/stripe-router.ts +++ /dev/null @@ -1,13 +0,0 @@ -import express from 'express' - -import stripeController from '../controllers/stripe-controller' - -const STRIPE_CREATE_SESSION_PATHNAME = '/api/v1/onramp/stripe/session' -const STRIPE_GET_SESSION_PATHNAME = '/api/v1/onramp/stripe/session/:sessionId' - -const stripeRouter = express.Router() - -stripeRouter.post(STRIPE_CREATE_SESSION_PATHNAME, stripeController.getStripeClientSecret) -stripeRouter.get(STRIPE_GET_SESSION_PATHNAME, stripeController.getStripeSession) - -export default stripeRouter diff --git a/packages/onramp-kit/example/server/src/server.ts b/packages/onramp-kit/example/server/src/server.ts deleted file mode 100644 index d5bb4d1dc..000000000 --- a/packages/onramp-kit/example/server/src/server.ts +++ /dev/null @@ -1,47 +0,0 @@ -import express, { Application, Router, Request, Response } from 'express' -import cors from 'cors' - -import logger, { log } from './lib/logger/logger' - -export type RequestType = Request -export type ResponseType = Response - -class Server { - app: Application - - constructor() { - this.app = express() - this.app.use(express.json()) - this.app.use(logger) - } - - start(serverPort: string) { - this.app.listen(serverPort, () => { - log.info(`Server running on port: ${serverPort}`) - }) - } - - registerRoutes(routes: Router[]) { - routes.forEach((route) => { - this.app.use(route) - }) - } - - configureCors(origins?: string[]) { - this.app.options('*', cors()) - this.app.post( - '*', - cors({ - origin: origins - }) - ) - this.app.get( - '*', - cors({ - origin: origins - }) - ) - } -} - -export default Server diff --git a/packages/onramp-kit/example/server/src/services/stripe-service.ts b/packages/onramp-kit/example/server/src/services/stripe-service.ts deleted file mode 100644 index e13c622a6..000000000 --- a/packages/onramp-kit/example/server/src/services/stripe-service.ts +++ /dev/null @@ -1,49 +0,0 @@ -import axios, { AxiosInstance } from 'axios' -import dotenv from 'dotenv' - -type stripeSuccessType = Promise<{ - clientSecret: string -}> - -type stripeErrorType = any - -dotenv.config() - -const { STRIPE_SERVER_SECRET_KEY } = process.env - -const STRIPE_BASE_URL = 'https://api.stripe.com' -const GET_STRIPE_CLIENT_SECRET_PATH = 'v1/crypto/onramp_sessions' - -const axiosStripeAPI: AxiosInstance = axios.create({ - baseURL: STRIPE_BASE_URL, - headers: { - Authorization: `Bearer ${STRIPE_SERVER_SECRET_KEY}`, - 'content-type': 'application/x-www-form-urlencoded' - } -}) - -async function getStripeClientSecret( - defaultOptions: any -): Promise { - const { data } = await axiosStripeAPI.post( - GET_STRIPE_CLIENT_SECRET_PATH, - defaultOptions - ) - - return data -} - -async function getStripeSession(sessionId: string) { - const { data } = await axiosStripeAPI.get( - `${GET_STRIPE_CLIENT_SECRET_PATH}/${sessionId}` - ) - - return data -} - -const stripeService = { - getStripeClientSecret, - getStripeSession -} - -export default stripeService diff --git a/packages/onramp-kit/example/server/tsconfig.json b/packages/onramp-kit/example/server/tsconfig.json deleted file mode 100644 index ebdfef205..000000000 --- a/packages/onramp-kit/example/server/tsconfig.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "compilerOptions": { - /* Visit https://aka.ms/tsconfig to read more about this file */ - - /* Projects */ - // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ - // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ - // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ - // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ - // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ - // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ - - /* Language and Environment */ - "target": "es2020" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, - // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - // "jsx": "preserve", /* Specify what JSX code is generated. */ - // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ - // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ - // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ - // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ - // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ - // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ - // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ - // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ - // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ - - /* Modules */ - "module": "commonjs" /* Specify what module code is generated. */, - // "rootDir": "./", /* Specify the root folder within your source files. */ - "moduleResolution": "node16" /* Specify how TypeScript looks up a file from a given module specifier. */, - "baseUrl": "." /* Specify the base directory to resolve non-relative module names. */, - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ - // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ - // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ - "resolveJsonModule": true /* Enable importing .json files. */, - // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ - - /* JavaScript Support */ - "allowJs": true /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */, - // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ - // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ - - /* Emit */ - // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ - // "declarationMap": true, /* Create sourcemaps for d.ts files. */ - // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ - // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ - "outDir": "./build" /* Specify an output folder for all emitted files. */, - // "removeComments": true, /* Disable emitting comments. */ - "noEmit": false /* Disable emitting files from a compilation. */, - // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ - // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ - // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ - // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ - // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ - // "newLine": "crlf", /* Set the newline character for emitting files. */ - // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ - // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ - // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ - // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ - // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ - // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ - - /* Interop Constraints */ - "isolatedModules": true /* Ensure that each file can be safely transpiled without relying on other imports. */, - "allowSyntheticDefaultImports": true /* Allow 'import x from y' when a module doesn't have a default export. */, - "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */, - // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ - "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, - - /* Type Checking */ - "strict": true /* Enable all strict type-checking options. */, - // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ - // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ - // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ - // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ - // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ - // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ - // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ - // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ - // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ - // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ - // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ - // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ - // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ - // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ - // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ - - /* Completeness */ - // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ - "skipLibCheck": true /* Skip type checking all .d.ts files. */ - } -} diff --git a/packages/onramp-kit/example/server/yarn.lock b/packages/onramp-kit/example/server/yarn.lock deleted file mode 100644 index 824bd2083..000000000 --- a/packages/onramp-kit/example/server/yarn.lock +++ /dev/null @@ -1,1251 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@jridgewell/resolve-uri@^3.0.3": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" - integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== - -"@types/body-parser@*": - version "1.19.2" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" - integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/connect@*": - version "3.4.35" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" - integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== - dependencies: - "@types/node" "*" - -"@types/cors@^2.8.17": - version "2.8.17" - resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.17.tgz#5d718a5e494a8166f569d986794e49c48b216b2b" - integrity sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA== - dependencies: - "@types/node" "*" - -"@types/express-serve-static-core@^4.17.33": - version "4.17.33" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz#de35d30a9d637dc1450ad18dd583d75d5733d543" - integrity sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - -"@types/express@^4.17.21": - version "4.17.21" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" - integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.33" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/mime@*": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" - integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== - -"@types/node@*", "@types/node@^20.12.5": - version "20.12.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.5.tgz#74c4f31ab17955d0b5808cdc8fd2839526ad00b3" - integrity sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw== - dependencies: - undici-types "~5.26.4" - -"@types/qs@*": - version "6.9.7" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" - integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== - -"@types/range-parser@*": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" - integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== - -"@types/serve-static@*": - version "1.15.0" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.0.tgz#c7930ff61afb334e121a9da780aac0d9b8f34155" - integrity sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg== - dependencies: - "@types/mime" "*" - "@types/node" "*" - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - -accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^8.4.1: - version "8.8.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" - integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -async@^2.6.4: - version "2.6.4" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" - integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -atomic-sleep@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" - integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== - -axios@^1.6.8: - version "1.6.8" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66" - integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -body-parser@1.20.2: - version "1.20.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -buffer@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -call-bind@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -caller@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/caller/-/caller-1.1.0.tgz#46228555cfecb57d82bcd173b493f87cee9680fe" - integrity sha512-n+21IZC3j06YpCWaxmUy5AnVqhmCIM2bQtqQyy00HJlmStRt6kwDX5F9Z97pqwAB+G/tgSz6q/kUBbNyQzIubw== - -chokidar@^3.5.2: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -colorette@^2.0.7: - version "2.0.19" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" - integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== - -colors@1.0.x: - version "1.0.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" - integrity sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@~1.0.4, content-type@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" - integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== - -cors@^2.8.5: - version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cycle@1.0.x: - version "1.0.3" - resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" - integrity sha512-TVF6svNzeQCOpjCqsy0/CSy8VgObG3wXusJ73xW2GbG5rGx7lC8zxDSURicsXI2UsGdi2L0QNRCi745/wUDvsA== - -dateformat@^4.6.3: - version "4.6.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-4.6.3.tgz#556fa6497e5217fedb78821424f8a1c22fa3f4b5" - integrity sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA== - -debug@2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dotenv@^16.4.5: - version "16.4.5" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" - integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - -events@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -express@^4.19.2: - version "4.19.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" - integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.2" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.6.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.11.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -eyes@0.1.x: - version "0.1.8" - resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" - integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== - -fast-copy@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/fast-copy/-/fast-copy-3.0.0.tgz#875ebf33b13948ae012b6e51d33da5e6e7571ab8" - integrity sha512-4HzS+9pQ5Yxtv13Lhs1Z1unMXamBdn5nA4bEi1abYpDNSpSp7ODYQ1KPMF6nTatfEzgH6/zPvXKU1zvHiUjWlA== - -fast-redact@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.1.2.tgz#d58e69e9084ce9fa4c1a6fa98a3e1ecf5d7839aa" - integrity sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw== - -fast-safe-stringify@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" - integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -follow-redirects@^1.15.6: - version "1.15.6" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" - integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" - integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - -glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -help-me@^4.0.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/help-me/-/help-me-4.2.0.tgz#50712bfd799ff1854ae1d312c36eafcea85b0563" - integrity sha512-TAOnTB8Tz5Dw8penUuzHVrKNKlCIbwwbHnXraNJxPwf8LRtE2HlM84RYuezMFcwOJmoYOCWVDyJ8TQGxn9PgxA== - dependencies: - glob "^8.0.0" - readable-stream "^3.6.0" - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore-by-default@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" - integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -isstream@0.1.x: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== - -joycon@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/joycon/-/joycon-3.1.1.tgz#bce8596d6ae808f8b68168f5fc69280996894f03" - integrity sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw== - -lodash-node@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/lodash-node/-/lodash-node-2.4.1.tgz#ea82f7b100c733d1a42af76801e506105e2a80ec" - integrity sha512-egEt8eNQp2kZWRmngahiqMoDCDCENv3uM188S7Ed5t4k3v6RrLELXC+FqLNMUnhCo7gvQX3G1V8opK/Lcslahg== - -lodash@^4.17.14: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -nodemon@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.1.0.tgz#ff7394f2450eb6a5e96fe4180acd5176b29799c9" - integrity sha512-xqlktYlDMCepBJd43ZQhjWwMw2obW/JRvkrLxq5RCNcuDDX1DbcPT+qT1IlIIdf+DhnWs90JpTMe+Y5KxOchvA== - dependencies: - chokidar "^3.5.2" - debug "^4" - ignore-by-default "^1.0.1" - minimatch "^3.1.2" - pstree.remy "^1.1.8" - semver "^7.5.3" - simple-update-notifier "^2.0.0" - supports-color "^5.5.0" - touch "^3.1.0" - undefsafe "^2.0.5" - -nopt@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" - integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg== - dependencies: - abbrev "1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -object-assign@^4: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - -on-exit-leak-free@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-2.1.0.tgz#5c703c968f7e7f851885f6459bf8a8a57edc9cc4" - integrity sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w== - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== - -picomatch@^2.0.4, picomatch@^2.2.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pine@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pine/-/pine-1.1.1.tgz#4a74df92601096a8608742bc4b792c9d680eb865" - integrity sha512-Xk+dW+1oCpPVjNgzg0PPrHamc7aCj9LM37Qwp8pxraWIW1JFlYExr3CBXEl0ghBG2L2cCcFp8JHPDC55Dv+7iw== - dependencies: - caller "^1.0.0" - lodash-node "^2.4.1" - winston "^2.2.0" - -pino-abstract-transport@^1.0.0, pino-abstract-transport@v1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz#cc0d6955fffcadb91b7b49ef220a6cc111d48bb3" - integrity sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA== - dependencies: - readable-stream "^4.0.0" - split2 "^4.0.0" - -pino-http@^8.5.1: - version "8.5.1" - resolved "https://registry.yarnpkg.com/pino-http/-/pino-http-8.5.1.tgz#b4afb7d40687710f463588c0659d6a931285bf46" - integrity sha512-T/3d9YHKBYpv/QHjNy73P5BNYYkRrC2/D6CxKMecG4fKFLN+B2iC6LsKYzGRTRV+Ld3fjxFC1ca4TUGbPdzk+Q== - dependencies: - get-caller-file "^2.0.5" - pino "^8.0.0" - pino-std-serializers "^6.0.0" - process-warning "^2.0.0" - -pino-pretty@^9.4.1: - version "9.4.1" - resolved "https://registry.yarnpkg.com/pino-pretty/-/pino-pretty-9.4.1.tgz#89121ef32d00a4d2e4b1c62850dcfff26f62a185" - integrity sha512-loWr5SNawVycvY//hamIzyz3Fh5OSpvkcO13MwdDW+eKIGylobPLqnVGTDwDXkdmpJd1BhEG+qhDw09h6SqJiQ== - dependencies: - colorette "^2.0.7" - dateformat "^4.6.3" - fast-copy "^3.0.0" - fast-safe-stringify "^2.1.1" - help-me "^4.0.1" - joycon "^3.1.1" - minimist "^1.2.6" - on-exit-leak-free "^2.1.0" - pino-abstract-transport "^1.0.0" - pump "^3.0.0" - readable-stream "^4.0.0" - secure-json-parse "^2.4.0" - sonic-boom "^3.0.0" - strip-json-comments "^3.1.1" - -pino-std-serializers@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-6.1.0.tgz#307490fd426eefc95e06067e85d8558603e8e844" - integrity sha512-KO0m2f1HkrPe9S0ldjx7za9BJjeHqBku5Ch8JyxETxT8dEFGz1PwgrHaOQupVYitpzbFSYm7nnljxD8dik2c+g== - -pino@^8.0.0: - version "8.10.0" - resolved "https://registry.yarnpkg.com/pino/-/pino-8.10.0.tgz#fe35a3fe90554630b0254d3f810f6fae27c38990" - integrity sha512-ODfIe+giJtQGsvNAEj5/sHHpL3TFBg161JBH4W62Hc0l0PJjsDFD1R7meLI4PZ2aoHDJznxFNShkJcaG/qJToQ== - dependencies: - atomic-sleep "^1.0.0" - fast-redact "^3.1.1" - on-exit-leak-free "^2.1.0" - pino-abstract-transport v1.0.0 - pino-std-serializers "^6.0.0" - process-warning "^2.0.0" - quick-format-unescaped "^4.0.3" - real-require "^0.2.0" - safe-stable-stringify "^2.3.1" - sonic-boom "^3.1.0" - thread-stream "^2.0.0" - -process-warning@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-2.1.0.tgz#1e60e3bfe8183033bbc1e702c2da74f099422d1a" - integrity sha512-9C20RLxrZU/rFnxWncDkuF6O999NdIf3E1ws4B0ZeY3sRVPzWBMsYDE2lxjxhiXxg464cQTgKUGm8/i6y2YGXg== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -pstree.remy@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a" - integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -qs@6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -quick-format-unescaped@^4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" - integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== - -range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.3.0.tgz#0914d0c72db03b316c9733bb3461d64a3cc50cba" - integrity sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ== - dependencies: - abort-controller "^3.0.0" - buffer "^6.0.3" - events "^3.3.0" - process "^0.11.10" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -real-require@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.2.0.tgz#209632dea1810be2ae063a6ac084fee7e33fba78" - integrity sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg== - -safe-buffer@5.2.1, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-stable-stringify@^2.3.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz#ec7b037768098bf65310d1d64370de0dc02353aa" - integrity sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA== - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -secure-json-parse@^2.4.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.7.0.tgz#5a5f9cd6ae47df23dba3151edd06855d47e09862" - integrity sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw== - -semver@^7.5.3: - version "7.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" - -send@0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -simple-update-notifier@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz#d70b92bdab7d6d90dfd73931195a30b6e3d7cebb" - integrity sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w== - dependencies: - semver "^7.5.3" - -sonic-boom@^3.0.0, sonic-boom@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-3.2.1.tgz#972ceab831b5840a08a002fa95a672008bda1c38" - integrity sha512-iITeTHxy3B9FGu8aVdiDXUVAcHMF9Ss0cCsAOo2HfCrmVGT3/DT5oYaeu0M/YKZDlKTvChEyPq0zI9Hf33EX6A== - dependencies: - atomic-sleep "^1.0.0" - -split2@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-4.1.0.tgz#101907a24370f85bb782f08adaabe4e281ecf809" - integrity sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ== - -stack-trace@0.0.x: - version "0.0.10" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" - integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg== - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -thread-stream@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-2.3.0.tgz#4fc07fb39eff32ae7bad803cb7dd9598349fed33" - integrity sha512-kaDqm1DET9pp3NXwR8382WHbnpXnRkN9xGN9dQt3B2+dmXiW8X1SOwmFOxAErEQ47ObhZ96J6yhZNXuyCOL7KA== - dependencies: - real-require "^0.2.0" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -touch@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" - integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== - dependencies: - nopt "~1.0.10" - -ts-node@^10.9.2: - version "10.9.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" - integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typescript@^5.3.2: - version "5.4.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" - integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== - -undefsafe@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c" - integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -util-deprecate@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -vary@^1, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -winston@^2.2.0: - version "2.4.7" - resolved "https://registry.yarnpkg.com/winston/-/winston-2.4.7.tgz#5791fe08ea7e90db090f1cb31ef98f32531062f1" - integrity sha512-vLB4BqzCKDnnZH9PHGoS2ycawueX4HLqENXQitvFHczhgW2vFpSOn31LZtVr1KU8YTw7DS4tM+cqyovxo8taVg== - dependencies: - async "^2.6.4" - colors "1.0.x" - cycle "1.0.x" - eyes "0.1.x" - isstream "0.1.x" - stack-trace "0.0.x" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== diff --git a/packages/onramp-kit/jest.config.js b/packages/onramp-kit/jest.config.js deleted file mode 100644 index bde683c7e..000000000 --- a/packages/onramp-kit/jest.config.js +++ /dev/null @@ -1,16 +0,0 @@ -const config = { - testEnvironment: 'jsdom', - collectCoverageFrom: ['src/**/*.{ts,tsx}'], - roots: ['/src'], - verbose: true, - transform: { - '^.+\\.ts?$': 'ts-jest' - }, - moduleNameMapper: { - '^@safe-global/protocol-kit/(.*)$': '/../protocol-kit/src/$1', - '^@safe-global/onramp-kit/(.*)$': '/src/$1' - }, - setupFiles: ['/jest.setup.ts'] -} - -module.exports = config diff --git a/packages/onramp-kit/jest.setup.ts b/packages/onramp-kit/jest.setup.ts deleted file mode 100644 index d507e9e56..000000000 --- a/packages/onramp-kit/jest.setup.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { TextEncoder } from 'util' - -// TextEncoder is used by viem, supported by Browsers for over five years and node since v11 as a global export: https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder -// Both on-ramp and auth-kit rely on being on a browser (we access properties directly on `window`) therefore the tests are set with `testEnvironment: 'jsdom'` -// `js-dom` doesn't set some of the globals: https://github.com/jestjs/jest/blob/v29.7.0/packages/jest-environment-jsdom/src/index.ts -// for reference, node does: https://github.com/jestjs/jest/blob/4e56991693da7cd4c3730dc3579a1dd1403ee630/packages/jest-environment-node/src/index.ts#L40 - -Object.assign(global, { TextEncoder }) diff --git a/packages/onramp-kit/package.json b/packages/onramp-kit/package.json deleted file mode 100644 index 4291de98a..000000000 --- a/packages/onramp-kit/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@safe-global/onramp-kit", - "version": "3.0.8", - "description": "Onramp library", - "main": "dist/src/index.js", - "types": "dist/src/index.d.ts", - "scripts": { - "test": "jest src --coverage", - "format:check": "prettier --check \"*/**/*.{js,json,md,ts}\"", - "format": "prettier --write \"*/**/*.{js,json,md,ts}\"", - "unbuild": "rm -rf dist", - "build": "yarn unbuild && yarn tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/safe-global/safe-core-sdk.git" - }, - "keywords": [ - "Safe", - "Ethereum", - "Account Abstraction", - "SDK", - "Onramp" - ], - "author": "Safe (https://safe.global)", - "license": "MIT", - "bugs": { - "url": "https://github.com/safe-global/safe-core-sdk/issues" - }, - "files": [ - "dist" - ], - "homepage": "https://github.com/safe-global/safe-core-sdk#readme", - "publishConfig": { - "access": "public" - }, - "dependencies": { - "@monerium/sdk": "^2.12.0", - "@safe-global/api-kit": "^2.4.5", - "@safe-global/protocol-kit": "^4.1.0", - "@safe-global/safe-core-sdk-types": "^5.1.0", - "@stripe/crypto": "^0.0.4", - "@stripe/stripe-js": "^1.54.2", - "viem": "^2.19.0" - }, - "devDependencies": { - "events": "^3.3.0", - "jest-environment-jsdom": "^29.7.0" - } -} diff --git a/packages/onramp-kit/src/OnRampKitBasePack.ts b/packages/onramp-kit/src/OnRampKitBasePack.ts deleted file mode 100644 index 77d6f3d95..000000000 --- a/packages/onramp-kit/src/OnRampKitBasePack.ts +++ /dev/null @@ -1,32 +0,0 @@ -export abstract class OnRampKitBasePack { - /** - * Initialize the pack - * @param options The provider specific options - */ - abstract init(options?: unknown): Promise - - /** - * Start the interaction with the provider - * @param options The provider specific options to start the interaction - */ - abstract open(options?: unknown): Promise - - /** - * Close the interaction with the provider and clean up instance and subscriptions - */ - abstract close(): Promise - - /** - * Subscribe to provider specific events - * @param event The event to subscribe to - * @param handler The handler to be called when the event is triggered - */ - abstract subscribe(event: unknown, handler: unknown): void - - /** - * Unsubscribe from provider specific events - * @param event The event to unsubscribe from - * @param handler The handler to be removed from the event - */ - abstract unsubscribe(event: unknown, handler: unknown): void -} diff --git a/packages/onramp-kit/src/index.ts b/packages/onramp-kit/src/index.ts deleted file mode 100644 index 5a42ad77c..000000000 --- a/packages/onramp-kit/src/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './packs/stripe' -export * from './packs/monerium' - -export * from './OnRampKitBasePack' diff --git a/packages/onramp-kit/src/lib/error.test.ts b/packages/onramp-kit/src/lib/error.test.ts deleted file mode 100644 index 6ac18da62..000000000 --- a/packages/onramp-kit/src/lib/error.test.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { getErrorMessage } from './errors' - -describe('errors', () => { - describe('getErrorMessage()', () => { - it('should return the message if it is an Error object with a message', () => { - expect(getErrorMessage(new Error('error message'))).toBe('error message') - }) - - it('should return the message if it is an error with a message', () => { - expect(getErrorMessage({ message: 'object with error message' })).toBe( - 'object with error message' - ) - }) - - it('should return the stringified error if it is any object', () => { - expect(getErrorMessage({ anError: 'object with error message' })).toBe( - '{"anError":"object with error message"}' - ) - }) - - it('should return an Error if it is a string', () => { - expect(getErrorMessage('error message')).toBe('"error message"') - }) - }) -}) diff --git a/packages/onramp-kit/src/lib/errors.ts b/packages/onramp-kit/src/lib/errors.ts deleted file mode 100644 index 8f9df0d48..000000000 --- a/packages/onramp-kit/src/lib/errors.ts +++ /dev/null @@ -1,73 +0,0 @@ -type ErrorWithMessage = { - message: string -} - -function isErrorWithMessage(error: unknown): error is ErrorWithMessage { - return ( - typeof error === 'object' && - error !== null && - 'message' in error && - typeof (error as Record).message === 'string' - ) -} - -function toErrorWithMessage(maybeError: unknown): ErrorWithMessage { - if (isErrorWithMessage(maybeError)) return maybeError - - try { - return new Error(JSON.stringify(maybeError)) - } catch { - // fallback in case there's an error stringifying the maybeError - // like with circular references for example. - return new Error(String(maybeError)) - } -} - -export function getErrorMessage(error: unknown) { - return toErrorWithMessage(error).message -} -type GnosisChainSignatureError = { info: { error: { data: string | { data: string } } } } -type EthersSignatureError = { data: string } -type SignatureError = Error & EthersSignatureError & GnosisChainSignatureError - -/** - * Parses the isValidSignature call response from different providers. - * It extracts and decodes the signature value from the Error object. - * - * @param {ProviderSignatureError} error - The error object with the signature data. - * @returns {string} The signature value. - * @throws It Will throw an error if the signature cannot be parsed. - */ -export function parseIsValidSignatureErrorResponse(error: SignatureError): string { - // Ethers v6 - const ethersData = error?.data - if (ethersData) { - return decodeSignatureData(ethersData) - } - - // gnosis-chain - const gnosisChainProviderData = error?.info?.error?.data - - if (gnosisChainProviderData) { - const isString = typeof gnosisChainProviderData === 'string' - - const encodedDataResponse = isString ? gnosisChainProviderData : gnosisChainProviderData.data - return decodeSignatureData(encodedDataResponse) - } - - // Error message - const isEncodedDataPresent = error?.message?.includes('0x') - - if (isEncodedDataPresent) { - return decodeSignatureData(error?.message) - } - - throw new Error('Could not parse Signature from Error response, Details: ' + error?.message) -} - -export function decodeSignatureData(encodedSignatureData: string): string { - const [, encodedSignature] = encodedSignatureData.split('0x') - const data = '0x' + encodedSignature - - return data.slice(0, 10).toLowerCase() -} diff --git a/packages/onramp-kit/src/packs/monerium/MoneriumPack.test.ts b/packages/onramp-kit/src/packs/monerium/MoneriumPack.test.ts deleted file mode 100644 index 59aecd070..000000000 --- a/packages/onramp-kit/src/packs/monerium/MoneriumPack.test.ts +++ /dev/null @@ -1,142 +0,0 @@ -import Safe from '@safe-global/protocol-kit' -import { MoneriumPack } from './MoneriumPack' -import * as safeMoneriumClient from './SafeMoneriumClient' -import { OnRampKitBasePack } from '@safe-global/onramp-kit/index' - -Object.defineProperty(window, 'location', { - writable: true, - value: { - ...window.location, - replace: jest.fn() - } -}) - -Object.defineProperty(safeMoneriumClient.SafeMoneriumClient.prototype, 'bearerProfile', { - get: jest.fn(() => ({ - access_token: 'access-token', - token_type: 'bearer', - expires_in: 3600, - refresh_token: 'refresh-token', - profile: 'profile', - userId: 'userId' - })) -}) - -const REDIRECT_URL = 'http://localhost:3000' -const config = { - clientId: 'monerium-client-id', - redirectUrl: REDIRECT_URL, - environment: 'sandbox' as const -} - -jest.mock('@monerium/sdk') -jest.mock('@safe-global/protocol-kit') -jest.mock('./SafeMoneriumClient') - -describe('MoneriumPack', () => { - let moneriumPack: MoneriumPack - - beforeEach(() => { - jest.clearAllMocks() - moneriumPack = new MoneriumPack(config) - }) - - describe('init()', () => { - it('should create a MoneriumPack instance', () => { - expect(moneriumPack).toBeInstanceOf(MoneriumPack) - expect(moneriumPack).toBeInstanceOf(OnRampKitBasePack) - }) - - it('should initialize the pack', async () => { - const protocolKit = new Safe() - - await moneriumPack.init({ protocolKit }) - - expect(safeMoneriumClient.SafeMoneriumClient).toHaveBeenCalledWith( - { - clientId: 'monerium-client-id', - environment: 'sandbox', - redirectUrl: 'http://localhost:3000' - }, - protocolKit - ) - }) - - it('should throw an exception if no instance of the protocol kit is passed as parameter', async () => { - // @ts-expect-error - Throw and exception - await expect(moneriumPack.init()).rejects.toThrow( - 'You need to provide an instance of the protocol kit' - ) - }) - }) - - describe('open()', () => { - beforeEach(async () => { - const protocolKit = new Safe() - - await moneriumPack.init({ protocolKit }) - }) - - it('should call order socket', async () => { - const getConnectSocketSpy = jest.spyOn( - safeMoneriumClient.SafeMoneriumClient.prototype, - 'connectOrderSocket' - ) - - await moneriumPack.open() - - expect(getConnectSocketSpy).toHaveBeenCalledWith() - }) - - it('should call getAccess', async () => { - const getAuthFlowSpy = jest.spyOn( - safeMoneriumClient.SafeMoneriumClient.prototype, - 'getAccess' - ) - - await moneriumPack.open() - - expect(getAuthFlowSpy).toHaveBeenCalledWith() - }) - - it('should check if the message is in the pending safe transactions queue when not signed', async () => { - jest - .spyOn(safeMoneriumClient.SafeMoneriumClient.prototype, 'isMessageSigned') - .mockResolvedValue(false) - - jest - .spyOn(safeMoneriumClient.SafeMoneriumClient.prototype, 'getSafeAddress') - .mockResolvedValue('0xSafeAddress') - - const isMessagePendingSpy = jest.spyOn( - safeMoneriumClient.SafeMoneriumClient.prototype, - 'isSignMessagePending' - ) - - await moneriumPack.open({ initiateAuthFlow: true }) - - expect(isMessagePendingSpy).toHaveBeenCalledWith( - '0xSafeAddress', - 'I hereby declare that I am the address owner.' - ) - }) - }) - - describe('close()', () => { - it('should call disconnect', async () => { - const disconnectSpy = jest.spyOn( - safeMoneriumClient.SafeMoneriumClient.prototype, - 'revokeAccess' - ) - const protocolKit = new Safe() - - await moneriumPack.init({ protocolKit }) - - await moneriumPack.close() - - await moneriumPack.open() - - expect(disconnectSpy).toHaveBeenCalledWith() - }) - }) -}) diff --git a/packages/onramp-kit/src/packs/monerium/MoneriumPack.ts b/packages/onramp-kit/src/packs/monerium/MoneriumPack.ts deleted file mode 100644 index e347a3a41..000000000 --- a/packages/onramp-kit/src/packs/monerium/MoneriumPack.ts +++ /dev/null @@ -1,170 +0,0 @@ -import { Currency, constants, MoneriumEvent, MoneriumEventListener } from '@monerium/sdk' -import { getErrorMessage } from '@safe-global/onramp-kit/lib/errors' -import { OnRampKitBasePack } from '@safe-global/onramp-kit/OnRampKitBasePack' - -import { SafeMoneriumClient } from './SafeMoneriumClient' -import { MoneriumInitOptions, MoneriumOpenOptions, MoneriumProviderConfig } from './types' - -const SIGNATURE_MESSAGE = constants.LINK_MESSAGE - -/** - * This class extends the OnRampKitBasePack to work with the Monerium platform - * @class MoneriumPack - */ -export class MoneriumPack extends OnRampKitBasePack { - #config: MoneriumProviderConfig - client?: SafeMoneriumClient - - /** - * The constructor of the MoneriumPack - * @constructor - * @param config The configuration object for the Monerium provider - */ - constructor(config: MoneriumProviderConfig) { - super() - this.#config = config - } - - /** - * Initializes the SafeMoneriumClient - * @param options The MoneriumInitOptions object - * @throws {Error} If the Monerium client is not initialized - */ - async init(options: MoneriumInitOptions) { - if (!options?.protocolKit) { - throw new Error('You need to provide an instance of the protocol kit') - } - - this.client = new SafeMoneriumClient( - { - environment: this.#config.environment, - clientId: this.#config.clientId, - redirectUrl: this.#config.redirectUrl - }, - options.protocolKit - ) - } - - /** - * This method initialize the flow with Monerium in order to gain access to the resources - * using the access_token. Return a initialized {@link SafeMoneriumClient} - * @param {MoneriumOpenOptions} [options] The MoneriumOpenOptions object - * @returns A {@link SafeMoneriumClient} instance - */ - async open(options?: MoneriumOpenOptions): Promise { - if (!this.client) { - throw new Error('Monerium client not initialized') - } - - try { - const safeAddress = await this.client.getSafeAddress() - const isAuthorized = await this.client.getAccess() - - if (isAuthorized) { - await this.#addAccountIfNotLinked(safeAddress) - } else if (options?.initiateAuthFlow) { - await this.#startAuthFlow(safeAddress) - } - - // When the user is authenticated, we connect to the order notifications socket in case - // the user has subscribed to any event - await this.client.connectOrderSocket() - - return this.client - } catch (error) { - throw new Error(getErrorMessage(error)) - } - } - - /** - * This private method starts the authorization code flow - * {@link https://monerium.dev/docs/getting-started/auth-flow} - * @param safeAddress The address of the Safe - * @param redirectUrl The redirect url from the Monerium UI - */ - async #startAuthFlow(safeAddress: string) { - if (!this.client) return - - // Check if the user has already signed the message - if (safeAddress) { - // Check if the Safe has a completed transaction with the signature message - const isSigned = await this.client.isMessageSigned(safeAddress, SIGNATURE_MESSAGE) - - if (!isSigned) { - // Check if the Safe has a pending transaction with the signature message - const isPending = await this.client.isSignMessagePending(safeAddress, SIGNATURE_MESSAGE) - - if (!isPending) { - await this.client.signMessage(safeAddress, SIGNATURE_MESSAGE) - } - } - } - - await this.client.authorize({ - address: safeAddress, - signature: '0x', - chainId: await this.client.getChainId() - }) - } - - /** - * Add an address to the Monerium account if it is not already linked - * @param safeAddress The address of the Safe - */ - async #addAccountIfNotLinked(safeAddress: string) { - if (!this.client) return - - const authContext = await this.client.getAuthContext() - - if (!authContext) return - - const profile = await this.client.getProfile(authContext.defaultProfile) - - if (profile) { - const isSafeAddressLinked = profile.accounts.some( - (account) => account.address.toLowerCase() === safeAddress.toLowerCase() - ) - - if (!isSafeAddressLinked) { - await this.client.linkAddress(authContext.defaultProfile, { - address: safeAddress, - message: SIGNATURE_MESSAGE, - signature: '0x', - chainId: await this.client.getChainId(), - accounts: [ - { - chainId: await this.client.getChainId(), - currency: Currency.eur - } - ] - }) - } - } - } - - /** - * Close the flow and clean up - */ - async close() { - this.client?.revokeAccess() - } - - /** - * Subscribe to MoneriumEvent to receive notifications using the Monerium API (WebSocket) - * We are setting a subscription map because we need the user to have a token to start the WebSocket connection - * {@link https://monerium.dev/api-docs#operation/profile-orders-notifications} - * @param event The event to subscribe to - * @param handler The handler to be called when the event is triggered - */ - subscribe(event: MoneriumEvent, handler: MoneriumEventListener): void { - this.client?.subscribeOrders(event, handler) - } - - /** - * Unsubscribe from MoneriumEvent and close the socket if there are no more subscriptions - * @param event The event to unsubscribe from - */ - unsubscribe(event: MoneriumEvent): void { - this.client?.unsubscribeOrders(event) - } -} diff --git a/packages/onramp-kit/src/packs/monerium/SafeMoneriumClient.test.ts b/packages/onramp-kit/src/packs/monerium/SafeMoneriumClient.test.ts deleted file mode 100644 index 1482548d3..000000000 --- a/packages/onramp-kit/src/packs/monerium/SafeMoneriumClient.test.ts +++ /dev/null @@ -1,312 +0,0 @@ -import { createPublicClient, hashMessage, custom } from 'viem' -import { PaymentStandard } from '@monerium/sdk' -import Safe, * as protocolKitPackage from '@safe-global/protocol-kit' -import { - OperationType, - signMessageLib_1_4_1_ContractArtifacts -} from '@safe-global/safe-core-sdk-types' -import SafeApiKit from '@safe-global/api-kit' -import { SafeMoneriumClient } from './SafeMoneriumClient' -import { MAGIC_VALUE } from './signatures' -import { SignMessageLibContractImplementationType } from '@safe-global/protocol-kit' - -const newOrder = { - amount: '100', - counterpart: { - identifier: { - standard: 'iban' as PaymentStandard.iban, - iban: 'iban' - }, - details: { - firstName: 'firstName', - lastName: 'lastName' - } - }, - memo: 'memo' -} - -jest.mock('@monerium/sdk', () => { - const actualSdk = jest.requireActual('@monerium/sdk') - return { - ...(jest.genMockFromModule('@monerium/sdk') as any), - getChain: actualSdk.getChain, - getNetwork: actualSdk.getNetwork, - placeOrderMessage: actualSdk.placeOrderMessage - } -}) -jest.mock('@safe-global/protocol-kit') -jest.mock('@safe-global/api-kit') - -describe('SafeMoneriumClient', () => { - const protocolKit = new Safe() - let safeMoneriumClient: SafeMoneriumClient - - beforeEach(() => { - jest.clearAllMocks() - protocolKit.getChainId = jest.fn().mockResolvedValue(5) - protocolKit.getSafeProvider = jest.fn().mockReturnValue({ - call: jest.fn().mockImplementation(async () => MAGIC_VALUE), - getSignerAddress: jest.fn().mockResolvedValue('0xSignerAddress') - }) - - protocolKit.getSafeProvider.call = jest.fn().mockImplementation(async () => MAGIC_VALUE) - safeMoneriumClient = new SafeMoneriumClient( - { environment: 'sandbox', clientId: 'mockClientId', redirectUrl: 'http://mockUrl' }, - protocolKit - ) - }) - - it('should create a SafeMoneriumClient instance', () => { - expect(safeMoneriumClient).toBeInstanceOf(SafeMoneriumClient) - }) - - it('should allow to get the Safe address', async () => { - protocolKit.getAddress = jest.fn(() => Promise.resolve('0xSafeAddress')) - expect(await safeMoneriumClient.getSafeAddress()).toBe('0xSafeAddress') - }) - - it('should allow to send tokens from then Safe to any IBAN', async () => { - protocolKit.getAddress = jest.fn(() => Promise.resolve('0xSafeAddress')) - const placeOrderSpy = jest.spyOn(safeMoneriumClient, 'placeOrder') - //@ts-expect-error - Not all values are mocked - const signMessageSpy = jest.spyOn(safeMoneriumClient, 'signMessage').mockResolvedValueOnce({ - safe: '0xSafeAddress', - to: '0xAddress', - value: '0', - operation: 1 - }) - - await safeMoneriumClient.send({ ...newOrder }) - - expect(placeOrderSpy).toHaveBeenCalledWith( - expect.objectContaining({ - ...newOrder, - address: '0xSafeAddress', - message: expect.stringContaining('Send EUR 100 to iban at'), - chainId: 5, - signature: '0x', - supportingDocumentId: '' - }) - ) - - expect(signMessageSpy).toHaveBeenCalledWith( - '0xSafeAddress', - expect.stringContaining('Send EUR 100 to iban at') - ) - }) - - it('should throw if signing message fails', async () => { - protocolKit.getAddress = jest.fn(() => Promise.resolve('0xSafeAddress')) - const placeOrderSpy = jest.spyOn(safeMoneriumClient, 'placeOrder') - const signMessageSpy = jest - .spyOn(safeMoneriumClient, 'signMessage') - .mockRejectedValueOnce(new Error('Failed to sign message')) - - await expect(safeMoneriumClient.send({ ...newOrder })).rejects.toThrow('Failed to sign message') - - expect(placeOrderSpy).toHaveBeenCalledTimes(1) - expect(signMessageSpy).toHaveBeenCalledTimes(1) - }) - - it('should allow to check if a message is signed in the smart contract if the promise is fulfilled', async () => { - const isMessageSigned = await safeMoneriumClient.isMessageSigned( - '0xSafeAddress', - 'message to sign' - ) - - expect(isMessageSigned).toBe(true) - }) - - it('should allow to check if a message is NOT signed in the smart contract if the promise is fulfilled', async () => { - // Promise fulfilled without signature - protocolKit.getSafeProvider().call = jest.fn().mockImplementation(async () => '0x') - - const isMessageSigned = await safeMoneriumClient.isMessageSigned( - '0xSafeAddress', - 'message to sign' - ) - - expect(isMessageSigned).toBe(false) - }) - - it('should allow to check if a message is signed in the smart contract and the promise is rejected', async () => { - class EthersError extends Error { - data: string - constructor(message: string, data: string) { - super(message) - this.data = data - } - } - - // promise is rejected with the signature - protocolKit.getSafeProvider().call = jest - .fn() - .mockImplementation(() => - Promise.reject(new EthersError('execution reverted: "Hash not approved"', MAGIC_VALUE)) - ) - - const isMessageSigned = await safeMoneriumClient.isMessageSigned( - '0xSafeAddress', - 'message to sign' - ) - - expect(isMessageSigned).toBe(true) - }) - - it('should allow to check if a message is NOT signed in the smart contract and the promise is rejected', async () => { - class EthersError extends Error { - data: string - constructor(message: string, data: string) { - super(message) - this.data = data - } - } - - // promise is rejected without a signature - protocolKit.getSafeProvider().call = jest - .fn() - .mockImplementation(() => - Promise.reject(new EthersError('execution reverted: "Hash not approved"', '0x')) - ) - - const isMessageSigned = await safeMoneriumClient.isMessageSigned( - '0xSafeAddress', - 'message to sign' - ) - - expect(isMessageSigned).toBe(false) - }) - - it('should allow to check if a message is pending in the safe transaction queue', async () => { - jest.spyOn(SafeApiKit.prototype, 'getPendingTransactions').mockResolvedValueOnce({ - count: 0, - results: [] - }) - - const isSignMessagePending = await safeMoneriumClient.isSignMessagePending( - '0xSafeAddress', - 'message to sign' - ) - - expect(isSignMessagePending).toBe(false) - - jest.spyOn(SafeApiKit.prototype, 'getPendingTransactions').mockResolvedValueOnce({ - count: 0, - results: [ - { - // @ts-expect-error - dataDecoded should have the method property - dataDecoded: { - method: 'signMessage', - parameters: [{ value: hashMessage('message to sign') }] - } - } - ] - }) - - const isSignMessagePending2 = await safeMoneriumClient.isSignMessagePending( - '0xSafeAddress', - 'message to sign' - ) - - expect(isSignMessagePending2).toBe(true) - }) - - it('should allow to sign a message', async () => { - const txData = { - operation: OperationType.DelegateCall, - baseGas: 0, - safeTxGas: 1000000, - gasPrice: 0, - gasToken: '0x000', - refundReceiver: '0x00000000', - nonce: 0 - } - - const contract = { - safeVersion: '1.3.0', - contractName: 'signMessageLibVersion', - safeProvider: protocolKit.getSafeProvider() as protocolKitPackage.SafeProvider, - encode: jest.fn(), - contractAbi: signMessageLib_1_4_1_ContractArtifacts.abi, - contractAddress: '0x0000000000000000000000000000000000000001', - getAddress: jest.fn(), - getMessageHash: jest.fn(), - signMessage: jest.fn(), - estimateGas: jest.fn(), - init: jest.fn(), - runner: createPublicClient({ - transport: custom({ request: jest.fn() }) - }), - chainId: 1n, - read: jest.fn(), - write: jest.fn(), - getChain: jest.fn(), - getWallet: jest.fn(), - convertOptions: jest.fn(), - getTransactionReceipt: jest.fn() - } as SignMessageLibContractImplementationType - - jest.spyOn(protocolKitPackage, 'getSignMessageLibContract').mockResolvedValueOnce(contract) - - protocolKit.createTransaction = jest.fn().mockResolvedValueOnce({ - data: txData - }) - - protocolKit.getTransactionHash = jest.fn().mockResolvedValueOnce('0xTransactionHash') - protocolKit.signHash = jest.fn().mockResolvedValueOnce('0xTransactionSignature') - - jest.spyOn(SafeApiKit.prototype, 'getTransaction').mockResolvedValueOnce({ - confirmationsRequired: 1, - //@ts-expect-error - Only required properties are mocked - confirmations: [{ to: '0xSignerAddress' }] - }) - - const proposeTransactionSpy = jest.spyOn(SafeApiKit.prototype, 'proposeTransaction') - protocolKit.executeTransaction = jest.fn() - await safeMoneriumClient.signMessage('0xSafeAddress', 'message to sign') - - expect(proposeTransactionSpy).toHaveBeenCalledWith( - expect.objectContaining({ - safeAddress: '0xSafeAddress', - safeTransactionData: txData, - safeTxHash: '0xTransactionHash', - senderAddress: '0xSignerAddress', - senderSignature: undefined - }) - ) - }) - - it('should map the protocol kit chainId to the Monerium Chain types', async () => { - protocolKit.getChainId = jest.fn().mockResolvedValueOnce(1n) - expect(await safeMoneriumClient.getChain()).toBe('ethereum') - protocolKit.getChainId = jest.fn().mockResolvedValueOnce(11155111n) - expect(await safeMoneriumClient.getChain()).toBe('ethereum') - protocolKit.getChainId = jest.fn().mockResolvedValueOnce(100n) - expect(await safeMoneriumClient.getChain()).toBe('gnosis') - protocolKit.getChainId = jest.fn().mockResolvedValueOnce(10200n) - expect(await safeMoneriumClient.getChain()).toBe('gnosis') - protocolKit.getChainId = jest.fn().mockResolvedValueOnce(137n) - expect(await safeMoneriumClient.getChain()).toBe('polygon') - protocolKit.getChainId = jest.fn().mockResolvedValueOnce(80001n) - expect(await safeMoneriumClient.getChain()).toBe('polygon') - protocolKit.getChainId = jest.fn().mockResolvedValueOnce(300n) - expect(safeMoneriumClient.getChain()).rejects.toThrow('Chain not supported: 300') - }) - - it('should map the protocol kit chainId to the Monerium Network types', async () => { - protocolKit.getChainId = jest.fn().mockResolvedValueOnce(1n) - expect(await safeMoneriumClient.getNetwork()).toBe('mainnet') - protocolKit.getChainId = jest.fn().mockResolvedValueOnce(11155111n) - expect(await safeMoneriumClient.getNetwork()).toBe('sepolia') - protocolKit.getChainId = jest.fn().mockResolvedValueOnce(100n) - expect(await safeMoneriumClient.getNetwork()).toBe('mainnet') - protocolKit.getChainId = jest.fn().mockResolvedValueOnce(10200n) - expect(await safeMoneriumClient.getNetwork()).toBe('chiado') - protocolKit.getChainId = jest.fn().mockResolvedValueOnce(137n) - expect(await safeMoneriumClient.getNetwork()).toBe('mainnet') - protocolKit.getChainId = jest.fn().mockResolvedValueOnce(80001n) - expect(await safeMoneriumClient.getNetwork()).toBe('mumbai') - protocolKit.getChainId = jest.fn().mockResolvedValueOnce(300n) - expect(safeMoneriumClient.getNetwork()).rejects.toThrow('Network not supported: 300') - }) -}) diff --git a/packages/onramp-kit/src/packs/monerium/SafeMoneriumClient.ts b/packages/onramp-kit/src/packs/monerium/SafeMoneriumClient.ts deleted file mode 100644 index 8bdce8b17..000000000 --- a/packages/onramp-kit/src/packs/monerium/SafeMoneriumClient.ts +++ /dev/null @@ -1,248 +0,0 @@ -import { Hex, encodeFunctionData, hashMessage } from 'viem' -import { - getChain as getMoneriumChain, - getNetwork as getMoneriumNetwork, - Chain, - IBAN, - MoneriumClient, - Networks, - NewOrder, - placeOrderMessage, - ClassOptions -} from '@monerium/sdk' -import Safe, { getSignMessageLibContract, SafeProvider } from '@safe-global/protocol-kit' -import SafeApiKit from '@safe-global/api-kit' -import { - decodeSignatureData, - getErrorMessage, - parseIsValidSignatureErrorResponse -} from '@safe-global/onramp-kit/lib/errors' -import { OperationType, SafeMultisigTransactionResponse } from '@safe-global/safe-core-sdk-types' -import { EIP_1271_ABI, EIP_1271_BYTES_ABI, MAGIC_VALUE, MAGIC_VALUE_BYTES } from './signatures' -import { SafeMoneriumOrder } from './types' - -export class SafeMoneriumClient extends MoneriumClient { - #protocolKit: Safe - #safeProvider: SafeProvider - - /** - * Constructor where the Monerium environment and the Protocol kit instance are set - * @param moneriumOptions The Monerium options object - * @param protocolKit The Protocol kit instance - */ - constructor(moneriumOptions: ClassOptions, protocolKit: Safe) { - super(moneriumOptions) - - this.#protocolKit = protocolKit - this.#safeProvider = protocolKit.getSafeProvider() - } - - /** - * We get the Safe address using the Protocol kit instance - * @returns The Safe address - */ - async getSafeAddress(): Promise { - return await this.#protocolKit.getAddress() - } - - /** - * Allow to make transactions using the Monerium SDK - * @param order The order to be placed - */ - async send(order: SafeMoneriumOrder): Promise { - const safeAddress = await this.getSafeAddress() - const newOrder = await this.#createOrder(safeAddress, order) - - try { - // Place the order to Monerium and Safe systems for being linked between each other and confirmed - await this.placeOrder(newOrder) - - const safeTransaction = await this.signMessage(safeAddress, newOrder.message) - - return safeTransaction - } catch (error) { - throw new Error(getErrorMessage(error)) - } - } - - /** - * Check if the message is signed in the smart contract - * @param safeAddress The Safe address - * @param message The message to be signed - * @returns A boolean indicating if the message is signed - */ - async isMessageSigned(safeAddress: string, message: string): Promise { - const messageHash = hashMessage(message) - const messageHashSigned = await this.#isValidSignature(safeAddress, messageHash) - return messageHashSigned - } - - /** - * Check if the message is pending (multi owner or not executed) using the Transaction Service - * @param safeAddress The Safe address - * @param message The message to be signed - * @returns A boolean indicating if the message is signed - */ - async isSignMessagePending(safeAddress: string, message: string): Promise { - const chainId = await this.#protocolKit.getChainId() - - const apiKit = new SafeApiKit({ chainId }) - - const pendingTransactions = await apiKit.getPendingTransactions(safeAddress) - - return pendingTransactions.results.some((tx: SafeMultisigTransactionResponse) => { - return ( - // @ts-expect-error - dataDecoded should have the method property - tx?.dataDecoded?.method === 'signMessage' && - // @ts-expect-error - dataDecoded should have the parameters array - tx?.dataDecoded?.parameters[0]?.value === hashMessage(message) - ) - }) - } - - /** - * Sign a message using the Safe SDK - * @param safeAddress The Safe address - * @param message The message to be signed - */ - async signMessage( - safeAddress: string, - message: string - ): Promise { - try { - const safeVersion = await this.#protocolKit.getContractVersion() - - const signMessageContract = await getSignMessageLibContract({ - safeProvider: this.#safeProvider, - safeVersion - }) - - const txData = signMessageContract.encode('signMessage', [hashMessage(message)]) - - const safeTransactionData = { - to: signMessageContract.getAddress(), - value: '0', - data: txData, - operation: OperationType.DelegateCall - } - const safeTransaction = await this.#protocolKit.createTransaction({ - transactions: [safeTransactionData] - }) - - const safeTxHash = await this.#protocolKit.getTransactionHash(safeTransaction) - - const senderSignature = await this.#protocolKit.signHash(safeTxHash) - - const chainId = await this.#protocolKit.getChainId() - - const apiKit = new SafeApiKit({ chainId }) - - await apiKit.proposeTransaction({ - safeAddress, - safeTransactionData: safeTransaction.data, - safeTxHash, - senderAddress: (await this.#safeProvider.getSignerAddress()) || '', - senderSignature: senderSignature.data - }) - - const transaction = await apiKit.getTransaction(safeTxHash) - - return transaction - } catch (error) { - throw new Error(getErrorMessage(error)) - } - } - - /** - * Get the current chain id - * @returns The Chain Id - */ - async getChainId(): Promise { - return Number(await this.#protocolKit.getChainId()) - } - - /** - * Get the corresponding Monerium SDK Chain from the current chain id - * @returns The Chain - */ - async getChain(): Promise { - const chainId = await this.#protocolKit.getChainId() - - return getMoneriumChain(Number(chainId)) - } - - /** - * Get the corresponding Monerium SDK Network from the current chain id - * @returns The Network - */ - async getNetwork(): Promise { - const chainId = await this.#protocolKit.getChainId() - - return getMoneriumNetwork(Number(chainId)) - } - - /** - * Check if the message signature is valid using the fallback handler Smart Contract - * @param safeAddress The Safe address - * @param messageHash The message hash - * @returns A boolean indicating if the message is signed - */ - async #isValidSignature(safeAddress: string, messageHash: string): Promise { - try { - const [eip1271data, eip1271BytesData] = [EIP_1271_ABI, EIP_1271_BYTES_ABI].map((abi) => - encodeFunctionData({ - abi, - functionName: 'isValidSignature', - args: [messageHash as Hex, '0x'] - }) - ) - - const responses = await Promise.allSettled( - [eip1271data, eip1271BytesData].map((data) => - this.#safeProvider.call({ - from: safeAddress, - to: safeAddress, - data - }) - ) - ) - - return responses.reduce((prev, response) => { - if (response.status === 'fulfilled') { - return ( - prev || - decodeSignatureData(response.value) === MAGIC_VALUE || - decodeSignatureData(response.value) === MAGIC_VALUE_BYTES - ) - } - - return ( - prev || - parseIsValidSignatureErrorResponse(response.reason) === MAGIC_VALUE || - parseIsValidSignatureErrorResponse(response.reason) === MAGIC_VALUE_BYTES - ) - }, false) - } catch (error) { - throw new Error(getErrorMessage(error)) - } - } - - /** - * Create a valid order for the Monerium SDK - * @param order The order to be created - * @returns The Monerium type order - */ - async #createOrder(safeAddress: string, order: SafeMoneriumOrder): Promise { - return { - amount: order.amount, - signature: '0x', - address: safeAddress, - // currency: order.currency, - counterpart: order.counterpart, - memo: order.memo, - message: placeOrderMessage(order.amount, (order.counterpart.identifier as IBAN).iban), - chainId: await this.getChainId(), - supportingDocumentId: '' - } - } -} diff --git a/packages/onramp-kit/src/packs/monerium/index.ts b/packages/onramp-kit/src/packs/monerium/index.ts deleted file mode 100644 index fa243dca0..000000000 --- a/packages/onramp-kit/src/packs/monerium/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './MoneriumPack' -export * from './SafeMoneriumClient' -export * from './types' diff --git a/packages/onramp-kit/src/packs/monerium/signatures.ts b/packages/onramp-kit/src/packs/monerium/signatures.ts deleted file mode 100644 index 5f8392445..000000000 --- a/packages/onramp-kit/src/packs/monerium/signatures.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { parseAbi } from 'viem' - -// EIP-1271 magic values (https://eips.ethereum.org/EIPS/eip-1271) -// The four-byte code is defined as follows: -// - 0x00000000 if the signature is invalid. -// - 0x20c13b0b if the signature is valid and was produced using the eth_sign method. -// - 0x1626ba7e if the signature is valid and was produced using the personal_sign method. - -// More info: https://docs.safe.global/safe-core-protocol/signatures/eip-1271 -const MAGIC_VALUE = '0x1626ba7e' -const MAGIC_VALUE_BYTES = '0x20c13b0b' - -const EIP_1271_ABI = parseAbi([ - 'function isValidSignature(bytes32 _dataHash, bytes calldata _signature) external view' -]) -const EIP_1271_BYTES_ABI = parseAbi([ - 'function isValidSignature(bytes calldata _data, bytes calldata _signature) public view' -]) - -export { EIP_1271_BYTES_ABI, EIP_1271_ABI, MAGIC_VALUE, MAGIC_VALUE_BYTES } diff --git a/packages/onramp-kit/src/packs/monerium/types.ts b/packages/onramp-kit/src/packs/monerium/types.ts deleted file mode 100644 index b3efba9a8..000000000 --- a/packages/onramp-kit/src/packs/monerium/types.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Counterpart, MoneriumEvent, MoneriumEventListener } from '@monerium/sdk' -import Safe from '@safe-global/protocol-kit' - -export interface MoneriumProviderConfig { - clientId: string - redirectUrl: string - environment: 'production' | 'sandbox' -} - -export interface MoneriumInitOptions { - protocolKit: Safe -} - -export interface SafeMoneriumOrder { - amount: string - counterpart: Counterpart - memo: string -} - -export type MoneriumWebSocketOptions = { - profile: string - accessToken: string - env: 'production' | 'sandbox' - subscriptions: Map -} - -export type MoneriumOpenOptions = { - initiateAuthFlow?: boolean -} diff --git a/packages/onramp-kit/src/packs/stripe/StripePack.test.ts b/packages/onramp-kit/src/packs/stripe/StripePack.test.ts deleted file mode 100644 index bde7584b0..000000000 --- a/packages/onramp-kit/src/packs/stripe/StripePack.test.ts +++ /dev/null @@ -1,153 +0,0 @@ -import EventEmitter from 'events' -import { StripePack } from './StripePack' -import * as stripeApi from './stripeApi' - -import type { StripeOpenOptions, StripeSession } from './types' -import { OnRampKitBasePack } from '@safe-global/onramp-kit/index' - -const openOptions: StripeOpenOptions = { - element: '#root', - defaultOptions: { - transaction_details: { - wallet_address: '0x', - supported_destination_networks: ['ethereum'] - } - } -} - -const config = { - stripePublicKey: 'pk_test_123', - onRampBackendUrl: 'https://onramp-backend-url' -} - -const session: StripeSession = { - id: 'cos_1MhDe5KSn9ArdBimmQzf4vzc', - object: 'crypto.onramp_session', - client_secret: 'cos_1MhDe5KSn9ArdBimmQzf4vzc_secret_NaOoTfOKoDPCXfGVJz3KX15XO00H6ZNiTOm', - livemode: false, - status: 'initialized', - transaction_details: { - destination_currency: null, - destination_network: null, - lock_wallet_address: true, - source_currency: null, - source_exchange_amount: null, - supported_destination_currencies: ['btc', 'eth', 'sol', 'usdc'], - supported_destination_networks: ['ethereum', 'polygon'], - transaction_id: null, - wallet_address: '0xD725e11588f040d86c4C49d8236E32A5868549F0', - wallet_addresses: null - } -} - -const eventEmitter = new EventEmitter() -const mockMount = jest.fn() -const mockAddEventListener = jest - .fn() - .mockImplementation((event, listener) => eventEmitter.on(event, listener)) -const mockDispatch = jest.fn().mockImplementation((event, data) => eventEmitter.emit(event, data)) - -jest.mock('@stripe/crypto', () => { - return { - loadStripeOnramp: jest.fn().mockImplementation(() => { - return Promise.resolve({ - createSession: jest.fn().mockReturnValue({ - mount: mockMount, - addEventListener: mockAddEventListener, - dispatchEvent: mockDispatch - }) - }) - }) - } -}) - -describe('StripePack', () => { - beforeEach(() => { - jest.clearAllMocks() - }) - - it('should create a StripePack instance', () => { - const stripePack = new StripePack(config) - - expect(stripePack).toBeInstanceOf(StripePack) - expect(stripePack).toBeInstanceOf(OnRampKitBasePack) - }) - - it('should try to mount the node specified in the config when open() is called', async () => { - const createSessionSpy = jest - .spyOn(stripeApi, 'createSession') - .mockImplementationOnce(() => Promise.resolve(session)) - - const stripePack = new StripePack(config) - - await stripePack.init() - - const returnedSession = await stripePack.open(openOptions) - - expect(mockMount).toHaveBeenCalledWith(openOptions.element) - expect(returnedSession).toEqual(session) - expect(createSessionSpy).toHaveBeenCalledWith('https://onramp-backend-url', { - transaction_details: { - wallet_address: '0x', - supported_destination_networks: ['ethereum'] - } - }) - }) - - it('should throw an exception if the createSession fail', async () => { - const error = new Error('Error creating session') - - jest.spyOn(stripeApi, 'createSession').mockImplementationOnce(() => Promise.reject(error)) - - const stripePack = new StripePack(config) - - await stripePack.init() - - await expect(stripePack.open(openOptions)).rejects.toThrow(error) - }) - - it('should try to get the session if a sessionId is provided', async () => { - const getSessionSpy = jest - .spyOn(stripeApi, 'getSession') - .mockImplementationOnce(() => Promise.resolve(session)) - - const stripePack = new StripePack(config) - - await stripePack.init() - - const returnedSession = await stripePack.open({ ...openOptions, sessionId: 'session-id' }) - - expect(mockMount).toHaveBeenCalledWith(openOptions.element) - expect(returnedSession).toEqual(session) - expect(getSessionSpy).toHaveBeenCalledWith('https://onramp-backend-url', 'session-id') - }) - - it('should respond to events', async () => { - const mockOnLoaded = jest.fn() - const mockOnSessionUpdated = jest.fn() - - jest.spyOn(stripeApi, 'createSession').mockImplementationOnce(() => Promise.resolve(session)) - - const stripePack = new StripePack(config) - - await stripePack.init() - - await stripePack.open({ - ...openOptions - }) - - stripePack.subscribe('onramp_ui_loaded', mockOnLoaded) - stripePack.subscribe('onramp_session_updated', mockOnSessionUpdated) - - expect(mockAddEventListener).toHaveBeenCalledTimes(2) - mockDispatch('onramp_ui_loaded', 'sessionData') - expect(mockOnLoaded).toHaveBeenCalled() - - mockDispatch('onramp_session_updated', { - payload: { - session: { status: 'fulfillment_complete', quote: { source_monetary_amount: '10' } } - } - }) - expect(mockOnSessionUpdated).toHaveBeenCalled() - }) -}) diff --git a/packages/onramp-kit/src/packs/stripe/StripePack.ts b/packages/onramp-kit/src/packs/stripe/StripePack.ts deleted file mode 100644 index 30999c487..000000000 --- a/packages/onramp-kit/src/packs/stripe/StripePack.ts +++ /dev/null @@ -1,109 +0,0 @@ -import { loadStripeOnramp, OnrampSession, StripeOnramp } from '@stripe/crypto' -import { getErrorMessage } from '@safe-global/onramp-kit/lib/errors' -import { OnRampKitBasePack } from '@safe-global/onramp-kit/OnRampKitBasePack' - -import * as stripeApi from './stripeApi' - -import type { - StripeProviderConfig, - StripeEvent, - StripeEventListener, - StripeOpenOptions, - StripeSession -} from './types' - -/** - * This class extends the OnRampKitBasePack to work with the Stripe platform - * @class StripePack - */ -export class StripePack extends OnRampKitBasePack { - #config: StripeProviderConfig - #element?: string - #client?: StripeOnramp - #onRampSession?: OnrampSession - - /** - * Initialize the StripePack - * @constructor - * @param config The configuration object for the Stripe provider. Ideally we will put here things like api keys, secrets, urls, etc. - */ - constructor(config: StripeProviderConfig) { - super() - this.#config = config - } - - /** - * This method loads the Stripe JS files and initializes the StripeOnRamp object - */ - async init() { - try { - this.#client = (await loadStripeOnramp(this.#config.stripePublicKey)) || undefined - } catch (e) { - throw new Error(getErrorMessage(e)) - } - } - - /** - * This method open the onramp widget with the provided Stripe options - * @param options The options to open the onramp widget - */ - async open({ - element, - theme = 'light', - sessionId, - defaultOptions - }: StripeOpenOptions): Promise { - if (!this.#client) throw new Error('The Stripe crypto SDK is not initialized') - - try { - let session - - if (sessionId) { - session = await stripeApi.getSession(this.#config.onRampBackendUrl, sessionId) - } else { - session = await stripeApi.createSession(this.#config.onRampBackendUrl, defaultOptions) - } - - const onRampSession = this.#client.createSession({ - clientSecret: session.client_secret, - appearance: { - theme: theme - } - }) - - this.#onRampSession = onRampSession - this.#element = element - - onRampSession.mount(element) - - return session - } catch (e) { - throw new Error(getErrorMessage(e)) - } - } - - /** - * This method close the onramp widget - */ - async close() { - throw new Error('Method not implemented.') - } - - /** - * Subscribe to an event - * @param event The Stripe event to subscribe or '*' to subscribe to all events - * @param handler The callback to execute when the event is triggered - */ - subscribe(event: StripeEvent, handler: StripeEventListener): void { - this.#onRampSession?.addEventListener(event as '*', handler) - } - - /** - * Unsubscribe from an event - * @param event The Stripe event to unsubscribe or '*' to unsubscribe from all events - * @param handler The callback to remove from the event - */ - unsubscribe(event: StripeEvent, handler: StripeEventListener): void { - this.#onRampSession?.removeEventListener(event as '*', handler) - } -} diff --git a/packages/onramp-kit/src/packs/stripe/index.ts b/packages/onramp-kit/src/packs/stripe/index.ts deleted file mode 100644 index 47b44727e..000000000 --- a/packages/onramp-kit/src/packs/stripe/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './StripePack' -export * from './types' diff --git a/packages/onramp-kit/src/packs/stripe/stripeApi.test.ts b/packages/onramp-kit/src/packs/stripe/stripeApi.test.ts deleted file mode 100644 index 230aee1de..000000000 --- a/packages/onramp-kit/src/packs/stripe/stripeApi.test.ts +++ /dev/null @@ -1,72 +0,0 @@ -import * as stripeApi from './stripeApi' -import { StripeDefaultOpenOptions } from './types' - -const baseUrl = 'https://api.stripe.com/v1' - -const config: StripeDefaultOpenOptions = { - transaction_details: { - wallet_address: '0x', - supported_destination_currencies: ['ethereum'] - } -} -const session = { - id: 'cos_1MhDe5KSn9ArdBimmQzf4vzc', - object: 'crypto.onramp_session', - client_secret: 'cos_1MhDe5KSn9ArdBimmQzf4vzc_secret_NaOoTfOKoDPCXfGVJz3KX15XO00H6ZNiTOm', - livemode: false, - status: 'initialized' -} - -describe('stripeApi', () => { - beforeEach(() => { - jest.clearAllMocks() - }) - - it('should allow to create a new session', async () => { - global.fetch = jest - .fn() - .mockImplementationOnce(() => - Promise.resolve({ json: () => Promise.resolve(session), ok: true }) - ) - - const createdSession = await stripeApi.createSession(baseUrl, config) - - expect(createdSession).toEqual(session) - }) - - it('should throw an exception when the fetch call fail', async () => { - global.fetch = jest - .fn() - .mockImplementationOnce(() => - Promise.resolve({ json: () => Promise.reject('http error'), ok: false }) - ) - - expect(stripeApi.createSession(baseUrl, config)).rejects.toThrow( - "Couldn't create a new Stripe session" - ) - }) - - it('should allow to get a new session', async () => { - global.fetch = jest - .fn() - .mockImplementationOnce(() => - Promise.resolve({ json: () => Promise.resolve(session), ok: true }) - ) - - const createdSession = await stripeApi.getSession(baseUrl, 'session-id') - - expect(createdSession).toEqual(session) - }) - - it('should throw an exception when the get session call fail', async () => { - global.fetch = jest - .fn() - .mockImplementationOnce(() => - Promise.resolve({ json: () => Promise.reject('http error'), ok: false }) - ) - - expect(stripeApi.getSession(baseUrl, 'session-id')).rejects.toThrow( - "Couldn't get the session with id session-id" - ) - }) -}) diff --git a/packages/onramp-kit/src/packs/stripe/stripeApi.ts b/packages/onramp-kit/src/packs/stripe/stripeApi.ts deleted file mode 100644 index 296f36d6c..000000000 --- a/packages/onramp-kit/src/packs/stripe/stripeApi.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { getErrorMessage } from '@safe-global/onramp-kit/lib/errors' -import { StripeDefaultOpenOptions, StripeSession } from './types' - -export const createSession = async ( - baseUrl: string, - defaultOptions: StripeDefaultOpenOptions -): Promise => { - try { - const response = await fetch(`${baseUrl}/api/v1/onramp/stripe/session`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify(defaultOptions) - }) - - if (!response.ok) throw new Error("Couldn't create a new Stripe session") - - return response.json() - } catch (error) { - throw new Error(getErrorMessage(error)) - } -} - -export const getSession = async (baseUrl: string, sessionId: string) => { - try { - const response = await fetch(`${baseUrl}/api/v1/onramp/stripe/session/${sessionId}`) - - if (!response.ok) throw new Error(`Couldn't get the session with id ${sessionId}`) - - return response.json() - } catch (error) { - throw new Error(getErrorMessage(error)) - } -} diff --git a/packages/onramp-kit/src/packs/stripe/types.ts b/packages/onramp-kit/src/packs/stripe/types.ts deleted file mode 100644 index bf663a75e..000000000 --- a/packages/onramp-kit/src/packs/stripe/types.ts +++ /dev/null @@ -1,119 +0,0 @@ -import { OnrampUIEventListener, OnrampUIEventMap } from '@stripe/crypto' - -interface QuoteCurrency { - id: string - asset_code: string - asset_display_name: string - currency_minor_units: number - currency_network: string - currency_symbol: string - currency_symbol_location: string -} - -interface Fees { - network_fee: string - network_fee_monetary: string - total_fee: string - transaction_fee: string - transaction_fee_monetary: string -} - -interface Quote { - blockchain_tx_id: string - destination_amount: string | null - destination_crypto_amount: string | null - destination_currency: QuoteCurrency | null - expiration: number - fees: Fees - fixed_currency_side: string - source_amount: string | null - source_currency: QuoteCurrency | null - source_monetary_amount: string | null - time_to_expiration: number - total_amount: string -} - -interface TransactionDetails { - transaction_id?: string | null - destination_amount?: string | null - destination_crypto_amount?: string | null - destination_currency?: string | null - destination_network?: string | null - lock_wallet_address?: boolean - source_amount?: string | null - source_exchange_amount?: string | null - source_currency?: string | null - source_monetary_amount?: string | null - supported_destination_currencies?: string[] - supported_destination_networks?: string[] - destination_exchange_amount?: string | null - wallet_address?: string - wallet_addresses?: any -} - -export interface StripeSession { - id: string - object: string - livemode: boolean - client_secret: string - quote?: Quote - wallet_address?: string - fixed_transaction_details?: TransactionDetails - transaction_details?: TransactionDetails - status: string -} - -export interface StripeProviderConfig { - stripePublicKey: string - onRampBackendUrl: string -} - -export type StripeTransactionOptions = Pick< - TransactionDetails, - | 'wallet_address' - | 'wallet_addresses' - | 'lock_wallet_address' - | 'source_currency' - | 'source_exchange_amount' - | 'destination_network' - | 'destination_currency' - | 'destination_exchange_amount' - | 'supported_destination_currencies' - | 'supported_destination_networks' -> - -type StripeCustomerInformation = { - email?: string - first_name?: string - last_name?: string - dob?: { - year?: string - month?: string - day?: string - } - address?: { - country?: string - line1?: string - line2?: string - city?: string - state?: string - postal_code?: string - } -} - -export type StripeDefaultOpenOptions = { - transaction_details?: StripeTransactionOptions - customer_information?: StripeCustomerInformation - customer_ip_address?: string - customer_wallet_address?: string -} - -export type StripeOpenOptions = { - element: string - sessionId?: string - theme?: 'light' | 'dark' - defaultOptions: StripeDefaultOpenOptions -} - -export type StripeEvent = '*' | keyof OnrampUIEventMap -export type StripeEventListener = OnrampUIEventListener diff --git a/packages/onramp-kit/tsconfig.build.json b/packages/onramp-kit/tsconfig.build.json deleted file mode 100644 index c05e497c4..000000000 --- a/packages/onramp-kit/tsconfig.build.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.settings.json", - "compilerOptions": { - "composite": true, - "outDir": "dist" - }, - "include": ["src/**/*"] -} diff --git a/packages/onramp-kit/tsconfig.json b/packages/onramp-kit/tsconfig.json deleted file mode 100644 index c05e497c4..000000000 --- a/packages/onramp-kit/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.settings.json", - "compilerOptions": { - "composite": true, - "outDir": "dist" - }, - "include": ["src/**/*"] -} diff --git a/packages/protocol-kit/package.json b/packages/protocol-kit/package.json index 918d63714..7d3d5d6db 100644 --- a/packages/protocol-kit/package.json +++ b/packages/protocol-kit/package.json @@ -1,6 +1,6 @@ { "name": "@safe-global/protocol-kit", - "version": "4.1.0", + "version": "4.1.1", "description": "SDK that facilitates the interaction with Safe Smart Accounts", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -16,26 +16,26 @@ "update-safe-deployments": "ts-node scripts/safe-deployments/updateLocalNetworks.ts", "check-short-name-integrity": "ts-node scripts/safe-deployments/checkShortNameIntegrity.ts", "test": "mocha -r ts-node/register -r tsconfig-paths/register tests/unit/**/*.ts", - "test:hardhat:web3:v1.0.0": "export TEST_NETWORK=hardhat && export ETH_LIB=web3 && export SAFE_VERSION=1.0.0 && hardhat deploy && nyc hardhat test", - "test:hardhat:web3:v1.1.1": "export TEST_NETWORK=hardhat && export ETH_LIB=web3 && export SAFE_VERSION=1.1.1 && hardhat deploy && nyc hardhat test", - "test:hardhat:web3:v1.2.0": "export TEST_NETWORK=hardhat && export ETH_LIB=web3 && export SAFE_VERSION=1.2.0 && hardhat deploy && nyc hardhat test", - "test:hardhat:web3:v1.3.0": "export TEST_NETWORK=hardhat && export ETH_LIB=web3 && export SAFE_VERSION=1.3.0 && hardhat deploy && nyc hardhat test", - "test:hardhat:web3:v1.4.1": "export TEST_NETWORK=hardhat && export ETH_LIB=web3 && export SAFE_VERSION=1.4.1 && hardhat deploy && nyc hardhat test", - "test:hardhat:ethers:v1.0.0": "export TEST_NETWORK=hardhat && export ETH_LIB=ethers && export SAFE_VERSION=1.0.0 && hardhat deploy && nyc hardhat test", - "test:hardhat:ethers:v1.1.1": "export TEST_NETWORK=hardhat && export ETH_LIB=ethers && export SAFE_VERSION=1.1.1 && hardhat deploy && nyc hardhat test", - "test:hardhat:ethers:v1.2.0": "export TEST_NETWORK=hardhat && export ETH_LIB=ethers && export SAFE_VERSION=1.2.0 && hardhat deploy && nyc hardhat test", - "test:hardhat:ethers:v1.3.0": "export TEST_NETWORK=hardhat && export ETH_LIB=ethers && export SAFE_VERSION=1.3.0 && hardhat deploy && nyc hardhat test", - "test:hardhat:ethers:v1.4.1": "export TEST_NETWORK=hardhat && export ETH_LIB=ethers && export SAFE_VERSION=1.4.1 && hardhat deploy && nyc hardhat test", - "test:hardhat:viem:v1.0.0": "export TEST_NETWORK=hardhat && export ETH_LIB=viem && export SAFE_VERSION=1.0.0 && hardhat deploy && nyc hardhat test", - "test:hardhat:viem:v1.1.1": "export TEST_NETWORK=hardhat && export ETH_LIB=viem && export SAFE_VERSION=1.1.1 && hardhat deploy && nyc hardhat test", - "test:hardhat:viem:v1.2.0": "export TEST_NETWORK=hardhat && export ETH_LIB=viem && export SAFE_VERSION=1.2.0 && hardhat deploy && nyc hardhat test", - "test:hardhat:viem:v1.3.0": "export TEST_NETWORK=hardhat && export ETH_LIB=viem && export SAFE_VERSION=1.3.0 && hardhat deploy && nyc hardhat test", - "test:hardhat:viem:v1.4.1": "export TEST_NETWORK=hardhat && export ETH_LIB=viem && export SAFE_VERSION=1.4.1 && hardhat deploy && nyc hardhat test", + "test:hardhat:web3:v1.0.0": "export TEST_NETWORK=hardhat && export ETH_LIB=web3 && export SAFE_VERSION=1.0.0 && testing-kit deploy && nyc testing-kit test 'tests/e2e/*.test.*'", + "test:hardhat:web3:v1.1.1": "export TEST_NETWORK=hardhat && export ETH_LIB=web3 && export SAFE_VERSION=1.1.1 && testing-kit deploy && nyc testing-kit test 'tests/e2e/*.test.*'", + "test:hardhat:web3:v1.2.0": "export TEST_NETWORK=hardhat && export ETH_LIB=web3 && export SAFE_VERSION=1.2.0 && testing-kit deploy && nyc testing-kit test 'tests/e2e/*.test.*'", + "test:hardhat:web3:v1.3.0": "export TEST_NETWORK=hardhat && export ETH_LIB=web3 && export SAFE_VERSION=1.3.0 && testing-kit deploy && nyc testing-kit test 'tests/e2e/*.test.*'", + "test:hardhat:web3:v1.4.1": "export TEST_NETWORK=hardhat && export ETH_LIB=web3 && export SAFE_VERSION=1.4.1 && testing-kit deploy && nyc testing-kit test 'tests/e2e/*.test.*'", + "test:hardhat:ethers:v1.0.0": "export TEST_NETWORK=hardhat && export ETH_LIB=ethers && export SAFE_VERSION=1.0.0 && testing-kit deploy && nyc testing-kit test 'tests/e2e/*.test.*'", + "test:hardhat:ethers:v1.1.1": "export TEST_NETWORK=hardhat && export ETH_LIB=ethers && export SAFE_VERSION=1.1.1 && testing-kit deploy && nyc testing-kit test 'tests/e2e/*.test.*'", + "test:hardhat:ethers:v1.2.0": "export TEST_NETWORK=hardhat && export ETH_LIB=ethers && export SAFE_VERSION=1.2.0 && testing-kit deploy && nyc testing-kit test 'tests/e2e/*.test.*'", + "test:hardhat:ethers:v1.3.0": "export TEST_NETWORK=hardhat && export ETH_LIB=ethers && export SAFE_VERSION=1.3.0 && testing-kit deploy && nyc testing-kit test 'tests/e2e/*.test.*'", + "test:hardhat:ethers:v1.4.1": "export TEST_NETWORK=hardhat && export ETH_LIB=ethers && export SAFE_VERSION=1.4.1 && testing-kit deploy && nyc testing-kit test 'tests/e2e/*.test.*'", + "test:hardhat:viem:v1.0.0": "export TEST_NETWORK=hardhat && export ETH_LIB=viem && export SAFE_VERSION=1.0.0 && testing-kit deploy && nyc testing-kit test 'tests/e2e/*.test.*'", + "test:hardhat:viem:v1.1.1": "export TEST_NETWORK=hardhat && export ETH_LIB=viem && export SAFE_VERSION=1.1.1 && testing-kit deploy && nyc testing-kit test 'tests/e2e/*.test.*'", + "test:hardhat:viem:v1.2.0": "export TEST_NETWORK=hardhat && export ETH_LIB=viem && export SAFE_VERSION=1.2.0 && testing-kit deploy && nyc testing-kit test 'tests/e2e/*.test.*'", + "test:hardhat:viem:v1.3.0": "export TEST_NETWORK=hardhat && export ETH_LIB=viem && export SAFE_VERSION=1.3.0 && testing-kit deploy && nyc testing-kit test 'tests/e2e/*.test.*'", + "test:hardhat:viem:v1.4.1": "export TEST_NETWORK=hardhat && export ETH_LIB=viem && export SAFE_VERSION=1.4.1 && testing-kit deploy && nyc testing-kit test 'tests/e2e/*.test.*'", "coverage": "nyc report --reporter=lcov", "format:check": "prettier --check \"*/**/*.{js,json,md,ts}\"", "format": "prettier --write \"*/**/*.{js,json,md,ts}\"", "unbuild": "rimraf dist artifacts deployments cache .nyc_output *.tsbuildinfo", - "build": "yarn unbuild && hardhat compile && yarn check-safe-deployments && NODE_OPTIONS=--max-old-space-size=8192 tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json" + "build": "yarn unbuild && yarn check-safe-deployments && NODE_OPTIONS=--max-old-space-size=8192 tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json" }, "repository": { "type": "git", @@ -51,35 +51,28 @@ ], "homepage": "https://github.com/safe-global/safe-core-sdk#readme", "devDependencies": { - "@gnosis.pm/safe-contracts-v1.3.0": "npm:@gnosis.pm/safe-contracts@1.3.0", - "@nomicfoundation/hardhat-viem": "^2.0.2", - "@openzeppelin/contracts": "^2.5.1", - "@safe-global/safe-contracts-v1.4.1": "npm:@safe-global/safe-contracts@1.4.1", "@safe-global/safe-passkey": "0.2.0-alpha.1", - "@types/chai": "^4.3.16", + "@safe-global/testing-kit": "^0.0.1-alpha.1", + "@types/chai": "^4.3.19", "@types/chai-as-promised": "^7.1.8", - "@types/mocha": "^10.0.6", + "@types/mocha": "^10.0.8", "@types/semver": "^7.5.8", - "@types/yargs": "^17.0.32", "chai": "^4.3.10", "chai-as-promised": "^7.1.1", "dotenv": "^16.4.5", - "ethers": "^6.13.1", - "hardhat": "^2.19.3", - "hardhat-deploy": "^0.11.45", + "ethers": "^6.13.2", "mocha": "^10.2.0", "nyc": "^15.1.0", "tsconfig-paths": "^4.2.0", - "web3": "^4.7.0", - "yargs": "^17.7.2" + "web3": "^4.12.1" }, "dependencies": { "@noble/hashes": "^1.3.3", - "@safe-global/safe-core-sdk-types": "^5.1.0", - "@safe-global/safe-deployments": "^1.37.5", + "@safe-global/types-kit": "^1.0.0", + "@safe-global/safe-deployments": "^1.37.9", "@safe-global/safe-modules-deployments": "^2.2.1", "abitype": "^1.0.2", - "semver": "^7.6.2", - "viem": "^2.19.0" + "semver": "^7.6.3", + "viem": "^2.21.8" } } diff --git a/packages/protocol-kit/scripts/safe-deployments/utils.ts b/packages/protocol-kit/scripts/safe-deployments/utils.ts index acca89fde..627e5378b 100644 --- a/packages/protocol-kit/scripts/safe-deployments/utils.ts +++ b/packages/protocol-kit/scripts/safe-deployments/utils.ts @@ -1,5 +1,5 @@ import axios from 'axios' -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' import { DeploymentFilter, getSafeSingletonDeployment } from '@safe-global/safe-deployments' import { networks } from '../../src/utils/eip-3770/config' diff --git a/packages/protocol-kit/src/Safe.ts b/packages/protocol-kit/src/Safe.ts index d25f8d7f2..9c6a00ecf 100644 --- a/packages/protocol-kit/src/Safe.ts +++ b/packages/protocol-kit/src/Safe.ts @@ -14,7 +14,7 @@ import { EIP712TypedData, SafeTransactionData, CompatibilityFallbackHandlerContractType -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import { encodeSetupCallData, getChainSpecificDefaultSaltNonce, @@ -74,8 +74,8 @@ import { import { isSafeConfigWithPredictedSafe } from './utils/types' import { getCompatibilityFallbackHandlerContract, - getMultiSendCallOnlyContract, - getProxyFactoryContract + getSafeProxyFactoryContract, + getSafeContract } from './contracts/safeDeploymentContracts' import SafeMessage from './utils/messages/SafeMessage' import semverSatisfies from 'semver/functions/satisfies' @@ -156,7 +156,7 @@ class Safe { ) } - const safeVersion = await this.getContractVersion() + const safeVersion = this.getContractVersion() this.#safeProvider = await SafeProvider.init(provider, signer, safeVersion, contractNetworks) this.#ownerManager = new OwnerManager(this.#safeProvider, this.#contractManager.safeContract) @@ -266,7 +266,7 @@ class Safe { */ async getAddress(): Promise { if (this.#predictedSafe) { - const safeVersion = await this.getContractVersion() + const safeVersion = this.getContractVersion() if (!hasSafeFeature(SAFE_FEATURES.ACCOUNT_ABSTRACTION, safeVersion)) { throw new Error( 'Account Abstraction functionality is not available for Safes with version lower than v1.3.0' @@ -341,16 +341,16 @@ class Safe { * * @returns The Safe Singleton contract version */ - async getContractVersion(): Promise { + getContractVersion(): SafeVersion { if (this.#contractManager.safeContract) { - return this.#contractManager.safeContract.getVersion() + return this.#contractManager.safeContract.safeVersion } if (this.#predictedSafe?.safeDeploymentConfig?.safeVersion) { - return Promise.resolve(this.#predictedSafe.safeDeploymentConfig.safeVersion) + return this.#predictedSafe.safeDeploymentConfig.safeVersion } - return Promise.resolve(DEFAULT_SAFE_VERSION) + return DEFAULT_SAFE_VERSION } /** @@ -491,7 +491,7 @@ class Safe { onlyCalls = false, options }: CreateTransactionProps): Promise { - const safeVersion = await this.getContractVersion() + const safeVersion = this.getContractVersion() if (this.#predictedSafe && !hasSafeFeature(SAFE_FEATURES.ACCOUNT_ABSTRACTION, safeVersion)) { throw new Error( 'Account Abstraction functionality is not available for Safes with version lower than v1.3.0' @@ -598,7 +598,7 @@ class Safe { */ async getTransactionHash(safeTransaction: SafeTransaction): Promise { const safeAddress = await this.getAddress() - const safeVersion = await this.getContractVersion() + const safeVersion = this.getContractVersion() const chainId = await this.getChainId() return calculateSafeTransactionHash(safeAddress, safeTransaction.data, safeVersion, chainId) @@ -655,20 +655,17 @@ class Safe { signingMethod: SigningMethodType = SigningMethod.ETH_SIGN_TYPED_DATA_V4, preimageSafeAddress?: string ): Promise { - const owners = await this.getOwners() const signerAddress = await this.#safeProvider.getSignerAddress() if (!signerAddress) { - throw new Error('SafeProvider must be initialized with a signer to use this method') + throw new Error('The protocol-kit requires a signer to use this method') } - const addressIsOwner = owners.some( - (owner: string) => signerAddress && sameString(owner, signerAddress) - ) + const addressIsOwner = await this.isOwner(signerAddress) if (!addressIsOwner) { throw new Error('Messages can only be signed by Safe owners') } - const safeVersion = await this.getContractVersion() + const safeVersion = this.getContractVersion() if ( signingMethod === SigningMethod.SAFE_SIGNATURE && semverSatisfies(safeVersion, EQ_OR_GT_1_4_1) && @@ -737,7 +734,7 @@ class Safe { ): Promise { const safeEIP712Args: SafeEIP712Args = { safeAddress: await this.getAddress(), - safeVersion: await this.getContractVersion(), + safeVersion: this.getContractVersion(), chainId: await this.#safeProvider.getChainId(), data: eip712Data.data } @@ -766,21 +763,17 @@ class Safe { ? await this.toSafeTransactionType(safeTransaction) : safeTransaction - const owners = await this.getOwners() const signerAddress = await this.#safeProvider.getSignerAddress() - if (!signerAddress) { - throw new Error('SafeProvider must be initialized with a signer to use this method') + throw new Error('The protocol-kit requires a signer to use this method') } - const addressIsOwner = owners.some( - (owner: string) => signerAddress && sameString(owner, signerAddress) - ) + const addressIsOwner = await this.isOwner(signerAddress) if (!addressIsOwner) { throw new Error('Transactions can only be signed by Safe owners') } - const safeVersion = await this.getContractVersion() + const safeVersion = this.getContractVersion() if ( signingMethod === SigningMethod.SAFE_SIGNATURE && semverSatisfies(safeVersion, EQ_OR_GT_1_3_0) && @@ -804,7 +797,7 @@ class Safe { } else if (signingMethod === SigningMethod.ETH_SIGN_TYPED_DATA) { signature = await this.signTypedData(transaction, undefined) } else { - const safeVersion = await this.getContractVersion() + const safeVersion = this.getContractVersion() const chainId = await this.getChainId() if (!hasSafeFeature(SAFE_FEATURES.ETH_SIGN, safeVersion)) { throw new Error('eth_sign is only supported by Safes >= v1.1.0') @@ -857,14 +850,12 @@ class Safe { throw new Error('Safe is not deployed') } - const owners = await this.getOwners() const signerAddress = await this.#safeProvider.getSignerAddress() if (!signerAddress) { - throw new Error('SafeProvider must be initialized with a signer to use this method') + throw new Error('The protocol-kit requires a signer to use this method') } - const addressIsOwner = owners.some( - (owner: string) => signerAddress && sameString(owner, signerAddress) - ) + + const addressIsOwner = await this.isOwner(signerAddress) if (!addressIsOwner) { throw new Error('Transaction hashes can only be approved by Safe owners') } @@ -1285,12 +1276,14 @@ class Safe { for (const owner of ownersWhoApprovedTx) { signedSafeTransaction.addSignature(generatePreValidatedSignature(owner)) } - const owners = await this.getOwners() + const signerAddress = await this.#safeProvider.getSignerAddress() if (!signerAddress) { - throw new Error('SafeProvider must be initialized with a signer to use this method') + throw new Error('The protocol-kit requires a signer to use this method') } - if (owners.includes(signerAddress)) { + + const addressIsOwner = await this.isOwner(signerAddress) + if (addressIsOwner) { signedSafeTransaction.addSignature(generatePreValidatedSignature(signerAddress)) } @@ -1410,16 +1403,16 @@ class Safe { * */ async getEncodedTransaction(safeTransaction: SafeTransaction): Promise { - const safeVersion = await this.getContractVersion() + const safeVersion = this.getContractVersion() const chainId = await this.getChainId() const customContracts = this.#contractManager.contractNetworks?.[chainId.toString()] const isL1SafeSingleton = this.#contractManager.isL1SafeSingleton - const safeSingletonContract = await this.#safeProvider.getSafeContract({ + const safeSingletonContract = await getSafeContract({ + safeProvider: this.#safeProvider, safeVersion, isL1SafeSingleton, - customContractAbi: customContracts?.safeSingletonAbi, - customContractAddress: customContracts?.safeSingletonAddress + customContracts }) const encodedTransaction = safeSingletonContract.encode('execTransaction', [ @@ -1523,15 +1516,15 @@ class Safe { const isL1SafeSingleton = this.#contractManager.isL1SafeSingleton const customContracts = this.#contractManager.contractNetworks?.[chainId.toString()] - const safeSingletonContract = await safeProvider.getSafeContract({ + const safeSingletonContract = await getSafeContract({ + safeProvider, safeVersion, isL1SafeSingleton, - customContractAddress: customContracts?.safeSingletonAddress, - customContractAbi: customContracts?.safeSingletonAbi + customContracts }) // we use the SafeProxyFactory.sol contract, see: https://github.com/safe-global/safe-contracts/blob/main/contracts/proxies/SafeProxyFactory.sol - const safeProxyFactoryContract = await getProxyFactoryContract({ + const safeProxyFactoryContract = await getSafeProxyFactoryContract({ safeProvider, safeVersion, customContracts @@ -1574,14 +1567,8 @@ class Safe { transactions: MetaTransactionData[], transactionOptions?: TransactionOptions ): Promise { - const chainId = await this.#safeProvider.getChainId() - // we use the MultiSend contract to create the batch, see: https://github.com/safe-global/safe-contracts/blob/main/contracts/libraries/MultiSendCallOnly.sol - const multiSendCallOnlyContract = await getMultiSendCallOnlyContract({ - safeProvider: this.#safeProvider, - safeVersion: await this.getContractVersion(), - customContracts: this.#contractManager.contractNetworks?.[chainId.toString()] - }) + const multiSendCallOnlyContract = this.#contractManager.multiSendCallOnlyContract // multiSend method with the transactions encoded const batchData = multiSendCallOnlyContract.encode('multiSend', [ @@ -1608,8 +1595,7 @@ class Safe { throw new Error('Safe is not deployed') } - const safeVersion = - (await this.#contractManager.safeContract.getVersion()) ?? DEFAULT_SAFE_VERSION + const safeVersion = this.#contractManager.safeContract.safeVersion ?? DEFAULT_SAFE_VERSION const chainId = await this.#safeProvider.getChainId() const compatibilityFallbackHandlerContract = await getCompatibilityFallbackHandlerContract({ @@ -1630,7 +1616,7 @@ class Safe { */ getSafeMessageHash = async (messageHash: string): Promise => { const safeAddress = await this.getAddress() - const safeVersion = await this.getContractVersion() + const safeVersion = this.getContractVersion() const chainId = await this.getChainId() return calculateSafeMessageHash(safeAddress, messageHash, safeVersion, chainId) diff --git a/packages/protocol-kit/src/SafeProvider.ts b/packages/protocol-kit/src/SafeProvider.ts index 154c4cbe2..d60e06b59 100644 --- a/packages/protocol-kit/src/SafeProvider.ts +++ b/packages/protocol-kit/src/SafeProvider.ts @@ -1,8 +1,12 @@ import { + createPasskeyClient, SAFE_FEATURES, generateTypedData, hasSafeFeature, - validateEip3770Address + validateEip3770Address, + toEstimateGasParameters, + toTransactionRequest, + sameString } from '@safe-global/protocol-kit/utils' import { isTypedDataSigner } from '@safe-global/protocol-kit/contracts/utils' import { @@ -15,22 +19,9 @@ import { Eip3770Address, SafeEIP712Args, SafeVersion -} from '@safe-global/safe-core-sdk-types' -import { - getCompatibilityFallbackHandlerContractInstance, - getCreateCallContractInstance, - getMultiSendCallOnlyContractInstance, - getMultiSendContractInstance, - getSafeContractInstance, - getSafeProxyFactoryContractInstance, - getSafeWebAuthnSharedSignerContractInstance, - getSafeWebAuthnSignerFactoryContractInstance, - getSignMessageLibContractInstance, - getSimulateTxAccessorContractInstance -} from './contracts/contractInstances' +} from '@safe-global/types-kit' import { SafeProviderTransaction, - GetContractProps, SafeProviderConfig, ExternalClient, ExternalSigner, @@ -81,13 +72,7 @@ import { getStorageAt, readContract } from 'viem/actions' -import { - toEstimateGasParameters, - toTransactionRequest, - sameString -} from '@safe-global/protocol-kit/utils' import { isEip1193Provider, isPrivateKey, isSignerPasskeyClient } from './utils/provider' -import { createPasskeyClient, PASSKEY_CLIENT_KEY } from '@safe-global/protocol-kit/utils' class SafeProvider { #chain?: Chain @@ -110,6 +95,7 @@ class SafeProvider { this.provider = provider this.signer = signer + this.#chain = undefined } getExternalProvider(): ExternalClient { @@ -189,7 +175,7 @@ class SafeProvider { } if (isPrivateKey(this.signer)) { - // This is a client with a local account, the account needs to be of type Accound as viem consider strings as 'json-rpc' (on parseAccount) + // This is a client with a local account, the account needs to be of type Account as Viem consider strings as 'json-rpc' (on parseAccount) const account = privateKeyToAccount(asHex(this.signer as string)) return createWalletClient({ account, @@ -198,7 +184,7 @@ class SafeProvider { }) } - // If we have a signer and its not a pk, it might be a delegate on the rpc levels and this should work with eth_requestAcc + // If we have a signer and its not a PK, it might be a delegate on the rpc levels and this should work with eth_requestAcc if (this.signer && typeof this.signer === 'string') { return createWalletClient({ account: this.signer, @@ -233,8 +219,7 @@ class SafeProvider { } async isPasskeySigner(): Promise { - const signer = await this.getExternalSigner() - return !!signer && signer.key === PASSKEY_CLIENT_KEY + return isSignerPasskeyClient(this.signer) } isAddress(address: string): boolean { @@ -261,141 +246,12 @@ class SafeProvider { } async getChainId(): Promise { - const res = await this.#externalProvider.getChainId() + const res = (await this.#getChain()).id return BigInt(res) } getChecksummedAddress(address: string): string { - return getAddress(asHex(address)) - } - - async getSafeContract({ - safeVersion, - customContractAddress, - customContractAbi, - isL1SafeSingleton - }: GetContractProps) { - return getSafeContractInstance( - safeVersion, - this, - customContractAddress, - customContractAbi, - isL1SafeSingleton - ) - } - - async getSafeProxyFactoryContract({ - safeVersion, - customContractAddress, - customContractAbi - }: GetContractProps) { - const signerOrProvider = this.#externalProvider - return getSafeProxyFactoryContractInstance( - safeVersion, - this, - signerOrProvider, - customContractAddress, - customContractAbi - ) - } - - async getMultiSendContract({ - safeVersion, - customContractAddress, - customContractAbi - }: GetContractProps) { - return getMultiSendContractInstance(safeVersion, this, customContractAddress, customContractAbi) - } - - async getMultiSendCallOnlyContract({ - safeVersion, - customContractAddress, - customContractAbi - }: GetContractProps) { - return getMultiSendCallOnlyContractInstance( - safeVersion, - this, - customContractAddress, - customContractAbi - ) - } - - async getCompatibilityFallbackHandlerContract({ - safeVersion, - customContractAddress, - customContractAbi - }: GetContractProps) { - return getCompatibilityFallbackHandlerContractInstance( - safeVersion, - this, - customContractAddress, - customContractAbi - ) - } - - async getSignMessageLibContract({ - safeVersion, - customContractAddress, - customContractAbi - }: GetContractProps) { - return getSignMessageLibContractInstance( - safeVersion, - this, - customContractAddress, - customContractAbi - ) - } - - async getCreateCallContract({ - safeVersion, - customContractAddress, - customContractAbi - }: GetContractProps) { - return getCreateCallContractInstance( - safeVersion, - this, - customContractAddress, - customContractAbi - ) - } - - async getSimulateTxAccessorContract({ - safeVersion, - customContractAddress, - customContractAbi - }: GetContractProps) { - return getSimulateTxAccessorContractInstance( - safeVersion, - this, - customContractAddress, - customContractAbi - ) - } - - async getSafeWebAuthnSignerFactoryContract({ - safeVersion, - customContractAddress, - customContractAbi - }: GetContractProps) { - return getSafeWebAuthnSignerFactoryContractInstance( - safeVersion, - this, - customContractAddress, - customContractAbi - ) - } - - async getSafeWebAuthnSharedSignerContract({ - safeVersion, - customContractAddress, - customContractAbi - }: GetContractProps) { - return getSafeWebAuthnSharedSignerContractInstance( - safeVersion, - this, - customContractAddress, - customContractAbi - ) + return getAddress(address) } async getContractCode(address: string, blockTag?: string | number): Promise { @@ -428,7 +284,7 @@ class SafeProvider { async getTransaction(transactionHash: string): Promise { return getTransaction(this.#externalProvider, { hash: asHash(transactionHash) - }) // as Promise + }) } async getSignerAddress(): Promise { @@ -444,8 +300,8 @@ class SafeProvider { throw new Error('SafeProvider must be initialized with a signer to use this method') } - // The address on the `WalletClient` is the one we are passing so we let viem make assertions about that account - // For viem, in this context a typeof account === 'string' to singMessage is assumed to be a json-rpc account (returned by parseAccount function) + // The address on the `WalletClient` is the one we are passing so we let Viem make assertions about that account + // For Viem, in this context a typeof account === 'string' to signMessage is assumed to be a json-rpc account (returned by parseAccount function) if (sameString(signer.account.address, account)) { return await signer?.signMessage!({ message: { raw: toBytes(message) } @@ -519,7 +375,7 @@ class SafeProvider { async #getChain(): Promise { if (this.#chain) return this.#chain - const chain = getChainById(await this.getChainId()) + const chain = getChainById(BigInt(await this.#externalProvider.getChainId())) if (!chain) throw new Error('Invalid chainId') this.#chain = chain return this.#chain diff --git a/packages/protocol-kit/src/contracts/BaseContract.ts b/packages/protocol-kit/src/contracts/BaseContract.ts index 4b293efcc..698a9159c 100644 --- a/packages/protocol-kit/src/contracts/BaseContract.ts +++ b/packages/protocol-kit/src/contracts/BaseContract.ts @@ -1,5 +1,13 @@ import { Abi } from 'abitype' -import { Transport, encodeFunctionData, WalletClient, Hash, Chain } from 'viem' +import { + ContractFunctionName, + ContractFunctionArgs, + Transport, + encodeFunctionData, + WalletClient, + Hash, + Chain +} from 'viem' import { estimateContractGas, getTransactionReceipt } from 'viem/actions' import { contractName, getContractDeployment } from '@safe-global/protocol-kit/contracts/config' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' @@ -9,7 +17,7 @@ import { GetAddressFunction, SafeVersion, TransactionOptions -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import { getChainById } from '../utils/types' import { WalletTransactionOptions, @@ -17,7 +25,6 @@ import { convertTransactionOptions } from '@safe-global/protocol-kit/utils' import { ExternalClient } from '../types' -import { ContractFunctionName, ContractFunctionArgs } from 'viem' /** * Abstract class BaseContract @@ -63,8 +70,7 @@ class BaseContract { defaultAbi: ContractAbiType, safeVersion: SafeVersion, customContractAddress?: string, - customContractAbi?: ContractAbiType, - runner?: ExternalClient + customContractAbi?: ContractAbiType ) { const deployment = getContractDeployment(safeVersion, chainId, contractName) @@ -87,7 +93,7 @@ class BaseContract { (deployment?.abi as unknown as ContractAbiType) || // this cast is required because abi is set as any[] in safe-deployments defaultAbi // if no customAbi and no abi is present in the safe-deployments we use our hardcoded abi - this.runner = runner || safeProvider.getExternalProvider() + this.runner = safeProvider.getExternalProvider() this.safeProvider = safeProvider } @@ -105,20 +111,18 @@ class BaseContract { * * @param options - Transaction options as expected throughout safe sdk and propagated on the results. * - * @returns Options object compatible with viem + * @returns Options object compatible with Viem */ - async convertOptions( + convertOptions( options?: TransactionOptions - ): Promise { + ): WalletTransactionOptions | WalletLegacyTransactionOptions { const chain = this.getChain() if (!chain) throw new Error('Invalid chainId') - const signerAddress = await this.safeProvider.getSignerAddress() - const signer = this.wallet?.account - if (!signer || !signerAddress) throw new Error('Invalid signer') + const account = this.getWallet().account + if (!account) throw new Error('Invalid signer') - const account = signer || signerAddress - const txOptions = await convertTransactionOptions(options) + const txOptions = convertTransactionOptions(options) return { chain, ...txOptions, account } // Needs to be in this order to override the `account` if necessary } @@ -146,7 +150,7 @@ class BaseContract { args, options = {} ) => { - const contractOptions = await this.convertOptions(options) + const contractOptions = this.convertOptions(options) const abi = this.contractAbi as Abi const params = args as unknown[] return estimateContractGas(this.runner, { @@ -171,13 +175,13 @@ class BaseContract { functionName > >(functionName: functionName, args: functionArgs, options?: TransactionOptions) { - const converted = (await this.convertOptions(options)) as any + const converted = this.convertOptions(options) as any return await this.getWallet().writeContract({ address: this.contractAddress, abi: this.contractAbi, functionName, - args: args, + args, ...converted }) } diff --git a/packages/protocol-kit/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.ts b/packages/protocol-kit/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.ts index 456adb2d5..fa0b2368b 100644 --- a/packages/protocol-kit/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.ts +++ b/packages/protocol-kit/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.ts @@ -2,9 +2,8 @@ import { Abi } from 'abitype' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import BaseContract from '@safe-global/protocol-kit/contracts/BaseContract' -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' import { contractName } from '@safe-global/protocol-kit/contracts/config' -import { ExternalClient } from '@safe-global/protocol-kit/types' /** * Abstract class CompatibilityFallbackHandlerBaseContract extends BaseContract to specifically integrate with the CompatibilityFallbackHandler contract. @@ -41,8 +40,7 @@ abstract class CompatibilityFallbackHandlerBaseContract< defaultAbi: CompatibilityFallbackHandlerContractAbiType, safeVersion: SafeVersion, customContractAddress?: string, - customContractAbi?: CompatibilityFallbackHandlerContractAbiType, - runner?: ExternalClient + customContractAbi?: CompatibilityFallbackHandlerContractAbiType ) { const contractName = 'compatibilityFallbackHandler' @@ -53,8 +51,7 @@ abstract class CompatibilityFallbackHandlerBaseContract< defaultAbi, safeVersion, customContractAddress, - customContractAbi, - runner + customContractAbi ) this.contractName = contractName diff --git a/packages/protocol-kit/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.ts b/packages/protocol-kit/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.ts index 349e010d7..9dfe13fb6 100644 --- a/packages/protocol-kit/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.ts +++ b/packages/protocol-kit/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.ts @@ -1,11 +1,10 @@ import CompatibilityFallbackHandlerBaseContract from '@safe-global/protocol-kit/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { - SafeVersion, CompatibilityFallbackHandlerContract_v1_3_0_Abi, CompatibilityFallbackHandlerContract_v1_3_0_Contract, compatibilityFallbackHandler_1_3_0_ContractArtifacts -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' /** * CompatibilityFallbackHandlerContract_v1_3_0 is the implementation specific to the CompatibilityFallbackHandler contract version 1.3.0. @@ -19,8 +18,6 @@ class CompatibilityFallbackHandlerContract_v1_3_0 extends CompatibilityFallbackHandlerBaseContract implements CompatibilityFallbackHandlerContract_v1_3_0_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of CompatibilityFallbackHandlerContract_v1_3_0 * @@ -39,8 +36,6 @@ class CompatibilityFallbackHandlerContract_v1_3_0 const defaultAbi = compatibilityFallbackHandler_1_3_0_ContractArtifacts.abi super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) - - this.safeVersion = safeVersion } } diff --git a/packages/protocol-kit/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.ts b/packages/protocol-kit/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.ts index 3cf7af032..315259df0 100644 --- a/packages/protocol-kit/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.ts +++ b/packages/protocol-kit/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.ts @@ -3,9 +3,8 @@ import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { compatibilityFallbackHandler_1_4_1_ContractArtifacts, CompatibilityFallbackHandlerContract_v1_4_1_Abi, - CompatibilityFallbackHandlerContract_v1_4_1_Contract, - SafeVersion -} from '@safe-global/safe-core-sdk-types' + CompatibilityFallbackHandlerContract_v1_4_1_Contract +} from '@safe-global/types-kit' /** * CompatibilityFallbackHandlerContract_v1_4_1 is the implementation specific to the CompatibilityFallbackHandler contract version 1.4.1. @@ -19,8 +18,6 @@ class CompatibilityFallbackHandlerContract_v1_4_1 extends CompatibilityFallbackHandlerBaseContract implements CompatibilityFallbackHandlerContract_v1_4_1_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of CompatibilityFallbackHandlerContract_v1_4_1 * @@ -39,8 +36,6 @@ class CompatibilityFallbackHandlerContract_v1_4_1 const defaultAbi = compatibilityFallbackHandler_1_4_1_ContractArtifacts.abi super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) - - this.safeVersion = safeVersion } } diff --git a/packages/protocol-kit/src/contracts/CreateCall/CreateCallBaseContract.ts b/packages/protocol-kit/src/contracts/CreateCall/CreateCallBaseContract.ts index efae0cd5d..9cf41695b 100644 --- a/packages/protocol-kit/src/contracts/CreateCall/CreateCallBaseContract.ts +++ b/packages/protocol-kit/src/contracts/CreateCall/CreateCallBaseContract.ts @@ -2,9 +2,8 @@ import { Abi } from 'abitype' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import BaseContract from '@safe-global/protocol-kit/contracts/BaseContract' -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' import { contractName } from '@safe-global/protocol-kit/contracts/config' -import { ExternalClient } from '@safe-global/protocol-kit/types' /** * Abstract class CreateCallBaseContract extends BaseContract to specifically integrate with the CreateCall contract. @@ -41,8 +40,7 @@ abstract class CreateCallBaseContract< defaultAbi: CreateCallContractAbiType, safeVersion: SafeVersion, customContractAddress?: string, - customContractAbi?: CreateCallContractAbiType, - runner?: ExternalClient + customContractAbi?: CreateCallContractAbiType ) { const contractName = 'createCallVersion' @@ -53,8 +51,7 @@ abstract class CreateCallBaseContract< defaultAbi, safeVersion, customContractAddress, - customContractAbi, - runner + customContractAbi ) this.contractName = contractName diff --git a/packages/protocol-kit/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.ts b/packages/protocol-kit/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.ts index e5c5e4076..b78c60eba 100644 --- a/packages/protocol-kit/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.ts +++ b/packages/protocol-kit/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.ts @@ -1,11 +1,10 @@ import CreateCallBaseContract from '@safe-global/protocol-kit/contracts/CreateCall/CreateCallBaseContract' import { - SafeVersion, CreateCallContract_v1_3_0_Abi, CreateCallContract_v1_3_0_Contract, createCall_1_3_0_ContractArtifacts, SafeContractFunction -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import { toTxResult } from '@safe-global/protocol-kit/contracts/utils' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' @@ -21,8 +20,6 @@ class CreateCallContract_v1_3_0 extends CreateCallBaseContract implements CreateCallContract_v1_3_0_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of CreateCallContract_v1_3_0 * @@ -41,8 +38,6 @@ class CreateCallContract_v1_3_0 const defaultAbi = createCall_1_3_0_ContractArtifacts.abi super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) - - this.safeVersion = safeVersion } /** diff --git a/packages/protocol-kit/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.ts b/packages/protocol-kit/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.ts index da54bf799..4a92db4f6 100644 --- a/packages/protocol-kit/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.ts +++ b/packages/protocol-kit/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.ts @@ -1,12 +1,11 @@ import CreateCallBaseContract from '@safe-global/protocol-kit/contracts/CreateCall/CreateCallBaseContract' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { - SafeVersion, CreateCallContract_v1_4_1_Abi, CreateCallContract_v1_4_1_Contract, createCall_1_4_1_ContractArtifacts, SafeContractFunction -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import { toTxResult } from '@safe-global/protocol-kit/contracts/utils' /** @@ -21,8 +20,6 @@ class CreateCallContract_v1_4_1 extends CreateCallBaseContract implements CreateCallContract_v1_4_1_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of CreateCallContract_v1_4_1 * @@ -41,8 +38,6 @@ class CreateCallContract_v1_4_1 const defaultAbi = createCall_1_4_1_ContractArtifacts.abi super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) - - this.safeVersion = safeVersion } /** diff --git a/packages/protocol-kit/src/contracts/MultiSend/MultiSendBaseContract.ts b/packages/protocol-kit/src/contracts/MultiSend/MultiSendBaseContract.ts index a3f285fda..21933c2cf 100644 --- a/packages/protocol-kit/src/contracts/MultiSend/MultiSendBaseContract.ts +++ b/packages/protocol-kit/src/contracts/MultiSend/MultiSendBaseContract.ts @@ -1,7 +1,7 @@ import { Abi } from 'abitype' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' import BaseContract from '@safe-global/protocol-kit/contracts/BaseContract' import { contractName } from '@safe-global/protocol-kit/contracts/config' diff --git a/packages/protocol-kit/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.ts b/packages/protocol-kit/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.ts index 1397adeb8..f180b748b 100644 --- a/packages/protocol-kit/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.ts +++ b/packages/protocol-kit/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.ts @@ -1,7 +1,7 @@ import { Abi } from 'abitype' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' import BaseContract from '@safe-global/protocol-kit/contracts/BaseContract' import { contractName } from '@safe-global/protocol-kit/contracts/config' diff --git a/packages/protocol-kit/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.ts b/packages/protocol-kit/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.ts index 9f7897565..48c5052b4 100644 --- a/packages/protocol-kit/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.ts +++ b/packages/protocol-kit/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.ts @@ -1,11 +1,10 @@ import MultiSendBaseContract from '@safe-global/protocol-kit/contracts/MultiSend/MultiSendBaseContract' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { - SafeVersion, multisend_1_1_1_ContractArtifacts, MultiSendContract_v1_1_1_Abi, MultiSendContract_v1_1_1_Contract -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' /** * MultiSendContract_v1_1_1 is the implementation specific to the MultiSend contract version 1.1.1. @@ -19,8 +18,6 @@ class MultiSendContract_v1_1_1 extends MultiSendBaseContract implements MultiSendContract_v1_1_1_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of MultiSendContract_v1_1_1 * @@ -39,8 +36,6 @@ class MultiSendContract_v1_1_1 const defaultAbi = multisend_1_1_1_ContractArtifacts.abi super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) - - this.safeVersion = safeVersion } } diff --git a/packages/protocol-kit/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.ts b/packages/protocol-kit/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.ts index 74e8ffb8f..634c4c755 100644 --- a/packages/protocol-kit/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.ts +++ b/packages/protocol-kit/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.ts @@ -1,11 +1,10 @@ import MultiSendCallOnlyBaseContract from '@safe-global/protocol-kit/contracts/MultiSend/MultiSendCallOnlyBaseContract' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { - SafeVersion, MultiSendCallOnlyContract_v1_3_0_Abi, MultiSendCallOnlyContract_v1_3_0_Contract, multiSendCallOnly_1_3_0_ContractArtifacts -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' /** * MultiSendCallOnlyContract_v1_3_0 is the implementation specific to the MultiSendCallOnly contract version 1.3.0. @@ -19,8 +18,6 @@ class MultiSendCallOnlyContract_v1_3_0 extends MultiSendCallOnlyBaseContract implements MultiSendCallOnlyContract_v1_3_0_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of MultiSendCallOnlyContract_v1_3_0 * @@ -39,8 +36,6 @@ class MultiSendCallOnlyContract_v1_3_0 const defaultAbi = multiSendCallOnly_1_3_0_ContractArtifacts.abi super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) - - this.safeVersion = safeVersion } } diff --git a/packages/protocol-kit/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.ts b/packages/protocol-kit/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.ts index ac5146f6e..eca4a188d 100644 --- a/packages/protocol-kit/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.ts +++ b/packages/protocol-kit/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.ts @@ -1,11 +1,10 @@ import MultiSendBaseContract from '@safe-global/protocol-kit/contracts/MultiSend/MultiSendBaseContract' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { - SafeVersion, multisend_1_3_0_ContractArtifacts, MultiSendContract_v1_3_0_Abi, MultiSendContract_v1_3_0_Contract -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' /** * MultiSendContract_v1_3_0 is the implementation specific to the MultiSend contract version 1.3.0. @@ -19,8 +18,6 @@ class MultiSendContract_v1_3_0 extends MultiSendBaseContract implements MultiSendContract_v1_3_0_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of MultiSendContract_v1_3_0 * @@ -39,8 +36,6 @@ class MultiSendContract_v1_3_0 const defaultAbi = multisend_1_3_0_ContractArtifacts.abi super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) - - this.safeVersion = safeVersion } } diff --git a/packages/protocol-kit/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.ts b/packages/protocol-kit/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.ts index 339502906..6abd66a94 100644 --- a/packages/protocol-kit/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.ts +++ b/packages/protocol-kit/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.ts @@ -1,11 +1,10 @@ import MultiSendCallOnlyBaseContract from '@safe-global/protocol-kit/contracts/MultiSend/MultiSendCallOnlyBaseContract' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { - SafeVersion, multiSendCallOnly_1_4_1_ContractArtifacts, MultiSendCallOnlyContract_v1_4_1_Abi, MultiSendCallOnlyContract_v1_4_1_Contract -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' /** * MultiSendCallOnlyContract_v1_4_1 is the implementation specific to the MultiSend contract version 1.4.1. @@ -19,8 +18,6 @@ class MultiSendCallOnlyContract_v1_4_1 extends MultiSendCallOnlyBaseContract implements MultiSendCallOnlyContract_v1_4_1_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of MultiSendCallOnlyContract_v1_4_1 * @@ -39,8 +36,6 @@ class MultiSendCallOnlyContract_v1_4_1 const defaultAbi = multiSendCallOnly_1_4_1_ContractArtifacts.abi super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) - - this.safeVersion = safeVersion } } diff --git a/packages/protocol-kit/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.ts b/packages/protocol-kit/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.ts index 845ca5c4b..fdc63719d 100644 --- a/packages/protocol-kit/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.ts +++ b/packages/protocol-kit/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.ts @@ -1,11 +1,10 @@ import MultiSendBaseContract from '@safe-global/protocol-kit/contracts/MultiSend/MultiSendBaseContract' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { - SafeVersion, MultiSendContract_v1_4_1_Abi, MultiSendContract_v1_4_1_Contract, multisend_1_4_1_ContractArtifacts -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' /** * MultiSendContract_v1_4_1 is the implementation specific to the MultiSend contract version 1.4.1. @@ -19,8 +18,6 @@ class MultiSendContract_v1_4_1 extends MultiSendBaseContract implements MultiSendContract_v1_4_1_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of MultiSendContract_v1_4_1 * @@ -39,8 +36,6 @@ class MultiSendContract_v1_4_1 const defaultAbi = multisend_1_4_1_ContractArtifacts.abi super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) - - this.safeVersion = safeVersion } } diff --git a/packages/protocol-kit/src/contracts/Safe/SafeBaseContract.ts b/packages/protocol-kit/src/contracts/Safe/SafeBaseContract.ts index 6ab5aa848..5a7a096e3 100644 --- a/packages/protocol-kit/src/contracts/Safe/SafeBaseContract.ts +++ b/packages/protocol-kit/src/contracts/Safe/SafeBaseContract.ts @@ -1,7 +1,7 @@ import { Abi } from 'abitype' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' import BaseContract from '@safe-global/protocol-kit/contracts/BaseContract' import { contractName, safeDeploymentsL1ChainIds } from '@safe-global/protocol-kit/contracts/config' import { SAFE_FEATURES, hasSafeFeature } from '@safe-global/protocol-kit/utils' diff --git a/packages/protocol-kit/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.ts b/packages/protocol-kit/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.ts index 44554231c..994c6b114 100644 --- a/packages/protocol-kit/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.ts +++ b/packages/protocol-kit/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.ts @@ -5,7 +5,6 @@ import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { toTxResult } from '@safe-global/protocol-kit/contracts/utils' import { sameString, isSentinelAddress } from '@safe-global/protocol-kit/utils' import { - SafeVersion, SafeContract_v1_0_0_Abi, SafeContract_v1_0_0_Function, SafeTransaction, @@ -13,7 +12,7 @@ import { safe_1_0_0_ContractArtifacts, TransactionOptions, TransactionResult -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import { SENTINEL_ADDRESS } from '@safe-global/protocol-kit/utils/constants' import { asHash, asHex } from '@safe-global/protocol-kit/utils/types' @@ -29,8 +28,6 @@ class SafeContract_v1_0_0 extends SafeBaseContract implements SafeContract_v1_0_0_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of SafeContract_v1_0_0 * @@ -59,8 +56,6 @@ class SafeContract_v1_0_0 customContractAddress, customContractAbi ) - - this.safeVersion = safeVersion } /* ----- Specific v1.0.0 properties ----- */ @@ -198,7 +193,6 @@ class SafeContract_v1_0_0 * @returns Transaction result. */ async approveHash(hash: string, options?: TransactionOptions): Promise { - if (!this.wallet) throw new Error() const gasLimit = options?.gasLimit || (await this.estimateGas('approveHash', [asHash(hash)], options)) @@ -323,7 +317,7 @@ class SafeContract_v1_0_0 options )) - const converted = await this.convertOptions({ ...options, gasLimit }) + const converted = this.convertOptions({ ...options, gasLimit }) const txResult = await simulateContract(this.runner, { address: this.contractAddress, functionName: 'execTransaction', @@ -349,16 +343,6 @@ class SafeContract_v1_0_0 } } - /** - * returns the version of the Safe contract. - * - * @returns {Promise} A promise that resolves to the version of the Safe contract as string. - */ - async getVersion(): Promise { - const [safeVersion] = await this.VERSION() - return safeVersion as SafeVersion - } - /** * returns the nonce of the Safe contract. * diff --git a/packages/protocol-kit/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.ts b/packages/protocol-kit/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.ts index 8b25aa2d2..932eb7d34 100644 --- a/packages/protocol-kit/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.ts +++ b/packages/protocol-kit/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.ts @@ -4,7 +4,6 @@ import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { toTxResult } from '@safe-global/protocol-kit/contracts/utils' import { sameString } from '@safe-global/protocol-kit/utils' import { - SafeVersion, SafeContract_v1_1_1_Abi, SafeContract_v1_1_1_Contract, SafeContract_v1_1_1_Function, @@ -12,7 +11,7 @@ import { safe_1_1_1_ContractArtifacts, TransactionOptions, TransactionResult -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import { asHash, asHex } from '@safe-global/protocol-kit/utils/types' import { ContractFunctionArgs } from 'viem' @@ -28,8 +27,6 @@ class SafeContract_v1_1_1 extends SafeBaseContract implements SafeContract_v1_1_1_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of SafeContract_v1_1_1 * @@ -58,8 +55,6 @@ class SafeContract_v1_1_1 customContractAddress, customContractAbi ) - - this.safeVersion = safeVersion } /** @@ -286,7 +281,7 @@ class SafeContract_v1_1_1 options )) - const converted = await this.convertOptions({ ...options, gasLimit }) + const converted = this.convertOptions({ ...options, gasLimit }) const txResult = await simulateContract(this.runner, { address: this.contractAddress, functionName: 'execTransaction', @@ -312,16 +307,6 @@ class SafeContract_v1_1_1 } } - /** - * returns the version of the Safe contract. - * - * @returns {Promise} A promise that resolves to the version of the Safe contract as string. - */ - async getVersion(): Promise { - const [safeVersion] = await this.VERSION() - return safeVersion as SafeVersion - } - /** * returns the nonce of the Safe contract. * diff --git a/packages/protocol-kit/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.ts b/packages/protocol-kit/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.ts index 18d2b131c..090875676 100644 --- a/packages/protocol-kit/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.ts +++ b/packages/protocol-kit/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.ts @@ -3,7 +3,6 @@ import SafeBaseContract from '@safe-global/protocol-kit/contracts/Safe/SafeBaseC import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { toTxResult } from '@safe-global/protocol-kit/contracts/utils' import { - SafeVersion, SafeContract_v1_2_0_Abi, SafeContract_v1_2_0_Contract, SafeContract_v1_2_0_Function, @@ -11,7 +10,7 @@ import { safe_1_2_0_ContractArtifacts, TransactionOptions, TransactionResult -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import { asHash, asHex } from '@safe-global/protocol-kit/utils/types' import { ContractFunctionArgs } from 'viem' @@ -27,8 +26,6 @@ class SafeContract_v1_2_0 extends SafeBaseContract implements SafeContract_v1_2_0_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of SafeContract_v1_2_0 * @@ -57,8 +54,6 @@ class SafeContract_v1_2_0 customContractAddress, customContractAbi ) - - this.safeVersion = safeVersion } /** @@ -257,8 +252,7 @@ class SafeContract_v1_2_0 * @returns Array[chainId] */ async getChainId(): Promise<[bigint]> { - const chainId = await this.runner!.getChainId() - return [BigInt(chainId)] + return [await Promise.resolve(this.chainId)] } /** @@ -288,7 +282,7 @@ class SafeContract_v1_2_0 options )) - const converted = await this.convertOptions({ ...options, gasLimit }) + const converted = this.convertOptions({ ...options, gasLimit }) const txResult = await simulateContract(this.runner, { address: this.contractAddress, functionName: 'execTransaction', @@ -314,16 +308,6 @@ class SafeContract_v1_2_0 } } - /** - * returns the version of the Safe contract. - * - * @returns {Promise} A promise that resolves to the version of the Safe contract as string. - */ - async getVersion(): Promise { - const [safeVersion] = await this.VERSION() - return safeVersion as SafeVersion - } - /** * returns the nonce of the Safe contract. * diff --git a/packages/protocol-kit/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.ts b/packages/protocol-kit/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.ts index abb71d16e..5d61663df 100644 --- a/packages/protocol-kit/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.ts +++ b/packages/protocol-kit/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.ts @@ -4,7 +4,6 @@ import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { toTxResult } from '@safe-global/protocol-kit/contracts/utils' import { SENTINEL_ADDRESS } from '@safe-global/protocol-kit/utils/constants' import { - SafeVersion, SafeContract_v1_3_0_Abi, SafeContract_v1_3_0_Contract, SafeContract_v1_3_0_Function, @@ -12,7 +11,7 @@ import { safe_1_3_0_ContractArtifacts, TransactionOptions, TransactionResult -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import { asHash, asHex } from '@safe-global/protocol-kit/utils/types' import { ContractFunctionArgs } from 'viem' @@ -28,8 +27,6 @@ class SafeContract_v1_3_0 extends SafeBaseContract implements SafeContract_v1_3_0_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of SafeContract_v1_3_0 * @@ -58,8 +55,6 @@ class SafeContract_v1_3_0 customContractAddress, customContractAbi ) - - this.safeVersion = safeVersion } /** @@ -219,7 +214,7 @@ class SafeContract_v1_3_0 options )) - const converted = await this.convertOptions({ ...options, gasLimit }) + const converted = this.convertOptions({ ...options, gasLimit }) const txResult = await simulateContract(this.runner, { address: this.contractAddress, functionName: 'execTransaction', @@ -325,17 +320,7 @@ class SafeContract_v1_3_0 * @returns Array[chainId] */ async getChainId(): Promise<[bigint]> { - return [await this.read('getChainId')] - } - - /** - * returns the version of the Safe contract. - * - * @returns {Promise} A promise that resolves to the version of the Safe contract as string. - */ - async getVersion(): Promise { - const [safeVersion] = await this.VERSION() - return safeVersion as SafeVersion + return [await Promise.resolve(this.chainId)] } /** diff --git a/packages/protocol-kit/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.ts b/packages/protocol-kit/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.ts index 0fe749408..b985db6e3 100644 --- a/packages/protocol-kit/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.ts +++ b/packages/protocol-kit/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.ts @@ -4,7 +4,6 @@ import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { toTxResult } from '@safe-global/protocol-kit/contracts/utils' import { SENTINEL_ADDRESS } from '@safe-global/protocol-kit/utils/constants' import { - SafeVersion, SafeContract_v1_4_1_Abi, SafeContract_v1_4_1_Contract, SafeContract_v1_4_1_Function, @@ -12,7 +11,7 @@ import { safe_1_4_1_ContractArtifacts, TransactionOptions, TransactionResult -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import { asHash, asHex } from '@safe-global/protocol-kit/utils/types' import { ContractFunctionArgs } from 'viem' @@ -28,8 +27,6 @@ class SafeContract_v1_4_1 extends SafeBaseContract implements SafeContract_v1_4_1_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of SafeContract_v1_4_1 * @@ -58,8 +55,6 @@ class SafeContract_v1_4_1 customContractAddress, customContractAbi ) - - this.safeVersion = safeVersion } /** @@ -219,7 +214,7 @@ class SafeContract_v1_4_1 options )) - const converted = await this.convertOptions({ ...options, gasLimit }) + const converted = this.convertOptions({ ...options, gasLimit }) const txResult = await simulateContract(this.runner, { address: this.contractAddress, functionName: 'execTransaction', @@ -325,17 +320,7 @@ class SafeContract_v1_4_1 * @returns Array[chainId] */ async getChainId(): Promise<[bigint]> { - return [await this.read('getChainId')] - } - - /** - * returns the version of the Safe contract. - * - * @returns {Promise} A promise that resolves to the version of the Safe contract as string. - */ - async getVersion(): Promise { - const [safeVersion] = await this.VERSION() - return safeVersion as SafeVersion + return [await Promise.resolve(this.chainId)] } /** diff --git a/packages/protocol-kit/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.ts b/packages/protocol-kit/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.ts index e20fcf17f..6d8503832 100644 --- a/packages/protocol-kit/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.ts +++ b/packages/protocol-kit/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.ts @@ -1,9 +1,8 @@ import { Abi } from 'abitype' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import BaseContract from '@safe-global/protocol-kit/contracts/BaseContract' -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' import { contractName } from '@safe-global/protocol-kit/contracts/config' -import { ExternalClient } from '@safe-global/protocol-kit/types' /** * Abstract class SafeProxyFactoryBaseContract extends BaseContract to specifically integrate with the SafeProxyFactory contract. @@ -43,8 +42,7 @@ abstract class SafeProxyFactoryBaseContract< defaultAbi: SafeProxyFactoryContractAbiType, safeVersion: SafeVersion, customContractAddress?: string, - customContractAbi?: SafeProxyFactoryContractAbiType, - runner?: ExternalClient + customContractAbi?: SafeProxyFactoryContractAbiType ) { const contractName = 'safeProxyFactoryVersion' @@ -55,8 +53,7 @@ abstract class SafeProxyFactoryBaseContract< defaultAbi, safeVersion, customContractAddress, - customContractAbi, - runner + customContractAbi ) this.contractName = contractName diff --git a/packages/protocol-kit/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.ts b/packages/protocol-kit/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.ts index 5b1ad1516..5aeee1fe2 100644 --- a/packages/protocol-kit/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.ts +++ b/packages/protocol-kit/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.ts @@ -1,13 +1,11 @@ import SafeProxyFactoryBaseContract from '@safe-global/protocol-kit/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { - SafeVersion, SafeProxyFactoryContract_v1_0_0_Abi, SafeProxyFactoryContract_v1_0_0_Contract, SafeProxyFactoryContract_v1_0_0_Function, safeProxyFactory_1_0_0_ContractArtifacts -} from '@safe-global/safe-core-sdk-types' -import { ExternalClient } from '@safe-global/protocol-kit/types' +} from '@safe-global/types-kit' /** * SafeProxyFactoryContract_v1_0_0 is the implementation specific to the Safe Proxy Factory contract version 1.0.0. @@ -21,8 +19,6 @@ class SafeProxyFactoryContract_v1_0_0 extends SafeProxyFactoryBaseContract implements SafeProxyFactoryContract_v1_0_0_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of SafeProxyFactoryContract_v1_0_0 * @@ -35,23 +31,12 @@ class SafeProxyFactoryContract_v1_0_0 chainId: bigint, safeProvider: SafeProvider, customContractAddress?: string, - customContractAbi?: SafeProxyFactoryContract_v1_0_0_Abi, - runner?: ExternalClient + customContractAbi?: SafeProxyFactoryContract_v1_0_0_Abi ) { const safeVersion = '1.0.0' const defaultAbi = safeProxyFactory_1_0_0_ContractArtifacts.abi - super( - chainId, - safeProvider, - defaultAbi, - safeVersion, - customContractAddress, - customContractAbi, - runner - ) - - this.safeVersion = safeVersion + super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) } /** diff --git a/packages/protocol-kit/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.ts b/packages/protocol-kit/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.ts index 0c7617f9a..81da3d022 100644 --- a/packages/protocol-kit/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.ts +++ b/packages/protocol-kit/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.ts @@ -1,13 +1,11 @@ import SafeProxyFactoryBaseContract from '@safe-global/protocol-kit/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { - SafeVersion, SafeProxyFactoryContract_v1_1_1_Abi, SafeProxyFactoryContract_v1_1_1_Contract, SafeProxyFactoryContract_v1_1_1_Function, safeProxyFactory_1_1_1_ContractArtifacts -} from '@safe-global/safe-core-sdk-types' -import { ExternalClient } from '@safe-global/protocol-kit/types' +} from '@safe-global/types-kit' /** * SafeProxyFactoryContract_v1_1_1 is the implementation specific to the Safe Proxy Factory contract version 1.1.1. @@ -21,8 +19,6 @@ class SafeProxyFactoryContract_v1_1_1 extends SafeProxyFactoryBaseContract implements SafeProxyFactoryContract_v1_1_1_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of SafeProxyFactoryContract_v1_1_1 * @@ -35,23 +31,12 @@ class SafeProxyFactoryContract_v1_1_1 chainId: bigint, safeProvider: SafeProvider, customContractAddress?: string, - customContractAbi?: SafeProxyFactoryContract_v1_1_1_Abi, - runner?: ExternalClient + customContractAbi?: SafeProxyFactoryContract_v1_1_1_Abi ) { const safeVersion = '1.1.1' const defaultAbi = safeProxyFactory_1_1_1_ContractArtifacts.abi - super( - chainId, - safeProvider, - defaultAbi, - safeVersion, - customContractAddress, - customContractAbi, - runner - ) - - this.safeVersion = safeVersion + super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) } /** diff --git a/packages/protocol-kit/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.ts b/packages/protocol-kit/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.ts index c490995e7..739ecf595 100644 --- a/packages/protocol-kit/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.ts +++ b/packages/protocol-kit/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.ts @@ -1,13 +1,11 @@ import SafeProxyFactoryBaseContract from '@safe-global/protocol-kit/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { - SafeVersion, SafeProxyFactoryContract_v1_3_0_Abi, SafeProxyFactoryContract_v1_3_0_Contract, SafeProxyFactoryContract_v1_3_0_Function, safeProxyFactory_1_3_0_ContractArtifacts -} from '@safe-global/safe-core-sdk-types' -import { ExternalClient } from '@safe-global/protocol-kit/types' +} from '@safe-global/types-kit' /** * SafeProxyFactoryContract_v1_3_0 is the implementation specific to the Safe Proxy Factory contract version 1.3.0. @@ -21,8 +19,6 @@ class SafeProxyFactoryContract_v1_3_0 extends SafeProxyFactoryBaseContract implements SafeProxyFactoryContract_v1_3_0_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of SafeProxyFactoryContract_v1_3_0 * @@ -35,23 +31,12 @@ class SafeProxyFactoryContract_v1_3_0 chainId: bigint, safeProvider: SafeProvider, customContractAddress?: string, - customContractAbi?: SafeProxyFactoryContract_v1_3_0_Abi, - runner?: ExternalClient + customContractAbi?: SafeProxyFactoryContract_v1_3_0_Abi ) { const safeVersion = '1.3.0' const defaultAbi = safeProxyFactory_1_3_0_ContractArtifacts.abi - super( - chainId, - safeProvider, - defaultAbi, - safeVersion, - customContractAddress, - customContractAbi, - runner - ) - - this.safeVersion = safeVersion + super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) } /** diff --git a/packages/protocol-kit/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.ts b/packages/protocol-kit/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.ts index 900d49292..6d557a76f 100644 --- a/packages/protocol-kit/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.ts +++ b/packages/protocol-kit/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.ts @@ -1,13 +1,11 @@ import SafeProxyFactoryBaseContract from '@safe-global/protocol-kit/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract' import { - SafeVersion, SafeProxyFactoryContract_v1_4_1_Abi, SafeProxyFactoryContract_v1_4_1_Contract, SafeProxyFactoryContract_v1_4_1_Function, safeProxyFactory_1_4_1_ContractArtifacts -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' -import { ExternalClient } from '@safe-global/protocol-kit/types' /** * SafeProxyFactoryContract_v1_4_1 is the implementation specific to the Safe Proxy Factory contract version 1.4.1. @@ -21,8 +19,6 @@ class SafeProxyFactoryContract_v1_4_1 extends SafeProxyFactoryBaseContract implements SafeProxyFactoryContract_v1_4_1_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of SafeProxyFactoryContract_v1_4_1 * @@ -35,23 +31,12 @@ class SafeProxyFactoryContract_v1_4_1 chainId: bigint, safeProvider: SafeProvider, customContractAddress?: string, - customContractAbi?: SafeProxyFactoryContract_v1_4_1_Abi, - runner?: ExternalClient + customContractAbi?: SafeProxyFactoryContract_v1_4_1_Abi ) { const safeVersion = '1.4.1' const defaultAbi = safeProxyFactory_1_4_1_ContractArtifacts.abi - super( - chainId, - safeProvider, - defaultAbi, - safeVersion, - customContractAddress, - customContractAbi, - runner - ) - - this.safeVersion = safeVersion + super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) } /** diff --git a/packages/protocol-kit/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.ts b/packages/protocol-kit/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.ts index f2f1142dc..de195fbf6 100644 --- a/packages/protocol-kit/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.ts +++ b/packages/protocol-kit/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.ts @@ -1,9 +1,8 @@ import { Abi } from 'abitype' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import BaseContract from '@safe-global/protocol-kit/contracts/BaseContract' -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' import { contractName } from '@safe-global/protocol-kit/contracts/config' -import { ExternalClient } from '@safe-global/protocol-kit/types' /** * Abstract class SafeWebAuthnSharedSignerBaseContract extends BaseContract to specifically integrate with the SafeWebAuthnSharedSigner contract. @@ -39,8 +38,7 @@ abstract class SafeWebAuthnSharedSignerBaseContract< defaultAbi: SafeWebAuthnSharedSignerContractAbiType, safeVersion: SafeVersion, customContractAddress?: string, - customContractAbi?: SafeWebAuthnSharedSignerContractAbiType, - runner?: ExternalClient + customContractAbi?: SafeWebAuthnSharedSignerContractAbiType ) { const contractName = 'safeWebAuthnSharedSignerVersion' @@ -51,8 +49,7 @@ abstract class SafeWebAuthnSharedSignerBaseContract< defaultAbi, safeVersion, customContractAddress, - customContractAbi, - runner + customContractAbi ) this.contractName = contractName diff --git a/packages/protocol-kit/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.ts b/packages/protocol-kit/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.ts index c6f6faaf8..23df3f184 100644 --- a/packages/protocol-kit/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.ts +++ b/packages/protocol-kit/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.ts @@ -5,7 +5,7 @@ import { SafeWebAuthnSharedSignerContract_v0_2_1_Contract, SafeWebAuthnSharedSignerContract_v0_2_1_Function, SafeWebAuthnSharedSigner_0_2_1_ContractArtifacts -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' /** @@ -20,8 +20,6 @@ class SafeWebAuthnSharedSignerContract_v0_2_1 extends SafeWebAuthnSharedSignerBaseContract implements SafeWebAuthnSharedSignerContract_v0_2_1_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of SafeWebAuthnSharedSignerContract_v0_2_1 * @@ -41,8 +39,6 @@ class SafeWebAuthnSharedSignerContract_v0_2_1 const defaultAbi = SafeWebAuthnSharedSigner_0_2_1_ContractArtifacts.abi super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) - - this.safeVersion = safeVersion } /** diff --git a/packages/protocol-kit/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.ts b/packages/protocol-kit/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.ts index 09bf655b2..1662c42b2 100644 --- a/packages/protocol-kit/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.ts +++ b/packages/protocol-kit/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.ts @@ -1,9 +1,8 @@ import { Abi } from 'abitype' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import BaseContract from '@safe-global/protocol-kit/contracts/BaseContract' -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' import { contractName } from '@safe-global/protocol-kit/contracts/config' -import { ExternalClient } from '@safe-global/protocol-kit/types' /** * Abstract class SafeWebAuthnSignerFactoryBaseContract extends BaseContract to specifically integrate with the SafeWebAuthnSignerFactory contract. @@ -39,8 +38,7 @@ abstract class SafeWebAuthnSignerFactoryBaseContract< defaultAbi: SafeWebAuthnSignerFactoryContractAbiType, safeVersion: SafeVersion, customContractAddress?: string, - customContractAbi?: SafeWebAuthnSignerFactoryContractAbiType, - runner?: ExternalClient + customContractAbi?: SafeWebAuthnSignerFactoryContractAbiType ) { const contractName = 'safeWebAuthnSignerFactoryVersion' @@ -51,8 +49,7 @@ abstract class SafeWebAuthnSignerFactoryBaseContract< defaultAbi, safeVersion, customContractAddress, - customContractAbi, - runner + customContractAbi ) this.contractName = contractName diff --git a/packages/protocol-kit/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.ts b/packages/protocol-kit/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.ts index 23a095fca..44c9ac03c 100644 --- a/packages/protocol-kit/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.ts +++ b/packages/protocol-kit/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.ts @@ -5,7 +5,7 @@ import { SafeWebAuthnSignerFactoryContract_v0_2_1_Contract, SafeWebAuthnSignerFactoryContract_v0_2_1_Function, SafeWebAuthnSignerFactory_0_2_1_ContractArtifacts -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' /** @@ -20,8 +20,6 @@ class SafeWebAuthnSignerFactoryContract_v0_2_1 extends SafeWebAuthnSignerFactoryBaseContract implements SafeWebAuthnSignerFactoryContract_v0_2_1_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of SafeWebAuthnSignerFactoryContract_v0_2_1 * @@ -41,8 +39,6 @@ class SafeWebAuthnSignerFactoryContract_v0_2_1 const defaultAbi = SafeWebAuthnSignerFactory_0_2_1_ContractArtifacts.abi super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) - - this.safeVersion = safeVersion } /** diff --git a/packages/protocol-kit/src/contracts/SignMessageLib/SignMessageLibBaseContract.ts b/packages/protocol-kit/src/contracts/SignMessageLib/SignMessageLibBaseContract.ts index 7d811ea16..f1fe03193 100644 --- a/packages/protocol-kit/src/contracts/SignMessageLib/SignMessageLibBaseContract.ts +++ b/packages/protocol-kit/src/contracts/SignMessageLib/SignMessageLibBaseContract.ts @@ -1,7 +1,7 @@ import { Abi } from 'abitype' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' import BaseContract from '@safe-global/protocol-kit/contracts/BaseContract' import { contractName } from '@safe-global/protocol-kit/contracts/config' diff --git a/packages/protocol-kit/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.ts b/packages/protocol-kit/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.ts index dec0de630..d02dfb02d 100644 --- a/packages/protocol-kit/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.ts +++ b/packages/protocol-kit/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.ts @@ -2,13 +2,12 @@ import { toTxResult } from '@safe-global/protocol-kit/contracts/utils' import SignMessageLibBaseContract from '@safe-global/protocol-kit/contracts/SignMessageLib/SignMessageLibBaseContract' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { - SafeVersion, SafeContractFunction, SignMessageLibContract_v1_3_0_Abi, SignMessageLibContract_v1_3_0_Contract, SignMessageLibContract_v1_3_0_Function, signMessageLib_1_3_0_ContractArtifacts -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' /** * SignMessageLibContract_v1_3_0 is the implementation specific to the SignMessageLib contract version 1.3.0. @@ -22,8 +21,6 @@ class SignMessageLibContract_v1_3_0 extends SignMessageLibBaseContract implements SignMessageLibContract_v1_3_0_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of SignMessageLibContract_v1_3_0 * @@ -42,8 +39,6 @@ class SignMessageLibContract_v1_3_0 const defaultAbi = signMessageLib_1_3_0_ContractArtifacts.abi super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) - - this.safeVersion = safeVersion } /** * @param args - Array[message] diff --git a/packages/protocol-kit/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.ts b/packages/protocol-kit/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.ts index 01a85ebf7..8a7290cee 100644 --- a/packages/protocol-kit/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.ts +++ b/packages/protocol-kit/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.ts @@ -2,13 +2,12 @@ import { toTxResult } from '@safe-global/protocol-kit/contracts/utils' import SignMessageLibBaseContract from '@safe-global/protocol-kit/contracts/SignMessageLib/SignMessageLibBaseContract' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { - SafeVersion, SafeContractFunction, SignMessageLibContract_v1_4_1_Abi, SignMessageLibContract_v1_4_1_Contract, SignMessageLibContract_v1_4_1_Function, signMessageLib_1_4_1_ContractArtifacts -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' /** * SignMessageLibContract_v1_4_1 is the implementation specific to the SignMessageLib contract version 1.4.1. @@ -22,8 +21,6 @@ class SignMessageLibContract_v1_4_1 extends SignMessageLibBaseContract implements SignMessageLibContract_v1_4_1_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of SignMessageLibContract_v1_4_1 * @@ -42,8 +39,6 @@ class SignMessageLibContract_v1_4_1 const defaultAbi = signMessageLib_1_4_1_ContractArtifacts.abi super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) - - this.safeVersion = safeVersion } /** diff --git a/packages/protocol-kit/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.ts b/packages/protocol-kit/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.ts index 276b46db5..d9fdea151 100644 --- a/packages/protocol-kit/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.ts +++ b/packages/protocol-kit/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.ts @@ -2,9 +2,8 @@ import { Abi } from 'abitype' import BaseContract from '@safe-global/protocol-kit/contracts/BaseContract' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' import { contractName } from '@safe-global/protocol-kit/contracts/config' -import { ExternalClient } from '@safe-global/protocol-kit/types' /** * Abstract class SimulateTxAccessorBaseContract extends BaseContract to specifically integrate with the SimulateTxAccessor contract. @@ -41,8 +40,7 @@ abstract class SimulateTxAccessorBaseContract< defaultAbi: SimulateTxAccessorContractAbiType, safeVersion: SafeVersion, customContractAddress?: string, - customContractAbi?: SimulateTxAccessorContractAbiType, - runner?: ExternalClient + customContractAbi?: SimulateTxAccessorContractAbiType ) { const contractName = 'simulateTxAccessorVersion' @@ -53,8 +51,7 @@ abstract class SimulateTxAccessorBaseContract< defaultAbi, safeVersion, customContractAddress, - customContractAbi, - runner + customContractAbi ) this.contractName = contractName diff --git a/packages/protocol-kit/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.ts b/packages/protocol-kit/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.ts index d4bc87412..e20f3ceb6 100644 --- a/packages/protocol-kit/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.ts +++ b/packages/protocol-kit/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.ts @@ -1,12 +1,11 @@ import SimulateTxAccessorBaseContract from '@safe-global/protocol-kit/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { - SafeVersion, simulateTxAccessor_1_3_0_ContractArtifacts, SimulateTxAccessorContract_v1_3_0_Abi, SimulateTxAccessorContract_v1_3_0_Contract, SimulateTxAccessorContract_v1_3_0_Function -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import { asHex } from '@safe-global/protocol-kit/utils/types' @@ -22,8 +21,6 @@ class SimulateTxAccessorContract_v1_3_0 extends SimulateTxAccessorBaseContract implements SimulateTxAccessorContract_v1_3_0_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of SimulateTxAccessorContract_v1_3_0 * @@ -42,8 +39,6 @@ class SimulateTxAccessorContract_v1_3_0 const defaultAbi = simulateTxAccessor_1_3_0_ContractArtifacts.abi super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) - - this.safeVersion = safeVersion } /** diff --git a/packages/protocol-kit/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.ts b/packages/protocol-kit/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.ts index 1786d3498..cd8ac2ba3 100644 --- a/packages/protocol-kit/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.ts +++ b/packages/protocol-kit/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.ts @@ -1,12 +1,11 @@ import SimulateTxAccessorBaseContract from '@safe-global/protocol-kit/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' import { - SafeVersion, simulateTxAccessor_1_4_1_ContractArtifacts, SimulateTxAccessorContract_v1_4_1_Abi, SimulateTxAccessorContract_v1_4_1_Contract, SimulateTxAccessorContract_v1_4_1_Function -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import { asHex } from '@safe-global/protocol-kit/utils/types' /** * SimulateTxAccessorContract_v1_4_1 is the implementation specific to the SimulateTxAccessor contract version 1.4.1. @@ -20,8 +19,6 @@ class SimulateTxAccessorContract_v1_4_1 extends SimulateTxAccessorBaseContract implements SimulateTxAccessorContract_v1_4_1_Contract { - safeVersion: SafeVersion - /** * Constructs an instance of SimulateTxAccessorContract_v1_4_1 * @@ -40,8 +37,6 @@ class SimulateTxAccessorContract_v1_4_1 const defaultAbi = simulateTxAccessor_1_4_1_ContractArtifacts.abi super(chainId, safeProvider, defaultAbi, safeVersion, customContractAddress, customContractAbi) - - this.safeVersion = safeVersion } /** diff --git a/packages/protocol-kit/src/contracts/config.ts b/packages/protocol-kit/src/contracts/config.ts index cb6fc26f1..11c80da1e 100644 --- a/packages/protocol-kit/src/contracts/config.ts +++ b/packages/protocol-kit/src/contracts/config.ts @@ -16,7 +16,7 @@ import { getSafeWebAuthnSignerFactoryDeployment, getSafeWebAuthnShareSignerDeployment } from '@safe-global/safe-modules-deployments' -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' export const DEFAULT_SAFE_VERSION: SafeVersion = '1.3.0' export const SAFE_BASE_VERSION: SafeVersion = '1.0.0' @@ -75,8 +75,8 @@ export const safeDeploymentsVersions: SafeDeploymentsVersions = { multiSendCallOnlyVersion: '1.3.0', signMessageLibVersion: '1.3.0', createCallVersion: '1.3.0', - safeWebAuthnSignerFactoryVersion: '0.2.1', - safeWebAuthnSharedSignerVersion: '0.2.1' + safeWebAuthnSignerFactoryVersion: undefined, + safeWebAuthnSharedSignerVersion: undefined }, '1.1.1': { safeSingletonVersion: '1.1.1', @@ -87,8 +87,8 @@ export const safeDeploymentsVersions: SafeDeploymentsVersions = { multiSendCallOnlyVersion: '1.3.0', signMessageLibVersion: '1.3.0', createCallVersion: '1.3.0', - safeWebAuthnSignerFactoryVersion: '0.2.1', - safeWebAuthnSharedSignerVersion: '0.2.1' + safeWebAuthnSignerFactoryVersion: undefined, + safeWebAuthnSharedSignerVersion: undefined }, '1.0.0': { safeSingletonVersion: '1.0.0', @@ -99,8 +99,8 @@ export const safeDeploymentsVersions: SafeDeploymentsVersions = { multiSendCallOnlyVersion: '1.3.0', signMessageLibVersion: '1.3.0', createCallVersion: '1.3.0', - safeWebAuthnSignerFactoryVersion: '0.2.1', - safeWebAuthnSharedSignerVersion: '0.2.1' + safeWebAuthnSignerFactoryVersion: undefined, + safeWebAuthnSharedSignerVersion: undefined } } diff --git a/packages/protocol-kit/src/contracts/contractInstances.ts b/packages/protocol-kit/src/contracts/contractInstances.ts index 815642df1..9d28b9d59 100644 --- a/packages/protocol-kit/src/contracts/contractInstances.ts +++ b/packages/protocol-kit/src/contracts/contractInstances.ts @@ -25,7 +25,7 @@ import { SimulateTxAccessorContract_v1_3_0_Abi, SafeWebAuthnSignerFactoryContract_v0_2_1_Abi, SafeWebAuthnSharedSignerContract_v0_2_1_Abi -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import CreateCallContract_v1_3_0 from './CreateCall/v1.3.0/CreateCallContract_v1_3_0' import CreateCallContract_v1_4_1 from './CreateCall/v1.4.1/CreateCallContract_v1_4_1' import MultiSendContract_v1_1_1 from './MultiSend/v1.1.1/MultiSendContract_v1_1_1' @@ -51,7 +51,6 @@ import CompatibilityFallbackHandlerContract_v1_4_1 from './CompatibilityFallback import SafeWebAuthnSignerFactoryContract_v0_2_1 from './SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1' import SafeWebAuthnSharedSignerContract_v0_2_1 from './SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1' import SafeProvider from '../SafeProvider' -import { ExternalClient } from '../types' export async function getSafeContractInstance( safeVersion: SafeVersion, @@ -249,7 +248,6 @@ export async function getMultiSendCallOnlyContractInstance( export async function getSafeProxyFactoryContractInstance( safeVersion: SafeVersion, safeProvider: SafeProvider, - signerOrProvider: ExternalClient, contractAddress?: string, customContractAbi?: Abi ): Promise< @@ -267,8 +265,7 @@ export async function getSafeProxyFactoryContractInstance( chainId, safeProvider, contractAddress, - customContractAbi as SafeProxyFactoryContract_v1_4_1_Abi, - signerOrProvider + customContractAbi as SafeProxyFactoryContract_v1_4_1_Abi ) break case '1.3.0': @@ -276,8 +273,7 @@ export async function getSafeProxyFactoryContractInstance( chainId, safeProvider, contractAddress, - customContractAbi as SafeProxyFactoryContract_v1_3_0_Abi, - signerOrProvider + customContractAbi as SafeProxyFactoryContract_v1_3_0_Abi ) break case '1.2.0': @@ -286,8 +282,7 @@ export async function getSafeProxyFactoryContractInstance( chainId, safeProvider, contractAddress, - customContractAbi as SafeProxyFactoryContract_v1_1_1_Abi, - signerOrProvider + customContractAbi as SafeProxyFactoryContract_v1_1_1_Abi ) break case '1.0.0': @@ -295,8 +290,7 @@ export async function getSafeProxyFactoryContractInstance( chainId, safeProvider, contractAddress, - customContractAbi as SafeProxyFactoryContract_v1_0_0_Abi, - signerOrProvider + customContractAbi as SafeProxyFactoryContract_v1_0_0_Abi ) break default: diff --git a/packages/protocol-kit/src/contracts/safeDeploymentContracts.ts b/packages/protocol-kit/src/contracts/safeDeploymentContracts.ts index a4301d14e..073b38c07 100644 --- a/packages/protocol-kit/src/contracts/safeDeploymentContracts.ts +++ b/packages/protocol-kit/src/contracts/safeDeploymentContracts.ts @@ -1,4 +1,16 @@ -import SafeProvider from '../SafeProvider' +import SafeProvider from '@safe-global/protocol-kit/SafeProvider' +import { + getCompatibilityFallbackHandlerContractInstance, + getCreateCallContractInstance, + getMultiSendCallOnlyContractInstance, + getMultiSendContractInstance, + getSafeContractInstance, + getSafeProxyFactoryContractInstance, + getSafeWebAuthnSharedSignerContractInstance, + getSafeWebAuthnSignerFactoryContractInstance, + getSignMessageLibContractInstance, + getSimulateTxAccessorContractInstance +} from '@safe-global/protocol-kit/contracts/contractInstances' import { CompatibilityFallbackHandlerContractImplementationType, ContractNetworkConfig, @@ -12,7 +24,7 @@ import { SignMessageLibContractImplementationType, SimulateTxAccessorContractImplementationType } from '@safe-global/protocol-kit/types' -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' export interface GetContractInstanceProps { safeProvider: SafeProvider @@ -32,12 +44,14 @@ export async function getSafeContract({ isL1SafeSingleton, customContracts }: GetSafeContractInstanceProps): Promise { - const safeContract = await safeProvider.getSafeContract({ + const safeContract = await getSafeContractInstance( safeVersion, - customContractAddress: customSafeAddress ?? customContracts?.safeSingletonAddress, - customContractAbi: customContracts?.safeSingletonAbi, + safeProvider, + customSafeAddress ?? customContracts?.safeSingletonAddress, + customContracts?.safeSingletonAbi, isL1SafeSingleton - }) + ) + const isContractDeployed = await safeProvider.isContractDeployed(safeContract.getAddress()) if (!isContractDeployed) { throw new Error('SafeProxy contract is not deployed on the current network') @@ -45,16 +59,18 @@ export async function getSafeContract({ return safeContract } -export async function getProxyFactoryContract({ +export async function getSafeProxyFactoryContract({ safeProvider, safeVersion, customContracts }: GetContractInstanceProps): Promise { - const safeProxyFactoryContract = await safeProvider.getSafeProxyFactoryContract({ + const safeProxyFactoryContract = await getSafeProxyFactoryContractInstance( safeVersion, - customContractAddress: customContracts?.safeProxyFactoryAddress, - customContractAbi: customContracts?.safeProxyFactoryAbi - }) + safeProvider, + customContracts?.safeProxyFactoryAddress, + customContracts?.safeProxyFactoryAbi + ) + const isContractDeployed = await safeProvider.isContractDeployed( safeProxyFactoryContract.getAddress() ) @@ -69,11 +85,13 @@ export async function getCompatibilityFallbackHandlerContract({ safeVersion, customContracts }: GetContractInstanceProps): Promise { - const fallbackHandlerContract = await safeProvider.getCompatibilityFallbackHandlerContract({ + const fallbackHandlerContract = await getCompatibilityFallbackHandlerContractInstance( safeVersion, - customContractAddress: customContracts?.fallbackHandlerAddress, - customContractAbi: customContracts?.fallbackHandlerAbi - }) + safeProvider, + customContracts?.fallbackHandlerAddress, + customContracts?.fallbackHandlerAbi + ) + const isContractDeployed = await safeProvider.isContractDeployed( fallbackHandlerContract.getAddress() ) @@ -88,11 +106,13 @@ export async function getMultiSendContract({ safeVersion, customContracts }: GetContractInstanceProps): Promise { - const multiSendContract = await safeProvider.getMultiSendContract({ + const multiSendContract = await getMultiSendContractInstance( safeVersion, - customContractAddress: customContracts?.multiSendAddress, - customContractAbi: customContracts?.multiSendAbi - }) + safeProvider, + customContracts?.multiSendAddress, + customContracts?.multiSendAbi + ) + const isContractDeployed = await safeProvider.isContractDeployed(multiSendContract.getAddress()) if (!isContractDeployed) { throw new Error('MultiSend contract is not deployed on the current network') @@ -105,11 +125,13 @@ export async function getMultiSendCallOnlyContract({ safeVersion, customContracts }: GetContractInstanceProps): Promise { - const multiSendCallOnlyContract = await safeProvider.getMultiSendCallOnlyContract({ + const multiSendCallOnlyContract = await getMultiSendCallOnlyContractInstance( safeVersion, - customContractAddress: customContracts?.multiSendCallOnlyAddress, - customContractAbi: customContracts?.multiSendCallOnlyAbi - }) + safeProvider, + customContracts?.multiSendCallOnlyAddress, + customContracts?.multiSendCallOnlyAbi + ) + const isContractDeployed = await safeProvider.isContractDeployed( multiSendCallOnlyContract.getAddress() ) @@ -124,11 +146,13 @@ export async function getSignMessageLibContract({ safeVersion, customContracts }: GetContractInstanceProps): Promise { - const signMessageLibContract = await safeProvider.getSignMessageLibContract({ + const signMessageLibContract = await getSignMessageLibContractInstance( safeVersion, - customContractAddress: customContracts?.signMessageLibAddress, - customContractAbi: customContracts?.signMessageLibAbi - }) + safeProvider, + customContracts?.signMessageLibAddress, + customContracts?.signMessageLibAbi + ) + const isContractDeployed = await safeProvider.isContractDeployed( signMessageLibContract.getAddress() ) @@ -143,11 +167,13 @@ export async function getCreateCallContract({ safeVersion, customContracts }: GetContractInstanceProps): Promise { - const createCallContract = await safeProvider.getCreateCallContract({ + const createCallContract = await getCreateCallContractInstance( safeVersion, - customContractAddress: customContracts?.createCallAddress, - customContractAbi: customContracts?.createCallAbi - }) + safeProvider, + customContracts?.createCallAddress, + customContracts?.createCallAbi + ) + const isContractDeployed = await safeProvider.isContractDeployed(createCallContract.getAddress()) if (!isContractDeployed) { throw new Error('CreateCall contract is not deployed on the current network') @@ -160,11 +186,13 @@ export async function getSimulateTxAccessorContract({ safeVersion, customContracts }: GetContractInstanceProps): Promise { - const simulateTxAccessorContract = await safeProvider.getSimulateTxAccessorContract({ + const simulateTxAccessorContract = await getSimulateTxAccessorContractInstance( safeVersion, - customContractAddress: customContracts?.simulateTxAccessorAddress, - customContractAbi: customContracts?.simulateTxAccessorAbi - }) + safeProvider, + customContracts?.simulateTxAccessorAddress, + customContracts?.simulateTxAccessorAbi + ) + const isContractDeployed = await safeProvider.isContractDeployed( simulateTxAccessorContract.getAddress() ) @@ -179,12 +207,11 @@ export async function getSafeWebAuthnSignerFactoryContract({ safeVersion, customContracts }: GetContractInstanceProps): Promise { - const safeWebAuthnSignerFactoryContract = await safeProvider.getSafeWebAuthnSignerFactoryContract( - { - safeVersion, - customContractAddress: customContracts?.safeWebAuthnSignerFactoryAddress, - customContractAbi: customContracts?.safeWebAuthnSignerFactoryAbi - } + const safeWebAuthnSignerFactoryContract = await getSafeWebAuthnSignerFactoryContractInstance( + safeVersion, + safeProvider, + customContracts?.safeWebAuthnSignerFactoryAddress, + customContracts?.safeWebAuthnSignerFactoryAbi ) const isContractDeployed = await safeProvider.isContractDeployed( @@ -201,11 +228,12 @@ export async function getSafeWebAuthnSharedSignerContract({ safeVersion, customContracts }: GetContractInstanceProps): Promise { - const safeWebAuthnSharedSignerContract = await safeProvider.getSafeWebAuthnSharedSignerContract({ + const safeWebAuthnSharedSignerContract = await getSafeWebAuthnSharedSignerContractInstance( safeVersion, - customContractAddress: customContracts?.safeWebAuthnSharedSignerAddress, - customContractAbi: customContracts?.safeWebAuthnSharedSignerAbi - }) + safeProvider, + customContracts?.safeWebAuthnSharedSignerAddress, + customContracts?.safeWebAuthnSharedSignerAbi + ) const isContractDeployed = await safeProvider.isContractDeployed( safeWebAuthnSharedSignerContract.getAddress() diff --git a/packages/protocol-kit/src/contracts/utils.ts b/packages/protocol-kit/src/contracts/utils.ts index 8735b6c98..49ec10e5d 100644 --- a/packages/protocol-kit/src/contracts/utils.ts +++ b/packages/protocol-kit/src/contracts/utils.ts @@ -6,13 +6,13 @@ import { isAddress, keccak256, pad, + parseAbi, toHex, Client, WalletClient, toEventHash, FormattedTransactionReceipt, - decodeEventLog, - parseAbi + decodeEventLog } from 'viem' import { waitForTransactionReceipt } from 'viem/actions' import { DEFAULT_SAFE_VERSION } from '@safe-global/protocol-kit/contracts/config' @@ -23,14 +23,14 @@ import { SafeVersion, TransactionOptions, TransactionResult -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import semverSatisfies from 'semver/functions/satisfies' import { asHex } from '../utils/types' import { GetContractInstanceProps, GetSafeContractInstanceProps, getCompatibilityFallbackHandlerContract, - getProxyFactoryContract, + getSafeProxyFactoryContract, getSafeContract } from '../contracts/safeDeploymentContracts' import { @@ -90,7 +90,6 @@ export function encodeCreateProxyWithNonce( initializer: string, salt?: string ) { - console.log(`safeSingletonAddress`, safeSingletonAddress) return safeProxyFactoryContract.encode('createProxyWithNonce', [ safeSingletonAddress, asHex(initializer), @@ -120,7 +119,7 @@ export async function encodeSetupCallData({ paymentReceiver = ZERO_ADDRESS } = safeAccountConfig - const safeVersion = customSafeVersion || (await safeContract.getVersion()) + const safeVersion = customSafeVersion || safeContract.safeVersion if (semverSatisfies(safeVersion, '<=1.0.0')) { return safeContract.encode('setup', [ @@ -164,7 +163,7 @@ type MemoizedGetSafeContractInstanceProps = GetSafeContractInstanceProps & { cha const memoizedGetProxyFactoryContract = createMemoizedFunction( ({ safeProvider, safeVersion, customContracts }: MemoizedGetProxyFactoryContractProps) => - getProxyFactoryContract({ safeProvider, safeVersion, customContracts }) + getSafeProxyFactoryContract({ safeProvider, safeVersion, customContracts }) ) const memoizedGetProxyCreationCode = createMemoizedFunction( @@ -195,6 +194,26 @@ const memoizedGetSafeContract = createMemoizedFunction( getSafeContract({ safeProvider, safeVersion, isL1SafeSingleton, customContracts }) ) +/** + * Retrieves the version of the Safe contract associated with the given Safe address from the blockchain. + * + * @param {SafeProvider} safeProvider The provider to use when reading the contract. + * @param {string} safeAddress The address of the Safe contract for which to retrieve the version. + * + * @returns {Promise} A promise resolving to the version of the Safe contract. + * @throws when fetching an address which doesn't have a Safe deployed in it. + */ +export async function getSafeContractVersion( + safeProvider: SafeProvider, + safeAddress: string +): Promise { + return (await safeProvider.readContract({ + address: safeAddress, + abi: parseAbi(['function VERSION() view returns (string)']), + functionName: 'VERSION' + })) as SafeVersion +} + /** * Provides a chain-specific default salt nonce for generating unique addresses * for the same Safe configuration across different chains. @@ -435,7 +454,7 @@ export function zkSyncEraCreate2Address( concat([ZKSYNC_CREATE2_PREFIX, pad(asHex(from)), salt, bytecodeHash, inputHash]) ).slice(26) - return addressBytes + return `0x${addressBytes}` } export function toTxResult( diff --git a/packages/protocol-kit/src/index.ts b/packages/protocol-kit/src/index.ts index 492166373..cd12b85cf 100644 --- a/packages/protocol-kit/src/index.ts +++ b/packages/protocol-kit/src/index.ts @@ -14,7 +14,7 @@ import { getCreateCallContract, getMultiSendCallOnlyContract, getMultiSendContract, - getProxyFactoryContract, + getSafeProxyFactoryContract, getSafeContract, getSignMessageLibContract, getSafeWebAuthnSignerFactoryContract, @@ -37,7 +37,6 @@ import { estimateSafeDeploymentGas, extractPasskeyCoordinates, extractPasskeyData, - getDefaultFCLP256VerifierAddress, validateEthereumAddress, validateEip3770Address } from './utils' @@ -96,12 +95,11 @@ export { getERC20Decimals, getMultiSendCallOnlyContract, getMultiSendContract, - getProxyFactoryContract, + getSafeProxyFactoryContract, getSafeContract, getSignMessageLibContract, getSafeWebAuthnSignerFactoryContract, getSafeWebAuthnSharedSignerContract, - getDefaultFCLP256VerifierAddress, isGasTokenCompatibleWithHandlePayment, predictSafeAddress, getPredictedSafeAddressInitCode, @@ -130,7 +128,7 @@ export * from './types' export default Safe -declare module 'viem/node_modules/abitype' { +declare module 'abitype' { export interface Register { AddressType: string } diff --git a/packages/protocol-kit/src/managers/contractManager.ts b/packages/protocol-kit/src/managers/contractManager.ts index 3493333e6..f71590c8e 100644 --- a/packages/protocol-kit/src/managers/contractManager.ts +++ b/packages/protocol-kit/src/managers/contractManager.ts @@ -11,9 +11,10 @@ import { SafeConfig, SafeContractImplementationType } from '@safe-global/protocol-kit/types' -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' import { isSafeConfigWithPredictedSafe } from '../utils/types' import SafeProvider from '../SafeProvider' +import { getSafeContractVersion } from '@safe-global/protocol-kit/contracts/utils' class ContractManager { #contractNetworks?: ContractNetworksConfig @@ -41,30 +42,21 @@ class ContractManager { if (isSafeConfigWithPredictedSafe(config)) { safeVersion = predictedSafe?.safeDeploymentConfig?.safeVersion ?? DEFAULT_SAFE_VERSION } else { - // We use the default version of the Safe contract to get the correct version of this Safe - const defaultSafeContractInstance = await getSafeContract({ + try { + // We try to fetch the version of the Safe from the blockchain + safeVersion = await getSafeContractVersion(safeProvider, safeAddress as string) + } catch (e) { + // if contract is not deployed we use the default version + safeVersion = DEFAULT_SAFE_VERSION + } + + this.#safeContract = await getSafeContract({ safeProvider, - safeVersion: DEFAULT_SAFE_VERSION, + safeVersion, isL1SafeSingleton, customSafeAddress: safeAddress, customContracts }) - - // We check the correct version of the Safe from the blockchain - safeVersion = await defaultSafeContractInstance.getVersion() - - // We get the correct Safe Contract if the real Safe version is not the lastest - const isTheDefaultSafeVersion = safeVersion === DEFAULT_SAFE_VERSION - - this.#safeContract = isTheDefaultSafeVersion - ? defaultSafeContractInstance - : await getSafeContract({ - safeProvider, - safeVersion, - isL1SafeSingleton, - customSafeAddress: safeAddress, - customContracts - }) } this.#multiSendContract = await getMultiSendContract({ diff --git a/packages/protocol-kit/src/managers/fallbackHandlerManager.ts b/packages/protocol-kit/src/managers/fallbackHandlerManager.ts index acd26f9bc..e5d53629e 100644 --- a/packages/protocol-kit/src/managers/fallbackHandlerManager.ts +++ b/packages/protocol-kit/src/managers/fallbackHandlerManager.ts @@ -47,7 +47,7 @@ class FallbackHandlerManager { if (!this.#safeContract) { throw new Error('Safe is not deployed') } - const safeVersion = await this.#safeContract.getVersion() + const safeVersion = this.#safeContract.safeVersion if (!hasSafeFeature(SAFE_FEATURES.SAFE_FALLBACK_HANDLER, safeVersion)) { throw new Error( 'Current version of the Safe does not support the fallback handler functionality' diff --git a/packages/protocol-kit/src/managers/guardManager.ts b/packages/protocol-kit/src/managers/guardManager.ts index e1ccfd1ff..808fb9e91 100644 --- a/packages/protocol-kit/src/managers/guardManager.ts +++ b/packages/protocol-kit/src/managers/guardManager.ts @@ -44,7 +44,7 @@ class GuardManager { if (!this.#safeContract) { throw new Error('Safe is not deployed') } - const safeVersion = await this.#safeContract.getVersion() + const safeVersion = this.#safeContract.safeVersion if (!hasSafeFeature(SAFE_FEATURES.SAFE_TX_GUARDS, safeVersion)) { throw new Error( 'Current version of the Safe does not support Safe transaction guards functionality' diff --git a/packages/protocol-kit/src/types/contracts.ts b/packages/protocol-kit/src/types/contracts.ts index 0b402d1b4..f2f176089 100644 --- a/packages/protocol-kit/src/types/contracts.ts +++ b/packages/protocol-kit/src/types/contracts.ts @@ -1,5 +1,5 @@ import { Abi } from 'viem' -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' import SafeContract_v1_0_0 from '@safe-global/protocol-kit/contracts/Safe/v1.0.0/SafeContract_v1_0_0' import SafeContract_v1_1_1 from '@safe-global/protocol-kit/contracts/Safe/v1.1.1/SafeContract_v1_1_1' import SafeContract_v1_2_0 from '@safe-global/protocol-kit/contracts/Safe/v1.2.0/SafeContract_v1_2_0' diff --git a/packages/protocol-kit/src/types/safeConfig.ts b/packages/protocol-kit/src/types/safeConfig.ts index 5e9f9b9ab..767cf770b 100644 --- a/packages/protocol-kit/src/types/safeConfig.ts +++ b/packages/protocol-kit/src/types/safeConfig.ts @@ -1,4 +1,4 @@ -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' import { SafeProviderConfig } from './safeProvider' import { ContractNetworksConfig } from './contracts' diff --git a/packages/protocol-kit/src/types/transactions.ts b/packages/protocol-kit/src/types/transactions.ts index b895ccb12..9a4124d73 100644 --- a/packages/protocol-kit/src/types/transactions.ts +++ b/packages/protocol-kit/src/types/transactions.ts @@ -1,4 +1,4 @@ -import { MetaTransactionData, SafeTransactionDataPartial } from '@safe-global/safe-core-sdk-types' +import { MetaTransactionData, SafeTransactionDataPartial } from '@safe-global/types-kit' import { SafeTransactionOptionalProps } from '@safe-global/protocol-kit/utils/transactions' import { SafeProviderConfig } from './safeProvider' diff --git a/packages/protocol-kit/src/utils/eip-3770/config.ts b/packages/protocol-kit/src/utils/eip-3770/config.ts index 3e2610416..f5fe6b25e 100644 --- a/packages/protocol-kit/src/utils/eip-3770/config.ts +++ b/packages/protocol-kit/src/utils/eip-3770/config.ts @@ -82,6 +82,7 @@ export const networks: NetworkShortName[] = [ { chainId: 592n, shortName: 'astr' }, { chainId: 595n, shortName: 'maca' }, { chainId: 599n, shortName: 'metis-goerli' }, + { chainId: 648n, shortName: 'ace' }, { chainId: 686n, shortName: 'kar' }, { chainId: 690n, shortName: 'redstone' }, { chainId: 787n, shortName: 'aca' }, @@ -124,6 +125,7 @@ export const networks: NetworkShortName[] = [ { chainId: 2020n, shortName: 'pmint' }, { chainId: 2021n, shortName: 'edg' }, { chainId: 2039n, shortName: 'aleph' }, + { chainId: 2192n, shortName: 'snax' }, { chainId: 2221n, shortName: 'tkava' }, { chainId: 2222n, shortName: 'kava' }, { chainId: 2331n, shortName: 'rss3-testnet' }, @@ -202,7 +204,10 @@ export const networks: NetworkShortName[] = [ { chainId: 28979n, shortName: 'kimbonet-testnet' }, { chainId: 32769n, shortName: 'zil' }, { chainId: 33101n, shortName: 'zil-testnet' }, + { chainId: 33401n, shortName: 'slingshot' }, { chainId: 34443n, shortName: 'mode' }, + { chainId: 35441n, shortName: 'q' }, + { chainId: 35443n, shortName: 'q-testnet' }, { chainId: 41455n, shortName: 'aleph-zero' }, { chainId: 42161n, shortName: 'arb1' }, { chainId: 42170n, shortName: 'arb-nova' }, @@ -225,6 +230,7 @@ export const networks: NetworkShortName[] = [ { chainId: 59140n, shortName: 'linea-goerli' }, { chainId: 59141n, shortName: 'linea-sepolia' }, { chainId: 59144n, shortName: 'linea' }, + { chainId: 60808n, shortName: 'bob' }, { chainId: 71401n, shortName: 'gw-testnet-v1' }, { chainId: 71402n, shortName: 'gw-mainnet-v1' }, { chainId: 73799n, shortName: 'vt' }, @@ -272,6 +278,7 @@ export const networks: NetworkShortName[] = [ { chainId: 6038361n, shortName: 'azkyt' }, { chainId: 7225878n, shortName: 'saakuru' }, { chainId: 7777777n, shortName: 'zora' }, + { chainId: 9999999n, shortName: 'fluence' }, { chainId: 11155111n, shortName: 'sep' }, { chainId: 11155420n, shortName: 'opsep' }, { chainId: 12227332n, shortName: 'neox-t4' }, @@ -288,6 +295,7 @@ export const networks: NetworkShortName[] = [ { chainId: 333000333n, shortName: 'meld' }, { chainId: 476462898n, shortName: 'Skopje' }, { chainId: 666666666n, shortName: 'degen-chain' }, + { chainId: 888888888n, shortName: 'ancient8' }, { chainId: 999999999n, shortName: 'zsep' }, { chainId: 1313161554n, shortName: 'aurora' }, { chainId: 1313161555n, shortName: 'aurora-testnet' }, diff --git a/packages/protocol-kit/src/utils/eip-3770/index.ts b/packages/protocol-kit/src/utils/eip-3770/index.ts index ec3d5f54c..a8234e82e 100644 --- a/packages/protocol-kit/src/utils/eip-3770/index.ts +++ b/packages/protocol-kit/src/utils/eip-3770/index.ts @@ -1,5 +1,5 @@ import { isAddress } from 'viem' -import { Eip3770Address } from '@safe-global/safe-core-sdk-types' +import { Eip3770Address } from '@safe-global/types-kit' import { networks } from './config' export function parseEip3770Address(fullAddress: string): Eip3770Address { diff --git a/packages/protocol-kit/src/utils/eip-712/encode.ts b/packages/protocol-kit/src/utils/eip-712/encode.ts index 635fa890d..49d1e4510 100644 --- a/packages/protocol-kit/src/utils/eip-712/encode.ts +++ b/packages/protocol-kit/src/utils/eip-712/encode.ts @@ -1,4 +1,4 @@ -import { EIP712TypedData, TypedDataTypes, TypedMessageTypes } from 'packages/safe-core-sdk-types' +import { EIP712TypedData, TypedDataTypes, TypedMessageTypes } from '@safe-global/types-kit' import { keccak256, concat, diff --git a/packages/protocol-kit/src/utils/eip-712/index.ts b/packages/protocol-kit/src/utils/eip-712/index.ts index 2b83cee42..366ee0df6 100644 --- a/packages/protocol-kit/src/utils/eip-712/index.ts +++ b/packages/protocol-kit/src/utils/eip-712/index.ts @@ -7,7 +7,7 @@ import { SafeTransactionData, EIP712TypedDataMessage, EIP712TypedDataTx -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import semverSatisfies from 'semver/functions/satisfies' import { hashTypedData as hashTypedStructuredData } from './encode' diff --git a/packages/protocol-kit/src/utils/erc-20/index.ts b/packages/protocol-kit/src/utils/erc-20/index.ts index acc5f4e1e..06b9d1c65 100644 --- a/packages/protocol-kit/src/utils/erc-20/index.ts +++ b/packages/protocol-kit/src/utils/erc-20/index.ts @@ -1,5 +1,5 @@ import Safe from '@safe-global/protocol-kit/Safe' -import { Transaction } from '@safe-global/safe-core-sdk-types' +import { Transaction } from '@safe-global/types-kit' import { encodeFunctionData, parseAbi } from 'viem' import { ZERO_ADDRESS } from '../constants' diff --git a/packages/protocol-kit/src/utils/messages/SafeMessage.ts b/packages/protocol-kit/src/utils/messages/SafeMessage.ts index 9b2beea68..06e5c942e 100644 --- a/packages/protocol-kit/src/utils/messages/SafeMessage.ts +++ b/packages/protocol-kit/src/utils/messages/SafeMessage.ts @@ -1,4 +1,4 @@ -import { EIP712TypedData, SafeMessage, SafeSignature } from '@safe-global/safe-core-sdk-types' +import { EIP712TypedData, SafeMessage, SafeSignature } from '@safe-global/types-kit' import { buildSignatureBytes } from '../signatures' class EthSafeMessage implements SafeMessage { diff --git a/packages/protocol-kit/src/utils/passkeys/PasskeyClient.ts b/packages/protocol-kit/src/utils/passkeys/PasskeyClient.ts index f03b8600e..3307cfd6a 100644 --- a/packages/protocol-kit/src/utils/passkeys/PasskeyClient.ts +++ b/packages/protocol-kit/src/utils/passkeys/PasskeyClient.ts @@ -1,11 +1,6 @@ -import { PasskeyArgType } from '../../types/passkeys' -import { - SafeWebAuthnSignerFactoryContractImplementationType, - SafeWebAuthnSharedSignerContractImplementationType -} from '../../types/contracts' -import { getDefaultFCLP256VerifierAddress, hexStringToUint8Array } from './extractPasskeyData' import { Hex, + hexToBytes, encodeAbiParameters, toHex, toBytes, @@ -17,12 +12,19 @@ import { walletActions, maxUint256, Client, + fromBytes, fromHex, parseAbiParameters, encodeFunctionData, parseAbi } from 'viem' -import { PasskeyClient } from '@safe-global/protocol-kit/types' +import { + PasskeyArgType, + PasskeyClient, + SafeWebAuthnSignerFactoryContractImplementationType, + SafeWebAuthnSharedSignerContractImplementationType +} from '@safe-global/protocol-kit/types' +import { getDefaultFCLP256VerifierAddress } from './extractPasskeyData' import { asHex } from '../types' import isSharedSigner from './isSharedSigner' @@ -69,7 +71,7 @@ export const createPasskeyClient = async ( chainId: string ) => { const { rawId, coordinates, customVerifierAddress } = passkey - const passkeyRawId = hexStringToUint8Array(rawId) + const passkeyRawId = hexToBytes(asHex(rawId)) const verifierAddress = customVerifierAddress || getDefaultFCLP256VerifierAddress(chainId) const isPasskeySharedSigner = await isSharedSigner( @@ -117,7 +119,7 @@ export const createPasskeyClient = async ( { x: BigInt(passkey.coordinates.x), y: BigInt(passkey.coordinates.y), - verifiers: fromHex(verifierAddress as Hex, 'bigint') + verifiers: fromHex(asHex(verifierAddress), 'bigint') } ] }) @@ -198,7 +200,7 @@ function extractSignature(signature: ArrayBuffer): [bigint, bigint] { const len = view.getUint8(offset + 1) const start = offset + 2 const end = start + len - const n = fromHex(toHex(new Uint8Array(view.buffer.slice(start, end))), 'bigint') + const n = fromBytes(new Uint8Array(view.buffer.slice(start, end)), 'bigint') check(n < maxUint256) return [n, end] as const } diff --git a/packages/protocol-kit/src/utils/passkeys/createPasskeyDeploymentTransaction.ts b/packages/protocol-kit/src/utils/passkeys/createPasskeyDeploymentTransaction.ts index dae2bad6d..7212ba557 100644 --- a/packages/protocol-kit/src/utils/passkeys/createPasskeyDeploymentTransaction.ts +++ b/packages/protocol-kit/src/utils/passkeys/createPasskeyDeploymentTransaction.ts @@ -15,7 +15,7 @@ async function createPasskeyDeploymentTransaction( safe: Safe, passkey: PasskeyArgType ): Promise<{ to: string; value: string; data: Hex }> { - const safeVersion = await safe.getContractVersion() + const safeVersion = safe.getContractVersion() const safeAddress = await safe.getAddress() const owners = await safe.getOwners() diff --git a/packages/protocol-kit/src/utils/passkeys/extractPasskeyData.ts b/packages/protocol-kit/src/utils/passkeys/extractPasskeyData.ts index 04fae878d..5760fd4b6 100644 --- a/packages/protocol-kit/src/utils/passkeys/extractPasskeyData.ts +++ b/packages/protocol-kit/src/utils/passkeys/extractPasskeyData.ts @@ -1,6 +1,6 @@ import { getFCLP256VerifierDeployment } from '@safe-global/safe-modules-deployments' import { Buffer } from 'buffer' -import { PasskeyCoordinates, PasskeyArgType } from '../../types/passkeys' +import { PasskeyCoordinates, PasskeyArgType } from '@safe-global/protocol-kit/types' /** * Extracts and returns the passkey data (coordinates and rawId) from a given passkey Credential. @@ -60,28 +60,21 @@ export async function extractPasskeyCoordinates( } } -// FIXME use Viem `hexToBytes` -export function hexStringToUint8Array(hexString: string): Uint8Array { - const arr = [] - for (let i = 0; i < hexString.length; i += 2) { - arr.push(parseInt(hexString.substr(i, 2), 16)) - } - return new Uint8Array(arr) -} - export function getDefaultFCLP256VerifierAddress(chainId: string): string { - const network = BigInt(chainId).toString() - const FCLP256VerifierDeployment = getFCLP256VerifierDeployment({ - version: '0.2.0', + version: '0.2.1', released: true, - network + network: chainId }) - const verifierAddress = FCLP256VerifierDeployment?.networkAddresses[network] + if (!FCLP256VerifierDeployment) { + throw new Error(`Failed to load FCLP256Verifier deployment for chain ID ${chainId}`) + } + + const verifierAddress = FCLP256VerifierDeployment.networkAddresses[chainId] if (!verifierAddress) { - throw new Error('FCLP256Verifier address not found') + throw new Error(`FCLP256Verifier address not found for chain ID ${chainId}`) } return verifierAddress diff --git a/packages/protocol-kit/src/utils/passkeys/getPasskeyOwnerAddress.ts b/packages/protocol-kit/src/utils/passkeys/getPasskeyOwnerAddress.ts index 1e8cc621d..a44e71545 100644 --- a/packages/protocol-kit/src/utils/passkeys/getPasskeyOwnerAddress.ts +++ b/packages/protocol-kit/src/utils/passkeys/getPasskeyOwnerAddress.ts @@ -10,7 +10,7 @@ import { PasskeyArgType } from '@safe-global/protocol-kit/types' * @returns {Promise} Returns the passkey owner address associated with the passkey */ async function getPasskeyOwnerAddress(safe: Safe, passkey: PasskeyArgType): Promise { - const safeVersion = await safe.getContractVersion() + const safeVersion = safe.getContractVersion() const safeAddress = await safe.getAddress() const owners = await safe.getOwners() diff --git a/packages/protocol-kit/src/utils/passkeys/isSharedSigner.ts b/packages/protocol-kit/src/utils/passkeys/isSharedSigner.ts index b5d9f448b..d5e037117 100644 --- a/packages/protocol-kit/src/utils/passkeys/isSharedSigner.ts +++ b/packages/protocol-kit/src/utils/passkeys/isSharedSigner.ts @@ -7,7 +7,7 @@ import { asHex } from '@safe-global/protocol-kit/utils/types' /** * Returns true if the passkey signer is a shared signer - * @returns {Promise} A promise that resolves to the signer's address. + * @returns {Promise} A promise that resolves to the signer's address. */ async function isSharedSigner( passkey: PasskeyArgType, @@ -26,13 +26,13 @@ async function isSharedSigner( const { x, y, verifiers } = sharedSignerSlot - const passkeyVerifierAddress = - passkey.customVerifierAddress || getDefaultFCLP256VerifierAddress(chainId.toString()) + const verifierAddress = + passkey.customVerifierAddress || getDefaultFCLP256VerifierAddress(chainId) const isSharedSigner = BigInt(passkey.coordinates.x) === x && BigInt(passkey.coordinates.y) === y && - BigInt(passkeyVerifierAddress) === verifiers + BigInt(verifierAddress) === verifiers return isSharedSigner } diff --git a/packages/protocol-kit/src/utils/provider.ts b/packages/protocol-kit/src/utils/provider.ts index 050f58390..1ca5f7e5f 100644 --- a/packages/protocol-kit/src/utils/provider.ts +++ b/packages/protocol-kit/src/utils/provider.ts @@ -4,4 +4,5 @@ import { PASSKEY_CLIENT_KEY } from './passkeys' export const isEip1193Provider = (provider: any): boolean => typeof provider !== 'string' export const isPrivateKey = (signer?: any): boolean => typeof signer === 'string' && !isAddress(signer) -export const isSignerPasskeyClient = (signer?: any): boolean => signer?.key === PASSKEY_CLIENT_KEY +export const isSignerPasskeyClient = (signer?: any): boolean => + !!signer && signer.key === PASSKEY_CLIENT_KEY diff --git a/packages/protocol-kit/src/utils/safeVersions.ts b/packages/protocol-kit/src/utils/safeVersions.ts index 28fa89292..b3233fef6 100644 --- a/packages/protocol-kit/src/utils/safeVersions.ts +++ b/packages/protocol-kit/src/utils/safeVersions.ts @@ -58,7 +58,7 @@ export type SafeContractCompatibleWithSimulateAndRevert = SafeContract_v1_3_0 | export async function isSafeContractCompatibleWithRequiredTxGas( safeContract: SafeContractImplementationType ): Promise { - const safeVersion = await safeContract.getVersion() + const safeVersion = safeContract.safeVersion if (!hasSafeFeature(SAFE_FEATURES.REQUIRED_TXGAS, safeVersion)) { throw new Error('Current version of the Safe does not support the requiredTxGas functionality') @@ -70,7 +70,7 @@ export async function isSafeContractCompatibleWithRequiredTxGas( export async function isSafeContractCompatibleWithSimulateAndRevert( safeContract: SafeContractImplementationType ): Promise { - const safeVersion = await safeContract.getVersion() + const safeVersion = safeContract.safeVersion if (!hasSafeFeature(SAFE_FEATURES.SIMULATE_AND_REVERT, safeVersion)) { throw new Error( diff --git a/packages/protocol-kit/src/utils/signatures/SafeSignature.ts b/packages/protocol-kit/src/utils/signatures/SafeSignature.ts index a67ff1922..4ffab88da 100644 --- a/packages/protocol-kit/src/utils/signatures/SafeSignature.ts +++ b/packages/protocol-kit/src/utils/signatures/SafeSignature.ts @@ -1,4 +1,4 @@ -import { SafeSignature } from '@safe-global/safe-core-sdk-types' +import { SafeSignature } from '@safe-global/types-kit' export class EthSafeSignature implements SafeSignature { signer: string diff --git a/packages/protocol-kit/src/utils/signatures/utils.ts b/packages/protocol-kit/src/utils/signatures/utils.ts index 21545d3a2..230071311 100644 --- a/packages/protocol-kit/src/utils/signatures/utils.ts +++ b/packages/protocol-kit/src/utils/signatures/utils.ts @@ -1,10 +1,6 @@ import { recoverAddress } from 'viem' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' -import { - SafeSignature, - SafeEIP712Args, - SafeTransactionData -} from '@safe-global/safe-core-sdk-types' +import { SafeSignature, SafeEIP712Args, SafeTransactionData } from '@safe-global/types-kit' import semverSatisfies from 'semver/functions/satisfies' import { sameString } from '../address' import { EthSafeSignature } from './SafeSignature' diff --git a/packages/protocol-kit/src/utils/transactions/SafeTransaction.ts b/packages/protocol-kit/src/utils/transactions/SafeTransaction.ts index eee990991..603015949 100644 --- a/packages/protocol-kit/src/utils/transactions/SafeTransaction.ts +++ b/packages/protocol-kit/src/utils/transactions/SafeTransaction.ts @@ -1,8 +1,4 @@ -import { - SafeSignature, - SafeTransaction, - SafeTransactionData -} from '@safe-global/safe-core-sdk-types' +import { SafeSignature, SafeTransaction, SafeTransactionData } from '@safe-global/types-kit' import { buildSignatureBytes } from '../signatures' class EthSafeTransaction implements SafeTransaction { diff --git a/packages/protocol-kit/src/utils/transactions/gas.ts b/packages/protocol-kit/src/utils/transactions/gas.ts index edc112b9d..dded483d3 100644 --- a/packages/protocol-kit/src/utils/transactions/gas.ts +++ b/packages/protocol-kit/src/utils/transactions/gas.ts @@ -1,5 +1,5 @@ import { BaseError, CallExecutionErrorType, RawContractErrorType } from 'viem' -import { OperationType, SafeVersion, SafeTransaction } from '@safe-global/safe-core-sdk-types' +import { OperationType, SafeVersion, SafeTransaction } from '@safe-global/types-kit' import semverSatisfies from 'semver/functions/satisfies' import Safe from '@safe-global/protocol-kit/Safe' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' @@ -171,7 +171,7 @@ export async function estimateTxBaseGas( const encodeRefundReceiver = refundReceiver || ZERO_ADDRESS const signatures = '0x' - const safeVersion = await safe.getContractVersion() + const safeVersion = safe.getContractVersion() const safeProvider = safe.getSafeProvider() const isL1SafeSingleton = safe.getContractManager().isL1SafeSingleton const chainId = await safe.getChainId() @@ -238,7 +238,7 @@ export async function estimateSafeTxGas( safe: Safe, safeTransaction: SafeTransaction ): Promise { - const safeVersion = await safe.getContractVersion() + const safeVersion = safe.getContractVersion() if (semverSatisfies(safeVersion, '>=1.3.0')) { const safeTxGas = await estimateSafeTxGasWithSimulate(safe, safeTransaction) @@ -283,7 +283,7 @@ async function estimateSafeTxGasWithRequiredTxGas( ): Promise { const isSafeDeployed = await safe.isSafeDeployed() const safeAddress = await safe.getAddress() - const safeVersion = await safe.getContractVersion() + const safeVersion = safe.getContractVersion() const safeProvider = safe.getSafeProvider() const isL1SafeSingleton = safe.getContractManager().isL1SafeSingleton const chainId = await safe.getChainId() @@ -436,7 +436,7 @@ async function estimateSafeTxGasWithSimulate( ): Promise { const isSafeDeployed = await safe.isSafeDeployed() const safeAddress = await safe.getAddress() - const safeVersion = await safe.getContractVersion() + const safeVersion = safe.getContractVersion() const safeProvider = safe.getSafeProvider() const chainId = await safe.getChainId() const customContracts = safe.getContractManager().contractNetworks?.[chainId.toString()] diff --git a/packages/protocol-kit/src/utils/transactions/types.ts b/packages/protocol-kit/src/utils/transactions/types.ts index 054122077..fe9220c04 100644 --- a/packages/protocol-kit/src/utils/transactions/types.ts +++ b/packages/protocol-kit/src/utils/transactions/types.ts @@ -1,4 +1,4 @@ -import { SafeTransactionDataPartial } from '@safe-global/safe-core-sdk-types' +import { SafeTransactionDataPartial } from '@safe-global/types-kit' import { Chain, Address, Account } from 'viem' export type SafeTransactionOptionalProps = Pick< diff --git a/packages/protocol-kit/src/utils/transactions/utils.ts b/packages/protocol-kit/src/utils/transactions/utils.ts index 5b4d255de..05767898f 100644 --- a/packages/protocol-kit/src/utils/transactions/utils.ts +++ b/packages/protocol-kit/src/utils/transactions/utils.ts @@ -6,6 +6,7 @@ import { PasskeyArgType, RemoveOwnerTxParams, RemovePasskeyOwnerTxParams, + SafeProviderTransaction, StandardizeSafeTransactionDataProps, SwapOwnerTxParams, ExternalClient @@ -23,7 +24,7 @@ import { SafeVersion, TransactionOptions, Transaction -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import semverSatisfies from 'semver/functions/satisfies' import { estimateGas, estimateTxGas } from './gas' import { @@ -39,7 +40,6 @@ import { parseAbi } from 'viem' import { waitForTransactionReceipt as waitForTransactionReceiptViem } from 'viem/actions' -import { SafeProviderTransaction } from '@safe-global/protocol-kit/types' import { WalletLegacyTransactionOptions, WalletTransactionOptions } from './types' export function standardizeMetaTransactionData( @@ -89,7 +89,7 @@ export async function standardizeSafeTransactionData({ if (!safeContract) { throw new Error('Safe is not deployed') } - safeVersion = await safeContract.getVersion() + safeVersion = safeContract.safeVersion } const hasSafeTxGasOptional = hasSafeFeature(SAFE_FEATURES.SAFE_TX_GAS_OPTIONAL, safeVersion) diff --git a/packages/protocol-kit/tests/e2e/contractManager.test.ts b/packages/protocol-kit/tests/e2e/contractManager.test.ts index 978c5b845..2d9e315f4 100644 --- a/packages/protocol-kit/tests/e2e/contractManager.test.ts +++ b/packages/protocol-kit/tests/e2e/contractManager.test.ts @@ -1,45 +1,31 @@ -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' -import Safe, { ContractNetworksConfig, PredictedSafeProps } from '@safe-global/protocol-kit/index' -import { ZERO_ADDRESS } from '@safe-global/protocol-kit/utils/constants' -import chai from 'chai' -import chaiAsPromised from 'chai-as-promised' -import { deployments } from 'hardhat' -import { getContractNetworks } from './utils/setupContractNetworks' import { + safeVersionDeployed, + setupTests, getCompatibilityFallbackHandler, getCreateCall, getFactory, getMultiSend, getMultiSendCallOnly, getSafeSingleton, - getSafeWithOwners, getSignMessageLib, - getSimulateTxAccessor -} from './utils/setupContracts' + getSimulateTxAccessor, + getSafeWebAuthnSharedSigner, + getSafeWebAuthnSignerFactory +} from '@safe-global/testing-kit' +import Safe, { ContractNetworksConfig, PredictedSafeProps } from '@safe-global/protocol-kit/index' +import { ZERO_ADDRESS } from '@safe-global/protocol-kit/utils/constants' +import chai from 'chai' +import chaiAsPromised from 'chai-as-promised' import { getEip1193Provider } from './utils/setupProvider' -import { getAccounts } from './utils/setupTestNetwork' chai.use(chaiAsPromised) describe('Safe contracts manager', () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) - const provider = getEip1193Provider() - return { - safe: await getSafeWithOwners([accounts[0].address]), - accounts, - contractNetworks, - chainId, - provider - } - }) + const provider = getEip1193Provider() describe('create', async () => { it('should initialize the SDK with a Safe that is not deployed', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { accounts, contractNetworks } = await setupTests() const predictedSafe: PredictedSafeProps = { safeAccountConfig: { owners: [accounts[0].address], @@ -59,7 +45,7 @@ describe('Safe contracts manager', () => { }) it('should fail if the current network is not a default network and no contractNetworks is provided', async () => { - const { safe, provider } = await setupTests() + const { safe } = await setupTests() const safeAddress = safe.address await chai .expect( @@ -72,7 +58,7 @@ describe('Safe contracts manager', () => { }) it('should fail if SafeProxy contract is not deployed on the current network', async () => { - const { contractNetworks, provider } = await setupTests() + const { contractNetworks } = await setupTests() await chai .expect( Safe.init({ @@ -85,7 +71,7 @@ describe('Safe contracts manager', () => { }) it('should fail if MultiSend contract is specified in contractNetworks but not deployed', async () => { - const { safe, chainId, provider } = await setupTests() + const { safe, chainId } = await setupTests() const customContractNetworks: ContractNetworksConfig = { [chainId.toString()]: { safeSingletonAddress: ZERO_ADDRESS, @@ -103,7 +89,11 @@ describe('Safe contracts manager', () => { createCallAddress: ZERO_ADDRESS, createCallAbi: (await getCreateCall()).abi, simulateTxAccessorAddress: ZERO_ADDRESS, - simulateTxAccessorAbi: (await getSimulateTxAccessor()).abi + simulateTxAccessorAbi: (await getSimulateTxAccessor()).abi, + safeWebAuthnSignerFactoryAddress: ZERO_ADDRESS, + safeWebAuthnSignerFactoryAbi: (await getSafeWebAuthnSignerFactory()).abi, + safeWebAuthnSharedSignerAddress: ZERO_ADDRESS, + safeWebAuthnSharedSignerAbi: (await getSafeWebAuthnSharedSigner()).abi } } @@ -120,7 +110,7 @@ describe('Safe contracts manager', () => { }) it('should set the MultiSend contract available on the current network', async () => { - const { safe, chainId, contractNetworks, provider } = await setupTests() + const { safe, chainId, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, diff --git a/packages/protocol-kit/tests/e2e/core.test.ts b/packages/protocol-kit/tests/e2e/core.test.ts index 9728179cb..811ed2a09 100644 --- a/packages/protocol-kit/tests/e2e/core.test.ts +++ b/packages/protocol-kit/tests/e2e/core.test.ts @@ -1,51 +1,29 @@ import { DEFAULT_SAFE_VERSION } from '@safe-global/protocol-kit/contracts/config' -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' +import { + safeVersionDeployed, + setupTests, + itif, + getSafeWithOwners, + waitTransactionReceipt +} from '@safe-global/testing-kit' import Safe, { PredictedSafeProps } from '@safe-global/protocol-kit/index' import chai from 'chai' import chaiAsPromised from 'chai-as-promised' -import { deployments } from 'hardhat' -import { itif } from './utils/helpers' -import { getContractNetworks } from './utils/setupContractNetworks' -import { getSafeWithOwners } from './utils/setupContracts' import { getEip1193Provider } from './utils/setupProvider' -import { getAccounts } from './utils/setupTestNetwork' + import { waitSafeTxReceipt } from './utils/transactions' -import { waitTransactionReceipt } from './utils/transactions' import { sameString } from '@safe-global/protocol-kit/utils' chai.use(chaiAsPromised) describe('Safe Info', () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) - const predictedSafe: PredictedSafeProps = { - safeAccountConfig: { - owners: [accounts[0].address], - threshold: 1 - }, - safeDeploymentConfig: { - safeVersion: safeVersionDeployed - } - } - const provider = getEip1193Provider() - return { - chainId, - safe: await getSafeWithOwners([accounts[0].address, accounts[1].address]), - provider, - predictedSafe, - accounts, - contractNetworks - } - }) + const provider = getEip1193Provider() describe('connect', async () => { itif(safeVersionDeployed < '1.3.0')( 'should fail to connect a Safe { - const { predictedSafe, safe, contractNetworks, provider } = await setupTests() + const { predictedSafe, safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -62,7 +40,7 @@ describe('Safe Info', () => { ) it('should connect a Safe >=v1.3.0 that is not deployed', async () => { - const { predictedSafe, safe, accounts, contractNetworks, provider } = await setupTests() + const { predictedSafe, safe, accounts, contractNetworks } = await setupTests() const [account1] = accounts const safeAddress = safe.address const safeSdk = await Safe.init({ @@ -74,13 +52,13 @@ describe('Safe Info', () => { chai.expect( sameString( await safeSdk2.getSafeProvider().getSignerAddress(), - await account1.signer.account?.address + account1.signer.account?.address ) ).to.be.true }) it('should connect a deployed Safe', async () => { - const { safe, accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1, account2, account3] = accounts const safeAddress = safe.address const safeSdk = await Safe.init({ @@ -93,7 +71,7 @@ describe('Safe Info', () => { chai.expect( sameString( await safeSdk.getSafeProvider().getSignerAddress(), - await account1.signer.account?.address + account1.signer.account?.address ) ).to.be.true @@ -107,7 +85,7 @@ describe('Safe Info', () => { chai.expect( sameString( await safeSdk2.getSafeProvider().getSignerAddress(), - await account2.signer.account?.address + account2.signer.account?.address ) ).to.be.true @@ -121,7 +99,7 @@ describe('Safe Info', () => { chai.expect( sameString( await safeSdk3.getSafeProvider().getSignerAddress(), - await account3.signer.account?.address + account3.signer.account?.address ) ).to.be.true }) @@ -129,18 +107,18 @@ describe('Safe Info', () => { describe('getContractVersion', async () => { it('should return the contract version of a Safe that is not deployed with a custom version configuration', async () => { - const { predictedSafe, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, predictedSafe, contractNetworks }) - const contractVersion = await safeSdk.getContractVersion() + const contractVersion = safeSdk.getContractVersion() chai.expect(contractVersion).to.be.eq(safeVersionDeployed) }) it('should return the contract version of a Safe that is not deployed with a default version configuration', async () => { - const { predictedSafe, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() const safeConfig: PredictedSafeProps = { ...predictedSafe, safeDeploymentConfig: {} @@ -150,19 +128,19 @@ describe('Safe Info', () => { predictedSafe: safeConfig, contractNetworks }) - const contractVersion = await safeSdk.getContractVersion() + const contractVersion = safeSdk.getContractVersion() chai.expect(contractVersion).to.be.eq(DEFAULT_SAFE_VERSION) }) it('should return the Safe contract version', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, safeAddress, contractNetworks }) - const contractVersion = await safeSdk.getContractVersion() + const contractVersion = safeSdk.getContractVersion() chai.expect(contractVersion).to.be.eq(safeVersionDeployed) }) }) @@ -171,7 +149,7 @@ describe('Safe Info', () => { itif(safeVersionDeployed < '1.3.0')( 'should fail to return the address of a Safe { - const { predictedSafe, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -189,7 +167,7 @@ describe('Safe Info', () => { itif(safeVersionDeployed >= '1.3.0')( 'should return the address of a Safe >=v1.3.0 that is not deployed', async () => { - const { predictedSafe, contractNetworks, provider, accounts } = await setupTests() + const { predictedSafe, contractNetworks, accounts } = await setupTests() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -213,7 +191,7 @@ describe('Safe Info', () => { ) it('should return the address of a deployed Safe', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -226,7 +204,7 @@ describe('Safe Info', () => { describe('getEip1193Provider', async () => { it('should return the connected SafeProvider', async () => { - const { safe, accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1] = accounts const safeAddress = safe.address const safeSdk = await Safe.init({ @@ -238,7 +216,7 @@ describe('Safe Info', () => { chai.expect( sameString( await safeSdk.getSafeProvider().getSignerAddress(), - await account1.signer.account?.address + account1.signer.account?.address ) ).to.be.true }) @@ -246,7 +224,7 @@ describe('Safe Info', () => { describe('getNonce', async () => { it('should return the nonce of a Safe that is not deployed', async () => { - const { predictedSafe, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -256,7 +234,7 @@ describe('Safe Info', () => { }) it('should return the Safe nonce', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { accounts, contractNetworks } = await setupTests() const [account1, account2] = accounts const safe = await getSafeWithOwners([account1.address]) const safeAddress = safe.address @@ -281,7 +259,7 @@ describe('Safe Info', () => { describe('getChainId', async () => { it('should return the chainId of a Safe that is not deployed', async () => { - const { predictedSafe, chainId, contractNetworks, provider } = await setupTests() + const { predictedSafe, chainId, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -291,7 +269,7 @@ describe('Safe Info', () => { }) it('should return the chainId of the current network', async () => { - const { safe, chainId, contractNetworks, provider } = await setupTests() + const { safe, chainId, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -306,7 +284,7 @@ describe('Safe Info', () => { itif(safeVersionDeployed < '1.3.0')( 'should fail to return the balance of a Safe { - const { predictedSafe, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -323,7 +301,7 @@ describe('Safe Info', () => { itif(safeVersionDeployed >= '1.3.0')( 'should return the balance of a Safe >=v1.3.0 that is not deployed', async () => { - const { predictedSafe, accounts, contractNetworks, provider } = await setupTests() + const { predictedSafe, accounts, contractNetworks } = await setupTests() const [account1] = accounts const safeSdk = await Safe.init({ provider, @@ -346,7 +324,7 @@ describe('Safe Info', () => { ) it('should return the balance of a deployed Safe', async () => { - const { safe, accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1] = accounts const safeAddress = safe.address const safeSdk = await Safe.init({ diff --git a/packages/protocol-kit/tests/e2e/createSafeDeploymentTransaction.test.ts b/packages/protocol-kit/tests/e2e/createSafeDeploymentTransaction.test.ts index aa7f71e3e..2985706f5 100644 --- a/packages/protocol-kit/tests/e2e/createSafeDeploymentTransaction.test.ts +++ b/packages/protocol-kit/tests/e2e/createSafeDeploymentTransaction.test.ts @@ -1,50 +1,28 @@ import chai from 'chai' import chaiAsPromised from 'chai-as-promised' -import { deployments } from 'hardhat' import { keccak256, toHex } from 'viem' -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' +import { + safeVersionDeployed, + setupTests, + itif, + getSafeWithOwners, + getFactory +} from '@safe-global/testing-kit' import Safe, { PREDETERMINED_SALT_NONCE, - PredictedSafeProps, SafeProvider, - encodeSetupCallData + encodeSetupCallData, + getSafeContract } from '@safe-global/protocol-kit/index' -import { getContractNetworks } from './utils/setupContractNetworks' -import { getSafeWithOwners, getFactory } from './utils/setupContracts' import { getEip1193Provider } from './utils/setupProvider' -import { getAccounts } from './utils/setupTestNetwork' -import { itif } from './utils/helpers' chai.use(chaiAsPromised) describe('createSafeDeploymentTransaction', () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) - const provider = getEip1193Provider() - const predictedSafe: PredictedSafeProps = { - safeAccountConfig: { - owners: [accounts[0].address], - threshold: 1 - }, - safeDeploymentConfig: { - safeVersion: safeVersionDeployed - } - } - - return { - accounts, - contractNetworks, - predictedSafe, - chainId, - provider - } - }) + const provider = getEip1193Provider() itif(safeVersionDeployed == '1.4.1')('should return a Safe deployment transactions', async () => { - const { contractNetworks, predictedSafe, provider } = await setupTests() + const { contractNetworks, predictedSafe } = await setupTests() const safeSdk = await Safe.init({ provider, @@ -65,7 +43,7 @@ describe('createSafeDeploymentTransaction', () => { }) itif(safeVersionDeployed == '1.3.0')('should return a Safe deployment transactions', async () => { - const { contractNetworks, predictedSafe, provider } = await setupTests() + const { contractNetworks, predictedSafe } = await setupTests() const safeSdk = await Safe.init({ provider, @@ -86,7 +64,7 @@ describe('createSafeDeploymentTransaction', () => { }) itif(safeVersionDeployed == '1.2.0')('should return a Safe deployment transactions', async () => { - const { contractNetworks, predictedSafe, provider } = await setupTests() + const { contractNetworks, predictedSafe } = await setupTests() const safeSdk = await Safe.init({ provider, @@ -107,7 +85,7 @@ describe('createSafeDeploymentTransaction', () => { }) itif(safeVersionDeployed == '1.1.1')('should return a Safe deployment transactions', async () => { - const { contractNetworks, predictedSafe, provider } = await setupTests() + const { contractNetworks, predictedSafe } = await setupTests() const safeSdk = await Safe.init({ provider, @@ -128,7 +106,7 @@ describe('createSafeDeploymentTransaction', () => { }) itif(safeVersionDeployed == '1.0.0')('should return a Safe deployment transactions', async () => { - const { contractNetworks, predictedSafe, provider } = await setupTests() + const { contractNetworks, predictedSafe } = await setupTests() const safeSdk = await Safe.init({ provider, @@ -149,7 +127,7 @@ describe('createSafeDeploymentTransaction', () => { }) it('should contain the initializer setup call in the deployment data to sets the threshold & owners of the deployed Safe', async () => { - const { contractNetworks, predictedSafe, chainId, provider } = await setupTests() + const { contractNetworks, predictedSafe, chainId } = await setupTests() const safeSdk = await Safe.init({ provider, @@ -159,11 +137,11 @@ describe('createSafeDeploymentTransaction', () => { const safeProvider = safeSdk.getSafeProvider() const deploymentTransaction = await safeSdk.createSafeDeploymentTransaction() - const customContract = contractNetworks[chainId.toString()] - const safeContract = await safeProvider.getSafeContract({ + const customContracts = contractNetworks[chainId.toString()] + const safeContract = await getSafeContract({ + safeProvider, safeVersion: safeVersionDeployed, - customContractAddress: customContract?.safeSingletonAddress, - customContractAbi: customContract?.safeSingletonAbi + customContracts }) // this is the call to the setup method that sets the threshold & owners of the new Safe @@ -180,7 +158,7 @@ describe('createSafeDeploymentTransaction', () => { describe('salt nonce', () => { it('should include the predetermined salt nonce in the Safe deployment data', async () => { - const { contractNetworks, predictedSafe, chainId, provider } = await setupTests() + const { contractNetworks, predictedSafe, chainId } = await setupTests() const safeProvider = new SafeProvider({ provider }) const safeSdk = await Safe.init({ @@ -202,7 +180,7 @@ describe('createSafeDeploymentTransaction', () => { }) it('should include the salt nonce included in the safeDeploymentConfig in the Safe deployment data', async () => { - const { contractNetworks, predictedSafe, provider } = await setupTests() + const { contractNetworks, predictedSafe } = await setupTests() const customSaltNonce = '123456789' @@ -230,7 +208,7 @@ describe('createSafeDeploymentTransaction', () => { }) it('should throw an error if predicted Safe is not present', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { accounts, contractNetworks } = await setupTests() const [account1] = accounts const safe = await getSafeWithOwners([account1.address]) diff --git a/packages/protocol-kit/tests/e2e/createTransaction.test.ts b/packages/protocol-kit/tests/e2e/createTransaction.test.ts index 0569bb3a8..56b84f0d2 100644 --- a/packages/protocol-kit/tests/e2e/createTransaction.test.ts +++ b/packages/protocol-kit/tests/e2e/createTransaction.test.ts @@ -1,19 +1,13 @@ -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' +import { safeVersionDeployed, setupTests, getERC20Mintable, itif } from '@safe-global/testing-kit' import Safe, { - PredictedSafeProps, SafeTransactionOptionalProps, standardizeSafeTransactionData, SafeContractImplementationType as SafeContract } from '@safe-global/protocol-kit/index' -import { SafeTransactionDataPartial } from '@safe-global/safe-core-sdk-types' +import { SafeTransactionDataPartial } from '@safe-global/types-kit' import chai from 'chai' import chaiAsPromised from 'chai-as-promised' -import { deployments } from 'hardhat' -import { itif } from './utils/helpers' -import { getContractNetworks } from './utils/setupContractNetworks' -import { getERC20Mintable, getSafeWithOwners } from './utils/setupContracts' import { getEip1193Provider } from './utils/setupProvider' -import { getAccounts } from './utils/setupTestNetwork' import { encodeFunctionData } from 'viem' chai.use(chaiAsPromised) @@ -28,39 +22,13 @@ const BASE_OPTIONS: SafeTransactionOptionalProps = { } describe('Transactions creation', () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) - const provider = getEip1193Provider() - const predictedSafe: PredictedSafeProps = { - safeAccountConfig: { - owners: [accounts[0].address], - threshold: 1 - }, - safeDeploymentConfig: { - safeVersion: safeVersionDeployed - } - } - return { - erc20Mintable: await getERC20Mintable(), - safe: await getSafeWithOwners([accounts[0].address, accounts[1].address]), - accounts, - chainId, - contractNetworks, - predictedSafe, - provider - } - }) + const provider = getEip1193Provider() describe('standardizeSafeTransactionData', async () => { itif(safeVersionDeployed >= '1.3.0')( 'should return a transaction with safeTxGas=0 if safeVersion>=1.3.0 and gasPrice=0', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -68,7 +36,7 @@ describe('Transactions creation', () => { contractNetworks }) const txDataPartial: SafeTransactionDataPartial = { - to: account2.address, + to: accounts[1].address, value: '0', data: '0x' } @@ -85,9 +53,7 @@ describe('Transactions creation', () => { itif(safeVersionDeployed >= '1.3.0')( 'should return a transaction with estimated safeTxGas if safeVersion>=1.3.0 and gasPrice>0', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -95,7 +61,7 @@ describe('Transactions creation', () => { contractNetworks }) const txDataPartial: SafeTransactionDataPartial = { - to: account2.address, + to: accounts[1].address, value: '0', data: '0x', gasPrice: BASE_OPTIONS.gasPrice @@ -113,9 +79,7 @@ describe('Transactions creation', () => { itif(safeVersionDeployed >= '1.3.0')( 'should return a transaction with defined safeTxGas if safeVersion>=1.3.0', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -124,7 +88,7 @@ describe('Transactions creation', () => { }) const safeTxGas = BASE_OPTIONS.safeTxGas const txDataPartial: SafeTransactionDataPartial = { - to: account2.address, + to: accounts[1].address, value: '0', data: '0x', safeTxGas @@ -142,9 +106,7 @@ describe('Transactions creation', () => { itif(safeVersionDeployed < '1.3.0')( 'should return a transaction with estimated safeTxGas if safeVersion<1.3.0', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -152,7 +114,7 @@ describe('Transactions creation', () => { contractNetworks }) const txDataPartial: SafeTransactionDataPartial = { - to: account2.address, + to: accounts[1].address, value: '0', data: '0x' } @@ -169,9 +131,7 @@ describe('Transactions creation', () => { itif(safeVersionDeployed < '1.3.0')( 'should return a transaction with defined safeTxGas of 0 if safeVersion<1.3.0', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -180,7 +140,7 @@ describe('Transactions creation', () => { }) const safeTxGas = '0' const txDataPartial: SafeTransactionDataPartial = { - to: account2.address, + to: accounts[1].address, value: '0', data: '0x', safeTxGas @@ -198,9 +158,7 @@ describe('Transactions creation', () => { itif(safeVersionDeployed < '1.3.0')( 'should return a transaction with defined safeTxGas if safeVersion<1.3.0', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -209,7 +167,7 @@ describe('Transactions creation', () => { }) const safeTxGas = BASE_OPTIONS.safeTxGas const txDataPartial: SafeTransactionDataPartial = { - to: account2.address, + to: accounts[1].address, value: '0', data: '0x', safeTxGas @@ -227,7 +185,7 @@ describe('Transactions creation', () => { describe('createTransaction', async () => { it('should create a single transaction with gasPrice=0', async () => { - const { predictedSafe, accounts, contractNetworks, provider } = await setupTests() + const { predictedSafe, accounts, contractNetworks } = await setupTests() const [, account2] = accounts const safeSdk = await Safe.init({ provider, @@ -248,9 +206,7 @@ describe('Transactions creation', () => { }) it('should create a single transaction with gasPrice=0', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -258,7 +214,7 @@ describe('Transactions creation', () => { contractNetworks }) const safeTransactionData = { - to: account2.address, + to: accounts[1].address, value: '500000000000000000', // 0.5 ETH data: '0x' } @@ -266,7 +222,7 @@ describe('Transactions creation', () => { transactions: [safeTransactionData], options: BASE_OPTIONS }) - chai.expect(tx.data.to).to.be.eq(account2.address) + chai.expect(tx.data.to).to.be.eq(accounts[1].address) chai.expect(tx.data.value).to.be.eq('500000000000000000') chai.expect(tx.data.data).to.be.eq('0x') chai.expect(tx.data.baseGas).to.be.eq(BASE_OPTIONS.baseGas) @@ -278,9 +234,7 @@ describe('Transactions creation', () => { }) it('should create a single transaction with gasPrice>0', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -288,7 +242,7 @@ describe('Transactions creation', () => { contractNetworks }) const safeTransactionData = { - to: account2.address, + to: accounts[1].address, value: '500000000000000000', // 0.5 ETH data: '0x' } @@ -296,7 +250,7 @@ describe('Transactions creation', () => { transactions: [safeTransactionData], options: BASE_OPTIONS }) - chai.expect(tx.data.to).to.be.eq(account2.address) + chai.expect(tx.data.to).to.be.eq(accounts[1].address) chai.expect(tx.data.value).to.be.eq('500000000000000000') chai.expect(tx.data.data).to.be.eq('0x') chai.expect(tx.data.baseGas).to.be.eq(BASE_OPTIONS.baseGas) @@ -308,9 +262,7 @@ describe('Transactions creation', () => { }) it('should create a single transaction when passing a transaction array with length=1', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -318,20 +270,18 @@ describe('Transactions creation', () => { contractNetworks }) const safeTransactionData = { - to: account2.address, + to: accounts[1].address, value: '500000000000000000', // 0.5 ETH data: '0x' } const tx = await safeSdk.createTransaction({ transactions: [safeTransactionData] }) - chai.expect(tx.data.to).to.be.eq(account2.address) + chai.expect(tx.data.to).to.be.eq(accounts[1].address) chai.expect(tx.data.value).to.be.eq('500000000000000000') chai.expect(tx.data.data).to.be.eq('0x') }) it('should create a single transaction when passing a transaction array with length=1 and options', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -339,13 +289,13 @@ describe('Transactions creation', () => { contractNetworks }) const safeTransactionData = { - to: account2.address, + to: accounts[1].address, value: '500000000000000000', // 0.5 ETH data: '0x' } const options: SafeTransactionOptionalProps = BASE_OPTIONS const tx = await safeSdk.createTransaction({ transactions: [safeTransactionData], options }) - chai.expect(tx.data.to).to.be.eq(account2.address) + chai.expect(tx.data.to).to.be.eq(accounts[1].address) chai.expect(tx.data.value).to.be.eq('500000000000000000') chai.expect(tx.data.data).to.be.eq('0x') chai.expect(tx.data.baseGas).to.be.eq(BASE_OPTIONS.baseGas) @@ -357,9 +307,7 @@ describe('Transactions creation', () => { }) it('should fail when creating a MultiSend transaction passing a transaction array with length=0', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -371,9 +319,8 @@ describe('Transactions creation', () => { }) it('should create a MultiSend transaction', async () => { - const { accounts, contractNetworks, erc20Mintable, chainId, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks, chainId } = await setupTests() + const erc20Mintable = await getERC20Mintable() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -387,7 +334,7 @@ describe('Transactions creation', () => { data: encodeFunctionData({ abi: erc20Mintable.abi, functionName: 'transfer', - args: [account2.address, '1100000000000000000'] // 1.1 ERC20 + args: [accounts[1].address, '1100000000000000000'] // 1.1 ERC20 }) }, { @@ -396,7 +343,7 @@ describe('Transactions creation', () => { data: encodeFunctionData({ abi: erc20Mintable.abi, functionName: 'transfer', - args: [account2.address, '100000000000000000'] // 0.1 ERC20 + args: [accounts[1].address, '100000000000000000'] // 0.1 ERC20 }) } ] @@ -407,9 +354,8 @@ describe('Transactions creation', () => { }) it('should create a MultiSend transaction with options', async () => { - const { accounts, contractNetworks, erc20Mintable, chainId, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks, chainId } = await setupTests() + const erc20Mintable = await getERC20Mintable() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -425,7 +371,7 @@ describe('Transactions creation', () => { data: encodeFunctionData({ abi: erc20Mintable.abi, functionName: 'transfer', - args: [account2.address, '1100000000000000000'] // 1.1 ERC20 + args: [accounts[1].address, '1100000000000000000'] // 1.1 ERC20 }) }, { @@ -434,7 +380,7 @@ describe('Transactions creation', () => { data: encodeFunctionData({ abi: erc20Mintable.abi, functionName: 'transfer', - args: [account2.address, '100000000000000000'] // 0.1 ERC20 + args: [accounts[1].address, '100000000000000000'] // 0.1 ERC20 }) } ] @@ -454,7 +400,7 @@ describe('Transactions creation', () => { itif(safeVersionDeployed < '1.3.0')( 'should fail to create a transaction if the Safe with version { - const { safe, predictedSafe, contractNetworks, provider } = await setupTests() + const { safe, predictedSafe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, diff --git a/packages/protocol-kit/tests/e2e/createTransactionBatch.test.ts b/packages/protocol-kit/tests/e2e/createTransactionBatch.test.ts index 437e1abfc..10677f12a 100644 --- a/packages/protocol-kit/tests/e2e/createTransactionBatch.test.ts +++ b/packages/protocol-kit/tests/e2e/createTransactionBatch.test.ts @@ -1,13 +1,9 @@ import chai from 'chai' import chaiAsPromised from 'chai-as-promised' -import { deployments } from 'hardhat' -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' -import Safe, { PredictedSafeProps } from '@safe-global/protocol-kit/index' -import { getContractNetworks } from './utils/setupContractNetworks' -import { getSafeWithOwners, getMultiSendCallOnly } from './utils/setupContracts' +import { setupTests, getMultiSendCallOnly } from '@safe-global/testing-kit' +import Safe from '@safe-global/protocol-kit/index' import { getEip1193Provider } from './utils/setupProvider' -import { getAccounts } from './utils/setupTestNetwork' -import { OperationType } from '@safe-global/safe-core-sdk-types' +import { OperationType } from '@safe-global/types-kit' import { ZERO_ADDRESS } from '@safe-global/protocol-kit/utils/constants' chai.use(chaiAsPromised) @@ -15,35 +11,9 @@ chai.use(chaiAsPromised) const AMOUNT_TO_TRANSFER = '500000000000000000' // 0.5 ETH describe('createTransactionBatch', () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) - - const predictedSafe: PredictedSafeProps = { - safeAccountConfig: { - owners: [accounts[0].address], - threshold: 1 - }, - safeDeploymentConfig: { - safeVersion: safeVersionDeployed - } - } - - return { - accounts, - contractNetworks, - predictedSafe, - chainId - } - }) - it('should return a batch of the provided transactions', async () => { - const { accounts, contractNetworks } = await setupTests() - const [account1] = accounts + const { safe, contractNetworks } = await setupTests() - const safe = await getSafeWithOwners([account1.address]) const provider = getEip1193Provider() const safeAddress = safe.address diff --git a/packages/protocol-kit/tests/e2e/eip1271-contract-signatures.test.ts b/packages/protocol-kit/tests/e2e/eip1271-contract-signatures.test.ts index cc195fea6..28e2a5a86 100644 --- a/packages/protocol-kit/tests/e2e/eip1271-contract-signatures.test.ts +++ b/packages/protocol-kit/tests/e2e/eip1271-contract-signatures.test.ts @@ -1,27 +1,24 @@ import Safe, { buildContractSignature, hashSafeMessage } from '@safe-global/protocol-kit/index' -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' -import { SafeTransactionDataPartial } from '@safe-global/safe-core-sdk-types' +import { + safeVersionDeployed, + setupTests as testingKitSetupTests, + getSafeWithOwners, + itif +} from '@safe-global/testing-kit' +import { SafeTransactionDataPartial } from '@safe-global/types-kit' import { SigningMethod } from '@safe-global/protocol-kit/types' import chai from 'chai' import chaiAsPromised from 'chai-as-promised' -import { deployments } from 'hardhat' -import { getContractNetworks } from './utils/setupContractNetworks' -import { getSafeWithOwners } from './utils/setupContracts' import { getEip1193Provider } from './utils/setupProvider' -import { getAccounts } from './utils/setupTestNetwork' import { waitSafeTxReceipt } from './utils/transactions' -import { itif } from './utils/helpers' chai.use(chaiAsPromised) describe('The EIP1271 implementation', () => { describe('In the context of a 3/3 Safe account with a 4/4 signer Safe account owner', async () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = await getChainId() - const contractNetworks = await getContractNetworks(BigInt(chainId)) - const fallbackHandlerAddress = contractNetworks[chainId].fallbackHandlerAddress + const setupTests = async () => { + const { chainId, accounts, contractNetworks } = await testingKitSetupTests() + const fallbackHandlerAddress = contractNetworks[Number(chainId)].fallbackHandlerAddress const [account1, account2, account3, account4, account5] = accounts const provider = getEip1193Provider() @@ -63,7 +60,7 @@ describe('The EIP1271 implementation', () => { fallbackHandlerAddress, provider } - }) + } itif(safeVersionDeployed >= '1.3.0')( 'should allow to sign and execute transactions', diff --git a/packages/protocol-kit/tests/e2e/eip1271.test.ts b/packages/protocol-kit/tests/e2e/eip1271.test.ts index 4abee3f91..47db45be4 100644 --- a/packages/protocol-kit/tests/e2e/eip1271.test.ts +++ b/packages/protocol-kit/tests/e2e/eip1271.test.ts @@ -4,27 +4,28 @@ import Safe, { buildSignatureBytes, preimageSafeMessageHash, buildContractSignature, - EthSafeSignature + EthSafeSignature, + getSignMessageLibContract } from '@safe-global/protocol-kit/index' -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' +import { + safeVersionDeployed, + setupTests as testingKitSetupTests, + getSafeWithOwners, + itif +} from '@safe-global/testing-kit' import SafeMessage from '@safe-global/protocol-kit/utils/messages/SafeMessage' -import { OperationType, SafeTransactionDataPartial } from '@safe-global/safe-core-sdk-types' +import { OperationType, SafeTransactionDataPartial } from '@safe-global/types-kit' import { SigningMethod } from '@safe-global/protocol-kit/types' import chai from 'chai' import chaiAsPromised from 'chai-as-promised' -import { deployments } from 'hardhat' -import { getContractNetworks } from './utils/setupContractNetworks' -import { getSafeWithOwners } from './utils/setupContracts' import { getEip1193Provider } from './utils/setupProvider' -import { getAccounts } from './utils/setupTestNetwork' import { waitSafeTxReceipt } from './utils/transactions' -import { itif } from './utils/helpers' import semverSatisfies from 'semver/functions/satisfies' import { asHash } from '@safe-global/protocol-kit/utils/types' chai.use(chaiAsPromised) -export const calculateSafeMessageHash = ( +const calculateSafeMessageHash = ( safeAddress: string, message: string, chainId: number @@ -42,12 +43,9 @@ const MESSAGE = 'I am the owner of this Safe account' describe('The EIP1271 implementation', () => { describe('In the context of a 2/3 Safe and a 1/1 signer Safe account', async () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = await getChainId() - const contractNetworks = await getContractNetworks(BigInt(chainId)) - const fallbackHandlerAddress = contractNetworks[chainId].fallbackHandlerAddress + const setupTests = async () => { + const { accounts, contractNetworks, chainId } = await testingKitSetupTests() + const fallbackHandlerAddress = contractNetworks[Number(chainId)].fallbackHandlerAddress const [account1, account2] = accounts const provider = getEip1193Provider() @@ -103,22 +101,21 @@ describe('The EIP1271 implementation', () => { safeSdk3, fallbackHandlerAddress } - }) + } itif(safeVersionDeployed >= '1.3.0')( 'should validate on-chain messages (Approved hashes)', async () => { - const { contractNetworks, safeSdk1, safeSdk2 } = await setupTests() + const { chainId, contractNetworks, safeSdk1, safeSdk2 } = await setupTests() - const chainId = await safeSdk1.getChainId() - const safeVersion = await safeSdk1.getContractVersion() + const safeVersion = safeSdk1.getContractVersion() - const customContract = contractNetworks[chainId.toString()] + const customContracts = contractNetworks[chainId.toString()] - const signMessageLibContract = await safeSdk1.getSafeProvider().getSignMessageLibContract({ + const signMessageLibContract = await getSignMessageLibContract({ + safeProvider: safeSdk1.getSafeProvider(), safeVersion, - customContractAddress: customContract.signMessageLibAddress, - customContractAbi: customContract.signMessageLibAbi + customContracts }) const messageHash = hashSafeMessage(MESSAGE) @@ -126,7 +123,7 @@ describe('The EIP1271 implementation', () => { const txData = signMessageLibContract.encode('signMessage', [asHash(messageHash)]) const safeTransactionData: SafeTransactionDataPartial = { - to: customContract.signMessageLibAddress, + to: customContracts.signMessageLibAddress, value: '0', data: txData, operation: OperationType.DelegateCall @@ -212,7 +209,7 @@ describe('The EIP1271 implementation', () => { itif(safeVersionDeployed >= '1.3.0')( 'should validate Smart contracts as signers (threshold = 1)', async () => { - const { safeSdk1, safeSdk2, safeSdk3, safeAddress, signerSafeAddress } = + const { chainId, safeSdk1, safeSdk2, safeSdk3, safeAddress, signerSafeAddress } = await setupTests() // Hash the message const messageHash = hashSafeMessage(MESSAGE) @@ -223,15 +220,12 @@ describe('The EIP1271 implementation', () => { const typedDataSig = await safeSdk2.signTypedData(safeSdk2.createMessage(MESSAGE), 'v4') // Sign with the Smart contract - const shouldPreimageMessage = semverSatisfies( - await safeSdk1.getContractVersion(), - '>=1.4.1' - ) + const shouldPreimageMessage = semverSatisfies(safeSdk1.getContractVersion(), '>=1.4.1') const messageHashData = preimageSafeMessageHash( safeAddress, messageHash, - await safeSdk1.getContractVersion(), - await safeSdk1.getChainId() + safeSdk1.getContractVersion(), + chainId ) const safeSignerMessageHash = await safeSdk3.getSafeMessageHash( shouldPreimageMessage ? messageHashData : messageHash @@ -255,7 +249,7 @@ describe('The EIP1271 implementation', () => { itif(safeVersionDeployed >= '1.3.0')( 'should allow to validate transaction hashes using smart contracts as signers', async () => { - const { accounts, safeSdk1, safeSdk3, safeAddress, signerSafeAddress } = + const { accounts, chainId, safeSdk1, safeSdk3, safeAddress, signerSafeAddress } = await setupTests() const [account1] = accounts @@ -271,15 +265,12 @@ describe('The EIP1271 implementation', () => { const safeMessageHash = await safeSdk1.getSafeMessageHash(txHash) const signature1 = await safeSdk1.signHash(safeMessageHash) - const shouldPreimageTxHash = semverSatisfies( - await safeSdk1.getContractVersion(), - '>=1.4.1' - ) + const shouldPreimageTxHash = semverSatisfies(safeSdk1.getContractVersion(), '>=1.4.1') const txHashData = preimageSafeMessageHash( safeAddress, txHash, - await safeSdk1.getContractVersion(), - await safeSdk1.getChainId() + safeSdk1.getContractVersion(), + chainId ) const signerSafeMessageHash = await safeSdk3.getSafeMessageHash( @@ -299,9 +290,8 @@ describe('The EIP1271 implementation', () => { itif(safeVersionDeployed >= '1.3.0')( 'should generate the correct safeMessageHash', async () => { - const { safeAddress, safeSdk1 } = await setupTests() + const { chainId, safeAddress, safeSdk1 } = await setupTests() - const chainId = await safeSdk1.getChainId() const messageHash = hashSafeMessage(MESSAGE) const safeMessageHash = await safeSdk1.getSafeMessageHash(messageHash) @@ -409,9 +399,8 @@ describe('The EIP1271 implementation', () => { itif(safeVersionDeployed >= '1.3.0')( 'should generate the correct safeMessageHash', async () => { - const { safeAddress, safeSdk1 } = await setupTests() + const { chainId, safeAddress, safeSdk1 } = await setupTests() - const chainId = await safeSdk1.getChainId() const messageHash = hashSafeMessage(MESSAGE) const safeMessageHash = await safeSdk1.getSafeMessageHash(messageHash) diff --git a/packages/protocol-kit/tests/e2e/erc-20.test.ts b/packages/protocol-kit/tests/e2e/erc-20.test.ts index f875b0b6b..0f840a398 100644 --- a/packages/protocol-kit/tests/e2e/erc-20.test.ts +++ b/packages/protocol-kit/tests/e2e/erc-20.test.ts @@ -4,18 +4,12 @@ import Safe, { getERC20Decimals, isGasTokenCompatibleWithHandlePayment } from '@safe-global/protocol-kit/index' -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' +import { safeVersionDeployed, setupTests, itif } from '@safe-global/testing-kit' import chai from 'chai' import chaiAsPromised from 'chai-as-promised' import sinon from 'sinon' import sinonChai from 'sinon-chai' -import { deployments } from 'hardhat' - -import { itif } from './utils/helpers' import { getEip1193Provider } from './utils/setupProvider' -import { getContractNetworks } from './utils/setupContractNetworks' -import { getSafeWithOwners } from './utils/setupContracts' -import { getAccounts } from './utils/setupTestNetwork' import { ZERO_ADDRESS } from '@safe-global/protocol-kit/utils/constants' chai.use(sinonChai) @@ -30,26 +24,13 @@ describe('ERC-20 utils', () => { callStub.restore() }) - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) - const provider = getEip1193Provider() - - return { - safe: await getSafeWithOwners([accounts[0].address, accounts[1].address]), - contractNetworks, - accounts, - provider - } - }) + const provider = getEip1193Provider() describe('getERC20Decimals', () => { itif(safeVersionDeployed >= '1.3.0')( 'should return the correct decimals for a standard ERC20 token', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address @@ -71,7 +52,7 @@ describe('ERC-20 utils', () => { itif(safeVersionDeployed >= '1.3.0')( 'should return the correct decimals for a non-standard ERC20 token', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address // mock decimals() call @@ -92,7 +73,7 @@ describe('ERC-20 utils', () => { itif(safeVersionDeployed >= '1.3.0')( 'should throw an error if decimals() fn is not defined', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address // mock decimals() call @@ -115,7 +96,7 @@ describe('ERC-20 utils', () => { itif(safeVersionDeployed >= '1.3.0')( 'should return true if it is the Native token', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ @@ -136,7 +117,7 @@ describe('ERC-20 utils', () => { itif(safeVersionDeployed >= '1.3.0')( 'should return true if it is an standard ERC20 token', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address // mock decimals() call @@ -160,7 +141,7 @@ describe('ERC-20 utils', () => { itif(safeVersionDeployed >= '1.3.0')( 'should return false for a non-standard ERC20 token', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address // mock decimals() call diff --git a/packages/protocol-kit/tests/e2e/execution.test.ts b/packages/protocol-kit/tests/e2e/execution.test.ts index 36cdf8716..6eafa6418 100644 --- a/packages/protocol-kit/tests/e2e/execution.test.ts +++ b/packages/protocol-kit/tests/e2e/execution.test.ts @@ -1,41 +1,20 @@ -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' +import { getERC20Mintable, safeVersionDeployed, setupTests, itif } from '@safe-global/testing-kit' import Safe, { SigningMethod } from '@safe-global/protocol-kit/index' -import { TransactionOptions, MetaTransactionData } from '@safe-global/safe-core-sdk-types' +import { TransactionOptions, MetaTransactionData } from '@safe-global/types-kit' import chai from 'chai' import chaiAsPromised from 'chai-as-promised' -import { deployments } from 'hardhat' -import { itif } from './utils/helpers' -import { getContractNetworks } from './utils/setupContractNetworks' -import { getERC20Mintable, getSafeWithOwners } from './utils/setupContracts' -import { getEip1193Provider } from './utils/setupProvider' -import { getAccounts } from './utils/setupTestNetwork' import { waitSafeTxReceipt } from './utils/transactions' import { encodeFunctionData } from 'viem' +import { getEip1193Provider } from './utils/setupProvider' chai.use(chaiAsPromised) describe('Transactions execution', () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) - const provider = getEip1193Provider() - - return { - erc20Mintable: await getERC20Mintable(), - safe: await getSafeWithOwners([accounts[0].address, accounts[1].address]), - accounts, - contractNetworks, - provider - } - }) - + const provider = getEip1193Provider() describe('isValidTransaction', async () => { it('should return false if a transaction will not be executed successfully', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeAddress = safe.address const safeSdk1 = await Safe.init({ provider, @@ -69,9 +48,8 @@ describe('Transactions execution', () => { }) it('should return true if a transaction will execute successfully', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeAddress = safe.address const safeSdk1 = await Safe.init({ provider, @@ -98,9 +76,8 @@ describe('Transactions execution', () => { describe('executeTransaction', async () => { it('should fail if there are not enough Ether funds', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() + const [, account2] = accounts const safeAddress = safe.address const safeSdk1 = await Safe.init({ provider, @@ -121,9 +98,10 @@ describe('Transactions execution', () => { }) it('should fail if there are not enough signatures (1 missing)', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2, account3] = accounts - const safe = await getSafeWithOwners([account1.address, account2.address, account3.address]) + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 3, threshold: 3 } + }) + const [, account2] = accounts const safeAddress = safe.address const safeSdk1 = await Safe.init({ provider, @@ -150,9 +128,9 @@ describe('Transactions execution', () => { }) it('should fail if there are not enough signatures (>1 missing)', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2, account3] = accounts - const safe = await getSafeWithOwners([account1.address, account2.address, account3.address]) + const { safe, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 3, threshold: 3 } + }) const safeAddress = safe.address const safeSdk1 = await Safe.init({ provider, @@ -171,9 +149,8 @@ describe('Transactions execution', () => { }) it('should fail if the user tries to execute a transaction that was rejected', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeAddress = safe.address const safeSdk1 = await Safe.init({ provider, @@ -220,9 +197,8 @@ describe('Transactions execution', () => { }) it('should fail if a user tries to execute a transaction with options: { nonce: }', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeAddress = safe.address const safeSdk1 = await Safe.init({ provider, @@ -246,9 +222,8 @@ describe('Transactions execution', () => { }) it('should execute a transaction with threshold 1', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeAddress = safe.address const safeSdk1 = await Safe.init({ provider, @@ -278,15 +253,10 @@ describe('Transactions execution', () => { itif(safeVersionDeployed === '1.0.0')( 'should execute a transaction with threshold >1 and all different kind of signatures and safeVersion===1.0.0', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 5, threshold: 5 } + }) const [account1, account2, account3, account4, account5] = accounts - const safe = await getSafeWithOwners([ - account1.address, - account2.address, - account3.address, - account4.address, - account5.address - ]) const safeAddress = safe.address await account1.signer.sendTransaction({ to: safeAddress, @@ -345,16 +315,10 @@ describe('Transactions execution', () => { itif(safeVersionDeployed > '1.0.0')( 'should execute a transaction with threshold >1 and all different kind of signatures and safeVersion>1.0.0', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 6, threshold: 6 } + }) const [account1, account2, account3, account4, account5, account6] = accounts - const safe = await getSafeWithOwners([ - account1.address, - account2.address, - account3.address, - account4.address, - account5.address, - account6.address - ]) const safeAddress = safe.address await account1.signer.sendTransaction({ to: safeAddress, @@ -417,7 +381,9 @@ describe('Transactions execution', () => { ) it('should execute a transaction when is not submitted by an owner', async () => { - const { safe, accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 2, threshold: 2 } + }) const [, account2, account3] = accounts const safeAddress = safe.address const safeSdk1 = await Safe.init({ @@ -455,9 +421,8 @@ describe('Transactions execution', () => { }) it('should execute a transaction with options: { gasLimit }', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeAddress = safe.address const safeSdk1 = await Safe.init({ provider, @@ -482,9 +447,8 @@ describe('Transactions execution', () => { }) it('should execute a transaction with options: { gasLimit, gasPrice }', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeAddress = safe.address const safeSdk1 = await Safe.init({ provider, @@ -513,9 +477,8 @@ describe('Transactions execution', () => { }) it('should execute a transaction with options: { maxFeePerGas, maxPriorityFeePerGas }', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeAddress = safe.address const safeSdk1 = await Safe.init({ provider, @@ -546,9 +509,8 @@ describe('Transactions execution', () => { }) it('should execute a transaction with options: { nonce }', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeAddress = safe.address const safeSdk1 = await Safe.init({ provider, @@ -576,9 +538,10 @@ describe('Transactions execution', () => { describe('executeTransaction (MultiSend)', async () => { it('should execute a batch transaction with threshold >1', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 3, threshold: 3 } + }) const [account1, account2, account3] = accounts - const safe = await getSafeWithOwners([account1.address, account2.address, account3.address]) const safeAddress = safe.address const safeSdk1 = await Safe.init({ provider, @@ -624,9 +587,11 @@ describe('Transactions execution', () => { }) it('should execute a batch transaction with contract calls and threshold >1', async () => { - const { accounts, contractNetworks, erc20Mintable, provider } = await setupTests() - const [account1, account2, account3] = accounts - const safe = await getSafeWithOwners([account1.address, account2.address, account3.address]) + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 3, threshold: 3 } + }) + const erc20Mintable = await getERC20Mintable() + const [, account2, account3] = accounts const safeAddress = safe.address const safeSdk1 = await Safe.init({ provider, diff --git a/packages/protocol-kit/tests/e2e/fallbackHandlerManager.test.ts b/packages/protocol-kit/tests/e2e/fallbackHandlerManager.test.ts index cb9985a59..6e516cf8b 100644 --- a/packages/protocol-kit/tests/e2e/fallbackHandlerManager.test.ts +++ b/packages/protocol-kit/tests/e2e/fallbackHandlerManager.test.ts @@ -1,57 +1,28 @@ -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' -import Safe, { - PredictedSafeProps, - SafeTransactionOptionalProps -} from '@safe-global/protocol-kit/index' -import { ZERO_ADDRESS } from '@safe-global/protocol-kit/utils/constants' -import chai from 'chai' -import chaiAsPromised from 'chai-as-promised' -import { deployments } from 'hardhat' -import { itif } from './utils/helpers' -import { getContractNetworks } from './utils/setupContractNetworks' import { + safeVersionDeployed, + setupTests, getCompatibilityFallbackHandler, getDefaultCallbackHandler, - getSafeWithOwners -} from './utils/setupContracts' + getSafeWithOwners, + itif +} from '@safe-global/testing-kit' +import Safe, { SafeTransactionOptionalProps } from '@safe-global/protocol-kit/index' +import { ZERO_ADDRESS } from '@safe-global/protocol-kit/utils/constants' +import chai from 'chai' +import chaiAsPromised from 'chai-as-promised' import { getEip1193Provider } from './utils/setupProvider' -import { getAccounts } from './utils/setupTestNetwork' import { waitSafeTxReceipt } from './utils/transactions' chai.use(chaiAsPromised) describe('Fallback handler manager', () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) - const predictedSafe: PredictedSafeProps = { - safeAccountConfig: { - owners: [accounts[0].address], - threshold: 1 - }, - safeDeploymentConfig: { - safeVersion: safeVersionDeployed - } - } - const provider = getEip1193Provider() - - return { - safe: await getSafeWithOwners([accounts[0].address]), - accounts, - contractNetworks, - defaultCallbackHandler: await getDefaultCallbackHandler(), - predictedSafe, - provider - } - }) + const provider = getEip1193Provider() describe('getFallbackHandler', async () => { itif(safeVersionDeployed < '1.1.1')( 'should fail if getting the enabled fallback handler is not supported', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -68,7 +39,7 @@ describe('Fallback handler manager', () => { ) itif(safeVersionDeployed >= '1.1.1')('should fail if the Safe is not deployed', async () => { - const { predictedSafe, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -78,7 +49,8 @@ describe('Fallback handler manager', () => { }) itif(safeVersionDeployed >= '1.1.1')('should return the enabled fallback handler', async () => { - const { safe, contractNetworks, defaultCallbackHandler, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() + const defaultCallbackHandler = await getDefaultCallbackHandler() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -99,8 +71,8 @@ describe('Fallback handler manager', () => { itif(safeVersionDeployed < '1.3.0')( 'should fail if the Safe with version { - const { predictedSafe, contractNetworks, defaultCallbackHandler, provider } = - await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() + const defaultCallbackHandler = await getDefaultCallbackHandler() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -118,8 +90,8 @@ describe('Fallback handler manager', () => { itif(safeVersionDeployed >= '1.3.0')( 'should fail if the Safe with version >=v1.3.0 is not deployed', async () => { - const { predictedSafe, contractNetworks, defaultCallbackHandler, provider } = - await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() + const defaultCallbackHandler = await getDefaultCallbackHandler() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -133,7 +105,8 @@ describe('Fallback handler manager', () => { itif(safeVersionDeployed < '1.1.1')( 'should fail if enabling a fallback handler is not supported', async () => { - const { safe, contractNetworks, defaultCallbackHandler, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() + const defaultCallbackHandler = await getDefaultCallbackHandler() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -150,7 +123,7 @@ describe('Fallback handler manager', () => { ) itif(safeVersionDeployed >= '1.1.1')('should fail if address is invalid', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -164,7 +137,7 @@ describe('Fallback handler manager', () => { itif(safeVersionDeployed >= '1.1.1')( 'should fail if address is equal to 0x address', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -177,7 +150,8 @@ describe('Fallback handler manager', () => { ) itif(safeVersionDeployed >= '1.1.1')('should fail if address is already enabled', async () => { - const { safe, contractNetworks, defaultCallbackHandler, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() + const defaultCallbackHandler = await getDefaultCallbackHandler() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -194,7 +168,8 @@ describe('Fallback handler manager', () => { itif(safeVersionDeployed >= '1.1.1')( 'should build the transaction with the optional props', async () => { - const { safe, contractNetworks, defaultCallbackHandler, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() + const defaultCallbackHandler = await getDefaultCallbackHandler() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -223,7 +198,8 @@ describe('Fallback handler manager', () => { ) itif(safeVersionDeployed >= '1.1.1')('should enable a fallback handler', async () => { - const { safe, contractNetworks, defaultCallbackHandler, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() + const defaultCallbackHandler = await getDefaultCallbackHandler() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -244,7 +220,7 @@ describe('Fallback handler manager', () => { itif(safeVersionDeployed < '1.3.0')( 'should fail if the Safe with version { - const { predictedSafe, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -262,14 +238,13 @@ describe('Fallback handler manager', () => { itif(safeVersionDeployed >= '1.3.0')( 'should fail if the Safe with version >=v1.3.0 is not deployed', async () => { - const { predictedSafe, contractNetworks, defaultCallbackHandler, provider } = - await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, predictedSafe, contractNetworks }) - const tx = safeSdk.createDisableFallbackHandlerTx(defaultCallbackHandler.address) + const tx = safeSdk.createDisableFallbackHandlerTx() await chai.expect(tx).to.be.rejectedWith('Safe is not deployed') } ) @@ -277,7 +252,7 @@ describe('Fallback handler manager', () => { itif(safeVersionDeployed < '1.1.1')( 'should fail if disabling a fallback handler is not supported', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { accounts, contractNetworks } = await setupTests() const [account1] = accounts const safe = await getSafeWithOwners([account1.address]) const safeAddress = safe.address @@ -298,7 +273,7 @@ describe('Fallback handler manager', () => { itif(safeVersionDeployed >= '1.1.1')( 'should fail if no fallback handler is enabled', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -319,7 +294,8 @@ describe('Fallback handler manager', () => { itif(safeVersionDeployed >= '1.1.1')( 'should build the transaction with the optional props', async () => { - const { accounts, contractNetworks, defaultCallbackHandler, provider } = await setupTests() + const { accounts, contractNetworks } = await setupTests() + const defaultCallbackHandler = await getDefaultCallbackHandler() const [account1] = accounts const safe = await getSafeWithOwners([account1.address]) const safeAddress = safe.address @@ -352,7 +328,8 @@ describe('Fallback handler manager', () => { ) itif(safeVersionDeployed >= '1.1.1')('should disable an enabled fallback handler', async () => { - const { accounts, contractNetworks, defaultCallbackHandler, provider } = await setupTests() + const { accounts, contractNetworks } = await setupTests() + const defaultCallbackHandler = await getDefaultCallbackHandler() const [account1] = accounts const safe = await getSafeWithOwners([account1.address]) const safeAddress = safe.address diff --git a/packages/protocol-kit/tests/e2e/getEncodedTransaction.test.ts b/packages/protocol-kit/tests/e2e/getEncodedTransaction.test.ts index e11e3c341..a19c34668 100644 --- a/packages/protocol-kit/tests/e2e/getEncodedTransaction.test.ts +++ b/packages/protocol-kit/tests/e2e/getEncodedTransaction.test.ts @@ -1,33 +1,15 @@ import Safe from '@safe-global/protocol-kit/index' -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' +import { safeVersionDeployed, setupTests, itif } from '@safe-global/testing-kit' import chai from 'chai' -import { deployments } from 'hardhat' -import { getContractNetworks } from './utils/setupContractNetworks' -import { getSafeWithOwners } from './utils/setupContracts' import { getEip1193Provider } from './utils/setupProvider' -import { getAccounts } from './utils/setupTestNetwork' -import { itif } from './utils/helpers' describe('getEncodedTransaction', () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) - const provider = getEip1193Provider() - - return { - accounts, - contractNetworks, - provider - } - }) + const provider = getEip1193Provider() itif(safeVersionDeployed >= '1.3.0')('should return a transaction encoded', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts + const { safe, accounts, contractNetworks } = await setupTests() + const [, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeAddress = safe.address const safeSdk = await Safe.init({ @@ -54,10 +36,8 @@ describe('getEncodedTransaction', () => { }) itif(safeVersionDeployed <= '1.2.0')('should return a transaction encoded', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() + const [, account2] = accounts const safeAddress = safe.address const safeSdk = await Safe.init({ @@ -84,10 +64,8 @@ describe('getEncodedTransaction', () => { }) it('should return a signed transaction with the signatures encoded', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() + const [, account2] = accounts const safeAddress = safe.address const safeSdk = await Safe.init({ diff --git a/packages/protocol-kit/tests/e2e/guardManager.test.ts b/packages/protocol-kit/tests/e2e/guardManager.test.ts index 49fc8cefe..38cc9ea9f 100644 --- a/packages/protocol-kit/tests/e2e/guardManager.test.ts +++ b/packages/protocol-kit/tests/e2e/guardManager.test.ts @@ -1,52 +1,26 @@ -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' -import Safe, { - PredictedSafeProps, - SafeTransactionOptionalProps -} from '@safe-global/protocol-kit/index' +import { + safeVersionDeployed, + setupTests, + getDebugTransactionGuard, + itif +} from '@safe-global/testing-kit' +import Safe, { SafeTransactionOptionalProps } from '@safe-global/protocol-kit/index' import { ZERO_ADDRESS } from '@safe-global/protocol-kit/utils/constants' import chai from 'chai' import chaiAsPromised from 'chai-as-promised' -import { deployments } from 'hardhat' -import { itif } from './utils/helpers' -import { getContractNetworks } from './utils/setupContractNetworks' -import { getDebugTransactionGuard, getSafeWithOwners } from './utils/setupContracts' import { getEip1193Provider } from './utils/setupProvider' -import { getAccounts } from './utils/setupTestNetwork' import { waitSafeTxReceipt } from './utils/transactions' chai.use(chaiAsPromised) describe('Safe guard manager', () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) - const provider = getEip1193Provider() - const predictedSafe: PredictedSafeProps = { - safeAccountConfig: { - owners: [accounts[0].address], - threshold: 1 - }, - safeDeploymentConfig: { - safeVersion: safeVersionDeployed - } - } - return { - debugTransactionGuard: await getDebugTransactionGuard(), - safe: await getSafeWithOwners([accounts[0].address]), - accounts, - contractNetworks, - predictedSafe, - provider - } - }) + const provider = getEip1193Provider() describe('getGuard', async () => { itif(safeVersionDeployed < '1.3.0')( 'should fail if getting the enabled guard is not supported', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -63,7 +37,7 @@ describe('Safe guard manager', () => { ) itif(safeVersionDeployed >= '1.3.0')('should fail if the Safe is not deployed', async () => { - const { predictedSafe, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -75,7 +49,7 @@ describe('Safe guard manager', () => { itif(safeVersionDeployed >= '1.3.0')( 'should return 0x address when no Safe guard is enabled', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -87,7 +61,8 @@ describe('Safe guard manager', () => { ) itif(safeVersionDeployed >= '1.3.0')('should return the enabled Safe guard', async () => { - const { safe, contractNetworks, debugTransactionGuard, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() + const debugTransactionGuard = await getDebugTransactionGuard() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -106,7 +81,8 @@ describe('Safe guard manager', () => { itif(safeVersionDeployed < '1.3.0')( 'should fail if enabling a Safe guard is not supported', async () => { - const { safe, contractNetworks, debugTransactionGuard, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() + const debugTransactionGuard = await getDebugTransactionGuard() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -123,9 +99,8 @@ describe('Safe guard manager', () => { ) itif(safeVersionDeployed >= '1.3.0')('should fail if the Safe is not deployed', async () => { - const { predictedSafe, debugTransactionGuard, contractNetworks, provider } = - await setupTests() - + const { predictedSafe, contractNetworks } = await setupTests() + const debugTransactionGuard = await getDebugTransactionGuard() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -136,7 +111,7 @@ describe('Safe guard manager', () => { }) itif(safeVersionDeployed >= '1.3.0')('should fail if address is invalid', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -150,7 +125,7 @@ describe('Safe guard manager', () => { itif(safeVersionDeployed >= '1.3.0')( 'should fail if address is equal to 0x address', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ @@ -164,7 +139,8 @@ describe('Safe guard manager', () => { ) itif(safeVersionDeployed >= '1.3.0')('should fail if address is already enabled', async () => { - const { safe, contractNetworks, debugTransactionGuard, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() + const debugTransactionGuard = await getDebugTransactionGuard() const safeAddress = safe.address const safeSdk = await Safe.init({ @@ -182,7 +158,8 @@ describe('Safe guard manager', () => { itif(safeVersionDeployed >= '1.3.0')( 'should build the transaction with the optional props', async () => { - const { safe, contractNetworks, debugTransactionGuard, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() + const debugTransactionGuard = await getDebugTransactionGuard() const safeAddress = safe.address const safeSdk = await Safe.init({ @@ -209,7 +186,8 @@ describe('Safe guard manager', () => { ) itif(safeVersionDeployed >= '1.3.0')('should enable a Safe guard', async () => { - const { safe, contractNetworks, debugTransactionGuard, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() + const debugTransactionGuard = await getDebugTransactionGuard() const safeAddress = safe.address const safeSdk = await Safe.init({ @@ -229,9 +207,7 @@ describe('Safe guard manager', () => { itif(safeVersionDeployed < '1.3.0')( 'should fail if disabling a Safe guard is not supported', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -248,7 +224,7 @@ describe('Safe guard manager', () => { ) itif(safeVersionDeployed >= '1.3.0')('should fail if the Safe is not deployed', async () => { - const { predictedSafe, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, @@ -260,7 +236,7 @@ describe('Safe guard manager', () => { }) itif(safeVersionDeployed >= '1.3.0')('should fail if no Safe guard is enabled', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ @@ -275,9 +251,8 @@ describe('Safe guard manager', () => { itif(safeVersionDeployed >= '1.3.0')( 'should build the transaction with the optional props', async () => { - const { accounts, contractNetworks, debugTransactionGuard, provider } = await setupTests() - const [account1] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, contractNetworks } = await setupTests() + const debugTransactionGuard = await getDebugTransactionGuard() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -307,9 +282,8 @@ describe('Safe guard manager', () => { ) itif(safeVersionDeployed >= '1.3.0')('should disable an enabled Safe guard', async () => { - const { accounts, contractNetworks, debugTransactionGuard, provider } = await setupTests() - const [account1] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, contractNetworks } = await setupTests() + const debugTransactionGuard = await getDebugTransactionGuard() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, diff --git a/packages/protocol-kit/tests/e2e/moduleManager.test.ts b/packages/protocol-kit/tests/e2e/moduleManager.test.ts index 8040fd530..35c92f96a 100644 --- a/packages/protocol-kit/tests/e2e/moduleManager.test.ts +++ b/packages/protocol-kit/tests/e2e/moduleManager.test.ts @@ -1,60 +1,27 @@ -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' -import Safe, { - PredictedSafeProps, - SafeTransactionOptionalProps -} from '@safe-global/protocol-kit/index' -import { SENTINEL_ADDRESS, ZERO_ADDRESS } from '@safe-global/protocol-kit/utils/constants' -import chai from 'chai' -import chaiAsPromised from 'chai-as-promised' -import { deployments } from 'hardhat' -import { getContractNetworks } from './utils/setupContractNetworks' import { getDailyLimitModule, getSafeWithOwners, getSocialRecoveryModule, getStateChannelModule, - getWhiteListModule -} from './utils/setupContracts' + getWhiteListModule, + setupTests +} from '@safe-global/testing-kit' +import Safe, { SafeTransactionOptionalProps } from '@safe-global/protocol-kit/index' +import { SENTINEL_ADDRESS, ZERO_ADDRESS } from '@safe-global/protocol-kit/utils/constants' +import chai from 'chai' +import chaiAsPromised from 'chai-as-promised' import { getEip1193Provider } from './utils/setupProvider' -import { getAccounts } from './utils/setupTestNetwork' import { waitSafeTxReceipt } from './utils/transactions' import semverSatisfies from 'semver/functions/satisfies' chai.use(chaiAsPromised) describe('Safe modules manager', () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) - const predictedSafe: PredictedSafeProps = { - safeAccountConfig: { - owners: [accounts[0].address], - threshold: 1 - }, - safeDeploymentConfig: { - safeVersion: safeVersionDeployed - } - } - const provider = getEip1193Provider() - - return { - dailyLimitModule: await getDailyLimitModule(), - socialRecoveryModule: await getSocialRecoveryModule(), - stateChannelModule: await getStateChannelModule(), - whiteListModule: await getWhiteListModule(), - safe: await getSafeWithOwners([accounts[0].address]), - accounts, - contractNetworks, - predictedSafe, - provider - } - }) + const provider = getEip1193Provider() describe('getModules', async () => { it('should fail if the Safe is not deployed', async () => { - const { predictedSafe, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -64,8 +31,9 @@ describe('Safe modules manager', () => { }) it('should return all the enabled modules', async () => { - const { safe, dailyLimitModule, socialRecoveryModule, contractNetworks, provider } = - await setupTests() + const { safe, contractNetworks } = await setupTests() + const dailyLimitModule = await getDailyLimitModule() + const socialRecoveryModule = await getSocialRecoveryModule() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -91,7 +59,7 @@ describe('Safe modules manager', () => { describe('getModulesPaginated', async () => { it('should fail if the Safe is not deployed', async () => { - const { predictedSafe, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -103,7 +71,8 @@ describe('Safe modules manager', () => { }) it('should return the enabled modules', async () => { - const { safe, dailyLimitModule, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() + const dailyLimitModule = await getDailyLimitModule() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -124,15 +93,11 @@ describe('Safe modules manager', () => { }) it('should constraint returned modules by pageSize', async () => { - const { - safe, - dailyLimitModule, - contractNetworks, - socialRecoveryModule, - stateChannelModule, - whiteListModule, - provider - } = await setupTests() + const { safe, contractNetworks } = await setupTests() + const dailyLimitModule = await getDailyLimitModule() + const socialRecoveryModule = await getSocialRecoveryModule() + const stateChannelModule = await getStateChannelModule() + const whiteListModule = await getWhiteListModule() const safeAddress = safe.address const dailyLimitsAddress = dailyLimitModule.address const socialRecoveryAddress = socialRecoveryModule.address @@ -143,7 +108,7 @@ describe('Safe modules manager', () => { safeAddress, contractNetworks }) - const currentPageNext = semverSatisfies(await safeSdk.getContractVersion(), '>=1.4.1') + const currentPageNext = semverSatisfies(safeSdk.getContractVersion(), '>=1.4.1') chai .expect((await safeSdk.getModulesPaginated(SENTINEL_ADDRESS, 10)).modules.length) @@ -192,32 +157,25 @@ describe('Safe modules manager', () => { }) it('should offset the returned modules', async () => { - const { - safe, - dailyLimitModule, - contractNetworks, - socialRecoveryModule, - stateChannelModule, - whiteListModule, - provider - } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address - const dailyLimitsAddress = dailyLimitModule.address - const socialRecoveryAddress = socialRecoveryModule.address - const stateChannelAddress = stateChannelModule.address - const whiteListAddress = whiteListModule.address + const dailyLimitModule = await getDailyLimitModule() + const socialRecoveryModule = await getSocialRecoveryModule() + const stateChannelModule = await getStateChannelModule() + const whiteListModule = await getWhiteListModule() + const safeSdk = await Safe.init({ provider, safeAddress, contractNetworks }) - const currentPageNext = semverSatisfies(await safeSdk.getContractVersion(), '>=1.4.1') + const currentPageNext = semverSatisfies(safeSdk.getContractVersion(), '>=1.4.1') const moduleDeployment = [ - dailyLimitsAddress, - socialRecoveryAddress, - stateChannelAddress, - whiteListAddress + dailyLimitModule.address, + socialRecoveryModule.address, + stateChannelModule.address, + whiteListModule.address ].map(async (moduleAddress) => { const txModule = await safeSdk.createEnableModuleTx(moduleAddress) const moduleResponse = await safeSdk.executeTransaction(txModule) @@ -246,7 +204,7 @@ describe('Safe modules manager', () => { }) it('should fail if pageSize is invalid', async () => { - const { predictedSafe, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -261,7 +219,8 @@ describe('Safe modules manager', () => { describe('isModuleEnabled', async () => { it('should fail if the Safe is not deployed', async () => { - const { predictedSafe, dailyLimitModule, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() + const dailyLimitModule = await getDailyLimitModule() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -272,7 +231,8 @@ describe('Safe modules manager', () => { }) it('should return true if a module is enabled', async () => { - const { safe, dailyLimitModule, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() + const dailyLimitModule = await getDailyLimitModule() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -289,7 +249,8 @@ describe('Safe modules manager', () => { describe('createEnableModuleTx', async () => { it('should fail if the Safe is not deployed', async () => { - const { predictedSafe, dailyLimitModule, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() + const dailyLimitModule = await getDailyLimitModule() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -300,7 +261,7 @@ describe('Safe modules manager', () => { }) it('should fail if address is invalid', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -312,7 +273,7 @@ describe('Safe modules manager', () => { }) it('should fail if address is equal to sentinel', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -324,7 +285,7 @@ describe('Safe modules manager', () => { }) it('should fail if address is equal to 0x address', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -336,7 +297,8 @@ describe('Safe modules manager', () => { }) it('should fail if address is already enabled', async () => { - const { safe, dailyLimitModule, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() + const dailyLimitModule = await getDailyLimitModule() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -351,7 +313,8 @@ describe('Safe modules manager', () => { }) it('should build the transaction with the optional props', async () => { - const { safe, dailyLimitModule, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() + const dailyLimitModule = await getDailyLimitModule() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -376,7 +339,8 @@ describe('Safe modules manager', () => { }) it('should enable a Safe module', async () => { - const { safe, dailyLimitModule, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() + const dailyLimitModule = await getDailyLimitModule() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -395,7 +359,8 @@ describe('Safe modules manager', () => { describe('createDisableModuleTx', async () => { it('should fail if the Safe is not deployed', async () => { - const { predictedSafe, dailyLimitModule, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() + const dailyLimitModule = await getDailyLimitModule() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -406,7 +371,7 @@ describe('Safe modules manager', () => { }) it('should fail if address is invalid', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -418,7 +383,7 @@ describe('Safe modules manager', () => { }) it('should fail if address is equal to sentinel', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -430,7 +395,7 @@ describe('Safe modules manager', () => { }) it('should fail if address is equal to 0x address', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -442,7 +407,8 @@ describe('Safe modules manager', () => { }) it('should fail if address is not enabled', async () => { - const { safe, dailyLimitModule, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() + const dailyLimitModule = await getDailyLimitModule() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -454,7 +420,8 @@ describe('Safe modules manager', () => { }) it('should build the transaction with the optional props', async () => { - const { dailyLimitModule, accounts, contractNetworks, provider } = await setupTests() + const { accounts, contractNetworks } = await setupTests() + const dailyLimitModule = await getDailyLimitModule() const [account1] = accounts const safe = await getSafeWithOwners([account1.address]) const safeAddress = safe.address @@ -488,8 +455,9 @@ describe('Safe modules manager', () => { }) it('should disable Safe modules', async () => { - const { dailyLimitModule, accounts, socialRecoveryModule, contractNetworks, provider } = - await setupTests() + const { accounts, contractNetworks } = await setupTests() + const dailyLimitModule = await getDailyLimitModule() + const socialRecoveryModule = await getSocialRecoveryModule() const [account1] = accounts const safe = await getSafeWithOwners([account1.address]) const safeAddress = safe.address diff --git a/packages/protocol-kit/tests/e2e/offChainSignatures.test.ts b/packages/protocol-kit/tests/e2e/offChainSignatures.test.ts index 47c2ea302..aedf90d3e 100644 --- a/packages/protocol-kit/tests/e2e/offChainSignatures.test.ts +++ b/packages/protocol-kit/tests/e2e/offChainSignatures.test.ts @@ -1,46 +1,18 @@ -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' -import Safe, { PredictedSafeProps, SigningMethod } from '@safe-global/protocol-kit/index' -import { SafeMultisigTransactionResponse } from '@safe-global/safe-core-sdk-types' +import { safeVersionDeployed, setupTests, itif } from '@safe-global/testing-kit' +import Safe, { SigningMethod } from '@safe-global/protocol-kit/index' +import { SafeMultisigTransactionResponse } from '@safe-global/types-kit' import chai from 'chai' import chaiAsPromised from 'chai-as-promised' -import { deployments } from 'hardhat' -import { itif } from './utils/helpers' -import { getContractNetworks } from './utils/setupContractNetworks' -import { getSafeWithOwners } from './utils/setupContracts' import { getEip1193Provider } from './utils/setupProvider' -import { getAccounts } from './utils/setupTestNetwork' chai.use(chaiAsPromised) describe('Off-chain signatures', () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) - const predictedSafe: PredictedSafeProps = { - safeAccountConfig: { - owners: [accounts[0].address], - threshold: 1 - }, - safeDeploymentConfig: { - safeVersion: safeVersionDeployed - } - } - const provider = getEip1193Provider() - - return { - safe: await getSafeWithOwners([accounts[0].address, accounts[1].address]), - accounts, - contractNetworks, - predictedSafe, - provider - } - }) + const provider = getEip1193Provider() describe('signHash', async () => { it('should sign a transaction hash with the current signer if the Safe is not deployed', async () => { - const { predictedSafe, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -52,7 +24,7 @@ describe('Off-chain signatures', () => { }) it('should sign a transaction hash with the current signer', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -75,7 +47,7 @@ describe('Off-chain signatures', () => { itif(safeVersionDeployed < '1.3.0')( 'should fail to sign a transaction if the Safe with version { - const { safe, predictedSafe, contractNetworks, provider } = await setupTests() + const { safe, predictedSafe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -107,7 +79,7 @@ describe('Off-chain signatures', () => { itif(safeVersionDeployed >= '1.3.0')( 'should sign a transaction with the current signer if the Safe with version >=v1.3.0 is using predicted config', async () => { - const { safe, predictedSafe, contractNetworks, provider } = await setupTests() + const { safe, predictedSafe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -128,7 +100,7 @@ describe('Off-chain signatures', () => { ) it('should fail if the signature is added by an account that is not an owner', async () => { - const { safe, accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const account3 = accounts[2] const safeAddress = safe.address const safeSdk = await Safe.init({ @@ -149,7 +121,7 @@ describe('Off-chain signatures', () => { }) it('should ignore duplicated signatures', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -173,7 +145,7 @@ describe('Off-chain signatures', () => { itif(safeVersionDeployed === '1.0.0')( 'should fail if the signature of the current signer is added using eth_sign and safeVersion===1.0.0', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -195,7 +167,7 @@ describe('Off-chain signatures', () => { itif(safeVersionDeployed > '1.0.0')( 'should add the signature of the current signer using eth_sign if safeVersion>1.0.0', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -216,7 +188,7 @@ describe('Off-chain signatures', () => { ) it('should add the signature of the current signer using eth_signTypedData', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -236,7 +208,7 @@ describe('Off-chain signatures', () => { }) it('should add the signature of the current signer using eth_signTypedData_v3', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -256,7 +228,7 @@ describe('Off-chain signatures', () => { }) it('should add the signature of the current signer using eth_signTypedData_v4', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -276,7 +248,7 @@ describe('Off-chain signatures', () => { }) it('should add the signature of the current signer using eth_signTypedData_v4 by default', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeAddress = safe.address const safeSdk = await Safe.init({ provider, @@ -296,7 +268,7 @@ describe('Off-chain signatures', () => { }) it('should sign a transaction received from the Safe Transaction Service', async () => { - const { safe, accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1, account2] = accounts const safeAddress = safe.address const safeSdk = await Safe.init({ @@ -331,6 +303,7 @@ describe('Off-chain signatures', () => { origin: '', dataDecoded: '', confirmationsRequired: 2, + proposer: '0x', confirmations: [ { owner: '0x1111111111111111111111111111111111111111', diff --git a/packages/protocol-kit/tests/e2e/onChainSignatures.test.ts b/packages/protocol-kit/tests/e2e/onChainSignatures.test.ts index 8f42793e4..d9dba53a1 100644 --- a/packages/protocol-kit/tests/e2e/onChainSignatures.test.ts +++ b/packages/protocol-kit/tests/e2e/onChainSignatures.test.ts @@ -1,45 +1,19 @@ -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' -import Safe, { PredictedSafeProps } from '@safe-global/protocol-kit/index' +import { setupTests } from '@safe-global/testing-kit' +import Safe from '@safe-global/protocol-kit/index' import chai from 'chai' import chaiAsPromised from 'chai-as-promised' -import { deployments } from 'hardhat' -import { getContractNetworks } from './utils/setupContractNetworks' -import { getSafeWithOwners } from './utils/setupContracts' import { getEip1193Provider } from './utils/setupProvider' -import { getAccounts } from './utils/setupTestNetwork' import { waitSafeTxReceipt } from './utils/transactions' chai.use(chaiAsPromised) describe('On-chain signatures', () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) - const predictedSafe: PredictedSafeProps = { - safeAccountConfig: { - owners: [accounts[0].address], - threshold: 1 - }, - safeDeploymentConfig: { - safeVersion: safeVersionDeployed - } - } - const provider = getEip1193Provider() - - return { - safe: await getSafeWithOwners([accounts[0].address, accounts[1].address]), - accounts, - contractNetworks, - predictedSafe, - provider - } - }) - + const provider = getEip1193Provider() describe('approveTransactionHash', async () => { it('should fail if the Safe is not deployed', async () => { - const { predictedSafe, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 2, threshold: 2 } + }) const safeSdk1 = await Safe.init({ provider, predictedSafe, @@ -52,7 +26,9 @@ describe('On-chain signatures', () => { }) it('should fail if a transaction hash is approved by an account that is not an owner', async () => { - const { safe, accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 2, threshold: 2 } + }) const account3 = accounts[2] const safeAddress = safe.address const safeSdk1 = await Safe.init({ @@ -74,7 +50,9 @@ describe('On-chain signatures', () => { }) it('should approve the transaction hash', async () => { - const { safe, accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 2, threshold: 2 } + }) const [account1] = accounts const safeAddress = safe.address const safeSdk1 = await Safe.init({ @@ -95,7 +73,9 @@ describe('On-chain signatures', () => { }) it('should ignore a duplicated signatures', async () => { - const { safe, accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 2, threshold: 2 } + }) const [account1] = accounts const safeAddress = safe.address const safeSdk1 = await Safe.init({ @@ -122,7 +102,9 @@ describe('On-chain signatures', () => { describe('getOwnersWhoApprovedTx', async () => { it('should fail if Safe is not deployed', async () => { - const { predictedSafe, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 2, threshold: 2 } + }) const safeSdk1 = await Safe.init({ provider, predictedSafe, @@ -134,7 +116,9 @@ describe('On-chain signatures', () => { }) it('should return the list of owners who approved a transaction hash', async () => { - const { safe, accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 2, threshold: 2 } + }) const [, account2] = accounts const safeAddress = safe.address const safeSdk1 = await Safe.init({ diff --git a/packages/protocol-kit/tests/e2e/ownerManager.test.ts b/packages/protocol-kit/tests/e2e/ownerManager.test.ts index 0fa757244..ff1694a25 100644 --- a/packages/protocol-kit/tests/e2e/ownerManager.test.ts +++ b/packages/protocol-kit/tests/e2e/ownerManager.test.ts @@ -1,52 +1,20 @@ -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' -import Safe, { - PredictedSafeProps, - SafeTransactionOptionalProps -} from '@safe-global/protocol-kit/index' +import { setupTests } from '@safe-global/testing-kit' +import Safe, { SafeTransactionOptionalProps } from '@safe-global/protocol-kit/index' import { SENTINEL_ADDRESS, ZERO_ADDRESS } from '@safe-global/protocol-kit/utils/constants' import chai from 'chai' import chaiAsPromised from 'chai-as-promised' -import { deployments } from 'hardhat' -import { getContractNetworks } from './utils/setupContractNetworks' -import { getSafeWithOwners } from './utils/setupContracts' import { getEip1193Provider } from './utils/setupProvider' -import { getAccounts } from './utils/setupTestNetwork' import { waitSafeTxReceipt } from './utils/transactions' chai.use(chaiAsPromised) describe('Safe owners manager', () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) - const provider = getEip1193Provider() - const predictedSafe: PredictedSafeProps = { - safeAccountConfig: { - owners: [accounts[0].address], - threshold: 1 - }, - safeDeploymentConfig: { - safeVersion: safeVersionDeployed - } - } - return { - safe: await getSafeWithOwners([ - accounts[0].address, - accounts[1].address, - accounts[2].address - ]), - accounts, - contractNetworks, - predictedSafe, - provider - } - }) - + const provider = getEip1193Provider() describe('getOwners', async () => { it('should fail if the Safe is not deployed', async () => { - const { predictedSafe, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 3, threshold: 3 } + }) const safeSdk = await Safe.init({ provider, predictedSafe, @@ -56,9 +24,10 @@ describe('Safe owners manager', () => { }) it('should return the list of Safe owners', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 2, threshold: 2 } + }) const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address, account2.address]) const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -73,7 +42,9 @@ describe('Safe owners manager', () => { describe('isOwner', async () => { it('should fail if the Safe is not deployed', async () => { - const { predictedSafe, accounts, contractNetworks, provider } = await setupTests() + const { predictedSafe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 3, threshold: 3 } + }) const [account1] = accounts const safeSdk = await Safe.init({ provider, @@ -84,9 +55,8 @@ describe('Safe owners manager', () => { }) it('should return true if an account is an owner of the connected Safe', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -97,9 +67,8 @@ describe('Safe owners manager', () => { }) it('should return false if an account is not an owner of the connected Safe', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() + const [, account2] = accounts const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -112,7 +81,9 @@ describe('Safe owners manager', () => { describe('createAddOwnerTx', async () => { it('should fail if the Safe is not deployed', async () => { - const { predictedSafe, accounts, contractNetworks, provider } = await setupTests() + const { predictedSafe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 3, threshold: 3 } + }) const [, account2] = accounts const safeSdk = await Safe.init({ provider, @@ -124,9 +95,7 @@ describe('Safe owners manager', () => { }) it('should fail if address is invalid', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -137,9 +106,7 @@ describe('Safe owners manager', () => { }) it('should fail if address is equal to sentinel', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -150,9 +117,7 @@ describe('Safe owners manager', () => { }) it('should fail if address is equal to 0x address', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -163,9 +128,8 @@ describe('Safe owners manager', () => { }) it('should fail if address is already an owner', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -176,9 +140,8 @@ describe('Safe owners manager', () => { }) it('should fail if the threshold is bigger than the number of owners', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() + const [, account2] = accounts const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -195,9 +158,8 @@ describe('Safe owners manager', () => { }) it('should fail if the threshold is not bigger than 0', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() + const [, account2] = accounts const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -208,9 +170,8 @@ describe('Safe owners manager', () => { }) it('should build the transaction with the optional props', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() + const [, account2] = accounts const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -234,9 +195,8 @@ describe('Safe owners manager', () => { }) it('should add an owner and keep the same threshold', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -258,9 +218,8 @@ describe('Safe owners manager', () => { }) it('should add an owner and update the threshold', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -286,7 +245,7 @@ describe('Safe owners manager', () => { describe('createRemoveOwnerTx', async () => { it('should fail if the Safe is not deployed', async () => { - const { predictedSafe, accounts, contractNetworks, provider } = await setupTests() + const { predictedSafe, accounts, contractNetworks } = await setupTests() const [, account2] = accounts const safeSdk = await Safe.init({ provider, @@ -298,7 +257,9 @@ describe('Safe owners manager', () => { }) it('should fail if address is invalid', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 3, threshold: 3 } + }) const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -309,7 +270,9 @@ describe('Safe owners manager', () => { }) it('should fail if address is equal to sentinel', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 3, threshold: 3 } + }) const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -320,7 +283,9 @@ describe('Safe owners manager', () => { }) it('should fail if address is equal to 0x address', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 3, threshold: 3 } + }) const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -331,7 +296,9 @@ describe('Safe owners manager', () => { }) it('should fail if address is not an owner', async () => { - const { safe, accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 3, threshold: 3 } + }) const [, , , account4] = accounts const safeSdk = await Safe.init({ provider, @@ -343,7 +310,9 @@ describe('Safe owners manager', () => { }) it('should fail if the threshold is bigger than the number of owners', async () => { - const { safe, accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 3, threshold: 3 } + }) const [account1] = accounts const safeSdk = await Safe.init({ provider, @@ -361,7 +330,9 @@ describe('Safe owners manager', () => { }) it('should fail if the threshold is not bigger than 0', async () => { - const { safe, accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 3, threshold: 3 } + }) const [account1] = accounts const safeSdk = await Safe.init({ provider, @@ -373,7 +344,9 @@ describe('Safe owners manager', () => { }) it('should build the transaction with the optional props', async () => { - const { safe, accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 3, threshold: 3 } + }) const [account1] = accounts const safeSdk1 = await Safe.init({ provider, @@ -398,7 +371,9 @@ describe('Safe owners manager', () => { }) it('should remove the first owner of a Safe and decrease the threshold', async () => { - const { safe, accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 3, threshold: 3 } + }) const [account1, account2, account3] = accounts const safeSdk1 = await Safe.init({ provider, @@ -431,7 +406,9 @@ describe('Safe owners manager', () => { }) it('should remove any owner of a Safe and decrease the threshold', async () => { - const { safe, accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 3, threshold: 3 } + }) const [account1, account2, account3] = accounts const safeSdk1 = await Safe.init({ provider, @@ -465,7 +442,9 @@ describe('Safe owners manager', () => { }) it('should remove an owner and update the threshold', async () => { - const { safe, accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 3, threshold: 3 } + }) const [account1, account2, account3] = accounts const safeSdk1 = await Safe.init({ provider, @@ -502,7 +481,7 @@ describe('Safe owners manager', () => { describe('createSwapOwnerTx', async () => { it('should fail if the Safe is not deployed', async () => { - const { predictedSafe, accounts, contractNetworks, provider } = await setupTests() + const { predictedSafe, accounts, contractNetworks } = await setupTests() const [account1] = accounts const safeSdk = await Safe.init({ provider, @@ -517,9 +496,8 @@ describe('Safe owners manager', () => { }) it('should fail if old address is invalid', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() + const [, account2] = accounts const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -533,9 +511,8 @@ describe('Safe owners manager', () => { }) it('should fail if new address is invalid', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -549,9 +526,8 @@ describe('Safe owners manager', () => { }) it('should fail if old address is equal to sentinel', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() + const [, account2] = accounts const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -565,9 +541,8 @@ describe('Safe owners manager', () => { }) it('should fail if new address is equal to sentinel', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -581,9 +556,8 @@ describe('Safe owners manager', () => { }) it('should fail if old address is equal to 0x address', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() + const [, account2] = accounts const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -597,9 +571,8 @@ describe('Safe owners manager', () => { }) it('should fail if new address is equal to 0x address', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -613,9 +586,8 @@ describe('Safe owners manager', () => { }) it('should fail if old address is not an owner', async () => { - const { accounts, contractNetworks, provider } = await setupTests() - const [account1, account2, , account4] = accounts - const safe = await getSafeWithOwners([account1.address]) + const { safe, accounts, contractNetworks } = await setupTests() + const [, account2, , account4] = accounts const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -629,9 +601,8 @@ describe('Safe owners manager', () => { }) it('should fail if new address is already an owner', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -645,9 +616,8 @@ describe('Safe owners manager', () => { }) it('should build the transaction with the optional props', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -674,9 +644,8 @@ describe('Safe owners manager', () => { }) it('should replace the first owner of a Safe', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests() const [account1, account2] = accounts - const safe = await getSafeWithOwners([account1.address]) const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -697,7 +666,9 @@ describe('Safe owners manager', () => { }) it('should replace any owner of a Safe', async () => { - const { safe, accounts, contractNetworks, provider } = await setupTests() + const { safe, accounts, contractNetworks } = await setupTests({ + safeConfig: { numberOfOwners: 3, threshold: 3 } + }) const [account1, account2, account3, account4] = accounts const safeSdk1 = await Safe.init({ provider, diff --git a/packages/protocol-kit/tests/e2e/passkey.test.ts b/packages/protocol-kit/tests/e2e/passkey.test.ts index 59c381656..8e04b77d1 100644 --- a/packages/protocol-kit/tests/e2e/passkey.test.ts +++ b/packages/protocol-kit/tests/e2e/passkey.test.ts @@ -1,26 +1,28 @@ -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' -import { OperationType } from '@safe-global/safe-core-sdk-types' +import { + safeVersionDeployed, + setupTests as testingKitSetupTests, + itif, + describeif, + getWebAuthnContract, + getSafeWithOwners +} from '@safe-global/testing-kit' +import { OperationType } from '@safe-global/types-kit' import Safe, { getPasskeyOwnerAddress, PredictedSafeProps, SafeProvider -} from '@safe-global/protocol-kit' +} from '@safe-global/protocol-kit/index' import chai from 'chai' import chaiAsPromised from 'chai-as-promised' import sinon from 'sinon' import sinonChai from 'sinon-chai' -import { deployments } from 'hardhat' import crypto from 'crypto' import { getSafeWebAuthnSignerFactoryContract, getSafeWebAuthnSharedSignerContract } from '@safe-global/protocol-kit/contracts/safeDeploymentContracts' -import { getContractNetworks } from './utils/setupContractNetworks' -import { getSafeWithOwners, getWebAuthnContract } from './utils/setupContracts' import { getEip1193Provider } from './utils/setupProvider' import { waitSafeTxReceipt } from './utils/transactions' -import { getAccounts } from './utils/setupTestNetwork' -import { itif, describeif } from './utils/helpers' import { createMockPasskey, getWebAuthnCredentials, deployPasskeysContract } from './utils/passkeys' chai.use(chaiAsPromised) @@ -43,8 +45,8 @@ Object.defineProperty(global, 'navigator', { }) describe('Passkey', () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() + const setupTests = async () => { + const { accounts, chainId, contractNetworks } = await testingKitSetupTests() const webAuthnContract = await getWebAuthnContract() const customVerifierAddress = webAuthnContract.address @@ -52,8 +54,6 @@ describe('Passkey', () => { const passkey1 = { ...(await createMockPasskey('chucknorris')), customVerifierAddress } const passkey2 = { ...(await createMockPasskey('brucelee')), customVerifierAddress } - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) const provider = getEip1193Provider() const safeProvider = await SafeProvider.init(provider) const customContracts = contractNetworks?.[chainId.toString()] @@ -88,7 +88,7 @@ describe('Passkey', () => { return { safeProvider, - accounts: await getAccounts(), + accounts, contractNetworks, predictedSafe, provider, @@ -97,7 +97,7 @@ describe('Passkey', () => { safeWebAuthnSignerFactoryContract, safeWebAuthnSharedSignerContract } - }) + } describe('isOwner', async () => { itif(safeVersionDeployed < '1.3.0')( diff --git a/packages/protocol-kit/tests/e2e/safeContracts.test.ts b/packages/protocol-kit/tests/e2e/safeContracts.test.ts new file mode 100644 index 000000000..c12a207b4 --- /dev/null +++ b/packages/protocol-kit/tests/e2e/safeContracts.test.ts @@ -0,0 +1,352 @@ +import { + setupTests, + getCompatibilityFallbackHandler, + getCreateCall, + getFactory, + getMultiSend, + getMultiSendCallOnly, + getSafeSingleton, + getSignMessageLib, + getSimulateTxAccessor, + getSafeWebAuthnSignerFactory, + getSafeWebAuthnSharedSigner +} from '@safe-global/testing-kit' +import { SafeVersion } from '@safe-global/types-kit' +import chai from 'chai' +import chaiAsPromised from 'chai-as-promised' +import { getEip1193Provider, getSafeProviderFromNetwork } from './utils/setupProvider' +import { + getCompatibilityFallbackHandlerContract, + getCreateCallContract, + getMultiSendCallOnlyContract, + getMultiSendContract, + getSafeContract, + getSafeProxyFactoryContract, + getSignMessageLibContract, + SafeProvider +} from '@safe-global/protocol-kit/index' +import { + getSafeWebAuthnSharedSignerContract, + getSafeWebAuthnSignerFactoryContract, + getSimulateTxAccessorContract +} from '@safe-global/protocol-kit/contracts/safeDeploymentContracts' + +chai.use(chaiAsPromised) + +describe.only('Safe contracts', () => { + const provider = getEip1193Provider() + + describe('getSafeContract', async () => { + it('should return an L1 Safe contract from safe-deployments', async () => { + const safeProvider = getSafeProviderFromNetwork('mainnet') + const safeVersion: SafeVersion = '1.3.0' + const safeContract = await getSafeContract({ + safeProvider, + safeVersion + }) + chai.expect(safeContract.getAddress()).to.be.eq('0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552') + }) + + it('should return an L2 Safe contract from safe-deployments', async () => { + const safeProvider = getSafeProviderFromNetwork('gnosis') + const safeVersion: SafeVersion = '1.3.0' + const safeContract = await getSafeContract({ + safeProvider, + safeVersion + }) + chai.expect(safeContract.getAddress()).to.be.eq('0x3E5c63644E683549055b9Be8653de26E0B4CD36E') + }) + + it('should return an L1 Safe contract from safe-deployments using the L1 flag', async () => { + const safeProvider = getSafeProviderFromNetwork('gnosis') + const safeVersion: SafeVersion = '1.3.0' + const isL1SafeSingleton = true + const safeContract = await getSafeContract({ + safeProvider, + safeVersion, + isL1SafeSingleton + }) + chai.expect(safeContract.getAddress()).to.be.eq('0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552') + }) + + it('should return an L1 Safe contract from safe-deployments when the safeVersion is < 1.3.0', async () => { + const safeProvider = getSafeProviderFromNetwork('gnosis') + const safeVersion: SafeVersion = '1.1.1' + const safeContract = await getSafeContract({ + safeProvider, + safeVersion + }) + chai.expect(safeContract.getAddress()).to.be.eq('0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F') + }) + + it('should return a Safe contract from the custom addresses', async () => { + const { contractNetworks, chainId } = await setupTests() + const safeProvider = new SafeProvider({ provider }) + const safeVersion: SafeVersion = '1.3.0' + const customContracts = contractNetworks[chainId.toString()] + const safeContract = await getSafeContract({ + safeProvider, + safeVersion, + customContracts + }) + chai.expect(safeContract.getAddress()).to.be.eq((await getSafeSingleton()).contract.address) + }) + }) + + describe('getSafeProxyFactoryContract', async () => { + it('should return a SafeProxyFactory contract from safe-deployments', async () => { + const safeProvider = getSafeProviderFromNetwork('mainnet') + const safeVersion: SafeVersion = '1.3.0' + const factoryContract = await getSafeProxyFactoryContract({ + safeProvider, + safeVersion + }) + chai + .expect(factoryContract.getAddress()) + .to.be.eq('0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2') + }) + + it('should return a SafeProxyFactory contract from the custom addresses', async () => { + const { contractNetworks, chainId } = await setupTests() + const safeProvider = new SafeProvider({ provider }) + const safeVersion: SafeVersion = '1.3.0' + const customContracts = contractNetworks[chainId.toString()] + const factoryContract = await getSafeProxyFactoryContract({ + safeProvider, + safeVersion, + customContracts + }) + chai.expect(factoryContract.getAddress()).to.be.eq((await getFactory()).contract.address) + }) + }) + + describe('getCompatibilityFallbackHandlerContract', async () => { + it('should return a CompatibilityFallbackHandler contract from safe-deployments', async () => { + const safeProvider = getSafeProviderFromNetwork('mainnet') + const safeVersion: SafeVersion = '1.3.0' + const compatibilityFallbackHandlerContract = await getCompatibilityFallbackHandlerContract({ + safeProvider, + safeVersion + }) + chai + .expect(compatibilityFallbackHandlerContract.getAddress()) + .to.be.eq('0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4') + }) + + it('should return a CompatibilityFallbackHandler contract from the custom addresses', async () => { + const { contractNetworks, chainId } = await setupTests() + const safeProvider = new SafeProvider({ provider }) + const safeVersion: SafeVersion = '1.3.0' + const customContracts = contractNetworks[chainId.toString()] + const compatibilityFallbackHandlerContract = await getCompatibilityFallbackHandlerContract({ + safeProvider, + safeVersion, + customContracts + }) + chai + .expect(compatibilityFallbackHandlerContract.getAddress()) + .to.be.eq((await getCompatibilityFallbackHandler()).contract.address) + }) + }) + + describe('getMultiSendContract', async () => { + it('should return a MultiSend contract from safe-deployments', async () => { + const safeProvider = getSafeProviderFromNetwork('mainnet') + const safeVersion: SafeVersion = '1.3.0' + const multiSendContract = await getMultiSendContract({ + safeProvider, + safeVersion + }) + chai + .expect(multiSendContract.getAddress()) + .to.be.eq('0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761') + }) + + it('should return a MultiSend contract from the custom addresses', async () => { + const { contractNetworks, chainId } = await setupTests() + const safeProvider = new SafeProvider({ provider }) + const safeVersion: SafeVersion = '1.3.0' + const customContracts = contractNetworks[chainId.toString()] + const multiSendContract = await getMultiSendContract({ + safeProvider, + safeVersion, + customContracts + }) + chai.expect(multiSendContract.getAddress()).to.be.eq((await getMultiSend()).contract.address) + }) + }) + + describe('getMultiSendCallOnlyContract', async () => { + it('should return a MultiSendCallOnly contract from safe-deployments', async () => { + const safeProvider = getSafeProviderFromNetwork('mainnet') + const safeVersion: SafeVersion = '1.3.0' + const multiSendCallOnlyContract = await getMultiSendCallOnlyContract({ + safeProvider, + safeVersion + }) + chai + .expect(multiSendCallOnlyContract.getAddress()) + .to.be.eq('0x40A2aCCbd92BCA938b02010E17A5b8929b49130D') + }) + + it('should return a MultiSendCallOnly contract from the custom addresses', async () => { + const { contractNetworks, chainId } = await setupTests() + const safeProvider = new SafeProvider({ provider }) + const safeVersion: SafeVersion = '1.3.0' + const customContracts = contractNetworks[chainId.toString()] + const multiSendCallOnlyContract = await getMultiSendCallOnlyContract({ + safeProvider, + safeVersion, + customContracts + }) + chai + .expect(multiSendCallOnlyContract.getAddress()) + .to.be.eq((await getMultiSendCallOnly()).contract.address) + }) + }) + + describe('getSignMessageLibContract', async () => { + it('should return a SignMessageLib contract from safe-deployments', async () => { + const safeProvider = getSafeProviderFromNetwork('mainnet') + const safeVersion: SafeVersion = '1.3.0' + const signMessageLibContract = await getSignMessageLibContract({ + safeProvider, + safeVersion + }) + chai + .expect(signMessageLibContract.getAddress()) + .to.be.eq('0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2') + }) + + it('should return a SignMessageLib contract from the custom addresses', async () => { + const { contractNetworks, chainId } = await setupTests() + const safeProvider = new SafeProvider({ provider }) + const safeVersion: SafeVersion = '1.3.0' + const customContracts = contractNetworks[chainId.toString()] + const signMessageLibContract = await getSignMessageLibContract({ + safeProvider, + safeVersion, + customContracts + }) + chai + .expect(signMessageLibContract.getAddress()) + .to.be.eq((await getSignMessageLib()).contract.address) + }) + }) + + describe('getCreateCallContract', async () => { + it('should return a CreateCall contract from safe-deployments', async () => { + const safeProvider = getSafeProviderFromNetwork('mainnet') + const safeVersion: SafeVersion = '1.3.0' + const createCallContract = await getCreateCallContract({ + safeProvider, + safeVersion + }) + chai + .expect(createCallContract.getAddress()) + .to.be.eq('0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4') + }) + + it('should return a CreateCall contract from the custom addresses', async () => { + const { contractNetworks, chainId } = await setupTests() + const safeProvider = new SafeProvider({ provider }) + const safeVersion: SafeVersion = '1.3.0' + const customContracts = contractNetworks[chainId.toString()] + const createCallContract = await getCreateCallContract({ + safeProvider, + safeVersion, + customContracts + }) + chai + .expect(createCallContract.getAddress()) + .to.be.eq((await getCreateCall()).contract.address) + }) + }) + + describe('getSimulateTxAccessorContract', async () => { + it('should return a SimulateTxAccessor contract from safe-deployments', async () => { + const safeProvider = getSafeProviderFromNetwork('mainnet') + const safeVersion: SafeVersion = '1.3.0' + const simulateTxAccessorContract = await getSimulateTxAccessorContract({ + safeProvider, + safeVersion + }) + chai + .expect(simulateTxAccessorContract.getAddress()) + .to.be.eq('0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da') + }) + + it('should return a SimulateTxAccessor contract from the custom addresses', async () => { + const { contractNetworks, chainId } = await setupTests() + const safeProvider = new SafeProvider({ provider }) + const safeVersion: SafeVersion = '1.3.0' + const customContracts = contractNetworks[chainId.toString()] + const simulateTxAccessorContract = await getSimulateTxAccessorContract({ + safeProvider, + safeVersion, + customContracts + }) + chai + .expect(simulateTxAccessorContract.getAddress()) + .to.be.eq((await getSimulateTxAccessor()).contract.address) + }) + }) + + describe('getSafeWebAuthnSignerFactoryContract', async () => { + it('should return a SafeWebAuthnSignerFactory contract from safe-deployments', async () => { + const safeProvider = getSafeProviderFromNetwork('mainnet') + const safeVersion: SafeVersion = '1.3.0' + const safeWebAuthnSignerFactoryContract = await getSafeWebAuthnSignerFactoryContract({ + safeProvider, + safeVersion + }) + chai + .expect(safeWebAuthnSignerFactoryContract.getAddress()) + .to.be.eq('0x1d31F259eE307358a26dFb23EB365939E8641195') + }) + + it('should return a SafeWebAuthnSignerFactory contract from the custom addresses', async () => { + const { contractNetworks, chainId } = await setupTests() + const safeProvider = new SafeProvider({ provider }) + const safeVersion: SafeVersion = '1.3.0' + const customContracts = contractNetworks[chainId.toString()] + const safeWebAuthnSignerFactoryContract = await getSafeWebAuthnSignerFactoryContract({ + safeProvider, + safeVersion, + customContracts + }) + chai + .expect(safeWebAuthnSignerFactoryContract.getAddress()) + .to.be.eq((await getSafeWebAuthnSignerFactory()).contract.address) + }) + }) + + describe('getSafeWebAuthnSharedSignerContract', async () => { + it('should return a SafeWebAuthnSharedSigner contract from safe-deployments', async () => { + const safeProvider = getSafeProviderFromNetwork('mainnet') + const safeVersion: SafeVersion = '1.3.0' + const safeWebAuthnSharedSignerContract = await getSafeWebAuthnSharedSignerContract({ + safeProvider, + safeVersion + }) + chai + .expect(safeWebAuthnSharedSignerContract.getAddress()) + .to.be.eq('0x94a4F6affBd8975951142c3999aEAB7ecee555c2') + }) + + it('should return a SafeWebAuthnSharedSigner contract from the custom addresses', async () => { + const { contractNetworks, chainId } = await setupTests() + const safeProvider = new SafeProvider({ provider }) + const safeVersion: SafeVersion = '1.3.0' + const customContracts = contractNetworks[chainId.toString()] + const safeWebAuthnSharedSignerContract = await getSafeWebAuthnSharedSignerContract({ + safeProvider, + safeVersion, + customContracts + }) + chai + .expect(safeWebAuthnSharedSignerContract.getAddress()) + .to.be.eq((await getSafeWebAuthnSharedSigner()).contract.address) + }) + }) +}) diff --git a/packages/protocol-kit/tests/e2e/safeProvider.test.ts b/packages/protocol-kit/tests/e2e/safeProvider.test.ts index 42bed157d..ec58f7452 100644 --- a/packages/protocol-kit/tests/e2e/safeProvider.test.ts +++ b/packages/protocol-kit/tests/e2e/safeProvider.test.ts @@ -1,22 +1,8 @@ -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { safeVersionDeployed, itif } from '@safe-global/testing-kit' import chai from 'chai' import chaiAsPromised from 'chai-as-promised' -import { deployments } from 'hardhat' -import { getContractNetworks } from './utils/setupContractNetworks' -import { - getCompatibilityFallbackHandler, - getCreateCall, - getFactory, - getMultiSend, - getMultiSendCallOnly, - getSafeSingleton, - getSignMessageLib -} from './utils/setupContracts' -import { getEip1193Provider, getSafeProviderFromNetwork } from './utils/setupProvider' -import { getAccounts } from './utils/setupTestNetwork' +import { getEip1193Provider } from './utils/setupProvider' import { SafeProvider } from '@safe-global/protocol-kit/index' -import { itif } from './utils/helpers' import sinon from 'sinon' import sinonChai from 'sinon-chai' import { createMockPasskey, getWebAuthnCredentials } from './utils/passkeys' @@ -41,27 +27,13 @@ Object.defineProperty(global, 'navigator', { writable: true }) -describe('Safe contracts', () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) - const provider = getEip1193Provider() - - return { - accounts, - contractNetworks, - chainId, - provider - } - }) +describe('Safe provider', () => { + const provider = getEip1193Provider() describe('init', async () => { itif(safeVersionDeployed < '1.3.0')( 'should fail for a passkey signer and Safe { - const { provider } = await setupTests() const passKeySigner = await createMockPasskey('aName') chai @@ -71,249 +43,26 @@ describe('Safe contracts', () => { ) } ) - }) - - describe('getSafeContract', async () => { - it('should return an L1 Safe contract from safe-deployments', async () => { - const safeProvider = getSafeProviderFromNetwork('mainnet') - const safeVersion: SafeVersion = '1.3.0' - const safeContract = await safeProvider.getSafeContract({ - safeVersion - }) - chai.expect(safeContract.getAddress()).to.be.eq('0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552') - }) - - it('should return an L2 Safe contract from safe-deployments', async () => { - const safeProvider = getSafeProviderFromNetwork('gnosis') - const safeVersion: SafeVersion = '1.3.0' - const safeContract = await safeProvider.getSafeContract({ - safeVersion - }) - chai.expect(safeContract.getAddress()).to.be.eq('0x3E5c63644E683549055b9Be8653de26E0B4CD36E') - }) - - it('should return an L1 Safe contract from safe-deployments using the L1 flag', async () => { - const safeProvider = getSafeProviderFromNetwork('gnosis') - const safeVersion: SafeVersion = '1.3.0' - const isL1SafeSingleton = true - const safeContract = await safeProvider.getSafeContract({ - safeVersion, - isL1SafeSingleton - }) - chai.expect(safeContract.getAddress()).to.be.eq('0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552') - }) - - it('should return an L1 Safe contract from safe-deployments when the safeVersion is < 1.3.0', async () => { - const safeProvider = getSafeProviderFromNetwork('gnosis') - const safeVersion: SafeVersion = '1.1.1' - const safeContract = await safeProvider.getSafeContract({ - safeVersion - }) - chai.expect(safeContract.getAddress()).to.be.eq('0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F') - }) - - it('should return a Safe contract from the custom addresses', async () => { - const { contractNetworks, chainId, provider } = await setupTests() - const safeProvider = new SafeProvider({ provider }) - const safeVersion: SafeVersion = '1.3.0' - const customContract = contractNetworks[chainId.toString()] - const safeContract = await safeProvider.getSafeContract({ - safeVersion, - customContractAddress: customContract?.safeSingletonAddress, - customContractAbi: customContract?.safeSingletonAbi - }) - chai.expect(safeContract.getAddress()).to.be.eq((await getSafeSingleton()).contract.address) - }) - }) - - describe('getMultiSendContract', async () => { - it('should return a MultiSend contract from safe-deployments', async () => { - const safeProvider = getSafeProviderFromNetwork('mainnet') - const safeVersion: SafeVersion = '1.3.0' - const multiSendContract = await safeProvider.getMultiSendContract({ - safeVersion - }) - chai - .expect(await multiSendContract.getAddress()) - .to.be.eq('0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761') - }) - - it('should return a MultiSend contract from the custom addresses', async () => { - const { contractNetworks, chainId, provider } = await setupTests() - const safeProvider = new SafeProvider({ provider }) - const safeVersion: SafeVersion = '1.3.0' - const customContract = contractNetworks[chainId.toString()] - const multiSendContract = await safeProvider.getMultiSendContract({ - safeVersion, - customContractAddress: customContract.multiSendAddress, - customContractAbi: customContract.multiSendAbi - }) - chai.expect(multiSendContract.getAddress()).to.be.eq((await getMultiSend()).contract.address) - }) - }) - - describe('getMultiSendCallOnlyContract', async () => { - it('should return a MultiSendCallOnly contract from safe-deployments', async () => { - const safeProvider = getSafeProviderFromNetwork('mainnet') - const safeVersion: SafeVersion = '1.3.0' - const multiSendCallOnlyContract = await safeProvider.getMultiSendCallOnlyContract({ - safeVersion - }) - chai - .expect(multiSendCallOnlyContract.getAddress()) - .to.be.eq('0x40A2aCCbd92BCA938b02010E17A5b8929b49130D') - }) - - it('should return a MultiSendCallOnly contract from the custom addresses', async () => { - const { contractNetworks, chainId, provider } = await setupTests() - const safeProvider = new SafeProvider({ provider }) - const safeVersion: SafeVersion = '1.3.0' - const customContract = contractNetworks[chainId.toString()] - const multiSendCallOnlyContract = await safeProvider.getMultiSendCallOnlyContract({ - safeVersion, - customContractAddress: customContract.multiSendCallOnlyAddress, - customContractAbi: customContract.multiSendCallOnlyAbi - }) - chai - .expect(multiSendCallOnlyContract.getAddress()) - .to.be.eq((await getMultiSendCallOnly()).contract.address) - }) - }) - - describe('getCompatibilityFallbackHandlerContract', async () => { - it('should return a CompatibilityFallbackHandler contract from safe-deployments', async () => { - const safeProvider = getSafeProviderFromNetwork('mainnet') - const safeVersion: SafeVersion = '1.3.0' - const compatibilityFallbackHandlerContract = - await safeProvider.getCompatibilityFallbackHandlerContract({ - safeVersion - }) - chai - .expect(compatibilityFallbackHandlerContract.getAddress()) - .to.be.eq('0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4') - }) - - it('should return a CompatibilityFallbackHandler contract from the custom addresses', async () => { - const { contractNetworks, chainId, provider } = await setupTests() - const safeProvider = new SafeProvider({ provider }) - const safeVersion: SafeVersion = '1.3.0' - const customContract = contractNetworks[chainId.toString()] - const compatibilityFallbackHandlerContract = - await safeProvider.getCompatibilityFallbackHandlerContract({ - safeVersion, - customContractAddress: customContract.fallbackHandlerAddress, - customContractAbi: customContract.fallbackHandlerAbi - }) - chai - .expect(compatibilityFallbackHandlerContract.getAddress()) - .to.be.eq((await getCompatibilityFallbackHandler()).contract.address) - }) - }) - - describe('getSafeProxyFactoryContract', async () => { - it('should return a SafeProxyFactory contract from safe-deployments', async () => { - const safeProvider = getSafeProviderFromNetwork('mainnet') - const safeVersion: SafeVersion = '1.3.0' - const factoryContract = await safeProvider.getSafeProxyFactoryContract({ - safeVersion - }) - chai - .expect(factoryContract.getAddress()) - .to.be.eq('0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2') - }) - - it('should return a SafeProxyFactory contract from the custom addresses', async () => { - const { contractNetworks, chainId, provider } = await setupTests() - const safeProvider = new SafeProvider({ provider }) - const safeVersion: SafeVersion = '1.3.0' - const customContract = contractNetworks[chainId.toString()] - const factoryContract = await safeProvider.getSafeProxyFactoryContract({ - safeVersion, - customContractAddress: customContract.safeProxyFactoryAddress, - customContractAbi: customContract.safeProxyFactoryAbi - }) - chai.expect(factoryContract.getAddress()).to.be.eq((await getFactory()).contract.address) - }) - }) - - describe('getSignMessageLibContract', async () => { - it('should return a SignMessageLib contract from safe-deployments', async () => { - const safeProvider = getSafeProviderFromNetwork('mainnet') - const safeVersion: SafeVersion = '1.3.0' - const signMessageLibContract = await safeProvider.getSignMessageLibContract({ - safeVersion - }) - chai - .expect(signMessageLibContract.getAddress()) - .to.be.eq('0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2') - }) - - it('should return a SignMessageLib contract from the custom addresses', async () => { - const { contractNetworks, chainId, provider } = await setupTests() - const safeProvider = new SafeProvider({ provider }) - const safeVersion: SafeVersion = '1.3.0' - const customContract = contractNetworks[chainId.toString()] - const signMessageLibContract = await safeProvider.getSignMessageLibContract({ - safeVersion, - customContractAddress: customContract.signMessageLibAddress, - customContractAbi: customContract.signMessageLibAbi - }) - chai - .expect(signMessageLibContract.getAddress()) - .to.be.eq((await getSignMessageLib()).contract.address) - }) - }) - - describe('getCreateCallContract', async () => { - it('should return a CreateCall contract from safe-deployments', async () => { - const safeProvider = getSafeProviderFromNetwork('mainnet') - const safeVersion: SafeVersion = '1.3.0' - const createCallContract = await safeProvider.getCreateCallContract({ - safeVersion - }) - chai - .expect(createCallContract.getAddress()) - .to.be.eq('0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4') - }) - - it('should return a SafeProxyFactory contract from the custom addresses', async () => { - const { contractNetworks, chainId, provider } = await setupTests() - const safeProvider = new SafeProvider({ provider }) - const safeVersion: SafeVersion = '1.3.0' - const customContract = contractNetworks[chainId.toString()] - const createCallContract = await safeProvider.getCreateCallContract({ - safeVersion, - customContractAddress: customContract.createCallAddress, - customContractAbi: customContract.createCallAbi - }) - chai - .expect(createCallContract.getAddress()) - .to.be.eq((await getCreateCall()).contract.address) - }) it('should return an external provider (PublicClient) and signer (WalletClient) when using an EIP1193 provider', async () => { - const { provider } = await setupTests() - - const safeProvider = new SafeProvider({ provider }) + const safeProvider = await SafeProvider.init(provider) chai.expect(safeProvider.getExternalProvider()).to.deep.include(publicActions) chai.expect(await safeProvider.getExternalSigner()).to.deep.include(walletActions) }) it('should return an external provider (PublicClient) and signer (WalletClient) when using a private key', async () => { - const safeProvider = new SafeProvider({ - provider: 'https://sepolia.gateway.tenderly.co', - signer: '4ff03ace1395691975678c93449d552dc83df6b773a8024d4c368b39042a7610' - }) + const safeProvider = await SafeProvider.init( + 'https://sepolia.gateway.tenderly.co', + '4ff03ace1395691975678c93449d552dc83df6b773a8024d4c368b39042a7610' + ) chai.expect(safeProvider.getExternalProvider()).to.deep.include(publicActions) chai.expect(await safeProvider.getExternalSigner()).to.deep.include(walletActions) }) it('should return an undefined signer when using an RPC without signer', async () => { - const safeProvider = new SafeProvider({ - provider: 'https://sepolia.gateway.tenderly.co' - }) + const safeProvider = await SafeProvider.init('https://sepolia.gateway.tenderly.co') chai.expect(safeProvider.getExternalProvider()).to.deep.include(publicActions) chai.expect(await safeProvider.getExternalSigner()).to.be.undefined diff --git a/packages/protocol-kit/tests/e2e/threshold.test.ts b/packages/protocol-kit/tests/e2e/threshold.test.ts index 2629bb76f..df65b235a 100644 --- a/packages/protocol-kit/tests/e2e/threshold.test.ts +++ b/packages/protocol-kit/tests/e2e/threshold.test.ts @@ -1,48 +1,18 @@ -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' -import Safe, { - PredictedSafeProps, - SafeTransactionOptionalProps -} from '@safe-global/protocol-kit/index' +import { setupTests, getSafeWithOwners } from '@safe-global/testing-kit' +import Safe, { SafeTransactionOptionalProps } from '@safe-global/protocol-kit/index' import chai from 'chai' import chaiAsPromised from 'chai-as-promised' -import { deployments } from 'hardhat' -import { getContractNetworks } from './utils/setupContractNetworks' -import { getSafeWithOwners } from './utils/setupContracts' import { getEip1193Provider } from './utils/setupProvider' -import { getAccounts } from './utils/setupTestNetwork' import { waitSafeTxReceipt } from './utils/transactions' chai.use(chaiAsPromised) describe('Safe Threshold', () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) - const predictedSafe: PredictedSafeProps = { - safeAccountConfig: { - owners: [accounts[0].address], - threshold: 1 - }, - safeDeploymentConfig: { - safeVersion: safeVersionDeployed - } - } - const provider = getEip1193Provider() - - return { - safe: await getSafeWithOwners([accounts[0].address]), - accounts, - contractNetworks, - predictedSafe, - provider - } - }) + const provider = getEip1193Provider() describe('getThreshold', async () => { it('should fail if the Safe is not deployed', async () => { - const { predictedSafe, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -52,7 +22,7 @@ describe('Safe Threshold', () => { }) it('should return the Safe threshold', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -64,7 +34,7 @@ describe('Safe Threshold', () => { describe('createChangeThresholdTx', async () => { it('should fail if the Safe is not deployed', async () => { - const { predictedSafe, contractNetworks, provider } = await setupTests() + const { predictedSafe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, predictedSafe, @@ -77,7 +47,7 @@ describe('Safe Threshold', () => { }) it('should fail if the threshold is bigger than the number of owners', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -92,7 +62,7 @@ describe('Safe Threshold', () => { }) it('should fail if the threshold is not bigger than 0', async () => { - const { safe, contractNetworks, provider } = await setupTests() + const { safe, contractNetworks } = await setupTests() const safeSdk = await Safe.init({ provider, safeAddress: safe.address, @@ -105,7 +75,7 @@ describe('Safe Threshold', () => { }) it('should build the transaction with the optional props', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { accounts, contractNetworks } = await setupTests() const [account1, account2] = accounts const safe = await getSafeWithOwners([account1.address, account2.address], 1) const safeSdk = await Safe.init({ @@ -133,7 +103,7 @@ describe('Safe Threshold', () => { }) it('should change the threshold', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { accounts, contractNetworks } = await setupTests() const [account1, account2] = accounts const safe = await getSafeWithOwners([account1.address, account2.address], 1) const safeSdk = await Safe.init({ diff --git a/packages/protocol-kit/tests/e2e/transactionUtils.test.ts b/packages/protocol-kit/tests/e2e/transactionUtils.test.ts index fc5cfbb78..8aa270858 100644 --- a/packages/protocol-kit/tests/e2e/transactionUtils.test.ts +++ b/packages/protocol-kit/tests/e2e/transactionUtils.test.ts @@ -1,4 +1,4 @@ -import { OperationType } from '@safe-global/safe-core-sdk-types' +import { OperationType } from '@safe-global/types-kit' import chai from 'chai' import { decodeMultiSendData } from '@safe-global/protocol-kit/utils/transactions/utils' diff --git a/packages/protocol-kit/tests/e2e/utils/setupContractNetworks.ts b/packages/protocol-kit/tests/e2e/utils/setupContractNetworks.ts deleted file mode 100644 index 781466f80..000000000 --- a/packages/protocol-kit/tests/e2e/utils/setupContractNetworks.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { ContractNetworksConfig } from '@safe-global/protocol-kit/index' -import { - getCompatibilityFallbackHandler, - getCreateCall, - getFactory, - getMultiSend, - getMultiSendCallOnly, - getSafeSingleton, - getSafeWebAuthnSharedSigner, - getSafeWebAuthnSignerFactory, - getSignMessageLib, - getSimulateTxAccessor -} from './setupContracts' - -export async function getContractNetworks(chainId: bigint): Promise { - return { - [chainId.toString()]: { - safeSingletonAddress: (await getSafeSingleton()).contract.address, - safeSingletonAbi: (await getSafeSingleton()).abi, - safeProxyFactoryAddress: (await getFactory()).contract.address, - safeProxyFactoryAbi: (await getFactory()).abi, - multiSendAddress: (await getMultiSend()).contract.address, - multiSendAbi: (await getMultiSend()).abi, - multiSendCallOnlyAddress: (await getMultiSendCallOnly()).contract.address, - multiSendCallOnlyAbi: (await getMultiSendCallOnly()).abi, - fallbackHandlerAddress: (await getCompatibilityFallbackHandler()).contract.address, - fallbackHandlerAbi: (await getCompatibilityFallbackHandler()).abi, - signMessageLibAddress: (await getSignMessageLib()).contract.address, - signMessageLibAbi: (await getSignMessageLib()).abi, - createCallAddress: (await getCreateCall()).contract.address, - createCallAbi: (await getCreateCall()).abi, - simulateTxAccessorAddress: (await getSimulateTxAccessor()).contract.address, - simulateTxAccessorAbi: (await getSimulateTxAccessor()).abi, - safeWebAuthnSignerFactoryAddress: (await getSafeWebAuthnSignerFactory()).contract.address, - safeWebAuthnSignerFactoryAbi: (await getSafeWebAuthnSignerFactory()).abi, - safeWebAuthnSharedSignerAddress: (await getSafeWebAuthnSharedSigner()).contract.address, - safeWebAuthnSharedSignerAbi: (await getSafeWebAuthnSharedSigner()).abi - } - } -} diff --git a/packages/protocol-kit/tests/e2e/utils/transactions.ts b/packages/protocol-kit/tests/e2e/utils/transactions.ts index 3f6ac3ffd..be93c5739 100644 --- a/packages/protocol-kit/tests/e2e/utils/transactions.ts +++ b/packages/protocol-kit/tests/e2e/utils/transactions.ts @@ -1,7 +1,5 @@ -import { GetTransactionReceiptReturnType, Hex, WalletClient, Transport, Chain, Account } from 'viem' -import { TransactionResult } from '@safe-global/safe-core-sdk-types' -import SafeProvider from '@safe-global/protocol-kit/SafeProvider' -import hre, { viem } from 'hardhat' +import { GetTransactionReceiptReturnType } from 'viem' +import { TransactionResult } from '@safe-global/types-kit' export async function waitSafeTxReceipt( txResult: TransactionResult @@ -11,19 +9,3 @@ export async function waitSafeTxReceipt( return receipt } - -export async function getTransaction( - safeProvider: SafeProvider, - transactionHash: string -): Promise { - return safeProvider.getTransaction(transactionHash) -} - -export async function waitTransactionReceipt(hash: Hex) { - return (await viem.getPublicClient()).waitForTransactionReceipt({ hash }) -} - -export async function getDeployer(): Promise> { - const { deployer } = await hre.getNamedAccounts() - return viem.getWalletClient(deployer) -} diff --git a/packages/protocol-kit/tests/e2e/utilsContracts.test.ts b/packages/protocol-kit/tests/e2e/utilsContracts.test.ts index bad1df1f9..9c2423cf7 100644 --- a/packages/protocol-kit/tests/e2e/utilsContracts.test.ts +++ b/packages/protocol-kit/tests/e2e/utilsContracts.test.ts @@ -1,15 +1,16 @@ import chai from 'chai' -import { deployments } from 'hardhat' -import { getAccounts } from './utils/setupTestNetwork' -import { getContractNetworks } from './utils/setupContractNetworks' -import { getDefaultCallbackHandler } from './utils/setupContracts' import { getEip1193Provider, getSafeProviderFromNetwork } from './utils/setupProvider' import { getSafeAddressFromDeploymentTx, PREDETERMINED_SALT_NONCE, predictSafeAddress } from '@safe-global/protocol-kit/contracts/utils' -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' +import { + safeVersionDeployed, + setupTests, + itif, + waitTransactionReceipt +} from '@safe-global/testing-kit' import { SafeDeploymentConfig, SafeAccountConfig, @@ -19,8 +20,6 @@ import { } from '@safe-global/protocol-kit/types' import Safe from '@safe-global/protocol-kit/index' import SafeProvider from '@safe-global/protocol-kit/SafeProvider' -import { itif } from './utils/helpers' -import { waitTransactionReceipt } from './utils/transactions' // test util funcion to deploy a safe (needed to check the expected Safe Address) async function deploySafe( @@ -61,31 +60,16 @@ async function deploySafe( } describe('Contract utils', () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const signer = accounts[0].signer - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) - const provider = getEip1193Provider() - - return { - defaultCallbackHandler: await getDefaultCallbackHandler(), - chainId, - accounts, - contractNetworks, - provider, - signer - } - }) + const provider = getEip1193Provider() describe('predictSafeAddress', () => { it('returns the predicted address of a 1/1 Safe', async () => { - const { accounts, contractNetworks, chainId, provider, signer } = await setupTests() + const { accounts, contractNetworks, chainId } = await setupTests() // 1/1 Safe const [owner1] = accounts const owners = [owner1.address] + const signer = accounts[0].signer const threshold = 1 const safeVersion = safeVersionDeployed const safeProvider = new SafeProvider({ provider }) @@ -127,11 +111,12 @@ describe('Contract utils', () => { }) it('returns the predicted address of a 1/2 Safe', async () => { - const { accounts, contractNetworks, chainId, provider, signer } = await setupTests() + const { accounts, contractNetworks, chainId } = await setupTests() // 1/2 Safe const [owner1, owner2] = accounts const owners = [owner1.address, owner2.address] + const signer = accounts[0].signer const threshold = 1 const safeVersion = safeVersionDeployed const safeProvider = new SafeProvider({ provider }) @@ -173,11 +158,12 @@ describe('Contract utils', () => { }) it('returns the predicted address of a 2/2 Safe', async () => { - const { accounts, contractNetworks, chainId, provider, signer } = await setupTests() + const { accounts, contractNetworks, chainId } = await setupTests() // 2/2 Safe const [owner1, owner2] = accounts const owners = [owner1.address, owner2.address] + const signer = accounts[0].signer const threshold = 2 const safeVersion = safeVersionDeployed const safeProvider = new SafeProvider({ provider }) @@ -219,7 +205,7 @@ describe('Contract utils', () => { }) it('should fail if the provided threshold is invalid (greater than owners length)', async () => { - const { accounts, contractNetworks, chainId, provider } = await setupTests() + const { accounts, contractNetworks, chainId } = await setupTests() // invalid threshold 3/2 Safe const [owner1, owner2] = accounts @@ -253,7 +239,7 @@ describe('Contract utils', () => { }) it('should fail if the provided threshold is invalid (zero value)', async () => { - const { accounts, contractNetworks, chainId, provider } = await setupTests() + const { accounts, contractNetworks, chainId } = await setupTests() // invalid threshold 0/2 Safe const [owner1, owner2] = accounts @@ -287,7 +273,7 @@ describe('Contract utils', () => { }) it('should fail if the provided threshold is invalid (negative value)', async () => { - const { accounts, contractNetworks, chainId, provider } = await setupTests() + const { accounts, contractNetworks, chainId } = await setupTests() // invalid threshold -2/2 Safe const [owner1, owner2] = accounts @@ -321,7 +307,7 @@ describe('Contract utils', () => { }) it('should fail if no owners are present (empty array)', async () => { - const { contractNetworks, chainId, provider } = await setupTests() + const { contractNetworks, chainId } = await setupTests() // invalid owners 1/0 Safe const invalidOwners: string[] = [] @@ -354,11 +340,12 @@ describe('Contract utils', () => { }) it('returns different addresses with different saltNonce value but same Safe config (threshold & owners)', async () => { - const { accounts, contractNetworks, chainId, provider, signer } = await setupTests() + const { accounts, contractNetworks, chainId } = await setupTests() // 1/2 Safe const [owner1, owner2] = accounts const owners = [owner1.address, owner2.address] + const signer = accounts[0].signer const threshold = 1 const safeVersion = safeVersionDeployed const safeProvider = new SafeProvider({ provider }) @@ -450,11 +437,12 @@ describe('Contract utils', () => { }) it('returns the same predicted address for multiple calls to predictedSafeAddress with the same config (owners, threshold & saltNonce)', async () => { - const { accounts, contractNetworks, chainId, provider, signer } = await setupTests() + const { accounts, contractNetworks, chainId } = await setupTests() // 2/2 Safe const [owner1, owner2] = accounts const owners = [owner1.address, owner2.address] + const signer = accounts[0].signer const threshold = 2 const safeVersion = safeVersionDeployed const safeProvider = new SafeProvider({ provider }) @@ -516,11 +504,12 @@ describe('Contract utils', () => { itif(safeVersionDeployed > '1.0.0')( 'safeDeploymentConfig is an optional parameter', async () => { - const { accounts, contractNetworks, chainId, provider, signer } = await setupTests() + const { accounts, contractNetworks, chainId } = await setupTests() // 1/1 Safe const [owner1] = accounts const owners = [owner1.address] + const signer = accounts[0].signer const threshold = 1 const customContracts = contractNetworks[chainId.toString()] diff --git a/packages/protocol-kit/tests/e2e/wrapSafeTransactionIntoDeploymentBatch.test.ts b/packages/protocol-kit/tests/e2e/wrapSafeTransactionIntoDeploymentBatch.test.ts index 7d517c0af..682cfe483 100644 --- a/packages/protocol-kit/tests/e2e/wrapSafeTransactionIntoDeploymentBatch.test.ts +++ b/packages/protocol-kit/tests/e2e/wrapSafeTransactionIntoDeploymentBatch.test.ts @@ -1,47 +1,24 @@ import chai from 'chai' import chaiAsPromised from 'chai-as-promised' -import { deployments } from 'hardhat' -import { safeVersionDeployed } from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' -import Safe, { PredictedSafeProps } from '@safe-global/protocol-kit/index' -import { getContractNetworks } from './utils/setupContractNetworks' -import { itif } from './utils/helpers' -import { getSafeWithOwners, getMultiSendCallOnly } from './utils/setupContracts' +import { + safeVersionDeployed, + setupTests, + itif, + getSafeWithOwners, + getMultiSendCallOnly +} from '@safe-global/testing-kit' +import Safe from '@safe-global/protocol-kit/index' import { getEip1193Provider } from './utils/setupProvider' -import { getAccounts } from './utils/setupTestNetwork' chai.use(chaiAsPromised) const AMOUNT_TO_TRANSFER = '500000000000000000' // 0.5 ETH describe('wrapSafeTransactionIntoDeploymentBatch', () => { - const setupTests = deployments.createFixture(async ({ deployments, getChainId }) => { - await deployments.fixture() - const accounts = await getAccounts() - const chainId = BigInt(await getChainId()) - const contractNetworks = await getContractNetworks(chainId) - - const predictedSafe: PredictedSafeProps = { - safeAccountConfig: { - owners: [accounts[0].address], - threshold: 1 - }, - safeDeploymentConfig: { - safeVersion: safeVersionDeployed - } - } - const provider = getEip1193Provider() - - return { - accounts, - contractNetworks, - predictedSafe, - chainId, - provider - } - }) + const provider = getEip1193Provider() it('should throw an error if the Safe is already deployed', async () => { - const { accounts, contractNetworks, provider } = await setupTests() + const { accounts, contractNetworks } = await setupTests() const [account1, account2] = accounts const safe = await getSafeWithOwners([account1.address]) @@ -71,7 +48,7 @@ describe('wrapSafeTransactionIntoDeploymentBatch', () => { itif(safeVersionDeployed == '1.4.1')( 'should return a batch transaction with the Safe deployment Transaction and the Safe Transaction', async () => { - const { accounts, contractNetworks, predictedSafe, provider } = await setupTests() + const { accounts, contractNetworks, predictedSafe } = await setupTests() const [, account2] = accounts const safeSdk = await Safe.init({ @@ -105,7 +82,7 @@ describe('wrapSafeTransactionIntoDeploymentBatch', () => { itif(safeVersionDeployed == '1.3.0')( 'should return a batch transaction with the Safe deployment Transaction and the Safe Transaction', async () => { - const { accounts, contractNetworks, predictedSafe, provider } = await setupTests() + const { accounts, contractNetworks, predictedSafe } = await setupTests() const [, account2] = accounts const safeSdk = await Safe.init({ @@ -139,7 +116,7 @@ describe('wrapSafeTransactionIntoDeploymentBatch', () => { itif(safeVersionDeployed >= '1.3.0')( 'should include the custom salt nonce in the Safe deployment data', async () => { - const { accounts, contractNetworks, predictedSafe, provider } = await setupTests() + const { accounts, contractNetworks, predictedSafe } = await setupTests() const [, account2] = accounts const customSaltNonce = '123456789' diff --git a/packages/protocol-kit/tests/unit/eip-3770.test.ts b/packages/protocol-kit/tests/unit/eip-3770.test.ts index a0927defc..176948425 100644 --- a/packages/protocol-kit/tests/unit/eip-3770.test.ts +++ b/packages/protocol-kit/tests/unit/eip-3770.test.ts @@ -8,7 +8,7 @@ import { validateEthereumAddress } from '@safe-global/protocol-kit/utils' -declare module 'viem/node_modules/abitype' { +declare module 'abitype' { export interface Register { AddressType: string } diff --git a/packages/protocol-kit/tests/unit/eip-712.test.ts b/packages/protocol-kit/tests/unit/eip-712.test.ts index 89db5fa98..00276503d 100644 --- a/packages/protocol-kit/tests/unit/eip-712.test.ts +++ b/packages/protocol-kit/tests/unit/eip-712.test.ts @@ -1,4 +1,4 @@ -import { SafeTransactionData, OperationType } from '@safe-global/safe-core-sdk-types' +import { SafeTransactionData, OperationType, EIP712TypedData } from '@safe-global/types-kit' import chai from 'chai' import { EIP712_DOMAIN, @@ -6,7 +6,6 @@ import { generateTypedData, getEip712TxTypes } from '@safe-global/protocol-kit/utils' -import { EIP712TypedData } from '@safe-global/safe-core-sdk-types' const safeAddress = '0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1' const safeTransactionData: SafeTransactionData = { diff --git a/packages/relay-kit/package.json b/packages/relay-kit/package.json index bcc6e547f..27204da3b 100644 --- a/packages/relay-kit/package.json +++ b/packages/relay-kit/package.json @@ -1,6 +1,6 @@ { "name": "@safe-global/relay-kit", - "version": "3.1.0", + "version": "3.1.1", "description": "SDK for Safe Smart Accounts with support for ERC-4337 and Relay", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -39,9 +39,9 @@ }, "dependencies": { "@gelatonetwork/relay-sdk": "^5.5.0", - "@safe-global/protocol-kit": "^4.1.0", - "@safe-global/safe-core-sdk-types": "^5.1.0", + "@safe-global/protocol-kit": "^4.1.1", + "@safe-global/types-kit": "^1.0.0", "@safe-global/safe-modules-deployments": "^2.2.1", - "viem": "^2.19.0" + "viem": "^2.21.8" } } diff --git a/packages/relay-kit/src/deprecated.ts b/packages/relay-kit/src/deprecated.ts index 6153fe043..33856ffbd 100644 --- a/packages/relay-kit/src/deprecated.ts +++ b/packages/relay-kit/src/deprecated.ts @@ -1,14 +1,14 @@ export type { /** - * @deprecated Please import { EstimateGasData } from @safe-global/safe-core-sdk-types + * @deprecated Please import { EstimateGasData } from @safe-global/types-kit */ EstimateGasData, /** - * @deprecated Please import { SafeUserOperation } from @safe-global/safe-core-sdk-types + * @deprecated Please import { SafeUserOperation } from @safe-global/types-kit */ SafeUserOperation, /** - * @deprecated Please import { UserOperation } from @safe-global/safe-core-sdk-types + * @deprecated Please import { UserOperation } from @safe-global/types-kit */ UserOperation -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' diff --git a/packages/relay-kit/src/index.ts b/packages/relay-kit/src/index.ts index 9a8b21952..7c8aad52d 100644 --- a/packages/relay-kit/src/index.ts +++ b/packages/relay-kit/src/index.ts @@ -11,7 +11,7 @@ export * from './packs/safe-4337/types' export * from './RelayKitBasePack' -declare module 'viem/node_modules/abitype' { +declare module 'abitype' { export interface Register { AddressType: string } diff --git a/packages/relay-kit/src/packs/gelato/GelatoRelayPack.test.ts b/packages/relay-kit/src/packs/gelato/GelatoRelayPack.test.ts index 123adc606..a80ead787 100644 --- a/packages/relay-kit/src/packs/gelato/GelatoRelayPack.test.ts +++ b/packages/relay-kit/src/packs/gelato/GelatoRelayPack.test.ts @@ -6,8 +6,7 @@ import Safe, { estimateSafeDeploymentGas, createERC20TokenTransferTransaction } from '@safe-global/protocol-kit' -import { MetaTransactionData, OperationType } from '@safe-global/safe-core-sdk-types' -import { SafeTransaction } from '@safe-global/safe-core-sdk-types' +import { MetaTransactionData, OperationType, SafeTransaction } from '@safe-global/types-kit' import { GELATO_FEE_COLLECTOR, diff --git a/packages/relay-kit/src/packs/gelato/GelatoRelayPack.ts b/packages/relay-kit/src/packs/gelato/GelatoRelayPack.ts index a5b032e69..686bfc213 100644 --- a/packages/relay-kit/src/packs/gelato/GelatoRelayPack.ts +++ b/packages/relay-kit/src/packs/gelato/GelatoRelayPack.ts @@ -26,7 +26,7 @@ import { RelayTransaction, SafeTransaction, Transaction -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import { GelatoCreateTransactionProps, diff --git a/packages/relay-kit/src/packs/gelato/types.ts b/packages/relay-kit/src/packs/gelato/types.ts index f0215c0e3..617cc71e6 100644 --- a/packages/relay-kit/src/packs/gelato/types.ts +++ b/packages/relay-kit/src/packs/gelato/types.ts @@ -3,7 +3,7 @@ import { MetaTransactionData, MetaTransactionOptions, SafeTransaction -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' export type GelatoOptions = { apiKey?: string diff --git a/packages/relay-kit/src/packs/safe-4337/Safe4337Pack.test.ts b/packages/relay-kit/src/packs/safe-4337/Safe4337Pack.test.ts index a41d7a70b..117d32fe8 100644 --- a/packages/relay-kit/src/packs/safe-4337/Safe4337Pack.test.ts +++ b/packages/relay-kit/src/packs/safe-4337/Safe4337Pack.test.ts @@ -8,7 +8,7 @@ import { getAddModulesLibDeployment, getSafe4337ModuleDeployment } from '@safe-global/safe-modules-deployments' -import { MetaTransactionData, OperationType } from '@safe-global/safe-core-sdk-types' +import { MetaTransactionData, OperationType } from '@safe-global/types-kit' import { Safe4337Pack } from './Safe4337Pack' import EthSafeOperation from './SafeOperation' import * as constants from './constants' diff --git a/packages/relay-kit/src/packs/safe-4337/Safe4337Pack.ts b/packages/relay-kit/src/packs/safe-4337/Safe4337Pack.ts index 346165352..1d09c2613 100644 --- a/packages/relay-kit/src/packs/safe-4337/Safe4337Pack.ts +++ b/packages/relay-kit/src/packs/safe-4337/Safe4337Pack.ts @@ -16,7 +16,7 @@ import { SafeOperationResponse, SafeSignature, UserOperation -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import { getAddModulesLibDeployment, getSafe4337ModuleDeployment, @@ -146,7 +146,7 @@ export class Safe4337Pack extends RelayKitBasePack<{ version: safeModulesVersion, network }) - addModulesLibAddress = addModulesDeployment?.networkAddresses[network] as string | undefined + addModulesLibAddress = addModulesDeployment?.networkAddresses[network] } let safe4337ModuleAddress = customContracts?.safe4337ModuleAddress @@ -175,7 +175,7 @@ export class Safe4337Pack extends RelayKitBasePack<{ safeAddress: options.safeAddress }) - const safeVersion = await protocolKit.getContractVersion() + const safeVersion = protocolKit.getContractVersion() const isSafeVersion4337Compatible = semverSatisfies(safeVersion, EQ_OR_GT_1_4_1) if (!isSafeVersion4337Compatible) { diff --git a/packages/relay-kit/src/packs/safe-4337/SafeOperation.ts b/packages/relay-kit/src/packs/safe-4337/SafeOperation.ts index aba890116..3bf833787 100644 --- a/packages/relay-kit/src/packs/safe-4337/SafeOperation.ts +++ b/packages/relay-kit/src/packs/safe-4337/SafeOperation.ts @@ -5,7 +5,7 @@ import { SafeSignature, SafeUserOperation, UserOperation -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import { buildSignatureBytes } from '@safe-global/protocol-kit' import { calculateSafeUserOperationHash } from './utils' diff --git a/packages/relay-kit/src/packs/safe-4337/estimators/PimlicoFeeEstimator.ts b/packages/relay-kit/src/packs/safe-4337/estimators/PimlicoFeeEstimator.ts index 24474aa1b..697fc552f 100644 --- a/packages/relay-kit/src/packs/safe-4337/estimators/PimlicoFeeEstimator.ts +++ b/packages/relay-kit/src/packs/safe-4337/estimators/PimlicoFeeEstimator.ts @@ -1,4 +1,4 @@ -import { EstimateGasData } from '@safe-global/safe-core-sdk-types' +import { EstimateGasData } from '@safe-global/types-kit' import { BundlerClient, EstimateFeeFunctionProps, diff --git a/packages/relay-kit/src/packs/safe-4337/types.ts b/packages/relay-kit/src/packs/safe-4337/types.ts index 2303864a9..5ddafabcc 100644 --- a/packages/relay-kit/src/packs/safe-4337/types.ts +++ b/packages/relay-kit/src/packs/safe-4337/types.ts @@ -6,7 +6,7 @@ import { SafeOperationResponse, SafeVersion, UserOperation -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import EthSafeOperation from './SafeOperation' import { RPC_4337_CALLS } from './constants' diff --git a/packages/relay-kit/src/packs/safe-4337/utils.ts b/packages/relay-kit/src/packs/safe-4337/utils.ts index f5a4fd1a3..7fcf3d076 100644 --- a/packages/relay-kit/src/packs/safe-4337/utils.ts +++ b/packages/relay-kit/src/packs/safe-4337/utils.ts @@ -14,7 +14,7 @@ import { MetaTransactionData, SafeSignature, UserOperation -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import { EthSafeSignature, SafeProvider, diff --git a/packages/sdk-starter-kit/package.json b/packages/sdk-starter-kit/package.json index d9051cf63..a5b7e13a2 100644 --- a/packages/sdk-starter-kit/package.json +++ b/packages/sdk-starter-kit/package.json @@ -36,10 +36,10 @@ "access": "public" }, "dependencies": { - "@safe-global/api-kit": "^2.4.5", - "@safe-global/protocol-kit": "^4.1.0", - "@safe-global/relay-kit": "^3.1.0", - "@safe-global/safe-core-sdk-types": "^5.1.0", - "viem": "^2.19.0" + "@safe-global/api-kit": "^2.4.6", + "@safe-global/protocol-kit": "^4.1.1", + "@safe-global/relay-kit": "^3.1.1", + "@safe-global/types-kit": "^1.0.0", + "viem": "^2.21.8" } } diff --git a/packages/sdk-starter-kit/src/BaseClient.ts b/packages/sdk-starter-kit/src/BaseClient.ts index 417b45c94..cd1b4454b 100644 --- a/packages/sdk-starter-kit/src/BaseClient.ts +++ b/packages/sdk-starter-kit/src/BaseClient.ts @@ -4,7 +4,7 @@ import Safe, { SwapOwnerTxParams } from '@safe-global/protocol-kit' import SafeApiKit from '@safe-global/api-kit' -import { SafeTransaction, TransactionBase } from '@safe-global/safe-core-sdk-types' +import { SafeTransaction, TransactionBase } from '@safe-global/types-kit' import { ChangeThresholdTxParams } from './types' diff --git a/packages/sdk-starter-kit/src/SafeClient.ts b/packages/sdk-starter-kit/src/SafeClient.ts index 13a99c192..8ce983495 100644 --- a/packages/sdk-starter-kit/src/SafeClient.ts +++ b/packages/sdk-starter-kit/src/SafeClient.ts @@ -1,10 +1,6 @@ import Safe from '@safe-global/protocol-kit' import SafeApiKit, { SafeMultisigTransactionListResponse } from '@safe-global/api-kit' -import { - SafeTransaction, - TransactionOptions, - TransactionResult -} from '@safe-global/safe-core-sdk-types' +import { SafeTransaction, TransactionOptions, TransactionResult } from '@safe-global/types-kit' import { createSafeClientResult, @@ -144,18 +140,16 @@ export class SafeClient extends BaseClient { * @param extendFunc * @returns */ - extend(extendFunc: (client: SafeClient) => Promise): Promise - extend(extendFunc: (client: SafeClient) => T): SafeClient & T + extend(extendFunc: (client: this) => Promise): Promise + extend(extendFunc: (client: this) => T): this & T - extend( - extendFunc: (client: SafeClient) => T | Promise - ): (SafeClient & T) | Promise { + extend(extendFunc: (client: this) => T | Promise): (this & T) | Promise { const result = extendFunc(this) if (result instanceof Promise) { - return result.then((extensions) => Object.assign(this, extensions) as SafeClient & T) + return result.then((extensions) => Object.assign(this, extensions) as this & T) } else { - return Object.assign(this, result) as SafeClient & T + return Object.assign(this, result) as this & T } } diff --git a/packages/sdk-starter-kit/src/extensions/messages/SafeMessageClient.test.ts b/packages/sdk-starter-kit/src/extensions/messages/SafeMessageClient.test.ts index 302caf9df..cd405f55d 100644 --- a/packages/sdk-starter-kit/src/extensions/messages/SafeMessageClient.test.ts +++ b/packages/sdk-starter-kit/src/extensions/messages/SafeMessageClient.test.ts @@ -42,7 +42,7 @@ describe('SafeClient', () => { protocolKit.signMessage = jest.fn().mockResolvedValue(SAFE_MESSAGE) protocolKit.getAddress = jest.fn().mockResolvedValue(SAFE_ADDRESS) protocolKit.connect = jest.fn().mockResolvedValue(protocolKit) - protocolKit.getContractVersion = jest.fn().mockResolvedValue('1.1.1') + protocolKit.getContractVersion = jest.fn().mockReturnValue('1.1.1') protocolKit.getChainId = jest.fn().mockResolvedValue(1n) protocolKit.getSafeMessageHash = jest.fn().mockResolvedValue('0xSafeMessageHash') protocolKit.getSafeProvider = jest.fn().mockResolvedValue(SAFE_PROVIDER) diff --git a/packages/sdk-starter-kit/src/extensions/messages/SafeMessageClient.ts b/packages/sdk-starter-kit/src/extensions/messages/SafeMessageClient.ts index 5b1640c18..d340393b9 100644 --- a/packages/sdk-starter-kit/src/extensions/messages/SafeMessageClient.ts +++ b/packages/sdk-starter-kit/src/extensions/messages/SafeMessageClient.ts @@ -4,7 +4,7 @@ import SafeApiKit, { ListOptions, SafeMessageListResponse } from '@safe-global/api-kit' -import { SafeMessage } from '@safe-global/safe-core-sdk-types' +import { SafeMessage } from '@safe-global/types-kit' import { createSafeClientResult, sendTransaction } from '@safe-global/sdk-starter-kit/utils' import { SafeClientTxStatus } from '@safe-global/sdk-starter-kit/constants' import { diff --git a/packages/sdk-starter-kit/src/extensions/messages/onChainMessages.ts b/packages/sdk-starter-kit/src/extensions/messages/onChainMessages.ts index 82a517138..7483f14b4 100644 --- a/packages/sdk-starter-kit/src/extensions/messages/onChainMessages.ts +++ b/packages/sdk-starter-kit/src/extensions/messages/onChainMessages.ts @@ -1,5 +1,5 @@ -import { hashSafeMessage } from '@safe-global/protocol-kit' -import { OperationType } from '@safe-global/safe-core-sdk-types' +import { getSignMessageLibContract, hashSafeMessage } from '@safe-global/protocol-kit' +import { OperationType } from '@safe-global/types-kit' import { SafeClient } from '@safe-global/sdk-starter-kit/SafeClient' import { SafeClientResult, SendOnChainMessageProps } from '@safe-global/sdk-starter-kit/types' @@ -33,11 +33,10 @@ export function onChainMessages() { async sendOnChainMessage(props: SendOnChainMessageProps): Promise { const { message, ...transactionOptions } = props - const signMessageLibContract = await client.protocolKit - .getSafeProvider() - .getSignMessageLibContract({ - safeVersion: await client.protocolKit.getContractVersion() - }) + const signMessageLibContract = await getSignMessageLibContract({ + safeProvider: client.protocolKit.getSafeProvider(), + safeVersion: client.protocolKit.getContractVersion() + }) const transaction = { to: signMessageLibContract.getAddress(), diff --git a/packages/sdk-starter-kit/src/index.test.ts b/packages/sdk-starter-kit/src/index.test.ts new file mode 100644 index 000000000..45b82d586 --- /dev/null +++ b/packages/sdk-starter-kit/src/index.test.ts @@ -0,0 +1,40 @@ +import { createSafeClient, offChainMessages, onChainMessages } from './index' + +const RPC_URL = 'https://ethereum-sepolia-rpc.publicnode.com' +const SAFE_ADDRESS = '0x60C4Ab82D06Fd7dFE9517e17736C2Dcc77443EF0' +const SAFE_OWNERS = [ + '0x9cCBDE03eDd71074ea9c49e413FA9CDfF16D263B', + '0x56e2C102c664De6DfD7315d12c0178b61D16F171' +] + +describe('createSafeClient', () => { + it('should create a Safe client instance', async () => { + const safeClient = await createSafeClient({ + provider: RPC_URL, + safeAddress: SAFE_ADDRESS + }) + + const safeAddress = await safeClient.getAddress() + const owners = await safeClient.getOwners() + const threshold = await safeClient.getThreshold() + + expect(safeAddress).toBe('0x60C4Ab82D06Fd7dFE9517e17736C2Dcc77443EF0') + expect(owners).toStrictEqual(SAFE_OWNERS) + expect(threshold).toBe(1) + }) + + it('should allow to extend the client several times and accumulating methods', async () => { + const safeClient1 = await createSafeClient({ + provider: RPC_URL, + safeAddress: SAFE_ADDRESS + }) + + const safeClient2 = safeClient1.extend(offChainMessages()) + const safeClient3 = safeClient2.extend(onChainMessages()) + + expect(safeClient3).toBeDefined() + expect(safeClient3.send).toBeDefined() + expect(safeClient3.sendOnChainMessage).toBeDefined() + expect(safeClient3.sendOffChainMessage).toBeDefined() + }) +}) diff --git a/packages/sdk-starter-kit/src/types.ts b/packages/sdk-starter-kit/src/types.ts index 5021ed852..2fc62862f 100644 --- a/packages/sdk-starter-kit/src/types.ts +++ b/packages/sdk-starter-kit/src/types.ts @@ -4,7 +4,7 @@ import { TransactionOptions, EIP712TypedData, MetaTransactionData -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' import { IFeeEstimator } from '@safe-global/relay-kit' import { SafeClientTxStatus } from '@safe-global/sdk-starter-kit/constants' @@ -58,7 +58,7 @@ export type PredictedSafeConfig = { export type SdkStarterKitRootConfig = { provider: SafeProvider['provider'] - signer: SafeProvider['signer'] + signer?: SafeProvider['signer'] } export type SdkStarterKitConfig = SdkStarterKitRootConfig & diff --git a/packages/sdk-starter-kit/src/utils/index.ts b/packages/sdk-starter-kit/src/utils/index.ts index b07466384..7548e4a65 100644 --- a/packages/sdk-starter-kit/src/utils/index.ts +++ b/packages/sdk-starter-kit/src/utils/index.ts @@ -1,5 +1,5 @@ import { validateEthereumAddress } from '@safe-global/protocol-kit' -import { TransactionResult } from '@safe-global/safe-core-sdk-types' +import { TransactionResult } from '@safe-global/types-kit' import { GetTransactionReceiptReturnType } from 'viem' import { MESSAGES, SafeClientTxStatus } from '@safe-global/sdk-starter-kit/constants' diff --git a/packages/sdk-starter-kit/src/utils/proposeTransaction.ts b/packages/sdk-starter-kit/src/utils/proposeTransaction.ts index 8d58abb12..4acff9e70 100644 --- a/packages/sdk-starter-kit/src/utils/proposeTransaction.ts +++ b/packages/sdk-starter-kit/src/utils/proposeTransaction.ts @@ -1,6 +1,6 @@ import Safe, { EthSafeSignature, buildSignatureBytes } from '@safe-global/protocol-kit' import SafeApiKit from '@safe-global/api-kit' -import { SafeTransaction } from '@safe-global/safe-core-sdk-types' +import { SafeTransaction } from '@safe-global/types-kit' /** * Propose a transaction to the Safe diff --git a/packages/sdk-starter-kit/src/utils/sendTransaction.ts b/packages/sdk-starter-kit/src/utils/sendTransaction.ts index f4992c2ec..d88b640f8 100644 --- a/packages/sdk-starter-kit/src/utils/sendTransaction.ts +++ b/packages/sdk-starter-kit/src/utils/sendTransaction.ts @@ -1,7 +1,7 @@ import { WalletClient, Transport, Chain, Hex, Account } from 'viem' import { waitForTransactionReceipt } from 'viem/actions' import Safe from '@safe-global/protocol-kit' -import { Transaction } from '@safe-global/safe-core-sdk-types' +import { Transaction } from '@safe-global/types-kit' /** * Sends a transaction using the signer (owner) diff --git a/packages/testing-kit/bin/testing-kit.js b/packages/testing-kit/bin/testing-kit.js new file mode 100755 index 000000000..bbc371e4c --- /dev/null +++ b/packages/testing-kit/bin/testing-kit.js @@ -0,0 +1,48 @@ +#!/usr/bin/env node +/* eslint-disable @typescript-eslint/no-var-requires */ + +const { execSync } = require('child_process') +const path = require('path') +const fs = require('fs') + +// Resolve the root directory of the package +const packageRoot = path.resolve(__dirname, '../') +const projectRoot = process.cwd() + +// Capture the command and arguments +const args = process.argv.slice(2) +const command = args[0] +const directory = args[1] + +if (!command) { + console.error('No command specified') + process.exit(1) +} + +const validCommands = ['compile', 'deploy', 'test'] + +if (!validCommands.includes(command)) { + console.error(`Invalid command: ${command}`) + process.exit(1) +} + +// Ensure the script always runs from the package root directory +process.chdir(packageRoot) + +const hardhatConfigPath = path.join(packageRoot, 'hardhat.config.ts') + +if (!fs.existsSync(hardhatConfigPath)) { + console.error('No Hardhat configuration file found in the target project') + process.exit(1) +} + +try { + if (command === 'test' && directory) { + execSync(`yarn ${command} ${path.join(projectRoot, directory)}`, { stdio: 'inherit' }) + } else { + execSync(`yarn ${command}`, { stdio: 'inherit' }) + } +} catch (error) { + console.error(`Failed to execute Hardhat command: ${error.message}`) + process.exit(1) +} diff --git a/packages/protocol-kit/contracts/Deps_V1_0_0.sol b/packages/testing-kit/contracts/Deps_V1_0_0.sol similarity index 100% rename from packages/protocol-kit/contracts/Deps_V1_0_0.sol rename to packages/testing-kit/contracts/Deps_V1_0_0.sol diff --git a/packages/protocol-kit/contracts/Deps_V1_1_1.sol b/packages/testing-kit/contracts/Deps_V1_1_1.sol similarity index 100% rename from packages/protocol-kit/contracts/Deps_V1_1_1.sol rename to packages/testing-kit/contracts/Deps_V1_1_1.sol diff --git a/packages/protocol-kit/contracts/Deps_V1_2_0.sol b/packages/testing-kit/contracts/Deps_V1_2_0.sol similarity index 100% rename from packages/protocol-kit/contracts/Deps_V1_2_0.sol rename to packages/testing-kit/contracts/Deps_V1_2_0.sol diff --git a/packages/protocol-kit/contracts/Deps_V1_3_0.sol b/packages/testing-kit/contracts/Deps_V1_3_0.sol similarity index 100% rename from packages/protocol-kit/contracts/Deps_V1_3_0.sol rename to packages/testing-kit/contracts/Deps_V1_3_0.sol diff --git a/packages/protocol-kit/contracts/Deps_V1_4_1.sol b/packages/testing-kit/contracts/Deps_V1_4_1.sol similarity index 100% rename from packages/protocol-kit/contracts/Deps_V1_4_1.sol rename to packages/testing-kit/contracts/Deps_V1_4_1.sol diff --git a/packages/protocol-kit/contracts/Deps_passkeys.sol b/packages/testing-kit/contracts/Deps_passkeys.sol similarity index 100% rename from packages/protocol-kit/contracts/Deps_passkeys.sol rename to packages/testing-kit/contracts/Deps_passkeys.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/GnosisSafe.sol b/packages/testing-kit/contracts/safe_V1_0_0/GnosisSafe.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/GnosisSafe.sol rename to packages/testing-kit/contracts/safe_V1_0_0/GnosisSafe.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/Migrations.sol b/packages/testing-kit/contracts/safe_V1_0_0/Migrations.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/Migrations.sol rename to packages/testing-kit/contracts/safe_V1_0_0/Migrations.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/base/BaseSafe.sol b/packages/testing-kit/contracts/safe_V1_0_0/base/BaseSafe.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/base/BaseSafe.sol rename to packages/testing-kit/contracts/safe_V1_0_0/base/BaseSafe.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/base/Executor.sol b/packages/testing-kit/contracts/safe_V1_0_0/base/Executor.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/base/Executor.sol rename to packages/testing-kit/contracts/safe_V1_0_0/base/Executor.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/base/Module.sol b/packages/testing-kit/contracts/safe_V1_0_0/base/Module.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/base/Module.sol rename to packages/testing-kit/contracts/safe_V1_0_0/base/Module.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/base/ModuleManager.sol b/packages/testing-kit/contracts/safe_V1_0_0/base/ModuleManager.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/base/ModuleManager.sol rename to packages/testing-kit/contracts/safe_V1_0_0/base/ModuleManager.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/base/OwnerManager.sol b/packages/testing-kit/contracts/safe_V1_0_0/base/OwnerManager.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/base/OwnerManager.sol rename to packages/testing-kit/contracts/safe_V1_0_0/base/OwnerManager.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/common/Enum.sol b/packages/testing-kit/contracts/safe_V1_0_0/common/Enum.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/common/Enum.sol rename to packages/testing-kit/contracts/safe_V1_0_0/common/Enum.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/common/EtherPaymentFallback.sol b/packages/testing-kit/contracts/safe_V1_0_0/common/EtherPaymentFallback.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/common/EtherPaymentFallback.sol rename to packages/testing-kit/contracts/safe_V1_0_0/common/EtherPaymentFallback.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/common/MasterCopy.sol b/packages/testing-kit/contracts/safe_V1_0_0/common/MasterCopy.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/common/MasterCopy.sol rename to packages/testing-kit/contracts/safe_V1_0_0/common/MasterCopy.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/common/SecuredTokenTransfer.sol b/packages/testing-kit/contracts/safe_V1_0_0/common/SecuredTokenTransfer.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/common/SecuredTokenTransfer.sol rename to packages/testing-kit/contracts/safe_V1_0_0/common/SecuredTokenTransfer.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/common/SelfAuthorized.sol b/packages/testing-kit/contracts/safe_V1_0_0/common/SelfAuthorized.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/common/SelfAuthorized.sol rename to packages/testing-kit/contracts/safe_V1_0_0/common/SelfAuthorized.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/common/SignatureDecoder.sol b/packages/testing-kit/contracts/safe_V1_0_0/common/SignatureDecoder.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/common/SignatureDecoder.sol rename to packages/testing-kit/contracts/safe_V1_0_0/common/SignatureDecoder.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/external/SafeMath.sol b/packages/testing-kit/contracts/safe_V1_0_0/external/SafeMath.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/external/SafeMath.sol rename to packages/testing-kit/contracts/safe_V1_0_0/external/SafeMath.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/interfaces/ISignatureValidator.sol b/packages/testing-kit/contracts/safe_V1_0_0/interfaces/ISignatureValidator.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/interfaces/ISignatureValidator.sol rename to packages/testing-kit/contracts/safe_V1_0_0/interfaces/ISignatureValidator.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/libraries/CreateAndAddModules.sol b/packages/testing-kit/contracts/safe_V1_0_0/libraries/CreateAndAddModules.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/libraries/CreateAndAddModules.sol rename to packages/testing-kit/contracts/safe_V1_0_0/libraries/CreateAndAddModules.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/libraries/MultiSend.sol b/packages/testing-kit/contracts/safe_V1_0_0/libraries/MultiSend.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/libraries/MultiSend.sol rename to packages/testing-kit/contracts/safe_V1_0_0/libraries/MultiSend.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/proxies/DelegateConstructorProxy.sol b/packages/testing-kit/contracts/safe_V1_0_0/proxies/DelegateConstructorProxy.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/proxies/DelegateConstructorProxy.sol rename to packages/testing-kit/contracts/safe_V1_0_0/proxies/DelegateConstructorProxy.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/proxies/PayingProxy.sol b/packages/testing-kit/contracts/safe_V1_0_0/proxies/PayingProxy.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/proxies/PayingProxy.sol rename to packages/testing-kit/contracts/safe_V1_0_0/proxies/PayingProxy.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/proxies/Proxy.sol b/packages/testing-kit/contracts/safe_V1_0_0/proxies/Proxy.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/proxies/Proxy.sol rename to packages/testing-kit/contracts/safe_V1_0_0/proxies/Proxy.sol diff --git a/packages/protocol-kit/contracts/safe_V1_0_0/proxies/ProxyFactory.sol b/packages/testing-kit/contracts/safe_V1_0_0/proxies/ProxyFactory.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_0_0/proxies/ProxyFactory.sol rename to packages/testing-kit/contracts/safe_V1_0_0/proxies/ProxyFactory.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/GnosisSafe.sol b/packages/testing-kit/contracts/safe_V1_1_1/GnosisSafe.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/GnosisSafe.sol rename to packages/testing-kit/contracts/safe_V1_1_1/GnosisSafe.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/Migrations.sol b/packages/testing-kit/contracts/safe_V1_1_1/Migrations.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/Migrations.sol rename to packages/testing-kit/contracts/safe_V1_1_1/Migrations.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/base/Executor.sol b/packages/testing-kit/contracts/safe_V1_1_1/base/Executor.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/base/Executor.sol rename to packages/testing-kit/contracts/safe_V1_1_1/base/Executor.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/base/FallbackManager.sol b/packages/testing-kit/contracts/safe_V1_1_1/base/FallbackManager.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/base/FallbackManager.sol rename to packages/testing-kit/contracts/safe_V1_1_1/base/FallbackManager.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/base/Module.sol b/packages/testing-kit/contracts/safe_V1_1_1/base/Module.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/base/Module.sol rename to packages/testing-kit/contracts/safe_V1_1_1/base/Module.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/base/ModuleManager.sol b/packages/testing-kit/contracts/safe_V1_1_1/base/ModuleManager.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/base/ModuleManager.sol rename to packages/testing-kit/contracts/safe_V1_1_1/base/ModuleManager.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/base/OwnerManager.sol b/packages/testing-kit/contracts/safe_V1_1_1/base/OwnerManager.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/base/OwnerManager.sol rename to packages/testing-kit/contracts/safe_V1_1_1/base/OwnerManager.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/common/Enum.sol b/packages/testing-kit/contracts/safe_V1_1_1/common/Enum.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/common/Enum.sol rename to packages/testing-kit/contracts/safe_V1_1_1/common/Enum.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/common/EtherPaymentFallback.sol b/packages/testing-kit/contracts/safe_V1_1_1/common/EtherPaymentFallback.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/common/EtherPaymentFallback.sol rename to packages/testing-kit/contracts/safe_V1_1_1/common/EtherPaymentFallback.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/common/MasterCopy.sol b/packages/testing-kit/contracts/safe_V1_1_1/common/MasterCopy.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/common/MasterCopy.sol rename to packages/testing-kit/contracts/safe_V1_1_1/common/MasterCopy.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/common/SecuredTokenTransfer.sol b/packages/testing-kit/contracts/safe_V1_1_1/common/SecuredTokenTransfer.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/common/SecuredTokenTransfer.sol rename to packages/testing-kit/contracts/safe_V1_1_1/common/SecuredTokenTransfer.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/common/SelfAuthorized.sol b/packages/testing-kit/contracts/safe_V1_1_1/common/SelfAuthorized.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/common/SelfAuthorized.sol rename to packages/testing-kit/contracts/safe_V1_1_1/common/SelfAuthorized.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/common/SignatureDecoder.sol b/packages/testing-kit/contracts/safe_V1_1_1/common/SignatureDecoder.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/common/SignatureDecoder.sol rename to packages/testing-kit/contracts/safe_V1_1_1/common/SignatureDecoder.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/external/SafeMath.sol b/packages/testing-kit/contracts/safe_V1_1_1/external/SafeMath.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/external/SafeMath.sol rename to packages/testing-kit/contracts/safe_V1_1_1/external/SafeMath.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/handler/DefaultCallbackHandler.sol b/packages/testing-kit/contracts/safe_V1_1_1/handler/DefaultCallbackHandler.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/handler/DefaultCallbackHandler.sol rename to packages/testing-kit/contracts/safe_V1_1_1/handler/DefaultCallbackHandler.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/interfaces/ERC1155TokenReceiver.sol b/packages/testing-kit/contracts/safe_V1_1_1/interfaces/ERC1155TokenReceiver.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/interfaces/ERC1155TokenReceiver.sol rename to packages/testing-kit/contracts/safe_V1_1_1/interfaces/ERC1155TokenReceiver.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/interfaces/ERC721TokenReceiver.sol b/packages/testing-kit/contracts/safe_V1_1_1/interfaces/ERC721TokenReceiver.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/interfaces/ERC721TokenReceiver.sol rename to packages/testing-kit/contracts/safe_V1_1_1/interfaces/ERC721TokenReceiver.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/interfaces/ERC777TokensRecipient.sol b/packages/testing-kit/contracts/safe_V1_1_1/interfaces/ERC777TokensRecipient.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/interfaces/ERC777TokensRecipient.sol rename to packages/testing-kit/contracts/safe_V1_1_1/interfaces/ERC777TokensRecipient.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/interfaces/ISignatureValidator.sol b/packages/testing-kit/contracts/safe_V1_1_1/interfaces/ISignatureValidator.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/interfaces/ISignatureValidator.sol rename to packages/testing-kit/contracts/safe_V1_1_1/interfaces/ISignatureValidator.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/libraries/CreateAndAddModules.sol b/packages/testing-kit/contracts/safe_V1_1_1/libraries/CreateAndAddModules.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/libraries/CreateAndAddModules.sol rename to packages/testing-kit/contracts/safe_V1_1_1/libraries/CreateAndAddModules.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/libraries/CreateCall.sol b/packages/testing-kit/contracts/safe_V1_1_1/libraries/CreateCall.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/libraries/CreateCall.sol rename to packages/testing-kit/contracts/safe_V1_1_1/libraries/CreateCall.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/libraries/MultiSend.sol b/packages/testing-kit/contracts/safe_V1_1_1/libraries/MultiSend.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/libraries/MultiSend.sol rename to packages/testing-kit/contracts/safe_V1_1_1/libraries/MultiSend.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/proxies/DelegateConstructorProxy.sol b/packages/testing-kit/contracts/safe_V1_1_1/proxies/DelegateConstructorProxy.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/proxies/DelegateConstructorProxy.sol rename to packages/testing-kit/contracts/safe_V1_1_1/proxies/DelegateConstructorProxy.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/proxies/IProxyCreationCallback.sol b/packages/testing-kit/contracts/safe_V1_1_1/proxies/IProxyCreationCallback.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/proxies/IProxyCreationCallback.sol rename to packages/testing-kit/contracts/safe_V1_1_1/proxies/IProxyCreationCallback.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/proxies/PayingProxy.sol b/packages/testing-kit/contracts/safe_V1_1_1/proxies/PayingProxy.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/proxies/PayingProxy.sol rename to packages/testing-kit/contracts/safe_V1_1_1/proxies/PayingProxy.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/proxies/Proxy.sol b/packages/testing-kit/contracts/safe_V1_1_1/proxies/Proxy.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/proxies/Proxy.sol rename to packages/testing-kit/contracts/safe_V1_1_1/proxies/Proxy.sol diff --git a/packages/protocol-kit/contracts/safe_V1_1_1/proxies/ProxyFactory.sol b/packages/testing-kit/contracts/safe_V1_1_1/proxies/ProxyFactory.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_1_1/proxies/ProxyFactory.sol rename to packages/testing-kit/contracts/safe_V1_1_1/proxies/ProxyFactory.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/GnosisSafe.sol b/packages/testing-kit/contracts/safe_V1_2_0/GnosisSafe.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/GnosisSafe.sol rename to packages/testing-kit/contracts/safe_V1_2_0/GnosisSafe.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/Migrations.sol b/packages/testing-kit/contracts/safe_V1_2_0/Migrations.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/Migrations.sol rename to packages/testing-kit/contracts/safe_V1_2_0/Migrations.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/base/Executor.sol b/packages/testing-kit/contracts/safe_V1_2_0/base/Executor.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/base/Executor.sol rename to packages/testing-kit/contracts/safe_V1_2_0/base/Executor.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/base/FallbackManager.sol b/packages/testing-kit/contracts/safe_V1_2_0/base/FallbackManager.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/base/FallbackManager.sol rename to packages/testing-kit/contracts/safe_V1_2_0/base/FallbackManager.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/base/Module.sol b/packages/testing-kit/contracts/safe_V1_2_0/base/Module.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/base/Module.sol rename to packages/testing-kit/contracts/safe_V1_2_0/base/Module.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/base/ModuleManager.sol b/packages/testing-kit/contracts/safe_V1_2_0/base/ModuleManager.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/base/ModuleManager.sol rename to packages/testing-kit/contracts/safe_V1_2_0/base/ModuleManager.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/base/OwnerManager.sol b/packages/testing-kit/contracts/safe_V1_2_0/base/OwnerManager.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/base/OwnerManager.sol rename to packages/testing-kit/contracts/safe_V1_2_0/base/OwnerManager.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/common/Enum.sol b/packages/testing-kit/contracts/safe_V1_2_0/common/Enum.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/common/Enum.sol rename to packages/testing-kit/contracts/safe_V1_2_0/common/Enum.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/common/EtherPaymentFallback.sol b/packages/testing-kit/contracts/safe_V1_2_0/common/EtherPaymentFallback.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/common/EtherPaymentFallback.sol rename to packages/testing-kit/contracts/safe_V1_2_0/common/EtherPaymentFallback.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/common/MasterCopy.sol b/packages/testing-kit/contracts/safe_V1_2_0/common/MasterCopy.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/common/MasterCopy.sol rename to packages/testing-kit/contracts/safe_V1_2_0/common/MasterCopy.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/common/SecuredTokenTransfer.sol b/packages/testing-kit/contracts/safe_V1_2_0/common/SecuredTokenTransfer.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/common/SecuredTokenTransfer.sol rename to packages/testing-kit/contracts/safe_V1_2_0/common/SecuredTokenTransfer.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/common/SelfAuthorized.sol b/packages/testing-kit/contracts/safe_V1_2_0/common/SelfAuthorized.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/common/SelfAuthorized.sol rename to packages/testing-kit/contracts/safe_V1_2_0/common/SelfAuthorized.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/common/SignatureDecoder.sol b/packages/testing-kit/contracts/safe_V1_2_0/common/SignatureDecoder.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/common/SignatureDecoder.sol rename to packages/testing-kit/contracts/safe_V1_2_0/common/SignatureDecoder.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/external/GnosisSafeMath.sol b/packages/testing-kit/contracts/safe_V1_2_0/external/GnosisSafeMath.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/external/GnosisSafeMath.sol rename to packages/testing-kit/contracts/safe_V1_2_0/external/GnosisSafeMath.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/handler/DefaultCallbackHandler.sol b/packages/testing-kit/contracts/safe_V1_2_0/handler/DefaultCallbackHandler.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/handler/DefaultCallbackHandler.sol rename to packages/testing-kit/contracts/safe_V1_2_0/handler/DefaultCallbackHandler.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/interfaces/ERC1155TokenReceiver.sol b/packages/testing-kit/contracts/safe_V1_2_0/interfaces/ERC1155TokenReceiver.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/interfaces/ERC1155TokenReceiver.sol rename to packages/testing-kit/contracts/safe_V1_2_0/interfaces/ERC1155TokenReceiver.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/interfaces/ERC721TokenReceiver.sol b/packages/testing-kit/contracts/safe_V1_2_0/interfaces/ERC721TokenReceiver.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/interfaces/ERC721TokenReceiver.sol rename to packages/testing-kit/contracts/safe_V1_2_0/interfaces/ERC721TokenReceiver.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/interfaces/ERC777TokensRecipient.sol b/packages/testing-kit/contracts/safe_V1_2_0/interfaces/ERC777TokensRecipient.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/interfaces/ERC777TokensRecipient.sol rename to packages/testing-kit/contracts/safe_V1_2_0/interfaces/ERC777TokensRecipient.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/interfaces/ISignatureValidator.sol b/packages/testing-kit/contracts/safe_V1_2_0/interfaces/ISignatureValidator.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/interfaces/ISignatureValidator.sol rename to packages/testing-kit/contracts/safe_V1_2_0/interfaces/ISignatureValidator.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/libraries/CreateAndAddModules.sol b/packages/testing-kit/contracts/safe_V1_2_0/libraries/CreateAndAddModules.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/libraries/CreateAndAddModules.sol rename to packages/testing-kit/contracts/safe_V1_2_0/libraries/CreateAndAddModules.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/libraries/CreateCall.sol b/packages/testing-kit/contracts/safe_V1_2_0/libraries/CreateCall.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/libraries/CreateCall.sol rename to packages/testing-kit/contracts/safe_V1_2_0/libraries/CreateCall.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/libraries/MultiSend.sol b/packages/testing-kit/contracts/safe_V1_2_0/libraries/MultiSend.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/libraries/MultiSend.sol rename to packages/testing-kit/contracts/safe_V1_2_0/libraries/MultiSend.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/modules/DailyLimitModule.sol b/packages/testing-kit/contracts/safe_V1_2_0/modules/DailyLimitModule.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/modules/DailyLimitModule.sol rename to packages/testing-kit/contracts/safe_V1_2_0/modules/DailyLimitModule.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/modules/SocialRecoveryModule.sol b/packages/testing-kit/contracts/safe_V1_2_0/modules/SocialRecoveryModule.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/modules/SocialRecoveryModule.sol rename to packages/testing-kit/contracts/safe_V1_2_0/modules/SocialRecoveryModule.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/modules/StateChannelModule.sol b/packages/testing-kit/contracts/safe_V1_2_0/modules/StateChannelModule.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/modules/StateChannelModule.sol rename to packages/testing-kit/contracts/safe_V1_2_0/modules/StateChannelModule.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/modules/WhitelistModule.sol b/packages/testing-kit/contracts/safe_V1_2_0/modules/WhitelistModule.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/modules/WhitelistModule.sol rename to packages/testing-kit/contracts/safe_V1_2_0/modules/WhitelistModule.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/proxies/DelegateConstructorProxy.sol b/packages/testing-kit/contracts/safe_V1_2_0/proxies/DelegateConstructorProxy.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/proxies/DelegateConstructorProxy.sol rename to packages/testing-kit/contracts/safe_V1_2_0/proxies/DelegateConstructorProxy.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/proxies/GnosisSafeProxy.sol b/packages/testing-kit/contracts/safe_V1_2_0/proxies/GnosisSafeProxy.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/proxies/GnosisSafeProxy.sol rename to packages/testing-kit/contracts/safe_V1_2_0/proxies/GnosisSafeProxy.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/proxies/GnosisSafeProxyFactory.sol b/packages/testing-kit/contracts/safe_V1_2_0/proxies/GnosisSafeProxyFactory.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/proxies/GnosisSafeProxyFactory.sol rename to packages/testing-kit/contracts/safe_V1_2_0/proxies/GnosisSafeProxyFactory.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/proxies/IProxyCreationCallback.sol b/packages/testing-kit/contracts/safe_V1_2_0/proxies/IProxyCreationCallback.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/proxies/IProxyCreationCallback.sol rename to packages/testing-kit/contracts/safe_V1_2_0/proxies/IProxyCreationCallback.sol diff --git a/packages/protocol-kit/contracts/safe_V1_2_0/proxies/PayingProxy.sol b/packages/testing-kit/contracts/safe_V1_2_0/proxies/PayingProxy.sol similarity index 100% rename from packages/protocol-kit/contracts/safe_V1_2_0/proxies/PayingProxy.sol rename to packages/testing-kit/contracts/safe_V1_2_0/proxies/PayingProxy.sol diff --git a/packages/protocol-kit/hardhat.config.ts b/packages/testing-kit/hardhat.config.ts similarity index 88% rename from packages/protocol-kit/hardhat.config.ts rename to packages/testing-kit/hardhat.config.ts index 10273de4d..3c3492eee 100644 --- a/packages/protocol-kit/hardhat.config.ts +++ b/packages/testing-kit/hardhat.config.ts @@ -3,15 +3,7 @@ import 'hardhat-deploy' import 'tsconfig-paths/register' import dotenv from 'dotenv' import { HardhatUserConfig, HttpNetworkUserConfig } from 'hardhat/types' -import yargs from 'yargs' - -yargs - .option('network', { - type: 'string', - default: 'hardhat' - }) - .help(false) - .version(false).argv +import path from 'path' dotenv.config() const { MNEMONIC, PK } = process.env @@ -53,10 +45,9 @@ const config: HardhatUserConfig = { } }, paths: { - artifacts: 'artifacts', - deploy: 'hardhat/deploy', - sources: 'contracts', - tests: 'tests/e2e' + artifacts: path.resolve(__dirname, './artifacts'), + deploy: path.resolve(__dirname, './src/hardhat/deploy'), + sources: path.resolve(__dirname, './contracts') }, networks: { localhost: { @@ -114,10 +105,6 @@ const config: HardhatUserConfig = { url: 'https://sepolia.gateway.tenderly.co' } }, - //@ts-expect-error Type not found - compilerOptions: { - paths: { '^@safe-global/protocol-kit/(.*)$': ['../protocol-kit/src/*'] } - }, namedAccounts: { deployer: { default: 0 diff --git a/packages/testing-kit/package.json b/packages/testing-kit/package.json new file mode 100644 index 000000000..e721587f5 --- /dev/null +++ b/packages/testing-kit/package.json @@ -0,0 +1,57 @@ +{ + "name": "@safe-global/testing-kit", + "version": "0.0.1-alpha.1", + "description": "Helper package providing testing utilities", + "main": "dist/src/index.js", + "types": "dist/src/index.d.ts", + "keywords": [ + "Ethereum", + "Wallet", + "Safe", + "Smart Account", + "SDK", + "Testing" + ], + "scripts": { + "format:check": "prettier --check \"*/**/*.{js,json,md,ts}\"", + "format": "prettier --write \"*/**/*.{js,json,md,ts}\"", + "unbuild": "rimraf dist artifacts deployments cache .nyc_output *.tsbuildinfo", + "build": "yarn unbuild && hardhat compile && tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json", + "deploy": "hardhat deploy", + "compile": "hardhat compile", + "test": "hardhat test" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/safe-global/safe-core-sdk.git" + }, + "author": "Safe (https://safe.global)", + "license": "MIT", + "bugs": { + "url": "https://github.com/safe-global/safe-core-sdk/issues" + }, + "files": [ + "dist" + ], + "homepage": "https://github.com/safe-global/safe-core-sdk#readme", + "devDependencies": { + "@gnosis.pm/safe-contracts-v1.3.0": "npm:@gnosis.pm/safe-contracts@1.3.0", + "@nomicfoundation/hardhat-viem": "^2.0.4", + "@openzeppelin/contracts": "^2.5.1", + "@safe-global/safe-contracts-v1.4.1": "npm:@safe-global/safe-contracts@1.4.1", + "@safe-global/types-kit": "^1.0.0", + "@types/semver": "^7.5.8", + "hardhat": "^2.19.3", + "hardhat-deploy": "^0.12.4", + "tsconfig-paths": "^4.2.0" + }, + "dependencies": { + "semver": "^7.6.3" + }, + "bin": { + "testing-kit": "./bin/testing-kit.js" + }, + "peerDependencies": { + "hardhat": "^2.19.3" + } +} diff --git a/packages/protocol-kit/hardhat/deploy/deploy-contracts.ts b/packages/testing-kit/src/hardhat/deploy/deploy-contracts.ts similarity index 99% rename from packages/protocol-kit/hardhat/deploy/deploy-contracts.ts rename to packages/testing-kit/src/hardhat/deploy/deploy-contracts.ts index 93171e1c5..62ac19563 100644 --- a/packages/protocol-kit/hardhat/deploy/deploy-contracts.ts +++ b/packages/testing-kit/src/hardhat/deploy/deploy-contracts.ts @@ -1,4 +1,4 @@ -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' import { DeployFunction } from 'hardhat-deploy/types' import { HardhatRuntimeEnvironment } from 'hardhat/types' diff --git a/packages/testing-kit/src/index.ts b/packages/testing-kit/src/index.ts new file mode 100644 index 000000000..acdd1a0ed --- /dev/null +++ b/packages/testing-kit/src/index.ts @@ -0,0 +1,7 @@ +export * from './hardhat/deploy/deploy-contracts' +export * from './utils/helpers' +export * from './utils/setupContracts' +export * from './utils/setupContractNetworks' +export * from './utils/setupTestNetwork' +export * from './utils/setupTests' +export * from './utils/transactions' diff --git a/packages/protocol-kit/tests/e2e/utils/helpers.ts b/packages/testing-kit/src/utils/helpers.ts similarity index 100% rename from packages/protocol-kit/tests/e2e/utils/helpers.ts rename to packages/testing-kit/src/utils/helpers.ts diff --git a/packages/testing-kit/src/utils/setupContractNetworks.ts b/packages/testing-kit/src/utils/setupContractNetworks.ts new file mode 100644 index 000000000..454c0b429 --- /dev/null +++ b/packages/testing-kit/src/utils/setupContractNetworks.ts @@ -0,0 +1,88 @@ +import { Abi } from 'viem' +import { + getCompatibilityFallbackHandler, + getCreateCall, + getFactory, + getMultiSend, + getMultiSendCallOnly, + getSafeSingleton, + getSafeWebAuthnSharedSigner, + getSafeWebAuthnSignerFactory, + getSignMessageLib, + getSimulateTxAccessor +} from './setupContracts' + +export type ContractNetworkConfig = { + /** safeSingletonAddress - Address of the Safe Singleton contract deployed on a specific network */ + safeSingletonAddress: string + /** safeSingletonAbi - Abi of the Safe Singleton contract deployed on a specific network */ + safeSingletonAbi?: Abi + /** safeProxyFactoryAddress - Address of the SafeProxyFactory contract deployed on a specific network */ + safeProxyFactoryAddress: string + /** safeProxyFactoryAbi - Abi of the SafeProxyFactory contract deployed on a specific network */ + safeProxyFactoryAbi?: Abi + /** multiSendAddress - Address of the MultiSend contract deployed on a specific network */ + multiSendAddress: string + /** multiSendAbi - Abi of the MultiSend contract deployed on a specific network */ + multiSendAbi?: Abi + /** multiSendCallOnlyAddress - Address of the MultiSendCallOnly contract deployed on a specific network */ + multiSendCallOnlyAddress: string + /** multiSendCallOnlyAbi - Abi of the MultiSendCallOnly contract deployed on a specific network */ + multiSendCallOnlyAbi?: Abi + /** fallbackHandlerAddress - Address of the Fallback Handler contract deployed on a specific network */ + fallbackHandlerAddress: string + /** fallbackHandlerAbi - Abi of the Fallback Handler contract deployed on a specific network */ + fallbackHandlerAbi?: Abi + /** signMessageLibAddress - Address of the SignMessageLib contract deployed on a specific network */ + signMessageLibAddress: string + /** signMessageLibAbi - Abi of the SignMessageLib contract deployed on a specific network */ + signMessageLibAbi?: Abi + /** createCallAddress - Address of the CreateCall contract deployed on a specific network */ + createCallAddress: string + /** createCallAbi - Abi of the CreateCall contract deployed on a specific network */ + createCallAbi?: Abi + /** simulateTxAccessorAddress - Address of the SimulateTxAccessor contract deployed on a specific network */ + simulateTxAccessorAddress: string + /** simulateTxAccessorAbi - Abi of the SimulateTxAccessor contract deployed on a specific network */ + simulateTxAccessorAbi?: Abi + /** safeWebAuthnSignerFactoryAddress - Address of the SafeWebAuthnSignerFactory contract deployed on a specific network */ + safeWebAuthnSignerFactoryAddress: string + /** safeWebAuthnSignerFactoryAbi - Abi of the SafeWebAuthnSignerFactory contract deployed on a specific network */ + safeWebAuthnSignerFactoryAbi?: Abi + /** safeWebAuthnSharedSignerAddress - Address of the SafeWebAuthnSharedSigner contract deployed on a specific network */ + safeWebAuthnSharedSignerAddress: string + /** safeWebAuthnSharedSignerAbi - Abi of the SafeWebAuthnSharedSigner contract deployed on a specific network */ + safeWebAuthnSharedSignerAbi?: Abi +} + +export type ContractNetworksConfig = { + /** id - Network id */ + [id: string]: ContractNetworkConfig +} + +export async function getContractNetworks(chainId: bigint): Promise { + return { + [chainId.toString()]: { + safeSingletonAddress: (await getSafeSingleton()).contract.address, + safeSingletonAbi: (await getSafeSingleton()).abi, + safeProxyFactoryAddress: (await getFactory()).contract.address, + safeProxyFactoryAbi: (await getFactory()).abi, + multiSendAddress: (await getMultiSend()).contract.address, + multiSendAbi: (await getMultiSend()).abi, + multiSendCallOnlyAddress: (await getMultiSendCallOnly()).contract.address, + multiSendCallOnlyAbi: (await getMultiSendCallOnly()).abi, + fallbackHandlerAddress: (await getCompatibilityFallbackHandler()).contract.address, + fallbackHandlerAbi: (await getCompatibilityFallbackHandler()).abi, + signMessageLibAddress: (await getSignMessageLib()).contract.address, + signMessageLibAbi: (await getSignMessageLib()).abi, + createCallAddress: (await getCreateCall()).contract.address, + createCallAbi: (await getCreateCall()).abi, + simulateTxAccessorAddress: (await getSimulateTxAccessor()).contract.address, + simulateTxAccessorAbi: (await getSimulateTxAccessor()).abi, + safeWebAuthnSignerFactoryAddress: (await getSafeWebAuthnSignerFactory()).contract.address, + safeWebAuthnSignerFactoryAbi: (await getSafeWebAuthnSignerFactory()).abi, + safeWebAuthnSharedSignerAddress: (await getSafeWebAuthnSharedSigner()).contract.address, + safeWebAuthnSharedSignerAbi: (await getSafeWebAuthnSharedSigner()).abi + } + } +} diff --git a/packages/protocol-kit/tests/e2e/utils/setupContracts.ts b/packages/testing-kit/src/utils/setupContracts.ts similarity index 89% rename from packages/protocol-kit/tests/e2e/utils/setupContracts.ts rename to packages/testing-kit/src/utils/setupContracts.ts index fdd50ab1c..c7d7af580 100644 --- a/packages/protocol-kit/tests/e2e/utils/setupContracts.ts +++ b/packages/testing-kit/src/utils/setupContracts.ts @@ -1,5 +1,4 @@ -import { ZERO_ADDRESS } from '@safe-global/protocol-kit/utils/constants' -import { GetContractReturnType, Abi, WalletClient } from 'viem' +import { GetContractReturnType, Abi, WalletClient, Address, zeroAddress } from 'viem' import { compatibilityFallbackHandlerDeployed, createCallDeployed, @@ -12,17 +11,18 @@ import { safeWebAuthnSignerFactoryDeployed, signMessageLibDeployed, simulateTxAccessorDeployed -} from '@safe-global/protocol-kit/hardhat/deploy/deploy-contracts' +} from '../hardhat/deploy/deploy-contracts' import { deployments, viem } from 'hardhat' import semverSatisfies from 'semver/functions/satisfies' import { getDeployer, waitTransactionReceipt } from './transactions' +const ZERO_ADDRESS: Address = zeroAddress export const getSafeSingleton = async (): Promise<{ contract: GetContractReturnType abi: Abi }> => { const safeDeployment = await deployments.get(safeDeployed.name) - const contract = await viem.getContractAt(safeDeployed.name, safeDeployment.address) + const contract = await viem.getContractAt(safeDeployed.name, safeDeployment.address as Address) return { contract, abi: safeDeployment.abi @@ -35,7 +35,7 @@ export const getFactory = async (): Promise<{ }> => { const factoryDeployment = await deployments.get(proxyFactoryDeployed.name) const factoryAddress = factoryDeployment.address - const contract = await viem.getContractAt(proxyFactoryDeployed.name, factoryAddress, { + const contract = await viem.getContractAt(proxyFactoryDeployed.name, factoryAddress as Address, { client: { wallet: await getDeployer() } }) return { @@ -103,7 +103,7 @@ export const getCompatibilityFallbackHandler = async (): Promise<{ const contract = await viem.getContractAt( compatibilityFallbackHandlerDeployed.name, - compatibilityFallbackHandlerDeploymentAddress + compatibilityFallbackHandlerDeploymentAddress as Address ) return { contract, @@ -117,7 +117,7 @@ export const getMultiSend = async (): Promise<{ }> => { const multiSendDeployment = await deployments.get(multiSendDeployed.name) const multiSendAddress = multiSendDeployment.address - const contract = await viem.getContractAt(multiSendDeployed.name, multiSendAddress) + const contract = await viem.getContractAt(multiSendDeployed.name, multiSendAddress as Address) return { contract, abi: multiSendDeployment.abi @@ -130,7 +130,10 @@ export const getMultiSendCallOnly = async (): Promise<{ }> => { const multiSendCallOnlyDeployment = await deployments.get(multiSendCallOnlyDeployed.name) const multiSendAddress = multiSendCallOnlyDeployment.address - const contract = await viem.getContractAt(multiSendCallOnlyDeployed.name, multiSendAddress) + const contract = await viem.getContractAt( + multiSendCallOnlyDeployed.name, + multiSendAddress as Address + ) return { contract, abi: multiSendCallOnlyDeployment.abi @@ -143,7 +146,10 @@ export const getSignMessageLib = async (): Promise<{ }> => { const signMessageLibDeployment = await deployments.get(signMessageLibDeployed.name) const signMessageLibAddress = signMessageLibDeployment.address - const contract = await viem.getContractAt(signMessageLibDeployed.name, signMessageLibAddress) + const contract = await viem.getContractAt( + signMessageLibDeployed.name, + signMessageLibAddress as Address + ) return { contract, abi: signMessageLibDeployment.abi @@ -156,7 +162,7 @@ export const getCreateCall = async (): Promise<{ }> => { const createCallDeployment = await deployments.get(createCallDeployed.name) const createCallAddress = createCallDeployment.address - const contract = await viem.getContractAt(createCallDeployed.name, createCallAddress) + const contract = await viem.getContractAt(createCallDeployed.name, createCallAddress as Address) return { contract, abi: createCallDeployment.abi @@ -171,7 +177,7 @@ export const getSimulateTxAccessor = async (): Promise<{ const simulateTxAccessorAddress = simulateTxAccessorDeployment.address const contract = await viem.getContractAt( simulateTxAccessorDeployed.name, - simulateTxAccessorAddress + simulateTxAccessorAddress as Address ) return { contract, @@ -189,7 +195,7 @@ export const getSafeWebAuthnSignerFactory = async (): Promise<{ const safeWebAuthnSignerFactoryAddress = safeWebAuthnSignerFactoryDeployment.address const contract = await viem.getContractAt( proxyFactoryDeployed.name, - safeWebAuthnSignerFactoryAddress, + safeWebAuthnSignerFactoryAddress as Address, { client: { wallet: await getDeployer() } } @@ -211,7 +217,7 @@ export const getSafeWebAuthnSharedSigner = async (): Promise<{ return { contract: await viem.getContractAt( safeWebAuthnSharedSignerDeployed.name, - safeWebAuthnSharedSignerDeployment.address + safeWebAuthnSharedSignerDeployment.address as Address ), abi: safeWebAuthnSharedSignerDeployment.abi } @@ -220,37 +226,37 @@ export const getSafeWebAuthnSharedSigner = async (): Promise<{ export const getWebAuthnContract = async (): Promise> => { const webAuthnContractDeployment = await deployments.get('WebAuthnContract') const dailyLimitModuleAddress = webAuthnContractDeployment.address - return await viem.getContractAt('WebAuthnContract', dailyLimitModuleAddress) + return await viem.getContractAt('WebAuthnContract', dailyLimitModuleAddress as Address) } export const getDailyLimitModule = async (): Promise> => { const dailyLimitModuleDeployment = await deployments.get('DailyLimitModule') const dailyLimitModuleAddress = dailyLimitModuleDeployment.address - return await viem.getContractAt('DailyLimitModule', dailyLimitModuleAddress) + return await viem.getContractAt('DailyLimitModule', dailyLimitModuleAddress as Address) } export const getSocialRecoveryModule = async (): Promise> => { const socialRecoveryModuleDeployment = await deployments.get('SocialRecoveryModule') const socialRecoveryModuleAddress = socialRecoveryModuleDeployment.address - return await viem.getContractAt('SocialRecoveryModule', socialRecoveryModuleAddress) + return await viem.getContractAt('SocialRecoveryModule', socialRecoveryModuleAddress as Address) } export const getStateChannelModule = async (): Promise> => { const stateChannelModuleDeployment = await deployments.get('StateChannelModule') const stateChannelModuleAddress = stateChannelModuleDeployment.address - return await viem.getContractAt('StateChannelModule', stateChannelModuleAddress) + return await viem.getContractAt('StateChannelModule', stateChannelModuleAddress as Address) } export const getWhiteListModule = async (): Promise> => { const whiteListModuleDeployment = await deployments.get('WhitelistModule') const whiteListModuleAddress = whiteListModuleDeployment.address - return await viem.getContractAt('WhitelistModule', whiteListModuleAddress) + return await viem.getContractAt('WhitelistModule', whiteListModuleAddress as Address) } export const getERC20Mintable = async (): Promise> => { const eRC20MintableDeployment = await deployments.get('ERC20Mintable') const eRC20MintableAddress = eRC20MintableDeployment.address - return await viem.getContractAt('ERC20Mintable', eRC20MintableAddress, { + return await viem.getContractAt('ERC20Mintable', eRC20MintableAddress as Address, { client: { wallet: await getDeployer() } }) } @@ -261,7 +267,7 @@ export const getDebugTransactionGuard = async (): Promise> => { @@ -270,5 +276,5 @@ export const getDefaultCallbackHandler = async (): Promise address: string } diff --git a/packages/testing-kit/src/utils/setupTests.ts b/packages/testing-kit/src/utils/setupTests.ts new file mode 100644 index 000000000..451d7e13c --- /dev/null +++ b/packages/testing-kit/src/utils/setupTests.ts @@ -0,0 +1,80 @@ +import { deployments } from 'hardhat' +import { GetContractReturnType, Abi, WalletClient } from 'viem' + +import { Account, getAccounts } from './setupTestNetwork' +import { ContractNetworksConfig, getContractNetworks } from './setupContractNetworks' +import { getSafeWithOwners } from './setupContracts' +import { safeVersionDeployed } from '../hardhat/deploy/deploy-contracts' +import { SafeVersion } from '@safe-global/types-kit' + +type SetupTestsOptions = { + safeConfig?: { + numberOfOwners: number + threshold?: number + } + predictedSafeConfig?: { + numberOfOwners: number + threshold?: number + } +} + +type SetupTestsReturnType = { + safe: GetContractReturnType + accounts: Account[] + contractNetworks: ContractNetworksConfig + chainId: bigint + predictedSafe: PredictedSafeProps +} + +type SafeAccountConfig = { + owners: string[] + threshold: number +} + +type SafeDeploymentConfig = { + safeVersion?: SafeVersion +} + +type PredictedSafeProps = { + safeAccountConfig: SafeAccountConfig + safeDeploymentConfig?: SafeDeploymentConfig +} + +export const setupTests: (options?: SetupTestsOptions) => Promise = + deployments.createFixture(async ({ deployments, getChainId }, options?: SetupTestsOptions) => { + const { safeConfig, predictedSafeConfig } = options || {} + + await deployments.fixture() + const accounts = await getAccounts() + const chainId = BigInt(await getChainId()) + const contractNetworks = await getContractNetworks(chainId) + const safe = await getSafeWithOwners( + safeConfig + ? [...accounts.slice(0, safeConfig?.numberOfOwners).map((account) => account.address)] + : [accounts[0].address], + safeConfig?.threshold || 1 + ) + const predictedSafe = { + safeAccountConfig: { + owners: predictedSafeConfig + ? [ + ...accounts + .slice(0, predictedSafeConfig?.numberOfOwners) + .map((account) => account.address) + ] + : [accounts[0].address], + threshold: predictedSafeConfig?.threshold || 1 + }, + safeDeploymentConfig: { + safeVersion: safeVersionDeployed + } + } + + return { + safe, + accounts, + contractNetworks, + chainId, + predictedSafe + } + }) diff --git a/packages/testing-kit/src/utils/transactions.ts b/packages/testing-kit/src/utils/transactions.ts new file mode 100644 index 000000000..6e28285c0 --- /dev/null +++ b/packages/testing-kit/src/utils/transactions.ts @@ -0,0 +1,11 @@ +import { Hex, WalletClient, Transport, Chain, Account, Address } from 'viem' +import hre, { viem } from 'hardhat' + +export async function waitTransactionReceipt(hash: Hex) { + return (await viem.getPublicClient()).waitForTransactionReceipt({ hash }) +} + +export async function getDeployer(): Promise> { + const { deployer } = await hre.getNamedAccounts() + return viem.getWalletClient(deployer as Address) +} diff --git a/packages/safe-core-sdk-types/tsconfig.build.json b/packages/testing-kit/tsconfig.build.json similarity index 62% rename from packages/safe-core-sdk-types/tsconfig.build.json rename to packages/testing-kit/tsconfig.build.json index c05e497c4..5e4563c61 100644 --- a/packages/safe-core-sdk-types/tsconfig.build.json +++ b/packages/testing-kit/tsconfig.build.json @@ -4,5 +4,6 @@ "composite": true, "outDir": "dist" }, - "include": ["src/**/*"] + "include": ["bin/**/*", "src/**/*"], + "files": ["./hardhat.config.ts"] } diff --git a/packages/safe-core-sdk-types/tsconfig.json b/packages/testing-kit/tsconfig.json similarity index 76% rename from packages/safe-core-sdk-types/tsconfig.json rename to packages/testing-kit/tsconfig.json index c05e497c4..c35515726 100644 --- a/packages/safe-core-sdk-types/tsconfig.json +++ b/packages/testing-kit/tsconfig.json @@ -4,5 +4,5 @@ "composite": true, "outDir": "dist" }, - "include": ["src/**/*"] + "include": ["bin/**/*", "src/**/*"] } diff --git a/packages/safe-core-sdk-types/LICENSE.md b/packages/types-kit/LICENSE.md similarity index 100% rename from packages/safe-core-sdk-types/LICENSE.md rename to packages/types-kit/LICENSE.md diff --git a/packages/safe-core-sdk-types/README.md b/packages/types-kit/README.md similarity index 84% rename from packages/safe-core-sdk-types/README.md rename to packages/types-kit/README.md index efdcca923..129beb2b0 100644 --- a/packages/safe-core-sdk-types/README.md +++ b/packages/types-kit/README.md @@ -1,6 +1,6 @@ -# Safe Core SDK Types +# Types Kit -[![npm Version](https://badge.fury.io/js/@safe-global%2Fsafe-core-sdk-types.svg)](https://badge.fury.io/js/@safe-global%2Fsafe-core-sdk-types) +[![npm Version](https://badge.fury.io/js/@safe-global%2Ftypes-kit.svg)](https://badge.fury.io/js/@safe-global%2Ftypes-kit) [![GitHub Release](https://img.shields.io/github/release/safe-global/safe-core-sdk.svg?style=flat)](https://github.com/safe-global/safe-core-sdk/releases) [![GitHub](https://img.shields.io/github/license/safe-global/safe-core-sdk)](https://github.com/safe-global/safe-core-sdk/blob/main/LICENSE.md) diff --git a/packages/safe-core-sdk-types/package.json b/packages/types-kit/package.json similarity index 87% rename from packages/safe-core-sdk-types/package.json rename to packages/types-kit/package.json index a4e34e02e..6ad1e7c6e 100644 --- a/packages/safe-core-sdk-types/package.json +++ b/packages/types-kit/package.json @@ -1,7 +1,7 @@ { - "name": "@safe-global/safe-core-sdk-types", - "version": "5.1.0", - "description": "Safe Core SDK types", + "name": "@safe-global/types-kit", + "version": "1.0.0", + "description": "Types for use with the Safe Core SDK packages", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "keywords": [ diff --git a/packages/safe-core-sdk-types/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.ts b/packages/types-kit/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.ts rename to packages/types-kit/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.ts diff --git a/packages/safe-core-sdk-types/src/contracts/CompatibilityFallbackHandler/index.ts b/packages/types-kit/src/contracts/CompatibilityFallbackHandler/index.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/CompatibilityFallbackHandler/index.ts rename to packages/types-kit/src/contracts/CompatibilityFallbackHandler/index.ts diff --git a/packages/safe-core-sdk-types/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.ts b/packages/types-kit/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.ts rename to packages/types-kit/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.ts diff --git a/packages/safe-core-sdk-types/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.ts b/packages/types-kit/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.ts rename to packages/types-kit/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.ts diff --git a/packages/safe-core-sdk-types/src/contracts/CreateCall/CreateCallBaseContract.ts b/packages/types-kit/src/contracts/CreateCall/CreateCallBaseContract.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/CreateCall/CreateCallBaseContract.ts rename to packages/types-kit/src/contracts/CreateCall/CreateCallBaseContract.ts diff --git a/packages/safe-core-sdk-types/src/contracts/CreateCall/index.ts b/packages/types-kit/src/contracts/CreateCall/index.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/CreateCall/index.ts rename to packages/types-kit/src/contracts/CreateCall/index.ts diff --git a/packages/safe-core-sdk-types/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.ts b/packages/types-kit/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.ts rename to packages/types-kit/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.ts diff --git a/packages/safe-core-sdk-types/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.ts b/packages/types-kit/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.ts rename to packages/types-kit/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.ts diff --git a/packages/safe-core-sdk-types/src/contracts/MultiSend/MultiSendBaseContract.ts b/packages/types-kit/src/contracts/MultiSend/MultiSendBaseContract.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/MultiSend/MultiSendBaseContract.ts rename to packages/types-kit/src/contracts/MultiSend/MultiSendBaseContract.ts diff --git a/packages/safe-core-sdk-types/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.ts b/packages/types-kit/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.ts rename to packages/types-kit/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.ts diff --git a/packages/safe-core-sdk-types/src/contracts/MultiSend/index.ts b/packages/types-kit/src/contracts/MultiSend/index.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/MultiSend/index.ts rename to packages/types-kit/src/contracts/MultiSend/index.ts diff --git a/packages/safe-core-sdk-types/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.ts b/packages/types-kit/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.ts rename to packages/types-kit/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.ts diff --git a/packages/safe-core-sdk-types/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.ts b/packages/types-kit/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.ts rename to packages/types-kit/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.ts diff --git a/packages/safe-core-sdk-types/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.ts b/packages/types-kit/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.ts rename to packages/types-kit/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.ts diff --git a/packages/safe-core-sdk-types/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.ts b/packages/types-kit/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.ts rename to packages/types-kit/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.ts diff --git a/packages/safe-core-sdk-types/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.ts b/packages/types-kit/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.ts rename to packages/types-kit/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.ts diff --git a/packages/safe-core-sdk-types/src/contracts/Safe/SafeBaseContract.ts b/packages/types-kit/src/contracts/Safe/SafeBaseContract.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/Safe/SafeBaseContract.ts rename to packages/types-kit/src/contracts/Safe/SafeBaseContract.ts diff --git a/packages/safe-core-sdk-types/src/contracts/Safe/index.ts b/packages/types-kit/src/contracts/Safe/index.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/Safe/index.ts rename to packages/types-kit/src/contracts/Safe/index.ts diff --git a/packages/safe-core-sdk-types/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.ts b/packages/types-kit/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.ts rename to packages/types-kit/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.ts diff --git a/packages/safe-core-sdk-types/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.ts b/packages/types-kit/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.ts rename to packages/types-kit/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.ts diff --git a/packages/safe-core-sdk-types/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.ts b/packages/types-kit/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.ts rename to packages/types-kit/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.ts diff --git a/packages/safe-core-sdk-types/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.ts b/packages/types-kit/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.ts rename to packages/types-kit/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.ts diff --git a/packages/safe-core-sdk-types/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.ts b/packages/types-kit/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.ts rename to packages/types-kit/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.ts b/packages/types-kit/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.ts rename to packages/types-kit/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SafeProxyFactory/index.ts b/packages/types-kit/src/contracts/SafeProxyFactory/index.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SafeProxyFactory/index.ts rename to packages/types-kit/src/contracts/SafeProxyFactory/index.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.ts b/packages/types-kit/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.ts rename to packages/types-kit/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.ts b/packages/types-kit/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.ts rename to packages/types-kit/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.ts b/packages/types-kit/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.ts rename to packages/types-kit/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.ts b/packages/types-kit/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.ts rename to packages/types-kit/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.ts b/packages/types-kit/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.ts rename to packages/types-kit/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SafeWebAuthnSharedSigner/index.ts b/packages/types-kit/src/contracts/SafeWebAuthnSharedSigner/index.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SafeWebAuthnSharedSigner/index.ts rename to packages/types-kit/src/contracts/SafeWebAuthnSharedSigner/index.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSigner_v0_2_1.ts b/packages/types-kit/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSigner_v0_2_1.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSigner_v0_2_1.ts rename to packages/types-kit/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSigner_v0_2_1.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.ts b/packages/types-kit/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.ts rename to packages/types-kit/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SafeWebAuthnSignerFactory/index.ts b/packages/types-kit/src/contracts/SafeWebAuthnSignerFactory/index.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SafeWebAuthnSignerFactory/index.ts rename to packages/types-kit/src/contracts/SafeWebAuthnSignerFactory/index.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactory_v0_2_1.ts b/packages/types-kit/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactory_v0_2_1.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactory_v0_2_1.ts rename to packages/types-kit/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactory_v0_2_1.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SignMessageLib/SignMessageLibBaseContract.ts b/packages/types-kit/src/contracts/SignMessageLib/SignMessageLibBaseContract.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SignMessageLib/SignMessageLibBaseContract.ts rename to packages/types-kit/src/contracts/SignMessageLib/SignMessageLibBaseContract.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SignMessageLib/index.ts b/packages/types-kit/src/contracts/SignMessageLib/index.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SignMessageLib/index.ts rename to packages/types-kit/src/contracts/SignMessageLib/index.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.ts b/packages/types-kit/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.ts rename to packages/types-kit/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.ts b/packages/types-kit/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.ts rename to packages/types-kit/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.ts b/packages/types-kit/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.ts rename to packages/types-kit/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SimulateTxAccessor/index.ts b/packages/types-kit/src/contracts/SimulateTxAccessor/index.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SimulateTxAccessor/index.ts rename to packages/types-kit/src/contracts/SimulateTxAccessor/index.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.ts b/packages/types-kit/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.ts rename to packages/types-kit/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.ts diff --git a/packages/safe-core-sdk-types/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.ts b/packages/types-kit/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.ts rename to packages/types-kit/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/CompatibilityFallbackHandler/v1.3.0/compatibility_fallback_handler.ts b/packages/types-kit/src/contracts/assets/CompatibilityFallbackHandler/v1.3.0/compatibility_fallback_handler.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/CompatibilityFallbackHandler/v1.3.0/compatibility_fallback_handler.ts rename to packages/types-kit/src/contracts/assets/CompatibilityFallbackHandler/v1.3.0/compatibility_fallback_handler.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/CompatibilityFallbackHandler/v1.4.1/compatibility_fallback_handler.ts b/packages/types-kit/src/contracts/assets/CompatibilityFallbackHandler/v1.4.1/compatibility_fallback_handler.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/CompatibilityFallbackHandler/v1.4.1/compatibility_fallback_handler.ts rename to packages/types-kit/src/contracts/assets/CompatibilityFallbackHandler/v1.4.1/compatibility_fallback_handler.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/CreateCall/v1.3.0/create_call.ts b/packages/types-kit/src/contracts/assets/CreateCall/v1.3.0/create_call.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/CreateCall/v1.3.0/create_call.ts rename to packages/types-kit/src/contracts/assets/CreateCall/v1.3.0/create_call.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/CreateCall/v1.4.1/create_call.ts b/packages/types-kit/src/contracts/assets/CreateCall/v1.4.1/create_call.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/CreateCall/v1.4.1/create_call.ts rename to packages/types-kit/src/contracts/assets/CreateCall/v1.4.1/create_call.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/MultiSend/v1.1.1/multi_send.ts b/packages/types-kit/src/contracts/assets/MultiSend/v1.1.1/multi_send.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/MultiSend/v1.1.1/multi_send.ts rename to packages/types-kit/src/contracts/assets/MultiSend/v1.1.1/multi_send.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/MultiSend/v1.3.0/multi_send.ts b/packages/types-kit/src/contracts/assets/MultiSend/v1.3.0/multi_send.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/MultiSend/v1.3.0/multi_send.ts rename to packages/types-kit/src/contracts/assets/MultiSend/v1.3.0/multi_send.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/MultiSend/v1.3.0/multi_send_call_only.ts b/packages/types-kit/src/contracts/assets/MultiSend/v1.3.0/multi_send_call_only.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/MultiSend/v1.3.0/multi_send_call_only.ts rename to packages/types-kit/src/contracts/assets/MultiSend/v1.3.0/multi_send_call_only.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/MultiSend/v1.4.1/multi_send.ts b/packages/types-kit/src/contracts/assets/MultiSend/v1.4.1/multi_send.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/MultiSend/v1.4.1/multi_send.ts rename to packages/types-kit/src/contracts/assets/MultiSend/v1.4.1/multi_send.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/MultiSend/v1.4.1/multi_send_call_only.ts b/packages/types-kit/src/contracts/assets/MultiSend/v1.4.1/multi_send_call_only.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/MultiSend/v1.4.1/multi_send_call_only.ts rename to packages/types-kit/src/contracts/assets/MultiSend/v1.4.1/multi_send_call_only.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/Safe/v1.0.0/gnosis_safe.ts b/packages/types-kit/src/contracts/assets/Safe/v1.0.0/gnosis_safe.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/Safe/v1.0.0/gnosis_safe.ts rename to packages/types-kit/src/contracts/assets/Safe/v1.0.0/gnosis_safe.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/Safe/v1.1.1/gnosis_safe.ts b/packages/types-kit/src/contracts/assets/Safe/v1.1.1/gnosis_safe.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/Safe/v1.1.1/gnosis_safe.ts rename to packages/types-kit/src/contracts/assets/Safe/v1.1.1/gnosis_safe.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/Safe/v1.2.0/gnosis_safe.ts b/packages/types-kit/src/contracts/assets/Safe/v1.2.0/gnosis_safe.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/Safe/v1.2.0/gnosis_safe.ts rename to packages/types-kit/src/contracts/assets/Safe/v1.2.0/gnosis_safe.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/Safe/v1.3.0/gnosis_safe_l2.ts b/packages/types-kit/src/contracts/assets/Safe/v1.3.0/gnosis_safe_l2.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/Safe/v1.3.0/gnosis_safe_l2.ts rename to packages/types-kit/src/contracts/assets/Safe/v1.3.0/gnosis_safe_l2.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/Safe/v1.4.1/safe_l2.ts b/packages/types-kit/src/contracts/assets/Safe/v1.4.1/safe_l2.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/Safe/v1.4.1/safe_l2.ts rename to packages/types-kit/src/contracts/assets/Safe/v1.4.1/safe_l2.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/SafeProxyFactory/v1.0.0/proxy_factory.ts b/packages/types-kit/src/contracts/assets/SafeProxyFactory/v1.0.0/proxy_factory.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/SafeProxyFactory/v1.0.0/proxy_factory.ts rename to packages/types-kit/src/contracts/assets/SafeProxyFactory/v1.0.0/proxy_factory.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/SafeProxyFactory/v1.1.1/proxy_factory.ts b/packages/types-kit/src/contracts/assets/SafeProxyFactory/v1.1.1/proxy_factory.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/SafeProxyFactory/v1.1.1/proxy_factory.ts rename to packages/types-kit/src/contracts/assets/SafeProxyFactory/v1.1.1/proxy_factory.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/SafeProxyFactory/v1.3.0/proxy_factory.ts b/packages/types-kit/src/contracts/assets/SafeProxyFactory/v1.3.0/proxy_factory.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/SafeProxyFactory/v1.3.0/proxy_factory.ts rename to packages/types-kit/src/contracts/assets/SafeProxyFactory/v1.3.0/proxy_factory.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/SafeProxyFactory/v1.4.1/safe_proxy_factory.ts b/packages/types-kit/src/contracts/assets/SafeProxyFactory/v1.4.1/safe_proxy_factory.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/SafeProxyFactory/v1.4.1/safe_proxy_factory.ts rename to packages/types-kit/src/contracts/assets/SafeProxyFactory/v1.4.1/safe_proxy_factory.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/SafeWebAuthnSharedSigner/v0.2.1/safe_webauthn_shared_signer.ts b/packages/types-kit/src/contracts/assets/SafeWebAuthnSharedSigner/v0.2.1/safe_webauthn_shared_signer.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/SafeWebAuthnSharedSigner/v0.2.1/safe_webauthn_shared_signer.ts rename to packages/types-kit/src/contracts/assets/SafeWebAuthnSharedSigner/v0.2.1/safe_webauthn_shared_signer.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/SafeWebAuthnSignerFactory/v0.2.1/safe_webauthn_signer_factory.ts b/packages/types-kit/src/contracts/assets/SafeWebAuthnSignerFactory/v0.2.1/safe_webauthn_signer_factory.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/SafeWebAuthnSignerFactory/v0.2.1/safe_webauthn_signer_factory.ts rename to packages/types-kit/src/contracts/assets/SafeWebAuthnSignerFactory/v0.2.1/safe_webauthn_signer_factory.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/SignMessageLib/v1.3.0/sign_message_lib.ts b/packages/types-kit/src/contracts/assets/SignMessageLib/v1.3.0/sign_message_lib.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/SignMessageLib/v1.3.0/sign_message_lib.ts rename to packages/types-kit/src/contracts/assets/SignMessageLib/v1.3.0/sign_message_lib.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/SignMessageLib/v1.4.1/sign_message_lib.ts b/packages/types-kit/src/contracts/assets/SignMessageLib/v1.4.1/sign_message_lib.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/SignMessageLib/v1.4.1/sign_message_lib.ts rename to packages/types-kit/src/contracts/assets/SignMessageLib/v1.4.1/sign_message_lib.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/SimulateTxAccessor/v1.3.0/simulate_tx_accessor.ts b/packages/types-kit/src/contracts/assets/SimulateTxAccessor/v1.3.0/simulate_tx_accessor.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/SimulateTxAccessor/v1.3.0/simulate_tx_accessor.ts rename to packages/types-kit/src/contracts/assets/SimulateTxAccessor/v1.3.0/simulate_tx_accessor.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/SimulateTxAccessor/v1.4.1/simulate_tx_accessor.ts b/packages/types-kit/src/contracts/assets/SimulateTxAccessor/v1.4.1/simulate_tx_accessor.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/SimulateTxAccessor/v1.4.1/simulate_tx_accessor.ts rename to packages/types-kit/src/contracts/assets/SimulateTxAccessor/v1.4.1/simulate_tx_accessor.ts diff --git a/packages/safe-core-sdk-types/src/contracts/assets/index.ts b/packages/types-kit/src/contracts/assets/index.ts similarity index 100% rename from packages/safe-core-sdk-types/src/contracts/assets/index.ts rename to packages/types-kit/src/contracts/assets/index.ts diff --git a/packages/safe-core-sdk-types/src/contracts/common/BaseContract.ts b/packages/types-kit/src/contracts/common/BaseContract.ts similarity index 97% rename from packages/safe-core-sdk-types/src/contracts/common/BaseContract.ts rename to packages/types-kit/src/contracts/common/BaseContract.ts index 75001ef9f..2a371586a 100644 --- a/packages/safe-core-sdk-types/src/contracts/common/BaseContract.ts +++ b/packages/types-kit/src/contracts/common/BaseContract.ts @@ -4,11 +4,7 @@ import { ExtractAbiFunction, ExtractAbiFunctionNames } from 'abitype' -import { - SafeVersion, - TransactionOptions, - TransactionResult -} from '@safe-global/safe-core-sdk-types/types' +import { SafeVersion, TransactionOptions, TransactionResult } from '@safe-global/types-kit/types' /** * Extracts the names of read-only functions (view or pure) from a given contract ABI. diff --git a/packages/safe-core-sdk-types/src/index.ts b/packages/types-kit/src/index.ts similarity index 100% rename from packages/safe-core-sdk-types/src/index.ts rename to packages/types-kit/src/index.ts diff --git a/packages/safe-core-sdk-types/src/types.ts b/packages/types-kit/src/types.ts similarity index 100% rename from packages/safe-core-sdk-types/src/types.ts rename to packages/types-kit/src/types.ts diff --git a/packages/auth-kit/tsconfig.build.json b/packages/types-kit/tsconfig.build.json similarity index 100% rename from packages/auth-kit/tsconfig.build.json rename to packages/types-kit/tsconfig.build.json diff --git a/packages/auth-kit/tsconfig.json b/packages/types-kit/tsconfig.json similarity index 100% rename from packages/auth-kit/tsconfig.json rename to packages/types-kit/tsconfig.json diff --git a/playground/api-kit/propose-transaction.ts b/playground/api-kit/propose-transaction.ts index f2f3ca7c5..d313f1ba0 100644 --- a/playground/api-kit/propose-transaction.ts +++ b/playground/api-kit/propose-transaction.ts @@ -1,6 +1,6 @@ import Safe from '@safe-global/protocol-kit' import SafeApiKit from '@safe-global/api-kit' -import { OperationType, SafeTransactionDataPartial } from '@safe-global/safe-core-sdk-types' +import { OperationType, SafeTransactionDataPartial } from '@safe-global/types-kit' // This file can be used to play around with the Safe Core SDK diff --git a/playground/protocol-kit/create-execute-transaction.ts b/playground/protocol-kit/create-execute-transaction.ts index cc5fc7aa1..52e00230b 100644 --- a/playground/protocol-kit/create-execute-transaction.ts +++ b/playground/protocol-kit/create-execute-transaction.ts @@ -1,6 +1,6 @@ import * as dotenv from 'dotenv' import Safe, { SigningMethod } from '@safe-global/protocol-kit' -import { OperationType, SafeTransactionDataPartial } from '@safe-global/safe-core-sdk-types' +import { OperationType, SafeTransactionDataPartial } from '@safe-global/types-kit' dotenv.config() diff --git a/playground/protocol-kit/deploy-safe.ts b/playground/protocol-kit/deploy-safe.ts index 55ad93155..e1624b8d4 100644 --- a/playground/protocol-kit/deploy-safe.ts +++ b/playground/protocol-kit/deploy-safe.ts @@ -1,5 +1,5 @@ import Safe, { SafeAccountConfig, getSafeAddressFromDeploymentTx } from '@safe-global/protocol-kit' -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' import { createWalletClient, http } from 'viem' import { privateKeyToAccount } from 'viem/accounts' diff --git a/playground/protocol-kit/generate-safe-address.ts b/playground/protocol-kit/generate-safe-address.ts index af403ea84..023478423 100644 --- a/playground/protocol-kit/generate-safe-address.ts +++ b/playground/protocol-kit/generate-safe-address.ts @@ -4,7 +4,7 @@ import { SafeDeploymentConfig, predictSafeAddress } from '@safe-global/protocol-kit' -import { SafeVersion } from '@safe-global/safe-core-sdk-types' +import { SafeVersion } from '@safe-global/types-kit' // This script can be used to generate a custom Safe address diff --git a/playground/relay-kit/paid-transaction.ts b/playground/relay-kit/paid-transaction.ts index 81e700a04..95d727454 100644 --- a/playground/relay-kit/paid-transaction.ts +++ b/playground/relay-kit/paid-transaction.ts @@ -9,7 +9,7 @@ import { MetaTransactionOptions, OperationType, SafeTransaction -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' // Check the status of a transaction after it is relayed: // https://relay.gelato.digital/tasks/status/ diff --git a/playground/relay-kit/sponsored-transaction.ts b/playground/relay-kit/sponsored-transaction.ts index e73d2df50..05743e108 100644 --- a/playground/relay-kit/sponsored-transaction.ts +++ b/playground/relay-kit/sponsored-transaction.ts @@ -9,7 +9,7 @@ import { MetaTransactionOptions, OperationType, SafeTransaction -} from '@safe-global/safe-core-sdk-types' +} from '@safe-global/types-kit' // Fund the 1Balance account that will sponsor the transaction and get the API key: // https://relay.gelato.network/ diff --git a/tsconfig.json b/tsconfig.json index abba2f963..aef740c15 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,12 +1,11 @@ { "files": [], "references": [ + { "path": "packages/testing-kit" }, { "path": "packages/api-kit" }, { "path": "packages/protocol-kit" }, { "path": "packages/relay-kit" }, - { "path": "packages/auth-kit" }, - { "path": "packages/onramp-kit" }, - { "path": "packages/safe-core-sdk-types" }, + { "path": "packages/types-kit" }, { "path": "packages/sdk-starter-kit" } ] } diff --git a/tsconfig.settings.json b/tsconfig.settings.json index 563f85023..df950e2b4 100644 --- a/tsconfig.settings.json +++ b/tsconfig.settings.json @@ -22,12 +22,10 @@ "baseUrl": "./", "paths": { "@safe-global/api-kit/*": ["./packages/api-kit/src/*"], - "@safe-global/auth-kit/*": ["./packages/auth-kit/src/*"], - "@safe-global/onramp-kit/*": ["./packages/onramp-kit/src/*"], "@safe-global/protocol-kit/*": ["./packages/protocol-kit/src/*"], "@safe-global/protocol-kit/hardhat/*": ["./packages/protocol-kit/hardhat/*"], "@safe-global/relay-kit/*": ["./packages/relay-kit/src/*"], - "@safe-global/safe-core-sdk-types/*": ["./packages/safe-core-sdk-types/src/*"], + "@safe-global/types-kit/*": ["./packages/types-kit/src/*"], "@safe-global/sdk-starter-kit/*": ["./packages/sdk-starter-kit/src/*"] } }, diff --git a/yarn.lock b/yarn.lock index 93b412782..18718e662 100644 --- a/yarn.lock +++ b/yarn.lock @@ -281,13 +281,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.20.2" -"@babel/runtime@^7.22.10": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.4.tgz#36fa1d2b36db873d25ec631dcc4923fdc1cf2e2e" - integrity sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg== - dependencies: - regenerator-runtime "^0.14.0" - "@babel/template@^7.20.7", "@babel/template@^7.22.15", "@babel/template@^7.3.3": version "7.22.15" resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz" @@ -366,68 +359,15 @@ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b" integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== -"@ethereumjs/common@^3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-3.2.0.tgz#b71df25845caf5456449163012074a55f048e0a0" - integrity sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA== - dependencies: - "@ethereumjs/util" "^8.1.0" - crc-32 "^1.2.0" - -"@ethereumjs/common@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-4.1.0.tgz#0a959320a69bd2e3b194144b29c61b63bd6e2f6a" - integrity sha512-XWdQvUjlQHVwh4uGEPFKHpsic69GOsMXEhlHrggS5ju/+2zAmmlz6B25TkCCymeElC9DUp13tH5Tc25Iuvtlcg== - dependencies: - "@ethereumjs/util" "^9.0.1" - crc "^4.3.2" - "@ethereumjs/rlp@^4.0.1": version "4.0.1" resolved "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz" integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== -"@ethereumjs/rlp@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-5.0.1.tgz#56c5433b9242f956e354fd7e4ce3523815e24854" - integrity sha512-Ab/Hfzz+T9Zl+65Nkg+9xAmwKPLicsnQ4NW49pgvJp9ovefuic95cgOS9CbPc9izIEgsqm1UitV0uNveCvud9w== - -"@ethereumjs/tx@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-4.2.0.tgz#5988ae15daf5a3b3c815493bc6b495e76009e853" - integrity sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw== - dependencies: - "@ethereumjs/common" "^3.2.0" - "@ethereumjs/rlp" "^4.0.1" - "@ethereumjs/util" "^8.1.0" - ethereum-cryptography "^2.0.0" - -"@ethereumjs/tx@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-5.1.0.tgz#c61a9048ec09fff360b18188224aae90c370e57f" - integrity sha512-VUhw2+4yXArJZRWhPjmZFrN4WUjUo0qUZUszVpW2KzsGlqCFf67kwJcH9Rca5eS0CRHjr2qHJLpvYOjNuaXVdA== - dependencies: - "@ethereumjs/common" "^4.1.0" - "@ethereumjs/rlp" "^5.0.1" - "@ethereumjs/util" "^9.0.1" - ethereum-cryptography "^2.1.2" - -"@ethereumjs/util@^8.1.0": - version "8.1.0" - resolved "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz" - integrity sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA== - dependencies: - "@ethereumjs/rlp" "^4.0.1" - ethereum-cryptography "^2.0.0" - micro-ftch "^0.3.1" - -"@ethereumjs/util@^9.0.1": - version "9.0.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-9.0.1.tgz#cbe0380981263451e3080ddcd74accf4b10f8723" - integrity sha512-NdFFEzCc3H1sYkNnnySwLg6owdQMhjUc2jfuDyx8Xv162WSluCnnSKouKOSG3njGNEyy2I9NmF8zTRDwuqpZWA== - dependencies: - "@ethereumjs/rlp" "^5.0.1" - ethereum-cryptography "^2.1.2" +"@ethereumjs/rlp@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-5.0.2.tgz#c89bd82f2f3bec248ab2d517ae25f5bbc4aac842" + integrity sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA== "@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.7.0": version "5.7.0" @@ -827,6 +767,11 @@ wrap-ansi "^8.1.0" wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" +"@isaacs/string-locale-compare@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b" + integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" @@ -1075,84 +1020,83 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@lerna/create@8.1.3": - version "8.1.3" - resolved "https://registry.yarnpkg.com/@lerna/create/-/create-8.1.3.tgz#6cbdcc762fe5eb5dde24b34761c7bb61940fcb2a" - integrity sha512-JFvIYrlvR8Txa8h7VZx8VIQDltukEKOKaZL/muGO7Q/5aE2vjOKHsD/jkWYe/2uFy1xv37ubdx17O1UXQNadPg== +"@lerna/create@8.1.8": + version "8.1.8" + resolved "https://registry.yarnpkg.com/@lerna/create/-/create-8.1.8.tgz#be70d620f1d6b71e9d6b9d20049b784168b6ca19" + integrity sha512-wi72R01tgjBjzG2kjRyTHl4yCTKDfDMIXRyKz9E/FBa9SkFvUOAE4bdyY9MhEsRZmSWL7+CYE8Flv/HScRpBbA== dependencies: - "@npmcli/run-script" "7.0.2" + "@npmcli/arborist" "7.5.4" + "@npmcli/package-json" "5.2.0" + "@npmcli/run-script" "8.1.0" "@nx/devkit" ">=17.1.2 < 20" "@octokit/plugin-enterprise-rest" "6.0.1" "@octokit/rest" "19.0.11" + aproba "2.0.0" byte-size "8.1.1" chalk "4.1.0" clone-deep "4.0.1" - cmd-shim "6.0.1" + cmd-shim "6.0.3" + color-support "1.1.3" columnify "1.6.0" + console-control-strings "^1.1.0" conventional-changelog-core "5.0.1" conventional-recommended-bump "7.0.1" cosmiconfig "^8.2.0" - dedent "0.7.0" + dedent "1.5.3" execa "5.0.0" - fs-extra "^11.1.1" + fs-extra "^11.2.0" get-stream "6.0.0" - git-url-parse "13.1.0" - glob-parent "5.1.2" + git-url-parse "14.0.0" + glob-parent "6.0.2" globby "11.1.0" graceful-fs "4.2.11" has-unicode "2.0.1" ini "^1.3.8" - init-package-json "5.0.0" + init-package-json "6.0.3" inquirer "^8.2.4" is-ci "3.0.1" is-stream "2.0.0" js-yaml "4.1.0" - libnpmpublish "7.3.0" + libnpmpublish "9.0.9" load-json-file "6.2.0" lodash "^4.17.21" make-dir "4.0.0" minimatch "3.0.5" multimatch "5.0.0" node-fetch "2.6.7" - npm-package-arg "8.1.1" - npm-packlist "5.1.1" - npm-registry-fetch "^14.0.5" - npmlog "^6.0.2" + npm-package-arg "11.0.2" + npm-packlist "8.0.2" + npm-registry-fetch "^17.1.0" nx ">=17.1.2 < 20" p-map "4.0.0" p-map-series "2.1.0" p-queue "6.6.2" p-reduce "^2.1.0" - pacote "^17.0.5" + pacote "^18.0.6" pify "5.0.0" read-cmd-shim "4.0.0" - read-package-json "6.0.4" resolve-from "5.0.0" rimraf "^4.4.1" semver "^7.3.4" + set-blocking "^2.0.0" signal-exit "3.0.7" slash "^3.0.0" - ssri "^9.0.1" + ssri "^10.0.6" + string-width "^4.2.3" + strip-ansi "^6.0.1" strong-log-transformer "2.1.0" tar "6.2.1" temp-dir "1.0.0" upath "2.0.1" - uuid "^9.0.0" + uuid "^10.0.0" validate-npm-package-license "^3.0.4" - validate-npm-package-name "5.0.0" + validate-npm-package-name "5.0.1" + wide-align "1.1.5" write-file-atomic "5.0.1" write-pkg "4.0.0" yargs "17.7.2" yargs-parser "21.1.1" -"@metamask/abi-utils@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@metamask/abi-utils/-/abi-utils-2.0.2.tgz#ad394e9cb8a95ac177cad942daadd88a246c0de8" - integrity sha512-B/A1dY/w4F/t6cDHUscklO6ovb/ztFsrsTXFd8QlqSByk/vyy+QbPE3VVpmmyI/7RX+PA1AJcvBdzCIz+r9dVQ== - dependencies: - "@metamask/utils" "^8.0.0" - superstruct "^1.0.3" - "@metamask/eth-sig-util@^4.0.0": version "4.0.1" resolved "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz" @@ -1164,48 +1108,6 @@ tweetnacl "^1.0.3" tweetnacl-util "^0.15.1" -"@metamask/eth-sig-util@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-7.0.0.tgz#b035a2b826018578a5d463668bb64828271376d8" - integrity sha512-8KeXZB4SKx3EfNS5ahbjUMegyGvDQYk6Nk3hmM658sXpfAQR5ZlIXBgj+9RF+ZROqsU6EuNVgKt7Fr10re60PQ== - dependencies: - "@ethereumjs/util" "^8.1.0" - "@metamask/abi-utils" "^2.0.2" - "@metamask/utils" "^8.1.0" - ethereum-cryptography "^2.1.2" - ethjs-util "^0.1.6" - tweetnacl "^1.0.3" - tweetnacl-util "^0.15.1" - -"@metamask/rpc-errors@^6.1.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@metamask/rpc-errors/-/rpc-errors-6.1.0.tgz#dfdef7cba4b9ad01ca3f99e990b5980575b89b4f" - integrity sha512-JQElKxai26FpDyRKO/yH732wI+BV90i1u6pOuDOpdADSbppB2g1pPh3AGST1zkZqEE9eIKIUw8UdBQ4rp3VTSg== - dependencies: - "@metamask/utils" "^8.1.0" - fast-safe-stringify "^2.0.6" - -"@metamask/utils@^8.0.0", "@metamask/utils@^8.1.0": - version "8.2.0" - resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-8.2.0.tgz#51d608faf1ba7ba021084682160f275bb127d137" - integrity sha512-Zjx6y0PPrf9B4pdZ8JHl0grwJf/qNJ1dzYQh10/QSlj7Ct9Qy+r9PzdgGUHgA4oHohe1Phwy8MFnzB6TWZE11A== - dependencies: - "@ethereumjs/tx" "^4.2.0" - "@noble/hashes" "^1.3.1" - "@scure/base" "^1.1.3" - "@types/debug" "^4.1.7" - debug "^4.3.4" - pony-cause "^2.1.10" - semver "^7.5.4" - superstruct "^1.0.3" - -"@monerium/sdk@^2.12.0": - version "2.12.0" - resolved "https://registry.yarnpkg.com/@monerium/sdk/-/sdk-2.12.0.tgz#57ccc1668a354c28d083c29928690f15fe11c479" - integrity sha512-tZxQNAlUpCbVkZfWIVB2yWYjyYZGKckEfzUZbWQyDdxUo487iNJQRr1Z64MZofJ/gKCPfOPJbiZzUGWbl8eLQA== - dependencies: - crypto-js "^4.2.0" - "@noble/curves@1.1.0", "@noble/curves@~1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.1.0.tgz#f13fc667c89184bc04cccb9b11e8e7bae27d8c3d" @@ -1261,12 +1163,17 @@ resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz" integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== -"@noble/hashes@1.4.0", "@noble/hashes@^1.3.3", "@noble/hashes@^1.4.0", "@noble/hashes@~1.4.0": +"@noble/hashes@1.4.0", "@noble/hashes@~1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== -"@noble/hashes@^1.3.1", "@noble/hashes@~1.3.0", "@noble/hashes@~1.3.1": +"@noble/hashes@^1.3.3", "@noble/hashes@^1.4.0", "@noble/hashes@~1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.5.0.tgz#abadc5ca20332db2b1b2aa3e496e9af1213570b0" + integrity sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA== + +"@noble/hashes@~1.3.0", "@noble/hashes@~1.3.1": version "1.3.3" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699" integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== @@ -1345,34 +1252,6 @@ "@nomicfoundation/edr-linux-x64-musl" "0.5.0" "@nomicfoundation/edr-win32-x64-msvc" "0.5.0" -"@nomicfoundation/ethereumjs-block@5.0.4": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-5.0.4.tgz#ff2acb98a86b9290e35e315a6abfb9aebb9cf39e" - integrity sha512-AcyacJ9eX/uPEvqsPiB+WO1ymE+kyH48qGGiGV+YTojdtas8itUTW5dehDSOXEEItWGbbzEJ4PRqnQZlWaPvDw== - dependencies: - "@nomicfoundation/ethereumjs-common" "4.0.4" - "@nomicfoundation/ethereumjs-rlp" "5.0.4" - "@nomicfoundation/ethereumjs-trie" "6.0.4" - "@nomicfoundation/ethereumjs-tx" "5.0.4" - "@nomicfoundation/ethereumjs-util" "9.0.4" - ethereum-cryptography "0.1.3" - -"@nomicfoundation/ethereumjs-blockchain@7.0.4": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-7.0.4.tgz#b77511b389290b186c8d999e70f4b15c27ef44ea" - integrity sha512-jYsd/kwzbmpnxx86tXsYV8wZ5xGvFL+7/P0c6OlzpClHsbFzeF41KrYA9scON8Rg6bZu3ZTv6JOAgj3t7USUfg== - dependencies: - "@nomicfoundation/ethereumjs-block" "5.0.4" - "@nomicfoundation/ethereumjs-common" "4.0.4" - "@nomicfoundation/ethereumjs-ethash" "3.0.4" - "@nomicfoundation/ethereumjs-rlp" "5.0.4" - "@nomicfoundation/ethereumjs-trie" "6.0.4" - "@nomicfoundation/ethereumjs-tx" "5.0.4" - "@nomicfoundation/ethereumjs-util" "9.0.4" - debug "^4.3.3" - ethereum-cryptography "0.1.3" - lru-cache "^10.0.0" - "@nomicfoundation/ethereumjs-common@4.0.4": version "4.0.4" resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.4.tgz#9901f513af2d4802da87c66d6f255b510bef5acb" @@ -1380,62 +1259,11 @@ dependencies: "@nomicfoundation/ethereumjs-util" "9.0.4" -"@nomicfoundation/ethereumjs-ethash@3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-3.0.4.tgz#06cb2502b3012fb6c11cffd44af08aecf71310da" - integrity sha512-xvIrwIMl9sSaiYKRem68+O7vYdj7Q2XWv5P7JXiIkn83918QzWHvqbswTRsH7+r6X1UEvdsURRnZbvZszEjAaQ== - dependencies: - "@nomicfoundation/ethereumjs-block" "5.0.4" - "@nomicfoundation/ethereumjs-rlp" "5.0.4" - "@nomicfoundation/ethereumjs-util" "9.0.4" - bigint-crypto-utils "^3.2.2" - ethereum-cryptography "0.1.3" - -"@nomicfoundation/ethereumjs-evm@2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-2.0.4.tgz#c9c761767283ac53946185474362230b169f8f63" - integrity sha512-lTyZZi1KpeMHzaO6cSVisR2tjiTTedjo7PcmhI/+GNFo9BmyY6QYzGeSti0sFttmjbEMioHgXxl5yrLNRg6+1w== - dependencies: - "@nomicfoundation/ethereumjs-common" "4.0.4" - "@nomicfoundation/ethereumjs-statemanager" "2.0.4" - "@nomicfoundation/ethereumjs-tx" "5.0.4" - "@nomicfoundation/ethereumjs-util" "9.0.4" - "@types/debug" "^4.1.9" - debug "^4.3.3" - ethereum-cryptography "0.1.3" - rustbn-wasm "^0.2.0" - "@nomicfoundation/ethereumjs-rlp@5.0.4": version "5.0.4" resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.4.tgz#66c95256fc3c909f6fb18f6a586475fc9762fa30" integrity sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw== -"@nomicfoundation/ethereumjs-statemanager@2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-2.0.4.tgz#bf14415e1f31b5ea8b98a0c027c547d0555059b6" - integrity sha512-HPDjeFrxw6llEi+BzqXkZ+KkvFnTOPczuHBtk21hRlDiuKuZz32dPzlhpRsDBGV1b5JTmRDUVqCS1lp3Gghw4Q== - dependencies: - "@nomicfoundation/ethereumjs-common" "4.0.4" - "@nomicfoundation/ethereumjs-rlp" "5.0.4" - "@nomicfoundation/ethereumjs-trie" "6.0.4" - "@nomicfoundation/ethereumjs-util" "9.0.4" - debug "^4.3.3" - ethereum-cryptography "0.1.3" - js-sdsl "^4.1.4" - lru-cache "^10.0.0" - -"@nomicfoundation/ethereumjs-trie@6.0.4": - version "6.0.4" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-6.0.4.tgz#688a3f76646c209365ee6d959c3d7330ede5e609" - integrity sha512-3nSwQiFMvr2VFe/aZUyinuohYvtytUqZCUCvIWcPJ/BwJH6oQdZRB42aNFBJ/8nAh2s3OcroWpBLskzW01mFKA== - dependencies: - "@nomicfoundation/ethereumjs-rlp" "5.0.4" - "@nomicfoundation/ethereumjs-util" "9.0.4" - "@types/readable-stream" "^2.3.13" - ethereum-cryptography "0.1.3" - lru-cache "^10.0.0" - readable-stream "^3.6.0" - "@nomicfoundation/ethereumjs-tx@5.0.4": version "5.0.4" resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.4.tgz#b0ceb58c98cc34367d40a30d255d6315b2f456da" @@ -1454,37 +1282,10 @@ "@nomicfoundation/ethereumjs-rlp" "5.0.4" ethereum-cryptography "0.1.3" -"@nomicfoundation/ethereumjs-verkle@0.0.2": - version "0.0.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-verkle/-/ethereumjs-verkle-0.0.2.tgz#7686689edec775b2efea5a71548f417c18f7dea4" - integrity sha512-bjnfZElpYGK/XuuVRmLS3yDvr+cDs85D9oonZ0YUa5A3lgFgokWMp76zXrxX2jVQ0BfHaw12y860n1+iOi6yFQ== - dependencies: - "@nomicfoundation/ethereumjs-rlp" "5.0.4" - "@nomicfoundation/ethereumjs-util" "9.0.4" - lru-cache "^10.0.0" - rust-verkle-wasm "^0.0.1" - -"@nomicfoundation/ethereumjs-vm@7.0.4": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-7.0.4.tgz#e5a6eec4877dc62dda93003c6d7afd1fe4b9625b" - integrity sha512-gsA4IhmtWHI4BofKy3kio9W+dqZQs5Ji5mLjLYxHCkat+JQBUt5szjRKra2F9nGDJ2XcI/wWb0YWUFNgln4zRQ== - dependencies: - "@nomicfoundation/ethereumjs-block" "5.0.4" - "@nomicfoundation/ethereumjs-blockchain" "7.0.4" - "@nomicfoundation/ethereumjs-common" "4.0.4" - "@nomicfoundation/ethereumjs-evm" "2.0.4" - "@nomicfoundation/ethereumjs-rlp" "5.0.4" - "@nomicfoundation/ethereumjs-statemanager" "2.0.4" - "@nomicfoundation/ethereumjs-trie" "6.0.4" - "@nomicfoundation/ethereumjs-tx" "5.0.4" - "@nomicfoundation/ethereumjs-util" "9.0.4" - debug "^4.3.3" - ethereum-cryptography "0.1.3" - -"@nomicfoundation/hardhat-viem@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-viem/-/hardhat-viem-2.0.2.tgz#91d7a6d3e66c93bc39b2322420a1bad82360df7d" - integrity sha512-Ek2lGjrt15IdDkq5+24CGeAQzlr/4UwUx0UKx6IVW/QOHGr1bk21KipUugFIyEjEltcgyUJcPJ02XFTcjgnwZA== +"@nomicfoundation/hardhat-viem@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-viem/-/hardhat-viem-2.0.4.tgz#37f6f8536ad5f2b8fecd85939853c366767b59f1" + integrity sha512-+L8bOZc7yQKkGxhEARhecrNRG2mxu4bZmNJyvKg9Teig0SOim5j8h3iFdVVx6u9Lc9DIVDDY6P1Vpb8P8tKZVQ== dependencies: abitype "^0.9.8" lodash.memoize "^4.1.2" @@ -1566,10 +1367,51 @@ lru-cache "^10.0.1" socks-proxy-agent "^8.0.3" -"@npmcli/fs@^3.1.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz" - integrity sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w== +"@npmcli/arborist@7.5.4": + version "7.5.4" + resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-7.5.4.tgz#3dd9e531d6464ef6715e964c188e0880c471ac9b" + integrity sha512-nWtIc6QwwoUORCRNzKx4ypHqCk3drI+5aeYdMTQQiRCcn4lOOgfQh7WyZobGYTxXPSq1VwV53lkpN/BRlRk08g== + dependencies: + "@isaacs/string-locale-compare" "^1.1.0" + "@npmcli/fs" "^3.1.1" + "@npmcli/installed-package-contents" "^2.1.0" + "@npmcli/map-workspaces" "^3.0.2" + "@npmcli/metavuln-calculator" "^7.1.1" + "@npmcli/name-from-folder" "^2.0.0" + "@npmcli/node-gyp" "^3.0.0" + "@npmcli/package-json" "^5.1.0" + "@npmcli/query" "^3.1.0" + "@npmcli/redact" "^2.0.0" + "@npmcli/run-script" "^8.1.0" + bin-links "^4.0.4" + cacache "^18.0.3" + common-ancestor-path "^1.0.1" + hosted-git-info "^7.0.2" + json-parse-even-better-errors "^3.0.2" + json-stringify-nice "^1.1.4" + lru-cache "^10.2.2" + minimatch "^9.0.4" + nopt "^7.2.1" + npm-install-checks "^6.2.0" + npm-package-arg "^11.0.2" + npm-pick-manifest "^9.0.1" + npm-registry-fetch "^17.0.1" + pacote "^18.0.6" + parse-conflict-json "^3.0.0" + proc-log "^4.2.0" + proggy "^2.0.0" + promise-all-reject-late "^1.0.0" + promise-call-limit "^3.0.1" + read-package-json-fast "^3.0.2" + semver "^7.3.7" + ssri "^10.0.6" + treeverse "^3.0.0" + walk-up-path "^3.0.1" + +"@npmcli/fs@^3.1.0", "@npmcli/fs@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.1.tgz#59cdaa5adca95d135fc00f2bb53f5771575ce726" + integrity sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg== dependencies: semver "^7.3.5" @@ -1587,20 +1429,46 @@ semver "^7.3.5" which "^4.0.0" -"@npmcli/installed-package-contents@^2.0.1": - version "2.0.2" - resolved "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz" - integrity sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ== +"@npmcli/installed-package-contents@^2.0.1", "@npmcli/installed-package-contents@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz#63048e5f6e40947a3a88dcbcb4fd9b76fdd37c17" + integrity sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w== dependencies: npm-bundled "^3.0.0" npm-normalize-package-bin "^3.0.0" +"@npmcli/map-workspaces@^3.0.2": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-3.0.6.tgz#27dc06c20c35ef01e45a08909cab9cb3da08cea6" + integrity sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA== + dependencies: + "@npmcli/name-from-folder" "^2.0.0" + glob "^10.2.2" + minimatch "^9.0.0" + read-package-json-fast "^3.0.0" + +"@npmcli/metavuln-calculator@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-7.1.1.tgz#4d3b6c3192f72bc8ad59476de0da939c33877fcf" + integrity sha512-Nkxf96V0lAx3HCpVda7Vw4P23RILgdi/5K1fmj2tZkWIYLpXAN8k2UVVOsW16TsS5F8Ws2I7Cm+PU1/rsVF47g== + dependencies: + cacache "^18.0.0" + json-parse-even-better-errors "^3.0.0" + pacote "^18.0.0" + proc-log "^4.1.0" + semver "^7.3.5" + +"@npmcli/name-from-folder@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz#c44d3a7c6d5c184bb6036f4d5995eee298945815" + integrity sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg== + "@npmcli/node-gyp@^3.0.0": version "3.0.0" resolved "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz" integrity sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA== -"@npmcli/package-json@^5.0.0": +"@npmcli/package-json@5.2.0", "@npmcli/package-json@^5.0.0", "@npmcli/package-json@^5.1.0": version "5.2.0" resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-5.2.0.tgz#a1429d3111c10044c7efbfb0fce9f2c501f4cfad" integrity sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ== @@ -1620,31 +1488,28 @@ dependencies: which "^4.0.0" -"@npmcli/redact@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/redact/-/redact-1.1.0.tgz#78e53a6a34f013543a73827a07ebdc3a6f10454b" - integrity sha512-PfnWuOkQgu7gCbnSsAisaX7hKOdZ4wSAhAzH3/ph5dSGau52kCRrMMGbiSQLwyTZpgldkZ49b0brkOr1AzGBHQ== - -"@npmcli/run-script@7.0.2": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-7.0.2.tgz#497e7f058799497889df65900c711312252276d3" - integrity sha512-Omu0rpA8WXvcGeY6DDzyRoY1i5DkCBkzyJ+m2u7PD6quzb0TvSqdIPOkTn8ZBOj7LbbcbMfZ3c5skwSu6m8y2w== +"@npmcli/query@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-3.1.0.tgz#bc202c59e122a06cf8acab91c795edda2cdad42c" + integrity sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ== dependencies: - "@npmcli/node-gyp" "^3.0.0" - "@npmcli/promise-spawn" "^7.0.0" - node-gyp "^10.0.0" - read-package-json-fast "^3.0.0" - which "^4.0.0" + postcss-selector-parser "^6.0.10" -"@npmcli/run-script@^7.0.0": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-7.0.4.tgz#9f29aaf4bfcf57f7de2a9e28d1ef091d14b2e6eb" - integrity sha512-9ApYM/3+rBt9V80aYg6tZfzj3UWdiYyCt7gJUD1VJKvWF5nwKDSICXbYIQbspFTq6TOpbsEtIC0LArB8d9PFmg== +"@npmcli/redact@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/redact/-/redact-2.0.1.tgz#95432fd566e63b35c04494621767a4312c316762" + integrity sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw== + +"@npmcli/run-script@8.1.0", "@npmcli/run-script@^8.0.0", "@npmcli/run-script@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-8.1.0.tgz#a563e5e29b1ca4e648a6b1bbbfe7220b4bfe39fc" + integrity sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg== dependencies: "@npmcli/node-gyp" "^3.0.0" "@npmcli/package-json" "^5.0.0" "@npmcli/promise-spawn" "^7.0.0" node-gyp "^10.0.0" + proc-log "^4.0.0" which "^4.0.0" "@nrwl/devkit@19.3.0": @@ -1870,10 +1735,10 @@ resolved "https://registry.yarnpkg.com/@safe-global/safe-contracts/-/safe-contracts-1.4.1-build.0.tgz#5d82e2f3fd8430b4589df992b9ee2c71386082fe" integrity sha512-TIpoKJtMqLcLFoid0cvpxo8YTcnRUj95MHvxzwgPbJPRONOckNS6ebgGyBBRDmnpxFh34IBpPUZ7JD+z2Cfbbg== -"@safe-global/safe-deployments@^1.37.5": - version "1.37.5" - resolved "https://registry.yarnpkg.com/@safe-global/safe-deployments/-/safe-deployments-1.37.5.tgz#aa9c929e5017898e5f5dd0825baa067c132f8cb1" - integrity sha512-/HdBFQlCQ08kDFDuUCgmb6vxJVsDYvM+Iyj6vfsPCsq9SEdELd5mfA8DQU56kpNVg0WHM3BSznc7yphW3mx9BQ== +"@safe-global/safe-deployments@^1.37.9": + version "1.37.9" + resolved "https://registry.yarnpkg.com/@safe-global/safe-deployments/-/safe-deployments-1.37.9.tgz#efcc3633cab725c91a1961d09e6a6b70c4006b1f" + integrity sha512-j/4V5fJNddi4/oBhuDWSx2ocfXMkNGBpke2B3nPTIrzgXQam0wObkBQOe85tqjte9KEuDPW1D3bvvVCdz0WrRQ== dependencies: semver "^7.6.2" @@ -1890,15 +1755,10 @@ "@safe-global/safe-contracts" "^1.4.1-build.0" cbor "^9.0.2" -"@scure/base@^1.1.1", "@scure/base@^1.1.3", "@scure/base@~1.1.0": - version "1.1.6" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.6.tgz#8ce5d304b436e4c84f896e0550c83e4d88cb917d" - integrity sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g== - -"@scure/base@~1.1.6": - version "1.1.7" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.7.tgz#fe973311a5c6267846aa131bc72e96c5d40d2b30" - integrity sha512-PPNYBslrLNNUQ/Yad37MHYsNQtK67EhWb6WtSvNLLPo7SdVZgkUjD6Dg+5On7zNwmskf8OX7I7Nx5oN+MIWE0g== +"@scure/base@~1.1.0", "@scure/base@~1.1.6", "@scure/base@~1.1.8": + version "1.1.8" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.8.tgz#8f23646c352f020c83bca750a82789e246d42b50" + integrity sha512-6CyAclxj3Nb0XT7GHK6K4zK6k2xJm6E4Ft0Ohjt4WgegiFUHEtFb2CGzmPmGBwoIhrLsqNLYfLr04Y1GePrzZg== "@scure/bip32@1.1.5": version "1.1.5" @@ -1943,13 +1803,13 @@ "@noble/hashes" "~1.3.0" "@scure/base" "~1.1.0" -"@scure/bip39@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.3.0.tgz#0f258c16823ddd00739461ac31398b4e7d6a18c3" - integrity sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ== +"@scure/bip39@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.4.0.tgz#664d4f851564e2e1d4bffa0339f9546ea55960a6" + integrity sha512-BEEm6p8IueV/ZTfQLp/0vhw4NPnT9oWf5+28nvmeUICjP99f4vr2d+qc7AVGDDtwRep6ifR43Yed9ERVmiITzw== dependencies: - "@noble/hashes" "~1.4.0" - "@scure/base" "~1.1.6" + "@noble/hashes" "~1.5.0" + "@scure/base" "~1.1.8" "@sentry/core@5.30.0": version "5.30.0" @@ -2019,13 +1879,6 @@ "@sentry/types" "5.30.0" tslib "^1.9.3" -"@sigstore/bundle@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@sigstore/bundle/-/bundle-1.1.0.tgz" - integrity sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog== - dependencies: - "@sigstore/protobuf-specs" "^0.2.0" - "@sigstore/bundle@^2.3.2": version "2.3.2" resolved "https://registry.yarnpkg.com/@sigstore/bundle/-/bundle-2.3.2.tgz#ad4dbb95d665405fd4a7a02c8a073dbd01e4e95e" @@ -2038,25 +1891,11 @@ resolved "https://registry.yarnpkg.com/@sigstore/core/-/core-1.1.0.tgz#5583d8f7ffe599fa0a89f2bf289301a5af262380" integrity sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg== -"@sigstore/protobuf-specs@^0.2.0": - version "0.2.1" - resolved "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz" - integrity sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A== - "@sigstore/protobuf-specs@^0.3.2": version "0.3.2" resolved "https://registry.yarnpkg.com/@sigstore/protobuf-specs/-/protobuf-specs-0.3.2.tgz#5becf88e494a920f548d0163e2978f81b44b7d6f" integrity sha512-c6B0ehIWxMI8wiS/bj6rHMPqeFvngFV7cDU/MY+B16P9Z3Mp9k8L93eYZ7BYzSickzuqAQqAq0V956b3Ju6mLw== -"@sigstore/sign@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@sigstore/sign/-/sign-1.0.0.tgz" - integrity sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA== - dependencies: - "@sigstore/bundle" "^1.1.0" - "@sigstore/protobuf-specs" "^0.2.0" - make-fetch-happen "^11.0.1" - "@sigstore/sign@^2.3.2": version "2.3.2" resolved "https://registry.yarnpkg.com/@sigstore/sign/-/sign-2.3.2.tgz#d3d01e56d03af96fd5c3a9b9897516b1233fc1c4" @@ -2069,14 +1908,6 @@ proc-log "^4.2.0" promise-retry "^2.0.1" -"@sigstore/tuf@^1.0.3": - version "1.0.3" - resolved "https://registry.npmjs.org/@sigstore/tuf/-/tuf-1.0.3.tgz" - integrity sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg== - dependencies: - "@sigstore/protobuf-specs" "^0.2.0" - tuf-js "^1.1.7" - "@sigstore/tuf@^2.3.4": version "2.3.4" resolved "https://registry.yarnpkg.com/@sigstore/tuf/-/tuf-2.3.4.tgz#da1d2a20144f3b87c0172920cbc8dcc7851ca27c" @@ -2141,131 +1972,6 @@ resolved "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz" integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ== -"@socket.io/component-emitter@~3.1.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz" - integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== - -"@stripe/crypto@^0.0.4": - version "0.0.4" - resolved "https://registry.npmjs.org/@stripe/crypto/-/crypto-0.0.4.tgz" - integrity sha512-gcD/aG0N90ZrNVppWYf9ADPECptw6PVtF67VIeaFP7fhgd2NvNx8erkzlcvk3VIVSY+bZ6YGX7c7cASoySX74Q== - -"@stripe/stripe-js@^1.54.2": - version "1.54.2" - resolved "https://registry.npmjs.org/@stripe/stripe-js/-/stripe-js-1.54.2.tgz" - integrity sha512-R1PwtDvUfs99cAjfuQ/WpwJ3c92+DAMy9xGApjqlWQMj0FKQabUAys2swfTRNzuYAYJh7NqK2dzcYVNkKLEKUg== - -"@tootallnate/once@2": - version "2.0.0" - resolved "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz" - integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== - -"@toruslabs/base-controllers@^4.8.0": - version "4.8.0" - resolved "https://registry.yarnpkg.com/@toruslabs/base-controllers/-/base-controllers-4.8.0.tgz#8784a91c885ffc2f3dea05ecdc6960f87d6b3e25" - integrity sha512-FfmbR44NEMBCptrKnUrUHs1VdC59g3GbuALScTnuv4DN+ilW7YmSGixQzYfri1OJsSns3WV1KfhyBItseGNMVA== - dependencies: - "@ethereumjs/util" "^9.0.1" - "@metamask/rpc-errors" "^6.1.0" - "@toruslabs/broadcast-channel" "^9.0.1" - "@toruslabs/http-helpers" "^5.0.0" - "@toruslabs/openlogin-jrpc" "^6.0.0" - async-mutex "^0.4.0" - bignumber.js "^9.1.2" - bowser "^2.11.0" - lodash "^4.17.21" - loglevel "^1.8.1" - -"@toruslabs/broadcast-channel@^9.0.1": - version "9.0.1" - resolved "https://registry.yarnpkg.com/@toruslabs/broadcast-channel/-/broadcast-channel-9.0.1.tgz#ade7b642e4304ef23615bcf0914852d051b47fed" - integrity sha512-xypCZwwD+cJ8fRCtMiJMWuuPg/9rf4P3AhWGkrTKL49GXFEx23akUjq/ti4n1o1uJdQok6E9MH9Z/JpLniyRaA== - dependencies: - "@babel/runtime" "^7.22.10" - "@toruslabs/eccrypto" "^4.0.0" - "@toruslabs/metadata-helpers" "^5.0.0" - bowser "^2.11.0" - loglevel "^1.8.1" - oblivious-set "1.1.1" - socket.io-client "^4.7.2" - unload "^2.4.1" - -"@toruslabs/constants@^13.0.3": - version "13.0.3" - resolved "https://registry.yarnpkg.com/@toruslabs/constants/-/constants-13.0.3.tgz#260a3e5c430d201bd3d92e13ef2044bd89a4432e" - integrity sha512-DiksceNFwzV4XBwcPdKpV6tfrvWIxhmwseTJbNnlzdy6uXgzvtagfapu+98pjrkNrjoRLiM17QBgBi8sNw7oGQ== - -"@toruslabs/eccrypto@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@toruslabs/eccrypto/-/eccrypto-4.0.0.tgz#0b27ed2d1e9483e77f42a7619a2c3c19cb802f44" - integrity sha512-Z3EINkbsgJx1t6jCDVIJjLSUEGUtNIeDjhMWmeDGOWcP/+v/yQ1hEvd1wfxEz4q5WqIHhevacmPiVxiJ4DljGQ== - dependencies: - elliptic "^6.5.4" - -"@toruslabs/ethereum-controllers@^4.9.0": - version "4.9.0" - resolved "https://registry.yarnpkg.com/@toruslabs/ethereum-controllers/-/ethereum-controllers-4.9.0.tgz#fc812a32efddb983519bb88b54277b56c3c8c993" - integrity sha512-rgqwWB2i6cd/9ICxNBFk/oimhqV7Qk/XI21eliKqkdnL6SnjceGCxDjoSH2LQL1wbczF6oV6sZpRZcO7sd1EYg== - dependencies: - "@ethereumjs/common" "^4.1.0" - "@ethereumjs/tx" "^5.1.0" - "@ethereumjs/util" "^9.0.1" - "@metamask/eth-sig-util" "^7.0.0" - "@metamask/rpc-errors" "^6.1.0" - "@toruslabs/base-controllers" "^4.8.0" - "@toruslabs/http-helpers" "^5.0.0" - "@toruslabs/openlogin-jrpc" "^6.0.0" - async-mutex "^0.4.0" - bignumber.js "^9.1.2" - bn.js "^5.2.1" - ethers "^6.8.1" - fast-json-patch "^3.1.1" - jsonschema "^1.4.1" - lodash "^4.17.21" - loglevel "^1.8.1" - -"@toruslabs/http-helpers@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@toruslabs/http-helpers/-/http-helpers-5.0.0.tgz#2a309d2a2c5c00d50a725d83ccec8a7475771d62" - integrity sha512-GmezWz9JeF6YyhjLSm+9XDF4YaeICEckY0Jbo43i86SjhfJYgRWqEi63VSiNsaqc/z810Q0FQvEk1TnBRX2tgA== - dependencies: - lodash.merge "^4.6.2" - loglevel "^1.8.1" - -"@toruslabs/metadata-helpers@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@toruslabs/metadata-helpers/-/metadata-helpers-5.0.0.tgz#12be5de4e8a5d1af2dd080bdf05f5ad8953aaae7" - integrity sha512-ZUFfOHJVJC53c8wJYHjdF3bIgN2ZvfqehbTZ/zJ7oVFfrrd6O66V3gQ1i1zxBjH3yhOvZKQwc0DaMmh3G0NUXQ== - dependencies: - "@toruslabs/eccrypto" "^4.0.0" - "@toruslabs/http-helpers" "^5.0.0" - elliptic "^6.5.4" - ethereum-cryptography "^2.1.2" - json-stable-stringify "^1.0.2" - -"@toruslabs/openlogin-jrpc@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@toruslabs/openlogin-jrpc/-/openlogin-jrpc-6.0.0.tgz#3f96a51f4975d9800e775084e572aeccee514e31" - integrity sha512-qi4h0/abyreyeoL+mg4I8nkC/QmP7ID1nRCrz+Uzx/t8d7I11kmpVXwjclVxhd1qt+m4uXaWFaFZONBjYdBYqw== - dependencies: - "@metamask/rpc-errors" "^6.1.0" - "@toruslabs/openlogin-utils" "^6.0.0" - end-of-stream "^1.4.4" - events "^3.3.0" - fast-safe-stringify "^2.1.1" - once "^1.4.0" - pump "^3.0.0" - readable-stream "^4.4.2" - -"@toruslabs/openlogin-utils@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@toruslabs/openlogin-utils/-/openlogin-utils-6.0.0.tgz#99b03c9d8aef9df02cef98fdf7c067c71157b94a" - integrity sha512-BbKgkUCNpGTJxuPSDYBoKEDSJ+q3bC0Po4VOUjszBNtHMlAcubIkuTLPt7qBQkLAtbiW4cfkojTRRjIGEcUaQQ== - dependencies: - "@toruslabs/constants" "^13.0.3" - base64url "^3.0.1" - "@tsconfig/node10@^1.0.7": version "1.0.9" resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" @@ -2286,24 +1992,11 @@ resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz" integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== -"@tufjs/canonical-json@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz" - integrity sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ== - "@tufjs/canonical-json@2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz#a52f61a3d7374833fca945b2549bc30a2dd40d0a" integrity sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA== -"@tufjs/models@1.0.4": - version "1.0.4" - resolved "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz" - integrity sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A== - dependencies: - "@tufjs/canonical-json" "1.0.0" - minimatch "^9.0.0" - "@tufjs/models@2.0.1": version "2.0.1" resolved "https://registry.yarnpkg.com/@tufjs/models/-/models-2.0.1.tgz#e429714e753b6c2469af3212e7f320a6973c2812" @@ -2366,17 +2059,10 @@ dependencies: "@types/chai" "*" -"@types/chai@*", "@types/chai@^4.3.16": - version "4.3.16" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.16.tgz#b1572967f0b8b60bf3f87fe1d854a5604ea70c82" - integrity sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ== - -"@types/debug@^4.1.7", "@types/debug@^4.1.9": - version "4.1.12" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" - integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== - dependencies: - "@types/ms" "*" +"@types/chai@*", "@types/chai@^4.3.19": + version "4.3.19" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.19.tgz#14519f437361d41e84102ed3fbc922ddace3e228" + integrity sha512-2hHHvQBVE2FiSK4eN0Br6snX9MtolHaTo/batnLjlGRhoQzlCL61iVpxoqO7SfFyOw+P/pwv+0zNHzKoGWz9Cw== "@types/graceful-fs@^4.1.3": version "4.1.6" @@ -2404,23 +2090,14 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@^29.5.12": - version "29.5.12" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.12.tgz#7f7dc6eb4cf246d2474ed78744b05d06ce025544" - integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== +"@types/jest@^29.5.13": + version "29.5.13" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.13.tgz#8bc571659f401e6a719a7bf0dbcb8b78c71a8adc" + integrity sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg== dependencies: expect "^29.0.0" pretty-format "^29.0.0" -"@types/jsdom@^20.0.0": - version "20.0.1" - resolved "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz" - integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ== - dependencies: - "@types/node" "*" - "@types/tough-cookie" "*" - parse5 "^7.0.0" - "@types/lru-cache@^5.1.0": version "5.1.1" resolved "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz" @@ -2436,15 +2113,10 @@ resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz" integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== -"@types/mocha@^10.0.6": - version "10.0.6" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.6.tgz#818551d39113081048bdddbef96701b4e8bb9d1b" - integrity sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg== - -"@types/ms@*": - version "0.7.34" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" - integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== +"@types/mocha@^10.0.8": + version "10.0.8" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.8.tgz#a7eff5816e070c3b4d803f1d3cd780c4e42934a1" + integrity sha512-HfMcUmy9hTMJh66VNcmeC9iVErIZJli2bszuXc6julh5YGuRb/W5OnkHjwLNYdFlMis0sY3If5SEAp+PktdJjw== "@types/node-fetch@^2.6.11": version "2.6.11" @@ -2483,14 +2155,6 @@ resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== -"@types/readable-stream@^2.3.13": - version "2.3.15" - resolved "https://registry.yarnpkg.com/@types/readable-stream/-/readable-stream-2.3.15.tgz#3d79c9ceb1b6a57d5f6e6976f489b9b5384321ae" - integrity sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ== - dependencies: - "@types/node" "*" - safe-buffer "~5.1.1" - "@types/secp256k1@^4.0.1": version "4.0.3" resolved "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz" @@ -2528,11 +2192,6 @@ resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== -"@types/tough-cookie@*": - version "4.0.2" - resolved "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz" - integrity sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw== - "@types/ws@8.5.3": version "8.5.3" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" @@ -2545,69 +2204,69 @@ resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== -"@types/yargs@^17.0.32", "@types/yargs@^17.0.8": +"@types/yargs@^17.0.8": version "17.0.32" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^7.13.1": - version "7.13.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.13.1.tgz#cdc521c8bca38b55585cf30db787fb2abad3f9fd" - integrity sha512-kZqi+WZQaZfPKnsflLJQCz6Ze9FFSMfXrrIOcyargekQxG37ES7DJNpJUE9Q/X5n3yTIP/WPutVNzgknQ7biLg== +"@typescript-eslint/eslint-plugin@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz#b16d3cf3ee76bf572fdf511e79c248bdec619ea3" + integrity sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "7.13.1" - "@typescript-eslint/type-utils" "7.13.1" - "@typescript-eslint/utils" "7.13.1" - "@typescript-eslint/visitor-keys" "7.13.1" + "@typescript-eslint/scope-manager" "7.18.0" + "@typescript-eslint/type-utils" "7.18.0" + "@typescript-eslint/utils" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^1.3.0" -"@typescript-eslint/parser@^7.13.1": - version "7.13.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.13.1.tgz#fac57811b3e519185f7259bac312291f7b9c4e72" - integrity sha512-1ELDPlnLvDQ5ybTSrMhRTFDfOQEOXNM+eP+3HT/Yq7ruWpciQw+Avi73pdEbA4SooCawEWo3dtYbF68gN7Ed1A== +"@typescript-eslint/parser@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.18.0.tgz#83928d0f1b7f4afa974098c64b5ce6f9051f96a0" + integrity sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg== dependencies: - "@typescript-eslint/scope-manager" "7.13.1" - "@typescript-eslint/types" "7.13.1" - "@typescript-eslint/typescript-estree" "7.13.1" - "@typescript-eslint/visitor-keys" "7.13.1" + "@typescript-eslint/scope-manager" "7.18.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/typescript-estree" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@7.13.1": - version "7.13.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.13.1.tgz#c08041206904bf36f0e6997efdb0ca775e0c452e" - integrity sha512-adbXNVEs6GmbzaCpymHQ0MB6E4TqoiVbC0iqG3uijR8ZYfpAXMGttouQzF4Oat3P2GxDVIrg7bMI/P65LiQZdg== +"@typescript-eslint/scope-manager@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz#c928e7a9fc2c0b3ed92ab3112c614d6bd9951c83" + integrity sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA== dependencies: - "@typescript-eslint/types" "7.13.1" - "@typescript-eslint/visitor-keys" "7.13.1" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" -"@typescript-eslint/type-utils@7.13.1": - version "7.13.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.13.1.tgz#63bec3f1fb43cf0bc409cbdb88ef96d118ca8632" - integrity sha512-aWDbLu1s9bmgPGXSzNCxELu+0+HQOapV/y+60gPXafR8e2g1Bifxzevaa+4L2ytCWm+CHqpELq4CSoN9ELiwCg== +"@typescript-eslint/type-utils@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz#2165ffaee00b1fbbdd2d40aa85232dab6998f53b" + integrity sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA== dependencies: - "@typescript-eslint/typescript-estree" "7.13.1" - "@typescript-eslint/utils" "7.13.1" + "@typescript-eslint/typescript-estree" "7.18.0" + "@typescript-eslint/utils" "7.18.0" debug "^4.3.4" ts-api-utils "^1.3.0" -"@typescript-eslint/types@7.13.1": - version "7.13.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.13.1.tgz#787db283bd0b58751094c90d5b58bbf5e9fc9bd8" - integrity sha512-7K7HMcSQIAND6RBL4kDl24sG/xKM13cA85dc7JnmQXw2cBDngg7c19B++JzvJHRG3zG36n9j1i451GBzRuHchw== +"@typescript-eslint/types@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.18.0.tgz#b90a57ccdea71797ffffa0321e744f379ec838c9" + integrity sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ== -"@typescript-eslint/typescript-estree@7.13.1": - version "7.13.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.13.1.tgz#3412841b130e070db2f675e3d9b8cb1ae49e1c3f" - integrity sha512-uxNr51CMV7npU1BxZzYjoVz9iyjckBduFBP0S5sLlh1tXYzHzgZ3BR9SVsNed+LmwKrmnqN3Kdl5t7eZ5TS1Yw== +"@typescript-eslint/typescript-estree@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz#b5868d486c51ce8f312309ba79bdb9f331b37931" + integrity sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA== dependencies: - "@typescript-eslint/types" "7.13.1" - "@typescript-eslint/visitor-keys" "7.13.1" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" @@ -2615,22 +2274,22 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/utils@7.13.1": - version "7.13.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.13.1.tgz#611083379caa0d3a2c09d126c65065a3e4337ba2" - integrity sha512-h5MzFBD5a/Gh/fvNdp9pTfqJAbuQC4sCN2WzuXme71lqFJsZtLbjxfSk4r3p02WIArOF9N94pdsLiGutpDbrXQ== +"@typescript-eslint/utils@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.18.0.tgz#bca01cde77f95fc6a8d5b0dbcbfb3d6ca4be451f" + integrity sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "7.13.1" - "@typescript-eslint/types" "7.13.1" - "@typescript-eslint/typescript-estree" "7.13.1" + "@typescript-eslint/scope-manager" "7.18.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/typescript-estree" "7.18.0" -"@typescript-eslint/visitor-keys@7.13.1": - version "7.13.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.13.1.tgz#9c229a795a919db61f2d7f2337ef584ac05fbe96" - integrity sha512-k/Bfne7lrP7hcb7m9zSsgcBmo+8eicqqfNAJ7uUY+jkTFpKeH2FSkWpFRtimBxgkyvqfu9jTPRbYOvud6isdXA== +"@typescript-eslint/visitor-keys@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz#0564629b6124d67607378d0f0332a0495b25e7d7" + integrity sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg== dependencies: - "@typescript-eslint/types" "7.13.1" + "@typescript-eslint/types" "7.18.0" eslint-visitor-keys "^3.4.3" "@ungap/structured-clone@^1.2.0": @@ -2638,27 +2297,6 @@ resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== -"@web3auth/safeauth-embed@^0.0.0": - version "0.0.0" - resolved "https://registry.yarnpkg.com/@web3auth/safeauth-embed/-/safeauth-embed-0.0.0.tgz#781210a5b02acbcbe26e2dcf5dd0f8730fde1edd" - integrity sha512-bTWjyf/ywHJ0P1nvemQZk5ebQaeExpqEOfSayL4GbUplcWlve43NRQSF7k/44gawiQ8uibYyLgElpiovUpqm4w== - dependencies: - "@web3auth/ws-embed" "^0.0.0" - -"@web3auth/ws-embed@^0.0.0": - version "0.0.0" - resolved "https://registry.yarnpkg.com/@web3auth/ws-embed/-/ws-embed-0.0.0.tgz#cf31c512a72dc3e2ede69fac3e28e780a7bf6406" - integrity sha512-FZtpuXN1oiOex3O5jPMTZI6SjDY95Gz/zqBX+6Fdyv1CBV024z3bljrkkO40fcDbX/Xn3BI9Rr9cxANpTgxMkA== - dependencies: - "@metamask/rpc-errors" "^6.1.0" - "@toruslabs/base-controllers" "^4.8.0" - "@toruslabs/ethereum-controllers" "^4.9.0" - "@toruslabs/openlogin-jrpc" "^6.0.0" - fast-deep-equal "^3.1.3" - loglevel "^1.8.1" - pump "^3.0.0" - readable-stream "^4.4.2" - "@yarnpkg/lockfile@^1.1.0": version "1.1.0" resolved "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz" @@ -2687,11 +2325,6 @@ JSONStream@^1.3.5: jsonparse "^1.2.0" through ">=2.2.7 <3" -abab@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - abbrev@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf" @@ -2702,7 +2335,7 @@ abitype@0.7.1: resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.7.1.tgz#16db20abe67de80f6183cf75f3de1ff86453b745" integrity sha512-VBkRHTDZf9Myaek/dO3yMmOzB/y2s3Zo6nVU7yaw1G+TvCHAjwaJzNGN9yo4K5D8bU/VZXKP1EJpRhFr862PlQ== -abitype@1.0.5: +abitype@1.0.5, abitype@^1.0.2: version "1.0.5" resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.5.tgz#29d0daa3eea867ca90f7e4123144c1d1270774b6" integrity sha512-YzDhti7cjlfaBhHutMaboYB21Ha3rXR9QTkNJFzYC4kC8YclaiwPBBBJY8ejFdu2wnJeZCVZSMlQJ7fi8S6hsw== @@ -2712,37 +2345,17 @@ abitype@^0.9.8: resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.9.10.tgz#fa6fa30a6465da98736f98b6c601a02ed49f6eec" integrity sha512-FIS7U4n7qwAT58KibwYig5iFG4K61rbhAqaQh/UWj8v1Y8mjX3F8TC9gd8cz9yT1TYel9f8nS5NO5kZp2RW0jQ== -abitype@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.2.tgz#183c28f2f3b4278810ed1543941b555bb73f301d" - integrity sha512-aFt4k2H+eiAKy/zxtnORa9iIb10BMBeWL18l8v4+QuwYEBXPxxjSB1bFZCzQmKPoj8m7j68K705l3uY+E2gAjg== - -abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - -acorn-globals@^7.0.0: - version "7.0.1" - resolved "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz" - integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== - dependencies: - acorn "^8.1.0" - acorn-walk "^8.0.2" - acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn-walk@^8.0.2, acorn-walk@^8.1.1: +acorn-walk@^8.1.1: version "8.2.0" resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^8.1.0, acorn@^8.4.1, acorn@^8.8.1, acorn@^8.9.0: +acorn@^8.4.1, acorn@^8.9.0: version "8.11.2" resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz" integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== @@ -2767,7 +2380,7 @@ aes-js@4.0.0-beta.5: resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== -agent-base@6, agent-base@^6.0.2: +agent-base@6: version "6.0.2" resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== @@ -2781,15 +2394,6 @@ agent-base@^7.0.2, agent-base@^7.1.0, agent-base@^7.1.1: dependencies: debug "^4.3.4" -agentkeepalive@^4.2.1: - version "4.3.0" - resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz" - integrity sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg== - dependencies: - debug "^4.1.0" - depd "^2.0.0" - humanize-ms "^1.2.1" - aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" @@ -2832,10 +2436,12 @@ ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: dependencies: type-fest "^0.21.3" -ansi-escapes@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.2.1.tgz#76c54ce9b081dad39acec4b5d53377913825fb0f" - integrity sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig== +ansi-escapes@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-7.0.0.tgz#00fc19f491bbb18e1d481b97868204f92109bfe7" + integrity sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw== + dependencies: + environment "^1.0.0" ansi-regex@^5.0.1: version "5.0.1" @@ -2886,9 +2492,9 @@ append-transform@^2.0.0: dependencies: default-require-extensions "^3.0.0" -"aproba@^1.0.3 || ^2.0.0": +aproba@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== archy@^1.0.0: @@ -2896,14 +2502,6 @@ archy@^1.0.0: resolved "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== -are-we-there-yet@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz" - integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== - dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" - arg@^4.1.0: version "4.1.3" resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" @@ -2951,13 +2549,6 @@ assertion-error@^1.1.0: resolved "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== -async-mutex@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/async-mutex/-/async-mutex-0.4.0.tgz" - integrity sha512-eJFZ1YhRR8UN8eBLoNzcDPcy/jqjsg6I1AP+KvWQX80BqOSW1oJPJXDylPUEeMr2ZQvHgnQ//Lp6f3RQ1zI7HA== - dependencies: - tslib "^2.4.0" - async@^3.2.3: version "3.2.4" resolved "https://registry.npmjs.org/async/-/async-3.2.4.tgz" @@ -3074,11 +2665,6 @@ base64-js@^1.3.1: resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -base64url@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz" - integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== - bech32@1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz" @@ -3089,15 +2675,15 @@ before-after-hook@^2.2.0: resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz" integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== -bigint-crypto-utils@^3.2.2: - version "3.3.0" - resolved "https://registry.yarnpkg.com/bigint-crypto-utils/-/bigint-crypto-utils-3.3.0.tgz#72ad00ae91062cf07f2b1def9594006c279c1d77" - integrity sha512-jOTSb+drvEDxEq6OuUybOAv/xxoh3cuYRUIPyu8sSHQNKM303UQ2R1DAo45o1AkcIXw6fzbaFI1+xGGdaXs2lg== - -bignumber.js@^9.1.2: - version "9.1.2" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" - integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== +bin-links@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-4.0.4.tgz#c3565832b8e287c85f109a02a17027d152a58a63" + integrity sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA== + dependencies: + cmd-shim "^6.0.0" + npm-normalize-package-bin "^3.0.0" + read-cmd-shim "^4.0.0" + write-file-atomic "^5.0.0" binary-extensions@^2.0.0: version "2.2.0" @@ -3128,11 +2714,6 @@ bn.js@^5.2.0, bn.js@^5.2.1: resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== -bowser@^2.11.0: - version "2.11.0" - resolved "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz" - integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== - boxen@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" @@ -3249,26 +2830,6 @@ buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" -buffer@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - -builtins@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz" - integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ== - -builtins@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz" - integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== - dependencies: - semver "^7.0.0" - byte-size@8.1.1: version "8.1.1" resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-8.1.1.tgz#3424608c62d59de5bfda05d31e0313c6174842ae" @@ -3279,29 +2840,10 @@ bytes@3.1.2: resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -cacache@^17.0.0: - version "17.0.5" - resolved "https://registry.npmjs.org/cacache/-/cacache-17.0.5.tgz" - integrity sha512-Y/PRQevNSsjAPWykl9aeGz8Pr+OI6BYM9fYDNMvOkuUiG9IhG4LEmaYrZZZvioMUEQ+cBCxT0v8wrnCURccyKA== - dependencies: - "@npmcli/fs" "^3.1.0" - fs-minipass "^3.0.0" - glob "^9.3.1" - lru-cache "^7.7.1" - minipass "^4.0.0" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - p-map "^4.0.0" - promise-inflight "^1.0.1" - ssri "^10.0.0" - tar "^6.1.11" - unique-filename "^3.0.0" - -cacache@^18.0.0: - version "18.0.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-18.0.3.tgz#864e2c18414e1e141ae8763f31e46c2cb96d1b21" - integrity sha512-qXCd4rh6I07cnDqh8V48/94Tc/WSfj+o3Gn6NZ0aZovS255bUx8O13uKxRFd2eWG0xgsco7+YItQNPaa5E85hg== +cacache@^18.0.0, cacache@^18.0.3: + version "18.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-18.0.4.tgz#4601d7578dadb59c66044e157d02a3314682d6a5" + integrity sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ== dependencies: "@npmcli/fs" "^3.1.0" fs-minipass "^3.0.0" @@ -3326,7 +2868,7 @@ caching-transform@^4.0.0: package-hash "^4.0.0" write-file-atomic "^3.0.0" -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5: +call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.5" resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz" integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== @@ -3463,11 +3005,16 @@ ci-info@^2.0.0: resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== -ci-info@^3.2.0, ci-info@^3.6.1: +ci-info@^3.2.0: version "3.9.0" resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== +ci-info@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.0.0.tgz#65466f8b280fc019b9f50a5388115d17a63a44f2" + integrity sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg== + cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" @@ -3498,12 +3045,12 @@ cli-cursor@3.1.0, cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-cursor@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz" - integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== +cli-cursor@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-5.0.0.tgz#24a4831ecf5a6b01ddeb32fb71a4b2088b0dce38" + integrity sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw== dependencies: - restore-cursor "^4.0.0" + restore-cursor "^5.0.0" cli-spinners@2.6.1: version "2.6.1" @@ -3569,10 +3116,10 @@ clone@^1.0.2: resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== -cmd-shim@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-6.0.1.tgz#a65878080548e1dca760b3aea1e21ed05194da9d" - integrity sha512-S9iI9y0nKR4hwEQsVWpyxld/6kRfGepGfzff83FcaiEBpmvlbA2nnGe7Cylgrx2f/p1P5S5wpRm9oL8z1PbS3Q== +cmd-shim@6.0.3, cmd-shim@^6.0.0: + version "6.0.3" + resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-6.0.3.tgz#c491e9656594ba17ac83c4bd931590a9d6e26033" + integrity sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA== co@^4.6.0: version "4.6.0" @@ -3608,9 +3155,9 @@ color-name@~1.1.4: resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-support@^1.1.3: +color-support@1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== colorette@^2.0.20: @@ -3638,11 +3185,6 @@ command-exists@^1.2.8: resolved "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz" integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== -commander@3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz" - integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== - commander@^8.1.0: version "8.3.0" resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" @@ -3658,6 +3200,11 @@ commander@~12.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== +common-ancestor-path@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7" + integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w== + commondir@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" @@ -3794,16 +3341,11 @@ cosmiconfig@^8.2.0: parse-json "^5.2.0" path-type "^4.0.0" -crc-32@^1.2.0, crc-32@^1.2.2: +crc-32@^1.2.2: version "1.2.2" resolved "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz" integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== -crc@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/crc/-/crc-4.3.2.tgz#49b7821cbf2cf61dfd079ed93863bbebd5469b9a" - integrity sha512-uGDHf4KLLh2zsHa8D8hIQ1H/HtFQhyHrc0uhHBcoKGol/Xnb+MPYfUMw7cvON6ze/GUESTudKayDcJC5HnJv1A== - create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz" @@ -3861,53 +3403,27 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -crypto-js@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631" - integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q== - -cssom@^0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz" - integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== dargs@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz" integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== -data-urls@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz" - integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== - dependencies: - abab "^2.0.6" - whatwg-mimetype "^3.0.0" - whatwg-url "^11.0.0" - dateformat@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2, debug@~4.3.4: - version "4.3.5" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" - integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4, debug@~4.3.6: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== dependencies: - ms "2.1.2" + ms "^2.1.3" debug@4.3.4: version "4.3.4" @@ -3934,20 +3450,10 @@ decamelize@^4.0.0: resolved "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz" integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== -decimal.js@^10.4.2: - version "10.4.3" - resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== - -dedent@0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== - -dedent@^1.0.0: - version "1.5.1" - resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz" - integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== +dedent@1.5.3, dedent@^1.0.0: + version "1.5.3" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.3.tgz#99aee19eb9bae55a67327717b6e848d0bf777e5a" + integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== deep-eql@^4.1.3: version "4.1.3" @@ -3956,7 +3462,7 @@ deep-eql@^4.1.3: dependencies: type-detect "^4.0.0" -deep-is@^0.1.3, deep-is@~0.1.3: +deep-is@^0.1.3: version "0.1.4" resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== @@ -3999,12 +3505,7 @@ delayed-stream@~1.0.0: resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" - integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== - -depd@2.0.0, depd@^2.0.0: +depd@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== @@ -4058,13 +3559,6 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -domexception@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz" - integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== - dependencies: - webidl-conversions "^7.0.0" - dot-prop@^5.1.0: version "5.3.0" resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" @@ -4154,29 +3648,13 @@ encoding@^0.1.13: dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.1.0, end-of-stream@^1.4.1, end-of-stream@^1.4.4: +end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" -engine.io-client@~6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.5.3.tgz#4cf6fa24845029b238f83c628916d9149c399bc5" - integrity sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.1" - engine.io-parser "~5.2.1" - ws "~8.11.0" - xmlhttprequest-ssl "~2.0.0" - -engine.io-parser@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.1.tgz#9f213c77512ff1a6cc0c7a86108a7ffceb16fcfb" - integrity sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ== - enquirer@^2.3.0, enquirer@^2.3.6, enquirer@~2.3.6: version "2.3.6" resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" @@ -4184,20 +3662,20 @@ enquirer@^2.3.0, enquirer@^2.3.6, enquirer@~2.3.6: dependencies: ansi-colors "^4.1.1" -entities@^4.4.0: - version "4.5.0" - resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - env-paths@^2.2.0: version "2.2.1" resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== -envinfo@7.8.1: - version "7.8.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" - integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== +envinfo@7.13.0: + version "7.13.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.13.0.tgz#81fbb81e5da35d74e814941aeab7c325a606fb31" + integrity sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q== + +environment@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/environment/-/environment-1.1.0.tgz#8e86c66b180f363c7ab311787e0259665f45a9f1" + integrity sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q== err-code@^2.0.2: version "2.0.3" @@ -4236,30 +3714,18 @@ escape-string-regexp@^2.0.0: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - eslint-config-prettier@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== -eslint-plugin-prettier@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz#17cfade9e732cef32b5f5be53bd4e07afd8e67e1" - integrity sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw== +eslint-plugin-prettier@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz#d1c8f972d8f60e414c25465c163d16f209411f95" + integrity sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw== dependencies: prettier-linter-helpers "^1.0.0" - synckit "^0.8.6" + synckit "^0.9.1" eslint-scope@^7.2.2: version "7.2.2" @@ -4327,7 +3793,7 @@ espree@^9.6.0, espree@^9.6.1: acorn-jsx "^5.3.2" eslint-visitor-keys "^3.4.1" -esprima@^4.0.0, esprima@^4.0.1: +esprima@^4.0.0: version "4.0.1" resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -4387,7 +3853,7 @@ ethereum-cryptography@^1.0.3: "@scure/bip32" "1.1.5" "@scure/bip39" "1.1.1" -ethereum-cryptography@^2.0.0, ethereum-cryptography@^2.1.2: +ethereum-cryptography@^2.0.0: version "2.1.2" resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.1.2.tgz#18fa7108622e56481157a5cb7c01c0c6a672eb67" integrity sha512-Z5Ba0T0ImZ8fqXrJbpHcbpAvIswRte2wGNR/KePnu8GbbvgJ47lMxT/ZZPG6i9Jaht4azPDop4HaM00J0J59ug== @@ -4431,7 +3897,7 @@ ethers@6.7.0: tslib "2.4.0" ws "8.5.0" -ethers@^5.7.0: +ethers@^5.7.0, ethers@~5.7.0: version "5.7.2" resolved "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz" integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== @@ -4467,10 +3933,10 @@ ethers@^5.7.0: "@ethersproject/web" "5.7.1" "@ethersproject/wordlists" "5.7.0" -ethers@^6.13.1, ethers@^6.8.1: - version "6.13.1" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.13.1.tgz#2b9f9c7455cde9d38b30fe6589972eb083652961" - integrity sha512-hdJ2HOxg/xx97Lm9HdCWk949BfYqYWpyw4//78SiwOLgASyfrNszfMUNB2joKjvGUdwhHfaiMMFFwacVVoLR9A== +ethers@^6.13.2: + version "6.13.2" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.13.2.tgz#4b67d4b49e69b59893931a032560999e5e4419fe" + integrity sha512-9VkriTTed+/27BGuY1s0hf441kqwHJ1wtN2edksEtiRvXx+soxRX3iSXTfFqq2+YwrOqbDoTHjIhQnjJRlzKmg== dependencies: "@adraffy/ens-normalize" "1.10.1" "@noble/curves" "1.2.0" @@ -4488,11 +3954,6 @@ ethjs-util@0.1.6, ethjs-util@^0.1.6: is-hex-prefixed "1.0.0" strip-hex-prefix "1.0.0" -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - eventemitter3@^4.0.4: version "4.0.7" resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" @@ -4503,11 +3964,6 @@ eventemitter3@^5.0.1: resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz" integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== -events@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - evp_bytestokey@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz" @@ -4612,26 +4068,16 @@ fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" -fast-json-patch@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-json-patch/-/fast-json-patch-3.1.1.tgz#85064ea1b1ebf97a3f7ad01e23f9337e72c66947" - integrity sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ== - fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: +fast-levenshtein@^2.0.6: version "2.0.6" resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -fast-safe-stringify@^2.0.6, fast-safe-stringify@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz" - integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== - fastq@^1.6.0: version "1.15.0" resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" @@ -4795,17 +4241,6 @@ fs-constants@^1.0.0: resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-extra@^0.30.0: - version "0.30.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz" - integrity sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - path-is-absolute "^1.0.0" - rimraf "^2.2.8" - fs-extra@^10.0.0: version "10.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" @@ -4815,7 +4250,7 @@ fs-extra@^10.0.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@^11.1.0, fs-extra@^11.1.1: +fs-extra@^11.1.0, fs-extra@^11.2.0: version "11.2.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== @@ -4862,20 +4297,6 @@ function-bind@^1.1.1, function-bind@^1.1.2: resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -gauge@^4.0.3: - version "4.0.4" - resolved "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz" - integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.3" - console-control-strings "^1.1.0" - has-unicode "^2.0.1" - signal-exit "^3.0.7" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.5" - gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" @@ -4974,10 +4395,10 @@ git-up@^7.0.0: is-ssh "^1.4.0" parse-url "^8.1.0" -git-url-parse@13.1.0: - version "13.1.0" - resolved "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz" - integrity sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA== +git-url-parse@14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-14.0.0.tgz#18ce834726d5fbca0c25a4555101aa277017418f" + integrity sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ== dependencies: git-up "^7.0.0" @@ -4988,20 +4409,20 @@ gitconfiglocal@^1.0.0: dependencies: ini "^1.3.2" -glob-parent@5.1.2, glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: +glob-parent@6.0.2, glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: is-glob "^4.0.3" +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + glob@7.2.0: version "7.2.0" resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" @@ -5038,18 +4459,7 @@ glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^8.0.1: - version "8.1.0" - resolved "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - -glob@^9.2.0, glob@^9.3.1: +glob@^9.2.0: version "9.3.5" resolved "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz" integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== @@ -5090,7 +4500,7 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" -graceful-fs@4.2.11, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.6, graceful-fs@^4.2.9: +graceful-fs@4.2.11, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -5117,10 +4527,10 @@ hard-rejection@^2.1.0: resolved "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz" integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== -hardhat-deploy@^0.11.45: - version "0.11.45" - resolved "https://registry.yarnpkg.com/hardhat-deploy/-/hardhat-deploy-0.11.45.tgz#bed86118175a38a03bb58aba2ce1ed5e80a20bc8" - integrity sha512-aC8UNaq3JcORnEUIwV945iJuvBwi65tjHVDU3v6mOcqik7WAzHVCJ7cwmkkipsHrWysrB5YvGF1q9S1vIph83w== +hardhat-deploy@^0.12.4: + version "0.12.4" + resolved "https://registry.yarnpkg.com/hardhat-deploy/-/hardhat-deploy-0.12.4.tgz#5ebef37f1004f52a74987213b0465ad7c9433fb2" + integrity sha512-bYO8DIyeGxZWlhnMoCBon9HNZb6ji0jQn7ngP1t5UmGhC8rQYhji7B73qETMOFhzt5ECZPr+U52duj3nubsqdQ== dependencies: "@ethersproject/abi" "^5.7.0" "@ethersproject/abstract-signer" "^5.7.0" @@ -5145,63 +4555,7 @@ hardhat-deploy@^0.11.45: match-all "^1.2.6" murmur-128 "^0.2.1" qs "^6.9.4" - zksync-web3 "^0.14.3" - -hardhat@2.20.1: - version "2.20.1" - resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.20.1.tgz#3ad8f2b003a96c9ce80a55fec3575580ff2ddcd4" - integrity sha512-q75xDQiQtCZcTMBwjTovrXEU5ECr49baxr4/OBkIu/ULTPzlB20yk1dRWNmD2IFbAeAeXggaWvQAdpiScaHtPw== - dependencies: - "@ethersproject/abi" "^5.1.2" - "@metamask/eth-sig-util" "^4.0.0" - "@nomicfoundation/ethereumjs-block" "5.0.4" - "@nomicfoundation/ethereumjs-blockchain" "7.0.4" - "@nomicfoundation/ethereumjs-common" "4.0.4" - "@nomicfoundation/ethereumjs-evm" "2.0.4" - "@nomicfoundation/ethereumjs-rlp" "5.0.4" - "@nomicfoundation/ethereumjs-statemanager" "2.0.4" - "@nomicfoundation/ethereumjs-trie" "6.0.4" - "@nomicfoundation/ethereumjs-tx" "5.0.4" - "@nomicfoundation/ethereumjs-util" "9.0.4" - "@nomicfoundation/ethereumjs-verkle" "0.0.2" - "@nomicfoundation/ethereumjs-vm" "7.0.4" - "@nomicfoundation/solidity-analyzer" "^0.1.0" - "@sentry/node" "^5.18.1" - "@types/bn.js" "^5.1.0" - "@types/lru-cache" "^5.1.0" - adm-zip "^0.4.16" - aggregate-error "^3.0.0" - ansi-escapes "^4.3.0" - boxen "^5.1.2" - chalk "^2.4.2" - chokidar "^3.4.0" - ci-info "^2.0.0" - debug "^4.1.1" - enquirer "^2.3.0" - env-paths "^2.2.0" - ethereum-cryptography "^1.0.3" - ethereumjs-abi "^0.6.8" - find-up "^2.1.0" - fp-ts "1.19.3" - fs-extra "^7.0.1" - glob "7.2.0" - immutable "^4.0.0-rc.12" - io-ts "1.10.4" - keccak "^3.0.2" - lodash "^4.17.11" - mnemonist "^0.38.0" - mocha "^10.0.0" - p-map "^4.0.0" - raw-body "^2.4.1" - resolve "1.17.0" - semver "^6.3.0" - solc "0.7.3" - source-map-support "^0.5.13" - stacktrace-parser "^0.1.10" - tsort "0.0.1" - undici "^5.14.0" - uuid "^8.3.2" - ws "^7.4.6" + zksync-ethers "^5.0.0" hardhat@^2.19.3: version "2.22.7" @@ -5286,7 +4640,7 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" -has-unicode@2.0.1, has-unicode@^2.0.1: +has-unicode@2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== @@ -5349,13 +4703,6 @@ hosted-git-info@^2.1.4: resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^3.0.6: - version "3.0.8" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz" - integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== - dependencies: - lru-cache "^6.0.0" - hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: version "4.1.0" resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz" @@ -5363,27 +4710,13 @@ hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: dependencies: lru-cache "^6.0.0" -hosted-git-info@^6.0.0: - version "6.1.1" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz" - integrity sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w== - dependencies: - lru-cache "^7.5.1" - -hosted-git-info@^7.0.0: +hosted-git-info@^7.0.0, hosted-git-info@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-7.0.2.tgz#9b751acac097757667f30114607ef7b661ff4f17" integrity sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w== dependencies: lru-cache "^10.0.1" -html-encoding-sniffer@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz" - integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== - dependencies: - whatwg-encoding "^2.0.0" - html-escaper@^2.0.0: version "2.0.2" resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" @@ -5405,15 +4738,6 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" -http-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz" - integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== - dependencies: - "@tootallnate/once" "2" - agent-base "6" - debug "4" - http-proxy-agent@^7.0.0: version "7.0.2" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" @@ -5422,7 +4746,7 @@ http-proxy-agent@^7.0.0: agent-base "^7.1.0" debug "^4.3.4" -https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: +https-proxy-agent@^5.0.0: version "5.0.1" resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== @@ -5448,17 +4772,10 @@ human-signals@^5.0.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz" - integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== - dependencies: - ms "^2.0.0" - -husky@^9.0.11: - version "9.0.11" - resolved "https://registry.yarnpkg.com/husky/-/husky-9.0.11.tgz#fc91df4c756050de41b3e478b2158b87c1e79af9" - integrity sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== +husky@^9.1.6: + version "9.1.6" + resolved "https://registry.yarnpkg.com/husky/-/husky-9.1.6.tgz#e23aa996b6203ab33534bdc82306b0cf2cb07d6c" + integrity sha512-sqbjZKK7kf44hfdE94EoX8MZNk0n7HeW37O4YrVGCF4wzgQjp+akPAkfUK5LZ6KuR/6sqeAVuXHji+RzQgOn5A== iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" @@ -5467,25 +4784,18 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@0.6.3, iconv-lite@^0.6.2: +iconv-lite@^0.6.2: version "0.6.3" resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== dependencies: safer-buffer ">= 2.1.2 < 3.0.0" -ieee754@^1.1.13, ieee754@^1.2.1: +ieee754@^1.1.13: version "1.2.1" resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ignore-walk@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz" - integrity sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw== - dependencies: - minimatch "^5.0.1" - ignore-walk@^6.0.4: version "6.0.5" resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.5.tgz#ef8d61eab7da169078723d1f82833b36e200b0dd" @@ -5552,15 +4862,15 @@ ini@^1.3.2, ini@^1.3.8: resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -init-package-json@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-5.0.0.tgz#030cf0ea9c84cfc1b0dc2e898b45d171393e4b40" - integrity sha512-kBhlSheBfYmq3e0L1ii+VKe3zBTLL5lDCDWR+f9dLmEGSB3MqLlMlsolubSsyI88Bg6EA+BIMlomAnQ1SwgQBw== +init-package-json@6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-6.0.3.tgz#2552fba75b6eed2495dc97f44183e2e5a5bcf8b0" + integrity sha512-Zfeb5ol+H+eqJWHTaGca9BovufyGeIfr4zaaBorPmJBMrJ+KBnN+kQx2ZtXdsotUTgldHmHQV44xvUWOUA7E2w== dependencies: - npm-package-arg "^10.0.0" + "@npmcli/package-json" "^5.0.0" + npm-package-arg "^11.0.0" promzard "^1.0.0" - read "^2.0.0" - read-package-json "^6.0.0" + read "^3.0.1" semver "^7.3.5" validate-npm-package-license "^3.0.4" validate-npm-package-name "^5.0.0" @@ -5633,7 +4943,7 @@ is-ci@3.0.1: dependencies: ci-info "^3.2.0" -is-core-module@^2.11.0, is-core-module@^2.5.0, is-core-module@^2.8.1: +is-core-module@^2.11.0, is-core-module@^2.5.0: version "2.12.0" resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz" integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ== @@ -5738,11 +5048,6 @@ is-plain-object@^5.0.0: resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - is-ssh@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz" @@ -5810,11 +5115,6 @@ isarray@0.0.1: resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - isarray@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" @@ -6054,20 +5354,6 @@ jest-each@^29.7.0: jest-util "^29.7.0" pretty-format "^29.7.0" -jest-environment-jsdom@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz" - integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/jsdom" "^20.0.0" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - jsdom "^20.0.0" - jest-environment-node@^29.7.0: version "29.7.0" resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz" @@ -6318,17 +5604,12 @@ jest@^29.7.0: import-local "^3.0.2" jest-cli "^29.7.0" -js-sdsl@^4.1.4: - version "4.4.2" - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.2.tgz#2e3c031b1f47d3aca8b775532e3ebb0818e7f847" - integrity sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w== - js-sha3@0.8.0: version "0.8.0" resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: +js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== @@ -6353,38 +5634,6 @@ jsbn@1.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== -jsdom@^20.0.0: - version "20.0.3" - resolved "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz" - integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== - dependencies: - abab "^2.0.6" - acorn "^8.8.1" - acorn-globals "^7.0.0" - cssom "^0.5.0" - cssstyle "^2.3.0" - data-urls "^3.0.2" - decimal.js "^10.4.2" - domexception "^4.0.0" - escodegen "^2.0.0" - form-data "^4.0.0" - html-encoding-sniffer "^3.0.0" - http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.1" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.2" - parse5 "^7.1.1" - saxes "^6.0.0" - symbol-tree "^3.2.4" - tough-cookie "^4.1.2" - w3c-xmlserializer "^4.0.0" - webidl-conversions "^7.0.0" - whatwg-encoding "^2.0.0" - whatwg-mimetype "^3.0.0" - whatwg-url "^11.0.0" - ws "^8.11.0" - xml-name-validator "^4.0.0" - jsesc@^2.5.1: version "2.5.2" resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" @@ -6400,10 +5649,10 @@ json-parse-even-better-errors@^2.3.0: resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== -json-parse-even-better-errors@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz" - integrity sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA== +json-parse-even-better-errors@^3.0.0, json-parse-even-better-errors@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz#b43d35e89c0f3be6b5fbbe9dc6c82467b30c28da" + integrity sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ== json-schema-traverse@^0.4.1: version "0.4.1" @@ -6415,15 +5664,10 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -json-stable-stringify@^1.0.2: - version "1.1.0" - resolved "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.0.tgz" - integrity sha512-zfA+5SuwYN2VWqN1/5HZaDzQKLJHaBVMZIIM+wuYjdptkaQsqzDdqjqf+lZZJUuJq1aanHiY8LhH8LmH+qBYJA== - dependencies: - call-bind "^1.0.5" - isarray "^2.0.5" - jsonify "^0.0.1" - object-keys "^1.1.1" +json-stringify-nice@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67" + integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== json-stringify-safe@^5.0.1: version "5.0.1" @@ -6440,13 +5684,6 @@ jsonc-parser@3.2.0: resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz" integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== -jsonfile@^2.1.0: - version "2.4.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz" - integrity sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw== - optionalDependencies: - graceful-fs "^4.1.6" - jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" @@ -6463,20 +5700,20 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonify@^0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz" - integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== - jsonparse@^1.2.0, jsonparse@^1.3.1: version "1.3.1" resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== -jsonschema@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz" - integrity sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ== +just-diff-apply@^5.2.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.5.0.tgz#771c2ca9fa69f3d2b54e7c3f5c1dfcbcc47f9f0f" + integrity sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw== + +just-diff@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-6.0.2.tgz#03b65908543ac0521caf6d8eb85035f7d27ea285" + integrity sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA== just-extend@^4.0.2: version "4.2.1" @@ -6497,68 +5734,65 @@ kind-of@^6.0.2, kind-of@^6.0.3: resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -klaw@^1.0.0: - version "1.3.1" - resolved "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz" - integrity sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw== - optionalDependencies: - graceful-fs "^4.1.9" - kleur@^3.0.3: version "3.0.3" resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -lerna@^8.1.3: - version "8.1.3" - resolved "https://registry.yarnpkg.com/lerna/-/lerna-8.1.3.tgz#9168804c99fbba49083e1f62de65a0ffefd6df22" - integrity sha512-Dg/r1dGnRCXKsOUC3lol7o6ggYTA6WWiPQzZJNKqyygn4fzYGuA3Dro2d5677pajaqFnFA72mdCjzSyF16Vi2Q== +lerna@^8.1.8: + version "8.1.8" + resolved "https://registry.yarnpkg.com/lerna/-/lerna-8.1.8.tgz#9edc9ce4fb4b6c7e22c994e9ef91d4e0370595b2" + integrity sha512-Rmo5ShMx73xM2CUcRixjmpZIXB7ZFlWEul1YvJyx/rH4onAwDHtUGD7Rx4NZYL8QSRiQHroglM2Oyq+WqA4BYg== dependencies: - "@lerna/create" "8.1.3" - "@npmcli/run-script" "7.0.2" + "@lerna/create" "8.1.8" + "@npmcli/arborist" "7.5.4" + "@npmcli/package-json" "5.2.0" + "@npmcli/run-script" "8.1.0" "@nx/devkit" ">=17.1.2 < 20" "@octokit/plugin-enterprise-rest" "6.0.1" "@octokit/rest" "19.0.11" + aproba "2.0.0" byte-size "8.1.1" chalk "4.1.0" clone-deep "4.0.1" - cmd-shim "6.0.1" + cmd-shim "6.0.3" + color-support "1.1.3" columnify "1.6.0" + console-control-strings "^1.1.0" conventional-changelog-angular "7.0.0" conventional-changelog-core "5.0.1" conventional-recommended-bump "7.0.1" cosmiconfig "^8.2.0" - dedent "0.7.0" - envinfo "7.8.1" + dedent "1.5.3" + envinfo "7.13.0" execa "5.0.0" - fs-extra "^11.1.1" + fs-extra "^11.2.0" get-port "5.1.1" get-stream "6.0.0" - git-url-parse "13.1.0" - glob-parent "5.1.2" + git-url-parse "14.0.0" + glob-parent "6.0.2" globby "11.1.0" graceful-fs "4.2.11" has-unicode "2.0.1" import-local "3.1.0" ini "^1.3.8" - init-package-json "5.0.0" + init-package-json "6.0.3" inquirer "^8.2.4" is-ci "3.0.1" is-stream "2.0.0" jest-diff ">=29.4.3 < 30" js-yaml "4.1.0" - libnpmaccess "7.0.2" - libnpmpublish "7.3.0" + libnpmaccess "8.0.6" + libnpmpublish "9.0.9" load-json-file "6.2.0" lodash "^4.17.21" make-dir "4.0.0" minimatch "3.0.5" multimatch "5.0.0" node-fetch "2.6.7" - npm-package-arg "8.1.1" - npm-packlist "5.1.1" - npm-registry-fetch "^14.0.5" - npmlog "^6.0.2" + npm-package-arg "11.0.2" + npm-packlist "8.0.2" + npm-registry-fetch "^17.1.0" nx ">=17.1.2 < 20" p-map "4.0.0" p-map-series "2.1.0" @@ -6566,24 +5800,27 @@ lerna@^8.1.3: p-queue "6.6.2" p-reduce "2.1.0" p-waterfall "2.1.1" - pacote "^17.0.5" + pacote "^18.0.6" pify "5.0.0" read-cmd-shim "4.0.0" - read-package-json "6.0.4" resolve-from "5.0.0" rimraf "^4.4.1" semver "^7.3.8" + set-blocking "^2.0.0" signal-exit "3.0.7" slash "3.0.0" - ssri "^9.0.1" + ssri "^10.0.6" + string-width "^4.2.3" + strip-ansi "^6.0.1" strong-log-transformer "2.1.0" tar "6.2.1" temp-dir "1.0.0" typescript ">=3 < 6" upath "2.0.1" - uuid "^9.0.0" + uuid "^10.0.0" validate-npm-package-license "3.0.4" - validate-npm-package-name "5.0.0" + validate-npm-package-name "5.0.1" + wide-align "1.1.5" write-file-atomic "5.0.1" write-pkg "4.0.0" yargs "17.7.2" @@ -6602,37 +5839,29 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== +libnpmaccess@8.0.6: + version "8.0.6" + resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-8.0.6.tgz#73be4c236258babc0a0bca6d3b6a93a6adf937cf" + integrity sha512-uM8DHDEfYG6G5gVivVl+yQd4pH3uRclHC59lzIbSvy7b5FEwR+mU49Zq1jEyRtRFv7+M99mUW9S0wL/4laT4lw== dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" + npm-package-arg "^11.0.2" + npm-registry-fetch "^17.0.1" -libnpmaccess@7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-7.0.2.tgz#7f056c8c933dd9c8ba771fa6493556b53c5aac52" - integrity sha512-vHBVMw1JFMTgEk15zRsJuSAg7QtGGHpUSEfnbcRL1/gTBag9iEfJbyjpDmdJmwMhvpoLoNBtdAUCdGnaP32hhw== - dependencies: - npm-package-arg "^10.1.0" - npm-registry-fetch "^14.0.3" - -libnpmpublish@7.3.0: - version "7.3.0" - resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-7.3.0.tgz#2ceb2b36866d75a6cd7b4aa748808169f4d17e37" - integrity sha512-fHUxw5VJhZCNSls0KLNEG0mCD2PN1i14gH5elGOgiVnU3VgTcRahagYP2LKI1m0tFCJ+XrAm0zVYyF5RCbXzcg== +libnpmpublish@9.0.9: + version "9.0.9" + resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-9.0.9.tgz#e737378c09f09738377d2a276734be35cffb85e2" + integrity sha512-26zzwoBNAvX9AWOPiqqF6FG4HrSCPsHFkQm7nT+xU1ggAujL/eae81RnCv4CJ2In9q9fh10B88sYSzKCUh/Ghg== dependencies: - ci-info "^3.6.1" - normalize-package-data "^5.0.0" - npm-package-arg "^10.1.0" - npm-registry-fetch "^14.0.3" - proc-log "^3.0.0" + ci-info "^4.0.0" + normalize-package-data "^6.0.1" + npm-package-arg "^11.0.2" + npm-registry-fetch "^17.0.1" + proc-log "^4.2.0" semver "^7.3.7" - sigstore "^1.4.0" - ssri "^10.0.1" + sigstore "^2.2.0" + ssri "^10.0.6" -lilconfig@~3.1.1: +lilconfig@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.2.tgz#e4a7c3cb549e3a606c8dcc32e5ae1005e62c05cb" integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== @@ -6647,32 +5876,32 @@ lines-and-columns@~2.0.3: resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz" integrity sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w== -lint-staged@^15.2.7: - version "15.2.7" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.7.tgz#97867e29ed632820c0fb90be06cd9ed384025649" - integrity sha512-+FdVbbCZ+yoh7E/RosSdqKJyUM2OEjTciH0TFNkawKgvFp1zbGlEC39RADg+xKBG1R4mhoH2j85myBQZ5wR+lw== +lint-staged@^15.2.10: + version "15.2.10" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.10.tgz#92ac222f802ba911897dcf23671da5bb80643cd2" + integrity sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg== dependencies: chalk "~5.3.0" commander "~12.1.0" - debug "~4.3.4" + debug "~4.3.6" execa "~8.0.1" - lilconfig "~3.1.1" - listr2 "~8.2.1" - micromatch "~4.0.7" + lilconfig "~3.1.2" + listr2 "~8.2.4" + micromatch "~4.0.8" pidtree "~0.6.0" string-argv "~0.3.2" - yaml "~2.4.2" + yaml "~2.5.0" -listr2@~8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.2.1.tgz#06a1a6efe85f23c5324180d7c1ddbd96b5eefd6d" - integrity sha512-irTfvpib/rNiD637xeevjO2l3Z5loZmuaRi0L0YE5LfijwVY96oyVn0DFD3o/teAok7nfobMG1THvvcHh/BP6g== +listr2@~8.2.4: + version "8.2.4" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.2.4.tgz#486b51cbdb41889108cb7e2c90eeb44519f5a77f" + integrity sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g== dependencies: cli-truncate "^4.0.0" colorette "^2.0.20" eventemitter3 "^5.0.1" - log-update "^6.0.0" - rfdc "^1.3.1" + log-update "^6.1.0" + rfdc "^1.4.1" wrap-ansi "^9.0.0" load-json-file@6.2.0: @@ -6755,29 +5984,17 @@ log-symbols@4.1.0, log-symbols@^4.0.0, log-symbols@^4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" -log-update@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.0.0.tgz#0ddeb7ac6ad658c944c1de902993fce7c33f5e59" - integrity sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== +log-update@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.1.0.tgz#1a04ff38166f94647ae1af562f4bd6a15b1b7cd4" + integrity sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w== dependencies: - ansi-escapes "^6.2.0" - cli-cursor "^4.0.0" - slice-ansi "^7.0.0" + ansi-escapes "^7.0.0" + cli-cursor "^5.0.0" + slice-ansi "^7.1.0" strip-ansi "^7.1.0" wrap-ansi "^9.0.0" -loglevel@^1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.8.1.tgz" - integrity sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg== - -loose-envify@^1.1.0: - version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - loupe@^2.3.6: version "2.3.6" resolved "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz" @@ -6785,7 +6002,7 @@ loupe@^2.3.6: dependencies: get-func-name "^2.0.0" -lru-cache@^10.0.0, lru-cache@^10.0.1, lru-cache@^10.2.0: +lru-cache@^10.0.1, lru-cache@^10.2.0, lru-cache@^10.2.2: version "10.4.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== @@ -6804,11 +6021,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^7.5.1, lru-cache@^7.7.1: - version "7.18.3" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz" - integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== - lru_map@^0.3.3: version "0.3.3" resolved "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz" @@ -6841,27 +6053,6 @@ make-error@1.x, make-error@^1.1.1: resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^11.0.0, make-fetch-happen@^11.0.1, make-fetch-happen@^11.1.1: - version "11.1.1" - resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz" - integrity sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w== - dependencies: - agentkeepalive "^4.2.1" - cacache "^17.0.0" - http-cache-semantics "^4.1.1" - http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.0" - is-lambda "^1.0.1" - lru-cache "^7.7.1" - minipass "^5.0.0" - minipass-fetch "^3.0.0" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - negotiator "^0.6.3" - promise-retry "^2.0.1" - socks-proxy-agent "^7.0.0" - ssri "^10.0.0" - make-fetch-happen@^13.0.0, make-fetch-happen@^13.0.1: version "13.0.1" resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz#273ba2f78f45e1f3a6dca91cede87d9fa4821e36" @@ -6943,12 +6134,7 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micro-ftch@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" - integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== - -micromatch@^4.0.4, micromatch@~4.0.7: +micromatch@^4.0.4, micromatch@~4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -6978,6 +6164,11 @@ mimic-fn@^4.0.0: resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== +mimic-function@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/mimic-function/-/mimic-function-5.0.1.tgz#acbe2b3349f99b9deaca7fb70e48b83e94e67076" + integrity sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA== + min-indent@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" @@ -7056,13 +6247,6 @@ minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz" - integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== - dependencies: - minipass "^3.0.0" - minipass-collect@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-2.0.1.tgz#1621bc77e12258a12c60d34e2276ec5c20680863" @@ -7084,16 +6268,8 @@ minipass-fetch@^3.0.0: minipass-flush@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz" - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== - dependencies: - minipass "^3.0.0" - -minipass-json-stream@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz" - integrity sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg== + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== dependencies: - jsonparse "^1.3.1" minipass "^3.0.0" minipass-pipeline@^1.2.4: @@ -7110,7 +6286,7 @@ minipass-sized@^1.0.3: dependencies: minipass "^3.0.0" -minipass@^3.0.0, minipass@^3.1.1: +minipass@^3.0.0: version "3.3.6" resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz" integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== @@ -7189,7 +6365,7 @@ ms@2.1.2: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.0.0: +ms@2.1.3, ms@^2.1.3: version "2.1.3" resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -7219,7 +6395,7 @@ mute-stream@0.0.8: resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -mute-stream@~1.0.0: +mute-stream@^1.0.0, mute-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-1.0.0.tgz#e31bd9fe62f0aed23520aa4324ea6671531e013e" integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== @@ -7327,7 +6503,7 @@ nofilter@^3.1.0: resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== -nopt@^7.0.0: +nopt@^7.0.0, nopt@^7.2.1: version "7.2.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.1.tgz#1cac0eab9b8e97c9093338446eddd40b2c8ca1e7" integrity sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w== @@ -7354,23 +6530,12 @@ normalize-package-data@^3.0.0, normalize-package-data@^3.0.3: semver "^7.3.4" validate-npm-package-license "^3.0.1" -normalize-package-data@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz" - integrity sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q== - dependencies: - hosted-git-info "^6.0.0" - is-core-module "^2.8.1" - semver "^7.3.5" - validate-npm-package-license "^3.0.4" - -normalize-package-data@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-6.0.1.tgz#fa69e9452210f0fabf4d79ee08d0c2870c51ed88" - integrity sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ== +normalize-package-data@^6.0.0, normalize-package-data@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-6.0.2.tgz#a7bc22167fe24025412bcff0a9651eb768b03506" + integrity sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g== dependencies: hosted-git-info "^7.0.0" - is-core-module "^2.8.1" semver "^7.3.5" validate-npm-package-license "^3.0.4" @@ -7379,13 +6544,6 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -npm-bundled@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz" - integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== - dependencies: - npm-normalize-package-bin "^1.0.1" - npm-bundled@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz" @@ -7393,43 +6551,19 @@ npm-bundled@^3.0.0: dependencies: npm-normalize-package-bin "^3.0.0" -npm-install-checks@^6.0.0: - version "6.1.1" - resolved "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.1.1.tgz" - integrity sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw== +npm-install-checks@^6.0.0, npm-install-checks@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-6.3.0.tgz#046552d8920e801fa9f919cad569545d60e826fe" + integrity sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw== dependencies: semver "^7.1.1" -npm-normalize-package-bin@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz" - integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== - npm-normalize-package-bin@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.0.tgz" integrity sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q== -npm-package-arg@8.1.1: - version "8.1.1" - resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz" - integrity sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg== - dependencies: - hosted-git-info "^3.0.6" - semver "^7.0.0" - validate-npm-package-name "^3.0.0" - -npm-package-arg@^10.0.0, npm-package-arg@^10.1.0: - version "10.1.0" - resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz" - integrity sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA== - dependencies: - hosted-git-info "^6.0.0" - proc-log "^3.0.0" - semver "^7.3.5" - validate-npm-package-name "^5.0.0" - -npm-package-arg@^11.0.0: +npm-package-arg@11.0.2: version "11.0.2" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-11.0.2.tgz#1ef8006c4a9e9204ddde403035f7ff7d718251ca" integrity sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw== @@ -7439,56 +6573,43 @@ npm-package-arg@^11.0.0: semver "^7.3.5" validate-npm-package-name "^5.0.0" -npm-packlist@5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.1.tgz" - integrity sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw== +npm-package-arg@^11.0.0, npm-package-arg@^11.0.2: + version "11.0.3" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-11.0.3.tgz#dae0c21199a99feca39ee4bfb074df3adac87e2d" + integrity sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw== dependencies: - glob "^8.0.1" - ignore-walk "^5.0.1" - npm-bundled "^1.1.2" - npm-normalize-package-bin "^1.0.1" + hosted-git-info "^7.0.0" + proc-log "^4.0.0" + semver "^7.3.5" + validate-npm-package-name "^5.0.0" -npm-packlist@^8.0.0: +npm-packlist@8.0.2, npm-packlist@^8.0.0: version "8.0.2" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-8.0.2.tgz#5b8d1d906d96d21c85ebbeed2cf54147477c8478" integrity sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA== dependencies: ignore-walk "^6.0.4" -npm-pick-manifest@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-9.0.1.tgz#c90658bd726fe5bca9d2869f3e99359b8fcda046" - integrity sha512-Udm1f0l2nXb3wxDpKjfohwgdFUSV50UVwzEIpDXVsbDMXVIEF81a/i0UhuQbhrPMMmdiq3+YMFLFIRVLs3hxQw== +npm-pick-manifest@^9.0.0, npm-pick-manifest@^9.0.1: + version "9.1.0" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-9.1.0.tgz#83562afde52b0b07cb6244361788d319ce7e8636" + integrity sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA== dependencies: npm-install-checks "^6.0.0" npm-normalize-package-bin "^3.0.0" npm-package-arg "^11.0.0" semver "^7.3.5" -npm-registry-fetch@^14.0.3, npm-registry-fetch@^14.0.5: - version "14.0.5" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz#fe7169957ba4986a4853a650278ee02e568d115d" - integrity sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA== +npm-registry-fetch@^17.0.0, npm-registry-fetch@^17.0.1, npm-registry-fetch@^17.1.0: + version "17.1.0" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-17.1.0.tgz#fb69e8e762d456f08bda2f5f169f7638fb92beb1" + integrity sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA== dependencies: - make-fetch-happen "^11.0.0" - minipass "^5.0.0" - minipass-fetch "^3.0.0" - minipass-json-stream "^1.0.1" - minizlib "^2.1.2" - npm-package-arg "^10.0.0" - proc-log "^3.0.0" - -npm-registry-fetch@^16.0.0: - version "16.2.1" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-16.2.1.tgz#c367df2d770f915da069ff19fd31762f4bca3ef1" - integrity sha512-8l+7jxhim55S85fjiDGJ1rZXBWGtRLi1OSb4Z3BPLObPuIaeKRlPRiYMSHU4/81ck3t71Z+UwDDl47gcpmfQQA== - dependencies: - "@npmcli/redact" "^1.1.0" + "@npmcli/redact" "^2.0.0" + jsonparse "^1.3.1" make-fetch-happen "^13.0.0" minipass "^7.0.2" minipass-fetch "^3.0.0" - minipass-json-stream "^1.0.1" minizlib "^2.1.2" npm-package-arg "^11.0.0" proc-log "^4.0.0" @@ -7507,21 +6628,6 @@ npm-run-path@^5.1.0: dependencies: path-key "^4.0.0" -npmlog@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz" - integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== - dependencies: - are-we-there-yet "^3.0.0" - console-control-strings "^1.1.0" - gauge "^4.0.3" - set-blocking "^2.0.0" - -nwsapi@^2.2.2: - version "2.2.4" - resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.4.tgz" - integrity sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g== - nx@19.3.0, "nx@>=17.1.2 < 20": version "19.3.0" resolved "https://registry.yarnpkg.com/nx/-/nx-19.3.0.tgz#b26d0b1b62baaa8e9623226df97f23753e94c625" @@ -7611,22 +6717,12 @@ object-inspect@^1.9.0: resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - obliterator@^2.0.0: version "2.0.4" resolved "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz" integrity sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ== -oblivious-set@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/oblivious-set/-/oblivious-set-1.1.1.tgz" - integrity sha512-Oh+8fK09mgGmAshFdH6hSVco6KZmd1tTwNFWj35OvzdmJTMZtAkbn05zar2iG3v6sDs1JLEtOiBGNb6BHwkb2w== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: +once@^1.3.0, once@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== @@ -7647,6 +6743,13 @@ onetime@^6.0.0: dependencies: mimic-fn "^4.0.0" +onetime@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-7.0.0.tgz#9f16c92d8c9ef5120e3acd9dd9957cceecc1ab60" + integrity sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ== + dependencies: + mimic-function "^5.0.0" + open@^8.4.0: version "8.4.2" resolved "https://registry.npmjs.org/open/-/open-8.4.2.tgz" @@ -7656,18 +6759,6 @@ open@^8.4.0: is-docker "^2.1.1" is-wsl "^2.2.0" -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - optionator@^0.9.3: version "0.9.3" resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" @@ -7837,26 +6928,25 @@ package-json-from-dist@^1.0.0: resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz#e501cd3094b278495eb4258d4c9f6d5ac3019f00" integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== -pacote@^17.0.5: - version "17.0.7" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-17.0.7.tgz#14b59a9bf5e3442c891af86825b97b7d72f48fba" - integrity sha512-sgvnoUMlkv9xHwDUKjKQFXVyUi8dtJGKp3vg6sYy+TxbDic5RjZCHF3ygv0EJgNRZ2GfRONjlKPUfokJ9lDpwQ== +pacote@^18.0.0, pacote@^18.0.6: + version "18.0.6" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-18.0.6.tgz#ac28495e24f4cf802ef911d792335e378e86fac7" + integrity sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A== dependencies: "@npmcli/git" "^5.0.0" "@npmcli/installed-package-contents" "^2.0.1" + "@npmcli/package-json" "^5.1.0" "@npmcli/promise-spawn" "^7.0.0" - "@npmcli/run-script" "^7.0.0" + "@npmcli/run-script" "^8.0.0" cacache "^18.0.0" fs-minipass "^3.0.0" minipass "^7.0.2" npm-package-arg "^11.0.0" npm-packlist "^8.0.0" npm-pick-manifest "^9.0.0" - npm-registry-fetch "^16.0.0" + npm-registry-fetch "^17.0.0" proc-log "^4.0.0" promise-retry "^2.0.1" - read-package-json "^7.0.0" - read-package-json-fast "^3.0.0" sigstore "^2.2.0" ssri "^10.0.0" tar "^6.1.11" @@ -7868,6 +6958,15 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parse-conflict-json@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz#67dc55312781e62aa2ddb91452c7606d1969960c" + integrity sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw== + dependencies: + json-parse-even-better-errors "^3.0.0" + just-diff "^6.0.0" + just-diff-apply "^5.2.0" + parse-json@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" @@ -7900,13 +6999,6 @@ parse-url@^8.1.0: dependencies: parse-path "^7.0.0" -parse5@^7.0.0, parse5@^7.1.1: - version "7.1.2" - resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== - dependencies: - entities "^4.4.0" - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" @@ -7946,9 +7038,9 @@ path-scurry@^1.11.1, path-scurry@^1.6.1: minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + version "1.9.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.9.0.tgz#5dc0753acbf8521ca2e0f137b4578b917b10cf24" + integrity sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g== dependencies: isarray "0.0.1" @@ -8034,21 +7126,19 @@ plimit-lit@^1.2.6: dependencies: queue-lit "^1.5.0" -pony-cause@^2.1.10: - version "2.1.10" - resolved "https://registry.yarnpkg.com/pony-cause/-/pony-cause-2.1.10.tgz#828457ad6f13be401a075dbf14107a9057945174" - integrity sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw== +postcss-selector-parser@^6.0.10: + version "6.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" + integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - prettier-linter-helpers@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" @@ -8056,10 +7146,10 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.2.tgz#03ff86dc7c835f2d2559ee76876a3914cec4a90a" - integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== +prettier@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.3.tgz#30c54fe0be0d8d12e6ae61dbb10109ea00d53105" + integrity sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew== pretty-format@^29.0.0, pretty-format@^29.7.0: version "29.7.0" @@ -8075,7 +7165,7 @@ proc-log@^3.0.0: resolved "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz" integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A== -proc-log@^4.0.0, proc-log@^4.2.0: +proc-log@^4.0.0, proc-log@^4.1.0, proc-log@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-4.2.0.tgz#b6f461e4026e75fdfe228b265e9f7a00779d7034" integrity sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA== @@ -8092,10 +7182,20 @@ process-on-spawn@^1.0.0: dependencies: fromentries "^1.2.0" -process@^0.11.10: - version "0.11.10" - resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== +proggy@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/proggy/-/proggy-2.0.0.tgz#154bb0e41d3125b518ef6c79782455c2c47d94e1" + integrity sha512-69agxLtnI8xBs9gUGqEnK26UfiexpHy+KUpBQWabiytQjnn5wFY8rklAi7GRfABIuPNnQ/ik48+LGLkYYJcy4A== + +promise-all-reject-late@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2" + integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw== + +promise-call-limit@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-3.0.2.tgz#524b7f4b97729ff70417d93d24f46f0265efa4f9" + integrity sha512-mRPQO2T1QQVw11E7+UdCJu7S61eJVWknzml9sC1heAdj1jxl0fWMBypIt9ZOcLFf8FkG995ZD7RnVk7HH72fZw== promise-inflight@^1.0.1: version "1.0.1" @@ -8135,20 +7235,7 @@ proxy-from-env@^1.1.0: resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== -psl@^1.1.33: - version "1.9.0" - resolved "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0: version "2.3.0" resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== @@ -8165,11 +7252,6 @@ qs@^6.9.4: dependencies: side-channel "^1.0.4" -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - queue-lit@^1.5.0: version "1.5.0" resolved "https://registry.npmjs.org/queue-lit/-/queue-lit-1.5.0.tgz" @@ -8202,59 +7284,24 @@ raw-body@^2.4.1: iconv-lite "0.4.24" unpipe "1.0.0" -react-dom@^18.2.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - react-is@^18.0.0: version "18.2.0" resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== -react@^18.2.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -read-cmd-shim@4.0.0: +read-cmd-shim@4.0.0, read-cmd-shim@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz#640a08b473a49043e394ae0c7a34dd822c73b9bb" integrity sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q== -read-package-json-fast@^3.0.0: +read-package-json-fast@^3.0.0, read-package-json-fast@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz#394908a9725dc7a5f14e70c8e7556dff1d2b1049" integrity sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw== dependencies: json-parse-even-better-errors "^3.0.0" npm-normalize-package-bin "^3.0.0" -read-package-json@6.0.4, read-package-json@^6.0.0: - version "6.0.4" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-6.0.4.tgz#90318824ec456c287437ea79595f4c2854708836" - integrity sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw== - dependencies: - glob "^10.2.2" - json-parse-even-better-errors "^3.0.0" - normalize-package-data "^5.0.0" - npm-normalize-package-bin "^3.0.0" - -read-package-json@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-7.0.1.tgz#8b5f6aab97a796cfb436516ade24c011d10964a9" - integrity sha512-8PcDiZ8DXUjLf687Ol4BR8Bpm2umR7vhoZOzNRt+uxD9GpBh/K+CAAALVIiYFknmvlmyg7hM7BSNUXPaCCqd0Q== - dependencies: - glob "^10.2.2" - json-parse-even-better-errors "^3.0.0" - normalize-package-data "^6.0.0" - npm-normalize-package-bin "^3.0.0" - read-pkg-up@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz" @@ -8298,6 +7345,13 @@ read@^2.0.0: dependencies: mute-stream "~1.0.0" +read@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/read/-/read-3.0.1.tgz#926808f0f7c83fa95f1ef33c0e2c09dbb28fd192" + integrity sha512-SLBrDU/Srs/9EoWhU5GdbAoxG1GzpQHo/6qiGItaoLJ1thmYpcNIM1qISEUvyHBzfGlWIyd6p2DNi1oV1VmAuw== + dependencies: + mute-stream "^1.0.0" + readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.2" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" @@ -8307,17 +7361,6 @@ readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.4.2.tgz#e6aced27ad3b9d726d8308515b9a1b98dc1b9d13" - integrity sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA== - dependencies: - abort-controller "^3.0.0" - buffer "^6.0.3" - events "^3.3.0" - process "^0.11.10" - string_decoder "^1.3.0" - readable-stream@~2.3.6: version "2.3.8" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" @@ -8346,11 +7389,6 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" -regenerator-runtime@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" - integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== - release-zalgo@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz" @@ -8363,21 +7401,11 @@ require-directory@^2.1.1: resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== -require-from-string@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" @@ -8424,13 +7452,13 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" -restore-cursor@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz" - integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== +restore-cursor@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-5.1.0.tgz#0766d95699efacb14150993f55baf0953ea1ebe7" + integrity sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA== dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" + onetime "^7.0.0" + signal-exit "^4.1.0" retry@^0.12.0: version "0.12.0" @@ -8442,18 +7470,11 @@ reusify@^1.0.4: resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rfdc@^1.3.1: +rfdc@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== -rimraf@^2.2.8: - version "2.7.1" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" @@ -8495,18 +7516,6 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rust-verkle-wasm@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/rust-verkle-wasm/-/rust-verkle-wasm-0.0.1.tgz#fd8396a7060d8ee8ea10da50ab6e862948095a74" - integrity sha512-BN6fiTsxcd2dCECz/cHtGTt9cdLJR925nh7iAuRcj8ymKw7OOaPmCneQZ7JePOJ/ia27TjEL91VdOi88Yf+mcA== - -rustbn-wasm@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/rustbn-wasm/-/rustbn-wasm-0.2.0.tgz#0407521fb55ae69eeb4968d01885d63efd1c4ff9" - integrity sha512-FThvYFNTqrEKGqXuseeg0zR7yROh/6U1617mCHF68OVqrN1tNKRN7Tdwy4WayPVsCmmK+eMxtIZX1qL6JxTkMg== - dependencies: - "@scure/base" "^1.1.1" - rxjs@^7.5.5: version "7.8.0" resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz" @@ -8529,20 +7538,6 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -saxes@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz" - integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== - dependencies: - xmlchars "^2.2.0" - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - scrypt-js@3.0.1, scrypt-js@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz" @@ -8567,10 +7562,10 @@ semver@^6.0.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.0.0, semver@^7.1.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.1, semver@^7.6.2: - version "7.6.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" - integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== +semver@^7.0.0, semver@^7.1.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.1, semver@^7.6.2, semver@^7.6.3: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== serialize-javascript@6.0.0: version "6.0.0" @@ -8650,17 +7645,6 @@ signal-exit@^4.0.1, signal-exit@^4.1.0: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== -sigstore@^1.4.0: - version "1.9.0" - resolved "https://registry.npmjs.org/sigstore/-/sigstore-1.9.0.tgz" - integrity sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A== - dependencies: - "@sigstore/bundle" "^1.1.0" - "@sigstore/protobuf-specs" "^0.2.0" - "@sigstore/sign" "^1.0.0" - "@sigstore/tuf" "^1.0.3" - make-fetch-happen "^11.0.1" - sigstore@^2.2.0: version "2.3.1" resolved "https://registry.yarnpkg.com/sigstore/-/sigstore-2.3.1.tgz#0755dd2cc4820f2e922506da54d3d628e13bfa39" @@ -8708,7 +7692,7 @@ slice-ansi@^5.0.0: ansi-styles "^6.0.0" is-fullwidth-code-point "^4.0.0" -slice-ansi@^7.0.0: +slice-ansi@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-7.1.0.tgz#cd6b4655e298a8d1bdeb04250a433094b347b9a9" integrity sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== @@ -8721,33 +7705,6 @@ smart-buffer@^4.2.0: resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== -socket.io-client@^4.7.2: - version "4.7.2" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.7.2.tgz#f2f13f68058bd4e40f94f2a1541f275157ff2c08" - integrity sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.2" - engine.io-client "~6.5.2" - socket.io-parser "~4.2.4" - -socket.io-parser@~4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83" - integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.1" - -socks-proxy-agent@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz" - integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== - dependencies: - agent-base "^6.0.2" - debug "^4.3.3" - socks "^2.6.2" - socks-proxy-agent@^8.0.3: version "8.0.3" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz#6b2da3d77364fde6292e810b496cb70440b9b89d" @@ -8757,7 +7714,7 @@ socks-proxy-agent@^8.0.3: debug "^4.3.4" socks "^2.7.1" -socks@^2.6.2, socks@^2.7.1: +socks@^2.7.1: version "2.8.3" resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.3.tgz#1ebd0f09c52ba95a09750afe3f3f9f724a800cb5" integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw== @@ -8765,21 +7722,6 @@ socks@^2.6.2, socks@^2.7.1: ip-address "^9.0.5" smart-buffer "^4.2.0" -solc@0.7.3: - version "0.7.3" - resolved "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz" - integrity sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA== - dependencies: - command-exists "^1.2.8" - commander "3.0.2" - follow-redirects "^1.12.1" - fs-extra "^0.30.0" - js-sha3 "0.8.0" - memorystream "^0.3.1" - require-from-string "^2.0.0" - semver "^5.5.0" - tmp "0.0.33" - solc@0.8.26: version "0.8.26" resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.26.tgz#afc78078953f6ab3e727c338a2fefcd80dd5b01a" @@ -8816,7 +7758,7 @@ source-map-support@^0.5.13: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: +source-map@^0.6.0, source-map@^0.6.1: version "0.6.1" resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -8883,19 +7825,12 @@ sprintf-js@~1.0.2: resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== -ssri@^10.0.0, ssri@^10.0.1: - version "10.0.3" - resolved "https://registry.npmjs.org/ssri/-/ssri-10.0.3.tgz" - integrity sha512-lJtX/BFPI/VEtxZmLfeh7pzisIs6micwZ3eruD3+ds9aPsXKlYpwDS2Q7omD6WC42WO9+bnUSzlMmfv8uK8meg== - dependencies: - minipass "^4.0.0" - -ssri@^9.0.1: - version "9.0.1" - resolved "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz" - integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== +ssri@^10.0.0, ssri@^10.0.6: + version "10.0.6" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.6.tgz#a8aade2de60ba2bce8688e3fa349bad05c7dc1e5" + integrity sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ== dependencies: - minipass "^3.1.1" + minipass "^7.0.3" stack-utils@^2.0.3: version "2.0.6" @@ -8965,7 +7900,7 @@ string-width@^7.0.0: get-east-asian-width "^1.0.0" strip-ansi "^7.1.0" -string_decoder@^1.1.1, string_decoder@^1.3.0: +string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -9048,11 +7983,6 @@ strong-log-transformer@2.1.0, strong-log-transformer@^2.1.0: minimist "^1.2.0" through "^2.3.4" -superstruct@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-1.0.3.tgz#de626a5b49c6641ff4d37da3c7598e7a87697046" - integrity sha512-8iTn3oSS8nRGn+C2pgXSKPI3jmpm6FExNazNpjvqS6ZUJQCej3PUXEKM8NjHBOs54ExM+LPW/FBRhymrdcCiSg== - supports-color@8.1.1, supports-color@^8.0.0: version "8.1.1" resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" @@ -9079,15 +8009,10 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -synckit@^0.8.6: - version "0.8.8" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.8.tgz#fe7fe446518e3d3d49f5e429f443cf08b6edfcd7" - integrity sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ== +synckit@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.9.1.tgz#febbfbb6649979450131f64735aa3f6c14575c88" + integrity sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A== dependencies: "@pkgr/core" "^0.1.0" tslib "^2.6.2" @@ -9188,28 +8113,16 @@ toidentifier@1.0.1: resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -tough-cookie@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz" - integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - -tr46@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz" - integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== - dependencies: - punycode "^2.1.1" - tr46@~0.0.3: version "0.0.3" resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== +treeverse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-3.0.0.tgz#dd82de9eb602115c6ebd77a574aae67003cb48c8" + integrity sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ== + trim-newlines@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" @@ -9294,15 +8207,6 @@ tsort@0.0.1: resolved "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz" integrity sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw== -tuf-js@^1.1.7: - version "1.1.7" - resolved "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.7.tgz" - integrity sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg== - dependencies: - "@tufjs/models" "1.0.4" - debug "^4.3.4" - make-fetch-happen "^11.1.1" - tuf-js@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tuf-js/-/tuf-js-2.2.1.tgz#fdd8794b644af1a75c7aaa2b197ddffeb2911b56" @@ -9329,13 +8233,6 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.8: version "4.0.8" resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" @@ -9434,21 +8331,11 @@ universalify@^0.1.0: resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - universalify@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== -unload@^2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/unload/-/unload-2.4.1.tgz" - integrity sha512-IViSAm8Z3sRBYA+9wc0fLQmU9Nrxb16rcDmIiR6Y9LJSZzI7QY5QsDhqPpKOjAn0O9/kfK1TfNEMMAGPTIraPw== - unpipe@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" @@ -9474,15 +8361,7 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== @@ -9498,16 +8377,16 @@ util@^0.12.5: is-typed-array "^1.1.3" which-typed-array "^1.1.2" +uuid@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-10.0.0.tgz#5a95aa454e6e002725c79055fd42aaba30ca6294" + integrity sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ== + uuid@^8.3.2: version "8.3.2" resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -uuid@^9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz" - integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== - v8-compile-cache-lib@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" @@ -9530,41 +8409,30 @@ validate-npm-package-license@3.0.4, validate-npm-package-license@^3.0.1, validat spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -validate-npm-package-name@5.0.0, validate-npm-package-name@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz" - integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== - dependencies: - builtins "^5.0.0" - -validate-npm-package-name@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz" - integrity sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw== - dependencies: - builtins "^1.0.3" +validate-npm-package-name@5.0.1, validate-npm-package-name@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz#a316573e9b49f3ccd90dbb6eb52b3f06c6d604e8" + integrity sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ== -viem@^2.19.0: - version "2.19.2" - resolved "https://registry.yarnpkg.com/viem/-/viem-2.19.2.tgz#11f03621fd0d0d742f04e3da30fa49093a3cf612" - integrity sha512-BrR7fEEpuu9Om7obQGThb4BEu00PPHPKaUx+snB/F6yBZtr34FdXCPnphr+S73W2iIu/mt3yaRkfkLlD6a1R5g== +viem@^2.21.8: + version "2.21.8" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.21.8.tgz#12a6aaa386038675ddec9ec2be943963133dde33" + integrity sha512-j85Z8pfgcAA7HLtLOd7k7mdyw1ogUjyCxrmwyxzlcAPE8+u8O8GySUMgOxNW/n9mazO2R8XpZ+9nUoXgesAn/g== dependencies: "@adraffy/ens-normalize" "1.10.0" "@noble/curves" "1.4.0" "@noble/hashes" "1.4.0" "@scure/bip32" "1.4.0" - "@scure/bip39" "1.3.0" + "@scure/bip39" "1.4.0" abitype "1.0.5" isows "1.0.4" webauthn-p256 "0.0.5" ws "8.17.1" -w3c-xmlserializer@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz" - integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== - dependencies: - xml-name-validator "^4.0.0" +walk-up-path@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-3.0.1.tgz#c8d78d5375b4966c717eb17ada73dbd41490e886" + integrity sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA== walker@^1.0.8: version "1.0.8" @@ -9580,80 +8448,81 @@ wcwidth@^1.0.0, wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -web3-core@^4.3.0, web3-core@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-4.3.2.tgz#f24b11d6a57dee527de8d42c89de2a439f0c4bed" - integrity sha512-uIMVd/j4BgOnwfpY8ZT+QKubOyM4xohEhFZXz9xB8wimXWMMlYVlIK/TbfHqFolS9uOerdSGhsMbcK9lETae8g== +web3-core@^4.3.0, web3-core@^4.4.0, web3-core@^4.5.0, web3-core@^4.5.1: + version "4.5.1" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-4.5.1.tgz#aba57c7f925fc2d72e2109eef5ff0ecaa4482b86" + integrity sha512-mFMOO/IWdKsLL1o2whh3oJ0LCG9P3l5c4lpiMoVsVln3QXh/B0Gf8gW3aY8S+Ixm0OHyzFDXJVc2CodxqmI4Gw== dependencies: - web3-errors "^1.1.4" - web3-eth-accounts "^4.1.0" + web3-errors "^1.3.0" + web3-eth-accounts "^4.2.0" web3-eth-iban "^4.0.7" - web3-providers-http "^4.1.0" - web3-providers-ws "^4.0.7" - web3-types "^1.3.1" - web3-utils "^4.1.0" - web3-validator "^2.0.3" + web3-providers-http "^4.2.0" + web3-providers-ws "^4.0.8" + web3-types "^1.7.0" + web3-utils "^4.3.1" + web3-validator "^2.0.6" optionalDependencies: web3-providers-ipc "^4.0.7" -web3-errors@^1.1.3, web3-errors@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/web3-errors/-/web3-errors-1.1.4.tgz#5667a0a5f66fc936e101ef32032ccc1e8ca4d5a1" - integrity sha512-WahtszSqILez+83AxGecVroyZsMuuRT+KmQp4Si5P4Rnqbczno1k748PCrZTS1J4UCPmXMG2/Vt+0Bz2zwXkwQ== +web3-errors@^1.1.3, web3-errors@^1.2.0, web3-errors@^1.2.1, web3-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/web3-errors/-/web3-errors-1.3.0.tgz#504e4d3218899df108856940087a8022d6688d74" + integrity sha512-j5JkAKCtuVMbY3F5PYXBqg1vWrtF4jcyyMY1rlw8a4PV67AkqlepjGgpzWJZd56Mt+TvHy6DA1F/3Id8LatDSQ== dependencies: - web3-types "^1.3.1" + web3-types "^1.7.0" -web3-eth-abi@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-4.2.1.tgz#b1260dace8380221f12f4274af240c1dfed1045c" - integrity sha512-IE91WUhhiDpBtbkl/DHUoZz7z7T5FXvl3zPLkrxT+dNlOT+wni+US/67jQCLvJRbqf9ApQ26lVYry0bovFgyqA== +web3-eth-abi@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-4.2.3.tgz#9efad6a45d7d6e52bb1eba56cbe45a3a321443e3" + integrity sha512-rPVwTn0O1CzbtfXwEfIjUP0W5Y7u1OFjugwKpSqJzPQE6+REBg6OELjomTGZBu+GThxHnv0rp15SOxvqp+tyXA== dependencies: abitype "0.7.1" - web3-errors "^1.1.4" - web3-types "^1.6.0" - web3-utils "^4.2.3" - web3-validator "^2.0.5" + web3-errors "^1.2.0" + web3-types "^1.7.0" + web3-utils "^4.3.1" + web3-validator "^2.0.6" -web3-eth-accounts@^4.1.0, web3-eth-accounts@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-4.1.2.tgz#652d6e3daf4d6cb3fe67cec6a878e768f6e8b8e8" - integrity sha512-y0JynDeTDnclyuE9mShXLeEj+BCrPHxPHOyPCgTchUBQsALF9+0OhP7WiS3IqUuu0Hle5bjG2f5ddeiPtNEuLg== +web3-eth-accounts@^4.1.3, web3-eth-accounts@^4.2.0, web3-eth-accounts@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-4.2.1.tgz#db27399137e1a26f9d467b9500019a70771f5724" + integrity sha512-aOlEZFzqAgKprKs7+DGArU4r9b+ILBjThpeq42aY7LAQcP+mSpsWcQgbIRK3r/n3OwTYZ3aLPk0Ih70O/LwnYA== dependencies: "@ethereumjs/rlp" "^4.0.1" crc-32 "^1.2.2" ethereum-cryptography "^2.0.0" - web3-errors "^1.1.4" - web3-types "^1.6.0" - web3-utils "^4.2.3" - web3-validator "^2.0.5" - -web3-eth-contract@^4.3.0, web3-eth-contract@^4.4.0: + web3-errors "^1.3.0" + web3-types "^1.7.0" + web3-utils "^4.3.1" + web3-validator "^2.0.6" + +web3-eth-contract@^4.5.0, web3-eth-contract@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-4.7.0.tgz#119a744e8a35f60fd7bc3e4f8637f0380a3d0e85" + integrity sha512-fdStoBOjFyMHwlyJmSUt/BTDL1ATwKGmG3zDXQ/zTKlkkW/F/074ut0Vry4GuwSBg9acMHc0ycOiZx9ZKjNHsw== + dependencies: + "@ethereumjs/rlp" "^5.0.2" + web3-core "^4.5.1" + web3-errors "^1.3.0" + web3-eth "^4.8.2" + web3-eth-abi "^4.2.3" + web3-types "^1.7.0" + web3-utils "^4.3.1" + web3-validator "^2.0.6" + +web3-eth-ens@^4.4.0: version "4.4.0" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-4.4.0.tgz#21760ef39ab95b34c55e7eaee316e0632e56cd21" - integrity sha512-pZ/w6Lb6ZDUUs7f5GCKXiHDAGGvt2tdwiHkvgmQTRnq9b0MEsUpteDyPYspHxKzQWLgbeK37jPb8zbQe4kE/Hg== - dependencies: - web3-core "^4.3.2" - web3-errors "^1.1.4" - web3-eth "^4.6.0" - web3-eth-abi "^4.2.1" - web3-types "^1.6.0" - web3-utils "^4.2.3" - web3-validator "^2.0.5" - -web3-eth-ens@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-4.2.0.tgz#8734b034efd48a735f7052fef0205653a78b84cb" - integrity sha512-qYj34te2UctoObt8rlEIY/t2MuTMiMiiHhO2JAHRGqSLCQ7b8DM3RpvkiiSB0N0ZyEn+CetZqJCTYb8DNKBS/g== + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-4.4.0.tgz#bc0d11d755cb15ed4b82e38747c5104622d9a4b9" + integrity sha512-DeyVIS060hNV9g8dnTx92syqvgbvPricE3MerCxe/DquNZT3tD8aVgFfq65GATtpCgDDJffO2bVeHp3XBemnSQ== dependencies: "@adraffy/ens-normalize" "^1.8.8" - web3-core "^4.3.2" - web3-errors "^1.1.4" - web3-eth "^4.5.0" - web3-eth-contract "^4.3.0" - web3-net "^4.0.7" - web3-types "^1.5.0" - web3-utils "^4.2.2" - web3-validator "^2.0.5" + web3-core "^4.5.0" + web3-errors "^1.2.0" + web3-eth "^4.8.0" + web3-eth-contract "^4.5.0" + web3-net "^4.1.0" + web3-types "^1.7.0" + web3-utils "^4.3.0" + web3-validator "^2.0.6" web3-eth-iban@^4.0.7: version "4.0.7" @@ -9677,42 +8546,42 @@ web3-eth-personal@^4.0.8: web3-utils "^4.0.7" web3-validator "^2.0.3" -web3-eth@^4.3.1, web3-eth@^4.5.0, web3-eth@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-4.6.0.tgz#75c177e2bde88a613a6996fab515f104e16921da" - integrity sha512-8KtxlGsomovoFULqEpfixgmCpaJ2YIJGxbXUfezh2coXHjVgEopQhARYtKGClyV5kkdCIqwHS8Gvsm6TVNqH6Q== +web3-eth@^4.3.1, web3-eth@^4.8.0, web3-eth@^4.8.2: + version "4.8.2" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-4.8.2.tgz#5459aff239a6f27816a522570bdd86732856ef0f" + integrity sha512-DLV/fIMG6gBp/B0gv0+G4FzxZ4YCDQsY3lzqqv7avwh3uU7/O27aifCUcFd7Ye+3ixTqCjAvLEl9wYSeyG3zQw== dependencies: setimmediate "^1.0.5" - web3-core "^4.3.2" - web3-errors "^1.1.4" - web3-eth-abi "^4.2.1" - web3-eth-accounts "^4.1.2" - web3-net "^4.0.7" - web3-providers-ws "^4.0.7" - web3-rpc-methods "^1.2.0" - web3-types "^1.6.0" - web3-utils "^4.2.3" - web3-validator "^2.0.5" - -web3-net@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-4.0.7.tgz#ed2c1bd700cf94be93a6dbd8bd8aa413d8681942" - integrity sha512-SzEaXFrBjY25iQGk5myaOfO9ZyfTwQEa4l4Ps4HDNVMibgZji3WPzpjq8zomVHMwi8bRp6VV7YS71eEsX7zLow== + web3-core "^4.5.0" + web3-errors "^1.2.1" + web3-eth-abi "^4.2.3" + web3-eth-accounts "^4.1.3" + web3-net "^4.1.0" + web3-providers-ws "^4.0.8" + web3-rpc-methods "^1.3.0" + web3-types "^1.7.0" + web3-utils "^4.3.1" + web3-validator "^2.0.6" + +web3-net@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-4.1.0.tgz#db7bde675e58b153339e4f149f29ec0410d6bab2" + integrity sha512-WWmfvHVIXWEoBDWdgKNYKN8rAy6SgluZ0abyRyXOL3ESr7ym7pKWbfP4fjApIHlYTh8tNqkrdPfM4Dyi6CA0SA== dependencies: - web3-core "^4.3.0" - web3-rpc-methods "^1.1.3" - web3-types "^1.3.0" - web3-utils "^4.0.7" + web3-core "^4.4.0" + web3-rpc-methods "^1.3.0" + web3-types "^1.6.0" + web3-utils "^4.3.0" -web3-providers-http@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-4.1.0.tgz#8d7afda67d1d8542ca85b30f60a3d1fe1993b561" - integrity sha512-6qRUGAhJfVQM41E5t+re5IHYmb5hSaLc02BE2MaRQsz2xKA6RjmHpOA5h/+ojJxEpI9NI2CrfDKOAgtJfoUJQg== +web3-providers-http@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-4.2.0.tgz#0f4bf424681a068d49994aa7fabc69bed45ac50b" + integrity sha512-IPMnDtHB7dVwaB7/mMxAZzyq7d5ezfO1+Vw0bNfAeIi7gaDlJiggp85SdyAfOgov8AMUA/dyiY72kQ0KmjXKvQ== dependencies: cross-fetch "^4.0.0" - web3-errors "^1.1.3" - web3-types "^1.3.0" - web3-utils "^4.0.7" + web3-errors "^1.3.0" + web3-types "^1.7.0" + web3-utils "^4.3.1" web3-providers-ipc@^4.0.7: version "4.0.7" @@ -9723,75 +8592,88 @@ web3-providers-ipc@^4.0.7: web3-types "^1.3.0" web3-utils "^4.0.7" -web3-providers-ws@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-4.0.7.tgz#7a78a0dcf077e0e802da524fbb37d080b356c14b" - integrity sha512-n4Dal9/rQWjS7d6LjyEPM2R458V8blRm0eLJupDEJOOIBhGYlxw5/4FthZZ/cqB7y/sLVi7K09DdYx2MeRtU5w== +web3-providers-ws@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-4.0.8.tgz#6de7b262f7ec6df1a2dff466ba91d7ebdac2c45e" + integrity sha512-goJdgata7v4pyzHRsg9fSegUG4gVnHZSHODhNnn6J93ykHkBI1nz4fjlGpcQLUMi4jAMz6SHl9Ibzs2jj9xqPw== dependencies: "@types/ws" "8.5.3" isomorphic-ws "^5.0.0" - web3-errors "^1.1.3" - web3-types "^1.3.0" - web3-utils "^4.0.7" - ws "^8.8.1" + web3-errors "^1.2.0" + web3-types "^1.7.0" + web3-utils "^4.3.1" + ws "^8.17.1" -web3-rpc-methods@^1.1.3, web3-rpc-methods@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-rpc-methods/-/web3-rpc-methods-1.2.0.tgz#761dcb036ab16edb2b03e80c11e3f5df24690345" - integrity sha512-CWJ/g4I4WyYvLkf21wCZAehdhU/VjX/OAPHnqF5/FPDJlogOsOnGXHqi1Z5AP+ocdt395PNubd8jyMMJoYGSBA== +web3-rpc-methods@^1.1.3, web3-rpc-methods@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/web3-rpc-methods/-/web3-rpc-methods-1.3.0.tgz#d5ee299a69389d63822d354ddee2c6a121a6f670" + integrity sha512-/CHmzGN+IYgdBOme7PdqzF+FNeMleefzqs0LVOduncSaqsppeOEoskLXb2anSpzmQAP3xZJPaTrkQPWSJMORig== dependencies: - web3-core "^4.3.2" - web3-types "^1.5.0" - web3-validator "^2.0.4" - -web3-types@^1.3.0, web3-types@^1.3.1, web3-types@^1.5.0, web3-types@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-types/-/web3-types-1.6.0.tgz#ebe7f140c31f7cc0ad15f238ad7e7ac72797ff3b" - integrity sha512-qgOtADqlD5hw+KPKBUGaXAcdNLL0oh6qTeVgXwewCfbL/lG9R+/GrgMQB1gbTJ3cit8hMwtH8KX2Em6OwO0HRw== - -web3-utils@^4.0.7, web3-utils@^4.1.0, web3-utils@^4.2.2, web3-utils@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-4.2.3.tgz#e1d30c4b087cd95f4307baeb80e3160f174e1cfd" - integrity sha512-m5plKTC2YtQntHITQRyIePw52UVP1IrShhmA2FACtn4zmc5ADmrXOlQWiPzxFP/18eRJsAaUAw2+CQn1u4WPxQ== + web3-core "^4.4.0" + web3-types "^1.6.0" + web3-validator "^2.0.6" + +web3-rpc-providers@^1.0.0-rc.2: + version "1.0.0-rc.2" + resolved "https://registry.yarnpkg.com/web3-rpc-providers/-/web3-rpc-providers-1.0.0-rc.2.tgz#2f3bf62415708ce09ffd5c77d197046e7d5fefb1" + integrity sha512-ocFIEXcBx/DYQ90HhVepTBUVnL9pGsZw8wyPb1ZINSenwYus9SvcFkjU1Hfvd/fXjuhAv2bUVch9vxvMx1mXAQ== + dependencies: + web3-errors "^1.3.0" + web3-providers-http "^4.2.0" + web3-providers-ws "^4.0.8" + web3-types "^1.7.0" + web3-utils "^4.3.1" + web3-validator "^2.0.6" + +web3-types@^1.3.0, web3-types@^1.6.0, web3-types@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/web3-types/-/web3-types-1.7.0.tgz#9945fa644af96b20b1db18564aff9ab8db00df59" + integrity sha512-nhXxDJ7a5FesRw9UG5SZdP/C/3Q2EzHGnB39hkAV+YGXDMgwxBXFWebQLfEzZzuArfHnvC0sQqkIHNwSKcVjdA== + +web3-utils@^4.0.7, web3-utils@^4.3.0, web3-utils@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-4.3.1.tgz#3dcd75e3c683c26f0ba824bf27d7bc0a68b111de" + integrity sha512-kGwOk8FxOLJ9DQC68yqNQc7AzN+k9YDLaW+ZjlAXs3qORhf8zXk5SxWAAGLbLykMs3vTeB0FTb1Exut4JEYfFA== dependencies: ethereum-cryptography "^2.0.0" eventemitter3 "^5.0.1" - web3-errors "^1.1.4" - web3-types "^1.6.0" - web3-validator "^2.0.5" + web3-errors "^1.2.0" + web3-types "^1.7.0" + web3-validator "^2.0.6" -web3-validator@^2.0.3, web3-validator@^2.0.4, web3-validator@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/web3-validator/-/web3-validator-2.0.5.tgz#de1984bdb34f292251b86400dba7169700db0849" - integrity sha512-2gLOSW8XqEN5pw5jVUm20EB7A8SbQiekpAtiI0JBmCIV0a2rp97v8FgWY5E3UEqnw5WFfEqvcDVW92EyynDTyQ== +web3-validator@^2.0.3, web3-validator@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/web3-validator/-/web3-validator-2.0.6.tgz#a0cdaa39e1d1708ece5fae155b034e29d6a19248" + integrity sha512-qn9id0/l1bWmvH4XfnG/JtGKKwut2Vokl6YXP5Kfg424npysmtRLe9DgiNBM9Op7QL/aSiaA0TVXibuIuWcizg== dependencies: ethereum-cryptography "^2.0.0" util "^0.12.5" - web3-errors "^1.1.4" - web3-types "^1.5.0" + web3-errors "^1.2.0" + web3-types "^1.6.0" zod "^3.21.4" -web3@^4.7.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/web3/-/web3-4.8.0.tgz#c7c7d2a7616ae387f8b2e3a3e416153a4bff479a" - integrity sha512-kQSF2NlHk8yjS3SRiJW3S+U5ibkEmVRhB4/GYsVwGvdAkFC2b+EIE1Ob7J56OmqW9VBZgkx1+SuWqo5JTIJSYQ== - dependencies: - web3-core "^4.3.2" - web3-errors "^1.1.4" - web3-eth "^4.6.0" - web3-eth-abi "^4.2.1" - web3-eth-accounts "^4.1.2" - web3-eth-contract "^4.4.0" - web3-eth-ens "^4.2.0" +web3@^4.12.1: + version "4.12.1" + resolved "https://registry.yarnpkg.com/web3/-/web3-4.12.1.tgz#391215c7c82627c1a8cc329ded3366c8b55f5c3d" + integrity sha512-zIFUPdgo2uG5Vbl7C4KrTv8dmWKN3sGnY/GundbiJzcaJZDxaCyu3a5HXAcgUM1VvvsVb1zaUQAFPceq05/q/Q== + dependencies: + web3-core "^4.5.1" + web3-errors "^1.3.0" + web3-eth "^4.8.2" + web3-eth-abi "^4.2.3" + web3-eth-accounts "^4.2.1" + web3-eth-contract "^4.7.0" + web3-eth-ens "^4.4.0" web3-eth-iban "^4.0.7" web3-eth-personal "^4.0.8" - web3-net "^4.0.7" - web3-providers-http "^4.1.0" - web3-providers-ws "^4.0.7" - web3-rpc-methods "^1.2.0" - web3-types "^1.6.0" - web3-utils "^4.2.3" - web3-validator "^2.0.5" + web3-net "^4.1.0" + web3-providers-http "^4.2.0" + web3-providers-ws "^4.0.8" + web3-rpc-methods "^1.3.0" + web3-rpc-providers "^1.0.0-rc.2" + web3-types "^1.7.0" + web3-utils "^4.3.1" + web3-validator "^2.0.6" webauthn-p256@0.0.5: version "0.0.5" @@ -9806,31 +8688,6 @@ webidl-conversions@^3.0.0: resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== -webidl-conversions@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz" - integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== - -whatwg-encoding@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz" - integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== - dependencies: - iconv-lite "0.6.3" - -whatwg-mimetype@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz" - integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== - -whatwg-url@^11.0.0: - version "11.0.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz" - integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== - dependencies: - tr46 "^3.0.0" - webidl-conversions "^7.0.0" - whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" @@ -9870,9 +8727,9 @@ which@^4.0.0: dependencies: isexe "^3.1.1" -wide-align@^1.1.5: +wide-align@1.1.5: version "1.1.5" - resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== dependencies: string-width "^1.0.2 || 2 || 3 || 4" @@ -9884,11 +8741,6 @@ widest-line@^3.1.0: dependencies: string-width "^4.0.0" -word-wrap@~1.2.3: - version "1.2.5" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== - wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" @@ -9949,7 +8801,7 @@ wrappy@1: resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -write-file-atomic@5.0.1: +write-file-atomic@5.0.1, write-file-atomic@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz#68df4717c55c6fa4281a7860b4c2ba0a6d2b11e7" integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw== @@ -10010,7 +8862,7 @@ ws@7.4.6: resolved "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz" integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== -ws@8.17.1, ws@^8.11.0, ws@^8.5.0, ws@^8.8.1: +ws@8.17.1: version "8.17.1" resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== @@ -10025,25 +8877,10 @@ ws@^7.4.6: resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -ws@~8.11.0: - version "8.11.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz" - integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== - -xml-name-validator@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz" - integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xmlhttprequest-ssl@~2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz" - integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== +ws@^8.17.1, ws@^8.5.0: + version "8.18.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" + integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== xtend@~4.0.1: version "4.0.2" @@ -10070,10 +8907,10 @@ yallist@^4.0.0: resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@~2.4.2: - version "2.4.5" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.4.5.tgz#60630b206dd6d84df97003d33fc1ddf6296cca5e" - integrity sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg== +yaml@~2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.5.1.tgz#c9772aacf62cb7494a95b0c4f1fb065b563db130" + integrity sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q== yargs-parser@20.2.4: version "20.2.4" @@ -10121,7 +8958,7 @@ yargs@16.2.0, yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@17.7.2, yargs@^17.3.1, yargs@^17.6.2, yargs@^17.7.2: +yargs@17.7.2, yargs@^17.3.1, yargs@^17.6.2: version "17.7.2" resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== @@ -10161,10 +8998,12 @@ yocto-queue@^0.1.0: resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -zksync-web3@^0.14.3: - version "0.14.4" - resolved "https://registry.yarnpkg.com/zksync-web3/-/zksync-web3-0.14.4.tgz#0b70a7e1a9d45cc57c0971736079185746d46b1f" - integrity sha512-kYehMD/S6Uhe1g434UnaMN+sBr9nQm23Ywn0EUP5BfQCsbjcr3ORuS68PosZw8xUTu3pac7G6YMSnNHk+fwzvg== +zksync-ethers@^5.0.0: + version "5.9.2" + resolved "https://registry.yarnpkg.com/zksync-ethers/-/zksync-ethers-5.9.2.tgz#1c5f34cb25ac0b040fd1a6118f2ba1c2c3bda090" + integrity sha512-Y2Mx6ovvxO6UdC2dePLguVzvNToOY8iLWeq5ne+jgGSJxAi/f4He/NF6FNsf6x1aWX0o8dy4Df8RcOQXAkj5qw== + dependencies: + ethers "~5.7.0" zod@^3.21.4: version "3.22.4"