From 83a50ad1a90671958baca3f7c1dafb92cbaa2a60 Mon Sep 17 00:00:00 2001 From: wenty22 Date: Fri, 18 Oct 2024 18:40:27 +0800 Subject: [PATCH 01/36] feat: Support meson --- .../core/components/ThemeProvider/index.tsx | 5 +- apps/canonical-bridge-ui/core/locales/en.ts | 6 +- .../canonical-bridge-ui/data-testnet/index.ts | 40 + .../data-testnet/meson/config.json | 118 + .../data-testnet/testnetChains.ts | 90 + apps/canonical-bridge-ui/data/chains.ts | 16 + apps/canonical-bridge-ui/data/index.ts | 12 +- .../data/meson/config.json | 35 + apps/canonical-bridge-ui/package.json | 6 +- apps/canonical-bridge-ui/pages/_app.tsx | 62 +- apps/canonical-bridge-ui/pages/index.tsx | 3 + .../pages/mainnet/index.tsx | 50 + .../pages/testnet/index.tsx | 55 + .../public/images/chains/1001.png | Bin 0 -> 2650 bytes .../public/images/chains/11155111.png | Bin 0 -> 2029 bytes .../public/images/chains/11155420.png | Bin 0 -> 1412 bytes .../public/images/chains/421614.png | Bin 0 -> 3234 bytes .../public/images/chains/728126427.png | Bin 0 -> 2685 bytes .../public/images/chains/728126428.png | Bin 0 -> 2685 bytes .../public/images/chains/97.png | Bin 0 -> 1903 bytes .../public/images/mesonIcon.png | Bin 0 -> 9257 bytes common/config/rush/pnpm-lock.yaml | 3701 ++++++++++++++--- packages/canonical-bridge-sdk/package.json | 5 +- .../canonical-bridge-sdk/src/core/index.ts | 68 +- .../src/core/types/index.ts | 7 +- packages/canonical-bridge-sdk/src/index.ts | 1 + .../canonical-bridge-sdk/src/meson/index.ts | 101 + .../canonical-bridge-sdk/src/meson/types.ts | 21 + .../src/meson/types/index.ts | 6 + packages/canonical-bridge-widget/package.json | 6 +- .../src/CanonicalBridgeProvider.tsx | 22 +- .../src/core/constants/index.ts | 3 + .../core/contract/hooks/useGetAllowance.ts | 6 +- .../src/core/hooks/useBridgeSDK.ts | 4 +- .../src/core/hooks/useTronWeb.ts | 19 + .../src/core/theme/walletStyles.ts | 2 +- .../src/core/utils/address.ts | 8 + .../src/core/utils/string.ts | 6 + .../cBridge/components}/CBridgeOption.tsx | 35 +- .../deBridge/components}/DeBridgeOption.tsx | 34 +- .../layerZero/components}/LayerZeroOption.tsx | 35 +- .../aggregator/adapters/meson/MesonAdapter.ts | 139 + .../adapters/meson/components/MesonOption.tsx | 73 + .../adapters/meson/hooks/useGetMesonFees.ts | 67 + .../meson/hooks/useGetTronAllowance.ts | 57 + .../adapters/meson/hooks/useTrc20.ts | 67 + .../aggregator/adapters/meson/types.ts | 15 + .../stargate/components}/StarGateOption.tsx | 37 +- .../components/AggregatorProvider.tsx | 31 +- .../SelectModal/ChooseTokenModal.tsx | 12 +- .../components/TokenBalancesProvider.tsx | 14 +- .../components/TokenPricesProvider.tsx | 2 +- .../modules/aggregator/hooks/useSelection.ts | 33 +- .../modules/aggregator/shared/BaseAdapter.ts | 4 +- .../aggregator/shared/aggregateChains.ts | 2 +- .../aggregator/shared/getNativeCurrencies.ts | 2 +- .../aggregator/shared/getTokenBalances.ts | 84 +- .../src/modules/aggregator/types.ts | 35 +- .../components/Button/SwitchNetworkButton.tsx | 27 +- .../components/Button/SwitchWalletButton.tsx | 43 + .../components/Button/TransferButton.tsx | 145 +- .../components/Button/WalletButtonWrapper.tsx | 19 +- .../components/Button/WalletConnectButton.tsx | 12 +- .../Modal/TransactionApproveModal/index.tsx | 30 +- .../Modal/TransactionSubmittedModal/index.tsx | 2 +- .../components/NetWorkSection/index.tsx | 1 + .../transfer/components/ReceiveInfo/index.tsx | 3 + .../transfer/components/ToAccount/index.tsx | 45 +- .../RouteInfo/RouteName/index.tsx | 11 + .../RouteInfo/RouteWrapper.tsx | 46 + .../components/TransferOverview/index.tsx | 21 +- .../hooks/tron/useTronTransferInfo.ts | 28 + .../transfer/hooks/useGetReceiveAmount.ts | 6 + .../transfer/hooks/useLoadingBridgeFees.ts | 87 +- .../transfer/hooks/usePreSelectRoute.ts | 15 +- .../modules/transfer/hooks/useToTokenInfo.ts | 4 + .../src/modules/transfer/index.tsx | 2 + .../modules/wallet/CurrentWalletProvider.tsx | 156 + .../src/modules/wallet/WalletProvider.tsx | 72 +- .../wallet/components/ConnectButton/index.tsx | 22 +- .../wallet/components/NetworkStatus/index.tsx | 24 +- .../wallet/components/ProfileMenu/index.tsx | 19 +- .../src/modules/wallet/hooks/useEvmBalance.ts | 2 +- .../modules/wallet/hooks/useTronAccount.ts | 10 + .../modules/wallet/hooks/useTronBalance.ts | 24 + .../modules/wallet/hooks/useWalletModal.tsx | 98 + 86 files changed, 5219 insertions(+), 1017 deletions(-) create mode 100644 apps/canonical-bridge-ui/data-testnet/index.ts create mode 100644 apps/canonical-bridge-ui/data-testnet/meson/config.json create mode 100644 apps/canonical-bridge-ui/data-testnet/testnetChains.ts create mode 100644 apps/canonical-bridge-ui/data/meson/config.json create mode 100644 apps/canonical-bridge-ui/pages/index.tsx create mode 100644 apps/canonical-bridge-ui/pages/mainnet/index.tsx create mode 100644 apps/canonical-bridge-ui/pages/testnet/index.tsx create mode 100644 apps/canonical-bridge-ui/public/images/chains/1001.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/11155111.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/11155420.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/421614.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/728126427.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/728126428.png create mode 100644 apps/canonical-bridge-ui/public/images/chains/97.png create mode 100644 apps/canonical-bridge-ui/public/images/mesonIcon.png create mode 100644 packages/canonical-bridge-sdk/src/meson/index.ts create mode 100644 packages/canonical-bridge-sdk/src/meson/types.ts create mode 100644 packages/canonical-bridge-sdk/src/meson/types/index.ts create mode 100644 packages/canonical-bridge-widget/src/core/hooks/useTronWeb.ts rename packages/canonical-bridge-widget/src/modules/{transfer/components/TransferOverview => aggregator/adapters/cBridge/components}/CBridgeOption.tsx (82%) rename packages/canonical-bridge-widget/src/modules/{transfer/components/TransferOverview => aggregator/adapters/deBridge/components}/DeBridgeOption.tsx (78%) rename packages/canonical-bridge-widget/src/modules/{transfer/components/TransferOverview => aggregator/adapters/layerZero/components}/LayerZeroOption.tsx (77%) create mode 100644 packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/MesonAdapter.ts create mode 100644 packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/components/MesonOption.tsx create mode 100644 packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useGetMesonFees.ts create mode 100644 packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useGetTronAllowance.ts create mode 100644 packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useTrc20.ts create mode 100644 packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/types.ts rename packages/canonical-bridge-widget/src/modules/{transfer/components/TransferOverview => aggregator/adapters/stargate/components}/StarGateOption.tsx (79%) create mode 100644 packages/canonical-bridge-widget/src/modules/transfer/components/Button/SwitchWalletButton.tsx create mode 100644 packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/RouteInfo/RouteWrapper.tsx create mode 100644 packages/canonical-bridge-widget/src/modules/transfer/hooks/tron/useTronTransferInfo.ts create mode 100644 packages/canonical-bridge-widget/src/modules/wallet/CurrentWalletProvider.tsx create mode 100644 packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronAccount.ts create mode 100644 packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronBalance.ts create mode 100644 packages/canonical-bridge-widget/src/modules/wallet/hooks/useWalletModal.tsx diff --git a/apps/canonical-bridge-ui/core/components/ThemeProvider/index.tsx b/apps/canonical-bridge-ui/core/components/ThemeProvider/index.tsx index a00eb1ad..5e900bfb 100644 --- a/apps/canonical-bridge-ui/core/components/ThemeProvider/index.tsx +++ b/apps/canonical-bridge-ui/core/components/ThemeProvider/index.tsx @@ -11,6 +11,10 @@ const colorModeManager = createLocalStorageManager(`${env.APP_NAME}-color-mode`) export const ThemeProvider = ({ children }: ThemeProviderProps) => { const customTheme = { ...theme, + breakpoints: { + ...theme.breakpoints, + lg: '1080px', + }, config: { ...theme.config, initialColorMode: 'dark', @@ -20,7 +24,6 @@ export const ThemeProvider = ({ children }: ThemeProviderProps) => { global: ({ colorMode }: { colorMode: ColorMode }) => ({ body: { bg: theme.colors[colorMode].background[3], - minWidth: '998px', }, }), }, diff --git a/apps/canonical-bridge-ui/core/locales/en.ts b/apps/canonical-bridge-ui/core/locales/en.ts index 125000c6..d6c1a642 100644 --- a/apps/canonical-bridge-ui/core/locales/en.ts +++ b/apps/canonical-bridge-ui/core/locales/en.ts @@ -13,7 +13,7 @@ export const en = { 'to.section.title': 'To', 'to.section.estimated-amount': 'Est. Amount Receive', 'to.section.account.label': 'Destination Address', - 'to.section.account.placeholder': 'Enter Destination Address', + 'to.section.account.placeholder': 'Enter {network} Address', 'to.section.account.invalid': 'Invalid address.', 'you.send.title': 'You Send', @@ -36,6 +36,7 @@ export const en = { 'route.option.deBridge.title': 'deBridge', 'route.option.stargate.title': 'Stargate', 'route.option.layerZero.title': 'LayerZero', + 'route.option.meson.title': 'Meson', 'route.option.tag.best-time': 'Fastest', 'route.option.tag.highest-amount': 'Best Return', 'route.option.info.estimated-time': 'Est. Time:', @@ -44,6 +45,8 @@ export const en = { 'route.option.info.debridge-fee': 'deBridge Fee:', 'route.option.info.market-maker-fee': 'Market Maker Gas Costs:', 'route.option.info.base-fee': 'Base Fee:', + 'route.option.info.lp-fee': 'Liquidity Providers:', + 'route.option.info.service-fee': 'Service Fee:', 'route.option.info.protocol-fee': 'Protocol Fee:', 'transfer.button.confirm': 'Send', @@ -87,6 +90,7 @@ export const en = { 'select-modal.destination.incompatible.tooltip': 'The token you’ve selected is incompatible with this network. Please select another token.', + 'wallet.button.connect-wallet': 'Connect network', 'wallet.network.wrong-network': 'Wrong network', 'wallet.error.switch-network': 'An error occurred when attempting to switch the network. Please select another network or try again.', diff --git a/apps/canonical-bridge-ui/data-testnet/index.ts b/apps/canonical-bridge-ui/data-testnet/index.ts new file mode 100644 index 00000000..21fe1739 --- /dev/null +++ b/apps/canonical-bridge-ui/data-testnet/index.ts @@ -0,0 +1,40 @@ +import { useEffect, useState } from 'react'; +import { ITransferConfig } from '@bnb-chain/canonical-bridge-widget'; + +import mesonConfigTestnet from '@/data-testnet/meson/config.json'; + +export function useTestnetTransferConfig() { + const [transferConfig, setTransferConfig] = useState(); + + useEffect(() => { + const initConfig = async () => { + const transferConfig: ITransferConfig = { + defaultSelectedInfo: { + fromChainId: 97, + toChainId: 728126427, + tokenSymbol: 'USDT', // USDT + amount: '', + }, + order: { + chains: [], + tokens: ['USDC', 'USDT'], + }, + displayTokenSymbols: {}, + meson: { + config: mesonConfigTestnet.result as any, + exclude: { + chains: [], + tokens: {}, + }, + bridgedTokenGroups: [], + }, + }; + + setTransferConfig(transferConfig); + }; + + initConfig(); + }, []); + + return transferConfig; +} diff --git a/apps/canonical-bridge-ui/data-testnet/meson/config.json b/apps/canonical-bridge-ui/data-testnet/meson/config.json new file mode 100644 index 00000000..e68f17ef --- /dev/null +++ b/apps/canonical-bridge-ui/data-testnet/meson/config.json @@ -0,0 +1,118 @@ +{ + "result": [ + { + "id": "arb-sepolia", + "name": "Arbitrum Sepolia", + "chainId": "0x66eee", + "address": "0x0d12d15b26a32e72A3330B2ac9016A22b1410CB6", + "tokens": [ + { + "id": "usdc", + "addr": "0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d", + "min": "0.5", + "max": "20000", + "decimals": 6 + }, + { + "id": "eth", + "decimals": 18, + "min": "0.001", + "max": "2" + } + ] + }, + { + "id": "sepolia", + "name": "Sepolia Testnet", + "chainId": "0xaa36a7", + "address": "0x0d12d15b26a32e72A3330B2ac9016A22b1410CB6", + "tokens": [ + { + "id": "usdc", + "addr": "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238", + "decimals": 6, + "min": "0.5", + "max": "20000" + }, + { + "id": "usdt", + "addr": "0xd53e9530107a8d8856099d7d80126478d48e06dA", + "decimals": 6, + "min": "0.5", + "max": "20000" + }, + { + "id": "eth", + "decimals": 18, + "min": "0.001", + "max": "2" + } + ] + }, + { + "id": "bnb-testnet", + "name": "BNB Testnet", + "chainId": "0x61", + "address": "0x0d12d15b26a32e72A3330B2ac9016A22b1410CB6", + "tokens": [ + { + "id": "usdc", + "addr": "0x64544969ed7EBf5f083679233325356EbE738930", + "decimals": 18, + "min": "0.5", + "max": "20000" + }, + { + "id": "usdt", + "addr": "0x337610d27c682E347C9cD60BD4b3b107C9d34dDd", + "decimals": 18, + "min": "0.5", + "max": "20000" + } + ] + }, + { + "id": "opt-sepolia", + "name": "OP Sepolia", + "chainId": "0xaa37dc", + "address": "0x0d12d15b26a32e72A3330B2ac9016A22b1410CB6", + "tokens": [ + { + "id": "usdc", + "addr": "0x5fd84259d66Cd46123540766Be93DFE6D43130D7", + "decimals": 6, + "min": "0.5", + "max": "20000" + }, + { + "id": "eth", + "decimals": 18, + "min": "0.001", + "max": "2" + } + ] + }, + { + "id": "tron-testnet", + "name": "Tron Nile Testnet", + "chainId": "728126427", + "address": "TAp1rBTjC4tefEMR54vT2NDwLEhDL7E7Jo", + "tokens": [ + { + "id": "usdc", + "addr": "TNavP4dSwhGssWjX4gR8NvrMsgAQvBWoyY", + "decimals": 6, + "min": "0.5", + "max": "20000" + }, + { + "id": "usdt", + "addr": "THkCEyw2uaJYPfxb2BNizGuiosCkyAsbWW", + "decimals": 6, + "min": "0.5", + "max": "20000" + } + ] + } + ] +} diff --git a/apps/canonical-bridge-ui/data-testnet/testnetChains.ts b/apps/canonical-bridge-ui/data-testnet/testnetChains.ts new file mode 100644 index 00000000..e84518d9 --- /dev/null +++ b/apps/canonical-bridge-ui/data-testnet/testnetChains.ts @@ -0,0 +1,90 @@ +import { IChainConfig } from '@bnb-chain/canonical-bridge-widget'; + +export const testnetChains: IChainConfig[] = [ + { + id: 97, + name: 'BSC Testnet', + nativeCurrency: { + name: 'BNB', + symbol: 'BNB', + decimals: 18, + }, + rpcUrl: 'https://bsc-testnet.bnbchain.org', + explorer: { + name: 'BSC Testnet', + url: 'https://testnet.bscscan.com', + }, + }, + { + id: 1001, + name: 'Klaytn Testnet Baobab', + nativeCurrency: { + name: 'KLAY', + symbol: 'KLAY', + decimals: 18, + }, + rpcUrl: 'https://public-en-baobab.klaytn.net', + explorer: { + name: 'Klaytn Scope', + url: 'https://baobab.klaytnscope.com', + }, + }, + { + id: 11155111, + name: 'Sepolia', + nativeCurrency: { + name: 'Ether', + symbol: 'ETH', + decimals: 18, + }, + rpcUrl: 'https://ethereum-sepolia-rpc.publicnode.com', + explorer: { + name: 'Sepolia Scan', + url: 'https://sepolia.etherscan.io', + }, + }, + { + id: 421614, + name: 'Arbitrum Sepolia Testnet', + nativeCurrency: { + name: 'Ether', + symbol: 'ETH', + decimals: 18, + }, + rpcUrl: 'https://sepolia-rollup.arbitrum.io/rpc', + explorer: { + name: 'Sepolia ArbiScan', + url: 'https://sepolia.arbiscan.io/', + }, + }, + { + id: 11155420, + name: 'OP Sepolia', + nativeCurrency: { + name: 'ETH', + symbol: 'ETH', + decimals: 18, + }, + rpcUrl: 'https://sepolia.optimism.io', + explorer: { + name: 'OP Sepolia Scan', + url: 'https://sepolia-optimistic.etherscan.io', + }, + }, + { + id: 728126427, + name: 'Tron Nile Testnet', + nativeCurrency: { + name: 'TRX', + symbol: 'TRX', + decimals: 6, + }, + rpcUrl: 'https://api.nileex.io', + explorer: { + name: 'Tron Nile Scan', + url: 'https://nile.tronscan.org/', + tokenUrlPattern: 'https://nile.tronscan.org/#/token20/{0}', + }, + chainType: 'tron', + }, +]; diff --git a/apps/canonical-bridge-ui/data/chains.ts b/apps/canonical-bridge-ui/data/chains.ts index d70ce658..03efe82a 100644 --- a/apps/canonical-bridge-ui/data/chains.ts +++ b/apps/canonical-bridge-ui/data/chains.ts @@ -818,4 +818,20 @@ export const chains: IChainConfig[] = [ url: 'https://explorer.harmony.one', }, }, + { + id: 728126428, + name: 'Tron', + nativeCurrency: { + name: 'TRX', + symbol: 'TRX', + decimals: 6, + }, + rpcUrl: 'https://api.trongrid.io', + explorer: { + name: 'Tron Scan', + url: 'https://tronscan.io/', + tokenUrlPattern: 'https://tronscan.io/#/token20/{0}', + }, + chainType: 'tron', + }, ]; diff --git a/apps/canonical-bridge-ui/data/index.ts b/apps/canonical-bridge-ui/data/index.ts index 6cd8767f..26ed63ef 100644 --- a/apps/canonical-bridge-ui/data/index.ts +++ b/apps/canonical-bridge-ui/data/index.ts @@ -9,6 +9,7 @@ import axios from 'axios'; import { env } from '@/core/env'; import stargateConfig from '@/data/stargate/config.json'; import layerZeroConfig from '@/data/layerZero/config.json'; +import mesonConfig from '@/data/meson/config.json'; export function useTransferConfig() { const [transferConfig, setTransferConfig] = useState(); @@ -31,8 +32,7 @@ export function useTransferConfig() { amount: '', }, order: { - // [Ethereum, Arbitrum, Base, Tron, Solana, Polygon, Avalanche, Blast, Linea, Optimism] - chains: [56, 204, 1, 42161, 8453, 1000, 7565164, 137, 43114, 81457, 59144, 10], + chains: [56, 204, 1, 42161, 8453, 728126428, 7565164, 137, 43114, 81457, 59144, 10], tokens: [ 'USDC', 'USDT', @@ -165,6 +165,14 @@ export function useTransferConfig() { }, bridgedTokenGroups: [], }, + meson: { + config: mesonConfig.result as any, + exclude: { + chains: [], + tokens: {}, + }, + bridgedTokenGroups: [], + }, }; setTransferConfig(transferConfig); diff --git a/apps/canonical-bridge-ui/data/meson/config.json b/apps/canonical-bridge-ui/data/meson/config.json new file mode 100644 index 00000000..746efda6 --- /dev/null +++ b/apps/canonical-bridge-ui/data/meson/config.json @@ -0,0 +1,35 @@ +{ + "result": [ + { + "id": "bnb", + "name": "BNB Smart Chain", + "chainId": "0x38", + "address": "0x25aB3Efd52e6470681CE037cD546Dc60726948D3", + "tokens": [ + { + "id": "usdt", + "addr": "0x55d398326f99059ff775485246999027b3197955", + "decimals": 18, + "min": "1.0", + "max": "20000" + } + ] + }, + + { + "id": "tron", + "name": "Tron", + "chainId": "728126428", + "address": "TKWqpzNucNNBMpfaE47F8CLhA8vzfNndH4", + "tokens": [ + { + "id": "usdt", + "addr": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", + "decimals": 6, + "min": "6.5", + "max": "20000" + } + ] + } + ] +} diff --git a/apps/canonical-bridge-ui/package.json b/apps/canonical-bridge-ui/package.json index 7bbdb91e..5774868e 100644 --- a/apps/canonical-bridge-ui/package.json +++ b/apps/canonical-bridge-ui/package.json @@ -1,6 +1,6 @@ { "name": "canonical-bridge-ui", - "version": "0.0.1", + "version": "0.1.0", "private": true, "scripts": { "dev": "next dev -p 3001", @@ -15,6 +15,7 @@ "@emotion/css": "~11.13.0", "@emotion/react": "~11.13.3", "@emotion/styled": "~11.13.0", + "@node-real/walletkit": "2.4.0-alpha.5", "@tanstack/react-query": "~5.50.1", "axios": "~1.6.8", "next": "~14.1.1", @@ -22,6 +23,7 @@ "polished": "~4.3.1", "react": "~18.3.1", "react-dom": "~18.3.1", + "supports-color": "~9.4.0", "viem": "~2.21.14", "wagmi": "^2" }, @@ -39,10 +41,12 @@ "@types/node": "^20", "@types/react": "~18.3.8", "@types/react-dom": "~18.3.0", + "encoding": "~0.1.13", "eslint": "^8.8.0", "eslint-config-next": "14.2.3", "lint-staged": "~13.0.3", "prettier": "~2.7.1", + "supports-color": "8.1.1", "typescript": "5.5.4" }, "lint-staged": { diff --git a/apps/canonical-bridge-ui/pages/_app.tsx b/apps/canonical-bridge-ui/pages/_app.tsx index 27b0d2fc..65a2f4f4 100644 --- a/apps/canonical-bridge-ui/pages/_app.tsx +++ b/apps/canonical-bridge-ui/pages/_app.tsx @@ -1,18 +1,8 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -import { - CanonicalBridgeProvider, - ICanonicalBridgeConfig, - TransferWidget, -} from '@bnb-chain/canonical-bridge-widget'; +import Head from 'next/head'; +import { AppProps } from 'next/app'; -import { en as messages } from '@/core/locales/en'; -import { env } from '@/core/env'; -import { dark } from '@/core/theme/dark'; -import { Layout } from '@/core/components/Layout'; -import { useTransferConfig } from '@/data'; import { ThemeProvider } from '@/core/components/ThemeProvider'; -import { chains } from '@/data/chains'; -import { light } from '@/core/theme/light'; const queryClient = new QueryClient({ defaultOptions: { @@ -24,44 +14,18 @@ const queryClient = new QueryClient({ }, }); -const config: ICanonicalBridgeConfig = { - appName: env.APP_NAME, - assetPrefix: env.ASSET_PREFIX, - - appearance: { - bridgeTitle: 'BNB Chain Cross-Chain Bridge', - mode: 'dark', - theme: { - dark: dark, - light: light, - }, - locale: 'en', - messages, - }, - wallet: { - walletConnectProjectId: env.WALLET_CONNECT_PROJECT_ID, - }, - http: { - refetchingInterval: 30 * 1000, // 30s - apiTimeOut: 60 * 1000, // 60s - deBridgeAccessToken: '', - serverEndpoint: env.SERVER_ENDPOINT, - }, -}; - -export default function App() { - const transferConfig = useTransferConfig(); - +export default function App({ Component, ...restProps }: AppProps) { return ( - - - - - - - - - + <> + + + + + + + + + ); } diff --git a/apps/canonical-bridge-ui/pages/index.tsx b/apps/canonical-bridge-ui/pages/index.tsx new file mode 100644 index 00000000..adc1a533 --- /dev/null +++ b/apps/canonical-bridge-ui/pages/index.tsx @@ -0,0 +1,3 @@ +import MainnetPage from '@/pages/mainnet'; + +export default MainnetPage; diff --git a/apps/canonical-bridge-ui/pages/mainnet/index.tsx b/apps/canonical-bridge-ui/pages/mainnet/index.tsx new file mode 100644 index 00000000..b139a0b4 --- /dev/null +++ b/apps/canonical-bridge-ui/pages/mainnet/index.tsx @@ -0,0 +1,50 @@ +import { + CanonicalBridgeProvider, + ICanonicalBridgeConfig, + TransferWidget, +} from '@bnb-chain/canonical-bridge-widget'; + +import { en as messages } from '@/core/locales/en'; +import { useTransferConfig } from '@/data'; +import { chains } from '@/data/chains'; +import { Layout } from '@/core/components/Layout'; +import { env } from '@/core/env'; +import { dark } from '@/core/theme/dark'; +import { light } from '@/core/theme/light'; + +export const bridgeConfig: ICanonicalBridgeConfig = { + appName: env.APP_NAME, + assetPrefix: env.ASSET_PREFIX, + + appearance: { + bridgeTitle: 'BNB Chain Cross-Chain Bridge', + locale: 'en', + messages, + mode: 'dark', + theme: { + dark: dark, + light: light, + }, + }, + wallet: { + walletConnectProjectId: env.WALLET_CONNECT_PROJECT_ID, + }, + http: { + refetchingInterval: 30 * 1000, // 30s + apiTimeOut: 60 * 1000, // 60s + deBridgeAccessToken: '', + serverEndpoint: env.SERVER_ENDPOINT, + }, +}; + +export default function MainnetPage() { + const transferConfig = useTransferConfig(); + + return ( + + + + + + ); +} diff --git a/apps/canonical-bridge-ui/pages/testnet/index.tsx b/apps/canonical-bridge-ui/pages/testnet/index.tsx new file mode 100644 index 00000000..cff5aca5 --- /dev/null +++ b/apps/canonical-bridge-ui/pages/testnet/index.tsx @@ -0,0 +1,55 @@ +import { + CanonicalBridgeProvider, + ICanonicalBridgeConfig, + TransferWidget, +} from '@bnb-chain/canonical-bridge-widget'; + +import { en as messages } from '@/core/locales/en'; +import { useTestnetTransferConfig } from '@/data-testnet'; +import { testnetChains } from '@/data-testnet/testnetChains'; +import { Layout } from '@/core/components/Layout'; +import { dark } from '@/core/theme/dark'; +import { light } from '@/core/theme/light'; +import { env } from '@/core/env'; + +export const bridgeConfig: ICanonicalBridgeConfig = { + appName: env.APP_NAME, + assetPrefix: env.ASSET_PREFIX, + + appearance: { + bridgeTitle: 'BNB Chain Cross-Chain Bridge', + locale: 'en', + messages, + mode: 'dark', + theme: { + dark: dark, + light: light, + }, + }, + wallet: { + walletConnectProjectId: env.WALLET_CONNECT_PROJECT_ID, + }, + http: { + refetchingInterval: 30 * 1000, // 30s + apiTimeOut: 60 * 1000, // 60s + deBridgeAccessToken: '', + serverEndpoint: env.SERVER_ENDPOINT, + mesonEndpoint: 'https://testnet-relayer.meson.fi/api/v1', + }, +}; + +export default function TestnetPage() { + const testnetTransferConfig = useTestnetTransferConfig(); + + return ( + + + + + + ); +} diff --git a/apps/canonical-bridge-ui/public/images/chains/1001.png b/apps/canonical-bridge-ui/public/images/chains/1001.png new file mode 100644 index 0000000000000000000000000000000000000000..8384279c5611dd0170b85112a1c5cea051aeb359 GIT binary patch literal 2650 zcmV-g3Z?alP)p91}^>f^#A|=|Ni~93kkXh8@U1&{H>e11|Pfw zE4v0G|NsC0|Ni@NQub)1F982~0J#Al|8)Sj4g}hUg#3wc`Z@^Lc!mF) zNb%0n{O8~Qk1zjz1^@Q(|K!f_zrO#68UFC;|H+;Iv2eaBDczNp=B}^CM@RdBXUtkz z6xMuY0000mbW%=J07Cv9{4nkU{{9KWm;G%m`ONE)Xy5+$sQ#e)?sXk1vd%)xgv6tk zW}ko0Zb*^jU}!TU00009a7bBm000XU000XU0RWnu7ytkWyh%hsRCwB@nhAHCx)Olp z6?u=h#Ld3+?)SZ81PCxT!Kvfe&Yq_2|NkfVj3h9-A)%*fniKou(`YnXt_I+O7PuJOip zob~IfaZ>sq23}NYR*6a|e|yeQ30`l;-Zh!n&SqJxHY*>&0AhqmfWSo_?6LovOvaA0 ze8Hm%dr>|_sp%n95K#Gdn2pvr#BrSU%YCzy3nL*k7^;M-gmMPu3_>WmU)y2Gcsv=~ z&iZ9I$WDbOW$3tMy z?3Zdb841;!M5Wu=q*8MGMkt@jWMz*NugTbX#m)L|iiApyEdx9-`96IY0~Z(e0LEEA zG)lWD5~>Ud4tm^7-=4V%CHGHu8e}|imSk8-r%0$!CELtk9yinJ5y4`#UYuQwdrGT? zG>U`@m|!9>u7_qk!VlU1m-b`_gHWpC6bfTd&qR34rx12EF59CFxJQ+eWQv3;Y^*{a z^XYdl?8~&#;vW1RstIwCP-)19#q;0{qqTCw{+t$e!4S^F*f}PldPAk|g6Mf@^XV^< zBsewfE`!~Tib*3bUnJBFdSJ%T=F@lnbCuAPu=_pWPWOt#%&g}@m?ELGYADYc!$c`Tu(O4X=`HaFf@JQI@_c@~eY2jvV#dGyUN2~}`(UTFq| z{TI7Ocy+>PP3*PbgYI(=MOUoF!SgopB{XuEEWZZ}$s-TDO36Al>@LIg0EWUSpz>wp zLYRmeomcSX?Vg97lHw+h2fuWE<*GogQ@3ZpK87)$-guQHHc3Jr#P7kP@=ZiVLM7-M zA|CLyb;m0Stc|-p+4kO#vp4lZCdmQX=-pftdMptM$Q*dI3IWCrop5a5qoQHEDZSOXD&OzfwXpRqSnlmrc!#EUN# zRET3}hQE?LIO7;Ff$%f3c<@E? z3LQl~L?v+>h)s&eVh4i-+TJoAym_{f(ON}fd} znb;d21E%)Rgq1fAa;!y0i&YXDc%}||@LiX0nJDoPc(}UZVTUBKV?5HTdhG1#YSFM8 zUM1m4vSoN%Uusqt-J1P_&b4_Y>_6CkkQa6zLnRceJ35reTK_xhLo$X!^6qV=K-dL? zTflxr9v5gOen)Ms6%sLEzlL}XM8E@+yYECiNoR6_Rrp`@KOgT>sx3xv$|Nb{R)!0{-CfVQGE@>)`JL!43x|+ zy0!SNj?j4^D8Wi%kL_Z}!!+d_E9HGnx03M3A~nGyhs)x? z+rv3z+Dqw-$eRTPvNG8}?tsJ1Pk=@>3up2WQ*Ol|!v%FvxpA zM8pH$t|rSlDX{Ia_{+CT1X<74#%Dhy%_EbGPsCL*+)9#>kxtQhMEqNwr^njd>$3f0 zb)CZ4L9u*Oi>tJ?xwrG5nUO|;sQek;vpqLjV!vj)75TV}kxXILDzd@dIW~^BNx~mL zb~BQ*(h5Y~8!$)`n$IK6W$|a+xx?W*#d$rFT^4`EAN^er%=Za%cqF*cZ@<;!4^T=& zu~A2IF(MR7aKa&tcicpCdW0zy?y*`)KGfoebGaD-3jC?2AJ0_@{s1FT_c6h{4jQYJ zet_X~!6f}KlOM~zU&G3tli^Y5&SP0N$Ii`iEv|m-rqtx}_3iEhW}rxYQ!dN7F*RAP zmF4SxJ==jiYWL)FS+3RcG0bw=?6tFhf}wLR=aZ?)wOUy=&rfrFN`lGMGKZ#CgOSRm z!6~Qxo-CI$3|UP!nZfb^!M@f_wn=g^7Qxa@bdEX_ww}j^7Qxd^Y-%e_ww}j^7Qxd^!D=f z_wn=gFEB8JgoP3k5;Qe6e}I84E-w83|M&U)Bqbzpa&y?)-IkY`sHv+(Mn}fT%3NJt zx4FBZR2xnJ000tnQchCM#s6gy0wo1t}pn0mA=(;~U9N!eu$UW~LozXIP}Q z*1D7mJxM~pquur=J|31v18B269OIwuE}8!Sr-wcvSuHk84FG`Xe&`M86rFzeTO-Z-<}t|9UM^Y84xY zfDfPlfJBc*0JB+H&wlqrO06~;!Fk31Ao&pi2`2j1igirqNCS!x?ld5=7O%guCQ@o) z0KIPdXbyr|%r_=U)NaoZFb`sY0XXhv+LDkNsJ}sQFj})Q$sAWjF~S@!K9Hjk;wbF0 zNUisv{ala_y++c3hW$E(5~yv%ax3hsFi^bMh$+xkUVWx5-*Y3YMBm1 ztS{$UI2DAVw|-k9wbG&;WI}!J+gger1dZD3u}H0gM;8IRw!BxOOHrfopd@O&1RaXF z`c|~%)daqYhUNM*FVP<5@L*?US(`Um74WLYee?k(QL)U2W4*}Qv`lY76o}tJBDH`p zAN8%svNlbd9%St#l*KD8iQ1WvA%I{y1}W3#BAY^PH}7hB43N%-+>6Y*tGtTA!l4iQ zH)pZ5Lx}YOByWmJBjQ&MTbt17rBCdNtgs+y8VD9P#jL+PS&sF=U1`(n0Qr2vq6b+F zU9{wX!_IP+lxfq2x!03aCTcT>^$Q_PAZ0#-`^^AChQJKg$yp-^nIa42vnkOGLr56e zkP#$J!@=?x_iGbogjg>gE#Y7>GWQgbYv-*W42!R2{mGIt4GJY{_^}5pIgo0Fh4Gma z3lkDb4F@hh)HWz~BkRu~Wl$*TpL7-5K$PtO-3^AkSQ6qM2kL*rhTKPt7m!e}poU+< zSn1#`avmX`K{!~dkWNy?w~%RnV*M3_f+dhukQOV7M4Tav4#KH$IdRWf1&Y$5lBEQK z?m8?6ghA@datszxC{e>QQoBGnO{|kT(u>|<494W=T8kOwPHj<6eFxSHHY6+BYkF!1 z7_0exE!-3cxK%%*x7>9&LiE=(O;0C=8O@P{g_I>0Kqg^ih_=tuG|vg-bZSO(NGScm z!r^%IgN)Z9Q_)`YG^fXcICILfEIF$XK#uC*6%`yp#8TlP9zX_|G%W?8)NoKsi82z# zfr>nT2O+O!!GcCfN1Q^W?XTq{#5;(EA))jIiW17d z`b-Dv1>zIP=~U*FRrow2f?VDaJRql2=`)2u{H{bWmuoW<fSf01k&HC+SIkrB@~QaS)tQ)t81+* ze5U3ZB)?ac!Rp+3Kv-7%0*L^Z?p)UziJI~wNYi1Zbp_q^UZGzgy;AS;#*3-J)YWaG z<^iNVS7^wgCx66~)cY?jt6fEQH#O?29;r#6$l#;F3BJc&bZPCRK(TjkcLVlWXQ^=@ z`K2Z@=#WcgDqp|RQXs`u3`KXY`8XFu4TCh9VKOe)rp$%3$YpmzaWY=<1yMuC`PP?d zZpi>9gC#fO3Y(>JaJ=8RiPh^TZ( z)E4D#-c?ZHuA zCU;pm5uNqa9<+_lS>^mt{pPmYB{w79I>Y;r!<_0nOJq5*Q-P!Uy7@fHi>>3s{h{~f zv+E28qGjlCyLv>rhv>3OJ`4oHD4e};uU?iDx)9@!vyDg`%T4mq<|HRt#(=#vqzTJQ zo6qQS`Gz#ZXbuDN(%L?~=qvw#ZWx>e+918y7h+#&VF+kPfQW(Y^9t$2&SOj^+&H-O&Hr zi9GVs#>}C=Rm&rMXACc~0Pc75S25U_FJK(RH;Wj; z@Q{ch{%;3|VT?VN{-To*08IQ}5YxgEXM(&>^s=zTyHWJ=4+~2K6S>tZbV%B*UeQap zk7ZY{{0399T=;WpKZ0lVuB^akiUwhEQ~Rc@1RGZb z4KNoYhd{L?+Y7SycN<-m9@4olj4@y@79B4U zvOHfwHGf1JY8K)Qgi>`FE8$VzK{B?yrn5d6e9o{jLyrvTchxsd)AY5nt$I1#!!pEK zKG?yJH8*HOPQg$d+DML+uxzgXes@M{G$j@4oJ1+rM;K(TYz;Ctco*5E;-&5%5Mf}3 zT!)zd*7GVoNZLy4*tA8XYdIK0@VUz{pnX!Y0>-RNz_(~x@%AysNb7d=Fb!>0wqQus zrg?-cC&)2%p>)cpN2{SrDqEHkMJ&|==8;m>-Q&^q${K5uD9u(#N-w=@QKO~}V_zM>zB-)p z5_HPz+(|E{2fkwSu!nQXX2B`j9tUpVOm;g@*@`-4Q|+AX!6Rbj%|_=LTef!dneV&# z%#+tG?p?Rh;oUa+IR^sg9BqU{8rX%gct~@?anm^mXXhLN28+of4>KpnvR@~xb;dad z%+sUt&(+v^RDRB({}1I0a(ns0Nrf2al$6YiV`3ce#Xj&u4URAKc^f%||E0`lRD>h0iHcBiuN-H-?EH_ImHcBctODZ-=|Ns9cpzr?v z{wFa;A}v9dz1)+$+MUJYnZVyKK2!Vq`jNBIe4Dl@r1m^XT}fAJES=};?(lVytzd3} zXnKy=+~84Sc!;RP%Ffa#Sb=JVpDd5lEPS>mMrSH(o`i{#wYtA~x8j$aq^7H}qrcTr ztLK}FFNy#F01R|ePE!EgLGhMs$om2+8LR2uxat4^010qNS#tmY3ljhU3ljkVnw%H_ z01J*uL_t(|+O1lNTI0M9O`+6XBsqgpIzYKtbtMT8$43lKkzm!2E zPz#`mWDF2q_D6r?G=`WUJE{42Lghs0sV;ULPW~8%9o07goldI%t6wz)*dPB9%rHr= z*ijwsAw=Q(tI|`vaegY&ypd+6dG{0xe zFd6od%(2%AR3c!VbMgwpi9Kit`@`>1hRJw5gPakMeS&tFP5+w zbbCF^i@cc6X7eI1^4ayRbpT2g9>wx`lwmS5M*>6v0Vd-iJp1A9DWWYm&H>^H2pBMD zco`<+US$VLkdi*ax%JIlA=pd4e9C8eUKC0V%SClmgBj|biLv1T3^v3kS|9>fJ{8P& zF%NuOw^=f1p3koDN(byv`E<>Vfx)oTkUkoOwj~JQYcd`-&Y?)X>AqX?K}gLgGuS^h zWtdzwFcd_Tu~}9`g98mF#xC!!XGLC7W80z3C|AcQOgb5znm8$ipz-UQxjbr?Kb0QE zG5ih@*bvfrphle*6B;L`%Tw|PXsF^tLsLd8o|-Q=o>NJ*M3NLVhYSwB za8~%J_?`LAXAk$z5!sqp$yi3b*!Z%VKTzT}4713qVNxS_B<$E= zr^XgSjd#$+_qFLDTp;<`SA_Ql3p~!+2tmmYls<~M^tSkYHrij*K$_2N%7KnL_eoYsW zXt45H>mq6@>U!fK%B8`|_%c#LV9SSDWw;1}L^M%{GRF8jgqUq5>e)kStLYy@fYlly zAn>;{3ENwplQ>wyyaY|D#@A#N7^&fK$&1;omq)d=G6)%7Mz)+4#r&p}*;N+sl1%tr z=bW`R8fDR1vNi&07Al|SMKN1ig0NgNFbLCOrBMJ|UeAm9gTz$uH>x%rtk>&xSptEx z7SUR^sgwy?;#rM(m>2Ww(nb(8$dhCx#2RFFBUx1@Ue-2vzxnyL-|_WWTKstAYro$= z?r*(jAsvhbx16;=z<^Lc>~(+yd8;`6`fZWQwMc(@|1+(w$6y5iClS>F(qm3Wb=qrK zqOmSt^qXCpEf$L`TcnT9mb;99m22Zc;#KoDr_5szBpf9P#};&h==|W;yL6GIS(;|q zV&nV=-=!Htet3L6I11wF1OcABl4MdXd{00m%lNl+k!FmtNPl^EzsNGa%NFTwZQYM; ziDV(j^b~{)O_-9imdMxqUAmBmW{Y%RTKmYi3i8v_>vr`bdOT+d8tn13+gOvHxT|uO zfZRI&lg&!StVaj-Wi_219Bc24B@8o4F6#B%5r`~6go0qmo2T_I%_>Nbhv{^>dM;5! z*$pB}xuP#XN`EUD{MdB2Muv?1ym_GKDWm*gS)BtB<{PW66A-Ylmtkj0fxFKn&iIe8 zzG9H+_Tcaf5b7rrG-o*h|4T-mDFq~~rx6lfw}LTUJrh_u3j&j5aF!DUuOnBKjj)~t z*7rcd`ZPF9!sHCdAn7&t2?1oOi*<|pbdd@NED^ijN${r1x;+F#rqk8-)xlX1>?N0Y z1_U9DJkyb*1{zzUtiL`_E0h;H%L(9RVyF{Da#nDTj@;db7?AYh0o-9)qx^6nIjBP? zWD=@xkKE-RYiGTA0P$TK(hKmERgoeNlX>S9gpkgHfQnm3&Jw9_(|t*FD9Od}nr^qN z7kkEC406t0ZnF#8mUy+S^;BO-?>xS4e|U&Ok?Y`y&bh0bcmyAurLzdQH(@;}rgSf> z?JH9GT%$a{S~^F3cLkd~ zSg<;TG+aCEoEW>(%F_C`S`+(H(n}Cxx?5A=;`tSA#XaAbcqXm%yFk2XLNp>05ygar zFH=?JpeFa6T{==d^&3+>)*zyZK=Yd~#jY3x7Ag8@%Mn%UemXt)t}J|2Pg+!i+r$FYq6YKg22nvxZswWuPv|l(K#X!VAf;!zIk5l zcR1|FSrDb9wTA~=eg>uMLrc}V+-AGA;{^k-%`N?~101Kt=kBvSgY2$CFTthFF}dfRrGiyqv* z^PaJ}oufhAm_jvkxpJr51eS=cSPwZ&i|K4iGcR)bMP5~G|9j8d8`DPBYg|uU?5-?~ z{azPAjb$l>4L!8-qGT63Oc{b}EDxlc?&cP|E*9`Z?D}J&i=Yo*>e5$N!i!BPn@G(K zkHq5L=6#+^#izSiP}gtxP3JdnB9W5(CeV}W0wr$oc+2fxTVgpp6?1Xb{Aul)b+J)h zT$!N3SnUGu?)GVV=Rwv)A&2eCxQ`6&hNi=||Gl?L#j$ABDBx(-8R~i$c>ML@%4!kB zAa`CX(bcZ1kr)3{PjMZC3jh%V8}*xJxmHxqF7a0OSe3ILZB@f1K>_rKN*Y=t&Yz@4 z3{~MO?BN^b!MZ6Xr8CQmyAZ$1dccpL0oBI#KP7{UO3rGGSMzSGJlN7os5BAc9f$Km z^NZ6uX|uw|+7M3_v6?0!b-vI!tV_0`+##j1UtA{0vc;!VG3!c~m}UKs_k5lQGCXNz zvM$-u;I!j#8H&%^TGDQ^UvoHTkD-bQp+qEl`J8H9tSAvZo7TY1Kll)0PmmO7+z5 z?rjX3wrHJ;|7tZo4BAO+BNQB?d0G@}+cEf}NrR2vsMh_E3(WDM?0&EPl&TXT3=*_3 z&Npdz4Q4v}i|qpQ)7?WWhiILk-P1%fI^Wc~I6~2gVP88NiEcN}Vlngx*7|IJppHvJ8mqq7U` zHh)LcpIvA0_fIhJ@dY5$(aX?~?mWIAM=E~%_(D9v038Q0z5p?Ze{>K-j?;|$d{E%{ z>;T0M;87de0Gj^zPmke*!!g+Arppri+ru%9V?M+blePD^_!EiF^ zgle_{=pPO&HI7~h7bcv&;@CCS(JT1JqgT;s;Sibjuc~$+i|%60iHe% Us#nbv#{d8T07*qoM6N<$fONm*ho&0CIU+1=~RiofbsGW1v-rw*`iZ56Vbei&!esTEWr*BBFrpfR;|M zFhB)VN-MNHgcNKkLlqSPd0j{d1R)P-ki72c|K#jt_a=Mq-MhO9Vaji2v*&ep_k4Ty zobPc0+~)rq4Rwe>uZF_RK!gB!#_!5CDkMYtYneFeM7q}9DK-y4#qbr$ehns_+$FmwPzYB-N!2tr@69kf91uD1Q#Li26Jl+vV$rL~X zI3VT`Ads5Qznhu-Ch8U96CT4g6rPRcS1}2I6P*vJ*u_*w)KC0C!;DxaNZSHXoiG0Y zYS`6h{ILkZmH-6O+XJQ9sQ;Z0;%C?TYPggatzpzjP+(jqa-Nctb+m>y zR)JmfDa~)-)`OFD{=#UDB7Oo~UPkfs4sL1UhiSO@w{W##1t4%|GAEORxV4796}i;R zduTXSY*iUSd1&|?!gaoB6Cj(@!Zm87m#K;RX{=rRlDDEYdoCX+kY!ws3yVMOaW4o zfDTk4THFawSkL)*5=UKSB^;=X@mW z;b$XLgs-O%$4?q%r_Tz}qhD;- zeENA2g3QbEF1>}w%Qwo`Z4x3rEw*bT`H2VuNXd#>0C6paxNy;UsNO?_XyFrL{kuk4 zX_?Upr=1TT-TMl0xxj@GlHZ6Vfc-HGKpwwdWIRyjGE@1>p`Drcio4DSkKTiYxN_BK zw>Bmr91hcY#Idr>kpMdNG9IR|NQlO5jk=%C7NWe|sNcF%h&J~+?|kqWGFpi1rA~zK zl?u?*5J0PrjyfMaKGv*4>{W#F-qU{`46&S2*c>)AmAi>m$VI$wK^fd+6_M z3nA&QV81m(04*803H$?2nKTYqyUUC^>e^YgZIfm!wN{LL6xbY9L+!)m@IXijCx>CKMnLlpYWPbk zDuiftcg;2_U4+=YRYatuL^x({rp@O~9UknrNe|GPzztVvZ>-*+(sF&CI=N<>%Z0#* zNx*LwhrdpfFpnYigMZOFU%3XD^%C&hTy@VNi+&5teHr$UL0LT&OmGB@Wp)GH(Er=i zwYI4A$!94pZ+Po z$00v@vQngM5kH1bk}5}!N%4*=t6B@(ko`~KqfZ&(zK?NWdd>$>socHKx~;iGb25Q- zn^fmZ%Oc;SIiqh||73Ljv!lSHKZ>FAl8TaG%Jd0{3-AJI2nBh3Lil#lI12LqcHsD_ z=$)67UlxaY_phnEbh>=+`=OtLEgIbTfms0O;RVZA(Eut{=}|N+6T_Io-8viT!$)C@ z1up<&9#&~NS~3`c&pC(KDZSBGlK={2VGO2Q7^H!;V~gb-q9+%~v*V z`{K_z`At{p;w!+=acTs_4kwyoe=u`H032L$Tgpjz!BUgD{m4k`Hg|VX=aYU!MOv0G z%~I(=fI^)L96b()e8j#6f|+V@0c|h5Ku&y@^sv1&X}^ANXnnJ$hL@_b(32A+`1U2oBMdsZl5EW4oTc0SbGcf)wgT?Z zwwrU+1Q7pcxLyl&*1T<`pL!ffFxeleDMnh({#M9kZU>j@mb(8Ua~VH_MQ~3b+nfs# z03)hY(6wxM!O;_j4v<9G*`NoEx-O>Zy5C|0SQi}g`d~$L_fAcym!+zgVX}QcjG@j1f5_mv?+-6t3u!aCM6iL7N za(Ka&tMuUN14_;T({uw#y2K^NPKLf&xzx$|LK0MTa-)X$ZK7?o+G7|dJl^nCRE3i~ zV4W$rJYkGF2fyv}ChdFnbfxS_3iu9&jCHE$SfEigtyo}HV<`YN8Da^%V9!2fut<6^ zXfk*J10uQ|@P)nvjvE2Y*JGDb(HTF5btm8*;x&$Jzg10y4HAJ@D2iNo!Mcq``WMd_ z9-T8eN+?;c8}&1&?{D7?5Aidc9oA70RsdR6Y&$RoUa;aVW$Q~a`WfXV*J#?VSK)Sv zRCJcT36Ghf;cQ{J%BY*9=sx0nAZEZV+qfhS9T-|BhkKm<4i+x;Xsr(+lfJ*_BQ>xg z03^_Klg`pUaKo@c%8_A(jP*^J3UAREU(4vFVMD|KqRnk`a(8Hevzg|DQxYi03!kf? zr0{jbFkAjIvOL ztI`;KxH(W!i=Pr{BV;r@_?MYPPV4cr)W6J#J5V=BJ7tN~RyCKK5k35;sYD-*c`6;^ z5oVK6JIKy1m&TfIueioD0R$0fPJdSdgO3_NbnyV(Bb1j)P+O|}qi(KyhUWq>!#RRM zJnccI1~W_7u;|Hrv@PsZ3N+~`q=#DjH{bSVum4xjOsxu_I-+XTN%PS%qGqWzQxR#w rvba(enhWFuoz81GSdQD=rcU@Do|Rij`3qG|00000NkvXXu0mjfO)Lg| literal 0 HcmV?d00001 diff --git a/apps/canonical-bridge-ui/public/images/chains/728126428.png b/apps/canonical-bridge-ui/public/images/chains/728126428.png new file mode 100644 index 0000000000000000000000000000000000000000..8571a8e7638fb27e2e4469b5a3bf4835c78bd25f GIT binary patch literal 2685 zcmV-@3WD{CP)ONm*ho&0CIU+1=~RiofbsGW1v-rw*`iZ56Vbei&!esTEWr*BBFrpfR;|M zFhB)VN-MNHgcNKkLlqSPd0j{d1R)P-ki72c|K#jt_a=Mq-MhO9Vaji2v*&ep_k4Ty zobPc0+~)rq4Rwe>uZF_RK!gB!#_!5CDkMYtYneFeM7q}9DK-y4#qbr$ehns_+$FmwPzYB-N!2tr@69kf91uD1Q#Li26Jl+vV$rL~X zI3VT`Ads5Qznhu-Ch8U96CT4g6rPRcS1}2I6P*vJ*u_*w)KC0C!;DxaNZSHXoiG0Y zYS`6h{ILkZmH-6O+XJQ9sQ;Z0;%C?TYPggatzpzjP+(jqa-Nctb+m>y zR)JmfDa~)-)`OFD{=#UDB7Oo~UPkfs4sL1UhiSO@w{W##1t4%|GAEORxV4796}i;R zduTXSY*iUSd1&|?!gaoB6Cj(@!Zm87m#K;RX{=rRlDDEYdoCX+kY!ws3yVMOaW4o zfDTk4THFawSkL)*5=UKSB^;=X@mW z;b$XLgs-O%$4?q%r_Tz}qhD;- zeENA2g3QbEF1>}w%Qwo`Z4x3rEw*bT`H2VuNXd#>0C6paxNy;UsNO?_XyFrL{kuk4 zX_?Upr=1TT-TMl0xxj@GlHZ6Vfc-HGKpwwdWIRyjGE@1>p`Drcio4DSkKTiYxN_BK zw>Bmr91hcY#Idr>kpMdNG9IR|NQlO5jk=%C7NWe|sNcF%h&J~+?|kqWGFpi1rA~zK zl?u?*5J0PrjyfMaKGv*4>{W#F-qU{`46&S2*c>)AmAi>m$VI$wK^fd+6_M z3nA&QV81m(04*803H$?2nKTYqyUUC^>e^YgZIfm!wN{LL6xbY9L+!)m@IXijCx>CKMnLlpYWPbk zDuiftcg;2_U4+=YRYatuL^x({rp@O~9UknrNe|GPzztVvZ>-*+(sF&CI=N<>%Z0#* zNx*LwhrdpfFpnYigMZOFU%3XD^%C&hTy@VNi+&5teHr$UL0LT&OmGB@Wp)GH(Er=i zwYI4A$!94pZ+Po z$00v@vQngM5kH1bk}5}!N%4*=t6B@(ko`~KqfZ&(zK?NWdd>$>socHKx~;iGb25Q- zn^fmZ%Oc;SIiqh||73Ljv!lSHKZ>FAl8TaG%Jd0{3-AJI2nBh3Lil#lI12LqcHsD_ z=$)67UlxaY_phnEbh>=+`=OtLEgIbTfms0O;RVZA(Eut{=}|N+6T_Io-8viT!$)C@ z1up<&9#&~NS~3`c&pC(KDZSBGlK={2VGO2Q7^H!;V~gb-q9+%~v*V z`{K_z`At{p;w!+=acTs_4kwyoe=u`H032L$Tgpjz!BUgD{m4k`Hg|VX=aYU!MOv0G z%~I(=fI^)L96b()e8j#6f|+V@0c|h5Ku&y@^sv1&X}^ANXnnJ$hL@_b(32A+`1U2oBMdsZl5EW4oTc0SbGcf)wgT?Z zwwrU+1Q7pcxLyl&*1T<`pL!ffFxeleDMnh({#M9kZU>j@mb(8Ua~VH_MQ~3b+nfs# z03)hY(6wxM!O;_j4v<9G*`NoEx-O>Zy5C|0SQi}g`d~$L_fAcym!+zgVX}QcjG@j1f5_mv?+-6t3u!aCM6iL7N za(Ka&tMuUN14_;T({uw#y2K^NPKLf&xzx$|LK0MTa-)X$ZK7?o+G7|dJl^nCRE3i~ zV4W$rJYkGF2fyv}ChdFnbfxS_3iu9&jCHE$SfEigtyo}HV<`YN8Da^%V9!2fut<6^ zXfk*J10uQ|@P)nvjvE2Y*JGDb(HTF5btm8*;x&$Jzg10y4HAJ@D2iNo!Mcq``WMd_ z9-T8eN+?;c8}&1&?{D7?5Aidc9oA70RsdR6Y&$RoUa;aVW$Q~a`WfXV*J#?VSK)Sv zRCJcT36Ghf;cQ{J%BY*9=sx0nAZEZV+qfhS9T-|BhkKm<4i+x;Xsr(+lfJ*_BQ>xg z03^_Klg`pUaKo@c%8_A(jP*^J3UAREU(4vFVMD|KqRnk`a(8Hevzg|DQxYi03!kf? zr0{jbFkAjIvOL ztI`;KxH(W!i=Pr{BV;r@_?MYPPV4cr)W6J#J5V=BJ7tN~RyCKK5k35;sYD-*c`6;^ z5oVK6JIKy1m&TfIueioD0R$0fPJdSdgO3_NbnyV(Bb1j)P+O|}qi(KyhUWq>!#RRM zJnccI1~W_7u;|Hrv@PsZ3N+~`q=#DjH{bSVum4xjOsxu_I-+XTN%PS%qGqWzQxR#w rvba(enhWFuoz81GSdQD=rcU@Do|Rij`3qG|00000NkvXXu0mjfO)Lg| literal 0 HcmV?d00001 diff --git a/apps/canonical-bridge-ui/public/images/chains/97.png b/apps/canonical-bridge-ui/public/images/chains/97.png new file mode 100644 index 0000000000000000000000000000000000000000..9ad01f3a31696184162cc5bc6f97ab380a306daa GIT binary patch literal 1903 zcmV-#2ax!QP)vS}*Ds-`LH`gXlv{^eENYIynns+#&% z{2PR8T@pZ5EkM=spQ@~{-y%G2KH<(m*5rhL4$jJF{O=KNx6_8A5~R-f~D`6&d!lqdXu zZ@$4mlO1YW@g)YL9E8lZ`W6F)Eh}fmF@{z`AEOlC_(Kadw~Fb{{ql2!p_ytsJ4{L) zqog=?#9gh#^fcVLem=5U#mZC+R!5fVjkD59W4j}pRq?32WiilF+*rvamzJC7DAWN; zL}4CH4niwEK8>`Jb14DFnSMI3S;YA{hiIjy!EnC}|BsPf)-@5gWQ>K*aBi`bk(Nuz ztu)V3XI%4Qu%9MR+x5kEMDKI5S)R^29;cb5)c9O1<#<2;G9A(R9K(v_$B1cg`wv%o zv`7M2nv-2Ck`}ukE(Gi#W)Fh2WlA%RPU`S3fY?r-T1t^{2EZsaqIE(5qCkegT+F2t zQL|Y}Y#~~SS>uyRch-0*Sp-rmF+PpAAKZ=7d9##A9O9?)VG1wq=w%r86zt%d4(zAV zNlzQ6bMr{Y2+o%gQjtyvo&&j_5U^QcF{haUDQ@1(>C9X zVZW|V%$*GCY`Q&2aDDj_fbHNwYKgX6p9rx2LR+PfQAB6Z=LiTRdlgj_1f*)A?bI)f z8tqEku3PC0DIf}hMa3((2*jG+LqN8I^xm0-qxiJL-PI-;QEr{@vODa$Cwk8-9=B^bQLAZ4>kmho^zbcB*gR$YW24s#T zu6Y%PNCh(EU1>%|AXdhF!m39kN|^tAd_oTn(-oI%`dAVS-nEWEI3(n#>R;n|7xiNS zfw#d6Ik?7lK2pQo079ijJPSut37W+8VI|=rn{6Rh5SuEJ!1DGeGQwac+KKW+0O2VZT$w=-3e+iv(!@cYOKuR9 z%%dot*UyPSlpbY_!mPPeF_6LVQ0gd3A`uu#>h5Wa8W4>WR$W*W#92sJVxcpCfswz< zE`b^l2VqGN%l#AE2;W<32(%UL(^#7XiJJ>m7@r6QkT3C;h`}O>w2TBYp~7gchGhj( zYfopWzP91v)*?ygR5;D9WhFvmy3*L7*v(4ZlDgVH2xKB@RZT1yf0=6t1sqeoS%Tl1 z$rpa()8s)Q7$dT>1<`|Zkgg!5zkmo#UG88daqZfHV7gKf5TSt%_5{f71PG*i9RX<_ zRDg#dw^-8p?Gq0YTS;q!KxTb%y*w(GUx_&aIdVL-4^6Tp!a|~R#%4f3AZMX-)k>2t ziGsP*)Ek}#q2B1QB)a85s5~4}j^|6onv@kP?viEdw%h5VE1B1@@A748y5M$ex7PY# zlp*I*oPe zMj}-9N4bS9cC3pJ^DV3v_$cTuEiRRb%qmBV$AGoFW3v;IVwH+^um~$ zowV6W-gfSBk4{#?%y9wn*%mDYhN1QFV!U z)IC1!S_WzWqE!#AR+!#Q1adG~E6xnnd>l9ep@EHRM~V|LS8hbOAKPZegGgr&f~KK1 z3_+k_%nUpCWA5~zQ!^#T&VzuHaVkL|*|BY8GF)cIsXA0E(*KY^GL;+I*0CLj^rcsU zMC}R!nH{A!k9WuD34vtn4P%|y5ZDRi;pRsD+1AD?kU-l5jPm168k|L)+CE8c(j0F$ ztpa(3asOuHEC^&Cqbk1K0@Noq=dS<%&CI{qmi=;rxjMJO{5M3^Y9kp%-iGSmP7002ovPDHLkV1m*4d3yi= literal 0 HcmV?d00001 diff --git a/apps/canonical-bridge-ui/public/images/mesonIcon.png b/apps/canonical-bridge-ui/public/images/mesonIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..ad1c5a93e436fd9690522877a3cebd3984326103 GIT binary patch literal 9257 zcmb7K<98hnu)MLIrfsYnyRmKCc4Pa-Xn13rjT+mwZQJ(yz4sry4?BByKkwNyXJ#T4 z|8l#(KAt0|#2eUQtoyYwx}K`?J*Z~Q@rfqL zvW$@bzd^ue$Cbz~GxI!dx-;B{WiGJoa`HssbDu=+Hdb7mz;JIr%l9-H&XN4P0D3w` zhsZB}&W+Vpk%af4lm%1=Cnwv@k&oLQbAcOGicZ3e94x+V;1;j1-5G@3ZNTut-d9sg z=2Z2FlV>Gp;_jtyj#dMw{vjmnKGC!Y%BEc}7ew(itHZ*%sQ>gy9Hw!2r*mazOK%zf z1YDB8)PLK2+FGL>^lj;1p_FO=5VgNY?D*G7H}=a<@zZnK)hVp%tAxypsCE_Nb$u(# z(ch>2UK@b=nsP9*leDrAp8}5FGg#63bN-#@avtGoVk1M{BB%HLWhRHwR2;7UW3)*5 zHi6i`f?NID#jdAPeREI#enj68(dRII`o7Q0)};*pC?9=mEVNvUR!!sJpYF%Q z<{jO2O59QHz$f{KZ2VxZ-q+a?0>w-INi_e(;0n0``YM8E?yOxakvA3eG?73Ha%`7K zh#Ebg0zJr>-Cm`XFhIg&5$0<)%bHa;=+1hW&No_iqR z@)cpGScgwzPYSIE4{`=2{;vPxjsQIKjtnhj1P287w-RThEs_{BpuB zKJItkTUVDU08go5o00WpPczZSA8pjBx&=8vp@JwA{ z87VrH^eT3@bz*S@UTCH~)%?|++7AM}AJ<46CszTwJT2}Q_6k;YItphSs%AOUip7QM^f279_8~8RO*1-*+t)yBoS07jZd`xC#TC&4*Y%rXKyk!1SFd{3fO1V|qs-FxC6AVN zz3i*1Ia_+TZ9haHiRwc6-gTeu-#Dw(oW2fv4eHw z^1hj)f7yNI`%NRR2G}4jZOo1Qiz$X<$X<}!lU-VJ3ZHTw)E>XZau;Ct?03-$>cjKD zRZW^DmPGl?e5ZbCO!t#lM#AV5c6}It{_L3_DGx4o(SqDU&bQYGvO78)WKlz()e<8A zdn^I(J9qg}6#JAfcNh4y!M|GNO64jt&n{V|r(If46UMt8Ec0ENT`v!78nIn9FXUe1 zG5_5Fo)4izbvwbn7W%`rB*ZVp`Vip?$!*?lm-2*a>ecooLs4TIkB$yTRhasA^s3x` z5mDHodam+V^1{;Sm%U2&COf)gsJQYWdz6cU!$`BF>?mPR^5_1No*><7%~mFP)~Je=@T=;GtheAwa> z#hV`H0!t=kt^$QwmBf`b`+LtvHW|OPKdCgBUcwk-c`x`sxR6&|w(c`W-K~@E%vL{J z3e;Y0@V7Ro)wvCA$61LHEuCm)VuKRxx=OoJ+S0L3^?UWHW7 zFX5UbZN+eO{&?)f0PUHlX*j&5X&ZOh66LVceM@{p>Ei&)4>Th-dp=SJ_Zt~h_0t;gyF{ccSP5RbuFpv{rK&&kF~ zHS@!HLH{*8JcA#XlRJ+2Edt9<)ZN-VM4^RfiKS{7BU%t-aGMl)rNdl>X8vb1;I#i_ z-9MCT3hGWGBRW zKe%>v*kfy^>*n$5N@ar=!_`}@_tfS(k`20t?5&Tb@=3b^rq3l+4!W?iskvuICNN>^phoOkXj7Nw+ zAYI0;lJ;ekgvVw(V$w zwndVu{Ioe*F`4{F!vjiN0}xdpuV8GfK*9yBWdkMP$Yxq9*gO(U>xNYV;b=VsD^yp* zVqIlz$)#%tx^yTK{`RWU#%5sQurVr;@0@~P-3bsNCe}e0#DQ~1g){mMbMz(&Y1v^` zKBc(G?Y~9EaMVJ@sG+S?TBe~a_d6kw`UmNdSW(!g(}diOIkpmM=44?VLVv8V8xA@* z5!6wt(pWi_k(SHG`C_WP?A_KMY4{%}d~jA(k-E`s|B4~zMqkWZy>!x;0wZBPfP)@U z-i2>YPPb~cix8`LO5Na~=s~52Z#w7^Z^KE{f&(LJC$AC;qt{&C!r2-hr zvH%R|Rtcq6Fb{Ifh?F-6BNWCHezM?GWP9+ezac^`nY7?y+hSuXtH5q(D{ul*4BfUm1-02i5D5o#VL1mcOq@#!^dG zdJkbbxlAp>%&D9x+<$Z?08fkk$1l z%o+@Y+sw7A)Mwp6?v2IMu{w0P>&p0tXkuM}oa_>9dy*c=spR)9)op#MQ?N`9V@b)~ z+Pp;irjP`to0uR*vcpcW8|N)=k=d^Tg!~PzSaj^zhmQigw>r4;`<6fPQ{DvmR9ZQ1 zpBqwzRE=MEn9h(_>4e?5Y|{hyEHriz-UHopzZz93vWeK#JP0rsHK~7V_mtV(zLAFD zwvv5cBVRU|-wAvo_{ipbx3K@(@#FFty3$}xgLs|zZpgE*{mY>~1WplwuV#rE`4V2S z)z>T=GG=%;P;?+jASQ)z zxAZk@$Qt6eJXK>UsGGEsP-ut@%8ae_JRO?fbO+c5yd^qkjR3!Mt zcg__Ts%jXqG;tQ{v}-c6lDwU`%^w>(+!j!`a&aI5dYq*3b%C;U_n((Th(VeDV5^E~ z;>---tsUs*Ie}Y7k1NC|#KYY)PfUZSs{`#8JhVYD z%OPM43JK;Bc?$eooiJ81LZx2*BMdgiR1BrL@F=tuAIaBY=;AG&Bh%h2X!bLa-S*l< zo~sAl;BYZaJJ{qU$Dn;n^s_-nrzR|>KroF`|3}_I_hV6Poy!|ii)MXM!wtk7JBz!R zX8SRG>Kg+q<5Bf2KCI-+zWLclP_@w+UPuvQ=sy~I7VXTF(#IMcMV{)7A65tD=1KAU z@v-COf&ZJWxYb#G{4hs&9I~EvvlwD+C@Ll2{2%?pYEFSv6f@SQS#}GoSOMXFG$X5q z3Pz|oRjU{jli%n+QEsW@LtEk>#DRKMgkAYqrR6?OIzk}>&IPt>w~%_J{U-QtZOs`phNsUI-GRo6E(+LoQIe==4s2bsY? z=a0BQf=h!M4gw3~T9#l_G}=bl&PY!&Zgl4G<*F&)e%4mpsHiBnmFrAvWvXxX#dABy zh;=MeXah`xYb$m|cj3cs8A_7>hGA&4J5f2RvUUpEF&ngw97ScSz=&!kfcq%|x5>|W zw66L6M<*LXa+x(UyB^@Y%_OUXYwZw0F^5{sMykaB(vp<=30W6o*!lXSLNc()E@Dbm zk>|cGPGvyCS;Pb=+4;vE8J7+fXABTai))1Rp-`E*-M9v;e)EuSxCx;=XmOM`1^&WQ zUQKaaH0)lb=|)t`7g9Cq1>#b9LWOET@E&Vgg-drWO;(545k;zGA+PMCW6#i^kcHi@ zBZhp2Benfy{7eO-4z~FkY|)~5_Y4sv&ErEp1Fi8#omv$V3tz-2r}8zjh7VT)QKAci zi@~3=ph1uGD*X-ePH58|Dgp_!i$;eji#}T7&UK^_zL~DP{1^3++=ajAR?PUP_cuvv z^Pqs<(NrIf63s_`3B4>=47z-h)&2z>1LGN!hW#_qnAX_Oae8ea%Q>n2hf>8W@y^Mz_UI0}5tv2Z^h8CTPx zTYdr`p%z4NNXIfvM6#WM`BQ@*)OUzN7723@h_0E)!uv(k_b`ejZVhri)FRLS+O<7& zeoWBIx{WQA7QI$>Je)-#F z@mSZ}%HhQtFSVN>3d5C}5~6oG1-Nscy5qYhY9DEC3nO!jhW7=p3|+^fgcMwU&!P48 zRl>A{0CGG{<)|-r zNLh#hViB0Lxq-73GSa+sLM+?gAoZGU38M@BXAIym&PuAZI}h#^jqt`6-Tr4`juiOMI|cg=A%S6`qc}IwY5}4AMQx&H`Y=J~#6F3@JpBU{C!_d+ zd-8oqO^)V8URP#k+GO;x{T!cmmHHQ!65V!vcmQlOEtL{AwFkrT5a^tk|4R0Ymr9{p zkbRDt4V;P(Obo9F(meMMNE!ZMil#>H%Y**qEI$QJuzq9G!F^kJFf94g5=$&)EcT&i zdAo%TeYnUBsqucu-|^(>zUw+INkFa1@jW`r={KPA%^`?E6@O1Y zvT+1)$0wG3AvokAos7{B1I!PZjkZi`ApOx_jQ3XaSO-zcz* z%OK)Mv5v2ybWt%JM2RfWHeCi?T+g_65V-1b-k>x6$heMsx~uWjmly!y@ZPLRNwUPL zEAOin$5N}LG1e-MPLe$=9spD*7MdBumy8pvhQfE+r=4%S&TY;K4k~)H)+J$t&(j%9 z59#e$uokv$d8VA>PIGuAq?e3J>QDPFe{t&tP+Tj$o2fDHSqMQ+9<;_(G@3L#nRq-J-sVbzeALiA3utLNCGt(6K|_DSK~D$ zB>6n^4t?xh;T4I4QZhq6c|Z9V3g^daPKVrh`VLgxpt4(b0!PBy<6A9>{4E_azwt z|3pC|+6QX){5o5QJjC`pkzFe1XDb5J@V2Ua1~=r}8%B*~2qIu{wutk|P9B%cExce- zk%--#8zR42*!wwm;n#`u7%F!{?3Nw|OOA_b+R%@92%2gO3iL$R^+r~G1&pu-hH%Jp zO(-TnDPe%Ckn&6)T4sJ1F|#STEfUs?lb`g^-wWFY#N&Q0rtfNUUyH31%MsfDD%auj zMZO%jbU6kV7LA(vx<1OMi4E-B7PPsmN0+$0aj$I$(4vcNQy%WqZOtle=#B=|#4mki z%=x^wZ|lH)L_6FGQYEPf2o$N;5`()ZeC&zTMH(iDxloD8S3F;(GP!!NAy*(?&@Ws~ zf&xS0Xb-29tieYdcnV`kz*{bE3s|gSTk6W=>>x4skVTib=WOp{;$(97i#V-wqXCT- z%<(@^$*#LbWNkskN`BG$&o3fgm=WdZRUy2qtYzEh_5sk_C- z*i${5e6esP>OeZuJ|5@Rrq>)5_ur*L>4p;#_|(+wQxdH1zZf<;H^6pV98Y6XQ_@hZ zl?Zq9f71gzK7t#Wfi%*G($h9HnU%?$@g7#^tV)BI zb>_^&BC(lgtMDV(&Ta}ABP$*cR!g7q`t=l2kgpBUthRgXq=}lz(RC3RZKfci7Z$#z zw#GG$>iB0Q@3E!^w5C1TCnGdUA%%jF%Jq=b4U4CduU-w=S^@Eujbqcf(Z-X(hRGq= zQnpwN(~BxYbODuVn!04TQi81P<8db^!gEz{{XY}R;@@#qRp2(Pit5loU8}B4xbJbR z7jGJH<*<$q&)Jt3b>7Xc!IGw|Orq@-3kAM4L#`&^MI;#DU*AVl&m3(YDqrW>3b)C(v{Ky-e z3xZLGA0Ekc;(B6?M?xui!#tdajmYWORiN(jR3|Zqx9BVX z_iMnJZZMKGJN`igFqa=vv3EFPahp}jCwF`DtYqq{%C72uqtooG>3LT_zPZM9OLnjc zfkWWI*80%yyn|zI8r1?Akp9Go{L$PJz4eZ~pq9U`)&ozvr2FkQr0kTO`l4zLhn+{E zEc0T=Q-0Y-`Zk+~cB}*2CO>lJX`XF=EYzyWaULVTey2~d_mcKwYvgQDhW{{n?I7nr znoxw2>0FlMuP$5{TXh=eM1Q0p>2%g|k7yotU-QMZdcmWi9rm;snp}`<^1i*_@-V$`ufU6E;AE zC^hGvrU54b!|8~mS1tmdWN`P`iLx*E9Xd}cgo!@FzoonN)w#O| zVd-;~zucW&1bBBE5s=c=c+0ggEH;N=X!(K+wG`^LXnBvMs^@Z{7`@hU&mJeX-Vcw) zu)AnP43{=~z$#iCe}_3~r8tLXkieDzE&EQ8o^o8Ds9J0$+Lp4XERtSb|Wk_{||kxlo%&n5ZJE^ZI8wh z)oYvYww}a0gERzHKAmcIYu8r8C-fBbXu8E^VWIihuNnE#(z$1 zi{l_l7sSc_2M!@d3shEkDs#q>tCn??HiJo!*M zukr@qp;0ge1hJY(o`j39uKqoBz>Tjcha^1yHXB%wBGUNc?;IbWc$Xl2^FtRE_K5_w zb4r4_7q@NWKi%l2=@A-K1a%bB>j$#Z!Tn>pIb~GwScFqiOkX5evl8gF{Jo`S{j(|T z9=k~Qt4YsR*yDs&t7i2tIgguook3{&(rml8`r`WpG50Kz)Ef#_kkz(VLK_u}y*Hbz zaEv4?4JW;e;;C_3A4b}$yf+83v;0@;VGLhO71@D$>CC{%*o9*vLMg> zLVswF$b$>3{Vmm4nZ^SFl%V&FaE#Vic$|d zqeQLkX=^*KaQKev7fB2fh_VD0GPfkZG&;p%3n-~mp{G0I#F2y@h+?uhC{#_>wXyaCXG%b zQ%U%#VXiJTMT*>!omIM`;?F0=TY_%tlr}6*S;tRAcSzc<5-%l#Tl$>0c@n<7`>ofD z?5}b4mRGqG0*$N_SsLrH@x~TB#Zi#j=+@FGTu$-@s7{8_XQxc$Q@Z6dQUXZe%as_A zy$M}wqz3iEFDrluY?U-cbx&L{Bc9``z1gq_73qE~wEhfA;Kv!jR~_&q7|!P(`u-FB zL32MsOy_Th`+4}`&0;Tu+~ zbT#ODhM%F%{_8gH9(1d})39Yf!yw!fOx`Ee#CpLiUX!2AwpMgzz>B+irVE#w@V0a~ zM*9?r!66iBC~8qqrRjj>D--G(SYPfi%Ncsm0=MytX!Sw`ollOd#XDL)XQj|g1u+U584}D}2AnADMJaVea9}jkSH^1yyl> zROiXy-2Be_pmXW^XmkO_gcj3NTykry+8uuAdS6}a31@#$+4D;NY5aDfM*T{F>p$n8 zVHoHhX_Wnt<2xtEIXs5DWp$FmrNPWqSt;&M`C4vNGPU8sl#!B5>52vg7=LT`{{=bB zTIl^qtnP=DL&BvDs=O=TkPv9#kn@ZG{y7Hq`V88jp}rAFvC?x`lQH_K9-f59c|R1E zvWm$bH&=;=#(ubgatc}o%!#L69yp=KtFf9}9}78N8!wJr?j3ZI$dqEtT%ga@9bEN2^PTpQFMh_%;HmxPF3b!oTAl@(?sSe?40qHb! zRKy7%Gq{td-j}0?)&yKd6EYc>x;zA(X&y_yGDHk~%6M=p6wAOIe;Bl2qDF5%CSJbL zh>CIOasQMBCT|Jt4h2MNgV@fFe-n8fp8iJ5VV`*`As_lGr>uV)821k16;wZF!HL;4 z_~uYWI)HJwfjV`3P-|GHW%rWrw|$_Vwtp$)I3z%w_w~9L`#wgNzJDU+2<^ANK|jS$ zJyRj~5%^~e>9wEHwvzkfgQq(+@fKVR|J5^+^EuT~>t8qZ@cXJ#_0r)Z1yw!kv4^Xh zTmYXsMzJ;37t5+{e+}jVPfcU~>;Ij7`MtzN=#m~O4u;) Fe*mrhDkA^@ literal 0 HcmV?d00001 diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 5f24f26c..e43c6ad8 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -14,31 +14,31 @@ importers: dependencies: '@nestjs/axios': specifier: ~3.0.3 - version: 3.0.3(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(axios@1.6.8)(rxjs@7.8.1) + version: 3.0.3(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(axios@1.7.7)(rxjs@7.8.1) '@nestjs/bullmq': specifier: ~10.2.1 - version: 10.2.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(bullmq@5.12.14) + version: 10.2.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(bullmq@5.12.14) '@nestjs/cache-manager': specifier: ~2.2.2 - version: 2.2.2(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(cache-manager@5.7.6)(rxjs@7.8.1) + version: 2.2.2(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(cache-manager@5.7.6)(rxjs@7.8.1) '@nestjs/common': specifier: ~10.4.1 version: 10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': specifier: ~10.4.1 - version: 10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + version: 10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/platform-express': specifier: ~10.4.1 version: 10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1) '@nestjs/schedule': specifier: ~4.1.0 - version: 4.1.0(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)) + version: 4.1.0(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)) '@nestjs/swagger': specifier: ~7.4.0 - version: 7.4.2(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2) + version: 7.4.2(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2) '@nestjs/terminus': specifier: ~10.2.3 - version: 10.2.3(@nestjs/axios@3.0.3(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(axios@1.6.8)(rxjs@7.8.1))(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@prisma/client@5.19.1(prisma@5.19.1))(reflect-metadata@0.2.2)(rxjs@7.8.1) + version: 10.2.3(@nestjs/axios@3.0.3(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(axios@1.7.7)(rxjs@7.8.1))(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@prisma/client@5.19.1(prisma@5.19.1))(reflect-metadata@0.2.2)(rxjs@7.8.1) '@prisma/client': specifier: ~5.19.1 version: 5.19.1(prisma@5.19.1) @@ -56,7 +56,7 @@ importers: version: 7.0.0(prom-client@15.1.3) ioredis: specifier: ~5.4.1 - version: 5.4.1 + version: 5.4.1(supports-color@9.4.0) lodash: specifier: ~4.17.21 version: 4.17.21 @@ -111,7 +111,7 @@ importers: version: 5.2.1(@types/eslint@8.4.10)(eslint-config-prettier@9.1.0(eslint@8.47.0))(eslint@8.47.0)(prettier@3.3.3) lint-staged: specifier: ~13.0.3 - version: 13.0.3 + version: 13.0.3(supports-color@9.4.0) prettier: specifier: ^3.0.0 version: 3.3.3 @@ -132,13 +132,16 @@ importers: version: link:../../packages/space '@emotion/css': specifier: ~11.13.0 - version: 11.13.0 + version: 11.13.0(supports-color@9.4.0) '@emotion/react': specifier: ~11.13.3 - version: 11.13.3(@types/react@18.3.8)(react@18.3.1) + version: 11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) '@emotion/styled': specifier: ~11.13.0 - version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1))(@types/react@18.3.8)(react@18.3.1) + version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0))(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) + '@node-real/walletkit': + specifier: 2.4.0-alpha.5 + version: 2.4.0-alpha.5(@babel/core@7.24.9(supports-color@9.4.0))(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@9.4.0)(tslib@2.7.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(wagmi@2.12.2(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4))(zod@3.22.4) '@tanstack/react-query': specifier: ~5.50.1 version: 5.50.1(react@18.3.1) @@ -147,7 +150,7 @@ importers: version: 1.6.8 next: specifier: ~14.1.1 - version: 14.1.4(@babel/core@7.24.9)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.1.4(@babel/core@7.24.9(supports-color@9.4.0))(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) pino-pretty: specifier: ~11.2.1 version: 11.2.2 @@ -160,19 +163,22 @@ importers: react-dom: specifier: ~18.3.1 version: 18.3.1(react@18.3.1) + supports-color: + specifier: ~9.4.0 + version: 9.4.0 viem: specifier: ~2.21.14 - version: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9) + version: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) wagmi: specifier: ^2 - version: 2.12.2(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)) + version: 2.12.2(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4) devDependencies: '@babel/core': specifier: ^7.21.4 - version: 7.24.9 + version: 7.24.9(supports-color@9.4.0) '@babel/preset-env': specifier: '>=7.1.6 <8.0.0-0' - version: 7.18.10(@babel/core@7.24.9) + version: 7.18.10(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) '@bnb-chain/eslint-config': specifier: workspace:* version: link:../../packages/eslint-config @@ -206,15 +212,18 @@ importers: '@types/react-dom': specifier: ~18.3.0 version: 18.3.0 + encoding: + specifier: ~0.1.13 + version: 0.1.13 eslint: specifier: ^8.8.0 - version: 8.47.0 + version: 8.47.0(supports-color@9.4.0) eslint-config-next: specifier: 14.2.3 - version: 14.2.3(eslint@8.47.0)(typescript@5.5.4) + version: 14.2.3(eslint@8.47.0(supports-color@9.4.0))(supports-color@9.4.0)(typescript@5.5.4) lint-staged: specifier: ~13.0.3 - version: 13.0.3 + version: 13.0.3(supports-color@9.4.0) prettier: specifier: ~2.7.1 version: 2.7.1 @@ -224,12 +233,6 @@ importers: ../../packages/canonical-bridge-sdk: devDependencies: - '@node-real/walletkit': - specifier: 2.3.0-alpha.2 - version: 2.3.0-alpha.2(@babel/core@7.24.9)(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@tanstack/react-query@5.50.1(react@18.3.1))(bs58@5.0.0)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9))(wagmi@2.12.2(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9))) - '@tanstack/react-query': - specifier: ~5.50.1 - version: 5.50.1(react@18.3.1) '@types/react': specifier: ^18 version: 18.3.8 @@ -238,7 +241,7 @@ importers: version: 18.3.0 '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.3.1(vite@4.5.3(@types/node@20.11.21)(terser@5.31.6)) + version: 4.3.1(vite@4.5.3(@types/node@22.7.5)(terser@5.31.6)) axios: specifier: ~0.27.2 version: 0.27.2 @@ -256,18 +259,19 @@ importers: version: 5.5.4 viem: specifier: ~2.21.14 - version: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9) + version: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) vite: specifier: ^4.5.0 - version: 4.5.3(@types/node@20.11.21)(terser@5.31.6) + version: 4.5.3(@types/node@22.7.5)(terser@5.31.6) vite-plugin-dts: specifier: ^3.6.3 - version: 3.9.1(@types/node@20.11.21)(rollup@3.29.4)(typescript@5.5.4)(vite@4.5.3(@types/node@20.11.21)(terser@5.31.6)) - wagmi: - specifier: ^2 - version: 2.12.2(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)) + version: 3.9.1(@types/node@22.7.5)(rollup@3.29.4)(typescript@5.5.4)(vite@4.5.3(@types/node@22.7.5)(terser@5.31.6)) ../../packages/canonical-bridge-widget: + dependencies: + tronweb: + specifier: ~6.0.0 + version: 6.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.9) devDependencies: '@bnb-chain/canonical-bridge-sdk': specifier: workspace:* @@ -286,13 +290,13 @@ importers: version: link:../space '@emotion/react': specifier: ~11.13.0 - version: 11.13.3(@types/react@18.3.8)(react@18.3.1) + version: 11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) '@emotion/styled': specifier: ~11.13.0 - version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1))(@types/react@18.3.8)(react@18.3.1) + version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0))(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) '@node-real/walletkit': - specifier: 2.3.6-alpha.0 - version: 2.3.6-alpha.0(@babel/core@7.24.9)(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@tanstack/react-query@5.50.1(react@18.3.1))(bs58@5.0.0)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9))(wagmi@2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9))) + specifier: 2.4.0-alpha.8 + version: 2.4.0-alpha.8(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(wagmi@2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4))(zod@3.22.4) '@tanstack/react-query': specifier: ~5.50.1 version: 5.50.1(react@18.3.1) @@ -311,6 +315,9 @@ importers: '@vitejs/plugin-react': specifier: ^4.3.1 version: 4.3.1(vite@4.5.3(@types/node@20.11.21)(terser@5.31.6)) + alchemy-sdk: + specifier: ~3.4.1 + version: 3.4.3(bufferutil@4.0.8)(utf-8-validate@5.0.9) axios: specifier: ~1.6.8 version: 1.6.8 @@ -325,7 +332,7 @@ importers: version: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) lint-staged: specifier: ~13.0.3 - version: 13.0.3 + version: 13.0.3(supports-color@9.4.0) lodash: specifier: ~4.17.21 version: 4.17.21 @@ -358,7 +365,7 @@ importers: version: 5.5.4 viem: specifier: ~2.21.14 - version: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9) + version: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) vite: specifier: ^4.5.3 version: 4.5.3(@types/node@20.11.21)(terser@5.31.6) @@ -370,7 +377,7 @@ importers: version: 3.9.1(@types/node@20.11.21)(rollup@3.29.4)(typescript@5.5.4)(vite@4.5.3(@types/node@20.11.21)(terser@5.31.6)) wagmi: specifier: ~2.12.14 - version: 2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)) + version: 2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4) ../../packages/eslint-config: dependencies: @@ -454,13 +461,13 @@ importers: version: 2.0.18(@chakra-ui/styled-system@2.9.1) '@emotion/css': specifier: ~11.13.0 - version: 11.13.0 + version: 11.13.0(supports-color@9.4.0) '@emotion/react': specifier: ~11.13.3 - version: 11.13.3(@types/react@18.3.8)(react@18.3.1) + version: 11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) '@emotion/styled': specifier: ~11.13.0 - version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1))(@types/react@18.3.8)(react@18.3.1) + version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0))(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) '@types/lodash-es': specifier: ~4.17.6 version: 4.17.6 @@ -521,10 +528,10 @@ importers: version: 6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) '@storybook/manager-webpack5': specifier: ~6.5.16 - version: 6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) + version: 6.5.16(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) '@storybook/react': specifier: ~6.5.16 - version: 6.5.16(@babel/core@7.24.9)(@storybook/builder-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(@storybook/manager-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(@types/webpack@4.41.32)(bufferutil@4.0.8)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(require-from-string@2.0.2)(type-fest@0.21.3)(typescript@5.5.4)(utf-8-validate@5.0.9)(vue-template-compiler@2.7.16)(webpack-hot-middleware@2.25.1) + version: 6.5.16(@babel/core@7.24.9)(@storybook/builder-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(@types/webpack@4.41.32)(bufferutil@4.0.8)(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(require-from-string@2.0.2)(type-fest@0.21.3)(typescript@5.5.4)(utf-8-validate@5.0.9)(vue-template-compiler@2.7.16)(webpack-hot-middleware@2.25.1) '@storybook/theming': specifier: ~6.5.16 version: 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -559,6 +566,12 @@ packages: '@adraffy/ens-normalize@1.10.0': resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} + '@adraffy/ens-normalize@1.10.1': + resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} + + '@adraffy/ens-normalize@1.9.0': + resolution: {integrity: sha512-iowxq3U30sghZotgl4s/oJRci6WPBfNO5YYgk2cIOMCHr3LeGPcsZjCEr+33Q4N+oV3OABDAtA+pyvWjbvBifQ==} + '@ampproject/remapping@2.2.1': resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} @@ -1296,6 +1309,9 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + '@bitget-wallet/web3-sdk@0.0.8': + resolution: {integrity: sha512-WFk6URUxTCukKrU3YpTdWTCScrj6/wwd/0O7eSANeQl1KDbDs+yj/fAkN1Wy6ebI3NMcW6sqN9mrmfwz53dPMQ==} + '@chakra-ui/accordion@2.2.0': resolution: {integrity: sha512-2IK1iLzTZ22u8GKPPPn65mqJdZidn4AvkgAbv17ISdKA07VHJ8jSd4QF1T5iCXjKfZ0XaXozmhP4kDhjwF2IbQ==} peerDependencies: @@ -1792,6 +1808,9 @@ packages: '@coinbase/wallet-sdk@3.9.3': resolution: {integrity: sha512-N/A2DRIf0Y3PHc1XAMvbBUu4zisna6qAdqABMZwBMNEfWrXpAwx16pZGkYCLGE+Rvv1edbcB2LYDRnACNcmCiw==} + '@coinbase/wallet-sdk@4.0.3': + resolution: {integrity: sha512-y/OGEjlvosikjfB+wk+4CVb9OxD1ob9cidEBLI5h8Hxaf/Qoob2XoVT1uvhtAzBx34KpGYSd+alKvh/GCRre4Q==} + '@coinbase/wallet-sdk@4.0.4': resolution: {integrity: sha512-74c040CRnGhfRjr3ArnkAgud86erIqdkPHNt5HR1k9u97uTIZCJww9eGYT67Qf7gHPpGS/xW8Be1D4dvRm63FA==} @@ -2432,24 +2451,42 @@ packages: '@ledgerhq/devices@6.27.1': resolution: {integrity: sha512-jX++oy89jtv7Dp2X6gwt3MMkoajel80JFWcdc0HCouwDsV1mVJ3SQdwl/bQU0zd8HI6KebvUP95QTwbQLLK/RQ==} + '@ledgerhq/devices@8.4.4': + resolution: {integrity: sha512-sz/ryhe/R687RHtevIE9RlKaV8kkKykUV4k29e7GAVwzHX1gqG+O75cu1NCJUHLbp3eABV5FdvZejqRUlLis9A==} + '@ledgerhq/errors@6.18.0': resolution: {integrity: sha512-L3jQWAGyooxRDk/MRlW2v4Ji9+kloBtdmz9wBkHaj2j0n+05rweJSV3GHw9oye1BYMbVFqFffmT4H3hlXlCasw==} + '@ledgerhq/errors@6.19.1': + resolution: {integrity: sha512-75yK7Nnit/Gp7gdrJAz0ipp31CCgncRp+evWt6QawQEtQKYEDfGo10QywgrrBBixeRxwnMy1DP6g2oCWRf1bjw==} + + '@ledgerhq/hw-app-trx@6.29.4': + resolution: {integrity: sha512-CKxkNkmFW/JhOVaRubHNRibIKyyX6GSaaEm58ST2AHV98CRFzn0SgI/vqIzQTnLwuFuI823lCKI6urSmje6cnw==} + '@ledgerhq/hw-transport-webhid@6.27.1': resolution: {integrity: sha512-u74rBYlibpbyGblSn74fRs2pMM19gEAkYhfVibq0RE1GNFjxDMFC1n7Sb+93Jqmz8flyfB4UFJsxs8/l1tm2Kw==} '@ledgerhq/hw-transport@6.27.1': resolution: {integrity: sha512-hnE4/Fq1YzQI4PA1W0H8tCkI99R3UWDb3pJeZd6/Xs4Qw/q1uiQO+vNLC6KIPPhK0IajUfuI/P2jk0qWcMsuAQ==} + '@ledgerhq/hw-transport@6.31.4': + resolution: {integrity: sha512-6c1ir/cXWJm5dCWdq55NPgCJ3UuKuuxRvf//Xs36Bq9BwkV2YaRQhZITAkads83l07NAdR16hkTWqqpwFMaI6A==} + '@ledgerhq/logs@6.12.0': resolution: {integrity: sha512-ExDoj1QV5eC6TEbMdLUMMk9cfvNKhhv5gXol4SmULRVCx/3iyCPhJ74nsb3S0Vb+/f+XujBEj3vQn5+cwS0fNA==} '@lit-labs/ssr-dom-shim@1.1.0': resolution: {integrity: sha512-92uQ5ARf7UXYrzaFcAX3T2rTvaS9Z1//ukV+DqjACM4c8s0ZBQd7ayJU5Dh2AFLD/Ayuyz4uMmxQec8q3U4Ong==} + '@lit-labs/ssr-dom-shim@1.2.1': + resolution: {integrity: sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==} + '@lit/reactive-element@1.6.1': resolution: {integrity: sha512-va15kYZr7KZNNPZdxONGQzpUr+4sxVu7V/VG7a8mRfPPXUyhEYj5RzXCQmGrlP3tAh0L3HHm5AjBMFYRqlM9SA==} + '@lit/reactive-element@2.0.4': + resolution: {integrity: sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==} + '@ljharb/through@2.3.13': resolution: {integrity: sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==} engines: {node: '>= 0.4'} @@ -2911,12 +2948,25 @@ packages: '@ngraveio/bc-ur@1.1.13': resolution: {integrity: sha512-j73akJMV4+vLR2yQ4AphPIT5HZmxVjn/LxpL7YHoINnXoH6ccc90Zzck6/n6a3bCXOVZwBxq+YHwbAKRV+P8Zg==} + '@noble/curves@1.0.0': + resolution: {integrity: sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw==} + + '@noble/curves@1.2.0': + resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} + '@noble/curves@1.4.0': resolution: {integrity: sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg==} '@noble/curves@1.4.2': resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} + '@noble/hashes@1.3.0': + resolution: {integrity: sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==} + + '@noble/hashes@1.3.2': + resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} + engines: {node: '>= 16'} + '@noble/hashes@1.4.0': resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} @@ -2925,8 +2975,8 @@ packages: resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} engines: {node: ^14.21.3 || >=16} - '@node-real/walletkit@2.3.0-alpha.2': - resolution: {integrity: sha512-XZIGMI7OSBwzwueLgP7EtyvRSqJvXXeDaPIQ1boyeiQ5BFcG2lIDlBwT8Gprn11qSAeElXAb/ccxgp4FfWNppw==} + '@node-real/walletkit@2.4.0-alpha.5': + resolution: {integrity: sha512-ItMhEz9RBhtdXzC8Pz+TY09bCKFvgoTsg8iaG3kym3fCQKxHgQnx1prn0Z9GPuS7D5b2Jk/6PLpClBZBYMQhiQ==} peerDependencies: '@tanstack/react-query': ^5 react: '>=17' @@ -2934,8 +2984,8 @@ packages: viem: ^2 wagmi: ^2 - '@node-real/walletkit@2.3.6-alpha.0': - resolution: {integrity: sha512-ZW7ltfLcOzuL/Sdudl/S8vKtqvYX8YPC/Tfd135doIobySFaUl3iUNnmiWc2i4t5nVwJdbcsYxLG6fTusg6VrA==} + '@node-real/walletkit@2.4.0-alpha.8': + resolution: {integrity: sha512-gaPJaad/8N3sHdY44/uJj7PFcvaXJ7mO2GUkTOAb/8w8GCYyuRzEGHugK/7crPOipMQdudFzNTP/Mi3x5h+RtQ==} peerDependencies: '@tanstack/react-query': ^5 react: '>=17' @@ -3222,6 +3272,9 @@ packages: '@safe-global/safe-apps-provider@0.18.3': resolution: {integrity: sha512-f/0cNv3S4v7p8rowAjj0hDCg8Q8P/wBjp5twkNWeBdvd0RDr7BuRBPPk74LCqmjQ82P+1ltLlkmVFSmxTIT7XQ==} + '@safe-global/safe-apps-sdk@8.1.0': + resolution: {integrity: sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w==} + '@safe-global/safe-apps-sdk@9.1.0': resolution: {integrity: sha512-N5p/ulfnnA2Pi2M3YeWjULeWbjo7ei22JwU/IXnhoHzKq3pYCN6ynL9mJBOlvDVv892EgLPCWCOwQk/uBT2v0Q==} @@ -3234,9 +3287,21 @@ packages: '@scure/base@1.1.9': resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} + '@scure/bip32@1.3.0': + resolution: {integrity: sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q==} + + '@scure/bip32@1.3.2': + resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} + '@scure/bip32@1.4.0': resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} + '@scure/bip39@1.2.0': + resolution: {integrity: sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg==} + + '@scure/bip39@1.2.1': + resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} + '@scure/bip39@1.3.0': resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} @@ -4172,13 +4237,58 @@ packages: peerDependencies: tslib: ^2.6.2 - '@twa-dev/sdk@7.10.0': - resolution: {integrity: sha512-dVuZ8le4+PI6FOt9OoaGLqMS4GnZXkjuDd4tQZgDJyHbP2jmD83dzt1vkR7olPoGxvGYIlsMkE+EYfp4mxtRSQ==} + '@tronweb3/google-protobuf@3.21.2': + resolution: {integrity: sha512-IVcT2GfWX3K6tHUVhs14NP5uzKhQt4KeDya1g9ACxuZsUzsaoGUIGzceK2Ltu7xp1YV94AaHOf4yxLAivlvEkQ==} + + '@tronweb3/tronwallet-abstract-adapter@1.1.7': + resolution: {integrity: sha512-N70hNFgArpiIXpbAnRShR3zdvnfD8MDM/2FVIyrRYAonYjenGCVBIuzUnc0zK+Rm7hFagOvStPrwIZMz9QmFoQ==} + engines: {node: '>=16', pnpm: '>=7'} + + '@tronweb3/tronwallet-adapter-bitkeep@1.1.2': + resolution: {integrity: sha512-Khnfec/9g63GQCOuWtZbvCeki1JQ+KKV39CZdd3GVCzJ2KrHTxQe8W+48WqpHN0Kq+dshiKrP2PWJIP2WGCiDQ==} + engines: {node: '>=16', pnpm: '>=7'} + + '@tronweb3/tronwallet-adapter-gatewallet@1.0.0': + resolution: {integrity: sha512-GKP4bZtxi2yQxBAc7557clXzjM/cSoax+4aMfoSrMH8yO9ep7rA8fdOtu6sw6HQeTsC+IZl7BVu2UVi8lz0Tug==} + engines: {node: '>=18', pnpm: '>=9'} + + '@tronweb3/tronwallet-adapter-imtoken@1.0.0': + resolution: {integrity: sha512-H8/3r/pHUZqWZ5gRDrXprwQ9io8FM7e8DLowHPY9Jm67Vw1WPOcPlBrz3Z7ZI9L3Jq7QD9xgubrvK2tlyOvJIQ==} + engines: {node: '>=16', pnpm: '>=7'} + + '@tronweb3/tronwallet-adapter-ledger@1.1.9': + resolution: {integrity: sha512-RFaLA7vqV0qwgOqO+EEkd8SEPpdNJZ/gvQDGg8z+1lnHj16ehts48WWkiGFHWMjuTAnIiXLINAs2i5HXDfB0DQ==} + engines: {node: '>=16', pnpm: '>=7'} + + '@tronweb3/tronwallet-adapter-okxwallet@1.0.4': + resolution: {integrity: sha512-CjdMfsvxdRq+PRJiBYdHnwuPG+WKWkDZ3qlyT2XhPZZTlkaTl0LMIGKisk14n4Jl3Hx0ClwX0vamPIi9orGCkQ==} + engines: {node: '>=16', pnpm: '>=7'} + + '@tronweb3/tronwallet-adapter-react-hooks@1.1.8': + resolution: {integrity: sha512-c0jnw3fZsaHcMWbvRM0jA1ve+7R2/TZyXsqZOpFQN3/yChdd92OI8ev7RFuy/Icj1ET0FtuTZMezwwpC+xBpOQ==} + engines: {node: '>=16', pnpm: '>=7'} peerDependencies: - react: ^18.3.1 + react: '*' + react-dom: '*' + + '@tronweb3/tronwallet-adapter-tokenpocket@1.0.4': + resolution: {integrity: sha512-zi/CNByeXDgInnV8gXxUWUHbryJKID+Kj4d18yvxoSHRy3z1k5gxexEx/K6iy/n62K1hc+FsNjbi82y2LXZ0Sw==} + engines: {node: '>=16', pnpm: '>=7'} + + '@tronweb3/tronwallet-adapter-tronlink@1.1.10': + resolution: {integrity: sha512-uatSQjT07V/fbPpoJaT/h3cxvVPtmzZzqmalST1PWez6P9SdxOWF7yJAbqnvczPFkRuBc56XQ9l7n39o27HE5w==} + engines: {node: '>=16', pnpm: '>=7'} - '@twa-dev/types@7.10.0': - resolution: {integrity: sha512-BXHyNLXy+cPbOZ2qQq5ArPKcP4kUfuX3YBSFT0XUxtMNWAzvyMuYAiq59UTfQ8OnELXlfChrAoIT3c2pujBtcQ==} + '@tronweb3/tronwallet-adapter-walletconnect@2.0.1': + resolution: {integrity: sha512-AduF1lhXy6SDUSTQfXl+5WpHAEUi/DR3SqHfpEFT8KInw+DAis/XqHjrjPN/98M+gwpHz0MvJ03BLe1UjuNU9w==} + engines: {node: '>=16', pnpm: '>=7'} + + '@tronweb3/tronwallet-adapters@1.2.4': + resolution: {integrity: sha512-MOIqh5zALr8lV1cArzJ6FIxuyD01JeoHGVYSiwvCyjHTUBfBPpyERREOvO9+HZvWhUv3bmgo5PqiwXvJG7ocAQ==} + engines: {node: '>=16', pnpm: '>=7'} + + '@tronweb3/walletconnect-tron@3.0.0': + resolution: {integrity: sha512-aYFbUsZHYumdGXt+1VN4mN9Cjr1+GWYr7cXOLawoQ1WqiHOlAiovSnsTpGhUFLn2FZV8m6rdnXTZ59S/0Mv9mw==} '@types/accept-language-parser@1.5.6': resolution: {integrity: sha512-lhSQUsAhAtbKjYgaw3f0c4EQKNQHFXhX87+OXUIqDHMkycvHGaqGskSRtnzysIUiqHPqNJ4BqI5SE++drsxx6A==} @@ -4318,6 +4428,9 @@ packages: '@types/node@20.11.21': resolution: {integrity: sha512-/ySDLGscFPNasfqStUuWWPfL78jompfIoVzLJPVVAHBh6rpG68+pI2Gk+fNLeI8/f1yPYL4s46EleVIc20F1Ow==} + '@types/node@22.7.5': + resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==} + '@types/normalize-package-data@2.4.1': resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -4636,6 +4749,23 @@ packages: '@vue/shared@3.4.38': resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==} + '@wagmi/chains@1.0.0': + resolution: {integrity: sha512-eNbqRWyHbivcMNq5tbXJks4NaOzVLHnNQauHPeE/EDT9AlpqzcrMc+v2T1/2Iw8zN4zgqB86NCsxeJHJs7+xng==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + + '@wagmi/connectors@3.1.11': + resolution: {integrity: sha512-wzxp9f9PtSUFjDUP/QDjc1t7HON4D8wrVKsw35ejdO8hToDpx1gU9lwH/47Zo/1zExGezQc392sjoHSszYd7OA==} + peerDependencies: + typescript: '>=5.0.4' + viem: '>=0.3.35' + peerDependenciesMeta: + typescript: + optional: true + '@wagmi/connectors@5.1.13': resolution: {integrity: sha512-Lvw3ClOQL8lJGn2cY2QJbqo0Gb6P30QtDCBMtpXwLUSnKnLvHq0d/aErJXEU3LdHtVJC9qwx9Siug4AUHtTK6w==} peerDependencies: @@ -4656,6 +4786,15 @@ packages: typescript: optional: true + '@wagmi/core@1.4.13': + resolution: {integrity: sha512-ytMCvXbBOgfDu9Qw67279wq/jNEe7EZLjLyekX7ROnvHRADqFr3lwZI6ih41UmtRZAmXAx8Ghyuqy154EjB5mQ==} + peerDependencies: + typescript: '>=5.0.4' + viem: '>=0.3.35' + peerDependenciesMeta: + typescript: + optional: true + '@wagmi/core@2.13.1': resolution: {integrity: sha512-6ZdgI6dYfpa+IZPU0DZ3XQEQVzs003tKCERzSUNkxmt5cwSMg0XB1kvF5vU9MuPP96K6IcGkqSwAtgCmM5uy2w==} peerDependencies: @@ -4703,6 +4842,9 @@ packages: '@walletconnect/browser-utils@1.8.0': resolution: {integrity: sha512-Wcqqx+wjxIo9fv6eBUFHPsW1y/bGWWRboni5dfD8PtOmrihrEpOCmvRJe4rfl7xgJW8Ea9UqKEaq0bIRLHlK4A==} + '@walletconnect/core@2.11.0': + resolution: {integrity: sha512-2Tjp5BCevI7dbmqo/OrCjX4tqgMqwJNQLlQAlphqPfvwlF9+tIu6pGcVbSN3U9zyXzWIZCeleqEaWUeSeET4Ew==} + '@walletconnect/core@2.14.0': resolution: {integrity: sha512-E/dgBM9q3judXnTfZQ5ILvDpeSdDpabBLsXtYXa3Nyc26cfNplfLJ2nXm9FgtTdhM1nZ7yx4+zDPiXawBRZl2g==} @@ -4710,9 +4852,18 @@ packages: resolution: {integrity: sha512-UlsnEMT5wwFvmxEjX8s4oju7R3zadxNbZgsFeHEsjh7uknY2zgmUe1Lfc5XU6zyPb1Jx7Nqpdx1KN485ee8ogw==} engines: {node: '>=18'} + '@walletconnect/crypto@1.0.3': + resolution: {integrity: sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g==} + + '@walletconnect/encoding@1.0.2': + resolution: {integrity: sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag==} + '@walletconnect/environment@1.0.1': resolution: {integrity: sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==} + '@walletconnect/ethereum-provider@2.11.0': + resolution: {integrity: sha512-YrTeHVjuSuhlUw7SQ6xBJXDuJ6iAC+RwINm9nVhoKYJSHAy3EVSJZOofMKrnecL0iRMtD29nj57mxAInIBRuZA==} + '@walletconnect/ethereum-provider@2.14.0': resolution: {integrity: sha512-Cc2/DCn85VciA10BrsNWFM//3VC1D8yjwrjfUKjGndLPDz0YIdAxTgYZViIlMjE0lzQC/DMvPYEAnGfW0O1Bwg==} @@ -4722,15 +4873,24 @@ packages: '@walletconnect/events@1.0.1': resolution: {integrity: sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==} + '@walletconnect/heartbeat@1.2.1': + resolution: {integrity: sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q==} + '@walletconnect/heartbeat@1.2.2': resolution: {integrity: sha512-uASiRmC5MwhuRuf05vq4AT48Pq8RMi876zV8rr8cV969uTOzWdB/k+Lj5yI2PBtB1bGQisGen7MM1GcZlQTBXw==} '@walletconnect/jsonrpc-http-connection@1.0.8': resolution: {integrity: sha512-+B7cRuaxijLeFDJUq5hAzNyef3e3tBDIxyaCNmFtjwnod5AGis3RToNqzFU33vpVcxFhofkpE7Cx+5MYejbMGw==} + '@walletconnect/jsonrpc-provider@1.0.13': + resolution: {integrity: sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g==} + '@walletconnect/jsonrpc-provider@1.0.14': resolution: {integrity: sha512-rtsNY1XqHvWj0EtITNeuf8PHMvlCLiS3EjQL+WOkxEOA4KPxsohFnBDeyPYiNm4ZvkQdLnece36opYidmtbmow==} + '@walletconnect/jsonrpc-types@1.0.3': + resolution: {integrity: sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw==} + '@walletconnect/jsonrpc-types@1.0.4': resolution: {integrity: sha512-P6679fG/M+wuWg9TY8mh6xFSdYnFyFjwFelxyISxMDrlbXokorEVXYOxiqEbrU3x1BmBoCAJJ+vtEaEoMlpCBQ==} @@ -4748,6 +4908,21 @@ packages: '@react-native-async-storage/async-storage': optional: true + '@walletconnect/legacy-client@2.0.0': + resolution: {integrity: sha512-v5L7rYk9loVnfvUf0mF+76bUPFaU5/Vh7mzL6/950CD/yoGdzYZ3Kj+L7mkC6HPMEGeQsBP1+sqBuiVGZ/aODA==} + + '@walletconnect/legacy-modal@2.0.0': + resolution: {integrity: sha512-jckNd8lMhm4X7dX9TDdxM3bXKJnaqkRs6K2Mo5j6GmbIF9Eyx40jZ5+q457RVxvM6ciZEDT5s1wBHWdWoOo+9Q==} + + '@walletconnect/legacy-provider@2.0.0': + resolution: {integrity: sha512-A8xPebMI1A+50HbWwTpFCbwP7G+1NGKdTKyg8BUUg3h3Y9JucpC1W6w/x0v1Xw7qFEqQnz74LoIN/A3ytH9xrQ==} + + '@walletconnect/legacy-types@2.0.0': + resolution: {integrity: sha512-sOVrA7HUdbI1OwKyPOQU0/DdvTSVFlsXWpAk2K2WvP2erTkBWPMTJq6cv2BmKdoJ3p6gLApT7sd+jHi3OF71uw==} + + '@walletconnect/legacy-utils@2.0.0': + resolution: {integrity: sha512-CPWxSVVXw0kgNCxvU126g4GiV3mzXmC8IPJ15twE46aJ1FX+RHEIfAzFMFz2F2+fEhBxL63A7dwNQKDXorRPcQ==} + '@walletconnect/logger@2.1.2': resolution: {integrity: sha512-aAb28I3S6pYXZHQm5ESB+V6rDqIYfsnHaQyzFbwUUBFY4H0OXx/YtTl8lvhUNhMMfb9UxbwEBS253TlXUYJWSw==} @@ -4768,6 +4943,9 @@ packages: resolution: {integrity: sha512-BueaFefaAi8mawE45eUtztg3ZFbsAH4DDXh1UNwdUlsvFMjqcYzLUG0xZvDd6z2eOpbgDg2N3bl6gF0KONj1dg==} deprecated: 'WalletConnect''s v1 SDKs are now deprecated. Please upgrade to a v2 SDK. For details see: https://docs.walletconnect.com/' + '@walletconnect/randombytes@1.0.3': + resolution: {integrity: sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw==} + '@walletconnect/relay-api@1.0.10': resolution: {integrity: sha512-tqrdd4zU9VBNqUaXXQASaexklv6A54yEyQQEXYOCr+Jz8Ket0dmPBDyg19LVSNUN2cipAghQc45/KVmfFJ0cYw==} @@ -4783,12 +4961,27 @@ packages: '@walletconnect/safe-json@1.0.2': resolution: {integrity: sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==} + '@walletconnect/sign-client@2.11.0': + resolution: {integrity: sha512-H2ukscibBS+6WrzQWh+WyVBqO5z4F5et12JcwobdwgHnJSlqIoZxqnUYYWNCI5rUR5UKsKWaUyto4AE9N5dw4Q==} + deprecated: Reliability and performance greatly improved - please see https://github.com/WalletConnect/walletconnect-monorepo/releases + '@walletconnect/sign-client@2.14.0': resolution: {integrity: sha512-UrB3S3eLjPYfBLCN3WJ5u7+WcZ8kFMe/QIDqLf76Jk6TaLwkSUy563LvnSw4KW/kA+/cY1KBSdUDfX1tzYJJXg==} '@walletconnect/sign-client@2.16.1': resolution: {integrity: sha512-s2Tx2n2duxt+sHtuWXrN9yZVaHaYqcEcjwlTD+55/vs5NUPlISf+fFmZLwSeX1kUlrSBrAuxPUcqQuRTKcjLOA==} + '@walletconnect/solana-adapter-ui@0.0.5': + resolution: {integrity: sha512-+OlqNR5AQkebDX3kohka7jL76AT4KiDUE2nqRO9JSSCJ3qW7YzTijCDTybVTV8Vlbs5re0t5cZEkHxBu8YBEoA==} + peerDependencies: + '@walletconnect/universal-provider': '>=2' + + '@walletconnect/solana-adapter@0.0.5': + resolution: {integrity: sha512-EWfh7u2F8ffPy261/PqAjzn35Tva+tfAAWpKvdg3csTyHIam+cLn8gTJDPZe+bsUJZk0i/BpIEN5rDUC5KD2XA==} + peerDependencies: + '@solana/wallet-adapter-base': 0.x + '@solana/web3.js': 1.x + '@walletconnect/time@1.0.2': resolution: {integrity: sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==} @@ -4796,18 +4989,33 @@ packages: resolution: {integrity: sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg==} deprecated: 'WalletConnect''s v1 SDKs are now deprecated. Please upgrade to a v2 SDK. For details see: https://docs.walletconnect.com/' + '@walletconnect/types@2.11.0': + resolution: {integrity: sha512-AB5b1lrEbCGHxqS2vqfCkIoODieH+ZAUp9rA1O2ftrhnqDJiJK983Df87JhYhECsQUBHHfALphA8ydER0q+9sw==} + + '@walletconnect/types@2.12.0': + resolution: {integrity: sha512-uhB3waGmujQVJcPgJvGOpB8RalgYSBT+HpmVbfl4Qe0xJyqpRUo4bPjQa0UYkrHaW20xIw94OuP4+FMLYdeemg==} + '@walletconnect/types@2.14.0': resolution: {integrity: sha512-vevMi4jZLJ55vLuFOicQFmBBbLyb+S0sZS4IsaBdZkQflfGIq34HkN13c/KPl4Ye0aoR4/cUcUSitmGIzEQM5g==} '@walletconnect/types@2.16.1': resolution: {integrity: sha512-9P4RG4VoDEF+yBF/n2TF12gsvT/aTaeZTVDb/AOayafqiPnmrQZMKmNCJJjq1sfdsDcHXFcZWMGsuCeSJCmrXA==} + '@walletconnect/universal-provider@2.11.0': + resolution: {integrity: sha512-zgJv8jDvIMP4Qse/D9oIRXGdfoNqonsrjPZanQ/CHNe7oXGOBiQND2IIeX+tS0H7uNA0TPvctljCLiIN9nw4eA==} + '@walletconnect/universal-provider@2.14.0': resolution: {integrity: sha512-Mr8uoTmD6H0+Hh+3gxBu4l3T2uP/nNPR02sVtwEujNum++F727mMk+ifPRIpkVo21V/bvXFEy8sHTs5hqyq5iA==} '@walletconnect/universal-provider@2.16.1': resolution: {integrity: sha512-q/tyWUVNenizuClEiaekx9FZj/STU1F3wpDK4PUIh3xh+OmUI5fw2dY3MaNDjyb5AyrS0M8BuQDeuoSuOR/Q7w==} + '@walletconnect/utils@2.11.0': + resolution: {integrity: sha512-hxkHPlTlDQILHfIKXlmzgNJau/YcSBC3XHUSuZuKZbNEw3duFT6h6pm3HT/1+j1a22IG05WDsNBuTCRkwss+BQ==} + + '@walletconnect/utils@2.12.0': + resolution: {integrity: sha512-GIpfHUe1Bjp1Tjda0SkJEizKOT2biuv7VPFnKsOLT1T+8QxEP9NruC+K2UUEvijS1Qr/LKH9P5004RYNgrch+w==} + '@walletconnect/utils@2.14.0': resolution: {integrity: sha512-vRVomYQEtEAyCK2c5bzzEvtgxaGGITF8mWuIL+WYSAMyEJLY97mirP2urDucNwcUczwxUgI+no9RiNFbUHreQQ==} @@ -4826,6 +5034,33 @@ packages: '@walletconnect/window-metadata@1.0.1': resolution: {integrity: sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==} + '@web3modal/common@5.0.11': + resolution: {integrity: sha512-xI6FKrk4/TofM27e0R5F0e7OWMa0YECJshITgFVrX57ZPbgw0O8bTTgLa0yxYG3A5xMnuz6dOYjAAQV+EXrr9w==} + + '@web3modal/core@5.0.11': + resolution: {integrity: sha512-YX5msOOEmB0HYwdDt3sF8JCMyTfkzCV9tMWPMQqBdFT8p+9lPaW4JCmqYwJMI9AhUiPpZWc6ubFit62+OzBAQQ==} + + '@web3modal/polyfills@5.0.11': + resolution: {integrity: sha512-F2pC4egFTwlGyyK6PuW1lEJwdl1NK+9AfiO9aiR58RXzj4uFStPuO4wzOGONz+5Kv8lM1ZiooRD0pMcJmsyzLw==} + + '@web3modal/scaffold-ui@5.0.11': + resolution: {integrity: sha512-QHi980YGjFW335VVLQ9lQasH347xrdHomtvU1P1jXGg3wygDRs57rGRy6kK2yiLJomom02YGI+H1Tl8JvnAtZg==} + + '@web3modal/scaffold-utils@5.0.11': + resolution: {integrity: sha512-3/fEndFBX9tNf/OpbE8zny9XRbGPlKojDlrkhz6ygcF2Dx0458ykpB342OtZPs3CjnPnZKRuo+H2y11KFo1IdQ==} + + '@web3modal/scaffold@5.0.11': + resolution: {integrity: sha512-QoKI1srTvUVem9zUGJ//d0rq7xxQhyulC9CeaSusa6roljS6VP65aqPvhEvtudK5LWbqpLoK6WtLrIdVVj3DFg==} + + '@web3modal/siwe@5.0.11': + resolution: {integrity: sha512-dQZFxhoyphINz2H6Y/t8/zalErulV46NGk+U2z7Hq6H5c8XKBC4dCIDFem62+kDk07QKgg3lG+sUlf4ZU4YgRA==} + + '@web3modal/ui@5.0.11': + resolution: {integrity: sha512-Tm5SU7GGymvTgqRBCqMYl/I6Kou8hOLdYVhQIfghFEGd/TH0kTdAdjH30a65n/sxTmW3LC/CoflC6FCGP0TOcA==} + + '@web3modal/wallet@5.0.11': + resolution: {integrity: sha512-8lsDCfsJS23UXllVyg9uB/RIWi+2k/g3hc4QN8Z9HGVhJREjk/cNc7e+mWWI077PDsplXAjnw3sK864O12v7Xg==} + '@webassemblyjs/ast@1.11.1': resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} @@ -4986,6 +5221,26 @@ packages: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true + abitype@0.8.7: + resolution: {integrity: sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.19.1 + peerDependenciesMeta: + zod: + optional: true + + abitype@0.9.8: + resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.19.1 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + abitype@1.0.5: resolution: {integrity: sha512-YzDhti7cjlfaBhHutMaboYB21Ha3rXR9QTkNJFzYC4kC8YclaiwPBBBJY8ejFdu2wnJeZCVZSMlQJ7fi8S6hsw==} peerDependencies: @@ -5046,6 +5301,12 @@ packages: aes-js@3.0.0: resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} + aes-js@3.1.2: + resolution: {integrity: sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==} + + aes-js@4.0.0-beta.5: + resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} + agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -5080,6 +5341,9 @@ packages: ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + alchemy-sdk@3.4.3: + resolution: {integrity: sha512-dR1iiJ2jYXk6OJN1/K88s2L+zH9qIYDPymXWliDZPTQWc6NHvnFSBk/ENvL29L+XVcPtPsoTDuJr4V1CvvZZ4g==} + ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} @@ -5333,6 +5597,9 @@ packages: axios@1.6.8: resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} + axios@1.7.7: + resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} + axobject-query@3.1.1: resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} @@ -5411,6 +5678,9 @@ packages: base-x@4.0.0: resolution: {integrity: sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==} + base-x@5.0.0: + resolution: {integrity: sha512-sMW3VGSX1QWVFA6l8U62MLKz29rRfpTlYdCqLdpLo1/Yd4zZwSbnUaDfciIAowAqvq7YFnWq9hrhdg1KYgc1lQ==} + base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -5568,6 +5838,9 @@ packages: bs58@5.0.0: resolution: {integrity: sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==} + bs58@6.0.0: + resolution: {integrity: sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==} + bs58check@2.1.2: resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==} @@ -6136,6 +6409,10 @@ packages: cyclist@1.0.1: resolution: {integrity: sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==} + d@1.0.2: + resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} + engines: {node: '>=0.12'} + damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} @@ -6158,6 +6435,9 @@ packages: dateformat@4.6.3: resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} + dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} @@ -6419,6 +6699,9 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} + encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} @@ -6519,10 +6802,17 @@ packages: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} + es5-ext@0.10.64: + resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} + engines: {node: '>=0.10'} + es5-shim@4.6.5: resolution: {integrity: sha512-vfQ4UAai8szn0sAubCy97xnZ4sJVDD1gt/Grn736hg8D7540wemIb1YPrYZSTqlM2H69EQX1or4HU/tSwRTI3w==} engines: {node: '>=0.4.0'} + es6-iterator@2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + es6-promise@4.2.8: resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} @@ -6532,6 +6822,10 @@ packages: es6-shim@0.35.6: resolution: {integrity: sha512-EmTr31wppcaIAgblChZiuN/l9Y7DPyw8Xtbg7fIVngn6zMW+IEBJDJngeKC3x6wr0V/vcA2wqeFnaw1bFJbDdA==} + es6-symbol@3.1.4: + resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} + engines: {node: '>=0.12'} + esbuild@0.18.20: resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} engines: {node: '>=12'} @@ -6731,6 +7025,10 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true + esniff@2.0.1: + resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} + engines: {node: '>=0.10'} + espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6791,9 +7089,16 @@ packages: ethers@5.7.2: resolution: {integrity: sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==} + ethers@6.13.4: + resolution: {integrity: sha512-21YtnZVg4/zKkCQPjrDj38B1r4nQvTZLopUGMLQ1ePU2zV/joCfDC3t3iKQjWRzjjjbzR+mdAIoikeBRNkdllA==} + engines: {node: '>=14.0.0'} + ev-emitter@2.1.2: resolution: {integrity: sha512-jQ5Ql18hdCQ4qS+RCrbLfz1n+Pags27q5TwMKvZyhp5hh2UULUYZUy1keqj6k6SYsdqIYjnmz7xyyEY0V67B8Q==} + event-emitter@0.3.5: + resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} + event-target-shim@5.0.1: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} @@ -6801,6 +7106,9 @@ packages: eventemitter2@6.4.9: resolution: {integrity: sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==} + eventemitter3@3.1.2: + resolution: {integrity: sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==} + eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} @@ -6846,6 +7154,9 @@ packages: resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} engines: {node: '>= 0.10.0'} + ext@1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} @@ -7521,6 +7832,10 @@ packages: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + icss-utils@4.1.1: resolution: {integrity: sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==} engines: {node: '>= 6'} @@ -7965,6 +8280,16 @@ packages: peerDependencies: ws: '*' + isomorphic-ws@5.0.0: + resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} + peerDependencies: + ws: '*' + + isows@1.0.3: + resolution: {integrity: sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==} + peerDependencies: + ws: '*' + isows@1.0.4: resolution: {integrity: sha512-hEzjY+x9u9hPmBom9IIAqdJCwNLax+xrPb51vEPpERoFlIxgmZcHzsT5jKG06nvInKOBGvReAVz80Umed5CczQ==} peerDependencies: @@ -8265,12 +8590,21 @@ packages: lit-element@3.3.1: resolution: {integrity: sha512-Gl+2409uXWbf7n6cCl7Kzasm7zjT9xmdwi2BhLNi70sRKAgRkqueDu5mSIH3hPYMM0/vqBCdPXod3NbGkRA2ww==} + lit-element@4.1.1: + resolution: {integrity: sha512-HO9Tkkh34QkTeUmEdNYhMT8hzLid7YlMlATSi1q4q17HE5d9mrrEHJ/o8O2D0cMi182zK1F3v7x0PWFjrhXFew==} + lit-html@2.8.0: resolution: {integrity: sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==} + lit-html@3.2.1: + resolution: {integrity: sha512-qI/3lziaPMSKsrwlxH/xMgikhQ0EGOX2ICU73Bi/YHFvz2j/yMCIrw4+puF2IpQ4+upd3EWbvnHM9+PnJn48YA==} + lit@2.8.0: resolution: {integrity: sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==} + lit@3.1.0: + resolution: {integrity: sha512-rzo/hmUqX8zmOdamDAeydfjsGXbbdtAFqMhmocnh2j9aDYqbu0fjXygjCa0T99Od9VQ/2itwaGrjZz/ZELVl7w==} + load-json-file@1.1.0: resolution: {integrity: sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==} engines: {node: '>=0.10.0'} @@ -8704,6 +9038,9 @@ packages: nested-error-stacks@2.1.0: resolution: {integrity: sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==} + next-tick@1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + next@14.1.4: resolution: {integrity: sha512-1WTaXeSrUwlz/XcnhGTY7+8eiaFvdet5z9u3V2jb+Ek1vFo0VhHKSAIJvDWfQpttWjnyw14kBeq28TPq7bTeEQ==} engines: {node: '>=18.17.0'} @@ -9480,6 +9817,10 @@ packages: resolution: {integrity: sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==} engines: {node: '>=0.6'} + query-string@6.14.1: + resolution: {integrity: sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==} + engines: {node: '>=6'} + query-string@7.1.3: resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} engines: {node: '>=6'} @@ -10459,6 +10800,9 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + sturdy-websocket@0.2.1: + resolution: {integrity: sha512-NnzSOEKyv4I83qbuKw9ROtJrrT6Z/Xt7I0HiP/e6H6GnpeTDvzwGIGeJ8slai+VwODSHQDooW2CAilJwT9SpRg==} + style-loader@1.3.0: resolution: {integrity: sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==} engines: {node: '>= 8.9.0'} @@ -10712,6 +11056,9 @@ packages: resolution: {integrity: sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==} deprecated: Use String.prototype.trim() instead + tronweb@6.0.0: + resolution: {integrity: sha512-mIh00KG00Iu80UT1SLDgNEBLzWiR24WnttlObP8B9eQyNJ6mg4oD2gE+vG0cd6FcHL9DV6Jd18gKeBp4y3Y7Ew==} + trough@1.0.5: resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} @@ -10809,6 +11156,9 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} + type@2.7.3: + resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} + typed-array-buffer@1.0.2: resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} @@ -10887,6 +11237,9 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + unenv@1.8.0: resolution: {integrity: sha512-uIGbdCWZfhRRmyKj1UioCepQ0jpq638j/Cf0xFTn4zD1nGJ2lSdzYHLzfdXN791oo/0juUiSWW1fBklXMTsuqg==} @@ -11197,6 +11550,17 @@ packages: vfile@4.2.1: resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} + viem@0.3.50: + resolution: {integrity: sha512-s+LxCYZTR9F/qPk1/n1YDVAX9vSeVz7GraqBZWGrDuenCJxo9ArCoIceJ6ksI0WwSeNzcZ0VVbD/kWRzTxkipw==} + + viem@1.21.4: + resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + viem@2.21.14: resolution: {integrity: sha512-uM6XmY9Q/kJRVSopJAGsakmtNDpk/EswqXUzwOp9DzhGuwgpWtw2MgwpfFdIyqBDFIw+TTypCIUTcwJSgEYSzA==} peerDependencies: @@ -11396,6 +11760,10 @@ packages: resolution: {integrity: sha512-TbrbBmiQBL9n0/5bvDdORc6ZfRY/Z7JnEj+EYOD1ghseZdpJ+nF2yx14k3LgQKc7JZnG7HAcL+zHnY25So9d7A==} engines: {node: '>=6.0.0', npm: '>=3.10.0'} + websocket@1.0.35: + resolution: {integrity: sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q==} + engines: {node: '>=4.0.0'} + whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -11499,6 +11867,30 @@ packages: utf-8-validate: optional: true + ws@8.12.0: + resolution: {integrity: sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.13.0: + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + ws@8.17.1: resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} engines: {node: '>=10.0.0'} @@ -11530,6 +11922,10 @@ packages: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} + yaeti@0.0.6: + resolution: {integrity: sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==} + engines: {node: '>=0.10.32'} + yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} @@ -11583,6 +11979,9 @@ packages: engines: {node: '>=8.0.0'} hasBin: true + zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + zustand@4.4.1: resolution: {integrity: sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw==} engines: {node: '>=12.7.0'} @@ -11607,6 +12006,10 @@ snapshots: '@adraffy/ens-normalize@1.10.0': {} + '@adraffy/ens-normalize@1.10.1': {} + + '@adraffy/ens-normalize@1.9.0': {} + '@ampproject/remapping@2.2.1': dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -11661,7 +12064,7 @@ snapshots: '@babel/helpers': 7.24.8 '@babel/parser': 7.25.3 '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@9.4.0) '@babel/types': 7.25.2 convert-source-map: 1.8.0 debug: 4.3.4(supports-color@9.4.0) @@ -11684,7 +12087,27 @@ snapshots: '@babel/helpers': 7.24.8 '@babel/parser': 7.25.3 '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@9.4.0) + '@babel/types': 7.25.2 + convert-source-map: 2.0.0 + debug: 4.3.4(supports-color@9.4.0) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/core@7.24.9(supports-color@9.4.0)': + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.0 + '@babel/helper-compilation-targets': 7.24.8 + '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/helpers': 7.24.8 + '@babel/parser': 7.25.3 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.3(supports-color@9.4.0) '@babel/types': 7.25.2 convert-source-map: 2.0.0 debug: 4.3.4(supports-color@9.4.0) @@ -11726,19 +12149,38 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 + '@babel/helper-create-class-features-plugin@7.25.0(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.8(supports-color@9.4.0) + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7(supports-color@9.4.0) + '@babel/traverse': 7.25.3(supports-color@9.4.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + '@babel/helper-create-class-features-plugin@7.25.0(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.8 + '@babel/helper-member-expression-to-functions': 7.24.8(supports-color@9.4.0) '@babel/helper-optimise-call-expression': 7.24.7 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.24.9) - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7(supports-color@9.4.0) + '@babel/traverse': 7.25.3(supports-color@9.4.0) semver: 6.3.1 transitivePeerDependencies: - supports-color + '@babel/helper-create-regexp-features-plugin@7.20.5(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-annotate-as-pure': 7.24.7 + regexpu-core: 5.2.2 + '@babel/helper-create-regexp-features-plugin@7.20.5(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -11749,9 +12191,21 @@ snapshots: dependencies: '@babel/core': 7.24.9 '@babel/helper-compilation-targets': 7.24.8 - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.3(supports-color@9.4.0) + debug: 4.3.4(supports-color@9.4.0) + lodash.debounce: 4.0.8 + resolve: 1.22.8 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-compilation-targets': 7.24.8 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 debug: 4.3.4(supports-color@9.4.0) lodash.debounce: 4.0.8 resolve: 1.22.8 @@ -11788,16 +12242,16 @@ snapshots: dependencies: '@babel/types': 7.25.2 - '@babel/helper-member-expression-to-functions@7.24.8': + '@babel/helper-member-expression-to-functions@7.24.8(supports-color@9.4.0)': dependencies: - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@9.4.0) '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color - '@babel/helper-module-imports@7.24.7': + '@babel/helper-module-imports@7.24.7(supports-color@9.4.0)': dependencies: - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@9.4.0) '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color @@ -11806,8 +12260,19 @@ snapshots: dependencies: '@babel/core': 7.12.9 '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-simple-access': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@9.4.0) + '@babel/helper-simple-access': 7.24.7(supports-color@9.4.0) + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.24.9(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@9.4.0) + '@babel/helper-simple-access': 7.24.7(supports-color@9.4.0) '@babel/helper-split-export-declaration': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 transitivePeerDependencies: @@ -11817,8 +12282,8 @@ snapshots: dependencies: '@babel/core': 7.24.9 '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-simple-access': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@9.4.0) + '@babel/helper-simple-access': 7.24.7(supports-color@9.4.0) '@babel/helper-split-export-declaration': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 transitivePeerDependencies: @@ -11832,35 +12297,54 @@ snapshots: '@babel/helper-plugin-utils@7.24.8': {} + '@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-wrap-function': 7.20.5(supports-color@9.4.0) + '@babel/types': 7.25.2 + transitivePeerDependencies: + - supports-color + '@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-wrap-function': 7.20.5 + '@babel/helper-wrap-function': 7.20.5(supports-color@9.4.0) '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color + '@babel/helper-replace-supers@7.25.0(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-member-expression-to-functions': 7.24.8(supports-color@9.4.0) + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/traverse': 7.25.3(supports-color@9.4.0) + transitivePeerDependencies: + - supports-color + '@babel/helper-replace-supers@7.25.0(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 - '@babel/helper-member-expression-to-functions': 7.24.8 + '@babel/helper-member-expression-to-functions': 7.24.8(supports-color@9.4.0) '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@9.4.0) transitivePeerDependencies: - supports-color - '@babel/helper-simple-access@7.24.7': + '@babel/helper-simple-access@7.24.7(supports-color@9.4.0)': dependencies: - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@9.4.0) '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color - '@babel/helper-skip-transparent-expression-wrappers@7.24.7': + '@babel/helper-skip-transparent-expression-wrappers@7.24.7(supports-color@9.4.0)': dependencies: - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@9.4.0) '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color @@ -11875,11 +12359,11 @@ snapshots: '@babel/helper-validator-option@7.24.8': {} - '@babel/helper-wrap-function@7.20.5': + '@babel/helper-wrap-function@7.20.5(supports-color@9.4.0)': dependencies: '@babel/helper-function-name': 7.24.7 '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@9.4.0) '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color @@ -11900,17 +12384,41 @@ snapshots: dependencies: '@babel/types': 7.25.2 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.18.9(@babel/core@7.24.9)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.18.9(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': dependencies: - '@babel/core': 7.24.9 + '@babel/core': 7.24.9(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.9) + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7(supports-color@9.4.0) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.18.9(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7(supports-color@9.4.0) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.9) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-async-generator-functions@7.20.1(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.9(supports-color@9.4.0)) transitivePeerDependencies: - supports-color @@ -11924,6 +12432,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -11932,6 +12448,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-proposal-class-static-block@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.9(supports-color@9.4.0)) + transitivePeerDependencies: + - supports-color + '@babel/plugin-proposal-class-static-block@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -11952,6 +12477,12 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -11964,30 +12495,60 @@ snapshots: '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-export-default-from': 7.16.7(@babel/core@7.24.9) + '@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-proposal-logical-assignment-operators@7.18.9(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-proposal-logical-assignment-operators@7.18.9(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -12001,6 +12562,15 @@ snapshots: '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9) '@babel/plugin-transform-parameters': 7.20.5(@babel/core@7.12.9) + '@babel/plugin-proposal-object-rest-spread@7.20.2(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/compat-data': 7.23.3 + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-compilation-targets': 7.24.8 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-parameters': 7.20.5(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-proposal-object-rest-spread@7.20.2(@babel/core@7.24.9)': dependencies: '@babel/compat-data': 7.23.3 @@ -12010,21 +12580,44 @@ snapshots: '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.9) '@babel/plugin-transform-parameters': 7.20.5(@babel/core@7.24.9) + '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7(supports-color@9.4.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9(supports-color@9.4.0)) + transitivePeerDependencies: + - supports-color + '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7(supports-color@9.4.0) '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9) transitivePeerDependencies: - supports-color + '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -12033,6 +12626,16 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-proposal-private-property-in-object@7.20.5(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.9(supports-color@9.4.0)) + transitivePeerDependencies: + - supports-color + '@babel/plugin-proposal-private-property-in-object@7.20.5(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -12043,22 +12646,43 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -12069,6 +12693,11 @@ snapshots: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -12079,6 +12708,11 @@ snapshots: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -12089,11 +12723,21 @@ snapshots: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -12104,21 +12748,41 @@ snapshots: '@babel/core': 7.12.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -12129,60 +12793,129 @@ snapshots: '@babel/core': 7.12.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-arrow-functions@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-arrow-functions@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-async-to-generator@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-module-imports': 7.24.7(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-async-to-generator@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.24.9) transitivePeerDependencies: - supports-color + '@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-block-scoping@7.20.5(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-block-scoping@7.20.5(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-classes@7.20.2(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-compilation-targets': 7.24.8 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/helper-split-export-declaration': 7.24.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-classes@7.20.2(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -12198,27 +12931,54 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-computed-properties@7.18.9(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-computed-properties@7.18.9(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-destructuring@7.20.2(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-destructuring@7.20.2(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -12231,11 +12991,23 @@ snapshots: '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-for-of@7.18.8(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-for-of@7.18.8(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-function-name@7.18.9(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-compilation-targets': 7.24.8 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-function-name@7.18.9(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -12243,16 +13015,34 @@ snapshots: '@babel/helper-function-name': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-literals@7.18.9(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-literals@7.18.9(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-modules-amd@7.19.6(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-modules-amd@7.19.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -12261,12 +13051,31 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-simple-access': 7.24.7(supports-color@9.4.0) + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-simple-access': 7.24.7 + '@babel/helper-simple-access': 7.24.7(supports-color@9.4.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.19.6(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 transitivePeerDependencies: - supports-color @@ -12280,6 +13089,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -12288,17 +13105,36 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-new-target@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-new-target@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-object-super@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-object-super@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -12312,11 +13148,21 @@ snapshots: '@babel/core': 7.12.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-parameters@7.20.5(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-parameters@7.20.5(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -12348,7 +13194,7 @@ snapshots: dependencies: '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.9) '@babel/types': 7.25.2 @@ -12361,12 +13207,23 @@ snapshots: '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + regenerator-transform: 0.15.1 + '@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 regenerator-transform: 0.15.1 + '@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -12375,7 +13232,7 @@ snapshots: '@babel/plugin-transform-runtime@7.17.0(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.24.8 babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.24.9) babel-plugin-polyfill-corejs3: 0.5.3(@babel/core@7.24.9) @@ -12384,66 +13241,197 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-spread@7.19.0(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7(supports-color@9.4.0) + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-spread@7.19.0(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color + '@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7(supports-color@9.4.0) + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.9(supports-color@9.4.0)) + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7(supports-color@9.4.0) '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.9) transitivePeerDependencies: - supports-color + '@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.8 - '@babel/preset-env@7.18.10(@babel/core@7.24.9)': + '@babel/preset-env@7.18.10(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': dependencies: '@babel/compat-data': 7.24.9 - '@babel/core': 7.24.9 + '@babel/core': 7.24.9(supports-color@9.4.0) '@babel/helper-compilation-targets': 7.24.8 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.24.9) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.18.9(@babel/core@7.24.9) - '@babel/plugin-proposal-async-generator-functions': 7.20.1(@babel/core@7.24.9) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.18.9(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/plugin-proposal-async-generator-functions': 7.20.1(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/plugin-proposal-class-static-block': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-proposal-logical-assignment-operators': 7.18.9(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-proposal-object-rest-spread': 7.20.2(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/plugin-proposal-private-property-in-object': 7.20.5(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-arrow-functions': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-async-to-generator': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-block-scoping': 7.20.5(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-classes': 7.20.2(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/plugin-transform-computed-properties': 7.18.9(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-destructuring': 7.20.2(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-for-of': 7.18.8(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-modules-amd': 7.19.6(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/plugin-transform-modules-systemjs': 7.19.6(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/plugin-transform-parameters': 7.20.5(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-regenerator': 7.20.5(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-spread': 7.19.0(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/preset-modules': 0.1.5(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/types': 7.25.2 + babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + babel-plugin-polyfill-corejs3: 0.5.3(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + core-js-compat: 3.26.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-env@7.18.10(@babel/core@7.24.9)': + dependencies: + '@babel/compat-data': 7.24.9 + '@babel/core': 7.24.9 + '@babel/helper-compilation-targets': 7.24.8 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.24.9) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.18.9(@babel/core@7.24.9) + '@babel/plugin-proposal-async-generator-functions': 7.20.1(@babel/core@7.24.9) '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.9) '@babel/plugin-proposal-class-static-block': 7.18.6(@babel/core@7.24.9) '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.24.9) @@ -12522,6 +13510,15 @@ snapshots: '@babel/helper-validator-option': 7.24.8 '@babel/plugin-transform-flow-strip-types': 7.24.7(@babel/core@7.24.9) + '@babel/preset-modules@0.1.5(@babel/core@7.24.9(supports-color@9.4.0))': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/types': 7.25.2 + esutils: 2.0.3 + '@babel/preset-modules@0.1.5(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -12543,6 +13540,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/preset-typescript@7.24.7(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0)': + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.9(supports-color@9.4.0)) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + transitivePeerDependencies: + - supports-color + '@babel/preset-typescript@7.24.7(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 @@ -12577,7 +13585,7 @@ snapshots: '@babel/parser': 7.25.3 '@babel/types': 7.25.2 - '@babel/traverse@7.25.3': + '@babel/traverse@7.25.3(supports-color@9.4.0)': dependencies: '@babel/code-frame': 7.24.7 '@babel/generator': 7.25.0 @@ -12599,6 +13607,16 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} + '@bitget-wallet/web3-sdk@0.0.8(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)': + dependencies: + '@metamask/safe-event-emitter': 3.1.1 + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) + eventemitter3: 5.0.1 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + '@chakra-ui/accordion@2.2.0(@chakra-ui/system@2.5.8(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1))(@types/react@18.3.8)(react@18.3.1))(react@18.3.1))(framer-motion@10.2.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@chakra-ui/descendant': 3.0.14(react@18.3.1) @@ -12706,7 +13724,7 @@ snapshots: '@chakra-ui/css-reset@2.1.2(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1))(react@18.3.1)': dependencies: - '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1) + '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) react: 18.3.1 '@chakra-ui/descendant@3.0.14(react@18.3.1)': @@ -12929,8 +13947,8 @@ snapshots: '@chakra-ui/react-env': 3.0.0(react@18.3.1) '@chakra-ui/system': 2.5.8(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1))(@types/react@18.3.8)(react@18.3.1))(react@18.3.1) '@chakra-ui/utils': 2.0.15 - '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1))(@types/react@18.3.8)(react@18.3.1) + '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0))(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -13106,8 +14124,8 @@ snapshots: '@chakra-ui/transition': 2.0.16(framer-motion@10.2.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@chakra-ui/utils': 2.0.15 '@chakra-ui/visually-hidden': 2.0.15(@chakra-ui/system@2.5.8(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1))(@types/react@18.3.8)(react@18.3.1))(react@18.3.1))(react@18.3.1) - '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1))(@types/react@18.3.8)(react@18.3.1) + '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0))(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) framer-motion: 10.2.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -13200,8 +14218,8 @@ snapshots: '@chakra-ui/styled-system': 2.9.1 '@chakra-ui/theme-utils': 2.0.18 '@chakra-ui/utils': 2.0.15 - '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1))(@types/react@18.3.8)(react@18.3.1) + '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0))(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) react: 18.3.1 react-fast-compare: 3.2.1 @@ -13315,12 +14333,12 @@ snapshots: exec-sh: 0.3.6 minimist: 1.2.6 - '@coinbase/wallet-sdk@3.9.3': + '@coinbase/wallet-sdk@3.9.3(supports-color@9.4.0)': dependencies: bn.js: 5.2.1 buffer: 6.0.3 clsx: 1.2.1 - eth-block-tracker: 7.1.0 + eth-block-tracker: 7.1.0(supports-color@9.4.0) eth-json-rpc-filters: 6.0.1 eventemitter3: 5.0.1 keccak: 3.0.4 @@ -13329,6 +14347,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@coinbase/wallet-sdk@4.0.3': + dependencies: + buffer: 6.0.3 + clsx: 1.2.1 + eventemitter3: 5.0.1 + keccak: 3.0.4 + preact: 10.23.1 + sha.js: 2.4.11 + '@coinbase/wallet-sdk@4.0.4': dependencies: buffer: 6.0.3 @@ -13343,9 +14370,9 @@ snapshots: '@discoveryjs/json-ext@0.5.6': {} - '@emotion/babel-plugin@11.12.0': + '@emotion/babel-plugin@11.12.0(supports-color@9.4.0)': dependencies: - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@9.4.0) '@babel/runtime': 7.25.0 '@emotion/hash': 0.9.2 '@emotion/memoize': 0.9.0 @@ -13367,9 +14394,9 @@ snapshots: '@emotion/weak-memoize': 0.4.0 stylis: 4.2.0 - '@emotion/css@11.13.0': + '@emotion/css@11.13.0(supports-color@9.4.0)': dependencies: - '@emotion/babel-plugin': 11.12.0 + '@emotion/babel-plugin': 11.12.0(supports-color@9.4.0) '@emotion/cache': 11.13.1 '@emotion/serialize': 1.3.0 '@emotion/sheet': 1.4.0 @@ -13393,10 +14420,10 @@ snapshots: '@emotion/memoize@0.9.0': {} - '@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1)': + '@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0)': dependencies: '@babel/runtime': 7.25.0 - '@emotion/babel-plugin': 11.12.0 + '@emotion/babel-plugin': 11.12.0(supports-color@9.4.0) '@emotion/cache': 11.13.1 '@emotion/serialize': 1.3.2 '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1) @@ -13427,12 +14454,12 @@ snapshots: '@emotion/sheet@1.4.0': {} - '@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1))(@types/react@18.3.8)(react@18.3.1)': + '@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0))(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0)': dependencies: '@babel/runtime': 7.25.0 - '@emotion/babel-plugin': 11.12.0 + '@emotion/babel-plugin': 11.12.0(supports-color@9.4.0) '@emotion/is-prop-valid': 1.3.0 - '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1) + '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) '@emotion/serialize': 1.3.0 '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1) '@emotion/utils': 1.4.0 @@ -13595,6 +14622,11 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true + '@eslint-community/eslint-utils@4.4.0(eslint@8.47.0(supports-color@9.4.0))': + dependencies: + eslint: 8.47.0(supports-color@9.4.0) + eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils@4.4.0(eslint@8.47.0)': dependencies: eslint: 8.47.0 @@ -13604,7 +14636,7 @@ snapshots: '@eslint-community/regexpp@4.6.2': {} - '@eslint/eslintrc@2.1.2': + '@eslint/eslintrc@2.1.2(supports-color@9.4.0)': dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@9.4.0) @@ -13982,10 +15014,10 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@fractalwagmi/solana-wallet-adapter@0.1.1(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@fractalwagmi/solana-wallet-adapter@0.1.1(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@fractalwagmi/popup-connection': 1.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) bs58: 5.0.0 transitivePeerDependencies: - '@solana/web3.js' @@ -13994,7 +15026,7 @@ snapshots: '@gar/promisify@1.1.3': {} - '@humanwhocodes/config-array@0.11.10': + '@humanwhocodes/config-array@0.11.10(supports-color@9.4.0)': dependencies: '@humanwhocodes/object-schema': 1.2.1 debug: 4.3.4(supports-color@9.4.0) @@ -14055,12 +15087,12 @@ snapshots: '@types/yargs': 15.0.14 chalk: 4.1.2 - '@jnwng/walletconnect-solana@0.2.0(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(utf-8-validate@5.0.9)': + '@jnwng/walletconnect-solana@0.2.0(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9)': dependencies: - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) '@walletconnect/qrcode-modal': 1.8.0 - '@walletconnect/sign-client': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@walletconnect/utils': 2.14.0(@react-native-async-storage/async-storage@1.24.0) + '@walletconnect/sign-client': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@walletconnect/utils': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) bs58: 5.0.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -14134,12 +15166,12 @@ snapshots: rxjs: 6.6.7 typescript: 4.9.5 - '@keystonehq/sol-keyring@0.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.9)': + '@keystonehq/sol-keyring@0.3.1(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)': dependencies: '@keystonehq/bc-ur-registry': 0.5.5 '@keystonehq/bc-ur-registry-sol': 0.3.1 '@keystonehq/sdk': 0.13.1 - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) bs58: 5.0.0 uuid: 8.3.2 transitivePeerDependencies: @@ -14154,8 +15186,21 @@ snapshots: rxjs: 6.6.7 semver: 7.6.3 + '@ledgerhq/devices@8.4.4': + dependencies: + '@ledgerhq/errors': 6.19.1 + '@ledgerhq/logs': 6.12.0 + rxjs: 7.8.1 + semver: 7.6.3 + '@ledgerhq/errors@6.18.0': {} + '@ledgerhq/errors@6.19.1': {} + + '@ledgerhq/hw-app-trx@6.29.4': + dependencies: + '@ledgerhq/hw-transport': 6.31.4 + '@ledgerhq/hw-transport-webhid@6.27.1': dependencies: '@ledgerhq/devices': 6.27.1 @@ -14169,14 +15214,27 @@ snapshots: '@ledgerhq/errors': 6.18.0 events: 3.3.0 + '@ledgerhq/hw-transport@6.31.4': + dependencies: + '@ledgerhq/devices': 8.4.4 + '@ledgerhq/errors': 6.19.1 + '@ledgerhq/logs': 6.12.0 + events: 3.3.0 + '@ledgerhq/logs@6.12.0': {} '@lit-labs/ssr-dom-shim@1.1.0': {} + '@lit-labs/ssr-dom-shim@1.2.1': {} + '@lit/reactive-element@1.6.1': dependencies: '@lit-labs/ssr-dom-shim': 1.1.0 + '@lit/reactive-element@2.0.4': + dependencies: + '@lit-labs/ssr-dom-shim': 1.2.1 + '@ljharb/through@2.3.13': dependencies: call-bind: 1.0.7 @@ -14213,11 +15271,11 @@ snapshots: '@mdx-js/util@1.6.22': {} - '@metamask/eth-json-rpc-provider@1.0.1': + '@metamask/eth-json-rpc-provider@1.0.1(supports-color@9.4.0)': dependencies: - '@metamask/json-rpc-engine': 7.3.3 + '@metamask/json-rpc-engine': 7.3.3(supports-color@9.4.0) '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 5.0.2 + '@metamask/utils': 5.0.2(supports-color@9.4.0) transitivePeerDependencies: - supports-color @@ -14226,27 +15284,27 @@ snapshots: color: 0.11.4 mersenne-twister: 1.1.0 - '@metamask/json-rpc-engine@7.3.3': + '@metamask/json-rpc-engine@7.3.3(supports-color@9.4.0)': dependencies: - '@metamask/rpc-errors': 6.3.1 + '@metamask/rpc-errors': 6.3.1(supports-color@9.4.0) '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 8.5.0 + '@metamask/utils': 8.5.0(supports-color@9.4.0) transitivePeerDependencies: - supports-color - '@metamask/json-rpc-engine@8.0.2': + '@metamask/json-rpc-engine@8.0.2(supports-color@9.4.0)': dependencies: - '@metamask/rpc-errors': 6.3.1 + '@metamask/rpc-errors': 6.3.1(supports-color@9.4.0) '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 8.5.0 + '@metamask/utils': 8.5.0(supports-color@9.4.0) transitivePeerDependencies: - supports-color - '@metamask/json-rpc-middleware-stream@7.0.2': + '@metamask/json-rpc-middleware-stream@7.0.2(supports-color@9.4.0)': dependencies: - '@metamask/json-rpc-engine': 8.0.2 + '@metamask/json-rpc-engine': 8.0.2(supports-color@9.4.0) '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 8.5.0 + '@metamask/utils': 8.5.0(supports-color@9.4.0) readable-stream: 3.6.2 transitivePeerDependencies: - supports-color @@ -14260,14 +15318,14 @@ snapshots: dependencies: bowser: 2.11.0 - '@metamask/providers@16.1.0': + '@metamask/providers@16.1.0(supports-color@9.4.0)': dependencies: - '@metamask/json-rpc-engine': 8.0.2 - '@metamask/json-rpc-middleware-stream': 7.0.2 + '@metamask/json-rpc-engine': 8.0.2(supports-color@9.4.0) + '@metamask/json-rpc-middleware-stream': 7.0.2(supports-color@9.4.0) '@metamask/object-multiplex': 2.0.0 - '@metamask/rpc-errors': 6.3.1 + '@metamask/rpc-errors': 6.3.1(supports-color@9.4.0) '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 8.5.0 + '@metamask/utils': 8.5.0(supports-color@9.4.0) detect-browser: 5.3.0 extension-port-stream: 3.0.0 fast-deep-equal: 3.1.3 @@ -14277,16 +15335,16 @@ snapshots: transitivePeerDependencies: - supports-color - '@metamask/rpc-errors@5.1.1': + '@metamask/rpc-errors@5.1.1(supports-color@9.4.0)': dependencies: - '@metamask/utils': 5.0.2 + '@metamask/utils': 5.0.2(supports-color@9.4.0) fast-safe-stringify: 2.1.1 transitivePeerDependencies: - supports-color - '@metamask/rpc-errors@6.3.1': + '@metamask/rpc-errors@6.3.1(supports-color@9.4.0)': dependencies: - '@metamask/utils': 9.1.0 + '@metamask/utils': 9.1.0(supports-color@9.4.0) fast-safe-stringify: 2.1.1 transitivePeerDependencies: - supports-color @@ -14295,31 +15353,31 @@ snapshots: '@metamask/safe-event-emitter@3.1.1': {} - '@metamask/sdk-communication-layer@0.27.0(cross-fetch@4.0.0)(eciesjs@0.3.19)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@metamask/sdk-communication-layer@0.27.0(cross-fetch@4.0.0(encoding@0.1.13))(eciesjs@0.3.19)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9))(supports-color@9.4.0)': dependencies: bufferutil: 4.0.8 - cross-fetch: 4.0.0 + cross-fetch: 4.0.0(encoding@0.1.13) date-fns: 2.30.0 debug: 4.3.4(supports-color@9.4.0) eciesjs: 0.3.19 eventemitter2: 6.4.9 readable-stream: 3.6.2 - socket.io-client: 4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.9) + socket.io-client: 4.7.5(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9) utf-8-validate: 5.0.9 uuid: 8.3.2 transitivePeerDependencies: - supports-color - '@metamask/sdk-communication-layer@0.28.2(cross-fetch@4.0.0)(eciesjs@0.3.19)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@metamask/sdk-communication-layer@0.28.2(cross-fetch@4.0.0(encoding@0.1.13))(eciesjs@0.3.19)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.9))': dependencies: bufferutil: 4.0.8 - cross-fetch: 4.0.0 + cross-fetch: 4.0.0(encoding@0.1.13) date-fns: 2.30.0 debug: 4.3.4(supports-color@9.4.0) eciesjs: 0.3.19 eventemitter2: 6.4.9 readable-stream: 3.6.2 - socket.io-client: 4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.9) + socket.io-client: 4.7.5(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9) utf-8-validate: 5.0.9 uuid: 8.3.2 transitivePeerDependencies: @@ -14341,15 +15399,15 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@metamask/sdk@0.27.0(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(utf-8-validate@5.0.9)': + '@metamask/sdk@0.27.0(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(supports-color@9.4.0)(utf-8-validate@5.0.9)': dependencies: '@metamask/onboarding': 1.0.1 - '@metamask/providers': 16.1.0 - '@metamask/sdk-communication-layer': 0.27.0(cross-fetch@4.0.0)(eciesjs@0.3.19)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.9)) + '@metamask/providers': 16.1.0(supports-color@9.4.0) + '@metamask/sdk-communication-layer': 0.27.0(cross-fetch@4.0.0(encoding@0.1.13))(eciesjs@0.3.19)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9))(supports-color@9.4.0) '@metamask/sdk-install-modal-web': 0.26.5(i18next@23.11.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/dom-screen-wake-lock': 1.0.3 bowser: 2.11.0 - cross-fetch: 4.0.0 + cross-fetch: 4.0.0(encoding@0.1.13) debug: 4.3.4(supports-color@9.4.0) eciesjs: 0.3.19 eth-rpc-errors: 4.0.3 @@ -14362,7 +15420,7 @@ snapshots: react-native-webview: 11.26.1(react@18.3.1) readable-stream: 3.6.2 rollup-plugin-visualizer: 5.12.0(rollup@3.29.4) - socket.io-client: 4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.9) + socket.io-client: 4.7.5(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9) util: 0.12.5 uuid: 8.3.2 optionalDependencies: @@ -14376,16 +15434,16 @@ snapshots: - supports-color - utf-8-validate - '@metamask/sdk@0.28.4(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(utf-8-validate@5.0.9)': + '@metamask/sdk@0.28.4(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(utf-8-validate@5.0.9)': dependencies: '@metamask/onboarding': 1.0.1 - '@metamask/providers': 16.1.0 - '@metamask/sdk-communication-layer': 0.28.2(cross-fetch@4.0.0)(eciesjs@0.3.19)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.9)) + '@metamask/providers': 16.1.0(supports-color@9.4.0) + '@metamask/sdk-communication-layer': 0.28.2(cross-fetch@4.0.0(encoding@0.1.13))(eciesjs@0.3.19)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.9)) '@metamask/sdk-install-modal-web': 0.28.1(i18next@23.11.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/dom-screen-wake-lock': 1.0.3 '@types/uuid': 10.0.0 bowser: 2.11.0 - cross-fetch: 4.0.0 + cross-fetch: 4.0.0(encoding@0.1.13) debug: 4.3.4(supports-color@9.4.0) eciesjs: 0.3.19 eth-rpc-errors: 4.0.3 @@ -14398,7 +15456,7 @@ snapshots: react-native-webview: 11.26.1(react@18.3.1) readable-stream: 3.6.2 rollup-plugin-visualizer: 5.12.0(rollup@3.29.4) - socket.io-client: 4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.9) + socket.io-client: 4.7.5(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9) util: 0.12.5 uuid: 8.3.2 optionalDependencies: @@ -14414,7 +15472,7 @@ snapshots: '@metamask/superstruct@3.1.0': {} - '@metamask/utils@5.0.2': + '@metamask/utils@5.0.2(supports-color@9.4.0)': dependencies: '@ethereumjs/tx': 4.2.0 '@types/debug': 4.1.7 @@ -14424,7 +15482,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@metamask/utils@8.5.0': + '@metamask/utils@8.5.0(supports-color@9.4.0)': dependencies: '@ethereumjs/tx': 4.2.0 '@metamask/superstruct': 3.1.0 @@ -14438,7 +15496,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@metamask/utils@9.1.0': + '@metamask/utils@9.1.0(supports-color@9.4.0)': dependencies: '@ethereumjs/tx': 4.2.0 '@metamask/superstruct': 3.1.0 @@ -14460,6 +15518,14 @@ snapshots: transitivePeerDependencies: - '@types/node' + '@microsoft/api-extractor-model@7.28.13(@types/node@22.7.5)': + dependencies: + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 4.0.2(@types/node@22.7.5) + transitivePeerDependencies: + - '@types/node' + '@microsoft/api-extractor@7.43.0(@types/node@20.11.21)': dependencies: '@microsoft/api-extractor-model': 7.28.13(@types/node@20.11.21) @@ -14478,6 +15544,24 @@ snapshots: transitivePeerDependencies: - '@types/node' + '@microsoft/api-extractor@7.43.0(@types/node@22.7.5)': + dependencies: + '@microsoft/api-extractor-model': 7.28.13(@types/node@22.7.5) + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 4.0.2(@types/node@22.7.5) + '@rushstack/rig-package': 0.5.2 + '@rushstack/terminal': 0.10.0(@types/node@22.7.5) + '@rushstack/ts-command-line': 4.19.1(@types/node@22.7.5) + lodash: 4.17.21 + minimatch: 3.0.5 + resolve: 1.22.8 + semver: 7.5.4 + source-map: 0.6.1 + typescript: 5.4.2 + transitivePeerDependencies: + - '@types/node' + '@microsoft/tsdoc-config@0.16.2': dependencies: '@microsoft/tsdoc': 0.14.2 @@ -14559,30 +15643,30 @@ snapshots: '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3': optional: true - '@nestjs/axios@3.0.3(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(axios@1.6.8)(rxjs@7.8.1)': + '@nestjs/axios@3.0.3(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(axios@1.7.7)(rxjs@7.8.1)': dependencies: '@nestjs/common': 10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1) - axios: 1.6.8 + axios: 1.7.7 rxjs: 7.8.1 - '@nestjs/bull-shared@10.2.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))': + '@nestjs/bull-shared@10.2.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))': dependencies: '@nestjs/common': 10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/core': 10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) tslib: 2.6.3 - '@nestjs/bullmq@10.2.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(bullmq@5.12.14)': + '@nestjs/bullmq@10.2.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(bullmq@5.12.14)': dependencies: - '@nestjs/bull-shared': 10.2.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)) + '@nestjs/bull-shared': 10.2.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)) '@nestjs/common': 10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/core': 10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) bullmq: 5.12.14 tslib: 2.6.3 - '@nestjs/cache-manager@2.2.2(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(cache-manager@5.7.6)(rxjs@7.8.1)': + '@nestjs/cache-manager@2.2.2(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(cache-manager@5.7.6)(rxjs@7.8.1)': dependencies: '@nestjs/common': 10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/core': 10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) cache-manager: 5.7.6 rxjs: 7.8.1 @@ -14620,10 +15704,10 @@ snapshots: tslib: 2.6.3 uid: 2.0.2 - '@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)': + '@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)': dependencies: '@nestjs/common': 10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nuxtjs/opencollective': 0.3.2 + '@nuxtjs/opencollective': 0.3.2(encoding@0.1.13) fast-safe-stringify: 2.1.1 iterare: 1.2.1 path-to-regexp: 3.2.0 @@ -14644,17 +15728,17 @@ snapshots: '@nestjs/platform-express@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1)': dependencies: '@nestjs/common': 10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/core': 10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) body-parser: 1.20.2 cors: 2.8.5 express: 4.19.2 multer: 1.4.4-lts.1 tslib: 2.6.3 - '@nestjs/schedule@4.1.0(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))': + '@nestjs/schedule@4.1.0(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))': dependencies: '@nestjs/common': 10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/core': 10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) cron: 3.1.7 uuid: 10.0.0 @@ -14680,11 +15764,11 @@ snapshots: transitivePeerDependencies: - chokidar - '@nestjs/swagger@7.4.2(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2)': + '@nestjs/swagger@7.4.2(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2)': dependencies: '@microsoft/tsdoc': 0.15.0 '@nestjs/common': 10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/core': 10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/mapped-types': 2.0.5(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2) js-yaml: 4.1.0 lodash: 4.17.21 @@ -14692,16 +15776,16 @@ snapshots: reflect-metadata: 0.2.2 swagger-ui-dist: 5.17.14 - '@nestjs/terminus@10.2.3(@nestjs/axios@3.0.3(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(axios@1.6.8)(rxjs@7.8.1))(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@prisma/client@5.19.1(prisma@5.19.1))(reflect-metadata@0.2.2)(rxjs@7.8.1)': + '@nestjs/terminus@10.2.3(@nestjs/axios@3.0.3(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(axios@1.7.7)(rxjs@7.8.1))(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@prisma/client@5.19.1(prisma@5.19.1))(reflect-metadata@0.2.2)(rxjs@7.8.1)': dependencies: '@nestjs/common': 10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/core': 10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 10.4.1(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.1)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) boxen: 5.1.2 check-disk-space: 3.4.0 reflect-metadata: 0.2.2 rxjs: 7.8.1 optionalDependencies: - '@nestjs/axios': 3.0.3(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(axios@1.6.8)(rxjs@7.8.1) + '@nestjs/axios': 3.0.3(@nestjs/common@10.4.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(axios@1.7.7)(rxjs@7.8.1) '@prisma/client': 5.19.1(prisma@5.19.1) '@next/env@14.1.4': {} @@ -14751,6 +15835,14 @@ snapshots: jsbi: 3.2.5 sha.js: 2.4.11 + '@noble/curves@1.0.0': + dependencies: + '@noble/hashes': 1.3.0 + + '@noble/curves@1.2.0': + dependencies: + '@noble/hashes': 1.3.2 + '@noble/curves@1.4.0': dependencies: '@noble/hashes': 1.4.0 @@ -14759,22 +15851,30 @@ snapshots: dependencies: '@noble/hashes': 1.4.0 + '@noble/hashes@1.3.0': {} + + '@noble/hashes@1.3.2': {} + '@noble/hashes@1.4.0': {} '@noble/hashes@1.5.0': {} - '@node-real/walletkit@2.3.0-alpha.2(@babel/core@7.24.9)(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@tanstack/react-query@5.50.1(react@18.3.1))(bs58@5.0.0)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9))(wagmi@2.12.2(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)))': + '@node-real/walletkit@2.4.0-alpha.5(@babel/core@7.24.9(supports-color@9.4.0))(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@9.4.0)(tslib@2.7.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(wagmi@2.12.2(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4))(zod@3.22.4)': dependencies: '@metamask/jazzicon': 2.0.0 - '@solana/wallet-adapter-react': 0.15.35(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1) - '@solana/wallet-adapter-wallets': 0.19.32(@babel/core@7.24.9)(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(utf-8-validate@5.0.9) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-react': 0.15.35(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)(react@18.3.1) + '@solana/wallet-adapter-wallets': 0.19.32(@babel/core@7.24.9(supports-color@9.4.0))(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@9.4.0)(tslib@2.7.0)(utf-8-validate@5.0.9) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) '@tanstack/react-query': 5.50.1(react@18.3.1) + '@tronweb3/tronwallet-abstract-adapter': 1.1.7 + '@tronweb3/tronwallet-adapter-react-hooks': 1.1.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tronweb3/tronwallet-adapters': 1.2.4(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) + '@walletconnect/solana-adapter': 0.0.5(@react-native-async-storage/async-storage@1.24.0)(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(utf-8-validate@5.0.9) qrcode: 1.5.3 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9) - wagmi: 2.12.2(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)) + viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) + wagmi: 2.12.2(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -14789,6 +15889,8 @@ snapshots: - '@planetscale/database' - '@react-native-async-storage/async-storage' - '@sentry/types' + - '@solana/wallet-adapter-base' + - '@types/react' - '@upstash/redis' - '@vercel/kv' - bs58 @@ -14796,24 +15898,30 @@ snapshots: - encoding - expo-constants - expo-localization + - immer - react-native - supports-color - tslib + - typescript - utf-8-validate + - zod - '@node-real/walletkit@2.3.6-alpha.0(@babel/core@7.24.9)(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@tanstack/react-query@5.50.1(react@18.3.1))(bs58@5.0.0)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9))(wagmi@2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)))': + '@node-real/walletkit@2.4.0-alpha.8(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(wagmi@2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4))(zod@3.22.4)': dependencies: '@metamask/jazzicon': 2.0.0 - '@solana/wallet-adapter-react': 0.15.35(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1) - '@solana/wallet-adapter-wallets': 0.19.32(@babel/core@7.24.9)(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(utf-8-validate@5.0.9) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-react': 0.15.35(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)(react@18.3.1) + '@solana/wallet-adapter-wallets': 0.19.32(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(utf-8-validate@5.0.9) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) '@tanstack/react-query': 5.50.1(react@18.3.1) - '@twa-dev/sdk': 7.10.0(react@18.3.1) + '@tronweb3/tronwallet-abstract-adapter': 1.1.7 + '@tronweb3/tronwallet-adapter-react-hooks': 1.1.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tronweb3/tronwallet-adapters': 1.2.4(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) + '@walletconnect/solana-adapter': 0.0.5(@react-native-async-storage/async-storage@1.24.0)(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(utf-8-validate@5.0.9) qrcode: 1.5.3 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9) - wagmi: 2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)) + viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) + wagmi: 2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -14828,6 +15936,8 @@ snapshots: - '@planetscale/database' - '@react-native-async-storage/async-storage' - '@sentry/types' + - '@solana/wallet-adapter-base' + - '@types/react' - '@upstash/redis' - '@vercel/kv' - bs58 @@ -14835,10 +15945,13 @@ snapshots: - encoding - expo-constants - expo-localization + - immer - react-native - supports-color - tslib + - typescript - utf-8-validate + - zod '@nodelib/fs.scandir@2.1.5': dependencies: @@ -14864,11 +15977,11 @@ snapshots: mkdirp: 1.0.4 rimraf: 3.0.2 - '@nuxtjs/opencollective@0.3.2': + '@nuxtjs/opencollective@0.3.2(encoding@0.1.13)': dependencies: chalk: 4.1.2 consola: 2.15.3 - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) transitivePeerDependencies: - encoding @@ -14955,11 +16068,11 @@ snapshots: crypto-js: 4.1.1 uuidv4: 6.2.13 - '@particle-network/solana-wallet@1.3.2(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0)': + '@particle-network/solana-wallet@1.3.2(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)': dependencies: '@particle-network/auth': 1.3.1 - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) - bs58: 5.0.0 + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) + bs58: 6.0.0 '@pkgjs/parseargs@0.11.0': optional: true @@ -15020,9 +16133,9 @@ snapshots: dependencies: '@prisma/debug': 5.19.1 - '@project-serum/sol-wallet-adapter@0.2.6(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@project-serum/sol-wallet-adapter@0.2.6(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) bs58: 4.0.1 eventemitter3: 4.0.7 @@ -15077,6 +16190,17 @@ snapshots: optionalDependencies: '@types/node': 20.11.21 + '@rushstack/node-core-library@4.0.2(@types/node@22.7.5)': + dependencies: + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + optionalDependencies: + '@types/node': 22.7.5 + '@rushstack/rig-package@0.5.2': dependencies: resolve: 1.22.8 @@ -15089,6 +16213,13 @@ snapshots: optionalDependencies: '@types/node': 20.11.21 + '@rushstack/terminal@0.10.0(@types/node@22.7.5)': + dependencies: + '@rushstack/node-core-library': 4.0.2(@types/node@22.7.5) + supports-color: 8.1.1 + optionalDependencies: + '@types/node': 22.7.5 + '@rushstack/ts-command-line@4.19.1(@types/node@20.11.21)': dependencies: '@rushstack/terminal': 0.10.0(@types/node@20.11.21) @@ -15098,9 +16229,18 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@safe-global/safe-apps-provider@0.18.3(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)': + '@rushstack/ts-command-line@4.19.1(@types/node@22.7.5)': + dependencies: + '@rushstack/terminal': 0.10.0(@types/node@22.7.5) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.1 + transitivePeerDependencies: + - '@types/node' + + '@safe-global/safe-apps-provider@0.18.3(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4)': dependencies: - '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9) + '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) events: 3.3.0 transitivePeerDependencies: - bufferutil @@ -15109,10 +16249,10 @@ snapshots: - utf-8-validate - zod - '@safe-global/safe-apps-sdk@9.1.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)': + '@safe-global/safe-apps-sdk@8.1.0(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4)': dependencies: - '@safe-global/safe-gateway-typescript-sdk': 3.7.3 - viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9) + '@safe-global/safe-gateway-typescript-sdk': 3.7.3(encoding@0.1.13) + viem: 1.21.4(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) transitivePeerDependencies: - bufferutil - encoding @@ -15120,9 +16260,20 @@ snapshots: - utf-8-validate - zod - '@safe-global/safe-gateway-typescript-sdk@3.7.3': + '@safe-global/safe-apps-sdk@9.1.0(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4)': + dependencies: + '@safe-global/safe-gateway-typescript-sdk': 3.7.3(encoding@0.1.13) + viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + + '@safe-global/safe-gateway-typescript-sdk@3.7.3(encoding@0.1.13)': dependencies: - cross-fetch: 3.1.8 + cross-fetch: 3.1.8(encoding@0.1.13) transitivePeerDependencies: - encoding @@ -15130,12 +16281,34 @@ snapshots: '@scure/base@1.1.9': {} + '@scure/bip32@1.3.0': + dependencies: + '@noble/curves': 1.0.0 + '@noble/hashes': 1.3.0 + '@scure/base': 1.1.9 + + '@scure/bip32@1.3.2': + dependencies: + '@noble/curves': 1.2.0 + '@noble/hashes': 1.3.2 + '@scure/base': 1.1.9 + '@scure/bip32@1.4.0': dependencies: '@noble/curves': 1.4.2 '@noble/hashes': 1.4.0 '@scure/base': 1.1.9 + '@scure/bip39@1.2.0': + dependencies: + '@noble/hashes': 1.3.0 + '@scure/base': 1.1.9 + + '@scure/bip39@1.2.1': + dependencies: + '@noble/hashes': 1.3.2 + '@scure/base': 1.1.9 + '@scure/bip39@1.3.0': dependencies: '@noble/hashes': 1.4.0 @@ -15150,10 +16323,10 @@ snapshots: '@socket.io/component-emitter@3.1.2': {} - '@solana-mobile/mobile-wallet-adapter-protocol-web3js@2.1.3(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(react@18.3.1)': + '@solana-mobile/mobile-wallet-adapter-protocol-web3js@2.1.3(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(react@18.3.1)': dependencies: - '@solana-mobile/mobile-wallet-adapter-protocol': 2.1.3(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana-mobile/mobile-wallet-adapter-protocol': 2.1.3(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) bs58: 5.0.0 js-base64: 3.7.7 transitivePeerDependencies: @@ -15161,11 +16334,11 @@ snapshots: - react - react-native - '@solana-mobile/mobile-wallet-adapter-protocol@2.1.3(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1)': + '@solana-mobile/mobile-wallet-adapter-protocol@2.1.3(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1)': dependencies: - '@solana/wallet-standard': 1.1.2(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1) + '@solana/wallet-standard': 1.1.2(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1) '@solana/wallet-standard-util': 1.1.1 - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) '@wallet-standard/core': 1.0.3 js-base64: 3.7.7 transitivePeerDependencies: @@ -15173,12 +16346,12 @@ snapshots: - bs58 - react - '@solana-mobile/wallet-adapter-mobile@2.1.3(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(react@18.3.1)': + '@solana-mobile/wallet-adapter-mobile@2.1.3(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(react@18.3.1)': dependencies: - '@solana-mobile/mobile-wallet-adapter-protocol-web3js': 2.1.3(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(react@18.3.1) - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) + '@solana-mobile/mobile-wallet-adapter-protocol-web3js': 2.1.3(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(react@18.3.1) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) '@solana/wallet-standard-features': 1.2.0 - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) js-base64: 3.7.7 optionalDependencies: '@react-native-async-storage/async-storage': 1.24.0 @@ -15190,202 +16363,202 @@ snapshots: dependencies: buffer: 6.0.3 - '@solana/wallet-adapter-alpha@0.1.10(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-alpha@0.1.10(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-avana@0.1.13(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-avana@0.1.13(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: '@solana/wallet-standard-features': 1.2.0 - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) '@wallet-standard/base': 1.0.1 '@wallet-standard/features': 1.0.3 eventemitter3: 4.0.7 - '@solana/wallet-adapter-bitkeep@0.3.20(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-bitkeep@0.3.20(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-bitpie@0.5.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-bitpie@0.5.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-clover@0.4.19(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-clover@0.4.19(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-coin98@0.5.20(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-coin98@0.5.20(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) bs58: 4.0.1 - '@solana/wallet-adapter-coinbase@0.1.19(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-coinbase@0.1.19(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-coinhub@0.3.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-coinhub@0.3.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-fractal@0.1.8(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@solana/wallet-adapter-fractal@0.1.8(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@fractalwagmi/solana-wallet-adapter': 0.1.1(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@fractalwagmi/solana-wallet-adapter': 0.1.1(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) transitivePeerDependencies: - react - react-dom - '@solana/wallet-adapter-huobi@0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-huobi@0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-hyperpay@0.1.14(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-hyperpay@0.1.14(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-keystone@0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(utf-8-validate@5.0.9)': + '@solana/wallet-adapter-keystone@0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)': dependencies: - '@keystonehq/sol-keyring': 0.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@keystonehq/sol-keyring': 0.3.1(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) transitivePeerDependencies: - bufferutil - encoding - utf-8-validate - '@solana/wallet-adapter-krystal@0.1.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-krystal@0.1.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-ledger@0.9.25(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-ledger@0.9.25(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: '@ledgerhq/devices': 6.27.1 '@ledgerhq/hw-transport': 6.27.1 '@ledgerhq/hw-transport-webhid': 6.27.1 - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) buffer: 6.0.3 - '@solana/wallet-adapter-mathwallet@0.9.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-mathwallet@0.9.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-neko@0.2.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-neko@0.2.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-nightly@0.1.16(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-nightly@0.1.16(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-nufi@0.1.17(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-nufi@0.1.17(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-onto@0.1.7(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-onto@0.1.7(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-particle@0.1.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0)': + '@solana/wallet-adapter-particle@0.1.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)': dependencies: - '@particle-network/solana-wallet': 1.3.2(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0) - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@particle-network/solana-wallet': 1.3.2(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) transitivePeerDependencies: - bs58 - '@solana/wallet-adapter-phantom@0.9.24(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-phantom@0.9.24(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-react@0.15.35(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1)': + '@solana/wallet-adapter-react@0.15.35(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)(react@18.3.1)': dependencies: - '@solana-mobile/wallet-adapter-mobile': 2.1.3(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(react@18.3.1) - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-standard-wallet-adapter-react': 1.1.2(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana-mobile/wallet-adapter-mobile': 2.1.3(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(react@18.3.1) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-standard-wallet-adapter-react': 1.1.2(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)(react@18.3.1) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) react: 18.3.1 transitivePeerDependencies: - bs58 - react-native - '@solana/wallet-adapter-safepal@0.5.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-safepal@0.5.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-saifu@0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-saifu@0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-salmon@0.1.14(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-salmon@0.1.14(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) - salmon-adapter-sdk: 1.1.1(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) + salmon-adapter-sdk: 1.1.1(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-sky@0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-sky@0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-solflare@0.6.28(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-solflare@0.6.28(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) '@solana/wallet-standard-chains': 1.1.0 - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@solflare-wallet/metamask-sdk': 1.0.3(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solflare-wallet/sdk': 1.4.2(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) + '@solflare-wallet/metamask-sdk': 1.0.3(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solflare-wallet/sdk': 1.4.2(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) '@wallet-standard/wallet': 1.0.1 - '@solana/wallet-adapter-solong@0.9.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-solong@0.9.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-spot@0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-spot@0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-tokenary@0.1.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-tokenary@0.1.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-tokenpocket@0.4.19(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-tokenpocket@0.4.19(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-torus@0.11.28(@babel/runtime@7.25.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(utf-8-validate@5.0.9)': + '@solana/wallet-adapter-torus@0.11.28(@babel/runtime@7.25.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9)': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@toruslabs/solana-embed': 0.3.4(@babel/runtime@7.25.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) + '@toruslabs/solana-embed': 0.3.4(@babel/runtime@7.25.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9) assert: 2.1.0 crypto-browserify: 3.12.0 process: 0.11.10 @@ -15398,11 +16571,28 @@ snapshots: - supports-color - utf-8-validate - '@solana/wallet-adapter-trezor@0.1.2(@babel/core@7.24.9)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(tslib@2.7.0)(utf-8-validate@5.0.9)': + '@solana/wallet-adapter-trezor@0.1.2(@babel/core@7.24.9(supports-color@9.4.0))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(tslib@2.7.0)(utf-8-validate@5.0.9)': + dependencies: + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) + '@trezor/connect-web': 9.3.0(@babel/core@7.24.9(supports-color@9.4.0))(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(tslib@2.7.0)(utf-8-validate@5.0.9) + buffer: 6.0.3 + transitivePeerDependencies: + - '@babel/core' + - bufferutil + - encoding + - expo-constants + - expo-localization + - react-native + - supports-color + - tslib + - utf-8-validate + + '@solana/wallet-adapter-trezor@0.1.2(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(encoding@0.1.13)(tslib@2.7.0)(utf-8-validate@5.0.9)': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@trezor/connect-web': 9.3.0(@babel/core@7.24.9)(bufferutil@4.0.8)(tslib@2.7.0)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) + '@trezor/connect-web': 9.3.0(bufferutil@4.0.8)(encoding@0.1.13)(tslib@2.7.0)(utf-8-validate@5.0.9) buffer: 6.0.3 transitivePeerDependencies: - '@babel/core' @@ -15415,24 +16605,81 @@ snapshots: - tslib - utf-8-validate - '@solana/wallet-adapter-trust@0.1.13(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-trust@0.1.13(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-unsafe-burner@0.1.7(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-unsafe-burner@0.1.7(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: '@noble/curves': 1.4.2 - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) '@solana/wallet-standard-features': 1.2.0 '@solana/wallet-standard-util': 1.1.1 - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-walletconnect@0.1.16(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(utf-8-validate@5.0.9)': + '@solana/wallet-adapter-walletconnect@0.1.16(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9)': dependencies: - '@jnwng/walletconnect-solana': 0.2.0(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@jnwng/walletconnect-solana': 0.2.0(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@solana/wallet-adapter-wallets@0.19.32(@babel/core@7.24.9(supports-color@9.4.0))(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@9.4.0)(tslib@2.7.0)(utf-8-validate@5.0.9)': + dependencies: + '@solana/wallet-adapter-alpha': 0.1.10(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-avana': 0.1.13(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-bitkeep': 0.3.20(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-bitpie': 0.5.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-clover': 0.4.19(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-coin98': 0.5.20(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-coinbase': 0.1.19(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-coinhub': 0.3.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-fractal': 0.1.8(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@solana/wallet-adapter-huobi': 0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-hyperpay': 0.1.14(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-keystone': 0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-krystal': 0.1.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-ledger': 0.9.25(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-mathwallet': 0.9.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-neko': 0.2.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-nightly': 0.1.16(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-nufi': 0.1.17(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-onto': 0.1.7(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-particle': 0.1.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0) + '@solana/wallet-adapter-phantom': 0.9.24(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-safepal': 0.5.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-saifu': 0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-salmon': 0.1.14(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-sky': 0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-solflare': 0.6.28(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-solong': 0.9.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-spot': 0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-tokenary': 0.1.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-tokenpocket': 0.4.19(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-torus': 0.11.28(@babel/runtime@7.25.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-trezor': 0.1.2(@babel/core@7.24.9(supports-color@9.4.0))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(tslib@2.7.0)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-trust': 0.1.13(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-unsafe-burner': 0.1.7(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-walletconnect': 0.1.16(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-xdefi': 0.1.7(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -15440,56 +16687,66 @@ snapshots: - '@azure/identity' - '@azure/keyvault-secrets' - '@azure/storage-blob' + - '@babel/core' + - '@babel/runtime' - '@capacitor/preferences' - '@netlify/blobs' - '@planetscale/database' - '@react-native-async-storage/async-storage' + - '@sentry/types' - '@upstash/redis' - '@vercel/kv' + - bs58 - bufferutil - encoding + - expo-constants + - expo-localization + - react + - react-dom + - react-native - supports-color + - tslib - utf-8-validate - '@solana/wallet-adapter-wallets@0.19.32(@babel/core@7.24.9)(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(utf-8-validate@5.0.9)': - dependencies: - '@solana/wallet-adapter-alpha': 0.1.10(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-avana': 0.1.13(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-bitkeep': 0.3.20(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-bitpie': 0.5.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-clover': 0.4.19(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-coin98': 0.5.20(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-coinbase': 0.1.19(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-coinhub': 0.3.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-fractal': 0.1.8(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@solana/wallet-adapter-huobi': 0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-hyperpay': 0.1.14(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-keystone': 0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-krystal': 0.1.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-ledger': 0.9.25(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-mathwallet': 0.9.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-neko': 0.2.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-nightly': 0.1.16(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-nufi': 0.1.17(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-onto': 0.1.7(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-particle': 0.1.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0) - '@solana/wallet-adapter-phantom': 0.9.24(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-safepal': 0.5.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-saifu': 0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-salmon': 0.1.14(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-sky': 0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-solflare': 0.6.28(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-solong': 0.9.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-spot': 0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-tokenary': 0.1.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-tokenpocket': 0.4.19(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-torus': 0.11.28(@babel/runtime@7.25.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-trezor': 0.1.2(@babel/core@7.24.9)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(tslib@2.7.0)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-trust': 0.1.13(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-unsafe-burner': 0.1.7(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-adapter-walletconnect': 0.1.16(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@solana/wallet-adapter-xdefi': 0.1.7(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-wallets@0.19.32(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(utf-8-validate@5.0.9)': + dependencies: + '@solana/wallet-adapter-alpha': 0.1.10(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-avana': 0.1.13(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-bitkeep': 0.3.20(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-bitpie': 0.5.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-clover': 0.4.19(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-coin98': 0.5.20(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-coinbase': 0.1.19(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-coinhub': 0.3.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-fractal': 0.1.8(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@solana/wallet-adapter-huobi': 0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-hyperpay': 0.1.14(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-keystone': 0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-krystal': 0.1.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-ledger': 0.9.25(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-mathwallet': 0.9.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-neko': 0.2.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-nightly': 0.1.16(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-nufi': 0.1.17(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-onto': 0.1.7(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-particle': 0.1.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0) + '@solana/wallet-adapter-phantom': 0.9.24(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-safepal': 0.5.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-saifu': 0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-salmon': 0.1.14(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-sky': 0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-solflare': 0.6.28(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-solong': 0.9.18(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-spot': 0.1.15(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-tokenary': 0.1.12(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-tokenpocket': 0.4.19(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-torus': 0.11.28(@babel/runtime@7.25.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-trezor': 0.1.2(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(encoding@0.1.13)(tslib@2.7.0)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-trust': 0.1.13(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-unsafe-burner': 0.1.7(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-walletconnect': 0.1.16(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-xdefi': 0.1.7(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -15518,10 +16775,10 @@ snapshots: - tslib - utf-8-validate - '@solana/wallet-adapter-xdefi@0.1.7(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solana/wallet-adapter-xdefi@0.1.7(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) '@solana/wallet-standard-chains@1.1.0': dependencies: @@ -15544,23 +16801,47 @@ snapshots: '@solana/wallet-standard-chains': 1.1.0 '@solana/wallet-standard-features': 1.2.0 - '@solana/wallet-standard-wallet-adapter-base@1.1.2(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0)': + '@solana/wallet-standard-wallet-adapter-base@1.1.2(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@5.0.0)': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) '@solana/wallet-standard-chains': 1.1.0 '@solana/wallet-standard-features': 1.2.0 '@solana/wallet-standard-util': 1.1.1 - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) '@wallet-standard/app': 1.0.1 '@wallet-standard/base': 1.0.1 '@wallet-standard/features': 1.0.3 '@wallet-standard/wallet': 1.0.1 bs58: 5.0.0 - '@solana/wallet-standard-wallet-adapter-react@1.1.2(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1)': + '@solana/wallet-standard-wallet-adapter-base@1.1.2(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)': + dependencies: + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-standard-chains': 1.1.0 + '@solana/wallet-standard-features': 1.2.0 + '@solana/wallet-standard-util': 1.1.1 + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) + '@wallet-standard/app': 1.0.1 + '@wallet-standard/base': 1.0.1 + '@wallet-standard/features': 1.0.3 + '@wallet-standard/wallet': 1.0.1 + bs58: 6.0.0 + + '@solana/wallet-standard-wallet-adapter-react@1.1.2(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1)': + dependencies: + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-standard-wallet-adapter-base': 1.1.2(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@5.0.0) + '@wallet-standard/app': 1.0.1 + '@wallet-standard/base': 1.0.1 + react: 18.3.1 + transitivePeerDependencies: + - '@solana/web3.js' + - bs58 + + '@solana/wallet-standard-wallet-adapter-react@1.1.2(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)(react@18.3.1)': dependencies: - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/wallet-standard-wallet-adapter-base': 1.1.2(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0) + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/wallet-standard-wallet-adapter-base': 1.1.2(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0) '@wallet-standard/app': 1.0.1 '@wallet-standard/base': 1.0.1 react: 18.3.1 @@ -15568,27 +16849,27 @@ snapshots: - '@solana/web3.js' - bs58 - '@solana/wallet-standard-wallet-adapter@1.1.2(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1)': + '@solana/wallet-standard-wallet-adapter@1.1.2(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1)': dependencies: - '@solana/wallet-standard-wallet-adapter-base': 1.1.2(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0) - '@solana/wallet-standard-wallet-adapter-react': 1.1.2(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1) + '@solana/wallet-standard-wallet-adapter-base': 1.1.2(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@5.0.0) + '@solana/wallet-standard-wallet-adapter-react': 1.1.2(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1) transitivePeerDependencies: - '@solana/wallet-adapter-base' - '@solana/web3.js' - bs58 - react - '@solana/wallet-standard@1.1.2(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1)': + '@solana/wallet-standard@1.1.2(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1)': dependencies: '@solana/wallet-standard-core': 1.1.1 - '@solana/wallet-standard-wallet-adapter': 1.1.2(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1) + '@solana/wallet-standard-wallet-adapter': 1.1.2(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@5.0.0)(react@18.3.1) transitivePeerDependencies: - '@solana/wallet-adapter-base' - '@solana/web3.js' - bs58 - react - '@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)': + '@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)': dependencies: '@babel/runtime': 7.25.0 '@noble/curves': 1.4.2 @@ -15602,7 +16883,7 @@ snapshots: buffer: 6.0.3 fast-stable-stringify: 1.0.0 jayson: 4.1.1(bufferutil@4.0.8)(utf-8-validate@5.0.9) - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) rpc-websockets: 9.0.2 superstruct: 2.0.2 transitivePeerDependencies: @@ -15610,18 +16891,18 @@ snapshots: - encoding - utf-8-validate - '@solflare-wallet/metamask-sdk@1.0.3(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solflare-wallet/metamask-sdk@1.0.3(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: '@solana/wallet-standard-features': 1.2.0 - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) '@wallet-standard/base': 1.0.1 bs58: 5.0.0 eventemitter3: 5.0.1 uuid: 9.0.1 - '@solflare-wallet/sdk@1.4.2(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9))': + '@solflare-wallet/sdk@1.4.2(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))': dependencies: - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) bs58: 5.0.0 eventemitter3: 5.0.1 uuid: 9.0.1 @@ -16293,7 +17574,7 @@ snapshots: dependencies: core-js: 3.21.1 - '@storybook/core-server@6.5.16(@storybook/builder-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(@storybook/manager-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(bufferutil@4.0.8)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.9)(vue-template-compiler@2.7.16)': + '@storybook/core-server@6.5.16(@storybook/builder-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(bufferutil@4.0.8)(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.9)(vue-template-compiler@2.7.16)': dependencies: '@discoveryjs/json-ext': 0.5.6 '@storybook/builder-webpack4': 6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) @@ -16302,11 +17583,11 @@ snapshots: '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/csf-tools': 6.5.16 - '@storybook/manager-webpack4': 6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) + '@storybook/manager-webpack4': 6.5.16(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/telemetry': 6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) + '@storybook/telemetry': 6.5.16(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) '@types/node': 14.18.12 '@types/node-fetch': 2.6.1 '@types/pretty-hrtime': 1.0.1 @@ -16326,7 +17607,7 @@ snapshots: globby: 11.1.0 ip: 2.0.0 lodash: 4.17.21 - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) open: 8.4.0 pretty-hrtime: 1.0.3 prompts: 2.4.2 @@ -16344,7 +17625,7 @@ snapshots: x-default-browser: 0.4.0 optionalDependencies: '@storybook/builder-webpack5': 6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) - '@storybook/manager-webpack5': 6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) + '@storybook/manager-webpack5': 6.5.16(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) typescript: 5.5.4 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -16357,16 +17638,16 @@ snapshots: - webpack-cli - webpack-command - '@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(@storybook/manager-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(bufferutil@4.0.8)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.9)(vue-template-compiler@2.7.16)(webpack@5.75.0)': + '@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(bufferutil@4.0.8)(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.9)(vue-template-compiler@2.7.16)(webpack@5.75.0)': dependencies: '@storybook/core-client': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(webpack@5.75.0) - '@storybook/core-server': 6.5.16(@storybook/builder-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(@storybook/manager-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(bufferutil@4.0.8)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.9)(vue-template-compiler@2.7.16) + '@storybook/core-server': 6.5.16(@storybook/builder-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(bufferutil@4.0.8)(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.9)(vue-template-compiler@2.7.16) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) webpack: 5.75.0 optionalDependencies: '@storybook/builder-webpack5': 6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) - '@storybook/manager-webpack5': 6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) + '@storybook/manager-webpack5': 6.5.16(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) typescript: 5.5.4 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -16386,7 +17667,7 @@ snapshots: '@babel/parser': 7.25.3 '@babel/plugin-transform-react-jsx': 7.19.0(@babel/core@7.24.9) '@babel/preset-env': 7.18.10(@babel/core@7.24.9) - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@9.4.0) '@babel/types': 7.25.2 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/mdx1-csf': 0.0.1(@babel/core@7.24.9) @@ -16416,7 +17697,7 @@ snapshots: - react-dom - supports-color - '@storybook/manager-webpack4@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16)': + '@storybook/manager-webpack4@6.5.16(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16)': dependencies: '@babel/core': 7.24.9 '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.24.9) @@ -16439,7 +17720,7 @@ snapshots: find-up: 5.0.0 fs-extra: 9.1.0 html-webpack-plugin: 4.5.2(webpack@4.46.0) - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) pnp-webpack-plugin: 1.6.4(typescript@5.5.4) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -16465,7 +17746,7 @@ snapshots: - webpack-cli - webpack-command - '@storybook/manager-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16)': + '@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16)': dependencies: '@babel/core': 7.24.9 '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.24.9) @@ -16486,7 +17767,7 @@ snapshots: find-up: 5.0.0 fs-extra: 9.1.0 html-webpack-plugin: 5.5.0(webpack@5.75.0) - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) process: 0.11.10 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -16578,14 +17859,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@storybook/react@6.5.16(@babel/core@7.24.9)(@storybook/builder-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(@storybook/manager-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(@types/webpack@4.41.32)(bufferutil@4.0.8)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(require-from-string@2.0.2)(type-fest@0.21.3)(typescript@5.5.4)(utf-8-validate@5.0.9)(vue-template-compiler@2.7.16)(webpack-hot-middleware@2.25.1)': + '@storybook/react@6.5.16(@babel/core@7.24.9)(@storybook/builder-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(@types/webpack@4.41.32)(bufferutil@4.0.8)(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(require-from-string@2.0.2)(type-fest@0.21.3)(typescript@5.5.4)(utf-8-validate@5.0.9)(vue-template-compiler@2.7.16)(webpack-hot-middleware@2.25.1)': dependencies: '@babel/preset-flow': 7.16.7(@babel/core@7.24.9) '@babel/preset-react': 7.18.6(@babel/core@7.24.9) '@pmmmwh/react-refresh-webpack-plugin': 0.5.7(@types/webpack@4.41.32)(react-refresh@0.11.0)(type-fest@0.21.3)(webpack-hot-middleware@2.25.1)(webpack@5.75.0) '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@storybook/client-logger': 6.5.16 - '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(@storybook/manager-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(bufferutil@4.0.8)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.9)(vue-template-compiler@2.7.16)(webpack@5.75.0) + '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(@storybook/manager-webpack5@6.5.16(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16))(bufferutil@4.0.8)(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(utf-8-validate@5.0.9)(vue-template-compiler@2.7.16)(webpack@5.75.0) '@storybook/core-common': 6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -16621,7 +17902,7 @@ snapshots: optionalDependencies: '@babel/core': 7.24.9 '@storybook/builder-webpack5': 6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) - '@storybook/manager-webpack5': 6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) + '@storybook/manager-webpack5': 6.5.16(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) typescript: 5.5.4 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -16693,7 +17974,7 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 - '@storybook/telemetry@6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16)': + '@storybook/telemetry@6.5.16(encoding@0.1.13)(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16)': dependencies: '@storybook/client-logger': 6.5.16 '@storybook/core-common': 6.5.16(eslint@8.47.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)(vue-template-compiler@2.7.16) @@ -16703,7 +17984,7 @@ snapshots: fetch-retry: 5.0.2 fs-extra: 9.1.0 global: 4.4.0 - isomorphic-unfetch: 3.1.0 + isomorphic-unfetch: 3.1.0(encoding@0.1.13) nanoid: 3.3.7 read-pkg-up: 7.0.1 regenerator-runtime: 0.13.9 @@ -16761,13 +18042,13 @@ snapshots: '@tanstack/query-core': 5.50.1 react: 18.3.1 - '@toruslabs/base-controllers@2.9.0(@babel/runtime@7.25.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9)': + '@toruslabs/base-controllers@2.9.0(@babel/runtime@7.25.0)(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9)': dependencies: '@babel/runtime': 7.25.0 '@ethereumjs/util': 8.1.0 - '@toruslabs/broadcast-channel': 6.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@toruslabs/broadcast-channel': 6.3.1(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9) '@toruslabs/http-helpers': 3.4.0(@babel/runtime@7.25.0) - '@toruslabs/openlogin-jrpc': 4.7.2(@babel/runtime@7.25.0) + '@toruslabs/openlogin-jrpc': 4.7.2(@babel/runtime@7.25.0)(supports-color@9.4.0) async-mutex: 0.4.1 bignumber.js: 9.1.2 bowser: 2.11.0 @@ -16781,7 +18062,7 @@ snapshots: - supports-color - utf-8-validate - '@toruslabs/broadcast-channel@6.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.9)': + '@toruslabs/broadcast-channel@6.3.1(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9)': dependencies: '@babel/runtime': 7.25.0 '@toruslabs/eccrypto': 2.2.1 @@ -16789,7 +18070,7 @@ snapshots: bowser: 2.11.0 loglevel: 1.8.1 oblivious-set: 1.1.1 - socket.io-client: 4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.9) + socket.io-client: 4.7.5(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9) unload: 2.4.1 transitivePeerDependencies: - '@sentry/types' @@ -16830,10 +18111,10 @@ snapshots: pump: 3.0.0 readable-stream: 3.6.2 - '@toruslabs/openlogin-jrpc@4.7.2(@babel/runtime@7.25.0)': + '@toruslabs/openlogin-jrpc@4.7.2(@babel/runtime@7.25.0)(supports-color@9.4.0)': dependencies: '@babel/runtime': 7.25.0 - '@metamask/rpc-errors': 5.1.1 + '@metamask/rpc-errors': 5.1.1(supports-color@9.4.0) '@toruslabs/openlogin-utils': 4.7.0(@babel/runtime@7.25.0) end-of-stream: 1.4.4 events: 3.3.0 @@ -16856,11 +18137,11 @@ snapshots: '@babel/runtime': 7.25.0 base64url: 3.0.1 - '@toruslabs/solana-embed@0.3.4(@babel/runtime@7.25.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9)': + '@toruslabs/solana-embed@0.3.4(@babel/runtime@7.25.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9)': dependencies: '@babel/runtime': 7.25.0 - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@toruslabs/base-controllers': 2.9.0(@babel/runtime@7.25.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) + '@toruslabs/base-controllers': 2.9.0(@babel/runtime@7.25.0)(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9) '@toruslabs/http-helpers': 3.4.0(@babel/runtime@7.25.0) '@toruslabs/openlogin-jrpc': 3.2.0(@babel/runtime@7.25.0) eth-rpc-errors: 4.0.3 @@ -16886,12 +18167,12 @@ snapshots: - expo-localization - react-native - '@trezor/blockchain-link-types@1.1.0(bufferutil@4.0.8)(tslib@2.7.0)(utf-8-validate@5.0.9)': + '@trezor/blockchain-link-types@1.1.0(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(tslib@2.7.0)(utf-8-validate@5.0.9)': dependencies: - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) '@trezor/type-utils': 1.1.0 '@trezor/utxo-lib': 2.1.0(tslib@2.7.0) - socks-proxy-agent: 6.1.1 + socks-proxy-agent: 6.1.1(supports-color@9.4.0) tslib: 2.7.0 transitivePeerDependencies: - bufferutil @@ -16899,10 +18180,10 @@ snapshots: - supports-color - utf-8-validate - '@trezor/blockchain-link-utils@1.1.0(bufferutil@4.0.8)(tslib@2.7.0)(utf-8-validate@5.0.9)': + '@trezor/blockchain-link-utils@1.1.0(bufferutil@4.0.8)(encoding@0.1.13)(tslib@2.7.0)(utf-8-validate@5.0.9)': dependencies: '@mobily/ts-belt': 3.13.1 - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) '@trezor/env-utils': 1.1.0(tslib@2.7.0) '@trezor/utils': 9.1.0(tslib@2.7.0) tslib: 2.7.0 @@ -16914,18 +18195,18 @@ snapshots: - react-native - utf-8-validate - '@trezor/blockchain-link@2.2.0(bufferutil@4.0.8)(tslib@2.7.0)(utf-8-validate@5.0.9)': + '@trezor/blockchain-link@2.2.0(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(tslib@2.7.0)(utf-8-validate@5.0.9)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@trezor/blockchain-link-types': 1.1.0(bufferutil@4.0.8)(tslib@2.7.0)(utf-8-validate@5.0.9) - '@trezor/blockchain-link-utils': 1.1.0(bufferutil@4.0.8)(tslib@2.7.0)(utf-8-validate@5.0.9) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) + '@trezor/blockchain-link-types': 1.1.0(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(tslib@2.7.0)(utf-8-validate@5.0.9) + '@trezor/blockchain-link-utils': 1.1.0(bufferutil@4.0.8)(encoding@0.1.13)(tslib@2.7.0)(utf-8-validate@5.0.9) '@trezor/utils': 9.1.0(tslib@2.7.0) '@trezor/utxo-lib': 2.1.0(tslib@2.7.0) '@types/web': 0.0.138 events: 3.3.0 - ripple-lib: 1.10.1(bufferutil@4.0.8)(utf-8-validate@5.0.9) - socks-proxy-agent: 6.1.1 + ripple-lib: 1.10.1(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9) + socks-proxy-agent: 6.1.1(supports-color@9.4.0) tslib: 2.7.0 ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.9) transitivePeerDependencies: @@ -16956,11 +18237,58 @@ snapshots: - expo-localization - react-native - '@trezor/connect-web@9.3.0(@babel/core@7.24.9)(bufferutil@4.0.8)(tslib@2.7.0)(utf-8-validate@5.0.9)': + '@trezor/connect-web@9.3.0(@babel/core@7.24.9(supports-color@9.4.0))(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(tslib@2.7.0)(utf-8-validate@5.0.9)': + dependencies: + '@trezor/connect': 9.3.0(@babel/core@7.24.9(supports-color@9.4.0))(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(tslib@2.7.0)(utf-8-validate@5.0.9) + '@trezor/connect-common': 0.1.0(tslib@2.7.0) + '@trezor/utils': 9.1.0(tslib@2.7.0) + tslib: 2.7.0 + transitivePeerDependencies: + - '@babel/core' + - bufferutil + - encoding + - expo-constants + - expo-localization + - react-native + - supports-color + - utf-8-validate + + '@trezor/connect-web@9.3.0(bufferutil@4.0.8)(encoding@0.1.13)(tslib@2.7.0)(utf-8-validate@5.0.9)': + dependencies: + '@trezor/connect': 9.3.0(bufferutil@4.0.8)(encoding@0.1.13)(tslib@2.7.0)(utf-8-validate@5.0.9) + '@trezor/connect-common': 0.1.0(tslib@2.7.0) + '@trezor/utils': 9.1.0(tslib@2.7.0) + tslib: 2.7.0 + transitivePeerDependencies: + - '@babel/core' + - bufferutil + - encoding + - expo-constants + - expo-localization + - react-native + - supports-color + - utf-8-validate + + '@trezor/connect@9.3.0(@babel/core@7.24.9(supports-color@9.4.0))(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(tslib@2.7.0)(utf-8-validate@5.0.9)': dependencies: - '@trezor/connect': 9.3.0(@babel/core@7.24.9)(bufferutil@4.0.8)(tslib@2.7.0)(utf-8-validate@5.0.9) + '@babel/preset-typescript': 7.24.7(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + '@ethereumjs/common': 4.3.0 + '@ethereumjs/tx': 5.3.0 + '@fivebinaries/coin-selection': 2.2.1 + '@trezor/blockchain-link': 2.2.0(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(tslib@2.7.0)(utf-8-validate@5.0.9) + '@trezor/blockchain-link-types': 1.1.0(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(tslib@2.7.0)(utf-8-validate@5.0.9) + '@trezor/connect-analytics': 1.1.0(tslib@2.7.0) '@trezor/connect-common': 0.1.0(tslib@2.7.0) + '@trezor/protobuf': 1.1.0(tslib@2.7.0) + '@trezor/protocol': 1.1.0(tslib@2.7.0) + '@trezor/schema-utils': 1.1.0(tslib@2.7.0) + '@trezor/transport': 1.2.0(encoding@0.1.13)(tslib@2.7.0) '@trezor/utils': 9.1.0(tslib@2.7.0) + '@trezor/utxo-lib': 2.1.0(tslib@2.7.0) + blakejs: 1.2.1 + bs58: 5.0.0 + bs58check: 3.0.1 + cross-fetch: 4.0.0(encoding@0.1.13) tslib: 2.7.0 transitivePeerDependencies: - '@babel/core' @@ -16972,26 +18300,26 @@ snapshots: - supports-color - utf-8-validate - '@trezor/connect@9.3.0(@babel/core@7.24.9)(bufferutil@4.0.8)(tslib@2.7.0)(utf-8-validate@5.0.9)': + '@trezor/connect@9.3.0(bufferutil@4.0.8)(encoding@0.1.13)(tslib@2.7.0)(utf-8-validate@5.0.9)': dependencies: '@babel/preset-typescript': 7.24.7(@babel/core@7.24.9) '@ethereumjs/common': 4.3.0 '@ethereumjs/tx': 5.3.0 '@fivebinaries/coin-selection': 2.2.1 - '@trezor/blockchain-link': 2.2.0(bufferutil@4.0.8)(tslib@2.7.0)(utf-8-validate@5.0.9) - '@trezor/blockchain-link-types': 1.1.0(bufferutil@4.0.8)(tslib@2.7.0)(utf-8-validate@5.0.9) + '@trezor/blockchain-link': 2.2.0(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(tslib@2.7.0)(utf-8-validate@5.0.9) + '@trezor/blockchain-link-types': 1.1.0(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(tslib@2.7.0)(utf-8-validate@5.0.9) '@trezor/connect-analytics': 1.1.0(tslib@2.7.0) '@trezor/connect-common': 0.1.0(tslib@2.7.0) '@trezor/protobuf': 1.1.0(tslib@2.7.0) '@trezor/protocol': 1.1.0(tslib@2.7.0) '@trezor/schema-utils': 1.1.0(tslib@2.7.0) - '@trezor/transport': 1.2.0(tslib@2.7.0) + '@trezor/transport': 1.2.0(encoding@0.1.13)(tslib@2.7.0) '@trezor/utils': 9.1.0(tslib@2.7.0) '@trezor/utxo-lib': 2.1.0(tslib@2.7.0) blakejs: 1.2.1 bs58: 5.0.0 bs58check: 3.0.1 - cross-fetch: 4.0.0 + cross-fetch: 4.0.0(encoding@0.1.13) tslib: 2.7.0 transitivePeerDependencies: - '@babel/core' @@ -17024,12 +18352,12 @@ snapshots: ts-mixer: 6.0.4 tslib: 2.7.0 - '@trezor/transport@1.2.0(tslib@2.7.0)': + '@trezor/transport@1.2.0(encoding@0.1.13)(tslib@2.7.0)': dependencies: '@trezor/protobuf': 1.1.0(tslib@2.7.0) '@trezor/protocol': 1.1.0(tslib@2.7.0) '@trezor/utils': 9.1.0(tslib@2.7.0) - cross-fetch: 4.0.0 + cross-fetch: 4.0.0(encoding@0.1.13) json-stable-stringify: 1.1.1 long: 4.0.0 protobufjs: 7.2.6 @@ -17066,12 +18394,150 @@ snapshots: varuint-bitcoin: 1.1.2 wif: 4.0.0 - '@twa-dev/sdk@7.10.0(react@18.3.1)': - dependencies: - '@twa-dev/types': 7.10.0 - react: 18.3.1 + '@tronweb3/google-protobuf@3.21.2': {} - '@twa-dev/types@7.10.0': {} + '@tronweb3/tronwallet-abstract-adapter@1.1.7': + dependencies: + eventemitter3: 4.0.7 + + '@tronweb3/tronwallet-adapter-bitkeep@1.1.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)': + dependencies: + '@bitget-wallet/web3-sdk': 0.0.8(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) + '@tronweb3/tronwallet-abstract-adapter': 1.1.7 + '@tronweb3/tronwallet-adapter-tronlink': 1.1.10 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@tronweb3/tronwallet-adapter-gatewallet@1.0.0': + dependencies: + '@tronweb3/tronwallet-abstract-adapter': 1.1.7 + '@tronweb3/tronwallet-adapter-tronlink': 1.1.10 + + '@tronweb3/tronwallet-adapter-imtoken@1.0.0': + dependencies: + '@tronweb3/tronwallet-abstract-adapter': 1.1.7 + '@tronweb3/tronwallet-adapter-tronlink': 1.1.10 + + '@tronweb3/tronwallet-adapter-ledger@1.1.9': + dependencies: + '@ledgerhq/hw-app-trx': 6.29.4 + '@ledgerhq/hw-transport': 6.27.1 + '@ledgerhq/hw-transport-webhid': 6.27.1 + '@tronweb3/tronwallet-abstract-adapter': 1.1.7 + buffer: 6.0.3 + eventemitter3: 4.0.7 + preact: 10.23.1 + + '@tronweb3/tronwallet-adapter-okxwallet@1.0.4': + dependencies: + '@tronweb3/tronwallet-abstract-adapter': 1.1.7 + '@tronweb3/tronwallet-adapter-tronlink': 1.1.10 + + '@tronweb3/tronwallet-adapter-react-hooks@1.1.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@tronweb3/tronwallet-abstract-adapter': 1.1.7 + '@tronweb3/tronwallet-adapter-tronlink': 1.1.10 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@tronweb3/tronwallet-adapter-tokenpocket@1.0.4': + dependencies: + '@tronweb3/tronwallet-abstract-adapter': 1.1.7 + '@tronweb3/tronwallet-adapter-tronlink': 1.1.10 + + '@tronweb3/tronwallet-adapter-tronlink@1.1.10': + dependencies: + '@tronweb3/tronwallet-abstract-adapter': 1.1.7 + + '@tronweb3/tronwallet-adapter-walletconnect@2.0.1(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4)': + dependencies: + '@tronweb3/tronwallet-abstract-adapter': 1.1.7 + '@tronweb3/walletconnect-tron': 3.0.0(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(react@18.3.1)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@wagmi/core': 1.4.13(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@0.3.50(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4) + '@walletconnect/sign-client': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@walletconnect/types': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + viem: 0.3.50(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - encoding + - immer + - react + - supports-color + - typescript + - utf-8-validate + - zod + + '@tronweb3/tronwallet-adapters@1.2.4(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4)': + dependencies: + '@tronweb3/tronwallet-adapter-bitkeep': 1.1.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) + '@tronweb3/tronwallet-adapter-gatewallet': 1.0.0 + '@tronweb3/tronwallet-adapter-imtoken': 1.0.0 + '@tronweb3/tronwallet-adapter-ledger': 1.1.9 + '@tronweb3/tronwallet-adapter-okxwallet': 1.0.4 + '@tronweb3/tronwallet-adapter-tokenpocket': 1.0.4 + '@tronweb3/tronwallet-adapter-tronlink': 1.1.10 + '@tronweb3/tronwallet-adapter-walletconnect': 2.0.1(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - encoding + - immer + - react + - supports-color + - typescript + - utf-8-validate + - zod + + '@tronweb3/walletconnect-tron@3.0.0(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(react@18.3.1)(supports-color@9.4.0)(utf-8-validate@5.0.9)': + dependencies: + '@walletconnect/modal': 2.6.2(@types/react@18.3.8)(react@18.3.1) + '@walletconnect/sign-client': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@walletconnect/utils': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - react + - supports-color + - utf-8-validate '@types/accept-language-parser@1.5.6': {} @@ -17238,6 +18704,10 @@ snapshots: dependencies: undici-types: 5.26.5 + '@types/node@22.7.5': + dependencies: + undici-types: 6.19.8 + '@types/normalize-package-data@2.4.1': {} '@types/npmlog@4.1.4': {} @@ -17401,11 +18871,23 @@ snapshots: - supports-color - typescript + '@typescript-eslint/parser@5.57.0(eslint@8.47.0(supports-color@9.4.0))(supports-color@9.4.0)(typescript@5.5.4)': + dependencies: + '@typescript-eslint/scope-manager': 5.57.0 + '@typescript-eslint/types': 5.57.0 + '@typescript-eslint/typescript-estree': 5.57.0(supports-color@9.4.0)(typescript@5.5.4) + debug: 4.3.4(supports-color@9.4.0) + eslint: 8.47.0(supports-color@9.4.0) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@5.57.0(eslint@8.47.0)(typescript@5.5.4)': dependencies: '@typescript-eslint/scope-manager': 5.57.0 '@typescript-eslint/types': 5.57.0 - '@typescript-eslint/typescript-estree': 5.57.0(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 5.57.0(supports-color@9.4.0)(typescript@5.5.4) debug: 4.3.4(supports-color@9.4.0) eslint: 8.47.0 optionalDependencies: @@ -17499,7 +18981,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@5.57.0(typescript@5.5.4)': + '@typescript-eslint/typescript-estree@5.57.0(supports-color@9.4.0)(typescript@5.5.4)': dependencies: '@typescript-eslint/types': 5.57.0 '@typescript-eslint/visitor-keys': 5.57.0 @@ -17632,6 +19114,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@vitejs/plugin-react@4.3.1(vite@4.5.3(@types/node@22.7.5)(terser@5.31.6))': + dependencies: + '@babel/core': 7.24.9 + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.9) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 4.5.3(@types/node@22.7.5)(terser@5.31.6) + transitivePeerDependencies: + - supports-color + '@volar/language-core@1.11.1': dependencies: '@volar/source-map': 1.11.1 @@ -17674,17 +19167,56 @@ snapshots: '@vue/shared@3.4.38': {} - '@wagmi/connectors@5.1.13(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(@wagmi/core@2.13.7(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9))': + '@wagmi/chains@1.0.0(typescript@5.5.4)': + optionalDependencies: + typescript: 5.5.4 + + '@wagmi/connectors@3.1.11(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@0.3.50(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4)': + dependencies: + '@coinbase/wallet-sdk': 3.9.3(supports-color@9.4.0) + '@safe-global/safe-apps-provider': 0.18.3(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) + '@safe-global/safe-apps-sdk': 8.1.0(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) + '@walletconnect/ethereum-provider': 2.11.0(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@walletconnect/legacy-provider': 2.0.0(encoding@0.1.13) + '@walletconnect/modal': 2.6.2(@types/react@18.3.8)(react@18.3.1) + '@walletconnect/utils': 2.11.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + abitype: 0.8.7(typescript@5.5.4)(zod@3.22.4) + eventemitter3: 4.0.7 + viem: 0.3.50(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - encoding + - react + - supports-color + - utf-8-validate + - zod + + '@wagmi/connectors@5.1.13(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(@wagmi/core@2.13.7(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4)))(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4)': dependencies: '@coinbase/wallet-sdk': 4.0.4 - '@metamask/sdk': 0.28.4(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(utf-8-validate@5.0.9) - '@safe-global/safe-apps-provider': 0.18.3(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9) - '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9) - '@wagmi/core': 2.13.7(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)) - '@walletconnect/ethereum-provider': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.9) + '@metamask/sdk': 0.28.4(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(utf-8-validate@5.0.9) + '@safe-global/safe-apps-provider': 0.18.3(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) + '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) + '@wagmi/core': 2.13.7(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4)) + '@walletconnect/ethereum-provider': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.9) '@walletconnect/modal': 2.6.2(@types/react@18.3.8)(react@18.3.1) - cbw-sdk: '@coinbase/wallet-sdk@3.9.3' - viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9) + cbw-sdk: '@coinbase/wallet-sdk@3.9.3(supports-color@9.4.0)' + viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: @@ -17711,17 +19243,17 @@ snapshots: - utf-8-validate - zod - '@wagmi/connectors@5.1.2(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(@wagmi/core@2.13.1(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9))': + '@wagmi/connectors@5.1.2(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(@wagmi/core@2.13.1(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4)))(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4)': dependencies: '@coinbase/wallet-sdk': 4.0.4 - '@metamask/sdk': 0.27.0(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(utf-8-validate@5.0.9) - '@safe-global/safe-apps-provider': 0.18.3(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9) - '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9) - '@wagmi/core': 2.13.1(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)) - '@walletconnect/ethereum-provider': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.9) + '@metamask/sdk': 0.27.0(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@safe-global/safe-apps-provider': 0.18.3(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) + '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) + '@wagmi/core': 2.13.1(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4)) + '@walletconnect/ethereum-provider': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(utf-8-validate@5.0.9) '@walletconnect/modal': 2.6.2(@types/react@18.3.8)(react@18.3.1) - cbw-sdk: '@coinbase/wallet-sdk@3.9.3' - viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9) + cbw-sdk: '@coinbase/wallet-sdk@3.9.3(supports-color@9.4.0)' + viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: @@ -17748,11 +19280,42 @@ snapshots: - utf-8-validate - zod - '@wagmi/core@2.13.1(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9))': + '@wagmi/core@1.4.13(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@0.3.50(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4)': + dependencies: + '@wagmi/connectors': 3.1.11(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@0.3.50(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4) + abitype: 0.8.7(typescript@5.5.4)(zod@3.22.4) + eventemitter3: 4.0.7 + viem: 0.3.50(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) + zustand: 4.4.1(@types/react@18.3.8)(react@18.3.1) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - encoding + - immer + - react + - supports-color + - utf-8-validate + - zod + + '@wagmi/core@2.13.1(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))': dependencies: eventemitter3: 5.0.1 mipd: 0.0.7(typescript@5.5.4) - viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9) + viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) zustand: 4.4.1(@types/react@18.3.8)(react@18.3.1) optionalDependencies: '@tanstack/query-core': 5.50.1 @@ -17762,11 +19325,11 @@ snapshots: - immer - react - '@wagmi/core@2.13.7(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9))': + '@wagmi/core@2.13.7(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))': dependencies: eventemitter3: 5.0.1 mipd: 0.0.7(typescript@5.5.4) - viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9) + viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) zustand: 4.4.1(@types/react@18.3.8)(react@18.3.1) optionalDependencies: '@tanstack/query-core': 5.50.1 @@ -17805,23 +19368,60 @@ snapshots: '@walletconnect/window-metadata': 1.0.0 detect-browser: 5.2.0 - '@walletconnect/core@2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9)': + '@walletconnect/core@2.11.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9)': + dependencies: + '@walletconnect/heartbeat': 1.2.1 + '@walletconnect/jsonrpc-provider': 1.0.13 + '@walletconnect/jsonrpc-types': 1.0.3 + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/jsonrpc-ws-connection': 1.0.14(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + '@walletconnect/logger': 2.1.2 + '@walletconnect/relay-api': 1.0.11 + '@walletconnect/relay-auth': 1.0.4 + '@walletconnect/safe-json': 1.0.2 + '@walletconnect/time': 1.0.2 + '@walletconnect/types': 2.11.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + '@walletconnect/utils': 2.11.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + events: 3.3.0 + isomorphic-unfetch: 3.1.0(encoding@0.1.13) + lodash.isequal: 4.5.0 + uint8arrays: 3.1.1 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@walletconnect/core@2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9)': dependencies: '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/jsonrpc-ws-connection': 1.0.14(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0) + '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) '@walletconnect/logger': 2.1.2 '@walletconnect/relay-api': 1.0.10 '@walletconnect/relay-auth': 1.0.4 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.14.0(@react-native-async-storage/async-storage@1.24.0) - '@walletconnect/utils': 2.14.0(@react-native-async-storage/async-storage@1.24.0) + '@walletconnect/types': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + '@walletconnect/utils': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) events: 3.3.0 - isomorphic-unfetch: 3.1.0 + isomorphic-unfetch: 3.1.0(encoding@0.1.13) lodash.isequal: 4.5.0 uint8arrays: 3.1.0 transitivePeerDependencies: @@ -17842,21 +19442,21 @@ snapshots: - supports-color - utf-8-validate - '@walletconnect/core@2.16.1(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9)': + '@walletconnect/core@2.16.1(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9)': dependencies: '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/jsonrpc-ws-connection': 1.0.14(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0) + '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) '@walletconnect/logger': 2.1.2 '@walletconnect/relay-api': 1.0.11 '@walletconnect/relay-auth': 1.0.4 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.16.1(@react-native-async-storage/async-storage@1.24.0) - '@walletconnect/utils': 2.16.1(@react-native-async-storage/async-storage@1.24.0) + '@walletconnect/types': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + '@walletconnect/utils': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) events: 3.3.0 lodash.isequal: 4.5.0 uint8arrays: 3.1.0 @@ -17877,21 +19477,36 @@ snapshots: - supports-color - utf-8-validate + '@walletconnect/crypto@1.0.3': + dependencies: + '@walletconnect/encoding': 1.0.2 + '@walletconnect/environment': 1.0.1 + '@walletconnect/randombytes': 1.0.3 + aes-js: 3.1.2 + hash.js: 1.1.7 + tslib: 1.14.1 + + '@walletconnect/encoding@1.0.2': + dependencies: + is-typedarray: 1.0.0 + tslib: 1.14.1 + typedarray-to-buffer: 3.1.5 + '@walletconnect/environment@1.0.1': dependencies: tslib: 1.14.1 - '@walletconnect/ethereum-provider@2.14.0(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.9)': + '@walletconnect/ethereum-provider@2.11.0(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(utf-8-validate@5.0.9)': dependencies: - '@walletconnect/jsonrpc-http-connection': 1.0.8 + '@walletconnect/jsonrpc-http-connection': 1.0.8(encoding@0.1.13) '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/modal': 2.6.2(@types/react@18.3.8)(react@18.3.1) - '@walletconnect/sign-client': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@walletconnect/types': 2.14.0(@react-native-async-storage/async-storage@1.24.0) - '@walletconnect/universal-provider': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@walletconnect/utils': 2.14.0(@react-native-async-storage/async-storage@1.24.0) + '@walletconnect/sign-client': 2.11.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@walletconnect/types': 2.11.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + '@walletconnect/universal-provider': 2.11.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@walletconnect/utils': 2.11.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) events: 3.3.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -17913,17 +19528,49 @@ snapshots: - supports-color - utf-8-validate - '@walletconnect/ethereum-provider@2.16.1(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.9)': + '@walletconnect/ethereum-provider@2.14.0(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(utf-8-validate@5.0.9)': dependencies: - '@walletconnect/jsonrpc-http-connection': 1.0.8 + '@walletconnect/jsonrpc-http-connection': 1.0.8(encoding@0.1.13) '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/modal': 2.6.2(@types/react@18.3.8)(react@18.3.1) - '@walletconnect/sign-client': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@walletconnect/types': 2.16.1(@react-native-async-storage/async-storage@1.24.0) - '@walletconnect/universal-provider': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@walletconnect/utils': 2.16.1(@react-native-async-storage/async-storage@1.24.0) + '@walletconnect/sign-client': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@walletconnect/types': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + '@walletconnect/universal-provider': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@walletconnect/utils': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + events: 3.3.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - encoding + - react + - supports-color + - utf-8-validate + + '@walletconnect/ethereum-provider@2.16.1(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.9)': + dependencies: + '@walletconnect/jsonrpc-http-connection': 1.0.8(encoding@0.1.13) + '@walletconnect/jsonrpc-provider': 1.0.14 + '@walletconnect/jsonrpc-types': 1.0.4 + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/modal': 2.6.2(@types/react@18.3.8)(react@18.3.1) + '@walletconnect/sign-client': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@walletconnect/types': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + '@walletconnect/universal-provider': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) + '@walletconnect/utils': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) events: 3.3.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -17950,27 +19597,44 @@ snapshots: keyvaluestorage-interface: 1.0.0 tslib: 1.14.1 + '@walletconnect/heartbeat@1.2.1': + dependencies: + '@walletconnect/events': 1.0.1 + '@walletconnect/time': 1.0.2 + tslib: 1.14.1 + '@walletconnect/heartbeat@1.2.2': dependencies: '@walletconnect/events': 1.0.1 '@walletconnect/time': 1.0.2 events: 3.3.0 - '@walletconnect/jsonrpc-http-connection@1.0.8': + '@walletconnect/jsonrpc-http-connection@1.0.8(encoding@0.1.13)': dependencies: '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/safe-json': 1.0.2 - cross-fetch: 3.1.8 + cross-fetch: 3.1.8(encoding@0.1.13) events: 3.3.0 transitivePeerDependencies: - encoding + '@walletconnect/jsonrpc-provider@1.0.13': + dependencies: + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/safe-json': 1.0.2 + tslib: 1.14.1 + '@walletconnect/jsonrpc-provider@1.0.14': dependencies: '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/safe-json': 1.0.2 events: 3.3.0 + '@walletconnect/jsonrpc-types@1.0.3': + dependencies: + keyvaluestorage-interface: 1.0.0 + tslib: 1.14.1 + '@walletconnect/jsonrpc-types@1.0.4': dependencies: events: 3.3.0 @@ -17992,11 +19656,11 @@ snapshots: - bufferutil - utf-8-validate - '@walletconnect/keyvaluestorage@1.1.1(@react-native-async-storage/async-storage@1.24.0)': + '@walletconnect/keyvaluestorage@1.1.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0)': dependencies: '@walletconnect/safe-json': 1.0.2 idb-keyval: 6.2.1 - unstorage: 1.10.1(idb-keyval@6.2.1) + unstorage: 1.10.1(idb-keyval@6.2.1)(supports-color@9.4.0) optionalDependencies: '@react-native-async-storage/async-storage': 1.24.0 transitivePeerDependencies: @@ -18013,6 +19677,53 @@ snapshots: - '@vercel/kv' - supports-color + '@walletconnect/legacy-client@2.0.0': + dependencies: + '@walletconnect/crypto': 1.0.3 + '@walletconnect/encoding': 1.0.2 + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/legacy-types': 2.0.0 + '@walletconnect/legacy-utils': 2.0.0 + '@walletconnect/safe-json': 1.0.2 + '@walletconnect/window-getters': 1.0.1 + '@walletconnect/window-metadata': 1.0.1 + detect-browser: 5.3.0 + query-string: 6.14.1 + + '@walletconnect/legacy-modal@2.0.0': + dependencies: + '@walletconnect/legacy-types': 2.0.0 + '@walletconnect/legacy-utils': 2.0.0 + copy-to-clipboard: 3.3.3 + preact: 10.23.1 + qrcode: 1.5.3 + + '@walletconnect/legacy-provider@2.0.0(encoding@0.1.13)': + dependencies: + '@walletconnect/jsonrpc-http-connection': 1.0.8(encoding@0.1.13) + '@walletconnect/jsonrpc-provider': 1.0.14 + '@walletconnect/legacy-client': 2.0.0 + '@walletconnect/legacy-modal': 2.0.0 + '@walletconnect/legacy-types': 2.0.0 + '@walletconnect/legacy-utils': 2.0.0 + transitivePeerDependencies: + - encoding + + '@walletconnect/legacy-types@2.0.0': + dependencies: + '@walletconnect/jsonrpc-types': 1.0.4 + + '@walletconnect/legacy-utils@2.0.0': + dependencies: + '@walletconnect/encoding': 1.0.2 + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/legacy-types': 2.0.0 + '@walletconnect/safe-json': 1.0.2 + '@walletconnect/window-getters': 1.0.1 + '@walletconnect/window-metadata': 1.0.1 + detect-browser: 5.3.0 + query-string: 6.14.1 + '@walletconnect/logger@2.1.2': dependencies: '@walletconnect/safe-json': 1.0.2 @@ -18054,39 +19765,213 @@ snapshots: preact: 10.4.1 qrcode: 1.4.4 + '@walletconnect/randombytes@1.0.3': + dependencies: + '@walletconnect/encoding': 1.0.2 + '@walletconnect/environment': 1.0.1 + randombytes: 2.1.0 + tslib: 1.14.1 + '@walletconnect/relay-api@1.0.10': dependencies: '@walletconnect/jsonrpc-types': 1.0.4 - '@walletconnect/relay-api@1.0.11': + '@walletconnect/relay-api@1.0.11': + dependencies: + '@walletconnect/jsonrpc-types': 1.0.4 + + '@walletconnect/relay-auth@1.0.4': + dependencies: + '@stablelib/ed25519': 1.0.3 + '@stablelib/random': 1.0.2 + '@walletconnect/safe-json': 1.0.2 + '@walletconnect/time': 1.0.2 + tslib: 1.14.1 + uint8arrays: 3.1.1 + + '@walletconnect/safe-json@1.0.0': {} + + '@walletconnect/safe-json@1.0.2': + dependencies: + tslib: 1.14.1 + + '@walletconnect/sign-client@2.11.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9)': + dependencies: + '@walletconnect/core': 2.11.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@walletconnect/events': 1.0.1 + '@walletconnect/heartbeat': 1.2.1 + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/logger': 2.1.2 + '@walletconnect/time': 1.0.2 + '@walletconnect/types': 2.11.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + '@walletconnect/utils': 2.11.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + events: 3.3.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@walletconnect/sign-client@2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9)': + dependencies: + '@walletconnect/core': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@walletconnect/events': 1.0.1 + '@walletconnect/heartbeat': 1.2.2 + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/logger': 2.1.2 + '@walletconnect/time': 1.0.2 + '@walletconnect/types': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + '@walletconnect/utils': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + events: 3.3.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@walletconnect/sign-client@2.16.1(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9)': + dependencies: + '@walletconnect/core': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@walletconnect/events': 1.0.1 + '@walletconnect/heartbeat': 1.2.2 + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/logger': 2.1.2 + '@walletconnect/time': 1.0.2 + '@walletconnect/types': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + '@walletconnect/utils': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + events: 3.3.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - supports-color + - utf-8-validate + + '@walletconnect/solana-adapter-ui@0.0.5(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(@walletconnect/universal-provider@2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9))(react@18.3.1)(supports-color@9.4.0)': + dependencies: + '@walletconnect/universal-provider': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@web3modal/common': 5.0.11 + '@web3modal/core': 5.0.11(@types/react@18.3.8)(react@18.3.1) + '@web3modal/polyfills': 5.0.11 + '@web3modal/scaffold': 5.0.11(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) + '@web3modal/scaffold-utils': 5.0.11(@types/react@18.3.8)(react@18.3.1) + '@web3modal/siwe': 5.0.11(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) + bs58: 5.0.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/kv' + - react + - supports-color + + '@walletconnect/solana-adapter@0.0.5(@react-native-async-storage/async-storage@1.24.0)(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(supports-color@9.4.0)(utf-8-validate@5.0.9)': dependencies: - '@walletconnect/jsonrpc-types': 1.0.4 + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) + '@walletconnect/solana-adapter-ui': 0.0.5(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(@walletconnect/universal-provider@2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9))(react@18.3.1)(supports-color@9.4.0) + '@walletconnect/universal-provider': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@walletconnect/utils': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + bs58: 6.0.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - encoding + - react + - supports-color + - utf-8-validate - '@walletconnect/relay-auth@1.0.4': + '@walletconnect/time@1.0.2': dependencies: - '@stablelib/ed25519': 1.0.3 - '@stablelib/random': 1.0.2 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/time': 1.0.2 tslib: 1.14.1 - uint8arrays: 3.1.1 - '@walletconnect/safe-json@1.0.0': {} + '@walletconnect/types@1.8.0': {} - '@walletconnect/safe-json@1.0.2': + '@walletconnect/types@2.11.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0)': dependencies: - tslib: 1.14.1 + '@walletconnect/events': 1.0.1 + '@walletconnect/heartbeat': 1.2.1 + '@walletconnect/jsonrpc-types': 1.0.3 + '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + '@walletconnect/logger': 2.1.2 + events: 3.3.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/kv' + - supports-color - '@walletconnect/sign-client@2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9)': + '@walletconnect/types@2.12.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0)': dependencies: - '@walletconnect/core': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9) '@walletconnect/events': 1.0.1 - '@walletconnect/heartbeat': 1.2.2 - '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/heartbeat': 1.2.1 + '@walletconnect/jsonrpc-types': 1.0.3 + '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) '@walletconnect/logger': 2.1.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.14.0(@react-native-async-storage/async-storage@1.24.0) - '@walletconnect/utils': 2.14.0(@react-native-async-storage/async-storage@1.24.0) events: 3.3.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -18101,21 +19986,15 @@ snapshots: - '@react-native-async-storage/async-storage' - '@upstash/redis' - '@vercel/kv' - - bufferutil - - encoding - supports-color - - utf-8-validate - '@walletconnect/sign-client@2.16.1(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9)': + '@walletconnect/types@2.14.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0)': dependencies: - '@walletconnect/core': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9) '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.2 - '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/jsonrpc-types': 1.0.4 + '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) '@walletconnect/logger': 2.1.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.16.1(@react-native-async-storage/async-storage@1.24.0) - '@walletconnect/utils': 2.16.1(@react-native-async-storage/async-storage@1.24.0) events: 3.3.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -18130,22 +20009,14 @@ snapshots: - '@react-native-async-storage/async-storage' - '@upstash/redis' - '@vercel/kv' - - bufferutil - supports-color - - utf-8-validate - - '@walletconnect/time@1.0.2': - dependencies: - tslib: 1.14.1 - - '@walletconnect/types@1.8.0': {} - '@walletconnect/types@2.14.0(@react-native-async-storage/async-storage@1.24.0)': + '@walletconnect/types@2.16.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0)': dependencies: '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-types': 1.0.4 - '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0) + '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) '@walletconnect/logger': 2.1.2 events: 3.3.0 transitivePeerDependencies: @@ -18163,13 +20034,16 @@ snapshots: - '@vercel/kv' - supports-color - '@walletconnect/types@2.16.1(@react-native-async-storage/async-storage@1.24.0)': + '@walletconnect/universal-provider@2.11.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9)': dependencies: - '@walletconnect/events': 1.0.1 - '@walletconnect/heartbeat': 1.2.2 + '@walletconnect/jsonrpc-http-connection': 1.0.8(encoding@0.1.13) + '@walletconnect/jsonrpc-provider': 1.0.13 '@walletconnect/jsonrpc-types': 1.0.4 - '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@1.24.0) + '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/logger': 2.1.2 + '@walletconnect/sign-client': 2.11.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@walletconnect/types': 2.11.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + '@walletconnect/utils': 2.11.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) events: 3.3.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -18184,18 +20058,21 @@ snapshots: - '@react-native-async-storage/async-storage' - '@upstash/redis' - '@vercel/kv' + - bufferutil + - encoding - supports-color + - utf-8-validate - '@walletconnect/universal-provider@2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9)': + '@walletconnect/universal-provider@2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9)': dependencies: - '@walletconnect/jsonrpc-http-connection': 1.0.8 + '@walletconnect/jsonrpc-http-connection': 1.0.8(encoding@0.1.13) '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/logger': 2.1.2 - '@walletconnect/sign-client': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@walletconnect/types': 2.14.0(@react-native-async-storage/async-storage@1.24.0) - '@walletconnect/utils': 2.14.0(@react-native-async-storage/async-storage@1.24.0) + '@walletconnect/sign-client': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@walletconnect/types': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + '@walletconnect/utils': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) events: 3.3.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -18215,16 +20092,16 @@ snapshots: - supports-color - utf-8-validate - '@walletconnect/universal-provider@2.16.1(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9)': + '@walletconnect/universal-provider@2.16.1(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)': dependencies: - '@walletconnect/jsonrpc-http-connection': 1.0.8 + '@walletconnect/jsonrpc-http-connection': 1.0.8(encoding@0.1.13) '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/logger': 2.1.2 - '@walletconnect/sign-client': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(utf-8-validate@5.0.9) - '@walletconnect/types': 2.16.1(@react-native-async-storage/async-storage@1.24.0) - '@walletconnect/utils': 2.16.1(@react-native-async-storage/async-storage@1.24.0) + '@walletconnect/sign-client': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9) + '@walletconnect/types': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + '@walletconnect/utils': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) events: 3.3.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -18244,7 +20121,69 @@ snapshots: - supports-color - utf-8-validate - '@walletconnect/utils@2.14.0(@react-native-async-storage/async-storage@1.24.0)': + '@walletconnect/utils@2.11.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0)': + dependencies: + '@stablelib/chacha20poly1305': 1.0.1 + '@stablelib/hkdf': 1.0.1 + '@stablelib/random': 1.0.2 + '@stablelib/sha256': 1.0.1 + '@stablelib/x25519': 1.0.3 + '@walletconnect/relay-api': 1.0.11 + '@walletconnect/safe-json': 1.0.2 + '@walletconnect/time': 1.0.2 + '@walletconnect/types': 2.11.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + '@walletconnect/window-getters': 1.0.1 + '@walletconnect/window-metadata': 1.0.1 + detect-browser: 5.3.0 + query-string: 7.1.3 + uint8arrays: 3.1.1 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/kv' + - supports-color + + '@walletconnect/utils@2.12.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0)': + dependencies: + '@stablelib/chacha20poly1305': 1.0.1 + '@stablelib/hkdf': 1.0.1 + '@stablelib/random': 1.0.2 + '@stablelib/sha256': 1.0.1 + '@stablelib/x25519': 1.0.3 + '@walletconnect/relay-api': 1.0.11 + '@walletconnect/safe-json': 1.0.2 + '@walletconnect/time': 1.0.2 + '@walletconnect/types': 2.12.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + '@walletconnect/window-getters': 1.0.1 + '@walletconnect/window-metadata': 1.0.1 + detect-browser: 5.3.0 + query-string: 7.1.3 + uint8arrays: 3.1.1 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/kv' + - supports-color + + '@walletconnect/utils@2.14.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0)': dependencies: '@stablelib/chacha20poly1305': 1.0.1 '@stablelib/hkdf': 1.0.1 @@ -18254,7 +20193,7 @@ snapshots: '@walletconnect/relay-api': 1.0.10 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.14.0(@react-native-async-storage/async-storage@1.24.0) + '@walletconnect/types': 2.14.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) '@walletconnect/window-getters': 1.0.1 '@walletconnect/window-metadata': 1.0.1 detect-browser: 5.3.0 @@ -18275,7 +20214,7 @@ snapshots: - '@vercel/kv' - supports-color - '@walletconnect/utils@2.16.1(@react-native-async-storage/async-storage@1.24.0)': + '@walletconnect/utils@2.16.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0)': dependencies: '@stablelib/chacha20poly1305': 1.0.1 '@stablelib/hkdf': 1.0.1 @@ -18286,7 +20225,7 @@ snapshots: '@walletconnect/relay-auth': 1.0.4 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.16.1(@react-native-async-storage/async-storage@1.24.0) + '@walletconnect/types': 2.16.1(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) '@walletconnect/window-getters': 1.0.1 '@walletconnect/window-metadata': 1.0.1 detect-browser: 5.3.0 @@ -18323,6 +20262,127 @@ snapshots: '@walletconnect/window-getters': 1.0.1 tslib: 1.14.1 + '@web3modal/common@5.0.11': + dependencies: + bignumber.js: 9.1.2 + dayjs: 1.11.10 + + '@web3modal/core@5.0.11(@types/react@18.3.8)(react@18.3.1)': + dependencies: + '@web3modal/common': 5.0.11 + '@web3modal/wallet': 5.0.11 + valtio: 1.11.2(@types/react@18.3.8)(react@18.3.1) + transitivePeerDependencies: + - '@types/react' + - react + + '@web3modal/polyfills@5.0.11': + dependencies: + buffer: 6.0.3 + + '@web3modal/scaffold-ui@5.0.11(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0)': + dependencies: + '@web3modal/common': 5.0.11 + '@web3modal/core': 5.0.11(@types/react@18.3.8)(react@18.3.1) + '@web3modal/scaffold-utils': 5.0.11(@types/react@18.3.8)(react@18.3.1) + '@web3modal/siwe': 5.0.11(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) + '@web3modal/ui': 5.0.11 + '@web3modal/wallet': 5.0.11 + lit: 3.1.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/kv' + - react + - supports-color + + '@web3modal/scaffold-utils@5.0.11(@types/react@18.3.8)(react@18.3.1)': + dependencies: + '@coinbase/wallet-sdk': 4.0.3 + '@web3modal/core': 5.0.11(@types/react@18.3.8)(react@18.3.1) + '@web3modal/polyfills': 5.0.11 + '@web3modal/wallet': 5.0.11 + valtio: 1.11.2(@types/react@18.3.8)(react@18.3.1) + transitivePeerDependencies: + - '@types/react' + - react + + '@web3modal/scaffold@5.0.11(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0)': + dependencies: + '@web3modal/common': 5.0.11 + '@web3modal/core': 5.0.11(@types/react@18.3.8)(react@18.3.1) + '@web3modal/scaffold-ui': 5.0.11(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) + '@web3modal/scaffold-utils': 5.0.11(@types/react@18.3.8)(react@18.3.1) + '@web3modal/siwe': 5.0.11(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) + '@web3modal/ui': 5.0.11 + '@web3modal/wallet': 5.0.11 + lit: 3.1.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/kv' + - react + - supports-color + + '@web3modal/siwe@5.0.11(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0)': + dependencies: + '@walletconnect/utils': 2.12.0(@react-native-async-storage/async-storage@1.24.0)(supports-color@9.4.0) + '@web3modal/common': 5.0.11 + '@web3modal/core': 5.0.11(@types/react@18.3.8)(react@18.3.1) + '@web3modal/scaffold-utils': 5.0.11(@types/react@18.3.8)(react@18.3.1) + '@web3modal/ui': 5.0.11 + '@web3modal/wallet': 5.0.11 + lit: 3.1.0 + valtio: 1.11.2(@types/react@18.3.8)(react@18.3.1) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/kv' + - react + - supports-color + + '@web3modal/ui@5.0.11': + dependencies: + lit: 3.1.0 + qrcode: 1.5.3 + + '@web3modal/wallet@5.0.11': + dependencies: + '@walletconnect/logger': 2.1.2 + '@web3modal/common': 5.0.11 + '@web3modal/polyfills': 5.0.11 + zod: 3.22.4 + '@webassemblyjs/ast@1.11.1': dependencies: '@webassemblyjs/helper-numbers': 1.11.1 @@ -18579,9 +20639,21 @@ snapshots: jsonparse: 1.3.1 through: 2.3.8 - abitype@1.0.5(typescript@5.5.4): + abitype@0.8.7(typescript@5.5.4)(zod@3.22.4): + dependencies: + typescript: 5.5.4 + optionalDependencies: + zod: 3.22.4 + + abitype@0.9.8(typescript@5.5.4)(zod@3.22.4): + optionalDependencies: + typescript: 5.5.4 + zod: 3.22.4 + + abitype@1.0.5(typescript@5.5.4)(zod@3.22.4): optionalDependencies: typescript: 5.5.4 + zod: 3.22.4 abort-controller@3.0.0: dependencies: @@ -18620,7 +20692,11 @@ snapshots: aes-js@3.0.0: {} - agent-base@6.0.2: + aes-js@3.1.2: {} + + aes-js@4.0.0-beta.5: {} + + agent-base@6.0.2(supports-color@9.4.0): dependencies: debug: 4.3.4(supports-color@9.4.0) transitivePeerDependencies: @@ -18681,6 +20757,27 @@ snapshots: require-from-string: 2.0.2 uri-js: 4.4.1 + alchemy-sdk@3.4.3(bufferutil@4.0.8)(utf-8-validate@5.0.9): + dependencies: + '@ethersproject/abi': 5.7.0 + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/contracts': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/networks': 5.7.1 + '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@ethersproject/units': 5.7.0 + '@ethersproject/wallet': 5.7.0 + '@ethersproject/web': 5.7.1 + axios: 1.7.7 + sturdy-websocket: 0.2.1 + websocket: 1.0.35 + transitivePeerDependencies: + - bufferutil + - debug + - utf-8-validate + ansi-align@3.0.1: dependencies: string-width: 4.2.3 @@ -18954,6 +21051,14 @@ snapshots: transitivePeerDependencies: - debug + axios@1.7.7: + dependencies: + follow-redirects: 1.15.6 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + axobject-query@3.1.1: dependencies: deep-equal: 2.2.3 @@ -19015,6 +21120,15 @@ snapshots: babel-plugin-named-exports-order@0.0.2: {} + babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0): + dependencies: + '@babel/compat-data': 7.24.9 + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.24.9): dependencies: '@babel/compat-data': 7.24.9 @@ -19032,6 +21146,14 @@ snapshots: transitivePeerDependencies: - supports-color + babel-plugin-polyfill-corejs3@0.5.3(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0): + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + core-js-compat: 3.26.1 + transitivePeerDependencies: + - supports-color + babel-plugin-polyfill-corejs3@0.5.3(@babel/core@7.24.9): dependencies: '@babel/core': 7.24.9 @@ -19047,6 +21169,13 @@ snapshots: transitivePeerDependencies: - supports-color + babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0): + dependencies: + '@babel/core': 7.24.9(supports-color@9.4.0) + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.24.9(supports-color@9.4.0))(supports-color@9.4.0) + transitivePeerDependencies: + - supports-color + babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.24.9): dependencies: '@babel/core': 7.24.9 @@ -19095,6 +21224,8 @@ snapshots: base-x@4.0.0: {} + base-x@5.0.0: {} + base64-js@1.5.1: {} base64url@3.0.1: {} @@ -19306,6 +21437,10 @@ snapshots: dependencies: base-x: 4.0.0 + bs58@6.0.0: + dependencies: + base-x: 5.0.0 + bs58check@2.1.2: dependencies: bs58: 4.0.1 @@ -19359,7 +21494,7 @@ snapshots: bullmq@5.12.14: dependencies: cron-parser: 4.9.0 - ioredis: 5.4.1 + ioredis: 5.4.1(supports-color@9.4.0) msgpackr: 1.11.0 node-abort-controller: 3.1.1 semver: 7.6.3 @@ -19445,7 +21580,7 @@ snapshots: cache-manager-ioredis-yet@2.1.1: dependencies: cache-manager: 5.7.6 - ioredis: 5.4.1 + ioredis: 5.4.1(supports-color@9.4.0) telejson: 7.2.0 transitivePeerDependencies: - supports-color @@ -19926,15 +22061,15 @@ snapshots: '@types/luxon': 3.4.2 luxon: 3.4.4 - cross-fetch@3.1.8: + cross-fetch@3.1.8(encoding@0.1.13): dependencies: - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) transitivePeerDependencies: - encoding - cross-fetch@4.0.0: + cross-fetch@4.0.0(encoding@0.1.13): dependencies: - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) transitivePeerDependencies: - encoding @@ -20024,6 +22159,11 @@ snapshots: cyclist@1.0.1: {} + d@1.0.2: + dependencies: + es5-ext: 0.10.64 + type: 2.7.3 + damerau-levenshtein@1.0.8: {} data-view-buffer@1.0.1: @@ -20050,6 +22190,8 @@ snapshots: dateformat@4.6.3: {} + dayjs@1.11.10: {} + de-indent@1.0.2: {} debug@2.6.9: @@ -20329,6 +22471,10 @@ snapshots: encodeurl@1.0.2: {} + encoding@0.1.13: + dependencies: + iconv-lite: 0.6.3 + end-of-stream@1.4.4: dependencies: once: 1.4.0 @@ -20339,7 +22485,7 @@ snapshots: fast-json-parse: 1.0.3 objectorarray: 1.0.5 - engine.io-client@6.5.4(bufferutil@4.0.8)(utf-8-validate@5.0.9): + engine.io-client@6.5.4(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9): dependencies: '@socket.io/component-emitter': 3.1.2 debug: 4.3.4(supports-color@9.4.0) @@ -20547,8 +22693,21 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.0.4 + es5-ext@0.10.64: + dependencies: + es6-iterator: 2.0.3 + es6-symbol: 3.1.4 + esniff: 2.0.1 + next-tick: 1.1.0 + es5-shim@4.6.5: {} + es6-iterator@2.0.3: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-symbol: 3.1.4 + es6-promise@4.2.8: {} es6-promisify@5.0.0: @@ -20557,6 +22716,11 @@ snapshots: es6-shim@0.35.6: {} + es6-symbol@3.1.4: + dependencies: + d: 1.0.2 + ext: 1.7.0 + esbuild@0.18.20: optionalDependencies: '@esbuild/android-arm': 0.18.20 @@ -20644,6 +22808,23 @@ snapshots: transitivePeerDependencies: - supports-color + eslint-config-next@14.2.3(eslint@8.47.0(supports-color@9.4.0))(supports-color@9.4.0)(typescript@5.5.4): + dependencies: + '@next/eslint-plugin-next': 14.2.3 + '@rushstack/eslint-patch': 1.10.3 + '@typescript-eslint/parser': 5.57.0(eslint@8.47.0(supports-color@9.4.0))(supports-color@9.4.0)(typescript@5.5.4) + eslint: 8.47.0(supports-color@9.4.0) + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.5.5(eslint-plugin-import@2.29.1(eslint@8.47.0(supports-color@9.4.0)))(eslint@8.47.0(supports-color@9.4.0))(supports-color@9.4.0) + eslint-plugin-import: 2.29.1(eslint@8.47.0(supports-color@9.4.0)) + eslint-plugin-jsx-a11y: 6.9.0(eslint@8.47.0(supports-color@9.4.0)) + eslint-plugin-react: 7.35.0(eslint@8.47.0(supports-color@9.4.0)) + eslint-plugin-react-hooks: 4.6.0(eslint@8.47.0(supports-color@9.4.0)) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + eslint-config-next@14.2.3(eslint@8.47.0)(typescript@5.5.4): dependencies: '@next/eslint-plugin-next': 14.2.3 @@ -20699,6 +22880,21 @@ snapshots: is-core-module: 2.15.0 resolve: 1.22.8 + eslint-import-resolver-typescript@3.5.5(eslint-plugin-import@2.29.1(eslint@8.47.0(supports-color@9.4.0)))(eslint@8.47.0(supports-color@9.4.0))(supports-color@9.4.0): + dependencies: + debug: 4.3.4(supports-color@9.4.0) + enhanced-resolve: 5.12.0 + eslint: 8.47.0(supports-color@9.4.0) + eslint-module-utils: 2.7.4(eslint@8.47.0(supports-color@9.4.0)) + eslint-plugin-import: 2.29.1(eslint@8.47.0(supports-color@9.4.0)) + get-tsconfig: 4.5.0 + globby: 13.1.3 + is-core-module: 2.11.0 + is-glob: 4.0.3 + synckit: 0.8.5 + transitivePeerDependencies: + - supports-color + eslint-import-resolver-typescript@3.5.5(eslint-plugin-import@2.29.1(eslint@8.47.0))(eslint@8.47.0): dependencies: debug: 4.3.4(supports-color@9.4.0) @@ -20714,12 +22910,24 @@ snapshots: transitivePeerDependencies: - supports-color + eslint-module-utils@2.7.4(eslint@8.47.0(supports-color@9.4.0)): + dependencies: + debug: 3.2.7 + optionalDependencies: + eslint: 8.47.0(supports-color@9.4.0) + eslint-module-utils@2.7.4(eslint@8.47.0): dependencies: debug: 3.2.7 optionalDependencies: eslint: 8.47.0 + eslint-module-utils@2.8.1(eslint@8.47.0(supports-color@9.4.0)): + dependencies: + debug: 3.2.7 + optionalDependencies: + eslint: 8.47.0(supports-color@9.4.0) + eslint-module-utils@2.8.1(eslint@8.47.0): dependencies: debug: 3.2.7 @@ -20734,6 +22942,27 @@ snapshots: lodash: 4.17.21 string-natural-compare: 3.0.1 + eslint-plugin-import@2.29.1(eslint@8.47.0(supports-color@9.4.0)): + dependencies: + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.47.0(supports-color@9.4.0) + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.1(eslint@8.47.0(supports-color@9.4.0)) + hasown: 2.0.2 + is-core-module: 2.15.0 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 + semver: 6.3.1 + tsconfig-paths: 3.15.0 + eslint-plugin-import@2.29.1(eslint@8.47.0): dependencies: array-includes: 3.1.8 @@ -20765,6 +22994,26 @@ snapshots: - supports-color - typescript + eslint-plugin-jsx-a11y@6.9.0(eslint@8.47.0(supports-color@9.4.0)): + dependencies: + aria-query: 5.1.3 + array-includes: 3.1.8 + array.prototype.flatmap: 1.3.2 + ast-types-flow: 0.0.8 + axe-core: 4.9.1 + axobject-query: 3.1.1 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + es-iterator-helpers: 1.0.19 + eslint: 8.47.0(supports-color@9.4.0) + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + safe-regex-test: 1.0.3 + string.prototype.includes: 2.0.0 + eslint-plugin-jsx-a11y@6.9.0(eslint@8.47.0): dependencies: aria-query: 5.1.3 @@ -20795,10 +23044,36 @@ snapshots: '@types/eslint': 8.4.10 eslint-config-prettier: 9.1.0(eslint@8.47.0) + eslint-plugin-react-hooks@4.6.0(eslint@8.47.0(supports-color@9.4.0)): + dependencies: + eslint: 8.47.0(supports-color@9.4.0) + eslint-plugin-react-hooks@4.6.0(eslint@8.47.0): dependencies: eslint: 8.47.0 + eslint-plugin-react@7.35.0(eslint@8.47.0(supports-color@9.4.0)): + dependencies: + array-includes: 3.1.8 + array.prototype.findlast: 1.2.5 + array.prototype.flatmap: 1.3.2 + array.prototype.tosorted: 1.1.4 + doctrine: 2.1.0 + es-iterator-helpers: 1.0.19 + eslint: 8.47.0(supports-color@9.4.0) + estraverse: 5.3.0 + hasown: 2.0.2 + jsx-ast-utils: 3.2.1 + minimatch: 3.1.2 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + object.values: 1.2.0 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.11 + string.prototype.repeat: 1.0.0 + eslint-plugin-react@7.35.0(eslint@8.47.0): dependencies: array-includes: 3.1.8 @@ -20861,9 +23136,51 @@ snapshots: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) '@eslint-community/regexpp': 4.6.2 - '@eslint/eslintrc': 2.1.2 + '@eslint/eslintrc': 2.1.2(supports-color@9.4.0) + '@eslint/js': 8.47.0 + '@humanwhocodes/config-array': 0.11.10(supports-color@9.4.0) + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4(supports-color@9.4.0) + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.19.0 + graphemer: 1.4.0 + ignore: 5.2.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + eslint@8.47.0(supports-color@9.4.0): + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0(supports-color@9.4.0)) + '@eslint-community/regexpp': 4.6.2 + '@eslint/eslintrc': 2.1.2(supports-color@9.4.0) '@eslint/js': 8.47.0 - '@humanwhocodes/config-array': 0.11.10 + '@humanwhocodes/config-array': 0.11.10(supports-color@9.4.0) '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 @@ -20899,6 +23216,13 @@ snapshots: transitivePeerDependencies: - supports-color + esniff@2.0.1: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + event-emitter: 0.3.5 + type: 2.7.3 + espree@9.6.1: dependencies: acorn: 8.10.0 @@ -20921,7 +23245,7 @@ snapshots: estree-to-babel@3.2.1: dependencies: - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.3(supports-color@9.4.0) '@babel/types': 7.25.2 c8: 7.11.0 transitivePeerDependencies: @@ -20933,11 +23257,11 @@ snapshots: etag@1.8.1: {} - eth-block-tracker@7.1.0: + eth-block-tracker@7.1.0(supports-color@9.4.0): dependencies: - '@metamask/eth-json-rpc-provider': 1.0.1 + '@metamask/eth-json-rpc-provider': 1.0.1(supports-color@9.4.0) '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 5.0.2 + '@metamask/utils': 5.0.2(supports-color@9.4.0) json-rpc-random-id: 1.0.1 pify: 3.0.0 transitivePeerDependencies: @@ -21003,12 +23327,32 @@ snapshots: - bufferutil - utf-8-validate + ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.9): + dependencies: + '@adraffy/ens-normalize': 1.10.1 + '@noble/curves': 1.2.0 + '@noble/hashes': 1.3.2 + '@types/node': 22.7.5 + aes-js: 4.0.0-beta.5 + tslib: 2.7.0 + ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.9) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + ev-emitter@2.1.2: {} + event-emitter@0.3.5: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + event-target-shim@5.0.1: {} eventemitter2@6.4.9: {} + eventemitter3@3.1.2: {} + eventemitter3@4.0.7: {} eventemitter3@5.0.1: {} @@ -21110,6 +23454,10 @@ snapshots: utils-merge: 1.0.1 vary: 1.1.2 + ext@1.7.0: + dependencies: + type: 2.7.3 + extend-shallow@2.0.1: dependencies: is-extendable: 0.1.1 @@ -21923,9 +24271,9 @@ snapshots: https-browserify@1.0.0: {} - https-proxy-agent@5.0.0: + https-proxy-agent@5.0.0(supports-color@9.4.0): dependencies: - agent-base: 6.0.2 + agent-base: 6.0.2(supports-color@9.4.0) debug: 4.3.4(supports-color@9.4.0) transitivePeerDependencies: - supports-color @@ -21950,6 +24298,10 @@ snapshots: dependencies: safer-buffer: 2.1.2 + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + icss-utils@4.1.1: dependencies: postcss: 7.0.39 @@ -22064,7 +24416,7 @@ snapshots: dependencies: loose-envify: 1.4.0 - ioredis@5.4.1: + ioredis@5.4.1(supports-color@9.4.0): dependencies: '@ioredis/commands': 1.2.0 cluster-key-slot: 1.1.2 @@ -22360,9 +24712,9 @@ snapshots: isobject@4.0.0: {} - isomorphic-unfetch@3.1.0: + isomorphic-unfetch@3.1.0(encoding@0.1.13): dependencies: - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) unfetch: 4.2.0 transitivePeerDependencies: - encoding @@ -22371,6 +24723,14 @@ snapshots: dependencies: ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.9) + isomorphic-ws@5.0.0(ws@8.12.0(bufferutil@4.0.8)(utf-8-validate@5.0.9)): + dependencies: + ws: 8.12.0(bufferutil@4.0.8)(utf-8-validate@5.0.9) + + isows@1.0.3(ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.9)): + dependencies: + ws: 8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.9) + isows@1.0.4(ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.9)): dependencies: ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.9) @@ -22674,7 +25034,7 @@ snapshots: transitivePeerDependencies: - enquirer - lint-staged@13.0.3: + lint-staged@13.0.3(supports-color@9.4.0): dependencies: cli-truncate: 3.1.0 colorette: 2.0.19 @@ -22741,16 +25101,32 @@ snapshots: '@lit/reactive-element': 1.6.1 lit-html: 2.8.0 + lit-element@4.1.1: + dependencies: + '@lit-labs/ssr-dom-shim': 1.2.1 + '@lit/reactive-element': 2.0.4 + lit-html: 3.2.1 + lit-html@2.8.0: dependencies: '@types/trusted-types': 2.0.3 + lit-html@3.2.1: + dependencies: + '@types/trusted-types': 2.0.3 + lit@2.8.0: dependencies: '@lit/reactive-element': 1.6.1 lit-element: 3.3.1 lit-html: 2.8.0 + lit@3.1.0: + dependencies: + '@lit/reactive-element': 2.0.4 + lit-element: 4.1.1 + lit-html: 3.2.1 + load-json-file@1.1.0: dependencies: graceful-fs: 4.2.11 @@ -23207,7 +25583,9 @@ snapshots: nested-error-stacks@2.1.0: {} - next@14.1.4(@babel/core@7.24.9)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next-tick@1.1.0: {} + + next@14.1.4(@babel/core@7.24.9(supports-color@9.4.0))(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@next/env': 14.1.4 '@swc/helpers': 0.5.2 @@ -23217,7 +25595,7 @@ snapshots: postcss: 8.4.31 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - styled-jsx: 5.1.1(@babel/core@7.24.9)(react@18.3.1) + styled-jsx: 5.1.1(@babel/core@7.24.9(supports-color@9.4.0))(react@18.3.1) optionalDependencies: '@next/swc-darwin-arm64': 14.1.4 '@next/swc-darwin-x64': 14.1.4 @@ -23262,9 +25640,11 @@ snapshots: node-fetch-native@1.4.1: {} - node-fetch@2.7.0: + node-fetch@2.7.0(encoding@0.1.13): dependencies: whatwg-url: 5.0.0 + optionalDependencies: + encoding: 0.1.13 node-forge@1.3.1: {} @@ -24058,6 +26438,13 @@ snapshots: dependencies: side-channel: 1.0.6 + query-string@6.14.1: + dependencies: + decode-uri-component: 0.2.2 + filter-obj: 1.1.0 + split-on-first: 1.1.0 + strict-uri-encode: 2.0.0 + query-string@7.1.3: dependencies: decode-uri-component: 0.2.2 @@ -24244,7 +26631,7 @@ snapshots: dependencies: '@babel/runtime': 7.25.0 '@emotion/cache': 11.13.1 - '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1) + '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) '@floating-ui/dom': 1.5.3 '@types/react-transition-group': 4.4.5 memoize-one: 6.0.0 @@ -24609,12 +26996,12 @@ snapshots: bignumber.js: 9.1.2 lodash: 4.17.21 - ripple-lib@1.10.1(bufferutil@4.0.8)(utf-8-validate@5.0.9): + ripple-lib@1.10.1(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9): dependencies: '@types/lodash': 4.17.7 '@types/ws': 7.4.7 bignumber.js: 9.1.2 - https-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.0(supports-color@9.4.0) jsonschema: 1.2.2 lodash: 4.17.21 ripple-address-codec: 4.3.1 @@ -24716,10 +27103,10 @@ snapshots: safer-buffer@2.1.2: {} - salmon-adapter-sdk@1.1.1(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)): + salmon-adapter-sdk@1.1.1(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)): dependencies: - '@project-serum/sol-wallet-adapter': 0.2.6(@solana/web3.js@1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9)) - '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(utf-8-validate@5.0.9) + '@project-serum/sol-wallet-adapter': 0.2.6(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)) + '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) eventemitter3: 4.0.7 sane@4.1.0: @@ -24953,27 +27340,27 @@ snapshots: source-map-resolve: 0.5.3 use: 3.1.1 - socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@5.0.9): + socket.io-client@4.7.5(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9): dependencies: '@socket.io/component-emitter': 3.1.2 debug: 4.3.4(supports-color@9.4.0) - engine.io-client: 6.5.4(bufferutil@4.0.8)(utf-8-validate@5.0.9) - socket.io-parser: 4.2.4 + engine.io-client: 6.5.4(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@5.0.9) + socket.io-parser: 4.2.4(supports-color@9.4.0) transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - socket.io-parser@4.2.4: + socket.io-parser@4.2.4(supports-color@9.4.0): dependencies: '@socket.io/component-emitter': 3.1.2 debug: 4.3.4(supports-color@9.4.0) transitivePeerDependencies: - supports-color - socks-proxy-agent@6.1.1: + socks-proxy-agent@6.1.1(supports-color@9.4.0): dependencies: - agent-base: 6.0.2 + agent-base: 6.0.2(supports-color@9.4.0) debug: 4.3.4(supports-color@9.4.0) socks: 2.8.3 transitivePeerDependencies: @@ -25251,6 +27638,8 @@ snapshots: strip-json-comments@3.1.1: {} + sturdy-websocket@0.2.1: {} + style-loader@1.3.0(webpack@4.46.0): dependencies: loader-utils: 2.0.4 @@ -25267,12 +27656,12 @@ snapshots: dependencies: inline-style-parser: 0.1.1 - styled-jsx@5.1.1(@babel/core@7.24.9)(react@18.3.1): + styled-jsx@5.1.1(@babel/core@7.24.9(supports-color@9.4.0))(react@18.3.1): dependencies: client-only: 0.0.1 react: 18.3.1 optionalDependencies: - '@babel/core': 7.24.9 + '@babel/core': 7.24.9(supports-color@9.4.0) stylis@4.2.0: {} @@ -25502,6 +27891,22 @@ snapshots: trim@0.0.1: {} + tronweb@6.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.9): + dependencies: + '@babel/runtime': 7.25.0 + '@tronweb3/google-protobuf': 3.21.2 + axios: 1.7.7 + bignumber.js: 9.1.2 + ethereum-cryptography: 2.2.1 + ethers: 6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.9) + eventemitter3: 3.1.2 + semver: 5.7.1 + validator: 13.12.0 + transitivePeerDependencies: + - bufferutil + - debug + - utf-8-validate + trough@1.0.5: {} ts-api-utils@1.3.0(typescript@5.5.4): @@ -25589,6 +27994,8 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 + type@2.7.3: {} + typed-array-buffer@1.0.2: dependencies: call-bind: 1.0.7 @@ -25673,6 +28080,8 @@ snapshots: undici-types@5.26.5: {} + undici-types@6.19.8: {} + unenv@1.8.0: dependencies: consola: 3.2.3 @@ -25771,13 +28180,13 @@ snapshots: has-value: 0.3.1 isobject: 3.0.1 - unstorage@1.10.1(idb-keyval@6.2.1): + unstorage@1.10.1(idb-keyval@6.2.1)(supports-color@9.4.0): dependencies: anymatch: 3.1.3 chokidar: 3.5.3 destr: 2.0.2 h3: 1.9.0 - ioredis: 5.4.1 + ioredis: 5.4.1(supports-color@9.4.0) listhen: 1.5.5 lru-cache: 10.4.3 mri: 1.2.0 @@ -25957,14 +28366,48 @@ snapshots: unist-util-stringify-position: 2.0.3 vfile-message: 2.0.4 - viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9): + viem@0.3.50(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4): + 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.5.4) + abitype: 0.8.7(typescript@5.5.4)(zod@3.22.4) + isomorphic-ws: 5.0.0(ws@8.12.0(bufferutil@4.0.8)(utf-8-validate@5.0.9)) + ws: 8.12.0(bufferutil@4.0.8)(utf-8-validate@5.0.9) + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + + viem@1.21.4(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4): + dependencies: + '@adraffy/ens-normalize': 1.10.0 + '@noble/curves': 1.2.0 + '@noble/hashes': 1.3.2 + '@scure/bip32': 1.3.2 + '@scure/bip39': 1.2.1 + abitype: 0.9.8(typescript@5.5.4)(zod@3.22.4) + isows: 1.0.3(ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.9)) + ws: 8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.9) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + + viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4): 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.4.0 - abitype: 1.0.5(typescript@5.5.4) + abitype: 1.0.5(typescript@5.5.4)(zod@3.22.4) isows: 1.0.4(ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.9)) webauthn-p256: 0.0.5 ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.9) @@ -25996,6 +28439,23 @@ snapshots: - rollup - supports-color + vite-plugin-dts@3.9.1(@types/node@22.7.5)(rollup@3.29.4)(typescript@5.5.4)(vite@4.5.3(@types/node@22.7.5)(terser@5.31.6)): + dependencies: + '@microsoft/api-extractor': 7.43.0(@types/node@22.7.5) + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@vue/language-core': 1.8.27(typescript@5.5.4) + debug: 4.3.4(supports-color@9.4.0) + kolorist: 1.8.0 + magic-string: 0.30.11 + typescript: 5.5.4 + vue-tsc: 1.8.27(typescript@5.5.4) + optionalDependencies: + vite: 4.5.3(@types/node@22.7.5)(terser@5.31.6) + transitivePeerDependencies: + - '@types/node' + - rollup + - supports-color + vite@4.5.3(@types/node@20.11.21)(terser@5.31.6): dependencies: esbuild: 0.18.20 @@ -26006,6 +28466,16 @@ snapshots: fsevents: 2.3.3 terser: 5.31.6 + vite@4.5.3(@types/node@22.7.5)(terser@5.31.6): + dependencies: + esbuild: 0.18.20 + postcss: 8.4.31 + rollup: 3.29.4 + optionalDependencies: + '@types/node': 22.7.5 + fsevents: 2.3.3 + terser: 5.31.6 + vm-browserify@1.1.2: {} vue-template-compiler@2.7.16: @@ -26020,14 +28490,14 @@ snapshots: semver: 7.6.3 typescript: 5.5.4 - wagmi@2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)): + wagmi@2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4): dependencies: '@tanstack/react-query': 5.50.1(react@18.3.1) - '@wagmi/connectors': 5.1.13(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(@wagmi/core@2.13.7(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)) - '@wagmi/core': 2.13.7(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)) + '@wagmi/connectors': 5.1.13(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(@wagmi/core@2.13.7(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4)))(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4) + '@wagmi/core': 2.13.7(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4)) react: 18.3.1 use-sync-external-store: 1.2.0(react@18.3.1) - viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9) + viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: @@ -26055,14 +28525,14 @@ snapshots: - utf-8-validate - zod - wagmi@2.12.2(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)): + wagmi@2.12.2(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4): dependencies: '@tanstack/react-query': 5.50.1(react@18.3.1) - '@wagmi/connectors': 5.1.2(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(@wagmi/core@2.13.1(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)) - '@wagmi/core': 2.13.1(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)) + '@wagmi/connectors': 5.1.2(@react-native-async-storage/async-storage@1.24.0)(@types/react@18.3.8)(@wagmi/core@2.13.1(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4)))(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4) + '@wagmi/core': 2.13.1(@tanstack/query-core@5.50.1)(@types/react@18.3.8)(react@18.3.1)(typescript@5.5.4)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4)) react: 18.3.1 use-sync-external-store: 1.2.0(react@18.3.1) - viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9) + viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: @@ -26279,6 +28749,15 @@ snapshots: rtcpeerconnection-shim: 1.2.15 sdp: 2.12.0 + websocket@1.0.35: + dependencies: + bufferutil: 4.0.8 + debug: 2.6.9 + es5-ext: 0.10.64 + typedarray-to-buffer: 3.1.5 + utf-8-validate: 5.0.9 + yaeti: 0.0.6 + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 @@ -26408,6 +28887,16 @@ snapshots: bufferutil: 4.0.8 utf-8-validate: 5.0.9 + ws@8.12.0(bufferutil@4.0.8)(utf-8-validate@5.0.9): + optionalDependencies: + bufferutil: 4.0.8 + utf-8-validate: 5.0.9 + + ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.9): + optionalDependencies: + bufferutil: 4.0.8 + utf-8-validate: 5.0.9 + ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.9): optionalDependencies: bufferutil: 4.0.8 @@ -26425,6 +28914,8 @@ snapshots: y18n@5.0.8: {} + yaeti@0.0.6: {} + yallist@3.1.1: {} yallist@4.0.0: {} @@ -26504,6 +28995,8 @@ snapshots: optionalDependencies: commander: 9.5.0 + zod@3.22.4: {} + zustand@4.4.1(@types/react@18.3.8)(react@18.3.1): dependencies: use-sync-external-store: 1.2.0(react@18.3.1) diff --git a/packages/canonical-bridge-sdk/package.json b/packages/canonical-bridge-sdk/package.json index d78354dc..4f64f1e0 100644 --- a/packages/canonical-bridge-sdk/package.json +++ b/packages/canonical-bridge-sdk/package.json @@ -33,8 +33,6 @@ "viem": "^2" }, "devDependencies": { - "@node-real/walletkit": "2.3.0-alpha.2", - "@tanstack/react-query": "~5.50.1", "@types/react": "^18", "@types/react-dom": "^18", "@vitejs/plugin-react": "^4.2.0", @@ -45,7 +43,6 @@ "typescript": "^5", "viem": "~2.21.14", "vite": "^4.5.0", - "vite-plugin-dts": "^3.6.3", - "wagmi": "^2" + "vite-plugin-dts": "^3.6.3" } } diff --git a/packages/canonical-bridge-sdk/src/core/index.ts b/packages/canonical-bridge-sdk/src/core/index.ts index b625b903..c196e87b 100644 --- a/packages/canonical-bridge-sdk/src/core/index.ts +++ b/packages/canonical-bridge-sdk/src/core/index.ts @@ -10,9 +10,15 @@ import { IGetAllowanceInput, IGetTokenBalanceInput, } from '@/core/types'; -import { DeBridge, DeBridgeConfig } from '@/debridge'; +import { + DeBridge, + DeBridgeConfig, + IDeBridgeEstimatedFeesInput, +} from '@/debridge'; import { Stargate } from '@/stargate'; import { Hash, type PublicClient, type WalletClient } from 'viem'; +import { Meson } from '@/meson'; +import { IGetMesonEstimateFeeInput } from '@/meson/types'; export * from './types'; @@ -25,6 +31,7 @@ export class CanonicalBridgeSDK { deBridge!: DeBridge; stargate!: Stargate; layerZero!: LayerZero; + meson!: Meson; private options: CanonicalBridgeSDKOptions; @@ -47,6 +54,10 @@ export class CanonicalBridgeSDK { (item) => item.bridgeType === 'layerZero' ); + const mesonConfig = options.bridgeConfigs.find( + (item) => item.bridgeType === 'meson' + ); + if (cBridgeConfig) { this.cBridge = new CBridge(cBridgeConfig); } @@ -59,6 +70,9 @@ export class CanonicalBridgeSDK { if (layerZeroConfig) { this.layerZero = new LayerZero(); } + if (mesonConfig) { + this.meson = new Meson(mesonConfig); + } this.options = options; } @@ -163,13 +177,12 @@ export class CanonicalBridgeSDK { } /** - * To load all bridge fees at once and return the fee information in the specified order - * [deBridge, cBridge, stargate, layerZero] + * Load bridge fees and return fee information in the following order + * [deBridge, cBridge, stargate, layerZero, meson] */ async loadBridgeFees({ bridgeType, fromChainId, - fromTokenAddress, fromAccount, toChainId, sendValue, @@ -177,48 +190,34 @@ export class CanonicalBridgeSDK { publicClient, endPointId, bridgeAddress, - toTokenAddress, - toAccount, isPegged, slippage, - deBridgeAccessToken, + mesonOpts, + deBridgeOpts, }: { bridgeType: BridgeType[]; fromChainId: number; - fromTokenAddress: `0x${string}`; fromAccount: `0x${string}`; toChainId: number; sendValue: bigint; fromTokenSymbol: string; - publicClient: PublicClient; + publicClient?: PublicClient; endPointId?: BridgeEndpointId; bridgeAddress?: BridgeAddress; - toTokenAddress?: `0x${string}`; - toAccount?: `0x${string}`; isPegged?: boolean; slippage?: number; - deBridgeAccessToken?: string; + mesonOpts?: IGetMesonEstimateFeeInput; + deBridgeOpts?: IDeBridgeEstimatedFeesInput; }) { + // deBridge const promiseArr = []; - if ( - this.deBridge && - toAccount && - toTokenAddress && - bridgeType.includes('deBridge') - ) { - const debridgeFeeAPICall = this.deBridge.getEstimatedFees({ - fromChainId, - fromTokenAddress, - amount: sendValue, - toChainId, - toTokenAddress, - userAddress: toAccount, - accesstoken: deBridgeAccessToken, - }); + if (this.deBridge && deBridgeOpts && bridgeType.includes('deBridge')) { + const debridgeFeeAPICall = this.deBridge.getEstimatedFees(deBridgeOpts); promiseArr.push(debridgeFeeAPICall); } else { promiseArr.push(new Promise((reject) => reject(null))); } + // cBridge if (this.cBridge && slippage && bridgeType.includes('cBridge')) { const cBridgeFeeAPICall = this.cBridge.getEstimatedAmount({ src_chain_id: fromChainId, @@ -233,11 +232,13 @@ export class CanonicalBridgeSDK { } else { promiseArr.push(new Promise((reject) => reject(null))); } + // stargate if ( this.stargate && bridgeAddress?.stargate && endPointId?.layerZeroV2 && - bridgeType.includes('stargate') + bridgeType.includes('stargate') && + !!publicClient ) { const stargateFeeAPICall = this.stargate.getQuoteOFT({ publicClient: publicClient, @@ -250,11 +251,13 @@ export class CanonicalBridgeSDK { } else { promiseArr.push(new Promise((reject) => reject(null))); } + // layerZero if ( this.layerZero && bridgeAddress?.layerZero && endPointId?.layerZeroV1 && - bridgeType.includes('layerZero') + bridgeType.includes('layerZero') && + !!publicClient ) { const layerZeroFeeAPICall = this.layerZero.getEstimateFee({ bridgeAddress: bridgeAddress.layerZero, @@ -267,6 +270,13 @@ export class CanonicalBridgeSDK { } else { promiseArr.push(new Promise((reject) => reject(null))); } + // meson + if (this.meson && mesonOpts && bridgeType.includes('meson')) { + const mesonFeeAPICall = this.meson.getEstimatedFees(mesonOpts); + promiseArr.push(mesonFeeAPICall); + } else { + promiseArr.push(new Promise((reject) => reject(null))); + } return await Promise.allSettled(promiseArr); } diff --git a/packages/canonical-bridge-sdk/src/core/types/index.ts b/packages/canonical-bridge-sdk/src/core/types/index.ts index 81547fb8..5d69f40d 100644 --- a/packages/canonical-bridge-sdk/src/core/types/index.ts +++ b/packages/canonical-bridge-sdk/src/core/types/index.ts @@ -1,6 +1,11 @@ import { type PublicClient, type WalletClient } from 'viem'; -export type BridgeType = 'cBridge' | 'deBridge' | 'stargate' | 'layerZero'; +export type BridgeType = + | 'cBridge' + | 'deBridge' + | 'stargate' + | 'layerZero' + | 'meson'; export interface BaseBridgeConfigOptions { timeout?: number; diff --git a/packages/canonical-bridge-sdk/src/index.ts b/packages/canonical-bridge-sdk/src/index.ts index 721e1e13..fcd6fd30 100644 --- a/packages/canonical-bridge-sdk/src/index.ts +++ b/packages/canonical-bridge-sdk/src/index.ts @@ -3,3 +3,4 @@ export * from './core'; export * from './debridge'; export * from './layerZero'; export * from './stargate'; +export * from './meson'; diff --git a/packages/canonical-bridge-sdk/src/meson/index.ts b/packages/canonical-bridge-sdk/src/meson/index.ts new file mode 100644 index 00000000..01b7385f --- /dev/null +++ b/packages/canonical-bridge-sdk/src/meson/index.ts @@ -0,0 +1,101 @@ +import axios, { AxiosInstance } from 'axios'; +import { + IGetMesonEstimateFeeInput, + IMesonEncodeSwapInput, + IMesonSendTokenInput, +} from '@/meson/types'; +import { BaseBridgeConfig } from '@/core'; + +export class Meson { + private client?: AxiosInstance; + + constructor(config: BaseBridgeConfig) { + const { timeout, endpoint } = config; + + this.client = axios.create({ + timeout, + baseURL: endpoint, + }); + } + + async getEstimatedFees({ + fromToken, + toToken, + amount, + fromAddr, + }: IGetMesonEstimateFeeInput) { + try { + const { data: priceResponse } = await this.client!.post('/price', { + from: fromToken, + to: toToken, + amount: amount, + fromAddress: fromAddr, + fromContract: false, + }); + return priceResponse; + } catch (error: any) { + // eslint-disable-next-line no-console + if (error?.response.data) { + console.log('Meson fee error', error?.response.data); + return error?.response?.data; + } else { + throw new Error(`Failed to get Meson fees ${error}`); + } + } + } + + async sendToken({ + fromAddress, + recipient, + signature, + encodedData, + }: IMesonSendTokenInput) { + try { + const { data: swapResponse } = await this.client!.post( + `/swap/${encodedData}`, + { + fromAddress: fromAddress, + recipient: recipient, + signature: signature, + } + ); + return swapResponse; + } catch (error: any) { + // eslint-disable-next-line no-console + if (error?.response.data) { + console.log('Meson send token error', error?.response.data); + return error?.response?.data; + } else { + throw new Error(`Failed to send transaction ${error}`); + } + } + } + + async getUnsignedMessage({ + fromToken, + toToken, + amount, + fromAddress, + recipient, + }: IMesonEncodeSwapInput) { + try { + const { data: swapResponse } = await this.client!.post('/swap', { + from: fromToken, + to: toToken, + amount: amount, + fromAddress: fromAddress, + recipient: recipient, + dataToContract: '', + }); + return swapResponse; + } catch (error: any) { + // eslint-disable-next-line no-console + if (error?.response.data) { + console.log('Meson get unsigned message error', error?.response.data); + return error?.response?.data; + } else { + throw new Error(`Failed to get unsigned message ${error}`); + } + } + } +} diff --git a/packages/canonical-bridge-sdk/src/meson/types.ts b/packages/canonical-bridge-sdk/src/meson/types.ts new file mode 100644 index 00000000..790ff7c7 --- /dev/null +++ b/packages/canonical-bridge-sdk/src/meson/types.ts @@ -0,0 +1,21 @@ +export interface IGetMesonEstimateFeeInput { + fromToken: string; + toToken: string; + fromAddr: string; + amount: string; +} + +export interface IMesonEncodeSwapInput { + fromToken: string; + toToken: string; + amount: string; + fromAddress: string; + recipient: string; +} + +export interface IMesonSendTokenInput { + fromAddress: string; + recipient: string; + signature: string; + encodedData: string; +} diff --git a/packages/canonical-bridge-sdk/src/meson/types/index.ts b/packages/canonical-bridge-sdk/src/meson/types/index.ts new file mode 100644 index 00000000..8be3f09e --- /dev/null +++ b/packages/canonical-bridge-sdk/src/meson/types/index.ts @@ -0,0 +1,6 @@ +export interface IGetMesonEstimateFeeInput { + fromToken: string; + toToken: string; + fromAddr: string; + amount: string; +} diff --git a/packages/canonical-bridge-widget/package.json b/packages/canonical-bridge-widget/package.json index 5f586bf1..7d7501a4 100644 --- a/packages/canonical-bridge-widget/package.json +++ b/packages/canonical-bridge-widget/package.json @@ -45,13 +45,14 @@ "@bnb-chain/space": "workspace:*", "@emotion/react": "~11.13.0", "@emotion/styled": "~11.13.0", - "@node-real/walletkit": "2.3.6-alpha.0", + "@node-real/walletkit": "2.4.0-alpha.8", "@tanstack/react-query": "~5.50.1", "@types/lodash": "~4.17.7", "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", "@vitejs/plugin-react": "^4.3.1", + "alchemy-sdk": "~3.4.1", "axios": "~1.6.8", "eslint": "^8.8.0", "eslint-config-next": "14.2.3", @@ -73,6 +74,9 @@ "vite-plugin-dts": "^3.9.1", "wagmi": "~2.12.14" }, + "dependencies": { + "tronweb": "~6.0.0" + }, "lint-staged": { "*.{js,jsx,ts,tsx}": [ "eslint --fix", diff --git a/packages/canonical-bridge-widget/src/CanonicalBridgeProvider.tsx b/packages/canonical-bridge-widget/src/CanonicalBridgeProvider.tsx index eb8fe151..c542a171 100644 --- a/packages/canonical-bridge-widget/src/CanonicalBridgeProvider.tsx +++ b/packages/canonical-bridge-widget/src/CanonicalBridgeProvider.tsx @@ -7,6 +7,8 @@ import { StoreProvider } from '@/modules/store/StoreProvider'; import { WalletProvider } from '@/modules/wallet/WalletProvider'; import { ThemeProvider, ThemeProviderProps } from '@/core/theme/ThemeProvider'; import { AggregatorProvider } from '@/modules/aggregator/components/AggregatorProvider'; +import { TokenBalancesProvider } from '@/modules/aggregator/components/TokenBalancesProvider'; +import { TokenPricesProvider } from '@/modules/aggregator/components/TokenPricesProvider'; export interface ICanonicalBridgeConfig { appName: string; @@ -29,6 +31,7 @@ export interface ICanonicalBridgeConfig { apiTimeOut?: number; deBridgeAccessToken?: string; serverEndpoint: string; + mesonEndpoint?: string; }; } @@ -71,6 +74,7 @@ export function CanonicalBridgeProvider(props: CanonicalBridgeProviderProvider) refetchingInterval: 30000, apiTimeOut: 60000, deBridgeAccessToken: '', + mesonEndpoint: 'https://relayer.meson.fi/api/v1', ...config.http, }, @@ -81,15 +85,17 @@ export function CanonicalBridgeProvider(props: CanonicalBridgeProviderProvider) return ( - - - - + + + + + + {children} - - - - + + + + ); diff --git a/packages/canonical-bridge-widget/src/core/constants/index.ts b/packages/canonical-bridge-widget/src/core/constants/index.ts index 11ae7654..8a88d8bb 100644 --- a/packages/canonical-bridge-widget/src/core/constants/index.ts +++ b/packages/canonical-bridge-widget/src/core/constants/index.ts @@ -5,11 +5,14 @@ const BridgeList = ['cBridge', 'deBridge']; export const EXPLORER_URL: Record = { cBridge: 'https://celerscan.com/tx/', deBridge: 'https://app.debridge.finance/orders?s=', + // meson: 'https://testnet-explorer.meson.fi/swap/', + meson: 'https://explorer.meson.fi//swap/', }; export const STARGATE_QUEUE_URL = 'https://mainnet.stargate-api.com/v1/buses/bus-drive-settings'; export const DEFAULT_ADDRESS = '0x6836CbaCbBd1E798cC56802AC7d8BDf6Da0d0980'; +export const DEFAULT_TRON_ADDRESS = 'TTb3A6ASFejJuGcM1UVcRCJA23WGiJKSiY'; export const nativeTokenMap = { 1: 'ETH', diff --git a/packages/canonical-bridge-widget/src/core/contract/hooks/useGetAllowance.ts b/packages/canonical-bridge-widget/src/core/contract/hooks/useGetAllowance.ts index f44dbad2..59bc1b98 100644 --- a/packages/canonical-bridge-widget/src/core/contract/hooks/useGetAllowance.ts +++ b/packages/canonical-bridge-widget/src/core/contract/hooks/useGetAllowance.ts @@ -48,7 +48,8 @@ export const useGetAllowance = ({ !!tokenAddress && !!Number(sendValue) && !!toTokenInfo && - !!sender, + !!sender && + fromChain?.chainType !== 'tron', }, }); useEffect(() => { @@ -66,7 +67,8 @@ export const useGetAllowance = ({ chain?.id !== fromChain?.id || initAllowance === null || !sender || - !balance + !balance || + fromChain?.chainType === 'tron' ) { return; } diff --git a/packages/canonical-bridge-widget/src/core/hooks/useBridgeSDK.ts b/packages/canonical-bridge-widget/src/core/hooks/useBridgeSDK.ts index 110bb273..dccb9a12 100644 --- a/packages/canonical-bridge-widget/src/core/hooks/useBridgeSDK.ts +++ b/packages/canonical-bridge-widget/src/core/hooks/useBridgeSDK.ts @@ -14,6 +14,7 @@ export const useBridgeSDK = () => { const bridgeSDK = useMemo(() => { const timeout = bridgeConfig.http.apiTimeOut; + return new CanonicalBridgeSDK({ bridgeConfigs: [ { @@ -36,9 +37,10 @@ export const useBridgeSDK = () => { bridgeType: 'layerZero', endpoint: '', }, + { bridgeType: 'meson', endpoint: bridgeConfig.http.mesonEndpoint! }, ], }); - }, [bridgeConfig.http.apiTimeOut]); + }, [bridgeConfig.http.apiTimeOut, bridgeConfig.http.mesonEndpoint]); return bridgeSDK; }; diff --git a/packages/canonical-bridge-widget/src/core/hooks/useTronWeb.ts b/packages/canonical-bridge-widget/src/core/hooks/useTronWeb.ts new file mode 100644 index 00000000..737ea753 --- /dev/null +++ b/packages/canonical-bridge-widget/src/core/hooks/useTronWeb.ts @@ -0,0 +1,19 @@ +import { useMemo } from 'react'; +import { TronWeb } from 'tronweb'; + +import { useAggregator } from '@/modules/aggregator/components/AggregatorProvider'; + +export function useTronWeb() { + const { chainConfigs } = useAggregator(); + + const tronWeb = useMemo(() => { + const tron = chainConfigs.find((e) => e.chainType === 'tron'); + if (tron) { + return new TronWeb({ + fullHost: tron.rpcUrl, + }); + } + }, [chainConfigs]); + + return tronWeb; +} diff --git a/packages/canonical-bridge-widget/src/core/theme/walletStyles.ts b/packages/canonical-bridge-widget/src/core/theme/walletStyles.ts index d13c5d10..78f45751 100644 --- a/packages/canonical-bridge-widget/src/core/theme/walletStyles.ts +++ b/packages/canonical-bridge-widget/src/core/theme/walletStyles.ts @@ -7,7 +7,7 @@ export function walletStyles(colorMode: ColorMode) { }, '.wk-modal-content': { width: { base: '100%', md: '435px' }, - padding: '34px 40px 40px', + padding: { base: undefined, md: '34px 40px 40px' }, }, '.wk-modal-header': { fontWeight: 700, diff --git a/packages/canonical-bridge-widget/src/core/utils/address.ts b/packages/canonical-bridge-widget/src/core/utils/address.ts index b5b05fbf..a1812af4 100644 --- a/packages/canonical-bridge-widget/src/core/utils/address.ts +++ b/packages/canonical-bridge-widget/src/core/utils/address.ts @@ -52,3 +52,11 @@ export function isEvmAddress(address?: string) { export function isNativeToken(tokenAddress: string) { return tokenAddress === '0x0000000000000000000000000000000000000000'; } + +export function isSolanaAddress(address?: string) { + return !!address && /^[1-9A-HJ-NP-Za-km-z]{32,44}$/.test(address); +} + +export function isTronAddress(address?: string) { + return !!address && /^T[a-zA-Z0-9]{33}$/.test(address); +} diff --git a/packages/canonical-bridge-widget/src/core/utils/string.ts b/packages/canonical-bridge-widget/src/core/utils/string.ts index b3ed25af..ad4d98ac 100644 --- a/packages/canonical-bridge-widget/src/core/utils/string.ts +++ b/packages/canonical-bridge-widget/src/core/utils/string.ts @@ -43,3 +43,9 @@ export function formatFeeAmount(amount: string | number) { return formatNumber(Number(amount), 4); } } + +export function utf8ToHex(utf8Str: any) { + return Array.from(utf8Str) + .map((char: any) => char.charCodeAt(0).toString(16).padStart(2, '0')) + .join(''); +} diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/CBridgeOption.tsx b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/cBridge/components/CBridgeOption.tsx similarity index 82% rename from packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/CBridgeOption.tsx rename to packages/canonical-bridge-widget/src/modules/aggregator/adapters/cBridge/components/CBridgeOption.tsx index 7537259d..41ba3e0f 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/CBridgeOption.tsx +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/cBridge/components/CBridgeOption.tsx @@ -1,4 +1,3 @@ -import { Flex, useColorMode, useTheme } from '@bnb-chain/space'; import { useCallback, useEffect, useMemo } from 'react'; import { formatUnits } from 'viem'; @@ -13,10 +12,11 @@ import { AllowedSendAmount } from '@/modules/transfer/components/TransferOvervie import { OtherRouteError } from '@/modules/transfer/components/TransferOverview/RouteInfo/OtherRouteError'; import { RouteName } from '@/modules/transfer/components/TransferOverview/RouteInfo/RouteName'; import { useGetCBridgeFees } from '@/modules/aggregator/adapters/cBridge/hooks/useGetCBridgeFees'; +import { RouteWrapper } from '@/modules/transfer/components/TransferOverview/RouteInfo/RouteWrapper'; export const CBridgeOption = () => { const dispatch = useAppDispatch(); - const { colorMode } = useColorMode(); + const { toTokenInfo, getToDecimals } = useToTokenInfo(); const { isAllowSendError, bridgeAddress, cBridgeAllowedAmt } = useGetCBridgeFees(); @@ -26,7 +26,6 @@ export const CBridgeOption = () => { const sendValue = useAppSelector((state) => state.transfer.sendValue); const routeError = useAppSelector((state) => state.transfer.routeError); const routeFees = useAppSelector((state) => state.transfer.routeFees); - const theme = useTheme(); const receiveAmt = useMemo(() => { return estimatedAmount && @@ -78,30 +77,10 @@ export const CBridgeOption = () => { }, [bridgeAddress, dispatch, isError]); return ( - { } /> {!isAllowSendError && } - + ); }; diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/DeBridgeOption.tsx b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/deBridge/components/DeBridgeOption.tsx similarity index 78% rename from packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/DeBridgeOption.tsx rename to packages/canonical-bridge-widget/src/modules/aggregator/adapters/deBridge/components/DeBridgeOption.tsx index ba9aae3c..f144e43a 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/DeBridgeOption.tsx +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/deBridge/components/DeBridgeOption.tsx @@ -1,4 +1,3 @@ -import { Flex, useColorMode, useTheme } from '@bnb-chain/space'; import { useCallback, useMemo } from 'react'; import { formatUnits } from 'viem'; @@ -11,13 +10,13 @@ import { EstimatedArrivalTime } from '@/modules/transfer/components/TransferOver import { FeesInfo } from '@/modules/transfer/components/TransferOverview/RouteInfo/FeesInfo'; import { OtherRouteError } from '@/modules/transfer/components/TransferOverview/RouteInfo/OtherRouteError'; import { RouteName } from '@/modules/transfer/components/TransferOverview/RouteInfo/RouteName'; +import { RouteWrapper } from '@/modules/transfer/components/TransferOverview/RouteInfo/RouteWrapper'; interface DeBridgeOptionProps { isReceiveTab?: boolean; } export const DeBridgeOption = ({}: DeBridgeOptionProps) => { - const { colorMode } = useColorMode(); const dispatch = useAppDispatch(); const { toTokenInfo, getToDecimals } = useToTokenInfo(); @@ -25,7 +24,6 @@ export const DeBridgeOption = ({}: DeBridgeOptionProps) => { const estimatedAmount = useAppSelector((state) => state.transfer.estimatedAmount); const routeError = useAppSelector((state) => state.transfer.routeError); const routeFees = useAppSelector((state) => state.transfer.routeFees); - const theme = useTheme(); const receiveAmt = useMemo(() => { return estimatedAmount?.['deBridge'] && @@ -69,30 +67,10 @@ export const DeBridgeOption = ({}: DeBridgeOptionProps) => { }, [estimatedAmount, dispatch, isError]); return ( - { breakdown={routeFees?.['deBridge']?.breakdown} /> - + ); }; diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/LayerZeroOption.tsx b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/layerZero/components/LayerZeroOption.tsx similarity index 77% rename from packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/LayerZeroOption.tsx rename to packages/canonical-bridge-widget/src/modules/aggregator/adapters/layerZero/components/LayerZeroOption.tsx index 23bcb8c8..6068b4a2 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/LayerZeroOption.tsx +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/layerZero/components/LayerZeroOption.tsx @@ -1,4 +1,3 @@ -import { Flex, useColorMode, useTheme } from '@bnb-chain/space'; import { useCallback, useMemo } from 'react'; import { formatUnits } from 'viem'; @@ -11,12 +10,12 @@ import { FeesInfo } from '@/modules/transfer/components/TransferOverview/RouteIn import { OtherRouteError } from '@/modules/transfer/components/TransferOverview/RouteInfo/OtherRouteError'; import { RouteName } from '@/modules/transfer/components/TransferOverview/RouteInfo/RouteName'; import { EstimatedArrivalTime } from '@/modules/transfer/components/TransferOverview/RouteInfo/EstimatedArrivalTime'; +import { RouteWrapper } from '@/modules/transfer/components/TransferOverview/RouteInfo/RouteWrapper'; export const LayerZeroOption = () => { const dispatch = useAppDispatch(); - const { colorMode } = useColorMode(); + const { toTokenInfo, getToDecimals } = useToTokenInfo(); - const theme = useTheme(); const selectedToken = useAppSelector((state) => state.transfer.selectedToken); const sendValue = useAppSelector((state) => state.transfer.sendValue); @@ -59,30 +58,10 @@ export const LayerZeroOption = () => { }, [selectedToken, dispatch, isError]); return ( - { breakdown={routeFees?.['layerZero']?.breakdown} /> - + ); }; diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/MesonAdapter.ts b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/MesonAdapter.ts new file mode 100644 index 00000000..27013281 --- /dev/null +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/MesonAdapter.ts @@ -0,0 +1,139 @@ +import { BridgeType } from '@bnb-chain/canonical-bridge-sdk'; + +import { BaseAdapter, ITransferTokenPair } from '@/modules/aggregator/shared/BaseAdapter'; +import { IMesonChain, IMesonToken } from '@/modules/aggregator/adapters/meson/types'; + +const SUPPORTED_CHAIN_IDS = [56, 97, 728126427, 728126428]; +const SUPPORTED_TOKENS = ['USDT']; + +export class MesonAdapter extends BaseAdapter { + public bridgeType: BridgeType = 'meson'; + + protected initChains() { + const chains = this.config; + + const filteredChains = chains.filter((chain) => { + const hasChainConfig = this.includedChains.includes(Number(chain.chainId)); + const isExcludedChain = this.excludedChains.includes(Number(chain.chainId)); + const hasToken = chain.tokens?.length > 0; + + const isSupported = SUPPORTED_CHAIN_IDS.includes(Number(chain.chainId)); // TODO + return hasChainConfig && !isExcludedChain && hasToken && isSupported; + }); + + const chainMap = new Map(); + filteredChains.forEach((chain) => { + chainMap.set(Number(chain.chainId), chain); + }); + + this.chains = filteredChains; + this.chainMap = chainMap; + } + + protected initTokens() { + const chains = this.config; + + const tokenMap = new Map(); + const symbolMap = new Map>(); + + chains.forEach((chain) => { + const chainId = Number(chain.chainId); + + const filteredTokens = chain.tokens.filter((token) => { + const isExcludedToken = this.checkIsExcludedToken({ + excludedList: this.excludedTokens?.[chainId], + tokenSymbol: token?.id?.toUpperCase(), + tokenAddress: token.addr, + }); + const isSupported = SUPPORTED_TOKENS.includes(token.id?.toUpperCase()); // TODO + return !isExcludedToken && isSupported; + }); + + if (filteredTokens.length > 0 && this.chainMap.has(chainId)) { + symbolMap.set(chainId, new Map()); + + filteredTokens.forEach((token) => { + symbolMap.get(chainId)?.set(token.id?.toUpperCase(), token); + }); + + tokenMap.set(chainId, filteredTokens); + } + }); + + this.tokenMap = tokenMap; + this.symbolMap = symbolMap; + } + + protected initTransferMap() { + const transferMap = new Map< + number, + Map>> + >(); + + this.chains.forEach((fromChain) => { + this.chains.forEach((toChain) => { + if (fromChain?.chainId !== toChain?.chainId) { + const fromTokens = this.tokenMap.get(Number(fromChain.chainId)) ?? []; + const transferableTokenMap = new Map>(); + fromTokens.forEach((fromToken) => { + const toToken = this.getToToken({ + fromChainId: Number(fromChain.chainId), + toChainId: Number(toChain.chainId), + fromTokenSymbol: fromToken.id?.toUpperCase(), + }); + + if (toToken) { + const tokenPair: ITransferTokenPair = { + fromChainId: Number(fromChain.chainId), + toChainId: Number(toChain.chainId), + fromToken, + toToken, + fromTokenAddress: fromToken.addr, + toTokenAddress: toToken.addr, + }; + transferableTokenMap.set(fromToken.id?.toUpperCase(), tokenPair); + } + }); + + if (transferableTokenMap.size > 0) { + if (!transferMap.has(Number(fromChain.chainId))) { + transferMap.set( + Number(fromChain.chainId), + new Map>>(), + ); + } + transferMap + .get(Number(fromChain.chainId)) + ?.set(Number(toChain.chainId), transferableTokenMap); + } + } + }); + }); + + this.transferMap = transferMap; + } + + public getChainId(chain: IMesonChain) { + return Number(chain.chainId); + } + + protected getChainIdAsObject(chainId: number) { + return { + chainId, + }; + } + + public getTokenInfo({ chainId, token }: { chainId: number; token: IMesonToken }) { + return { + name: (token as any).id, // TODO + symbol: token.id.toUpperCase(), + address: token.addr ?? '0x0000000000000000000000000000000000000000', + decimals: token.decimals, + ...this.getTokenDisplaySymbolAndIcon({ + chainId, + tokenAddress: token.addr ?? '0x0000000000000000000000000000000000000000', + defaultSymbol: token.id.toUpperCase(), + }), + }; + } +} diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/components/MesonOption.tsx b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/components/MesonOption.tsx new file mode 100644 index 00000000..2e46c4d6 --- /dev/null +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/components/MesonOption.tsx @@ -0,0 +1,73 @@ +import { useCallback, useMemo } from 'react'; + +import { setTransferActionInfo } from '@/modules/transfer/action'; +import { useAppDispatch, useAppSelector } from '@/modules/store/StoreProvider'; +import { useToTokenInfo } from '@/modules/transfer/hooks/useToTokenInfo'; +import { RouteTitle } from '@/modules/transfer/components/TransferOverview/RouteInfo/RouteTitle'; +import { EstimatedArrivalTime } from '@/modules/transfer/components/TransferOverview/RouteInfo/EstimatedArrivalTime'; +import { FeesInfo } from '@/modules/transfer/components/TransferOverview/RouteInfo/FeesInfo'; +// import { AllowedSendAmount } from '@/modules/transfer/components/TransferOverview/RouteInfo/AllowedSendAmount'; +import { OtherRouteError } from '@/modules/transfer/components/TransferOverview/RouteInfo/OtherRouteError'; +import { RouteName } from '@/modules/transfer/components/TransferOverview/RouteInfo/RouteName'; +import { RouteWrapper } from '@/modules/transfer/components/TransferOverview/RouteInfo/RouteWrapper'; + +export const MesonOption = () => { + const dispatch = useAppDispatch(); + + const { toTokenInfo } = useToTokenInfo(); + + const transferActionInfo = useAppSelector((state) => state.transfer.transferActionInfo); + const estimatedAmount = useAppSelector((state) => state.transfer.estimatedAmount); + const routeError = useAppSelector((state) => state.transfer.routeError); + const routeFees = useAppSelector((state) => state.transfer.routeFees); + const fromChain = useAppSelector((state) => state.transfer.fromChain); + + const receiveAmt = useMemo(() => { + return Number(estimatedAmount?.['meson']) ? estimatedAmount?.['meson'] : '--'; + }, [estimatedAmount]); + + const isError = useMemo( + () => + estimatedAmount?.meson === 'error' || + (routeError && routeError?.['meson']) || + receiveAmt === '--' || + false, + [estimatedAmount?.meson, receiveAmt, routeError], + ); + + const onSelectBridge = useCallback(() => { + if (!fromChain?.meson?.raw?.address || isError) return; + const bridgeAddress = fromChain?.meson?.raw?.address; + dispatch( + setTransferActionInfo({ + bridgeType: 'meson', + bridgeAddress: bridgeAddress as `0x${string}`, + }), + ); + }, [fromChain, dispatch, isError]); + + return ( + + + + + + {/* */} + + + ); +}; diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useGetMesonFees.ts b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useGetMesonFees.ts new file mode 100644 index 00000000..6710ab0b --- /dev/null +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useGetMesonFees.ts @@ -0,0 +1,67 @@ +import { useCallback } from 'react'; +import { useIntl } from '@bnb-chain/space'; + +import { useAppDispatch, useAppSelector } from '@/modules/store/StoreProvider'; +import { setRouteFees } from '@/modules/transfer/action'; +import { formatNumber } from '@/core/utils/number'; +import { formatFeeAmount } from '@/core/utils/string'; + +export const useGetMesonFees = () => { + const dispatch = useAppDispatch(); + const { formatMessage } = useIntl(); + + const selectedToken = useAppSelector((state) => state.transfer.selectedToken); + + const mesonFeeSorting = useCallback( + async (fees: any) => { + let feeContent = ''; + const feeBreakdown = []; + const isDisplayError = false; // API error display + let totalFee = 0; + + // service fee + if (!!fees?.serviceFee) { + const serviceFee = fees?.serviceFee; + totalFee += Number(serviceFee); + feeBreakdown.push({ + label: formatMessage({ id: 'route.option.info.service-fee' }), + value: `${formatNumber(Number(serviceFee), 8)} ${selectedToken?.symbol}`, + name: 'serviceFee', + }); + } + + // liquidity providers fee + if (!!fees?.lpFee) { + const lpFee = fees?.lpFee; + totalFee += Number(lpFee); + feeBreakdown.push({ + label: formatMessage({ id: 'route.option.info.lp-fee' }), + value: `${formatNumber(Number(lpFee), 8)} ${selectedToken?.symbol}`, + name: 'lpFee', + }); + } + + if (!!fees?.totalFee) { + feeContent = `${String(formatFeeAmount(totalFee))} ${selectedToken?.symbol}`; + } + + dispatch( + setRouteFees({ + meson: { + summary: !!feeContent ? feeContent : '--', + breakdown: feeBreakdown, + }, + }), + ); + return { + summary: !!feeContent ? feeContent : '--', + breakdown: feeBreakdown, + isFailedToGetGas: false, + isDisplayError, + }; + }, + [dispatch, formatMessage, selectedToken], + ); + + return { mesonFeeSorting }; +}; diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useGetTronAllowance.ts b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useGetTronAllowance.ts new file mode 100644 index 00000000..d9a380a2 --- /dev/null +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useGetTronAllowance.ts @@ -0,0 +1,57 @@ +import { useCallback, useEffect, useState } from 'react'; + +import { useAppSelector } from '@/modules/store/StoreProvider'; +import { useTrc20 } from '@/modules/aggregator/adapters/meson/hooks/useTrc20'; + +export const useGetTronAllowance = () => { + const { getTrc20Allowance } = useTrc20(); + + const [allowance, setAllowance] = useState(null); + + const fromChain = useAppSelector((state) => state.transfer.fromChain); + const selectedToken = useAppSelector((state) => state.transfer.selectedToken); + const transferActionInfo = useAppSelector((state) => state.transfer.transferActionInfo); + const sendValue = useAppSelector((state) => state.transfer.sendValue); + + const getAllowance = useCallback(async () => { + if ( + fromChain?.chainType !== 'tron' || + !selectedToken?.address || + !transferActionInfo?.bridgeAddress || + !Number(sendValue) + ) { + return; + } + + try { + const allowance = await getTrc20Allowance({ + trc20Address: selectedToken?.address, + tronBridgeAddress: transferActionInfo?.bridgeAddress, + }); + if (typeof allowance === 'bigint' && !!allowance) setAllowance(allowance); + // eslint-disable-next-line no-console + console.log('Tron token allowance', allowance); + return { allowance }; + } catch (e) { + // eslint-disable-next-line no-console + console.error(e); + } + }, [ + fromChain, + selectedToken?.address, + transferActionInfo?.bridgeAddress, + getTrc20Allowance, + sendValue, + ]); + + useEffect(() => { + let mount = true; + if (!mount) return; + getAllowance(); + return () => { + mount = false; + }; + }, [getAllowance]); + + return allowance; +}; diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useTrc20.ts b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useTrc20.ts new file mode 100644 index 00000000..0e7f86cb --- /dev/null +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useTrc20.ts @@ -0,0 +1,67 @@ +import { useTronWallet } from '@node-real/walletkit/tron'; + +import { useTronWeb } from '@/core/hooks/useTronWeb'; + +export const useTrc20 = () => { + const { address, signTransaction } = useTronWallet(); + const tronWeb = useTronWeb(); + + const approveTrc20 = async ({ + tronBridgeAddress, + trc20Address, + amount, + }: { + tronBridgeAddress: string; + trc20Address: string; + amount: string; + }) => { + if (!address || !tronWeb) return; + + const parameter = [ + { type: 'address', value: tronBridgeAddress }, + { type: 'uint256', value: tronWeb.toSun(Number(amount)) }, + ]; + // triggerConstantContract readonly function + // triggerSmartContract return unsigned transaction + // create unsigned transaction + const txWrapper = await tronWeb.transactionBuilder.triggerSmartContract( + trc20Address, + 'approve(address,uint256)', + {}, + parameter, + address, + ); + // sign transaction + const signedTransaction = await signTransaction(txWrapper.transaction as any); + // send tx + const res = await tronWeb.trx.sendRawTransaction(signedTransaction as any); + // eslint-disable-next-line no-console + console.log(txWrapper.transaction, signedTransaction, res); + return res; + }; + + const getTrc20Balance = async ({ trc20Address }: { trc20Address: string }) => { + if (!address || !tronWeb) return; + tronWeb.setAddress(address); + const contract = await tronWeb.contract().at(trc20Address); + const balance = await contract.methods.balanceOf(address).call(); + + return balance; + }; + + const getTrc20Allowance = async ({ + trc20Address, + tronBridgeAddress, + }: { + trc20Address: string; + tronBridgeAddress: string; + }) => { + if (!address || !tronWeb) return; + tronWeb.setAddress(address); + const contract = await tronWeb.contract().at(trc20Address); + const allowance = await contract.methods.allowance(address, tronBridgeAddress).call(); + return allowance; + }; + + return { approveTrc20, getTrc20Balance, getTrc20Allowance }; +}; diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/types.ts b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/types.ts new file mode 100644 index 00000000..eaa25eb3 --- /dev/null +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/types.ts @@ -0,0 +1,15 @@ +export interface IMesonToken { + id: string; + addr: string; + decimals: number; + min: string; + max: string; +} + +export interface IMesonChain { + id: string; + name: string; + chainId: string; + address: string; // bridge address + tokens: IMesonToken[]; +} diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/StarGateOption.tsx b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/stargate/components/StarGateOption.tsx similarity index 79% rename from packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/StarGateOption.tsx rename to packages/canonical-bridge-widget/src/modules/aggregator/adapters/stargate/components/StarGateOption.tsx index 5ca7e0db..a6d28e45 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/StarGateOption.tsx +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/stargate/components/StarGateOption.tsx @@ -1,4 +1,3 @@ -import { Flex, useColorMode, useTheme } from '@bnb-chain/space'; import { useCallback, useMemo } from 'react'; import { formatUnits } from 'viem'; @@ -13,11 +12,11 @@ import { AllowedSendAmount } from '@/modules/transfer/components/TransferOvervie import { OtherRouteError } from '@/modules/transfer/components/TransferOverview/RouteInfo/OtherRouteError'; import { RouteName } from '@/modules/transfer/components/TransferOverview/RouteInfo/RouteName'; import { useGetStargateFees } from '@/modules/aggregator/adapters/stargate/hooks/useGetStarGateFees'; +import { RouteWrapper } from '@/modules/transfer/components/TransferOverview/RouteInfo/RouteWrapper'; export const StarGateOption = () => { const dispatch = useAppDispatch(); - const { colorMode } = useColorMode(); - const theme = useTheme(); + const { toTokenInfo, getToDecimals } = useToTokenInfo(); const { allowedSendAmount, isAllowSendError } = useGetStargateFees(); @@ -68,32 +67,10 @@ export const StarGateOption = () => { }, [selectedToken, dispatch, isError]); return ( - { allowedSendAmount={allowedSendAmount} /> {!isAllowSendError && } - + ); }; diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/components/AggregatorProvider.tsx b/packages/canonical-bridge-widget/src/modules/aggregator/components/AggregatorProvider.tsx index 92fe22f2..80e6641d 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/components/AggregatorProvider.tsx +++ b/packages/canonical-bridge-widget/src/modules/aggregator/components/AggregatorProvider.tsx @@ -15,6 +15,7 @@ import { CBridgeAdapter } from '@/modules/aggregator/adapters/cBridge/CBridgeAda import { DeBridgeAdapter } from '@/modules/aggregator/adapters/deBridge/DeBridgeAdapter'; import { LayerZeroAdapter } from '@/modules/aggregator/adapters/layerZero/LayerZeroAdapter'; import { StargateAdapter } from '@/modules/aggregator/adapters/stargate/StargateAdapter'; +import { MesonAdapter } from '@/modules/aggregator/adapters/meson/MesonAdapter'; import { IBaseAdapterOptions } from '@/modules/aggregator/shared/BaseAdapter'; import { aggregateChains, @@ -23,8 +24,6 @@ import { } from '@/modules/aggregator/shared/aggregateChains'; import { aggregateTokens, IGetTokensParams } from '@/modules/aggregator/shared/aggregateTokens'; import { aggregateToToken, IGetToTokenParams } from '@/modules/aggregator/shared/aggregateToToken'; -import { TokenBalancesProvider } from '@/modules/aggregator/components/TokenBalancesProvider'; -import { TokenPricesProvider } from '@/modules/aggregator/components/TokenPricesProvider'; import { useBridgeConfig } from '@/index'; export interface AggregatorContextProps { @@ -57,18 +56,27 @@ export const AggregatorContext = React.createContext(DEFAULT_CONTEXT); export interface AggregatorProviderProps { transferConfig?: ITransferConfig; - chainConfigs: IChainConfig[]; + chains: IChainConfig[]; children: React.ReactNode; } export function AggregatorProvider(props: AggregatorProviderProps) { - const { transferConfig, chainConfigs, children } = props; + const { transferConfig, chains, children } = props; const bridgeConfig = useBridgeConfig(); + const chainConfigs = useMemo(() => { + return chains.map((item) => ({ + ...item, + chainType: item.chainType ? item.chainType : 'evm', + })); + }, [chains]); const value = useMemo(() => { if (!transferConfig) { - return DEFAULT_CONTEXT; + return { + ...DEFAULT_CONTEXT, + chainConfigs, + }; } const bridges: Array<{ @@ -91,6 +99,7 @@ export function AggregatorProvider(props: AggregatorProviderProps) { bridgeType: 'layerZero', Adapter: LayerZeroAdapter, }, + { bridgeType: 'meson', Adapter: MesonAdapter }, ]; const nativeCurrencies = getNativeCurrencies(chainConfigs); @@ -158,15 +167,9 @@ export function AggregatorProvider(props: AggregatorProviderProps) { }); }, }; - }, [chainConfigs, transferConfig, bridgeConfig.assetPrefix]); - - return ( - - - - {children} - - ); + }, [transferConfig, chainConfigs, bridgeConfig.assetPrefix]); + + return {children}; } export function useAggregator() { diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/components/SelectModal/ChooseTokenModal.tsx b/packages/canonical-bridge-widget/src/modules/aggregator/components/SelectModal/ChooseTokenModal.tsx index a82785c7..74415916 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/components/SelectModal/ChooseTokenModal.tsx +++ b/packages/canonical-bridge-widget/src/modules/aggregator/components/SelectModal/ChooseTokenModal.tsx @@ -1,12 +1,11 @@ -import { Flex, formatAddress, Text, useColorMode, useIntl, useTheme } from '@bnb-chain/space'; -import { useAccount } from 'wagmi'; +import { Flex, Text, useColorMode, useIntl, useTheme } from '@bnb-chain/space'; import { useAppSelector } from '@/modules/store/StoreProvider'; import { useTokens } from '@/modules/aggregator/hooks/useTokens'; import { VirtualList } from '@/core/components/VirtualList'; import { isChainOrTokenCompatible } from '@/modules/aggregator/shared/isChainOrTokenCompatible'; import { useSelection } from '@/modules/aggregator/hooks/useSelection'; -import { isNativeToken, isSameAddress } from '@/core/utils/address'; +import { formatAppAddress, isNativeToken, isSameAddress } from '@/core/utils/address'; import { ExLinkIcon } from '@/core/components/icons/ExLinkIcon'; import { formatTokenUrl } from '@/core/utils/string'; import { useResponsive } from '@/core/hooks/useResponsive'; @@ -17,6 +16,7 @@ import { useSearch } from '@/modules/aggregator/components/SelectModal/hooks/use import { useTokenList } from '@/modules/aggregator/components/SelectModal/hooks/useTokenList'; import { ListItem } from '@/modules/aggregator/components/SelectModal/components/ListItem'; import { openLink } from '@/core/utils/common'; +import { useCurrentWallet } from '@/modules/wallet/CurrentWalletProvider'; interface ChooseTokenModalProps { isOpen: boolean; @@ -28,7 +28,7 @@ export function ChooseTokenModal(props: ChooseTokenModalProps) { const { formatMessage } = useIntl(); const theme = useTheme(); const { colorMode } = useColorMode(); - const { isConnected } = useAccount(); + const { isConnected } = useCurrentWallet(); const fromChain = useAppSelector((state) => state.transfer.fromChain); const toChain = useAppSelector((state) => state.transfer.toChain); @@ -208,8 +208,8 @@ function TokenAddress(props: TokenAddressProps) { fontWeight={500} lineHeight="16px" > - {formatAddress({ - value: address, + {formatAppAddress({ + address, })} {!isMobile && ( state.transfer.fromChain); const toChain = useAppSelector((state) => state.transfer.toChain); @@ -24,13 +27,14 @@ export function TokenBalancesProvider() { const { isLoading, data } = useQuery>({ enabled: !!address && !!fromChain?.id && !!toChain?.id, refetchInterval: TIME.SECOND * 5, - queryKey: ['token-balances', address, fromChain?.id, toChain?.id], + queryKey: ['tokenBalances', address, fromChain?.id, toChain?.id], queryFn: async () => { - const chain = chains?.find((item) => item.id === fromChain?.id); const balances = await getTokenBalances({ - chain, + chainType: fromChain?.chainType, account: address, tokens, + chain: chains?.find((item) => item.id === fromChain?.id), + tronWeb, }); return balances; }, diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/components/TokenPricesProvider.tsx b/packages/canonical-bridge-widget/src/modules/aggregator/components/TokenPricesProvider.tsx index b9765858..7b35c695 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/components/TokenPricesProvider.tsx +++ b/packages/canonical-bridge-widget/src/modules/aggregator/components/TokenPricesProvider.tsx @@ -24,7 +24,7 @@ export function TokenPricesProvider() { const { isLoading, data } = useQuery({ staleTime: TIME.MINUTE * 5, refetchInterval: TIME.MINUTE * 5, - queryKey: ['token-prices'], + queryKey: ['tokenPrices'], queryFn: async () => { const { serverEndpoint } = bridgeConfig.http; diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/hooks/useSelection.ts b/packages/canonical-bridge-widget/src/modules/aggregator/hooks/useSelection.ts index 36e622c3..abb6e6cf 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/hooks/useSelection.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/hooks/useSelection.ts @@ -1,14 +1,21 @@ -import { useAccount, useChains } from 'wagmi'; +import { useChains } from 'wagmi'; import { useCallback } from 'react'; import { useAggregator } from '@/modules/aggregator/components/AggregatorProvider'; import { isChainOrTokenCompatible } from '@/modules/aggregator/shared/isChainOrTokenCompatible'; -import { IBridgeChain, IBridgeToken, IBridgeTokenWithBalance } from '@/modules/aggregator/types'; +import { + ChainType, + IBridgeChain, + IBridgeToken, + IBridgeTokenWithBalance, +} from '@/modules/aggregator/types'; import { useAppDispatch, useAppSelector } from '@/modules/store/StoreProvider'; import { setFromChain, setSelectedToken, setToChain, setToToken } from '@/modules/transfer/action'; import { useTokenPrice } from '@/modules/aggregator/hooks/useTokenPrice'; import { getTokenBalances } from '@/modules/aggregator/shared/getTokenBalances'; import { sortTokens } from '@/modules/aggregator/shared/sortTokens'; +import { useTronWeb } from '@/core/hooks/useTronWeb'; +import { useCurrentWallet } from '@/modules/wallet/CurrentWalletProvider'; export function useSelection() { const { getFromChains, getToChains, getTokens, getToToken, adapters } = useAggregator(); @@ -127,6 +134,7 @@ export function useSelection() { toChains.find((c) => isChainOrTokenCompatible(c) && c.chainType !== 'link'); const tmpTokens = await getSortedTokens({ + chainType: tmpFromChain.chainType, fromChainId: tmpFromChain.id, tokens: getTokens({ fromChainId: tmpFromChain.id, @@ -152,6 +160,7 @@ export function useSelection() { const fromChainId = fromChain!.id; const tmpTokens = await getSortedTokens({ + chainType: fromChain?.chainType, fromChainId, tokens: getTokens({ fromChainId, @@ -184,15 +193,27 @@ export function useSelection() { function useSortedTokens() { const { transferConfig } = useAggregator(); const chains = useChains(); - const { address } = useAccount(); + + const { address } = useCurrentWallet(); const { getTokenPrice } = useTokenPrice(); + const tronWeb = useTronWeb(); const getSortedTokens = useCallback( - async ({ fromChainId, tokens }: { fromChainId: number; tokens: IBridgeToken[] }) => { + async ({ + fromChainId, + chainType, + tokens, + }: { + fromChainId: number; + chainType?: ChainType; + tokens: IBridgeToken[]; + }) => { const balances = await getTokenBalances({ + chainType, account: address, - chain: chains.find((e) => e.id === fromChainId), tokens, + chain: chains.find((e) => e.id === fromChainId), + tronWeb, }); const tmpTokens = tokens.map((item) => { @@ -216,7 +237,7 @@ function useSortedTokens() { orders: transferConfig.order?.tokens, }); }, - [address, chains, transferConfig.order?.tokens, getTokenPrice], + [address, chains, tronWeb, transferConfig.order?.tokens, getTokenPrice], ); return { diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/shared/BaseAdapter.ts b/packages/canonical-bridge-widget/src/modules/aggregator/shared/BaseAdapter.ts index b26edf9d..4dd25425 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/shared/BaseAdapter.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/shared/BaseAdapter.ts @@ -254,8 +254,8 @@ export abstract class BaseAdapter { toChainId: number; fromTokenSymbol: string; }) { - const fromNativeSymbol = this.nativeCurrencies[fromChainId].symbol?.toUpperCase(); - const toNativeSymbol = this.nativeCurrencies[toChainId].symbol?.toUpperCase(); + const fromNativeSymbol = this.nativeCurrencies[fromChainId]?.symbol?.toUpperCase(); + const toNativeSymbol = this.nativeCurrencies[toChainId]?.symbol?.toUpperCase(); const tokenMap = this.symbolMap.get(toChainId); if (['ETH', 'WETH'].includes(fromTokenSymbol)) { diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/shared/aggregateChains.ts b/packages/canonical-bridge-widget/src/modules/aggregator/shared/aggregateChains.ts index 0d47320f..17b3f0e8 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/shared/aggregateChains.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/shared/aggregateChains.ts @@ -140,7 +140,7 @@ function getChainInfo({ const tokenUrlPattern = chainConfig?.explorer?.tokenUrlPattern || tmpUrlPattern; const externalConfig = transferConfig.externalChains?.find((item) => item.chainId === chainId); - const chainType: ChainType = externalConfig ? 'link' : 'evm'; + const chainType: ChainType = externalConfig ? 'link' : chainConfig?.chainType ?? 'evm'; const externalBridgeUrl = externalConfig?.bridgeUrl; return { diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/shared/getNativeCurrencies.ts b/packages/canonical-bridge-widget/src/modules/aggregator/shared/getNativeCurrencies.ts index 313a63bc..ce4dcd28 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/shared/getNativeCurrencies.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/shared/getNativeCurrencies.ts @@ -1,7 +1,7 @@ import { IChainConfig, INativeCurrency } from '@/modules/aggregator/types'; export function getNativeCurrencies(chainConfigs: IChainConfig[]) { - const nativeCurrencies: Record = {}; + const nativeCurrencies: Record = {}; chainConfigs.forEach((chain) => { if (chain.id && chain.nativeCurrency) { diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/shared/getTokenBalances.ts b/packages/canonical-bridge-widget/src/modules/aggregator/shared/getTokenBalances.ts index 691cfc7f..7d5a119b 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/shared/getTokenBalances.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/shared/getTokenBalances.ts @@ -1,15 +1,43 @@ import { Address, Chain, createPublicClient, formatUnits, http } from 'viem'; +import { TronWeb } from 'tronweb'; -import { IBridgeToken } from '@/modules/aggregator/types'; +import { ChainType, IBridgeToken } from '@/modules/aggregator/types'; import { ERC20_TOKEN } from '@/core/contract/abi'; import { isChainOrTokenCompatible } from '@/modules/aggregator/shared/isChainOrTokenCompatible'; export async function getTokenBalances({ + chainType, + account, + tokens, + chain, + tronWeb, +}: { + chainType?: ChainType; + account?: string; + tokens?: IBridgeToken[]; + chain?: Chain; + tronWeb?: TronWeb; +}) { + if (chainType === 'tron') { + return await getTronTokenBalances({ + account, + tokens, + tronWeb, + }); + } + return await getEvmTokenBalances({ + account, + chain, + tokens, + }); +} + +async function getEvmTokenBalances({ account, chain, tokens, }: { - account?: Address; + account?: string; chain?: Chain; tokens?: IBridgeToken[]; }) { @@ -37,7 +65,7 @@ export async function getTokenBalances({ contracts, }), client.getBalance({ - address: account, + address: account as Address, }), ]); @@ -66,7 +94,55 @@ export async function getTokenBalances({ return balances; } catch (err) { // eslint-disable-next-line no-console - console.log('[getTokenBalances] error:', err); + console.log('[getEvmTokenBalances] error:', err); + return {}; + } +} + +const tronBalanceABI = [ + { + constant: true, + inputs: [{ internalType: 'address', name: '', type: 'address' }], + name: 'balanceOf', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + payable: false, + stateMutability: 'view', + type: 'function', + }, +]; + +async function getTronTokenBalances({ + account, + tokens, + tronWeb, +}: { + account?: string; + tokens?: IBridgeToken[]; + tronWeb?: TronWeb; +}) { + try { + if (!account || !tokens?.length || !tronWeb) { + return {}; + } + + const balances: Record = {}; + + const firstToken = tokens?.[0]; + const tokenAddress = firstToken.address; + + tronWeb.setAddress(firstToken.address); + const contractInstance = await tronWeb.contract(tronBalanceABI, tokenAddress); + const balanceOf = await contractInstance.balanceOf(account).call(); + const balance = balanceOf?.toString() as string; + + balances[firstToken.displaySymbol?.toUpperCase()] = Number( + formatUnits(BigInt(balance), firstToken.decimals), + ); + + return balances; + } catch (err) { + // eslint-disable-next-line no-console + console.log('[getTronTokenBalances] error:', err); return {}; } } diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/types.ts b/packages/canonical-bridge-widget/src/modules/aggregator/types.ts index 241d378f..1b547cea 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/types.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/types.ts @@ -23,6 +23,8 @@ import { IStargateToken, IStargateTransferConfig, } from '@/modules/aggregator/adapters/stargate/types'; +import { IMesonChain, IMesonToken } from '@/modules/aggregator/adapters/meson/types'; +import { MesonAdapter } from '@/modules/aggregator/adapters/meson/MesonAdapter'; export interface IBridgeChain { id: number; @@ -53,6 +55,11 @@ export interface IBridgeChain { isMatched: boolean; raw?: ILayerZeroChain; }; + meson?: { + isCompatible: boolean; + isMatched: boolean; + raw?: IMesonChain; + }; } export interface IBridgeTokenBaseInfo { @@ -87,6 +94,11 @@ export interface IBridgeToken extends IBridgeTokenBaseInfo { isMatched: boolean; raw?: ILayerZeroToken; }; + meson?: IBridgeTokenBaseInfo & { + isCompatible: boolean; + isMatched: boolean; + raw?: IMesonToken; + }; } export interface IBridgeTokenWithBalance extends IBridgeToken { @@ -152,10 +164,18 @@ export interface ITransferConfig { }; bridgedTokenGroups?: string[][]; }; + meson?: { + config: IMesonChain[]; + exclude?: { + chains?: number[]; + tokens?: Record; + }; + bridgedTokenGroups?: string[][]; + }; } export interface IChainConfig { - id: number; + id: number | string; name: string; nativeCurrency: { name: string; @@ -169,14 +189,21 @@ export interface IChainConfig { tokenUrlPattern?: string; }; contracts?: any; + chainType?: ChainType; } -export type ChainType = 'link' | 'evm'; +export type ChainType = 'link' | 'evm' | 'tron'; export type AdapterConstructorType = | typeof CBridgeAdapter | typeof DeBridgeAdapter | typeof StargateAdapter - | typeof LayerZeroAdapter; + | typeof LayerZeroAdapter + | typeof MesonAdapter; -export type AdapterType = CBridgeAdapter | DeBridgeAdapter | StargateAdapter | LayerZeroAdapter; +export type AdapterType = + | CBridgeAdapter + | DeBridgeAdapter + | StargateAdapter + | LayerZeroAdapter + | MesonAdapter; diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/SwitchNetworkButton.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/SwitchNetworkButton.tsx index 4bde5ffe..aee4c082 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/SwitchNetworkButton.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/SwitchNetworkButton.tsx @@ -1,16 +1,18 @@ import { Button, useColorMode, useIntl, useTheme } from '@bnb-chain/space'; import { useAppSelector } from '@/modules/store/StoreProvider'; -import { useEvmSwitchChain } from '@/modules/wallet/hooks/useEvmSwitchChain'; import { reportEvent } from '@/core/utils/gtm'; +import { useCurrentWallet } from '@/modules/wallet/CurrentWalletProvider'; export const SwitchNetworkButton = () => { const { formatMessage } = useIntl(); const fromChain = useAppSelector((state) => state.transfer.fromChain); - const { switchChain } = useEvmSwitchChain(); const theme = useTheme(); const { colorMode } = useColorMode(); + + const { linkWallet } = useCurrentWallet(); + return ( + ); +}; diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx index 5edac499..a3bfddf0 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx @@ -1,13 +1,18 @@ import { Button, Flex, useColorMode, useIntl, useTheme } from '@bnb-chain/space'; import { useCallback, useState } from 'react'; -import { useAccount, usePublicClient, useWalletClient } from 'wagmi'; +import { useAccount, usePublicClient, useSignMessage, useWalletClient } from 'wagmi'; import { formatUnits, parseUnits } from 'viem'; +import { useTronWallet } from '@node-real/walletkit/tron'; import { useAppSelector } from '@/modules/store/StoreProvider'; import { useGetAllowance } from '@/core/contract/hooks/useGetAllowance'; import { useCBridgeTransferParams } from '@/modules/aggregator/adapters/cBridge/hooks/useCBridgeTransferParams'; import { useBridgeSDK } from '@/core/hooks/useBridgeSDK'; import { reportEvent } from '@/core/utils/gtm'; +import { useGetTronAllowance } from '@/modules/aggregator/adapters/meson/hooks/useGetTronAllowance'; +import { useCurrentWallet } from '@/modules/wallet/CurrentWalletProvider'; +import { useTronTransferInfo } from '@/modules/transfer/hooks/tron/useTronTransferInfo'; +import { utf8ToHex } from '@/core/utils/string'; export function TransferButton({ onOpenSubmittedModal, @@ -34,6 +39,9 @@ export function TransferButton({ const { colorMode } = useColorMode(); const { address } = useAccount(); + const { address: tronAddress, signTransaction } = useTronWallet(); + const { isAvailableAccount, isTronTransfer } = useTronTransferInfo(); + const { signMessageAsync } = useSignMessage(); const sendValue = useAppSelector((state) => state.transfer.sendValue); const transferActionInfo = useAppSelector((state) => state.transfer.transferActionInfo); @@ -43,6 +51,7 @@ export function TransferButton({ const toToken = useAppSelector((state) => state.transfer.toToken); const fromChain = useAppSelector((state) => state.transfer.fromChain); const toChain = useAppSelector((state) => state.transfer.toChain); + const toAccount = useAppSelector((state) => state.transfer.toAccount); // eslint-disable-next-line @typescript-eslint/no-explicit-any const publicClient = usePublicClient({ chainId: fromChain?.id }) as any; @@ -53,24 +62,34 @@ export function TransferButton({ sender: transferActionInfo?.bridgeAddress as `0x${string}`, }); + const tronAllowance = useGetTronAllowance(); + const { isTronConnected, isEvmConnected } = useCurrentWallet(); + const isApproveNeeded = - allowance !== null && - selectedToken?.decimals && - Number(sendValue) > Number(formatUnits(allowance, selectedToken?.decimals || 18)) && - transferActionInfo?.bridgeAddress !== selectedToken?.address && - selectedToken?.address !== '0x0000000000000000000000000000000000000000'; + (fromChain?.chainType !== 'tron' && + allowance !== null && + selectedToken?.decimals && + Number(sendValue) > Number(formatUnits(allowance, selectedToken?.decimals || 18)) && + transferActionInfo?.bridgeAddress !== selectedToken?.address && + selectedToken?.address !== '0x0000000000000000000000000000000000000000') || + (fromChain?.chainType === 'tron' && + tronAllowance !== null && + Number(sendValue) > + Number(formatUnits(tronAllowance, selectedToken?.meson?.raw?.decimals || 6))); const sendTx = useCallback(async () => { if ( - !walletClient || - !publicClient || !selectedToken || - !address || - !transferActionInfo || - !transferActionInfo.bridgeType || - !transferActionInfo.bridgeAddress || - (allowance === null && - selectedToken?.address !== '0x0000000000000000000000000000000000000000') + !transferActionInfo?.bridgeType || + !transferActionInfo?.bridgeAddress || + ((!walletClient || + !publicClient || + !address || + (allowance === null && + selectedToken?.address !== '0x0000000000000000000000000000000000000000') || + !isEvmConnected) && + fromChain?.chainType !== 'tron') || + (!isTronConnected && fromChain?.chainType === 'tron' && !tronAddress) ) { return; } @@ -95,8 +114,7 @@ export function TransferButton({ setChosenBridge(''); setIsLoading(true); if ( - allowance !== null && - Number(sendValue) > Number(formatUnits(allowance, selectedToken?.decimals)) && + isApproveNeeded && transferActionInfo.bridgeAddress !== selectedToken?.address && selectedToken?.address !== '0x0000000000000000000000000000000000000000' // doesn't need approve for OFT ) { @@ -129,7 +147,7 @@ export function TransferButton({ }, }); - if (transferActionInfo.bridgeType === 'cBridge' && cBridgeArgs && fromChain) { + if (transferActionInfo.bridgeType === 'cBridge' && cBridgeArgs && fromChain && address) { try { const cBridgeHash = await bridgeSDK.cBridge.sendToken({ // eslint-disable-next-line @typescript-eslint/no-explicit-any @@ -168,7 +186,11 @@ export function TransferButton({ console.log(e); handleFailure(e); } - } else if (transferActionInfo.bridgeType === 'deBridge' && transferActionInfo.value) { + } else if ( + transferActionInfo.bridgeType === 'deBridge' && + transferActionInfo.value && + address + ) { try { const deBridgeHash = await bridgeSDK.deBridge.sendToken({ // eslint-disable-next-line @typescript-eslint/no-explicit-any @@ -202,7 +224,7 @@ export function TransferButton({ console.log(e); handleFailure(e); } - } else if (transferActionInfo.bridgeType === 'stargate') { + } else if (transferActionInfo.bridgeType === 'stargate' && address) { const stargateHash = await bridgeSDK.stargate.sendToken({ // eslint-disable-next-line @typescript-eslint/no-explicit-any walletClient: walletClient as any, @@ -229,7 +251,7 @@ export function TransferButton({ setHash(stargateHash); onOpenSubmittedModal(); } - } else if (transferActionInfo.bridgeType === 'layerZero') { + } else if (transferActionInfo.bridgeType === 'layerZero' && address) { const layerZeroHash = await bridgeSDK.layerZero.sendToken({ bridgeAddress: transferActionInfo.bridgeAddress as `0x${string}`, dstEndpoint: toToken?.layerZero?.raw?.endpointID as number, @@ -255,6 +277,79 @@ export function TransferButton({ setHash(layerZeroHash); onOpenSubmittedModal(); } + } else if (transferActionInfo.bridgeType === 'meson') { + let fromAddress = ''; + let toAddress = ''; + let msg = ''; + let signature = ''; + + if (fromChain?.chainType === 'tron' && tronAddress) { + fromAddress = tronAddress; + } else if (fromChain?.chainType !== 'tron' && address) { + fromAddress = address; + } + + if (isTronTransfer && isAvailableAccount && toAccount?.address) { + toAddress = toAccount.address; + } else if (address) { + toAddress = address; + } + + // get unsigned message + const unsignedMessage = await bridgeSDK.meson.getUnsignedMessage({ + fromToken: `${fromChain?.meson?.raw?.id}:${selectedToken?.meson?.raw?.id}`, + toToken: `${toChain?.meson?.raw?.id}:${toToken?.meson?.raw?.id}`, + amount: sendValue, + fromAddress: fromAddress, + recipient: toAddress, + }); + + if (unsignedMessage?.result) { + const result = unsignedMessage.result; + const encodedData = result.encoded; + const message = result.signingRequest.message; + + if (fromChain?.chainType === 'tron') { + const hexTronHeader = utf8ToHex('\x19TRON Signed Message:\n32'); + msg = message.replace(hexTronHeader, ''); + } else { + const hexEthHeader = utf8ToHex('\x19Ethereum Signed Message:\n52'); + msg = message.replace(hexEthHeader, ''); + } + + if (fromChain?.chainType != 'tron') { + signature = await signMessageAsync({ + account: address, + message: { + raw: msg as `0x${string}`, + }, + }); + } else { + // TODO + signature = String(await signTransaction(msg as any)); + } + + const swapId = await bridgeSDK.meson.sendToken({ + fromAddress: fromAddress, + recipient: toAddress, + signature: signature, + encodedData: encodedData, + }); + + // eslint-disable-next-line no-console + console.log(swapId); + if (swapId?.result?.swapId) { + setChosenBridge('meson'); + setHash(swapId?.result?.swapId); + } + if (swapId?.error) { + throw new Error(swapId?.error.message); + } + onCloseConfirmingModal(); + onOpenSubmittedModal(); + } else { + throw new Error(unsignedMessage?.error.message); + } } } catch (e: any) { // eslint-disable-next-line no-console @@ -286,6 +381,16 @@ export function TransferButton({ toToken, fromChain, toChain, + isApproveNeeded, + isTronConnected, + isEvmConnected, + tronAddress, + isAvailableAccount, + isTronTransfer, + toAccount, + + signMessageAsync, + signTransaction, ]); return ( diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/WalletButtonWrapper.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/WalletButtonWrapper.tsx index ea5a5c0f..4a1a5562 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/WalletButtonWrapper.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/WalletButtonWrapper.tsx @@ -1,22 +1,27 @@ import { PropsWithChildren } from 'react'; -import { useAccount } from 'wagmi'; import { useAppSelector } from '@/modules/store/StoreProvider'; import { WalletConnectButton } from '@/modules/transfer/components/Button/WalletConnectButton'; import { SwitchNetworkButton } from '@/modules/transfer/components/Button/SwitchNetworkButton'; +import { useCurrentWallet } from '@/modules/wallet/CurrentWalletProvider'; +import { SwitchWalletButton } from '@/modules/transfer/components/Button/SwitchWalletButton'; export function WalletButtonWrapper(props: PropsWithChildren) { const { children } = props; const fromChain = useAppSelector((state) => state.transfer.fromChain); - const { isConnected, chain } = useAccount(); + const { isConnected, chain, walletType } = useCurrentWallet(); if (isConnected) { - if (fromChain && chain?.id !== fromChain.id) { - return ; + if (walletType !== fromChain?.chainType) { + return ; + } else { + if (chain?.id !== fromChain.id) { + return ; + } + return <>{children}; } - return <>{children}; - } else { - return ; } + + return ; } diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/WalletConnectButton.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/WalletConnectButton.tsx index 47dfa346..3cf76725 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/WalletConnectButton.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/WalletConnectButton.tsx @@ -1,26 +1,28 @@ import { Button, useColorMode, useIntl, useTheme } from '@bnb-chain/space'; -import { useConnectModal } from '@node-real/walletkit'; -import { useAppSelector } from '@/modules/store/StoreProvider'; import { reportEvent } from '@/core/utils/gtm'; +import { useAppSelector } from '@/modules/store/StoreProvider'; +import { useCurrentWallet } from '@/modules/wallet/CurrentWalletProvider'; export const WalletConnectButton = () => { - const { onOpen } = useConnectModal(); const { formatMessage } = useIntl(); const { colorMode } = useColorMode(); + const theme = useTheme(); const fromChain = useAppSelector((state) => state.transfer.fromChain); + const { linkWallet } = useCurrentWallet(); - const theme = useTheme(); return ( )} diff --git a/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx b/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx index e9a7686b..2943e92e 100644 --- a/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx @@ -1,34 +1,31 @@ import { Flex, useColorMode, useIntl, useTheme, Text } from '@bnb-chain/space'; -import { useAccount } from 'wagmi'; import { TickIcon } from '@bnb-chain/icons'; import { IconImage } from '@/core/components/IconImage'; import { useAppSelector } from '@/modules/store/StoreProvider'; -import { useFromChains } from '@/modules/aggregator/hooks/useFromChains'; -import { useEvmSwitchChain } from '@/modules/wallet/hooks/useEvmSwitchChain'; import { Dropdown } from '@/modules/wallet/components/Dropdown/Dropdown'; import { DropdownButton } from '@/modules/wallet/components/Dropdown/DropdownButton'; import { DropdownList } from '@/modules/wallet/components/Dropdown/DropdownList'; import { DropdownItem } from '@/modules/wallet/components/Dropdown/DropdownItem'; +import { useCurrentWallet } from '@/modules/wallet/CurrentWalletProvider'; +import { useFromChains } from '@/modules/aggregator/hooks/useFromChains'; export function NetworkStatus() { const fromChain = useAppSelector((state) => state.transfer.fromChain); + const { formatMessage } = useIntl(); const theme = useTheme(); const { colorMode } = useColorMode(); - const { chain, chainId } = useAccount(); - const { formatMessage } = useIntl(); - const fromChains = useFromChains(); - const { switchChain } = useEvmSwitchChain(); - const bridgeChains = useFromChains(); + const { chain, chainId, linkWallet } = useCurrentWallet(); + const fromChains = useFromChains(); if (!chain) { return null; } const isWrongNetwork = !!fromChain && fromChain.id !== chain.id; - const iconUrl = bridgeChains.find((e) => e.id === chain.id)?.icon; + const iconUrl = fromChains.find((e) => e.id === chain.id)?.icon; return ( @@ -68,11 +65,10 @@ export function NetworkStatus() { } bg={isSelected ? theme.colors[colorMode].popover.selected : undefined} onClick={() => { - if (chainId !== item.id) { - switchChain({ - chainId: item.id, - }); - } + linkWallet({ + chainType: item.chainType, + initialChainId: item.id, + }); }} > diff --git a/packages/canonical-bridge-widget/src/modules/wallet/components/ProfileMenu/index.tsx b/packages/canonical-bridge-widget/src/modules/wallet/components/ProfileMenu/index.tsx index 242d4e29..69c51ad5 100644 --- a/packages/canonical-bridge-widget/src/modules/wallet/components/ProfileMenu/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/wallet/components/ProfileMenu/index.tsx @@ -1,24 +1,20 @@ import { Box, Center, Flex, useColorMode, useIntl, useTheme } from '@bnb-chain/space'; import { DisconnectIcon } from '@bnb-chain/icons'; -import { useAccount, useDisconnect } from 'wagmi'; import { useWalletKit } from '@node-real/walletkit'; import { useMemo } from 'react'; import { CopyAddress } from '@/core/components/CopyAddress'; import { formatNumber } from '@/core/utils/number'; import { formatAppAddress } from '@/core/utils/address'; -import { useEvmBalance } from '@/modules/wallet/hooks/useEvmBalance'; import { Dropdown } from '@/modules/wallet/components/Dropdown/Dropdown'; import { DropdownButton } from '@/modules/wallet/components/Dropdown/DropdownButton'; import { DropdownList } from '@/modules/wallet/components/Dropdown/DropdownList'; +import { useCurrentWallet } from '@/modules/wallet/CurrentWalletProvider'; export const ProfileMenu = () => { const { formatMessage } = useIntl(); const { colorMode } = useColorMode(); - const { address } = useAccount(); - const { data: balance } = useEvmBalance(address); - const { disconnect } = useDisconnect(); - + const { address, balance, disconnect } = useCurrentWallet(); const walletIcon = useWalletIcon(); const theme = useTheme(); @@ -58,7 +54,7 @@ export const ProfileMenu = () => { {walletIcon} - + {formatAppAddress({ address })} @@ -109,14 +105,13 @@ export const ProfileMenu = () => { }; function useWalletIcon() { - const { connector } = useAccount(); + const { walletId } = useCurrentWallet(); + const { colorMode } = useColorMode(); const { wallets } = useWalletKit(); const icon = useMemo(() => { - const selectedWallet = wallets.find( - (item) => item.id === connector?.id || item.name === connector?.name, - ); + const selectedWallet = wallets.find((item) => item.id === walletId); if (selectedWallet) { const { transparent: transparentLogos } = selectedWallet.logos ?? {}; @@ -125,7 +120,7 @@ function useWalletIcon() { } return null; - }, [colorMode, connector?.id, connector?.name, wallets]); + }, [colorMode, walletId, wallets]); return icon; } diff --git a/packages/canonical-bridge-widget/src/modules/wallet/hooks/useEvmBalance.ts b/packages/canonical-bridge-widget/src/modules/wallet/hooks/useEvmBalance.ts index 0fe9a11c..9c8d151a 100644 --- a/packages/canonical-bridge-widget/src/modules/wallet/hooks/useEvmBalance.ts +++ b/packages/canonical-bridge-widget/src/modules/wallet/hooks/useEvmBalance.ts @@ -13,7 +13,7 @@ export function useEvmBalance(address?: Address, enabled = true) { const { chain, chainId } = useAccount(); return useQuery({ - queryKey: ['evm:getBalance', address, chainId], + queryKey: ['useEvmBalance', address, chainId], refetchInterval: 1000 * 5, enabled: !!address && enabled && !!chain && !!chainId, queryFn: async () => { diff --git a/packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronAccount.ts b/packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronAccount.ts new file mode 100644 index 00000000..4ca9bc08 --- /dev/null +++ b/packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronAccount.ts @@ -0,0 +1,10 @@ +import { useTronWallet } from '@node-real/walletkit/tron'; + +export function useTronAccount() { + const { address, connected } = useTronWallet(); + + return { + address: address || undefined, + isConnected: connected, + }; +} diff --git a/packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronBalance.ts b/packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronBalance.ts new file mode 100644 index 00000000..00028be1 --- /dev/null +++ b/packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronBalance.ts @@ -0,0 +1,24 @@ +import { useQuery } from '@tanstack/react-query'; + +import { FormattedBalance } from '@/modules/wallet/hooks/useEvmBalance'; +import { useTronWeb } from '@/core/hooks/useTronWeb'; + +export function useTronBalance(address?: string, enabled = true) { + const tronWeb = useTronWeb(); + + return useQuery({ + queryKey: ['useTronBalance', address], + refetchInterval: 1000 * 5, + enabled: !!address && enabled && !!tronWeb, + queryFn: async () => { + const balance = await tronWeb!.trx.getUnconfirmedBalance(address); + const formattedBalance = tronWeb!.fromSun(balance); + + return { + formatted: String(formattedBalance), + symbol: 'TRX', + value: BigInt(balance), + }; + }, + }); +} diff --git a/packages/canonical-bridge-widget/src/modules/wallet/hooks/useWalletModal.tsx b/packages/canonical-bridge-widget/src/modules/wallet/hooks/useWalletModal.tsx new file mode 100644 index 00000000..c57a8ede --- /dev/null +++ b/packages/canonical-bridge-widget/src/modules/wallet/hooks/useWalletModal.tsx @@ -0,0 +1,98 @@ +import { BaseWallet, useConnectModal, useWalletKit } from '@node-real/walletkit'; +import { Center, Flex, theme } from '@bnb-chain/space'; +import { useEffect, useMemo } from 'react'; + +import { NetworkIcon } from '@/core/components/icons/NetworkIcon'; +import { useAppSelector } from '@/modules/store/StoreProvider'; + +export function useWalletModal() { + const { isOpen, onClose, onOpen } = useConnectModal(); + useUpdateWallets(); + + return { + isOpen, + onClose, + onOpen, + }; +} + +export function useUpdateWallets() { + const fromChain = useAppSelector((state) => state.transfer.fromChain); + const { evmConfig, tronConfig, setWallets } = useWalletKit(); + + const { evmWalletIds, tronWalletIds, wallets } = useMemo(() => { + const wallets: BaseWallet[] = []; + if (evmConfig?.wallets) { + wallets.push(...evmConfig.wallets); + } + if (tronConfig?.wallets) { + wallets.push(...tronConfig?.wallets); + } + return { + evmWalletIds: evmConfig?.wallets.map((e) => e.id) ?? [], + tronWalletIds: tronConfig?.wallets.map((e) => e.id) ?? [], + wallets, + }; + }, [evmConfig?.wallets, tronConfig?.wallets]); + + useEffect(() => { + const chainType = fromChain?.chainType ?? 'evm'; + const availableWalletIds = chainType === 'evm' ? evmWalletIds : tronWalletIds; + + const newWallets: BaseWallet[] = []; + wallets.forEach((item) => { + const count = wallets.filter((e) => e.name === item.name).length; + + newWallets.push({ + ...item, + isVisible: count === 1 || (count > 1 && item.walletType === chainType), + render: ({ wallet, onClick }) => { + const isAvailable = availableWalletIds.includes(wallet.id as any); + + return ( + + + {wallet.name} + {!isAvailable && ( + + + Incompatible with current network + + )} + +
+ {wallet.logo} +
+
+ ); + }, + }); + }); + + newWallets.sort((a, b) => { + const aId = a.id as any; + const bId = b.id as any; + + const aIndex = wallets.findIndex((id) => id === aId); + const bIndex = wallets.findIndex((id) => id === bId); + + const isA = availableWalletIds.includes(aId); + const isB = availableWalletIds.includes(bId); + + if (isA && !isB) return -1; + if (!isA && isB) return 1; + if ((isA && isB) || (!isA && !isB)) return aIndex - bIndex; + + return 0; + }); + + setWallets(newWallets); + }, [evmWalletIds, fromChain, setWallets, tronWalletIds, wallets]); +} From a6eaaaae2e77799256913a4ea30f9f15f680949f Mon Sep 17 00:00:00 2001 From: wenty22 Date: Fri, 18 Oct 2024 18:54:13 +0800 Subject: [PATCH 02/36] feat: Add meson --- .../canonical-bridge-ui/pages/testnet/index.tsx | 2 +- .../aggregator/adapters/meson/MesonAdapter.ts | 2 +- .../adapters/meson/hooks/useGetTronAllowance.ts | 6 +++++- .../transfer/components/ToAccount/index.tsx | 17 +++++++++-------- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/apps/canonical-bridge-ui/pages/testnet/index.tsx b/apps/canonical-bridge-ui/pages/testnet/index.tsx index cff5aca5..49e6f713 100644 --- a/apps/canonical-bridge-ui/pages/testnet/index.tsx +++ b/apps/canonical-bridge-ui/pages/testnet/index.tsx @@ -17,7 +17,7 @@ export const bridgeConfig: ICanonicalBridgeConfig = { assetPrefix: env.ASSET_PREFIX, appearance: { - bridgeTitle: 'BNB Chain Cross-Chain Bridge', + bridgeTitle: 'BNB Chain Cross-Chain Bridge Testnet', locale: 'en', messages, mode: 'dark', diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/MesonAdapter.ts b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/MesonAdapter.ts index 27013281..5b786c2d 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/MesonAdapter.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/MesonAdapter.ts @@ -4,7 +4,7 @@ import { BaseAdapter, ITransferTokenPair } from '@/modules/aggregator/shared/Bas import { IMesonChain, IMesonToken } from '@/modules/aggregator/adapters/meson/types'; const SUPPORTED_CHAIN_IDS = [56, 97, 728126427, 728126428]; -const SUPPORTED_TOKENS = ['USDT']; +const SUPPORTED_TOKENS = ['USDT', 'USDC']; export class MesonAdapter extends BaseAdapter { public bridgeType: BridgeType = 'meson'; diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useGetTronAllowance.ts b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useGetTronAllowance.ts index d9a380a2..6a92ef86 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useGetTronAllowance.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useGetTronAllowance.ts @@ -28,7 +28,11 @@ export const useGetTronAllowance = () => { trc20Address: selectedToken?.address, tronBridgeAddress: transferActionInfo?.bridgeAddress, }); - if (typeof allowance === 'bigint' && !!allowance) setAllowance(allowance); + if (typeof allowance === 'bigint' && allowance !== null) { + setAllowance(allowance); + } else if (typeof allowance?.[0] === 'bigint') { + setAllowance(allowance?.[0]); + } // eslint-disable-next-line no-console console.log('Tron token allowance', allowance); return { allowance }; diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx index 9be97d22..8fe533b4 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx @@ -8,6 +8,7 @@ import { useIntl, InputGroup, InputRightElement, + Checkbox, } from '@bnb-chain/space'; import { ChangeEvent, useRef, useState } from 'react'; @@ -22,7 +23,7 @@ export function ToAccount(props: FlexProps) { const { formatMessage } = useIntl(); const dispatch = useAppDispatch(); - // const [isChecked, setIsChecked] = useState(false); + const [isChecked, setIsChecked] = useState(false); const toAccount = useAppSelector((state) => state.transfer.toAccount); const toChain = useAppSelector((state) => state.transfer.toChain); @@ -51,13 +52,13 @@ export function ToAccount(props: FlexProps) { const isInvalid = !isAvailableAccount && !!toAccount.address; - // const onCheckboxChange = (e: React.ChangeEvent) => { - // if (e.target.checked === true) { - // setIsChecked(true); - // } else { - // setIsChecked(false); - // } - // }; + const onCheckboxChange = (e: React.ChangeEvent) => { + if (e.target.checked === true) { + setIsChecked(true); + } else { + setIsChecked(false); + } + }; return ( Date: Fri, 18 Oct 2024 20:20:57 +1000 Subject: [PATCH 03/36] fix: Fix tron allowance issue --- apps/canonical-bridge-ui/data/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/canonical-bridge-ui/data/index.ts b/apps/canonical-bridge-ui/data/index.ts index 26ed63ef..41732e0b 100644 --- a/apps/canonical-bridge-ui/data/index.ts +++ b/apps/canonical-bridge-ui/data/index.ts @@ -26,8 +26,8 @@ export function useTransferConfig() { const transferConfig: ITransferConfig = { defaultSelectedInfo: { - fromChainId: 1, - toChainId: 56, + fromChainId: 728126427, + toChainId: 11155111, tokenSymbol: 'USDT', // USDT amount: '', }, From d55d6eb57c1c60e6f0b38ed64c2d9c294ef5f34c Mon Sep 17 00:00:00 2001 From: chris Date: Mon, 21 Oct 2024 11:09:28 +1000 Subject: [PATCH 04/36] fix: Display other meson API messages --- .../src/modules/transfer/hooks/useLoadingBridgeFees.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/canonical-bridge-widget/src/modules/transfer/hooks/useLoadingBridgeFees.ts b/packages/canonical-bridge-widget/src/modules/transfer/hooks/useLoadingBridgeFees.ts index 3c44dfca..27424fd3 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/hooks/useLoadingBridgeFees.ts +++ b/packages/canonical-bridge-widget/src/modules/transfer/hooks/useLoadingBridgeFees.ts @@ -145,6 +145,14 @@ export const useLoadingBridgeFees = () => { meson: `Minimum amount is ${error.data.fee} ${selectedToken.symbol}`, }), ); + } else { + // other error + dispatch(setEstimatedAmount({ meson: 'error' })); + dispatch( + setRouteError({ + meson: error.message, + }), + ); } } else { const feeSortingRes = await mesonFeeSorting(mesonEst.value.result); From 320ea2bacbcc9035337406122fcbb9328e3e53c9 Mon Sep 17 00:00:00 2001 From: chris Date: Mon, 21 Oct 2024 14:56:43 +1000 Subject: [PATCH 05/36] feat: To address confirmed checkbox --- apps/canonical-bridge-ui/core/locales/en.ts | 2 + .../core/components/ConfirmCheckbox/index.tsx | 69 +++++++++++++++++++ .../src/modules/transfer/action.ts | 4 ++ .../components/Button/TransferButton.tsx | 8 ++- .../transfer/components/SendInput/index.tsx | 3 +- .../transfer/components/ToAccount/index.tsx | 23 ++++--- .../transfer/hooks/useLoadingBridgeFees.ts | 12 +++- .../src/modules/transfer/index.tsx | 2 +- .../src/modules/transfer/reducer.ts | 7 ++ 9 files changed, 114 insertions(+), 16 deletions(-) create mode 100644 packages/canonical-bridge-widget/src/core/components/ConfirmCheckbox/index.tsx diff --git a/apps/canonical-bridge-ui/core/locales/en.ts b/apps/canonical-bridge-ui/core/locales/en.ts index d6c1a642..662dd732 100644 --- a/apps/canonical-bridge-ui/core/locales/en.ts +++ b/apps/canonical-bridge-ui/core/locales/en.ts @@ -15,6 +15,8 @@ export const en = { 'to.section.account.label': 'Destination Address', 'to.section.account.placeholder': 'Enter {network} Address', 'to.section.account.invalid': 'Invalid address.', + 'to.section.confirm.text': + 'I confirmed the address is correct and not an exchange or contract address. Any tokens sent to an incorrect address will be unrecoverable.', 'you.send.title': 'You Send', 'you.receive.title': 'You Receive', diff --git a/packages/canonical-bridge-widget/src/core/components/ConfirmCheckbox/index.tsx b/packages/canonical-bridge-widget/src/core/components/ConfirmCheckbox/index.tsx new file mode 100644 index 00000000..5e2ed4f9 --- /dev/null +++ b/packages/canonical-bridge-widget/src/core/components/ConfirmCheckbox/index.tsx @@ -0,0 +1,69 @@ +import { Checkbox, CheckboxProps, theme, useColorMode } from '@bnb-chain/space'; + +export const ConfirmCheckbox: React.FC = (props: CheckboxProps) => { + const { colorMode } = useColorMode(); + + const { isChecked } = props; + + return ( + + ); +}; diff --git a/packages/canonical-bridge-widget/src/modules/transfer/action.ts b/packages/canonical-bridge-widget/src/modules/transfer/action.ts index 50b120f8..004838bf 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/action.ts +++ b/packages/canonical-bridge-widget/src/modules/transfer/action.ts @@ -39,3 +39,7 @@ export const setRouteError = createAction('transfe export const setToAccount = createAction('transfer/setToAccount'); export const setRouteFees = createAction('transfer/setRouteFees'); + +export const setIsToAddressChecked = createAction( + 'transfer/setIsToAddressChecked', +); diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx index a3bfddf0..2593b169 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx @@ -52,6 +52,7 @@ export function TransferButton({ const fromChain = useAppSelector((state) => state.transfer.fromChain); const toChain = useAppSelector((state) => state.transfer.toChain); const toAccount = useAppSelector((state) => state.transfer.toAccount); + const isToAddressChecked = useAppSelector((state) => state.transfer.isToAddressChecked); // eslint-disable-next-line @typescript-eslint/no-explicit-any const publicClient = usePublicClient({ chainId: fromChain?.id }) as any; @@ -89,7 +90,8 @@ export function TransferButton({ selectedToken?.address !== '0x0000000000000000000000000000000000000000') || !isEvmConnected) && fromChain?.chainType !== 'tron') || - (!isTronConnected && fromChain?.chainType === 'tron' && !tronAddress) + ((!isTronConnected || !tronAddress || tronAllowance === null) && + fromChain?.chainType === 'tron') ) { return; } @@ -366,6 +368,7 @@ export function TransferButton({ address, transferActionInfo, allowance, + tronAllowance, setHash, setChosenBridge, sendValue, @@ -412,7 +415,8 @@ export function TransferButton({ !sendValue || !Number(sendValue) || !transferActionInfo || - !isTransferable + !isTransferable || + (isTronTransfer && !isToAddressChecked) } > {isApproveNeeded diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/index.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/index.tsx index 2332c239..7bf09445 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/index.tsx @@ -84,7 +84,7 @@ export const SendInput: React.FC = () => { }; return ( - + {formatMessage({ id: 'you.send.title' })} @@ -93,6 +93,7 @@ export const SendInput: React.FC = () => { ) => { if (e.target.checked === true) { setIsChecked(true); + dispatch(setIsToAddressChecked(true)); } else { setIsChecked(false); + dispatch(setIsToAddressChecked(false)); } }; @@ -104,13 +106,16 @@ export function ToAccount(props: FlexProps) { )} - {/* - - - I confirmed the address is correct and not an exchange or contract address. Any tokens - sent to an incorrect address will be unrecoverable. - - */} + + {formatMessage({ id: 'to.section.confirm.text' })} + {isInvalid && ( diff --git a/packages/canonical-bridge-widget/src/modules/transfer/hooks/useLoadingBridgeFees.ts b/packages/canonical-bridge-widget/src/modules/transfer/hooks/useLoadingBridgeFees.ts index 27424fd3..4cf09493 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/hooks/useLoadingBridgeFees.ts +++ b/packages/canonical-bridge-widget/src/modules/transfer/hooks/useLoadingBridgeFees.ts @@ -156,14 +156,20 @@ export const useLoadingBridgeFees = () => { } } else { const feeSortingRes = await mesonFeeSorting(mesonEst.value.result); + const decimals = selectedToken?.meson?.raw?.decimals || 6; const receiveMesonAmt = - Number(debouncedSendValue) - Number(mesonEst.value.result.totalFee); + parseUnits(debouncedSendValue, decimals) - + parseUnits(mesonEst.value.result.totalFee, decimals); if (feeSortingRes) { - dispatch(setEstimatedAmount({ meson: formatNumber(receiveMesonAmt, 8) })); + dispatch( + setEstimatedAmount({ + meson: formatNumber(Number(formatUnits(receiveMesonAmt, decimals)), 8), + }), + ); // TODO check amount value valueArr.push({ type: 'meson', - value: formatNumber(receiveMesonAmt, 8), + value: formatNumber(Number(formatUnits(receiveMesonAmt, decimals)), 8), isIgnoreSorted: false, isDisplayError: false, }); diff --git a/packages/canonical-bridge-widget/src/modules/transfer/index.tsx b/packages/canonical-bridge-widget/src/modules/transfer/index.tsx index 85a35532..c2f4f39d 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/index.tsx @@ -67,7 +67,7 @@ export function TransferWidget() { - + diff --git a/packages/canonical-bridge-widget/src/modules/transfer/reducer.ts b/packages/canonical-bridge-widget/src/modules/transfer/reducer.ts index d546a2fe..057b6844 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/reducer.ts +++ b/packages/canonical-bridge-widget/src/modules/transfer/reducer.ts @@ -23,6 +23,7 @@ export interface ITransferState { isRefreshing?: boolean; estimatedAmount?: IEstimatedAmount; routeFees?: IRouteFees; + isToAddressChecked?: boolean; toAccount: { address?: string; }; @@ -45,6 +46,7 @@ const initStates: ITransferState = { isRefreshing: false, estimatedAmount: undefined, routeFees: undefined, + isToAddressChecked: false, toAccount: { address: '', }, @@ -101,6 +103,11 @@ export default createReducer(initStates, (builder) => { isRefreshing: payload, })); + builder.addCase(actions.setIsToAddressChecked, (state, { payload }) => ({ + ...state, + isToAddressChecked: payload, + })); + builder.addCase(actions.setEstimatedAmount, (state, { payload }) => ({ ...state, estimatedAmount: { ...state.estimatedAmount, ...payload }, From e448127bcccddcf4d20a52041ffb1002bfecbed8 Mon Sep 17 00:00:00 2001 From: chris Date: Mon, 21 Oct 2024 15:16:09 +1000 Subject: [PATCH 06/36] fix: Fix default chain --- apps/canonical-bridge-ui/data/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/canonical-bridge-ui/data/index.ts b/apps/canonical-bridge-ui/data/index.ts index 41732e0b..26ed63ef 100644 --- a/apps/canonical-bridge-ui/data/index.ts +++ b/apps/canonical-bridge-ui/data/index.ts @@ -26,8 +26,8 @@ export function useTransferConfig() { const transferConfig: ITransferConfig = { defaultSelectedInfo: { - fromChainId: 728126427, - toChainId: 11155111, + fromChainId: 1, + toChainId: 56, tokenSymbol: 'USDT', // USDT amount: '', }, From 5de8636ad934ada1431f89e4c2a653fe4f80035f Mon Sep 17 00:00:00 2001 From: wenty22 Date: Mon, 21 Oct 2024 13:43:25 +0800 Subject: [PATCH 07/36] chore: Update gh-pages cicd --- .github/workflows/gh-pages-cicd.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gh-pages-cicd.yaml b/.github/workflows/gh-pages-cicd.yaml index 7ee29815..813049a4 100644 --- a/.github/workflows/gh-pages-cicd.yaml +++ b/.github/workflows/gh-pages-cicd.yaml @@ -57,4 +57,4 @@ jobs: destination-github-username: 'wenty22' destination-repository-name: 'canonical-bridge' user-email: github-actions[bot]@users.noreply.github.com - target-branch: gh-pages + target-branch: main From b4f402da907666d38fbf7d0e29cd7f4b3d2cf383 Mon Sep 17 00:00:00 2001 From: chris Date: Mon, 21 Oct 2024 15:59:51 +1000 Subject: [PATCH 08/36] fix: Clear destination account input value after switching from chain --- .../SelectModal/SourceNetworkModal.tsx | 5 ++++- .../transfer/components/ToAccount/index.tsx | 18 ++++++++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/components/SelectModal/SourceNetworkModal.tsx b/packages/canonical-bridge-widget/src/modules/aggregator/components/SelectModal/SourceNetworkModal.tsx index 7aa2e454..401f3ed8 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/components/SelectModal/SourceNetworkModal.tsx +++ b/packages/canonical-bridge-widget/src/modules/aggregator/components/SelectModal/SourceNetworkModal.tsx @@ -1,6 +1,6 @@ import { Flex, useColorMode, useIntl, useTheme } from '@bnb-chain/space'; -import { useAppSelector } from '@/modules/store/StoreProvider'; +import { useAppDispatch, useAppSelector } from '@/modules/store/StoreProvider'; import { useFromChains } from '@/modules/aggregator/hooks/useFromChains'; import { VirtualList } from '@/core/components/VirtualList'; import { useSelection } from '@/modules/aggregator/hooks/useSelection'; @@ -10,6 +10,7 @@ import { BaseModal } from '@/modules/aggregator/components/SelectModal/component import { useSearch } from '@/modules/aggregator/components/SelectModal/hooks/useSearch'; import { ListItem } from '@/modules/aggregator/components/SelectModal/components/ListItem'; import { reportEvent } from '@/core/utils/gtm'; +import { setToAccount } from '@/modules/transfer/action'; interface SourceNetworkModalProps { isOpen: boolean; @@ -19,6 +20,7 @@ interface SourceNetworkModalProps { export function SourceNetworkModal(props: SourceNetworkModalProps) { const { isOpen, onClose } = props; const { formatMessage } = useIntl(); + const dispatch = useAppDispatch(); const fromChain = useAppSelector((state) => state.transfer.fromChain); const toChain = useAppSelector((state) => state.transfer.toChain); @@ -67,6 +69,7 @@ export function SourceNetworkModal(props: SourceNetworkModalProps) { openLink(item.externalBridgeUrl); } else { selectFromChain(item); + dispatch(setToAccount({ address: '' })); onClose(); } }} diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx index 71b63e2f..2671657c 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx @@ -10,6 +10,7 @@ import { InputRightElement, } from '@bnb-chain/space'; import { ChangeEvent, useRef, useState } from 'react'; +import { useEffect } from 'react'; import { setIsToAddressChecked, setToAccount } from '@/modules/transfer/action'; import { useTronTransferInfo } from '@/modules/transfer/hooks/tron/useTronTransferInfo'; @@ -46,6 +47,11 @@ export function ToAccount(props: FlexProps) { }, 500); }; + useEffect(() => { + // Clear input value when toAccount is cleared + if (!toAccount.address) setInputValue(''); + }, [toAccount.address]); + if (!isTronTransfer) { return null; } @@ -106,6 +112,12 @@ export function ToAccount(props: FlexProps) { )} + {isInvalid && ( + + {formatMessage({ id: 'to.section.account.invalid' })} + + )} + {formatMessage({ id: 'to.section.confirm.text' })} - - {isInvalid && ( - - {formatMessage({ id: 'to.section.account.invalid' })} - - )} ); } From d68321053c6f02da13a8340278e9ec35090776f5 Mon Sep 17 00:00:00 2001 From: chris Date: Mon, 21 Oct 2024 18:10:30 +1000 Subject: [PATCH 09/36] feat: Tron address validation --- .../adapters/meson/hooks/useTronContract.ts | 21 +++++++++++++++++++ .../transfer/components/ToAccount/index.tsx | 13 +++++++++--- 2 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useTronContract.ts diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useTronContract.ts b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useTronContract.ts new file mode 100644 index 00000000..bb98d879 --- /dev/null +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useTronContract.ts @@ -0,0 +1,21 @@ +import { useTronWeb } from '@/core/hooks/useTronWeb'; + +export const useTronContract = () => { + const tronWeb = useTronWeb(); + + const isTronContractInfo = async (address: string) => { + if (!tronWeb) return; + try { + const contractInfo = await tronWeb.trx.getContract(address); + return !!contractInfo?.bytecode; + } catch (error) { + // eslint-disable-next-line no-console + console.log(error); + return false; + } + }; + + return { + isTronContractInfo, + }; +}; diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx index 2671657c..3e4b7633 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx @@ -18,6 +18,7 @@ import { ErrorIcon } from '@/core/components/icons/ErrorIcon'; import { CorrectIcon } from '@/core/components/icons/CorrectIcon'; import { useAppDispatch, useAppSelector } from '@/modules/store/StoreProvider'; import { ConfirmCheckbox } from '@/core/components/ConfirmCheckbox'; +import { useTronContract } from '@/modules/aggregator/adapters/meson/hooks/useTronContract'; export function ToAccount(props: FlexProps) { const { colorMode } = useColorMode(); @@ -25,11 +26,13 @@ export function ToAccount(props: FlexProps) { const dispatch = useAppDispatch(); const [isChecked, setIsChecked] = useState(false); + const [isTronContract, setIsTronContract] = useState(null); const toAccount = useAppSelector((state) => state.transfer.toAccount); const toChain = useAppSelector((state) => state.transfer.toChain); const { isTronTransfer, isAvailableAccount } = useTronTransferInfo(); + const { isTronContractInfo } = useTronContract(); const timerRef = useRef(); const [inputValue, setInputValue] = useState(toAccount.address); @@ -38,12 +41,16 @@ export function ToAccount(props: FlexProps) { setInputValue(value); clearTimeout(timerRef.current); - timerRef.current = setTimeout(() => { + timerRef.current = setTimeout(async () => { dispatch( setToAccount({ address: value, }), ); + if (toChain?.chainType === 'tron') { + const result = await isTronContractInfo(value); + setIsTronContract(result === true); + } }, 500); }; @@ -56,7 +63,7 @@ export function ToAccount(props: FlexProps) { return null; } - const isInvalid = !isAvailableAccount && !!toAccount.address; + const isInvalid = (!isAvailableAccount && !!toAccount.address) || isTronContract === false; const onCheckboxChange = (e: React.ChangeEvent) => { if (e.target.checked === true) { @@ -107,7 +114,7 @@ export function ToAccount(props: FlexProps) { {(isInvalid || isAvailableAccount) && ( {isInvalid && } - {isAvailableAccount && } + {isAvailableAccount && !isInvalid && } )} From 6f4bb69edd13d23f3ab0fa4254f67a208ba247e1 Mon Sep 17 00:00:00 2001 From: chris Date: Mon, 21 Oct 2024 19:06:00 +1000 Subject: [PATCH 10/36] fix: Fix route error zindex issue --- .../adapters/cBridge/components/CBridgeOption.tsx | 1 - .../aggregator/adapters/meson/components/MesonOption.tsx | 1 - .../adapters/stargate/components/StarGateOption.tsx | 1 - .../TransferOverview/RouteInfo/OtherRouteError.tsx | 7 +------ 4 files changed, 1 insertion(+), 9 deletions(-) diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/cBridge/components/CBridgeOption.tsx b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/cBridge/components/CBridgeOption.tsx index 41ba3e0f..ae851bfd 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/cBridge/components/CBridgeOption.tsx +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/cBridge/components/CBridgeOption.tsx @@ -97,7 +97,6 @@ export const CBridgeOption = () => { /> { {/* */} diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/stargate/components/StarGateOption.tsx b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/stargate/components/StarGateOption.tsx index a6d28e45..3c0985e8 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/stargate/components/StarGateOption.tsx +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/stargate/components/StarGateOption.tsx @@ -88,7 +88,6 @@ export const StarGateOption = () => { {!isAllowSendError && } diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/RouteInfo/OtherRouteError.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/RouteInfo/OtherRouteError.tsx index ff9bafad..00300116 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/RouteInfo/OtherRouteError.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/TransferOverview/RouteInfo/OtherRouteError.tsx @@ -14,12 +14,7 @@ export const OtherRouteError = ({ bridgeType }: OtherRouteErrorProps) => { const routeError = useAppSelector((state) => state.transfer.routeError); return routeError && routeError[bridgeType] ? ( - + {routeError[bridgeType]} From 2b888d5e87c92b358a4d8de260e0b9fe40a06b70 Mon Sep 17 00:00:00 2001 From: chris Date: Mon, 21 Oct 2024 20:33:13 +1000 Subject: [PATCH 11/36] fix: Tron contract verification --- .../src/modules/transfer/components/ToAccount/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx index 3e4b7633..9edfc1c8 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx @@ -63,7 +63,7 @@ export function ToAccount(props: FlexProps) { return null; } - const isInvalid = (!isAvailableAccount && !!toAccount.address) || isTronContract === false; + const isInvalid = (!isAvailableAccount && !!toAccount.address) || isTronContract === true; const onCheckboxChange = (e: React.ChangeEvent) => { if (e.target.checked === true) { From 827529abc263dba1232453662c5314554092d9be Mon Sep 17 00:00:00 2001 From: wenty22 Date: Mon, 21 Oct 2024 19:12:28 +0800 Subject: [PATCH 12/36] fix(canonical-bridge-widget): Fix tron token balances --- .../aggregator/shared/getTokenBalances.ts | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/shared/getTokenBalances.ts b/packages/canonical-bridge-widget/src/modules/aggregator/shared/getTokenBalances.ts index 7d5a119b..ae1defdd 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/shared/getTokenBalances.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/shared/getTokenBalances.ts @@ -127,17 +127,19 @@ async function getTronTokenBalances({ const balances: Record = {}; - const firstToken = tokens?.[0]; - const tokenAddress = firstToken.address; + for (let i = 0; i < Math.min(tokens.length, 2); i++) { + const token = tokens?.[i]; + const tokenAddress = token.address; - tronWeb.setAddress(firstToken.address); - const contractInstance = await tronWeb.contract(tronBalanceABI, tokenAddress); - const balanceOf = await contractInstance.balanceOf(account).call(); - const balance = balanceOf?.toString() as string; + tronWeb.setAddress(token.address); + const contractInstance = await tronWeb.contract(tronBalanceABI, tokenAddress); + const balanceOf = await contractInstance.balanceOf(account).call(); + const balance = balanceOf?.toString() as string; - balances[firstToken.displaySymbol?.toUpperCase()] = Number( - formatUnits(BigInt(balance), firstToken.decimals), - ); + balances[token.displaySymbol?.toUpperCase()] = Number( + formatUnits(BigInt(balance), token.decimals), + ); + } return balances; } catch (err) { From 6372232cfb573aa525760f5db9136f8fd5093b5e Mon Sep 17 00:00:00 2001 From: chris Date: Mon, 21 Oct 2024 21:15:47 +1000 Subject: [PATCH 13/36] fix: Disable send button on invalid to address --- .../adapters/meson/hooks/useTronContract.ts | 30 +++++++++++++++---- .../components/Button/TransferButton.tsx | 5 +++- .../transfer/components/ToAccount/index.tsx | 7 +---- 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useTronContract.ts b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useTronContract.ts index bb98d879..23123ef8 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useTronContract.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/hooks/useTronContract.ts @@ -1,21 +1,39 @@ +import { useState } from 'react'; +import { useEffect } from 'react'; +import { useCallback } from 'react'; + +import { useAppSelector } from '@/modules/store/StoreProvider'; import { useTronWeb } from '@/core/hooks/useTronWeb'; export const useTronContract = () => { const tronWeb = useTronWeb(); + const [isTronContract, setIsTronContract] = useState(null); + const toAccount = useAppSelector((state) => state.transfer.toAccount); - const isTronContractInfo = async (address: string) => { - if (!tronWeb) return; + const isTronContractInfo = useCallback(async () => { + if (!tronWeb || !toAccount?.address) return; try { - const contractInfo = await tronWeb.trx.getContract(address); - return !!contractInfo?.bytecode; + const contractInfo = await tronWeb.trx.getContract(toAccount?.address); + setIsTronContract(!!contractInfo?.bytecode); } catch (error) { // eslint-disable-next-line no-console console.log(error); + setIsTronContract(false); return false; } - }; + }, [toAccount, tronWeb]); + + useEffect(() => { + let mount = true; + if (mount) { + isTronContractInfo(); + } + return () => { + mount = false; + }; + }, [toAccount, isTronContractInfo]); return { - isTronContractInfo, + isTronContract, }; }; diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx index 2593b169..ea72d1e1 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx @@ -13,6 +13,7 @@ import { useGetTronAllowance } from '@/modules/aggregator/adapters/meson/hooks/u import { useCurrentWallet } from '@/modules/wallet/CurrentWalletProvider'; import { useTronTransferInfo } from '@/modules/transfer/hooks/tron/useTronTransferInfo'; import { utf8ToHex } from '@/core/utils/string'; +import { useTronContract } from '@/modules/aggregator/adapters/meson/hooks/useTronContract'; export function TransferButton({ onOpenSubmittedModal, @@ -62,6 +63,7 @@ export function TransferButton({ tokenAddress: selectedToken?.address as `0x${string}`, sender: transferActionInfo?.bridgeAddress as `0x${string}`, }); + const { isTronContract } = useTronContract(); const tronAllowance = useGetTronAllowance(); const { isTronConnected, isEvmConnected } = useCurrentWallet(); @@ -416,7 +418,8 @@ export function TransferButton({ !Number(sendValue) || !transferActionInfo || !isTransferable || - (isTronTransfer && !isToAddressChecked) + (isTronTransfer && !isToAddressChecked) || + isTronContract === true } > {isApproveNeeded diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx index 9edfc1c8..0130967e 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx @@ -26,13 +26,12 @@ export function ToAccount(props: FlexProps) { const dispatch = useAppDispatch(); const [isChecked, setIsChecked] = useState(false); - const [isTronContract, setIsTronContract] = useState(null); const toAccount = useAppSelector((state) => state.transfer.toAccount); const toChain = useAppSelector((state) => state.transfer.toChain); const { isTronTransfer, isAvailableAccount } = useTronTransferInfo(); - const { isTronContractInfo } = useTronContract(); + const { isTronContract } = useTronContract(); const timerRef = useRef(); const [inputValue, setInputValue] = useState(toAccount.address); @@ -47,10 +46,6 @@ export function ToAccount(props: FlexProps) { address: value, }), ); - if (toChain?.chainType === 'tron') { - const result = await isTronContractInfo(value); - setIsTronContract(result === true); - } }, 500); }; From 535bb24b91a2abd41c42facc625c9ced7349379f Mon Sep 17 00:00:00 2001 From: wenty22 Date: Mon, 21 Oct 2024 20:00:04 +0800 Subject: [PATCH 14/36] fix(canonical-bridge-widget): Fix tron icon display issue on mobile --- apps/canonical-bridge-ui/pages/_document.tsx | 10 ++++++++++ .../wallet/components/ProfileMenu/index.tsx | 14 ++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/apps/canonical-bridge-ui/pages/_document.tsx b/apps/canonical-bridge-ui/pages/_document.tsx index 71a51793..50da7f1f 100644 --- a/apps/canonical-bridge-ui/pages/_document.tsx +++ b/apps/canonical-bridge-ui/pages/_document.tsx @@ -10,6 +10,16 @@ export default class Document extends NextDocument { + + diff --git a/packages/canonical-bridge-widget/src/modules/wallet/components/ProfileMenu/index.tsx b/packages/canonical-bridge-widget/src/modules/wallet/components/ProfileMenu/index.tsx index 69c51ad5..33645d3c 100644 --- a/packages/canonical-bridge-widget/src/modules/wallet/components/ProfileMenu/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/wallet/components/ProfileMenu/index.tsx @@ -27,6 +27,20 @@ export const ProfileMenu = () => { pl={{ base: '0', md: '12px' }} pr={{ base: '0', md: '16px' }} > + {/* Don't remove the below component, otherwise tron icon will be abnormal on mobile */} +
+ {walletIcon} +
{walletIcon && (
Date: Mon, 21 Oct 2024 21:24:52 +0800 Subject: [PATCH 15/36] chore: Update cicd --- .github/actions/gh-pages/action.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/gh-pages/action.yaml b/.github/actions/gh-pages/action.yaml index cd1fdac1..2fe8d0fe 100644 --- a/.github/actions/gh-pages/action.yaml +++ b/.github/actions/gh-pages/action.yaml @@ -34,8 +34,8 @@ runs: - name: Install & build shell: bash run: | - node common/scripts/install-run-rush.js install -t @bnb-chain/canonical-bridge-ui - node common/scripts/install-run-rush.js build -t @bnb-chain/canonical-bridge-ui + node common/scripts/install-run-rush.js install -t canonical-bridge-ui + node common/scripts/install-run-rush.js build -t canonical-bridge-ui - name: Pushes to another repository uses: cpina/github-action-push-to-another-repository@main From 54c492fde5e3f7ed84d2a04932ef8003a9b49a07 Mon Sep 17 00:00:00 2001 From: chris Date: Tue, 22 Oct 2024 06:47:14 +1000 Subject: [PATCH 16/36] fix: Fix typo --- packages/canonical-bridge-widget/src/core/constants/index.ts | 2 +- .../src/modules/transfer/components/Button/TransferButton.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/canonical-bridge-widget/src/core/constants/index.ts b/packages/canonical-bridge-widget/src/core/constants/index.ts index 8a88d8bb..e9ed65e9 100644 --- a/packages/canonical-bridge-widget/src/core/constants/index.ts +++ b/packages/canonical-bridge-widget/src/core/constants/index.ts @@ -6,7 +6,7 @@ export const EXPLORER_URL: Record = { cBridge: 'https://celerscan.com/tx/', deBridge: 'https://app.debridge.finance/orders?s=', // meson: 'https://testnet-explorer.meson.fi/swap/', - meson: 'https://explorer.meson.fi//swap/', + meson: 'https://explorer.meson.fi/swap/', }; export const STARGATE_QUEUE_URL = 'https://mainnet.stargate-api.com/v1/buses/bus-drive-settings'; diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx index ea72d1e1..212509ab 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx @@ -418,7 +418,7 @@ export function TransferButton({ !Number(sendValue) || !transferActionInfo || !isTransferable || - (isTronTransfer && !isToAddressChecked) || + (isTronTransfer && (!isToAddressChecked || !toAccount?.address || !isAvailableAccount)) || isTronContract === true } > From 5b3417e9a52f17ecab144de94d2d4346125979e4 Mon Sep 17 00:00:00 2001 From: wenty22 Date: Tue, 22 Oct 2024 10:50:56 +0800 Subject: [PATCH 17/36] fix(canonical-bridge-widget): Show error tips for tron if is insufficient balance --- .../src/modules/transfer/hooks/useInputValidation.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/canonical-bridge-widget/src/modules/transfer/hooks/useInputValidation.ts b/packages/canonical-bridge-widget/src/modules/transfer/hooks/useInputValidation.ts index 7fa82045..064a0da3 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/hooks/useInputValidation.ts +++ b/packages/canonical-bridge-widget/src/modules/transfer/hooks/useInputValidation.ts @@ -1,13 +1,14 @@ import { formatUnits } from 'viem'; import { BridgeType } from '@bnb-chain/canonical-bridge-sdk'; import { useCallback } from 'react'; -import { useAccount } from 'wagmi'; import { formatNumber } from '@/core/utils/number'; import { useAppSelector } from '@/modules/store/StoreProvider'; +import { useCurrentWallet } from '@/modules/wallet/CurrentWalletProvider'; export const useInputValidation = () => { - const { chain } = useAccount(); + const { chain } = useCurrentWallet(); + const fromChain = useAppSelector((state) => state.transfer.fromChain); const validateInput = useCallback( ({ From 5828a4316f8eb6af50b03b2509d391d200faafe6 Mon Sep 17 00:00:00 2001 From: wenty22 Date: Tue, 22 Oct 2024 11:00:37 +0800 Subject: [PATCH 18/36] fix(canonical-bridge-widget): Hide balance if chain type is different from wallet type --- .../aggregator/components/SelectModal/ChooseTokenModal.tsx | 4 ++-- .../src/modules/transfer/components/SendInput/MaxLink.tsx | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/components/SelectModal/ChooseTokenModal.tsx b/packages/canonical-bridge-widget/src/modules/aggregator/components/SelectModal/ChooseTokenModal.tsx index 74415916..1f7a9dfd 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/components/SelectModal/ChooseTokenModal.tsx +++ b/packages/canonical-bridge-widget/src/modules/aggregator/components/SelectModal/ChooseTokenModal.tsx @@ -28,7 +28,7 @@ export function ChooseTokenModal(props: ChooseTokenModalProps) { const { formatMessage } = useIntl(); const theme = useTheme(); const { colorMode } = useColorMode(); - const { isConnected } = useCurrentWallet(); + const { isConnected, walletType } = useCurrentWallet(); const fromChain = useAppSelector((state) => state.transfer.fromChain); const toChain = useAppSelector((state) => state.transfer.toChain); @@ -53,7 +53,7 @@ export function ChooseTokenModal(props: ChooseTokenModalProps) { }); const { isLoading, data } = useTokenList(result); - const showBalance = isConnected && !isLoading; + const showBalance = isConnected && !isLoading && fromChain?.chainType === walletType; return ( { const theme = useTheme(); @@ -21,6 +22,7 @@ export const MaxLink: React.FC = () => { const balance = getTokenBalance(selectedToken); const tokenPrice = getTokenPrice(selectedToken); + const { walletType } = useCurrentWallet(); const setMaxAmount = () => { if (!!balance && selectedToken) { @@ -37,9 +39,12 @@ export const MaxLink: React.FC = () => { } }; + const showBalance = + fromChain?.chainType === walletType && balance !== undefined && !!selectedToken; + return ( - {balance !== undefined && !!selectedToken ? ( + {showBalance ? ( Date: Tue, 22 Oct 2024 11:45:43 +0800 Subject: [PATCH 19/36] fix: Fix max balance issue --- .../components/SendInput/InputValidationMessage.tsx | 11 ++++++++--- .../src/modules/transfer/hooks/useInputValidation.ts | 11 +++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/InputValidationMessage.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/InputValidationMessage.tsx index a89174be..9e8b0c39 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/InputValidationMessage.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/InputValidationMessage.tsx @@ -4,9 +4,9 @@ import { useAccount } from 'wagmi'; import { useAppDispatch, useAppSelector } from '@/modules/store/StoreProvider'; import { useInputValidation } from '@/modules/transfer/hooks/useInputValidation'; -import { useLoadingTokenBalance } from '@/modules/transfer/hooks/useLoadingTokenBalance'; import { setError, setIsTransferable } from '@/modules/transfer/action'; import { useCBridgeSendMaxMin } from '@/modules/aggregator/adapters/cBridge/hooks/useCBridgeSendMaxMin'; +import { useTokenBalance } from '@/modules/aggregator/hooks/useTokenBalance'; export const InputValidationMessage = () => { const { colorMode } = useColorMode(); @@ -22,13 +22,17 @@ export const InputValidationMessage = () => { const sendValue = useAppSelector((state) => state.transfer.sendValue); const estimatedAmount = useAppSelector((state) => state.transfer.estimatedAmount); - const { balance } = useLoadingTokenBalance(); + const { getTokenBalance } = useTokenBalance(); const { minMaxSendAmt } = useCBridgeSendMaxMin(); const [balanceInputError, setBalanceInputError] = useState(''); useEffect(() => { + const balance = getTokenBalance({ + symbol: selectedToken?.displaySymbol, + }); + const balanceResult = validateInput({ balance, decimal: selectedToken?.decimals || 0, @@ -47,7 +51,6 @@ export const InputValidationMessage = () => { dispatch(setIsTransferable(true)); } }, [ - balance, chain, sendValue, dispatch, @@ -57,6 +60,8 @@ export const InputValidationMessage = () => { selectedToken?.isPegged, transferActionInfo, validateInput, + getTokenBalance, + selectedToken?.displaySymbol, ]); return error || balanceInputError ? ( diff --git a/packages/canonical-bridge-widget/src/modules/transfer/hooks/useInputValidation.ts b/packages/canonical-bridge-widget/src/modules/transfer/hooks/useInputValidation.ts index 064a0da3..84c47353 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/hooks/useInputValidation.ts +++ b/packages/canonical-bridge-widget/src/modules/transfer/hooks/useInputValidation.ts @@ -18,7 +18,7 @@ export const useInputValidation = () => { bridgeType, estimatedAmount, }: { - balance: null | bigint; + balance?: number; decimal: number; value: number; bridgeType?: BridgeType; @@ -35,12 +35,7 @@ export const useInputValidation = () => { isError: true, }; } - if ( - !!balance && - value > Number(formatUnits(balance, decimal)) && - fromChain?.id === chain?.id && - chain - ) { + if (!!balance && value > balance && fromChain?.id === chain?.id && chain) { return { text: `You have insufficient balance`, isError: true }; } if (estimatedAmount?.stargate && bridgeType === 'stargate' && value) { @@ -54,7 +49,7 @@ export const useInputValidation = () => { } if (!!balance) { - return { text: `${formatNumber(Number(formatUnits(balance, decimal)))}`, isError: false }; + return { text: `${formatNumber(balance)}`, isError: false }; } else { if (fromChain?.id === chain?.id && chain) { return { isError: true, text: 'You have insufficient balance' }; From 804004e6f2b1e76163364d7b82cf2f42020e3d67 Mon Sep 17 00:00:00 2001 From: chris Date: Tue, 22 Oct 2024 17:31:32 +1000 Subject: [PATCH 20/36] feat: Evm to account address verification --- .../transfer/components/Button/TransferButton.tsx | 9 +++++++-- .../src/modules/transfer/components/ToAccount/index.tsx | 8 +++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx index 212509ab..2b5cd70d 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx @@ -1,6 +1,6 @@ import { Button, Flex, useColorMode, useIntl, useTheme } from '@bnb-chain/space'; import { useCallback, useState } from 'react'; -import { useAccount, usePublicClient, useSignMessage, useWalletClient } from 'wagmi'; +import { useAccount, useBytecode, usePublicClient, useSignMessage, useWalletClient } from 'wagmi'; import { formatUnits, parseUnits } from 'viem'; import { useTronWallet } from '@node-real/walletkit/tron'; @@ -64,6 +64,10 @@ export function TransferButton({ sender: transferActionInfo?.bridgeAddress as `0x${string}`, }); const { isTronContract } = useTronContract(); + const { data: evmBytecode } = useBytecode({ + address: toAccount.address as `0x${string}`, + chainId: toChain?.id, + }); const tronAllowance = useGetTronAllowance(); const { isTronConnected, isEvmConnected } = useCurrentWallet(); @@ -419,7 +423,8 @@ export function TransferButton({ !transferActionInfo || !isTransferable || (isTronTransfer && (!isToAddressChecked || !toAccount?.address || !isAvailableAccount)) || - isTronContract === true + isTronContract === true || + !!evmBytecode } > {isApproveNeeded diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx index 0130967e..24615031 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx @@ -11,6 +11,7 @@ import { } from '@bnb-chain/space'; import { ChangeEvent, useRef, useState } from 'react'; import { useEffect } from 'react'; +import { useBytecode } from 'wagmi'; import { setIsToAddressChecked, setToAccount } from '@/modules/transfer/action'; import { useTronTransferInfo } from '@/modules/transfer/hooks/tron/useTronTransferInfo'; @@ -32,6 +33,10 @@ export function ToAccount(props: FlexProps) { const { isTronTransfer, isAvailableAccount } = useTronTransferInfo(); const { isTronContract } = useTronContract(); + const { data: evmBytecode } = useBytecode({ + address: toAccount.address as `0x${string}`, + chainId: toChain?.id, + }); const timerRef = useRef(); const [inputValue, setInputValue] = useState(toAccount.address); @@ -58,7 +63,8 @@ export function ToAccount(props: FlexProps) { return null; } - const isInvalid = (!isAvailableAccount && !!toAccount.address) || isTronContract === true; + const isInvalid = + (!isAvailableAccount && !!toAccount.address) || isTronContract === true || !!evmBytecode; const onCheckboxChange = (e: React.ChangeEvent) => { if (e.target.checked === true) { From df5643cc77877fee806c84bf5100011b463b907e Mon Sep 17 00:00:00 2001 From: wenty22 Date: Wed, 23 Oct 2024 09:55:19 +0800 Subject: [PATCH 21/36] fix: Preventing jumping to another wallet app on mobile --- apps/canonical-bridge-ui/core/locales/en.ts | 3 ++ apps/canonical-bridge-ui/pages/_document.tsx | 11 +++- .../src/modules/wallet/WalletProvider.tsx | 50 +++++++++++++++++-- 3 files changed, 59 insertions(+), 5 deletions(-) diff --git a/apps/canonical-bridge-ui/core/locales/en.ts b/apps/canonical-bridge-ui/core/locales/en.ts index 662dd732..b763ffe2 100644 --- a/apps/canonical-bridge-ui/core/locales/en.ts +++ b/apps/canonical-bridge-ui/core/locales/en.ts @@ -97,4 +97,7 @@ export const en = { 'wallet.error.switch-network': 'An error occurred when attempting to switch the network. Please select another network or try again.', 'wallet.popover.disconnect': 'Disconnect', + 'wallet.preventing-modal.title': 'Oops!', + 'wallet.preventing-modal.desc': + 'Opening an app is not allowed on this site. Please go to BNB Chain Bridge site on your mobile browser to continue.', }; diff --git a/apps/canonical-bridge-ui/pages/_document.tsx b/apps/canonical-bridge-ui/pages/_document.tsx index 50da7f1f..5014337d 100644 --- a/apps/canonical-bridge-ui/pages/_document.tsx +++ b/apps/canonical-bridge-ui/pages/_document.tsx @@ -19,7 +19,16 @@ export default class Document extends NextDocument { } `, }} - > + /> + diff --git a/packages/canonical-bridge-widget/src/modules/wallet/WalletProvider.tsx b/packages/canonical-bridge-widget/src/modules/wallet/WalletProvider.tsx index 33c9e26e..2e91f565 100644 --- a/packages/canonical-bridge-widget/src/modules/wallet/WalletProvider.tsx +++ b/packages/canonical-bridge-widget/src/modules/wallet/WalletProvider.tsx @@ -1,5 +1,11 @@ import { useMemo } from 'react'; -import { WalletKitProvider, ConnectModal, WalletKitConfig } from '@node-real/walletkit'; +import { + WalletKitProvider, + ConnectModal, + WalletKitConfig, + BaseWallet, + isMobile, +} from '@node-real/walletkit'; import { trustWallet, metaMask, @@ -11,11 +17,13 @@ import { import * as allChains from 'viem/chains'; import { defaultTronConfig, tronLink } from '@node-real/walletkit/tron'; import React from 'react'; +import { useDisclosure, useIntl } from '@bnb-chain/space'; import { IChainConfig } from '@/modules/aggregator/types'; import { useBridgeConfig } from '@/CanonicalBridgeProvider'; import { useAggregator } from '@/modules/aggregator/components/AggregatorProvider'; import { CurrentWalletProvider } from '@/modules/wallet/CurrentWalletProvider'; +import { StateModal } from '@/core/components/StateModal'; interface WalletProviderProps { children: React.ReactNode; @@ -26,12 +34,38 @@ export function WalletProvider(props: WalletProviderProps) { const bridgeConfig = useBridgeConfig(); const { chainConfigs } = useAggregator(); + const { isOpen, onOpen, onClose } = useDisclosure(); + const { formatMessage } = useIntl(); const config = useMemo(() => { + const evmWallets = [ + metaMask(), + trustWallet(), + binanceWeb3Wallet(), + okxWallet(), + walletConnect(), + ]; + const tronWallets = [tronLink()]; + return { options: { useGridLayoutOnMobile: false, gridLayoutThreshold: 10, + onClickWallet(wallet: BaseWallet) { + if (isMobile()) { + const isInDappBrowser = evmWallets.some((e) => e.isInstalled()); + + if (isInDappBrowser) { + if (wallet.isInstalled()) { + return true; + } else { + onOpen(); + return false; + } + } + } + return true; + }, }, evmConfig: defaultEvmConfig({ autoConnect: true, @@ -40,15 +74,15 @@ export function WalletProvider(props: WalletProviderProps) { metadata: { name: bridgeConfig.appName, }, - wallets: [metaMask(), trustWallet(), binanceWeb3Wallet(), okxWallet(), walletConnect()], + wallets: evmWallets, chains: getEvmChains(chainConfigs), }), tronConfig: defaultTronConfig({ autoConnect: false, - wallets: [tronLink()], + wallets: tronWallets, }), }; - }, [bridgeConfig.appName, bridgeConfig.wallet.walletConnectProjectId, chainConfigs]); + }, [bridgeConfig.appName, bridgeConfig.wallet.walletConnectProjectId, chainConfigs, onOpen]); if (!config.evmConfig?.chains?.length) { return null; @@ -58,6 +92,14 @@ export function WalletProvider(props: WalletProviderProps) { {children} + + ); } From d921729324b3bb935180a8daeb0043bba8ab650c Mon Sep 17 00:00:00 2001 From: wenty22 Date: Wed, 23 Oct 2024 10:13:40 +0800 Subject: [PATCH 22/36] fix: Preventing jumping to another wallet app on mobile --- .../src/modules/wallet/WalletProvider.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/canonical-bridge-widget/src/modules/wallet/WalletProvider.tsx b/packages/canonical-bridge-widget/src/modules/wallet/WalletProvider.tsx index 2e91f565..3d98f664 100644 --- a/packages/canonical-bridge-widget/src/modules/wallet/WalletProvider.tsx +++ b/packages/canonical-bridge-widget/src/modules/wallet/WalletProvider.tsx @@ -56,7 +56,12 @@ export function WalletProvider(props: WalletProviderProps) { const isInDappBrowser = evmWallets.some((e) => e.isInstalled()); if (isInDappBrowser) { - if (wallet.isInstalled()) { + // Some wallets will set `isMetaMask=true` + const counter = evmWallets.filter((e) => e.isInstalled()).length; + if ( + (counter === 1 && wallet.isInstalled()) || + (counter > 1 && wallet.isInstalled() && wallet.id !== 'metaMask') + ) { return true; } else { onOpen(); From e7a1f5111e8d586e5e44b5f3dfd19ad296d440f7 Mon Sep 17 00:00:00 2001 From: wenty22 Date: Wed, 23 Oct 2024 14:56:21 +0800 Subject: [PATCH 23/36] chore: Add alpha publish --- .gitignore | 1 + common/config/rush/command-line.json | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/.gitignore b/.gitignore index 70dc58c8..d1ee4618 100644 --- a/.gitignore +++ b/.gitignore @@ -73,3 +73,4 @@ common/autoinstallers/*/.npmrc .env*.local .pnpm-store +.release/.npmrc \ No newline at end of file diff --git a/common/config/rush/command-line.json b/common/config/rush/command-line.json index bfe3c58d..8b6a23ba 100644 --- a/common/config/rush/command-line.json +++ b/common/config/rush/command-line.json @@ -52,6 +52,12 @@ "commandKind": "global", "summary": "Create changeset", "shellCommand": "node .release/scripts/changeset.js" + }, + { + "name": "publish-alpha", + "commandKind": "global", + "summary": "Publish alpha packages", + "shellCommand": "cd .release && pnpm ci:alpha-version && pnpm ci:publish && cd -" } ], "parameters": [] From 7bc4528ff33ba3564dc9640e663db5a4b85eb989 Mon Sep 17 00:00:00 2001 From: wenty22 Date: Wed, 23 Oct 2024 15:37:51 +0800 Subject: [PATCH 24/36] docs: Publish alpha version --- .release/.changeset/pre.json | 11 +++++++++++ .release/.changeset/tiny-lizards-cross.md | 6 ++++++ packages/canonical-bridge-sdk/CHANGELOG.md | 6 ++++++ packages/canonical-bridge-sdk/package.json | 2 +- packages/canonical-bridge-widget/CHANGELOG.md | 6 ++++++ packages/canonical-bridge-widget/package.json | 2 +- 6 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 .release/.changeset/pre.json create mode 100644 .release/.changeset/tiny-lizards-cross.md diff --git a/.release/.changeset/pre.json b/.release/.changeset/pre.json new file mode 100644 index 00000000..b1697867 --- /dev/null +++ b/.release/.changeset/pre.json @@ -0,0 +1,11 @@ +{ + "mode": "pre", + "tag": "alpha", + "initialVersions": { + "@bnb-chain/canonical-bridge-sdk": "0.1.6", + "@bnb-chain/canonical-bridge-widget": "0.1.6" + }, + "changesets": [ + "tiny-lizards-cross" + ] +} diff --git a/.release/.changeset/tiny-lizards-cross.md b/.release/.changeset/tiny-lizards-cross.md new file mode 100644 index 00000000..0c963e02 --- /dev/null +++ b/.release/.changeset/tiny-lizards-cross.md @@ -0,0 +1,6 @@ +--- +"@bnb-chain/canonical-bridge-widget": minor +"@bnb-chain/canonical-bridge-sdk": minor +--- + +Support tron diff --git a/packages/canonical-bridge-sdk/CHANGELOG.md b/packages/canonical-bridge-sdk/CHANGELOG.md index 22cd466e..88218f35 100644 --- a/packages/canonical-bridge-sdk/CHANGELOG.md +++ b/packages/canonical-bridge-sdk/CHANGELOG.md @@ -1,5 +1,11 @@ # @bnb-chain/canonical-bridge-sdk +## 0.2.0-alpha.0 + +### Minor Changes + +- Support tron + ## 0.1.2 ### Patch Changes diff --git a/packages/canonical-bridge-sdk/package.json b/packages/canonical-bridge-sdk/package.json index 4f64f1e0..3a3cc380 100644 --- a/packages/canonical-bridge-sdk/package.json +++ b/packages/canonical-bridge-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@bnb-chain/canonical-bridge-sdk", - "version": "0.1.2", + "version": "0.2.0-alpha.0", "description": "canonical bridge sdk", "author": "bnb-chain", "private": false, diff --git a/packages/canonical-bridge-widget/CHANGELOG.md b/packages/canonical-bridge-widget/CHANGELOG.md index 03e2d8ec..f8bfed81 100644 --- a/packages/canonical-bridge-widget/CHANGELOG.md +++ b/packages/canonical-bridge-widget/CHANGELOG.md @@ -1,5 +1,11 @@ # @bnb-chain/canonical-bridge-widget +## 0.2.0-alpha.0 + +### Minor Changes + +- Support tron + ## 0.1.2 ### Patch Changes diff --git a/packages/canonical-bridge-widget/package.json b/packages/canonical-bridge-widget/package.json index 7d7501a4..40f0d63e 100644 --- a/packages/canonical-bridge-widget/package.json +++ b/packages/canonical-bridge-widget/package.json @@ -1,6 +1,6 @@ { "name": "@bnb-chain/canonical-bridge-widget", - "version": "0.1.2", + "version": "0.2.0-alpha.0", "description": "canonical bridge widget", "author": "bnb-chain", "private": false, From 7ac1f08af39a0c7ebb9d407788ca7ae7bb48f6df Mon Sep 17 00:00:00 2001 From: wenty22 Date: Wed, 23 Oct 2024 16:51:45 +0800 Subject: [PATCH 25/36] feat: Support switch network for tron --- .../canonical-bridge-ui/data-testnet/index.ts | 2 +- .../data-testnet/meson/config.json | 2 +- .../data-testnet/testnetChains.ts | 2 +- .../aggregator/adapters/meson/MesonAdapter.ts | 2 +- .../components/Button/WalletButtonWrapper.tsx | 4 +-- .../modules/wallet/CurrentWalletProvider.tsx | 28 ++++++++++++--- .../wallet/components/NetworkStatus/index.tsx | 4 +-- .../modules/wallet/hooks/useTronAccount.ts | 34 ++++++++++++++++++- .../wallet/hooks/useTronSwitchChain.tsx | 26 ++++++++++++++ 9 files changed, 90 insertions(+), 14 deletions(-) create mode 100644 packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronSwitchChain.tsx diff --git a/apps/canonical-bridge-ui/data-testnet/index.ts b/apps/canonical-bridge-ui/data-testnet/index.ts index 21fe1739..b1a69922 100644 --- a/apps/canonical-bridge-ui/data-testnet/index.ts +++ b/apps/canonical-bridge-ui/data-testnet/index.ts @@ -11,7 +11,7 @@ export function useTestnetTransferConfig() { const transferConfig: ITransferConfig = { defaultSelectedInfo: { fromChainId: 97, - toChainId: 728126427, + toChainId: 3448148188, tokenSymbol: 'USDT', // USDT amount: '', }, diff --git a/apps/canonical-bridge-ui/data-testnet/meson/config.json b/apps/canonical-bridge-ui/data-testnet/meson/config.json index e68f17ef..ab7afe13 100644 --- a/apps/canonical-bridge-ui/data-testnet/meson/config.json +++ b/apps/canonical-bridge-ui/data-testnet/meson/config.json @@ -95,7 +95,7 @@ { "id": "tron-testnet", "name": "Tron Nile Testnet", - "chainId": "728126427", + "chainId": "3448148188", "address": "TAp1rBTjC4tefEMR54vT2NDwLEhDL7E7Jo", "tokens": [ { diff --git a/apps/canonical-bridge-ui/data-testnet/testnetChains.ts b/apps/canonical-bridge-ui/data-testnet/testnetChains.ts index e84518d9..c7e15cca 100644 --- a/apps/canonical-bridge-ui/data-testnet/testnetChains.ts +++ b/apps/canonical-bridge-ui/data-testnet/testnetChains.ts @@ -72,7 +72,7 @@ export const testnetChains: IChainConfig[] = [ }, }, { - id: 728126427, + id: 3448148188, name: 'Tron Nile Testnet', nativeCurrency: { name: 'TRX', diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/MesonAdapter.ts b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/MesonAdapter.ts index 5b786c2d..06520b41 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/MesonAdapter.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/meson/MesonAdapter.ts @@ -3,7 +3,7 @@ import { BridgeType } from '@bnb-chain/canonical-bridge-sdk'; import { BaseAdapter, ITransferTokenPair } from '@/modules/aggregator/shared/BaseAdapter'; import { IMesonChain, IMesonToken } from '@/modules/aggregator/adapters/meson/types'; -const SUPPORTED_CHAIN_IDS = [56, 97, 728126427, 728126428]; +const SUPPORTED_CHAIN_IDS = [56, 97, 3448148188, 728126428]; const SUPPORTED_TOKENS = ['USDT', 'USDC']; export class MesonAdapter extends BaseAdapter { diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/WalletButtonWrapper.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/WalletButtonWrapper.tsx index 4a1a5562..a231a1d2 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/WalletButtonWrapper.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/WalletButtonWrapper.tsx @@ -10,13 +10,13 @@ export function WalletButtonWrapper(props: PropsWithChildren) { const { children } = props; const fromChain = useAppSelector((state) => state.transfer.fromChain); - const { isConnected, chain, walletType } = useCurrentWallet(); + const { isConnected, chainId, walletType } = useCurrentWallet(); if (isConnected) { if (walletType !== fromChain?.chainType) { return ; } else { - if (chain?.id !== fromChain.id) { + if (chainId !== fromChain.id) { return ; } return <>{children}; diff --git a/packages/canonical-bridge-widget/src/modules/wallet/CurrentWalletProvider.tsx b/packages/canonical-bridge-widget/src/modules/wallet/CurrentWalletProvider.tsx index 8d6fde53..3e1f819e 100644 --- a/packages/canonical-bridge-widget/src/modules/wallet/CurrentWalletProvider.tsx +++ b/packages/canonical-bridge-widget/src/modules/wallet/CurrentWalletProvider.tsx @@ -10,6 +10,7 @@ import { useEvmSwitchChain } from '@/modules/wallet/hooks/useEvmSwitchChain'; import { useTronAccount } from '@/modules/wallet/hooks/useTronAccount'; import { useTronBalance } from '@/modules/wallet/hooks/useTronBalance'; import { useWalletModal } from '@/modules/wallet/hooks/useWalletModal'; +import { useTronSwitchChain } from '@/modules/wallet/hooks/useTronSwitchChain'; export interface CurrentWalletContextProps { disconnect: () => void; @@ -49,7 +50,7 @@ export function CurrentWalletProvider(props: CurrentWalletProviderProps) { const { chainConfigs } = useAggregator(); const { onOpen } = useWalletModal(); - const { switchChain } = useEvmSwitchChain({ + const { switchChain: switchEvmChain } = useEvmSwitchChain({ mutation: { onSuccess() { setWalletType('evm'); @@ -57,6 +58,14 @@ export function CurrentWalletProvider(props: CurrentWalletProviderProps) { }, }); + const { switchChain: switchTronChain } = useTronSwitchChain({ + mutation: { + onSuccess() { + setWalletType('tron'); + }, + }, + }); + const disconnect = useCallback(() => { if (evmAccount.isConnected) { evmDisconnect.disconnect(); @@ -87,7 +96,12 @@ export function CurrentWalletProvider(props: CurrentWalletProviderProps) { }); } else { if (walletType === 'evm' && initialChainId && evmAccount.chainId !== initialChainId) { - switchChain({ + switchEvmChain({ + chainId: initialChainId, + }); + } + if (walletType === 'tron' && initialChainId && tronAccount.chainId !== initialChainId) { + switchTronChain({ chainId: initialChainId, }); } @@ -97,7 +111,9 @@ export function CurrentWalletProvider(props: CurrentWalletProviderProps) { evmAccount.chainId, evmAccount.isConnected, onOpen, - switchChain, + switchEvmChain, + switchTronChain, + tronAccount.chainId, tronAccount.isConnected, walletType, ], @@ -111,8 +127,10 @@ export function CurrentWalletProvider(props: CurrentWalletProviderProps) { isTronConnected: tronAccount.isConnected, }; - const tronChain = chainConfigs.find((e) => e.chainType === 'tron'); const evmChain = chainConfigs.find((e) => e.chainType === 'evm' && e.id === evmAccount.chainId); + const tronChain = chainConfigs.find( + (e) => e.chainType === 'tron' && e.id === tronAccount.chainId, + ); let value: CurrentWalletContextProps; if (walletType === 'tron') { @@ -123,7 +141,7 @@ export function CurrentWalletProvider(props: CurrentWalletProviderProps) { address: tronAccount.address, balance: tronBalance.data, chain: tronChain, - chainId: tronChain?.id, + chainId: tronAccount?.chainId, }; } else { value = { diff --git a/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx b/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx index 2943e92e..a46fd92f 100644 --- a/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx @@ -24,8 +24,8 @@ export function NetworkStatus() { return null; } - const isWrongNetwork = !!fromChain && fromChain.id !== chain.id; - const iconUrl = fromChains.find((e) => e.id === chain.id)?.icon; + const isWrongNetwork = !!fromChain && fromChain.id !== chainId; + const iconUrl = fromChains.find((e) => e.id === chainId)?.icon; return ( diff --git a/packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronAccount.ts b/packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronAccount.ts index 4ca9bc08..c6daf763 100644 --- a/packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronAccount.ts +++ b/packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronAccount.ts @@ -1,10 +1,42 @@ import { useTronWallet } from '@node-real/walletkit/tron'; +import { useEffect, useState } from 'react'; + +// chainId +// TronGrid: 0x2b6653dc +// TronStack: 0x2b6653dc +// Shasta Testnet: 0x94a9059e +// Nile Testnet: 0xcd8690dc export function useTronAccount() { - const { address, connected } = useTronWallet(); + const { address, connected, wallet } = useTronWallet(); + const [chainId, setChainId] = useState(); + + useEffect(() => { + const adapter = wallet?.adapter; + if (!adapter) return; + + const onUpdateChainId = (chain: any) => { + setChainId(Number(chain.chainId)); + }; + + const getNetwork = async () => { + const chain = await (adapter as any).network?.(); + onUpdateChainId(chain); + }; + + if (connected) { + getNetwork(); + } + + adapter.on('chainChanged', onUpdateChainId); + return () => { + adapter.off('chainChanged', onUpdateChainId); + }; + }, [connected, wallet?.adapter]); return { address: address || undefined, isConnected: connected, + chainId, }; } diff --git a/packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronSwitchChain.tsx b/packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronSwitchChain.tsx new file mode 100644 index 00000000..f892810f --- /dev/null +++ b/packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronSwitchChain.tsx @@ -0,0 +1,26 @@ +import { useTronWallet } from '@node-real/walletkit/tron'; + +interface UseTronSwitchChainProps { + mutation?: { + onSuccess?: () => void; + onError?: (err: any) => void; + }; +} + +export function useTronSwitchChain(props?: UseTronSwitchChainProps) { + const { wallet } = useTronWallet(); + + return { + async switchChain({ chainId }: { chainId: number }) { + const hexChainId = `0x${chainId?.toString(16)}`; + try { + const res = await wallet?.adapter?.switchChain(hexChainId); + if (!res) { + props?.mutation?.onSuccess?.(); + } + } catch (err) { + props?.mutation?.onError?.(err); + } + }, + }; +} From 5ce28b8f2ab68cba69ee21a37e0a3ea8cb4cccab Mon Sep 17 00:00:00 2001 From: wenty22 Date: Wed, 23 Oct 2024 18:48:23 +0800 Subject: [PATCH 26/36] feat: Support switch network for tron --- .../chains/{728126427.png => 3448148188.png} | Bin common/config/rush/pnpm-lock.yaml | 10 ++-- packages/canonical-bridge-widget/package.json | 2 +- .../components/Button/SwitchNetworkButton.tsx | 4 +- .../components/Button/SwitchWalletButton.tsx | 4 +- .../components/Button/TransferButton.tsx | 12 +++++ .../components/Button/WalletConnectButton.tsx | 4 +- .../modules/wallet/CurrentWalletProvider.tsx | 51 ++++++++++-------- .../wallet/components/ConnectButton/index.tsx | 4 +- .../wallet/components/NetworkStatus/index.tsx | 4 +- 10 files changed, 58 insertions(+), 37 deletions(-) rename apps/canonical-bridge-ui/public/images/chains/{728126427.png => 3448148188.png} (100%) diff --git a/apps/canonical-bridge-ui/public/images/chains/728126427.png b/apps/canonical-bridge-ui/public/images/chains/3448148188.png similarity index 100% rename from apps/canonical-bridge-ui/public/images/chains/728126427.png rename to apps/canonical-bridge-ui/public/images/chains/3448148188.png diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index e43c6ad8..e35bcbc3 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -295,8 +295,8 @@ importers: specifier: ~11.13.0 version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0))(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) '@node-real/walletkit': - specifier: 2.4.0-alpha.8 - version: 2.4.0-alpha.8(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(wagmi@2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4))(zod@3.22.4) + specifier: 2.4.0-alpha.9 + version: 2.4.0-alpha.9(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(wagmi@2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4))(zod@3.22.4) '@tanstack/react-query': specifier: ~5.50.1 version: 5.50.1(react@18.3.1) @@ -2984,8 +2984,8 @@ packages: viem: ^2 wagmi: ^2 - '@node-real/walletkit@2.4.0-alpha.8': - resolution: {integrity: sha512-gaPJaad/8N3sHdY44/uJj7PFcvaXJ7mO2GUkTOAb/8w8GCYyuRzEGHugK/7crPOipMQdudFzNTP/Mi3x5h+RtQ==} + '@node-real/walletkit@2.4.0-alpha.9': + resolution: {integrity: sha512-qFJYHFfruDi13mKzceihaw01lFlmM52CzTppn7MyakgSpmie4LXwnKeopEKuY1KmNRoMGHAy2T7wogWo1cToNw==} peerDependencies: '@tanstack/react-query': ^5 react: '>=17' @@ -15906,7 +15906,7 @@ snapshots: - utf-8-validate - zod - '@node-real/walletkit@2.4.0-alpha.8(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(wagmi@2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4))(zod@3.22.4)': + '@node-real/walletkit@2.4.0-alpha.9(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(wagmi@2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4))(zod@3.22.4)': dependencies: '@metamask/jazzicon': 2.0.0 '@solana/wallet-adapter-react': 0.15.35(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)(react@18.3.1) diff --git a/packages/canonical-bridge-widget/package.json b/packages/canonical-bridge-widget/package.json index 40f0d63e..15466867 100644 --- a/packages/canonical-bridge-widget/package.json +++ b/packages/canonical-bridge-widget/package.json @@ -45,7 +45,7 @@ "@bnb-chain/space": "workspace:*", "@emotion/react": "~11.13.0", "@emotion/styled": "~11.13.0", - "@node-real/walletkit": "2.4.0-alpha.8", + "@node-real/walletkit": "2.4.0-alpha.9", "@tanstack/react-query": "~5.50.1", "@types/lodash": "~4.17.7", "@types/node": "^20", diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/SwitchNetworkButton.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/SwitchNetworkButton.tsx index aee4c082..258ccfb5 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/SwitchNetworkButton.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/SwitchNetworkButton.tsx @@ -25,8 +25,8 @@ export const SwitchNetworkButton = () => { }} onClick={() => { linkWallet({ - chainType: fromChain?.chainType, - initialChainId: fromChain?.id, + targetChainType: fromChain?.chainType, + targetChainId: fromChain?.id, }); reportEvent({ diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/SwitchWalletButton.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/SwitchWalletButton.tsx index 0d34d8e6..bf7ab95b 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/SwitchWalletButton.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/SwitchWalletButton.tsx @@ -25,8 +25,8 @@ export const SwitchWalletButton = () => { }} onClick={() => { linkWallet({ - chainType: fromChain?.chainType, - initialChainId: fromChain?.id, + targetChainType: fromChain?.chainType, + targetChainId: fromChain?.id, }); reportEvent({ diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx index 2b5cd70d..bcc38a43 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/TransferButton.tsx @@ -353,6 +353,18 @@ export function TransferButton({ if (swapId?.error) { throw new Error(swapId?.error.message); } + + reportEvent({ + id: 'transaction_bridge_success', + params: { + item_category: fromChain?.name, + item_category2: toChain?.name, + token: selectedToken.displaySymbol, + value: sendValue, + item_variant: 'meson', + }, + }); + onCloseConfirmingModal(); onOpenSubmittedModal(); } else { diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/WalletConnectButton.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/WalletConnectButton.tsx index 3cf76725..623bc182 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/Button/WalletConnectButton.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/Button/WalletConnectButton.tsx @@ -19,8 +19,8 @@ export const WalletConnectButton = () => { w="100%" onClick={() => { linkWallet({ - chainType: fromChain?.chainType, - initialChainId: fromChain?.id, + targetChainType: fromChain?.chainType, + targetChainId: fromChain?.id, }); reportEvent({ diff --git a/packages/canonical-bridge-widget/src/modules/wallet/CurrentWalletProvider.tsx b/packages/canonical-bridge-widget/src/modules/wallet/CurrentWalletProvider.tsx index 3e1f819e..305f9d7b 100644 --- a/packages/canonical-bridge-widget/src/modules/wallet/CurrentWalletProvider.tsx +++ b/packages/canonical-bridge-widget/src/modules/wallet/CurrentWalletProvider.tsx @@ -14,7 +14,7 @@ import { useTronSwitchChain } from '@/modules/wallet/hooks/useTronSwitchChain'; export interface CurrentWalletContextProps { disconnect: () => void; - linkWallet: (params: { chainType?: ChainType; initialChainId?: number }) => void; + linkWallet: (params: { targetChainType?: ChainType; targetChainId?: number }) => void; walletType: ChainType; isEvmConnected: boolean; isTronConnected: boolean; @@ -77,32 +77,41 @@ export function CurrentWalletProvider(props: CurrentWalletProviderProps) { const linkWallet = useCallback( async ({ - chainType = 'evm', - initialChainId, + targetChainType = 'evm', + targetChainId, }: { - chainType?: ChainType; - initialChainId?: number; + targetChainType?: ChainType; + targetChainId?: number; }) => { - if ( - walletType !== chainType || - (chainType === 'evm' && !evmAccount.isConnected) || - (chainType === 'tron' && !tronAccount.isConnected) - ) { - onOpen({ - initialChainId, - onConnected({ wallet }) { - setWalletType(wallet.walletType as ChainType); - }, - }); - } else { - if (walletType === 'evm' && initialChainId && evmAccount.chainId !== initialChainId) { + if (targetChainType === 'evm') { + if (walletType !== targetChainType || !evmAccount.isConnected) { + onOpen({ + evmConfig: { + initialChainId: targetChainId, + }, + onConnected({ wallet }) { + setWalletType(wallet.walletType as ChainType); + }, + }); + } else if (targetChainId && evmAccount.chainId !== targetChainId) { switchEvmChain({ - chainId: initialChainId, + chainId: targetChainId, }); } - if (walletType === 'tron' && initialChainId && tronAccount.chainId !== initialChainId) { + } + if (targetChainType === 'tron') { + if (walletType !== targetChainType || !tronAccount.isConnected) { + onOpen({ + tronConfig: { + initialChainId: targetChainId, + }, + onConnected({ wallet }) { + setWalletType(wallet.walletType as ChainType); + }, + }); + } else if (targetChainId && tronAccount.chainId !== targetChainId) { switchTronChain({ - chainId: initialChainId, + chainId: targetChainId, }); } } diff --git a/packages/canonical-bridge-widget/src/modules/wallet/components/ConnectButton/index.tsx b/packages/canonical-bridge-widget/src/modules/wallet/components/ConnectButton/index.tsx index 0f4d61e2..4b8278f3 100644 --- a/packages/canonical-bridge-widget/src/modules/wallet/components/ConnectButton/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/wallet/components/ConnectButton/index.tsx @@ -30,8 +30,8 @@ export function ConnectButton(props: ConnectButtonProps) { fontWeight={500} onClick={() => { linkWallet({ - chainType: fromChain?.chainType, - initialChainId: fromChain?.id, + targetChainType: fromChain?.chainType, + targetChainId: fromChain?.id, }); }} sx={{ diff --git a/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx b/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx index a46fd92f..6f068ceb 100644 --- a/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx @@ -66,8 +66,8 @@ export function NetworkStatus() { bg={isSelected ? theme.colors[colorMode].popover.selected : undefined} onClick={() => { linkWallet({ - chainType: item.chainType, - initialChainId: item.id, + targetChainType: item.chainType, + targetChainId: item.id, }); }} > From f88a7afec70709642f7efee884fe585b80cfd07d Mon Sep 17 00:00:00 2001 From: wenty22 Date: Wed, 23 Oct 2024 19:14:01 +0800 Subject: [PATCH 27/36] feat: Add tips for meson route error --- apps/canonical-bridge-ui/core/locales/en.ts | 4 ++++ .../transfer/hooks/useLoadingBridgeFees.ts | 16 ++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/apps/canonical-bridge-ui/core/locales/en.ts b/apps/canonical-bridge-ui/core/locales/en.ts index b763ffe2..2286a809 100644 --- a/apps/canonical-bridge-ui/core/locales/en.ts +++ b/apps/canonical-bridge-ui/core/locales/en.ts @@ -51,6 +51,10 @@ export const en = { 'route.option.info.service-fee': 'Service Fee:', 'route.option.info.protocol-fee': 'Protocol Fee:', + 'route.error.amount.max': 'Your send amount must be less than {max}', + 'route.error.amount.min': 'Your send amount must be greater than {min}', + 'route.error.amount.digits': 'The send amount must be less than 6 digits', + 'transfer.button.confirm': 'Send', 'transfer.button.approve': 'Approve', 'transfer.button.switch-network': 'Switch Network', diff --git a/packages/canonical-bridge-widget/src/modules/transfer/hooks/useLoadingBridgeFees.ts b/packages/canonical-bridge-widget/src/modules/transfer/hooks/useLoadingBridgeFees.ts index 4cf09493..da2e892c 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/hooks/useLoadingBridgeFees.ts +++ b/packages/canonical-bridge-widget/src/modules/transfer/hooks/useLoadingBridgeFees.ts @@ -3,6 +3,7 @@ import { formatUnits, parseUnits } from 'viem'; import { useAccount, useBalance, usePublicClient } from 'wagmi'; import { BridgeType, DeBridgeCreateQuoteResponse } from '@bnb-chain/canonical-bridge-sdk'; import { useTronWallet } from '@node-real/walletkit/tron'; +import { useIntl } from '@bnb-chain/space'; import { useAppDispatch, useAppSelector } from '@/modules/store/StoreProvider'; import { @@ -42,6 +43,7 @@ export const useLoadingBridgeFees = () => { const { stargateFeeSorting } = useGetStargateFees(); const { layerZeroFeeSorting } = useGetLayerZeroFees(); const { mesonFeeSorting } = useGetMesonFees(); + const { formatMessage } = useIntl(); const toToken = useAppSelector((state) => state.transfer.toToken); const selectedToken = useAppSelector((state) => state.transfer.selectedToken); @@ -135,14 +137,24 @@ export const useLoadingBridgeFees = () => { dispatch(setEstimatedAmount({ meson: 'error' })); dispatch( setRouteError({ - meson: `Maximum amount is ${error.data.max}`, + meson: formatMessage({ id: 'route.error.amount.max' }, { max: error.data.max }), }), ); } else if (error.code === 66 && error.message === 'fee-over-amount') { dispatch(setEstimatedAmount({ meson: 'error' })); dispatch( setRouteError({ - meson: `Minimum amount is ${error.data.fee} ${selectedToken.symbol}`, + meson: formatMessage( + { id: 'route.error.amount.min' }, + { min: `${error.data.fee} ${selectedToken.symbol}` }, + ), + }), + ); + } else if (error.code === 19 && error.message === 'amount-exceeds-6-decimals') { + dispatch(setEstimatedAmount({ meson: 'error' })); + dispatch( + setRouteError({ + meson: formatMessage({ id: 'route.error.amount.digits' }), }), ); } else { From 79d82b80de0f33c2e1d330fe1758c9fd1ac670a9 Mon Sep 17 00:00:00 2001 From: wenty22 Date: Wed, 23 Oct 2024 20:03:45 +0800 Subject: [PATCH 28/36] fix: Convert balance to string avoid scientific notation issue --- .release/.changeset/great-jars-float.md | 6 ++++++ .release/.changeset/pre.json | 1 + packages/canonical-bridge-sdk/CHANGELOG.md | 6 ++++++ packages/canonical-bridge-sdk/package.json | 2 +- packages/canonical-bridge-widget/CHANGELOG.md | 6 ++++++ packages/canonical-bridge-widget/package.json | 2 +- .../components/SelectModal/hooks/useTokenList.ts | 2 +- .../components/TokenBalancesProvider.tsx | 2 +- .../src/modules/aggregator/reducer.ts | 2 +- .../aggregator/shared/getTokenBalances.ts | 16 +++++----------- .../SendInput/InputValidationMessage.tsx | 2 +- .../transfer/components/SendInput/MaxLink.tsx | 4 ++-- 12 files changed, 32 insertions(+), 19 deletions(-) create mode 100644 .release/.changeset/great-jars-float.md diff --git a/.release/.changeset/great-jars-float.md b/.release/.changeset/great-jars-float.md new file mode 100644 index 00000000..89879d10 --- /dev/null +++ b/.release/.changeset/great-jars-float.md @@ -0,0 +1,6 @@ +--- +"@bnb-chain/canonical-bridge-widget": patch +"@bnb-chain/canonical-bridge-sdk": patch +--- + +Support switch network for tron & fix issues diff --git a/.release/.changeset/pre.json b/.release/.changeset/pre.json index b1697867..1f0ea989 100644 --- a/.release/.changeset/pre.json +++ b/.release/.changeset/pre.json @@ -6,6 +6,7 @@ "@bnb-chain/canonical-bridge-widget": "0.1.6" }, "changesets": [ + "great-jars-float", "tiny-lizards-cross" ] } diff --git a/packages/canonical-bridge-sdk/CHANGELOG.md b/packages/canonical-bridge-sdk/CHANGELOG.md index 88218f35..8eb96e27 100644 --- a/packages/canonical-bridge-sdk/CHANGELOG.md +++ b/packages/canonical-bridge-sdk/CHANGELOG.md @@ -1,5 +1,11 @@ # @bnb-chain/canonical-bridge-sdk +## 0.2.0-alpha.1 + +### Patch Changes + +- Support switch network for tron & fix issues + ## 0.2.0-alpha.0 ### Minor Changes diff --git a/packages/canonical-bridge-sdk/package.json b/packages/canonical-bridge-sdk/package.json index 3a3cc380..55b515da 100644 --- a/packages/canonical-bridge-sdk/package.json +++ b/packages/canonical-bridge-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@bnb-chain/canonical-bridge-sdk", - "version": "0.2.0-alpha.0", + "version": "0.2.0-alpha.1", "description": "canonical bridge sdk", "author": "bnb-chain", "private": false, diff --git a/packages/canonical-bridge-widget/CHANGELOG.md b/packages/canonical-bridge-widget/CHANGELOG.md index f8bfed81..190d8f97 100644 --- a/packages/canonical-bridge-widget/CHANGELOG.md +++ b/packages/canonical-bridge-widget/CHANGELOG.md @@ -1,5 +1,11 @@ # @bnb-chain/canonical-bridge-widget +## 0.2.0-alpha.1 + +### Patch Changes + +- Support switch network for tron & fix issues + ## 0.2.0-alpha.0 ### Minor Changes diff --git a/packages/canonical-bridge-widget/package.json b/packages/canonical-bridge-widget/package.json index 15466867..0b8fd5fb 100644 --- a/packages/canonical-bridge-widget/package.json +++ b/packages/canonical-bridge-widget/package.json @@ -1,6 +1,6 @@ { "name": "@bnb-chain/canonical-bridge-widget", - "version": "0.2.0-alpha.0", + "version": "0.2.0-alpha.1", "description": "canonical bridge widget", "author": "bnb-chain", "private": false, diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/components/SelectModal/hooks/useTokenList.ts b/packages/canonical-bridge-widget/src/modules/aggregator/components/SelectModal/hooks/useTokenList.ts index b844e38b..8e27d4b7 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/components/SelectModal/hooks/useTokenList.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/components/SelectModal/hooks/useTokenList.ts @@ -25,7 +25,7 @@ export function useTokenList(tokens: IBridgeToken[] = []) { let value: number | undefined; if (balance !== undefined && price !== undefined) { - value = balance * price; + value = Number(balance) * price; } return { diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/components/TokenBalancesProvider.tsx b/packages/canonical-bridge-widget/src/modules/aggregator/components/TokenBalancesProvider.tsx index 7e0a19d6..3bd01301 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/components/TokenBalancesProvider.tsx +++ b/packages/canonical-bridge-widget/src/modules/aggregator/components/TokenBalancesProvider.tsx @@ -24,7 +24,7 @@ export function TokenBalancesProvider() { toChainId: toChain?.id, }); - const { isLoading, data } = useQuery>({ + const { isLoading, data } = useQuery>({ enabled: !!address && !!fromChain?.id && !!toChain?.id, refetchInterval: TIME.SECOND * 5, queryKey: ['tokenBalances', address, fromChain?.id, toChain?.id], diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/reducer.ts b/packages/canonical-bridge-widget/src/modules/aggregator/reducer.ts index 27f4bd1c..d9be0382 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/reducer.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/reducer.ts @@ -5,7 +5,7 @@ export interface IAggregatorState { cmcPrices: Record; llamaPrices: Record; }; - tokenBalances: Record; + tokenBalances: Record; isLoadingTokenPrices: boolean; isLoadingTokenBalances: boolean; } diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/shared/getTokenBalances.ts b/packages/canonical-bridge-widget/src/modules/aggregator/shared/getTokenBalances.ts index ae1defdd..aa3c7496 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/shared/getTokenBalances.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/shared/getTokenBalances.ts @@ -69,7 +69,7 @@ async function getEvmTokenBalances({ }), ]); - const balances: Record = {}; + const balances: Record = {}; if (erc20TokensRes.status === 'fulfilled') { const values = erc20TokensRes.value?.map((item) => item.result) ?? []; @@ -78,17 +78,13 @@ async function getEvmTokenBalances({ const symbol = token.displaySymbol?.toUpperCase(); balances[symbol] = - typeof value === 'undefined' - ? undefined - : Number(formatUnits(BigInt(value), token.decimals)); + typeof value === 'undefined' ? undefined : formatUnits(BigInt(value), token.decimals); }); } if (nativeTokenRes.status === 'fulfilled') { const symbol = chain.nativeCurrency.symbol?.toUpperCase(); - balances[symbol] = Number( - formatUnits(BigInt(nativeTokenRes.value), chain.nativeCurrency.decimals), - ); + balances[symbol] = formatUnits(BigInt(nativeTokenRes.value), chain.nativeCurrency.decimals); } return balances; @@ -125,7 +121,7 @@ async function getTronTokenBalances({ return {}; } - const balances: Record = {}; + const balances: Record = {}; for (let i = 0; i < Math.min(tokens.length, 2); i++) { const token = tokens?.[i]; @@ -136,9 +132,7 @@ async function getTronTokenBalances({ const balanceOf = await contractInstance.balanceOf(account).call(); const balance = balanceOf?.toString() as string; - balances[token.displaySymbol?.toUpperCase()] = Number( - formatUnits(BigInt(balance), token.decimals), - ); + balances[token.displaySymbol?.toUpperCase()] = formatUnits(BigInt(balance), token.decimals); } return balances; diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/InputValidationMessage.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/InputValidationMessage.tsx index 9e8b0c39..71d51c96 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/InputValidationMessage.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/InputValidationMessage.tsx @@ -34,7 +34,7 @@ export const InputValidationMessage = () => { }); const balanceResult = validateInput({ - balance, + balance: balance ? Number(balance) : undefined, decimal: selectedToken?.decimals || 0, value: Number(sendValue), // isConnected: !!chain, diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/MaxLink.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/MaxLink.tsx index 0b9a7756..507f1681 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/MaxLink.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/MaxLink.tsx @@ -65,8 +65,8 @@ export const MaxLink: React.FC = () => { }, }} > - {formatMessage({ id: 'from.section.balance.button.max' })} {formatNumber(balance || 0, 8)}{' '} - {selectedToken?.displaySymbol} + {formatMessage({ id: 'from.section.balance.button.max' })}{' '} + {formatNumber(Number(balance) || 0, 8)} {selectedToken?.displaySymbol} {tokenPrice && ` ($${formatNumber(tokenPrice * Number(balance || 0), 2)})`} ) : null} From 4a4f56bc6ec8cf2ba0832c6dc62861589c20006c Mon Sep 17 00:00:00 2001 From: wenty22 Date: Wed, 23 Oct 2024 22:48:23 +0800 Subject: [PATCH 29/36] fix: Add switching tips for tron --- apps/canonical-bridge-ui/core/locales/en.ts | 5 ++- common/config/rush/pnpm-lock.yaml | 24 ++++++------- packages/canonical-bridge-widget/package.json | 2 +- .../src/modules/store/reducers.ts | 2 ++ .../modules/wallet/CurrentWalletProvider.tsx | 30 ++++++++++------ .../src/modules/wallet/WalletProvider.tsx | 26 ++++++++------ .../src/modules/wallet/action.ts | 6 ++++ .../components/SwitchingTipsModal/index.tsx | 36 +++++++++++++++++++ .../modules/wallet/hooks/useTronAccount.ts | 6 ---- .../src/modules/wallet/reducer.ts | 17 +++++++++ 10 files changed, 114 insertions(+), 40 deletions(-) create mode 100644 packages/canonical-bridge-widget/src/modules/wallet/action.ts create mode 100644 packages/canonical-bridge-widget/src/modules/wallet/components/SwitchingTipsModal/index.tsx create mode 100644 packages/canonical-bridge-widget/src/modules/wallet/reducer.ts diff --git a/apps/canonical-bridge-ui/core/locales/en.ts b/apps/canonical-bridge-ui/core/locales/en.ts index 2286a809..d5d4b72d 100644 --- a/apps/canonical-bridge-ui/core/locales/en.ts +++ b/apps/canonical-bridge-ui/core/locales/en.ts @@ -96,7 +96,7 @@ export const en = { 'select-modal.destination.incompatible.tooltip': 'The token you’ve selected is incompatible with this network. Please select another token.', - 'wallet.button.connect-wallet': 'Connect network', + 'wallet.button.connect-wallet': 'Connect Wallet', 'wallet.network.wrong-network': 'Wrong network', 'wallet.error.switch-network': 'An error occurred when attempting to switch the network. Please select another network or try again.', @@ -104,4 +104,7 @@ export const en = { 'wallet.preventing-modal.title': 'Oops!', 'wallet.preventing-modal.desc': 'Opening an app is not allowed on this site. Please go to BNB Chain Bridge site on your mobile browser to continue.', + 'wallet.switching-modal.title': 'Switch Network in Wallet', + 'wallet.switching-modal.desc': + 'Please go to the settings page and switch the network to TRON Mainnet', }; diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index e35bcbc3..d992b5b8 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -295,8 +295,8 @@ importers: specifier: ~11.13.0 version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0))(@types/react@18.3.8)(react@18.3.1)(supports-color@9.4.0) '@node-real/walletkit': - specifier: 2.4.0-alpha.9 - version: 2.4.0-alpha.9(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(wagmi@2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4))(zod@3.22.4) + specifier: 2.4.0-alpha.10 + version: 2.4.0-alpha.10(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(wagmi@2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4))(zod@3.22.4) '@tanstack/react-query': specifier: ~5.50.1 version: 5.50.1(react@18.3.1) @@ -2975,8 +2975,8 @@ packages: resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} engines: {node: ^14.21.3 || >=16} - '@node-real/walletkit@2.4.0-alpha.5': - resolution: {integrity: sha512-ItMhEz9RBhtdXzC8Pz+TY09bCKFvgoTsg8iaG3kym3fCQKxHgQnx1prn0Z9GPuS7D5b2Jk/6PLpClBZBYMQhiQ==} + '@node-real/walletkit@2.4.0-alpha.10': + resolution: {integrity: sha512-GpZB/xNXrOpcITBkRjlne0tAijnApHppu8roeR1BQNN/tix/NsQ0ngrboB4rGJVSrpLgjKtuf3V0xkrGqtdL8Q==} peerDependencies: '@tanstack/react-query': ^5 react: '>=17' @@ -2984,8 +2984,8 @@ packages: viem: ^2 wagmi: ^2 - '@node-real/walletkit@2.4.0-alpha.9': - resolution: {integrity: sha512-qFJYHFfruDi13mKzceihaw01lFlmM52CzTppn7MyakgSpmie4LXwnKeopEKuY1KmNRoMGHAy2T7wogWo1cToNw==} + '@node-real/walletkit@2.4.0-alpha.5': + resolution: {integrity: sha512-ItMhEz9RBhtdXzC8Pz+TY09bCKFvgoTsg8iaG3kym3fCQKxHgQnx1prn0Z9GPuS7D5b2Jk/6PLpClBZBYMQhiQ==} peerDependencies: '@tanstack/react-query': ^5 react: '>=17' @@ -15859,11 +15859,11 @@ snapshots: '@noble/hashes@1.5.0': {} - '@node-real/walletkit@2.4.0-alpha.5(@babel/core@7.24.9(supports-color@9.4.0))(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@9.4.0)(tslib@2.7.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(wagmi@2.12.2(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4))(zod@3.22.4)': + '@node-real/walletkit@2.4.0-alpha.10(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(wagmi@2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4))(zod@3.22.4)': dependencies: '@metamask/jazzicon': 2.0.0 '@solana/wallet-adapter-react': 0.15.35(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)(react@18.3.1) - '@solana/wallet-adapter-wallets': 0.19.32(@babel/core@7.24.9(supports-color@9.4.0))(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@9.4.0)(tslib@2.7.0)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-wallets': 0.19.32(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(utf-8-validate@5.0.9) '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) '@tanstack/react-query': 5.50.1(react@18.3.1) '@tronweb3/tronwallet-abstract-adapter': 1.1.7 @@ -15874,7 +15874,7 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) - wagmi: 2.12.2(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4) + wagmi: 2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -15906,11 +15906,11 @@ snapshots: - utf-8-validate - zod - '@node-real/walletkit@2.4.0-alpha.9(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(wagmi@2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4))(zod@3.22.4)': + '@node-real/walletkit@2.4.0-alpha.5(@babel/core@7.24.9(supports-color@9.4.0))(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9)))(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@9.4.0)(tslib@2.7.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(wagmi@2.12.2(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4))(zod@3.22.4)': dependencies: '@metamask/jazzicon': 2.0.0 '@solana/wallet-adapter-react': 0.15.35(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)(react@18.3.1) - '@solana/wallet-adapter-wallets': 0.19.32(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tslib@2.7.0)(utf-8-validate@5.0.9) + '@solana/wallet-adapter-wallets': 0.19.32(@babel/core@7.24.9(supports-color@9.4.0))(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.24.0)(@solana/web3.js@1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9))(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(supports-color@9.4.0)(tslib@2.7.0)(utf-8-validate@5.0.9) '@solana/web3.js': 1.95.2(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.9) '@tanstack/react-query': 5.50.1(react@18.3.1) '@tronweb3/tronwallet-abstract-adapter': 1.1.7 @@ -15921,7 +15921,7 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) viem: 2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4) - wagmi: 2.12.14(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4) + wagmi: 2.12.2(@react-native-async-storage/async-storage@1.24.0)(@tanstack/query-core@5.50.1)(@tanstack/react-query@5.50.1(react@18.3.1))(@types/react@18.3.8)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@3.29.4)(supports-color@9.4.0)(typescript@5.5.4)(utf-8-validate@5.0.9)(viem@2.21.14(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.9)(zod@3.22.4))(zod@3.22.4) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' diff --git a/packages/canonical-bridge-widget/package.json b/packages/canonical-bridge-widget/package.json index 0b8fd5fb..124c4e50 100644 --- a/packages/canonical-bridge-widget/package.json +++ b/packages/canonical-bridge-widget/package.json @@ -45,7 +45,7 @@ "@bnb-chain/space": "workspace:*", "@emotion/react": "~11.13.0", "@emotion/styled": "~11.13.0", - "@node-real/walletkit": "2.4.0-alpha.9", + "@node-real/walletkit": "2.4.0-alpha.10", "@tanstack/react-query": "~5.50.1", "@types/lodash": "~4.17.7", "@types/node": "^20", diff --git a/packages/canonical-bridge-widget/src/modules/store/reducers.ts b/packages/canonical-bridge-widget/src/modules/store/reducers.ts index 42860240..5420da33 100644 --- a/packages/canonical-bridge-widget/src/modules/store/reducers.ts +++ b/packages/canonical-bridge-widget/src/modules/store/reducers.ts @@ -1,9 +1,11 @@ import transfer from '@/modules/transfer/reducer'; import aggregator from '@/modules/aggregator/reducer'; +import wallet from '@/modules/wallet/reducer'; const reducers = { transfer, aggregator, + wallet, } as const; type Reducers = typeof reducers; diff --git a/packages/canonical-bridge-widget/src/modules/wallet/CurrentWalletProvider.tsx b/packages/canonical-bridge-widget/src/modules/wallet/CurrentWalletProvider.tsx index 305f9d7b..9a2b4f36 100644 --- a/packages/canonical-bridge-widget/src/modules/wallet/CurrentWalletProvider.tsx +++ b/packages/canonical-bridge-widget/src/modules/wallet/CurrentWalletProvider.tsx @@ -1,4 +1,4 @@ -import { useWalletKit } from '@node-real/walletkit'; +import { isMobile, useWalletKit } from '@node-real/walletkit'; import { TronWallet, useTronWallet } from '@node-real/walletkit/tron'; import React, { useCallback, useContext, useState } from 'react'; import { useAccount, useDisconnect } from 'wagmi'; @@ -11,6 +11,8 @@ import { useTronAccount } from '@/modules/wallet/hooks/useTronAccount'; import { useTronBalance } from '@/modules/wallet/hooks/useTronBalance'; import { useWalletModal } from '@/modules/wallet/hooks/useWalletModal'; import { useTronSwitchChain } from '@/modules/wallet/hooks/useTronSwitchChain'; +import { useAppDispatch } from '@/modules/store/StoreProvider'; +import { setIsOpenSwitchingTipsModal } from '@/modules/wallet/action'; export interface CurrentWalletContextProps { disconnect: () => void; @@ -23,7 +25,7 @@ export interface CurrentWalletContextProps { address?: string; balance?: FormattedBalance; chain?: IChainConfig; - chainId?: number | string; + chainId?: number; } export const CurrentWalletContext = React.createContext({} as CurrentWalletContextProps); @@ -35,6 +37,8 @@ export interface CurrentWalletProviderProps { export function CurrentWalletProvider(props: CurrentWalletProviderProps) { const { children } = props; + const dispatch = useAppDispatch(); + const evmAccount = useAccount(); const evmBalance = useEvmBalance(evmAccount.address); @@ -99,6 +103,7 @@ export function CurrentWalletProvider(props: CurrentWalletProviderProps) { }); } } + if (targetChainType === 'tron') { if (walletType !== targetChainType || !tronAccount.isConnected) { onOpen({ @@ -110,13 +115,18 @@ export function CurrentWalletProvider(props: CurrentWalletProviderProps) { }, }); } else if (targetChainId && tronAccount.chainId !== targetChainId) { - switchTronChain({ - chainId: targetChainId, - }); + if (isMobile()) { + dispatch(setIsOpenSwitchingTipsModal(true)); + } else { + switchTronChain({ + chainId: targetChainId, + }); + } } } }, [ + dispatch, evmAccount.chainId, evmAccount.isConnected, onOpen, @@ -128,6 +138,11 @@ export function CurrentWalletProvider(props: CurrentWalletProviderProps) { ], ); + const evmChain = chainConfigs.find((e) => e.chainType === 'evm' && e.id === evmAccount.chainId); + const tronChain = chainConfigs.find( + (e) => e.chainType === 'tron' && e.id === tronAccount.chainId, + ); + const commonProps = { disconnect, linkWallet, @@ -136,11 +151,6 @@ export function CurrentWalletProvider(props: CurrentWalletProviderProps) { isTronConnected: tronAccount.isConnected, }; - const evmChain = chainConfigs.find((e) => e.chainType === 'evm' && e.id === evmAccount.chainId); - const tronChain = chainConfigs.find( - (e) => e.chainType === 'tron' && e.id === tronAccount.chainId, - ); - let value: CurrentWalletContextProps; if (walletType === 'tron') { value = { diff --git a/packages/canonical-bridge-widget/src/modules/wallet/WalletProvider.tsx b/packages/canonical-bridge-widget/src/modules/wallet/WalletProvider.tsx index 3d98f664..23135c49 100644 --- a/packages/canonical-bridge-widget/src/modules/wallet/WalletProvider.tsx +++ b/packages/canonical-bridge-widget/src/modules/wallet/WalletProvider.tsx @@ -24,6 +24,7 @@ import { useBridgeConfig } from '@/CanonicalBridgeProvider'; import { useAggregator } from '@/modules/aggregator/components/AggregatorProvider'; import { CurrentWalletProvider } from '@/modules/wallet/CurrentWalletProvider'; import { StateModal } from '@/core/components/StateModal'; +import { SwitchingTipsModal } from '@/modules/wallet/components/SwitchingTipsModal'; interface WalletProviderProps { children: React.ReactNode; @@ -34,6 +35,7 @@ export function WalletProvider(props: WalletProviderProps) { const bridgeConfig = useBridgeConfig(); const { chainConfigs } = useAggregator(); + const { isOpen, onOpen, onClose } = useDisclosure(); const { formatMessage } = useIntl(); @@ -83,7 +85,7 @@ export function WalletProvider(props: WalletProviderProps) { chains: getEvmChains(chainConfigs), }), tronConfig: defaultTronConfig({ - autoConnect: false, + autoConnect: true, wallets: tronWallets, }), }; @@ -95,16 +97,20 @@ export function WalletProvider(props: WalletProviderProps) { return ( - {children} - + + {children} - + + + + + ); } diff --git a/packages/canonical-bridge-widget/src/modules/wallet/action.ts b/packages/canonical-bridge-widget/src/modules/wallet/action.ts new file mode 100644 index 00000000..375b59b9 --- /dev/null +++ b/packages/canonical-bridge-widget/src/modules/wallet/action.ts @@ -0,0 +1,6 @@ +import { createAction } from '@/modules/store/createAction'; +import { IWalletState } from '@/modules/wallet/reducer'; + +export const setIsOpenSwitchingTipsModal = createAction( + 'wallet/isOpenSwitchingTipsModal', +); diff --git a/packages/canonical-bridge-widget/src/modules/wallet/components/SwitchingTipsModal/index.tsx b/packages/canonical-bridge-widget/src/modules/wallet/components/SwitchingTipsModal/index.tsx new file mode 100644 index 00000000..a415145c --- /dev/null +++ b/packages/canonical-bridge-widget/src/modules/wallet/components/SwitchingTipsModal/index.tsx @@ -0,0 +1,36 @@ +import { useIntl } from '@bnb-chain/space'; + +import { StateModal } from '@/core/components/StateModal'; +import { useAppDispatch, useAppSelector } from '@/modules/store/StoreProvider'; +import { setIsOpenSwitchingTipsModal } from '@/modules/wallet/action'; +import { useCurrentWallet } from '@/modules/wallet/CurrentWalletProvider'; + +// chainId +// TronGrid: 0x2b6653dc +// TronStack: 0x2b6653dc +// Shasta Testnet: 0x94a9059e +// Nile Testnet: 0xcd8690dc + +export function SwitchingTipsModal() { + const { formatMessage } = useIntl(); + const dispatch = useAppDispatch(); + + const { walletType } = useCurrentWallet(); + const isOpenSwitchingTipsModal = useAppSelector((state) => state.wallet.isOpenSwitchingTipsModal); + + if (walletType !== 'tron') { + return null; + } + + return ( + { + dispatch(setIsOpenSwitchingTipsModal(false)); + }} + /> + ); +} diff --git a/packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronAccount.ts b/packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronAccount.ts index c6daf763..3892c9bb 100644 --- a/packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronAccount.ts +++ b/packages/canonical-bridge-widget/src/modules/wallet/hooks/useTronAccount.ts @@ -1,12 +1,6 @@ import { useTronWallet } from '@node-real/walletkit/tron'; import { useEffect, useState } from 'react'; -// chainId -// TronGrid: 0x2b6653dc -// TronStack: 0x2b6653dc -// Shasta Testnet: 0x94a9059e -// Nile Testnet: 0xcd8690dc - export function useTronAccount() { const { address, connected, wallet } = useTronWallet(); const [chainId, setChainId] = useState(); diff --git a/packages/canonical-bridge-widget/src/modules/wallet/reducer.ts b/packages/canonical-bridge-widget/src/modules/wallet/reducer.ts new file mode 100644 index 00000000..d8b113fc --- /dev/null +++ b/packages/canonical-bridge-widget/src/modules/wallet/reducer.ts @@ -0,0 +1,17 @@ +import { createReducer } from '@/modules/store/createReducer'; +import * as actions from '@/modules/wallet/action'; + +export interface IWalletState { + isOpenSwitchingTipsModal: boolean; +} + +const initStates: IWalletState = { + isOpenSwitchingTipsModal: false, +}; + +export default createReducer(initStates, (builder) => { + builder.addCase(actions.setIsOpenSwitchingTipsModal, (state, { payload }) => ({ + ...state, + isOpenSwitchingTipsModal: payload, + })); +}); From 1f5f89fcfc20762694e8ad82c0b14f81e38ffc56 Mon Sep 17 00:00:00 2001 From: wenty22 Date: Wed, 23 Oct 2024 23:06:58 +0800 Subject: [PATCH 30/36] fix: Avoid multiple clicks for approve button --- .../src/core/components/StateModal/index.tsx | 6 ++++++ .../components/Modal/TransactionApproveModal/index.tsx | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/canonical-bridge-widget/src/core/components/StateModal/index.tsx b/packages/canonical-bridge-widget/src/core/components/StateModal/index.tsx index 08cf48b4..a55a835e 100644 --- a/packages/canonical-bridge-widget/src/core/components/StateModal/index.tsx +++ b/packages/canonical-bridge-widget/src/core/components/StateModal/index.tsx @@ -40,6 +40,8 @@ export interface StateModalProps extends Omit { mainButtonProps?: ButtonProps; footerProps?: ModalFooterProps; bodyProps?: ModalBodyProps; + mainButtonIsDisabled?: boolean; + closeButtonIsDisabled?: boolean; } export function StateModal(props: StateModalProps) { @@ -53,6 +55,8 @@ export function StateModal(props: StateModalProps) { onMainButtonClick, closeButton, isOpen, + mainButtonIsDisabled = false, + closeButtonIsDisabled = false, onClose, mainButtonProps, bodyProps, @@ -130,6 +134,7 @@ export function StateModal(props: StateModalProps) { fontSize={'16px'} lineHeight={1.5} onClick={onMainButtonClick} + isDisabled={mainButtonIsDisabled} {...mainButtonProps} > {mainButtonText} @@ -144,6 +149,7 @@ export function StateModal(props: StateModalProps) { fontSize={'16px'} lineHeight={1.5} onClick={onBeforeClose} + isDisabled={closeButtonIsDisabled} > {buttonText} diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/Modal/TransactionApproveModal/index.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/Modal/TransactionApproveModal/index.tsx index 5cf8598d..627c8692 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/Modal/TransactionApproveModal/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/Modal/TransactionApproveModal/index.tsx @@ -1,6 +1,6 @@ import { parseUnits } from 'viem'; import { Button, theme, Typography, useColorMode, useIntl } from '@bnb-chain/space'; -import { useEffect } from 'react'; +import { useEffect, useState } from 'react'; import { useApprove } from '@/core/contract/hooks'; import { useAppSelector } from '@/modules/store/StoreProvider'; @@ -17,6 +17,7 @@ export function TransactionApproveModal( ) { const { onOpenConfirmingModal, onCloseConfirmingModal, ...restProps } = props; + const [mainButtonIsDisabled, setMainButtonIsDisabled] = useState(false); const { approveErc20Token, isLoadingApprove } = useApprove(); const { formatMessage } = useIntl(); const { isEvmConnected, isTronConnected } = useCurrentWallet(); @@ -72,10 +73,12 @@ export function TransactionApproveModal( } mainButtonText={formatMessage({ id: 'modal.approve.button.confirm' })} + mainButtonIsDisabled={mainButtonIsDisabled} onMainButtonClick={async () => { if (selectedToken && transferActionInfo?.bridgeAddress) { try { reportApproval('Approve'); + setMainButtonIsDisabled(true); if (isEvmConnected && fromChain?.chainType !== 'tron') { const hash = await approveErc20Token( selectedToken.address as `0x${string}`, @@ -99,6 +102,8 @@ export function TransactionApproveModal( //eslint-disable-next-line no-console console.log(e); restProps.onClose(); + } finally { + setMainButtonIsDisabled(false); } } }} From 8218b0725cc67a0083901238d080afc10fcd34f4 Mon Sep 17 00:00:00 2001 From: wenty22 Date: Wed, 23 Oct 2024 23:24:55 +0800 Subject: [PATCH 31/36] feat: Support tron wallet auto connect --- .release/.changeset/stupid-mugs-push.md | 6 + .../src/CanonicalBridgeProvider.tsx | 13 ++- .../src/core/locales/en.ts | 110 ++++++++++++++++++ .../src/core/locales/index.ts | 5 + .../canonical-bridge-widget/src/index.tsx | 3 + .../modules/wallet/CurrentWalletProvider.tsx | 15 ++- 6 files changed, 146 insertions(+), 6 deletions(-) create mode 100644 .release/.changeset/stupid-mugs-push.md create mode 100644 packages/canonical-bridge-widget/src/core/locales/en.ts create mode 100644 packages/canonical-bridge-widget/src/core/locales/index.ts diff --git a/.release/.changeset/stupid-mugs-push.md b/.release/.changeset/stupid-mugs-push.md new file mode 100644 index 00000000..2599685e --- /dev/null +++ b/.release/.changeset/stupid-mugs-push.md @@ -0,0 +1,6 @@ +--- +"@bnb-chain/canonical-bridge-widget": patch +"@bnb-chain/canonical-bridge-sdk": patch +--- + +Add tips for switching network in tronLink diff --git a/packages/canonical-bridge-widget/src/CanonicalBridgeProvider.tsx b/packages/canonical-bridge-widget/src/CanonicalBridgeProvider.tsx index c542a171..24430133 100644 --- a/packages/canonical-bridge-widget/src/CanonicalBridgeProvider.tsx +++ b/packages/canonical-bridge-widget/src/CanonicalBridgeProvider.tsx @@ -9,16 +9,17 @@ import { ThemeProvider, ThemeProviderProps } from '@/core/theme/ThemeProvider'; import { AggregatorProvider } from '@/modules/aggregator/components/AggregatorProvider'; import { TokenBalancesProvider } from '@/modules/aggregator/components/TokenBalancesProvider'; import { TokenPricesProvider } from '@/modules/aggregator/components/TokenPricesProvider'; +import { locales } from '@/core/locales'; export interface ICanonicalBridgeConfig { appName: string; assetPrefix?: string; - appearance: { + appearance?: { mode?: ColorMode; theme?: ThemeProviderProps['themeConfig']; - locale: string; - messages: Record; + locale?: string; + messages?: Record; bridgeTitle?: string; }; @@ -63,6 +64,8 @@ export function CanonicalBridgeProvider(props: CanonicalBridgeProviderProvider) appearance: { bridgeTitle: 'BNB Chain Cross-Chain Bridge', mode: 'dark', + locale: 'en', + messages: locales.en, ...config.appearance, }, @@ -85,9 +88,9 @@ export function CanonicalBridgeProvider(props: CanonicalBridgeProviderProvider) return ( - + - + diff --git a/packages/canonical-bridge-widget/src/core/locales/en.ts b/packages/canonical-bridge-widget/src/core/locales/en.ts new file mode 100644 index 00000000..d5d4b72d --- /dev/null +++ b/packages/canonical-bridge-widget/src/core/locales/en.ts @@ -0,0 +1,110 @@ +export const en = { + 'seo.title': 'BNB Chain Bridge | Cross-Chain Transfer', + 'seo.description': + 'Bridge and transfer your assets between networks (Ethereum, Polygon and etc.) and BNB Chain blockchain ecosystem.', + 'main.address.link.text': 'Token address:', + 'header.network-status.wrong': 'Wrong network', + + 'support.stargate.soon': 'We will support Stargate soon', + 'route.title': 'Select Bridge Routes', + 'from.section.title': 'From', + 'from.section.balance.title': 'Balance:', + 'from.section.balance.button.max': 'Max:', + 'to.section.title': 'To', + 'to.section.estimated-amount': 'Est. Amount Receive', + 'to.section.account.label': 'Destination Address', + 'to.section.account.placeholder': 'Enter {network} Address', + 'to.section.account.invalid': 'Invalid address.', + 'to.section.confirm.text': + 'I confirmed the address is correct and not an exchange or contract address. Any tokens sent to an incorrect address will be unrecoverable.', + + 'you.send.title': 'You Send', + 'you.receive.title': 'You Receive', + 'route.button.change-routes': 'Change Routes', + 'route.title.select.routes': 'Select Bridge Routes', + 'route.fees.title': 'Fees:', + 'route.time.title': 'Time:', + 'route.allowed-send-amount': 'Your send amount should be between {min} to {max} {symbol}', + + 'route.no-found.title': 'No Available Routes', + 'route.no-found.desc': `Low liquidity, small input, or incompatible network/token. Adjust and retry.`, + + 'route.adjust.title': 'Adjust Send Amount', + 'route.adjust.desc': + 'The current bridge routes have limitations on the send amount. Please adjust and try again.', + 'route.adjust.link': 'See Route Limitations', + + 'route.option.cBridge.title': 'cBridge', + 'route.option.deBridge.title': 'deBridge', + 'route.option.stargate.title': 'Stargate', + 'route.option.layerZero.title': 'LayerZero', + 'route.option.meson.title': 'Meson', + 'route.option.tag.best-time': 'Fastest', + 'route.option.tag.highest-amount': 'Best Return', + 'route.option.info.estimated-time': 'Est. Time:', + 'route.option.info.gas-fee': 'Gas Fee:', + 'route.option.info.native-fee': 'Native Fee:', + 'route.option.info.debridge-fee': 'deBridge Fee:', + 'route.option.info.market-maker-fee': 'Market Maker Gas Costs:', + 'route.option.info.base-fee': 'Base Fee:', + 'route.option.info.lp-fee': 'Liquidity Providers:', + 'route.option.info.service-fee': 'Service Fee:', + 'route.option.info.protocol-fee': 'Protocol Fee:', + + 'route.error.amount.max': 'Your send amount must be less than {max}', + 'route.error.amount.min': 'Your send amount must be greater than {min}', + 'route.error.amount.digits': 'The send amount must be less than 6 digits', + + 'transfer.button.confirm': 'Send', + 'transfer.button.approve': 'Approve', + 'transfer.button.switch-network': 'Switch Network', + 'transfer.button.wallet-connect': 'Connect Wallet', + 'transfer.button.switch-wallet': 'Switch Wallet', + + 'modal.approve.title': 'Approve Token', + 'modal.approve.desc.1': 'Please approve at least ', + 'modal.approve.desc.2': ' and initiate the transfer', + 'modal.approve.button.confirm': 'Approve', + 'modal.approve.button.close': 'Deny', + + 'modal.fail.title': 'Transaction Failed', + 'modal.fail.desc': 'Your transaction failed to submit.\nPlease try again.', + 'modal.fail.button.close': 'Try Again', + + 'modal.submit.title': 'Transaction Submitted', + 'modal.submit.desc': 'Your on-chain transaction has been submitted successfully', + 'modal.submit.button.view-tx': 'View Transaction', + 'modal.submit.button.close': 'Make Another Transaction', + + 'select-modal.tag.incompatible': 'Incompatible', + 'select-modal.search.no-result.title': 'No result found', + 'select-modal.search.no-result.warning': + 'Try adjusting your search request to find what you’re looking for', + + 'select-modal.token.title': 'Choose Token', + 'select-modal.token.placeholder': 'Search token by name', + 'select-modal.token.column.name': 'Name', + 'select-modal.token.column.balance': 'Wallet Balance', + 'select-modal.token.incompatible.tooltip': + 'This token is incompatible by the source or destination network you’ve selected. Please change the network settings', + + 'select-modal.source.title': 'Source Network', + 'select-modal.source.placeholder': 'Search network by name', + + 'select-modal.destination.title': 'Destination Network', + 'select-modal.destination.placeholder': 'Search network by name', + 'select-modal.destination.incompatible.tooltip': + 'The token you’ve selected is incompatible with this network. Please select another token.', + + 'wallet.button.connect-wallet': 'Connect Wallet', + 'wallet.network.wrong-network': 'Wrong network', + 'wallet.error.switch-network': + 'An error occurred when attempting to switch the network. Please select another network or try again.', + 'wallet.popover.disconnect': 'Disconnect', + 'wallet.preventing-modal.title': 'Oops!', + 'wallet.preventing-modal.desc': + 'Opening an app is not allowed on this site. Please go to BNB Chain Bridge site on your mobile browser to continue.', + 'wallet.switching-modal.title': 'Switch Network in Wallet', + 'wallet.switching-modal.desc': + 'Please go to the settings page and switch the network to TRON Mainnet', +}; diff --git a/packages/canonical-bridge-widget/src/core/locales/index.ts b/packages/canonical-bridge-widget/src/core/locales/index.ts new file mode 100644 index 00000000..5d61ca6c --- /dev/null +++ b/packages/canonical-bridge-widget/src/core/locales/index.ts @@ -0,0 +1,5 @@ +import { en } from '@/core/locales/en'; + +export const locales = { + en, +}; diff --git a/packages/canonical-bridge-widget/src/index.tsx b/packages/canonical-bridge-widget/src/index.tsx index 14d21b0f..8406f0f8 100644 --- a/packages/canonical-bridge-widget/src/index.tsx +++ b/packages/canonical-bridge-widget/src/index.tsx @@ -5,3 +5,6 @@ export * from '@/modules/wallet/components/ConnectButton'; // gtm export * from '@/core/utils/gtm'; + +// locales +export * from '@/core/locales'; diff --git a/packages/canonical-bridge-widget/src/modules/wallet/CurrentWalletProvider.tsx b/packages/canonical-bridge-widget/src/modules/wallet/CurrentWalletProvider.tsx index 9a2b4f36..ee8f4138 100644 --- a/packages/canonical-bridge-widget/src/modules/wallet/CurrentWalletProvider.tsx +++ b/packages/canonical-bridge-widget/src/modules/wallet/CurrentWalletProvider.tsx @@ -1,6 +1,6 @@ import { isMobile, useWalletKit } from '@node-real/walletkit'; import { TronWallet, useTronWallet } from '@node-real/walletkit/tron'; -import React, { useCallback, useContext, useState } from 'react'; +import React, { useCallback, useContext, useEffect, useState } from 'react'; import { useAccount, useDisconnect } from 'wagmi'; import { ChainType, IChainConfig } from '@/modules/aggregator'; @@ -49,6 +49,17 @@ export function CurrentWalletProvider(props: CurrentWalletProviderProps) { const tronDisconnect = useTronWallet(); const [walletType, setWalletType] = useState('evm'); + const [isAutoConnect, setIsAutoConnect] = useState(true); + useEffect(() => { + const timer = setTimeout(() => { + if (tronAccount.isConnected && isAutoConnect && !evmAccount.isConnected) { + setWalletType('tron'); + } + }, 1000); + return () => { + clearTimeout(timer); + }; + }, [evmAccount.isConnected, isAutoConnect, tronAccount.isConnected]); const tronWalletId = useTronWalletId(); const { chainConfigs } = useAggregator(); @@ -87,6 +98,8 @@ export function CurrentWalletProvider(props: CurrentWalletProviderProps) { targetChainType?: ChainType; targetChainId?: number; }) => { + setIsAutoConnect(false); + if (targetChainType === 'evm') { if (walletType !== targetChainType || !evmAccount.isConnected) { onOpen({ From 819a8f9940f9f49d4ad595ceec3a785cea3258f6 Mon Sep 17 00:00:00 2001 From: wenty22 Date: Wed, 23 Oct 2024 23:25:32 +0800 Subject: [PATCH 32/36] docs: Update version --- .release/.changeset/pre.json | 1 + packages/canonical-bridge-sdk/CHANGELOG.md | 6 ++++++ packages/canonical-bridge-sdk/package.json | 2 +- packages/canonical-bridge-widget/CHANGELOG.md | 6 ++++++ packages/canonical-bridge-widget/package.json | 2 +- 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.release/.changeset/pre.json b/.release/.changeset/pre.json index 1f0ea989..712e98b4 100644 --- a/.release/.changeset/pre.json +++ b/.release/.changeset/pre.json @@ -7,6 +7,7 @@ }, "changesets": [ "great-jars-float", + "stupid-mugs-push", "tiny-lizards-cross" ] } diff --git a/packages/canonical-bridge-sdk/CHANGELOG.md b/packages/canonical-bridge-sdk/CHANGELOG.md index 8eb96e27..c393a1d2 100644 --- a/packages/canonical-bridge-sdk/CHANGELOG.md +++ b/packages/canonical-bridge-sdk/CHANGELOG.md @@ -1,5 +1,11 @@ # @bnb-chain/canonical-bridge-sdk +## 0.2.0-alpha.2 + +### Patch Changes + +- 8218b07: Add tips for switching network in tronLink + ## 0.2.0-alpha.1 ### Patch Changes diff --git a/packages/canonical-bridge-sdk/package.json b/packages/canonical-bridge-sdk/package.json index 55b515da..fbfb5583 100644 --- a/packages/canonical-bridge-sdk/package.json +++ b/packages/canonical-bridge-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@bnb-chain/canonical-bridge-sdk", - "version": "0.2.0-alpha.1", + "version": "0.2.0-alpha.2", "description": "canonical bridge sdk", "author": "bnb-chain", "private": false, diff --git a/packages/canonical-bridge-widget/CHANGELOG.md b/packages/canonical-bridge-widget/CHANGELOG.md index 190d8f97..4f9748d0 100644 --- a/packages/canonical-bridge-widget/CHANGELOG.md +++ b/packages/canonical-bridge-widget/CHANGELOG.md @@ -1,5 +1,11 @@ # @bnb-chain/canonical-bridge-widget +## 0.2.0-alpha.2 + +### Patch Changes + +- 8218b07: Add tips for switching network in tronLink + ## 0.2.0-alpha.1 ### Patch Changes diff --git a/packages/canonical-bridge-widget/package.json b/packages/canonical-bridge-widget/package.json index 124c4e50..e41b4136 100644 --- a/packages/canonical-bridge-widget/package.json +++ b/packages/canonical-bridge-widget/package.json @@ -1,6 +1,6 @@ { "name": "@bnb-chain/canonical-bridge-widget", - "version": "0.2.0-alpha.1", + "version": "0.2.0-alpha.2", "description": "canonical bridge widget", "author": "bnb-chain", "private": false, From 69b6d3a95489b5e6fb25da18b910fbd7e077de56 Mon Sep 17 00:00:00 2001 From: wenty22 Date: Wed, 23 Oct 2024 23:53:42 +0800 Subject: [PATCH 33/36] fix: Only show supported networks in status popup --- .release/.changeset/odd-lies-design.md | 6 ++++++ .release/.changeset/pre.json | 1 + packages/canonical-bridge-sdk/CHANGELOG.md | 6 ++++++ packages/canonical-bridge-sdk/package.json | 2 +- packages/canonical-bridge-widget/CHANGELOG.md | 6 ++++++ packages/canonical-bridge-widget/package.json | 2 +- .../wallet/components/NetworkStatus/index.tsx | 12 ++++++++---- 7 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 .release/.changeset/odd-lies-design.md diff --git a/.release/.changeset/odd-lies-design.md b/.release/.changeset/odd-lies-design.md new file mode 100644 index 00000000..d54d34d3 --- /dev/null +++ b/.release/.changeset/odd-lies-design.md @@ -0,0 +1,6 @@ +--- +"@bnb-chain/canonical-bridge-widget": patch +"@bnb-chain/canonical-bridge-sdk": patch +--- + +Only show supported networks in status popup diff --git a/.release/.changeset/pre.json b/.release/.changeset/pre.json index 712e98b4..4d880f87 100644 --- a/.release/.changeset/pre.json +++ b/.release/.changeset/pre.json @@ -7,6 +7,7 @@ }, "changesets": [ "great-jars-float", + "odd-lies-design", "stupid-mugs-push", "tiny-lizards-cross" ] diff --git a/packages/canonical-bridge-sdk/CHANGELOG.md b/packages/canonical-bridge-sdk/CHANGELOG.md index c393a1d2..515107d7 100644 --- a/packages/canonical-bridge-sdk/CHANGELOG.md +++ b/packages/canonical-bridge-sdk/CHANGELOG.md @@ -1,5 +1,11 @@ # @bnb-chain/canonical-bridge-sdk +## 0.2.0-alpha.3 + +### Patch Changes + +- Only show supported networks in status popup + ## 0.2.0-alpha.2 ### Patch Changes diff --git a/packages/canonical-bridge-sdk/package.json b/packages/canonical-bridge-sdk/package.json index fbfb5583..bf4849c9 100644 --- a/packages/canonical-bridge-sdk/package.json +++ b/packages/canonical-bridge-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@bnb-chain/canonical-bridge-sdk", - "version": "0.2.0-alpha.2", + "version": "0.2.0-alpha.3", "description": "canonical bridge sdk", "author": "bnb-chain", "private": false, diff --git a/packages/canonical-bridge-widget/CHANGELOG.md b/packages/canonical-bridge-widget/CHANGELOG.md index 4f9748d0..d1efc767 100644 --- a/packages/canonical-bridge-widget/CHANGELOG.md +++ b/packages/canonical-bridge-widget/CHANGELOG.md @@ -1,5 +1,11 @@ # @bnb-chain/canonical-bridge-widget +## 0.2.0-alpha.3 + +### Patch Changes + +- Only show supported networks in status popup + ## 0.2.0-alpha.2 ### Patch Changes diff --git a/packages/canonical-bridge-widget/package.json b/packages/canonical-bridge-widget/package.json index e41b4136..38f100a8 100644 --- a/packages/canonical-bridge-widget/package.json +++ b/packages/canonical-bridge-widget/package.json @@ -1,6 +1,6 @@ { "name": "@bnb-chain/canonical-bridge-widget", - "version": "0.2.0-alpha.2", + "version": "0.2.0-alpha.3", "description": "canonical bridge widget", "author": "bnb-chain", "private": false, diff --git a/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx b/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx index 6f068ceb..00308448 100644 --- a/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx @@ -9,6 +9,7 @@ import { DropdownList } from '@/modules/wallet/components/Dropdown/DropdownList' import { DropdownItem } from '@/modules/wallet/components/Dropdown/DropdownItem'; import { useCurrentWallet } from '@/modules/wallet/CurrentWalletProvider'; import { useFromChains } from '@/modules/aggregator/hooks/useFromChains'; +import { useAggregator } from '@/modules/aggregator/components/AggregatorProvider'; export function NetworkStatus() { const fromChain = useAppSelector((state) => state.transfer.fromChain); @@ -20,13 +21,16 @@ export function NetworkStatus() { const { chain, chainId, linkWallet } = useCurrentWallet(); const fromChains = useFromChains(); + const isWrongNetwork = !!fromChain && fromChain.id !== chainId; + + const { chainConfigs } = useAggregator(); + const supportedChains = fromChains.filter((c) => chainConfigs.find((e) => c.id === e.id)); + const iconUrl = supportedChains.find((e) => e.id === chainId)?.icon; + if (!chain) { return null; } - const isWrongNetwork = !!fromChain && fromChain.id !== chainId; - const iconUrl = fromChains.find((e) => e.id === chainId)?.icon; - return ( {({ isOpen }) => { @@ -52,7 +56,7 @@ export function NetworkStatus() { - {fromChains.map((item) => { + {supportedChains.map((item) => { const isSelected = chainId === item.id; return ( From 1eccdf2dea6f12e1e02359c66a17c08102a9bd79 Mon Sep 17 00:00:00 2001 From: wenty22 Date: Wed, 23 Oct 2024 23:58:33 +0800 Subject: [PATCH 34/36] fix: Only show supported networks in status popup --- .release/.changeset/fluffy-rocks-count.md | 6 ++++++ .release/.changeset/pre.json | 1 + packages/canonical-bridge-sdk/CHANGELOG.md | 6 ++++++ packages/canonical-bridge-sdk/package.json | 2 +- packages/canonical-bridge-widget/CHANGELOG.md | 6 ++++++ packages/canonical-bridge-widget/package.json | 2 +- .../src/modules/wallet/components/NetworkStatus/index.tsx | 4 +++- 7 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 .release/.changeset/fluffy-rocks-count.md diff --git a/.release/.changeset/fluffy-rocks-count.md b/.release/.changeset/fluffy-rocks-count.md new file mode 100644 index 00000000..d54d34d3 --- /dev/null +++ b/.release/.changeset/fluffy-rocks-count.md @@ -0,0 +1,6 @@ +--- +"@bnb-chain/canonical-bridge-widget": patch +"@bnb-chain/canonical-bridge-sdk": patch +--- + +Only show supported networks in status popup diff --git a/.release/.changeset/pre.json b/.release/.changeset/pre.json index 4d880f87..0fcb0e77 100644 --- a/.release/.changeset/pre.json +++ b/.release/.changeset/pre.json @@ -6,6 +6,7 @@ "@bnb-chain/canonical-bridge-widget": "0.1.6" }, "changesets": [ + "fluffy-rocks-count", "great-jars-float", "odd-lies-design", "stupid-mugs-push", diff --git a/packages/canonical-bridge-sdk/CHANGELOG.md b/packages/canonical-bridge-sdk/CHANGELOG.md index 515107d7..087f4256 100644 --- a/packages/canonical-bridge-sdk/CHANGELOG.md +++ b/packages/canonical-bridge-sdk/CHANGELOG.md @@ -1,5 +1,11 @@ # @bnb-chain/canonical-bridge-sdk +## 0.2.0-alpha.4 + +### Patch Changes + +- Only show supported networks in status popup + ## 0.2.0-alpha.3 ### Patch Changes diff --git a/packages/canonical-bridge-sdk/package.json b/packages/canonical-bridge-sdk/package.json index bf4849c9..03cee4b8 100644 --- a/packages/canonical-bridge-sdk/package.json +++ b/packages/canonical-bridge-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@bnb-chain/canonical-bridge-sdk", - "version": "0.2.0-alpha.3", + "version": "0.2.0-alpha.4", "description": "canonical bridge sdk", "author": "bnb-chain", "private": false, diff --git a/packages/canonical-bridge-widget/CHANGELOG.md b/packages/canonical-bridge-widget/CHANGELOG.md index d1efc767..c676e0d3 100644 --- a/packages/canonical-bridge-widget/CHANGELOG.md +++ b/packages/canonical-bridge-widget/CHANGELOG.md @@ -1,5 +1,11 @@ # @bnb-chain/canonical-bridge-widget +## 0.2.0-alpha.4 + +### Patch Changes + +- Only show supported networks in status popup + ## 0.2.0-alpha.3 ### Patch Changes diff --git a/packages/canonical-bridge-widget/package.json b/packages/canonical-bridge-widget/package.json index 38f100a8..bee8020d 100644 --- a/packages/canonical-bridge-widget/package.json +++ b/packages/canonical-bridge-widget/package.json @@ -1,6 +1,6 @@ { "name": "@bnb-chain/canonical-bridge-widget", - "version": "0.2.0-alpha.3", + "version": "0.2.0-alpha.4", "description": "canonical bridge widget", "author": "bnb-chain", "private": false, diff --git a/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx b/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx index 00308448..4e3ca0ff 100644 --- a/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/wallet/components/NetworkStatus/index.tsx @@ -24,7 +24,9 @@ export function NetworkStatus() { const isWrongNetwork = !!fromChain && fromChain.id !== chainId; const { chainConfigs } = useAggregator(); - const supportedChains = fromChains.filter((c) => chainConfigs.find((e) => c.id === e.id)); + const supportedChains = fromChains.filter( + (c) => chainConfigs.find((e) => c.id === e.id) && c.chainType !== 'link', + ); const iconUrl = supportedChains.find((e) => e.id === chainId)?.icon; if (!chain) { From 72144780c9466d56277563001aa727a6a7d03360 Mon Sep 17 00:00:00 2001 From: chris Date: Thu, 24 Oct 2024 13:23:11 +1000 Subject: [PATCH 35/36] fix: Fix input error message style --- .../SendInput/InputValidationMessage.tsx | 8 ++-- .../transfer/components/SendInput/index.tsx | 39 +++++++++++++++++-- .../transfer/components/ToAccount/index.tsx | 23 ++++++++--- 3 files changed, 56 insertions(+), 14 deletions(-) diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/InputValidationMessage.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/InputValidationMessage.tsx index a89174be..fcf90fc5 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/InputValidationMessage.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/InputValidationMessage.tsx @@ -1,4 +1,4 @@ -import { Box, useBreakpointValue, useColorMode, useTheme } from '@bnb-chain/space'; +import { Box, useColorMode, useTheme } from '@bnb-chain/space'; import { useEffect, useState } from 'react'; import { useAccount } from 'wagmi'; @@ -13,7 +13,6 @@ export const InputValidationMessage = () => { const { validateInput } = useInputValidation(); const { chain } = useAccount(); const dispatch = useAppDispatch(); - const isBase = useBreakpointValue({ base: true, lg: false }) ?? false; const transferActionInfo = useAppSelector((state) => state.transfer.transferActionInfo); const theme = useTheme(); @@ -62,11 +61,10 @@ export const InputValidationMessage = () => { return error || balanceInputError ? ( {balanceInputError ?? error?.text} diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/index.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/index.tsx index 7bf09445..fcfa5c04 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/SendInput/index.tsx @@ -1,5 +1,5 @@ import { Box, Flex, Input, useColorMode, useDisclosure, useIntl, useTheme } from '@bnb-chain/space'; -import { useRef } from 'react'; +import { useRef, useState } from 'react'; import { useAppDispatch, useAppSelector } from '@/modules/store/StoreProvider'; import { setSendValue } from '@/modules/transfer/action'; @@ -40,9 +40,11 @@ export const SendInput: React.FC = () => { const dispatch = useAppDispatch(); const { formatMessage } = useIntl(); const timerRef = useRef(); + const theme = useTheme(); + + const [isFocused, setIsFocused] = useState(false); const sendValue = useAppSelector((state) => state.transfer.sendValue); - const theme = useTheme(); const selectedToken = useAppSelector((state) => state.transfer.selectedToken); const isGlobalFeeLoading = useAppSelector((state) => state.transfer.isGlobalFeeLoading); const fromChain = useAppSelector((state) => state.transfer.fromChain); @@ -100,13 +102,38 @@ export const SendInput: React.FC = () => { p={'12px 16px'} h={'64px'} borderRadius={'8px'} - border={`1px solid ${ + border={'1px solid'} + borderColor={`${ !!error?.text ? theme.colors[colorMode].text.danger + : isFocused + ? theme.colors[colorMode].text.brand : theme.colors[colorMode].input.border.default }`} + boxShadow={ + !!error?.text + ? `0 0 0 1px ${theme.colors[colorMode].text.danger}` + : isFocused + ? `0 0 0 1px ${theme.colors[colorMode].text.brand}` + : 'none' + } background={theme.colors[colorMode].input.background} position={'relative'} + _hover={{ + outline: '1px solid', + outlineColor: !!error?.text + ? theme.colors[colorMode].text.danger + : isFocused + ? theme.colors[colorMode].text.brand + : theme.colors[colorMode].input.border.hover, + border: `1px solid ${ + !!error?.text + ? theme.colors[colorMode].text.danger + : isFocused + ? theme.colors[colorMode].text.brand + : theme.colors[colorMode].input.border.hover + }`, + }} > { fontSize={'24px'} onChange={onChangeSendValue} placeholder={'0.0'} + onFocus={() => { + setIsFocused(true); + }} + onBlur={() => { + setIsFocused(false); + }} border={'none'} disabled={!selectedToken || (isGlobalFeeLoading && sendValue === debouncedSendValue)} _hover={{ diff --git a/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx b/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx index 24615031..d35c00c5 100644 --- a/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx +++ b/packages/canonical-bridge-widget/src/modules/transfer/components/ToAccount/index.tsx @@ -3,7 +3,7 @@ import { Box, Input, useColorMode, - theme, + useTheme, FlexProps, useIntl, InputGroup, @@ -25,6 +25,7 @@ export function ToAccount(props: FlexProps) { const { colorMode } = useColorMode(); const { formatMessage } = useIntl(); const dispatch = useAppDispatch(); + const theme = useTheme(); const [isChecked, setIsChecked] = useState(false); @@ -86,24 +87,34 @@ export function ToAccount(props: FlexProps) { {...props} > {formatMessage({ id: 'to.section.account.label' })} - + {isInvalid && ( - + {formatMessage({ id: 'to.section.account.invalid' })} )} From 3790485967b881bdd506124884ea17eae3ed7623 Mon Sep 17 00:00:00 2001 From: chris Date: Thu, 24 Oct 2024 15:54:27 +1000 Subject: [PATCH 36/36] feat: Get native token balance based on selected chain --- .../src/core/contract/hooks/useGetTokenBalance.ts | 3 ++- .../aggregator/adapters/deBridge/hooks/useGetDeBridgeFees.ts | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/canonical-bridge-widget/src/core/contract/hooks/useGetTokenBalance.ts b/packages/canonical-bridge-widget/src/core/contract/hooks/useGetTokenBalance.ts index c1ce125f..06e671b6 100644 --- a/packages/canonical-bridge-widget/src/core/contract/hooks/useGetTokenBalance.ts +++ b/packages/canonical-bridge-widget/src/core/contract/hooks/useGetTokenBalance.ts @@ -6,8 +6,9 @@ import { ERC20_TOKEN } from '@/core/contract/abi'; export const useGetTokenBalance = ({ tokenAddress }: { tokenAddress: `0x${string}` }) => { const { address } = useAccount(); - const { data: nativeBalance } = useBalance({ address }); const selectedToken = useAppSelector((state) => state.transfer.selectedToken); + const fromChain = useAppSelector((state) => state.transfer.fromChain); + const { data: nativeBalance } = useBalance({ address, chainId: fromChain?.id }); const { data: balance, isError, diff --git a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/deBridge/hooks/useGetDeBridgeFees.ts b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/deBridge/hooks/useGetDeBridgeFees.ts index a9bd4d25..a5ed7420 100644 --- a/packages/canonical-bridge-widget/src/modules/aggregator/adapters/deBridge/hooks/useGetDeBridgeFees.ts +++ b/packages/canonical-bridge-widget/src/modules/aggregator/adapters/deBridge/hooks/useGetDeBridgeFees.ts @@ -32,7 +32,10 @@ export const useGetDeBridgeFees = () => { const sendValue = useAppSelector((state) => state.transfer.sendValue); const toChain = useAppSelector((state) => state.transfer.toChain); - const { data: nativeTokenBalance } = useBalance({ address: address as `0x${string}` }); + const { data: nativeTokenBalance } = useBalance({ + address: address as `0x${string}`, + chainId: fromChain?.id, + }); const { toTokenInfo } = useToTokenInfo(); const { balance } = useGetTokenBalance({