From 1db596604c3d563f270d1627ca75d4c165c9e52e Mon Sep 17 00:00:00 2001 From: Alexander Belopashentsev <61732514+belopash@users.noreply.github.com> Date: Sat, 18 May 2024 14:33:42 +0500 Subject: [PATCH 1/4] feat: migrate to rainbow, wagmi, viem to major version (#14) --- package.json | 9 +- src/App.tsx | 10 +- src/api/contracts/claim.ts | 46 +- .../useRegisterGateway.ts | 51 +- .../gateway-registration/useStakeGateway.ts | 47 +- .../useUnregisterGateway.ts | 51 +- .../gateway-registration/useUnstakeGateway.ts | 50 +- src/api/contracts/sqd.ts | 27 +- src/api/contracts/staking.ts | 95 +- src/api/contracts/utils.ts | 4 +- src/api/contracts/vesting.ts | 43 +- .../worker-registration/useRegisterWorker.ts | 53 +- .../useUnregisterWorker.ts | 46 +- .../worker-registration/useUpdateWorker.ts | 46 +- .../worker-registration/useWithdrawWorker.ts | 46 +- src/network/config.ts | 52 +- src/network/useSubsquidNetwork.ts | 17 +- yarn.lock | 1968 ++++++++++------- 18 files changed, 1452 insertions(+), 1209 deletions(-) diff --git a/package.json b/package.json index 5c260d4..2ce47ae 100644 --- a/package.json +++ b/package.json @@ -24,9 +24,9 @@ "@mui/icons-material": "^5.15.14", "@mui/lab": "^5.0.0-alpha.169", "@mui/material": "^5.15.14", - "@rainbow-me/rainbowkit": "^1.3.6", + "@rainbow-me/rainbowkit": "^2.0.8", "@sentry/react": "^7.108.0", - "@tanstack/react-query": "^5.28.9", + "@tanstack/react-query": "^5.37.1", "@types/ms": "^0.7.34", "axios": "^1.6.8", "base58-universal": "^2.0.0", @@ -43,6 +43,7 @@ "material-ui-popup-state": "^5.1.0", "notistack": "^3.0.1", "pretty-bytes": "^6.1.1", + "qs": "^6.12.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.22.3", @@ -51,8 +52,8 @@ "recharts": "^2.12.3", "use-element-position": "^1.0.13", "use-local-storage-state": "^19.2.0", - "viem": "^1.21.1", - "wagmi": "^1.4.13", + "viem": "^2.10.9", + "wagmi": "^2.9.2", "yup": "^1.4.0" }, "devDependencies": { diff --git a/src/App.tsx b/src/App.tsx index 84d10e5..6baef08 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -5,11 +5,11 @@ import { RainbowKitProvider } from '@rainbow-me/rainbowkit'; import { QueryClientProvider } from '@tanstack/react-query'; import { SnackbarProvider } from 'notistack'; import { BrowserRouter } from 'react-router-dom'; -import { WagmiConfig } from 'wagmi'; +import { WagmiProvider } from 'wagmi'; import { queryClient } from '@api/client'; import { Alert } from '@components/Alert'; -import { chains, wagmiConfig } from '@network/config'; +import { wagmiConfig } from '@network/config'; import { AppRoutes } from './AppRoutes'; import { useCreateTheme, useThemeState } from './theme'; @@ -19,10 +19,10 @@ function App() { const theme = useCreateTheme(themeName); return ( - + - + - + ); } diff --git a/src/api/contracts/claim.ts b/src/api/contracts/claim.ts index 7287f9e..6f04e05 100644 --- a/src/api/contracts/claim.ts +++ b/src/api/contracts/claim.ts @@ -1,7 +1,8 @@ import { useState } from 'react'; import { encodeFunctionData } from 'viem'; -import { useContractWrite, usePublicClient, useWalletClient } from 'wagmi'; +import { waitForTransactionReceipt } from 'viem/actions'; +import { useWriteContract, useClient } from 'wagmi'; import { REWARD_TREASURY_CONTRACT_ABI } from '@api/contracts/reaward-treasury.abi'; import { errorMessage, TxResult, WriteContractRes } from '@api/contracts/utils'; @@ -17,16 +18,15 @@ export type ClaimRequest = { function useClaimFromWallet() { const contracts = useContracts(); - const { writeAsync } = useContractWrite({ - address: contracts.REWARD_TREASURY, - abi: REWARD_TREASURY_CONTRACT_ABI, - functionName: 'claimFor', - }); + const { writeContractAsync } = useWriteContract({}); return async ({ wallet }: ClaimRequest): Promise => { try { return { - tx: await writeAsync({ + tx: await writeContractAsync({ + address: contracts.REWARD_TREASURY, + abi: REWARD_TREASURY_CONTRACT_ABI, + functionName: 'claimFor', args: [contracts.REWARD_DISTRIBUTION, wallet.id as `0x${string}`], }), }; @@ -38,9 +38,8 @@ function useClaimFromWallet() { function useClaimFromVestingContract() { const contracts = useContracts(); - const publicClient = usePublicClient(); - const { data: walletClient } = useWalletClient(); const { address: account } = useAccount(); + const { writeContractAsync } = useWriteContract({}); return async ({ wallet }: ClaimRequest): Promise => { try { @@ -50,28 +49,23 @@ function useClaimFromVestingContract() { args: [contracts.REWARD_DISTRIBUTION, account as `0x${string}`], }); - const { request } = await publicClient.simulateContract({ - account, - address: wallet.id as `0x${string}`, - abi: VESTING_CONTRACT_ABI, - functionName: 'execute', - args: [contracts.REWARD_TREASURY, data], - }); - - const tx = await walletClient?.writeContract(request); - if (!tx) { - return { error: 'unknown error' }; - } - - return { tx: { hash: tx } }; - } catch (e: any) { + return { + tx: await writeContractAsync({ + account, + address: wallet.id as `0x${string}`, + abi: VESTING_CONTRACT_ABI, + functionName: 'execute', + args: [contracts.REWARD_TREASURY, data], + }), + }; + } catch (e: unknown) { return { error: errorMessage(e) }; } }; } export function useClaim() { - const client = usePublicClient(); + const client = useClient(); const { setWaitHeight } = useSquidNetworkHeightHooks(); const [isLoading, setLoading] = useState(false); const [error, setError] = useState(null); @@ -94,7 +88,7 @@ export function useClaim() { return { success: false, failedReason: res.error }; } - const receipt = await client.waitForTransactionReceipt({ hash: res.tx.hash }); + const receipt = await waitForTransactionReceipt(client!, { hash: res.tx }); setWaitHeight(receipt.blockNumber, []); setLoading(false); diff --git a/src/api/contracts/gateway-registration/useRegisterGateway.ts b/src/api/contracts/gateway-registration/useRegisterGateway.ts index 6fe8e26..3a2f812 100644 --- a/src/api/contracts/gateway-registration/useRegisterGateway.ts +++ b/src/api/contracts/gateway-registration/useRegisterGateway.ts @@ -2,7 +2,7 @@ import { useState } from 'react'; import { logger } from '@logger'; import { encodeFunctionData } from 'viem'; -import { useContractWrite, usePublicClient, useWalletClient } from 'wagmi'; +import { usePublicClient, useWriteContract } from 'wagmi'; import { AccountType } from '@api/subsquid-network-squid'; import { useSquidNetworkHeightHooks } from '@hooks/useSquidNetworkHeightHooks.ts'; @@ -25,17 +25,20 @@ export interface RegisterGatewayRequest extends GetawayMetadata { function useRegisterGatewayFromWallet() { const contracts = useContracts(); - const { writeAsync } = useContractWrite({ - address: contracts.GATEWAY_REGISTRATION, - abi: GATEWAY_REGISTRATION_CONTRACT_ABI, - functionName: 'register', - }); + const { writeContractAsync } = useWriteContract({}); return async ({ peerId, ...rest }: RegisterGatewayRequest): Promise => { logger.debug(`registering gateway via worker contract...`); try { - return { tx: await writeAsync({ args: [peerIdToHex(peerId), encodeGatewayMetadata(rest)] }) }; + return { + tx: await writeContractAsync({ + address: contracts.GATEWAY_REGISTRATION, + abi: GATEWAY_REGISTRATION_CONTRACT_ABI, + functionName: 'register', + args: [peerIdToHex(peerId), encodeGatewayMetadata(rest)], + }), + }; } catch (e: unknown) { return { error: errorMessage(e), @@ -46,9 +49,8 @@ function useRegisterGatewayFromWallet() { function useRegisterGatewayFromVestingContract() { const contracts = useContracts(); - const publicClient = usePublicClient(); - const { data: walletClient } = useWalletClient(); const { address: account } = useAccount(); + const { writeContractAsync } = useWriteContract({}); return async ({ peerId, source, ...rest }: RegisterGatewayRequest): Promise => { try { @@ -58,21 +60,16 @@ function useRegisterGatewayFromVestingContract() { args: [peerIdToHex(peerId), encodeGatewayMetadata(rest)], // encodeMetadata(rest) }); - const { request } = await publicClient.simulateContract({ - account, - address: source.id as `0x${string}`, - abi: VESTING_CONTRACT_ABI, - functionName: 'execute', - args: [contracts.GATEWAY_REGISTRATION, data], - }); - - const tx = await walletClient?.writeContract(request); - if (!tx) { - return { error: 'unknown error' }; - } - - return { tx: { hash: tx } }; - } catch (e: any) { + return { + tx: await writeContractAsync({ + account, + address: source.id as `0x${string}`, + abi: VESTING_CONTRACT_ABI, + functionName: 'execute', + args: [contracts.GATEWAY_REGISTRATION, data], + }), + }; + } catch (e: unknown) { return { error: errorMessage(e) }; } }; @@ -103,7 +100,11 @@ export function useRegisterGateway() { return { success: false, failedReason: error }; } - const receipt = await client.waitForTransactionReceipt({ hash: tx.hash }); + if (!client) { + return { success: false, failedReason: 'missing client' }; + } + + const receipt = await client.waitForTransactionReceipt({ hash: tx }); setWaitHeight(receipt.blockNumber, ['myGateways', { address }]); setLoading(false); setError(null); diff --git a/src/api/contracts/gateway-registration/useStakeGateway.ts b/src/api/contracts/gateway-registration/useStakeGateway.ts index 67d01f0..6c45801 100644 --- a/src/api/contracts/gateway-registration/useStakeGateway.ts +++ b/src/api/contracts/gateway-registration/useStakeGateway.ts @@ -3,7 +3,7 @@ import { useState } from 'react'; import { logger } from '@logger'; import Decimal from 'decimal.js'; import { encodeFunctionData } from 'viem'; -import { useContractWrite, usePublicClient, useWalletClient } from 'wagmi'; +import { usePublicClient, useWriteContract } from 'wagmi'; import { AccountType, SourceWallet } from '@api/subsquid-network-squid'; import { BlockchainGateway } from '@api/subsquid-network-squid/gateways-graphql'; @@ -27,11 +27,7 @@ type StakeGatewayRequest = { function useStakeFromWallet() { const contracts = useContracts(); - const { writeAsync } = useContractWrite({ - address: contracts.GATEWAY_REGISTRATION, - abi: GATEWAY_REGISTRATION_CONTRACT_ABI, - functionName: 'stake', - }); + const { writeContractAsync } = useWriteContract({}); const [approveSqd] = useApproveSqd(); @@ -42,7 +38,10 @@ function useStakeFromWallet() { }: StakeGatewayRequest) => { try { return { - tx: await writeAsync({ + tx: await writeContractAsync({ + address: contracts.GATEWAY_REGISTRATION, + abi: GATEWAY_REGISTRATION_CONTRACT_ABI, + functionName: 'stake', args: [toSqd(amount), BigInt(durationBlocks), autoExtension], }), }; @@ -76,9 +75,8 @@ function useStakeFromWallet() { function useStakeFromVestingContract() { const contracts = useContracts(); - const publicClient = usePublicClient(); - const { data: walletClient } = useWalletClient(); const { address: account } = useAccount(); + const { writeContractAsync } = useWriteContract({}); return async ({ amount, @@ -93,21 +91,16 @@ function useStakeFromVestingContract() { args: [toSqd(amount), BigInt(durationBlocks), autoExtension], }); - const { request } = await publicClient.simulateContract({ - account, - address: wallet.id as `0x${string}`, - abi: VESTING_CONTRACT_ABI, - functionName: 'execute', - args: [contracts.GATEWAY_REGISTRATION, data, toSqd(amount)], - }); - - const tx = await walletClient?.writeContract(request); - if (!tx) { - return { error: 'unknown error' }; - } - - return { tx: { hash: tx } }; - } catch (e: any) { + return { + tx: await writeContractAsync({ + account, + address: wallet.id as `0x${string}`, + abi: VESTING_CONTRACT_ABI, + functionName: 'execute', + args: [contracts.GATEWAY_REGISTRATION, data, toSqd(amount)], + }), + }; + } catch (e: unknown) { return { error: errorMessage(e) }; } }; @@ -137,7 +130,11 @@ export function useStakeGateway() { return { success: false, failedReason: res.error }; } - const receipt = await client.waitForTransactionReceipt({ hash: res.tx.hash }); + if (!client) { + return { success: false, failedReason: 'missing client' }; + } + + const receipt = await client.waitForTransactionReceipt({ hash: res.tx }); setWaitHeight(receipt.blockNumber, []); setLoading(false); diff --git a/src/api/contracts/gateway-registration/useUnregisterGateway.ts b/src/api/contracts/gateway-registration/useUnregisterGateway.ts index b6dfc94..bd1a83f 100644 --- a/src/api/contracts/gateway-registration/useUnregisterGateway.ts +++ b/src/api/contracts/gateway-registration/useUnregisterGateway.ts @@ -2,7 +2,7 @@ import { useState } from 'react'; import { logger } from '@logger'; import { encodeFunctionData } from 'viem'; -import { useContractWrite, usePublicClient, useWalletClient } from 'wagmi'; +import { useWriteContract, usePublicClient } from 'wagmi'; import { AccountType } from '@api/subsquid-network-squid'; import { BlockchainGateway } from '@api/subsquid-network-squid/gateways-graphql'; @@ -21,17 +21,20 @@ export interface UnregisterGatewayRequest { function useUnregisterGatewayFromWallet() { const contracts = useContracts(); - const { writeAsync } = useContractWrite({ - address: contracts.GATEWAY_REGISTRATION, - abi: GATEWAY_REGISTRATION_CONTRACT_ABI, - functionName: 'unregister', - }); + const { writeContractAsync } = useWriteContract(); return async ({ gateway }: UnregisterGatewayRequest): Promise => { logger.debug(`unregistering gateway via worker contract...`); try { - return { tx: await writeAsync({ args: [peerIdToHex(gateway.id)] }) }; + return { + tx: await writeContractAsync({ + address: contracts.GATEWAY_REGISTRATION, + abi: GATEWAY_REGISTRATION_CONTRACT_ABI, + functionName: 'unregister', + args: [peerIdToHex(gateway.id)], + }), + }; } catch (e: unknown) { return { error: errorMessage(e), @@ -42,9 +45,8 @@ function useUnregisterGatewayFromWallet() { function useUnregisterGatewayFromVestingContract() { const contracts = useContracts(); - const publicClient = usePublicClient(); - const { data: walletClient } = useWalletClient(); const { address: account } = useAccount(); + const { writeContractAsync } = useWriteContract(); return async ({ gateway }: UnregisterGatewayRequest): Promise => { try { @@ -54,21 +56,16 @@ function useUnregisterGatewayFromVestingContract() { args: [peerIdToHex(gateway.id)], }); - const { request } = await publicClient.simulateContract({ - account, - address: gateway.owner.id as `0x${string}`, - abi: VESTING_CONTRACT_ABI, - functionName: 'execute', - args: [contracts.GATEWAY_REGISTRATION, data], - }); - - const tx = await walletClient?.writeContract(request); - if (!tx) { - return { error: 'unknown error' }; - } - - return { tx: { hash: tx } }; - } catch (e: any) { + return { + tx: await writeContractAsync({ + account, + address: gateway.owner.id as `0x${string}`, + abi: VESTING_CONTRACT_ABI, + functionName: 'execute', + args: [contracts.GATEWAY_REGISTRATION, data], + }), + }; + } catch (e: unknown) { return { error: errorMessage(e) }; } }; @@ -99,7 +96,11 @@ export function useUnregisterGateway() { return { success: false, failedReason: error }; } - const receipt = await client.waitForTransactionReceipt({ hash: tx.hash }); + if (!client) { + return { success: false, failedReason: 'missing client' }; + } + + const receipt = await client.waitForTransactionReceipt({ hash: tx }); setWaitHeight(receipt.blockNumber, ['myGateways', { address }]); setLoading(false); setError(null); diff --git a/src/api/contracts/gateway-registration/useUnstakeGateway.ts b/src/api/contracts/gateway-registration/useUnstakeGateway.ts index 8fd69e1..e7e4fc6 100644 --- a/src/api/contracts/gateway-registration/useUnstakeGateway.ts +++ b/src/api/contracts/gateway-registration/useUnstakeGateway.ts @@ -1,7 +1,7 @@ import { useState } from 'react'; import { encodeFunctionData } from 'viem'; -import { useContractWrite, usePublicClient, useWalletClient } from 'wagmi'; +import { useWriteContract, usePublicClient } from 'wagmi'; import { AccountType } from '@api/subsquid-network-squid'; import { BlockchainGateway } from '@api/subsquid-network-squid/gateways-graphql'; @@ -20,16 +20,16 @@ type UnstakeGatewayRequest = { function useUnstakeFromWallet() { const contracts = useContracts(); - const { writeAsync } = useContractWrite({ - address: contracts.GATEWAY_REGISTRATION, - abi: GATEWAY_REGISTRATION_CONTRACT_ABI, - functionName: 'unstake', - }); + const { writeContractAsync } = useWriteContract({}); - return async (req: UnstakeGatewayRequest): Promise => { + return async ({}: UnstakeGatewayRequest): Promise => { try { return { - tx: await writeAsync({}), + tx: await writeContractAsync({ + address: contracts.GATEWAY_REGISTRATION, + abi: GATEWAY_REGISTRATION_CONTRACT_ABI, + functionName: 'unstake', + }), }; } catch (e) { return { error: errorMessage(e) }; @@ -39,9 +39,8 @@ function useUnstakeFromWallet() { function useUnstakeFromVestingContract() { const contracts = useContracts(); - const publicClient = usePublicClient(); - const { data: walletClient } = useWalletClient(); const { address: account } = useAccount(); + const { writeContractAsync } = useWriteContract({}); return async ({ gateway }: UnstakeGatewayRequest): Promise => { try { @@ -50,21 +49,16 @@ function useUnstakeFromVestingContract() { functionName: 'unstake', }); - const { request } = await publicClient.simulateContract({ - account, - address: gateway.owner.id as `0x${string}`, - abi: VESTING_CONTRACT_ABI, - functionName: 'execute', - args: [contracts.GATEWAY_REGISTRATION, data], - }); - - const tx = await walletClient?.writeContract(request); - if (!tx) { - return { error: 'unknown error' }; - } - - return { tx: { hash: tx } }; - } catch (e: any) { + return { + tx: await writeContractAsync({ + account, + address: gateway.owner.id as `0x${string}`, + abi: VESTING_CONTRACT_ABI, + functionName: 'execute', + args: [contracts.GATEWAY_REGISTRATION, data], + }), + }; + } catch (e: unknown) { return { error: errorMessage(e) }; } }; @@ -94,7 +88,11 @@ export function useUnstakeGateway() { return { success: false, failedReason: res.error }; } - const receipt = await client.waitForTransactionReceipt({ hash: res.tx.hash }); + if (!client) { + return { success: false, failedReason: 'missing client' }; + } + + const receipt = await client.waitForTransactionReceipt({ hash: res.tx }); setWaitHeight(receipt.blockNumber, []); setLoading(false); diff --git a/src/api/contracts/sqd.ts b/src/api/contracts/sqd.ts index dc24a00..b9ec96b 100644 --- a/src/api/contracts/sqd.ts +++ b/src/api/contracts/sqd.ts @@ -1,20 +1,18 @@ import { logger } from '@logger'; -import { WriteContractResult } from '@wagmi/core'; import Decimal from 'decimal.js'; -import { erc20ABI, useContractWrite, usePublicClient } from 'wagmi'; +import { erc20Abi } from 'viem'; +import { waitForTransactionReceipt } from 'viem/actions'; +import { useWriteContract, useClient } from 'wagmi'; +import { WriteContractData } from 'wagmi/query'; import { useContracts } from '@network/useContracts.ts'; import { errorMessage, WriteContractRes } from './utils'; export function useApproveSqd() { - const client = usePublicClient(); + const client = useClient(); const contracts = useContracts(); - const { writeAsync } = useContractWrite({ - address: contracts.SQD, - abi: erc20ABI, - functionName: 'approve', - }); + const { writeContractAsync } = useWriteContract({}); async function approve({ contractAddress, @@ -23,10 +21,13 @@ export function useApproveSqd() { contractAddress: `0x${string}`; amount: Decimal; }): Promise { - let tx: WriteContractResult; + let tx: WriteContractData; logger.debug(`approving SQD to ${contracts.WORKER_REGISTRATION}...`); try { - tx = await writeAsync({ + tx = await writeContractAsync({ + address: contracts.SQD, + abi: erc20Abi, + functionName: 'approve', args: [contractAddress, BigInt(amount.toFixed(0))], }); } catch (e) { @@ -40,9 +41,9 @@ export function useApproveSqd() { return { success: false, failedReason: 'unknown error' }; } - logger.debug(`waiting confirm of SQD approving tx ${tx.hash}`); - await client.waitForTransactionReceipt({ hash: tx.hash }); - logger.info(`SQD approved, tx ${tx.hash}, completed!`); + logger.debug(`waiting confirm of SQD approving tx ${tx}`); + await waitForTransactionReceipt(client!, { hash: tx }); + logger.info(`SQD approved, tx ${tx}, completed!`); return { success: true }; } diff --git a/src/api/contracts/staking.ts b/src/api/contracts/staking.ts index 62a1159..edfc828 100644 --- a/src/api/contracts/staking.ts +++ b/src/api/contracts/staking.ts @@ -3,7 +3,8 @@ import { useState } from 'react'; import { logger } from '@logger'; import Decimal from 'decimal.js'; import { encodeFunctionData } from 'viem'; -import { useContractWrite, usePublicClient, useWalletClient } from 'wagmi'; +import { waitForTransactionReceipt } from 'viem/actions'; +import { useWriteContract, usePublicClient, useClient } from 'wagmi'; import { useApproveSqd } from '@api/contracts/sqd'; import { @@ -28,17 +29,20 @@ type WorkerDepositRequest = { function useDelegateFromWallet() { const contracts = useContracts(); - const { writeAsync } = useContractWrite({ - address: contracts.STAKING, - abi: STAKING_CONTRACT_ABI, - functionName: 'deposit', - }); + const { writeContractAsync } = useWriteContract({}); const [approveSqd] = useApproveSqd(); const tryCallContract = async ({ worker, amount }: WorkerDepositRequest) => { try { - return { tx: await writeAsync({ args: [BigInt(worker.id), amount] }) }; + return { + tx: await writeContractAsync({ + address: contracts.STAKING, + abi: STAKING_CONTRACT_ABI, + functionName: 'deposit', + args: [BigInt(worker.id), amount], + }), + }; } catch (e) { return { error: errorMessage(e) }; } @@ -68,10 +72,9 @@ function useDelegateFromWallet() { } function useDepositFromVestingContract() { - const publicClient = usePublicClient(); const contracts = useContracts(); - const { data: walletClient } = useWalletClient(); const { address: account } = useAccount(); + const { writeContractAsync } = useWriteContract({}); return async ({ worker, amount, wallet }: WorkerDepositRequest): Promise => { try { @@ -81,28 +84,23 @@ function useDepositFromVestingContract() { args: [BigInt(worker.id), amount], }); - const { request } = await publicClient.simulateContract({ - account, - address: wallet.id as `0x${string}`, - abi: VESTING_CONTRACT_ABI, - functionName: 'execute', - args: [contracts.STAKING, data, amount], - }); - - const tx = await walletClient?.writeContract(request); - if (!tx) { - return { error: 'unknown error' }; - } - - return { tx: { hash: tx } }; - } catch (e: any) { + return { + tx: await writeContractAsync({ + account, + address: wallet.id as `0x${string}`, + abi: VESTING_CONTRACT_ABI, + functionName: 'execute', + args: [contracts.STAKING, data, amount], + }), + }; + } catch (e: unknown) { return { error: errorMessage(e) }; } }; } export function useWorkerDelegate() { - const client = usePublicClient(); + const client = useClient(); const { setWaitHeight } = useSquidNetworkHeightHooks(); const [isLoading, setLoading] = useState(false); const [error, setError] = useState(null); @@ -129,7 +127,7 @@ export function useWorkerDelegate() { return { success: false, failedReason: res.error }; } - const receipt = await client.waitForTransactionReceipt({ hash: res.tx.hash }); + const receipt = await waitForTransactionReceipt(client!, { hash: res.tx }); setWaitHeight(receipt.blockNumber, []); setLoading(false); @@ -146,15 +144,18 @@ export function useWorkerDelegate() { function useUndelegateFromWallet() { const contracts = useContracts(); - const { writeAsync } = useContractWrite({ - address: contracts.STAKING, - abi: STAKING_CONTRACT_ABI, - functionName: 'withdraw', - }); + const { writeContractAsync } = useWriteContract({}); return async ({ worker, amount }: WorkerDepositRequest): Promise => { try { - return { tx: await writeAsync({ args: [BigInt(worker.id), amount] }) }; + return { + tx: await writeContractAsync({ + address: contracts.STAKING, + abi: STAKING_CONTRACT_ABI, + functionName: 'withdraw', + args: [BigInt(worker.id), amount], + }), + }; } catch (e) { return { error: errorMessage(e) }; } @@ -163,9 +164,8 @@ function useUndelegateFromWallet() { function useUndelegateFromVestingContract() { const contracts = useContracts(); - const publicClient = usePublicClient(); - const { data: walletClient } = useWalletClient(); const { address: account } = useAccount(); + const { writeContractAsync } = useWriteContract({}); return async ({ worker, amount, wallet }: WorkerDepositRequest): Promise => { try { @@ -175,21 +175,16 @@ function useUndelegateFromVestingContract() { args: [BigInt(worker.id), amount], }); - const { request } = await publicClient.simulateContract({ - account, - address: wallet.id as `0x${string}`, - abi: VESTING_CONTRACT_ABI, - functionName: 'execute', - args: [contracts.STAKING, data, amount], - }); - - const tx = await walletClient?.writeContract(request); - if (!tx) { - return { error: 'unknown error' }; - } - - return { tx: { hash: tx } }; - } catch (e: any) { + return { + tx: await writeContractAsync({ + account, + address: wallet.id as `0x${string}`, + abi: VESTING_CONTRACT_ABI, + functionName: 'execute', + args: [contracts.STAKING, data, amount], + }), + }; + } catch (e: unknown) { return { error: errorMessage(e) }; } }; @@ -223,7 +218,7 @@ export function useWorkerUndelegate() { return { success: false, failedReason: res.error }; } - const receipt = await client.waitForTransactionReceipt({ hash: res.tx.hash }); + const receipt = await waitForTransactionReceipt(client!, { hash: res.tx }); setWaitHeight(receipt.blockNumber, []); setLoading(false); diff --git a/src/api/contracts/utils.ts b/src/api/contracts/utils.ts index 694f29e..d1f97e4 100644 --- a/src/api/contracts/utils.ts +++ b/src/api/contracts/utils.ts @@ -1,13 +1,13 @@ import { numberWithSpacesFormatter } from '@lib/formatters/formatters.ts'; -import { WriteContractResult } from '@wagmi/core'; import bs58 from 'bs58'; import Decimal from 'decimal.js'; import trimEnd from 'lodash-es/trimEnd'; import { BaseError as BaseViemError, formatUnits, parseUnits, toHex } from 'viem'; +import { WriteContractData } from 'wagmi/query'; import { SQD_DECIMALS } from './consts'; -export type TxResult = { tx: WriteContractResult; error?: never } | { error: string; tx?: never }; +export type TxResult = { tx: WriteContractData; error?: never } | { error: string; tx?: never }; export type WriteContractRes = | { success: true; failedReason?: never } diff --git a/src/api/contracts/vesting.ts b/src/api/contracts/vesting.ts index b6765c2..7b0256a 100644 --- a/src/api/contracts/vesting.ts +++ b/src/api/contracts/vesting.ts @@ -1,8 +1,9 @@ import { useState } from 'react'; import { chunk } from 'lodash-es'; -import { MulticallResult } from 'viem'; -import { erc20ABI, useContractReads, useContractWrite, usePublicClient } from 'wagmi'; +import { erc20Abi, MulticallResponse } from 'viem'; +import { waitForTransactionReceipt } from 'viem/actions'; +import { useReadContracts, useWriteContract, useClient } from 'wagmi'; import { useSquidNetworkHeightHooks } from '@hooks/useSquidNetworkHeightHooks'; import { useContracts } from '@network/useContracts'; @@ -14,7 +15,7 @@ export function useVestingContracts({ addresses }: { addresses?: `0x${string}`[] const contracts = useContracts(); const { currentHeight, isLoading: isHeightLoading } = useSquidNetworkHeightHooks(); - const { data, isLoading } = useContractReads({ + const { data, isRefetching, isLoading } = useReadContracts({ contracts: addresses?.flatMap(address => { const vestingContract = { abi: VESTING_CONTRACT_ABI, address } as const; return [ @@ -41,7 +42,7 @@ export function useVestingContracts({ addresses }: { addresses?: `0x${string}`[] args: [contracts.SQD], }, { - abi: erc20ABI, + abi: erc20Abi, address: contracts.SQD, functionName: 'balanceOf', args: [address], @@ -57,8 +58,10 @@ export function useVestingContracts({ addresses }: { addresses?: `0x${string}`[] ] as const; }), allowFailure: true, - enabled: !!addresses && !isHeightLoading, - blockNumber: currentHeight ? BigInt(currentHeight) : undefined, + // blockNumber: BigInt(currentHeight || 0), // FIXME: uncomment to keep read in sync with squid, now always `isLoading` on height change + query: { + enabled: !!addresses && !isHeightLoading, + }, }); return { @@ -74,7 +77,7 @@ export function useVestingContracts({ addresses }: { addresses?: `0x${string}`[] expectedTotal: unwrapResult(ch[7])?.toString(), })) : undefined, - isLoading, + isLoading: isLoading && !isRefetching, }; } @@ -87,31 +90,31 @@ export function useVestingContract({ address }: { address?: `0x${string}` }) { }; } -function unwrapResult(result?: MulticallResult): T | undefined { +function unwrapResult(result?: MulticallResponse): T | undefined { return result?.status === 'success' ? (result.result as T) : undefined; } -export function useVestingContractRelease({ address }: { address?: `0x${string}` }) { - const client = usePublicClient(); +export function useVestingContractRelease() { + const client = useClient(); const { setWaitHeight } = useSquidNetworkHeightHooks(); const [isLoading, setLoading] = useState(false); const [error, setError] = useState(null); const { SQD } = useContracts(); - const { writeAsync } = useContractWrite({ - abi: VESTING_CONTRACT_ABI, - functionName: 'release', - args: [SQD], - address, - }); + const { writeContractAsync } = useWriteContract({}); - const release = async (): Promise => { + const release = async ({ address }: { address: `0x${string}` }): Promise => { setLoading(true); try { - const tx = await writeAsync(); - - const receipt = await client.waitForTransactionReceipt(tx); + const hash = await writeContractAsync({ + abi: VESTING_CONTRACT_ABI, + functionName: 'release', + args: [SQD], + address, + }); + + const receipt = await waitForTransactionReceipt(client!, { hash }); setWaitHeight(receipt.blockNumber, []); return { success: true }; diff --git a/src/api/contracts/worker-registration/useRegisterWorker.ts b/src/api/contracts/worker-registration/useRegisterWorker.ts index 8833887..fa82358 100644 --- a/src/api/contracts/worker-registration/useRegisterWorker.ts +++ b/src/api/contracts/worker-registration/useRegisterWorker.ts @@ -3,7 +3,8 @@ import { useState } from 'react'; import { logger } from '@logger'; import Decimal from 'decimal.js'; import { encodeFunctionData } from 'viem'; -import { useContractWrite, usePublicClient, useWalletClient } from 'wagmi'; +import { waitForTransactionReceipt } from 'viem/actions'; +import { useWriteContract, usePublicClient, useClient } from 'wagmi'; import { useApproveSqd } from '@api/contracts/sqd'; import { @@ -32,18 +33,21 @@ function useRegisterFromWallet() { const publicClient = usePublicClient(); const [approveSqd] = useApproveSqd(); - const { writeAsync } = useContractWrite({ - address: contracts.WORKER_REGISTRATION, - abi: WORKER_REGISTRATION_CONTRACT_ABI, - functionName: 'register', - }); + const { writeContractAsync } = useWriteContract({}); const tryCallRegistrationContract = async ({ peerId, ...rest }: AddWorkerRequest): Promise => { try { - return { tx: await writeAsync({ args: [peerIdToHex(peerId), encodeWorkerMetadata(rest)] }) }; + return { + tx: await writeContractAsync({ + address: contracts.WORKER_REGISTRATION, + abi: WORKER_REGISTRATION_CONTRACT_ABI, + functionName: 'register', + args: [peerIdToHex(peerId), encodeWorkerMetadata(rest)], + }), + }; } catch (e: unknown) { return { error: errorMessage(e), @@ -57,7 +61,7 @@ function useRegisterFromWallet() { const res = await tryCallRegistrationContract(req); // Try to approve SQD if (isApproveRequiredError(res.error)) { - const bond = await publicClient.readContract({ + const bond = await publicClient!.readContract({ address: contracts.WORKER_REGISTRATION, abi: WORKER_REGISTRATION_CONTRACT_ABI, functionName: 'bondAmount', @@ -83,12 +87,12 @@ function useRegisterFromWallet() { function useRegisterWorkerFromVestingContract() { const contracts = useContracts(); const publicClient = usePublicClient(); - const { data: walletClient } = useWalletClient(); const { address: account } = useAccount(); + const { writeContractAsync } = useWriteContract({}); return async ({ peerId, source, ...rest }: AddWorkerRequest): Promise => { try { - const bond = await publicClient.readContract({ + const bond = await publicClient!.readContract({ address: contracts.WORKER_REGISTRATION, abi: WORKER_REGISTRATION_CONTRACT_ABI, functionName: 'bondAmount', @@ -100,28 +104,23 @@ function useRegisterWorkerFromVestingContract() { args: [peerIdToHex(peerId), encodeWorkerMetadata(rest)], }); - const { request } = await publicClient.simulateContract({ - account, - address: source.id as `0x${string}`, - abi: VESTING_CONTRACT_ABI, - functionName: 'execute', - args: [contracts.WORKER_REGISTRATION, data, bond], - }); - - const tx = await walletClient?.writeContract(request); - if (!tx) { - return { error: 'unknown error' }; - } - - return { tx: { hash: tx } }; - } catch (e: any) { + return { + tx: await writeContractAsync({ + account, + address: source.id as `0x${string}`, + abi: VESTING_CONTRACT_ABI, + functionName: 'execute', + args: [contracts.WORKER_REGISTRATION, data, bond], + }), + }; + } catch (e: unknown) { return { error: errorMessage(e) }; } }; } export function useRegisterWorker() { - const client = usePublicClient(); + const client = useClient(); const { address } = useAccount(); const [error, setError] = useState(null); const [isLoading, setLoading] = useState(false); @@ -145,7 +144,7 @@ export function useRegisterWorker() { return { success: false, failedReason: error }; } - const receipt = await client.waitForTransactionReceipt({ hash: tx.hash }); + const receipt = await waitForTransactionReceipt(client!, { hash: tx }); setWaitHeight(receipt.blockNumber, ['myWorkers', { address }]); setLoading(false); setError(null); diff --git a/src/api/contracts/worker-registration/useUnregisterWorker.ts b/src/api/contracts/worker-registration/useUnregisterWorker.ts index ca05f9c..7471b48 100644 --- a/src/api/contracts/worker-registration/useUnregisterWorker.ts +++ b/src/api/contracts/worker-registration/useUnregisterWorker.ts @@ -2,7 +2,8 @@ import { useState } from 'react'; import { logger } from '@logger'; import { encodeFunctionData } from 'viem'; -import { useContractWrite, usePublicClient, useWalletClient } from 'wagmi'; +import { waitForTransactionReceipt } from 'viem/actions'; +import { useWriteContract, useClient } from 'wagmi'; import { VESTING_CONTRACT_ABI } from '@api/contracts/vesting.abi'; import { AccountType } from '@api/subsquid-network-squid'; @@ -24,16 +25,15 @@ export interface UnregisterWorkerRequest { function useUnregisterWorkerFromWallet() { const contracts = useContracts(); - const { writeAsync } = useContractWrite({ - address: contracts.WORKER_REGISTRATION, - abi: WORKER_REGISTRATION_CONTRACT_ABI, - functionName: 'deregister', - }); + const { writeContractAsync } = useWriteContract({}); return async ({ peerId }: { peerId: string }): Promise => { try { return { - tx: await writeAsync({ + tx: await writeContractAsync({ + address: contracts.WORKER_REGISTRATION, + abi: WORKER_REGISTRATION_CONTRACT_ABI, + functionName: 'deregister', args: [peerIdToHex(peerId)], }), }; @@ -45,9 +45,8 @@ function useUnregisterWorkerFromWallet() { function useUnregisterWorkerFromVestingContract() { const contracts = useContracts(); - const publicClient = usePublicClient(); - const { data: walletClient } = useWalletClient(); const { address: account } = useAccount(); + const { writeContractAsync } = useWriteContract({}); return async ({ peerId, source }: UnregisterWorkerRequest): Promise => { try { @@ -57,28 +56,23 @@ function useUnregisterWorkerFromVestingContract() { args: [peerIdToHex(peerId)], }); - const { request } = await publicClient.simulateContract({ - account, - address: source.id as `0x${string}`, - abi: VESTING_CONTRACT_ABI, - functionName: 'execute', - args: [contracts.WORKER_REGISTRATION, data], - }); - - const tx = await walletClient?.writeContract(request); - if (!tx) { - return { error: 'unknown error' }; - } - - return { tx: { hash: tx } }; - } catch (e: any) { + return { + tx: await writeContractAsync({ + account, + address: source.id as `0x${string}`, + abi: VESTING_CONTRACT_ABI, + functionName: 'execute', + args: [contracts.WORKER_REGISTRATION, data], + }), + }; + } catch (e: unknown) { return { error: errorMessage(e) }; } }; } export function useUnregisterWorker() { - const publicClient = usePublicClient(); + const client = useClient(); const { address } = useAccount(); const [isLoading, setLoading] = useState(false); const { setWaitHeight } = useSquidNetworkHeightHooks(); @@ -102,7 +96,7 @@ export function useUnregisterWorker() { return { success: false, failedReason: error }; } - const receipt = await publicClient.waitForTransactionReceipt({ hash: tx.hash }); + const receipt = await waitForTransactionReceipt(client!, { hash: tx }); setWaitHeight(receipt.blockNumber, ['myWorkers', { address }]); setLoading(false); setError(null); diff --git a/src/api/contracts/worker-registration/useUpdateWorker.ts b/src/api/contracts/worker-registration/useUpdateWorker.ts index ee277e6..10d9896 100644 --- a/src/api/contracts/worker-registration/useUpdateWorker.ts +++ b/src/api/contracts/worker-registration/useUpdateWorker.ts @@ -2,7 +2,8 @@ import { useState } from 'react'; import { logger } from '@logger'; import { encodeFunctionData } from 'viem'; -import { useContractWrite, usePublicClient, useWalletClient } from 'wagmi'; +import { waitForTransactionReceipt } from 'viem/actions'; +import { useWriteContract, useClient } from 'wagmi'; import { AccountType } from '@api/subsquid-network-squid'; import { useSquidNetworkHeightHooks } from '@hooks/useSquidNetworkHeightHooks.ts'; @@ -25,16 +26,15 @@ export interface UpdateWorkerRequest extends WorkerMetadata { function useUpdateWorkerFromWallet() { const contracts = useContracts(); - const { writeAsync } = useContractWrite({ - address: contracts.WORKER_REGISTRATION, - abi: WORKER_REGISTRATION_CONTRACT_ABI, - functionName: 'updateMetadata', - }); + const { writeContractAsync } = useWriteContract({}); return async ({ peerId, ...rest }: UpdateWorkerRequest): Promise => { try { return { - tx: await writeAsync({ + tx: await writeContractAsync({ + address: contracts.WORKER_REGISTRATION, + abi: WORKER_REGISTRATION_CONTRACT_ABI, + functionName: 'updateMetadata', args: [peerIdToHex(peerId), encodeWorkerMetadata(rest)], }), }; @@ -46,9 +46,8 @@ function useUpdateWorkerFromWallet() { function useUpdateWorkerFromVestingContract() { const contracts = useContracts(); - const publicClient = usePublicClient(); - const { data: walletClient } = useWalletClient(); const { address: account } = useAccount(); + const { writeContractAsync } = useWriteContract({}); return async ({ peerId, source, ...rest }: UpdateWorkerRequest): Promise => { try { @@ -58,28 +57,23 @@ function useUpdateWorkerFromVestingContract() { args: [peerIdToHex(peerId), encodeWorkerMetadata(rest)], }); - const { request } = await publicClient.simulateContract({ - account, - address: source.id as `0x${string}`, - abi: VESTING_CONTRACT_ABI, - functionName: 'execute', - args: [contracts.WORKER_REGISTRATION, data], - }); - - const tx = await walletClient?.writeContract(request); - if (!tx) { - return { error: 'unknown error' }; - } - - return { tx: { hash: tx } }; - } catch (e: any) { + return { + tx: await writeContractAsync({ + account, + address: source.id as `0x${string}`, + abi: VESTING_CONTRACT_ABI, + functionName: 'execute', + args: [contracts.WORKER_REGISTRATION, data], + }), + }; + } catch (e: unknown) { return { error: errorMessage(e) }; } }; } export function useUpdateWorker() { - const client = usePublicClient(); + const client = useClient(); const { address } = useAccount(); const [error, setError] = useState(null); const [isLoading, setLoading] = useState(false); @@ -103,7 +97,7 @@ export function useUpdateWorker() { return { success: false, failedReason: error }; } - const receipt = await client.waitForTransactionReceipt({ hash: tx.hash }); + const receipt = await waitForTransactionReceipt(client!, { hash: tx }); setWaitHeight(receipt.blockNumber, ['myWorkers', { address }]); setLoading(false); setError(null); diff --git a/src/api/contracts/worker-registration/useWithdrawWorker.ts b/src/api/contracts/worker-registration/useWithdrawWorker.ts index 4a279ba..16a4457 100644 --- a/src/api/contracts/worker-registration/useWithdrawWorker.ts +++ b/src/api/contracts/worker-registration/useWithdrawWorker.ts @@ -2,7 +2,8 @@ import { useState } from 'react'; import { logger } from '@logger'; import { encodeFunctionData } from 'viem'; -import { useContractWrite, usePublicClient, useWalletClient } from 'wagmi'; +import { waitForTransactionReceipt } from 'viem/actions'; +import { useWriteContract, useClient } from 'wagmi'; import { errorMessage, peerIdToHex, TxResult, WriteContractRes } from '@api/contracts/utils'; import { VESTING_CONTRACT_ABI } from '@api/contracts/vesting.abi'; @@ -16,16 +17,15 @@ import { WORKER_REGISTRATION_CONTRACT_ABI } from './WorkerRegistration.abi'; function useWithdrawWorkerFromWallet() { const contracts = useContracts(); - const { writeAsync } = useContractWrite({ - address: contracts.WORKER_REGISTRATION, - abi: WORKER_REGISTRATION_CONTRACT_ABI, - functionName: 'withdraw', - }); + const { writeContractAsync } = useWriteContract({}); return async ({ peerId }: { peerId: string }): Promise => { try { return { - tx: await writeAsync({ + tx: await writeContractAsync({ + address: contracts.WORKER_REGISTRATION, + abi: WORKER_REGISTRATION_CONTRACT_ABI, + functionName: 'withdraw', args: [peerIdToHex(peerId)], }), }; @@ -37,9 +37,8 @@ function useWithdrawWorkerFromWallet() { function useWithdrawWorkerFromVestingContract() { const contracts = useContracts(); - const publicClient = usePublicClient(); - const { data: walletClient } = useWalletClient(); const { address: account } = useAccount(); + const { writeContractAsync } = useWriteContract({}); return async ({ peerId, source }: UnregisterWorkerRequest): Promise => { try { @@ -49,28 +48,23 @@ function useWithdrawWorkerFromVestingContract() { args: [peerIdToHex(peerId)], }); - const { request } = await publicClient.simulateContract({ - account, - address: source.id as `0x${string}`, - abi: VESTING_CONTRACT_ABI, - functionName: 'execute', - args: [contracts.WORKER_REGISTRATION, data], - }); - - const tx = await walletClient?.writeContract(request); - if (!tx) { - return { error: 'unknown error' }; - } - - return { tx: { hash: tx } }; - } catch (e: any) { + return { + tx: await writeContractAsync({ + account, + address: source.id as `0x${string}`, + abi: VESTING_CONTRACT_ABI, + functionName: 'execute', + args: [contracts.WORKER_REGISTRATION, data], + }), + }; + } catch (e: unknown) { return { error: errorMessage(e) }; } }; } export function useWithdrawWorker() { - const publicClient = usePublicClient(); + const client = useClient(); const { address } = useAccount(); const [isLoading, setLoading] = useState(false); const { setWaitHeight } = useSquidNetworkHeightHooks(); @@ -94,7 +88,7 @@ export function useWithdrawWorker() { return { success: false, failedReason: error }; } - const receipt = await publicClient.waitForTransactionReceipt({ hash: tx.hash }); + const receipt = await waitForTransactionReceipt(client!, { hash: tx }); setWaitHeight(receipt.blockNumber, ['myWorkers', { address }]); setLoading(false); setError(null); diff --git a/src/network/config.ts b/src/network/config.ts index 267b300..b1799eb 100644 --- a/src/network/config.ts +++ b/src/network/config.ts @@ -1,9 +1,5 @@ -import { connectorsForWallets } from '@rainbow-me/rainbowkit'; -import { metaMaskWallet, walletConnectWallet } from '@rainbow-me/rainbowkit/wallets'; -import { configureChains, createConfig } from 'wagmi'; +import { getDefaultConfig } from '@rainbow-me/rainbowkit'; import { arbitrumSepolia, arbitrum } from 'wagmi/chains'; -import { jsonRpcProvider } from 'wagmi/providers/jsonRpc'; -import { publicProvider } from 'wagmi/providers/public'; // export let CHAIN: Chain = arbitrumSepolia; // if (process.env.NETWORK === 'hardhat') { @@ -17,46 +13,8 @@ import { publicProvider } from 'wagmi/providers/public'; // }; // } -const privateNode = process.env.BLOCK_CHAIN_NODE_ADDRESS; - -const { - chains: configuredChains, - publicClient, - webSocketPublicClient, -} = configureChains( - [arbitrumSepolia, arbitrum], - [ - privateNode - ? jsonRpcProvider({ - rpc: () => ({ - http: privateNode, - }), - }) - : publicProvider(), - ], -); - -const connectors = connectorsForWallets([ - { - groupName: 'Recommended', - wallets: [ - walletConnectWallet({ - projectId: process.env.WALLET_CONNECT_PROJECT_ID || '', - chains: configuredChains, - }), - metaMaskWallet({ - projectId: process.env.WALLET_CONNECT_PROJECT_ID || '', - chains: configuredChains, - }), - ], - }, -]); - -export const wagmiConfig = createConfig({ - autoConnect: true, - publicClient, - connectors, - webSocketPublicClient, +export const wagmiConfig = getDefaultConfig({ + appName: 'Subsquid Network', + projectId: process.env.WALLET_CONNECT_PROJECT_ID || '', + chains: [arbitrumSepolia, arbitrum], }); - -export const chains = configuredChains; diff --git a/src/network/useSubsquidNetwork.ts b/src/network/useSubsquidNetwork.ts index f8c2193..088148c 100644 --- a/src/network/useSubsquidNetwork.ts +++ b/src/network/useSubsquidNetwork.ts @@ -2,7 +2,7 @@ import { useCallback, useEffect } from 'react'; import { useQueryClient } from '@tanstack/react-query'; import useLocalStorageState from 'use-local-storage-state'; -import { useWalletClient, useAccount, useNetwork, useDisconnect, useSwitchNetwork } from 'wagmi'; +import { useWalletClient, useAccount, useDisconnect, useSwitchChain } from 'wagmi'; import { arbitrum, arbitrumSepolia } from 'wagmi/chains'; import { localStorageStringSerializer } from '@hooks/useLocalStorageState.ts'; @@ -21,9 +21,8 @@ function validate(app: NetworkName): NetworkName { export function useSubsquidNetwork() { const queryClient = useQueryClient(); const walletClient = useWalletClient(); - const { switchNetworkAsync } = useSwitchNetwork({ throwForSwitchChainNotSupported: true }); - const account = useAccount(); - const { chain } = useNetwork(); + const { switchChainAsync } = useSwitchChain(); + const { isConnected, chain } = useAccount(); const { disconnect } = useDisconnect(); const [app, setApp] = useLocalStorageState('network', { serializer: localStorageStringSerializer, @@ -40,9 +39,9 @@ export function useSubsquidNetwork() { ); const switchAndReset = async (network: NetworkName) => { - if (account.isConnected) { + if (isConnected) { try { - await switchNetworkAsync?.(getChainId(network)); + await switchChainAsync?.({ chainId: getChainId(network) }); } catch (e: unknown) { if (e instanceof Error) { if (e.message.toLowerCase().includes('user rejected the request')) return; @@ -58,16 +57,16 @@ export function useSubsquidNetwork() { }; useEffect(() => { - if (!account.isConnected || walletClient.isLoading) return; + if (!isConnected || walletClient.isLoading) return; if (chain?.id === getChainId(app)) return; - if (chain && !chain.unsupported) { + if (chain) { changeApp(getNetworkName(chain.id)); return; } disconnect(); - }, [account, app, chain, disconnect, walletClient, changeApp]); + }, [isConnected, chain, app, disconnect, walletClient, changeApp]); return { network: validate(app), switchAndReset }; } diff --git a/yarn.lock b/yarn.lock index d6cfbab..20fda59 100644 --- a/yarn.lock +++ b/yarn.lock @@ -702,7 +702,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.17.2, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.6, @babel/runtime@npm:^7.23.4, @babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7": +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.6, @babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7": version: 7.24.1 resolution: "@babel/runtime@npm:7.24.1" dependencies: @@ -711,6 +711,15 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.19.4, @babel/runtime@npm:^7.21.0": + version: 7.24.5 + resolution: "@babel/runtime@npm:7.24.5" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 10c0/05730e43e8ba6550eae9fd4fb5e7d9d3cb91140379425abcb2a1ff9cebad518a280d82c4c4b0f57ada26a863106ac54a748d90c775790c0e2cd0ddd85ccdf346 + languageName: node + linkType: hard + "@babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7, @babel/template@npm:^7.22.15, @babel/template@npm:^7.24.0": version: 7.24.0 resolution: "@babel/template@npm:7.24.0" @@ -751,28 +760,34 @@ __metadata: languageName: node linkType: hard -"@coinbase/wallet-sdk@npm:^3.6.6": - version: 3.7.2 - resolution: "@coinbase/wallet-sdk@npm:3.7.2" +"@coinbase/wallet-sdk@npm:3.9.3, cbw-sdk@npm:@coinbase/wallet-sdk@3.9.3": + version: 3.9.3 + resolution: "@coinbase/wallet-sdk@npm:3.9.3" dependencies: - "@metamask/safe-event-emitter": "npm:2.0.0" - "@solana/web3.js": "npm:^1.70.1" - bind-decorator: "npm:^1.0.11" - bn.js: "npm:^5.1.1" + bn.js: "npm:^5.2.1" buffer: "npm:^6.0.3" - clsx: "npm:^1.1.0" - eth-block-tracker: "npm:6.1.0" - eth-json-rpc-filters: "npm:5.1.0" - eth-rpc-errors: "npm:4.0.2" - json-rpc-engine: "npm:6.1.0" - keccak: "npm:^3.0.1" - preact: "npm:^10.5.9" - qs: "npm:^6.10.3" - rxjs: "npm:^6.6.3" + clsx: "npm:^1.2.1" + eth-block-tracker: "npm:^7.1.0" + eth-json-rpc-filters: "npm:^6.0.0" + eventemitter3: "npm:^5.0.1" + keccak: "npm:^3.0.3" + preact: "npm:^10.16.0" sha.js: "npm:^2.4.11" - stream-browserify: "npm:^3.0.0" - util: "npm:^0.12.4" - checksum: 10c0/0b76bc5b032e2ae39ba8f6e2c758c77c9cb366675822a50ab89d0d176e9b654b1a65a7f1363f9272fd04c8e01a01ad78523b8cac0ca95ef8f6e9a781e3fb20b6 + checksum: 10c0/a34b7f3e84f1d12f8235d57b3fd2e06d04e9ad9d999944b43bf0a3b0e79bc1cff336e9097f4555f85e7085ac7a1be2907732cda6a79cad1b60521d996f390b99 + languageName: node + linkType: hard + +"@coinbase/wallet-sdk@npm:4.0.0": + version: 4.0.0 + resolution: "@coinbase/wallet-sdk@npm:4.0.0" + dependencies: + buffer: "npm:^6.0.3" + clsx: "npm:^1.2.1" + eventemitter3: "npm:^5.0.1" + keccak: "npm:^3.0.3" + preact: "npm:^10.16.0" + sha.js: "npm:^2.4.11" + checksum: 10c0/937ce2329614134ac4b822757efbea37bba2fc35afc2fdcb6b1547f13a9d7f558bc88cbaf2b90a637a91e9a8f4abc803a0052e574ef6ed539b7f4ed2b5870df1 languageName: node linkType: hard @@ -1125,6 +1140,48 @@ __metadata: languageName: node linkType: hard +"@ethereumjs/common@npm:^3.2.0": + version: 3.2.0 + resolution: "@ethereumjs/common@npm:3.2.0" + dependencies: + "@ethereumjs/util": "npm:^8.1.0" + crc-32: "npm:^1.2.0" + checksum: 10c0/4e2256eb54cc544299f4d7ebc9daab7a3613c174de3981ea5ed84bd10c41a03d013d15b1abad292da62fd0c4b8ce5b220a258a25861ccffa32f2cc9a8a4b25d8 + languageName: node + linkType: hard + +"@ethereumjs/rlp@npm:^4.0.1": + version: 4.0.1 + resolution: "@ethereumjs/rlp@npm:4.0.1" + bin: + rlp: bin/rlp + checksum: 10c0/78379f288e9d88c584c2159c725c4a667a9742981d638bad760ed908263e0e36bdbd822c0a902003e0701195fd1cbde7adad621cd97fdfbf552c45e835ce022c + languageName: node + linkType: hard + +"@ethereumjs/tx@npm:^4.1.2, @ethereumjs/tx@npm:^4.2.0": + version: 4.2.0 + resolution: "@ethereumjs/tx@npm:4.2.0" + dependencies: + "@ethereumjs/common": "npm:^3.2.0" + "@ethereumjs/rlp": "npm:^4.0.1" + "@ethereumjs/util": "npm:^8.1.0" + ethereum-cryptography: "npm:^2.0.0" + checksum: 10c0/f168303edf5970673db06d2469a899632c64ba0cd5d24480e97683bd0e19cc22a7b0a7bc7db3a49760f09826d4c77bed89b65d65252daf54857dd3d97324fb9a + languageName: node + linkType: hard + +"@ethereumjs/util@npm:^8.1.0": + version: 8.1.0 + resolution: "@ethereumjs/util@npm:8.1.0" + dependencies: + "@ethereumjs/rlp": "npm:^4.0.1" + ethereum-cryptography: "npm:^2.0.0" + micro-ftch: "npm:^0.3.1" + checksum: 10c0/4e6e0449236f66b53782bab3b387108f0ddc050835bfe1381c67a7c038fea27cb85ab38851d98b700957022f0acb6e455ca0c634249cfcce1a116bad76500160 + languageName: node + linkType: hard + "@floating-ui/core@npm:^1.0.0": version: 1.6.0 resolution: "@floating-ui/core@npm:1.6.0" @@ -2004,22 +2061,209 @@ __metadata: languageName: node linkType: hard -"@metamask/safe-event-emitter@npm:2.0.0, @metamask/safe-event-emitter@npm:^2.0.0": +"@metamask/eth-json-rpc-provider@npm:^1.0.0": + version: 1.0.1 + resolution: "@metamask/eth-json-rpc-provider@npm:1.0.1" + dependencies: + "@metamask/json-rpc-engine": "npm:^7.0.0" + "@metamask/safe-event-emitter": "npm:^3.0.0" + "@metamask/utils": "npm:^5.0.1" + checksum: 10c0/842f999d7a1c49b625fd863b453d076f393ac9090a1b9c7531aa24ec033e7e844c98a1c433ac02f4e66a62262d68c0d37c218dc724123da4eea1abcc12a63492 + languageName: node + linkType: hard + +"@metamask/json-rpc-engine@npm:^7.0.0, @metamask/json-rpc-engine@npm:^7.3.2": + version: 7.3.3 + resolution: "@metamask/json-rpc-engine@npm:7.3.3" + dependencies: + "@metamask/rpc-errors": "npm:^6.2.1" + "@metamask/safe-event-emitter": "npm:^3.0.0" + "@metamask/utils": "npm:^8.3.0" + checksum: 10c0/6c3b55de01593bc841de1bf4daac46cc307ed7c3b759fec12cbda582527962bb0d909b024e6c56251c0644379634cec24f3d37cbf3443430e148078db9baece1 + languageName: node + linkType: hard + +"@metamask/json-rpc-middleware-stream@npm:^6.0.2": + version: 6.0.2 + resolution: "@metamask/json-rpc-middleware-stream@npm:6.0.2" + dependencies: + "@metamask/json-rpc-engine": "npm:^7.3.2" + "@metamask/safe-event-emitter": "npm:^3.0.0" + "@metamask/utils": "npm:^8.3.0" + readable-stream: "npm:^3.6.2" + checksum: 10c0/a91b8d834253a1700d96cf0f08d2362e2db58365f751cb3e60b3c5e9422a1f443a8a515d5a653ced59535726717d0f827c1aaf2a33dd33efb96a05f653bb0915 + languageName: node + linkType: hard + +"@metamask/object-multiplex@npm:^2.0.0": + version: 2.0.0 + resolution: "@metamask/object-multiplex@npm:2.0.0" + dependencies: + once: "npm:^1.4.0" + readable-stream: "npm:^3.6.2" + checksum: 10c0/14786b8ec0668ff638ab5cb972d4141a70533452ec18f607f9002acddf547ab4548754948e0298978650f2f3be954d86882d9b0f6b134e0af2c522398594e499 + languageName: node + linkType: hard + +"@metamask/onboarding@npm:^1.0.1": + version: 1.0.1 + resolution: "@metamask/onboarding@npm:1.0.1" + dependencies: + bowser: "npm:^2.9.0" + checksum: 10c0/7a95eb47749217878a9e964c169a479a7532892d723eaade86c2e638e5ea5a54c697e0bbf68ab4f06dff5770639b9937da3375a3e8f958eae3f8da69f24031ed + languageName: node + linkType: hard + +"@metamask/providers@npm:^15.0.0": + version: 15.0.0 + resolution: "@metamask/providers@npm:15.0.0" + dependencies: + "@metamask/json-rpc-engine": "npm:^7.3.2" + "@metamask/json-rpc-middleware-stream": "npm:^6.0.2" + "@metamask/object-multiplex": "npm:^2.0.0" + "@metamask/rpc-errors": "npm:^6.2.1" + "@metamask/safe-event-emitter": "npm:^3.0.0" + "@metamask/utils": "npm:^8.3.0" + detect-browser: "npm:^5.2.0" + extension-port-stream: "npm:^3.0.0" + fast-deep-equal: "npm:^3.1.3" + is-stream: "npm:^2.0.0" + readable-stream: "npm:^3.6.2" + webextension-polyfill: "npm:^0.10.0" + checksum: 10c0/c079cb8440f7cbd8ba863070a8c5c1ada4ad99e31694ec7b0c537b1cb11e66f9d4271e737633ce89f98248208ba076bfc90ddab94ce0299178fdab9a8489fb09 + languageName: node + linkType: hard + +"@metamask/rpc-errors@npm:^6.2.1": + version: 6.2.1 + resolution: "@metamask/rpc-errors@npm:6.2.1" + dependencies: + "@metamask/utils": "npm:^8.3.0" + fast-safe-stringify: "npm:^2.0.6" + checksum: 10c0/512a312fa9962dbb0d0e165ffb17a1e65ade51148f8fd360846a7629269d35425388c4e08a8521177a412e8c2161cd04f8673959d65f4c5e1bb3ef258993b848 + languageName: node + linkType: hard + +"@metamask/safe-event-emitter@npm:^2.0.0": version: 2.0.0 resolution: "@metamask/safe-event-emitter@npm:2.0.0" checksum: 10c0/a86b91f909834dc14de7eadd38b22d4975f6529001d265cd0f5c894351f69f39447f1ef41b690b9849c86dd2a25a39515ef5f316545d36aea7b3fc50ee930933 languageName: node linkType: hard -"@metamask/utils@npm:^3.0.1": - version: 3.6.0 - resolution: "@metamask/utils@npm:3.6.0" +"@metamask/safe-event-emitter@npm:^3.0.0": + version: 3.1.1 + resolution: "@metamask/safe-event-emitter@npm:3.1.1" + checksum: 10c0/4dd51651fa69adf65952449b20410acac7edad06f176dc6f0a5d449207527a2e85d5a21a864566e3d8446fb259f8840bd69fdb65932007a882f771f473a2b682 + languageName: node + linkType: hard + +"@metamask/sdk-communication-layer@npm:0.20.2": + version: 0.20.2 + resolution: "@metamask/sdk-communication-layer@npm:0.20.2" + dependencies: + bufferutil: "npm:^4.0.8" + date-fns: "npm:^2.29.3" + debug: "npm:^4.3.4" + utf-8-validate: "npm:^6.0.3" + uuid: "npm:^8.3.2" + peerDependencies: + cross-fetch: ^3.1.5 + eciesjs: ^0.3.16 + eventemitter2: ^6.4.7 + readable-stream: ^3.6.2 + socket.io-client: ^4.5.1 + checksum: 10c0/d33e3b6958e889892f378a8d1e3eab9faded2e71f1f5d8eae9ba4f04dc5d196a7ce049b61ace31a7bd545222be8dd23733e09501ee1556d5178d3d1595ad5dca + languageName: node + linkType: hard + +"@metamask/sdk-install-modal-web@npm:0.20.2": + version: 0.20.2 + resolution: "@metamask/sdk-install-modal-web@npm:0.20.2" + dependencies: + qr-code-styling: "npm:^1.6.0-rc.1" + peerDependencies: + i18next: 22.5.1 + react: ^18.2.0 + react-dom: ^18.2.0 + react-i18next: ^13.2.2 + react-native: "*" + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + react-native: + optional: true + checksum: 10c0/6f9fc8182871623ef808e5e4a4ed838441b3944719bb27ad05704d89f3a1d3da8333bfc56e613eb3c26ca3a357e2188173ea26d596f79906aa0c564ce0c37a46 + languageName: node + linkType: hard + +"@metamask/sdk@npm:0.20.3": + version: 0.20.3 + resolution: "@metamask/sdk@npm:0.20.3" dependencies: + "@metamask/onboarding": "npm:^1.0.1" + "@metamask/providers": "npm:^15.0.0" + "@metamask/sdk-communication-layer": "npm:0.20.2" + "@metamask/sdk-install-modal-web": "npm:0.20.2" + "@types/dom-screen-wake-lock": "npm:^1.0.0" + bowser: "npm:^2.9.0" + cross-fetch: "npm:^4.0.0" + debug: "npm:^4.3.4" + eciesjs: "npm:^0.3.15" + eth-rpc-errors: "npm:^4.0.3" + eventemitter2: "npm:^6.4.7" + i18next: "npm:22.5.1" + i18next-browser-languagedetector: "npm:7.1.0" + obj-multiplex: "npm:^1.0.0" + pump: "npm:^3.0.0" + qrcode-terminal-nooctal: "npm:^0.12.1" + react-native-webview: "npm:^11.26.0" + readable-stream: "npm:^3.6.2" + rollup-plugin-visualizer: "npm:^5.9.2" + socket.io-client: "npm:^4.5.1" + util: "npm:^0.12.4" + uuid: "npm:^8.3.2" + peerDependencies: + react: ^18.2.0 + react-dom: ^18.2.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: 10c0/4f0d80e373507f28029d0f87017887d520f0e7881d6a38e269221009c11b7a8cdfb5cff8c8e123ad3be630e9e8904147d2d7ee7ef4a8b9e2bd11b221dd26c89b + languageName: node + linkType: hard + +"@metamask/utils@npm:^5.0.1": + version: 5.0.2 + resolution: "@metamask/utils@npm:5.0.2" + dependencies: + "@ethereumjs/tx": "npm:^4.1.2" "@types/debug": "npm:^4.1.7" debug: "npm:^4.3.4" semver: "npm:^7.3.8" superstruct: "npm:^1.0.3" - checksum: 10c0/4efcdb04d65dabada1c6918a76a2b7ee226bea309a351670d46737e58bf8d9fb17dfe1b707eaee69f865ccc237dcd6df75b487ccdbe6dd77de52c4cd9ee08cf8 + checksum: 10c0/fa82d856362c3da9fa80262ffde776eeafb0e6f23c7e6d6401f824513a8b2641aa115c2eaae61c391950cdf4a56c57a10082c73a00a1840f8159d709380c4809 + languageName: node + linkType: hard + +"@metamask/utils@npm:^8.3.0": + version: 8.4.0 + resolution: "@metamask/utils@npm:8.4.0" + dependencies: + "@ethereumjs/tx": "npm:^4.2.0" + "@noble/hashes": "npm:^1.3.1" + "@scure/base": "npm:^1.1.3" + "@types/debug": "npm:^4.1.7" + debug: "npm:^4.3.4" + pony-cause: "npm:^2.1.10" + semver: "npm:^7.5.4" + superstruct: "npm:^1.0.3" + uuid: "npm:^9.0.1" + checksum: 10c0/4d45b6972fac10837e19f7cc9439bf016eef05c115f756f49ec696663c8bccc601da0a4b38aee66f1cc6a2d8795ce3879512e8d5142717f9fbd45c400d6500de languageName: node linkType: hard @@ -2320,12 +2564,12 @@ __metadata: languageName: node linkType: hard -"@noble/curves@npm:^1.2.0": - version: 1.4.0 - resolution: "@noble/curves@npm:1.4.0" +"@noble/curves@npm:1.3.0, @noble/curves@npm:~1.3.0": + version: 1.3.0 + resolution: "@noble/curves@npm:1.3.0" dependencies: - "@noble/hashes": "npm:1.4.0" - checksum: 10c0/31fbc370df91bcc5a920ca3f2ce69c8cf26dc94775a36124ed8a5a3faf0453badafd2ee4337061ffea1b43c623a90ee8b286a5a81604aaf9563bdad7ff795d18 + "@noble/hashes": "npm:1.3.3" + checksum: 10c0/704bf8fda8e1365a9bb9e9945bd06645ef4ce85aa2fac5594abe09f19889197518152319481b89a271e0ee011787bd2ee87202441500bca7ca587a2c3ac10b01 languageName: node linkType: hard @@ -2336,20 +2580,20 @@ __metadata: languageName: node linkType: hard -"@noble/hashes@npm:1.4.0, @noble/hashes@npm:^1.3.3": - version: 1.4.0 - resolution: "@noble/hashes@npm:1.4.0" - checksum: 10c0/8c3f005ee72e7b8f9cff756dfae1241485187254e3f743873e22073d63906863df5d4f13d441b7530ea614b7a093f0d889309f28b59850f33b66cb26a779a4a5 - languageName: node - linkType: hard - -"@noble/hashes@npm:~1.3.0, @noble/hashes@npm:~1.3.2": +"@noble/hashes@npm:1.3.3, @noble/hashes@npm:~1.3.0, @noble/hashes@npm:~1.3.2": version: 1.3.3 resolution: "@noble/hashes@npm:1.3.3" checksum: 10c0/23c020b33da4172c988e44100e33cd9f8f6250b68b43c467d3551f82070ebd9716e0d9d2347427aa3774c85934a35fa9ee6f026fca2117e3fa12db7bedae7668 languageName: node linkType: hard +"@noble/hashes@npm:^1.3.1": + version: 1.4.0 + resolution: "@noble/hashes@npm:1.4.0" + checksum: 10c0/8c3f005ee72e7b8f9cff756dfae1241485187254e3f743873e22073d63906863df5d4f13d441b7530ea614b7a093f0d889309f28b59850f33b66cb26a779a4a5 + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -2598,10 +2842,11 @@ __metadata: languageName: node linkType: hard -"@rainbow-me/rainbowkit@npm:^1.3.6": - version: 1.3.6 - resolution: "@rainbow-me/rainbowkit@npm:1.3.6" +"@rainbow-me/rainbowkit@npm:^2.0.8": + version: 2.0.8 + resolution: "@rainbow-me/rainbowkit@npm:2.0.8" dependencies: + "@coinbase/wallet-sdk": "npm:3.9.3" "@vanilla-extract/css": "npm:1.14.0" "@vanilla-extract/dynamic": "npm:2.1.0" "@vanilla-extract/sprinkles": "npm:1.6.1" @@ -2610,11 +2855,11 @@ __metadata: react-remove-scroll: "npm:2.5.7" ua-parser-js: "npm:^1.0.37" peerDependencies: - react: ">=17" - react-dom: ">=17" - viem: ~0.3.19 || ^1.0.0 - wagmi: ~1.0.1 || ~1.1.0 || ~1.2.0 || ~1.3.0 || ~1.4.0 - checksum: 10c0/2629ec739d39f124d50cdb12bb3b49783b4da545b04df4113c662a5844b355c87d475ba53965a59a3d7cc2ad5cf8bbccf002eda34ef56290fcb21123c323341c + react: ">=18" + react-dom: ">=18" + viem: 2.x + wagmi: 2.x + checksum: 10c0/bc394a2c20943ff61767e953703a6c05bfaa3c76cee5914192228ec1b261cdc47759e9f89af07fb29f8efacb5d648e3416207fe05745d3551cbb52c481a98bcd languageName: node linkType: hard @@ -2723,17 +2968,17 @@ __metadata: languageName: node linkType: hard -"@safe-global/safe-apps-provider@npm:^0.18.1": - version: 0.18.2 - resolution: "@safe-global/safe-apps-provider@npm:0.18.2" +"@safe-global/safe-apps-provider@npm:0.18.1": + version: 0.18.1 + resolution: "@safe-global/safe-apps-provider@npm:0.18.1" dependencies: - "@safe-global/safe-apps-sdk": "npm:^9.0.0" + "@safe-global/safe-apps-sdk": "npm:^8.1.0" events: "npm:^3.3.0" - checksum: 10c0/599cc714acdb008d57f341e86298d05dd390ded2622dec8171293cb9877be9d36c2877c930e2b935f2f12eda1e11223fa6aaf277673eaccb471bbae51b652def + checksum: 10c0/9e6375132930cedd0935baa83cd026eb7c76776c7285edb3ff8c463ccf48d1e30cea03e93ce7199d3d3efa3cd035495e5f85fc361e203a2c03a4459d1989e726 languageName: node linkType: hard -"@safe-global/safe-apps-sdk@npm:^8.1.0": +"@safe-global/safe-apps-sdk@npm:8.1.0, @safe-global/safe-apps-sdk@npm:^8.1.0": version: 8.1.0 resolution: "@safe-global/safe-apps-sdk@npm:8.1.0" dependencies: @@ -2743,16 +2988,6 @@ __metadata: languageName: node linkType: hard -"@safe-global/safe-apps-sdk@npm:^9.0.0": - version: 9.0.0 - resolution: "@safe-global/safe-apps-sdk@npm:9.0.0" - dependencies: - "@safe-global/safe-gateway-typescript-sdk": "npm:^3.5.3" - viem: "npm:^1.6.0" - checksum: 10c0/04f50e68fe8f9fff513b8c5dcf0455c8636b54bb5677a7ff7b96c3d718c948fbc4d5da11112e69da83b811fdfae285d25ad07f88d2111d7e55d68085cb59692e - languageName: node - linkType: hard - "@safe-global/safe-gateway-typescript-sdk@npm:^3.5.3": version: 3.19.0 resolution: "@safe-global/safe-gateway-typescript-sdk@npm:3.19.0" @@ -2760,6 +2995,13 @@ __metadata: languageName: node linkType: hard +"@scure/base@npm:^1.1.3, @scure/base@npm:~1.1.4": + version: 1.1.6 + resolution: "@scure/base@npm:1.1.6" + checksum: 10c0/237a46a1f45391fc57719154f14295db936a0b1562ea3e182dd42d7aca082dbb7062a28d6c49af16a7e478b12dae8a0fe678d921ea5056bcc30238d29eb05c55 + languageName: node + linkType: hard + "@scure/base@npm:~1.1.0, @scure/base@npm:~1.1.2": version: 1.1.5 resolution: "@scure/base@npm:1.1.5" @@ -2778,6 +3020,17 @@ __metadata: languageName: node linkType: hard +"@scure/bip32@npm:1.3.3": + version: 1.3.3 + resolution: "@scure/bip32@npm:1.3.3" + dependencies: + "@noble/curves": "npm:~1.3.0" + "@noble/hashes": "npm:~1.3.2" + "@scure/base": "npm:~1.1.4" + checksum: 10c0/48fa04ebf0e3b56e3d086f029ae207ea753d8d8a1b3564f3c80fafea63dc3ee4edbd21e44eadb79bd4de4afffb075cbbbcb258fd5030a9680065cb524424eb83 + languageName: node + linkType: hard + "@scure/bip39@npm:1.2.1": version: 1.2.1 resolution: "@scure/bip39@npm:1.2.1" @@ -2788,6 +3041,16 @@ __metadata: languageName: node linkType: hard +"@scure/bip39@npm:1.2.2": + version: 1.2.2 + resolution: "@scure/bip39@npm:1.2.2" + dependencies: + "@noble/hashes": "npm:~1.3.2" + "@scure/base": "npm:~1.1.4" + checksum: 10c0/be38bc1dc10b9a763d8b02d91dc651a4f565c822486df6cb1d3cc84896c1aab3ef6acbf7b3dc7e4a981bc9366086a4d72020aa21e11a692734a750de049c887c + languageName: node + linkType: hard + "@sentry-internal/feedback@npm:7.108.0": version: 7.108.0 resolution: "@sentry-internal/feedback@npm:7.108.0" @@ -2897,35 +3160,10 @@ __metadata: languageName: node linkType: hard -"@solana/buffer-layout@npm:^4.0.1": - version: 4.0.1 - resolution: "@solana/buffer-layout@npm:4.0.1" - dependencies: - buffer: "npm:~6.0.3" - checksum: 10c0/6535f3908cf6dfc405b665795f0c2eaa0482a8c6b1811403945cf7b450e7eb7b40acce3e8af046f2fcc3eea1a15e61d48c418315d813bee4b720d56b00053305 - languageName: node - linkType: hard - -"@solana/web3.js@npm:^1.70.1": - version: 1.91.1 - resolution: "@solana/web3.js@npm:1.91.1" - dependencies: - "@babel/runtime": "npm:^7.23.4" - "@noble/curves": "npm:^1.2.0" - "@noble/hashes": "npm:^1.3.3" - "@solana/buffer-layout": "npm:^4.0.1" - agentkeepalive: "npm:^4.5.0" - bigint-buffer: "npm:^1.1.5" - bn.js: "npm:^5.2.1" - borsh: "npm:^0.7.0" - bs58: "npm:^4.0.1" - buffer: "npm:6.0.3" - fast-stable-stringify: "npm:^1.0.0" - jayson: "npm:^4.1.0" - node-fetch: "npm:^2.7.0" - rpc-websockets: "npm:^7.5.1" - superstruct: "npm:^0.14.2" - checksum: 10c0/77ea6fbbc32da892d005217eb20ebab7956ff1b7e7989d66dc5eb5ff0d7e136014ce8df97458686994542c415cbfbac8473756ccce3a31fbde3f331c6a3d50b1 +"@socket.io/component-emitter@npm:~3.1.0": + version: 3.1.2 + resolution: "@socket.io/component-emitter@npm:3.1.2" + checksum: 10c0/c4242bad66f67e6f7b712733d25b43cbb9e19a595c8701c3ad99cbeb5901555f78b095e24852f862fffb43e96f1d8552e62def885ca82ae1bb05da3668fd87d7 languageName: node linkType: hard @@ -3049,7 +3287,7 @@ __metadata: languageName: node linkType: hard -"@stablelib/random@npm:^1.0.1, @stablelib/random@npm:^1.0.2": +"@stablelib/random@npm:1.0.2, @stablelib/random@npm:^1.0.1, @stablelib/random@npm:^1.0.2": version: 1.0.2 resolution: "@stablelib/random@npm:1.0.2" dependencies: @@ -3088,7 +3326,7 @@ __metadata: languageName: node linkType: hard -"@stablelib/x25519@npm:^1.0.3": +"@stablelib/x25519@npm:1.0.3": version: 1.0.3 resolution: "@stablelib/x25519@npm:1.0.3" dependencies: @@ -3113,9 +3351,9 @@ __metadata: "@mui/icons-material": "npm:^5.15.14" "@mui/lab": "npm:^5.0.0-alpha.169" "@mui/material": "npm:^5.15.14" - "@rainbow-me/rainbowkit": "npm:^1.3.6" + "@rainbow-me/rainbowkit": "npm:^2.0.8" "@sentry/react": "npm:^7.108.0" - "@tanstack/react-query": "npm:^5.28.9" + "@tanstack/react-query": "npm:^5.37.1" "@types/jest": "npm:^29.5.12" "@types/lodash-es": "npm:^4.17.12" "@types/ms": "npm:^0.7.34" @@ -3158,6 +3396,7 @@ __metadata: notistack: "npm:^3.0.1" prettier: "npm:^3.2.5" pretty-bytes: "npm:^6.1.1" + qs: "npm:^6.12.1" react: "npm:^18.2.0" react-dom: "npm:^18.2.0" react-router-dom: "npm:^6.22.3" @@ -3167,84 +3406,29 @@ __metadata: typescript: "npm:^5.4.3" use-element-position: "npm:^1.0.13" use-local-storage-state: "npm:^19.2.0" - viem: "npm:^1.21.1" + viem: "npm:^2.10.9" vite: "npm:^5.2.6" vite-tsconfig-paths: "npm:^4.3.2" - wagmi: "npm:^1.4.13" + wagmi: "npm:^2.9.2" yup: "npm:^1.4.0" languageName: unknown linkType: soft -"@tanstack/query-core@npm:4.36.1": - version: 4.36.1 - resolution: "@tanstack/query-core@npm:4.36.1" - checksum: 10c0/f286529dbd4c9cdb237ef0bfa72d785c74b5d0958290e8d85c343043ba7be4bbc6cb771167d8c13ca12bd4f37412a3d8b69331f57daa375b2071fd4752aed66a - languageName: node - linkType: hard - -"@tanstack/query-core@npm:5.28.9": - version: 5.28.9 - resolution: "@tanstack/query-core@npm:5.28.9" - checksum: 10c0/bba29392deb8eb1c58012cf298452a6ea2c03e1cf0ff17e09b39093777adcf6670c31a039d4c8ffc4a16a1f512af984cceed6351d30f377342963ce4c4b92a2b - languageName: node - linkType: hard - -"@tanstack/query-persist-client-core@npm:4.36.1": - version: 4.36.1 - resolution: "@tanstack/query-persist-client-core@npm:4.36.1" - dependencies: - "@tanstack/query-core": "npm:4.36.1" - checksum: 10c0/e1c623cf1d43560fcf2f4f8489f8dbae35172c13d563da63c0db9e18937fb55f157a8b2c94011e30ffb1d6f2f40a1cb60dcebe2c9ef2931c0d2e5ca377a28cd8 - languageName: node - linkType: hard - -"@tanstack/query-sync-storage-persister@npm:^4.27.1": - version: 4.36.1 - resolution: "@tanstack/query-sync-storage-persister@npm:4.36.1" - dependencies: - "@tanstack/query-persist-client-core": "npm:4.36.1" - checksum: 10c0/ae2d71f59d57d07cf3f96402d01e3b51fa9516cb3e7f2a33787af8d3f8eb56d206b9ca474033afc72dd74badbf8773f8799ab757ace8577f446542407c2850d1 - languageName: node - linkType: hard - -"@tanstack/react-query-persist-client@npm:^4.28.0": - version: 4.36.1 - resolution: "@tanstack/react-query-persist-client@npm:4.36.1" - dependencies: - "@tanstack/query-persist-client-core": "npm:4.36.1" - peerDependencies: - "@tanstack/react-query": ^4.36.1 - checksum: 10c0/a4bdca1ac7d0852f28b3c00a8e5d061be9f54d0d81254cc006e165b86cc514af759f017261ad83f2c76cd404381223627f52e6def1d0814fd7da13fee14f64ff +"@tanstack/query-core@npm:5.36.1": + version: 5.36.1 + resolution: "@tanstack/query-core@npm:5.36.1" + checksum: 10c0/53ba44c9934c99035122e586ae21bdc10a9978054d555f9608241c20b931c357eb60364e9d17adb1f30501494427bd63c00684923c8d08f41d41c5f346922d47 languageName: node linkType: hard -"@tanstack/react-query@npm:^4.28.0": - version: 4.36.1 - resolution: "@tanstack/react-query@npm:4.36.1" +"@tanstack/react-query@npm:^5.37.1": + version: 5.37.1 + resolution: "@tanstack/react-query@npm:5.37.1" dependencies: - "@tanstack/query-core": "npm:4.36.1" - use-sync-external-store: "npm:^1.2.0" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-native: "*" - peerDependenciesMeta: - react-dom: - optional: true - react-native: - optional: true - checksum: 10c0/15d9c98269d52fbdd49f4eb4b077b5d70346f904ea2ae51fd0400949d731afde658919a1143dd849fb50d4c5b6d0ab072e7b313a098ef316dd1c24089653f626 - languageName: node - linkType: hard - -"@tanstack/react-query@npm:^5.28.9": - version: 5.28.9 - resolution: "@tanstack/react-query@npm:5.28.9" - dependencies: - "@tanstack/query-core": "npm:5.28.9" + "@tanstack/query-core": "npm:5.36.1" peerDependencies: react: ^18.0.0 - checksum: 10c0/2f6dcc691074f99cbd52a80f26bbc1dcad536700fda09d156ac430b917f054d1d206459be0deb6baa8933075ffcf6457925db6b76bf8634bee48805fde8d3037 + checksum: 10c0/f0b33ec31c68bdc10f4aea9c3288ca969d77c57c87da7c77d0965fb9f82b5cb9d658868769fdaa3d4dc3deffd12b80c7debaa99cb702c52f41040fb7091162f7 languageName: node linkType: hard @@ -3289,15 +3473,6 @@ __metadata: languageName: node linkType: hard -"@types/connect@npm:^3.4.33": - version: 3.4.38 - resolution: "@types/connect@npm:3.4.38" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/2e1cdba2c410f25649e77856505cd60223250fa12dff7a503e492208dbfdd25f62859918f28aba95315251fd1f5e1ffbfca1e25e73037189ab85dd3f8d0a148c - languageName: node - linkType: hard - "@types/d3-array@npm:^3.0.3": version: 3.2.1 resolution: "@types/d3-array@npm:3.2.1" @@ -3376,6 +3551,13 @@ __metadata: languageName: node linkType: hard +"@types/dom-screen-wake-lock@npm:^1.0.0": + version: 1.0.3 + resolution: "@types/dom-screen-wake-lock@npm:1.0.3" + checksum: 10c0/bab45f6a797de562f1bd3c095c49b7c0464ad05e571f38d00adaa35da2b02109bfe587206cc55f420377634cf0f7b07caa5acb3257e49dfd2d94dab74c617bf1 + languageName: node + linkType: hard + "@types/estree@npm:1.0.5": version: 1.0.5 resolution: "@types/estree@npm:1.0.5" @@ -3504,13 +3686,6 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^12.12.54": - version: 12.20.55 - resolution: "@types/node@npm:12.20.55" - checksum: 10c0/3b190bb0410047d489c49bbaab592d2e6630de6a50f00ba3d7d513d59401d279972a8f5a598b5bb8ddc1702f8a2f4ec57a65d93852f9c329639738e7053637d1 - languageName: node - linkType: hard - "@types/parse-json@npm:^4.0.0": version: 4.0.2 resolution: "@types/parse-json@npm:4.0.2" @@ -3613,6 +3788,15 @@ __metadata: languageName: node linkType: hard +"@types/secp256k1@npm:^4.0.4": + version: 4.0.6 + resolution: "@types/secp256k1@npm:4.0.6" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/0e391316ae30c218779583b626382a56546ddbefb65f1ff9cf5e078af8a7118f67f3e66e30914399cc6f8710c424d0d8c3f34262ffb1f429c6ad911fd0d0bc26 + languageName: node + linkType: hard + "@types/semver@npm:^7.3.12, @types/semver@npm:^7.5.0": version: 7.5.8 resolution: "@types/semver@npm:7.5.8" @@ -3641,15 +3825,6 @@ __metadata: languageName: node linkType: hard -"@types/ws@npm:^7.4.4": - version: 7.4.7 - resolution: "@types/ws@npm:7.4.7" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/f1f53febd8623a85cef2652949acd19d83967e350ea15a851593e3033501750a1e04f418552e487db90a3d48611a1cff3ffcf139b94190c10f2fd1e1dc95ff10 - languageName: node - linkType: hard - "@types/ws@npm:^8.0.0": version: 8.5.10 resolution: "@types/ws@npm:8.5.10" @@ -3927,94 +4102,70 @@ __metadata: languageName: node linkType: hard -"@wagmi/connectors@npm:3.1.11": - version: 3.1.11 - resolution: "@wagmi/connectors@npm:3.1.11" +"@wagmi/connectors@npm:5.0.2": + version: 5.0.2 + resolution: "@wagmi/connectors@npm:5.0.2" dependencies: - "@coinbase/wallet-sdk": "npm:^3.6.6" - "@safe-global/safe-apps-provider": "npm:^0.18.1" - "@safe-global/safe-apps-sdk": "npm:^8.1.0" - "@walletconnect/ethereum-provider": "npm:2.11.0" - "@walletconnect/legacy-provider": "npm:^2.0.0" + "@coinbase/wallet-sdk": "npm:4.0.0" + "@metamask/sdk": "npm:0.20.3" + "@safe-global/safe-apps-provider": "npm:0.18.1" + "@safe-global/safe-apps-sdk": "npm:8.1.0" + "@walletconnect/ethereum-provider": "npm:2.13.0" "@walletconnect/modal": "npm:2.6.2" - "@walletconnect/utils": "npm:2.11.0" - abitype: "npm:0.8.7" - eventemitter3: "npm:^4.0.7" + cbw-sdk: "npm:@coinbase/wallet-sdk@3.9.3" peerDependencies: + "@wagmi/core": 2.10.2 typescript: ">=5.0.4" - viem: ">=0.3.35" + viem: 2.x peerDependenciesMeta: typescript: optional: true - checksum: 10c0/55a2c5553ad082619b727531c6565fc17e14168817b7621d6589e51bf38c5d4a4a83ec96552d2ed0cbda21a16e2222936e7930caeaed832e509f9cdba0385296 + checksum: 10c0/5b2848dd9c5753a6081f2bdbebf96eb62bbf1f924da236a58f555dfd70c017237b812b4189767b969adef722d15de93ed4c682870cabfb44e0c4281ff205f4a3 languageName: node linkType: hard -"@wagmi/core@npm:1.4.13": - version: 1.4.13 - resolution: "@wagmi/core@npm:1.4.13" +"@wagmi/core@npm:2.10.2": + version: 2.10.2 + resolution: "@wagmi/core@npm:2.10.2" dependencies: - "@wagmi/connectors": "npm:3.1.11" - abitype: "npm:0.8.7" - eventemitter3: "npm:^4.0.7" - zustand: "npm:^4.3.1" + eventemitter3: "npm:5.0.1" + mipd: "npm:0.0.5" + zustand: "npm:4.4.1" peerDependencies: + "@tanstack/query-core": ">=5.0.0" typescript: ">=5.0.4" - viem: ">=0.3.35" + viem: 2.x peerDependenciesMeta: + "@tanstack/query-core": + optional: true typescript: optional: true - checksum: 10c0/68a18c896614320618e281ee22e06823ca3504df52afcefddc232fe96c792d37f8fbad3f3917afb6b3950d1d811abb7e1c2b65f0eb7eb4c7371fbd2cb4d5acd9 + checksum: 10c0/b65d5270d2c59fe882a2ecf45f93692de3e7cdf07fc02029ff84bb9d0aef8b53f41deafd0fcb68846549a3d77236544d4cd3933a0ce3f6b6ab5366b07bc36646 languageName: node linkType: hard -"@walletconnect/core@npm:2.11.0": - version: 2.11.0 - resolution: "@walletconnect/core@npm:2.11.0" +"@walletconnect/core@npm:2.13.0": + version: 2.13.0 + resolution: "@walletconnect/core@npm:2.13.0" dependencies: - "@walletconnect/heartbeat": "npm:1.2.1" - "@walletconnect/jsonrpc-provider": "npm:1.0.13" - "@walletconnect/jsonrpc-types": "npm:1.0.3" + "@walletconnect/heartbeat": "npm:1.2.2" + "@walletconnect/jsonrpc-provider": "npm:1.0.14" + "@walletconnect/jsonrpc-types": "npm:1.0.4" "@walletconnect/jsonrpc-utils": "npm:1.0.8" "@walletconnect/jsonrpc-ws-connection": "npm:1.0.14" - "@walletconnect/keyvaluestorage": "npm:^1.1.1" - "@walletconnect/logger": "npm:^2.0.1" - "@walletconnect/relay-api": "npm:^1.0.9" - "@walletconnect/relay-auth": "npm:^1.0.4" - "@walletconnect/safe-json": "npm:^1.0.2" - "@walletconnect/time": "npm:^1.0.2" - "@walletconnect/types": "npm:2.11.0" - "@walletconnect/utils": "npm:2.11.0" - events: "npm:^3.3.0" + "@walletconnect/keyvaluestorage": "npm:1.1.1" + "@walletconnect/logger": "npm:2.1.2" + "@walletconnect/relay-api": "npm:1.0.10" + "@walletconnect/relay-auth": "npm:1.0.4" + "@walletconnect/safe-json": "npm:1.0.2" + "@walletconnect/time": "npm:1.0.2" + "@walletconnect/types": "npm:2.13.0" + "@walletconnect/utils": "npm:2.13.0" + events: "npm:3.3.0" isomorphic-unfetch: "npm:3.1.0" lodash.isequal: "npm:4.5.0" - uint8arrays: "npm:^3.1.0" - checksum: 10c0/673a9f3127a69a03de8de9626365b157ad6ce272b9ee04d3f67802685861f9f3ee748686662122d27212223f66054c49f0bf392f97e2fd18fab74789d0a87246 - languageName: node - linkType: hard - -"@walletconnect/crypto@npm:^1.0.3": - version: 1.0.3 - resolution: "@walletconnect/crypto@npm:1.0.3" - dependencies: - "@walletconnect/encoding": "npm:^1.0.2" - "@walletconnect/environment": "npm:^1.0.1" - "@walletconnect/randombytes": "npm:^1.0.3" - aes-js: "npm:^3.1.2" - hash.js: "npm:^1.1.7" - tslib: "npm:1.14.1" - checksum: 10c0/dfe35bdafd28f48d1bdb5f4dc091da8361b1d8bef71c0ebc5f56e23363a4adc7d90215fbf6b90acb28634a05058bd0ff65d6dd48a92a6ab653cc8c847f5a7807 - languageName: node - linkType: hard - -"@walletconnect/encoding@npm:^1.0.2": - version: 1.0.2 - resolution: "@walletconnect/encoding@npm:1.0.2" - dependencies: - is-typedarray: "npm:1.0.0" - tslib: "npm:1.14.1" - typedarray-to-buffer: "npm:3.1.5" - checksum: 10c0/ee94e8486d71094e3d23d91c392460a1fcedaf7ac1d541f5c4b0472fbed170c1e0962e29eb7e1b72cd8aefa1332e7b88182ecbc0b3b32adfb3242dbce1c1b236 + uint8arrays: "npm:3.1.0" + checksum: 10c0/e1356eb8ac94f8f6743814337607244557280d43a6e2ec14591beb21dca0e73cc79b16f0a2ace60ef447149778c5383a1fd4eac67788372d249c8c5f6d8c7dc2 languageName: node linkType: hard @@ -4027,25 +4178,25 @@ __metadata: languageName: node linkType: hard -"@walletconnect/ethereum-provider@npm:2.11.0": - version: 2.11.0 - resolution: "@walletconnect/ethereum-provider@npm:2.11.0" +"@walletconnect/ethereum-provider@npm:2.13.0": + version: 2.13.0 + resolution: "@walletconnect/ethereum-provider@npm:2.13.0" dependencies: - "@walletconnect/jsonrpc-http-connection": "npm:^1.0.7" - "@walletconnect/jsonrpc-provider": "npm:^1.0.13" - "@walletconnect/jsonrpc-types": "npm:^1.0.3" - "@walletconnect/jsonrpc-utils": "npm:^1.0.8" - "@walletconnect/modal": "npm:^2.6.2" - "@walletconnect/sign-client": "npm:2.11.0" - "@walletconnect/types": "npm:2.11.0" - "@walletconnect/universal-provider": "npm:2.11.0" - "@walletconnect/utils": "npm:2.11.0" - events: "npm:^3.3.0" - checksum: 10c0/7aaa416dfd96de32d0e44baba411c61c518a31bd067f8070b253da2adf9905bc0bd6589a75eb9b5cc12877027798f1e084d1782c26e831221fdbe8013b625a63 + "@walletconnect/jsonrpc-http-connection": "npm:1.0.8" + "@walletconnect/jsonrpc-provider": "npm:1.0.14" + "@walletconnect/jsonrpc-types": "npm:1.0.4" + "@walletconnect/jsonrpc-utils": "npm:1.0.8" + "@walletconnect/modal": "npm:2.6.2" + "@walletconnect/sign-client": "npm:2.13.0" + "@walletconnect/types": "npm:2.13.0" + "@walletconnect/universal-provider": "npm:2.13.0" + "@walletconnect/utils": "npm:2.13.0" + events: "npm:3.3.0" + checksum: 10c0/4bc3c76b7a9e81ac505fcff99244bfa9f14419ee2de322e491dacd94669923adf5e9e1a2298ae84b33e3d5985a0bfab6b7715237e6f2ce23ec02c67dedb58898 languageName: node linkType: hard -"@walletconnect/events@npm:^1.0.1": +"@walletconnect/events@npm:1.0.1, @walletconnect/events@npm:^1.0.1": version: 1.0.1 resolution: "@walletconnect/events@npm:1.0.1" dependencies: @@ -4055,41 +4206,51 @@ __metadata: languageName: node linkType: hard -"@walletconnect/heartbeat@npm:1.2.1": - version: 1.2.1 - resolution: "@walletconnect/heartbeat@npm:1.2.1" +"@walletconnect/heartbeat@npm:1.2.2": + version: 1.2.2 + resolution: "@walletconnect/heartbeat@npm:1.2.2" dependencies: "@walletconnect/events": "npm:^1.0.1" "@walletconnect/time": "npm:^1.0.2" - tslib: "npm:1.14.1" - checksum: 10c0/5ad46f26dcb7b9b3227f004cd74b18741d4cd32c21825a036eb03985c67a0cf859c285bc5635401966a99129e854d72de3458ff592370575ef7e52f5dd12ebbc + events: "npm:^3.3.0" + checksum: 10c0/a97b07764c397fe3cd26e8ea4233ecc8a26049624df7edc05290d286266bc5ba1de740d12c50dc1b7e8605198c5974e34e2d5318087bd4e9db246e7b273f4592 languageName: node linkType: hard -"@walletconnect/jsonrpc-http-connection@npm:^1.0.4, @walletconnect/jsonrpc-http-connection@npm:^1.0.7": - version: 1.0.7 - resolution: "@walletconnect/jsonrpc-http-connection@npm:1.0.7" +"@walletconnect/jsonrpc-http-connection@npm:1.0.8": + version: 1.0.8 + resolution: "@walletconnect/jsonrpc-http-connection@npm:1.0.8" dependencies: "@walletconnect/jsonrpc-utils": "npm:^1.0.6" "@walletconnect/safe-json": "npm:^1.0.1" cross-fetch: "npm:^3.1.4" - tslib: "npm:1.14.1" - checksum: 10c0/24272eca0d2b20397b2c83ecaac324cbc857fab4a4c2699332ea5c8b81096b1cf4a3c60f51c82ca9e98ab87a213c04bf047037478b089effabe0139005c71867 + events: "npm:^3.3.0" + checksum: 10c0/cfac9ae74085d383ebc6edf075aeff01312818ac95e706cb8538ef4d4e6d82e75fb51529b3a9b65fa56a3f0f32a1738defad61713ed8a5f67cee25a79b6b4614 languageName: node linkType: hard -"@walletconnect/jsonrpc-provider@npm:1.0.13, @walletconnect/jsonrpc-provider@npm:^1.0.13, @walletconnect/jsonrpc-provider@npm:^1.0.6": - version: 1.0.13 - resolution: "@walletconnect/jsonrpc-provider@npm:1.0.13" +"@walletconnect/jsonrpc-provider@npm:1.0.14": + version: 1.0.14 + resolution: "@walletconnect/jsonrpc-provider@npm:1.0.14" dependencies: "@walletconnect/jsonrpc-utils": "npm:^1.0.8" "@walletconnect/safe-json": "npm:^1.0.2" - tslib: "npm:1.14.1" - checksum: 10c0/9b5b2f0ce516d2ddebe2cd1a2c8ea18a6b765b0d068162caf39745c18534e264a0cc6198adb869ba8684d0efa563be30956a3b9a7cc82b80b9e263f6211e30ab + events: "npm:^3.3.0" + checksum: 10c0/9801bd516d81e92977b6add213da91e0e4a7a5915ad22685a4d2a733bab6199e9053485b76340cd724c7faa17a1b0eb842696247944fd57fb581488a2e1bed75 languageName: node linkType: hard -"@walletconnect/jsonrpc-types@npm:1.0.3, @walletconnect/jsonrpc-types@npm:^1.0.2, @walletconnect/jsonrpc-types@npm:^1.0.3": +"@walletconnect/jsonrpc-types@npm:1.0.4": + version: 1.0.4 + resolution: "@walletconnect/jsonrpc-types@npm:1.0.4" + dependencies: + events: "npm:^3.3.0" + keyvaluestorage-interface: "npm:^1.0.0" + checksum: 10c0/752978685b0596a4ba02e1b689d23873e464460e4f376c97ef63e6b3ab273658ca062de2bfcaa8a498d31db0c98be98c8bbfbe5142b256a4b3ef425e1707f353 + languageName: node + linkType: hard + +"@walletconnect/jsonrpc-types@npm:^1.0.2, @walletconnect/jsonrpc-types@npm:^1.0.3": version: 1.0.3 resolution: "@walletconnect/jsonrpc-types@npm:1.0.3" dependencies: @@ -4099,7 +4260,7 @@ __metadata: languageName: node linkType: hard -"@walletconnect/jsonrpc-utils@npm:1.0.8, @walletconnect/jsonrpc-utils@npm:^1.0.4, @walletconnect/jsonrpc-utils@npm:^1.0.6, @walletconnect/jsonrpc-utils@npm:^1.0.7, @walletconnect/jsonrpc-utils@npm:^1.0.8": +"@walletconnect/jsonrpc-utils@npm:1.0.8, @walletconnect/jsonrpc-utils@npm:^1.0.6, @walletconnect/jsonrpc-utils@npm:^1.0.8": version: 1.0.8 resolution: "@walletconnect/jsonrpc-utils@npm:1.0.8" dependencies: @@ -4122,7 +4283,7 @@ __metadata: languageName: node linkType: hard -"@walletconnect/keyvaluestorage@npm:^1.1.1": +"@walletconnect/keyvaluestorage@npm:1.1.1": version: 1.1.1 resolution: "@walletconnect/keyvaluestorage@npm:1.1.1" dependencies: @@ -4134,87 +4295,17 @@ __metadata: peerDependenciesMeta: "@react-native-async-storage/async-storage": optional: true - checksum: 10c0/de2ec39d09ce99370865f7d7235b93c42b3e4fd3406bdbc644329eff7faea2722618aa88ffc4ee7d20b1d6806a8331261b65568187494cbbcceeedbe79dc30e8 - languageName: node - linkType: hard - -"@walletconnect/legacy-client@npm:^2.0.0": - version: 2.0.0 - resolution: "@walletconnect/legacy-client@npm:2.0.0" - dependencies: - "@walletconnect/crypto": "npm:^1.0.3" - "@walletconnect/encoding": "npm:^1.0.2" - "@walletconnect/jsonrpc-utils": "npm:^1.0.4" - "@walletconnect/legacy-types": "npm:^2.0.0" - "@walletconnect/legacy-utils": "npm:^2.0.0" - "@walletconnect/safe-json": "npm:^1.0.1" - "@walletconnect/window-getters": "npm:^1.0.1" - "@walletconnect/window-metadata": "npm:^1.0.1" - detect-browser: "npm:^5.3.0" - query-string: "npm:^6.13.5" - checksum: 10c0/00820b607301d94385e631c2e039450bc72ae71943cb67d06125509c8e8039e275d605c4a3d0c10e94f847c03c8a6437aa86f945581c57e84571ff827062dc8b - languageName: node - linkType: hard - -"@walletconnect/legacy-modal@npm:^2.0.0": - version: 2.0.0 - resolution: "@walletconnect/legacy-modal@npm:2.0.0" - dependencies: - "@walletconnect/legacy-types": "npm:^2.0.0" - "@walletconnect/legacy-utils": "npm:^2.0.0" - copy-to-clipboard: "npm:^3.3.3" - preact: "npm:^10.12.0" - qrcode: "npm:^1.5.1" - checksum: 10c0/92a35d6710e84ac2caa1dc540317d264ca3d612dde5b502de39ee27f3e27eb1d6a92c49e3cf20322c82366fd53cab87de197184ef6000b926d1a7ff724921693 - languageName: node - linkType: hard - -"@walletconnect/legacy-provider@npm:^2.0.0": - version: 2.0.0 - resolution: "@walletconnect/legacy-provider@npm:2.0.0" - dependencies: - "@walletconnect/jsonrpc-http-connection": "npm:^1.0.4" - "@walletconnect/jsonrpc-provider": "npm:^1.0.6" - "@walletconnect/legacy-client": "npm:^2.0.0" - "@walletconnect/legacy-modal": "npm:^2.0.0" - "@walletconnect/legacy-types": "npm:^2.0.0" - "@walletconnect/legacy-utils": "npm:^2.0.0" - checksum: 10c0/770f8998ccdceb3ed01afa9955c096467b58f138095d93e4bf6b70d3d7cb7a873786cf79c93cb706a5b7230627fca8999e779215478b3842f2814a85be13edf9 - languageName: node - linkType: hard - -"@walletconnect/legacy-types@npm:^2.0.0": - version: 2.0.0 - resolution: "@walletconnect/legacy-types@npm:2.0.0" - dependencies: - "@walletconnect/jsonrpc-types": "npm:^1.0.2" - checksum: 10c0/a115e4cc251d61ddc8c31c14ab9745248db68e4b36decf0e4d9d7e7de02ccb9d3e3a5dd55796f9531a17594c82dcdfd05d5bc1bc4d50f2a0e3f59b98c98b567d - languageName: node - linkType: hard - -"@walletconnect/legacy-utils@npm:^2.0.0": - version: 2.0.0 - resolution: "@walletconnect/legacy-utils@npm:2.0.0" - dependencies: - "@walletconnect/encoding": "npm:^1.0.2" - "@walletconnect/jsonrpc-utils": "npm:^1.0.4" - "@walletconnect/legacy-types": "npm:^2.0.0" - "@walletconnect/safe-json": "npm:^1.0.1" - "@walletconnect/window-getters": "npm:^1.0.1" - "@walletconnect/window-metadata": "npm:^1.0.1" - detect-browser: "npm:^5.3.0" - query-string: "npm:^6.13.5" - checksum: 10c0/457312842a062f9f990dc16af4e84c012c5c39ed0e541a6b1337dcdb8631a2ddacd7790ad40d2f35ee81b158c4e69a4db5399b050cfd324e80450343eae9cdc7 + checksum: 10c0/de2ec39d09ce99370865f7d7235b93c42b3e4fd3406bdbc644329eff7faea2722618aa88ffc4ee7d20b1d6806a8331261b65568187494cbbcceeedbe79dc30e8 languageName: node linkType: hard -"@walletconnect/logger@npm:^2.0.1": - version: 2.0.1 - resolution: "@walletconnect/logger@npm:2.0.1" +"@walletconnect/logger@npm:2.1.2": + version: 2.1.2 + resolution: "@walletconnect/logger@npm:2.1.2" dependencies: + "@walletconnect/safe-json": "npm:^1.0.2" pino: "npm:7.11.0" - tslib: "npm:1.14.1" - checksum: 10c0/1778686f608f03bc8a67fb560a2694e8aef74b392811508e98cc158d1839a1bb0a0256eb2ed719c4ee17e65a11543ddc4f9059d3bdd5dddcca6359ba1bab18bd + checksum: 10c0/c66e835d33f737f48d6269f151650f6d7bb85bd8b59580fb8116f94d460773820968026e666ddf4a1753f28fceb3c54aae8230a445108a116077cb13a293842f languageName: node linkType: hard @@ -4239,7 +4330,7 @@ __metadata: languageName: node linkType: hard -"@walletconnect/modal@npm:2.6.2, @walletconnect/modal@npm:^2.6.2": +"@walletconnect/modal@npm:2.6.2": version: 2.6.2 resolution: "@walletconnect/modal@npm:2.6.2" dependencies: @@ -4249,29 +4340,16 @@ __metadata: languageName: node linkType: hard -"@walletconnect/randombytes@npm:^1.0.3": - version: 1.0.3 - resolution: "@walletconnect/randombytes@npm:1.0.3" - dependencies: - "@walletconnect/encoding": "npm:^1.0.2" - "@walletconnect/environment": "npm:^1.0.1" - randombytes: "npm:^2.1.0" - tslib: "npm:1.14.1" - checksum: 10c0/3391eb97db9240479744f2de2c56c5cded6c11fa3a391dd6da6acf763cf62b77249396c538b51324ae1434b0914f765cbeea45db949ca97e6b132677c8a3b64d - languageName: node - linkType: hard - -"@walletconnect/relay-api@npm:^1.0.9": - version: 1.0.9 - resolution: "@walletconnect/relay-api@npm:1.0.9" +"@walletconnect/relay-api@npm:1.0.10": + version: 1.0.10 + resolution: "@walletconnect/relay-api@npm:1.0.10" dependencies: "@walletconnect/jsonrpc-types": "npm:^1.0.2" - tslib: "npm:1.14.1" - checksum: 10c0/e5994c63619b89cae45428108857389536f3c7e43a92f324a8ef305f351cf125dcfafeb9c480f23798c162ca2cad7b8f91828bae28a84cf869c3e7ee1dcca9dd + checksum: 10c0/2709bbe45f60579cd2e1c74b0fd03c36ea409cd8a9117e00a7485428d0c9ba7eb02e525c21e5286db2b6ce563b1d29053b0249c2ed95f8adcf02b11e54f61fcd languageName: node linkType: hard -"@walletconnect/relay-auth@npm:^1.0.4": +"@walletconnect/relay-auth@npm:1.0.4": version: 1.0.4 resolution: "@walletconnect/relay-auth@npm:1.0.4" dependencies: @@ -4285,7 +4363,7 @@ __metadata: languageName: node linkType: hard -"@walletconnect/safe-json@npm:^1.0.1, @walletconnect/safe-json@npm:^1.0.2": +"@walletconnect/safe-json@npm:1.0.2, @walletconnect/safe-json@npm:^1.0.1, @walletconnect/safe-json@npm:^1.0.2": version: 1.0.2 resolution: "@walletconnect/safe-json@npm:1.0.2" dependencies: @@ -4294,24 +4372,24 @@ __metadata: languageName: node linkType: hard -"@walletconnect/sign-client@npm:2.11.0": - version: 2.11.0 - resolution: "@walletconnect/sign-client@npm:2.11.0" +"@walletconnect/sign-client@npm:2.13.0": + version: 2.13.0 + resolution: "@walletconnect/sign-client@npm:2.13.0" dependencies: - "@walletconnect/core": "npm:2.11.0" - "@walletconnect/events": "npm:^1.0.1" - "@walletconnect/heartbeat": "npm:1.2.1" + "@walletconnect/core": "npm:2.13.0" + "@walletconnect/events": "npm:1.0.1" + "@walletconnect/heartbeat": "npm:1.2.2" "@walletconnect/jsonrpc-utils": "npm:1.0.8" - "@walletconnect/logger": "npm:^2.0.1" - "@walletconnect/time": "npm:^1.0.2" - "@walletconnect/types": "npm:2.11.0" - "@walletconnect/utils": "npm:2.11.0" - events: "npm:^3.3.0" - checksum: 10c0/92b8d66248b805849b70f35adc7f55bd7c9d6f35f5e980b1e90d71a86b008e43527b2dd8e47860d080cf296dcdf9ecfecb604b75ea0a1164c715dce4f66dadd0 + "@walletconnect/logger": "npm:2.1.2" + "@walletconnect/time": "npm:1.0.2" + "@walletconnect/types": "npm:2.13.0" + "@walletconnect/utils": "npm:2.13.0" + events: "npm:3.3.0" + checksum: 10c0/58c702997f719cab9b183d23c53efee561a3a407de24e464e339e350124a71eeccb1bd651f0893ad0f39343ce42a7ff3666bbd28cb8dfc6a0e8d12c94eacc288 languageName: node linkType: hard -"@walletconnect/time@npm:^1.0.2": +"@walletconnect/time@npm:1.0.2, @walletconnect/time@npm:^1.0.2": version: 1.0.2 resolution: "@walletconnect/time@npm:1.0.2" dependencies: @@ -4320,60 +4398,60 @@ __metadata: languageName: node linkType: hard -"@walletconnect/types@npm:2.11.0": - version: 2.11.0 - resolution: "@walletconnect/types@npm:2.11.0" +"@walletconnect/types@npm:2.13.0": + version: 2.13.0 + resolution: "@walletconnect/types@npm:2.13.0" dependencies: - "@walletconnect/events": "npm:^1.0.1" - "@walletconnect/heartbeat": "npm:1.2.1" - "@walletconnect/jsonrpc-types": "npm:1.0.3" - "@walletconnect/keyvaluestorage": "npm:^1.1.1" - "@walletconnect/logger": "npm:^2.0.1" - events: "npm:^3.3.0" - checksum: 10c0/7fa2493d8a9c938821f5234b4d2a087f903359875925a7abea3a0640aa765886c01b4846bbe5e39923b48883f7fd92c3f4ff8e643c4c894c50e9f715b3a881d8 + "@walletconnect/events": "npm:1.0.1" + "@walletconnect/heartbeat": "npm:1.2.2" + "@walletconnect/jsonrpc-types": "npm:1.0.4" + "@walletconnect/keyvaluestorage": "npm:1.1.1" + "@walletconnect/logger": "npm:2.1.2" + events: "npm:3.3.0" + checksum: 10c0/9962284daf92d6b27a009b90b908518b3f028f10f2168ddbc37ad2cb2b20cb0e65d170aa4343e2ea445c519cf79e78264480e2b2c4ab9f974f2c15962db5b012 languageName: node linkType: hard -"@walletconnect/universal-provider@npm:2.11.0": - version: 2.11.0 - resolution: "@walletconnect/universal-provider@npm:2.11.0" +"@walletconnect/universal-provider@npm:2.13.0": + version: 2.13.0 + resolution: "@walletconnect/universal-provider@npm:2.13.0" dependencies: - "@walletconnect/jsonrpc-http-connection": "npm:^1.0.7" - "@walletconnect/jsonrpc-provider": "npm:1.0.13" - "@walletconnect/jsonrpc-types": "npm:^1.0.2" - "@walletconnect/jsonrpc-utils": "npm:^1.0.7" - "@walletconnect/logger": "npm:^2.0.1" - "@walletconnect/sign-client": "npm:2.11.0" - "@walletconnect/types": "npm:2.11.0" - "@walletconnect/utils": "npm:2.11.0" - events: "npm:^3.3.0" - checksum: 10c0/78a3a16ef7a539caae0796745d80b211a918570bb2476ae064a56537e6aa1d038f53ed86588afd7f62cb833b2c690d9da3fee859a4a1926a79df79dd1f5176a9 + "@walletconnect/jsonrpc-http-connection": "npm:1.0.8" + "@walletconnect/jsonrpc-provider": "npm:1.0.14" + "@walletconnect/jsonrpc-types": "npm:1.0.4" + "@walletconnect/jsonrpc-utils": "npm:1.0.8" + "@walletconnect/logger": "npm:2.1.2" + "@walletconnect/sign-client": "npm:2.13.0" + "@walletconnect/types": "npm:2.13.0" + "@walletconnect/utils": "npm:2.13.0" + events: "npm:3.3.0" + checksum: 10c0/79d14cdce74054859f26f69a17215c59367d961d0f36e7868601ed98030bd0636b3806dd68b76cc66ec4a70d5f6ec107fbe18bb6a1022a5161ea6d71810a0ed9 languageName: node linkType: hard -"@walletconnect/utils@npm:2.11.0": - version: 2.11.0 - resolution: "@walletconnect/utils@npm:2.11.0" +"@walletconnect/utils@npm:2.13.0": + version: 2.13.0 + resolution: "@walletconnect/utils@npm:2.13.0" dependencies: "@stablelib/chacha20poly1305": "npm:1.0.1" "@stablelib/hkdf": "npm:1.0.1" - "@stablelib/random": "npm:^1.0.2" + "@stablelib/random": "npm:1.0.2" "@stablelib/sha256": "npm:1.0.1" - "@stablelib/x25519": "npm:^1.0.3" - "@walletconnect/relay-api": "npm:^1.0.9" - "@walletconnect/safe-json": "npm:^1.0.2" - "@walletconnect/time": "npm:^1.0.2" - "@walletconnect/types": "npm:2.11.0" - "@walletconnect/window-getters": "npm:^1.0.1" - "@walletconnect/window-metadata": "npm:^1.0.1" + "@stablelib/x25519": "npm:1.0.3" + "@walletconnect/relay-api": "npm:1.0.10" + "@walletconnect/safe-json": "npm:1.0.2" + "@walletconnect/time": "npm:1.0.2" + "@walletconnect/types": "npm:2.13.0" + "@walletconnect/window-getters": "npm:1.0.1" + "@walletconnect/window-metadata": "npm:1.0.1" detect-browser: "npm:5.3.0" query-string: "npm:7.1.3" - uint8arrays: "npm:^3.1.0" - checksum: 10c0/2219408f2a9bbca8d263a89dd54ae3e466f6d4b32b6b25f253d7f84f7e58c5836f4a08ab287c2d9ab5446c727624821597fa16d64d8c5ca748f8e1cba729a929 + uint8arrays: "npm:3.1.0" + checksum: 10c0/2dbdb9ed790492411eb5c4e6b06aa511f6c0204c4ff283ecb5a4d339bb1bf3da033ef3a0c0af66b94df0553676f408222c2feca8c601b0554be2bbfbef43d6ec languageName: node linkType: hard -"@walletconnect/window-getters@npm:^1.0.1": +"@walletconnect/window-getters@npm:1.0.1, @walletconnect/window-getters@npm:^1.0.1": version: 1.0.1 resolution: "@walletconnect/window-getters@npm:1.0.1" dependencies: @@ -4382,7 +4460,7 @@ __metadata: languageName: node linkType: hard -"@walletconnect/window-metadata@npm:^1.0.1": +"@walletconnect/window-metadata@npm:1.0.1": version: 1.0.1 resolution: "@walletconnect/window-metadata@npm:1.0.1" dependencies: @@ -4455,18 +4533,6 @@ __metadata: languageName: node linkType: hard -"JSONStream@npm:^1.3.5": - version: 1.3.5 - resolution: "JSONStream@npm:1.3.5" - dependencies: - jsonparse: "npm:^1.2.0" - through: "npm:>=2.2.7 <3" - bin: - JSONStream: ./bin.js - checksum: 10c0/0f54694da32224d57b715385d4a6b668d2117379d1f3223dc758459246cca58fdc4c628b83e8a8883334e454a0a30aa198ede77c788b55537c1844f686a751f2 - languageName: node - linkType: hard - "abbrev@npm:^2.0.0": version: 2.0.0 resolution: "abbrev@npm:2.0.0" @@ -4474,31 +4540,42 @@ __metadata: languageName: node linkType: hard -"abitype@npm:0.8.7": - version: 0.8.7 - resolution: "abitype@npm:0.8.7" +"abitype@npm:0.9.8": + version: 0.9.8 + resolution: "abitype@npm:0.9.8" peerDependencies: typescript: ">=5.0.4" zod: ^3 >=3.19.1 peerDependenciesMeta: + typescript: + optional: true zod: optional: true - checksum: 10c0/94cc27cdd2398552285329b53aecc9777dfb9eca89c9615160c79a868e2417ddd331a5d49a6ce8f58c62b9e4026e8b0850e62a9aba960ae93b6a2b32f748a1d6 + checksum: 10c0/ec559461d901d456820faf307e21b2c129583d44f4c68257ed9d0d44eae461114a7049046e715e069bc6fa70c410f644e06bdd2c798ac30d0ada794cd2a6c51e languageName: node linkType: hard -"abitype@npm:0.9.8": - version: 0.9.8 - resolution: "abitype@npm:0.9.8" +"abitype@npm:1.0.0": + version: 1.0.0 + resolution: "abitype@npm:1.0.0" peerDependencies: typescript: ">=5.0.4" - zod: ^3 >=3.19.1 + zod: ^3 >=3.22.0 peerDependenciesMeta: typescript: optional: true zod: optional: true - checksum: 10c0/ec559461d901d456820faf307e21b2c129583d44f4c68257ed9d0d44eae461114a7049046e715e069bc6fa70c410f644e06bdd2c798ac30d0ada794cd2a6c51e + checksum: 10c0/d685351a725c49f81bdc588e2f3825c28ad96c59048d4f36bf5e4ef30935c31f7e60b5553c70177b77a9e4d8b04290eea43d3d9c1c2562cb130381c88b15d39f + languageName: node + linkType: hard + +"abort-controller@npm:^3.0.0": + version: 3.0.0 + resolution: "abort-controller@npm:3.0.0" + dependencies: + event-target-shim: "npm:^5.0.0" + checksum: 10c0/90ccc50f010250152509a344eb2e71977fbf8db0ab8f1061197e3275ddf6c61a41a6edfd7b9409c664513131dd96e962065415325ef23efa5db931b382d24ca5 languageName: node linkType: hard @@ -4536,13 +4613,6 @@ __metadata: languageName: node linkType: hard -"aes-js@npm:^3.1.2": - version: 3.1.2 - resolution: "aes-js@npm:3.1.2" - checksum: 10c0/2568cc67af66fd9d41de25dc73d49ae810269c7648bbb1928b9f84d8fd6ddb4e39ed506d1be6794f5ffd567aadea75fc6895ef34d2b70b764f539f72a6a2baeb - languageName: node - linkType: hard - "agent-base@npm:^7.0.2, agent-base@npm:^7.1.0": version: 7.1.0 resolution: "agent-base@npm:7.1.0" @@ -4552,15 +4622,6 @@ __metadata: languageName: node linkType: hard -"agentkeepalive@npm:^4.5.0": - version: 4.5.0 - resolution: "agentkeepalive@npm:4.5.0" - dependencies: - humanize-ms: "npm:^1.2.1" - checksum: 10c0/394ea19f9710f230722996e156607f48fdf3a345133b0b1823244b7989426c16019a428b56c82d3eabef616e938812981d9009f4792ecc66bd6a59e991c62612 - languageName: node - linkType: hard - "aggregate-error@npm:^3.0.0": version: 3.1.0 resolution: "aggregate-error@npm:3.1.0" @@ -4924,15 +4985,6 @@ __metadata: languageName: node linkType: hard -"base-x@npm:^3.0.2": - version: 3.0.9 - resolution: "base-x@npm:3.0.9" - dependencies: - safe-buffer: "npm:^5.0.1" - checksum: 10c0/e6bbeae30b24f748b546005affb710c5fbc8b11a83f6cd0ca999bd1ab7ad3a22e42888addc40cd145adc4edfe62fcfab4ebc91da22e4259aae441f95a77aee1a - languageName: node - linkType: hard - "base-x@npm:^4.0.0": version: 4.0.0 resolution: "base-x@npm:4.0.0" @@ -4954,16 +5006,6 @@ __metadata: languageName: node linkType: hard -"bigint-buffer@npm:^1.1.5": - version: 1.1.5 - resolution: "bigint-buffer@npm:1.1.5" - dependencies: - bindings: "npm:^1.3.0" - node-gyp: "npm:latest" - checksum: 10c0/aa41e53d38242a2f05f85b08eaf592635f92e5328822784cda518232b1644efdbf29ab3664951b174cc645848add4605488e25c9439bcc749660c885b4ff6118 - languageName: node - linkType: hard - "binary-extensions@npm:^2.0.0": version: 2.3.0 resolution: "binary-extensions@npm:2.3.0" @@ -4971,22 +5013,6 @@ __metadata: languageName: node linkType: hard -"bind-decorator@npm:^1.0.11": - version: 1.0.11 - resolution: "bind-decorator@npm:1.0.11" - checksum: 10c0/265f1d5cc110075898b0c5f671bb06a05fb3193ee8899e4b66d48bc620248918cf24b14f798cf230ef717063458dc306dbf801268c45989f8546299a541a60fe - languageName: node - linkType: hard - -"bindings@npm:^1.3.0": - version: 1.5.0 - resolution: "bindings@npm:1.5.0" - dependencies: - file-uri-to-path: "npm:1.0.0" - checksum: 10c0/3dab2491b4bb24124252a91e656803eac24292473e56554e35bbfe3cc1875332cfa77600c3bac7564049dc95075bf6fcc63a4609920ff2d64d0fe405fcf0d4ba - languageName: node - linkType: hard - "bl@npm:^4.1.0": version: 4.1.0 resolution: "bl@npm:4.1.0" @@ -4998,21 +5024,24 @@ __metadata: languageName: node linkType: hard -"bn.js@npm:^5.1.1, bn.js@npm:^5.2.0, bn.js@npm:^5.2.1": +"bn.js@npm:^4.11.9": + version: 4.12.0 + resolution: "bn.js@npm:4.12.0" + checksum: 10c0/9736aaa317421b6b3ed038ff3d4491935a01419ac2d83ddcfebc5717385295fcfcf0c57311d90fe49926d0abbd7a9dbefdd8861e6129939177f7e67ebc645b21 + languageName: node + linkType: hard + +"bn.js@npm:^5.2.1": version: 5.2.1 resolution: "bn.js@npm:5.2.1" checksum: 10c0/bed3d8bd34ec89dbcf9f20f88bd7d4a49c160fda3b561c7bb227501f974d3e435a48fb9b61bc3de304acab9215a3bda0803f7017ffb4d0016a0c3a740a283caa languageName: node linkType: hard -"borsh@npm:^0.7.0": - version: 0.7.0 - resolution: "borsh@npm:0.7.0" - dependencies: - bn.js: "npm:^5.2.0" - bs58: "npm:^4.0.0" - text-encoding-utf-8: "npm:^1.0.2" - checksum: 10c0/513b3e51823d2bf5be77cec27742419d2b0427504825dd7ceb00dedb820f246a4762f04b83d5e3aa39c8e075b3cbaeb7ca3c90bd1cbeecccb4a510575be8c581 +"bowser@npm:^2.9.0": + version: 2.11.0 + resolution: "bowser@npm:2.11.0" + checksum: 10c0/04efeecc7927a9ec33c667fa0965dea19f4ac60b3fea60793c2e6cf06c1dcd2f7ae1dbc656f450c5f50783b1c75cf9dc173ba6f3b7db2feee01f8c4b793e1bd3 languageName: node linkType: hard @@ -5044,6 +5073,13 @@ __metadata: languageName: node linkType: hard +"brorand@npm:^1.1.0": + version: 1.1.0 + resolution: "brorand@npm:1.1.0" + checksum: 10c0/6f366d7c4990f82c366e3878492ba9a372a73163c09871e80d82fb4ae0d23f9f8924cb8a662330308206e6b3b76ba1d528b4601c9ef73c2166b440b2ea3b7571 + languageName: node + linkType: hard + "browserslist@npm:^4.22.2": version: 4.23.0 resolution: "browserslist@npm:4.23.0" @@ -5058,15 +5094,6 @@ __metadata: languageName: node linkType: hard -"bs58@npm:^4.0.0, bs58@npm:^4.0.1": - version: 4.0.1 - resolution: "bs58@npm:4.0.1" - dependencies: - base-x: "npm:^3.0.2" - checksum: 10c0/613a1b1441e754279a0e3f44d1faeb8c8e838feef81e550efe174ff021dd2e08a4c9ae5805b52dfdde79f97b5c0918c78dd24a0eb726c4a94365f0984a0ffc65 - languageName: node - linkType: hard - "bs58@npm:^5.0.0": version: 5.0.0 resolution: "bs58@npm:5.0.0" @@ -5085,16 +5112,6 @@ __metadata: languageName: node linkType: hard -"buffer@npm:6.0.3, buffer@npm:^6.0.3, buffer@npm:~6.0.3": - version: 6.0.3 - resolution: "buffer@npm:6.0.3" - dependencies: - base64-js: "npm:^1.3.1" - ieee754: "npm:^1.2.1" - checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 - languageName: node - linkType: hard - "buffer@npm:^5.5.0": version: 5.7.1 resolution: "buffer@npm:5.7.1" @@ -5105,7 +5122,17 @@ __metadata: languageName: node linkType: hard -"bufferutil@npm:^4.0.1": +"buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.2.1" + checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 + languageName: node + linkType: hard + +"bufferutil@npm:^4.0.8": version: 4.0.8 resolution: "bufferutil@npm:4.0.8" dependencies: @@ -5466,7 +5493,7 @@ __metadata: languageName: node linkType: hard -"clsx@npm:^1.1.0": +"clsx@npm:^1.1.0, clsx@npm:^1.2.1": version: 1.2.1 resolution: "clsx@npm:1.2.1" checksum: 10c0/34dead8bee24f5e96f6e7937d711978380647e936a22e76380290e35486afd8634966ce300fc4b74a32f3762c7d4c0303f442c3e259f4ce02374eb0c82834f27 @@ -5535,13 +5562,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^2.20.3": - version: 2.20.3 - resolution: "commander@npm:2.20.3" - checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 - languageName: node - linkType: hard - "common-tags@npm:1.8.2": version: 1.8.2 resolution: "common-tags@npm:1.8.2" @@ -5595,12 +5615,10 @@ __metadata: languageName: node linkType: hard -"copy-to-clipboard@npm:^3.3.3": - version: 3.3.3 - resolution: "copy-to-clipboard@npm:3.3.3" - dependencies: - toggle-selection: "npm:^1.0.6" - checksum: 10c0/3ebf5e8ee00601f8c440b83ec08d838e8eabb068c1fae94a9cda6b42f288f7e1b552f3463635f419af44bf7675afc8d0390d30876cf5c2d5d35f86d9c56a3e5f +"core-util-is@npm:~1.0.0": + version: 1.0.3 + resolution: "core-util-is@npm:1.0.3" + checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 languageName: node linkType: hard @@ -5641,6 +5659,15 @@ __metadata: languageName: node linkType: hard +"crc-32@npm:^1.2.0": + version: 1.2.2 + resolution: "crc-32@npm:1.2.2" + bin: + crc32: bin/crc32.njs + checksum: 10c0/11dcf4a2e77ee793835d49f2c028838eae58b44f50d1ff08394a610bfd817523f105d6ae4d9b5bef0aad45510f633eb23c903e9902e4409bed1ce70cb82b9bf0 + languageName: node + linkType: hard + "cross-fetch@npm:^3.1.4, cross-fetch@npm:^3.1.5": version: 3.1.8 resolution: "cross-fetch@npm:3.1.8" @@ -5650,6 +5677,15 @@ __metadata: languageName: node linkType: hard +"cross-fetch@npm:^4.0.0": + version: 4.0.0 + resolution: "cross-fetch@npm:4.0.0" + dependencies: + node-fetch: "npm:^2.6.12" + checksum: 10c0/386727dc4c6b044746086aced959ff21101abb85c43df5e1d151547ccb6f338f86dec3f28b9dbddfa8ff5b9ec8662ed2263ad4607a93b2dc354fb7fe3bbb898a + languageName: node + linkType: hard + "cross-inspect@npm:1.0.0": version: 1.0.0 resolution: "cross-inspect@npm:1.0.0" @@ -5838,6 +5874,15 @@ __metadata: languageName: node linkType: hard +"date-fns@npm:^2.29.3": + version: 2.30.0 + resolution: "date-fns@npm:2.30.0" + dependencies: + "@babel/runtime": "npm:^7.21.0" + checksum: 10c0/e4b521fbf22bc8c3db332bbfb7b094fd3e7627de0259a9d17c7551e2d2702608a7307a449206065916538e384f37b181565447ce2637ae09828427aed9cb5581 + languageName: node + linkType: hard + "date-fns@npm:^3.6.0": version: 3.6.0 resolution: "date-fns@npm:3.6.0" @@ -5852,7 +5897,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:4.3.4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": +"debug@npm:4, debug@npm:4.3.4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:~4.3.1, debug@npm:~4.3.2": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -5894,7 +5939,7 @@ __metadata: languageName: node linkType: hard -"decode-uri-component@npm:^0.2.0, decode-uri-component@npm:^0.2.2": +"decode-uri-component@npm:^0.2.2": version: 0.2.2 resolution: "decode-uri-component@npm:0.2.2" checksum: 10c0/1f4fa54eb740414a816b3f6c24818fbfcabd74ac478391e9f4e2282c994127db02010ce804f3d08e38255493cfe68608b3f5c8e09fd6efc4ae46c807691f7a31 @@ -5956,6 +6001,13 @@ __metadata: languageName: node linkType: hard +"define-lazy-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "define-lazy-prop@npm:2.0.0" + checksum: 10c0/db6c63864a9d3b7dc9def55d52764968a5af296de87c1b2cc71d8be8142e445208071953649e0386a8cc37cfcf9a2067a47207f1eb9ff250c2a269658fdae422 + languageName: node + linkType: hard + "define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" @@ -5974,13 +6026,6 @@ __metadata: languageName: node linkType: hard -"delay@npm:^5.0.0": - version: 5.0.0 - resolution: "delay@npm:5.0.0" - checksum: 10c0/01cdc4cd0cd35fb622518a3df848e67e09763a38e7cdada2232b6fda9ddda72eddcf74f0e24211200fbe718434f2335f2a2633875a6c96037fefa6de42896ad7 - languageName: node - linkType: hard - "delayed-stream@npm:~1.0.0": version: 1.0.0 resolution: "delayed-stream@npm:1.0.0" @@ -6002,7 +6047,7 @@ __metadata: languageName: node linkType: hard -"detect-browser@npm:5.3.0, detect-browser@npm:^5.3.0": +"detect-browser@npm:5.3.0, detect-browser@npm:^5.2.0": version: 5.3.0 resolution: "detect-browser@npm:5.3.0" checksum: 10c0/88d49b70ce3836e7971345b2ebdd486ad0d457d1e4f066540d0c12f9210c8f731ccbed955fcc9af2f048f5d4629702a8e46bedf5bcad42ad49a3a0927bfd5a76 @@ -6126,6 +6171,17 @@ __metadata: languageName: node linkType: hard +"eciesjs@npm:^0.3.15": + version: 0.3.18 + resolution: "eciesjs@npm:0.3.18" + dependencies: + "@types/secp256k1": "npm:^4.0.4" + futoin-hkdf: "npm:^1.5.3" + secp256k1: "npm:^5.0.0" + checksum: 10c0/88e334b1fb8ae685eadf8023bc4a5c5247c1f7e6b873b8ba8ec84a3e7890352160ca7fcc1b78f75e67e04f2142310e89788a013fbb4f272f2130e76ada5050bc + languageName: node + linkType: hard + "electron-to-chromium@npm:^1.4.668": version: 1.4.711 resolution: "electron-to-chromium@npm:1.4.711" @@ -6133,6 +6189,21 @@ __metadata: languageName: node linkType: hard +"elliptic@npm:^6.5.4": + version: 6.5.5 + resolution: "elliptic@npm:6.5.5" + dependencies: + bn.js: "npm:^4.11.9" + brorand: "npm:^1.1.0" + hash.js: "npm:^1.0.0" + hmac-drbg: "npm:^1.0.1" + inherits: "npm:^2.0.4" + minimalistic-assert: "npm:^1.0.1" + minimalistic-crypto-utils: "npm:^1.0.1" + checksum: 10c0/3e591e93783a1b66f234ebf5bd3a8a9a8e063a75073a35a671e03e3b25253b6e33ac121f7efe9b8808890fffb17b40596cc19d01e6e8d1fa13b9a56ff65597c8 + languageName: node + linkType: hard + "emoji-regex@npm:^10.3.0": version: 10.3.0 resolution: "emoji-regex@npm:10.3.0" @@ -6170,7 +6241,7 @@ __metadata: languageName: node linkType: hard -"end-of-stream@npm:^1.4.1": +"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.0, end-of-stream@npm:^1.4.1": version: 1.4.4 resolution: "end-of-stream@npm:1.4.4" dependencies: @@ -6179,6 +6250,26 @@ __metadata: languageName: node linkType: hard +"engine.io-client@npm:~6.5.2": + version: 6.5.3 + resolution: "engine.io-client@npm:6.5.3" + dependencies: + "@socket.io/component-emitter": "npm:~3.1.0" + debug: "npm:~4.3.1" + engine.io-parser: "npm:~5.2.1" + ws: "npm:~8.11.0" + xmlhttprequest-ssl: "npm:~2.0.0" + checksum: 10c0/15d2136655972984012fe5c92446ff9939c08d872262bbb23cd54be1b66a00d489da93321cd01a8ad72eaf4022cfd73bdc8bccf32fa51c097a96c0b4c679cd7b + languageName: node + linkType: hard + +"engine.io-parser@npm:~5.2.1": + version: 5.2.2 + resolution: "engine.io-parser@npm:5.2.2" + checksum: 10c0/38e71a92ed75e2873d4d9cfab7f889e4a3cfc939b689abd1045e1b2ef9f1a50d0350a2bef69f33d313c1aa626232702da5a9043a1038d76f5ecc0be440c648ab + languageName: node + linkType: hard + "env-paths@npm:^2.2.0": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -6334,22 +6425,6 @@ __metadata: languageName: node linkType: hard -"es6-promise@npm:^4.0.3": - version: 4.2.8 - resolution: "es6-promise@npm:4.2.8" - checksum: 10c0/2373d9c5e9a93bdd9f9ed32ff5cb6dd3dd785368d1c21e9bbbfd07d16345b3774ae260f2bd24c8f836a6903f432b4151e7816a7fa8891ccb4e1a55a028ec42c3 - languageName: node - linkType: hard - -"es6-promisify@npm:^5.0.0": - version: 5.0.0 - resolution: "es6-promisify@npm:5.0.0" - dependencies: - es6-promise: "npm:^4.0.3" - checksum: 10c0/23284c6a733cbf7842ec98f41eac742c9f288a78753c4fe46652bae826446ced7615b9e8a5c5f121a08812b1cd478ea58630f3e1c3d70835bd5dcd69c7cd75c9 - languageName: node - linkType: hard - "esbuild@npm:^0.20.1": version: 0.20.2 resolution: "esbuild@npm:0.20.2" @@ -6437,6 +6512,13 @@ __metadata: languageName: node linkType: hard +"escape-string-regexp@npm:2.0.0, escape-string-regexp@npm:^2.0.0": + version: 2.0.0 + resolution: "escape-string-regexp@npm:2.0.0" + checksum: 10c0/2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507 + languageName: node + linkType: hard + "escape-string-regexp@npm:^1.0.5": version: 1.0.5 resolution: "escape-string-regexp@npm:1.0.5" @@ -6444,13 +6526,6 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:^2.0.0": - version: 2.0.0 - resolution: "escape-string-regexp@npm:2.0.0" - checksum: 10c0/2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507 - languageName: node - linkType: hard - "escape-string-regexp@npm:^4.0.0": version: 4.0.0 resolution: "escape-string-regexp@npm:4.0.0" @@ -6789,28 +6864,29 @@ __metadata: languageName: node linkType: hard -"eth-block-tracker@npm:6.1.0": - version: 6.1.0 - resolution: "eth-block-tracker@npm:6.1.0" +"eth-block-tracker@npm:^7.1.0": + version: 7.1.0 + resolution: "eth-block-tracker@npm:7.1.0" dependencies: - "@metamask/safe-event-emitter": "npm:^2.0.0" - "@metamask/utils": "npm:^3.0.1" + "@metamask/eth-json-rpc-provider": "npm:^1.0.0" + "@metamask/safe-event-emitter": "npm:^3.0.0" + "@metamask/utils": "npm:^5.0.1" json-rpc-random-id: "npm:^1.0.1" pify: "npm:^3.0.0" - checksum: 10c0/31cee76eeab18e68363aafbc1687f496f21e6e1a3aab9efe2582abc1885f77c37191006809f1819c81611019512375f9987f9fcae1ed4ac4650fb1582387fdcf + checksum: 10c0/86a5cabef7fa8505c27b5fad1b2f0100c21fda11ad64a701f76eb4224f8c7edab706181fd0934e106a71f5465d57278448af401eb3e584b3529d943ddd4d7dfb languageName: node linkType: hard -"eth-json-rpc-filters@npm:5.1.0": - version: 5.1.0 - resolution: "eth-json-rpc-filters@npm:5.1.0" +"eth-json-rpc-filters@npm:^6.0.0": + version: 6.0.1 + resolution: "eth-json-rpc-filters@npm:6.0.1" dependencies: - "@metamask/safe-event-emitter": "npm:^2.0.0" + "@metamask/safe-event-emitter": "npm:^3.0.0" async-mutex: "npm:^0.2.6" eth-query: "npm:^2.1.2" json-rpc-engine: "npm:^6.1.0" pify: "npm:^5.0.0" - checksum: 10c0/70598749ed369e1ae2013d7f48421a82636f3dc803976f5e7a4a7109e8df6ef0532010a635645e5f83fa8ed8054b5338d4dbd4901d41392155eec91c69df5492 + checksum: 10c0/69699460fd7837e13e42c1c74fbbfc44c01139ffd694e50235c78773c06059988be5c83dbe3a14d175ecc2bf3e385c4bfd3d6ab5d2d4714788b0b461465a3f56 languageName: node linkType: hard @@ -6824,21 +6900,24 @@ __metadata: languageName: node linkType: hard -"eth-rpc-errors@npm:4.0.2": - version: 4.0.2 - resolution: "eth-rpc-errors@npm:4.0.2" +"eth-rpc-errors@npm:^4.0.2, eth-rpc-errors@npm:^4.0.3": + version: 4.0.3 + resolution: "eth-rpc-errors@npm:4.0.3" dependencies: fast-safe-stringify: "npm:^2.0.6" - checksum: 10c0/e777788481945e7cfa1068bbf2e6368dfa2c65e0b8e50d15ea902369cc9509d7c157c8e384341ddfcd7e7d045a5f0d8e28cac7c6d0d4dffe94c35342e78f7e3f + checksum: 10c0/332cbc5a957b62bb66ea01da2a467da65026df47e6516a286a969cad74d6002f2b481335510c93f12ca29c46ebc8354e39e2240769d86184f9b4c30832cf5466 languageName: node linkType: hard -"eth-rpc-errors@npm:^4.0.2": - version: 4.0.3 - resolution: "eth-rpc-errors@npm:4.0.3" +"ethereum-cryptography@npm:^2.0.0": + version: 2.1.3 + resolution: "ethereum-cryptography@npm:2.1.3" dependencies: - fast-safe-stringify: "npm:^2.0.6" - checksum: 10c0/332cbc5a957b62bb66ea01da2a467da65026df47e6516a286a969cad74d6002f2b481335510c93f12ca29c46ebc8354e39e2240769d86184f9b4c30832cf5466 + "@noble/curves": "npm:1.3.0" + "@noble/hashes": "npm:1.3.3" + "@scure/bip32": "npm:1.3.3" + "@scure/bip39": "npm:1.2.2" + checksum: 10c0/a2f25ad5ffa44b4364b1540a57969ee6f1dd820aa08a446f40f31203fef54a09442a6c099e70e7c1485922f6391c4c45b90f2c401e04d88ac9cc4611b05e606f languageName: node linkType: hard @@ -6857,21 +6936,35 @@ __metadata: languageName: node linkType: hard -"eventemitter3@npm:^4.0.1, eventemitter3@npm:^4.0.7": - version: 4.0.7 - resolution: "eventemitter3@npm:4.0.7" - checksum: 10c0/5f6d97cbcbac47be798e6355e3a7639a84ee1f7d9b199a07017f1d2f1e2fe236004d14fa5dfaeba661f94ea57805385e326236a6debbc7145c8877fbc0297c6b +"event-target-shim@npm:^5.0.0": + version: 5.0.1 + resolution: "event-target-shim@npm:5.0.1" + checksum: 10c0/0255d9f936215fd206156fd4caa9e8d35e62075d720dc7d847e89b417e5e62cf1ce6c9b4e0a1633a9256de0efefaf9f8d26924b1f3c8620cffb9db78e7d3076b languageName: node linkType: hard -"eventemitter3@npm:^5.0.1": +"eventemitter2@npm:^6.4.7": + version: 6.4.9 + resolution: "eventemitter2@npm:6.4.9" + checksum: 10c0/b2adf7d9f1544aa2d95ee271b0621acaf1e309d85ebcef1244fb0ebc7ab0afa6ffd5e371535d0981bc46195ad67fd6ff57a8d1db030584dee69aa5e371a27ea7 + languageName: node + linkType: hard + +"eventemitter3@npm:5.0.1, eventemitter3@npm:^5.0.1": version: 5.0.1 resolution: "eventemitter3@npm:5.0.1" checksum: 10c0/4ba5c00c506e6c786b4d6262cfbce90ddc14c10d4667e5c83ae993c9de88aa856033994dd2b35b83e8dc1170e224e66a319fa80adc4c32adcd2379bbc75da814 languageName: node linkType: hard -"events@npm:^3.3.0": +"eventemitter3@npm:^4.0.1": + version: 4.0.7 + resolution: "eventemitter3@npm:4.0.7" + checksum: 10c0/5f6d97cbcbac47be798e6355e3a7639a84ee1f7d9b199a07017f1d2f1e2fe236004d14fa5dfaeba661f94ea57805385e326236a6debbc7145c8877fbc0297c6b + languageName: node + linkType: hard + +"events@npm:3.3.0, events@npm:^3.3.0": version: 3.3.0 resolution: "events@npm:3.3.0" checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 @@ -6915,6 +7008,16 @@ __metadata: languageName: node linkType: hard +"extension-port-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "extension-port-stream@npm:3.0.0" + dependencies: + readable-stream: "npm:^3.6.2 || ^4.4.2" + webextension-polyfill: "npm:>=0.10.0 <1.0" + checksum: 10c0/5645ba63b8e77996b75a5aae5a37d169fef13b65d575fa72b0cf9199c7ecd46df7ef76fbf7d6384b375544e48eb2c8912b62200320ed2a5ef9526a00fcc148d9 + languageName: node + linkType: hard + "external-editor@npm:^3.0.3": version: 3.1.0 resolution: "external-editor@npm:3.1.0" @@ -6933,13 +7036,6 @@ __metadata: languageName: node linkType: hard -"eyes@npm:^0.1.8": - version: 0.1.8 - resolution: "eyes@npm:0.1.8" - checksum: 10c0/4c79a9cbf45746d8c9f48cc957e35ad8ea336add1c7b8d5a0e002efc791a7a62b27b2188184ef1a1eea7bc3cd06b161791421e0e6c5fe78309705a162c53eea8 - languageName: node - linkType: hard - "fast-decode-uri-component@npm:^1.0.1": version: 1.0.1 resolution: "fast-decode-uri-component@npm:1.0.1" @@ -7018,13 +7114,6 @@ __metadata: languageName: node linkType: hard -"fast-stable-stringify@npm:^1.0.0": - version: 1.0.0 - resolution: "fast-stable-stringify@npm:1.0.0" - checksum: 10c0/1d773440c7a9615950577665074746c2e92edafceefa789616ecb6166229e0ccc6dae206ca9b9f7da0d274ba5779162aab2d07940a0f6e52a41a4e555392eb3b - languageName: node - linkType: hard - "fast-url-parser@npm:^1.1.3": version: 1.1.3 resolution: "fast-url-parser@npm:1.1.3" @@ -7101,13 +7190,6 @@ __metadata: languageName: node linkType: hard -"file-uri-to-path@npm:1.0.0": - version: 1.0.0 - resolution: "file-uri-to-path@npm:1.0.0" - checksum: 10c0/3b545e3a341d322d368e880e1c204ef55f1d45cdea65f7efc6c6ce9e0c4d22d802d5629320eb779d006fe59624ac17b0e848d83cc5af7cd101f206cb704f5519 - languageName: node - linkType: hard - "fill-range@npm:^7.0.1": version: 7.0.1 resolution: "fill-range@npm:7.0.1" @@ -7311,6 +7393,13 @@ __metadata: languageName: node linkType: hard +"futoin-hkdf@npm:^1.5.3": + version: 1.5.3 + resolution: "futoin-hkdf@npm:1.5.3" + checksum: 10c0/fe87b50d2ac125ca2074e92588ca1df5016e9657267363cb77d8287080639dc31f90e7740f4737aa054c3e687b2ab3456f9b5c55950b94cd2c2010bc441aa5ae + languageName: node + linkType: hard + "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -7637,7 +7726,7 @@ __metadata: languageName: node linkType: hard -"hash.js@npm:^1.1.7": +"hash.js@npm:^1.0.0, hash.js@npm:^1.0.3": version: 1.1.7 resolution: "hash.js@npm:1.1.7" dependencies: @@ -7700,6 +7789,17 @@ __metadata: languageName: node linkType: hard +"hmac-drbg@npm:^1.0.1": + version: 1.0.1 + resolution: "hmac-drbg@npm:1.0.1" + dependencies: + hash.js: "npm:^1.0.3" + minimalistic-assert: "npm:^1.0.0" + minimalistic-crypto-utils: "npm:^1.0.1" + checksum: 10c0/f3d9ba31b40257a573f162176ac5930109816036c59a09f901eb2ffd7e5e705c6832bedfff507957125f2086a0ab8f853c0df225642a88bf1fcaea945f20600d + languageName: node + linkType: hard + "hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.1, hoist-non-react-statics@npm:^3.3.2": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" @@ -7750,15 +7850,6 @@ __metadata: languageName: node linkType: hard -"humanize-ms@npm:^1.2.1": - version: 1.2.1 - resolution: "humanize-ms@npm:1.2.1" - dependencies: - ms: "npm:^2.0.0" - checksum: 10c0/f34a2c20161d02303c2807badec2f3b49cbfbbb409abd4f95a07377ae01cfe6b59e3d15ac609cffcd8f2521f0eb37b7e1091acf65da99aa2a4f1ad63c21e7e7a - languageName: node - linkType: hard - "husky@npm:^9.0.11": version: 9.0.11 resolution: "husky@npm:9.0.11" @@ -7768,6 +7859,24 @@ __metadata: languageName: node linkType: hard +"i18next-browser-languagedetector@npm:7.1.0": + version: 7.1.0 + resolution: "i18next-browser-languagedetector@npm:7.1.0" + dependencies: + "@babel/runtime": "npm:^7.19.4" + checksum: 10c0/d7cd0ea0ad6047e786de665d67b41cbb0940a2983eb2c53dd85a5d71f88e170550bba8de45728470a2b5f88060bed2c79f330aff9806dd50ef58ade0ec7b8ca3 + languageName: node + linkType: hard + +"i18next@npm:22.5.1": + version: 22.5.1 + resolution: "i18next@npm:22.5.1" + dependencies: + "@babel/runtime": "npm:^7.20.6" + checksum: 10c0/a284f8d805ebad77114a830e60d5c59485a7f4d45179761f877249b63035572cff4103e5b4702669dff1a0e03b4e8b6df377bc871935f8215e43fd97e8e9e910 + languageName: node + linkType: hard + "iconv-lite@npm:^0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" @@ -7855,7 +7964,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.4": +"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 @@ -7903,7 +8012,7 @@ __metadata: languageName: node linkType: hard -"invariant@npm:^2.2.4": +"invariant@npm:2.2.4, invariant@npm:^2.2.4": version: 2.2.4 resolution: "invariant@npm:2.2.4" dependencies: @@ -8061,6 +8170,15 @@ __metadata: languageName: node linkType: hard +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": + version: 2.2.1 + resolution: "is-docker@npm:2.2.1" + bin: + is-docker: cli.js + checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc + languageName: node + linkType: hard + "is-docker@npm:^3.0.0": version: 3.0.0 resolution: "is-docker@npm:3.0.0" @@ -8240,6 +8358,13 @@ __metadata: languageName: node linkType: hard +"is-stream@npm:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 + languageName: node + linkType: hard + "is-stream@npm:^3.0.0": version: 3.0.0 resolution: "is-stream@npm:3.0.0" @@ -8274,13 +8399,6 @@ __metadata: languageName: node linkType: hard -"is-typedarray@npm:1.0.0, is-typedarray@npm:^1.0.0": - version: 1.0.0 - resolution: "is-typedarray@npm:1.0.0" - checksum: 10c0/4c096275ba041a17a13cca33ac21c16bc4fd2d7d7eb94525e7cd2c2f2c1a3ab956e37622290642501ff4310601e413b675cf399ad6db49855527d2163b3eeeec - languageName: node - linkType: hard - "is-unc-path@npm:^1.0.0": version: 1.0.0 resolution: "is-unc-path@npm:1.0.0" @@ -8339,6 +8457,15 @@ __metadata: languageName: node linkType: hard +"is-wsl@npm:^2.2.0": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: "npm:^2.0.0" + checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e + languageName: node + linkType: hard + "is-wsl@npm:^3.1.0": version: 3.1.0 resolution: "is-wsl@npm:3.1.0" @@ -8364,6 +8491,13 @@ __metadata: languageName: node linkType: hard +"isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d + languageName: node + linkType: hard + "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" @@ -8388,15 +8522,6 @@ __metadata: languageName: node linkType: hard -"isomorphic-ws@npm:^4.0.1": - version: 4.0.1 - resolution: "isomorphic-ws@npm:4.0.1" - peerDependencies: - ws: "*" - checksum: 10c0/7cb90dc2f0eb409825558982fb15d7c1d757a88595efbab879592f9d2b63820d6bbfb5571ab8abe36c715946e165a413a99f6aafd9f40ab1f514d73487bc9996 - languageName: node - linkType: hard - "isomorphic-ws@npm:^5.0.0": version: 5.0.0 resolution: "isomorphic-ws@npm:5.0.0" @@ -8415,6 +8540,15 @@ __metadata: languageName: node linkType: hard +"isows@npm:1.0.4": + version: 1.0.4 + resolution: "isows@npm:1.0.4" + peerDependencies: + ws: "*" + checksum: 10c0/46f43b07edcf148acba735ddfc6ed985e1e124446043ea32b71023e67671e46619c8818eda8c34a9ac91cb37c475af12a3aeeee676a88a0aceb5d67a3082313f + languageName: node + linkType: hard + "iterator.prototype@npm:^1.1.2": version: 1.1.2 resolution: "iterator.prototype@npm:1.1.2" @@ -8441,28 +8575,6 @@ __metadata: languageName: node linkType: hard -"jayson@npm:^4.1.0": - version: 4.1.0 - resolution: "jayson@npm:4.1.0" - dependencies: - "@types/connect": "npm:^3.4.33" - "@types/node": "npm:^12.12.54" - "@types/ws": "npm:^7.4.4" - JSONStream: "npm:^1.3.5" - commander: "npm:^2.20.3" - delay: "npm:^5.0.0" - es6-promisify: "npm:^5.0.0" - eyes: "npm:^0.1.8" - isomorphic-ws: "npm:^4.0.1" - json-stringify-safe: "npm:^5.0.1" - uuid: "npm:^8.3.2" - ws: "npm:^7.4.5" - bin: - jayson: bin/jayson.js - checksum: 10c0/1b3a642eab65e7c07be45d6b9c08c1713348ed71454e37536f479400eb6c7257061fab74430d4677d1cedbed18db8fe8370202f0b52fac87d9c7af1140aa293d - languageName: node - linkType: hard - "jest-diff@npm:^29.7.0": version: 29.7.0 resolution: "jest-diff@npm:29.7.0" @@ -8589,7 +8701,7 @@ __metadata: languageName: node linkType: hard -"json-rpc-engine@npm:6.1.0, json-rpc-engine@npm:^6.1.0": +"json-rpc-engine@npm:^6.1.0": version: 6.1.0 resolution: "json-rpc-engine@npm:6.1.0" dependencies: @@ -8632,13 +8744,6 @@ __metadata: languageName: node linkType: hard -"json-stringify-safe@npm:^5.0.1": - version: 5.0.1 - resolution: "json-stringify-safe@npm:5.0.1" - checksum: 10c0/7dbf35cd0411d1d648dceb6d59ce5857ec939e52e4afc37601aa3da611f0987d5cee5b38d58329ceddf3ed48bd7215229c8d52059ab01f2444a338bf24ed0f37 - languageName: node - linkType: hard - "json-to-pretty-yaml@npm:^1.2.2": version: 1.2.2 resolution: "json-to-pretty-yaml@npm:1.2.2" @@ -8683,13 +8788,6 @@ __metadata: languageName: node linkType: hard -"jsonparse@npm:^1.2.0": - version: 1.3.1 - resolution: "jsonparse@npm:1.3.1" - checksum: 10c0/89bc68080cd0a0e276d4b5ab1b79cacd68f562467008d176dc23e16e97d4efec9e21741d92ba5087a8433526a45a7e6a9d5ef25408696c402ca1cfbc01a90bf0 - languageName: node - linkType: hard - "jsx-ast-utils@npm:^2.4.1 || ^3.0.0": version: 3.3.5 resolution: "jsx-ast-utils@npm:3.3.5" @@ -8702,7 +8800,7 @@ __metadata: languageName: node linkType: hard -"keccak@npm:^3.0.1": +"keccak@npm:^3.0.3": version: 3.0.4 resolution: "keccak@npm:3.0.4" dependencies: @@ -9112,6 +9210,13 @@ __metadata: languageName: node linkType: hard +"micro-ftch@npm:^0.3.1": + version: 0.3.1 + resolution: "micro-ftch@npm:0.3.1" + checksum: 10c0/b87d35a52aded13cf2daca8d4eaa84e218722b6f83c75ddd77d74f32cc62e699a672e338e1ee19ceae0de91d19cc24dcc1a7c7d78c81f51042fe55f01b196ed3 + languageName: node + linkType: hard + "micromatch@npm:4.0.5, micromatch@npm:^4.0.4, micromatch@npm:^4.0.5": version: 4.0.5 resolution: "micromatch@npm:4.0.5" @@ -9161,13 +9266,20 @@ __metadata: languageName: node linkType: hard -"minimalistic-assert@npm:^1.0.1": +"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": version: 1.0.1 resolution: "minimalistic-assert@npm:1.0.1" checksum: 10c0/96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd languageName: node linkType: hard +"minimalistic-crypto-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-crypto-utils@npm:1.0.1" + checksum: 10c0/790ecec8c5c73973a4fbf2c663d911033e8494d5fb0960a4500634766ab05d6107d20af896ca2132e7031741f19888154d44b2408ada0852446705441383e9f8 + languageName: node + linkType: hard + "minimatch@npm:9.0.3, minimatch@npm:^9.0.1": version: 9.0.3 resolution: "minimatch@npm:9.0.3" @@ -9286,6 +9398,20 @@ __metadata: languageName: node linkType: hard +"mipd@npm:0.0.5": + version: 0.0.5 + resolution: "mipd@npm:0.0.5" + dependencies: + viem: "npm:^1.1.4" + peerDependencies: + typescript: ">=5.0.4" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/6b0a82cdc9eec5c12132b46422799cf536b1062b307a6aa0ce57ef240c56bd2dd231a5eda367c8a8962cbff73dd1af6131b8d769e3b47a06f0fc9d148b56f3dd + languageName: node + linkType: hard + "mkdirp@npm:^1.0.3": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" @@ -9342,7 +9468,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:^2.0.0, ms@npm:^2.1.1": +"ms@npm:^2.1.1": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 @@ -9412,6 +9538,15 @@ __metadata: languageName: node linkType: hard +"node-addon-api@npm:^5.0.0": + version: 5.1.0 + resolution: "node-addon-api@npm:5.1.0" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/0eb269786124ba6fad9df8007a149e03c199b3e5a3038125dfb3e747c2d5113d406a4e33f4de1ea600aa2339be1f137d55eba1a73ee34e5fff06c52a5c296d1d + languageName: node + linkType: hard + "node-addon-api@npm:^7.0.0": version: 7.1.0 resolution: "node-addon-api@npm:7.1.0" @@ -9428,7 +9563,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.12, node-fetch@npm:^2.7.0": +"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.12": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -9550,6 +9685,17 @@ __metadata: languageName: node linkType: hard +"obj-multiplex@npm:^1.0.0": + version: 1.0.0 + resolution: "obj-multiplex@npm:1.0.0" + dependencies: + end-of-stream: "npm:^1.4.0" + once: "npm:^1.4.0" + readable-stream: "npm:^2.3.3" + checksum: 10c0/914e979ab40fb26cbe4309a5fc1cc6b6a428aeff17a015b9abb1197894ee67f6f02542ffd76d8e275cc40b18adc125bff6e2d6b5090932798c135100c5942007 + languageName: node + linkType: hard + "object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" @@ -9663,7 +9809,7 @@ __metadata: languageName: node linkType: hard -"once@npm:^1.3.0, once@npm:^1.4.0": +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" dependencies: @@ -9690,6 +9836,17 @@ __metadata: languageName: node linkType: hard +"open@npm:^8.4.0": + version: 8.4.2 + resolution: "open@npm:8.4.2" + dependencies: + define-lazy-prop: "npm:^2.0.0" + is-docker: "npm:^2.1.1" + is-wsl: "npm:^2.2.0" + checksum: 10c0/bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9 + languageName: node + linkType: hard + "optionator@npm:^0.9.3": version: 0.9.3 resolution: "optionator@npm:0.9.3" @@ -10031,6 +10188,13 @@ __metadata: languageName: node linkType: hard +"pony-cause@npm:^2.1.10": + version: 2.1.11 + resolution: "pony-cause@npm:2.1.11" + checksum: 10c0/d5db6489ec42f8fcce0fd9ad2052be98cd8f63814bf32819694ec1f4c6a01bc3be6181050d83bc79e95272174a5b9776d1c2af1fa79ef51e0ccc0f97c22b1420 + languageName: node + linkType: hard + "possible-typed-array-names@npm:^1.0.0": version: 1.0.0 resolution: "possible-typed-array-names@npm:1.0.0" @@ -10049,10 +10213,10 @@ __metadata: languageName: node linkType: hard -"preact@npm:^10.12.0, preact@npm:^10.5.9": - version: 10.19.7 - resolution: "preact@npm:10.19.7" - checksum: 10c0/27ee3eb40bdc83cc917c29b74526537ff05922dca210818999d7d5b546619fc6dcb7d6460b54198c018ba62c43b59e914676a8cb91548a2dfac3eee8efae334d +"preact@npm:^10.16.0": + version: 10.22.0 + resolution: "preact@npm:10.22.0" + checksum: 10c0/dc5466c5968c56997e917580c00983cec2f6486a89ea9ba29f1bb88dcfd2f9ff67c8d561a69a1b3acdab17f2bb36b311fef0c348b62e89c332d00c674f7871f0 languageName: node linkType: hard @@ -10120,6 +10284,13 @@ __metadata: languageName: node linkType: hard +"process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: 10c0/bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 + languageName: node + linkType: hard + "process-warning@npm:^1.0.0": version: 1.0.0 resolution: "process-warning@npm:1.0.0" @@ -10127,6 +10298,13 @@ __metadata: languageName: node linkType: hard +"process@npm:^0.11.10": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: 10c0/40c3ce4b7e6d4b8c3355479df77aeed46f81b279818ccdc500124e6a5ab882c0cc81ff7ea16384873a95a74c4570b01b120f287abbdd4c877931460eca6084b3 + languageName: node + linkType: hard + "promise-retry@npm:^2.0.1": version: 2.0.1 resolution: "promise-retry@npm:2.0.1" @@ -10187,6 +10365,16 @@ __metadata: languageName: node linkType: hard +"pump@npm:^3.0.0": + version: 3.0.0 + resolution: "pump@npm:3.0.0" + dependencies: + end-of-stream: "npm:^1.1.0" + once: "npm:^1.3.1" + checksum: 10c0/bbdeda4f747cdf47db97428f3a135728669e56a0ae5f354a9ac5b74556556f5446a46f720a8f14ca2ece5be9b4d5d23c346db02b555f46739934cc6c093a5478 + languageName: node + linkType: hard + "punycode@npm:^1.3.2": version: 1.4.1 resolution: "punycode@npm:1.4.1" @@ -10217,7 +10405,32 @@ __metadata: languageName: node linkType: hard -"qrcode@npm:1.5.3, qrcode@npm:^1.5.1": +"qr-code-styling@npm:^1.6.0-rc.1": + version: 1.6.0-rc.1 + resolution: "qr-code-styling@npm:1.6.0-rc.1" + dependencies: + qrcode-generator: "npm:^1.4.3" + checksum: 10c0/d62f63ba800dbf7aa645816fca81c9be33d8561deac3686a00b93ce9f68f1784e2f65e59fdc7b1af22e20f37a47f35f8a0c2827043403bfc058b659a14fe02dd + languageName: node + linkType: hard + +"qrcode-generator@npm:^1.4.3": + version: 1.4.4 + resolution: "qrcode-generator@npm:1.4.4" + checksum: 10c0/3249fcff98cb9fa17c21329d3dfd895e294a2d6ea48161f7b377010779d41f0cd88668b7fb3478a659725061bb0a770b40a227c2f4853e8c4a6b947a9e8bf17a + languageName: node + linkType: hard + +"qrcode-terminal-nooctal@npm:^0.12.1": + version: 0.12.1 + resolution: "qrcode-terminal-nooctal@npm:0.12.1" + bin: + qrcode-terminal: bin/qrcode-terminal.js + checksum: 10c0/a7e1ce29e4a4be633bbef6d55636da560e3e06d7507f2ec5e840f28d3dee5012d0d0c2cd810f8f8b018d08d47b0eb134177d799a7525a204ac82cbc8bd68cb50 + languageName: node + linkType: hard + +"qrcode@npm:1.5.3": version: 1.5.3 resolution: "qrcode@npm:1.5.3" dependencies: @@ -10231,12 +10444,12 @@ __metadata: languageName: node linkType: hard -"qs@npm:^6.10.3": - version: 6.12.0 - resolution: "qs@npm:6.12.0" +"qs@npm:^6.12.1": + version: 6.12.1 + resolution: "qs@npm:6.12.1" dependencies: side-channel: "npm:^1.0.6" - checksum: 10c0/e165a77ac5f3ca60c15c5f3d51b321ddec7aa438804436b29d160117bc6fb7bf7dab94abd0c7d7c0785890d3a75ae41e1d6346e158aaf1540c6fe53a31f11675 + checksum: 10c0/439e6d7c6583e7c69f2cab2c39c55b97db7ce576e4c7c469082b938b7fc8746e8d547baacb69b4cd2b6666484776c3f4840ad7163a4c5326300b0afa0acdd84b languageName: node linkType: hard @@ -10263,18 +10476,6 @@ __metadata: languageName: node linkType: hard -"query-string@npm:^6.13.5": - version: 6.14.1 - resolution: "query-string@npm:6.14.1" - dependencies: - decode-uri-component: "npm:^0.2.0" - filter-obj: "npm:^1.1.0" - split-on-first: "npm:^1.0.0" - strict-uri-encode: "npm:^2.0.0" - checksum: 10c0/900e0fa788000e9dc5f929b6f4141742dcf281f02d3bab9714bc83bea65fab3de75169ea8d61f19cda996bc0dcec72e156efe3c5614c6bce65dcf234ac955b14 - languageName: node - linkType: hard - "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -10296,15 +10497,6 @@ __metadata: languageName: node linkType: hard -"randombytes@npm:^2.1.0": - version: 2.1.0 - resolution: "randombytes@npm:2.1.0" - dependencies: - safe-buffer: "npm:^5.1.0" - checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 - languageName: node - linkType: hard - "react-dom@npm:^18.2.0": version: 18.2.0 resolution: "react-dom@npm:18.2.0" @@ -10338,6 +10530,19 @@ __metadata: languageName: node linkType: hard +"react-native-webview@npm:^11.26.0": + version: 11.26.1 + resolution: "react-native-webview@npm:11.26.1" + dependencies: + escape-string-regexp: "npm:2.0.0" + invariant: "npm:2.2.4" + peerDependencies: + react: "*" + react-native: "*" + checksum: 10c0/9399929f2b598a66634c4663fa7703144eeab10c7027f72de7e9af6da6d96f12ead1cc2fdbb09b9aab4d1410b0578d11aa5b7c3db70ffa92fb0329cf181099a5 + languageName: node + linkType: hard + "react-refresh@npm:^0.14.0": version: 0.14.0 resolution: "react-refresh@npm:0.14.0" @@ -10507,7 +10712,22 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0": +"readable-stream@npm:^2.3.3": + version: 2.3.8 + resolution: "readable-stream@npm:2.3.8" + dependencies: + core-util-is: "npm:~1.0.0" + inherits: "npm:~2.0.3" + isarray: "npm:~1.0.0" + process-nextick-args: "npm:~2.0.0" + safe-buffer: "npm:~5.1.1" + string_decoder: "npm:~1.1.1" + util-deprecate: "npm:~1.0.1" + checksum: 10c0/7efdb01f3853bc35ac62ea25493567bf588773213f5f4a79f9c365e1ad13bab845ac0dae7bc946270dc40c3929483228415e92a3fc600cc7e4548992f41ee3fa + languageName: node + linkType: hard + +"readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0, readable-stream@npm:^3.6.2": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -10518,6 +10738,19 @@ __metadata: languageName: node linkType: hard +"readable-stream@npm:^3.6.2 || ^4.4.2": + version: 4.5.2 + resolution: "readable-stream@npm:4.5.2" + dependencies: + abort-controller: "npm:^3.0.0" + buffer: "npm:^6.0.3" + events: "npm:^3.3.0" + process: "npm:^0.11.10" + string_decoder: "npm:^1.3.0" + checksum: 10c0/a2c80e0e53aabd91d7df0330929e32d0a73219f9477dbbb18472f6fdd6a11a699fc5d172a1beff98d50eae4f1496c950ffa85b7cc2c4c196963f289a5f39275d + languageName: node + linkType: hard + "readdirp@npm:~3.6.0": version: 3.6.0 resolution: "readdirp@npm:3.6.0" @@ -10778,6 +11011,25 @@ __metadata: languageName: node linkType: hard +"rollup-plugin-visualizer@npm:^5.9.2": + version: 5.12.0 + resolution: "rollup-plugin-visualizer@npm:5.12.0" + dependencies: + open: "npm:^8.4.0" + picomatch: "npm:^2.3.1" + source-map: "npm:^0.7.4" + yargs: "npm:^17.5.1" + peerDependencies: + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rollup: + optional: true + bin: + rollup-plugin-visualizer: dist/bin/cli.js + checksum: 10c0/0e44a641223377ebb472bb10f2b22efa773b5f6fbe8d54f197f07c68d7a432cbf00abad79a0aa1570f70c673c792f24700d926d663ed9a4d0ad8406ae5a0f4e4 + languageName: node + linkType: hard + "rollup@npm:^4.13.0": version: 4.13.0 resolution: "rollup@npm:4.13.0" @@ -10832,25 +11084,6 @@ __metadata: languageName: node linkType: hard -"rpc-websockets@npm:^7.5.1": - version: 7.9.0 - resolution: "rpc-websockets@npm:7.9.0" - dependencies: - "@babel/runtime": "npm:^7.17.2" - bufferutil: "npm:^4.0.1" - eventemitter3: "npm:^4.0.7" - utf-8-validate: "npm:^5.0.2" - uuid: "npm:^8.3.2" - ws: "npm:^8.5.0" - dependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/f614b4e79fee18a93228868d7b0cd15ab1dd26f56deddd7a2191432a744f771dad57ba2c217a8d4d596c565b4aa524637fce0a0163fea6151df8fc002f0a3207 - languageName: node - linkType: hard - "run-async@npm:^2.4.0": version: 2.4.1 resolution: "run-async@npm:2.4.1" @@ -10867,15 +11100,6 @@ __metadata: languageName: node linkType: hard -"rxjs@npm:^6.6.3": - version: 6.6.7 - resolution: "rxjs@npm:6.6.7" - dependencies: - tslib: "npm:^1.9.0" - checksum: 10c0/e556a13a9aa89395e5c9d825eabcfa325568d9c9990af720f3f29f04a888a3b854f25845c2b55875d875381abcae2d8100af9cacdc57576e7ed6be030a01d2fe - languageName: node - linkType: hard - "rxjs@npm:^7.5.5": version: 7.8.1 resolution: "rxjs@npm:7.8.1" @@ -10897,13 +11121,20 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:^5.0.1, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 languageName: node linkType: hard +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 + languageName: node + linkType: hard + "safe-regex-test@npm:^1.0.3": version: 1.0.3 resolution: "safe-regex-test@npm:1.0.3" @@ -10945,6 +11176,18 @@ __metadata: languageName: node linkType: hard +"secp256k1@npm:^5.0.0": + version: 5.0.0 + resolution: "secp256k1@npm:5.0.0" + dependencies: + elliptic: "npm:^6.5.4" + node-addon-api: "npm:^5.0.0" + node-gyp: "npm:latest" + node-gyp-build: "npm:^4.2.0" + checksum: 10c0/b9ab4c952babfe6103978b2f656265041ebe09b8a91b26a796cbcbe04d2252e28e12ec50d5ed3006bf2ca5feef6edcbd71c7c85122615f5ffbcd1acdd564f77f + languageName: node + linkType: hard + "semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" @@ -11150,6 +11393,28 @@ __metadata: languageName: node linkType: hard +"socket.io-client@npm:^4.5.1": + version: 4.7.5 + resolution: "socket.io-client@npm:4.7.5" + dependencies: + "@socket.io/component-emitter": "npm:~3.1.0" + debug: "npm:~4.3.2" + engine.io-client: "npm:~6.5.2" + socket.io-parser: "npm:~4.2.4" + checksum: 10c0/d5dc90ee63755fbbb0a1cb3faf575c9ce20d98e809a43a4c9c3ce03a56b8810335ae38e678ceb0650ac434d55e72ea6449c2e5d6db8bc7258f7c529148fac99d + languageName: node + linkType: hard + +"socket.io-parser@npm:~4.2.4": + version: 4.2.4 + resolution: "socket.io-parser@npm:4.2.4" + dependencies: + "@socket.io/component-emitter": "npm:~3.1.0" + debug: "npm:~4.3.1" + checksum: 10c0/9383b30358fde4a801ea4ec5e6860915c0389a091321f1c1f41506618b5cf7cd685d0a31c587467a0c4ee99ef98c2b99fb87911f9dfb329716c43b587f29ca48 + languageName: node + linkType: hard + "socks-proxy-agent@npm:^8.0.1": version: 8.0.2 resolution: "socks-proxy-agent@npm:8.0.2" @@ -11194,6 +11459,13 @@ __metadata: languageName: node linkType: hard +"source-map@npm:^0.7.4": + version: 0.7.4 + resolution: "source-map@npm:0.7.4" + checksum: 10c0/dc0cf3768fe23c345ea8760487f8c97ef6fca8a73c83cd7c9bf2fde8bc2c34adb9c0824d6feb14bc4f9e37fb522e18af621543f1289038a66ac7586da29aa7dc + languageName: node + linkType: hard + "space-separated-tokens@npm:^1.0.0": version: 1.1.5 resolution: "space-separated-tokens@npm:1.1.5" @@ -11263,16 +11535,6 @@ __metadata: languageName: node linkType: hard -"stream-browserify@npm:^3.0.0": - version: 3.0.0 - resolution: "stream-browserify@npm:3.0.0" - dependencies: - inherits: "npm:~2.0.4" - readable-stream: "npm:^3.5.0" - checksum: 10c0/ec3b975a4e0aa4b3dc5e70ffae3fc8fd29ac725353a14e72f213dff477b00330140ad014b163a8cbb9922dfe90803f81a5ea2b269e1bbfd8bd71511b88f889ad - languageName: node - linkType: hard - "stream-shift@npm:^1.0.2": version: 1.0.3 resolution: "stream-shift@npm:1.0.3" @@ -11392,7 +11654,7 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:^1.1.1": +"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" dependencies: @@ -11401,6 +11663,15 @@ __metadata: languageName: node linkType: hard +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: "npm:~5.1.0" + checksum: 10c0/b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e + languageName: node + linkType: hard + "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -11447,13 +11718,6 @@ __metadata: languageName: node linkType: hard -"superstruct@npm:^0.14.2": - version: 0.14.2 - resolution: "superstruct@npm:0.14.2" - checksum: 10c0/e5518f6701524fb8cbae504a84dc9c304bf3fe01616230a5eb4e14af9bfc4e3518b94bfe457e57a5d1b99a2b54f82881b4a39e0b266caa6053f84aa294613b94 - languageName: node - linkType: hard - "superstruct@npm:^1.0.3": version: 1.0.4 resolution: "superstruct@npm:1.0.4" @@ -11526,13 +11790,6 @@ __metadata: languageName: node linkType: hard -"text-encoding-utf-8@npm:^1.0.2": - version: 1.0.2 - resolution: "text-encoding-utf-8@npm:1.0.2" - checksum: 10c0/87a64b394c850e8387c2ca7fc6929a26ce97fb598f1c55cd0fdaec4b8e2c3ed6770f65b2f3309c9175ef64ac5e403c8e48b53ceeb86d2897940c5e19cc00bb99 - languageName: node - linkType: hard - "text-table@npm:^0.2.0": version: 0.2.0 resolution: "text-table@npm:0.2.0" @@ -11549,7 +11806,7 @@ __metadata: languageName: node linkType: hard -"through@npm:>=2.2.7 <3, through@npm:^2.3.6, through@npm:^2.3.8": +"through@npm:^2.3.6, through@npm:^2.3.8": version: 2.3.8 resolution: "through@npm:2.3.8" checksum: 10c0/4b09f3774099de0d4df26d95c5821a62faee32c7e96fb1f4ebd54a2d7c11c57fe88b0a0d49cf375de5fee5ae6bf4eb56dbbf29d07366864e2ee805349970d3cc @@ -11611,13 +11868,6 @@ __metadata: languageName: node linkType: hard -"toggle-selection@npm:^1.0.6": - version: 1.0.6 - resolution: "toggle-selection@npm:1.0.6" - checksum: 10c0/f2cf1f2c70f374fd87b0cdc8007453ba9e981c4305a8bf4eac10a30e62ecdfd28bca7d18f8f15b15a506bf8a7bfb20dbe3539f0fcf2a2c8396c1a78d53e1f179 - languageName: node - linkType: hard - "toposort@npm:^2.0.2": version: 2.0.2 resolution: "toposort@npm:2.0.2" @@ -11674,7 +11924,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:1.14.1, tslib@npm:^1.8.1, tslib@npm:^1.9.0": +"tslib@npm:1.14.1, tslib@npm:^1.8.1": version: 1.14.1 resolution: "tslib@npm:1.14.1" checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 @@ -11802,15 +12052,6 @@ __metadata: languageName: node linkType: hard -"typedarray-to-buffer@npm:3.1.5": - version: 3.1.5 - resolution: "typedarray-to-buffer@npm:3.1.5" - dependencies: - is-typedarray: "npm:^1.0.0" - checksum: 10c0/4ac5b7a93d604edabf3ac58d3a2f7e07487e9f6e98195a080e81dbffdc4127817f470f219d794a843b87052cedef102b53ac9b539855380b8c2172054b7d5027 - languageName: node - linkType: hard - "typescript@npm:^5.4.3": version: 5.4.3 resolution: "typescript@npm:5.4.3" @@ -11845,7 +12086,16 @@ __metadata: languageName: node linkType: hard -"uint8arrays@npm:^3.0.0, uint8arrays@npm:^3.1.0": +"uint8arrays@npm:3.1.0": + version: 3.1.0 + resolution: "uint8arrays@npm:3.1.0" + dependencies: + multiformats: "npm:^9.4.2" + checksum: 10c0/e54e64593a76541330f0fea97b1b5dea6becbbec3572b9bb88863d064f2630bede4d42eafd457f19c6ef9125f50bfc61053d519c4d71b59c3b7566a0691e3ba2 + languageName: node + linkType: hard + +"uint8arrays@npm:^3.0.0": version: 3.1.1 resolution: "uint8arrays@npm:3.1.1" dependencies: @@ -12141,7 +12391,7 @@ __metadata: languageName: node linkType: hard -"use-sync-external-store@npm:1.2.0, use-sync-external-store@npm:^1.2.0": +"use-sync-external-store@npm:1.2.0": version: 1.2.0 resolution: "use-sync-external-store@npm:1.2.0" peerDependencies: @@ -12150,17 +12400,17 @@ __metadata: languageName: node linkType: hard -"utf-8-validate@npm:^5.0.2": - version: 5.0.10 - resolution: "utf-8-validate@npm:5.0.10" +"utf-8-validate@npm:^6.0.3": + version: 6.0.4 + resolution: "utf-8-validate@npm:6.0.4" dependencies: node-gyp: "npm:latest" node-gyp-build: "npm:^4.3.0" - checksum: 10c0/23cd6adc29e6901aa37ff97ce4b81be9238d0023c5e217515b34792f3c3edb01470c3bd6b264096dd73d0b01a1690b57468de3a24167dd83004ff71c51cc025f + checksum: 10c0/f7042d94aec6ca02461b64e725bdc7262266610dbb787331e5bbd49374ef6f75fe9900600df3fc63d97906c23614a965c8989b4bf95d70bf35dc617da99215e7 languageName: node linkType: hard -"util-deprecate@npm:^1.0.1": +"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 @@ -12189,6 +12439,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:^9.0.1": + version: 9.0.1 + resolution: "uuid@npm:9.0.1" + bin: + uuid: dist/bin/uuid + checksum: 10c0/1607dd32ac7fc22f2d8f77051e6a64845c9bce5cd3dd8aa0070c074ec73e666a1f63c7b4e0f4bf2bc8b9d59dc85a15e17807446d9d2b17c8485fbc2147b27f9b + languageName: node + linkType: hard + "valtio@npm:1.11.2": version: 1.11.2 resolution: "valtio@npm:1.11.2" @@ -12236,7 +12495,7 @@ __metadata: languageName: node linkType: hard -"viem@npm:^1.0.0, viem@npm:^1.21.1, viem@npm:^1.6.0": +"viem@npm:^1.0.0, viem@npm:^1.1.4": version: 1.21.4 resolution: "viem@npm:1.21.4" dependencies: @@ -12257,6 +12516,27 @@ __metadata: languageName: node linkType: hard +"viem@npm:^2.10.9": + version: 2.10.9 + resolution: "viem@npm:2.10.9" + dependencies: + "@adraffy/ens-normalize": "npm:1.10.0" + "@noble/curves": "npm:1.2.0" + "@noble/hashes": "npm:1.3.2" + "@scure/bip32": "npm:1.3.2" + "@scure/bip39": "npm:1.2.1" + abitype: "npm:1.0.0" + isows: "npm:1.0.4" + ws: "npm:8.13.0" + peerDependencies: + typescript: ">=5.0.4" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/4dd40083e0927b25332173a504d26d0285a96c9618f459e0415afbb4c3ef80688a39e716117868b498f8ce345e141a4420c2f7d3c6e6af5fee82e21d701494d7 + languageName: node + linkType: hard + "vite-tsconfig-paths@npm:^4.3.2": version: 4.3.2 resolution: "vite-tsconfig-paths@npm:4.3.2" @@ -12313,24 +12593,22 @@ __metadata: languageName: node linkType: hard -"wagmi@npm:^1.4.13": - version: 1.4.13 - resolution: "wagmi@npm:1.4.13" +"wagmi@npm:^2.9.2": + version: 2.9.2 + resolution: "wagmi@npm:2.9.2" dependencies: - "@tanstack/query-sync-storage-persister": "npm:^4.27.1" - "@tanstack/react-query": "npm:^4.28.0" - "@tanstack/react-query-persist-client": "npm:^4.28.0" - "@wagmi/core": "npm:1.4.13" - abitype: "npm:0.8.7" - use-sync-external-store: "npm:^1.2.0" + "@wagmi/connectors": "npm:5.0.2" + "@wagmi/core": "npm:2.10.2" + use-sync-external-store: "npm:1.2.0" peerDependencies: - react: ">=17.0.0" + "@tanstack/react-query": ">=5.0.0" + react: ">=18" typescript: ">=5.0.4" - viem: ">=0.3.35" + viem: 2.x peerDependenciesMeta: typescript: optional: true - checksum: 10c0/2a6a23f058b44566c8fb94dfda9b62c82aff3c006caf5b59cb8a01afedf9f48fc90ec4232d15124241e0400e09b17606d4defe4afbf4bb57b2d833b447e58345 + checksum: 10c0/7ad56ab549fe6eac3e4a7c0b18cd23c1c1e4f2cb861cd1f1aff2f8e276b4b4b6f3404f424206a66bb8c26a9855c67b4570a82e93349cc7cb9c0cf2467e3afebd languageName: node linkType: hard @@ -12363,6 +12641,20 @@ __metadata: languageName: node linkType: hard +"webextension-polyfill@npm:>=0.10.0 <1.0": + version: 0.12.0 + resolution: "webextension-polyfill@npm:0.12.0" + checksum: 10c0/5ace2aaaf6a203515bdd2fb948622f186a5fbb50099b539ce9c0ad54896f9cc1fcc3c0e2a71d1f7071dd7236d7daebba1e0cbcf43bfdfe54361addf0333ee7d1 + languageName: node + linkType: hard + +"webextension-polyfill@npm:^0.10.0": + version: 0.10.0 + resolution: "webextension-polyfill@npm:0.10.0" + checksum: 10c0/6a45278f1fed8fbd5355f9b19a7b0b3fadc91fa3a6eef69125a1706bb3efa2181235eefbfb3f538443bb396cfcb97512361551888ce8465c08914431cb2d5b6d + languageName: node + linkType: hard + "webidl-conversions@npm:^3.0.0": version: 3.0.1 resolution: "webidl-conversions@npm:3.0.1" @@ -12548,7 +12840,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^7.4.5, ws@npm:^7.5.1": +"ws@npm:^7.5.1": version: 7.5.9 resolution: "ws@npm:7.5.9" peerDependencies: @@ -12563,7 +12855,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.12.0, ws@npm:^8.13.0, ws@npm:^8.15.0, ws@npm:^8.5.0": +"ws@npm:^8.12.0, ws@npm:^8.13.0, ws@npm:^8.15.0": version: 8.16.0 resolution: "ws@npm:8.16.0" peerDependencies: @@ -12578,6 +12870,28 @@ __metadata: languageName: node linkType: hard +"ws@npm:~8.11.0": + version: 8.11.0 + resolution: "ws@npm:8.11.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/b672b312f357afba8568b9dbb9e08b9e8a20845659b35fa6b340dc848efe371379f5e22bb1dc89c4b2940d5e2dc52dd1de85dde41776875fce115a448f94754f + languageName: node + linkType: hard + +"xmlhttprequest-ssl@npm:~2.0.0": + version: 2.0.0 + resolution: "xmlhttprequest-ssl@npm:2.0.0" + checksum: 10c0/b64ab371459bd5e3a4827e3c7535759047d285fd310aea6fd028973d547133f3be0d473c1fdae9f14d89bf509267759198ae1fbe89802079a7e217ddd990d734 + languageName: node + linkType: hard + "xtend@npm:^4.0.0, xtend@npm:^4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2" @@ -12679,7 +12993,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^17.0.0": +"yargs@npm:^17.0.0, yargs@npm:^17.5.1": version: 17.7.2 resolution: "yargs@npm:17.7.2" dependencies: @@ -12713,14 +13027,14 @@ __metadata: languageName: node linkType: hard -"zustand@npm:^4.3.1": - version: 4.5.2 - resolution: "zustand@npm:4.5.2" +"zustand@npm:4.4.1": + version: 4.4.1 + resolution: "zustand@npm:4.4.1" dependencies: use-sync-external-store: "npm:1.2.0" peerDependencies: "@types/react": ">=16.8" - immer: ">=9.0.6" + immer: ">=9.0" react: ">=16.8" peerDependenciesMeta: "@types/react": @@ -12729,6 +13043,6 @@ __metadata: optional: true react: optional: true - checksum: 10c0/aee26f11facebb39b016e89539f72a72c2c00151208907fc909c3cedd455728240e09e01d98ebd3b63a2a3518a5917eac5de6c853743ca55a1655296d750bb48 + checksum: 10c0/c119273886e5cdbd7a9f80c9e0fee8a2c736bb6428e283b25c6dfd428789a95e10b6ed6b18553c955ce0d5dd62e2f4a84af3e2a41f31fdb34fd25462d2b19a8c languageName: node linkType: hard From a2d4a6e550ff531d4ebcaa8b9aa59f4771ecda5d Mon Sep 17 00:00:00 2001 From: belopash Date: Sun, 19 May 2024 16:59:45 +0500 Subject: [PATCH 2/4] fix: fix vesting release button --- src/pages/AssetsPage/ReleaseButton.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pages/AssetsPage/ReleaseButton.tsx b/src/pages/AssetsPage/ReleaseButton.tsx index 471d8e3..e7d9659 100644 --- a/src/pages/AssetsPage/ReleaseButton.tsx +++ b/src/pages/AssetsPage/ReleaseButton.tsx @@ -26,9 +26,7 @@ export function ReleaseButton({ vesting: { address: string }; disabled?: boolean; }) { - const { release, error, isLoading } = useVestingContractRelease({ - address: vesting.address as `0x${string}`, - }); + const { release, error, isLoading } = useVestingContractRelease(); const { data, isLoading: isVestingLoading } = useVestingContract({ address: vesting.address as `0x${string}`, }); @@ -45,7 +43,9 @@ export function ReleaseButton({ validateOnMount: true, onSubmit: async () => { - const { failedReason } = await release(); + const { failedReason } = await release({ + address: vesting.address as `0x${string}`, + }); if (!failedReason) { handleClose(); From b27efb9b800cf93f3a81de3ed7e1bd6695e574c4 Mon Sep 17 00:00:00 2001 From: belopash Date: Sun, 19 May 2024 17:53:39 +0500 Subject: [PATCH 3/4] fix: sync squid and contract states --- src/api/contracts/vesting.ts | 50 +++++++++++++++++-------- src/hooks/useSquidNetworkHeightHooks.ts | 2 +- src/network/config.ts | 21 ++++++++++- src/pages/AssetsPage/Vestings.tsx | 6 +-- 4 files changed, 58 insertions(+), 21 deletions(-) diff --git a/src/api/contracts/vesting.ts b/src/api/contracts/vesting.ts index 7b0256a..0cd0502 100644 --- a/src/api/contracts/vesting.ts +++ b/src/api/contracts/vesting.ts @@ -1,4 +1,4 @@ -import { useState } from 'react'; +import { useEffect, useRef, useState } from 'react'; import { chunk } from 'lodash-es'; import { erc20Abi, MulticallResponse } from 'viem'; @@ -15,7 +15,7 @@ export function useVestingContracts({ addresses }: { addresses?: `0x${string}`[] const contracts = useContracts(); const { currentHeight, isLoading: isHeightLoading } = useSquidNetworkHeightHooks(); - const { data, isRefetching, isLoading } = useReadContracts({ + const { data: res } = useReadContracts({ contracts: addresses?.flatMap(address => { const vestingContract = { abi: VESTING_CONTRACT_ABI, address } as const; return [ @@ -58,26 +58,44 @@ export function useVestingContracts({ addresses }: { addresses?: `0x${string}`[] ] as const; }), allowFailure: true, - // blockNumber: BigInt(currentHeight || 0), // FIXME: uncomment to keep read in sync with squid, now always `isLoading` on height change + blockNumber: BigInt(currentHeight), query: { enabled: !!addresses && !isHeightLoading, }, }); + const data = useRef< + | { + start?: number; + end?: number; + deposited?: string | undefined; + releasable?: string | undefined; + released?: string | undefined; + balance?: string | undefined; + initialRelease?: number; + expectedTotal?: string | undefined; + }[] + | undefined + >(undefined); + + useEffect(() => { + if (res?.some(r => r.status === 'success')) { + data.current = chunk(res, 8).map(ch => ({ + start: Number(unwrapResult(ch[0])) * 1000, + end: Number(unwrapResult(ch[1])) * 1000, + deposited: unwrapResult(ch[2])?.toString(), + releasable: unwrapResult(ch[3])?.toString(), + released: unwrapResult(ch[4])?.toString(), + balance: unwrapResult(ch[5])?.toString(), + initialRelease: Number(unwrapResult(ch[6]) || 0) / 100, + expectedTotal: unwrapResult(ch[7])?.toString(), + })); + } + }, [res]); + return { - data: data - ? chunk(data, 8).map(ch => ({ - start: Number(unwrapResult(ch[0])) * 1000, - end: Number(unwrapResult(ch[1])) * 1000, - deposited: unwrapResult(ch[2])?.toString(), - releasable: unwrapResult(ch[3])?.toString(), - released: unwrapResult(ch[4])?.toString(), - balance: unwrapResult(ch[5])?.toString(), - initialRelease: Number(unwrapResult(ch[6]) || 0) / 100, - expectedTotal: unwrapResult(ch[7])?.toString(), - })) - : undefined, - isLoading: isLoading && !isRefetching, + data: data.current, + isLoading: !data.current, }; } diff --git a/src/hooks/useSquidNetworkHeightHooks.ts b/src/hooks/useSquidNetworkHeightHooks.ts index 63b60e2..f4ba652 100644 --- a/src/hooks/useSquidNetworkHeightHooks.ts +++ b/src/hooks/useSquidNetworkHeightHooks.ts @@ -73,7 +73,7 @@ export function useSquidNetworkHeightHooks() { isLoading, isWaiting: heightHooks.length > 0, waitHeight: maxWaitedHook, - currentHeight: currentHeight ? String(currentHeight) : undefined, + currentHeight: currentHeight ? String(currentHeight) : '0', setWaitHeight, }; } diff --git a/src/network/config.ts b/src/network/config.ts index b1799eb..11bf326 100644 --- a/src/network/config.ts +++ b/src/network/config.ts @@ -16,5 +16,24 @@ import { arbitrumSepolia, arbitrum } from 'wagmi/chains'; export const wagmiConfig = getDefaultConfig({ appName: 'Subsquid Network', projectId: process.env.WALLET_CONNECT_PROJECT_ID || '', - chains: [arbitrumSepolia, arbitrum], + chains: [ + { + ...arbitrumSepolia, + rpcUrls: { + default: { + http: ['https://arbitrum-sepolia.public.blastapi.io'], + webSocket: ['wss://arbitrum-sepolia.public.blastapi.io'], + }, + }, + }, + { + ...arbitrum, + rpcUrls: { + default: { + http: ['https://arbitrum-one.public.blastapi.io'], + webSocket: ['wss://arbitrum-one.public.blastapi.io'], + }, + }, + }, + ], }); diff --git a/src/pages/AssetsPage/Vestings.tsx b/src/pages/AssetsPage/Vestings.tsx index c356dee..4b22b9b 100644 --- a/src/pages/AssetsPage/Vestings.tsx +++ b/src/pages/AssetsPage/Vestings.tsx @@ -23,12 +23,12 @@ export function MyVestings() { }); const { SQD_TOKEN } = useContracts(); - if (isLoading || isVestingsLoading) return ; - return ( - {assets.vestings.length ? ( + {isLoading || isVestingsLoading ? ( + + ) : assets.vestings.length ? ( From 304d93f08c27d3e4dce2dd44ce5fb654be4ccb18 Mon Sep 17 00:00:00 2001 From: belopash Date: Mon, 20 May 2024 16:31:35 +0500 Subject: [PATCH 4/4] feat: make tables scrollable --- src/components/Card/Card.tsx | 16 ++- src/components/Table/BorderedTable.tsx | 4 +- src/pages/AssetsPage/Vestings.tsx | 72 +++++----- src/pages/DashboardPage/Workers.tsx | 136 ++++++++++-------- src/pages/DelegationsPage/DelegationsPage.tsx | 84 +++++------ src/pages/GatewaysPage/GatewaysPage.tsx | 58 ++++---- src/pages/WorkersPage/WorkersPage.tsx | 85 ++++++----- 7 files changed, 246 insertions(+), 209 deletions(-) diff --git a/src/components/Card/Card.tsx b/src/components/Card/Card.tsx index 391613a..dfc499b 100644 --- a/src/components/Card/Card.tsx +++ b/src/components/Card/Card.tsx @@ -14,17 +14,22 @@ export const CardTitle = styled(Box)(({ theme }) => ({ export const CardWrapper = styled(Paper, { name: 'CardWrapper' })(({ theme }) => ({ padding: theme.spacing(2.5, 5), boxShadow: `0px 4px 12px 0px #9595953D`, + overflowX: 'auto', + scrollbarWidth: 'thin', [theme.breakpoints.down('sm')]: { padding: theme.spacing(2.5), }, '&.disabled': { - padding: theme.spacing(5), color: theme.palette.text.secondary, textAlign: 'center', }, + '&.noPadding': { + padding: 0, + }, + '&.noShadow': { boxShadow: 'none', }, @@ -34,14 +39,21 @@ export const Card = ({ children, title, noShadow, + noPadding, sx, -}: PropsWithChildren<{ noShadow?: boolean; title?: React.ReactNode; sx?: SxProps }>) => { +}: PropsWithChildren<{ + noShadow?: boolean; + title?: React.ReactNode; + sx?: SxProps; + noPadding?: boolean; +}>) => { return ( {title ? {title} : null} diff --git a/src/components/Table/BorderedTable.tsx b/src/components/Table/BorderedTable.tsx index 9ccd794..27ffb60 100644 --- a/src/components/Table/BorderedTable.tsx +++ b/src/components/Table/BorderedTable.tsx @@ -9,11 +9,11 @@ import { SortIcon } from '@components/SortIcon'; const borderRadius = 8; export const BorderedTable = styled(Table)(({ theme }) => ({ - boxShadow: `0px 4px 12px 0px #9595953D`, + // boxShadow: `0px 4px 12px 0px #9595953D`, borderRadius: borderRadius, borderSpacing: 0, borderCollapse: 'separate', - border: `1px solid ${theme.palette.divider}`, + // border: `1px solid ${theme.palette.divider}`, '& td, & th': { background: theme.palette.background.paper, diff --git a/src/pages/AssetsPage/Vestings.tsx b/src/pages/AssetsPage/Vestings.tsx index 4b22b9b..5cedf82 100644 --- a/src/pages/AssetsPage/Vestings.tsx +++ b/src/pages/AssetsPage/Vestings.tsx @@ -29,41 +29,43 @@ export function MyVestings() { {isLoading || isVestingsLoading ? ( ) : assets.vestings.length ? ( - - - - Vesting - Balance - Releasable - Released - - - - - {assets.vestings.map((vesting, i) => { - const d = data?.[i]; - return ( - navigate(`vestings/${vesting.address}`)} - className="hoverable" - key={vesting.address} - > - - - - {formatSqd(SQD_TOKEN, fromSqd(d?.balance))} - {formatSqd(SQD_TOKEN, d?.releasable)} - {formatSqd(SQD_TOKEN, d?.released)} - - - - - - - ); - })} - - + + + + + Vesting + Balance + Releasable + Released + + + + + {assets.vestings.map((vesting, i) => { + const d = data?.[i]; + return ( + navigate(`vestings/${vesting.address}`)} + className="hoverable" + key={vesting.address} + > + + + + {formatSqd(SQD_TOKEN, fromSqd(d?.balance))} + {formatSqd(SQD_TOKEN, d?.releasable)} + {formatSqd(SQD_TOKEN, d?.released)} + + + + + + + ); + })} + + + ) : ( No items to show )} diff --git a/src/pages/DashboardPage/Workers.tsx b/src/pages/DashboardPage/Workers.tsx index 960cda1..51b6a14 100644 --- a/src/pages/DashboardPage/Workers.tsx +++ b/src/pages/DashboardPage/Workers.tsx @@ -95,65 +95,85 @@ export function Workers() { ) : workers.length ? ( <> - - - - Worker - Status - - Uptime, 90d - - - Worker APR, 7d - - - Delegator APR, 7d - - {/**/} - {/* Delegation capacity*/} - {/**/} - - Registered - - - - - - {workers.map(worker => { - return ( - navigate(`/workers/${worker.peerId}?backPath=/dashboard`)} - className="hoverable" - key={worker.peerId} + + + + + Worker + Status + - - - - - - - {percentFormatter(worker.uptime90Days)} - {worker.apr != null ? percentFormatter(worker.apr) : '-'} - - {worker.stakerApr != null ? percentFormatter(worker.stakerApr) : '-'} - - {/*{formatSqd(worker.totalDelegations.capacity, 0)}*/} - {dateFormat(worker.createdAt)} - - - - - - - ); - })} - - + Uptime, 90d + + + Worker APR, 7d + + + Delegator APR, 7d + + {/**/} + {/* Delegation capacity*/} + {/**/} + + Registered + + + + + + {workers.map(worker => { + return ( + navigate(`/workers/${worker.peerId}?backPath=/dashboard`)} + className="hoverable" + key={worker.peerId} + > + + + + + + + {percentFormatter(worker.uptime90Days)} + + {worker.apr != null ? percentFormatter(worker.apr) : '-'} + + + {worker.stakerApr != null ? percentFormatter(worker.stakerApr) : '-'} + + {/*{formatSqd(worker.totalDelegations.capacity, 0)}*/} + {dateFormat(worker.createdAt)} + + + + + + + ); + })} + + + ) : ( diff --git a/src/pages/DelegationsPage/DelegationsPage.tsx b/src/pages/DelegationsPage/DelegationsPage.tsx index e560036..c50b80b 100644 --- a/src/pages/DelegationsPage/DelegationsPage.tsx +++ b/src/pages/DelegationsPage/DelegationsPage.tsx @@ -28,47 +28,49 @@ export function MyDelegations() { {isLoading ? ( ) : delegations.length ? ( - - - - Worker - Status - Delegation - APR, 7d - Total reward - - - - - {delegations.map(worker => { - return ( - navigate(`/workers/${worker.peerId}?backPath=/delegations`)} - className="hoverable" - key={worker.peerId} - > - - - - - - - {formatSqd(SQD_TOKEN, worker.myDelegationsTotal)} - - {worker.stakerApr != null ? percentFormatter(worker.stakerApr) : '-'} - - {formatSqd(SQD_TOKEN, worker.myDelegationsRewardsTotal)} - - - - - - - - ); - })} - - + + + + + Worker + Status + Delegation + APR, 7d + Total reward + + + + + {delegations.map(worker => { + return ( + navigate(`/workers/${worker.peerId}?backPath=/delegations`)} + className="hoverable" + key={worker.peerId} + > + + + + + + + {formatSqd(SQD_TOKEN, worker.myDelegationsTotal)} + + {worker.stakerApr != null ? percentFormatter(worker.stakerApr) : '-'} + + {formatSqd(SQD_TOKEN, worker.myDelegationsRewardsTotal)} + + + + + + + + ); + })} + + + ) : ( No items to show )} diff --git a/src/pages/GatewaysPage/GatewaysPage.tsx b/src/pages/GatewaysPage/GatewaysPage.tsx index edb7754..378f00f 100644 --- a/src/pages/GatewaysPage/GatewaysPage.tsx +++ b/src/pages/GatewaysPage/GatewaysPage.tsx @@ -34,34 +34,36 @@ export function MyGateways() { {isLoading ? ( ) : data.length ? ( - - - - Gateway - Pending lock - Locked - Created - - - - {data.map(gateway => { - return ( - navigate(`/gateways/${gateway.id}`)} - className="hoverable" - key={gateway.id} - > - - - - {formatSqd(SQD_TOKEN, gateway.pendingStaked)} - {formatSqd(SQD_TOKEN, gateway.totalStaked)} - {dateFormat(gateway.createdAt, 'dateTime')} - - ); - })} - - + + + + + Gateway + Pending lock + Locked + Created + + + + {data.map(gateway => { + return ( + navigate(`/gateways/${gateway.id}`)} + className="hoverable" + key={gateway.id} + > + + + + {formatSqd(SQD_TOKEN, gateway.pendingStaked)} + {formatSqd(SQD_TOKEN, gateway.totalStaked)} + {dateFormat(gateway.createdAt, 'dateTime')} + + ); + })} + + + ) : ( No items to show )} diff --git a/src/pages/WorkersPage/WorkersPage.tsx b/src/pages/WorkersPage/WorkersPage.tsx index 3a51b4b..7a4639e 100644 --- a/src/pages/WorkersPage/WorkersPage.tsx +++ b/src/pages/WorkersPage/WorkersPage.tsx @@ -37,49 +37,48 @@ export function MyWorkers() { {isLoading ? ( ) : data.length ? ( - - - - Worker - Status - Uptime, 24h - Uptime, 90d - APR, 7d - Total reward - - - - - {data.map(worker => { - return ( - navigate(`/workers/${worker.peerId}`)} - className="hoverable" - key={worker.peerId} - > - - - - - - - {percentFormatter(worker.uptime24Hours)} - {percentFormatter(worker.uptime90Days)} - {worker.apr != null ? percentFormatter(worker.apr) : '-'} - - {worker.stakerApr != null ? percentFormatter(worker.stakerApr) : '-'} - - {formatSqd(SQD_TOKEN, worker.totalReward)} - - - - - - - ); - })} - - + + + + + Worker + Status + Uptime, 24h + Uptime, 90d + APR, 7d + Total reward + + + + + {data.map(worker => { + return ( + navigate(`/workers/${worker.peerId}`)} + className="hoverable" + key={worker.peerId} + > + + + + + + + {percentFormatter(worker.uptime24Hours)} + {percentFormatter(worker.uptime90Days)} + {worker.apr != null ? percentFormatter(worker.apr) : '-'} + {formatSqd(SQD_TOKEN, worker.totalReward)} + + + + + + + ); + })} + + + ) : ( No items to show )}