From c30a535b129c3446b6da7c12b826ffbb73ca6dea Mon Sep 17 00:00:00 2001 From: Tib Date: Fri, 31 Jan 2025 02:18:20 +0400 Subject: [PATCH 1/7] ignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 2f79516..2e3e091 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,4 @@ node_modules .vercel .DS_Store -.env* +.env* \ No newline at end of file From d2b2d18f6b2d197add76962147be92090ee27364 Mon Sep 17 00:00:00 2001 From: Tib Date: Fri, 31 Jan 2025 02:36:47 +0400 Subject: [PATCH 2/7] deploys json --- packages/deploy/deploys.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/deploy/deploys.json b/packages/deploy/deploys.json index 54b97b7..13094a0 100644 --- a/packages/deploy/deploys.json +++ b/packages/deploy/deploys.json @@ -69,6 +69,16 @@ } } }, + "11011": { + "chainId": 11011, + "deployer": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7", + "contracts": { + "FileStore": { + "address": "0x5Ad19F2A2C7B919C362f9361E9B32b39f64E8d8A", + "blockNumber": "9670055" + } + } + }, "17000": { "chainId": 17000, "deployer": "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7", From 20ba6072601d3207b5faa1696a317b51e55d9368 Mon Sep 17 00:00:00 2001 From: Kevin Ingersoll Date: Thu, 30 Jan 2025 14:40:11 -0800 Subject: [PATCH 3/7] Update .gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 2e3e091..2f79516 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,4 @@ node_modules .vercel .DS_Store -.env* \ No newline at end of file +.env* From cf1fbf01a2c88a893c97bf4fc5ca9cadb21998a8 Mon Sep 17 00:00:00 2001 From: Tib Date: Mon, 3 Feb 2025 14:14:58 +0400 Subject: [PATCH 4/7] ponder --- packages/ponder/ponder.config.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/ponder/ponder.config.ts b/packages/ponder/ponder.config.ts index d3737d5..11acd52 100644 --- a/packages/ponder/ponder.config.ts +++ b/packages/ponder/ponder.config.ts @@ -40,6 +40,16 @@ export default createConfig({ transport: http(process.env.RPC_HTTP_URL_11155420), pollingInterval: 2_000, }, + shape: { + chainId: 360, + transport: http(process.env.RPC_HTTP_URL_360), + pollingInterval: 2_000, + }, + shapeSepolia: { + chainId: 11011, + transport: http(process.env.RPC_HTTP_URL_11011), + pollingInterval: 2_000, + }, zora: { chainId: 7777777, transport: http(process.env.RPC_HTTP_URL_7777777), @@ -63,6 +73,8 @@ export default createConfig({ baseSepolia: { startBlock: 4384018 }, optimism: { startBlock: 114171031 }, optimismSepolia: { startBlock: 6069158 }, + shape: {startBlock: 8263268}, + shapeSepolia: {startBlock: 9670055}, zora: { startBlock: 9623739 }, zoraSepolia: { startBlock: 3930816 }, }, From 2cc3375e207c72a2202aa00b7817308a4e440b97 Mon Sep 17 00:00:00 2001 From: Tib Date: Mon, 3 Feb 2025 16:04:50 +0400 Subject: [PATCH 5/7] add shape to web + upgrade viem and wagmi --- packages/web/.eslintrc.json | 8 +- packages/web/package.json | 7 +- packages/web/src/EthereumProviders.tsx | 72 +- packages/web/src/WriteButton.tsx | 15 +- .../app/[chain]/migrate-v1/MigrateButton.tsx | 4 +- .../src/app/[chain]/migrate-v1/createFile.ts | 28 +- packages/web/src/file-explorer/FileViewer.tsx | 27 +- .../web/src/file-uploader/FileUploader.tsx | 40 +- packages/web/src/file-uploader/uploadFile.ts | 13 +- packages/web/src/supportedChains.ts | 18 +- pnpm-lock.yaml | 1095 ++++++++++------- 11 files changed, 758 insertions(+), 569 deletions(-) diff --git a/packages/web/.eslintrc.json b/packages/web/.eslintrc.json index 6053548..6337499 100644 --- a/packages/web/.eslintrc.json +++ b/packages/web/.eslintrc.json @@ -1,6 +1,12 @@ { "extends": "next/core-web-vitals", "rules": { - "@typescript-eslint/no-unused-vars": "warn" + "@typescript-eslint/no-unused-vars": "warn", + "prettier/prettier": [ + "error", + { + "endOfLine": "auto" + } + ] } } diff --git a/packages/web/package.json b/packages/web/package.json index 3e767f2..eb474b2 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -13,7 +13,8 @@ "@ethfs/deploy": "workspace:*", "@ethfs/ponder": "workspace:*", "@ponder/client": "0.9.0-next.10", - "@rainbow-me/rainbowkit": "^1.3.1", + "@rainbow-me/rainbowkit": "^2.2.3", + "@tanstack/react-query": "^5.66.0", "fflate": "^0.7.4", "luxon": "^3.4.4", "mime": "^4.0.1", @@ -23,8 +24,8 @@ "react-dom": "^18", "react-toastify": "^9.1.3", "tailwind-merge": "^2.1.0", - "viem": "^1.20.0", - "wagmi": "^1.4.12", + "viem": "^2.22.17", + "wagmi": "^2.14.9", "zustand": "^4.4.7" }, "devDependencies": { diff --git a/packages/web/src/EthereumProviders.tsx b/packages/web/src/EthereumProviders.tsx index c2ce202..3fddaec 100644 --- a/packages/web/src/EthereumProviders.tsx +++ b/packages/web/src/EthereumProviders.tsx @@ -7,57 +7,55 @@ import { lightTheme, RainbowKitProvider, } from "@rainbow-me/rainbowkit"; +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { ReactNode } from "react"; -import { configureChains, createConfig, WagmiConfig } from "wagmi"; -import { jsonRpcProvider } from "wagmi/providers/jsonRpc"; -import { publicProvider } from "wagmi/providers/public"; +import { Chain } from "viem"; +import { createConfig, http, WagmiProvider } from "wagmi"; import { supportedChains } from "./supportedChains"; -const { chains, publicClient } = configureChains( - supportedChains.map((c) => c.chain), - [ - jsonRpcProvider({ - rpc: (chain) => { - // TODO: simplify, this feels wrong/ugly (maybe better in v2?) - const supportedChain = supportedChains.find( - (c) => c.chain.id === chain.id, - ); - if (!supportedChain) return null; - return { - http: supportedChain.rpcUrl, - }; - }, - }), - publicProvider(), - ], -); +// Prepare chains and transports as before +const chains = supportedChains.map((c) => c.chain) as unknown as [ + Chain, + ...Chain[], +]; +const transports = supportedChains.reduce< + Record> +>((acc, supportedChain) => { + acc[supportedChain.chain.id] = http(supportedChain.rpcUrl); + return acc; +}, {}); const { connectors } = getDefaultWallets({ appName: "EthFS", projectId: "bbc87dca59c4e2ac827da9083052f194", - chains, }); -const wagmiConfig = createConfig({ - autoConnect: true, +// Create Wagmi config (no need to pass the React Query client here) +export const config = createConfig({ + chains, + transports, connectors, - publicClient, }); +export const queryClient = new QueryClient(); + export function EthereumProviders({ children }: { children: ReactNode }) { return ( - - - {children} - - + // Wrap the whole provider tree in QueryClientProvider: + + + + {children} + + + ); } diff --git a/packages/web/src/WriteButton.tsx b/packages/web/src/WriteButton.tsx index 404f152..7d317ea 100644 --- a/packages/web/src/WriteButton.tsx +++ b/packages/web/src/WriteButton.tsx @@ -2,7 +2,7 @@ import { useConnectModal } from "@rainbow-me/rainbowkit"; import React, { ComponentProps, ReactNode, useState } from "react"; -import { useAccount, useNetwork, useSwitchNetwork } from "wagmi"; +import { useAccount, useSwitchChain } from "wagmi"; import { useIsMounted } from "./useIsMounted"; import { usePromise } from "./usePromise"; @@ -27,11 +27,8 @@ export const WriteButton = React.forwardRef( ) => { const isMounted = useIsMounted(); const { openConnectModal, connectModalOpen } = useConnectModal(); - const { isConnected, isConnecting } = useAccount(); - const { chain } = useNetwork(); - const { switchNetwork, isLoading: isSwitchingNetwork } = useSwitchNetwork({ - chainId, - }); + const { isConnected, isConnecting, chain } = useAccount(); + const { switchChain, isPending: isSwitchingChain } = useSwitchChain(); const [writePromise, setWritePromise] = useState | null>( null, @@ -77,19 +74,19 @@ export const WriteButton = React.forwardRef( } if (chain != null && chain.id !== chainId) { - if (switchNetwork) { + if (switchChain) { return render({ ...buttonProps, ref, type, "aria-label": "Switch network", - "aria-busy": isSwitchingNetwork, + "aria-busy": isSwitchingChain, onClick: (event) => { if (event.defaultPrevented) return; if (event.currentTarget.ariaBusy === "true") return; if (event.currentTarget.ariaDisabled === "true") return; event.preventDefault(); - switchNetwork(); + switchChain({ chainId: chainId }); }, }); } else { diff --git a/packages/web/src/app/[chain]/migrate-v1/MigrateButton.tsx b/packages/web/src/app/[chain]/migrate-v1/MigrateButton.tsx index 428874b..cb48a31 100644 --- a/packages/web/src/app/[chain]/migrate-v1/MigrateButton.tsx +++ b/packages/web/src/app/[chain]/migrate-v1/MigrateButton.tsx @@ -2,6 +2,7 @@ import { toast } from "react-toastify"; import { BaseError, Hex } from "viem"; +import { useAccount } from "wagmi"; import { useChain } from "../../../ChainContext"; import { WriteButton } from "../../../WriteButton"; @@ -14,6 +15,7 @@ type Props = { }; export function MigrateButton({ file }: Props) { + const { address } = useAccount(); const chain = useChain(); const blockExplorer = chain.blockExplorers?.default; @@ -27,7 +29,7 @@ export function MigrateButton({ file }: Props) { ).then((res) => res.json())) as Hex[]; console.log("creating file"); - await createFile(chain.id, file, pointers, (message) => { + await createFile(chain, file, pointers, address!, (message) => { toast.update(toastId, { render: message }); }).then( (receipt) => { diff --git a/packages/web/src/app/[chain]/migrate-v1/createFile.ts b/packages/web/src/app/[chain]/migrate-v1/createFile.ts index 64cdf28..b45392e 100644 --- a/packages/web/src/app/[chain]/migrate-v1/createFile.ts +++ b/packages/web/src/app/[chain]/migrate-v1/createFile.ts @@ -1,21 +1,27 @@ import IFileStoreAbi from "@ethfs/contracts/out/IFileStore.sol/IFileStore.abi.json"; import deploys from "@ethfs/deploy/deploys.json"; -import { Hex, stringToHex, TransactionReceipt } from "viem"; -import { readContract, waitForTransaction, writeContract } from "wagmi/actions"; +import { Address, Chain, Hex, stringToHex, TransactionReceipt } from "viem"; +import { + readContract, + waitForTransactionReceipt, + writeContract, +} from "wagmi/actions"; +import { config } from "../../../EthereumProviders"; import { File } from "./getFiles"; export async function createFile( - chainId: number, + chain: Chain, file: File, pointers: Hex[], + address: Address, onProgress: (message: string) => void, ): Promise { - const deploy = deploys[chainId]; + const deploy = deploys[chain.id]; onProgress("Checking filename…"); - const fileExists = await readContract({ - chainId, + const fileExists = await readContract(config, { + chainId: chain.id, address: deploy.contracts.FileStore.address, abi: IFileStoreAbi, functionName: "fileExists", @@ -30,8 +36,10 @@ export async function createFile( // TODO: add progress messages for long running requests // https://github.com/holic/a-fundamental-dispute/blob/f83ea42fa60c3b8667f6b0eb03a009d264219ba6/packages/app/src/MintButton.tsx#L118-L131 - const { hash: tx } = await writeContract({ - chainId, + const tx = await writeContract(config, { + account: address, + chainId: chain.id, + chain: chain, address: deploy.contracts.FileStore.address, abi: IFileStoreAbi, functionName: "createFileFromPointers", @@ -51,8 +59,8 @@ export async function createFile( console.log("create file tx", tx); onProgress(`Waiting for transaction…`); - const receipt = await waitForTransaction({ - chainId, + const receipt = await waitForTransactionReceipt(config, { + chainId: chain.id, hash: tx, }); console.log("create file receipt", receipt); diff --git a/packages/web/src/file-explorer/FileViewer.tsx b/packages/web/src/file-explorer/FileViewer.tsx index 4e61ff1..f4f9353 100644 --- a/packages/web/src/file-explorer/FileViewer.tsx +++ b/packages/web/src/file-explorer/FileViewer.tsx @@ -1,7 +1,7 @@ import deploys from "@ethfs/deploy/deploys.json"; import { DateTime } from "luxon"; import React from "react"; -import { useQuery } from "wagmi"; +import { useQuery } from "wagmi/query"; import { useChain } from "../ChainContext"; import { OnchainFile } from "../common"; @@ -15,10 +15,27 @@ type Props = { }; function FileViewerThumbnail({ file }: { file: OnchainFile }) { - const { data: fetchResult } = useQuery(["file", file.filename], async () => { - return fetch(`/api/${file.chainId}/files/${file.filename}/contents`).then( - (res) => res.json() as Promise<{ contents: string }>, - ); + const { + data: fetchResult, + isLoading, + error, + } = useQuery< + { contents: string }, // TQueryFnData + Error, // TError + { contents: string }, // TData (the final data shape) + [string, string] // TQueryKey, since your queryKey is an array of two strings + >({ + queryKey: ["file", file.filename], + queryFn: async () => { + const res = await fetch( + `/api/${file.chainId}/files/${file.filename}/contents`, + ); + if (!res.ok) { + throw new Error("Network error"); + } + return res.json(); + }, + staleTime: 30_000, // 30 seconds }); if (!fetchResult) { diff --git a/packages/web/src/file-uploader/FileUploader.tsx b/packages/web/src/file-uploader/FileUploader.tsx index f276bdc..08da687 100644 --- a/packages/web/src/file-uploader/FileUploader.tsx +++ b/packages/web/src/file-uploader/FileUploader.tsx @@ -4,13 +4,8 @@ import { useConnectModal } from "@rainbow-me/rainbowkit"; import { useState } from "react"; import { toast } from "react-toastify"; import { BaseError, formatEther } from "viem"; -import { - useFeeData, - useNetwork, - useQuery, - useSwitchNetwork, - useWalletClient, -} from "wagmi"; +import { useAccount, useFeeData, useSwitchChain, useWalletClient } from "wagmi"; +import { useQuery } from "wagmi/query"; import { Button } from "../Button"; import { useChain } from "../ChainContext"; @@ -34,10 +29,8 @@ const gunzipScriptsSize = 6088; export function FileUploader() { const chain = useChain(); const { data: walletClient } = useWalletClient(); - const { chain: walletChain } = useNetwork(); - const { isLoading: isSwitchingChain, switchNetwork } = useSwitchNetwork({ - chainId: chain.id, - }); + const { chain: walletChain } = useAccount(); + const { isPending: isSwitchingChain, switchChain } = useSwitchChain(); const { openConnectModal } = useConnectModal(); // TODO: handle multiple files? const [file, setFile] = useState(null); @@ -47,7 +40,7 @@ export function FileUploader() { const shouldSwitchChain = chain.id !== walletChain?.id; const { data: feeData } = useFeeData({ chainId: chain.id }); - const { data: gasEstimate } = useQuery( + /* const { data: gasEstimate } = useQuery( ["file-upload-gas", file?.filename], async () => { if (!file) throw new Error("No file to estimate gas for"); @@ -56,7 +49,20 @@ export function FileUploader() { { enabled: !!file, }, - ); + ); */ + + const { + data: gasEstimate, + isLoading, + error, + } = useQuery({ + queryKey: ["file-upload-gas", file?.filename], + queryFn: async () => { + if (!file) throw new Error("No file to estimate gas for"); + return estimateFileUploadGas(file); + }, + enabled: !!file, + }); const estimatedFee = feeData?.maxFeePerGas && gasEstimate @@ -287,13 +293,13 @@ export function FileUploader() { pending={isSwitchingChain} disabled={ (!walletClient && !openConnectModal) || - (walletChain && shouldSwitchChain && !switchNetwork) + (walletChain && shouldSwitchChain && !switchChain) } onClick={ - shouldSwitchChain && switchNetwork + shouldSwitchChain && switchChain ? (event) => { event.preventDefault(); - switchNetwork(); + switchChain({ chainId: chain.id }); } : undefined } @@ -301,7 +307,7 @@ export function FileUploader() { {!walletClient ? "Connect wallet" : shouldSwitchChain - ? switchNetwork + ? switchChain ? "Switch network" : `Switch network to ${chain.name}` : "Upload"} diff --git a/packages/web/src/file-uploader/uploadFile.ts b/packages/web/src/file-uploader/uploadFile.ts index 6f32278..05b19a1 100644 --- a/packages/web/src/file-uploader/uploadFile.ts +++ b/packages/web/src/file-uploader/uploadFile.ts @@ -13,10 +13,11 @@ import { getBytecode } from "viem/actions"; import { readContract, sendTransaction, - waitForTransaction, + waitForTransactionReceipt, writeContract, } from "wagmi/actions"; +import { config } from "../EthereumProviders"; import { pluralize } from "../pluralize"; import { contentToInitCode, getPointer, salt } from "./common"; import { PreparedFile } from "./prepareFile"; @@ -30,7 +31,7 @@ export async function uploadFile( const deploy = deploys[chainId]; onProgress("Checking filename…"); - const fileExists = await readContract({ + const fileExists = await readContract(config, { chainId, address: deploy.contracts.FileStore.address, abi: IFileStoreAbi, @@ -55,7 +56,7 @@ export async function uploadFile( }); if (existingBytecode) continue; - const { hash: tx } = await sendTransaction({ + const tx = await sendTransaction(config, { chainId, to: deploy.deployer, data: concatHex([salt, contentToInitCode(content)]), @@ -69,7 +70,7 @@ export async function uploadFile( ); const receipts = await Promise.all( transactions.map(async (tx) => { - const receipt = await waitForTransaction({ + const receipt = await waitForTransactionReceipt(config, { chainId, hash: tx, }); @@ -87,7 +88,7 @@ export async function uploadFile( onProgress(`Creating file…`); - const { hash: tx } = await writeContract({ + const tx = await writeContract(config, { chainId, address: deploy.contracts.FileStore.address, abi: IFileStoreAbi, @@ -101,7 +102,7 @@ export async function uploadFile( console.log("create file tx", tx); onProgress(`Waiting for transaction…`); - const receipt = await waitForTransaction({ + const receipt = await waitForTransactionReceipt(config, { chainId, hash: tx, }); diff --git a/packages/web/src/supportedChains.ts b/packages/web/src/supportedChains.ts index 8dd6846..a1f4aa3 100644 --- a/packages/web/src/supportedChains.ts +++ b/packages/web/src/supportedChains.ts @@ -7,9 +7,11 @@ import { optimism, optimismSepolia, sepolia, + shape, + shapeSepolia, zora, zoraSepolia, -} from "viem/chains"; +} from "wagmi/chains"; // TODO: combine with deploys @@ -75,6 +77,19 @@ export const supportedChains = [ group: "Optimism", rpcUrl: process.env.NEXT_PUBLIC_RPC_HTTP_URL_11155420!, }, + /* Shape */ + { + chain: shape, + slug: "shape", + group: "Shape", + rpcUrl: process.env.NEXT_PUBLIC_RPC_HTTP_URL_360!, + }, + { + chain: shapeSepolia, + slug: "shape-sepolia", + group: "Shape", + rpcUrl: process.env.NEXT_PUBLIC_RPC_HTTP_URL_11011!, + }, /* Zora */ { chain: zora, @@ -88,6 +103,7 @@ export const supportedChains = [ group: "Zora", rpcUrl: process.env.NEXT_PUBLIC_RPC_HTTP_URL_999999999!, }, + /* Arbitrum */ // { // chain: arbitrum, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 82f5b9a..ee7e1d0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -141,8 +141,11 @@ importers: specifier: 0.9.0-next.10 version: 0.9.0-next.10(@electric-sql/pglite@0.2.16)(@opentelemetry/api@1.9.0)(@types/react@18.3.18)(kysely@0.27.5)(pg@8.13.1)(postgres@3.4.5)(react@18.2.0)(typescript@5.7.3) '@rainbow-me/rainbowkit': - specifier: ^1.3.1 - version: 1.3.7(@types/react@18.3.18)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(viem@1.21.4(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(wagmi@1.4.13(@types/react@18.3.18)(bufferutil@4.0.9)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@1.21.4(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1)) + specifier: ^2.2.3 + version: 2.2.3(@tanstack/react-query@5.66.0(react@18.2.0))(@types/react@18.3.18)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(viem@2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(wagmi@2.14.9(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.2.0))(@types/react@18.3.18)(bufferutil@4.0.9)(react@18.2.0)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1)) + '@tanstack/react-query': + specifier: ^5.66.0 + version: 5.66.0(react@18.2.0) fflate: specifier: ^0.7.4 version: 0.7.4 @@ -171,11 +174,11 @@ importers: specifier: ^2.1.0 version: 2.6.0 viem: - specifier: ^1.20.0 - version: 1.21.4(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) + specifier: ^2.22.17 + version: 2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) wagmi: - specifier: ^1.4.12 - version: 1.4.13(@types/react@18.3.18)(bufferutil@4.0.9)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@1.21.4(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1) + specifier: ^2.14.9 + version: 2.14.9(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.2.0))(@types/react@18.3.18)(bufferutil@4.0.9)(react@18.2.0)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1) zustand: specifier: ^4.4.7 version: 4.5.6(@types/react@18.3.18)(react@18.2.0) @@ -214,9 +217,6 @@ packages: resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} - '@adraffy/ens-normalize@1.10.0': - resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} - '@adraffy/ens-normalize@1.11.0': resolution: {integrity: sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg==} @@ -250,11 +250,20 @@ packages: '@coinbase/wallet-sdk@3.9.3': resolution: {integrity: sha512-N/A2DRIf0Y3PHc1XAMvbBUu4zisna6qAdqABMZwBMNEfWrXpAwx16pZGkYCLGE+Rvv1edbcB2LYDRnACNcmCiw==} + '@coinbase/wallet-sdk@4.2.3': + resolution: {integrity: sha512-BcyHZ/Ec84z0emORzqdXDv4P0oV+tV3a0OirfA8Ko1JGBIAVvB+hzLvZzCDvnuZx7MTK+Dd8Y9Tjlo446BpCIg==} + '@commander-js/extra-typings@12.1.0': resolution: {integrity: sha512-wf/lwQvWAA0goIghcb91dQYpkLBcyhOhQNqG/VgWhnKzgt+UOMvra7EX/2fv70arm5RW+PUHoQHHDa6/p77Eqg==} peerDependencies: commander: ~12.1.0 + '@ecies/ciphers@0.2.2': + resolution: {integrity: sha512-ylfGR7PyTd+Rm2PqQowG08BCKA22QuX8NzrL+LxAAvazN10DMwdJ2fWwAzRj05FI/M8vNFGm3cv9Wq/GFWCBLg==} + engines: {bun: '>=1', deno: '>=2', node: '>=16'} + peerDependencies: + '@noble/ciphers': ^1.0.0 + '@electric-sql/pglite@0.2.13': resolution: {integrity: sha512-YRY806NnScVqa21/1L1vaysSQ+0/cAva50z7vlwzaGiBOTS9JhdzIRHN0KfgMhobFAphbznZJ7urMso4RtMBIQ==} @@ -725,6 +734,25 @@ packages: resolution: {integrity: sha512-dwZPq8wx9yV3IX2caLi9q9xZBw2XeIoYqdyihDDDpuHVCEiqadJLwqM3zy+uwf6F1QYQ65A8aOMQg1Uw7LMLNg==} engines: {node: '>=16.0.0'} + '@metamask/json-rpc-engine@8.0.2': + resolution: {integrity: sha512-IoQPmql8q7ABLruW7i4EYVHWUbF74yrp63bRuXV5Zf9BQwcn5H9Ww1eLtROYvI1bUXwOiHZ6qT5CWTrDc/t/AA==} + engines: {node: '>=16.0.0'} + + '@metamask/json-rpc-middleware-stream@7.0.2': + resolution: {integrity: sha512-yUdzsJK04Ev98Ck4D7lmRNQ8FPioXYhEUZOMS01LXW8qTvPGiRVXmVltj2p4wrLkh0vW7u6nv0mNl5xzC5Qmfg==} + engines: {node: '>=16.0.0'} + + '@metamask/object-multiplex@2.1.0': + resolution: {integrity: sha512-4vKIiv0DQxljcXwfpnbsXcfa5glMj5Zg9mqn4xpIWqkv6uJ2ma5/GtUfLFSxhlxnR8asRMv8dDmWya1Tc1sDFA==} + engines: {node: ^16.20 || ^18.16 || >=20} + + '@metamask/onboarding@1.0.1': + resolution: {integrity: sha512-FqHhAsCI+Vacx2qa5mAFcWNSrTcVGMNjzxVgaX8ECSny/BJ9/vgXP9V7WF/8vb9DltPeQkxr+Fnfmm6GHfmdTQ==} + + '@metamask/providers@16.1.0': + resolution: {integrity: sha512-znVCvux30+3SaUwcUGaSf+pUckzT5ukPRpcBmy+muBLC0yaWnBcvDqGfcsw6CBIenUdFrVoAFa8B6jsuCY/a+g==} + engines: {node: ^18.18 || >=20} + '@metamask/rpc-errors@6.4.0': resolution: {integrity: sha512-1ugFO1UoirU2esS3juZanS/Fo8C8XYocCuBpfZI5N7ECtoG+zu0wF+uWZASik6CkO6w9n/Iebt4iI4pT0vptpg==} engines: {node: '>=16.0.0'} @@ -736,6 +764,21 @@ packages: resolution: {integrity: sha512-5yb2gMI1BDm0JybZezeoX/3XhPDOtTbcFvpTXM9kxsoZjPZFh4XciqRbpD6N86HYZqWDhEaKUDuOyR0sQHEjMA==} engines: {node: '>=12.0.0'} + '@metamask/sdk-communication-layer@0.31.0': + resolution: {integrity: sha512-V9CxdzabDPjQVgmKGHsyU3SYt4Af27g+4DbGCx0fLoHqN/i1RBDZqs/LYbJX3ykJCANzE+llz/MolMCMrzM2RA==} + peerDependencies: + cross-fetch: ^4.0.0 + eciesjs: '*' + eventemitter2: ^6.4.9 + readable-stream: ^3.6.2 + socket.io-client: ^4.5.1 + + '@metamask/sdk-install-modal-web@0.31.5': + resolution: {integrity: sha512-ZfrVkPAabfH4AIxcTlxQN5oyyzzVXFTLZrm1/BJ+X632d9MiyAVHNtiqa9EZpZYkZGk2icmDVP+xCpvJmVOVpQ==} + + '@metamask/sdk@0.31.5': + resolution: {integrity: sha512-i7wteqO/fU2JWQrMZz+addHokYThHYznp4nYXviv+QysdxGVgAYvcW/PBA+wpeP3veX7QGfNqMPgSsZbBrASYw==} + '@metamask/superstruct@3.1.0': resolution: {integrity: sha512-N08M56HdOgBfRKkrgCMZvQppkZGcArEop3kixNEtVbJKm6P9Cfg0YkI6X0s1g78sNrj2fWUwvJADdZuzJgFttA==} engines: {node: '>=16.0.0'} @@ -837,8 +880,8 @@ packages: cpu: [x64] os: [win32] - '@noble/ciphers@1.2.0': - resolution: {integrity: sha512-YGdEUzYEd+82jeaVbSKKVp1jFZb8LwaNMIIzHFkihGvYdd/KKAr7KaJHdEdSYGredE3ssSravXIa0Jxg28Sv5w==} + '@noble/ciphers@1.2.1': + resolution: {integrity: sha512-rONPWMC7PeExE077uLE4oqWrZ1IvAfz3oH9LibVAcVCopJiA9R62uavnbEzdkVmJYI6M6Zgkbeb07+tWjlq2XA==} engines: {node: ^14.21.3 || >=16} '@noble/curves@1.2.0': @@ -859,10 +902,6 @@ packages: resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} - '@noble/hashes@1.7.0': - resolution: {integrity: sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w==} - engines: {node: ^14.21.3 || >=16} - '@noble/hashes@1.7.1': resolution: {integrity: sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==} engines: {node: ^14.21.3 || >=16} @@ -887,6 +926,9 @@ packages: resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} + '@paulmillr/qr@0.2.1': + resolution: {integrity: sha512-IHnV6A+zxU7XwmKFinmYjUcwlyK9+xkG3/s9KcQhI9BjQKycrJ1JRO+FbNYPwZiPKW3je/DR0k7w8/gLa5eaxQ==} + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -929,14 +971,15 @@ packages: peerDependencies: prettier: ^3.0.0 - '@rainbow-me/rainbowkit@1.3.7': - resolution: {integrity: sha512-VZ12R8mgpwSuupajG5pkEHftKHP+h16Ci5JBmjuFzPhERqYTL3S/FzRDhha7gl+ZpQMWzF7NkMjURMK8Xjdb8A==} + '@rainbow-me/rainbowkit@2.2.3': + resolution: {integrity: sha512-kXZ+zmKSPZhZdNHey+4TwOIW4p2vIRv5B9+5FoTJv1xktru1RykfAAQY5z+nLUdvc0l6M5hiYH4X88Jl1foXGQ==} engines: {node: '>=12.4'} 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 + '@tanstack/react-query': '>=5.0.0' + react: '>=18' + react-dom: '>=18' + viem: 2.x + wagmi: ^2.9.0 '@repeaterjs/repeater@3.0.6': resolution: {integrity: sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==} @@ -1045,9 +1088,6 @@ packages: '@safe-global/safe-apps-provider@0.18.5': resolution: {integrity: sha512-9v9wjBi3TwLsEJ3C2ujYoexp3pFJ0omDLH/GX91e2QB+uwCKTBYyhxFSrTQ9qzoyQd+bfsk4gjOGW87QcJhf7g==} - '@safe-global/safe-apps-sdk@8.1.0': - resolution: {integrity: sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w==} - '@safe-global/safe-apps-sdk@9.1.0': resolution: {integrity: sha512-N5p/ulfnnA2Pi2M3YeWjULeWbjo7ei22JwU/IXnhoHzKq3pYCN6ynL9mJBOlvDVv892EgLPCWCOwQk/uBT2v0Q==} @@ -1091,6 +1131,9 @@ packages: resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} + '@socket.io/component-emitter@3.1.2': + resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} + '@solidity-parser/parser@0.16.2': resolution: {integrity: sha512-PI9NfoA3P8XK2VBkK5oIfRgKDsicwDZfkVq9ZTBCQYGOP1N2owgY2dyLGyU5/J/hQs8KRk55kdmvTLjy3Mu3vg==} @@ -1161,31 +1204,13 @@ packages: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} - '@tanstack/query-core@4.36.1': - resolution: {integrity: sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==} - - '@tanstack/query-persist-client-core@4.36.1': - resolution: {integrity: sha512-eocgCeI7D7TRv1IUUBMfVwOI0wdSmMkBIbkKhqEdTrnUHUQEeOaYac8oeZk2cumAWJdycu6P/wB+WqGynTnzXg==} + '@tanstack/query-core@5.66.0': + resolution: {integrity: sha512-J+JeBtthiKxrpzUu7rfIPDzhscXF2p5zE/hVdrqkACBP8Yu0M96mwJ5m/8cPPYQE9aRNvXztXHlNwIh4FEeMZw==} - '@tanstack/query-sync-storage-persister@4.36.1': - resolution: {integrity: sha512-yMEt5hWe2+1eclf1agMtXHnPIkxEida0lYWkfdhR8U6KXk/lO4Vca6piJmhKI85t0NHlx3l/z6zX+t/Fn5O9NA==} - - '@tanstack/react-query-persist-client@4.36.1': - resolution: {integrity: sha512-32I5b9aAu4NCiXZ7Te/KEQLfHbYeTNriVPrKYcvEThnZ9tlW01vLcSoxpUIsMYRsembvJUUAkzYBAiZHLOd6pQ==} - peerDependencies: - '@tanstack/react-query': ^4.36.1 - - '@tanstack/react-query@4.36.1': - resolution: {integrity: sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==} + '@tanstack/react-query@5.66.0': + resolution: {integrity: sha512-z3sYixFQJe8hndFnXgWu7C79ctL+pI0KAelYyW+khaNJ1m22lWrhJU2QrsTcRKMuVPtoZvfBYrTStIdKo+x0Xw==} 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 + react: ^18 || ^19 '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -1351,71 +1376,64 @@ packages: '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@vanilla-extract/css@1.14.0': - resolution: {integrity: sha512-rYfm7JciWZ8PFzBM/HDiE2GLnKI3xJ6/vdmVJ5BSgcCZ5CxRlM9Cjqclni9lGzF3eMOijnUhCd/KV8TOzyzbMA==} + '@vanilla-extract/css@1.15.5': + resolution: {integrity: sha512-N1nQebRWnXvlcmu9fXKVUs145EVwmWtMD95bpiEKtvehHDpUhmO1l2bauS7FGYKbi3dU1IurJbGpQhBclTr1ng==} - '@vanilla-extract/dynamic@2.1.0': - resolution: {integrity: sha512-8zl0IgBYRtgD1h+56Zu13wHTiMTJSVEa4F7RWX9vTB/5Xe2KtjoiqApy/szHPVFA56c+ex6A4GpCQjT1bKXbYw==} + '@vanilla-extract/dynamic@2.1.2': + resolution: {integrity: sha512-9BGMciD8rO1hdSPIAh1ntsG4LPD3IYKhywR7VOmmz9OO4Lx1hlwkSg3E6X07ujFx7YuBfx0GDQnApG9ESHvB2A==} '@vanilla-extract/private@1.0.6': resolution: {integrity: sha512-ytsG/JLweEjw7DBuZ/0JCN4WAQgM9erfSTdS1NQY778hFQSZ6cfCDEZZ0sgVm4k54uNz6ImKB33AYvSR//fjxw==} - '@vanilla-extract/sprinkles@1.6.1': - resolution: {integrity: sha512-N/RGKwGAAidBupZ436RpuweRQHEFGU+mvAqBo8PRMAjJEmHoPDttV8RObaMLrJHWLqvX+XUMinHUnD0hFRQISw==} + '@vanilla-extract/sprinkles@1.6.3': + resolution: {integrity: sha512-oCHlQeYOBIJIA2yWy2GnY5wE2A7hGHDyJplJo4lb+KEIBcJWRnDJDg8ywDwQS5VfWJrBBO3drzYZPFpWQjAMiQ==} peerDependencies: '@vanilla-extract/css': ^1.0.0 - '@wagmi/connectors@3.1.11': - resolution: {integrity: sha512-wzxp9f9PtSUFjDUP/QDjc1t7HON4D8wrVKsw35ejdO8hToDpx1gU9lwH/47Zo/1zExGezQc392sjoHSszYd7OA==} + '@wagmi/connectors@5.7.5': + resolution: {integrity: sha512-btqHHUSTzg4BZe9at/7SnRPv4cz8O3pisbeZBh0qxKz7PVm+9vRxY0bSala3xQPDcS0PRTB30Vn/+lM73GCjbw==} peerDependencies: + '@wagmi/core': 2.16.3 typescript: '>=5.0.4' - viem: '>=0.3.35' + viem: 2.x peerDependenciesMeta: typescript: optional: true - '@wagmi/core@1.4.13': - resolution: {integrity: sha512-ytMCvXbBOgfDu9Qw67279wq/jNEe7EZLjLyekX7ROnvHRADqFr3lwZI6ih41UmtRZAmXAx8Ghyuqy154EjB5mQ==} + '@wagmi/core@2.16.3': + resolution: {integrity: sha512-SVovoWHaQ2AIkmGf+ucNijT6AHXcTMffFcLmcFF6++y21x+ge7Gkh3UoJiU91SDDv8n08eTQ9jbyia3GEgU5jQ==} 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 - '@walletconnect/core@2.11.0': - resolution: {integrity: sha512-2Tjp5BCevI7dbmqo/OrCjX4tqgMqwJNQLlQAlphqPfvwlF9+tIu6pGcVbSN3U9zyXzWIZCeleqEaWUeSeET4Ew==} - - '@walletconnect/crypto@1.1.0': - resolution: {integrity: sha512-yZO8BBTQt7BcaemjDgwN56OmSv0OO4QjIpvtfj5OxZfL6IQZQWHOhwC6pJg+BmZPbDlJlWFqFuCZRtiPwRmsoA==} - - '@walletconnect/encoding@1.0.2': - resolution: {integrity: sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag==} + '@walletconnect/core@2.17.0': + resolution: {integrity: sha512-On+uSaCfWdsMIQsECwWHZBmUXfrnqmv6B8SXRRuTJgd8tUpEvBkLQH4X7XkSm3zW6ozEkQTCagZ2ox2YPn3kbw==} + engines: {node: '>=18'} '@walletconnect/environment@1.0.1': resolution: {integrity: sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==} - '@walletconnect/ethereum-provider@2.11.0': - resolution: {integrity: sha512-YrTeHVjuSuhlUw7SQ6xBJXDuJ6iAC+RwINm9nVhoKYJSHAy3EVSJZOofMKrnecL0iRMtD29nj57mxAInIBRuZA==} + '@walletconnect/ethereum-provider@2.17.0': + resolution: {integrity: sha512-b+KTAXOb6JjoxkwpgYQQKPUcTwENGmdEdZoIDLeRicUmZTn/IQKfkMoC2frClB4YxkyoVMtj1oMV2JAax+yu9A==} '@walletconnect/events@1.0.1': resolution: {integrity: sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==} - '@walletconnect/heartbeat@1.2.1': - resolution: {integrity: sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q==} + '@walletconnect/heartbeat@1.2.2': + resolution: {integrity: sha512-uASiRmC5MwhuRuf05vq4AT48Pq8RMi876zV8rr8cV969uTOzWdB/k+Lj5yI2PBtB1bGQisGen7MM1GcZlQTBXw==} '@walletconnect/jsonrpc-http-connection@1.0.8': resolution: {integrity: sha512-+B7cRuaxijLeFDJUq5hAzNyef3e3tBDIxyaCNmFtjwnod5AGis3RToNqzFU33vpVcxFhofkpE7Cx+5MYejbMGw==} - '@walletconnect/jsonrpc-provider@1.0.13': - resolution: {integrity: sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g==} - '@walletconnect/jsonrpc-provider@1.0.14': resolution: {integrity: sha512-rtsNY1XqHvWj0EtITNeuf8PHMvlCLiS3EjQL+WOkxEOA4KPxsohFnBDeyPYiNm4ZvkQdLnece36opYidmtbmow==} - '@walletconnect/jsonrpc-types@1.0.3': - resolution: {integrity: sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw==} - '@walletconnect/jsonrpc-types@1.0.4': resolution: {integrity: sha512-P6679fG/M+wuWg9TY8mh6xFSdYnFyFjwFelxyISxMDrlbXokorEVXYOxiqEbrU3x1BmBoCAJJ+vtEaEoMlpCBQ==} @@ -1433,45 +1451,18 @@ packages: '@react-native-async-storage/async-storage': optional: true - '@walletconnect/legacy-client@2.0.0': - resolution: {integrity: sha512-v5L7rYk9loVnfvUf0mF+76bUPFaU5/Vh7mzL6/950CD/yoGdzYZ3Kj+L7mkC6HPMEGeQsBP1+sqBuiVGZ/aODA==} - - '@walletconnect/legacy-modal@2.0.0': - resolution: {integrity: sha512-jckNd8lMhm4X7dX9TDdxM3bXKJnaqkRs6K2Mo5j6GmbIF9Eyx40jZ5+q457RVxvM6ciZEDT5s1wBHWdWoOo+9Q==} - - '@walletconnect/legacy-provider@2.0.0': - resolution: {integrity: sha512-A8xPebMI1A+50HbWwTpFCbwP7G+1NGKdTKyg8BUUg3h3Y9JucpC1W6w/x0v1Xw7qFEqQnz74LoIN/A3ytH9xrQ==} - - '@walletconnect/legacy-types@2.0.0': - resolution: {integrity: sha512-sOVrA7HUdbI1OwKyPOQU0/DdvTSVFlsXWpAk2K2WvP2erTkBWPMTJq6cv2BmKdoJ3p6gLApT7sd+jHi3OF71uw==} - - '@walletconnect/legacy-utils@2.0.0': - resolution: {integrity: sha512-CPWxSVVXw0kgNCxvU126g4GiV3mzXmC8IPJ15twE46aJ1FX+RHEIfAzFMFz2F2+fEhBxL63A7dwNQKDXorRPcQ==} - '@walletconnect/logger@2.1.2': resolution: {integrity: sha512-aAb28I3S6pYXZHQm5ESB+V6rDqIYfsnHaQyzFbwUUBFY4H0OXx/YtTl8lvhUNhMMfb9UxbwEBS253TlXUYJWSw==} - '@walletconnect/modal-core@2.6.2': - resolution: {integrity: sha512-cv8ibvdOJQv2B+nyxP9IIFdxvQznMz8OOr/oR/AaUZym4hjXNL/l1a2UlSQBXrVjo3xxbouMxLb3kBsHoYP2CA==} - '@walletconnect/modal-core@2.7.0': resolution: {integrity: sha512-oyMIfdlNdpyKF2kTJowTixZSo0PGlCJRdssUN/EZdA6H6v03hZnf09JnwpljZNfir2M65Dvjm/15nGrDQnlxSA==} - '@walletconnect/modal-ui@2.6.2': - resolution: {integrity: sha512-rbdstM1HPGvr7jprQkyPggX7rP4XiCG85ZA+zWBEX0dVQg8PpAgRUqpeub4xQKDgY7pY/xLRXSiCVdWGqvG2HA==} - '@walletconnect/modal-ui@2.7.0': resolution: {integrity: sha512-gERYvU7D7K1ANCN/8vUgsE0d2hnRemfAFZ2novm9aZBg7TEd/4EgB+AqbJ+1dc7GhOL6dazckVq78TgccHb7mQ==} - '@walletconnect/modal@2.6.2': - resolution: {integrity: sha512-eFopgKi8AjKf/0U4SemvcYw9zlLpx9njVN8sf6DAkowC2Md0gPU/UNEbH1Wwj407pEKnEds98pKWib1NN1ACoA==} - '@walletconnect/modal@2.7.0': resolution: {integrity: sha512-RQVt58oJ+rwqnPcIvRFeMGKuXb9qkgSmwz4noF8JZGUym3gUAzVs+uW2NQ1Owm9XOJAV+sANrtJ+VoVq1ftElw==} - '@walletconnect/randombytes@1.1.0': - resolution: {integrity: sha512-X+LO/9ClnXX2Q/1+u83qMnohVaxC4qsXByM/gMSwGMrUObxEiqEWS+b9Upg9oNl6mTr85dTCRF8W17KVcKKXQw==} - '@walletconnect/relay-api@1.0.11': resolution: {integrity: sha512-tLPErkze/HmC9aCmdZOhtVmYZq1wKfWTJtygQHoWtgg722Jd4homo54Cs4ak2RUFUZIGO2RsOpIcWipaua5D5Q==} @@ -1481,21 +1472,20 @@ packages: '@walletconnect/safe-json@1.0.2': resolution: {integrity: sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==} - '@walletconnect/sign-client@2.11.0': - resolution: {integrity: sha512-H2ukscibBS+6WrzQWh+WyVBqO5z4F5et12JcwobdwgHnJSlqIoZxqnUYYWNCI5rUR5UKsKWaUyto4AE9N5dw4Q==} - deprecated: Reliability and performance greatly improved - please see https://github.com/WalletConnect/walletconnect-monorepo/releases + '@walletconnect/sign-client@2.17.0': + resolution: {integrity: sha512-sErYwvSSHQolNXni47L3Bm10ptJc1s1YoJvJd34s5E9h9+d3rj7PrhbiW9X82deN+Dm5oA8X9tC4xty1yIBrVg==} '@walletconnect/time@1.0.2': resolution: {integrity: sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==} - '@walletconnect/types@2.11.0': - resolution: {integrity: sha512-AB5b1lrEbCGHxqS2vqfCkIoODieH+ZAUp9rA1O2ftrhnqDJiJK983Df87JhYhECsQUBHHfALphA8ydER0q+9sw==} + '@walletconnect/types@2.17.0': + resolution: {integrity: sha512-i1pn9URpvt9bcjRDkabuAmpA9K7mzyKoLJlbsAujRVX7pfaG7wur7u9Jz0bk1HxvuABL5LHNncTnVKSXKQ5jZA==} - '@walletconnect/universal-provider@2.11.0': - resolution: {integrity: sha512-zgJv8jDvIMP4Qse/D9oIRXGdfoNqonsrjPZanQ/CHNe7oXGOBiQND2IIeX+tS0H7uNA0TPvctljCLiIN9nw4eA==} + '@walletconnect/universal-provider@2.17.0': + resolution: {integrity: sha512-d3V5Be7AqLrvzcdMZSBS8DmGDRdqnyLk1DWmRKAGgR6ieUWykhhUKlvfeoZtvJrIXrY7rUGYpH1X41UtFkW5Pw==} - '@walletconnect/utils@2.11.0': - resolution: {integrity: sha512-hxkHPlTlDQILHfIKXlmzgNJau/YcSBC3XHUSuZuKZbNEw3duFT6h6pm3HT/1+j1a22IG05WDsNBuTCRkwss+BQ==} + '@walletconnect/utils@2.17.0': + resolution: {integrity: sha512-1aeQvjwsXy4Yh9G6g2eGmXrEl+BzkNjHRdCrGdMYqFTFa8ROEJfTGsSH3pLsNDlOY94CoBUvJvM55q/PMoN/FQ==} '@walletconnect/window-getters@1.0.1': resolution: {integrity: sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==} @@ -1534,15 +1524,6 @@ packages: zod: optional: true - abitype@0.8.7: - resolution: {integrity: sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3 >=3.19.1 - peerDependenciesMeta: - zod: - optional: true - abitype@0.9.8: resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} peerDependencies: @@ -1767,9 +1748,15 @@ packages: bintrees@1.0.2: resolution: {integrity: sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==} + bn.js@4.12.1: + resolution: {integrity: sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==} + bn.js@5.2.1: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + bowser@2.11.0: + resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} + brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -1780,6 +1767,9 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + browserslist@4.24.4: resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -1895,8 +1885,8 @@ packages: resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} engines: {node: '>=6'} - clsx@2.1.0: - resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} code-excerpt@4.0.0: @@ -1949,8 +1939,8 @@ packages: cookie-es@1.2.2: resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} - copy-to-clipboard@3.3.3: - resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} cosmiconfig@8.3.6: resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} @@ -1969,6 +1959,9 @@ packages: cross-fetch@3.2.0: resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + cross-fetch@4.1.0: + resolution: {integrity: sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==} + cross-inspect@1.0.1: resolution: {integrity: sha512-Pcw1JTvZLSJH83iiGWt6fRcT+BjZlCDRVwYLbUcHzv/CRpB7r0MlSrGbIyQvVSNyGnbt7G4AXuyCiDR3POvZ1A==} engines: {node: '>=16.0.0'} @@ -2010,6 +2003,10 @@ packages: dataloader@2.2.3: resolution: {integrity: sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==} + date-fns@2.30.0: + resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} + engines: {node: '>=0.11'} + debounce-fn@5.1.2: resolution: {integrity: sha512-Sr4SdOZ4vw6eQDvPYNxHogvrxmCIld/VenC5JbNrFwMiwd7lY/Z18ZFfo+EWNG4DD9nFlAujWAo/wGuOPHmy5A==} engines: {node: '>=12'} @@ -2022,6 +2019,15 @@ packages: supports-color: optional: true + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@4.4.0: resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} engines: {node: '>=6.0'} @@ -2043,6 +2049,14 @@ packages: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} + dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -2236,6 +2250,10 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + eciesjs@0.4.13: + resolution: {integrity: sha512-zBdtR4K+wbj10bWPpIOF9DW+eFYQu8miU5ypunh0t4Bvt83ZPlEWgT5Dq/0G6uwEXumZKjfb5BZxYUZQ2Hzn/Q==} + engines: {bun: '>=1', deno: '>=2', node: '>=16'} + ejs@3.1.10: resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} engines: {node: '>=0.10.0'} @@ -2244,6 +2262,9 @@ packages: electron-to-chromium@1.5.90: resolution: {integrity: sha512-C3PN4aydfW91Natdyd449Kw+BzhLmof6tzy5W1pFC5SpQxVXT+oyiyOG9AgYYSN9OdA/ik3YkCrpwqI8ug5Tug==} + elliptic@6.6.1: + resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2256,6 +2277,13 @@ packages: end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + engine.io-client@6.6.3: + resolution: {integrity: sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==} + + engine.io-parser@5.2.3: + resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} + engines: {node: '>=10.0.0'} + enhanced-resolve@5.15.0: resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} engines: {node: '>=10.13.0'} @@ -2623,8 +2651,8 @@ packages: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} - eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + eventemitter2@6.4.9: + resolution: {integrity: sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==} eventemitter3@5.0.1: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} @@ -2645,6 +2673,10 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} + extension-port-stream@3.0.0: + resolution: {integrity: sha512-an2S5quJMiy5bnZKEf6AkfH/7r8CzHvhchU40gxN+OM6HPhe7Z9T1FUychcf2M9PpPOO0Hf7BAEfJkw2TDIBDw==} + engines: {node: '>=12.0.0'} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -2934,6 +2966,9 @@ packages: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -2941,6 +2976,9 @@ packages: hey-listen@1.0.8: resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==} + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + hono@4.6.19: resolution: {integrity: sha512-Xw5DwU2cewEsQ1DkDCdy6aBJkEBARl5loovoL1gL3/gw81RdaPbXrNJYp3LoQpzpJ7ECC/1OFi/vn3UZTLHFEw==} engines: {node: '>=16.9.0'} @@ -3037,6 +3075,10 @@ packages: iron-webcrypto@1.2.1: resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} + is-arguments@1.2.0: + resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} + engines: {node: '>= 0.4'} + is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} @@ -3205,9 +3247,6 @@ packages: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} - is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - is-upper-case@2.0.2: resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==} @@ -3230,25 +3269,20 @@ packages: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - isomorphic-unfetch@3.1.0: - resolution: {integrity: sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==} - isomorphic-ws@5.0.0: resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} peerDependencies: ws: '*' - isows@1.0.3: - resolution: {integrity: sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==} - peerDependencies: - ws: '*' - isows@1.0.6: resolution: {integrity: sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw==} peerDependencies: @@ -3414,6 +3448,7 @@ packages: lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -3490,6 +3525,12 @@ packages: resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -3512,6 +3553,14 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + mipd@0.0.7: + resolution: {integrity: sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + modern-ahocorasick@1.1.0: resolution: {integrity: sha512-sEKPVl2rM+MNVkGQt3ChdmD8YsigmXdn5NifZn6jiwn9LRJpWm8F3guhaqrJT/JOat6pwpbXEk6kv+b9DMIjsQ==} @@ -3597,6 +3646,9 @@ packages: resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + obj-multiplex@1.0.0: + resolution: {integrity: sha512-0GNJAOsHoBHeNTvl5Vt6IWnpUEcc3uSRxzBri7EDyIcMgYvnY2JL2qdeV5zTMjWQX5OHcD5amcW2HFfDh0gjIA==} + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -3668,9 +3720,6 @@ packages: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} - outdent@0.8.0: - resolution: {integrity: sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==} - own-keys@1.0.1: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} @@ -3991,6 +4040,9 @@ packages: engines: {node: '>=14'} hasBin: true + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + process-warning@1.0.0: resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} @@ -4014,6 +4066,9 @@ packages: proxy-compare@2.5.1: resolution: {integrity: sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==} + pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + punycode@2.1.1: resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} engines: {node: '>=6'} @@ -4028,10 +4083,6 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - query-string@6.14.1: - resolution: {integrity: sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==} - engines: {node: '>=6'} - query-string@7.1.3: resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} engines: {node: '>=6'} @@ -4081,12 +4132,12 @@ packages: '@types/react': optional: true - react-remove-scroll@2.5.7: - resolution: {integrity: sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA==} + react-remove-scroll@2.6.2: + resolution: {integrity: sha512-KmONPx5fnlXYJQqC62Q+lwIeAk64ws/cUw6omIumRzMRPqgnYqhSSti99nbj0Ry13bv7dF+BKn7NB+OqkdZGTw==} engines: {node: '>=10'} peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true @@ -4114,6 +4165,9 @@ packages: read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} @@ -4236,6 +4290,9 @@ packages: resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} engines: {node: '>=0.4'} + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -4359,6 +4416,14 @@ packages: resolution: {integrity: sha512-6bn4hRfkTvDfUoEQYkERg0BVF1D0vrX9HEkMl08uDiNWvVvjylLHvZFZWkDo6wjT8tUctbYl1nCOuE66ZTaUtA==} engines: {node: '>=14.16'} + socket.io-client@4.8.1: + resolution: {integrity: sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==} + engines: {node: '>=10.0.0'} + + socket.io-parser@4.2.4: + resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} + engines: {node: '>=10.0.0'} + solhint-plugin-prettier@0.1.0: resolution: {integrity: sha512-SDOTSM6tZxZ6hamrzl3GUgzF77FM6jZplgL2plFBclj/OjKP8Z3eIPojKU73gRr0MvOS8ACZILn8a5g0VTz/Gw==} peerDependencies: @@ -4450,6 +4515,9 @@ packages: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} engines: {node: '>= 0.4'} + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -4565,9 +4633,6 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - toggle-selection@1.0.6: - resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} - tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -4669,16 +4734,14 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typescript@5.7.3: resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} engines: {node: '>=14.17'} hasBin: true - ua-parser-js@1.0.37: - resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==} + ua-parser-js@1.0.40: + resolution: {integrity: sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==} + hasBin: true ufo@1.5.4: resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} @@ -4710,9 +4773,6 @@ packages: unenv@1.10.0: resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} - unfetch@4.2.0: - resolution: {integrity: sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==} - unicorn-magic@0.1.0: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} @@ -4833,6 +4893,13 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true @@ -4861,14 +4928,6 @@ packages: typescript: optional: true - viem@1.21.4: - resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} - peerDependencies: - typescript: '>=5.0.4' - peerDependenciesMeta: - typescript: - optional: true - viem@2.22.17: resolution: {integrity: sha512-eqNhlPGgRLR29XEVUT2uuaoEyMiaQZEKx63xT1py9OYsE+ZwlVgjnfrqbXad7Flg2iJ0Bs5Hh7o0FfRWUJGHvg==} peerDependencies: @@ -4918,12 +4977,13 @@ packages: terser: optional: true - wagmi@1.4.13: - resolution: {integrity: sha512-AScVYFjqNt1wMgL99Bob7MLdhoTZ3XKiOZL5HVBdy4W1sh7QodA3gQ8IsmTuUrQ7oQaTxjiXEhwg7sWNrPBvJA==} + wagmi@2.14.9: + resolution: {integrity: sha512-nDJ5hwPaiVpn/8Bi82m5K4BCqDiOSnOV976p/jKXt0svQABGdAxUxej0UgDRoVlrp+NutmejN+SyQKmhV477/A==} 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 @@ -4932,6 +4992,9 @@ packages: resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} engines: {node: '>=10.13.0'} + webextension-polyfill@0.10.0: + resolution: {integrity: sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g==} + webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -5022,6 +5085,18 @@ packages: utf-8-validate: optional: true + ws@8.17.1: + resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + ws@8.18.0: resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} engines: {node: '>=10.0.0'} @@ -5034,6 +5109,10 @@ packages: utf-8-validate: optional: true + xmlhttprequest-ssl@2.1.2: + resolution: {integrity: sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==} + engines: {node: '>=0.4.0'} + xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -5097,12 +5176,28 @@ packages: react: optional: true + zustand@5.0.0: + resolution: {integrity: sha512-LE+VcmbartOPM+auOjCCLQOsQ05zUTp8RkgwRzefUk+2jISdMMFnxvyTjA4YNWr5ZGXYbVsEMZosttuxUBkojQ==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=18.0.0' + immer: '>=9.0.6' + react: '>=18.0.0' + use-sync-external-store: '>=1.2.0' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + use-sync-external-store: + optional: true + snapshots: '@aashutoshrathi/word-wrap@1.2.6': {} - '@adraffy/ens-normalize@1.10.0': {} - '@adraffy/ens-normalize@1.11.0': {} '@adraffy/ens-normalize@1.9.4': {} @@ -5145,10 +5240,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@coinbase/wallet-sdk@4.2.3': + dependencies: + '@noble/hashes': 1.7.1 + clsx: 1.2.1 + eventemitter3: 5.0.1 + preact: 10.25.4 + '@commander-js/extra-typings@12.1.0(commander@12.1.0)': dependencies: commander: 12.1.0 + '@ecies/ciphers@0.2.2(@noble/ciphers@1.2.1)': + dependencies: + '@noble/ciphers': 1.2.1 + '@electric-sql/pglite@0.2.13': {} '@electric-sql/pglite@0.2.16': @@ -5545,6 +5651,49 @@ snapshots: transitivePeerDependencies: - supports-color + '@metamask/json-rpc-engine@8.0.2': + dependencies: + '@metamask/rpc-errors': 6.4.0 + '@metamask/safe-event-emitter': 3.1.2 + '@metamask/utils': 8.5.0 + transitivePeerDependencies: + - supports-color + + '@metamask/json-rpc-middleware-stream@7.0.2': + dependencies: + '@metamask/json-rpc-engine': 8.0.2 + '@metamask/safe-event-emitter': 3.1.2 + '@metamask/utils': 8.5.0 + readable-stream: 3.6.2 + transitivePeerDependencies: + - supports-color + + '@metamask/object-multiplex@2.1.0': + dependencies: + once: 1.4.0 + readable-stream: 3.6.2 + + '@metamask/onboarding@1.0.1': + dependencies: + bowser: 2.11.0 + + '@metamask/providers@16.1.0': + dependencies: + '@metamask/json-rpc-engine': 8.0.2 + '@metamask/json-rpc-middleware-stream': 7.0.2 + '@metamask/object-multiplex': 2.1.0 + '@metamask/rpc-errors': 6.4.0 + '@metamask/safe-event-emitter': 3.1.2 + '@metamask/utils': 8.5.0 + detect-browser: 5.3.0 + extension-port-stream: 3.0.0 + fast-deep-equal: 3.1.3 + is-stream: 2.0.1 + readable-stream: 3.6.2 + webextension-polyfill: 0.10.0 + transitivePeerDependencies: + - supports-color + '@metamask/rpc-errors@6.4.0': dependencies: '@metamask/utils': 9.3.0 @@ -5556,6 +5705,52 @@ snapshots: '@metamask/safe-event-emitter@3.1.2': {} + '@metamask/sdk-communication-layer@0.31.0(cross-fetch@4.1.0)(eciesjs@0.4.13)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + bufferutil: 4.0.9 + cross-fetch: 4.1.0 + date-fns: 2.30.0 + debug: 4.4.0(supports-color@8.1.1) + eciesjs: 0.4.13 + eventemitter2: 6.4.9 + readable-stream: 3.6.2 + socket.io-client: 4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + utf-8-validate: 5.0.10 + uuid: 8.3.2 + transitivePeerDependencies: + - supports-color + + '@metamask/sdk-install-modal-web@0.31.5': + dependencies: + '@paulmillr/qr': 0.2.1 + + '@metamask/sdk@0.31.5(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.7 + '@metamask/onboarding': 1.0.1 + '@metamask/providers': 16.1.0 + '@metamask/sdk-communication-layer': 0.31.0(cross-fetch@4.1.0)(eciesjs@0.4.13)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metamask/sdk-install-modal-web': 0.31.5 + '@paulmillr/qr': 0.2.1 + bowser: 2.11.0 + cross-fetch: 4.1.0 + debug: 4.4.0(supports-color@8.1.1) + eciesjs: 0.4.13 + eth-rpc-errors: 4.0.3 + eventemitter2: 6.4.9 + obj-multiplex: 1.0.0 + pump: 3.0.2 + readable-stream: 3.6.2 + socket.io-client: 4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + tslib: 2.8.1 + util: 0.12.5 + uuid: 8.3.2 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + '@metamask/superstruct@3.1.0': {} '@metamask/utils@5.0.2': @@ -5674,7 +5869,7 @@ snapshots: '@next/swc-win32-x64-msvc@14.0.4': optional: true - '@noble/ciphers@1.2.0': {} + '@noble/ciphers@1.2.1': {} '@noble/curves@1.2.0': dependencies: @@ -5692,8 +5887,6 @@ snapshots: '@noble/hashes@1.4.0': {} - '@noble/hashes@1.7.0': {} - '@noble/hashes@1.7.1': {} '@nodelib/fs.scandir@2.1.5': @@ -5731,6 +5924,8 @@ snapshots: '@opentelemetry/api@1.9.0': {} + '@paulmillr/qr@0.2.1': {} + '@pkgjs/parseargs@0.11.0': optional: true @@ -5795,21 +5990,23 @@ snapshots: dependencies: prettier: 3.4.2 - '@rainbow-me/rainbowkit@1.3.7(@types/react@18.3.18)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(viem@1.21.4(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(wagmi@1.4.13(@types/react@18.3.18)(bufferutil@4.0.9)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@1.21.4(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1))': + '@rainbow-me/rainbowkit@2.2.3(@tanstack/react-query@5.66.0(react@18.2.0))(@types/react@18.3.18)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(viem@2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(wagmi@2.14.9(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.2.0))(@types/react@18.3.18)(bufferutil@4.0.9)(react@18.2.0)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1))': dependencies: - '@vanilla-extract/css': 1.14.0 - '@vanilla-extract/dynamic': 2.1.0 - '@vanilla-extract/sprinkles': 1.6.1(@vanilla-extract/css@1.14.0) - clsx: 2.1.0 - qrcode: 1.5.3 + '@tanstack/react-query': 5.66.0(react@18.2.0) + '@vanilla-extract/css': 1.15.5 + '@vanilla-extract/dynamic': 2.1.2 + '@vanilla-extract/sprinkles': 1.6.3(@vanilla-extract/css@1.15.5) + clsx: 2.1.1 + qrcode: 1.5.4 react: 18.2.0 react-dom: 18.3.1(react@18.2.0) - react-remove-scroll: 2.5.7(@types/react@18.3.18)(react@18.2.0) - ua-parser-js: 1.0.37 - viem: 1.21.4(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) - wagmi: 1.4.13(@types/react@18.3.18)(bufferutil@4.0.9)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@1.21.4(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1) + react-remove-scroll: 2.6.2(@types/react@18.3.18)(react@18.2.0) + ua-parser-js: 1.0.40 + viem: 2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) + wagmi: 2.14.9(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.2.0))(@types/react@18.3.18)(bufferutil@4.0.9)(react@18.2.0)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1) transitivePeerDependencies: - '@types/react' + - babel-plugin-macros '@repeaterjs/repeater@3.0.6': {} @@ -5884,16 +6081,6 @@ snapshots: - utf-8-validate - zod - '@safe-global/safe-apps-sdk@8.1.0(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1)': - dependencies: - '@safe-global/safe-gateway-typescript-sdk': 3.22.9 - viem: 1.21.4(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod - '@safe-global/safe-apps-sdk@9.1.0(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1)': dependencies: '@safe-global/safe-gateway-typescript-sdk': 3.22.9 @@ -5949,6 +6136,8 @@ snapshots: '@sindresorhus/merge-streams@2.3.0': {} + '@socket.io/component-emitter@3.1.2': {} + '@solidity-parser/parser@0.16.2': dependencies: antlr4ts: 0.5.0-alpha.4 @@ -6045,28 +6234,12 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tanstack/query-core@4.36.1': {} - - '@tanstack/query-persist-client-core@4.36.1': - dependencies: - '@tanstack/query-core': 4.36.1 - - '@tanstack/query-sync-storage-persister@4.36.1': - dependencies: - '@tanstack/query-persist-client-core': 4.36.1 + '@tanstack/query-core@5.66.0': {} - '@tanstack/react-query-persist-client@4.36.1(@tanstack/react-query@4.36.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0))': + '@tanstack/react-query@5.66.0(react@18.2.0)': dependencies: - '@tanstack/query-persist-client-core': 4.36.1 - '@tanstack/react-query': 4.36.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0) - - '@tanstack/react-query@4.36.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0)': - dependencies: - '@tanstack/query-core': 4.36.1 + '@tanstack/query-core': 5.66.0 react: 18.2.0 - use-sync-external-store: 1.4.0(react@18.2.0) - optionalDependencies: - react-dom: 18.3.1(react@18.2.0) '@types/debug@4.1.12': dependencies: @@ -6285,42 +6458,43 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@vanilla-extract/css@1.14.0': + '@vanilla-extract/css@1.15.5': dependencies: '@emotion/hash': 0.9.2 '@vanilla-extract/private': 1.0.6 - chalk: 4.1.2 css-what: 6.1.0 cssesc: 3.0.0 csstype: 3.1.3 + dedent: 1.5.3 deep-object-diff: 1.1.9 deepmerge: 4.3.1 + lru-cache: 10.4.3 media-query-parser: 2.0.2 modern-ahocorasick: 1.1.0 - outdent: 0.8.0 + picocolors: 1.1.1 + transitivePeerDependencies: + - babel-plugin-macros - '@vanilla-extract/dynamic@2.1.0': + '@vanilla-extract/dynamic@2.1.2': dependencies: '@vanilla-extract/private': 1.0.6 '@vanilla-extract/private@1.0.6': {} - '@vanilla-extract/sprinkles@1.6.1(@vanilla-extract/css@1.14.0)': + '@vanilla-extract/sprinkles@1.6.3(@vanilla-extract/css@1.15.5)': dependencies: - '@vanilla-extract/css': 1.14.0 + '@vanilla-extract/css': 1.15.5 - '@wagmi/connectors@3.1.11(@types/react@18.3.18)(bufferutil@4.0.9)(react@18.2.0)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@1.21.4(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1)': + '@wagmi/connectors@5.7.5(@types/react@18.3.18)(@wagmi/core@2.16.3(@tanstack/query-core@5.66.0)(@types/react@18.3.18)(react@18.2.0)(typescript@5.7.3)(use-sync-external-store@1.4.0(react@18.2.0))(viem@2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1)))(bufferutil@4.0.9)(react@18.2.0)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1)': dependencies: - '@coinbase/wallet-sdk': 3.9.3 + '@coinbase/wallet-sdk': 4.2.3 + '@metamask/sdk': 0.31.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@safe-global/safe-apps-provider': 0.18.5(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) - '@safe-global/safe-apps-sdk': 8.1.0(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) - '@walletconnect/ethereum-provider': 2.11.0(@types/react@18.3.18)(bufferutil@4.0.9)(react@18.2.0)(utf-8-validate@5.0.10) - '@walletconnect/legacy-provider': 2.0.0 - '@walletconnect/modal': 2.6.2(@types/react@18.3.18)(react@18.2.0) - '@walletconnect/utils': 2.11.0 - abitype: 0.8.7(typescript@5.7.3)(zod@3.24.1) - eventemitter3: 4.0.7 - viem: 1.21.4(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) + '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) + '@wagmi/core': 2.16.3(@tanstack/query-core@5.66.0)(@types/react@18.3.18)(react@18.2.0)(typescript@5.7.3)(use-sync-external-store@1.4.0(react@18.2.0))(viem@2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1)) + '@walletconnect/ethereum-provider': 2.17.0(@types/react@18.3.18)(bufferutil@4.0.9)(react@18.2.0)(utf-8-validate@5.0.10) + cbw-sdk: '@coinbase/wallet-sdk@3.9.3' + viem: 2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) optionalDependencies: typescript: 5.7.3 transitivePeerDependencies: @@ -6350,48 +6524,26 @@ snapshots: - utf-8-validate - zod - '@wagmi/core@1.4.13(@types/react@18.3.18)(bufferutil@4.0.9)(react@18.2.0)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@1.21.4(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1)': + '@wagmi/core@2.16.3(@tanstack/query-core@5.66.0)(@types/react@18.3.18)(react@18.2.0)(typescript@5.7.3)(use-sync-external-store@1.4.0(react@18.2.0))(viem@2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))': dependencies: - '@wagmi/connectors': 3.1.11(@types/react@18.3.18)(bufferutil@4.0.9)(react@18.2.0)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@1.21.4(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1) - abitype: 0.8.7(typescript@5.7.3)(zod@3.24.1) - eventemitter3: 4.0.7 - viem: 1.21.4(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) - zustand: 4.5.6(@types/react@18.3.18)(react@18.2.0) + eventemitter3: 5.0.1 + mipd: 0.0.7(typescript@5.7.3) + viem: 2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) + zustand: 5.0.0(@types/react@18.3.18)(react@18.2.0)(use-sync-external-store@1.4.0(react@18.2.0)) optionalDependencies: + '@tanstack/query-core': 5.66.0 typescript: 5.7.3 transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - '@types/react' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - encoding - immer - - ioredis - react - - supports-color - - uploadthing - - utf-8-validate - - zod + - use-sync-external-store - '@walletconnect/core@2.11.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@walletconnect/core@2.17.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@walletconnect/heartbeat': 1.2.1 - '@walletconnect/jsonrpc-provider': 1.0.13 - '@walletconnect/jsonrpc-types': 1.0.3 + '@walletconnect/heartbeat': 1.2.2 + '@walletconnect/jsonrpc-provider': 1.0.14 + '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/jsonrpc-ws-connection': 1.0.14(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@walletconnect/keyvaluestorage': 1.1.1 @@ -6400,10 +6552,9 @@ snapshots: '@walletconnect/relay-auth': 1.0.4 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.11.0 - '@walletconnect/utils': 2.11.0 + '@walletconnect/types': 2.17.0 + '@walletconnect/utils': 2.17.0 events: 3.3.0 - isomorphic-unfetch: 3.1.0 lodash.isequal: 4.5.0 uint8arrays: 3.1.0 transitivePeerDependencies: @@ -6424,41 +6575,25 @@ snapshots: - aws4fetch - bufferutil - db0 - - encoding - ioredis - uploadthing - utf-8-validate - '@walletconnect/crypto@1.1.0': - dependencies: - '@noble/ciphers': 1.2.0 - '@noble/hashes': 1.7.0 - '@walletconnect/encoding': 1.0.2 - '@walletconnect/environment': 1.0.1 - '@walletconnect/randombytes': 1.1.0 - tslib: 1.14.1 - - '@walletconnect/encoding@1.0.2': - dependencies: - is-typedarray: 1.0.0 - tslib: 1.14.1 - typedarray-to-buffer: 3.1.5 - '@walletconnect/environment@1.0.1': dependencies: tslib: 1.14.1 - '@walletconnect/ethereum-provider@2.11.0(@types/react@18.3.18)(bufferutil@4.0.9)(react@18.2.0)(utf-8-validate@5.0.10)': + '@walletconnect/ethereum-provider@2.17.0(@types/react@18.3.18)(bufferutil@4.0.9)(react@18.2.0)(utf-8-validate@5.0.10)': dependencies: '@walletconnect/jsonrpc-http-connection': 1.0.8 '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/modal': 2.7.0(@types/react@18.3.18)(react@18.2.0) - '@walletconnect/sign-client': 2.11.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@walletconnect/types': 2.11.0 - '@walletconnect/universal-provider': 2.11.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@walletconnect/utils': 2.11.0 + '@walletconnect/sign-client': 2.17.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@walletconnect/types': 2.17.0 + '@walletconnect/universal-provider': 2.17.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@walletconnect/utils': 2.17.0 events: 3.3.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -6490,11 +6625,11 @@ snapshots: keyvaluestorage-interface: 1.0.0 tslib: 1.14.1 - '@walletconnect/heartbeat@1.2.1': + '@walletconnect/heartbeat@1.2.2': dependencies: '@walletconnect/events': 1.0.1 '@walletconnect/time': 1.0.2 - tslib: 1.14.1 + events: 3.3.0 '@walletconnect/jsonrpc-http-connection@1.0.8': dependencies: @@ -6505,23 +6640,12 @@ snapshots: transitivePeerDependencies: - encoding - '@walletconnect/jsonrpc-provider@1.0.13': - dependencies: - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/safe-json': 1.0.2 - tslib: 1.14.1 - '@walletconnect/jsonrpc-provider@1.0.14': dependencies: '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/safe-json': 1.0.2 events: 3.3.0 - '@walletconnect/jsonrpc-types@1.0.3': - dependencies: - keyvaluestorage-interface: 1.0.0 - tslib: 1.14.1 - '@walletconnect/jsonrpc-types@1.0.4': dependencies: events: 3.3.0 @@ -6567,65 +6691,11 @@ snapshots: - ioredis - uploadthing - '@walletconnect/legacy-client@2.0.0': - dependencies: - '@walletconnect/crypto': 1.1.0 - '@walletconnect/encoding': 1.0.2 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/legacy-types': 2.0.0 - '@walletconnect/legacy-utils': 2.0.0 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/window-getters': 1.0.1 - '@walletconnect/window-metadata': 1.0.1 - detect-browser: 5.3.0 - query-string: 6.14.1 - - '@walletconnect/legacy-modal@2.0.0': - dependencies: - '@walletconnect/legacy-types': 2.0.0 - '@walletconnect/legacy-utils': 2.0.0 - copy-to-clipboard: 3.3.3 - preact: 10.25.4 - qrcode: 1.5.4 - - '@walletconnect/legacy-provider@2.0.0': - dependencies: - '@walletconnect/jsonrpc-http-connection': 1.0.8 - '@walletconnect/jsonrpc-provider': 1.0.14 - '@walletconnect/legacy-client': 2.0.0 - '@walletconnect/legacy-modal': 2.0.0 - '@walletconnect/legacy-types': 2.0.0 - '@walletconnect/legacy-utils': 2.0.0 - transitivePeerDependencies: - - encoding - - '@walletconnect/legacy-types@2.0.0': - dependencies: - '@walletconnect/jsonrpc-types': 1.0.4 - - '@walletconnect/legacy-utils@2.0.0': - dependencies: - '@walletconnect/encoding': 1.0.2 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/legacy-types': 2.0.0 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/window-getters': 1.0.1 - '@walletconnect/window-metadata': 1.0.1 - detect-browser: 5.3.0 - query-string: 6.14.1 - '@walletconnect/logger@2.1.2': dependencies: '@walletconnect/safe-json': 1.0.2 pino: 7.11.0 - '@walletconnect/modal-core@2.6.2(@types/react@18.3.18)(react@18.2.0)': - dependencies: - valtio: 1.11.2(@types/react@18.3.18)(react@18.2.0) - transitivePeerDependencies: - - '@types/react' - - react - '@walletconnect/modal-core@2.7.0(@types/react@18.3.18)(react@18.2.0)': dependencies: valtio: 1.11.2(@types/react@18.3.18)(react@18.2.0) @@ -6633,16 +6703,6 @@ snapshots: - '@types/react' - react - '@walletconnect/modal-ui@2.6.2(@types/react@18.3.18)(react@18.2.0)': - dependencies: - '@walletconnect/modal-core': 2.6.2(@types/react@18.3.18)(react@18.2.0) - lit: 2.8.0 - motion: 10.16.2 - qrcode: 1.5.3 - transitivePeerDependencies: - - '@types/react' - - react - '@walletconnect/modal-ui@2.7.0(@types/react@18.3.18)(react@18.2.0)': dependencies: '@walletconnect/modal-core': 2.7.0(@types/react@18.3.18)(react@18.2.0) @@ -6653,14 +6713,6 @@ snapshots: - '@types/react' - react - '@walletconnect/modal@2.6.2(@types/react@18.3.18)(react@18.2.0)': - dependencies: - '@walletconnect/modal-core': 2.6.2(@types/react@18.3.18)(react@18.2.0) - '@walletconnect/modal-ui': 2.6.2(@types/react@18.3.18)(react@18.2.0) - transitivePeerDependencies: - - '@types/react' - - react - '@walletconnect/modal@2.7.0(@types/react@18.3.18)(react@18.2.0)': dependencies: '@walletconnect/modal-core': 2.7.0(@types/react@18.3.18)(react@18.2.0) @@ -6669,13 +6721,6 @@ snapshots: - '@types/react' - react - '@walletconnect/randombytes@1.1.0': - dependencies: - '@noble/hashes': 1.7.0 - '@walletconnect/encoding': 1.0.2 - '@walletconnect/environment': 1.0.1 - tslib: 1.14.1 - '@walletconnect/relay-api@1.0.11': dependencies: '@walletconnect/jsonrpc-types': 1.0.4 @@ -6693,16 +6738,16 @@ snapshots: dependencies: tslib: 1.14.1 - '@walletconnect/sign-client@2.11.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@walletconnect/sign-client@2.17.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: - '@walletconnect/core': 2.11.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@walletconnect/core': 2.17.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@walletconnect/events': 1.0.1 - '@walletconnect/heartbeat': 1.2.1 + '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/logger': 2.1.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.11.0 - '@walletconnect/utils': 2.11.0 + '@walletconnect/types': 2.17.0 + '@walletconnect/utils': 2.17.0 events: 3.3.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -6722,7 +6767,6 @@ snapshots: - aws4fetch - bufferutil - db0 - - encoding - ioredis - uploadthing - utf-8-validate @@ -6731,11 +6775,11 @@ snapshots: dependencies: tslib: 1.14.1 - '@walletconnect/types@2.11.0': + '@walletconnect/types@2.17.0': dependencies: '@walletconnect/events': 1.0.1 - '@walletconnect/heartbeat': 1.2.1 - '@walletconnect/jsonrpc-types': 1.0.3 + '@walletconnect/heartbeat': 1.2.2 + '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/keyvaluestorage': 1.1.1 '@walletconnect/logger': 2.1.2 events: 3.3.0 @@ -6759,16 +6803,16 @@ snapshots: - ioredis - uploadthing - '@walletconnect/universal-provider@2.11.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@walletconnect/universal-provider@2.17.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@walletconnect/jsonrpc-http-connection': 1.0.8 - '@walletconnect/jsonrpc-provider': 1.0.13 + '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/logger': 2.1.2 - '@walletconnect/sign-client': 2.11.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@walletconnect/types': 2.11.0 - '@walletconnect/utils': 2.11.0 + '@walletconnect/sign-client': 2.17.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@walletconnect/types': 2.17.0 + '@walletconnect/utils': 2.17.0 events: 3.3.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -6793,7 +6837,7 @@ snapshots: - uploadthing - utf-8-validate - '@walletconnect/utils@2.11.0': + '@walletconnect/utils@2.17.0': dependencies: '@stablelib/chacha20poly1305': 1.0.1 '@stablelib/hkdf': 1.0.1 @@ -6801,12 +6845,14 @@ snapshots: '@stablelib/sha256': 1.0.1 '@stablelib/x25519': 1.0.3 '@walletconnect/relay-api': 1.0.11 + '@walletconnect/relay-auth': 1.0.4 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.11.0 + '@walletconnect/types': 2.17.0 '@walletconnect/window-getters': 1.0.1 '@walletconnect/window-metadata': 1.0.1 detect-browser: 5.3.0 + elliptic: 6.6.1 query-string: 7.1.3 uint8arrays: 3.1.0 transitivePeerDependencies: @@ -6868,12 +6914,6 @@ snapshots: typescript: 5.7.3 zod: 3.24.1 - abitype@0.8.7(typescript@5.7.3)(zod@3.24.1): - dependencies: - typescript: 5.7.3 - optionalDependencies: - zod: 3.24.1 - abitype@0.9.8(typescript@5.7.3)(zod@3.24.1): optionalDependencies: typescript: 5.7.3 @@ -7097,8 +7137,12 @@ snapshots: bintrees@1.0.2: {} + bn.js@4.12.1: {} + bn.js@5.2.1: {} + bowser@2.11.0: {} + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 @@ -7112,6 +7156,8 @@ snapshots: dependencies: fill-range: 7.1.1 + brorand@1.1.0: {} + browserslist@4.24.4: dependencies: caniuse-lite: 1.0.30001696 @@ -7127,7 +7173,6 @@ snapshots: bufferutil@4.0.9: dependencies: node-gyp-build: 4.8.4 - optional: true busboy@1.6.0: dependencies: @@ -7243,7 +7288,7 @@ snapshots: clsx@1.2.1: {} - clsx@2.1.0: {} + clsx@2.1.1: {} code-excerpt@4.0.0: dependencies: @@ -7292,9 +7337,7 @@ snapshots: cookie-es@1.2.2: {} - copy-to-clipboard@3.3.3: - dependencies: - toggle-selection: 1.0.6 + core-util-is@1.0.3: {} cosmiconfig@8.3.6(typescript@5.7.3): dependencies: @@ -7313,6 +7356,12 @@ snapshots: transitivePeerDependencies: - encoding + cross-fetch@4.1.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + cross-inspect@1.0.1: dependencies: tslib: 2.8.1 @@ -7355,6 +7404,10 @@ snapshots: dataloader@2.2.3: {} + date-fns@2.30.0: + dependencies: + '@babel/runtime': 7.26.7 + debounce-fn@5.1.2: dependencies: mimic-fn: 4.0.0 @@ -7363,6 +7416,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.3.7: + dependencies: + ms: 2.1.3 + debug@4.4.0(supports-color@8.1.1): dependencies: ms: 2.1.3 @@ -7377,6 +7434,8 @@ snapshots: dependencies: mimic-response: 3.1.0 + dedent@1.5.3: {} + deep-extend@0.6.0: {} deep-is@0.1.4: {} @@ -7486,12 +7545,29 @@ snapshots: eastasianwidth@0.2.0: {} + eciesjs@0.4.13: + dependencies: + '@ecies/ciphers': 0.2.2(@noble/ciphers@1.2.1) + '@noble/ciphers': 1.2.1 + '@noble/curves': 1.8.1 + '@noble/hashes': 1.7.1 + ejs@3.1.10: dependencies: jake: 10.9.2 electron-to-chromium@1.5.90: {} + elliptic@6.6.1: + dependencies: + bn.js: 4.12.1 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -7502,6 +7578,20 @@ snapshots: dependencies: once: 1.4.0 + engine.io-client@6.6.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@socket.io/component-emitter': 3.1.2 + debug: 4.3.7 + engine.io-parser: 5.2.3 + ws: 8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + xmlhttprequest-ssl: 2.1.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + engine.io-parser@5.2.3: {} + enhanced-resolve@5.15.0: dependencies: graceful-fs: 4.2.11 @@ -7822,7 +7912,7 @@ snapshots: '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.7.3) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1))(eslint@8.57.1) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1) eslint-plugin-react: 7.37.4(eslint@8.57.1) @@ -7851,12 +7941,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1))(eslint@8.57.1): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1): dependencies: debug: 4.4.0(supports-color@8.1.1) enhanced-resolve: 5.15.0 eslint: 8.57.1 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1) fast-glob: 3.3.3 get-tsconfig: 4.10.0 @@ -7868,14 +7958,14 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): + eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.7.3) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1))(eslint@8.57.1) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) transitivePeerDependencies: - supports-color @@ -7890,7 +7980,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -8072,7 +8162,7 @@ snapshots: event-target-shim@5.0.1: {} - eventemitter3@4.0.7: {} + eventemitter2@6.4.9: {} eventemitter3@5.0.1: {} @@ -8114,6 +8204,11 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 + extension-port-stream@3.0.0: + dependencies: + readable-stream: 3.6.2 + webextension-polyfill: 0.10.0 + fast-deep-equal@3.1.3: {} fast-diff@1.2.0: {} @@ -8454,12 +8549,23 @@ snapshots: dependencies: function-bind: 1.1.2 + hash.js@1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + hasown@2.0.2: dependencies: function-bind: 1.1.2 hey-listen@1.0.8: {} + hmac-drbg@1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + hono@4.6.19: {} http-cache-semantics@4.1.1: {} @@ -8560,6 +8666,11 @@ snapshots: iron-webcrypto@1.2.1: {} + is-arguments@1.2.0: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + is-array-buffer@3.0.2: dependencies: call-bind: 1.0.5 @@ -8728,8 +8839,6 @@ snapshots: dependencies: which-typed-array: 1.1.18 - is-typedarray@1.0.0: {} - is-upper-case@2.0.2: dependencies: tslib: 2.8.1 @@ -8753,25 +8862,16 @@ snapshots: dependencies: is-docker: 2.2.1 + isarray@1.0.0: {} + isarray@2.0.5: {} isexe@2.0.0: {} - isomorphic-unfetch@3.1.0: - dependencies: - node-fetch: 2.7.0 - unfetch: 4.2.0 - transitivePeerDependencies: - - encoding - isomorphic-ws@5.0.0(ws@8.13.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)): dependencies: ws: 8.13.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - isows@1.0.3(ws@8.13.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)): - dependencies: - ws: 8.13.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - isows@1.0.6(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)): dependencies: ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -8993,6 +9093,10 @@ snapshots: mimic-response@4.0.0: {} + minimalistic-assert@1.0.1: {} + + minimalistic-crypto-utils@1.0.1: {} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -9013,6 +9117,10 @@ snapshots: minipass@7.1.2: {} + mipd@0.0.7(typescript@5.7.3): + optionalDependencies: + typescript: 5.7.3 + modern-ahocorasick@1.1.0: {} motion@10.16.2: @@ -9093,6 +9201,12 @@ snapshots: dependencies: path-key: 4.0.0 + obj-multiplex@1.0.0: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + readable-stream: 2.3.8 + object-assign@4.1.1: {} object-hash@3.0.0: {} @@ -9178,8 +9292,6 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - outdent@0.8.0: {} - own-keys@1.0.1: dependencies: get-intrinsic: 1.2.7 @@ -9551,6 +9663,8 @@ snapshots: prettier@3.4.2: {} + process-nextick-args@2.0.1: {} + process-warning@1.0.0: {} process-warning@3.0.0: {} @@ -9572,6 +9686,11 @@ snapshots: proxy-compare@2.5.1: {} + pump@3.0.2: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + punycode@2.1.1: {} qrcode@1.5.3: @@ -9587,13 +9706,6 @@ snapshots: pngjs: 5.0.0 yargs: 15.4.1 - query-string@6.14.1: - dependencies: - decode-uri-component: 0.2.2 - filter-obj: 1.1.0 - split-on-first: 1.1.0 - strict-uri-encode: 2.0.0 - query-string@7.1.3: dependencies: decode-uri-component: 0.2.2 @@ -9640,7 +9752,7 @@ snapshots: optionalDependencies: '@types/react': 18.3.18 - react-remove-scroll@2.5.7(@types/react@18.3.18)(react@18.2.0): + react-remove-scroll@2.6.2(@types/react@18.3.18)(react@18.2.0): dependencies: react: 18.2.0 react-remove-scroll-bar: 2.3.8(@types/react@18.3.18)(react@18.2.0) @@ -9673,6 +9785,16 @@ snapshots: dependencies: pify: 2.3.0 + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + readable-stream@3.6.2: dependencies: inherits: 2.0.4 @@ -9832,6 +9954,8 @@ snapshots: has-symbols: 1.1.0 isarray: 2.0.5 + safe-buffer@5.1.2: {} + safe-buffer@5.2.1: {} safe-push-apply@1.0.0: @@ -9977,6 +10101,24 @@ snapshots: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 + socket.io-client@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@socket.io/component-emitter': 3.1.2 + debug: 4.3.7 + engine.io-client: 6.6.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + socket.io-parser: 4.2.4 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + socket.io-parser@4.2.4: + dependencies: + '@socket.io/component-emitter': 3.1.2 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + solhint-plugin-prettier@0.1.0(prettier-plugin-solidity@1.4.2(prettier@3.4.2))(prettier@3.4.2): dependencies: '@prettier/sync': 0.3.0(prettier@3.4.2) @@ -10117,6 +10259,10 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 @@ -10242,8 +10388,6 @@ snapshots: dependencies: is-number: 7.0.0 - toggle-selection@1.0.6: {} - tr46@0.0.3: {} ts-api-utils@1.4.3(typescript@5.7.3): @@ -10354,13 +10498,9 @@ snapshots: possible-typed-array-names: 1.0.0 reflect.getprototypeof: 1.0.10 - typedarray-to-buffer@3.1.5: - dependencies: - is-typedarray: 1.0.0 - typescript@5.7.3: {} - ua-parser-js@1.0.37: {} + ua-parser-js@1.0.40: {} ufo@1.5.4: {} @@ -10398,8 +10538,6 @@ snapshots: node-fetch-native: 1.6.6 pathe: 1.1.2 - unfetch@4.2.0: {} - unicorn-magic@0.1.0: {} universalify@2.0.1: {} @@ -10455,7 +10593,6 @@ snapshots: utf-8-validate@5.0.10: dependencies: node-gyp-build: 4.8.4 - optional: true utf-8-validate@6.0.5: dependencies: @@ -10464,6 +10601,16 @@ snapshots: util-deprecate@1.0.2: {} + util@0.12.5: + dependencies: + inherits: 2.0.4 + is-arguments: 1.2.0 + is-generator-function: 1.1.0 + is-typed-array: 1.1.15 + which-typed-array: 1.1.18 + + uuid@8.3.2: {} + uuid@9.0.1: {} valtio@1.11.2(@types/react@18.3.18)(react@18.2.0): @@ -10494,23 +10641,6 @@ snapshots: - utf-8-validate - zod - viem@1.21.4(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1): - dependencies: - '@adraffy/ens-normalize': 1.10.0 - '@noble/curves': 1.2.0 - '@noble/hashes': 1.3.2 - '@scure/bip32': 1.3.2 - '@scure/bip39': 1.2.1 - abitype: 0.9.8(typescript@5.7.3)(zod@3.24.1) - isows: 1.0.3(ws@8.13.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - ws: 8.13.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - optionalDependencies: - typescript: 5.7.3 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - zod - viem@2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1): dependencies: '@noble/curves': 1.8.1 @@ -10582,16 +10712,14 @@ snapshots: '@types/node': 20.10.4 fsevents: 2.3.3 - wagmi@1.4.13(@types/react@18.3.18)(bufferutil@4.0.9)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@1.21.4(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1): + wagmi@2.14.9(@tanstack/query-core@5.66.0)(@tanstack/react-query@5.66.0(react@18.2.0))(@types/react@18.3.18)(bufferutil@4.0.9)(react@18.2.0)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1): dependencies: - '@tanstack/query-sync-storage-persister': 4.36.1 - '@tanstack/react-query': 4.36.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0) - '@tanstack/react-query-persist-client': 4.36.1(@tanstack/react-query@4.36.1(react-dom@18.3.1(react@18.2.0))(react@18.2.0)) - '@wagmi/core': 1.4.13(@types/react@18.3.18)(bufferutil@4.0.9)(react@18.2.0)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@1.21.4(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1) - abitype: 0.8.7(typescript@5.7.3)(zod@3.24.1) + '@tanstack/react-query': 5.66.0(react@18.2.0) + '@wagmi/connectors': 5.7.5(@types/react@18.3.18)(@wagmi/core@2.16.3(@tanstack/query-core@5.66.0)(@types/react@18.3.18)(react@18.2.0)(typescript@5.7.3)(use-sync-external-store@1.4.0(react@18.2.0))(viem@2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1)))(bufferutil@4.0.9)(react@18.2.0)(typescript@5.7.3)(utf-8-validate@5.0.10)(viem@2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1) + '@wagmi/core': 2.16.3(@tanstack/query-core@5.66.0)(@types/react@18.3.18)(react@18.2.0)(typescript@5.7.3)(use-sync-external-store@1.4.0(react@18.2.0))(viem@2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1)) react: 18.2.0 use-sync-external-store: 1.4.0(react@18.2.0) - viem: 1.21.4(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) + viem: 2.22.17(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.24.1) optionalDependencies: typescript: 5.7.3 transitivePeerDependencies: @@ -10606,6 +10734,7 @@ snapshots: - '@netlify/blobs' - '@planetscale/database' - '@react-native-async-storage/async-storage' + - '@tanstack/query-core' - '@types/react' - '@upstash/redis' - '@vercel/blob' @@ -10616,8 +10745,6 @@ snapshots: - encoding - immer - ioredis - - react-dom - - react-native - supports-color - uploadthing - utf-8-validate @@ -10628,6 +10755,8 @@ snapshots: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 + webextension-polyfill@0.10.0: {} + webidl-conversions@3.0.1: {} whatwg-url@5.0.0: @@ -10734,15 +10863,15 @@ snapshots: bufferutil: 4.0.9 utf-8-validate: 5.0.10 - ws@8.13.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): + ws@8.13.0(bufferutil@4.0.9)(utf-8-validate@6.0.5): optionalDependencies: bufferutil: 4.0.9 - utf-8-validate: 5.0.10 + utf-8-validate: 6.0.5 - ws@8.13.0(bufferutil@4.0.9)(utf-8-validate@6.0.5): + ws@8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): optionalDependencies: bufferutil: 4.0.9 - utf-8-validate: 6.0.5 + utf-8-validate: 5.0.10 ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): optionalDependencies: @@ -10754,6 +10883,8 @@ snapshots: bufferutil: 4.0.9 utf-8-validate: 6.0.5 + xmlhttprequest-ssl@2.1.2: {} + xtend@4.0.2: {} y18n@4.0.3: {} @@ -10809,3 +10940,9 @@ snapshots: optionalDependencies: '@types/react': 18.3.18 react: 18.2.0 + + zustand@5.0.0(@types/react@18.3.18)(react@18.2.0)(use-sync-external-store@1.4.0(react@18.2.0)): + optionalDependencies: + '@types/react': 18.3.18 + react: 18.2.0 + use-sync-external-store: 1.4.0(react@18.2.0) From 17f63ba7d35c9b5e75ba95f98121e30c48b9a349 Mon Sep 17 00:00:00 2001 From: Tib Date: Mon, 3 Feb 2025 18:27:24 +0400 Subject: [PATCH 6/7] add download button --- .../web/src/file-explorer/FileThumbnail.tsx | 80 ++++++++++++++----- packages/web/src/file-explorer/FileViewer.tsx | 3 +- .../web/src/file-uploader/FileUploader.tsx | 1 - packages/web/src/gunzip.ts | 24 ++++-- packages/web/src/icons/DownloadIcon.tsx | 15 ++++ 5 files changed, 96 insertions(+), 27 deletions(-) create mode 100644 packages/web/src/icons/DownloadIcon.tsx diff --git a/packages/web/src/file-explorer/FileThumbnail.tsx b/packages/web/src/file-explorer/FileThumbnail.tsx index 545bb41..71d4c43 100644 --- a/packages/web/src/file-explorer/FileThumbnail.tsx +++ b/packages/web/src/file-explorer/FileThumbnail.tsx @@ -1,7 +1,10 @@ "use client"; +import { useCallback } from "react"; + import { OnchainFile } from "../common"; import { gunzip } from "../gunzip"; +import { DownloadIcon } from "../icons/DownloadIcon"; type Props = { file: OnchainFile; @@ -9,33 +12,72 @@ type Props = { }; export function FileThumbnail({ file, contents }: Props) { - if (file.type?.startsWith("image/")) { - return ( - // eslint-disable-next-line @next/next/no-img-element - {file.filename} - ); - } - + // Decode the contents (assuming base64 encoding if applicable). const decodedContents = file.encoding === "base64" ? Buffer.from(contents, "base64") : Buffer.from(contents); - const decompressedContents = - file.compression === "gzip" ? gunzip(decodedContents) : decodedContents; + // Set a preview size limit. + const previewMaxSize = 1024 * 1024; - return ( + // For non-image files, decompress only up to previewMaxSize bytes. + // (For images we use the original encoded content for rendering.) + const previewContents = + file.compression === "gzip" + ? gunzip(decodedContents, previewMaxSize) + : decodedContents.slice(0, previewMaxSize); + + // Create a download filename (if gzipped, remove the ".gz" extension). + const downloadFilename = + file.compression === "gzip" + ? file.filename.replace(/\.gz$/, "") + : file.filename; + + // Download handler: decompress fully (if needed) only when the user clicks "Download". + const handleDownload = useCallback(() => { + // For compressed files, decompress fully; otherwise use the decoded content. + const fullContents = + file.compression === "gzip" ? gunzip(decodedContents) : decodedContents; + + const blob = new Blob([fullContents], { + type: file.type || "application/octet-stream", + }); + const url = URL.createObjectURL(blob); + const link = document.createElement("a"); + link.href = url; + link.download = downloadFilename; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + URL.revokeObjectURL(url); + }, [file, decodedContents, downloadFilename]); + + // Determine the preview element based on file type. + const previewElement = file.type?.startsWith("image/") ? ( + // For images, render the using the original encoded content. + {file.filename} + ) : ( + // For non-images, render an