From 04c4da5f03353a363e0c858a24764ca868755f0a Mon Sep 17 00:00:00 2001 From: Joaquim Verges Date: Sun, 26 Jan 2025 16:25:41 -0800 Subject: [PATCH] update dependencies --- .changeset/violet-tables-travel.md | 5 + apps/dashboard/package.json | 6 +- .../claim-conditions-form/hooks.ts | 6 +- .../components/InstalledModulesTable.tsx | 4 +- .../modules/components/ModuleForm.tsx | 17 +- .../modules/components/module-card.tsx | 4 +- .../contract-deploy-form/custom-contract.tsx | 14 +- apps/playground-web/package.json | 6 +- apps/portal/package.json | 6 +- apps/wallet-ui/package.json | 4 +- packages/thirdweb/.size-limit.json | 4 +- packages/thirdweb/package.json | 78 +--- packages/thirdweb/src/adapters/viem.ts | 5 +- packages/thirdweb/src/auth/verify-hash.ts | 6 +- .../src/chains/chain-definitions/abstract.ts | 16 + .../src/contract/actions/get-bytecode.ts | 7 +- .../src/contract/actions/resolve-abi.ts | 6 +- packages/thirdweb/src/contract/contract.ts | 2 +- .../zksync/zkDeployDeterministic.ts | 12 +- .../deployment/zksync/zkDeployProxy.ts | 14 +- .../thirdweb/src/event/actions/get-events.ts | 5 +- packages/thirdweb/src/exports/chains.ts | 1 + .../erc4337/account/isAccountDeployed.ts | 15 +- .../helpers/hashDelayedRevealBatch.ts | 3 +- .../react/web/ui/ConnectWallet/Blobbie.tsx | 3 +- .../web/ui/prebuilt/Wallet/icon.test.tsx | 5 +- .../thirdweb/src/rpc/actions/eth_getLogs.ts | 8 +- .../src/rpc/actions/eth_getStorageAt.ts | 7 +- .../src/transaction/actions/estimate-gas.ts | 7 +- .../actions/gasless/providers/biconomy.ts | 7 +- .../src/transaction/actions/simulate.ts | 5 +- .../actions/to-serializable-transaction.ts | 5 +- .../thirdweb/src/transaction/read-contract.ts | 3 +- .../any-evm/compute-deployment-address.ts | 3 +- .../utils/bytecode/resolveImplementation.ts | 17 +- .../extensions/airdrop/hash-entry-erc1155.ts | 3 +- .../extensions/airdrop/hash-entry-erc20.ts | 3 +- .../extensions/airdrop/hash-entry-erc721.ts | 3 +- .../src/utils/extensions/drops/hash-entry.ts | 5 +- .../src/wallets/eip5792/get-capabilities.ts | 3 +- .../in-app/core/wallet/enclave-wallet.ts | 2 +- .../thirdweb/src/wallets/injected/index.ts | 4 +- pnpm-lock.yaml | 389 +++++++++--------- 43 files changed, 366 insertions(+), 362 deletions(-) create mode 100644 .changeset/violet-tables-travel.md create mode 100644 packages/thirdweb/src/chains/chain-definitions/abstract.ts diff --git a/.changeset/violet-tables-travel.md b/.changeset/violet-tables-travel.md new file mode 100644 index 00000000000..641a1f09e42 --- /dev/null +++ b/.changeset/violet-tables-travel.md @@ -0,0 +1,5 @@ +--- +"thirdweb": patch +--- + +Updated dependencies diff --git a/apps/dashboard/package.json b/apps/dashboard/package.json index 4ea0ee32339..b60e5322f3f 100644 --- a/apps/dashboard/package.json +++ b/apps/dashboard/package.json @@ -68,7 +68,7 @@ "ioredis": "^5.4.1", "ipaddr.js": "^2.2.0", "lucide-react": "0.468.0", - "next": "15.1.3", + "next": "15.1.4", "next-plausible": "^3.12.4", "next-themes": "^0.4.4", "nextjs-toploader": "^1.6.12", @@ -104,8 +104,8 @@ "devDependencies": { "@chakra-ui/cli": "^2.4.1", "@chromatic-com/storybook": "3.2.2", - "@next/bundle-analyzer": "15.1.0", - "@next/eslint-plugin-next": "15.1.3", + "@next/bundle-analyzer": "15.1.4", + "@next/eslint-plugin-next": "15.1.4", "@playwright/test": "1.49.1", "@storybook/addon-essentials": "8.4.7", "@storybook/addon-interactions": "8.4.7", diff --git a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/_components/claim-conditions/claim-conditions-form/hooks.ts b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/_components/claim-conditions/claim-conditions-form/hooks.ts index 1b1669937d7..62e9e08c431 100644 --- a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/_components/claim-conditions/claim-conditions-form/hooks.ts +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/_components/claim-conditions/claim-conditions-form/hooks.ts @@ -4,6 +4,7 @@ import { toTokens, toUnits, } from "thirdweb"; +import { getContract } from "thirdweb/contract"; import type { OverrideEntry } from "thirdweb/dist/types/utils/extensions/drops/types"; import type { Prettify } from "thirdweb/dist/types/utils/type-utils"; import { getContractMetadata } from "thirdweb/extensions/common"; @@ -71,7 +72,10 @@ export async function getClaimPhasesInLegacyFormat( conditions.map(async (condition) => { const [currencyMetadata, metadata, contractMetadata] = await Promise.all([ await ERC20Ext.getCurrencyMetadata({ - contract: { ...options.contract, address: condition.currency }, + contract: getContract({ + ...options.contract, + address: condition.currency, + }), }).then((m) => ({ ...m, displayValue: toTokens(condition.pricePerToken, m.decimals), diff --git a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/InstalledModulesTable.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/InstalledModulesTable.tsx index bd284754c58..07f5d045501 100644 --- a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/InstalledModulesTable.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/InstalledModulesTable.tsx @@ -4,13 +4,13 @@ import { ScrollShadow } from "@/components/ui/ScrollShadow/ScrollShadow"; import { Alert, AlertTitle } from "@/components/ui/alert"; import type { Account as TWAccount } from "@3rdweb-sdk/react/hooks/useApi"; import { CircleSlash } from "lucide-react"; -import type { ContractOptions } from "thirdweb"; +import type { ThirdwebContract } from "thirdweb/contract"; import type { Account } from "thirdweb/wallets"; import { ModuleCard } from "./module-card"; import { useAllModuleContractInfo } from "./moduleContractInfo"; export const InstalledModulesTable = (props: { - contract: ContractOptions; + contract: ThirdwebContract; installedModules: { data?: string[]; isPending: boolean; diff --git a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/ModuleForm.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/ModuleForm.tsx index 9747744bae8..53d9e11d77c 100644 --- a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/ModuleForm.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/ModuleForm.tsx @@ -15,8 +15,9 @@ import { FormProvider, type UseFormReturn, useForm } from "react-hook-form"; import { toast } from "sonner"; import { type Chain, - type ContractOptions, type ThirdwebClient, + type ThirdwebContract, + getContract, sendTransaction, waitForReceipt, } from "thirdweb"; @@ -47,7 +48,7 @@ type FormData = { }; type InstallModuleFormProps = { - contract: ContractOptions; + contract: ThirdwebContract; refetchModules: () => void; account: Account; installedModules: { @@ -180,11 +181,13 @@ export const InstallModuleForm = (props: InstallModuleFormProps) => { return Promise.all( moduleAddress.map(async (address) => { - const result = await resolveImplementation({ - client, - address, - chain: contract.chain, - }); + const result = await resolveImplementation( + getContract({ + client, + address, + chain: contract.chain, + }), + ); if (!result) { throw new Error("Failed to fetch bytecode for module"); diff --git a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/module-card.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/module-card.tsx index 3e4a8e68a82..27e36d8a306 100644 --- a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/module-card.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/module-card.tsx @@ -23,7 +23,7 @@ import { Suspense, useEffect, useState } from "react"; import { ErrorBoundary, type FallbackProps } from "react-error-boundary"; import { toast } from "sonner"; import { - type ContractOptions, + type ThirdwebContract, getContract, sendTransaction, waitForReceipt, @@ -35,7 +35,7 @@ import { useModuleContractInfo } from "./moduleContractInfo"; type ModuleCardProps = { moduleAddress: string; - contract: ContractOptions; + contract: ThirdwebContract; onRemoveModule: () => void; ownerAccount: Account | undefined; allModuleContractInfo: { diff --git a/apps/dashboard/src/components/contract-components/contract-deploy-form/custom-contract.tsx b/apps/dashboard/src/components/contract-components/contract-deploy-form/custom-contract.tsx index 2377170962f..b82ac5edbcd 100644 --- a/apps/dashboard/src/components/contract-components/contract-deploy-form/custom-contract.tsx +++ b/apps/dashboard/src/components/contract-components/contract-deploy-form/custom-contract.tsx @@ -25,7 +25,7 @@ import { CircleAlertIcon, ExternalLinkIcon, InfoIcon } from "lucide-react"; import Link from "next/link"; import { useCallback, useMemo } from "react"; import { FormProvider, type UseFormReturn, useForm } from "react-hook-form"; -import { ZERO_ADDRESS } from "thirdweb"; +import { ZERO_ADDRESS, getContract } from "thirdweb"; import type { FetchDeployMetadataResult } from "thirdweb/contract"; import { deployContractfromDeployMetadata, @@ -567,11 +567,13 @@ export const CustomContractForm: React.FC = ({ const contractAddr = await deployMutation.mutateAsync(formData); // send verification request - no need to await - verifyContract({ - address: contractAddr, - chain: walletChain, - client: thirdwebClient, - }); + verifyContract( + getContract({ + address: contractAddr, + chain: walletChain, + client: thirdwebClient, + }), + ); trackEvent({ category: "custom-contract", diff --git a/apps/playground-web/package.json b/apps/playground-web/package.json index 8555b72e978..749dca9ac30 100644 --- a/apps/playground-web/package.json +++ b/apps/playground-web/package.json @@ -13,8 +13,8 @@ "fix": "eslint ./src --fix" }, "dependencies": { - "@abstract-foundation/agw-client": "^1.0.1", - "@abstract-foundation/agw-react": "^1.0.1", + "@abstract-foundation/agw-client": "^1.3.0", + "@abstract-foundation/agw-react": "^1.4.1", "@radix-ui/react-accordion": "^1.2.2", "@radix-ui/react-checkbox": "^1.1.3", "@radix-ui/react-dialog": "1.1.4", @@ -34,7 +34,7 @@ "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "lucide-react": "0.468.0", - "next": "15.1.3", + "next": "15.1.4", "next-themes": "^0.4.4", "prettier": "3.3.3", "react": "19.0.0", diff --git a/apps/portal/package.json b/apps/portal/package.json index 5d4fc32ea7f..682aa3d5859 100644 --- a/apps/portal/package.json +++ b/apps/portal/package.json @@ -21,7 +21,7 @@ "@dirtycajunrice/klee": "^1.0.6", "@mdx-js/loader": "^2.3.0", "@mdx-js/react": "^2.3.0", - "@next/mdx": "15.1.0", + "@next/mdx": "15.1.4", "@radix-ui/react-dialog": "1.1.4", "@radix-ui/react-dropdown-menu": "^2.1.3", "@radix-ui/react-select": "^2.1.3", @@ -35,7 +35,7 @@ "flexsearch": "^0.7.43", "github-slugger": "^2.0.0", "lucide-react": "0.468.0", - "next": "15.1.3", + "next": "15.1.4", "nextjs-toploader": "^1.6.12", "node-html-parser": "^6.1.13", "posthog-js": "1.67.1", @@ -53,7 +53,7 @@ "typedoc-better-json": "0.9.4" }, "devDependencies": { - "@next/eslint-plugin-next": "15.1.3", + "@next/eslint-plugin-next": "15.1.4", "@types/flexsearch": "^0.7.6", "@types/mdx": "^2.0.13", "@types/node": "22.10.2", diff --git a/apps/wallet-ui/package.json b/apps/wallet-ui/package.json index 68c9ad5977a..f4b7e266a6e 100644 --- a/apps/wallet-ui/package.json +++ b/apps/wallet-ui/package.json @@ -21,7 +21,7 @@ "clsx": "^2.1.1", "cmdk": "^1.0.4", "lucide-react": "0.468.0", - "next": "15.1.3", + "next": "15.1.4", "next-themes": "^0.4.4", "react": "19.0.0", "react-dom": "19.0.0", @@ -35,7 +35,7 @@ "zod": "3.24.1" }, "devDependencies": { - "@next/eslint-plugin-next": "15.1.3", + "@next/eslint-plugin-next": "15.1.4", "@types/node": "22.10.2", "@types/react": "19.0.2", "@types/react-dom": "19.0.3", diff --git a/packages/thirdweb/.size-limit.json b/packages/thirdweb/.size-limit.json index cf6ff9a010c..2a65aaf313f 100644 --- a/packages/thirdweb/.size-limit.json +++ b/packages/thirdweb/.size-limit.json @@ -8,7 +8,7 @@ { "name": "thirdweb (cjs)", "path": "./dist/cjs/exports/thirdweb.js", - "limit": "120 kB" + "limit": "121 kB" }, { "name": "thirdweb (minimal + tree-shaking)", @@ -19,7 +19,7 @@ { "name": "thirdweb/chains (tree-shaking)", "path": "./dist/esm/exports/chains.js", - "limit": "600 B", + "limit": "650 B", "import": "{ ethereum }" }, { diff --git a/packages/thirdweb/package.json b/packages/thirdweb/package.json index 27ad122c968..f50a8ea820d 100644 --- a/packages/thirdweb/package.json +++ b/packages/thirdweb/package.json @@ -132,63 +132,25 @@ }, "typesVersions": { "*": { - "adapters/*": [ - "./dist/types/exports/adapters/*.d.ts" - ], - "auth": [ - "./dist/types/exports/auth.d.ts" - ], - "chains": [ - "./dist/types/exports/chains.d.ts" - ], - "contract": [ - "./dist/types/exports/contract.d.ts" - ], - "deploys": [ - "./dist/types/exports/deploys.d.ts" - ], - "event": [ - "./dist/types/exports/event.d.ts" - ], - "extensions/*": [ - "./dist/types/exports/extensions/*.d.ts" - ], - "pay": [ - "./dist/types/exports/pay.d.ts" - ], - "react": [ - "./dist/types/exports/react.d.ts" - ], - "react-native": [ - "./dist/types/exports/react-native.d.ts" - ], - "rpc": [ - "./dist/types/exports/rpc.d.ts" - ], - "storage": [ - "./dist/types/exports/storage.d.ts" - ], - "transaction": [ - "./dist/types/exports/transaction.d.ts" - ], - "utils": [ - "./dist/types/exports/utils.d.ts" - ], - "wallets": [ - "./dist/types/exports/wallets.d.ts" - ], - "wallets/*": [ - "./dist/types/exports/wallets/*.d.ts" - ], - "modules": [ - "./dist/types/exports/modules.d.ts" - ], - "social": [ - "./dist/types/exports/social.d.ts" - ], - "ai": [ - "./dist/types/exports/ai.d.ts" - ] + "adapters/*": ["./dist/types/exports/adapters/*.d.ts"], + "auth": ["./dist/types/exports/auth.d.ts"], + "chains": ["./dist/types/exports/chains.d.ts"], + "contract": ["./dist/types/exports/contract.d.ts"], + "deploys": ["./dist/types/exports/deploys.d.ts"], + "event": ["./dist/types/exports/event.d.ts"], + "extensions/*": ["./dist/types/exports/extensions/*.d.ts"], + "pay": ["./dist/types/exports/pay.d.ts"], + "react": ["./dist/types/exports/react.d.ts"], + "react-native": ["./dist/types/exports/react-native.d.ts"], + "rpc": ["./dist/types/exports/rpc.d.ts"], + "storage": ["./dist/types/exports/storage.d.ts"], + "transaction": ["./dist/types/exports/transaction.d.ts"], + "utils": ["./dist/types/exports/utils.d.ts"], + "wallets": ["./dist/types/exports/wallets.d.ts"], + "wallets/*": ["./dist/types/exports/wallets/*.d.ts"], + "modules": ["./dist/types/exports/modules.d.ts"], + "social": ["./dist/types/exports/social.d.ts"], + "ai": ["./dist/types/exports/ai.d.ts"] } }, "browser": { @@ -228,7 +190,7 @@ "mipd": "0.0.7", "ox": "0.4.2", "uqr": "0.1.2", - "viem": "2.21.55" + "viem": "2.22.15" }, "peerDependencies": { "@aws-sdk/client-lambda": "^3", diff --git a/packages/thirdweb/src/adapters/viem.ts b/packages/thirdweb/src/adapters/viem.ts index 4d9deb8cb38..d77dd0f3bfe 100644 --- a/packages/thirdweb/src/adapters/viem.ts +++ b/packages/thirdweb/src/adapters/viem.ts @@ -19,6 +19,7 @@ import { getRpcClient } from "../rpc/rpc.js"; import { estimateGas } from "../transaction/actions/estimate-gas.js"; import { sendTransaction } from "../transaction/actions/send-transaction.js"; import { prepareTransaction } from "../transaction/prepare-transaction.js"; +import { getAddress } from "../utils/address.js"; import type { Account } from "../wallets/interfaces/wallet.js"; /** @@ -201,7 +202,7 @@ export async function toViemContract(options: { thirdwebContract: ThirdwebContract; }): Promise> { return { - address: options.thirdwebContract.address, + address: getAddress(options.thirdwebContract.address), abi: await resolveContractAbi(options.thirdwebContract), }; } @@ -310,7 +311,7 @@ function toViemWalletClient(options: ToViemWalletClientOptions): WalletClient { return createWalletClient({ transport, - account: account.address, + account: getAddress(account.address), chain: viemChain, key: "thirdweb-wallet", }); diff --git a/packages/thirdweb/src/auth/verify-hash.ts b/packages/thirdweb/src/auth/verify-hash.ts index 2ab294a5984..3093161341b 100644 --- a/packages/thirdweb/src/auth/verify-hash.ts +++ b/packages/thirdweb/src/auth/verify-hash.ts @@ -9,6 +9,7 @@ import { type ThirdwebContract, getContract } from "../contract/contract.js"; import { isValidSignature } from "../extensions/erc1271/__generated__/isValidSignature/read/isValidSignature.js"; import { eth_call } from "../rpc/actions/eth_call.js"; import { getRpcClient } from "../rpc/rpc.js"; +import type { Address } from "../utils/address.js"; import { isZkSyncChain } from "../utils/any-evm/zksync/isZkSyncChain.js"; import { isContractDeployed } from "../utils/bytecode/is-contract-deployed.js"; import { fromBytes } from "../utils/encoding/from-bytes.js"; @@ -27,7 +28,8 @@ export type VerifyHashParams = { }; }; -const ZKSYNC_VALIDATOR_ADDRESS = "0xfB688330379976DA81eB64Fe4BF50d7401763B9C"; +const ZKSYNC_VALIDATOR_ADDRESS: Address = + "0xfB688330379976DA81eB64Fe4BF50d7401763B9C"; /** * @description Verify that an address created the provided signature for a given hash using [ERC-6492](https://eips.ethereum.org/EIPS/eip-6492). This function is interoperable with all wallet types, including EOAs. @@ -120,7 +122,7 @@ export async function verifyHash({ })(); let verificationData: { - to?: string; + to?: Address; data: Hex; }; diff --git a/packages/thirdweb/src/chains/chain-definitions/abstract.ts b/packages/thirdweb/src/chains/chain-definitions/abstract.ts new file mode 100644 index 00000000000..3735e6fc912 --- /dev/null +++ b/packages/thirdweb/src/chains/chain-definitions/abstract.ts @@ -0,0 +1,16 @@ +import { defineChain } from "../utils.js"; + +/** + * @chain + */ +export const abstract = /* @__PURE__ */ defineChain({ + id: 2741, + name: "Abstract", + nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 }, + blockExplorers: [ + { + name: "Abstract Block Explorer", + url: "https://explorer.abs.xyz", + }, + ], +}); diff --git a/packages/thirdweb/src/contract/actions/get-bytecode.ts b/packages/thirdweb/src/contract/actions/get-bytecode.ts index 8eff8b11ef6..0632ef8fa33 100644 --- a/packages/thirdweb/src/contract/actions/get-bytecode.ts +++ b/packages/thirdweb/src/contract/actions/get-bytecode.ts @@ -1,10 +1,9 @@ -import type { Abi } from "abitype"; import { eth_getCode } from "../../rpc/actions/eth_getCode.js"; import { getRpcClient } from "../../rpc/rpc.js"; import type { Hex } from "../../utils/encoding/hex.js"; import type { ThirdwebContract } from "../contract.js"; -const BYTECODE_CACHE = new WeakMap, Promise>(); +const BYTECODE_CACHE = new WeakMap>(); /** * Retrieves the bytecode of a contract. @@ -17,9 +16,7 @@ const BYTECODE_CACHE = new WeakMap, Promise>(); * ``` * @contract */ -export function getBytecode( - contract: ThirdwebContract, -): Promise { +export function getBytecode(contract: ThirdwebContract): Promise { if (BYTECODE_CACHE.has(contract)) { return BYTECODE_CACHE.get(contract) as Promise; } diff --git a/packages/thirdweb/src/contract/actions/resolve-abi.ts b/packages/thirdweb/src/contract/actions/resolve-abi.ts index 796bb493fce..333fa4a2117 100644 --- a/packages/thirdweb/src/contract/actions/resolve-abi.ts +++ b/packages/thirdweb/src/contract/actions/resolve-abi.ts @@ -1,7 +1,7 @@ import { type Abi, formatAbi, parseAbi } from "abitype"; import { download } from "../../storage/download.js"; import { getClientFetch } from "../../utils/fetch.js"; -import type { ThirdwebContract } from "../contract.js"; +import { type ThirdwebContract, getContract } from "../contract.js"; const ABI_RESOLUTION_CACHE = new WeakMap, Promise>(); @@ -419,10 +419,10 @@ async function getAbisForPlugins( ): Promise { return Promise.all( options.plugins.map((pluginAddress) => { - const newContract = { + const newContract = getContract({ ...options.contract, address: pluginAddress, - }; + }); // if we have a method passed in that tells us how to resove the sub-api, use that if (options.resolveSubAbi) { return options.resolveSubAbi(newContract); diff --git a/packages/thirdweb/src/contract/contract.ts b/packages/thirdweb/src/contract/contract.ts index e428ee10ea7..9e27b530d0e 100644 --- a/packages/thirdweb/src/contract/contract.ts +++ b/packages/thirdweb/src/contract/contract.ts @@ -21,7 +21,7 @@ export type ContractOptions< */ export type ThirdwebContract< abi extends Abi = [], - address extends string = string, + address extends string = `0x${string}`, > = Readonly>; /** diff --git a/packages/thirdweb/src/contract/deployment/zksync/zkDeployDeterministic.ts b/packages/thirdweb/src/contract/deployment/zksync/zkDeployDeterministic.ts index e106bc91b67..16e52933435 100644 --- a/packages/thirdweb/src/contract/deployment/zksync/zkDeployDeterministic.ts +++ b/packages/thirdweb/src/contract/deployment/zksync/zkDeployDeterministic.ts @@ -50,11 +50,13 @@ export async function zkDeployContractDeterministic( create2FactoryAddress, salt: options.salt, }); - const deployed = await isContractDeployed({ - address: predictedAddress, - chain: options.chain, - client: options.client, - }); + const deployed = await isContractDeployed( + getContract({ + address: predictedAddress, + chain: options.chain, + client: options.client, + }), + ); if (!deployed) { // check if bytecodehash is known const knownCodesStorageContract = getContract({ diff --git a/packages/thirdweb/src/contract/deployment/zksync/zkDeployProxy.ts b/packages/thirdweb/src/contract/deployment/zksync/zkDeployProxy.ts index c0876c2230b..37c6c8c7c91 100644 --- a/packages/thirdweb/src/contract/deployment/zksync/zkDeployProxy.ts +++ b/packages/thirdweb/src/contract/deployment/zksync/zkDeployProxy.ts @@ -8,7 +8,7 @@ import { isContractDeployed } from "../../../utils/bytecode/is-contract-deployed import { resolvePromisedValue } from "../../../utils/promise/resolve-promised-value.js"; import { randomBytesHex } from "../../../utils/random.js"; import type { ClientAndChainAndAccount } from "../../../utils/types.js"; -import type { ThirdwebContract } from "../../contract.js"; +import { type ThirdwebContract, getContract } from "../../contract.js"; import { zkDeployContractDeterministic } from "./zkDeployDeterministic.js"; /** @@ -28,11 +28,13 @@ export async function zkDeployProxy( if (!implementationAddress) { throw new Error("initializeTransaction must have a 'to' field set"); } - const deployed = await isContractDeployed({ - address: implementationAddress, - chain: options.chain, - client: options.client, - }); + const deployed = await isContractDeployed( + getContract({ + address: implementationAddress, + chain: options.chain, + client: options.client, + }), + ); if (!deployed) { throw new Error( `Implementation contract at ${implementationAddress} is not deployed`, diff --git a/packages/thirdweb/src/event/actions/get-events.ts b/packages/thirdweb/src/event/actions/get-events.ts index 515b1afd732..d2da61fcaf1 100644 --- a/packages/thirdweb/src/event/actions/get-events.ts +++ b/packages/thirdweb/src/event/actions/get-events.ts @@ -20,6 +20,7 @@ import { eth_getLogs, } from "../../rpc/actions/eth_getLogs.js"; import { getRpcClient } from "../../rpc/rpc.js"; +import { getAddress } from "../../utils/address.js"; import type { Prettify } from "../../utils/type-utils.js"; import { type PreparedEvent, prepareEvent } from "../prepare-event.js"; import { isAbiEvent } from "../utils.js"; @@ -168,11 +169,11 @@ export async function getContractEvents< ? // if we have events passed in then we use those events.map((e) => ({ ...restParams, - address: contract?.address, + address: getAddress(contract.address), topics: e.topics, })) : // otherwise we want "all" events (aka not pass any topics at all) - [{ ...restParams, address: contract?.address }]; + [{ ...restParams, address: getAddress(contract.address) }]; const logs = await Promise.all( logsParams.map((ethLogParams) => eth_getLogs(rpcRequest, ethLogParams)), diff --git a/packages/thirdweb/src/exports/chains.ts b/packages/thirdweb/src/exports/chains.ts index 733662f76ee..491d82a06f1 100644 --- a/packages/thirdweb/src/exports/chains.ts +++ b/packages/thirdweb/src/exports/chains.ts @@ -72,6 +72,7 @@ export { frameTestnet } from "../chains/chain-definitions/frame-testnet.js"; export { hokumTestnet } from "../chains/chain-definitions/hokum-testnet.js"; export { godWokenTestnetV1 } from "../chains/chain-definitions/god-woken-testnet-v1.js"; export { abstractTestnet } from "../chains/chain-definitions/abstract-testnet.js"; +export { abstract } from "../chains/chain-definitions/abstract.js"; export { assetChainTestnet } from "../chains/chain-definitions/assetchain-testnet.js"; export { celoAlfajoresTestnet } from "../chains/chain-definitions/celo-alfajores-testnet.js"; export { fraxtalTestnet } from "../chains/chain-definitions/fraxtal-testnet.js"; diff --git a/packages/thirdweb/src/extensions/erc4337/account/isAccountDeployed.ts b/packages/thirdweb/src/extensions/erc4337/account/isAccountDeployed.ts index 7a80cf8fd8c..30525e04e03 100644 --- a/packages/thirdweb/src/extensions/erc4337/account/isAccountDeployed.ts +++ b/packages/thirdweb/src/extensions/erc4337/account/isAccountDeployed.ts @@ -1,3 +1,4 @@ +import { getContract } from "../../../contract/contract.js"; import type { BaseTransactionOptions } from "../../../transaction/types.js"; import { isContractDeployed } from "../../../utils/bytecode/is-contract-deployed.js"; import * as PredictAddress from "../__generated__/IAccountFactory/read/getAddress.js"; @@ -15,10 +16,10 @@ export { * ```ts * import { isAccountDeployed } from 'thirdweb/extensions/erc4337'; * - * const transaction = addAdmin({ + * const isDeployed = await isAccountDeployed({ * contract, * account, - * adminAddress: '0x...' + * adminSigner: '0x...' * }); * * await isAccountDeployed({ contract, adminSigner }); @@ -29,8 +30,10 @@ export async function isAccountDeployed( options: BaseTransactionOptions, ): Promise { const predictedAddress = await PredictAddress.getAddress(options); - return isContractDeployed({ - ...options.contract, - address: predictedAddress, - }); + return isContractDeployed( + getContract({ + ...options.contract, + address: predictedAddress, + }), + ); } diff --git a/packages/thirdweb/src/extensions/erc721/lazyMinting/helpers/hashDelayedRevealBatch.ts b/packages/thirdweb/src/extensions/erc721/lazyMinting/helpers/hashDelayedRevealBatch.ts index 732b41e7320..59d9f8ea093 100644 --- a/packages/thirdweb/src/extensions/erc721/lazyMinting/helpers/hashDelayedRevealBatch.ts +++ b/packages/thirdweb/src/extensions/erc721/lazyMinting/helpers/hashDelayedRevealBatch.ts @@ -1,5 +1,6 @@ import { encodePacked } from "viem/utils"; import type { ThirdwebContract } from "../../../../contract/contract.js"; +import { getAddress } from "../../../../utils/address.js"; import { keccak256 } from "../../../../utils/hashing/keccak256.js"; /** @@ -15,7 +16,7 @@ export const hashDelayedRevealPassword = async ( return keccak256( encodePacked( ["string", "uint256", "uint256", "address"], - [password, chainId, batchTokenIndex, contractAddress], + [password, chainId, batchTokenIndex, getAddress(contractAddress)], ), ); }; diff --git a/packages/thirdweb/src/react/web/ui/ConnectWallet/Blobbie.tsx b/packages/thirdweb/src/react/web/ui/ConnectWallet/Blobbie.tsx index bd241942624..d47a2f1b1b3 100644 --- a/packages/thirdweb/src/react/web/ui/ConnectWallet/Blobbie.tsx +++ b/packages/thirdweb/src/react/web/ui/ConnectWallet/Blobbie.tsx @@ -1,7 +1,6 @@ "use client"; import { hexToNumber } from "@noble/curves/abstract/utils"; import { useId, useMemo } from "react"; -import type { Address } from "viem"; const COLOR_OPTIONS = [ ["#fca5a5", "#b91c1c"], @@ -26,7 +25,7 @@ const COLOR_OPTIONS = [ * @component */ export type BlobbieProps = { - address: Address; + address: string; style?: Omit; className?: string; size?: number; diff --git a/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/icon.test.tsx b/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/icon.test.tsx index 907b7fe25e5..5c1e139c533 100644 --- a/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/icon.test.tsx +++ b/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/icon.test.tsx @@ -5,9 +5,8 @@ import { WalletProvider } from "./provider.js"; describe("WalletIcon", () => { it("should fetch wallet image", async () => { - expect(await fetchWalletImage({ id: "io.metamask" })).toMatchInlineSnapshot( - `"data:image/webp;base64,UklGRuwGAABXRUJQVlA4IOAGAABwIQCdASqAAIAAPm0ylkekIqIhJRM72IANiWIAyqy1Dp/H+eFYv8NxdNKeeg+36Lvzn/wN975hf2w9Y/0Z/6z0a+pI9AD9Vetr8ry8NP1WRg8G/sPM3wJlt8FdNg0WVXrKZlHf/7BcL9ZlCeVp+JF3E1CbwOreB/90YH2PUR9BNzlivRmwiI5jOr6WJ/6RWb6/tZp9UbMeCRrLy+9YP/9AVZ2SFUruL/yoPkhhgYPVhVAyyvDGz6Mws+v8VQ/EqyPSTb1iD4FsNruUD7fVhplslH9Dh2EW3xy9tEeSAgV+QvEpsOf2HAqlW6VT1f2x+lkeGRKeohCDPYvoIBFLKwb4SzsF5l02NiyGaPN5/ODNR9n2EQAA/vsmBY+Q2dsG6yhgBhrmNE7GEK9pn+TE53EQ0+z+NL8/FkVgnO6FJpMGUcFQB9eOfECvyN9rfQD1Wq9X7u4/Bo7ur3bAkxWHl7CY5PlokCXuX4KvTRxdvUS23oUE2yqTSig0oRbBXdOGBXxgy6lUtFznnz+6QWb0rBEPhRqb3zKbmSL0gT4bPNaZew3h07g88/udLRjKmf0ellIolDALYrkbcJ08Y5rQ6E0xGiBrZykNg/xwYdd26p2ipY/vyeAOmddHVnBEbQglFALFMWiqCfov6s3IHwJHyP8s/h/am/pvn1gCbhTrbKI0rIuJXN2sljBDesRrvc9wpJ65o9AligVcUt3mTIDAqYysfF2QJwm3GxApi5svDwSajevWXF4z4IWOhVNDdQNKpl0+R0HUoK5n1cpWHRDrx31Hfh1SY5l/hqMOstkei+rznVXW+Ffl16KssbyiUCXQOwW4F6N00fiShJety//jfyqXXJNiY4n1xf77cqf1Z3Kq/Dnj5DKbwQ2XczShuDEsphJyn6FjFSP1e70n7d6aNp13xF9IfSa08mHGlS/jAguPwUJKwm4tly2eq+sBYDbDEkLHFKA75Y4cMSqK6+9OfNllq385/NTeOdCOGGrXAaoytxd2m1VE5dEh9lExaPxwfWhxTRD8ByR5GWe/3WMXlm6+oArrYTPKYAANBM4wAY7MPqaQzcV9rqtD+m0u22u4rdNKn1NMgoAWrlILvjQ3qqt27p32L2wf546/nQuDwGrFg+npvAMTX52Xl0SlpACvq8NqcdCKe/EWl5PfcBnKnO6JuQIEXlNWf6VLiv0VqKdwLAd96LPbBnZgbX5uX5p3GEb18QUcOFu9kMWg67HjQvmefds+kBxGh3rO/W/jFB/q67+kEKrutCcknGtEECtPBN5TIsVdn4dS/IH3DYC4HsgD09hGplPhFL99N/MXiZYbXFPYfl9H1ybPma4yljEjieZZdcHU+rncZxDm5ZgWuSTvgrgWuwzf6pHdQQVrFxhG+5PVW/IThXF50K1/g/xrcQHXOF8WvZ2Zxg9oQSPR0ArfJ8dAungVGomI9E3EIvGw9VdfiyUR0pCe+4q40mLqMoRdRplXACBrvUk1HTbqlsNYN0ElDxBW3q9Is/YDcJRWOJ3JtSxfN4yr7KY2vmgiJq04ta+fv8jDzXq35feu2ur2lYrfzHd02NaJo7W2pUyvoxCLpSM1cxr1E40s3u2ONRfn+r0r1/BpZJe0bgTwEb4I02KQak7Pl4yS1ZHwOn36HVfTrVpSc9zgG1yNOPQ4kCB6GSIZVxArMdQPKstj20YXj/i0Ra3SO7fx/14WvSIIIyNYsXbJXg8PL8fQfv9QjORNqjukfZbgusqnM8geR0pQhDfeZR1ZwdUQfx9a4Z0/fBR2Rg5zq05CcnuygEL6SZsWFBHSOeaUT3ycQQp2rHbHlnYT/GOaoUYR5wtGBahqXy0xBlaisNqZa6GEoHxzNKiMt2sGrcS079jZa5kDaGtSrW41e1HoLpuxwxiUKntwnjEaogJri9FgAxC6wazG6U56P6C/zJWsilWgi6jCsfORkpXQM91vYMgRL3+HiFzD93LPP13w/x8Hhty4jtCowlCzf0MqrScu+oDOCoMbdXV9j0OCfAZYXHdf9R1hgLmFjBk0kOl8O8HZucC6eUve6XVrJ/92ne39q3XC8uJ86jEyTYpzJOSzAbLiP8jSgLetO3pxmTa43aS527rhvZ8JL5yAffh+31QM7yH5z7OCSLeVOGJlwXqhF7scYXy5kaJdg93oEYrUhpHMTh3KV9Ex0Qf4/M7ucWrOpBR6AjyIGlvU92DbSj/ggL5w4N4wHUCOflgeum/BI6G33QdKXXJiebFiJIjyiYk4NPu4R2LxJkK7hMBIka6NtNFZCkGHgF/Dlwx36B0nZFYvHt1ciHu2IKWOpl9AdQeQo0jWiBOpElR7LhlhAHUTnP2S2VxoQCAAAA=="`, - ); + const image = await fetchWalletImage({ id: "io.metamask" }); + expect(image).toContain("data:image/"); }); it("should throw error if WalletId is not supported", async () => { diff --git a/packages/thirdweb/src/rpc/actions/eth_getLogs.ts b/packages/thirdweb/src/rpc/actions/eth_getLogs.ts index 36e0f8b6c04..2d5ab82298a 100644 --- a/packages/thirdweb/src/rpc/actions/eth_getLogs.ts +++ b/packages/thirdweb/src/rpc/actions/eth_getLogs.ts @@ -1,4 +1,3 @@ -import type { Address } from "abitype"; import { type BlockNumber, type BlockTag, @@ -9,6 +8,7 @@ import { type RpcLog, formatLog, } from "viem"; +import { type Address, getAddress } from "../../utils/address.js"; import { numberToHex } from "../../utils/encoding/hex.js"; export type GetLogsBlockParams = @@ -75,7 +75,7 @@ export async function eth_getLogs( // in the case we have a blockHash if (params.blockHash) { const param: { - address?: string | string[]; + address?: Address | Address[]; topics: LogTopic[]; blockHash: `0x${string}`; } = { @@ -83,7 +83,7 @@ export async function eth_getLogs( blockHash: params.blockHash, }; if (params.address) { - param.address = params.address; + param.address = getAddress(params.address); } logs = await request({ method: "eth_getLogs", @@ -93,7 +93,7 @@ export async function eth_getLogs( // otherwise else { const param: { - address?: string | string[]; + address?: Address | Address[]; topics?: LogTopic[]; } & ( | { diff --git a/packages/thirdweb/src/rpc/actions/eth_getStorageAt.ts b/packages/thirdweb/src/rpc/actions/eth_getStorageAt.ts index 884293e11f6..e8e354b7135 100644 --- a/packages/thirdweb/src/rpc/actions/eth_getStorageAt.ts +++ b/packages/thirdweb/src/rpc/actions/eth_getStorageAt.ts @@ -1,4 +1,5 @@ import type { BlockTag, EIP1193RequestFn, EIP1474Methods, Hex } from "viem"; +import { getAddress } from "../../utils/address.js"; type GetStorageAtParams = { address: string; @@ -28,6 +29,10 @@ export async function eth_getStorageAt( ): Promise { return await request({ method: "eth_getStorageAt", - params: [params.address, params.position, params.blockTag ?? "latest"], + params: [ + getAddress(params.address), + params.position, + params.blockTag ?? "latest", + ], }); } diff --git a/packages/thirdweb/src/transaction/actions/estimate-gas.ts b/packages/thirdweb/src/transaction/actions/estimate-gas.ts index da590d2dc95..fefb9dd15a8 100644 --- a/packages/thirdweb/src/transaction/actions/estimate-gas.ts +++ b/packages/thirdweb/src/transaction/actions/estimate-gas.ts @@ -1,6 +1,7 @@ import * as ox__Hex from "ox/Hex"; import { formatTransactionRequest } from "viem"; import { roundUpGas } from "../../gas/op-gas-fee-reducer.js"; +import { getAddress } from "../../utils/address.js"; import { resolvePromisedValue } from "../../utils/promise/resolve-promised-value.js"; import type { Prettify } from "../../utils/type-utils.js"; import type { Account } from "../../wallets/interfaces/wallet.js"; @@ -117,9 +118,9 @@ export async function estimateGas( let gas = await eth_estimateGas( rpcRequest, formatTransactionRequest({ - to: toAddress, + to: toAddress ? getAddress(toAddress) : undefined, data: encodedData, - from: fromAddress, + from: fromAddress ? getAddress(fromAddress) : undefined, value, // TODO: Remove this casting when we migrate this file to Ox authorizationList: authorizationList?.map((auth) => ({ @@ -127,7 +128,7 @@ export async function estimateGas( r: ox__Hex.fromNumber(auth.r), s: ox__Hex.fromNumber(auth.s), nonce: Number(auth.nonce), - contractAddress: auth.address, + contractAddress: getAddress(auth.address), })), }), ); diff --git a/packages/thirdweb/src/transaction/actions/gasless/providers/biconomy.ts b/packages/thirdweb/src/transaction/actions/gasless/providers/biconomy.ts index 0c9442e4698..1d91b69429d 100644 --- a/packages/thirdweb/src/transaction/actions/gasless/providers/biconomy.ts +++ b/packages/thirdweb/src/transaction/actions/gasless/providers/biconomy.ts @@ -2,6 +2,7 @@ import type { Address } from "abitype"; import { encodeAbiParameters } from "viem"; import { ZERO_ADDRESS } from "../../../../constants/addresses.js"; import { getContract } from "../../../../contract/contract.js"; +import { getAddress } from "../../../../utils/address.js"; import { isHex } from "../../../../utils/encoding/helpers/is-hex.js"; import { keccak256 } from "../../../../utils/hashing/keccak256.js"; import { stringify } from "../../../../utils/json.js"; @@ -95,9 +96,9 @@ export async function prepareBiconomyTransaction({ { type: "bytes32" }, ], [ - request.from, - request.to, - request.token, + getAddress(request.from), + getAddress(request.to), + getAddress(request.token), request.txGas, request.tokenGasPrice, request.batchId, diff --git a/packages/thirdweb/src/transaction/actions/simulate.ts b/packages/thirdweb/src/transaction/actions/simulate.ts index 93915dd0bf7..e9b8cf13319 100644 --- a/packages/thirdweb/src/transaction/actions/simulate.ts +++ b/packages/thirdweb/src/transaction/actions/simulate.ts @@ -3,6 +3,7 @@ import { decodeAbiParameters, formatTransactionRequest } from "viem"; import { eth_call } from "../../rpc/actions/eth_call.js"; import { getRpcClient } from "../../rpc/rpc.js"; import type { PreparedMethod } from "../../utils/abi/prepare-method.js"; +import { getAddress } from "../../utils/address.js"; import { resolvePromisedValue } from "../../utils/promise/resolve-promised-value.js"; import type { Prettify } from "../../utils/type-utils.js"; import type { Account } from "../../wallets/interfaces/wallet.js"; @@ -61,8 +62,8 @@ export async function simulateTransaction< const serializedTx = formatTransactionRequest({ data, - from, - to, + from: from ? getAddress(from) : undefined, + to: to ? getAddress(to) : undefined, value, accessList, }); diff --git a/packages/thirdweb/src/transaction/actions/to-serializable-transaction.ts b/packages/thirdweb/src/transaction/actions/to-serializable-transaction.ts index fc7bc2b66cd..c8ddfc9f5f1 100644 --- a/packages/thirdweb/src/transaction/actions/to-serializable-transaction.ts +++ b/packages/thirdweb/src/transaction/actions/to-serializable-transaction.ts @@ -91,7 +91,10 @@ export async function toSerializableTransaction( ? await import("../../rpc/actions/eth_getTransactionCount.js").then( ({ eth_getTransactionCount }) => eth_getTransactionCount(rpcRequest, { - address: typeof from === "string" ? from : from?.address, + address: + typeof from === "string" + ? getAddress(from) + : getAddress(from.address), blockTag: "pending", }), ) diff --git a/packages/thirdweb/src/transaction/read-contract.ts b/packages/thirdweb/src/transaction/read-contract.ts index b60ce9ec5f2..daff9a09a08 100644 --- a/packages/thirdweb/src/transaction/read-contract.ts +++ b/packages/thirdweb/src/transaction/read-contract.ts @@ -24,6 +24,7 @@ import { type PreparedMethod, prepareMethod, } from "../utils/abi/prepare-method.js"; +import { getAddress } from "../utils/address.js"; import type { Hex } from "../utils/encoding/hex.js"; export type ReadContractResult = // if the outputs are 0 length, return never, invalid case @@ -214,7 +215,7 @@ export async function readContract< const result = await eth_call(rpcRequest, { data: encodedData, to: contract.address, - from: options.from, + from: options.from ? getAddress(options.from) : undefined, }); // use the prepared method to decode the result const decoded = decodeAbiParameters(resolvedPreparedMethod[2], result); diff --git a/packages/thirdweb/src/utils/any-evm/compute-deployment-address.ts b/packages/thirdweb/src/utils/any-evm/compute-deployment-address.ts index fd0dbd6a9b8..03120574002 100644 --- a/packages/thirdweb/src/utils/any-evm/compute-deployment-address.ts +++ b/packages/thirdweb/src/utils/any-evm/compute-deployment-address.ts @@ -1,4 +1,5 @@ import { type Hex, encodePacked } from "viem"; +import { getAddress } from "../address.js"; import { ensureBytecodePrefix } from "../bytecode/prefix.js"; import { keccak256 } from "../hashing/keccak256.js"; import { getSaltHash } from "./get-salt-hash.js"; @@ -46,7 +47,7 @@ export function computeDeploymentAddress( ["bytes1", "address", "bytes32", "bytes32"], [ "0xff", - options.create2FactoryAddress, + getAddress(options.create2FactoryAddress), saltHash, keccak256(encodePacked(["bytes"], [initBytecode])), ], diff --git a/packages/thirdweb/src/utils/bytecode/resolveImplementation.ts b/packages/thirdweb/src/utils/bytecode/resolveImplementation.ts index 38b9e82f5f6..8748d40d97c 100644 --- a/packages/thirdweb/src/utils/bytecode/resolveImplementation.ts +++ b/packages/thirdweb/src/utils/bytecode/resolveImplementation.ts @@ -1,5 +1,5 @@ import { getBytecode } from "../../contract/actions/get-bytecode.js"; -import type { ThirdwebContract } from "../../contract/contract.js"; +import { type ThirdwebContract, getContract } from "../../contract/contract.js"; import { eth_getStorageAt } from "../../rpc/actions/eth_getStorageAt.js"; import { getRpcClient } from "../../rpc/rpc.js"; import { readContract } from "../../transaction/read-contract.js"; @@ -37,10 +37,12 @@ export async function resolveImplementation( if (minimalProxyImplementationAddress) { return { address: minimalProxyImplementationAddress, - bytecode: await getBytecode({ - ...contract, - address: minimalProxyImplementationAddress, - }), + bytecode: await getBytecode( + getContract({ + ...contract, + address: minimalProxyImplementationAddress, + }), + ), }; } @@ -50,7 +52,10 @@ export async function resolveImplementation( // In case of a BeaconProxy, it is setup as BeaconProxy --> Beacon --> Implementation // Hence we replace the proxy address with Beacon address, and continue further resolving below // biome-ignore lint/style/noParameterAssign: we purposefully mutate the contract object here - contract = { ...contract, address: beacon }; + contract = getContract({ + ...contract, + address: beacon, + }); implementationAddress = await getImplementationFromContractCall(contract); } else { diff --git a/packages/thirdweb/src/utils/extensions/airdrop/hash-entry-erc1155.ts b/packages/thirdweb/src/utils/extensions/airdrop/hash-entry-erc1155.ts index cb0ce1b61a4..20d9e39e94d 100644 --- a/packages/thirdweb/src/utils/extensions/airdrop/hash-entry-erc1155.ts +++ b/packages/thirdweb/src/utils/extensions/airdrop/hash-entry-erc1155.ts @@ -1,4 +1,5 @@ import { encodePacked } from "viem"; +import { getAddress } from "../../address.js"; import { keccak256 } from "../../hashing/keccak256.js"; import type { SnapshotEntryERC1155 } from "./types.js"; @@ -9,7 +10,7 @@ export async function hashEntryERC1155(options: { encodePacked( ["address", "uint256", "uint256"], [ - options.entry.recipient, + getAddress(options.entry.recipient), BigInt(options.entry.tokenId), BigInt(options.entry.amount), ], diff --git a/packages/thirdweb/src/utils/extensions/airdrop/hash-entry-erc20.ts b/packages/thirdweb/src/utils/extensions/airdrop/hash-entry-erc20.ts index 305fcdf617a..14c5fb7263c 100644 --- a/packages/thirdweb/src/utils/extensions/airdrop/hash-entry-erc20.ts +++ b/packages/thirdweb/src/utils/extensions/airdrop/hash-entry-erc20.ts @@ -1,4 +1,5 @@ import { encodePacked } from "viem"; +import { getAddress } from "../../address.js"; import { keccak256 } from "../../hashing/keccak256.js"; import { toUnits } from "../../units.js"; import type { SnapshotEntryERC20 } from "./types.js"; @@ -13,7 +14,7 @@ export async function hashEntryERC20(options: { encodePacked( ["address", "uint256"], [ - options.entry.recipient, + getAddress(options.entry.recipient), convertQuantity({ quantity: options.entry.amount.toString(), tokenDecimals: decimals, diff --git a/packages/thirdweb/src/utils/extensions/airdrop/hash-entry-erc721.ts b/packages/thirdweb/src/utils/extensions/airdrop/hash-entry-erc721.ts index 521eec2535a..a59a613b5c0 100644 --- a/packages/thirdweb/src/utils/extensions/airdrop/hash-entry-erc721.ts +++ b/packages/thirdweb/src/utils/extensions/airdrop/hash-entry-erc721.ts @@ -1,4 +1,5 @@ import { encodePacked } from "viem"; +import { getAddress } from "../../address.js"; import { keccak256 } from "../../hashing/keccak256.js"; import type { SnapshotEntryERC721 } from "./types.js"; @@ -6,7 +7,7 @@ export async function hashEntryERC721(options: { entry: SnapshotEntryERC721 }) { return keccak256( encodePacked( ["address", "uint256"], - [options.entry.recipient, BigInt(options.entry.tokenId)], + [getAddress(options.entry.recipient), BigInt(options.entry.tokenId)], ), ); } diff --git a/packages/thirdweb/src/utils/extensions/drops/hash-entry.ts b/packages/thirdweb/src/utils/extensions/drops/hash-entry.ts index 631c919fdac..ba84da71846 100644 --- a/packages/thirdweb/src/utils/extensions/drops/hash-entry.ts +++ b/packages/thirdweb/src/utils/extensions/drops/hash-entry.ts @@ -5,6 +5,7 @@ import { ZERO_ADDRESS, isNativeTokenAddress, } from "../../../constants/addresses.js"; +import { getAddress } from "../../address.js"; import { keccak256 } from "../../hashing/keccak256.js"; import { convertQuantity } from "./convert-quantity.js"; import type { OverrideEntry } from "./types.js"; @@ -39,7 +40,7 @@ export async function hashEntry(options: { encodePacked( ["address", "uint256", "uint256", "address"], [ - options.entry.address, + getAddress(options.entry.address), convertQuantity({ quantity: options.entry.maxClaimable || "unlimited", tokenDecimals: options.tokenDecimals, @@ -48,7 +49,7 @@ export async function hashEntry(options: { quantity: options.entry.price || "unlimited", tokenDecimals: currencyDecimals, }), - currencyAddress, + getAddress(currencyAddress), ], ), ); diff --git a/packages/thirdweb/src/wallets/eip5792/get-capabilities.ts b/packages/thirdweb/src/wallets/eip5792/get-capabilities.ts index dba1f981b76..289da202a18 100644 --- a/packages/thirdweb/src/wallets/eip5792/get-capabilities.ts +++ b/packages/thirdweb/src/wallets/eip5792/get-capabilities.ts @@ -1,3 +1,4 @@ +import { getAddress } from "../../utils/address.js"; import type { Prettify } from "../../utils/type-utils.js"; import { isCoinbaseSDKWallet } from "../coinbase/coinbase-web.js"; import { isInAppWallet } from "../in-app/core/wallet/index.js"; @@ -80,7 +81,7 @@ export async function getCapabilities({ try { return await provider.request({ method: "wallet_getCapabilities", - params: [account.address], + params: [getAddress(account.address)], }); } catch (error: unknown) { if (/unsupport|not support|not available/i.test((error as Error).message)) { diff --git a/packages/thirdweb/src/wallets/in-app/core/wallet/enclave-wallet.ts b/packages/thirdweb/src/wallets/in-app/core/wallet/enclave-wallet.ts index aa6a174c312..02ecdc62f4b 100644 --- a/packages/thirdweb/src/wallets/in-app/core/wallet/enclave-wallet.ts +++ b/packages/thirdweb/src/wallets/in-app/core/wallet/enclave-wallet.ts @@ -154,7 +154,7 @@ export class EnclaveWallet implements IWebWallet { "../../../../rpc/actions/eth_getTransactionCount.js" ).then(({ eth_getTransactionCount }) => eth_getTransactionCount(rpcRequest, { - address: this.address, + address: getAddress(this.address), blockTag: "pending", }), ), diff --git a/packages/thirdweb/src/wallets/injected/index.ts b/packages/thirdweb/src/wallets/injected/index.ts index 655cd334d85..bec8a854b12 100644 --- a/packages/thirdweb/src/wallets/injected/index.ts +++ b/packages/thirdweb/src/wallets/injected/index.ts @@ -234,7 +234,7 @@ function createAccount({ return await provider.request({ method: "personal_sign", - params: [messageToSign, account.address], + params: [messageToSign, getAddress(account.address)], }); }, async signTypedData(typedData) { @@ -264,7 +264,7 @@ function createAccount({ return await provider.request({ method: "eth_signTypedData_v4", - params: [account.address, stringifiedData], + params: [getAddress(account.address), stringifiedData], }); }, async watchAsset(asset) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c37119674d1..05af13dd319 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -135,7 +135,7 @@ importers: version: 1.1.5(@types/react-dom@19.0.3(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@sentry/nextjs': specifier: 8.45.1 - version: 8.45.1(@opentelemetry/core@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.1.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.2)) + version: 8.45.1(@opentelemetry/core@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.1.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.2)) '@shazow/whatsabi': specifier: ^0.18.0 version: 0.18.0(@noble/hashes@1.7.1)(typescript@5.7.2)(zod@3.24.1) @@ -200,17 +200,17 @@ importers: specifier: 0.468.0 version: 0.468.0(react@19.0.0) next: - specifier: 15.1.3 - version: 15.1.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: 15.1.4 + version: 15.1.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next-plausible: specifier: ^3.12.4 - version: 3.12.4(next@15.1.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 3.12.4(next@15.1.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next-themes: specifier: ^0.4.4 version: 0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) nextjs-toploader: specifier: ^1.6.12 - version: 1.6.12(next@15.1.3(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.6.12(next@15.1.4(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) openapi-types: specifier: ^12.1.3 version: 12.1.3 @@ -303,11 +303,11 @@ importers: specifier: 3.2.2 version: 3.2.2(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.9)(prettier@3.3.3)(utf-8-validate@5.0.10)) '@next/bundle-analyzer': - specifier: 15.1.0 - version: 15.1.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + specifier: 15.1.4 + version: 15.1.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@next/eslint-plugin-next': - specifier: 15.1.3 - version: 15.1.3 + specifier: 15.1.4 + version: 15.1.4 '@playwright/test': specifier: 1.49.1 version: 1.49.1 @@ -331,7 +331,7 @@ importers: version: 8.4.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.9)(prettier@3.3.3)(utf-8-validate@5.0.10)) '@storybook/nextjs': specifier: 8.4.7 - version: 8.4.7(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.2)(next@15.1.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.9)(prettier@3.3.3)(utf-8-validate@5.0.10))(type-fest@4.31.0)(typescript@5.7.2)(webpack-hot-middleware@2.26.1)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.2)) + version: 8.4.7(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.2)(next@15.1.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.9)(prettier@3.3.3)(utf-8-validate@5.0.10))(type-fest@4.31.0)(typescript@5.7.2)(webpack-hot-middleware@2.26.1)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.2)) '@storybook/react': specifier: 8.5.0 version: 8.5.0(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.9)(prettier@3.3.3)(utf-8-validate@5.0.10)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.9)(prettier@3.3.3)(utf-8-validate@5.0.10))(typescript@5.7.2) @@ -397,7 +397,7 @@ importers: version: 5.41.0(@types/node@22.10.2)(typescript@5.7.2) next-sitemap: specifier: ^4.2.3 - version: 4.2.3(next@15.1.3(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)) + version: 4.2.3(next@15.1.4(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)) postcss: specifier: 8.4.49 version: 8.4.49 @@ -414,11 +414,11 @@ importers: apps/playground-web: dependencies: '@abstract-foundation/agw-client': - specifier: ^1.0.1 - version: 1.0.1(abitype@1.0.7(typescript@5.7.2)(zod@3.24.1))(typescript@5.7.2)(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) + specifier: ^1.3.0 + version: 1.3.0(abitype@1.0.8(typescript@5.7.2)(zod@3.24.1))(typescript@5.7.2)(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) '@abstract-foundation/agw-react': - specifier: ^1.0.1 - version: 1.0.1(tbp7y4vdr4g6hzh7wwqlc5erca) + specifier: ^1.4.1 + version: 1.4.1(ps632aoqsqso3jaq3xeoigleqq) '@radix-ui/react-accordion': specifier: ^1.2.2 version: 1.2.2(@types/react-dom@19.0.3(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -477,8 +477,8 @@ importers: specifier: 0.468.0 version: 0.468.0(react@19.0.0) next: - specifier: 15.1.3 - version: 15.1.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: 15.1.4 + version: 15.1.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next-themes: specifier: ^0.4.4 version: 0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -556,8 +556,8 @@ importers: specifier: ^2.3.0 version: 2.3.0(react@19.0.0) '@next/mdx': - specifier: 15.1.0 - version: 15.1.0(@mdx-js/loader@2.3.0(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))))(@mdx-js/react@2.3.0(react@19.0.0)) + specifier: 15.1.4 + version: 15.1.4(@mdx-js/loader@2.3.0(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))))(@mdx-js/react@2.3.0(react@19.0.0)) '@radix-ui/react-dialog': specifier: 1.1.4 version: 1.1.4(@types/react-dom@19.0.3(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -598,11 +598,11 @@ importers: specifier: 0.468.0 version: 0.468.0(react@19.0.0) next: - specifier: 15.1.3 - version: 15.1.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: 15.1.4 + version: 15.1.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) nextjs-toploader: specifier: ^1.6.12 - version: 1.6.12(next@15.1.3(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.6.12(next@15.1.4(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) node-html-parser: specifier: ^6.1.13 version: 6.1.13 @@ -647,8 +647,8 @@ importers: version: 0.9.4(typescript@5.7.2) devDependencies: '@next/eslint-plugin-next': - specifier: 15.1.3 - version: 15.1.3 + specifier: 15.1.4 + version: 15.1.4 '@types/flexsearch': specifier: ^0.7.6 version: 0.7.6 @@ -699,7 +699,7 @@ importers: version: 5.41.0(@types/node@22.10.2)(typescript@5.7.2) next-sitemap: specifier: ^4.2.3 - version: 4.2.3(next@15.1.3(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)) + version: 4.2.3(next@15.1.4(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)) postcss: specifier: 8.4.49 version: 8.4.49 @@ -749,8 +749,8 @@ importers: specifier: 0.468.0 version: 0.468.0(react@19.0.0) next: - specifier: 15.1.3 - version: 15.1.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: 15.1.4 + version: 15.1.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next-themes: specifier: ^0.4.4 version: 0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -786,8 +786,8 @@ importers: version: 3.24.1 devDependencies: '@next/eslint-plugin-next': - specifier: 15.1.3 - version: 15.1.3 + specifier: 15.1.4 + version: 15.1.4 '@types/node': specifier: 22.10.2 version: 22.10.2 @@ -980,8 +980,8 @@ importers: specifier: 0.1.2 version: 0.1.2 viem: - specifier: 2.21.55 - version: 2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + specifier: 2.22.15 + version: 2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) devDependencies: '@aws-sdk/client-kms': specifier: 3.592.0 @@ -1145,7 +1145,7 @@ importers: devDependencies: '@wagmi/core': specifier: 2.16.0 - version: 2.16.0(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) + version: 2.16.0(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) rimraf: specifier: 6.0.1 version: 6.0.1 @@ -1163,28 +1163,28 @@ packages: graphql: optional: true - '@abstract-foundation/agw-client@1.0.1': - resolution: {integrity: sha512-ZJEC2siysQz9FdnWs6xFDY9vuIV+5E01nUFgv/Kvw2mRmf148T7H99SoelN2o8qCmv1r3z2iWQCLCLTa5f3FtQ==} + '@abstract-foundation/agw-client@1.3.0': + resolution: {integrity: sha512-rpo51uNQu8wpyWYUTGcyZY8Mt3tfZQKN0Sh0phPkeD2oIqZB4Ll3CNebwhvNi/AejyI6ZC+KWv6l4DVwZMwUDA==} peerDependencies: abitype: ^1.0.0 typescript: '>=5.0.4' - viem: ^2.21.26 + viem: ^2.22.14 peerDependenciesMeta: typescript: optional: true - '@abstract-foundation/agw-react@1.0.1': - resolution: {integrity: sha512-VlBoUo2xY99aaZYejEs419gCAbDAbP9ftSCa+NSXpMZV2TRYc7g/U8kucx9ugehtAAsnikgVc3LeNlgOe6FHnQ==} + '@abstract-foundation/agw-react@1.4.1': + resolution: {integrity: sha512-SNtenb4h5EFgtf77+6o7Z52UubMfzQegDtOEFt7GYaEd/SOMmhk6VE6swv8YbyPq3WgkaWo9x7eObkldlum3bQ==} peerDependencies: - '@privy-io/cross-app-connect': ^0.1.2 - '@privy-io/react-auth': ^1.97.0 + '@privy-io/cross-app-connect': ^0.1.5 + '@privy-io/react-auth': ^2.0.5 '@rainbow-me/rainbowkit': '*' '@tanstack/react-query': ^5 react: '>=18' secp256k1: '>=5.0.1' thirdweb: ^5.68.0 typescript: '>=5.0.4' - viem: ^2.21.26 + viem: ^2.22.14 wagmi: ^2 peerDependenciesMeta: '@rainbow-me/rainbowkit': @@ -3649,23 +3649,20 @@ packages: '@types/react': '*' react: '*' - '@next/bundle-analyzer@15.1.0': - resolution: {integrity: sha512-uEyuNZZgAbSWgiUbtihTA8y6QgEzc4b8Fpslmc4SXAjj67Ax5mlcv1HLlez+5dIGwO+vJ9PgCoI8ngWtBh/g1Q==} + '@next/bundle-analyzer@15.1.4': + resolution: {integrity: sha512-W8X96jOW0U5VjLVAkFr1P37kH2f/Ma9zzwgX2o3Omft92pI0XHpFG8Xa9YUT3NlhRJCe4ZKznr1VxhSrFNA+BA==} '@next/env@13.5.8': resolution: {integrity: sha512-YmiG58BqyZ2FjrF2+5uZExL2BrLr8RTQzLXNDJ8pJr0O+rPlOeDPXp1p1/4OrR3avDidzZo3D8QO2cuDv1KCkw==} - '@next/env@15.1.3': - resolution: {integrity: sha512-Q1tXwQCGWyA3ehMph3VO+E6xFPHDKdHFYosadt0F78EObYxPio0S09H9UGYznDe6Wc8eLKLG89GqcFJJDiK5xw==} - - '@next/eslint-plugin-next@15.1.3': - resolution: {integrity: sha512-oeP1vnc5Cq9UoOb8SYHAEPbCXMzOgG70l+Zfd+Ie00R25FOm+CCVNrcIubJvB1tvBgakXE37MmqSycksXVPRqg==} + '@next/env@15.1.4': + resolution: {integrity: sha512-2fZ5YZjedi5AGaeoaC0B20zGntEHRhi2SdWcu61i48BllODcAmmtj8n7YarSPt4DaTsJaBFdxQAVEVzgmx2Zpw==} '@next/eslint-plugin-next@15.1.4': resolution: {integrity: sha512-HwlEXwCK3sr6zmVGEvWBjW9tBFs1Oe6hTmTLoFQtpm4As5HCdu8jfSE0XJOp7uhfEGLniIx8yrGxEWwNnY0fmQ==} - '@next/mdx@15.1.0': - resolution: {integrity: sha512-1USYedy2yRmPdIvQC1b2MBVwiJYrcZnCSHHZZETEuV1rAxjjXedbHmo43kwAv6DL3f9AgDHnl1/s1cqI7xhXdA==} + '@next/mdx@15.1.4': + resolution: {integrity: sha512-GsmKCWPDW6Qas4/yL+zj7RLGrDsVu89F42/S9pVcPTvYmXNK1PqRT6H7outQy6Ox/AGB8As1lxPvk4dJmDIm7w==} peerDependencies: '@mdx-js/loader': '>=0.15.0' '@mdx-js/react': '>=0.15.0' @@ -3675,50 +3672,50 @@ packages: '@mdx-js/react': optional: true - '@next/swc-darwin-arm64@15.1.3': - resolution: {integrity: sha512-aZtmIh8jU89DZahXQt1La0f2EMPt/i7W+rG1sLtYJERsP7GRnNFghsciFpQcKHcGh4dUiyTB5C1X3Dde/Gw8gg==} + '@next/swc-darwin-arm64@15.1.4': + resolution: {integrity: sha512-wBEMBs+np+R5ozN1F8Y8d/Dycns2COhRnkxRc+rvnbXke5uZBHkUGFgWxfTXn5rx7OLijuUhyfB+gC/ap58dDw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@15.1.3': - resolution: {integrity: sha512-aw8901rjkVBK5mbq5oV32IqkJg+CQa6aULNlN8zyCWSsePzEG3kpDkAFkkTOh3eJ0p95KbkLyWBzslQKamXsLA==} + '@next/swc-darwin-x64@15.1.4': + resolution: {integrity: sha512-7sgf5rM7Z81V9w48F02Zz6DgEJulavC0jadab4ZsJ+K2sxMNK0/BtF8J8J3CxnsJN3DGcIdC260wEKssKTukUw==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@15.1.3': - resolution: {integrity: sha512-YbdaYjyHa4fPK4GR4k2XgXV0p8vbU1SZh7vv6El4bl9N+ZSiMfbmqCuCuNU1Z4ebJMumafaz6UCC2zaJCsdzjw==} + '@next/swc-linux-arm64-gnu@15.1.4': + resolution: {integrity: sha512-JaZlIMNaJenfd55kjaLWMfok+vWBlcRxqnRoZrhFQrhM1uAehP3R0+Aoe+bZOogqlZvAz53nY/k3ZyuKDtT2zQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@15.1.3': - resolution: {integrity: sha512-qgH/aRj2xcr4BouwKG3XdqNu33SDadqbkqB6KaZZkozar857upxKakbRllpqZgWl/NDeSCBYPmUAZPBHZpbA0w==} + '@next/swc-linux-arm64-musl@15.1.4': + resolution: {integrity: sha512-7EBBjNoyTO2ipMDgCiORpwwOf5tIueFntKjcN3NK+GAQD7OzFJe84p7a2eQUeWdpzZvhVXuAtIen8QcH71ZCOQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-x64-gnu@15.1.3': - resolution: {integrity: sha512-uzafnTFwZCPN499fNVnS2xFME8WLC9y7PLRs/yqz5lz1X/ySoxfaK2Hbz74zYUdEg+iDZPd8KlsWaw9HKkLEVw==} + '@next/swc-linux-x64-gnu@15.1.4': + resolution: {integrity: sha512-9TGEgOycqZFuADyFqwmK/9g6S0FYZ3tphR4ebcmCwhL8Y12FW8pIBKJvSwV+UBjMkokstGNH+9F8F031JZKpHw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@15.1.3': - resolution: {integrity: sha512-el6GUFi4SiDYnMTTlJJFMU+GHvw0UIFnffP1qhurrN1qJV3BqaSRUjkDUgVV44T6zpw1Lc6u+yn0puDKHs+Sbw==} + '@next/swc-linux-x64-musl@15.1.4': + resolution: {integrity: sha512-0578bLRVDJOh+LdIoKvgNDz77+Bd85c5JrFgnlbI1SM3WmEQvsjxTA8ATu9Z9FCiIS/AliVAW2DV/BDwpXbtiQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-win32-arm64-msvc@15.1.3': - resolution: {integrity: sha512-6RxKjvnvVMM89giYGI1qye9ODsBQpHSHVo8vqA8xGhmRPZHDQUE4jcDbhBwK0GnFMqBnu+XMg3nYukNkmLOLWw==} + '@next/swc-win32-arm64-msvc@15.1.4': + resolution: {integrity: sha512-JgFCiV4libQavwII+kncMCl30st0JVxpPOtzWcAI2jtum4HjYaclobKhj+JsRu5tFqMtA5CJIa0MvYyuu9xjjQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@15.1.3': - resolution: {integrity: sha512-VId/f5blObG7IodwC5Grf+aYP0O8Saz1/aeU3YcWqNdIUAmFQY3VEPKPaIzfv32F/clvanOb2K2BR5DtDs6XyQ==} + '@next/swc-win32-x64-msvc@15.1.4': + resolution: {integrity: sha512-xxsJy9wzq7FR5SqPCUqdgSXiNXrMuidgckBa8nH9HtjjxsilgcN6VgXF6tZ3uEWuVEadotQJI8/9EQ6guTC4Yw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -3740,10 +3737,6 @@ packages: resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} engines: {node: ^14.21.3 || >=16} - '@noble/curves@1.8.0': - resolution: {integrity: sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ==} - engines: {node: ^14.21.3 || >=16} - '@noble/curves@1.8.1': resolution: {integrity: sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ==} engines: {node: ^14.21.3 || >=16} @@ -3764,10 +3757,6 @@ packages: resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==} engines: {node: ^14.21.3 || >=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} @@ -4155,8 +4144,8 @@ packages: resolution: {integrity: sha512-YepVxiylommw2jBuUpdqm90Ebnx6H/HZODDFEpi2/G7lOWMN3GemFHllYC8sKzLIwbPuBqAo5ImvyootOXMCEA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} - '@privy-io/cross-app-connect@0.1.3': - resolution: {integrity: sha512-crCswhF8OPmynpI0o3iSsJFMTQvO7gUK+TUYVCnxdp2oQhknn4y7v/0c2qTlXIEco1Vdsx9oruhkCWLsrM9vfg==} + '@privy-io/cross-app-connect@0.1.5': + resolution: {integrity: sha512-fSq75VXFOZVtSA9gX22FpGuaJP8BFeWQ3oLoOQ4JW1cr3fEhGaEyg7+gfO07JR8FSxgBDSg498zushXihEO7mQ==} peerDependencies: '@rainbow-me/rainbowkit': ^2.1.5 '@wagmi/core': ^2.13.4 @@ -4985,30 +4974,27 @@ packages: '@scure/base@1.1.9': resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} - '@scure/base@1.2.1': - resolution: {integrity: sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==} - '@scure/base@1.2.4': resolution: {integrity: sha512-5Yy9czTO47mqz+/J8GM6GIId4umdCk1wc1q8rKERQulIoc8VP9pzDcghv10Tl2E7R96ZUx/PhND3ESYUQX8NuQ==} '@scure/bip32@1.4.0': resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} - '@scure/bip32@1.6.0': - resolution: {integrity: sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA==} - '@scure/bip32@1.6.1': resolution: {integrity: sha512-jSO+5Ud1E588Y+LFo8TaB8JVPNAZw/lGGao+1SepHDeTs2dFLurdNIAgUuDlwezqEjRjElkCJajVrtrZaBxvaQ==} + '@scure/bip32@1.6.2': + resolution: {integrity: sha512-t96EPDMbtGgtb7onKKqxRLfE5g05k7uHnHRM2xdE6BP/ZmxaLtPek4J4KfVn/90IQNrU1IOAqMgiDtUdtbe3nw==} + '@scure/bip39@1.3.0': resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} - '@scure/bip39@1.5.0': - resolution: {integrity: sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A==} - '@scure/bip39@1.5.1': resolution: {integrity: sha512-GnlufVSP9UdAo/H2Patfv22VTtpNTyfi+I3qCKpvuB5l1KWzEYx+l2TNpBy9Ksh4xTs3Rn06tBlpWCi/1Vz8gw==} + '@scure/bip39@1.5.4': + resolution: {integrity: sha512-TFM4ni0vKvCfBpohoh+/lY05i9gRbSwXWngAsF4CABQxoaOHijxuaZ2R6cStDQ5CHtHO9aGJTr4ksVJASRRyMA==} + '@segment/loosely-validate-event@2.0.0': resolution: {integrity: sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==} @@ -6741,6 +6727,17 @@ packages: zod: optional: true + abitype@1.0.8: + resolution: {integrity: sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.22.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -11297,8 +11294,8 @@ packages: next-tick@1.1.0: resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} - next@15.1.3: - resolution: {integrity: sha512-5igmb8N8AEhWDYzogcJvtcRDU6n4cMGtBklxKD4biYv4LXN8+awc/bbQ2IM2NQHdVPgJ6XumYXfo3hBtErg1DA==} + next@15.1.4: + resolution: {integrity: sha512-mTaq9dwaSuwwOrcu3ebjDYObekkxRnXpuVL21zotM8qE2W0HBOdVIdg2Li9QjMEZrj73LN96LcWcz62V19FjAg==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} hasBin: true peerDependencies: @@ -11694,24 +11691,24 @@ packages: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} - ox@0.1.2: - resolution: {integrity: sha512-ak/8K0Rtphg9vnRJlbOdaX9R7cmxD2MiSthjWGaQdMk3D7hrAlDoM+6Lxn7hN52Za3vrXfZ7enfke/5WjolDww==} + ox@0.2.2: + resolution: {integrity: sha512-QWCyFfVk5hFOhg13SGqRKih5B7EBucrf+Z1dfmN9jJQ8MZdrRx9mbD78JQL5ogSzDT7fcHgyMCaXd/3AWn6xHQ==} peerDependencies: typescript: '>=5.4.0' peerDependenciesMeta: typescript: optional: true - ox@0.2.2: - resolution: {integrity: sha512-QWCyFfVk5hFOhg13SGqRKih5B7EBucrf+Z1dfmN9jJQ8MZdrRx9mbD78JQL5ogSzDT7fcHgyMCaXd/3AWn6xHQ==} + ox@0.4.2: + resolution: {integrity: sha512-X3Ho21mTtJiCU2rWmfaheh2b0CG70Adre7Da/XQ0ECy+QppI6pLqdbGAJHiu/cTjumVXfwDGfv48APqePCU+ow==} peerDependencies: typescript: '>=5.4.0' peerDependenciesMeta: typescript: optional: true - ox@0.4.2: - resolution: {integrity: sha512-X3Ho21mTtJiCU2rWmfaheh2b0CG70Adre7Da/XQ0ECy+QppI6pLqdbGAJHiu/cTjumVXfwDGfv48APqePCU+ow==} + ox@0.6.7: + resolution: {integrity: sha512-17Gk/eFsFRAZ80p5eKqv89a57uXjd3NgIf1CaXojATPBuujVc/fQSVhBeAU9JCRB+k7J50WQAyWTxK19T9GgbA==} peerDependencies: typescript: '>=5.4.0' peerDependenciesMeta: @@ -14437,8 +14434,8 @@ packages: victory-vendor@36.9.2: resolution: {integrity: sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==} - viem@2.21.55: - resolution: {integrity: sha512-PgXew7C11cAuEtOSgRyQx2kJxEOPUwIwZA9dMglRByqJuFVA7wSGZZOOo/93iylAA8E15bEdqy9xulU3oKZ70Q==} + viem@2.22.15: + resolution: {integrity: sha512-7m5T/Emaj/C59jsRxYfZvMvckRRC4+rV+MVufKelxPS5DMhVR4z3Bk6CG8z+eQkpLVearqKBiPvvreLI0AesgA==} peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -14648,9 +14645,6 @@ packages: resolution: {integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==} engines: {node: '>=8.0.0'} - webauthn-p256@0.0.10: - resolution: {integrity: sha512-EeYD+gmIT80YkSIDb2iWq0lq2zbHo1CxHlQTeJ+KkCILWpVy3zASH3ByD4bopzfk0uCwXxLqKGLqp2W4O28VFA==} - webextension-polyfill@0.10.0: resolution: {integrity: sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g==} @@ -15024,23 +15018,23 @@ snapshots: optionalDependencies: graphql: 16.10.0 - '@abstract-foundation/agw-client@1.0.1(abitype@1.0.7(typescript@5.7.2)(zod@3.24.1))(typescript@5.7.2)(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))': + '@abstract-foundation/agw-client@1.3.0(abitype@1.0.8(typescript@5.7.2)(zod@3.24.1))(typescript@5.7.2)(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))': dependencies: - abitype: 1.0.7(typescript@5.7.2)(zod@3.24.1) - viem: 2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + abitype: 1.0.8(typescript@5.7.2)(zod@3.24.1) + viem: 2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) optionalDependencies: typescript: 5.7.2 - '@abstract-foundation/agw-react@1.0.1(tbp7y4vdr4g6hzh7wwqlc5erca)': + '@abstract-foundation/agw-react@1.4.1(ps632aoqsqso3jaq3xeoigleqq)': dependencies: - '@abstract-foundation/agw-client': 1.0.1(abitype@1.0.7(typescript@5.7.2)(zod@3.24.1))(typescript@5.7.2)(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) - '@privy-io/cross-app-connect': 0.1.3(@wagmi/core@2.16.3(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)))(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) - '@privy-io/react-auth': 1.99.1(@abstract-foundation/agw-client@1.0.1(abitype@1.0.7(typescript@5.7.2)(zod@3.24.1))(typescript@5.7.2)(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))(@types/react@19.0.2)(aws4fetch@1.0.20)(bs58@5.0.0)(bufferutil@4.0.9)(ioredis@5.4.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(utf-8-validate@5.0.10)(zod@3.24.1) + '@abstract-foundation/agw-client': 1.3.0(abitype@1.0.8(typescript@5.7.2)(zod@3.24.1))(typescript@5.7.2)(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) + '@privy-io/cross-app-connect': 0.1.5(@wagmi/core@2.16.3(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)))(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) + '@privy-io/react-auth': 1.99.1(@abstract-foundation/agw-client@1.3.0(abitype@1.0.8(typescript@5.7.2)(zod@3.24.1))(typescript@5.7.2)(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))(@types/react@19.0.2)(aws4fetch@1.0.20)(bs58@5.0.0)(bufferutil@4.0.9)(ioredis@5.4.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(utf-8-validate@5.0.10)(zod@3.24.1) '@tanstack/react-query': 5.62.16(react@19.0.0) react: 19.0.0 secp256k1: 5.0.1 - viem: 2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) - wagmi: 2.14.8(@tanstack/query-core@5.62.16)(@tanstack/react-query@5.62.16(react@19.0.0))(@types/react@19.0.2)(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.4.2)(react@19.0.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1) + viem: 2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + wagmi: 2.14.8(@tanstack/query-core@5.62.16)(@tanstack/react-query@5.62.16(react@19.0.0))(@types/react@19.0.2)(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.4.2)(react@19.0.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1) optionalDependencies: thirdweb: link:packages/thirdweb typescript: 5.7.2 @@ -18694,7 +18688,7 @@ snapshots: '@types/react': 19.0.2 react: 19.0.0 - '@next/bundle-analyzer@15.1.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@next/bundle-analyzer@15.1.4(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: webpack-bundle-analyzer: 4.10.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: @@ -18703,45 +18697,41 @@ snapshots: '@next/env@13.5.8': {} - '@next/env@15.1.3': {} - - '@next/eslint-plugin-next@15.1.3': - dependencies: - fast-glob: 3.3.1 + '@next/env@15.1.4': {} '@next/eslint-plugin-next@15.1.4': dependencies: fast-glob: 3.3.1 - '@next/mdx@15.1.0(@mdx-js/loader@2.3.0(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))))(@mdx-js/react@2.3.0(react@19.0.0))': + '@next/mdx@15.1.4(@mdx-js/loader@2.3.0(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))))(@mdx-js/react@2.3.0(react@19.0.0))': dependencies: source-map: 0.7.4 optionalDependencies: '@mdx-js/loader': 2.3.0(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))) '@mdx-js/react': 2.3.0(react@19.0.0) - '@next/swc-darwin-arm64@15.1.3': + '@next/swc-darwin-arm64@15.1.4': optional: true - '@next/swc-darwin-x64@15.1.3': + '@next/swc-darwin-x64@15.1.4': optional: true - '@next/swc-linux-arm64-gnu@15.1.3': + '@next/swc-linux-arm64-gnu@15.1.4': optional: true - '@next/swc-linux-arm64-musl@15.1.3': + '@next/swc-linux-arm64-musl@15.1.4': optional: true - '@next/swc-linux-x64-gnu@15.1.3': + '@next/swc-linux-x64-gnu@15.1.4': optional: true - '@next/swc-linux-x64-musl@15.1.3': + '@next/swc-linux-x64-musl@15.1.4': optional: true - '@next/swc-win32-arm64-msvc@15.1.3': + '@next/swc-win32-arm64-msvc@15.1.4': optional: true - '@next/swc-win32-x64-msvc@15.1.3': + '@next/swc-win32-x64-msvc@15.1.4': optional: true '@noble/ciphers@0.5.3': {} @@ -18760,10 +18750,6 @@ snapshots: dependencies: '@noble/hashes': 1.6.0 - '@noble/curves@1.8.0': - dependencies: - '@noble/hashes': 1.7.0 - '@noble/curves@1.8.1': dependencies: '@noble/hashes': 1.7.1 @@ -18776,8 +18762,6 @@ snapshots: '@noble/hashes@1.6.1': {} - '@noble/hashes@1.7.0': {} - '@noble/hashes@1.7.1': {} '@nodelib/fs.scandir@2.1.5': @@ -19348,16 +19332,16 @@ snapshots: dependencies: zod: 3.24.1 - '@privy-io/cross-app-connect@0.1.3(@wagmi/core@2.16.3(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)))(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))': + '@privy-io/cross-app-connect@0.1.5(@wagmi/core@2.16.3(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)))(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))': dependencies: '@noble/curves': 1.7.0 '@noble/hashes': 1.3.2 '@scure/base': 1.1.9 - viem: 2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + viem: 2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) optionalDependencies: - '@wagmi/core': 2.16.3(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) + '@wagmi/core': 2.16.3(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) - '@privy-io/js-sdk-core@0.37.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))': + '@privy-io/js-sdk-core@0.37.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))': dependencies: '@ethersproject/abstract-signer': 5.7.0 '@ethersproject/bignumber': 5.7.0 @@ -19375,7 +19359,7 @@ snapshots: set-cookie-parser: 2.7.1 uuid: 9.0.1 optionalDependencies: - viem: 2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + viem: 2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -19391,7 +19375,7 @@ snapshots: - bufferutil - utf-8-validate - '@privy-io/react-auth@1.99.1(@abstract-foundation/agw-client@1.0.1(abitype@1.0.7(typescript@5.7.2)(zod@3.24.1))(typescript@5.7.2)(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))(@types/react@19.0.2)(aws4fetch@1.0.20)(bs58@5.0.0)(bufferutil@4.0.9)(ioredis@5.4.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(utf-8-validate@5.0.10)(zod@3.24.1)': + '@privy-io/react-auth@1.99.1(@abstract-foundation/agw-client@1.3.0(abitype@1.0.8(typescript@5.7.2)(zod@3.24.1))(typescript@5.7.2)(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))(@types/react@19.0.2)(aws4fetch@1.0.20)(bs58@5.0.0)(bufferutil@4.0.9)(ioredis@5.4.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(utf-8-validate@5.0.10)(zod@3.24.1)': dependencies: '@coinbase/wallet-sdk': 4.0.3 '@ethersproject/abstract-signer': 5.7.0 @@ -19409,7 +19393,7 @@ snapshots: '@heroicons/react': 2.2.0(react@19.0.0) '@marsidev/react-turnstile': 0.4.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@metamask/eth-sig-util': 6.0.2 - '@privy-io/js-sdk-core': 0.37.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) + '@privy-io/js-sdk-core': 0.37.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) '@simplewebauthn/browser': 9.0.1 '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10)) '@solana/wallet-standard-wallet-adapter-base': 1.1.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0) @@ -19438,12 +19422,12 @@ snapshots: stylis: 4.3.5 tinycolor2: 1.6.0 uuid: 9.0.1 - viem: 2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + viem: 2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) web3-core: 1.10.4(encoding@0.1.13) web3-core-helpers: 1.10.3 zustand: 5.0.3(@types/react@19.0.2)(react@19.0.0)(use-sync-external-store@1.4.0(react@19.0.0)) optionalDependencies: - '@abstract-foundation/agw-client': 1.0.1(abitype@1.0.7(typescript@5.7.2)(zod@3.24.1))(typescript@5.7.2)(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) + '@abstract-foundation/agw-client': 1.3.0(abitype@1.0.8(typescript@5.7.2)(zod@3.24.1))(typescript@5.7.2)(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10) transitivePeerDependencies: - '@azure/app-configuration' @@ -20374,7 +20358,7 @@ snapshots: '@safe-global/safe-apps-sdk@9.1.0(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)': dependencies: '@safe-global/safe-gateway-typescript-sdk': 3.22.7 - viem: 2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + viem: 2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) transitivePeerDependencies: - bufferutil - typescript @@ -20387,8 +20371,6 @@ snapshots: '@scure/base@1.1.9': {} - '@scure/base@1.2.1': {} - '@scure/base@1.2.4': {} '@scure/bip32@1.4.0': @@ -20397,32 +20379,32 @@ snapshots: '@noble/hashes': 1.4.0 '@scure/base': 1.1.9 - '@scure/bip32@1.6.0': + '@scure/bip32@1.6.1': dependencies: - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 - '@scure/base': 1.2.1 + '@noble/curves': 1.8.1 + '@noble/hashes': 1.7.1 + '@scure/base': 1.2.4 - '@scure/bip32@1.6.1': + '@scure/bip32@1.6.2': dependencies: - '@noble/curves': 1.8.0 - '@noble/hashes': 1.7.0 - '@scure/base': 1.2.1 + '@noble/curves': 1.8.1 + '@noble/hashes': 1.7.1 + '@scure/base': 1.2.4 '@scure/bip39@1.3.0': dependencies: '@noble/hashes': 1.4.0 '@scure/base': 1.1.9 - '@scure/bip39@1.5.0': + '@scure/bip39@1.5.1': dependencies: - '@noble/hashes': 1.6.1 - '@scure/base': 1.2.1 + '@noble/hashes': 1.7.1 + '@scure/base': 1.2.4 - '@scure/bip39@1.5.1': + '@scure/bip39@1.5.4': dependencies: - '@noble/hashes': 1.7.0 - '@scure/base': 1.2.1 + '@noble/hashes': 1.7.1 + '@scure/base': 1.2.4 '@segment/loosely-validate-event@2.0.0': dependencies: @@ -20513,7 +20495,7 @@ snapshots: '@sentry/core@8.45.1': {} - '@sentry/nextjs@8.45.1(@opentelemetry/core@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.1.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.2))': + '@sentry/nextjs@8.45.1(@opentelemetry/core@1.30.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.1.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.2))': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.28.0 @@ -20526,7 +20508,7 @@ snapshots: '@sentry/vercel-edge': 8.45.1 '@sentry/webpack-plugin': 2.22.7(encoding@0.1.13)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.2)) chalk: 3.0.0 - next: 15.1.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) resolve: 1.22.8 rollup: 3.29.5 stacktrace-parser: 0.1.10 @@ -21429,7 +21411,7 @@ snapshots: dependencies: storybook: 8.4.7(bufferutil@4.0.9)(prettier@3.3.3)(utf-8-validate@5.0.10) - '@storybook/nextjs@8.4.7(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.2)(next@15.1.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.9)(prettier@3.3.3)(utf-8-validate@5.0.10))(type-fest@4.31.0)(typescript@5.7.2)(webpack-hot-middleware@2.26.1)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.2))': + '@storybook/nextjs@8.4.7(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.2)(next@15.1.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.9)(prettier@3.3.3)(utf-8-validate@5.0.10))(type-fest@4.31.0)(typescript@5.7.2)(webpack-hot-middleware@2.26.1)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.2))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.0) @@ -21456,7 +21438,7 @@ snapshots: find-up: 5.0.0 image-size: 1.2.0 loader-utils: 3.3.1 - next: 15.1.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) node-polyfill-webpack-plugin: 2.0.1(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.2)) pnp-webpack-plugin: 1.7.0(typescript@5.7.2) postcss: 8.4.49 @@ -22717,16 +22699,16 @@ snapshots: loupe: 3.1.2 tinyrainbow: 1.2.0 - '@wagmi/connectors@5.7.4(@types/react@19.0.2)(@wagmi/core@2.16.3(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)))(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.4.2)(react@19.0.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1)': + '@wagmi/connectors@5.7.4(@types/react@19.0.2)(@wagmi/core@2.16.3(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)))(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.4.2)(react@19.0.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1)': dependencies: '@coinbase/wallet-sdk': 4.2.3 '@metamask/sdk': 0.31.5(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10) '@safe-global/safe-apps-provider': 0.18.5(bufferutil@4.0.9)(typescript@5.7.2)(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.2)(utf-8-validate@5.0.10)(zod@3.24.1) - '@wagmi/core': 2.16.3(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) + '@wagmi/core': 2.16.3(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) '@walletconnect/ethereum-provider': 2.17.0(@types/react@19.0.2)(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.4.2)(react@19.0.0)(utf-8-validate@5.0.10) cbw-sdk: '@coinbase/wallet-sdk@3.9.3' - viem: 2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + viem: 2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -22756,11 +22738,11 @@ snapshots: - utf-8-validate - zod - '@wagmi/core@2.16.0(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))': + '@wagmi/core@2.16.0(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))': dependencies: eventemitter3: 5.0.1 mipd: 0.0.7(typescript@5.7.2) - viem: 2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + viem: 2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) zustand: 5.0.0(@types/react@19.0.2)(react@19.0.0)(use-sync-external-store@1.4.0(react@19.0.0)) optionalDependencies: '@tanstack/query-core': 5.62.16 @@ -22771,11 +22753,11 @@ snapshots: - react - use-sync-external-store - '@wagmi/core@2.16.3(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))': + '@wagmi/core@2.16.3(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))': dependencies: eventemitter3: 5.0.1 mipd: 0.0.7(typescript@5.7.2) - viem: 2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + viem: 2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) zustand: 5.0.0(@types/react@19.0.2)(react@19.0.0)(use-sync-external-store@1.4.0(react@19.0.0)) optionalDependencies: '@tanstack/query-core': 5.62.16 @@ -23492,6 +23474,11 @@ snapshots: typescript: 5.7.2 zod: 3.24.1 + abitype@1.0.8(typescript@5.7.2)(zod@3.24.1): + optionalDependencies: + typescript: 5.7.2 + zod: 3.24.1 + abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 @@ -29398,19 +29385,19 @@ snapshots: netmask@2.0.2: {} - next-plausible@3.12.4(next@15.1.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + next-plausible@3.12.4(next@15.1.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - next: 15.1.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - next-sitemap@4.2.3(next@15.1.3(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)): + next-sitemap@4.2.3(next@15.1.4(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)): dependencies: '@corex/deepmerge': 4.0.43 '@next/env': 13.5.8 fast-glob: 3.3.3 minimist: 1.2.8 - next: 15.1.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next-themes@0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: @@ -29419,9 +29406,9 @@ snapshots: next-tick@1.1.0: {} - next@15.1.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + next@15.1.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - '@next/env': 15.1.3 + '@next/env': 15.1.4 '@swc/counter': 0.1.3 '@swc/helpers': 0.5.15 busboy: 1.6.0 @@ -29431,14 +29418,14 @@ snapshots: react-dom: 19.0.0(react@19.0.0) styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.0.0) optionalDependencies: - '@next/swc-darwin-arm64': 15.1.3 - '@next/swc-darwin-x64': 15.1.3 - '@next/swc-linux-arm64-gnu': 15.1.3 - '@next/swc-linux-arm64-musl': 15.1.3 - '@next/swc-linux-x64-gnu': 15.1.3 - '@next/swc-linux-x64-musl': 15.1.3 - '@next/swc-win32-arm64-msvc': 15.1.3 - '@next/swc-win32-x64-msvc': 15.1.3 + '@next/swc-darwin-arm64': 15.1.4 + '@next/swc-darwin-x64': 15.1.4 + '@next/swc-linux-arm64-gnu': 15.1.4 + '@next/swc-linux-arm64-musl': 15.1.4 + '@next/swc-linux-x64-gnu': 15.1.4 + '@next/swc-linux-x64-musl': 15.1.4 + '@next/swc-win32-arm64-msvc': 15.1.4 + '@next/swc-win32-x64-msvc': 15.1.4 '@opentelemetry/api': 1.9.0 '@playwright/test': 1.49.1 sharp: 0.33.5 @@ -29446,9 +29433,9 @@ snapshots: - '@babel/core' - babel-plugin-macros - nextjs-toploader@1.6.12(next@15.1.3(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + nextjs-toploader@1.6.12(next@15.1.4(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - next: 15.1.3(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) nprogress: 0.2.0 prop-types: 15.8.1 react: 19.0.0 @@ -29790,13 +29777,13 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 - ox@0.1.2(typescript@5.7.2)(zod@3.24.1): + ox@0.2.2(typescript@5.7.2)(zod@3.24.1): dependencies: '@adraffy/ens-normalize': 1.11.0 '@noble/curves': 1.7.0 '@noble/hashes': 1.6.1 - '@scure/bip32': 1.6.0 - '@scure/bip39': 1.5.0 + '@scure/bip32': 1.6.1 + '@scure/bip39': 1.5.1 abitype: 1.0.7(typescript@5.7.2)(zod@3.24.1) eventemitter3: 5.0.1 optionalDependencies: @@ -29804,7 +29791,7 @@ snapshots: transitivePeerDependencies: - zod - ox@0.2.2(typescript@5.7.2)(zod@3.24.1): + ox@0.4.2(typescript@5.7.2)(zod@3.24.1): dependencies: '@adraffy/ens-normalize': 1.11.0 '@noble/curves': 1.7.0 @@ -29818,13 +29805,13 @@ snapshots: transitivePeerDependencies: - zod - ox@0.4.2(typescript@5.7.2)(zod@3.24.1): + ox@0.6.7(typescript@5.7.2)(zod@3.24.1): dependencies: '@adraffy/ens-normalize': 1.11.0 '@noble/curves': 1.7.0 '@noble/hashes': 1.6.1 - '@scure/bip32': 1.6.1 - '@scure/bip39': 1.5.1 + '@scure/bip32': 1.6.2 + '@scure/bip39': 1.5.4 abitype: 1.0.7(typescript@5.7.2)(zod@3.24.1) eventemitter3: 5.0.1 optionalDependencies: @@ -33054,16 +33041,15 @@ snapshots: d3-time: 3.1.0 d3-timer: 3.0.1 - viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1): + viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1): dependencies: - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 - '@scure/bip32': 1.6.0 - '@scure/bip39': 1.5.0 - abitype: 1.0.7(typescript@5.7.2)(zod@3.24.1) + '@noble/curves': 1.8.1 + '@noble/hashes': 1.7.1 + '@scure/bip32': 1.6.2 + '@scure/bip39': 1.5.4 + abitype: 1.0.8(typescript@5.7.2)(zod@3.24.1) isows: 1.0.6(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - ox: 0.1.2(typescript@5.7.2)(zod@3.24.1) - webauthn-p256: 0.0.10 + ox: 0.6.7(typescript@5.7.2)(zod@3.24.1) ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) optionalDependencies: typescript: 5.7.2 @@ -33226,14 +33212,14 @@ snapshots: vscode-textmate@8.0.0: {} - wagmi@2.14.8(@tanstack/query-core@5.62.16)(@tanstack/react-query@5.62.16(react@19.0.0))(@types/react@19.0.2)(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.4.2)(react@19.0.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1): + wagmi@2.14.8(@tanstack/query-core@5.62.16)(@tanstack/react-query@5.62.16(react@19.0.0))(@types/react@19.0.2)(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.4.2)(react@19.0.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1): dependencies: '@tanstack/react-query': 5.62.16(react@19.0.0) - '@wagmi/connectors': 5.7.4(@types/react@19.0.2)(@wagmi/core@2.16.3(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)))(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.4.2)(react@19.0.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1) - '@wagmi/core': 2.16.3(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) + '@wagmi/connectors': 5.7.4(@types/react@19.0.2)(@wagmi/core@2.16.3(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)))(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.4.2)(react@19.0.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1) + '@wagmi/core': 2.16.3(@tanstack/query-core@5.62.16)(@types/react@19.0.2)(react@19.0.0)(typescript@5.7.2)(use-sync-external-store@1.4.0(react@19.0.0))(viem@2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) react: 19.0.0 use-sync-external-store: 1.4.0(react@19.0.0) - viem: 2.21.55(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + viem: 2.22.15(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -33391,11 +33377,6 @@ snapshots: randombytes: 2.1.0 utf8: 3.0.0 - webauthn-p256@0.0.10: - dependencies: - '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 - webextension-polyfill@0.10.0: {} webidl-conversions@3.0.1: {}