From c962aac65791c9bc1836e10490ed15029dd173b3 Mon Sep 17 00:00:00 2001 From: Francisco Ramos Date: Thu, 6 Jul 2023 11:51:25 +0200 Subject: [PATCH] feat(bridge-ui-v2): generate abi (#14116) --- packages/bridge-ui-v2/.eslintignore | 4 + packages/bridge-ui-v2/.prettierignore | 4 + packages/bridge-ui-v2/.vscode/extensions.json | 3 - packages/bridge-ui-v2/.vscode/settings.json | 7 - packages/bridge-ui-v2/package.json | 15 +- packages/bridge-ui-v2/src/abi/index.ts | 1053 +++++++++++++++++ .../Activities/ListWithDetailsView.svelte | 3 +- .../components/Activities/TableView.svelte | 3 +- .../ChainSelector/ChainSelector.svelte | 14 +- .../src/components/Header/Header.svelte | 13 +- .../TokenDropdown/TokenDropdown.svelte | 12 +- .../bridge-ui-v2/src/libs/chain/chains.ts | 2 +- .../bridge-ui-v2/src/libs/wagmi/client.ts | 2 +- .../bridge-ui-v2/src/libs/wagmi/watcher.ts | 2 +- packages/bridge-ui-v2/src/stores/account.ts | 3 +- packages/bridge-ui-v2/src/stores/network.ts | 2 +- packages/bridge-ui-v2/tsconfig.json | 2 + packages/bridge-ui-v2/wagmi.config.ts | 36 + pnpm-lock.yaml | 372 +++--- 19 files changed, 1320 insertions(+), 232 deletions(-) delete mode 100644 packages/bridge-ui-v2/.vscode/extensions.json delete mode 100644 packages/bridge-ui-v2/.vscode/settings.json create mode 100644 packages/bridge-ui-v2/src/abi/index.ts create mode 100644 packages/bridge-ui-v2/wagmi.config.ts diff --git a/packages/bridge-ui-v2/.eslintignore b/packages/bridge-ui-v2/.eslintignore index 38972655fa..cf90f39dfd 100644 --- a/packages/bridge-ui-v2/.eslintignore +++ b/packages/bridge-ui-v2/.eslintignore @@ -7,6 +7,10 @@ node_modules .env.* !.env.example +# Generated files +/src/abi/* +CHANGELOG.md + # Ignore files for PNPM, NPM and YARN pnpm-lock.yaml package-lock.json diff --git a/packages/bridge-ui-v2/.prettierignore b/packages/bridge-ui-v2/.prettierignore index 38972655fa..cf90f39dfd 100644 --- a/packages/bridge-ui-v2/.prettierignore +++ b/packages/bridge-ui-v2/.prettierignore @@ -7,6 +7,10 @@ node_modules .env.* !.env.example +# Generated files +/src/abi/* +CHANGELOG.md + # Ignore files for PNPM, NPM and YARN pnpm-lock.yaml package-lock.json diff --git a/packages/bridge-ui-v2/.vscode/extensions.json b/packages/bridge-ui-v2/.vscode/extensions.json deleted file mode 100644 index 0fbc6ecd26..0000000000 --- a/packages/bridge-ui-v2/.vscode/extensions.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "recommendations": ["esbenp.prettier-vscode", "eslint.vscode-eslint"] -} diff --git a/packages/bridge-ui-v2/.vscode/settings.json b/packages/bridge-ui-v2/.vscode/settings.json deleted file mode 100644 index f8f6dcce47..0000000000 --- a/packages/bridge-ui-v2/.vscode/settings.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.formatOnSave": true, - "editor.codeActionsOnSave": { - "source.fixAll.eslint": true - } -} diff --git a/packages/bridge-ui-v2/package.json b/packages/bridge-ui-v2/package.json index 6a572433a7..cc98a80b97 100644 --- a/packages/bridge-ui-v2/package.json +++ b/packages/bridge-ui-v2/package.json @@ -10,11 +10,12 @@ "test:unit": "vitest run", "test:unit:coverage": "vitest run --coverage", "test:unit:watch": "vitest", - "svelte:check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", - "svelte:check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "svelte:check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --ignore ./wagmi.config.ts", + "svelte:check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --ignore ./wagmi.config.ts --watch", "format": "prettier --plugin-search-dir . --write .", "lint": "prettier --plugin-search-dir . --check . && eslint .", - "lint:fix": "pnpm format && eslint . --fix" + "lint:fix": "pnpm format && eslint . --fix", + "generate:abi": "pnpm wagmi generate" }, "devDependencies": { "@playwright/test": "^1.28.1", @@ -24,6 +25,7 @@ "@types/debug": "^4.1.7", "@typescript-eslint/eslint-plugin": "^5.45.0", "@typescript-eslint/parser": "^5.45.0", + "@wagmi/cli": "^1.0.1", "autoprefixer": "^10.4.14", "daisyui": "3.1.7", "eslint": "^8.28.0", @@ -34,7 +36,7 @@ "prettier": "^2.8.0", "prettier-plugin-svelte": "^2.8.1", "svelte": "^3.54.0", - "svelte-check": "^3.0.1", + "svelte-check": "^3.4.4", "tailwindcss": "^3.3.2", "tslib": "^2.4.1", "typescript": "^5.0.0", @@ -44,11 +46,12 @@ }, "type": "module", "dependencies": { + "@wagmi/core": "^1.3.6", "@web3modal/ethereum": "^2.6.2", "@web3modal/html": "^2.6.2", + "abitype": "^0.8.2", "debug": "^4.3.4", "svelte-i18n": "^3.6.0", - "viem": "^1.2.9", - "wagmi": "^1.3.5" + "viem": "^1.2.9" } } diff --git a/packages/bridge-ui-v2/src/abi/index.ts b/packages/bridge-ui-v2/src/abi/index.ts new file mode 100644 index 0000000000..768bfb8206 --- /dev/null +++ b/packages/bridge-ui-v2/src/abi/index.ts @@ -0,0 +1,1053 @@ +// Generated by @wagmi/cli@1.0.0 on 7/6/2023 at 10:51:18 AM + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Bridge +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const bridgeABI = [ + { type: 'error', inputs: [], name: 'B_CANNOT_RECEIVE' }, + { type: 'error', inputs: [], name: 'B_DENIED' }, + { type: 'error', inputs: [], name: 'B_DENIED' }, + { type: 'error', inputs: [], name: 'B_ERC20_CANNOT_RECEIVE' }, + { type: 'error', inputs: [], name: 'B_ETHER_RELEASED_ALREADY' }, + { type: 'error', inputs: [], name: 'B_ETHER_RELEASED_ALREADY' }, + { type: 'error', inputs: [], name: 'B_EV_DO_NOT_BURN' }, + { type: 'error', inputs: [], name: 'B_EV_NOT_AUTHORIZED' }, + { type: 'error', inputs: [], name: 'B_EV_PARAM' }, + { type: 'error', inputs: [], name: 'B_FAILED_TRANSFER' }, + { type: 'error', inputs: [], name: 'B_FAILED_TRANSFER' }, + { type: 'error', inputs: [], name: 'B_FORBIDDEN' }, + { type: 'error', inputs: [], name: 'B_FORBIDDEN' }, + { type: 'error', inputs: [], name: 'B_GAS_LIMIT' }, + { type: 'error', inputs: [], name: 'B_GAS_LIMIT' }, + { type: 'error', inputs: [], name: 'B_INCORRECT_VALUE' }, + { type: 'error', inputs: [], name: 'B_INCORRECT_VALUE' }, + { type: 'error', inputs: [], name: 'B_INIT_PARAM_ERROR' }, + { type: 'error', inputs: [], name: 'B_MSG_HASH_NULL' }, + { type: 'error', inputs: [], name: 'B_MSG_HASH_NULL' }, + { type: 'error', inputs: [], name: 'B_MSG_NON_RETRIABLE' }, + { type: 'error', inputs: [], name: 'B_MSG_NON_RETRIABLE' }, + { type: 'error', inputs: [], name: 'B_MSG_NOT_FAILED' }, + { type: 'error', inputs: [], name: 'B_MSG_NOT_FAILED' }, + { type: 'error', inputs: [], name: 'B_NULL_APP_ADDR' }, + { type: 'error', inputs: [], name: 'B_OWNER_IS_NULL' }, + { type: 'error', inputs: [], name: 'B_OWNER_IS_NULL' }, + { type: 'error', inputs: [], name: 'B_OWNER_IS_NULL' }, + { type: 'error', inputs: [], name: 'B_SIGNAL_NOT_RECEIVED' }, + { type: 'error', inputs: [], name: 'B_SIGNAL_NOT_RECEIVED' }, + { type: 'error', inputs: [], name: 'B_STATUS_MISMATCH' }, + { type: 'error', inputs: [], name: 'B_STATUS_MISMATCH' }, + { type: 'error', inputs: [], name: 'B_WRONG_CHAIN_ID' }, + { type: 'error', inputs: [], name: 'B_WRONG_CHAIN_ID' }, + { type: 'error', inputs: [], name: 'B_WRONG_CHAIN_ID' }, + { type: 'error', inputs: [], name: 'B_WRONG_CHAIN_ID' }, + { type: 'error', inputs: [], name: 'B_WRONG_CHAIN_ID' }, + { type: 'error', inputs: [], name: 'B_WRONG_TO_ADDRESS' }, + { type: 'error', inputs: [], name: 'B_WRONG_TO_ADDRESS' }, + { type: 'error', inputs: [], name: 'B_ZERO_SIGNAL' }, + { type: 'error', inputs: [], name: 'RESOLVER_DENIED' }, + { type: 'error', inputs: [], name: 'RESOLVER_INVALID_ADDR' }, + { + type: 'error', + inputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + ], + name: 'RESOLVER_ZERO_ADDR', + }, + { + type: 'event', + anonymous: false, + inputs: [{ name: 'addressManager', internalType: 'address', type: 'address', indexed: false }], + name: 'AddressManagerChanged', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256', indexed: true }, + { name: 'enabled', internalType: 'bool', type: 'bool', indexed: false }, + ], + name: 'DestChainEnabled', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: false }, + { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'EtherReleased', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: false }, + { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'EtherReleased', + }, + { + type: 'event', + anonymous: false, + inputs: [{ name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }], + name: 'Initialized', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, + { + name: 'message', + internalType: 'struct IBridge.Message', + type: 'tuple', + components: [ + { name: 'id', internalType: 'uint256', type: 'uint256' }, + { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'refundAddress', internalType: 'address', type: 'address' }, + { name: 'depositValue', internalType: 'uint256', type: 'uint256' }, + { name: 'callValue', internalType: 'uint256', type: 'uint256' }, + { name: 'processingFee', internalType: 'uint256', type: 'uint256' }, + { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, + { name: 'memo', internalType: 'string', type: 'string' }, + ], + indexed: false, + }, + ], + name: 'MessageSent', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, + { + name: 'message', + internalType: 'struct IBridge.Message', + type: 'tuple', + components: [ + { name: 'id', internalType: 'uint256', type: 'uint256' }, + { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'refundAddress', internalType: 'address', type: 'address' }, + { name: 'depositValue', internalType: 'uint256', type: 'uint256' }, + { name: 'callValue', internalType: 'uint256', type: 'uint256' }, + { name: 'processingFee', internalType: 'uint256', type: 'uint256' }, + { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, + { name: 'memo', internalType: 'string', type: 'string' }, + ], + indexed: false, + }, + ], + name: 'MessageSent', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, + { name: 'status', internalType: 'enum LibBridgeStatus.MessageStatus', type: 'uint8', indexed: false }, + { name: 'transactor', internalType: 'address', type: 'address', indexed: false }, + ], + name: 'MessageStatusChanged', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, + { name: 'status', internalType: 'enum LibBridgeStatus.MessageStatus', type: 'uint8', indexed: false }, + { name: 'transactor', internalType: 'address', type: 'address', indexed: false }, + ], + name: 'MessageStatusChanged', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true }, + { name: 'newOwner', internalType: 'address', type: 'address', indexed: true }, + ], + name: 'OwnershipTransferred', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'sender', internalType: 'address', type: 'address', indexed: false }, + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: false }, + ], + name: 'SignalSent', + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'addressManager', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'context', + outputs: [ + { + name: '', + internalType: 'struct IBridge.Context', + type: 'tuple', + components: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32' }, + { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'msgHash', internalType: 'bytes32', type: 'bytes32' }], + name: 'getMessageStatus', + outputs: [{ name: '', internalType: 'enum LibBridgeStatus.MessageStatus', type: 'uint8' }], + }, + { + stateMutability: 'pure', + type: 'function', + inputs: [{ name: 'msgHash', internalType: 'bytes32', type: 'bytes32' }], + name: 'getMessageStatusSlot', + outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + }, + { + stateMutability: 'pure', + type: 'function', + inputs: [ + { + name: 'message', + internalType: 'struct IBridge.Message', + type: 'tuple', + components: [ + { name: 'id', internalType: 'uint256', type: 'uint256' }, + { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'refundAddress', internalType: 'address', type: 'address' }, + { name: 'depositValue', internalType: 'uint256', type: 'uint256' }, + { name: 'callValue', internalType: 'uint256', type: 'uint256' }, + { name: 'processingFee', internalType: 'uint256', type: 'uint256' }, + { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, + { name: 'memo', internalType: 'string', type: 'string' }, + ], + }, + ], + name: 'hashMessage', + outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: '_addressManager', internalType: 'address', type: 'address' }], + name: 'init', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: '_chainId', internalType: 'uint256', type: 'uint256' }], + name: 'isDestChainEnabled', + outputs: [{ name: 'enabled', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'msgHash', internalType: 'bytes32', type: 'bytes32' }], + name: 'isEtherReleased', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32' }, + { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'proof', internalType: 'bytes', type: 'bytes' }, + ], + name: 'isMessageFailed', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32' }, + { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'proof', internalType: 'bytes', type: 'bytes' }, + ], + name: 'isMessageReceived', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'msgHash', internalType: 'bytes32', type: 'bytes32' }], + name: 'isMessageSent', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'message', + internalType: 'struct IBridge.Message', + type: 'tuple', + components: [ + { name: 'id', internalType: 'uint256', type: 'uint256' }, + { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'refundAddress', internalType: 'address', type: 'address' }, + { name: 'depositValue', internalType: 'uint256', type: 'uint256' }, + { name: 'callValue', internalType: 'uint256', type: 'uint256' }, + { name: 'processingFee', internalType: 'uint256', type: 'uint256' }, + { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, + { name: 'memo', internalType: 'string', type: 'string' }, + ], + }, + { name: 'proof', internalType: 'bytes', type: 'bytes' }, + ], + name: 'processMessage', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'message', + internalType: 'struct IBridge.Message', + type: 'tuple', + components: [ + { name: 'id', internalType: 'uint256', type: 'uint256' }, + { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'refundAddress', internalType: 'address', type: 'address' }, + { name: 'depositValue', internalType: 'uint256', type: 'uint256' }, + { name: 'callValue', internalType: 'uint256', type: 'uint256' }, + { name: 'processingFee', internalType: 'uint256', type: 'uint256' }, + { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, + { name: 'memo', internalType: 'string', type: 'string' }, + ], + }, + { name: 'proof', internalType: 'bytes', type: 'bytes' }, + ], + name: 'releaseEther', + outputs: [], + }, + { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'renounceOwnership', outputs: [] }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, + ], + name: 'resolve', + outputs: [{ name: '', internalType: 'address payable', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, + ], + name: 'resolve', + outputs: [{ name: '', internalType: 'address payable', type: 'address' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'message', + internalType: 'struct IBridge.Message', + type: 'tuple', + components: [ + { name: 'id', internalType: 'uint256', type: 'uint256' }, + { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'refundAddress', internalType: 'address', type: 'address' }, + { name: 'depositValue', internalType: 'uint256', type: 'uint256' }, + { name: 'callValue', internalType: 'uint256', type: 'uint256' }, + { name: 'processingFee', internalType: 'uint256', type: 'uint256' }, + { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, + { name: 'memo', internalType: 'string', type: 'string' }, + ], + }, + { name: 'isLastAttempt', internalType: 'bool', type: 'bool' }, + ], + name: 'retryMessage', + outputs: [], + }, + { + stateMutability: 'payable', + type: 'function', + inputs: [ + { + name: 'message', + internalType: 'struct IBridge.Message', + type: 'tuple', + components: [ + { name: 'id', internalType: 'uint256', type: 'uint256' }, + { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'refundAddress', internalType: 'address', type: 'address' }, + { name: 'depositValue', internalType: 'uint256', type: 'uint256' }, + { name: 'callValue', internalType: 'uint256', type: 'uint256' }, + { name: 'processingFee', internalType: 'uint256', type: 'uint256' }, + { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, + { name: 'memo', internalType: 'string', type: 'string' }, + ], + }, + ], + name: 'sendMessage', + outputs: [{ name: 'msgHash', internalType: 'bytes32', type: 'bytes32' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newAddressManager', internalType: 'address', type: 'address' }], + name: 'setAddressManager', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], + name: 'transferOwnership', + outputs: [], + }, + { stateMutability: 'payable', type: 'receive' }, +] as const; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// TokenVault +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const tokenVaultABI = [ + { type: 'error', inputs: [], name: 'RESOLVER_DENIED' }, + { type: 'error', inputs: [], name: 'RESOLVER_INVALID_ADDR' }, + { + type: 'error', + inputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + ], + name: 'RESOLVER_ZERO_ADDR', + }, + { type: 'error', inputs: [], name: 'TOKENVAULT_CANONICAL_TOKEN_NOT_FOUND' }, + { type: 'error', inputs: [], name: 'TOKENVAULT_INVALID_AMOUNT' }, + { type: 'error', inputs: [], name: 'TOKENVAULT_INVALID_OWNER' }, + { type: 'error', inputs: [], name: 'TOKENVAULT_INVALID_SENDER' }, + { type: 'error', inputs: [], name: 'TOKENVAULT_INVALID_SRC_CHAIN_ID' }, + { type: 'error', inputs: [], name: 'TOKENVAULT_INVALID_TO' }, + { type: 'error', inputs: [], name: 'TOKENVAULT_INVALID_TOKEN' }, + { type: 'error', inputs: [], name: 'TOKENVAULT_INVALID_VALUE' }, + { type: 'error', inputs: [], name: 'TOKENVAULT_MESSAGE_NOT_FAILED' }, + { + type: 'event', + anonymous: false, + inputs: [{ name: 'addressManager', internalType: 'address', type: 'address', indexed: false }], + name: 'AddressManagerChanged', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'srcChainId', internalType: 'uint256', type: 'uint256', indexed: true }, + { name: 'canonicalToken', internalType: 'address', type: 'address', indexed: true }, + { name: 'bridgedToken', internalType: 'address', type: 'address', indexed: true }, + { name: 'canonicalTokenSymbol', internalType: 'string', type: 'string', indexed: false }, + { name: 'canonicalTokenName', internalType: 'string', type: 'string', indexed: false }, + { name: 'canonicalTokenDecimal', internalType: 'uint8', type: 'uint8', indexed: false }, + ], + name: 'BridgedERC20Deployed', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { name: 'srcChainId', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'token', internalType: 'address', type: 'address', indexed: false }, + { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'ERC20Received', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'token', internalType: 'address', type: 'address', indexed: false }, + { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'ERC20Released', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { name: 'destChainId', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'token', internalType: 'address', type: 'address', indexed: false }, + { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'ERC20Sent', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'msgHash', internalType: 'bytes32', type: 'bytes32', indexed: true }, + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { name: 'destChainId', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'EtherSent', + }, + { + type: 'event', + anonymous: false, + inputs: [{ name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }], + name: 'Initialized', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true }, + { name: 'newOwner', internalType: 'address', type: 'address', indexed: true }, + ], + name: 'OwnershipTransferred', + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'addressManager', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'bridgedAddress', internalType: 'address', type: 'address' }], + name: 'bridgedToCanonical', + outputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'decimals', internalType: 'uint8', type: 'uint8' }, + { name: 'symbol', internalType: 'string', type: 'string' }, + { name: 'name', internalType: 'string', type: 'string' }, + ], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'canonicalAddress', internalType: 'address', type: 'address' }, + ], + name: 'canonicalToBridged', + outputs: [{ name: 'bridgedAddress', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'addressManager', internalType: 'address', type: 'address' }], + name: 'init', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'tokenAddress', internalType: 'address', type: 'address' }], + name: 'isBridgedToken', + outputs: [{ name: 'isBridged', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'msgHash', internalType: 'bytes32', type: 'bytes32' }], + name: 'messageDeposits', + outputs: [ + { name: 'token', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'canonicalToken', + internalType: 'struct TokenVault.CanonicalERC20', + type: 'tuple', + components: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'decimals', internalType: 'uint8', type: 'uint8' }, + { name: 'symbol', internalType: 'string', type: 'string' }, + { name: 'name', internalType: 'string', type: 'string' }, + ], + }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'receiveERC20', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'message', + internalType: 'struct IBridge.Message', + type: 'tuple', + components: [ + { name: 'id', internalType: 'uint256', type: 'uint256' }, + { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'srcChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'refundAddress', internalType: 'address', type: 'address' }, + { name: 'depositValue', internalType: 'uint256', type: 'uint256' }, + { name: 'callValue', internalType: 'uint256', type: 'uint256' }, + { name: 'processingFee', internalType: 'uint256', type: 'uint256' }, + { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, + { name: 'memo', internalType: 'string', type: 'string' }, + ], + }, + { name: 'proof', internalType: 'bytes', type: 'bytes' }, + ], + name: 'releaseERC20', + outputs: [], + }, + { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'renounceOwnership', outputs: [] }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'chainId', internalType: 'uint256', type: 'uint256' }, + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, + ], + name: 'resolve', + outputs: [{ name: '', internalType: 'address payable', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'name', internalType: 'bytes32', type: 'bytes32' }, + { name: 'allowZeroAddress', internalType: 'bool', type: 'bool' }, + ], + name: 'resolve', + outputs: [{ name: '', internalType: 'address payable', type: 'address' }], + }, + { + stateMutability: 'payable', + type: 'function', + inputs: [ + { name: 'destChainId', internalType: 'uint256', type: 'uint256' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'token', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, + { name: 'processingFee', internalType: 'uint256', type: 'uint256' }, + { name: 'refundAddress', internalType: 'address', type: 'address' }, + { name: 'memo', internalType: 'string', type: 'string' }, + ], + name: 'sendERC20', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newAddressManager', internalType: 'address', type: 'address' }], + name: 'setAddressManager', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], + name: 'transferOwnership', + outputs: [], + }, +] as const; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// CrossChainSync +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const crossChainSyncABI = [ + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'srcHeight', internalType: 'uint256', type: 'uint256', indexed: true }, + { name: 'blockHash', internalType: 'bytes32', type: 'bytes32', indexed: false }, + { name: 'signalRoot', internalType: 'bytes32', type: 'bytes32', indexed: false }, + ], + name: 'CrossChainSynced', + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'number', internalType: 'uint256', type: 'uint256' }], + name: 'getCrossChainBlockHash', + outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'number', internalType: 'uint256', type: 'uint256' }], + name: 'getCrossChainSignalRoot', + outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + }, +] as const; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// FreeMintERC20 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const freeMintErc20ABI = [ + { + stateMutability: 'nonpayable', + type: 'constructor', + inputs: [ + { name: 'name', internalType: 'string', type: 'string' }, + { name: 'symbol', internalType: 'string', type: 'string' }, + ], + }, + { type: 'error', inputs: [], name: 'HasMinted' }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'owner', internalType: 'address', type: 'address', indexed: true }, + { name: 'spender', internalType: 'address', type: 'address', indexed: true }, + { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'Approval', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'Transfer', + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'spender', internalType: 'address', type: 'address' }, + ], + name: 'allowance', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'approve', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'balanceOf', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'decimals', + outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'subtractedValue', internalType: 'uint256', type: 'uint256' }, + ], + name: 'decreaseAllowance', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'addedValue', internalType: 'uint256', type: 'uint256' }, + ], + name: 'increaseAllowance', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'to', internalType: 'address', type: 'address' }], + name: 'mint', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'minter', internalType: 'address', type: 'address' }], + name: 'minters', + outputs: [{ name: 'hasMinted', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'name', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'symbol', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'totalSupply', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'transfer', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'transferFrom', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, +] as const; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Erc20 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const erc20ABI = [ + { + stateMutability: 'nonpayable', + type: 'constructor', + inputs: [ + { name: 'name_', internalType: 'string', type: 'string' }, + { name: 'symbol_', internalType: 'string', type: 'string' }, + ], + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'owner', internalType: 'address', type: 'address', indexed: true }, + { name: 'spender', internalType: 'address', type: 'address', indexed: true }, + { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'Approval', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'Transfer', + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'spender', internalType: 'address', type: 'address' }, + ], + name: 'allowance', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'approve', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'balanceOf', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'decimals', + outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'subtractedValue', internalType: 'uint256', type: 'uint256' }, + ], + name: 'decreaseAllowance', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'addedValue', internalType: 'uint256', type: 'uint256' }, + ], + name: 'increaseAllowance', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'name', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'symbol', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'totalSupply', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'transfer', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'transferFrom', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, +] as const; diff --git a/packages/bridge-ui-v2/src/components/Activities/ListWithDetailsView.svelte b/packages/bridge-ui-v2/src/components/Activities/ListWithDetailsView.svelte index c104c62644..021b55d32c 100644 --- a/packages/bridge-ui-v2/src/components/Activities/ListWithDetailsView.svelte +++ b/packages/bridge-ui-v2/src/components/Activities/ListWithDetailsView.svelte @@ -215,7 +215,8 @@
  • {$t('activities.header.explorer')}

    - {$t('activities.link.explorer')} + {$t('activities.link.explorer')}
  • diff --git a/packages/bridge-ui-v2/src/components/Activities/TableView.svelte b/packages/bridge-ui-v2/src/components/Activities/TableView.svelte index 6f4c847bce..e4e142ebfe 100644 --- a/packages/bridge-ui-v2/src/components/Activities/TableView.svelte +++ b/packages/bridge-ui-v2/src/components/Activities/TableView.svelte @@ -225,7 +225,8 @@ - {$t('activities.link.explorer')} + {$t('activities.link.explorer')} diff --git a/packages/bridge-ui-v2/src/components/ChainSelector/ChainSelector.svelte b/packages/bridge-ui-v2/src/components/ChainSelector/ChainSelector.svelte index 2b6d036111..2a1e91ea09 100644 --- a/packages/bridge-ui-v2/src/components/ChainSelector/ChainSelector.svelte +++ b/packages/bridge-ui-v2/src/components/ChainSelector/ChainSelector.svelte @@ -1,8 +1,8 @@
    { + if (event.key === 'Enter') { + selectToken(token); + } + }; } onMount(() => { @@ -89,7 +91,7 @@ tabindex="0" aria-selected={token === selectedToken} on:click={() => selectToken(token)} - on:keydown={(event) => onTokenKeydown(event, token)}> + on:keydown={getTokenKeydownHandler(token)}>
    diff --git a/packages/bridge-ui-v2/src/libs/chain/chains.ts b/packages/bridge-ui-v2/src/libs/chain/chains.ts index 710ad1f7e2..f59c8d2d7c 100644 --- a/packages/bridge-ui-v2/src/libs/chain/chains.ts +++ b/packages/bridge-ui-v2/src/libs/chain/chains.ts @@ -1,4 +1,4 @@ -import type { Chain } from 'wagmi'; +import type { Chain } from '@wagmi/core'; import { PUBLIC_L1_BRIDGE_ADDRESS, diff --git a/packages/bridge-ui-v2/src/libs/wagmi/client.ts b/packages/bridge-ui-v2/src/libs/wagmi/client.ts index 02fde76257..69ba7cfa1f 100644 --- a/packages/bridge-ui-v2/src/libs/wagmi/client.ts +++ b/packages/bridge-ui-v2/src/libs/wagmi/client.ts @@ -1,5 +1,5 @@ +import { configureChains, createConfig } from '@wagmi/core'; import { w3mConnectors, w3mProvider } from '@web3modal/ethereum'; -import { configureChains, createConfig } from 'wagmi'; import { PUBLIC_WALLETCONNECT_PROJECT_ID } from '$env/static/public'; import { chains } from '$libs/chain'; diff --git a/packages/bridge-ui-v2/src/libs/wagmi/watcher.ts b/packages/bridge-ui-v2/src/libs/wagmi/watcher.ts index 4d71cf93c5..59b44c906d 100644 --- a/packages/bridge-ui-v2/src/libs/wagmi/watcher.ts +++ b/packages/bridge-ui-v2/src/libs/wagmi/watcher.ts @@ -1,4 +1,4 @@ -import { watchAccount, watchNetwork /*, watchPublicClient, watchWalletClient*/ } from 'wagmi/actions'; +import { watchAccount, watchNetwork /*, watchPublicClient, watchWalletClient*/ } from '@wagmi/core'; import { getLogger } from '$libs/util/logger'; import { account } from '$stores/account'; diff --git a/packages/bridge-ui-v2/src/stores/account.ts b/packages/bridge-ui-v2/src/stores/account.ts index 59cbf3f138..3356bd0b84 100644 --- a/packages/bridge-ui-v2/src/stores/account.ts +++ b/packages/bridge-ui-v2/src/stores/account.ts @@ -1,5 +1,4 @@ +import type { GetAccountResult, PublicClient } from '@wagmi/core'; import { writable } from 'svelte/store'; -import type { PublicClient } from 'wagmi'; -import type { GetAccountResult } from 'wagmi/actions'; export const account = writable>(); diff --git a/packages/bridge-ui-v2/src/stores/network.ts b/packages/bridge-ui-v2/src/stores/network.ts index 6d9f25056d..aebabb1a89 100644 --- a/packages/bridge-ui-v2/src/stores/network.ts +++ b/packages/bridge-ui-v2/src/stores/network.ts @@ -1,4 +1,4 @@ +import type { GetNetworkResult } from '@wagmi/core'; import { writable } from 'svelte/store'; -import type { GetNetworkResult } from 'wagmi/actions'; export const network = writable(); diff --git a/packages/bridge-ui-v2/tsconfig.json b/packages/bridge-ui-v2/tsconfig.json index 1ebc98e645..2cd1c44be3 100644 --- a/packages/bridge-ui-v2/tsconfig.json +++ b/packages/bridge-ui-v2/tsconfig.json @@ -10,6 +10,8 @@ "sourceMap": true, "strict": true, + "ignoreDeprecations": "5.0", + "paths": { "$components/*": ["./src/components/*"], "$stores/*": ["./src/stores/*"], diff --git a/packages/bridge-ui-v2/wagmi.config.ts b/packages/bridge-ui-v2/wagmi.config.ts new file mode 100644 index 0000000000..5e550f87fc --- /dev/null +++ b/packages/bridge-ui-v2/wagmi.config.ts @@ -0,0 +1,36 @@ +import { defineConfig } from '@wagmi/cli'; +import type { Abi } from 'abitype'; + +// CI will fail if we import from the protocol package +// We'll ignore this file on svelte-check: `svelte-check --ignore ./wagmi.config.ts` +import Bridge from '../protocol/out/Bridge.sol/Bridge.json'; +import ERC20 from '../protocol/out/ERC20.sol/ERC20.json'; +import FreeMintERC20 from '../protocol/out/FreeMintERC20.sol/FreeMintERC20.json'; +import ICrossChainSync from '../protocol/out/ICrossChainSync.sol/ICrossChainSync.json'; +import TokenVault from '../protocol/out/TokenVault.sol/TokenVault.json'; + +export default defineConfig({ + out: 'src/abi/index.ts', + contracts: [ + { + name: 'Bridge', + abi: Bridge.abi as Abi, + }, + { + name: 'TokenVault', + abi: TokenVault.abi as Abi, + }, + { + name: 'CrossChainSync', + abi: ICrossChainSync.abi as Abi, + }, + { + name: 'FreeMintERC20', + abi: FreeMintERC20.abi as Abi, + }, + { + name: 'Erc20', + abi: ERC20.abi as Abi, + }, + ], +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 97d2d2be83..c727660c3a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -203,12 +203,18 @@ importers: packages/bridge-ui-v2: dependencies: + '@wagmi/core': + specifier: ^1.3.6 + version: 1.3.6(react@18.2.0)(typescript@5.1.6)(viem@1.2.9) '@web3modal/ethereum': specifier: ^2.6.2 version: 2.6.2(@wagmi/core@1.3.6)(viem@1.2.9) '@web3modal/html': specifier: ^2.6.2 version: 2.6.2(react@18.2.0) + abitype: + specifier: ^0.8.2 + version: 0.8.11(typescript@5.1.6) debug: specifier: ^4.3.4 version: 4.3.4(supports-color@8.1.1) @@ -218,9 +224,6 @@ importers: viem: specifier: ^1.2.9 version: 1.2.9(typescript@5.1.6) - wagmi: - specifier: ^1.3.5 - version: 1.3.5(react@18.2.0)(typescript@5.1.6)(viem@1.2.9) devDependencies: '@playwright/test': specifier: ^1.28.1 @@ -243,6 +246,9 @@ importers: '@typescript-eslint/parser': specifier: ^5.45.0 version: 5.45.0(eslint@8.28.0)(typescript@5.1.6) + '@wagmi/cli': + specifier: ^1.0.1 + version: 1.0.1(@wagmi/core@1.3.6)(typescript@5.1.6) autoprefixer: specifier: ^10.4.14 version: 10.4.14(postcss@8.4.24) @@ -274,8 +280,8 @@ importers: specifier: ^3.54.0 version: 3.54.0 svelte-check: - specifier: ^3.0.1 - version: 3.0.1(postcss@8.4.24)(svelte@3.54.0) + specifier: ^3.4.4 + version: 3.4.4(postcss@8.4.24)(svelte@3.54.0) tailwindcss: specifier: ^3.3.2 version: 3.3.2 @@ -2856,13 +2862,13 @@ packages: resolution: {integrity: sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==} dependencies: '@formatjs/intl-localematcher': 0.2.25 - tslib: 2.4.1 + tslib: 2.6.0 dev: false /@formatjs/fast-memoize@1.2.1: resolution: {integrity: sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==} dependencies: - tslib: 2.4.1 + tslib: 2.6.0 dev: false /@formatjs/icu-messageformat-parser@2.1.0: @@ -2870,20 +2876,20 @@ packages: dependencies: '@formatjs/ecma402-abstract': 1.11.4 '@formatjs/icu-skeleton-parser': 1.3.6 - tslib: 2.4.1 + tslib: 2.6.0 dev: false /@formatjs/icu-skeleton-parser@1.3.6: resolution: {integrity: sha512-I96mOxvml/YLrwU2Txnd4klA7V8fRhb6JG/4hm3VMNmeJo1F03IpV2L3wWt7EweqNLES59SZ4d6hVOPCSf80Bg==} dependencies: '@formatjs/ecma402-abstract': 1.11.4 - tslib: 2.4.1 + tslib: 2.6.0 dev: false /@formatjs/intl-localematcher@0.2.25: resolution: {integrity: sha512-YmLcX70BxoSopLFdLr1Ds99NdlTI2oWoLbaUW2M406lxOIPzE1KQhRz2fPUkq34xVZQaihCoU29h0KK7An3bhA==} dependencies: - tslib: 2.4.1 + tslib: 2.6.0 dev: false /@foundry-rs/easy-foundryup@0.1.3: @@ -3323,7 +3329,7 @@ packages: resolution: {integrity: sha512-9cIRrfkWvHblSiNDVXsjivqa9Ak0RYo/1H6tqTqTbAx+oBK2Sva0lWDHxGchOqA7bySGUJKAWSNJvH6gdHZ0gQ==} engines: {node: '>=14.0.0'} dependencies: - '@types/debug': 4.1.7 + '@types/debug': 4.1.8 debug: 4.3.4(supports-color@8.1.1) semver: 7.5.3 superstruct: 1.0.3 @@ -3336,7 +3342,7 @@ packages: '@motionone/easing': 10.15.1 '@motionone/types': 10.15.1 '@motionone/utils': 10.15.1 - tslib: 2.4.1 + tslib: 2.6.0 /@motionone/dom@10.16.2: resolution: {integrity: sha512-bnuHdNbge1FutZXv+k7xub9oPWcF0hsu8y1HTH/qg6av58YI0VufZ3ngfC7p2xhMJMnoh0LXFma2EGTgPeCkeg==} @@ -3346,26 +3352,26 @@ packages: '@motionone/types': 10.15.1 '@motionone/utils': 10.15.1 hey-listen: 1.0.8 - tslib: 2.4.1 + tslib: 2.6.0 /@motionone/easing@10.15.1: resolution: {integrity: sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==} dependencies: '@motionone/utils': 10.15.1 - tslib: 2.4.1 + tslib: 2.6.0 /@motionone/generators@10.15.1: resolution: {integrity: sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ==} dependencies: '@motionone/types': 10.15.1 '@motionone/utils': 10.15.1 - tslib: 2.4.1 + tslib: 2.6.0 /@motionone/svelte@10.16.2: resolution: {integrity: sha512-38xsroKrfK+aHYhuQlE6eFcGy0EwrB43Q7RGjF73j/kRUTcLNu/LAaKiLLsN5lyqVzCgTBVt4TMT/ShWbTbc5Q==} dependencies: '@motionone/dom': 10.16.2 - tslib: 2.4.1 + tslib: 2.6.0 /@motionone/types@10.15.1: resolution: {integrity: sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA==} @@ -3375,13 +3381,13 @@ packages: dependencies: '@motionone/types': 10.15.1 hey-listen: 1.0.8 - tslib: 2.4.1 + tslib: 2.6.0 /@motionone/vue@10.16.2: resolution: {integrity: sha512-7/dEK/nWQXOkJ70bqb2KyNfSWbNvWqKKq1C8juj+0Mg/AorgD8O5wE3naddK0G+aXuNMqRuc4jlsYHHWHtIzVw==} dependencies: '@motionone/dom': 10.16.2 - tslib: 2.4.1 + tslib: 2.6.0 /@napi-rs/simple-git-android-arm-eabi@0.1.8: resolution: {integrity: sha512-JJCejHBB1G6O8nxjQLT4quWCcvLpC3oRdJJ9G3MFYSCoYS8i1bWCWeU+K7Br+xT+D6s1t9q8kNJAwJv9Ygpi0g==} @@ -4269,7 +4275,6 @@ packages: - typescript - utf-8-validate - zod - dev: false /@safe-global/safe-apps-sdk@7.11.0: resolution: {integrity: sha512-RDamzPM1Lhhiiz0O+Dn6FkFqIh47jmZX+HCV/BBnBBOSKfBJE//IGD3+02zMgojXHTikQAburdPes9qmH1SA1A==} @@ -4302,7 +4307,6 @@ packages: - typescript - utf-8-validate - zod - dev: false /@safe-global/safe-gateway-typescript-sdk@3.7.3: resolution: {integrity: sha512-O6JCgXNZWG0Vv8FnOEjKfcbsP0WxGvoPJk5ufqUrsyBlHup16It6oaLnn+25nXFLBZOHI1bz8429JlqAc2t2hg==} @@ -4326,7 +4330,7 @@ packages: resolution: {integrity: sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q==} dependencies: '@noble/curves': 1.0.0 - '@noble/hashes': 1.3.0 + '@noble/hashes': 1.3.1 '@scure/base': 1.1.1 /@scure/bip39@1.1.1: @@ -4339,7 +4343,7 @@ packages: /@scure/bip39@1.2.0: resolution: {integrity: sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg==} dependencies: - '@noble/hashes': 1.3.0 + '@noble/hashes': 1.3.1 '@scure/base': 1.1.1 /@sentry-internal/tracing@7.53.1: @@ -5038,12 +5042,12 @@ packages: /@types/bn.js@4.11.6: resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} dependencies: - '@types/node': 12.20.55 + '@types/node': 20.4.0 /@types/bn.js@5.1.1: resolution: {integrity: sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==} dependencies: - '@types/node': 12.20.55 + '@types/node': 20.4.0 dev: true /@types/cacheable-request@6.0.3: @@ -5051,7 +5055,7 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 - '@types/node': 12.20.55 + '@types/node': 20.4.0 '@types/responselike': 1.0.0 dev: true optional: true @@ -5073,13 +5077,13 @@ packages: /@types/concat-stream@1.6.1: resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} dependencies: - '@types/node': 12.20.55 + '@types/node': 20.4.0 dev: true /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 12.20.55 + '@types/node': 20.4.0 /@types/cookie@0.5.1: resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==} @@ -5089,12 +5093,12 @@ packages: resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} dependencies: '@types/ms': 0.7.31 + dev: true /@types/debug@4.1.8: resolution: {integrity: sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==} dependencies: '@types/ms': 0.7.31 - dev: false /@types/eslint-scope@3.7.4: resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} @@ -5136,14 +5140,14 @@ packages: /@types/form-data@0.0.33: resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} dependencies: - '@types/node': 12.20.55 + '@types/node': 20.4.0 dev: true /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 12.20.55 + '@types/node': 20.4.0 dev: true /@types/glob@8.1.0: @@ -5220,7 +5224,7 @@ packages: /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 12.20.55 + '@types/node': 20.4.0 dev: true optional: true @@ -5295,7 +5299,6 @@ packages: /@types/node@20.4.0: resolution: {integrity: sha512-jfT7iTf/4kOQ9S7CHV9BIyRaQqHu67mOjsIQBC3BKZvzvUB6zLxEwJ6sBE3ozcvP8kF6Uk5PXN0Q+c0dfhGX0g==} - dev: true /@types/node@8.10.66: resolution: {integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==} @@ -5312,7 +5315,7 @@ packages: /@types/pbkdf2@3.1.0: resolution: {integrity: sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==} dependencies: - '@types/node': 12.20.55 + '@types/node': 20.4.0 /@types/prettier@2.7.3: resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} @@ -5339,7 +5342,7 @@ packages: /@types/readable-stream@2.3.15: resolution: {integrity: sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==} dependencies: - '@types/node': 12.20.55 + '@types/node': 20.4.0 safe-buffer: 5.1.2 dev: true @@ -5352,7 +5355,7 @@ packages: /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 12.20.55 + '@types/node': 20.4.0 dev: true optional: true @@ -5375,7 +5378,7 @@ packages: /@types/secp256k1@4.0.3: resolution: {integrity: sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==} dependencies: - '@types/node': 12.20.55 + '@types/node': 20.4.0 /@types/semver@7.5.0: resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} @@ -5423,7 +5426,7 @@ packages: /@types/ws@7.4.7: resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: - '@types/node': 12.20.55 + '@types/node': 20.4.0 /@types/yargs-parser@21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} @@ -6061,6 +6064,17 @@ packages: dependencies: typescript: 4.9.5 + /@wagmi/chains@0.2.22(typescript@5.1.6): + resolution: {integrity: sha512-TdiOzJT6TO1JrztRNjTA5Quz+UmQlbvWFG8N41u9tta0boHA1JCAzGGvU6KuIcOmJfRJkKOUIt67wlbopCpVHg==} + peerDependencies: + typescript: '>=4.9.4' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + typescript: 5.1.6 + dev: true + /@wagmi/chains@1.0.0(typescript@4.9.5): resolution: {integrity: sha512-eNbqRWyHbivcMNq5tbXJks4NaOzVLHnNQauHPeE/EDT9AlpqzcrMc+v2T1/2Iw8zN4zgqB86NCsxeJHJs7+xng==} peerDependencies: @@ -6072,6 +6086,17 @@ packages: typescript: 4.9.5 dev: true + /@wagmi/chains@1.0.0(typescript@5.1.6): + resolution: {integrity: sha512-eNbqRWyHbivcMNq5tbXJks4NaOzVLHnNQauHPeE/EDT9AlpqzcrMc+v2T1/2Iw8zN4zgqB86NCsxeJHJs7+xng==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + typescript: 5.1.6 + dev: true + /@wagmi/chains@1.2.0(typescript@5.1.6): resolution: {integrity: sha512-dmDRipsE54JfyudOBkuhEexqQWcrZqxn/qiujG8SBzMh/az/AH5xlJSA+j1CPWTx9+QofSMF3B7A4gb6XRmSaQ==} peerDependencies: @@ -6081,7 +6106,6 @@ packages: optional: true dependencies: typescript: 5.1.6 - dev: false /@wagmi/chains@1.4.0(typescript@5.1.6): resolution: {integrity: sha512-9HwJrhcZ1TxyrCbE10y7s1eSiSiyfGam7AHIOLYExaOX+vpOZ+MNTt4orFEDbEpz1fxwJDPPI38lanAUix1OSA==} @@ -6092,7 +6116,52 @@ packages: optional: true dependencies: typescript: 5.1.6 - dev: false + + /@wagmi/cli@1.0.1(@wagmi/core@1.3.6)(typescript@5.1.6): + resolution: {integrity: sha512-SZwT7RglyVDipDTPL/dEKfrAJ3GdSKfdhaF6CFoseIgSiOLkj3xbakvAqdjYSkYnnpjrqLXc3WKZCnszQryctA==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + '@wagmi/core': '>=1.0.0-next.0' + typescript: '>=4.9.4' + wagmi: '>=1.0.0-next.0' + peerDependenciesMeta: + '@wagmi/core': + optional: true + typescript: + optional: true + wagmi: + optional: true + dependencies: + '@wagmi/chains': 0.2.22(typescript@5.1.6) + '@wagmi/core': 1.3.6(react@18.2.0)(typescript@5.1.6)(viem@1.2.9) + abitype: 0.8.1(typescript@5.1.6)(zod@3.21.4) + abort-controller: 3.0.0 + bundle-require: 3.1.2(esbuild@0.15.13) + cac: 6.7.14 + change-case: 4.1.2 + chokidar: 3.5.3 + dedent: 0.7.0 + detect-package-manager: 2.0.1 + dotenv: 16.3.1 + dotenv-expand: 10.0.0 + esbuild: 0.15.13 + execa: 6.1.0 + find-up: 6.3.0 + fs-extra: 10.1.0 + globby: 13.2.2 + node-fetch: 3.3.1 + ora: 6.3.1 + pathe: 1.1.1 + picocolors: 1.0.0 + prettier: 2.8.8 + typescript: 5.1.6 + viem: 0.3.50(typescript@5.1.6)(zod@3.21.4) + zod: 3.21.4 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true /@wagmi/cli@1.0.1(typescript@4.9.5)(wagmi@0.12.16): resolution: {integrity: sha512-SZwT7RglyVDipDTPL/dEKfrAJ3GdSKfdhaF6CFoseIgSiOLkj3xbakvAqdjYSkYnnpjrqLXc3WKZCnszQryctA==} @@ -6201,41 +6270,6 @@ packages: - utf-8-validate - zod - /@wagmi/connectors@2.6.3(@wagmi/chains@1.4.0)(react@18.2.0)(typescript@5.1.6)(viem@1.2.9): - resolution: {integrity: sha512-tloHzZq/7OCoOnveNdouhwv0pB1H0lB8+wqurColJsQdMKBTKn5xodl0pCkHjcKHZdELyIcuTINoq9aDzt30sA==} - peerDependencies: - '@wagmi/chains': '>=1.3.0' - typescript: '>=5.0.4' - viem: '>=0.3.35' - peerDependenciesMeta: - '@wagmi/chains': - optional: true - typescript: - optional: true - dependencies: - '@coinbase/wallet-sdk': 3.7.1 - '@ledgerhq/connect-kit-loader': 1.1.0 - '@safe-global/safe-apps-provider': 0.17.1(typescript@5.1.6) - '@safe-global/safe-apps-sdk': 8.0.0(typescript@5.1.6) - '@wagmi/chains': 1.4.0(typescript@5.1.6) - '@walletconnect/ethereum-provider': 2.8.6(@walletconnect/modal@2.5.9) - '@walletconnect/legacy-provider': 2.0.0 - '@walletconnect/modal': 2.5.9(react@18.2.0) - abitype: 0.8.7(typescript@5.1.6) - eventemitter3: 4.0.7 - typescript: 5.1.6 - viem: 1.2.9(typescript@5.1.6) - transitivePeerDependencies: - - '@react-native-async-storage/async-storage' - - bufferutil - - encoding - - lokijs - - react - - supports-color - - utf-8-validate - - zod - dev: false - /@wagmi/connectors@2.6.5(@wagmi/chains@1.4.0)(react@18.2.0)(typescript@5.1.6)(viem@1.2.9): resolution: {integrity: sha512-klF31togMDd0qQqEcLl5cCGxjMbL0RRXQ8I1vxmEa3KdGzw6Z3ICVzX7/bDfnNEZcOW7BKyAnZDq7rCt5jTOiw==} peerDependencies: @@ -6257,7 +6291,7 @@ packages: '@walletconnect/legacy-provider': 2.0.0 '@walletconnect/modal': 2.5.9(react@18.2.0) '@walletconnect/utils': 2.8.6 - abitype: 0.8.7(typescript@5.1.6) + abitype: 0.8.7(typescript@5.1.6)(zod@3.21.4) eventemitter3: 4.0.7 typescript: 5.1.6 viem: 1.2.9(typescript@5.1.6) @@ -6270,7 +6304,6 @@ packages: - supports-color - utf-8-validate - zod - dev: false /@wagmi/core@0.10.14(debug@4.3.4)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5): resolution: {integrity: sha512-+iQj5YNdVQ/kLVpVMLmF71Y2vnW3ox4b4Na4S9fvQazGudhqfqfpQ+YPYmH6SIIuZ1VhRnBmjJIY88IZt/OkwA==} @@ -6324,34 +6357,6 @@ packages: - typescript dev: false - /@wagmi/core@1.3.4(react@18.2.0)(typescript@5.1.6)(viem@1.2.9): - resolution: {integrity: sha512-2p6DVtKMRjkFljaQVIBtbH/oHpgoHQ1l9lSG8RmH6Z+Gm8IO67KdUbO0HuxceO/3sfBPrbNY6abbyMEaz0Rx1g==} - peerDependencies: - typescript: '>=5.0.4' - viem: '>=0.3.35' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@wagmi/chains': 1.4.0(typescript@5.1.6) - '@wagmi/connectors': 2.6.3(@wagmi/chains@1.4.0)(react@18.2.0)(typescript@5.1.6)(viem@1.2.9) - abitype: 0.8.7(typescript@5.1.6) - eventemitter3: 4.0.7 - typescript: 5.1.6 - viem: 1.2.9(typescript@5.1.6) - zustand: 4.3.9(react@18.2.0) - transitivePeerDependencies: - - '@react-native-async-storage/async-storage' - - bufferutil - - encoding - - immer - - lokijs - - react - - supports-color - - utf-8-validate - - zod - dev: false - /@wagmi/core@1.3.6(react@18.2.0)(typescript@5.1.6)(viem@1.2.9): resolution: {integrity: sha512-TXv9ZlRR5aySfERFuWMuo+lKXC/CoqtxVJZVHPqhK1jY+nldMx3AvrWzzF4CccRaMYcVdvPFepvmxzq2A2VvWg==} peerDependencies: @@ -6363,7 +6368,7 @@ packages: dependencies: '@wagmi/chains': 1.4.0(typescript@5.1.6) '@wagmi/connectors': 2.6.5(@wagmi/chains@1.4.0)(react@18.2.0)(typescript@5.1.6)(viem@1.2.9) - abitype: 0.8.7(typescript@5.1.6) + abitype: 0.8.7(typescript@5.1.6)(zod@3.21.4) eventemitter3: 4.0.7 typescript: 5.1.6 viem: 1.2.9(typescript@5.1.6) @@ -6378,7 +6383,6 @@ packages: - supports-color - utf-8-validate - zod - dev: false /@walletconnect/browser-utils@1.8.0: resolution: {integrity: sha512-Wcqqx+wjxIo9fv6eBUFHPsW1y/bGWWRboni5dfD8PtOmrihrEpOCmvRJe4rfl7xgJW8Ea9UqKEaq0bIRLHlK4A==} @@ -6463,7 +6467,6 @@ packages: - bufferutil - lokijs - utf-8-validate - dev: false /@walletconnect/crypto@1.0.3: resolution: {integrity: sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g==} @@ -6556,7 +6559,6 @@ packages: - encoding - lokijs - utf-8-validate - dev: false /@walletconnect/events@1.0.1: resolution: {integrity: sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==} @@ -6804,7 +6806,6 @@ packages: - bufferutil - lokijs - utf-8-validate - dev: false /@walletconnect/signer-connection@1.8.0: resolution: {integrity: sha512-+YAaTAP52MWZJ2wWnqKClKCPlPHBo6reURFe0cWidLADh9mi/kPWGALZ5AENK22zpem1bbKV466rF5Rzvu0ehA==} @@ -6866,7 +6867,6 @@ packages: transitivePeerDependencies: - '@react-native-async-storage/async-storage' - lokijs - dev: false /@walletconnect/universal-provider@2.8.1(debug@4.3.4): resolution: {integrity: sha512-6shgE4PM/S+GEh9oTWMloHZlt2BLsCitRn9tBh2Vf+jZiGlug3WNm+tBc/Fo6ILyHuzeYPbkzCM67AxcutOHGQ==} @@ -6907,7 +6907,6 @@ packages: - encoding - lokijs - utf-8-validate - dev: false /@walletconnect/utils@1.8.0: resolution: {integrity: sha512-zExzp8Mj1YiAIBfKNm5u622oNw44WOESzo6hj+Q3apSMIb0Jph9X3GDIdbZmvVZsNPxWDL7uodKgZcCInZv2vA==} @@ -6962,7 +6961,6 @@ packages: transitivePeerDependencies: - '@react-native-async-storage/async-storage' - lokijs - dev: false /@walletconnect/window-getters@1.0.0: resolution: {integrity: sha512-xB0SQsLaleIYIkSsl43vm8EwETpBzJ2gnzk7e0wMF3ktqiTGS6TFHxcprMl5R44KKh4tCcHCJwolMCaDSwtAaA==} @@ -7199,6 +7197,19 @@ packages: zod: 3.21.4 dev: true + /abitype@0.8.1(typescript@5.1.6)(zod@3.21.4): + resolution: {integrity: sha512-n8Di6AWb3i7HnEkBvecU6pG0a5nj5YwMvdAIwPLsQK95ulRy/XS113s/RXvSfTX1iOQJYFrEO3/q4SMWu7OwTA==} + peerDependencies: + typescript: '>=4.9.4' + zod: ^3 >=3.19.1 + peerDependenciesMeta: + zod: + optional: true + dependencies: + typescript: 5.1.6 + zod: 3.21.4 + dev: true + /abitype@0.8.11(typescript@5.1.6): resolution: {integrity: sha512-bM4v2dKvX08sZ9IU38IN5BKmN+ZkOSd2oI4a9f0ejHYZQYV6cDr7j+d95ga0z2XHG36Y4jzoG5Z7qDqxp7fi/A==} peerDependencies: @@ -7209,7 +7220,6 @@ packages: optional: true dependencies: typescript: 5.1.6 - dev: false /abitype@0.8.2(typescript@4.9.5): resolution: {integrity: sha512-B1ViNMGpfx/qjVQi0RTc2HEFHuR9uoCoTEkwELT5Y7pBPtBbctYijz9BK6+Kd0hQ3S70FhYTO2dWWk0QNUEXMA==} @@ -7236,7 +7246,7 @@ packages: zod: 3.21.4 dev: true - /abitype@0.8.7(typescript@5.1.6): + /abitype@0.8.7(typescript@5.1.6)(zod@3.21.4): resolution: {integrity: sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==} peerDependencies: typescript: '>=5.0.4' @@ -7246,7 +7256,7 @@ packages: optional: true dependencies: typescript: 5.1.6 - dev: false + zod: 3.21.4 /abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} @@ -7754,7 +7764,7 @@ packages: /async-mutex@0.2.6: resolution: {integrity: sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==} dependencies: - tslib: 2.4.1 + tslib: 2.6.0 /async@1.5.2: resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} @@ -9061,7 +9071,7 @@ packages: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 - tslib: 2.4.1 + tslib: 2.6.0 dev: true /camelcase-css@2.0.1: @@ -9109,7 +9119,7 @@ packages: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} dependencies: no-case: 3.0.4 - tslib: 2.4.1 + tslib: 2.6.0 upper-case-first: 2.0.2 dev: true @@ -9206,7 +9216,7 @@ packages: path-case: 3.0.4 sentence-case: 3.0.4 snake-case: 3.0.4 - tslib: 2.4.1 + tslib: 2.6.0 dev: true /char-regex@1.0.2: @@ -9793,7 +9803,7 @@ packages: resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} dependencies: no-case: 3.0.4 - tslib: 2.4.1 + tslib: 2.6.0 upper-case: 2.0.2 dev: true @@ -10458,7 +10468,7 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.1 + ms: 2.1.3 supports-color: 6.0.0 dev: true @@ -10863,7 +10873,7 @@ packages: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 - tslib: 2.4.1 + tslib: 2.6.0 dev: true /dotenv-expand@10.0.0: @@ -12338,7 +12348,7 @@ packages: /eth-json-rpc-middleware@1.6.0: resolution: {integrity: sha512-tDVCTlrUvdqHKqivYMjtFZsdD7TtpNLBCfKAcOpaVs7orBMS/A8HWro6dIzNtTZIR05FAbJ3bioFOnZpuCew9Q==} dependencies: - async: 2.6.2 + async: 2.6.4 eth-query: 2.1.2 eth-tx-summary: 3.2.4 ethereumjs-block: 1.7.1 @@ -12437,7 +12447,7 @@ packages: /eth-tx-summary@3.2.4: resolution: {integrity: sha512-NtlDnaVZah146Rm8HMRUNMgIwG/ED4jiqk0TME9zFheMl1jOp6jL1m0NKGjJwehXQ6ZKCPr16MTr+qspKpEXNg==} dependencies: - async: 2.6.2 + async: 2.6.4 clone: 2.1.2 concat-stream: 1.6.2 end-of-stream: 1.4.4 @@ -12453,7 +12463,7 @@ packages: resolution: {integrity: sha512-/MSbf/r2/Ld8o0l15AymjOTlPqpN8Cr4ByUEA9GtR4x0yAh3TdtDzEg29zMjXCNPI7u6E5fOQdj/Cf9Tc7oVNw==} deprecated: 'New package name format for new versions: @ethereumjs/ethash. Please update.' dependencies: - async: 2.6.2 + async: 2.6.4 buffer-xor: 2.0.2 ethereumjs-util: 7.1.5 miller-rabin: 4.0.1 @@ -12554,7 +12564,7 @@ packages: resolution: {integrity: sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==} deprecated: 'New package name format for new versions: @ethereumjs/block. Please update.' dependencies: - async: 2.6.2 + async: 2.6.4 ethereum-common: 0.2.0 ethereumjs-tx: 1.3.7 ethereumjs-util: 5.2.1 @@ -12565,7 +12575,7 @@ packages: resolution: {integrity: sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==} deprecated: 'New package name format for new versions: @ethereumjs/block. Please update.' dependencies: - async: 2.6.2 + async: 2.6.4 ethereumjs-common: 1.5.0 ethereumjs-tx: 2.1.2 ethereumjs-util: 5.2.1 @@ -12576,7 +12586,7 @@ packages: resolution: {integrity: sha512-zCxaRMUOzzjvX78DTGiKjA+4h2/sF0OYL1QuPux0DHpyq8XiNoF5GYHtb++GUxVlMsMfZV7AVyzbtgcRdIcEPQ==} deprecated: 'New package name format for new versions: @ethereumjs/blockchain. Please update.' dependencies: - async: 2.6.2 + async: 2.6.4 ethashjs: 0.0.8 ethereumjs-block: 2.2.2 ethereumjs-common: 1.5.0 @@ -12656,7 +12666,7 @@ packages: resolution: {integrity: sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw==} deprecated: 'New package name format for new versions: @ethereumjs/vm. Please update.' dependencies: - async: 2.6.2 + async: 2.6.4 async-eventemitter: 0.2.4 ethereumjs-account: 2.0.5 ethereumjs-block: 2.2.2 @@ -12673,7 +12683,7 @@ packages: resolution: {integrity: sha512-X6qqZbsY33p5FTuZqCnQ4+lo957iUJMM6Mpa6bL4UW0dxM6WmDSHuI4j/zOp1E2TDKImBGCJA9QPfc08PaNubA==} deprecated: 'New package name format for new versions: @ethereumjs/vm. Please update.' dependencies: - async: 2.6.2 + async: 2.6.4 async-eventemitter: 0.2.4 core-js-pure: 3.31.0 ethereumjs-account: 3.0.0 @@ -13637,7 +13647,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.0.4 + minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 dev: true @@ -13659,7 +13669,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.0.8 + minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 dev: true @@ -14326,7 +14336,7 @@ packages: resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: capital-case: 1.0.4 - tslib: 2.4.1 + tslib: 2.6.0 dev: true /heap@0.2.6: @@ -15646,7 +15656,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 12.20.55 + '@types/node': 20.4.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -15807,7 +15817,7 @@ packages: /json-rpc-engine@3.8.0: resolution: {integrity: sha512-6QNcvm2gFuuK4TKU1uwfH0Qd/cOSb9c1lls0gbnIhciktIUQJwz6NQNAW4B1KiGPenv7IKu97V222Yo1bNhGuA==} dependencies: - async: 2.6.2 + async: 2.6.4 babel-preset-env: 1.7.0 babelify: 7.3.0 json-rpc-error: 2.0.0 @@ -16209,7 +16219,7 @@ packages: /level-post@1.0.7: resolution: {integrity: sha512-PWYqG4Q00asOrLhX7BejSajByB4EmG2GaKHfj3h5UmmZ2duciXLPGYWIjBzLECFWUGOZWlm5B20h/n3Gs3HKew==} dependencies: - ltgt: 2.1.3 + ltgt: 2.2.1 dev: true /level-sublevel@6.6.4: @@ -16543,7 +16553,7 @@ packages: /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: - tslib: 2.4.1 + tslib: 2.6.0 dev: true /lowercase-keys@1.0.1: @@ -17049,7 +17059,7 @@ packages: /merkle-patricia-tree@3.0.0: resolution: {integrity: sha512-soRaMuNf/ILmw3KWbybaCjhx86EYeBbD8ph0edQCTed0JN/rxDt1EBN52Ajre3VyGo+91f8+/rfPIRQnnGMqmQ==} dependencies: - async: 2.6.2 + async: 2.6.4 ethereumjs-util: 5.2.1 level-mem: 3.0.1 level-ws: 1.0.0 @@ -18154,7 +18164,7 @@ packages: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 - tslib: 2.4.1 + tslib: 2.6.0 dev: true /node-addon-api@2.0.2: @@ -18275,7 +18285,7 @@ packages: resolution: {integrity: sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==} hasBin: true dependencies: - abbrev: 1.0.9 + abbrev: 1.1.1 dev: true /nopt@5.0.0: @@ -18688,7 +18698,7 @@ packages: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 - tslib: 2.4.1 + tslib: 2.6.0 dev: true /parent-module@1.0.1: @@ -18790,7 +18800,7 @@ packages: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 - tslib: 2.4.1 + tslib: 2.6.0 dev: true /pascalcase@0.1.1: @@ -18848,7 +18858,7 @@ packages: resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} dependencies: dot-case: 3.0.4 - tslib: 2.4.1 + tslib: 2.6.0 dev: true /path-exists@2.1.0: @@ -20572,7 +20582,7 @@ packages: resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} dependencies: no-case: 3.0.4 - tslib: 2.4.1 + tslib: 2.6.0 upper-case-first: 2.0.2 dev: true @@ -20781,7 +20791,7 @@ packages: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: dot-case: 3.0.4 - tslib: 2.4.1 + tslib: 2.6.0 dev: true /snapdragon-node@2.1.1: @@ -21488,11 +21498,11 @@ packages: - sugarss dev: true - /svelte-check@3.0.1(postcss@8.4.24)(svelte@3.54.0): - resolution: {integrity: sha512-7YpHYWv6V2qhcvVeAlXixUPAlpLCXB1nZEQK0EItB3PtuYmENhKclbc5uKSJTodTwWR1y+4stKGcbH30k6A3Yw==} + /svelte-check@3.4.4(postcss@8.4.24)(svelte@3.54.0): + resolution: {integrity: sha512-Uys9+R65cj8TmP8f5UpS7B2xKpNLYNxEWJsA5ZoKcWq/uwvABFF7xS6iPQGLoa7hxz0DS6xU60YFpmq06E4JxA==} hasBin: true peerDependencies: - svelte: ^3.55.0 + svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 dependencies: '@jridgewell/trace-mapping': 0.3.18 chokidar: 3.5.3 @@ -21501,8 +21511,8 @@ packages: picocolors: 1.0.0 sade: 1.8.1 svelte: 3.54.0 - svelte-preprocess: 5.0.4(postcss@8.4.24)(svelte@3.54.0)(typescript@4.9.5) - typescript: 4.9.5 + svelte-preprocess: 5.0.4(postcss@8.4.24)(svelte@3.54.0)(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - '@babel/core' - coffeescript @@ -21648,7 +21658,7 @@ packages: typescript: 4.9.5 dev: true - /svelte-preprocess@5.0.4(postcss@8.4.24)(svelte@3.54.0)(typescript@4.9.5): + /svelte-preprocess@5.0.4(postcss@8.4.24)(svelte@3.54.0)(typescript@5.1.6): resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==} engines: {node: '>= 14.10.0'} requiresBuild: true @@ -21693,7 +21703,7 @@ packages: sorcery: 0.11.0 strip-indent: 3.0.0 svelte: 3.54.0 - typescript: 4.9.5 + typescript: 5.1.6 dev: true /svelte-spa-router@3.2.0: @@ -22774,13 +22784,13 @@ packages: /upper-case-first@2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: - tslib: 2.4.1 + tslib: 2.6.0 dev: true /upper-case@2.0.2: resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} dependencies: - tslib: 2.4.1 + tslib: 2.6.0 dev: true /uri-js@4.4.1: @@ -23023,6 +23033,25 @@ packages: - zod dev: true + /viem@0.3.50(typescript@5.1.6)(zod@3.21.4): + resolution: {integrity: sha512-s+LxCYZTR9F/qPk1/n1YDVAX9vSeVz7GraqBZWGrDuenCJxo9ArCoIceJ6ksI0WwSeNzcZ0VVbD/kWRzTxkipw==} + dependencies: + '@adraffy/ens-normalize': 1.9.0 + '@noble/curves': 1.0.0 + '@noble/hashes': 1.3.0 + '@scure/bip32': 1.3.0 + '@scure/bip39': 1.2.0 + '@wagmi/chains': 1.0.0(typescript@5.1.6) + abitype: 0.8.7(typescript@5.1.6)(zod@3.21.4) + isomorphic-ws: 5.0.0(ws@8.12.0) + ws: 8.12.0 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + dev: true + /viem@1.2.9(typescript@5.1.6): resolution: {integrity: sha512-EnEbTuAAHv43unUgMISdQXbD9mrhZLvOdmf6eRGbDFl+XwP/PEzZAT79RaWAuDPnLXGMP1gBCJF++NFjSMukUw==} peerDependencies: @@ -23045,7 +23074,6 @@ packages: - bufferutil - utf-8-validate - zod - dev: false /vite-node@0.32.2(@types/node@20.4.0): resolution: {integrity: sha512-dTQ1DCLwl2aEseov7cfQ+kDMNJpM1ebpyMMMwWzBvLbis8Nla/6c9WQcqpPssTwS6Rp/+U6KwlIj8Eapw4bLdA==} @@ -23405,38 +23433,6 @@ packages: - utf-8-validate - zod - /wagmi@1.3.5(react@18.2.0)(typescript@5.1.6)(viem@1.2.9): - resolution: {integrity: sha512-RDFjGg2MYX6CQcrppLY+KBZSDi/iYwA5zWOWQU7/qNeb/R6mBjUdhqE+aGV02K/nZw7AL8HqEoye6vNwaTQNJA==} - peerDependencies: - react: '>=17.0.0' - typescript: '>=5.0.4' - viem: '>=0.3.35' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@tanstack/query-sync-storage-persister': 4.29.19 - '@tanstack/react-query': 4.29.19(react@18.2.0) - '@tanstack/react-query-persist-client': 4.29.19(@tanstack/react-query@4.29.19) - '@wagmi/core': 1.3.4(react@18.2.0)(typescript@5.1.6)(viem@1.2.9) - abitype: 0.8.7(typescript@5.1.6) - react: 18.2.0 - typescript: 5.1.6 - use-sync-external-store: 1.2.0(react@18.2.0) - viem: 1.2.9(typescript@5.1.6) - transitivePeerDependencies: - - '@react-native-async-storage/async-storage' - - bufferutil - - encoding - - immer - - lokijs - - react-dom - - react-native - - supports-color - - utf-8-validate - - zod - dev: false - /walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: @@ -23682,7 +23678,7 @@ packages: /web3-provider-engine@14.2.1: resolution: {integrity: sha512-iSv31h2qXkr9vrL6UZDm4leZMc32SjWJFGOp/D92JXfcEboCqraZyuExDkpxKw8ziTufXieNM7LSXNHzszYdJw==} dependencies: - async: 2.6.2 + async: 2.6.4 backoff: 2.5.0 clone: 2.1.2 cross-fetch: 2.2.6