diff --git a/.changeset/little-kids-wash.md b/.changeset/little-kids-wash.md new file mode 100644 index 00000000000..93cb1439caf --- /dev/null +++ b/.changeset/little-kids-wash.md @@ -0,0 +1,5 @@ +--- +"thirdweb": minor +--- + +Update underlying APIs to use Ox for transaction serialization diff --git a/packages/thirdweb/package.json b/packages/thirdweb/package.json index a963c1f55f0..c27e2de04a5 100644 --- a/packages/thirdweb/package.json +++ b/packages/thirdweb/package.json @@ -127,24 +127,60 @@ }, "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"] + "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" + ] } }, "browser": { @@ -181,7 +217,6 @@ "fuse.js": "7.0.0", "input-otp": "^1.4.1", "mipd": "0.0.7", - "ox": "0.4.0", "uqr": "0.1.2", "viem": "2.21.54" }, @@ -194,6 +229,7 @@ "ethers": "^5 || ^6", "expo-linking": "^6", "expo-web-browser": "^13 || ^14", + "ox": "0.4.0", "react": "^18 || ^19", "react-native": "*", "react-native-aes-gcm-crypto": "^0.2", diff --git a/packages/thirdweb/src/adapters/ethers5.test.ts b/packages/thirdweb/src/adapters/ethers5.test.ts index c85da535acd..4239e5bc4f7 100644 --- a/packages/thirdweb/src/adapters/ethers5.test.ts +++ b/packages/thirdweb/src/adapters/ethers5.test.ts @@ -1,4 +1,5 @@ import * as ethers5 from "ethers5"; +import * as ethers6 from "ethers6"; import { describe, expect, it, test } from "vitest"; import { USDT_CONTRACT } from "~test/test-contracts.js"; import { ANVIL_CHAIN, FORKED_ETHEREUM_CHAIN } from "../../test/src/chains.js"; @@ -10,6 +11,7 @@ import { randomBytesBuffer } from "../utils/random.js"; import { privateKeyToAccount } from "../wallets/private-key.js"; import { fromEthersContract, + fromEthersSigner, toEthersContract, toEthersProvider, toEthersSigner, @@ -149,4 +151,94 @@ describe("ethers5 adapter", () => { const _decimals = await decimals({ contract: thirdwebContract }); expect(_decimals).toBe(6); }); + + test("toEthersProvider should return a valid provider", async () => { + const provider = toEthersProvider(ethers5, TEST_CLIENT, ANVIL_CHAIN); + expect(provider).toBeDefined(); + expect(provider.getBlockNumber).toBeDefined(); + + // Test if the provider can fetch the block number + const blockNumber = await provider.getBlockNumber(); + expect(typeof blockNumber).toBe("number"); + }); + + test("toEthersProvider should throw error with invalid ethers version", () => { + const invalidEthers = ethers6; + expect(() => + // biome-ignore lint/suspicious/noExplicitAny: Testing invalid data + toEthersProvider(invalidEthers as any, TEST_CLIENT, ANVIL_CHAIN), + ).toThrow( + "You seem to be using ethers@6, please use the `ethers6Adapter()`", + ); + }); +}); + +describe("fromEthersSigner", () => { + it("should convert an ethers5 Signer to an Account", async () => { + const wallet = new ethers5.Wallet(ANVIL_PKEY_A); + const account = await fromEthersSigner(wallet); + + expect(account).toBeDefined(); + expect(account.address).toBe(await wallet.getAddress()); + }); + + it("should sign a message", async () => { + const wallet = new ethers5.Wallet(ANVIL_PKEY_A); + const account = await fromEthersSigner(wallet); + + const message = "Hello, world!"; + const signature = await account.signMessage({ message }); + + expect(signature).toBe(await wallet.signMessage(message)); + }); + + it("should sign a transaction", async () => { + const wallet = new ethers5.Wallet( + ANVIL_PKEY_A, + ethers5.getDefaultProvider(), + ); + const account = await fromEthersSigner(wallet); + + const transaction = { + to: "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC", + value: 1n, + }; + + const signedTransaction = await account.signTransaction?.(transaction); + + expect(signedTransaction).toBe(await wallet.signTransaction(transaction)); + }); + + it("should sign typed data", async () => { + const wallet = new ethers5.Wallet(ANVIL_PKEY_A); + const account = await fromEthersSigner(wallet); + + const domain = { + name: "Ether Mail", + version: "1", + chainId: 1, + verifyingContract: "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC", + }; + + const types = { + Person: [ + { name: "name", type: "string" }, + { name: "wallet", type: "address" }, + ], + }; + + const value = { + name: "Alice", + wallet: "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC", + }; + + const signature = await account.signTypedData({ + primaryType: "Person", + domain, + types, + message: value, + }); + + expect(signature).toBeDefined(); + }); }); diff --git a/packages/thirdweb/src/adapters/ethers5.ts b/packages/thirdweb/src/adapters/ethers5.ts index c4ca2d6e5cf..f3b84cbecdc 100644 --- a/packages/thirdweb/src/adapters/ethers5.ts +++ b/packages/thirdweb/src/adapters/ethers5.ts @@ -2,7 +2,7 @@ import type { Abi } from "abitype"; import * as universalethers from "ethers"; import type * as ethers5 from "ethers5"; import type * as ethers6 from "ethers6"; -import type { AccessList, Hex, TransactionSerializable } from "viem"; +import type { AccessList, Hex } from "viem"; import type { Chain } from "../chains/types.js"; import { getRpcUrlForChain } from "../chains/utils.js"; import type { ThirdwebClient } from "../client/client.js"; @@ -10,6 +10,7 @@ import { type ThirdwebContract, getContract } from "../contract/contract.js"; import { toSerializableTransaction } from "../transaction/actions/to-serializable-transaction.js"; import { waitForReceipt } from "../transaction/actions/wait-for-tx-receipt.js"; import type { PreparedTransaction } from "../transaction/prepare-transaction.js"; +import type { SerializableTransaction } from "../transaction/serialize-transaction.js"; import { toHex } from "../utils/encoding/hex.js"; import type { Account } from "../wallets/interfaces/wallet.js"; @@ -39,7 +40,7 @@ function assertEthers5( ): asserts ethers is typeof ethers5 { if (!isEthers5(ethers)) { throw new Error( - "You seem to be using ethers@6, please use the `ethers6Adapter()", + "You seem to be using ethers@6, please use the `ethers6Adapter()`", ); } } @@ -279,6 +280,7 @@ export function toEthersProvider( client: ThirdwebClient, chain: Chain, ): ethers5.providers.Provider { + assertEthers5(ethers); const url = getRpcUrlForChain({ chain, client }); const headers: HeadersInit = { "Content-Type": "application/json", @@ -588,7 +590,7 @@ export async function toEthersSigner( * @internal */ function alignTxToEthers( - tx: TransactionSerializable, + tx: SerializableTransaction, ): ethers5.ethers.utils.Deferrable { const { to: viemTo, type: viemType, gas, ...rest } = tx; // massage "to" to fit ethers @@ -623,8 +625,7 @@ function alignTxToEthers( gasLimit: gas, to, type, - accessList: tx.accessList as ethers5.utils.AccessListish | undefined, - }; + } as ethers5.ethers.utils.Deferrable; } async function alignTxFromEthers( diff --git a/packages/thirdweb/src/adapters/ethers6.ts b/packages/thirdweb/src/adapters/ethers6.ts index d552805ab60..de90941730f 100644 --- a/packages/thirdweb/src/adapters/ethers6.ts +++ b/packages/thirdweb/src/adapters/ethers6.ts @@ -2,13 +2,14 @@ import type { Abi } from "abitype"; import * as universalethers from "ethers"; import type * as ethers5 from "ethers5"; import type * as ethers6 from "ethers6"; -import type { AccessList, Hex, TransactionSerializable } from "viem"; +import type { AccessList, Hex } from "viem"; import type { Chain } from "../chains/types.js"; import { getRpcUrlForChain } from "../chains/utils.js"; import type { ThirdwebClient } from "../client/client.js"; import { type ThirdwebContract, getContract } from "../contract/contract.js"; import { toSerializableTransaction } from "../transaction/actions/to-serializable-transaction.js"; import type { PreparedTransaction } from "../transaction/prepare-transaction.js"; +import type { SerializableTransaction } from "../transaction/serialize-transaction.js"; import { toHex } from "../utils/encoding/hex.js"; import { resolvePromisedValue } from "../utils/promise/resolve-promised-value.js"; import type { Account } from "../wallets/interfaces/wallet.js"; @@ -493,7 +494,7 @@ export function toEthersSigner( * @returns The aligned transaction object. * @internal */ -function alignTxToEthers(tx: TransactionSerializable) { +function alignTxToEthers(tx: SerializableTransaction) { const { type: viemType, ...rest } = tx; // massage "type" to fit ethers diff --git a/packages/thirdweb/src/adapters/viem.test.ts b/packages/thirdweb/src/adapters/viem.test.ts index 935fbdcc16d..03356d2cbe3 100644 --- a/packages/thirdweb/src/adapters/viem.test.ts +++ b/packages/thirdweb/src/adapters/viem.test.ts @@ -1,4 +1,4 @@ -import { type Account as ViemAccount, zeroAddress } from "viem"; +import type { Account as ViemAccount } from "viem"; import { privateKeyToAccount as viemPrivateKeyToAccount } from "viem/accounts"; import { beforeAll, describe, expect, test } from "vitest"; import { USDT_ABI } from "~test/abis/usdt.js"; @@ -6,7 +6,7 @@ import { USDT_CONTRACT_ADDRESS, USDT_CONTRACT_WITH_ABI, } from "~test/test-contracts.js"; -import { ANVIL_PKEY_A } from "~test/test-wallets.js"; +import { ANVIL_PKEY_A, TEST_ACCOUNT_B } from "~test/test-wallets.js"; import { typedData } from "~test/typed-data.js"; import { ANVIL_CHAIN, FORKED_ETHEREUM_CHAIN } from "../../test/src/chains.js"; @@ -87,6 +87,7 @@ describe("walletClient.toViem", () => { if (!walletClient.account) { throw new Error("Account not found"); } + const txHash = await walletClient.sendTransaction({ account: walletClient.account, chain: { @@ -101,8 +102,8 @@ describe("walletClient.toViem", () => { decimals: ANVIL_CHAIN.nativeCurrency?.decimals || 18, }, }, - to: zeroAddress, - value: 0n, + to: TEST_ACCOUNT_B.address, + value: 10n, }); expect(txHash).toBeDefined(); expect(txHash.slice(0, 2)).toBe("0x"); diff --git a/packages/thirdweb/src/exports/wallets.native.ts b/packages/thirdweb/src/exports/wallets.native.ts index 740c2fa3bdf..4938f486422 100644 --- a/packages/thirdweb/src/exports/wallets.native.ts +++ b/packages/thirdweb/src/exports/wallets.native.ts @@ -107,7 +107,7 @@ export const authenticateWithRedirect = () => { export type { CoinbaseWalletCreationOptions, CoinbaseSDKWalletConnectionOptions, -} from "../wallets/coinbase/coinbaseWebSDK.js"; +} from "../wallets/coinbase/coinbase-web.js"; export type { WalletEmitter, diff --git a/packages/thirdweb/src/exports/wallets.ts b/packages/thirdweb/src/exports/wallets.ts index 5213a09c3d1..a7a365b0c4a 100644 --- a/packages/thirdweb/src/exports/wallets.ts +++ b/packages/thirdweb/src/exports/wallets.ts @@ -117,7 +117,7 @@ export { export type { CoinbaseWalletCreationOptions, CoinbaseSDKWalletConnectionOptions, -} from "../wallets/coinbase/coinbaseWebSDK.js"; +} from "../wallets/coinbase/coinbase-web.js"; export type { WalletEmitter, diff --git a/packages/thirdweb/src/extensions/erc1271/checkContractWalletSignedTypedData.ts b/packages/thirdweb/src/extensions/erc1271/checkContractWalletSignedTypedData.ts index c84e7b60200..ded7a836a8d 100644 --- a/packages/thirdweb/src/extensions/erc1271/checkContractWalletSignedTypedData.ts +++ b/packages/thirdweb/src/extensions/erc1271/checkContractWalletSignedTypedData.ts @@ -1,4 +1,4 @@ -import { type TypedData, type TypedDataDefinition, hashTypedData } from "viem"; +import * as ox__TypedData from "ox/TypedData"; import type { ThirdwebContract } from "../../contract/contract.js"; import { isHex } from "../../utils/encoding/hex.js"; import { isValidSignature } from "./__generated__/isValidSignature/read/isValidSignature.js"; @@ -7,11 +7,11 @@ import { isValidSignature } from "./__generated__/isValidSignature/read/isValidS * @extension ERC1271 */ export type CheckContractWalletSignTypedDataOptions< - typedData extends TypedData | Record, + typedData extends ox__TypedData.TypedData | Record, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData, > = { contract: ThirdwebContract; - data: TypedDataDefinition; + data: ox__TypedData.Definition; signature: string; }; const MAGIC_VALUE = "0x1626ba7e"; @@ -42,7 +42,7 @@ const MAGIC_VALUE = "0x1626ba7e"; * @returns A promise that resolves with a boolean indicating if the signature is valid. */ export async function checkContractWalletSignedTypedData< - typedData extends TypedData | Record, + typedData extends ox__TypedData.TypedData | Record, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData, >(options: CheckContractWalletSignTypedDataOptions) { if (!isHex(options.signature)) { @@ -50,7 +50,11 @@ export async function checkContractWalletSignedTypedData< } const result = await isValidSignature({ contract: options.contract, - hash: hashTypedData(options.data), + hash: ox__TypedData.hashStruct({ + primaryType: options.data.primaryType, + data: options.data.message as Record, + types: options.data.types as ox__TypedData.Definition["types"], + }), signature: options.signature, }); return result === MAGIC_VALUE; diff --git a/packages/thirdweb/src/react/web/utils/usePreloadWalletProviders.ts b/packages/thirdweb/src/react/web/utils/usePreloadWalletProviders.ts index 6f7068c66fc..e574c4b0425 100644 --- a/packages/thirdweb/src/react/web/utils/usePreloadWalletProviders.ts +++ b/packages/thirdweb/src/react/web/utils/usePreloadWalletProviders.ts @@ -21,7 +21,7 @@ export function usePreloadWalletProviders({ switch (true) { case COINBASE === w.id: { const { getCoinbaseWebProvider } = await import( - "../../../wallets/coinbase/coinbaseWebSDK.js" + "../../../wallets/coinbase/coinbase-web.js" ); await getCoinbaseWebProvider( w.getConfig() as CreateWalletArgs[1], diff --git a/packages/thirdweb/src/transaction/actions/gasless/providers/biconomy.ts b/packages/thirdweb/src/transaction/actions/gasless/providers/biconomy.ts index adbf0e4a100..0c9442e4698 100644 --- a/packages/thirdweb/src/transaction/actions/gasless/providers/biconomy.ts +++ b/packages/thirdweb/src/transaction/actions/gasless/providers/biconomy.ts @@ -1,5 +1,5 @@ import type { Address } from "abitype"; -import { type TransactionSerializable, encodeAbiParameters } from "viem"; +import { encodeAbiParameters } from "viem"; import { ZERO_ADDRESS } from "../../../../constants/addresses.js"; import { getContract } from "../../../../contract/contract.js"; import { isHex } from "../../../../utils/encoding/helpers/is-hex.js"; @@ -8,6 +8,7 @@ import { stringify } from "../../../../utils/json.js"; import type { Account } from "../../../../wallets/interfaces/wallet.js"; import type { PreparedTransaction } from "../../../prepare-transaction.js"; import { readContract } from "../../../read-contract.js"; +import type { SerializableTransaction } from "../../../serialize-transaction.js"; import type { WaitForReceiptOptions } from "../../wait-for-tx-receipt.js"; /** @@ -27,7 +28,7 @@ type SendBiconomyTransactionOptions = { // TODO: update this to `Transaction<"prepared">` once the type is available to ensure only prepared transactions are accepted // biome-ignore lint/suspicious/noExplicitAny: library function that accepts any prepared transaction type transaction: PreparedTransaction; - serializableTransaction: TransactionSerializable; + serializableTransaction: SerializableTransaction; gasless: BiconomyOptions; }; diff --git a/packages/thirdweb/src/transaction/actions/gasless/providers/engine.ts b/packages/thirdweb/src/transaction/actions/gasless/providers/engine.ts index 56796a2e872..ab0f115741e 100644 --- a/packages/thirdweb/src/transaction/actions/gasless/providers/engine.ts +++ b/packages/thirdweb/src/transaction/actions/gasless/providers/engine.ts @@ -1,10 +1,10 @@ import type { Address } from "abitype"; -import type { TransactionSerializable } from "viem"; import { getContract } from "../../../../contract/contract.js"; import { stringify } from "../../../../utils/json.js"; import type { Account } from "../../../../wallets/interfaces/wallet.js"; import type { PreparedTransaction } from "../../../prepare-transaction.js"; import { readContract } from "../../../read-contract.js"; +import type { SerializableTransaction } from "../../../serialize-transaction.js"; import { type WaitForReceiptOptions, waitForReceipt, @@ -28,7 +28,7 @@ type SendengineTransactionOptions = { // TODO: update this to `Transaction<"prepared">` once the type is available to ensure only prepared transactions are accepted // biome-ignore lint/suspicious/noExplicitAny: library function that accepts any prepared transaction type transaction: PreparedTransaction; - serializableTransaction: TransactionSerializable; + serializableTransaction: SerializableTransaction; gasless: EngineOptions; }; diff --git a/packages/thirdweb/src/transaction/actions/gasless/providers/openzeppelin.ts b/packages/thirdweb/src/transaction/actions/gasless/providers/openzeppelin.ts index 3143e80a1ad..d643fd4f1f2 100644 --- a/packages/thirdweb/src/transaction/actions/gasless/providers/openzeppelin.ts +++ b/packages/thirdweb/src/transaction/actions/gasless/providers/openzeppelin.ts @@ -1,11 +1,11 @@ import type { Address } from "abitype"; -import type { TransactionSerializable } from "viem"; import { getContract } from "../../../../contract/contract.js"; import { isHex } from "../../../../utils/encoding/helpers/is-hex.js"; import { stringify } from "../../../../utils/json.js"; import type { Account } from "../../../../wallets/interfaces/wallet.js"; import type { PreparedTransaction } from "../../../prepare-transaction.js"; import { readContract } from "../../../read-contract.js"; +import type { SerializableTransaction } from "../../../serialize-transaction.js"; import type { WaitForReceiptOptions } from "../../wait-for-tx-receipt.js"; /** @@ -26,7 +26,7 @@ type SendOpenZeppelinTransactionOptions = { // TODO: update this to `Transaction<"prepared">` once the type is available to ensure only prepared transactions are accepted // biome-ignore lint/suspicious/noExplicitAny: library function that accepts any prepared transaction type transaction: PreparedTransaction; - serializableTransaction: TransactionSerializable; + serializableTransaction: SerializableTransaction; gasless: OpenZeppelinOptions; }; diff --git a/packages/thirdweb/src/transaction/actions/gasless/send-gasless-transaction.ts b/packages/thirdweb/src/transaction/actions/gasless/send-gasless-transaction.ts index f4f33371648..e43187db346 100644 --- a/packages/thirdweb/src/transaction/actions/gasless/send-gasless-transaction.ts +++ b/packages/thirdweb/src/transaction/actions/gasless/send-gasless-transaction.ts @@ -1,6 +1,6 @@ -import type { TransactionSerializable } from "viem"; import type { Account } from "../../../wallets/interfaces/wallet.js"; import type { PreparedTransaction } from "../../prepare-transaction.js"; +import type { SerializableTransaction } from "../../serialize-transaction.js"; import { addTransactionToStore } from "../../transaction-store.js"; import type { WaitForReceiptOptions } from "../wait-for-tx-receipt.js"; import type { GaslessOptions } from "./types.js"; @@ -10,7 +10,7 @@ type SendGaslessTransactionOptions = { // TODO: update this to `Transaction<"prepared">` once the type is available to ensure only prepared transactions are accepted // biome-ignore lint/suspicious/noExplicitAny: library function that accepts any prepared transaction type transaction: PreparedTransaction; - serializableTransaction: TransactionSerializable; + serializableTransaction: SerializableTransaction; gasless: GaslessOptions; }; diff --git a/packages/thirdweb/src/transaction/actions/sign-transaction.test.ts b/packages/thirdweb/src/transaction/actions/sign-transaction.test.ts index af4cce65976..257d96aeb73 100644 --- a/packages/thirdweb/src/transaction/actions/sign-transaction.test.ts +++ b/packages/thirdweb/src/transaction/actions/sign-transaction.test.ts @@ -1,27 +1,20 @@ -import { - type TransactionSerializable, - type TransactionSerializableBase, - type TransactionSerializableEIP1559, - type TransactionSerializableEIP2930, - type TransactionSerializableLegacy, - zeroAddress, -} from "viem"; import { describe, expect, test } from "vitest"; import { ANVIL_PKEY_A } from "~test/test-wallets.js"; +import { ZERO_ADDRESS } from "../../constants/addresses.js"; import { fromGwei } from "../../utils/units.js"; import { signTransaction } from "./sign-transaction.js"; const BASE_TRANSACTION = { gas: 21000n, nonce: 785, -} satisfies TransactionSerializableBase; +} as const; describe("eip1559", () => { const BASE_EIP1559_TRANSACTION = { ...BASE_TRANSACTION, chainId: 1, type: "eip1559", - } as const satisfies TransactionSerializableEIP1559; + } as const; test("default", () => { const signature = signTransaction({ @@ -69,7 +62,7 @@ describe("eip1559", () => { ...BASE_EIP1559_TRANSACTION, accessList: [ { - address: zeroAddress, + address: ZERO_ADDRESS, storageKeys: [ "0x0000000000000000000000000000000000000000000000000000000000000001", "0x60fdd29ff912ce880cd3edaf9f932dc61d3dae823ea77e0323f94adb9f6a72fe", @@ -105,7 +98,7 @@ describe("eip2930", () => { ...BASE_TRANSACTION, chainId: 1, type: "eip2930", - } as const satisfies TransactionSerializable; + } as const; test("default", () => { const signature = signTransaction({ @@ -124,13 +117,13 @@ describe("eip2930", () => { gasPrice: fromGwei("2"), accessList: [ { - address: zeroAddress, + address: ZERO_ADDRESS, storageKeys: [ "0x0000000000000000000000000000000000000000000000000000000000000000", ], }, ], - } as TransactionSerializableEIP2930, + }, privateKey: ANVIL_PKEY_A, }); @@ -159,7 +152,7 @@ describe("legacy", () => { ...BASE_TRANSACTION, gasPrice: fromGwei("2"), type: "legacy", - } as const satisfies TransactionSerializableLegacy; + } as const; test("default", () => { const signature = signTransaction({ diff --git a/packages/thirdweb/src/transaction/actions/sign-transaction.ts b/packages/thirdweb/src/transaction/actions/sign-transaction.ts index 13605d02e33..efabb96d947 100644 --- a/packages/thirdweb/src/transaction/actions/sign-transaction.ts +++ b/packages/thirdweb/src/transaction/actions/sign-transaction.ts @@ -1,11 +1,13 @@ -import type { TransactionSerializable } from "viem"; +import * as ox__Hash from "ox/Hash"; +import * as ox__Secp256k1 from "ox/Secp256k1"; import type { Hex } from "../../utils/encoding/hex.js"; -import { keccak256 } from "../../utils/hashing/keccak256.js"; -import { sign } from "../../utils/signatures/sign.js"; -import { serializeTransaction } from "../serialize-transaction.js"; +import { + type SerializableTransaction, + serializeTransaction, +} from "../serialize-transaction.js"; export type SignTransactionOptions = { - transaction: TransactionSerializable; + transaction: SerializableTransaction; privateKey: Hex; // TODO: Add optional custom serializer here }; @@ -32,14 +34,10 @@ export function signTransaction({ transaction, privateKey, }: SignTransactionOptions): Hex { - if (transaction.type === "eip4844") { - transaction = { ...transaction, sidecars: false }; - } - const serializedTransaction = serializeTransaction({ transaction }); - const signature = sign({ - hash: keccak256(serializedTransaction), + const signature = ox__Secp256k1.sign({ + payload: ox__Hash.keccak256(serializedTransaction), privateKey: privateKey, }); return serializeTransaction({ diff --git a/packages/thirdweb/src/transaction/actions/to-serializable-transaction.ts b/packages/thirdweb/src/transaction/actions/to-serializable-transaction.ts index 29e2ab5598a..073b11d28b4 100644 --- a/packages/thirdweb/src/transaction/actions/to-serializable-transaction.ts +++ b/packages/thirdweb/src/transaction/actions/to-serializable-transaction.ts @@ -1,10 +1,10 @@ -import type { TransactionSerializable } from "viem"; import { getGasOverridesForTransaction } from "../../gas/fee-data.js"; import { getRpcClient } from "../../rpc/rpc.js"; import { getAddress } from "../../utils/address.js"; import { isZkSyncChain } from "../../utils/any-evm/zksync/isZkSyncChain.js"; import { resolvePromisedValue } from "../../utils/promise/resolve-promised-value.js"; import type { PreparedTransaction } from "../prepare-transaction.js"; +import type { SerializableTransaction } from "../serialize-transaction.js"; import { encode } from "./encode.js"; import { estimateGas } from "./estimate-gas.js"; @@ -112,5 +112,5 @@ export async function toSerializableTransaction( accessList, value, ...feeData, - } satisfies TransactionSerializable; + } satisfies SerializableTransaction; } diff --git a/packages/thirdweb/src/transaction/actions/zksync/getEip721Domain.ts b/packages/thirdweb/src/transaction/actions/zksync/getEip721Domain.ts index 60b30c117de..bb548218315 100644 --- a/packages/thirdweb/src/transaction/actions/zksync/getEip721Domain.ts +++ b/packages/thirdweb/src/transaction/actions/zksync/getEip721Domain.ts @@ -1,4 +1,3 @@ -import type { TransactionSerializable } from "viem"; import { hashBytecode } from "viem/zksync"; import type { Address } from "../../../utils/address.js"; import { toHex } from "../../../utils/encoding/hex.js"; @@ -6,8 +5,9 @@ import type { EIP712SerializedTransaction, EIP712TransactionOptions, } from "../../prepare-transaction.js"; +import type { SerializableTransaction } from "../../serialize-transaction.js"; -export type EIP721TransactionSerializable = TransactionSerializable & { +export type EIP721TransactionSerializable = SerializableTransaction & { from: Address; } & EIP712TransactionOptions; export const gasPerPubdataDefault = 50000n; diff --git a/packages/thirdweb/src/transaction/serialize-transaction.test.ts b/packages/thirdweb/src/transaction/serialize-transaction.test.ts index 4ce29c44c36..4090524e808 100644 --- a/packages/thirdweb/src/transaction/serialize-transaction.test.ts +++ b/packages/thirdweb/src/transaction/serialize-transaction.test.ts @@ -1,18 +1,10 @@ -import { assertType, describe, expect, test } from "vitest"; - -import { - type TransactionSerializable, - type TransactionSerializableBase, - type TransactionSerializableEIP1559, - type TransactionSerializableEIP2930, - type TransactionSerializableLegacy, - type TransactionSerializedEIP1559, - type TransactionSerializedEIP2930, - type TransactionSerializedLegacy, - parseTransaction, -} from "viem"; - -import { checksumAddress } from "../utils/address.js"; +import * as ox__Hex from "ox/Hex"; +import * as ox__TransactionEnvelopeEip1559 from "ox/TransactionEnvelopeEip1559"; +import * as ox__TransactionEnvelopeEip2930 from "ox/TransactionEnvelopeEip2930"; +import * as ox__TransactionEnvelopeLegacy from "ox/TransactionEnvelopeLegacy"; +import { describe, expect, test } from "vitest"; + +import { type Address, checksumAddress } from "../utils/address.js"; import { fromGwei, toWei } from "../utils/units.js"; import { serializeTransaction } from "./serialize-transaction.js"; @@ -24,7 +16,7 @@ const BASE_TRANSACTION = { to: checksumAddress(TEST_ACCOUNT_B.address), nonce: 785, value: toWei("1"), -} as const satisfies TransactionSerializableBase; +} as const; describe.runIf(process.env.TW_SECRET_KEY)("eip1559", () => { const baseEip1559 = { @@ -32,21 +24,23 @@ describe.runIf(process.env.TW_SECRET_KEY)("eip1559", () => { chainId: 1, maxFeePerGas: fromGwei("2"), maxPriorityFeePerGas: fromGwei("2"), - } as const satisfies TransactionSerializableEIP1559; + } as const; test("default", () => { - const serialized = serializeTransaction({ + const serialized = serializeTransaction({ transaction: baseEip1559, }); - assertType(serialized); expect(serialized).toEqual( "0x02ef0182031184773594008477359400809470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a764000080c0", ); - const tx = parseTransaction(serialized); + const tx = ox__TransactionEnvelopeEip1559.deserialize( + serialized as ox__TransactionEnvelopeEip1559.Serialized, + ); // The parsed transaction to address is not guaranteed to be checksummed, but our input address is expect({ ...tx, to: tx.to ? checksumAddress(tx.to) : undefined }).toEqual({ ...baseEip1559, + nonce: BigInt(baseEip1559.nonce), type: "eip1559", }); }); @@ -58,18 +52,22 @@ describe.runIf(process.env.TW_SECRET_KEY)("eip1559", () => { } as const; const serialized = serializeTransaction({ transaction: args }); expect(serialized).toEqual("0x02c90180808080808080c0"); - expect(parseTransaction(serialized)).toEqual(args); + + const tx = ox__TransactionEnvelopeEip1559.deserialize( + serialized as ox__TransactionEnvelopeEip1559.Serialized, + ); + expect(tx).toEqual(args); }); test("default (all zeros)", () => { const baseEip1559Zero = { - to: TEST_ACCOUNT_B.address, + to: TEST_ACCOUNT_B.address as Address, nonce: 0, chainId: 1, maxFeePerGas: 0n, maxPriorityFeePerGas: 0n, value: 0n, - } satisfies TransactionSerializableEIP1559; + }; const serialized = serializeTransaction({ transaction: baseEip1559Zero, @@ -78,7 +76,9 @@ describe.runIf(process.env.TW_SECRET_KEY)("eip1559", () => { expect(serialized).toEqual( "0x02dd01808080809470997970c51812dc3a010c7d01b50e0d17dc79c88080c0", ); - const tx = parseTransaction(serialized); + const tx = ox__TransactionEnvelopeEip1559.deserialize( + serialized as ox__TransactionEnvelopeEip1559.Serialized, + ); expect({ ...tx, to: tx.to ? checksumAddress(tx.to) : undefined }).toEqual({ chainId: 1, to: TEST_ACCOUNT_B.address, @@ -95,7 +95,14 @@ describe.runIf(process.env.TW_SECRET_KEY)("eip1559", () => { transaction: args, }); expect(serialized).toEqual("0x02c90180800180808080c0"); - expect(parseTransaction(serialized)).toEqual({ ...args, type: "eip1559" }); + expect( + ox__TransactionEnvelopeEip1559.deserialize( + serialized as ox__TransactionEnvelopeEip1559.Serialized, + ), + ).toEqual({ + ...args, + type: "eip1559", + }); }); test("args: gas", () => { @@ -109,7 +116,11 @@ describe.runIf(process.env.TW_SECRET_KEY)("eip1559", () => { expect(serialized).toEqual( "0x02f101820311847735940084773594008252099470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a764000080c0", ); - expect(parseTransaction(serialized).gas).toEqual(args.gas); + expect( + ox__TransactionEnvelopeEip1559.deserialize( + serialized as ox__TransactionEnvelopeEip1559.Serialized, + ).gas, + ).toEqual(args.gas); }); test("args: accessList", () => { @@ -121,31 +132,39 @@ describe.runIf(process.env.TW_SECRET_KEY)("eip1559", () => { storageKeys: [ "0x0000000000000000000000000000000000000000000000000000000000000001", "0x60fdd29ff912ce880cd3edaf9f932dc61d3dae823ea77e0323f94adb9f6a72fe", - ], + ] as const, }, ], - } satisfies TransactionSerializableEIP1559; - const serialized = serializeTransaction({ + }; + const serialized = serializeTransaction({ transaction: args, }); expect(serialized).toEqual( "0x02f88b0182031184773594008477359400809470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a764000080f85bf859940000000000000000000000000000000000000000f842a00000000000000000000000000000000000000000000000000000000000000001a060fdd29ff912ce880cd3edaf9f932dc61d3dae823ea77e0323f94adb9f6a72fe", ); - expect(parseTransaction(serialized).accessList).toEqual(args.accessList); + expect( + ox__TransactionEnvelopeEip1559.deserialize( + serialized as ox__TransactionEnvelopeEip1559.Serialized, + ).accessList, + ).toEqual(args.accessList); }); test("args: data", () => { const args = { ...baseEip1559, data: "0x1234", - } satisfies TransactionSerializableEIP1559; + } as const; const serialized = serializeTransaction({ transaction: args, }); expect(serialized).toEqual( "0x02f10182031184773594008477359400809470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a7640000821234c0", ); - expect(parseTransaction(serialized).data).toEqual(args.data); + expect( + ox__TransactionEnvelopeEip1559.deserialize( + serialized as ox__TransactionEnvelopeEip1559.Serialized, + ).data, + ).toEqual(args.data); }); test("signed", async () => { @@ -162,7 +181,11 @@ describe.runIf(process.env.TW_SECRET_KEY)("eip1559", () => { expect(serialized).toEqual( "0x02f8720182031184773594008477359400809470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a764000080c001a0ce18214ff9d06ecaacb61811f9d6dc2be922e8cebddeaf6df0b30d5c498f6d33a05f0487c6dbbf2139f7c705d8054dbb16ecac8ae6256ce2c4c6f2e7ef35b3a496", ); - expect(parseTransaction(serialized).yParity).toEqual(1); + expect( + ox__TransactionEnvelopeEip1559.deserialize( + serialized as ox__TransactionEnvelopeEip1559.Serialized, + ).yParity, + ).toEqual(1); }); test("signature", () => { @@ -270,19 +293,21 @@ describe("eip2930", () => { }, ], gasPrice: fromGwei("2"), - } as const satisfies TransactionSerializableEIP2930; + } as const; test("default", () => { - const serialized = serializeTransaction({ + const serialized = serializeTransaction({ transaction: BASE_EIP2930_TRANSACTION, }); - assertType(serialized); expect(serialized).toEqual( "0x01f863018203118477359400809470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a764000080f838f7941234512345123451234512345123451234512345e1a060fdd29ff912ce880cd3edaf9f932dc61d3dae823ea77e0323f94adb9f6a72fe", ); - const tx = parseTransaction(serialized); + const tx = ox__TransactionEnvelopeEip2930.deserialize( + serialized as ox__TransactionEnvelopeEip2930.Serialized, + ); expect({ ...tx, to: tx.to ? checksumAddress(tx.to) : undefined }).toEqual({ ...BASE_EIP2930_TRANSACTION, + nonce: BigInt(BASE_EIP2930_TRANSACTION.nonce), type: "eip2930", }); }); @@ -295,7 +320,7 @@ describe("eip2930", () => { value: 0n, gasPrice: 0n, accessList: [], - } satisfies TransactionSerializableEIP2930; + }; const serialized = serializeTransaction({ transaction: baseEip2930Zero, @@ -305,7 +330,9 @@ describe("eip2930", () => { "0x01dc018080809470997970c51812dc3a010c7d01b50e0d17dc79c88080c0", ); - const tx = parseTransaction(serialized); + const tx = ox__TransactionEnvelopeEip2930.deserialize( + serialized as ox__TransactionEnvelopeEip2930.Serialized, + ); expect({ ...tx, to: tx.to ? checksumAddress(tx.to) : undefined }).toEqual({ chainId: 1, to: checksumAddress(TEST_ACCOUNT_B.address), @@ -325,26 +352,34 @@ describe("eip2930", () => { }, ], gasPrice: fromGwei("2"), - } satisfies TransactionSerializableEIP2930; - const serialized = serializeTransaction({ + } as const; + const serialized = serializeTransaction({ transaction: args, }); expect(serialized).toEqual( "0x01f8450180847735940080808080f838f7940000000000000000000000000000000000000000e1a00000000000000000000000000000000000000000000000000000000000000001", ); - expect(parseTransaction(serialized).accessList).toEqual(args.accessList); + expect( + ox__TransactionEnvelopeEip2930.deserialize( + serialized as ox__TransactionEnvelopeEip2930.Serialized, + ).accessList, + ).toEqual(args.accessList); }); test("minimal (w/ type)", () => { const args = { chainId: 1, type: "eip2930", - } satisfies TransactionSerializableEIP2930; + }; const serialized = serializeTransaction({ transaction: args, }); expect(serialized).toEqual("0x01c801808080808080c0"); - expect(parseTransaction(serialized).type).toEqual("eip2930"); + expect( + ox__TransactionEnvelopeEip2930.deserialize( + serialized as ox__TransactionEnvelopeEip2930.Serialized, + ).type, + ).toEqual("eip2930"); }); test("args: gas", () => { @@ -356,19 +391,27 @@ describe("eip2930", () => { expect(serialized).toEqual( "0x01f8650182031184773594008252099470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a764000080f838f7941234512345123451234512345123451234512345e1a060fdd29ff912ce880cd3edaf9f932dc61d3dae823ea77e0323f94adb9f6a72fe", ); - expect(parseTransaction(serialized).gas).toEqual(args.gas); + expect( + ox__TransactionEnvelopeEip2930.deserialize( + serialized as ox__TransactionEnvelopeEip2930.Serialized, + ).gas, + ).toEqual(args.gas); }); test("args: data", () => { const args = { ...BASE_EIP2930_TRANSACTION, data: "0x1234", - } satisfies TransactionSerializableEIP2930; + } as const; const serialized = serializeTransaction({ transaction: args }); expect(serialized).toEqual( "0x01f865018203118477359400809470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a7640000821234f838f7941234512345123451234512345123451234512345e1a060fdd29ff912ce880cd3edaf9f932dc61d3dae823ea77e0323f94adb9f6a72fe", ); - expect(parseTransaction(serialized).data).toEqual(args.data); + expect( + ox__TransactionEnvelopeEip2930.deserialize( + serialized as ox__TransactionEnvelopeEip2930.Serialized, + ).data, + ).toEqual(args.data); }); test("signed", async () => { @@ -384,10 +427,14 @@ describe("eip2930", () => { expect(serialized).toEqual( "0x01f8a6018203118477359400809470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a764000080f838f7941234512345123451234512345123451234512345e1a060fdd29ff912ce880cd3edaf9f932dc61d3dae823ea77e0323f94adb9f6a72fe01a0dc7b3483c0b183823f07d77247c60678d861080acdc4fb8b9fd131770b475c40a040f16567391132746735aff4d5a3fa5ae42ff3d5d538e341870e0259dc40741a", ); - const tx = parseTransaction(serialized); + const tx = ox__TransactionEnvelopeEip2930.deserialize( + serialized as ox__TransactionEnvelopeEip2930.Serialized, + ); expect({ ...tx, to: tx.to ? checksumAddress(tx.to) : undefined }).toEqual({ ...BASE_EIP2930_TRANSACTION, - ...signature, + nonce: BigInt(BASE_EIP2930_TRANSACTION.nonce), + r: ox__Hex.toBigInt(signature.r), + s: ox__Hex.toBigInt(signature.s), type: "eip2930", yParity: 1, }); @@ -490,16 +537,19 @@ describe("legacy", () => { }; test("default", () => { - const serialized = serializeTransaction({ + const serialized = serializeTransaction({ transaction: BASE_LEGACY_TRANSACTION, }); - assertType(serialized); + expect(serialized).toEqual( "0xe88203118477359400809470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a764000080", ); - const tx = parseTransaction(serialized); + const tx = ox__TransactionEnvelopeLegacy.deserialize( + serialized as ox__TransactionEnvelopeLegacy.Serialized, + ); expect({ ...tx, to: tx.to ? checksumAddress(tx.to) : undefined }).toEqual({ ...BASE_LEGACY_TRANSACTION, + nonce: BigInt(BASE_LEGACY_TRANSACTION.nonce), type: "legacy", }); }); @@ -510,7 +560,7 @@ describe("legacy", () => { nonce: 0, value: 0n, gasPrice: 0n, - } satisfies TransactionSerializableLegacy; + }; const serialized = serializeTransaction({ transaction: baseLegacyZero, @@ -520,7 +570,9 @@ describe("legacy", () => { "0xda8080809470997970c51812dc3a010c7d01b50e0d17dc79c88080", ); - const tx = parseTransaction(serialized); + const tx = ox__TransactionEnvelopeLegacy.deserialize( + serialized as ox__TransactionEnvelopeLegacy.Serialized, + ); expect({ ...tx, to: tx.to ? checksumAddress(tx.to) : undefined }).toEqual({ to: checksumAddress(TEST_ACCOUNT_B.address), type: "legacy", @@ -530,23 +582,27 @@ describe("legacy", () => { test("minimal (w/ gasPrice)", () => { const args = { gasPrice: fromGwei("2"), - } satisfies TransactionSerializableLegacy; + }; const serialized = serializeTransaction({ transaction: args, }); expect(serialized).toEqual("0xca80847735940080808080"); - expect(parseTransaction(serialized).gasPrice).toEqual(args.gasPrice); + expect( + ox__TransactionEnvelopeLegacy.deserialize(serialized).gasPrice, + ).toEqual(args.gasPrice); }); test("minimal (w/ type)", () => { const args = { type: "legacy", - } satisfies TransactionSerializableLegacy; + }; const serialized = serializeTransaction({ transaction: args, }); expect(serialized).toEqual("0xc6808080808080"); - expect(parseTransaction(serialized).type).toEqual(args.type); + expect(ox__TransactionEnvelopeLegacy.deserialize(serialized).type).toEqual( + args.type, + ); }); test("args: gas", () => { @@ -560,33 +616,39 @@ describe("legacy", () => { expect(serialized).toEqual( "0xea82031184773594008252099470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a764000080", ); - expect(parseTransaction(serialized).gas).toEqual(args.gas); + expect(ox__TransactionEnvelopeLegacy.deserialize(serialized).gas).toEqual( + args.gas, + ); }); test("args: data", () => { const args = { ...BASE_LEGACY_TRANSACTION, data: "0x1234", - } satisfies TransactionSerializableLegacy; + } as const; const serialized = serializeTransaction({ transaction: args, }); expect(serialized).toEqual( "0xea8203118477359400809470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a7640000821234", ); - expect(parseTransaction(serialized).data).toEqual(args.data); + expect(ox__TransactionEnvelopeLegacy.deserialize(serialized).data).toEqual( + args.data, + ); }); test("args: chainId", () => { const args = { ...BASE_LEGACY_TRANSACTION, chainId: 69, - } satisfies TransactionSerializableLegacy; + } as const; const serialized = serializeTransaction({ transaction: args }); expect(serialized).toEqual( "0xeb8203118477359400809470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a764000080458080", ); - expect(parseTransaction(serialized).chainId).toEqual(args.chainId); + expect( + ox__TransactionEnvelopeLegacy.deserialize(serialized).chainId, + ).toEqual(args.chainId); }); test("signed", async () => { @@ -602,10 +664,13 @@ describe("legacy", () => { expect(serialized).toEqual( "0xf86b8203118477359400809470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a7640000801ca06cb0e8d21e5baf998fb9a05f47acd83692dc148f90b81b332a152f020da0ae98a0344e49bacb1ef7af7c2ffed9e88d3f0ae0aa4945c9da0a660a03717dd5621f98", ); - const tx = parseTransaction(serialized); + const tx = ox__TransactionEnvelopeLegacy.deserialize(serialized); expect({ ...tx, to: tx.to ? checksumAddress(tx.to) : undefined }).toEqual({ ...BASE_LEGACY_TRANSACTION, - ...signature, + nonce: BigInt(BASE_LEGACY_TRANSACTION.nonce), + r: ox__Hex.toBigInt(signature.r), + s: ox__Hex.toBigInt(signature.s), + v: 28, yParity: 1, type: "legacy", }); @@ -653,13 +718,15 @@ describe("legacy", () => { expect(serialized).toEqual( "0xf86c8203118477359400809470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a76400008081ada02f43314322cf4c5dd645b028aa0b0dadff0fb73c41a6f0620ff1dfb11601ac30a066f37a65e139fa4b6df33a42ab5ccaeaa7a109382e7430caefd1deee63962626", ); - const tx = parseTransaction(serialized); + const tx = ox__TransactionEnvelopeLegacy.deserialize(serialized); expect({ ...tx, to: tx.to ? checksumAddress(tx.to) : undefined }).toEqual({ ...args, - ...signature, + nonce: BigInt(args.nonce), + r: ox__Hex.toBigInt(signature.r), + s: ox__Hex.toBigInt(signature.s), yParity: 0, type: "legacy", - v: 173n, + v: 173, }); }); @@ -686,164 +753,3 @@ test("cannot infer type from transaction object", () => { }), ).toThrow(); }); - -describe("miscellaneous", () => { - test("https://github.com/wevm/viem/issues/1433", () => { - expect( - serializeTransaction({ - transaction: { - blockHash: null, - blockNumber: null, - from: "0xc702b9950e44f7d321fa16ee88bf8e1a561249ba", - gas: 51627n, - gasPrice: 3000000000n, - hash: "0x3eaa88a766e82cbe53c95218ab4c3cf316325802b5f75d086b5121007b918e92", - input: - "0xa9059cbb00000000000000000000000082fc882199816bcec06baf848eaec51c2f96c85b000000000000000000000000000000000000000000000000eccae3078bacd15d", - nonce: 117, - to: "0x55d398326f99059ff775485246999027b3197955", - transactionIndex: null, - value: 0n, - type: "legacy", - v: 84475n, - r: "0x73b39769ff4a36515c8fca546550a3fdafebbf37fa9e22be2d92b44653ade7bf", - s: "0x354c756a1aa3346e9b3ea5423ac99acfc005e9cce2cd698e14d792f43fa15a23", - chainId: undefined, - typeHex: "0x0", - } as TransactionSerializable, - }), - ).toMatchInlineSnapshot( - '"0xf8667584b2d05e0082c9ab9455d398326f99059ff775485246999027b31979558080830149fba073b39769ff4a36515c8fca546550a3fdafebbf37fa9e22be2d92b44653ade7bfa0354c756a1aa3346e9b3ea5423ac99acfc005e9cce2cd698e14d792f43fa15a23"', - ); - - expect( - serializeTransaction({ - transaction: { - blockHash: null, - blockNumber: null, - from: "0xc702b9950e44f7d321fa16ee88bf8e1a561249ba", - gas: 51627n, - gasPrice: 3000000000n, - hash: "0x3eaa88a766e82cbe53c95218ab4c3cf316325802b5f75d086b5121007b918e92", - input: - "0xa9059cbb00000000000000000000000082fc882199816bcec06baf848eaec51c2f96c85b000000000000000000000000000000000000000000000000eccae3078bacd15d", - nonce: 117, - to: "0x55d398326f99059ff775485246999027b3197955", - transactionIndex: null, - value: 0n, - type: "legacy", - v: 84476n, - r: "0x73b39769ff4a36515c8fca546550a3fdafebbf37fa9e22be2d92b44653ade7bf", - s: "0x354c756a1aa3346e9b3ea5423ac99acfc005e9cce2cd698e14d792f43fa15a23", - chainId: undefined, - typeHex: "0x0", - } as TransactionSerializable, - }), - ).toMatchInlineSnapshot( - '"0xf8667584b2d05e0082c9ab9455d398326f99059ff775485246999027b31979558080830149fca073b39769ff4a36515c8fca546550a3fdafebbf37fa9e22be2d92b44653ade7bfa0354c756a1aa3346e9b3ea5423ac99acfc005e9cce2cd698e14d792f43fa15a23"', - ); - - expect( - serializeTransaction({ - transaction: { - blockHash: null, - blockNumber: null, - from: "0xc702b9950e44f7d321fa16ee88bf8e1a561249ba", - gas: 51627n, - gasPrice: 3000000000n, - hash: "0x3eaa88a766e82cbe53c95218ab4c3cf316325802b5f75d086b5121007b918e92", - input: - "0xa9059cbb00000000000000000000000082fc882199816bcec06baf848eaec51c2f96c85b000000000000000000000000000000000000000000000000eccae3078bacd15d", - nonce: 117, - to: "0x55d398326f99059ff775485246999027b3197955", - transactionIndex: null, - value: 0n, - type: "legacy", - v: 35n, - r: "0x73b39769ff4a36515c8fca546550a3fdafebbf37fa9e22be2d92b44653ade7bf", - s: "0x354c756a1aa3346e9b3ea5423ac99acfc005e9cce2cd698e14d792f43fa15a23", - chainId: undefined, - typeHex: "0x0", - } as TransactionSerializable, - }), - ).toMatchInlineSnapshot( - '"0xf8637584b2d05e0082c9ab9455d398326f99059ff775485246999027b319795580801ba073b39769ff4a36515c8fca546550a3fdafebbf37fa9e22be2d92b44653ade7bfa0354c756a1aa3346e9b3ea5423ac99acfc005e9cce2cd698e14d792f43fa15a23"', - ); - - expect( - serializeTransaction({ - transaction: { - blockHash: null, - blockNumber: null, - from: "0xc702b9950e44f7d321fa16ee88bf8e1a561249ba", - gas: 51627n, - gasPrice: 3000000000n, - hash: "0x3eaa88a766e82cbe53c95218ab4c3cf316325802b5f75d086b5121007b918e92", - input: - "0xa9059cbb00000000000000000000000082fc882199816bcec06baf848eaec51c2f96c85b000000000000000000000000000000000000000000000000eccae3078bacd15d", - nonce: 117, - to: "0x55d398326f99059ff775485246999027b3197955", - transactionIndex: null, - value: 0n, - type: "legacy", - v: 36n, - r: "0x73b39769ff4a36515c8fca546550a3fdafebbf37fa9e22be2d92b44653ade7bf", - s: "0x354c756a1aa3346e9b3ea5423ac99acfc005e9cce2cd698e14d792f43fa15a23", - chainId: undefined, - typeHex: "0x0", - } as TransactionSerializable, - }), - ).toMatchInlineSnapshot( - '"0xf8637584b2d05e0082c9ab9455d398326f99059ff775485246999027b319795580801ca073b39769ff4a36515c8fca546550a3fdafebbf37fa9e22be2d92b44653ade7bfa0354c756a1aa3346e9b3ea5423ac99acfc005e9cce2cd698e14d792f43fa15a23"', - ); - }); - - test("https://github.com/wevm/viem/issues/1849", async () => { - const tx = { - blockHash: - "0xbfafd5da42c7e715149a1fbcc20c40bcf5f62e013f60af9cdf07c27142b6a0ff", - blockNumber: 19295009n, - gas: 421374n, - gasPrice: 20701311233n, - input: - "0x3a2b7b980000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000726000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065d96f1b00000000000000000000000000000000000000000000000000000000000000030b010c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000c23190af48df1c00000000000000000000000000000000000000000000000000000000000001000000000000000000000000002648f5592c09a260c601acde44e7f8f2944944fb0000000000000000000000000000000000000000000000000f43fc2c04ee000000000000000000000000000000000000000000000000000000c23190af48df1c00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bbe33f57f41a20b2f00dec91dcc1169597f36221f002710c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000023a03a3f85888a471f4effcafa03431511e388560000000000000000000000000000000000000000000000000000000000000000", - nonce: 38, - to: "0x2648f5592c09a260c601acde44e7f8f2944944fb", - transactionIndex: 74, - value: 57108134443873424n, - type: "legacy", - chainId: 1, - v: 38n, - r: "0x5abc283bf902f90884f800b2f810febd5e90f8d5077d89e150631bbcc547b7d1", - s: "0x5acc7718573bcd268256c996f2ae1bdd2bd97019992f44d5806b1cc843cde2e7", - typeHex: "0x0", - } as const; - - const serialized = serializeTransaction({ - transaction: { ...tx, data: tx.input }, - }); - - expect(keccak256(serialized)).toEqual( - "0x6ed21df69b02678dfb290ef2a43d490303562eb387f70795766b37bfa9d09bd2", - ); - }); - - test("Successfully handles hex as bigint", () => { - const transaction = { - to: "0x0000000000000000000000000000000000000000", - chainId: 31337, - data: "0x", - gas: 21001n, - nonce: 0, - accessList: undefined, - value: "0x0", - maxFeePerGas: 3100000000n, - maxPriorityFeePerGas: 1100000000n, - } as unknown as TransactionSerializable; - - const signed = serializeTransaction({ transaction }); - expect(signed).toMatchInlineSnapshot( - `"0x02ec827a6980844190ab0084b8c63f008252099400000000000000000000000000000000000000008330783080c0"`, - ); - }); -}); diff --git a/packages/thirdweb/src/transaction/serialize-transaction.ts b/packages/thirdweb/src/transaction/serialize-transaction.ts index 3f596440af3..93a2e17b2a0 100644 --- a/packages/thirdweb/src/transaction/serialize-transaction.ts +++ b/packages/thirdweb/src/transaction/serialize-transaction.ts @@ -1,15 +1,37 @@ -import { - type GetTransactionType, - type SerializedTransactionReturnType, - type Signature, - type TransactionSerializable, - type TransactionType, - serializeTransaction as _serializeTransaction, -} from "viem"; +import * as ox__Hex from "ox/Hex"; +import * as ox__Signature from "ox/Signature"; +import * as ox__TransactionEnvelopeEip1559 from "ox/TransactionEnvelopeEip1559"; +import * as ox__TransactionEnvelopeEip2930 from "ox/TransactionEnvelopeEip2930"; +import * as ox__TransactionEnvelopeLegacy from "ox/TransactionEnvelopeLegacy"; +import type { Hex } from "../utils/encoding/hex.js"; + +export type SerializableTransaction = { + type?: string | undefined; + r?: Hex | bigint; + s?: Hex | bigint; + v?: bigint | number; + yParity?: bigint | number; + accessList?: + | ox__TransactionEnvelopeEip2930.TransactionEnvelopeEip2930["accessList"] + | undefined; + chainId?: number | undefined; + gasPrice?: bigint | undefined; + maxFeePerGas?: bigint | undefined; + maxPriorityFeePerGas?: bigint | undefined; + data?: Hex | undefined; + to?: string | null | undefined; // Must allow null for backwards compatibility + nonce?: number | bigint | undefined; + value?: bigint | undefined; + gas?: bigint | undefined; + gasLimit?: bigint | undefined; +}; export type SerializeTransactionOptions = { - transaction: TransactionSerializable; - signature?: Signature | undefined; + transaction: SerializableTransaction; + signature?: + | ox__Signature.Signature + | ox__Signature.Legacy + | undefined; }; /** @@ -32,18 +54,39 @@ export type SerializeTransactionOptions = { * }); * ``` */ -export function serializeTransaction< - const transaction extends TransactionSerializable, - _transactionType extends TransactionType = GetTransactionType, ->( +export function serializeTransaction( options: SerializeTransactionOptions, -): SerializedTransactionReturnType { +): Hex { const { transaction } = options; + const type = getTransactionEnvelopeType(transaction); + // This is to maintain compatibility with our old interface (including the signature in the transaction object) const signature = (() => { - if (options.signature) return options.signature; - if (transaction.v === undefined && transaction.yParity === undefined) { + if (options.signature) { + if ( + "v" in options.signature && + typeof options.signature.v !== "undefined" + ) { + return ox__Signature.fromLegacy({ + r: ox__Hex.toBigInt(options.signature.r), + s: ox__Hex.toBigInt(options.signature.s), + v: Number(options.signature.v), + }); + } + + return { + r: ox__Hex.toBigInt(options.signature.r), + s: ox__Hex.toBigInt(options.signature.s), + // We force the Signature type here because we filter for legacy type above + yParity: (options.signature as unknown as ox__Signature.Signature) + .yParity, + }; + } + if ( + typeof transaction.v === "undefined" && + typeof transaction.yParity === "undefined" + ) { return undefined; } @@ -52,12 +95,78 @@ export function serializeTransaction< } return { - v: transaction.v, - r: transaction.r, - s: transaction.s, - yParity: transaction.yParity, + r: + typeof transaction.r === "bigint" + ? transaction.r + : ox__Hex.toBigInt(transaction.r), + s: + typeof transaction.s === "bigint" + ? transaction.s + : ox__Hex.toBigInt(transaction.s), + yParity: + typeof transaction.v !== "undefined" && + typeof transaction.yParity === "undefined" + ? ox__Signature.vToYParity(Number(transaction.v)) + : Number(transaction.yParity), }; })(); - return _serializeTransaction(transaction, signature as Signature | undefined); // Trust the options type-checking did its job and that the converted signature mirrors that type + if (type === "eip1559") { + const typedTransaction = + transaction as ox__TransactionEnvelopeEip1559.TransactionEnvelopeEip1559; + ox__TransactionEnvelopeEip1559.assert(typedTransaction); + + return ox__TransactionEnvelopeEip1559.serialize(typedTransaction, { + signature, + }); + } + + if (type === "legacy") { + const typedTransaction = + transaction as ox__TransactionEnvelopeLegacy.TransactionEnvelopeLegacy; + ox__TransactionEnvelopeLegacy.assert(typedTransaction); + + return ox__TransactionEnvelopeLegacy.serialize(typedTransaction, { + signature, + }); + } + + if (type === "eip2930") { + const typedTransaction = + transaction as ox__TransactionEnvelopeEip2930.TransactionEnvelopeEip2930; + ox__TransactionEnvelopeEip2930.assert(typedTransaction); + + return ox__TransactionEnvelopeEip2930.serialize(typedTransaction, { + signature, + }); + } + + throw new Error("Invalid transaction type"); +} + +/** + * @internal + */ +function getTransactionEnvelopeType( + transactionEnvelope: SerializableTransaction, +) { + if (typeof transactionEnvelope.type !== "undefined") { + return transactionEnvelope.type; + } + + if ( + typeof transactionEnvelope.maxFeePerGas !== "undefined" || + typeof transactionEnvelope.maxPriorityFeePerGas !== "undefined" + ) { + return "eip1559"; + } + + if (typeof transactionEnvelope.gasPrice !== "undefined") { + if (typeof transactionEnvelope.accessList !== "undefined") { + return "eip2930"; + } + return "legacy"; + } + + throw new Error("Invalid transaction type"); } diff --git a/packages/thirdweb/src/utils/any-evm/keyless-transaction.test.ts b/packages/thirdweb/src/utils/any-evm/keyless-transaction.test.ts new file mode 100644 index 00000000000..c2fbf759196 --- /dev/null +++ b/packages/thirdweb/src/utils/any-evm/keyless-transaction.test.ts @@ -0,0 +1,91 @@ +import * as ox__Hash from "ox/Hash"; +import * as ox__Hex from "ox/Hex"; +import * as ox__Signature from "ox/Signature"; +import { recoverAddress } from "viem"; +import { describe, expect, it } from "vitest"; +import { serializeTransaction } from "../../transaction/serialize-transaction.js"; +import { getKeylessTransaction } from "./keyless-transaction.js"; + +describe("getKeylessTransaction", () => { + const mockTransaction = { + to: "0x1234567890123456789012345678901234567890", + value: 1000n, + chainId: 1, + gasPrice: 10n, + }; + + const mockSignature = { + r: "0x60fdd29ff912ce880cd3edaf9f932dc61d3dae823ea77e0323f94adb9f6a72fe", + s: "0x60fdd29ff912ce880cd3edaf9f932dc61d3dae823ea77e0323f94adb9f6a72fe", + v: 27n, + } as const; + + it("should return the correct signer address and serialized transaction", async () => { + const serializedTransaction = serializeTransaction({ + transaction: mockTransaction, + }); + + const hash = ox__Hash.keccak256(serializedTransaction); + const expectedAddress = await recoverAddress({ + hash, + signature: ox__Signature.toHex({ + r: ox__Hex.toBigInt(mockSignature.r), + s: ox__Hex.toBigInt(mockSignature.s), + yParity: ox__Signature.vToYParity(Number(mockSignature.v)), + }), + }); + + const result = await getKeylessTransaction({ + transaction: mockTransaction, + signature: mockSignature, + }); + + expect(result.signerAddress).toBe(expectedAddress); + expect(result.transaction).toBe( + serializeTransaction({ + transaction: mockTransaction, + signature: mockSignature, + }), + ); + }); + + it("should throw if yParity is explicitly undefined", async () => { + const invalidSignature = { + r: mockSignature.r, + s: mockSignature.s, + yParity: undefined, + }; + + await expect( + getKeylessTransaction({ + transaction: mockTransaction, + // biome-ignore lint/suspicious/noExplicitAny: Testing invalid data + signature: invalidSignature as any, + }), + ).rejects.toThrow(); + }); + + it("should throw if a signature is not recoverable", async () => { + const invalidSignature = { ...mockSignature, v: undefined }; + + await expect( + getKeylessTransaction({ + transaction: mockTransaction, + // biome-ignore lint/suspicious/noExplicitAny: Testing invalid data + signature: invalidSignature as any, + }), + ).rejects.toThrow(); + }); + + it("should throw an error if the transaction is invalid", async () => { + const invalidTransaction = { ...mockTransaction, value: "invalid" }; + + await expect( + getKeylessTransaction({ + // biome-ignore lint/suspicious/noExplicitAny: Testing invalid data + transaction: invalidTransaction as any, + signature: mockSignature, + }), + ).rejects.toThrow(); + }); +}); diff --git a/packages/thirdweb/src/utils/any-evm/keyless-transaction.ts b/packages/thirdweb/src/utils/any-evm/keyless-transaction.ts index fb94a48650b..717adbfd13f 100644 --- a/packages/thirdweb/src/utils/any-evm/keyless-transaction.ts +++ b/packages/thirdweb/src/utils/any-evm/keyless-transaction.ts @@ -1,15 +1,18 @@ +import * as ox__Hash from "ox/Hash"; +import * as ox__Hex from "ox/Hex"; +import * as ox__Signature from "ox/Signature"; +import { recoverAddress } from "viem"; import { - type Signature, - type TransactionSerializable, - recoverAddress, + type SerializableTransaction, serializeTransaction, - signatureToHex, -} from "viem"; -import { keccak256 } from "../hashing/keccak256.js"; +} from "../../transaction/serialize-transaction.js"; +import type { Hex } from "../encoding/hex.js"; type GetKeylessTransactionOptions = { - transaction: TransactionSerializable; - signature: Signature; + transaction: SerializableTransaction; + signature: + | ox__Signature.Signature + | ox__Signature.Legacy; }; /** @@ -23,20 +26,46 @@ export async function getKeylessTransaction( options: GetKeylessTransactionOptions, ) { // 1. Create serialized txn string - const hash = keccak256(serializeTransaction(options.transaction)); + const hash = ox__Hash.keccak256( + serializeTransaction({ transaction: options.transaction }), + ); + + const yParity = (() => { + if ( + "yParity" in options.signature && + typeof options.signature.yParity !== "undefined" + ) { + return options.signature.yParity; + } + + if ( + "v" in options.signature && + typeof options.signature.v !== "undefined" + ) { + return ox__Signature.vToYParity(Number(options.signature.v)); + } + + throw new Error( + "Invalid recovered signature provided with transaction, missing v or yParity", + ); + })(); // 2. Determine signer address from custom signature + txn const address = await recoverAddress({ hash, - signature: signatureToHex(options.signature), + signature: ox__Signature.toHex({ + r: ox__Hex.toBigInt(options.signature.r), + s: ox__Hex.toBigInt(options.signature.s), + yParity, + }), }); // 3. Create the signed serialized txn string. // To be sent directly to the chain using a provider. - const transaction = serializeTransaction( - options.transaction, - options.signature, - ); + const transaction = serializeTransaction({ + transaction: options.transaction, + signature: options.signature, + }); return { signerAddress: address, diff --git a/packages/thirdweb/src/utils/hashing/hashMessage.ts b/packages/thirdweb/src/utils/hashing/hashMessage.ts index 56636e059ed..f5004dba050 100644 --- a/packages/thirdweb/src/utils/hashing/hashMessage.ts +++ b/packages/thirdweb/src/utils/hashing/hashMessage.ts @@ -1,13 +1,14 @@ -import { type ByteArray, type SignableMessage, concat } from "viem"; +import { Bytes as ox__Bytes } from "ox"; import type { Hex } from "../encoding/hex.js"; import { stringToBytes, toBytes } from "../encoding/to-bytes.js"; +import type { SignableMessage } from "../types.js"; import { keccak256 } from "./keccak256.js"; const presignMessagePrefix = "\x19Ethereum Signed Message:\n"; type To = "hex" | "bytes"; type HashMessage = - | (TTo extends "bytes" ? ByteArray : never) + | (TTo extends "bytes" ? ox__Bytes.Bytes : never) | (TTo extends "hex" ? Hex : never); /** @@ -38,5 +39,5 @@ export function hashMessage( const prefixBytes = stringToBytes( `${presignMessagePrefix}${messageBytes.length}`, ); - return keccak256(concat([prefixBytes, messageBytes]), to_); + return keccak256(ox__Bytes.concat(prefixBytes, messageBytes), to_); } diff --git a/packages/thirdweb/src/utils/hashing/hashTypedData.ts b/packages/thirdweb/src/utils/hashing/hashTypedData.ts index 38d4c048f9b..bfb5d3efc26 100644 --- a/packages/thirdweb/src/utils/hashing/hashTypedData.ts +++ b/packages/thirdweb/src/utils/hashing/hashTypedData.ts @@ -1,12 +1,6 @@ -import { - type AbiParameter, - type TypedData, - type TypedDataDefinition, - concat, - getTypesForEIP712Domain, - hashDomain, - validateTypedData, -} from "viem"; +import type * as ox__AbiParameters from "ox/AbiParameters"; +import * as ox__Bytes from "ox/Bytes"; +import * as ox__TypedData from "ox/TypedData"; import { encodeAbiParameters } from "../abi/encodeAbiParameters.js"; import { type Hex, toHex } from "../encoding/hex.js"; import { keccak256 } from "./keccak256.js"; @@ -17,15 +11,17 @@ type MessageTypeProperty = { }; export type HashTypedDataParams< - typedData extends TypedData | Record = TypedData, + typedData extends + | ox__TypedData.TypedData + | Record = ox__TypedData.TypedData, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData, -> = TypedDataDefinition; +> = ox__TypedData.Definition; /** * @internal */ export function hashTypedData< - const typedData extends TypedData | Record, + const typedData extends ox__TypedData.TypedData | Record, primaryType extends keyof typedData | "EIP712Domain", >(parameters: HashTypedDataParams): Hex { const { @@ -34,13 +30,13 @@ export function hashTypedData< primaryType, } = parameters as HashTypedDataParams; const types = { - EIP712Domain: getTypesForEIP712Domain({ domain }), + EIP712Domain: ox__TypedData.extractEip712DomainTypes(domain), ...parameters.types, }; // Need to do a runtime validation check on addresses, byte ranges, integer ranges, etc // as we can't statically check this with TypeScript. - validateTypedData({ + ox__TypedData.validate({ domain, message, primaryType, @@ -50,7 +46,7 @@ export function hashTypedData< const parts: Hex[] = ["0x1901"]; if (domain) parts.push( - hashDomain({ + ox__TypedData.hashDomain({ domain, types: types as Record, }), @@ -69,7 +65,7 @@ export function hashTypedData< parts.push(hashedStruct); } - return keccak256(concat(parts)); + return keccak256(ox__Bytes.concat(...parts.map((p) => ox__Bytes.fromHex(p)))); } function encodeData({ @@ -81,7 +77,7 @@ function encodeData({ primaryType: string; types: Record; }) { - const encodedTypes: AbiParameter[] = [{ type: "bytes32" }]; + const encodedTypes: ox__AbiParameters.Parameter[] = [{ type: "bytes32" }]; const encodedValues: unknown[] = [hashType({ primaryType, types })]; if (!types[primaryType]) throw new Error("Invalid types"); @@ -168,7 +164,7 @@ function encodeField({ // biome-ignore lint/suspicious/noExplicitAny: Can't anticipate types of nested values value: any; // biome-ignore lint/suspicious/noExplicitAny: Can't anticipate types of nested values -}): [type: AbiParameter, value: any] { +}): [type: ox__AbiParameters.Parameter, value: any] { if (types[type] !== undefined) { return [ { type: "bytes32" }, @@ -186,15 +182,16 @@ function encodeField({ if (type.lastIndexOf("]") === type.length - 1) { const parsedType = type.slice(0, type.lastIndexOf("[")); - // biome-ignore lint/suspicious/noExplicitAny: Can't anticipate types of nested values - const typeValuePairs = (value as [AbiParameter, any][]).map((item) => - encodeField({ - name, - type: parsedType, - types, - value: item, - }), - ); + const typeValuePairs = + // biome-ignore lint/suspicious/noExplicitAny: Can't anticipate types of nested values + (value as [ox__AbiParameters.Parameter, any][]).map((item) => + encodeField({ + name, + type: parsedType, + types, + value: item, + }), + ); return [ { type: "bytes32" }, keccak256( diff --git a/packages/thirdweb/src/utils/signatures/helpers/parse-typed-data.test.ts b/packages/thirdweb/src/utils/signatures/helpers/parse-typed-data.test.ts new file mode 100644 index 00000000000..b327c0ee055 --- /dev/null +++ b/packages/thirdweb/src/utils/signatures/helpers/parse-typed-data.test.ts @@ -0,0 +1,56 @@ +import { describe, expect, test } from "vitest"; +import { parseTypedData } from "./parse-typed-data.js"; + +describe("parseTypedData", () => { + test("parses typed data with hex chainId", () => { + const typedData = { + domain: { + chainId: "0x1" as unknown as number, + }, + types: {}, + primaryType: "EIP712Domain" as const, + }; + + const result = parseTypedData(typedData); + expect(result.domain.chainId).toBe(1); + }); + + test("returns typed data unchanged if chainId is not hex", () => { + const typedData = { + domain: { + chainId: 1, + }, + types: {}, + primaryType: "EIP712Domain" as const, + }; + + const result = parseTypedData(typedData); + expect(result.domain.chainId).toBe(1); + }); + + test("returns typed data unchanged if chainId is undefined", () => { + const typedData = { + domain: {}, + types: {}, + primaryType: "EIP712Domain" as const, + }; + + const result = parseTypedData(typedData); + expect(result.domain.chainId).toBeUndefined(); + }); + + test("handles unknown domain properties", () => { + const typedData = { + domain: { + chainId: "0x1" as unknown as number, + name: "Test", + }, + types: {}, + primaryType: "EIP712Domain" as const, + }; + + const result = parseTypedData(typedData); + expect(result.domain.chainId).toBe(1); + expect(result.domain.name).toBe("Test"); + }); +}); diff --git a/packages/thirdweb/src/utils/signatures/helpers/parse-typed-data.ts b/packages/thirdweb/src/utils/signatures/helpers/parse-typed-data.ts new file mode 100644 index 00000000000..11d5a4c5f03 --- /dev/null +++ b/packages/thirdweb/src/utils/signatures/helpers/parse-typed-data.ts @@ -0,0 +1,29 @@ +import * as ox__Hex from "ox/Hex"; +import type * as ox__TypedData from "ox/TypedData"; +import type { Hex } from "../../encoding/hex.js"; + +type UnknownDomain = unknown & { chainId?: unknown }; +type HexDomain = unknown & { chainId: Hex }; + +/** + * @internal + */ +export function parseTypedData< + typedData extends + | ox__TypedData.TypedData + | Record = ox__TypedData.TypedData, + primaryType extends keyof typedData | "EIP712Domain" = keyof typedData, +>( + typedData: ox__TypedData.Definition, +): ox__TypedData.Definition { + const domain = typedData.domain as UnknownDomain; + if (domain?.chainId !== undefined && ox__Hex.validate(domain.chainId)) { + typedData.domain = { + ...(typedData.domain as HexDomain), + chainId: ox__Hex.toNumber( + (typedData.domain as unknown as HexDomain).chainId, + ), + } as unknown as ox__TypedData.Definition["domain"]; + } + return typedData; +} diff --git a/packages/thirdweb/src/utils/signatures/helpers/parseTypedData.ts b/packages/thirdweb/src/utils/signatures/helpers/parseTypedData.ts deleted file mode 100644 index 93b6261e5d8..00000000000 --- a/packages/thirdweb/src/utils/signatures/helpers/parseTypedData.ts +++ /dev/null @@ -1,25 +0,0 @@ -import type { TypedData } from "abitype"; -import type { TypedDataDefinition } from "viem"; -import { type Hex, hexToNumber, isHex } from "../../encoding/hex.js"; - -type UnknownDomain = unknown & { chainId?: unknown }; // TODO: create our own typed data types so this is cleaner -type HexDomain = unknown & { chainId: Hex }; // TODO: create our own typed data types so this is cleaner - -/** - * @internal - */ -export function parseTypedData< - typedData extends TypedData | Record = TypedData, - primaryType extends keyof typedData | "EIP712Domain" = keyof typedData, ->( - typedData: TypedDataDefinition, -): TypedDataDefinition { - const domain = typedData.domain as UnknownDomain; - if (domain?.chainId !== undefined && isHex(domain.chainId)) { - typedData.domain = { - ...(typedData.domain as HexDomain), - chainId: hexToNumber((typedData.domain as unknown as HexDomain).chainId), - } as unknown as TypedDataDefinition["domain"]; - } - return typedData; -} diff --git a/packages/thirdweb/src/utils/signatures/sign-message.ts b/packages/thirdweb/src/utils/signatures/sign-message.ts index c30e0a0706d..18a461975d0 100644 --- a/packages/thirdweb/src/utils/signatures/sign-message.ts +++ b/packages/thirdweb/src/utils/signatures/sign-message.ts @@ -1,9 +1,10 @@ +import * as ox__Hex from "ox/Hex"; +import * as ox__PersonalMessage from "ox/PersonalMessage"; +import * as ox__Secp256k1 from "ox/Secp256k1"; +import * as ox__Signature from "ox/Signature"; import type { Account } from "../../wallets/interfaces/wallet.js"; import type { Hex } from "../encoding/hex.js"; -import { hashMessage } from "../hashing/hashMessage.js"; import type { Prettify } from "../type-utils.js"; -import { sign } from "./sign.js"; -import { signatureToHex } from "./signature-to-hex.js"; type Message = Prettify< | string @@ -59,9 +60,17 @@ export function signMessage( options: SignMessageOptions | { message: Message; account: Account }, ): Hex | Promise { if ("privateKey" in options) { - const { message, privateKey } = options; - const signature = sign({ hash: hashMessage(message), privateKey }); - return signatureToHex(signature); + const payload = ox__PersonalMessage.getSignPayload( + typeof options.message === "object" + ? options.message.raw + : ox__Hex.fromString(options.message), + ); + + const signature = ox__Secp256k1.sign({ + payload, + privateKey: options.privateKey, + }); + return ox__Signature.toHex(signature); } if ("account" in options) { const { message, account } = options; diff --git a/packages/thirdweb/src/utils/signatures/sign-typed-data.ts b/packages/thirdweb/src/utils/signatures/sign-typed-data.ts index da8d973d25f..bc8c36191fe 100644 --- a/packages/thirdweb/src/utils/signatures/sign-typed-data.ts +++ b/packages/thirdweb/src/utils/signatures/sign-typed-data.ts @@ -1,14 +1,15 @@ -import type { TypedData } from "abitype"; -import { type TypedDataDefinition, hashTypedData } from "viem"; +import * as ox__Hex from "ox/Hex"; +import * as ox__Secp256k1 from "ox/Secp256k1"; +import * as ox__Signature from "ox/Signature"; +import * as ox__TypedData from "ox/TypedData"; import type { Hex } from "../encoding/hex.js"; -import { parseTypedData } from "./helpers/parseTypedData.js"; -import { sign } from "./sign.js"; -import { signatureToHex } from "./signature-to-hex.js"; export type SignTypedDataOptions< - typedData extends TypedData | Record = TypedData, + typedData extends + | ox__TypedData.TypedData + | Record = ox__TypedData.TypedData, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData, -> = TypedDataDefinition & { +> = ox__TypedData.Definition & { privateKey: Hex; }; @@ -28,17 +29,22 @@ export type SignTypedDataOptions< * @utils */ export function signTypedData< - const typedData extends TypedData | Record, + const typedData extends ox__TypedData.TypedData | Record, primaryType extends keyof typedData | "EIP712Domain", >(options: SignTypedDataOptions): Hex { const { privateKey, ...typedData } = options as unknown as SignTypedDataOptions; - const parsedTypeData = parseTypedData(typedData); + if (typeof typedData.domain?.chainId === "string") { + typedData.domain.chainId = ox__Hex.toNumber(typedData.domain.chainId); + } - const signature = sign({ - hash: hashTypedData(parsedTypeData), // TODO: Implement native hashTypedData + const payload = ox__TypedData.getSignPayload(typedData); + + const signature = ox__Secp256k1.sign({ + payload, privateKey, }); - return signatureToHex(signature); + + return ox__Signature.toHex(signature); } diff --git a/packages/thirdweb/src/utils/signatures/sign.ts b/packages/thirdweb/src/utils/signatures/sign.ts index d77e3cf4449..9b57d7ec768 100644 --- a/packages/thirdweb/src/utils/signatures/sign.ts +++ b/packages/thirdweb/src/utils/signatures/sign.ts @@ -1,5 +1,4 @@ -import { secp256k1 } from "@noble/curves/secp256k1"; -import type { Signature } from "viem"; +import * as ox__Secp256k1 from "ox/Secp256k1"; import { type Hex, toHex } from "../encoding/hex.js"; @@ -28,12 +27,12 @@ export type SignOptions = { * ``` * @utils */ -export function sign({ hash, privateKey }: SignOptions): Signature { - const { r, s, recovery } = secp256k1.sign(hash.slice(2), privateKey.slice(2)); +export function sign({ hash, privateKey }: SignOptions) { + const { r, s, yParity } = ox__Secp256k1.sign({ payload: hash, privateKey }); return { r: toHex(r, { size: 32 }), s: toHex(s, { size: 32 }), - v: recovery ? 28n : 27n, - yParity: recovery, + v: yParity === 1 ? 28n : 27n, + yParity, }; } diff --git a/packages/thirdweb/src/utils/signatures/signature-to-hex.ts b/packages/thirdweb/src/utils/signatures/signature-to-hex.ts index cf87698e8fa..0d7691ad006 100644 --- a/packages/thirdweb/src/utils/signatures/signature-to-hex.ts +++ b/packages/thirdweb/src/utils/signatures/signature-to-hex.ts @@ -1,6 +1,6 @@ -import { secp256k1 } from "@noble/curves/secp256k1"; -import type { Signature } from "viem"; -import { type Hex, hexToBigInt } from "../encoding/hex.js"; +import * as ox__Hex from "ox/Hex"; +import * as ox__Signature from "ox/Signature"; +import type { Hex } from "../encoding/hex.js"; /** * Converts a signature to a hex string. @@ -25,15 +25,31 @@ import { type Hex, hexToBigInt } from "../encoding/hex.js"; * ``` * @utils */ -export function signatureToHex(signature: Signature): Hex { +export function signatureToHex(signature: { + r: Hex; + s: Hex; + v?: bigint | number | Hex | undefined; + yParity?: bigint | number | Hex | undefined; +}): Hex { const { r, s, v, yParity } = signature; - const yParity_ = (() => { - if (yParity === 0 || yParity === 1) return yParity; - if (v && (v === 27n || v === 28n || v >= 35n)) return v % 2n === 0n ? 1 : 0; - throw new Error("Invalid `v` or `yParity` value"); - })(); - return `0x${new secp256k1.Signature( - hexToBigInt(r), - hexToBigInt(s), - ).toCompactHex()}${yParity_ === 0 ? "1b" : "1c"}`; + return ox__Signature.toHex( + ox__Signature.from( + typeof yParity !== "undefined" + ? { + r, + s, + yParity: !ox__Hex.validate(yParity) + ? ox__Hex.fromNumber(yParity) + : yParity, + } + : { + r, + s, + v: + !ox__Hex.validate(v) && typeof v !== "undefined" + ? ox__Hex.fromNumber(v) + : v, + }, + ), + ); } diff --git a/packages/thirdweb/src/utils/types.ts b/packages/thirdweb/src/utils/types.ts index 26067cd7b01..c488f2473b0 100644 --- a/packages/thirdweb/src/utils/types.ts +++ b/packages/thirdweb/src/utils/types.ts @@ -1,3 +1,5 @@ +import type * as ox__Bytes from "ox/Bytes"; +import type * as ox__Hex from "ox/Hex"; import type { Chain } from "../chains/types.js"; import type { ThirdwebClient } from "../client/client.js"; import type { Account } from "../wallets/interfaces/wallet.js"; @@ -17,3 +19,18 @@ export type ClientAndChain = { export type ClientAndChainAndAccount = Prettify< ClientAndChain & { account: Account } >; + +/** + * A message that can be signed, either as in plaintext or as a raw hex string. + */ +export type SignableMessage = + | string + | { + /** Raw data representation of the message. */ + raw: ox__Hex.Hex | ox__Bytes.Bytes; + }; + +/** + * @internal + */ +export const maxUint96 = 2n ** 96n - 1n; diff --git a/packages/thirdweb/src/wallets/coinbase/coinbase-mobile.test.ts b/packages/thirdweb/src/wallets/coinbase/coinbase-mobile.test.ts new file mode 100644 index 00000000000..baa014e89f0 --- /dev/null +++ b/packages/thirdweb/src/wallets/coinbase/coinbase-mobile.test.ts @@ -0,0 +1,69 @@ +import type { ProviderInterface } from "@coinbase/wallet-sdk"; +import { beforeEach, describe, expect, test, vi } from "vitest"; +import { getCoinbaseMobileProvider } from "./coinbase-mobile.js"; +import type { CoinbaseWalletCreationOptions } from "./coinbase-web.js"; + +// Mock dependencies +vi.mock("expo-linking", () => ({ + addEventListener: vi.fn(), +})); + +vi.mock("@mobile-wallet-protocol/client", () => ({ + EIP1193Provider: class { + constructor() { + // biome-ignore lint/correctness/noConstructorReturn: Inside tests + return { + request: vi.fn(), + }; + } + }, + Wallets: { + CoinbaseSmartWallet: {}, + }, + handleResponse: vi.fn(), +})); + +vi.mock("@coinbase/wallet-mobile-sdk", () => ({ + configure: vi.fn(), + handleResponse: vi.fn(), +})); + +vi.mock("@coinbase/wallet-mobile-sdk/build/WalletMobileSDKEVMProvider", () => ({ + WalletMobileSDKEVMProvider: class { + constructor() { + // biome-ignore lint/correctness/noConstructorReturn: Inside tests + return { + request: vi.fn(), + }; + } + }, +})); + +describe("Coinbase Mobile", () => { + let provider: undefined | ProviderInterface; + + beforeEach(() => { + provider = undefined; + }); + + test("getCoinbaseMobileProvider initializes smart wallet provider", async () => { + const options: CoinbaseWalletCreationOptions = { + walletConfig: { options: "smartWalletOnly" }, + mobileConfig: { callbackURL: "https://example.com" }, + }; + + provider = await getCoinbaseMobileProvider(options); + expect(provider).toBeDefined(); + expect(provider.request).toBeInstanceOf(Function); + }); + + test("getCoinbaseMobileProvider initializes coinbase app provider", async () => { + const options: CoinbaseWalletCreationOptions = { + mobileConfig: { callbackURL: "https://example.com" }, + }; + + provider = await getCoinbaseMobileProvider(options); + expect(provider).toBeDefined(); + expect(provider.request).toBeInstanceOf(Function); + }); +}); diff --git a/packages/thirdweb/src/wallets/coinbase/coinbaseMobileSDK.ts b/packages/thirdweb/src/wallets/coinbase/coinbase-mobile.ts similarity index 98% rename from packages/thirdweb/src/wallets/coinbase/coinbaseMobileSDK.ts rename to packages/thirdweb/src/wallets/coinbase/coinbase-mobile.ts index 0b079488aa9..5937d40110b 100644 --- a/packages/thirdweb/src/wallets/coinbase/coinbaseMobileSDK.ts +++ b/packages/thirdweb/src/wallets/coinbase/coinbase-mobile.ts @@ -1,5 +1,5 @@ import type { ProviderInterface } from "@coinbase/wallet-sdk"; -import type { CoinbaseWalletCreationOptions } from "./coinbaseWebSDK.js"; +import type { CoinbaseWalletCreationOptions } from "./coinbase-web.js"; let _provider: ProviderInterface | undefined; diff --git a/packages/thirdweb/src/wallets/coinbase/coinbase-wallet.ts b/packages/thirdweb/src/wallets/coinbase/coinbase-wallet.ts index a7ccd26f456..54aeb2106ce 100644 --- a/packages/thirdweb/src/wallets/coinbase/coinbase-wallet.ts +++ b/packages/thirdweb/src/wallets/coinbase/coinbase-wallet.ts @@ -67,7 +67,7 @@ export function coinbaseWalletSDK(args: { getAccount: () => account, autoConnect: async (options) => { const { autoConnectCoinbaseWalletSDK } = await import( - "./coinbaseWebSDK.js" + "./coinbase-web.js" ); const provider = await args.providerFactory(); const [connectedAccount, connectedChain, doDisconnect, doSwitchChain] = @@ -87,7 +87,7 @@ export function coinbaseWalletSDK(args: { return account; }, connect: async (options) => { - const { connectCoinbaseWalletSDK } = await import("./coinbaseWebSDK.js"); + const { connectCoinbaseWalletSDK } = await import("./coinbase-web.js"); const provider = await args.providerFactory(); const [connectedAccount, connectedChain, doDisconnect, doSwitchChain] = await connectCoinbaseWalletSDK(options, emitter, provider); diff --git a/packages/thirdweb/src/wallets/coinbase/coinbase-web.test.ts b/packages/thirdweb/src/wallets/coinbase/coinbase-web.test.ts new file mode 100644 index 00000000000..638b363a42e --- /dev/null +++ b/packages/thirdweb/src/wallets/coinbase/coinbase-web.test.ts @@ -0,0 +1,176 @@ +import type { ProviderInterface } from "@coinbase/wallet-sdk"; +import * as ox__Hex from "ox/Hex"; +import * as ox__TypedData from "ox/TypedData"; +import { beforeEach, describe, expect, test, vi } from "vitest"; +import { COINBASE } from "../constants.js"; +import type { Wallet } from "../interfaces/wallet.js"; +import { + autoConnectCoinbaseWalletSDK, + connectCoinbaseWalletSDK, + getCoinbaseWebProvider, + isCoinbaseSDKWallet, +} from "./coinbase-web.js"; + +// Mock dependencies +vi.mock("@coinbase/wallet-sdk", () => ({ + default: class { + makeWeb3Provider() { + return { + request: vi.fn(), + on: vi.fn(), + removeListener: vi.fn(), + disconnect: vi.fn(), + }; + } + }, +})); + +vi.mock("../../utils/address.js", () => ({ + getAddress: vi.fn((address) => address), +})); + +vi.mock("../../chains/utils.js", () => ({ + getCachedChain: vi.fn((chainId) => ({ id: chainId })), + getChainMetadata: vi.fn(async (_chain) => ({ + name: "Test Chain", + nativeCurrency: { name: "Test Coin", symbol: "TC", decimals: 18 }, + explorers: [{ url: "https://explorer.test" }], + })), +})); + +vi.mock("../../utils/normalizeChainId.js", () => ({ + normalizeChainId: vi.fn((chainId) => Number(chainId)), +})); + +vi.mock("ox/Hex", async () => { + const actualModule = await vi.importActual("ox/Hex"); + return { + ...actualModule, + validate: vi.fn(() => true), + toNumber: vi.fn((hex) => Number.parseInt(hex, 16)), + }; +}); + +vi.mock("ox/TypedData", () => ({ + extractEip712DomainTypes: vi.fn(() => []), + validate: vi.fn(), + serialize: vi.fn(() => "serializedData"), +})); + +describe("Coinbase Web", () => { + let provider: ProviderInterface; + + beforeEach(async () => { + provider = await getCoinbaseWebProvider(); + }); + + test("getCoinbaseWebProvider initializes provider", async () => { + expect(provider).toBeDefined(); + expect(provider.request).toBeInstanceOf(Function); + }); + + test("isCoinbaseSDKWallet returns true for Coinbase wallet", () => { + const wallet: Wallet = { id: COINBASE } as Wallet; + expect(isCoinbaseSDKWallet(wallet)).toBe(true); + }); + + test("isCoinbaseSDKWallet returns false for non-Coinbase wallet", () => { + const wallet: Wallet = { id: "other" } as unknown as Wallet; + expect(isCoinbaseSDKWallet(wallet)).toBe(false); + }); + + test("connectCoinbaseWalletSDK connects to the wallet", async () => { + provider.request = vi + .fn() + .mockResolvedValueOnce(["0x123"]) + .mockResolvedValueOnce("0x1"); + const emitter = { emit: vi.fn() }; + const options = { client: {} }; + + const [account, chain] = await connectCoinbaseWalletSDK( + // biome-ignore lint/suspicious/noExplicitAny: Inside tests + options as any, + // biome-ignore lint/suspicious/noExplicitAny: Inside tests + emitter as any, + provider, + ); + + expect(account.address).toBe("0x123"); + expect(chain.id).toBe(1); + }); + + test("autoConnectCoinbaseWalletSDK auto-connects to the wallet", async () => { + provider.request = vi + .fn() + .mockResolvedValueOnce(["0x123"]) + .mockResolvedValueOnce("0x1"); + const emitter = { emit: vi.fn() }; + const options = { client: {} }; + + const [account, chain] = await autoConnectCoinbaseWalletSDK( + // biome-ignore lint/suspicious/noExplicitAny: Inside tests + options as any, + // biome-ignore lint/suspicious/noExplicitAny: Inside tests + emitter as any, + provider, + ); + + expect(account.address).toBe("0x123"); + expect(chain.id).toBe(1); + }); + + test("signMessage uses ox__Hex for validation", async () => { + const account = { + address: "0x123", + signMessage: async ({ message }: { message: string }) => { + const messageToSign = `0x${ox__Hex.fromString(message)}`; + const res = await provider.request({ + method: "personal_sign", + params: [messageToSign, account.address], + }); + expect(ox__Hex.validate(res)).toBe(true); + return res; + }, + }; + + provider.request = vi.fn().mockResolvedValue("0xsignature"); + const signature = await account.signMessage({ message: "hello" }); + expect(signature).toBe("0xsignature"); + }); + + test("signTypedData uses ox__TypedData for serialization", async () => { + const account = { + address: "0x123", + // biome-ignore lint/suspicious/noExplicitAny: Inside tests + signTypedData: async (typedData: any) => { + const { domain, message, primaryType } = typedData; + const types = { + EIP712Domain: ox__TypedData.extractEip712DomainTypes(domain), + ...typedData.types, + }; + ox__TypedData.validate({ domain, message, primaryType, types }); + const stringifiedData = ox__TypedData.serialize({ + domain: domain ?? {}, + message, + primaryType, + types, + }); + const res = await provider.request({ + method: "eth_signTypedData_v4", + params: [account.address, stringifiedData], + }); + expect(ox__Hex.validate(res)).toBe(true); + return res; + }, + }; + + provider.request = vi.fn().mockResolvedValue("0xsignature"); + const signature = await account.signTypedData({ + domain: {}, + message: {}, + primaryType: "EIP712Domain", + types: {}, + }); + expect(signature).toBe("0xsignature"); + }); +}); diff --git a/packages/thirdweb/src/wallets/coinbase/coinbaseWebSDK.ts b/packages/thirdweb/src/wallets/coinbase/coinbase-web.ts similarity index 96% rename from packages/thirdweb/src/wallets/coinbase/coinbaseWebSDK.ts rename to packages/thirdweb/src/wallets/coinbase/coinbase-web.ts index da355ee1022..8784e10fe2b 100644 --- a/packages/thirdweb/src/wallets/coinbase/coinbaseWebSDK.ts +++ b/packages/thirdweb/src/wallets/coinbase/coinbase-web.ts @@ -1,12 +1,7 @@ import type { ProviderInterface } from "@coinbase/wallet-sdk"; import type { Address } from "abitype"; -import { - type SignTypedDataParameters, - getTypesForEIP712Domain, - isHex, - serializeTypedData, - validateTypedData, -} from "viem"; +import * as ox__Hex from "ox/Hex"; +import * as ox__TypedData from "ox/TypedData"; import type { Account, Wallet } from "../interfaces/wallet.js"; import type { SendTransactionOption } from "../interfaces/wallet.js"; import type { AppMetadata, DisconnectFn, SwitchChainFn } from "../types.js"; @@ -25,7 +20,7 @@ import { stringToHex, uint8ArrayToHex, } from "../../utils/encoding/hex.js"; -import { parseTypedData } from "../../utils/signatures/helpers/parseTypedData.js"; +import { parseTypedData } from "../../utils/signatures/helpers/parse-typed-data.js"; import { COINBASE } from "../constants.js"; import type { GetCallsStatusResponse, @@ -338,29 +333,30 @@ function createAccount({ method: "personal_sign", params: [messageToSign, account.address], }); - if (!isHex(res)) { + if (!ox__Hex.validate(res)) { throw new Error("Invalid signature returned"); } return res; }, - async signTypedData(_typedData) { + async signTypedData(typedData) { if (!account.address) { throw new Error("Provider not setup"); } - const typedData = parseTypedData(_typedData); - const { domain, message, primaryType } = - typedData as unknown as SignTypedDataParameters; + + const { domain, message, primaryType } = parseTypedData( + typedData, + ) as ox__TypedData.Definition; const types = { - EIP712Domain: getTypesForEIP712Domain({ domain }), + EIP712Domain: ox__TypedData.extractEip712DomainTypes(domain), ...typedData.types, }; // Need to do a runtime validation check on addresses, byte ranges, integer ranges, etc // as we can't statically check this with TypeScript. - validateTypedData({ domain, message, primaryType, types }); + ox__TypedData.validate({ domain, message, primaryType, types }); - const stringifiedData = serializeTypedData({ + const stringifiedData = ox__TypedData.serialize({ domain: domain ?? {}, message, primaryType, @@ -371,7 +367,7 @@ function createAccount({ method: "eth_signTypedData_v4", params: [account.address, stringifiedData], }); - if (!isHex(res)) { + if (!ox__Hex.validate(res)) { throw new Error("Invalid signed payload returned"); } return res; diff --git a/packages/thirdweb/src/wallets/create-wallet.ts b/packages/thirdweb/src/wallets/create-wallet.ts index aaa2dd146fb..92e8bb4bd76 100644 --- a/packages/thirdweb/src/wallets/create-wallet.ts +++ b/packages/thirdweb/src/wallets/create-wallet.ts @@ -17,7 +17,7 @@ import { webLocalStorage } from "../utils/storage/webStorage.js"; import { isMobile } from "../utils/web/isMobile.js"; import { openWindow } from "../utils/web/openWindow.js"; import { coinbaseWalletSDK } from "./coinbase/coinbase-wallet.js"; -import { getCoinbaseWebProvider } from "./coinbase/coinbaseWebSDK.js"; +import { getCoinbaseWebProvider } from "./coinbase/coinbase-web.js"; import { COINBASE } from "./constants.js"; import { isEcosystemWallet } from "./ecosystem/is-ecosystem-wallet.js"; import { ecosystemWallet } from "./in-app/web/ecosystem.js"; diff --git a/packages/thirdweb/src/wallets/eip5792/get-calls-status.ts b/packages/thirdweb/src/wallets/eip5792/get-calls-status.ts index 54174fd211b..3a71642eba9 100644 --- a/packages/thirdweb/src/wallets/eip5792/get-calls-status.ts +++ b/packages/thirdweb/src/wallets/eip5792/get-calls-status.ts @@ -1,5 +1,5 @@ import type { ThirdwebClient } from "../../client/client.js"; -import { isCoinbaseSDKWallet } from "../coinbase/coinbaseWebSDK.js"; +import { isCoinbaseSDKWallet } from "../coinbase/coinbase-web.js"; import { isInAppWallet } from "../in-app/core/wallet/index.js"; import { getInjectedProvider } from "../injected/index.js"; import type { Wallet } from "../interfaces/wallet.js"; @@ -64,7 +64,7 @@ export async function getCallsStatus({ if (isCoinbaseSDKWallet(wallet)) { const { coinbaseSDKWalletGetCallsStatus } = await import( - "../coinbase/coinbaseWebSDK.js" + "../coinbase/coinbase-web.js" ); return coinbaseSDKWalletGetCallsStatus({ wallet, bundleId }); } diff --git a/packages/thirdweb/src/wallets/eip5792/get-capabilities.ts b/packages/thirdweb/src/wallets/eip5792/get-capabilities.ts index 05352d5db36..dba1f981b76 100644 --- a/packages/thirdweb/src/wallets/eip5792/get-capabilities.ts +++ b/packages/thirdweb/src/wallets/eip5792/get-capabilities.ts @@ -1,5 +1,5 @@ import type { Prettify } from "../../utils/type-utils.js"; -import { isCoinbaseSDKWallet } from "../coinbase/coinbaseWebSDK.js"; +import { isCoinbaseSDKWallet } from "../coinbase/coinbase-web.js"; import { isInAppWallet } from "../in-app/core/wallet/index.js"; import { getInjectedProvider } from "../injected/index.js"; import type { Wallet } from "../interfaces/wallet.js"; @@ -62,7 +62,7 @@ export async function getCapabilities({ if (isCoinbaseSDKWallet(wallet)) { const { coinbaseSDKWalletGetCapabilities } = await import( - "../coinbase/coinbaseWebSDK.js" + "../coinbase/coinbase-web.js" ); return coinbaseSDKWalletGetCapabilities({ wallet }); } diff --git a/packages/thirdweb/src/wallets/eip5792/send-calls.ts b/packages/thirdweb/src/wallets/eip5792/send-calls.ts index 16b6443c43d..8281aec1b0a 100644 --- a/packages/thirdweb/src/wallets/eip5792/send-calls.ts +++ b/packages/thirdweb/src/wallets/eip5792/send-calls.ts @@ -11,7 +11,7 @@ import { resolvePromisedValue, } from "../../utils/promise/resolve-promised-value.js"; import type { OneOf } from "../../utils/type-utils.js"; -import { isCoinbaseSDKWallet } from "../coinbase/coinbaseWebSDK.js"; +import { isCoinbaseSDKWallet } from "../coinbase/coinbase-web.js"; import { isInAppWallet } from "../in-app/core/wallet/index.js"; import { getInjectedProvider } from "../injected/index.js"; import type { Wallet } from "../interfaces/wallet.js"; @@ -181,7 +181,7 @@ export async function sendCalls( if (isCoinbaseSDKWallet(wallet)) { const { coinbaseSDKWalletSendCalls } = await import( - "../coinbase/coinbaseWebSDK.js" + "../coinbase/coinbase-web.js" ); return coinbaseSDKWalletSendCalls({ wallet, diff --git a/packages/thirdweb/src/wallets/eip5792/show-calls-status.ts b/packages/thirdweb/src/wallets/eip5792/show-calls-status.ts index 37278c8be4a..c33c0fe8113 100644 --- a/packages/thirdweb/src/wallets/eip5792/show-calls-status.ts +++ b/packages/thirdweb/src/wallets/eip5792/show-calls-status.ts @@ -1,4 +1,4 @@ -import { isCoinbaseSDKWallet } from "../coinbase/coinbaseWebSDK.js"; +import { isCoinbaseSDKWallet } from "../coinbase/coinbase-web.js"; import { isInAppWallet } from "../in-app/core/wallet/index.js"; import { getInjectedProvider } from "../injected/index.js"; import type { Wallet } from "../interfaces/wallet.js"; @@ -51,7 +51,7 @@ export async function showCallsStatus({ if (isCoinbaseSDKWallet(wallet)) { const { coinbaseSDKWalletShowCallsStatus } = await import( - "../coinbase/coinbaseWebSDK.js" + "../coinbase/coinbase-web.js" ); await coinbaseSDKWalletShowCallsStatus({ wallet, bundleId }); return; diff --git a/packages/thirdweb/src/wallets/in-app/core/actions/sign-typed-data.enclave.ts b/packages/thirdweb/src/wallets/in-app/core/actions/sign-typed-data.enclave.ts index c1cba42593d..4808ba33cc5 100644 --- a/packages/thirdweb/src/wallets/in-app/core/actions/sign-typed-data.enclave.ts +++ b/packages/thirdweb/src/wallets/in-app/core/actions/sign-typed-data.enclave.ts @@ -1,5 +1,4 @@ -import type { TypedData } from "abitype"; -import type { TypedDataDefinition } from "viem"; +import type * as ox__TypedData from "ox/TypedData"; import type { ThirdwebClient } from "../../../../client/client.js"; import { getThirdwebBaseUrl } from "../../../../utils/domains.js"; import { getClientFetch } from "../../../../utils/fetch.js"; @@ -7,7 +6,7 @@ import { stringify } from "../../../../utils/json.js"; import type { ClientScopedStorage } from "../authentication/client-scoped-storage.js"; export async function signTypedData< - const typedData extends TypedData | Record, + const typedData extends ox__TypedData.TypedData | Record, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData, >({ client, @@ -15,7 +14,7 @@ export async function signTypedData< storage, }: { client: ThirdwebClient; - payload: TypedDataDefinition; + payload: ox__TypedData.Definition; storage: ClientScopedStorage; }) { const authToken = await storage.getAuthCookie(); 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 594b8cc5ca3..76cc9f17314 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 @@ -6,7 +6,7 @@ import { eth_sendRawTransaction } from "../../../../rpc/actions/eth_sendRawTrans import { getRpcClient } from "../../../../rpc/rpc.js"; import { getAddress } from "../../../../utils/address.js"; import { type Hex, toHex } from "../../../../utils/encoding/hex.js"; -import { parseTypedData } from "../../../../utils/signatures/helpers/parseTypedData.js"; +import { parseTypedData } from "../../../../utils/signatures/helpers/parse-typed-data.js"; import type { Prettify } from "../../../../utils/type-utils.js"; import type { Account, diff --git a/packages/thirdweb/src/wallets/in-app/web/lib/iframe-wallet.ts b/packages/thirdweb/src/wallets/in-app/web/lib/iframe-wallet.ts index 9930f003a6e..3c0627aa40a 100644 --- a/packages/thirdweb/src/wallets/in-app/web/lib/iframe-wallet.ts +++ b/packages/thirdweb/src/wallets/in-app/web/lib/iframe-wallet.ts @@ -8,7 +8,7 @@ import { getRpcClient } from "../../../../rpc/rpc.js"; import { getAddress } from "../../../../utils/address.js"; import { getThirdwebDomains } from "../../../../utils/domains.js"; import { type Hex, hexToString } from "../../../../utils/encoding/hex.js"; -import { parseTypedData } from "../../../../utils/signatures/helpers/parseTypedData.js"; +import { parseTypedData } from "../../../../utils/signatures/helpers/parse-typed-data.js"; import type { Prettify } from "../../../../utils/type-utils.js"; import type { Account, diff --git a/packages/thirdweb/src/wallets/injected/index.ts b/packages/thirdweb/src/wallets/injected/index.ts index cc76d1869a9..a803af02467 100644 --- a/packages/thirdweb/src/wallets/injected/index.ts +++ b/packages/thirdweb/src/wallets/injected/index.ts @@ -16,7 +16,7 @@ import { stringToHex, uint8ArrayToHex, } from "../../utils/encoding/hex.js"; -import { parseTypedData } from "../../utils/signatures/helpers/parseTypedData.js"; +import { parseTypedData } from "../../utils/signatures/helpers/parse-typed-data.js"; import type { InjectedSupportedWalletIds } from "../__generated__/wallet-ids.js"; import type { Account, SendTransactionOption } from "../interfaces/wallet.js"; import type { DisconnectFn, SwitchChainFn } from "../types.js"; diff --git a/packages/thirdweb/src/wallets/interfaces/wallet.ts b/packages/thirdweb/src/wallets/interfaces/wallet.ts index d88bed8ab8d..a5ac2b8bf11 100644 --- a/packages/thirdweb/src/wallets/interfaces/wallet.ts +++ b/packages/thirdweb/src/wallets/interfaces/wallet.ts @@ -1,16 +1,12 @@ import type { Address } from "abitype"; -import type { - Hex, - SignableMessage, - TransactionSerializable, - TypedData, - TypedDataDefinition, -} from "viem"; +import type * as ox__TypedData from "ox/TypedData"; +import type { Hex, SignableMessage } from "viem"; import type { Chain } from "../../chains/types.js"; import type { EIP712TransactionOptions, PreparedTransaction, } from "../../transaction/prepare-transaction.js"; +import type { SerializableTransaction } from "../../transaction/serialize-transaction.js"; import type { SendTransactionResult } from "../../transaction/types.js"; import type { WalletEmitter } from "../wallet-emitter.js"; import type { @@ -20,7 +16,7 @@ import type { WalletId, } from "../wallet-types.js"; -export type SendTransactionOption = TransactionSerializable & { +export type SendTransactionOption = SerializableTransaction & { chainId: number; eip712?: EIP712TransactionOptions; }; @@ -191,10 +187,10 @@ export type Account = { * ``` */ signTypedData: < - const typedData extends TypedData | Record, + const typedData extends ox__TypedData.TypedData | Record, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData, >( - _typedData: TypedDataDefinition, + _typedData: ox__TypedData.Definition, ) => Promise; // OPTIONAL @@ -222,7 +218,7 @@ export type Account = { * } * ``` */ - signTransaction?: (tx: TransactionSerializable) => Promise; + signTransaction?: (tx: SerializableTransaction) => Promise; /** * Send the given array of transactions to the blockchain in a single batch * diff --git a/packages/thirdweb/src/wallets/native/create-wallet.ts b/packages/thirdweb/src/wallets/native/create-wallet.ts index 03050417b10..e446ef887c3 100644 --- a/packages/thirdweb/src/wallets/native/create-wallet.ts +++ b/packages/thirdweb/src/wallets/native/create-wallet.ts @@ -6,8 +6,8 @@ import type { Chain } from "../../chains/types.js"; import { getCachedChainIfExists } from "../../chains/utils.js"; import { nativeLocalStorage } from "../../utils/storage/nativeStorage.js"; import type { WCSupportedWalletIds } from "../__generated__/wallet-ids.js"; +import { getCoinbaseMobileProvider } from "../coinbase/coinbase-mobile.js"; import { coinbaseWalletSDK } from "../coinbase/coinbase-wallet.js"; -import { getCoinbaseMobileProvider } from "../coinbase/coinbaseMobileSDK.js"; import { COINBASE } from "../constants.js"; import { isEcosystemWallet } from "../ecosystem/is-ecosystem-wallet.js"; import { ecosystemWallet } from "../in-app/native/ecosystem.js"; diff --git a/packages/thirdweb/src/wallets/private-key.ts b/packages/thirdweb/src/wallets/private-key.ts index 034280e065a..05e0ecc6e61 100644 --- a/packages/thirdweb/src/wallets/private-key.ts +++ b/packages/thirdweb/src/wallets/private-key.ts @@ -1,19 +1,16 @@ import { secp256k1 } from "@noble/curves/secp256k1"; -import type { - SignableMessage, - TransactionSerializable, - TypedData, - TypedDataDefinition, -} from "viem"; +import type * as ox__TypedData from "ox/TypedData"; import { publicKeyToAddress } from "viem/utils"; import { getCachedChain } from "../chains/utils.js"; import type { ThirdwebClient } from "../client/client.js"; import { eth_sendRawTransaction } from "../rpc/actions/eth_sendRawTransaction.js"; import { getRpcClient } from "../rpc/rpc.js"; import { signTransaction } from "../transaction/actions/sign-transaction.js"; +import type { SerializableTransaction } from "../transaction/serialize-transaction.js"; import { type Hex, toHex } from "../utils/encoding/hex.js"; import { signMessage } from "../utils/signatures/sign-message.js"; import { signTypedData } from "../utils/signatures/sign-typed-data.js"; +import type { Prettify } from "../utils/type-utils.js"; import type { Account } from "./interfaces/wallet.js"; export type PrivateKeyToAccountOptions = { @@ -46,6 +43,13 @@ export type PrivateKeyToAccountOptions = { privateKey: string; }; +type Message = Prettify< + | string + | { + raw: Hex | Uint8Array; + } +>; + /** * Get an `Account` object from a private key. * @param options - The options for `privateKeyToAccount` @@ -69,14 +73,12 @@ export function privateKeyToAccount( const privateKey = `0x${options.privateKey.replace(/^0x/, "")}` satisfies Hex; const publicKey = toHex(secp256k1.getPublicKey(privateKey.slice(2), false)); - const address = publicKeyToAddress(publicKey); // TODO: Implement publicKeyToAddress natively (will need checksumAddress downstream) + const address = publicKeyToAddress(publicKey); const account = { address, sendTransaction: async ( - // TODO: figure out how we would pass our "chain" object in here? - // maybe we *do* actually have to take in a tx object instead of the raw tx? - tx: TransactionSerializable & { chainId: number }, + tx: SerializableTransaction & { chainId: number }, ) => { const rpcRequest = getRpcClient({ client: client, @@ -94,24 +96,24 @@ export function privateKeyToAccount( transactionHash, }; }, - signMessage: async ({ message }: { message: SignableMessage }) => { + signMessage: async ({ message }: { message: Message }) => { return signMessage({ message, privateKey, }); }, signTypedData: async < - const typedData extends TypedData | Record, + const typedData extends ox__TypedData.TypedData | Record, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData, >( - _typedData: TypedDataDefinition, + _typedData: ox__TypedData.Definition, ) => { return signTypedData({ ..._typedData, privateKey, }); }, - signTransaction: async (tx: TransactionSerializable) => { + signTransaction: async (tx: SerializableTransaction) => { return signTransaction({ transaction: tx, privateKey, diff --git a/packages/thirdweb/src/wallets/smart/index.ts b/packages/thirdweb/src/wallets/smart/index.ts index e4014718058..f97d8fb386c 100644 --- a/packages/thirdweb/src/wallets/smart/index.ts +++ b/packages/thirdweb/src/wallets/smart/index.ts @@ -1,9 +1,4 @@ -import { - type SignableMessage, - type TypedData, - type TypedDataDefinition, - maxUint96, -} from "viem"; +import type * as ox__TypedData from "ox/TypedData"; import type { Chain } from "../../chains/types.js"; import { getCachedChain } from "../../chains/utils.js"; import type { ThirdwebClient } from "../../client/client.js"; @@ -21,7 +16,8 @@ import { readContract } from "../../transaction/read-contract.js"; import { getAddress } from "../../utils/address.js"; import { isZkSyncChain } from "../../utils/any-evm/zksync/isZkSyncChain.js"; import type { Hex } from "../../utils/encoding/hex.js"; -import { parseTypedData } from "../../utils/signatures/helpers/parseTypedData.js"; +import { parseTypedData } from "../../utils/signatures/helpers/parse-typed-data.js"; +import { type SignableMessage, maxUint96 } from "../../utils/types.js"; import type { Account, SendTransactionOption, @@ -150,7 +146,6 @@ export async function connectSmartWallet( chain: chain, }); - // TODO: listen for chainChanged event on the personal wallet and emit the disconnect event on the smart wallet const accountAddress = await predictAddress({ factoryContract, adminAddress: personalAccount.address, @@ -291,9 +286,9 @@ async function createSmartAccount( }); }, async signTypedData< - const typedData extends TypedData | Record, + const typedData extends ox__TypedData.TypedData | Record, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData, - >(typedData: TypedDataDefinition) { + >(typedData: ox__TypedData.Definition) { if (options.overrides?.signTypedData) { return options.overrides.signTypedData({ adminAccount: options.personalAccount, @@ -436,9 +431,9 @@ function createZkSyncAccount(args: { return connectionOptions.personalAccount.signMessage({ message }); }, async signTypedData< - const typedData extends TypedData | Record, + const typedData extends ox__TypedData.TypedData | Record, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData, - >(_typedData: TypedDataDefinition) { + >(_typedData: ox__TypedData.Definition) { const typedData = parseTypedData(_typedData); return connectionOptions.personalAccount.signTypedData(typedData); }, diff --git a/packages/thirdweb/src/wallets/smart/lib/bundler.ts b/packages/thirdweb/src/wallets/smart/lib/bundler.ts index c89d4970247..f8516710c1f 100644 --- a/packages/thirdweb/src/wallets/smart/lib/bundler.ts +++ b/packages/thirdweb/src/wallets/smart/lib/bundler.ts @@ -1,7 +1,8 @@ -import { type TransactionSerializable, decodeErrorResult } from "viem"; +import { decodeErrorResult } from "viem"; import { parseEventLogs } from "../../../event/actions/parse-logs.js"; import { userOperationRevertReasonEvent } from "../../../extensions/erc4337/__generated__/IEntryPoint/events/UserOperationRevertReason.js"; import { postOpRevertReasonEvent } from "../../../extensions/erc4337/__generated__/IEntryPoint_v07/events/PostOpRevertReason.js"; +import type { SerializableTransaction } from "../../../transaction/serialize-transaction.js"; import type { TransactionReceipt } from "../../../transaction/types.js"; import { type Hex, hexToBigInt } from "../../../utils/encoding/hex.js"; import { getClientFetch } from "../../../utils/fetch.js"; @@ -227,7 +228,7 @@ export async function getUserOpReceiptRaw( */ export async function getZkPaymasterData(args: { options: BundlerOptions; - transaction: TransactionSerializable; + transaction: SerializableTransaction; }): Promise { const res = await sendBundlerRequest({ options: args.options, @@ -243,7 +244,7 @@ export async function getZkPaymasterData(args: { export async function broadcastZkTransaction(args: { options: BundlerOptions; - transaction: TransactionSerializable; + transaction: SerializableTransaction; signedTransaction: Hex; }): Promise<{ transactionHash: Hex }> { const res = await sendBundlerRequest({ diff --git a/packages/thirdweb/src/wallets/smart/lib/signing.ts b/packages/thirdweb/src/wallets/smart/lib/signing.ts index ff0620740f9..e5f81c297af 100644 --- a/packages/thirdweb/src/wallets/smart/lib/signing.ts +++ b/packages/thirdweb/src/wallets/smart/lib/signing.ts @@ -1,10 +1,4 @@ -import type { Hex } from "ox"; -import type { - SignableMessage, - TypedData, - TypedDataDefinition, - TypedDataDomain, -} from "viem"; +import type * as ox__TypedData from "ox/TypedData"; import { serializeErc6492Signature } from "../../../auth/serialize-erc6492-signature.js"; import { verifyHash } from "../../../auth/verify-hash.js"; import { @@ -14,8 +8,10 @@ import { import { encode } from "../../../transaction/actions/encode.js"; import { readContract } from "../../../transaction/read-contract.js"; import { encodeAbiParameters } from "../../../utils/abi/encodeAbiParameters.js"; +import type { Hex } from "../../../utils/encoding/hex.js"; import { hashMessage } from "../../../utils/hashing/hashMessage.js"; import { hashTypedData } from "../../../utils/hashing/hashTypedData.js"; +import type { SignableMessage } from "../../../utils/types.js"; import type { SmartAccountOptions } from "../types.js"; import { prepareCreateAccount } from "./calls.js"; @@ -93,7 +89,7 @@ export async function deployAndSignMessage({ } export async function deployAndSignTypedData< - const typedData extends TypedData | Record, + const typedData extends ox__TypedData.TypedData | Record, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData, >({ accountContract, @@ -104,10 +100,12 @@ export async function deployAndSignTypedData< accountContract: ThirdwebContract; factoryContract: ThirdwebContract; options: SmartAccountOptions; - typedData: TypedDataDefinition; + typedData: ox__TypedData.Definition; }) { const isSelfVerifyingContract = - (typedData.domain as TypedDataDomain)?.verifyingContract?.toLowerCase() === + ( + typedData.domain as ox__TypedData.Domain + )?.verifyingContract?.toLowerCase() === accountContract.address?.toLowerCase(); if (isSelfVerifyingContract) { @@ -205,7 +203,7 @@ async function checkFor712Factory({ }: { factoryContract: ThirdwebContract; accountContract: ThirdwebContract; - originalMsgHash: Hex.Hex; + originalMsgHash: Hex; }) { try { const implementationAccount = await readContract({ diff --git a/packages/thirdweb/src/wallets/smart/smart.test.ts b/packages/thirdweb/src/wallets/smart/smart.test.ts new file mode 100644 index 00000000000..f589ae92777 --- /dev/null +++ b/packages/thirdweb/src/wallets/smart/smart.test.ts @@ -0,0 +1,87 @@ +import { describe, expect, it } from "vitest"; +import { TEST_CLIENT } from "../../../test/src/test-clients.js"; +import { defineChain } from "../../chains/utils.js"; +import { generateAccount } from "../utils/generateAccount.js"; +import { connectSmartWallet, disconnectSmartWallet } from "./index.js"; +import { smartWallet } from "./smart-wallet.js"; + +describe("Smart Wallet Index", () => { + const chain = defineChain(1); // Ethereum mainnet + const client = TEST_CLIENT; + + describe("connectSmartWallet", () => { + it("should connect a smart wallet", async () => { + const personalAccount = await generateAccount({ client }); + const wallet = smartWallet({ + chain, + gasless: true, + }); + + const [account, connectedChain] = await connectSmartWallet( + wallet, + { + client, + personalAccount, + }, + { + chain, + gasless: true, + }, + ); + + expect(account.address).toBeDefined(); + expect(account.address).toMatch(/^0x[a-fA-F0-9]{40}$/); + expect(connectedChain.id).toBe(chain.id); + }); + }); + + describe("disconnectSmartWallet", () => { + it("should disconnect a smart wallet", async () => { + const personalAccount = await generateAccount({ client }); + const wallet = smartWallet({ + chain, + gasless: true, + }); + + await connectSmartWallet( + wallet, + { + client, + personalAccount, + }, + { + chain, + gasless: true, + }, + ); + + await expect(disconnectSmartWallet(wallet)).resolves.not.toThrow(); + }); + + it("should clear wallet mappings on disconnect", async () => { + const personalAccount = await generateAccount({ client }); + const wallet = smartWallet({ + chain, + gasless: true, + }); + + await connectSmartWallet( + wallet, + { + client, + personalAccount, + }, + { + chain, + gasless: true, + }, + ); + + await disconnectSmartWallet(wallet); + + // Verify wallet state is cleared + expect(wallet.getAccount()).toBeUndefined(); + expect(wallet.getAdminAccount?.()).toBeUndefined(); + }); + }); +}); diff --git a/packages/thirdweb/src/wallets/smart/types.ts b/packages/thirdweb/src/wallets/smart/types.ts index 0a380880f31..6be9384a4f7 100644 --- a/packages/thirdweb/src/wallets/smart/types.ts +++ b/packages/thirdweb/src/wallets/smart/types.ts @@ -1,5 +1,5 @@ -import type { Address, TypedData } from "abitype"; -import type { SignableMessage, TypedDataDefinition } from "viem"; +import type * as ox__Address from "ox/Address"; +import type * as ox__TypedData from "ox/TypedData"; import type { Chain } from "../../chains/types.js"; import type { ThirdwebClient } from "../../client/client.js"; import type { ThirdwebContract } from "../../contract/contract.js"; @@ -7,6 +7,7 @@ import type { PreparedTransaction } from "../../transaction/prepare-transaction. import type { TransactionReceipt } from "../../transaction/types.js"; import type { Hex } from "../../utils/encoding/hex.js"; import type { Prettify } from "../../utils/type-utils.js"; +import type { SignableMessage } from "../../utils/types.js"; import type { Account, SendTransactionOption } from "../interfaces/wallet.js"; export type TokenPaymasterConfig = { @@ -53,13 +54,15 @@ export type SmartWalletOptions = Prettify< message: SignableMessage; }) => Promise; signTypedData?: < - const typedData extends TypedData | Record, + const typedData extends + | ox__TypedData.TypedData + | Record, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData, >(options: { adminAccount: Account; accountContract: ThirdwebContract; factoryContract: ThirdwebContract; - typedData: TypedDataDefinition; + typedData: ox__TypedData.Definition; }) => Promise; }; } & ( @@ -101,7 +104,7 @@ export type SmartWalletConnectionOptions = { }; export type UserOperationV06 = { - sender: Address; + sender: ox__Address.Address; nonce: bigint; initCode: Hex; callData: Hex; @@ -145,7 +148,7 @@ export type PackedUserOperation = { }; export type UserOperationV06Hexed = { - sender: Address; + sender: ox__Address.Address; nonce: Hex; initCode: Hex; callData: Hex; @@ -210,7 +213,7 @@ export type GasPriceResult = { }; export type PmTransactionData = { - paymaster: Address; + paymaster: ox__Address.Address; paymasterInput: Hex; }; @@ -218,10 +221,10 @@ export type UserOperationReceipt = { receipt: TransactionReceipt; logs: TransactionReceipt["logs"]; userOpHash: Hex; - entryPoint: Address; - sender: Address; + entryPoint: ox__Address.Address; + sender: ox__Address.Address; nonce: bigint; - paymaster: Address; + paymaster: ox__Address.Address; actualGasUsed: bigint; actualGasCost: bigint; success: boolean; diff --git a/packages/thirdweb/src/wallets/wallet-connect/controller.ts b/packages/thirdweb/src/wallets/wallet-connect/controller.ts index 83b685fae39..af63ac945ca 100644 --- a/packages/thirdweb/src/wallets/wallet-connect/controller.ts +++ b/packages/thirdweb/src/wallets/wallet-connect/controller.ts @@ -25,7 +25,7 @@ import { uint8ArrayToHex, } from "../../utils/encoding/hex.js"; import { stringify } from "../../utils/json.js"; -import { parseTypedData } from "../../utils/signatures/helpers/parseTypedData.js"; +import { parseTypedData } from "../../utils/signatures/helpers/parse-typed-data.js"; import type { AsyncStorage } from "../../utils/storage/AsyncStorage.js"; import { getSavedConnectParamsFromStorage, diff --git a/packages/thirdweb/src/wallets/wallet-connect/receiver/session-request.test.ts b/packages/thirdweb/src/wallets/wallet-connect/receiver/session-request.test.ts index 30d78c0c317..4455f4af42a 100644 --- a/packages/thirdweb/src/wallets/wallet-connect/receiver/session-request.test.ts +++ b/packages/thirdweb/src/wallets/wallet-connect/receiver/session-request.test.ts @@ -141,7 +141,7 @@ describe("session_request", () => { personalSignRequest = cloneObject(REQUEST_EVENT_MOCK); personalSignRequest.params.request.method = "personal_sign"; personalSignRequest.params.request.params = [ - "my message", + "0xeeeee", TEST_ACCOUNT_A.address, ] as WalletConnectSignRequestPrams; }); @@ -159,7 +159,7 @@ describe("session_request", () => { id: REQUEST_EVENT_MOCK.id, jsonrpc: "2.0", result: - "0x66ea9c2ac4a99a5ac26f5fa3e800171036210e135d486f1d0d02d64eaa7dd56275b4323e153e62c1fad57a6be54420248ed54604f4857ec75ce7761eefad10e41c", + "0x7b7806017c0666b88ff1a51a2af716b808c4974bdb31a4fb734fe2d16c121766363847d2556eb466d1cd04b26541aa5a2a1f5be4154cfd9bef8137dfb7b711ff1c", }, }); }); @@ -221,7 +221,7 @@ describe("session_request", () => { ethSignRequest = cloneObject(REQUEST_EVENT_MOCK); ethSignRequest.params.request.method = "eth_sign"; ethSignRequest.params.request.params = [ - "my message", + "0xeeeee", TEST_ACCOUNT_A.address, ] as WalletConnectSignRequestPrams; }); @@ -239,14 +239,14 @@ describe("session_request", () => { id: REQUEST_EVENT_MOCK.id, jsonrpc: "2.0", result: - "0x66ea9c2ac4a99a5ac26f5fa3e800171036210e135d486f1d0d02d64eaa7dd56275b4323e153e62c1fad57a6be54420248ed54604f4857ec75ce7761eefad10e41c", + "0x7b7806017c0666b88ff1a51a2af716b808c4974bdb31a4fb734fe2d16c121766363847d2556eb466d1cd04b26541aa5a2a1f5be4154cfd9bef8137dfb7b711ff1c", }, }); }); it("should reject if active account address differs from requested address", async () => { ethSignRequest.params.request.params = [ - "my message", + "0xeeeee", TEST_ACCOUNT_B.address, ] as WalletConnectSignRequestPrams; diff --git a/packages/thirdweb/src/wallets/wallet-types.ts b/packages/thirdweb/src/wallets/wallet-types.ts index b2cf06d8e8f..44472d6f774 100644 --- a/packages/thirdweb/src/wallets/wallet-types.ts +++ b/packages/thirdweb/src/wallets/wallet-types.ts @@ -9,7 +9,7 @@ import type { import type { CoinbaseSDKWalletConnectionOptions, CoinbaseWalletCreationOptions, -} from "./coinbase/coinbaseWebSDK.js"; +} from "./coinbase/coinbase-web.js"; import type { COINBASE } from "./constants.js"; import type { EcosystemWalletAutoConnectOptions, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7f13d4cc507..ed861db5067 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -139,7 +139,7 @@ importers: version: 1.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@sentry/nextjs': specifier: 8.42.0 - version: 8.42.0(@opentelemetry/core@1.28.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.54.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.28.0(@opentelemetry/api@1.9.0))(next@15.0.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.0)(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.0(@swc/helpers@0.5.15))(esbuild@0.24.0)) + version: 8.42.0(@opentelemetry/core@1.28.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.54.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.28.0(@opentelemetry/api@1.9.0))(next@15.0.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)) '@shazow/whatsabi': specifier: ^0.17.0 version: 0.17.0(@noble/hashes@1.6.1)(typescript@5.7.2)(zod@3.23.8) @@ -154,7 +154,7 @@ importers: version: link:../../packages/service-utils '@vercel/functions': specifier: ^1.5.1 - version: 1.5.1(@aws-sdk/credential-provider-web-identity@3.696.0(@aws-sdk/client-sts@3.699.0)) + version: 1.5.1(@aws-sdk/credential-provider-web-identity@3.696.0) '@vercel/og': specifier: ^0.6.4 version: 0.6.4 @@ -280,7 +280,7 @@ importers: version: 2.5.5 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2))) + version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))) thirdweb: specifier: workspace:* version: link:../../packages/thirdweb @@ -299,7 +299,7 @@ importers: version: 2.5.5 '@chromatic-com/storybook': specifier: 3.2.2 - version: 3.2.2(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) + version: 3.2.2(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) '@next/bundle-analyzer': specifier: 15.0.4 version: 15.0.4(bufferutil@4.0.8)(utf-8-validate@5.0.10) @@ -311,31 +311,31 @@ importers: version: 1.49.0 '@storybook/addon-essentials': specifier: 8.4.7 - version: 8.4.7(@types/react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) + version: 8.4.7(@types/react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) '@storybook/addon-interactions': specifier: 8.4.7 - version: 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) + version: 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) '@storybook/addon-links': specifier: 8.4.7 - version: 8.4.7(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) + version: 8.4.7(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) '@storybook/addon-onboarding': specifier: 8.4.7 - version: 8.4.7(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) + version: 8.4.7(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) '@storybook/addon-viewport': specifier: 8.4.7 - version: 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) + version: 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) '@storybook/blocks': specifier: 8.4.7 - version: 8.4.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) + version: 8.4.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) '@storybook/nextjs': specifier: 8.4.7 - version: 8.4.7(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)(next@15.0.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.0)(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.8)(prettier@3.4.2)(utf-8-validate@5.0.10))(type-fest@4.30.0)(typescript@5.7.2)(webpack-hot-middleware@2.26.1)(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)) + version: 8.4.7(@swc/core@1.9.3)(esbuild@0.24.0)(next@15.0.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.0)(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.8)(prettier@3.4.1)(utf-8-validate@5.0.10))(type-fest@4.29.1)(typescript@5.7.2)(webpack-hot-middleware@2.26.1)(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)) '@storybook/react': specifier: 8.4.7 - version: 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(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.8)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.2) + version: 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(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.8)(prettier@3.4.1)(utf-8-validate@5.0.10))(typescript@5.7.2) '@storybook/test': specifier: 8.4.7 - version: 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) + version: 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) '@types/color': specifier: 4.2.0 version: 4.2.0 @@ -377,7 +377,7 @@ importers: version: 10.4.20(postcss@8.4.49) checkly: specifier: ^4.14.0 - version: 4.14.0(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 4.14.0(@swc/core@1.9.3)(@types/node@22.10.1)(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10) eslint: specifier: 8.57.0 version: 8.57.0 @@ -401,10 +401,10 @@ importers: version: 8.4.49 storybook: specifier: 8.4.7 - version: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + version: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2)) typescript: specifier: 5.7.2 version: 5.7.2 @@ -528,10 +528,10 @@ importers: version: 8.4.49 tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2)) tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2))) + version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))) typescript: specifier: 5.7.2 version: 5.7.2 @@ -543,13 +543,13 @@ importers: version: 1.0.5(react@19.0.0) '@mdx-js/loader': specifier: ^2.3.0 - version: 2.3.0(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))) + version: 2.3.0(webpack@5.96.1) '@mdx-js/react': specifier: ^2.3.0 version: 2.3.0(react@19.0.0) '@next/mdx': specifier: 15.0.4 - version: 15.0.4(@mdx-js/loader@2.3.0(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))))(@mdx-js/react@2.3.0(react@19.0.0)) + version: 15.0.4(@mdx-js/loader@2.3.0(webpack@5.96.1))(@mdx-js/react@2.3.0(react@19.0.0)) '@radix-ui/react-dialog': specifier: 1.1.2 version: 1.1.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -630,7 +630,7 @@ importers: version: 2.5.5 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2))) + version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))) thirdweb: specifier: workspace:* version: link:../../packages/thirdweb @@ -688,7 +688,7 @@ importers: version: 1.2.4 eslint-plugin-tailwindcss: specifier: ^3.17.5 - version: 3.17.5(tailwindcss@3.4.16(ts-node@10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2))) + version: 3.17.5(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))) next-sitemap: specifier: ^4.2.3 version: 4.2.3(next@15.0.4(@opentelemetry/api@1.9.0)(@playwright/test@1.49.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)) @@ -697,7 +697,7 @@ importers: version: 8.4.49 tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2)) tsx: specifier: 4.19.2 version: 4.19.2 @@ -766,7 +766,7 @@ importers: version: 2.5.5 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2))) + version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))) thirdweb: specifier: workspace:* version: link:../../packages/thirdweb @@ -815,7 +815,7 @@ importers: version: 6.0.1(jiti@2.4.1)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.6.1) tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2)) typescript: specifier: 5.7.2 version: 5.7.2 @@ -833,43 +833,43 @@ importers: version: 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)) '@coinbase/wallet-mobile-sdk': specifier: ^1 - version: 1.1.2(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) + version: 1.1.2(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) '@mobile-wallet-protocol/client': specifier: 0.1.2 - version: 0.1.2(k6oftvvfvvm7qyolig4l2mkndi) + version: 0.1.2(f4dsv2ulhvgdj7qaa5qv5kdh6i) '@react-native-async-storage/async-storage': specifier: ^1 || ^2 - version: 2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) + version: 2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) '@react-native-community/netinfo': specifier: ^11 - version: 11.4.1(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) + version: 11.4.1(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) '@walletconnect/react-native-compat': specifier: ^2 - version: 2.17.2(nryb4gs35jmjz7vvj54qqgp454) + version: 2.17.2(q4mjz3cvtmg5xkydeoqroglple) expo-application: specifier: ^5 || ^6 - version: 5.9.1(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10)) + version: 5.9.1(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10)) expo-linking: specifier: ^6 - version: 6.3.1(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10)) + version: 6.3.1(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10)) expo-web-browser: specifier: ^13 || ^14 - version: 14.0.1(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) + version: 14.0.1(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) react-native: specifier: '>=0.70' - version: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + version: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) react-native-aes-gcm-crypto: specifier: ^0.2 - version: 0.2.2(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) + version: 0.2.2(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) react-native-get-random-values: specifier: ^1 - version: 1.11.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) + version: 1.11.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) react-native-quick-crypto: specifier: '>=0.7.0-rc.6 || >=0.7' - version: 0.7.8(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) + version: 0.7.7(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) react-native-svg: specifier: ^15 - version: 15.9.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) + version: 15.9.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) typescript: specifier: '>=5.0.4' version: 5.7.2 @@ -898,7 +898,7 @@ importers: version: 5.7.2 vitest: specifier: 2.1.8 - version: 2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.37.0) + version: 2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.36.0) packages/thirdweb: dependencies: @@ -940,10 +940,10 @@ importers: version: 5.62.2(react@19.0.0) '@walletconnect/ethereum-provider': specifier: 2.17.2 - version: 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(@types/react@19.0.0)(bufferutil@4.0.8)(ioredis@5.4.1)(react@19.0.0)(utf-8-validate@5.0.10) + version: 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(@types/react@19.0.0)(bufferutil@4.0.8)(ioredis@5.4.1)(react@19.0.0)(utf-8-validate@5.0.10) '@walletconnect/sign-client': specifier: 2.17.2 - version: 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(ioredis@5.4.1)(utf-8-validate@5.0.10) + version: 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(ioredis@5.4.1)(utf-8-validate@5.0.10) abitype: specifier: 1.0.7 version: 1.0.7(typescript@5.7.2)(zod@3.23.8) @@ -986,16 +986,16 @@ importers: version: 3.2.2(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)) '@codspeed/vitest-plugin': specifier: 3.1.1 - version: 3.1.1(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(vitest@2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.37.0)) + version: 3.1.1(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(vitest@2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.36.0)) '@coinbase/wallet-mobile-sdk': specifier: 1.1.2 - version: 1.1.2(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) + version: 1.1.2(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) '@mobile-wallet-protocol/client': specifier: 0.1.2 - version: 0.1.2(k6oftvvfvvm7qyolig4l2mkndi) + version: 0.1.2(f4dsv2ulhvgdj7qaa5qv5kdh6i) '@react-native-async-storage/async-storage': specifier: 2.1.0 - version: 2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) + version: 2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) '@size-limit/preset-big-lib': specifier: 11.1.6 version: 11.1.6(bufferutil@4.0.8)(size-limit@11.1.6)(utf-8-validate@5.0.10) @@ -1016,7 +1016,7 @@ importers: version: 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(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.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(typescript@5.7.2) '@storybook/react-vite': specifier: 8.4.7 - version: 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(rollup@4.28.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(typescript@5.7.2)(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + version: 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(rollup@4.28.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(typescript@5.7.2)(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)) '@storybook/test': specifier: 8.4.7 version: 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)) @@ -1040,10 +1040,10 @@ importers: version: 0.0.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + version: 4.3.4(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)) '@vitest/coverage-v8': specifier: 2.1.8 - version: 2.1.8(vitest@2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.37.0)) + version: 2.1.8(vitest@2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.36.0)) '@vitest/ui': specifier: 2.1.8 version: 2.1.8(vitest@2.1.8) @@ -1061,10 +1061,10 @@ importers: version: ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10) expo-linking: specifier: 7.0.3 - version: 7.0.3(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) + version: 7.0.3(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) expo-web-browser: specifier: 14.0.1 - version: 14.0.1(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) + version: 14.0.1(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) happy-dom: specifier: 15.11.7 version: 15.11.7 @@ -1085,19 +1085,19 @@ importers: version: 19.0.0(react@19.0.0) react-native: specifier: 0.76.3 - version: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + version: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) react-native-aes-gcm-crypto: specifier: 0.2.2 - version: 0.2.2(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) + version: 0.2.2(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) react-native-passkey: specifier: 3.0.0 - version: 3.0.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) + version: 3.0.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) react-native-quick-crypto: specifier: 0.7.8 - version: 0.7.8(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) + version: 0.7.8(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) react-native-svg: specifier: 15.9.0 - version: 15.9.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) + version: 15.9.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) rimraf: specifier: 6.0.1 version: 6.0.1 @@ -1118,10 +1118,10 @@ importers: version: 5.7.2 vite: specifier: 6.0.3 - version: 6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + version: 6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) vitest: specifier: 2.1.8 - version: 2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.37.0) + version: 2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.36.0) packages: @@ -1294,22 +1294,26 @@ packages: resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.26.3': - resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} + '@babel/compat-data@7.26.2': + resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==} engines: {node: '>=6.9.0'} '@babel/core@7.26.0': resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} engines: {node: '>=6.9.0'} - '@babel/generator@7.26.3': - resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} + '@babel/generator@7.26.2': + resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==} engines: {node: '>=6.9.0'} '@babel/helper-annotate-as-pure@7.25.9': resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} engines: {node: '>=6.9.0'} + '@babel/helper-builder-binary-assignment-operator-visitor@7.25.9': + resolution: {integrity: sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==} + engines: {node: '>=6.9.0'} + '@babel/helper-compilation-targets@7.25.9': resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} engines: {node: '>=6.9.0'} @@ -1320,8 +1324,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-create-regexp-features-plugin@7.26.3': - resolution: {integrity: sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==} + '@babel/helper-create-regexp-features-plugin@7.25.9': + resolution: {integrity: sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -1365,6 +1369,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-simple-access@7.25.9': + resolution: {integrity: sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==} + engines: {node: '>=6.9.0'} + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} engines: {node: '>=6.9.0'} @@ -1393,8 +1401,8 @@ packages: resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.26.3': - resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} + '@babel/parser@7.26.2': + resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==} engines: {node: '>=6.0.0'} hasBin: true @@ -1677,8 +1685,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-exponentiation-operator@7.26.3': - resolution: {integrity: sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==} + '@babel/plugin-transform-exponentiation-operator@7.25.9': + resolution: {integrity: sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1737,8 +1745,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-commonjs@7.26.3': - resolution: {integrity: sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==} + '@babel/plugin-transform-modules-commonjs@7.25.9': + resolution: {integrity: sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1917,8 +1925,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.26.3': - resolution: {integrity: sha512-6+5hpdr6mETwSKjmJUdYw0EIkATiQhnELWlE3kJFBwSg/BGIVwVaVbX+gOXBCdc7Ln1RXZxyWGecIXhUfnl7oA==} + '@babel/plugin-transform-typescript@7.25.9': + resolution: {integrity: sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1964,8 +1972,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - '@babel/preset-react@7.26.3': - resolution: {integrity: sha512-Nl03d6T9ky516DGK2YMxrTqvnpUW63TnJMOMonj+Zae0JiPC5BC9xPMSL6L8fiSpA5vP88qfygavVQvnLp+6Cw==} + '@babel/preset-react@7.25.9': + resolution: {integrity: sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1994,12 +2002,12 @@ packages: resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.26.4': - resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} + '@babel/traverse@7.25.9': + resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==} engines: {node: '>=6.9.0'} - '@babel/types@7.26.3': - resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} + '@babel/types@7.26.0': + resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@0.2.3': @@ -2950,8 +2958,8 @@ packages: resolution: {integrity: sha512-+Lla7nYSiHZirgK+U/uYzsLv/X+HaJienbD5AKX1UQZHYfWaP+9uuQluRB4GrEVWF0GZ7vEVp/jzaOT9k/SQlg==} engines: {node: '>=0.10.0'} - '@expo/cli@0.22.3': - resolution: {integrity: sha512-1HBtqInFDFHUJWzTJ1CJj5MR3JwvOiozmRUWF2kVQAeq/bKzSYM6We6B3XoZBM5XP6z6WtnrG87C7BjeW5E/cA==} + '@expo/cli@0.21.8': + resolution: {integrity: sha512-gU+NlL/XS9r7LEfLhjDDKuv3jEtOh+rVnk/k7Lp8WrUwaMCoEGfmQpSqLXetFCCC4UFXSaj1cdMGoy2UBw4rew==} hasBin: true '@expo/code-signing-certificates@0.0.5': @@ -2960,8 +2968,8 @@ packages: '@expo/config-plugins@8.0.10': resolution: {integrity: sha512-KG1fnSKRmsudPU9BWkl59PyE0byrE2HTnqbOrgwr2FAhqh7tfr9nRs6A9oLS/ntpGzmFxccTEcsV0L4apsuxxg==} - '@expo/config-plugins@9.0.12': - resolution: {integrity: sha512-/Ko/NM+GzvJyRkq8PITm8ms0KY5v0wmN1OQFYRMkcJqOi3PjlhndW+G6bHpJI9mkQXBaUnHwAiGLqIC3+MQ5Wg==} + '@expo/config-plugins@9.0.10': + resolution: {integrity: sha512-4piPSylJ8z3to+YZpl/6M2mLxASOdIFANA8FYihsTf9kWlyimV9L/+MGgPXJcieaHXYZZqOryf8hQFVeg/68+A==} '@expo/config-types@51.0.3': resolution: {integrity: sha512-hMfuq++b8VySb+m9uNNrlpbvGxYc8OcFCUX9yTmi9tlx6A4k8SDabWFBgmnr4ao3wEArvWrtUQIfQCVtPRdpKA==} @@ -2969,8 +2977,8 @@ packages: '@expo/config-types@52.0.1': resolution: {integrity: sha512-vD8ZetyKV7U29lR6+NJohYeoLYTH+eNYXJeNiSOrWCz0witJYY11meMmEnpEaVbN89EfC6uauSUOa6wihtbyPQ==} - '@expo/config@10.0.6': - resolution: {integrity: sha512-xXkfPElrtxznkOZxFASJ7OPa6E9IHSjcZwj5BQ6XUF2dz5M7AFa2h5sXM8AalSaDU5tEBSgoUOjTh5957TlR8g==} + '@expo/config@10.0.5': + resolution: {integrity: sha512-wq48h3HlAPq5v/gMprarAiVY1aEXNBVJ+Em0vrHcYFO8UyxzR6oIao2E4Ed3VWHqhTzPXkMPH4hKCKlzFVBFwQ==} '@expo/config@9.0.4': resolution: {integrity: sha512-g5ns5u1JSKudHYhjo1zaSfkJ/iZIcWmUmIQptMJZ6ag1C0ShL2sj8qdfU8MmAMuKLOgcIfSaiWlQnm4X3VJVkg==} @@ -2984,8 +2992,8 @@ packages: '@expo/env@0.4.0': resolution: {integrity: sha512-g2JYFqck3xKIwJyK+8LxZ2ENZPWtRgjFWpeht9abnKgzXVXBeSNECFBkg+WQjQocSIdxXhEWM6hz4ZAe7Tc4ng==} - '@expo/fingerprint@0.11.3': - resolution: {integrity: sha512-9lgXmcIePvZ7Wef63XtvuN3HfCUevF4E4tQPdEbH9/dUWwpOvvwQ3KT4OJ9jdh8JJ3nTdO9eDQ/8k8xr1aQ5Kg==} + '@expo/fingerprint@0.11.2': + resolution: {integrity: sha512-WPibADqymGSKkNNnrGfw4dRipz7F8DwMSv7zb6T9oTGtdRiObrUpGmtBXmvo6z9MqWkNRprEJNxPjvkkvMvwhQ==} hasBin: true '@expo/image-utils@0.6.3': @@ -2997,8 +3005,8 @@ packages: '@expo/json-file@9.0.0': resolution: {integrity: sha512-M+55xFVrFzDcgMDf+52lPDLjKB5xwRfStWlv/b/Vu2OLgxGZLWpxoPYjlRoHqxjPbCQIi2ZCbobK+0KuNhsELg==} - '@expo/metro-config@0.19.6': - resolution: {integrity: sha512-pRwZyOstsQa1+Ecss3wOqC28wjyjq9qxvJaQL3LH4G8Sef9x2PX+ySRApeQ01nl4ZN5nlyez6iVDF51tn/WhOw==} + '@expo/metro-config@0.19.4': + resolution: {integrity: sha512-2SWwYN8MZvMIRawWEr+1RBYncitPwu2VMACRYig+wBycJ9fsPb6BMVmBYi+3MHDUlJHNy/Bqfw++jn1eqBFETQ==} '@expo/osascript@2.1.4': resolution: {integrity: sha512-LcPjxJ5FOFpqPORm+5MRLV0CuYWMthJYV6eerF+lQVXKlvgSn3EOqaHC3Vf3H+vmB0f6G4kdvvFtg40vG4bIhA==} @@ -3013,8 +3021,8 @@ packages: '@expo/plist@0.2.0': resolution: {integrity: sha512-F/IZJQaf8OIVnVA6XWUeMPC3OH6MV00Wxf0WC0JhTQht2QgjyHUa3U5Gs3vRtDq8tXNsZneOQRDVwpaOnd4zTQ==} - '@expo/prebuild-config@8.0.22': - resolution: {integrity: sha512-Kwlf3ymHH37W2nuNA9FzYgZvrImJScLA98939kapnOxfNGAPhmhEw26sfIGmBWAa8ymdL6p+HXQ3+b/xJ74bOg==} + '@expo/prebuild-config@8.0.20': + resolution: {integrity: sha512-2N2R3qP12Jitmi8V0UG/5s6Se2Fq9RKIdlOTrVA5TzJeHkhCcvQRaRUlojwqjlYh4B3cByLjhTXyWoxM6+wpXQ==} '@expo/rudder-sdk-node@1.1.1': resolution: {integrity: sha512-uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ==} @@ -3030,8 +3038,8 @@ packages: '@expo/vector-icons@14.0.4': resolution: {integrity: sha512-+yKshcbpDfbV4zoXOgHxCwh7lkE9VVTT5T03OUlBsqfze1PLy6Hi4jp1vSb1GVbY6eskvMIivGVc9SKzIv0oEQ==} - '@expo/xcpretty@4.3.2': - resolution: {integrity: sha512-ReZxZ8pdnoI3tP/dNnJdnmAk7uLT4FjsKDGW7YeDdvdOMz2XCQSmSCM9IWlrXuWtMF9zeSB6WJtEhCQ41gQOfw==} + '@expo/xcpretty@4.3.1': + resolution: {integrity: sha512-sqXgo1SCv+j4VtYEwl/bukuOIBrVgx6euIoCat3Iyx5oeoXwEA2USCoeL0IPubflMxncA2INkqJ/Wr3NGrSgzw==} hasBin: true '@floating-ui/core@1.6.8': @@ -4464,14 +4472,14 @@ packages: peerDependencies: react-native: ^0.0.0-0 || >=0.65 <1.0 - '@react-native-community/cli-debugger-ui@16.0.0': - resolution: {integrity: sha512-MPt9udyB/RhBmCG4jKDdKF8z3vjOXTPUWEv3K5BSPs6HjBF2oVTXVpP5V4sXhQglHFQOVvTSJzN1bybr3RUYeQ==} + '@react-native-community/cli-debugger-ui@15.1.2': + resolution: {integrity: sha512-GSncUVzyhNAVg/uTFdjf5nERKCg7E/rPbpz4FZS6NeOtgrd/eJXXJEEfn1AU3bHZblr/wf9hl6V2yfBHtJ/wlw==} - '@react-native-community/cli-server-api@16.0.0': - resolution: {integrity: sha512-AmI85hBXVetM2pQLyyQO9YncWQ1G1wlZ+vdlMF1FZJfM0IWDUbAeXafwyNT3kHwBOesOXawmI1bOI7IEPfLvqg==} + '@react-native-community/cli-server-api@15.1.2': + resolution: {integrity: sha512-UqM4+nCYClhsIvCGoyBA/th5PNt/AcFbUL4BaizShvI+oNVUUwZoK84hGqsPB9k1co6EFNXd1PefY7DGGrGzFg==} - '@react-native-community/cli-tools@16.0.0': - resolution: {integrity: sha512-vFVFLjiAHZqbutd16+TV79Y9LIfjkaIoP62KPvQ9j25mqv9jm+h+sdr4nqKTOV/VFtneAA4sOHygDCOT04iLbw==} + '@react-native-community/cli-tools@15.1.2': + resolution: {integrity: sha512-eShBHf/K1e2xJTumiy7CF/akh0DiKfW3YSJ/jpp0RVBgwaXPK6JMrVdGRdbSVad6VqaXVFVtPOe3gSDRa5GDKg==} '@react-native-community/netinfo@11.4.1': resolution: {integrity: sha512-B0BYAkghz3Q2V09BF88RA601XursIEA111tnc2JOaN7axJWmNefmfjZqw/KdSxKZp7CZUuPpjBmz/WCR9uaHYg==} @@ -5407,68 +5415,68 @@ packages: '@swagger-api/apidom-reference@1.0.0-beta.3': resolution: {integrity: sha512-MkSW/uKA+iCUeQ5HqICGxXPZI1y5vbXnOZLT+22+ZvaO3+5j7tD2aS9mAF+140VaaE5AkpZE28XC9TaYyjEwDg==} - '@swc/core-darwin-arm64@1.10.0': - resolution: {integrity: sha512-wCeUpanqZyzvgqWRtXIyhcFK3CqukAlYyP+fJpY2gWc/+ekdrenNIfZMwY7tyTFDkXDYEKzvn3BN/zDYNJFowQ==} + '@swc/core-darwin-arm64@1.9.3': + resolution: {integrity: sha512-hGfl/KTic/QY4tB9DkTbNuxy5cV4IeejpPD4zo+Lzt4iLlDWIeANL4Fkg67FiVceNJboqg48CUX+APhDHO5G1w==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.10.0': - resolution: {integrity: sha512-0CZPzqTynUBO+SHEl/qKsFSahp2Jv/P2ZRjFG0gwZY5qIcr1+B/v+o74/GyNMBGz9rft+F2WpU31gz2sJwyF4A==} + '@swc/core-darwin-x64@1.9.3': + resolution: {integrity: sha512-IaRq05ZLdtgF5h9CzlcgaNHyg4VXuiStnOFpfNEMuI5fm5afP2S0FHq8WdakUz5WppsbddTdplL+vpeApt/WCQ==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.10.0': - resolution: {integrity: sha512-oq+DdMu5uJOFPtRkeiITc4kxmd+QSmK+v+OBzlhdGkSgoH3yRWZP+H2ao0cBXo93ZgCr2LfjiER0CqSKhjGuNA==} + '@swc/core-linux-arm-gnueabihf@1.9.3': + resolution: {integrity: sha512-Pbwe7xYprj/nEnZrNBvZfjnTxlBIcfApAGdz2EROhjpPj+FBqBa3wOogqbsuGGBdCphf8S+KPprL1z+oDWkmSQ==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.10.0': - resolution: {integrity: sha512-Y6+PC8knchEViRxiCUj3j8wsGXaIhuvU+WqrFqV834eiItEMEI9+Vh3FovqJMBE3L7d4E4ZQtgImHCXjrHfxbw==} + '@swc/core-linux-arm64-gnu@1.9.3': + resolution: {integrity: sha512-AQ5JZiwNGVV/2K2TVulg0mw/3LYfqpjZO6jDPtR2evNbk9Yt57YsVzS+3vHSlUBQDRV9/jqMuZYVU3P13xrk+g==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.10.0': - resolution: {integrity: sha512-EbrX9A5U4cECCQQfky7945AW9GYnTXtCUXElWTkTYmmyQK87yCyFfY8hmZ9qMFIwxPOH6I3I2JwMhzdi8Qoz7g==} + '@swc/core-linux-arm64-musl@1.9.3': + resolution: {integrity: sha512-tzVH480RY6RbMl/QRgh5HK3zn1ZTFsThuxDGo6Iuk1MdwIbdFYUY034heWUTI4u3Db97ArKh0hNL0xhO3+PZdg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.10.0': - resolution: {integrity: sha512-TaxpO6snTjjfLXFYh5EjZ78se69j2gDcqEM8yB9gguPYwkCHi2Ylfmh7iVaNADnDJFtjoAQp0L41bTV/Pfq9Cg==} + '@swc/core-linux-x64-gnu@1.9.3': + resolution: {integrity: sha512-ivXXBRDXDc9k4cdv10R21ccBmGebVOwKXT/UdH1PhxUn9m/h8erAWjz5pcELwjiMf27WokqPgaWVfaclDbgE+w==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.10.0': - resolution: {integrity: sha512-IEGvDd6aEEKEyZFZ8oCKuik05G5BS7qwG5hO5PEMzdGeh8JyFZXxsfFXbfeAqjue4UaUUrhnoX+Ze3M2jBVMHw==} + '@swc/core-linux-x64-musl@1.9.3': + resolution: {integrity: sha512-ILsGMgfnOz1HwdDz+ZgEuomIwkP1PHT6maigZxaCIuC6OPEhKE8uYna22uU63XvYcLQvZYDzpR3ms47WQPuNEg==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.10.0': - resolution: {integrity: sha512-UkQ952GSpY+Z6XONj9GSW8xGSkF53jrCsuLj0nrcuw7Dvr1a816U/9WYZmmcYS8tnG2vHylhpm6csQkyS8lpCw==} + '@swc/core-win32-arm64-msvc@1.9.3': + resolution: {integrity: sha512-e+XmltDVIHieUnNJHtspn6B+PCcFOMYXNJB1GqoCcyinkEIQNwC8KtWgMqUucUbEWJkPc35NHy9k8aCXRmw9Kg==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.10.0': - resolution: {integrity: sha512-a2QpIZmTiT885u/mUInpeN2W9ClCnqrV2LnMqJR1/Fgx1Afw/hAtiDZPtQ0SqS8yDJ2VR5gfNZo3gpxWMrqdVA==} + '@swc/core-win32-ia32-msvc@1.9.3': + resolution: {integrity: sha512-rqpzNfpAooSL4UfQnHhkW8aL+oyjqJniDP0qwZfGnjDoJSbtPysHg2LpcOBEdSnEH+uIZq6J96qf0ZFD8AGfXA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.10.0': - resolution: {integrity: sha512-tZcCmMwf483nwsEBfUk5w9e046kMa1iSik4bP9Kwi2FGtOfHuDfIcwW4jek3hdcgF5SaBW1ktnK/lgQLDi5AtA==} + '@swc/core-win32-x64-msvc@1.9.3': + resolution: {integrity: sha512-3YJJLQ5suIEHEKc1GHtqVq475guiyqisKSoUnoaRtxkDaW5g1yvPt9IoSLOe2mRs7+FFhGGU693RsBUSwOXSdQ==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.10.0': - resolution: {integrity: sha512-+CuuTCmQFfzaNGg1JmcZvdUVITQXJk9sMnl1C2TiDLzOSVOJRwVD4dNo5dljX/qxpMAN+2BIYlwjlSkoGi6grg==} + '@swc/core@1.9.3': + resolution: {integrity: sha512-oRj0AFePUhtatX+BscVhnzaAmWjpfAeySpM1TCbxA1rtBDeH/JDhi5yYzAKneDYtVtBvA7ApfeuzhMC9ye4xSg==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' @@ -5482,9 +5490,6 @@ packages: '@swc/helpers@0.5.13': resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} - '@swc/helpers@0.5.15': - resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} - '@swc/types@0.1.17': resolution: {integrity: sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==} @@ -5869,8 +5874,8 @@ packages: resolution: {integrity: sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@8.17.0': - resolution: {integrity: sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg==} + '@typescript-eslint/scope-manager@8.16.0': + resolution: {integrity: sha512-mwsZWubQvBki2t5565uxF0EYvG+FwdFb8bMtDuGQLdCCnGPrDEDvm1gtfynuKlnpzeBRqdFCkMf9jg1fnAK8sg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/type-utils@7.14.1': @@ -5887,16 +5892,12 @@ packages: resolution: {integrity: sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@7.18.0': - resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} - engines: {node: ^18.18.0 || >=20.0.0} - - '@typescript-eslint/types@8.17.0': - resolution: {integrity: sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA==} + '@typescript-eslint/types@8.16.0': + resolution: {integrity: sha512-NzrHj6thBAOSE4d9bsuRNMvk+BvaQvmY4dDglgkgGC0EW/tB3Kelnp3tAKH87GEwzoxgeQn9fNGRyFJM/xd+GQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@7.18.0': - resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} + '@typescript-eslint/typescript-estree@7.14.1': + resolution: {integrity: sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -5910,8 +5911,8 @@ packages: peerDependencies: eslint: 8.57.0 - '@typescript-eslint/utils@8.17.0': - resolution: {integrity: sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w==} + '@typescript-eslint/utils@8.16.0': + resolution: {integrity: sha512-C1zRy/mOL8Pj157GiX4kaw7iyRLKfJXBR3L82hk5kS/GyHcOFmy4YUq/zfZti72I9wnuQtA/+xzft4wCC8PJdA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: 8.57.0 @@ -5924,12 +5925,8 @@ packages: resolution: {integrity: sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@7.18.0': - resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} - engines: {node: ^18.18.0 || >=20.0.0} - - '@typescript-eslint/visitor-keys@8.17.0': - resolution: {integrity: sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg==} + '@typescript-eslint/visitor-keys@8.16.0': + resolution: {integrity: sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.0': @@ -6569,8 +6566,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - babel-preset-expo@12.0.3: - resolution: {integrity: sha512-1695e8y3U/HjifKx33vcNnFMSUSXwPWwhFxRlL6NRx2TENN6gySH82gPOWgxcra6gi+EJgXx52xG3PcqTjwW6w==} + babel-preset-expo@12.0.2: + resolution: {integrity: sha512-WLApoPw4sOnwwJY+tzp270ndUNfq6xXcZEQUjEQJr8YyDd6uacz7/4iyt2Wl4wEQTabm9DYIZ3GVuNkZzL0M1g==} peerDependencies: babel-plugin-react-compiler: ^19.0.0-beta-9ee70a1-20241017 react-compiler-runtime: ^19.0.0-beta-8a03594-20241020 @@ -6827,8 +6824,8 @@ packages: camelize@1.0.1: resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} - caniuse-lite@1.0.30001686: - resolution: {integrity: sha512-Y7deg0Aergpa24M3qLC5xjNklnKnhsmSyR/V89dLZ1n0ucJIFNs7PgR2Yfa/Zf6W79SbBicgtGxZr2juHkEUIA==} + caniuse-lite@1.0.30001678: + resolution: {integrity: sha512-RR+4U/05gNtps58PEBDZcPWTgEO2MBeoPZ96aQcjmfkBWRIDfN451fW2qyDA9/+HohLLIL5GqiMwA+IB1pWarw==} cardinal@2.1.1: resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} @@ -7779,8 +7776,8 @@ packages: resolution: {integrity: sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==} engines: {node: '>= 0.8'} - es-abstract@1.23.5: - resolution: {integrity: sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==} + es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} engines: {node: '>= 0.4'} es-define-property@1.0.0: @@ -7809,8 +7806,8 @@ packages: es-shim-unscopables@1.0.2: resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} - es-to-primitive@1.3.0: - resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} esbuild-register@3.6.0: @@ -7885,8 +7882,8 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-import-resolver-typescript@3.7.0: - resolution: {integrity: sha512-Vrwyi8HHxY97K5ebydMtffsWAn1SCR9eol49eCd5fJS4O1WV7PaAjbcjmbfJJSMz/t4Mal212Uz/fQZrOB8mow==} + eslint-import-resolver-typescript@3.6.3: + resolution: {integrity: sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: 8.57.0 @@ -7959,8 +7956,8 @@ packages: peerDependencies: eslint: 8.57.0 - eslint-plugin-react-hooks@5.1.0: - resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==} + eslint-plugin-react-hooks@5.0.0: + resolution: {integrity: sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==} engines: {node: '>=10'} peerDependencies: eslint: 8.57.0 @@ -8174,12 +8171,12 @@ packages: react: '*' react-native: '*' - expo-modules-autolinking@2.0.3: - resolution: {integrity: sha512-Q/ALJ54eS7Cr7cmbP+unEDTkHFQivQerWWrqZxuXOrSFYGCYU22+/xAZXaJOpZwseOVsP74zSkoRY/wBimVs7w==} + expo-modules-autolinking@2.0.2: + resolution: {integrity: sha512-n3jC7VoJLfOLGk8NWhEAvM5zSjbLh1kMUSo76nJupx5/vASxDdzihppYebrKrNXPHq5mcw8Jr+r7YB+8xHx7QQ==} hasBin: true - expo-modules-core@2.1.1: - resolution: {integrity: sha512-yQzYCLR2mre4BNMXuqkeJ0oSNgmGEMI6BcmIzeNZbC2NFEjiaDpKvlV9bclYCtyVhUEVNbJcEPYMr6c1Y4eR4w==} + expo-modules-core@2.0.6: + resolution: {integrity: sha512-IsFDn8TqhmnxNUWxkhyVqJ07x/vLlaUN1f2R4eYaP9NFoSWb0c2bTf99a03NGxnfuQ9G7Jrzu+VafSHzCKUxxQ==} expo-web-browser@14.0.1: resolution: {integrity: sha512-QM9F3ie+UyIOoBvqFmT6CZojb1vMc2H+7ZlMT5dEu1PL2jtYyOeK2hLfbt/EMt7CBm/w+P29H9W9Y9gdebOkuQ==} @@ -8187,8 +8184,8 @@ packages: expo: '*' react-native: '*' - expo@52.0.17: - resolution: {integrity: sha512-f0WBD2T6p9r/a8v8MqkoWQq7TmbbAgPUg2zZtOp+kBrSCb3obHeNAsPDAUFzh+jEgug2qDVVkauBJa6ACe9AMg==} + expo@52.0.11: + resolution: {integrity: sha512-flUffjURDVufsMpoHrgsp+QDvR6xG/hjeMbzeSyFUcPP64uh3Av1/EJ4uUXhmHYV6/8YbHMwEgUbmko85vBtKQ==} hasBin: true peerDependencies: '@expo/dom-webview': '*' @@ -8674,9 +8671,8 @@ packages: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} - gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} got@12.6.1: resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} @@ -8720,12 +8716,12 @@ packages: has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - has-proto@1.1.0: - resolution: {integrity: sha512-QLdzI9IIO1Jg7f9GT1gXpPpXArAn6cS31R1eEZqz08Gc+uQ8/XiqHWt17Fiw+2p6oTTIq5GXEpQkAlA88YRl/Q==} + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} engines: {node: '>= 0.4'} - has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} has-tostringtag@1.0.2: @@ -9064,16 +9060,15 @@ packages: resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} engines: {node: '>= 0.4'} - is-bigint@1.1.0: - resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} - engines: {node: '>= 0.4'} + is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - is-boolean-object@1.2.0: - resolution: {integrity: sha512-kR5g0+dXf/+kXnqI+lu0URKYPKgICtHGGNCDSB10AaUFj3o/HkB3u7WfpRBJGFopxxY0oH3ux7ZsDjLtK7xqvw==} + is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} is-buffer@1.1.6: @@ -9083,8 +9078,8 @@ packages: resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} engines: {node: '>=4'} - is-bun-module@1.3.0: - resolution: {integrity: sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==} + is-bun-module@1.2.1: + resolution: {integrity: sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==} is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} @@ -9133,9 +9128,8 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - is-finalizationregistry@1.1.0: - resolution: {integrity: sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==} - engines: {node: '>= 0.4'} + is-finalizationregistry@1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} @@ -9191,8 +9185,8 @@ packages: resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-number-object@1.1.0: - resolution: {integrity: sha512-KVSZV0Dunv9DTPkhXwcZ3Q+tUc9TsaE1ZwX5J2WMvsSGS6Md8TFPun5uwh0yRdrNerI6vf/tbJxqSx4c1ZI1Lw==} + is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} is-number@7.0.0: @@ -9233,8 +9227,8 @@ packages: is-reference@3.0.2: resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} - is-regex@1.2.0: - resolution: {integrity: sha512-B6ohK4ZmoftlUe+uvenXSbPJFo6U37BH7oO1B3nQH8f/7h27N56s85MhUtbFJAziz5dcmuR3i8ovUl35zp8pFA==} + is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} is-retry-allowed@1.2.0: @@ -9261,16 +9255,16 @@ packages: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-string@1.1.0: - resolution: {integrity: sha512-PlfzajuF9vSo5wErv3MJAKD/nqf9ngAs1NFQYm16nUYFO2IzxJ2hcm+IOCg+EEopdykNNUhVq5cz35cAUxU8+g==} + is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} is-subdir@1.2.0: resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} engines: {node: '>=4'} - is-symbol@1.1.0: - resolution: {integrity: sha512-qS8KkNNXUZ/I+nX6QT8ZS1/Yx0A444yhzdTKxCzKkNjQ9sHErBxJnJAgh+f5YhusYECEcjo4XcyH87hn6+ks0A==} + is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} is-typed-array@1.1.13: @@ -9716,6 +9710,10 @@ packages: resolution: {integrity: sha512-ePLRrbt3fgjXI5VFZOLbvkLD5ZRuxGKm+wJ3ujCqBtL3NanDHPo/5zicR5uEKAPiIjBYF99BM4K4okvMznjkVA==} engines: {node: '>= 12.0.0'} + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + engines: {node: '>=14'} + lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -10560,8 +10558,8 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nanoid@3.3.8: - resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -10874,8 +10872,8 @@ packages: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} - object-inspect@1.13.3: - resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} engines: {node: '>= 0.4'} object-is@1.1.6: @@ -11486,8 +11484,8 @@ packages: engines: {node: '>=14'} hasBin: true - prettier@3.4.2: - resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} + prettier@3.4.1: + resolution: {integrity: sha512-G+YdqtITVZmOJje6QkXQWzl3fSfMxFwm1tjTyo9exhkmWSqC4Yhd1+lug++IlR2mvRVAxEDDWYkQdeSztajqgg==} engines: {node: '>=14'} hasBin: true @@ -11836,6 +11834,12 @@ packages: react: '*' react-native: '*' + react-native-quick-crypto@0.7.7: + resolution: {integrity: sha512-+P7MWxo0KSCCyO6rwcW654l+GYV5tVkI7cusHSL/iCahnWCisuyBLzJENzdv6MqDM9pb59QJWbrLfOzpUHZpNw==} + peerDependencies: + react: '*' + react-native: '*' + react-native-quick-crypto@0.7.8: resolution: {integrity: sha512-bvFan4qqh0Lgqs4hQ1XDy8IkrR8Frwlb2mjy1qun4ZjQuBykw53g0vUsdPQ0VwZ/+g9DXXviHDbVqRqya6i4kw==} peerDependencies: @@ -12034,8 +12038,8 @@ packages: redux@5.0.1: resolution: {integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==} - reflect.getprototypeof@1.0.7: - resolution: {integrity: sha512-bMvFGIUKlc/eSfXNX+aZ+EL95/EgZzuwA0OBPTbZZDEJw/0AkentjMuM1oiRfwHrshqk4RzdgiTg5CcDalXN5g==} + reflect.getprototypeof@1.0.6: + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} engines: {node: '>= 0.4'} refractor@3.6.0: @@ -12073,8 +12077,8 @@ packages: resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} engines: {node: '>= 0.4'} - regexpu-core@6.2.0: - resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} + regexpu-core@6.1.1: + resolution: {integrity: sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==} engines: {node: '>=4'} registry-auth-token@5.0.2: @@ -12088,8 +12092,8 @@ packages: regjsgen@0.8.0: resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - regjsparser@0.12.0: - resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} + regjsparser@0.11.2: + resolution: {integrity: sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==} hasBin: true reinterval@1.1.0: @@ -12575,9 +12579,6 @@ packages: resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - stable-hash@0.0.4: - resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} - stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -12903,8 +12904,8 @@ packages: uglify-js: optional: true - terser@5.37.0: - resolution: {integrity: sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==} + terser@5.36.0: + resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==} engines: {node: '>=10'} hasBin: true @@ -13028,8 +13029,8 @@ packages: trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - ts-api-utils@1.4.3: - resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} + ts-api-utils@1.4.0: + resolution: {integrity: sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' @@ -13181,8 +13182,8 @@ packages: resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} engines: {node: '>=14.16'} - type-fest@4.30.0: - resolution: {integrity: sha512-G6zXWS1dLj6eagy6sVhOMQiLtJdxQBHIA9Z6HFUNLOlr6MFOgzV8wvmidtPONfPtEUv0uZsy77XJNzTAfwPDaA==} + type-fest@4.29.1: + resolution: {integrity: sha512-Y1zUveI92UYM/vo1EFlQSsNf74+hfKH+7saZJslF0Fw92FRaiTAnHPIvo9d7SLxXt/gAYqA4RXyDTioMQCCp0A==} engines: {node: '>=16'} typed-array-buffer@1.0.2: @@ -13193,12 +13194,12 @@ packages: resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} engines: {node: '>= 0.4'} - typed-array-byte-offset@1.0.3: - resolution: {integrity: sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw==} + typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} engines: {node: '>= 0.4'} - typed-array-length@1.0.7: - resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} typedarray-to-buffer@3.1.5: @@ -13781,8 +13782,8 @@ packages: webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - webpack@5.97.1: - resolution: {integrity: sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==} + webpack@5.96.1: + resolution: {integrity: sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -13805,12 +13806,11 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which-boxed-primitive@1.1.0: - resolution: {integrity: sha512-Ei7Miu/AXe2JJ4iNF5j/UphAgRoma4trE6PtisM09bPygb3egMH3YLW/befsWb1A1AxvNSFidOFTB18XtnIIng==} - engines: {node: '>= 0.4'} + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - which-builtin-type@1.2.0: - resolution: {integrity: sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA==} + which-builtin-type@1.1.4: + resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} engines: {node: '>= 0.4'} which-collection@1.0.2: @@ -13820,8 +13820,8 @@ packages: which-module@2.0.1: resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} - which-typed-array@1.1.16: - resolution: {integrity: sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==} + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} engines: {node: '>= 0.4'} which@1.3.1: @@ -14613,20 +14613,20 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.26.3': {} + '@babel/compat-data@7.26.2': {} '@babel/core@7.26.0': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.3 + '@babel/generator': 7.26.2 '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) '@babel/helpers': 7.26.0 - '@babel/parser': 7.26.3 + '@babel/parser': 7.26.2 '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 convert-source-map: 2.0.0 debug: 4.3.7(supports-color@8.1.1) gensync: 1.0.0-beta.2 @@ -14635,21 +14635,28 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.26.3': + '@babel/generator@7.26.2': dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.0.2 '@babel/helper-annotate-as-pure@7.25.9': dependencies: - '@babel/types': 7.26.3 + '@babel/types': 7.26.0 + + '@babel/helper-builder-binary-assignment-operator-visitor@7.25.9': + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color '@babel/helper-compilation-targets@7.25.9': dependencies: - '@babel/compat-data': 7.26.3 + '@babel/compat-data': 7.26.2 '@babel/helper-validator-option': 7.25.9 browserslist: 4.24.2 lru-cache: 5.1.1 @@ -14663,16 +14670,16 @@ snapshots: '@babel/helper-optimise-call-expression': 7.25.9 '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.25.9 semver: 7.6.3 transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.26.0)': + '@babel/helper-create-regexp-features-plugin@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.25.9 - regexpu-core: 6.2.0 + regexpu-core: 6.1.1 semver: 7.6.3 '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.0)': @@ -14688,15 +14695,15 @@ snapshots: '@babel/helper-member-expression-to-functions@7.25.9': dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.25.9': dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 transitivePeerDependencies: - supports-color @@ -14705,13 +14712,13 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.25.9 transitivePeerDependencies: - supports-color '@babel/helper-optimise-call-expression@7.25.9': dependencies: - '@babel/types': 7.26.3 + '@babel/types': 7.26.0 '@babel/helper-plugin-utils@7.25.9': {} @@ -14720,7 +14727,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-wrap-function': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.25.9 transitivePeerDependencies: - supports-color @@ -14729,14 +14736,21 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-member-expression-to-functions': 7.25.9 '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-simple-access@7.25.9': + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.25.9': dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 transitivePeerDependencies: - supports-color @@ -14749,15 +14763,15 @@ snapshots: '@babel/helper-wrap-function@7.25.9': dependencies: '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 transitivePeerDependencies: - supports-color '@babel/helpers@7.26.0': dependencies: '@babel/template': 7.25.9 - '@babel/types': 7.26.3 + '@babel/types': 7.26.0 '@babel/highlight@7.25.9': dependencies: @@ -14766,15 +14780,15 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/parser@7.26.3': + '@babel/parser@7.26.2': dependencies: - '@babel/types': 7.26.3 + '@babel/types': 7.26.0 '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.25.9 transitivePeerDependencies: - supports-color @@ -14801,7 +14815,7 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.25.9 transitivePeerDependencies: - supports-color @@ -14959,7 +14973,7 @@ snapshots: '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.0)': @@ -14972,7 +14986,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.25.9 transitivePeerDependencies: - supports-color @@ -15018,7 +15032,7 @@ snapshots: '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.25.9 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -15037,7 +15051,7 @@ snapshots: '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.0)': @@ -15048,7 +15062,7 @@ snapshots: '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.0)': @@ -15056,10 +15070,13 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.26.0)': + '@babel/plugin-transform-exponentiation-operator@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.0)': dependencies: @@ -15085,7 +15102,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.25.9 transitivePeerDependencies: - supports-color @@ -15117,11 +15134,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.0)': + '@babel/plugin-transform-modules-commonjs@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-simple-access': 7.25.9 transitivePeerDependencies: - supports-color @@ -15131,7 +15149,7 @@ snapshots: '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.25.9 transitivePeerDependencies: - supports-color @@ -15146,7 +15164,7 @@ snapshots: '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.0)': @@ -15248,7 +15266,7 @@ snapshots: '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) - '@babel/types': 7.26.3 + '@babel/types': 7.26.0 transitivePeerDependencies: - supports-color @@ -15267,7 +15285,7 @@ snapshots: '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.0)': @@ -15315,7 +15333,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-typescript@7.26.3(@babel/core@7.26.0)': + '@babel/plugin-transform-typescript@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.25.9 @@ -15334,24 +15352,24 @@ snapshots: '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) '@babel/helper-plugin-utils': 7.25.9 '@babel/preset-env@7.26.0(@babel/core@7.26.0)': dependencies: - '@babel/compat-data': 7.26.3 + '@babel/compat-data': 7.26.2 '@babel/core': 7.26.0 '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 @@ -15379,7 +15397,7 @@ snapshots: '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-exponentiation-operator': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) @@ -15388,7 +15406,7 @@ snapshots: '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) @@ -15435,10 +15453,10 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/types': 7.26.3 + '@babel/types': 7.26.0 esutils: 2.0.3 - '@babel/preset-react@7.26.3(@babel/core@7.26.0)': + '@babel/preset-react@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 @@ -15456,8 +15474,8 @@ snapshots: '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-validator-option': 7.25.9 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) - '@babel/plugin-transform-typescript': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0) transitivePeerDependencies: - supports-color @@ -15482,22 +15500,22 @@ snapshots: '@babel/template@7.25.9': dependencies: '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 - '@babel/traverse@7.26.4': + '@babel/traverse@7.25.9': dependencies: '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.3 - '@babel/parser': 7.26.3 + '@babel/generator': 7.26.2 + '@babel/parser': 7.26.2 '@babel/template': 7.25.9 - '@babel/types': 7.26.3 + '@babel/types': 7.26.0 debug: 4.3.7(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.26.3': + '@babel/types@7.26.0': dependencies: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 @@ -15795,13 +15813,13 @@ snapshots: - '@chromatic-com/playwright' - react - '@chromatic-com/storybook@3.2.2(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@chromatic-com/storybook@3.2.2(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: chromatic: 11.16.5 filesize: 10.1.4 jsonfile: 6.1.0 react-confetti: 6.1.0(react@19.0.0) - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) strip-ansi: 7.1.0 transitivePeerDependencies: - '@chromatic-com/cypress' @@ -15819,25 +15837,25 @@ snapshots: transitivePeerDependencies: - debug - '@codspeed/vitest-plugin@3.1.1(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(vitest@2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.37.0))': + '@codspeed/vitest-plugin@3.1.1(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(vitest@2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.36.0))': dependencies: '@codspeed/core': 3.1.1 - vite: 6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) - vitest: 2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.37.0) + vite: 6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) + vitest: 2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.36.0) transitivePeerDependencies: - debug - '@coinbase/wallet-mobile-sdk@1.1.2(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)': + '@coinbase/wallet-mobile-sdk@1.1.2(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)': dependencies: '@metamask/safe-event-emitter': 2.0.0 bn.js: 5.2.1 buffer: 6.0.3 eth-rpc-errors: 4.0.3 events: 3.3.0 - expo: 52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) + expo: 52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) react: 19.0.0 - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) - react-native-mmkv: 2.11.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + react-native-mmkv: 2.11.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) '@coinbase/wallet-sdk@4.2.4': dependencies: @@ -15848,10 +15866,10 @@ snapshots: '@corex/deepmerge@4.0.43': {} - '@craftzdog/react-native-buffer@6.0.5(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)': + '@craftzdog/react-native-buffer@6.0.5(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)': dependencies: ieee754: 1.2.1 - react-native-quick-base64: 2.1.2(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) + react-native-quick-base64: 2.1.2(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) transitivePeerDependencies: - react - react-native @@ -16518,25 +16536,25 @@ snapshots: dependencies: uuid: 8.3.2 - '@expo/cli@0.22.3(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@5.0.10)': + '@expo/cli@0.21.8(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@5.0.10)': dependencies: '@0no-co/graphql.web': 1.0.11(graphql@16.9.0) '@babel/runtime': 7.26.0 '@expo/code-signing-certificates': 0.0.5 - '@expo/config': 10.0.6 - '@expo/config-plugins': 9.0.12 + '@expo/config': 10.0.5 + '@expo/config-plugins': 9.0.10 '@expo/devcert': 1.1.4 '@expo/env': 0.4.0 '@expo/image-utils': 0.6.3 '@expo/json-file': 9.0.0 - '@expo/metro-config': 0.19.6 + '@expo/metro-config': 0.19.4 '@expo/osascript': 2.1.4 '@expo/package-manager': 1.6.1 '@expo/plist': 0.2.0 - '@expo/prebuild-config': 8.0.22 + '@expo/prebuild-config': 8.0.20 '@expo/rudder-sdk-node': 1.1.1 '@expo/spawn-async': 1.7.2 - '@expo/xcpretty': 4.3.2 + '@expo/xcpretty': 4.3.1 '@react-native/dev-middleware': 0.76.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@urql/core': 5.0.8(graphql@16.9.0) '@urql/exchange-retry': 1.3.0(@urql/core@5.0.8(graphql@16.9.0)) @@ -16623,7 +16641,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@expo/config-plugins@9.0.12': + '@expo/config-plugins@9.0.10': dependencies: '@expo/config-types': 52.0.1 '@expo/json-file': 9.0.0 @@ -16646,10 +16664,10 @@ snapshots: '@expo/config-types@52.0.1': {} - '@expo/config@10.0.6': + '@expo/config@10.0.5': dependencies: '@babel/code-frame': 7.10.4 - '@expo/config-plugins': 9.0.12 + '@expo/config-plugins': 9.0.10 '@expo/config-types': 52.0.1 '@expo/json-file': 9.0.0 deepmerge: 4.3.1 @@ -16717,7 +16735,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@expo/fingerprint@0.11.3': + '@expo/fingerprint@0.11.2': dependencies: '@expo/spawn-async': 1.7.2 arg: 5.0.2 @@ -16757,13 +16775,13 @@ snapshots: json5: 2.2.3 write-file-atomic: 2.4.3 - '@expo/metro-config@0.19.6': + '@expo/metro-config@0.19.4': dependencies: '@babel/core': 7.26.0 - '@babel/generator': 7.26.3 - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 - '@expo/config': 10.0.6 + '@babel/generator': 7.26.2 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 + '@expo/config': 10.0.5 '@expo/env': 0.4.0 '@expo/json-file': 9.0.0 '@expo/spawn-async': 1.7.2 @@ -16812,10 +16830,10 @@ snapshots: base64-js: 1.5.1 xmlbuilder: 14.0.0 - '@expo/prebuild-config@8.0.22': + '@expo/prebuild-config@8.0.20': dependencies: - '@expo/config': 10.0.6 - '@expo/config-plugins': 9.0.12 + '@expo/config': 10.0.5 + '@expo/config-plugins': 9.0.10 '@expo/config-types': 52.0.1 '@expo/image-utils': 0.6.3 '@expo/json-file': 9.0.0 @@ -16850,7 +16868,7 @@ snapshots: dependencies: prop-types: 15.8.1 - '@expo/xcpretty@4.3.2': + '@expo/xcpretty@4.3.1': dependencies: '@babel/code-frame': 7.10.4 chalk: 4.1.2 @@ -17087,11 +17105,11 @@ snapshots: '@types/yargs': 17.0.33 chalk: 4.1.2 - '@joshwooding/vite-plugin-react-docgen-typescript@0.4.2(typescript@5.7.2)(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.4.2(typescript@5.7.2)(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@5.7.2) - vite: 6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) optionalDependencies: typescript: 5.7.2 @@ -17167,11 +17185,11 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - '@mdx-js/loader@2.3.0(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15)))': + '@mdx-js/loader@2.3.0(webpack@5.96.1)': dependencies: '@mdx-js/mdx': 2.3.0 source-map: 0.7.4 - webpack: 5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15)) + webpack: 5.96.1 transitivePeerDependencies: - supports-color @@ -17211,18 +17229,18 @@ snapshots: '@metamask/safe-event-emitter@2.0.0': {} - '@mobile-wallet-protocol/client@0.1.2(k6oftvvfvvm7qyolig4l2mkndi)': + '@mobile-wallet-protocol/client@0.1.2(f4dsv2ulhvgdj7qaa5qv5kdh6i)': dependencies: '@noble/ciphers': 0.5.3 '@noble/curves': 1.7.0 '@noble/hashes': 1.6.1 - '@react-native-async-storage/async-storage': 2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) + '@react-native-async-storage/async-storage': 2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) eventemitter3: 5.0.1 - expo: 52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) - expo-web-browser: 14.0.1(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) + expo: 52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) + expo-web-browser: 14.0.1(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) fflate: 0.8.2 react: 19.0.0 - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) '@motionone/animation@10.18.0': dependencies: @@ -17298,11 +17316,11 @@ snapshots: dependencies: fast-glob: 3.3.1 - '@next/mdx@15.0.4(@mdx-js/loader@2.3.0(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))))(@mdx-js/react@2.3.0(react@19.0.0))': + '@next/mdx@15.0.4(@mdx-js/loader@2.3.0(webpack@5.96.1))(@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.0(@swc/helpers@0.5.15))) + '@mdx-js/loader': 2.3.0(webpack@5.96.1) '@mdx-js/react': 2.3.0(react@19.0.0) '@next/swc-darwin-arm64@15.0.4': @@ -17454,7 +17472,7 @@ snapshots: widest-line: 3.1.0 wrap-ansi: 7.0.0 - '@oclif/core@2.8.11(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2)': + '@oclif/core@2.8.11(@swc/core@1.9.3)(@types/node@22.10.1)(typescript@5.7.2)': dependencies: '@types/cli-progress': 3.11.6 ansi-escapes: 4.3.2 @@ -17480,7 +17498,7 @@ snapshots: strip-ansi: 6.0.1 supports-color: 8.1.1 supports-hyperlinks: 2.3.0 - ts-node: 10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2) + ts-node: 10.9.2(@swc/core@1.9.3)(@types/node@22.10.1)(typescript@5.7.2) tslib: 2.8.1 widest-line: 3.1.0 wordwrap: 1.0.0 @@ -17503,7 +17521,7 @@ snapshots: globby: 11.1.0 indent-string: 4.0.0 is-wsl: 2.2.0 - lilconfig: 3.1.3 + lilconfig: 3.1.2 minimatch: 9.0.5 semver: 7.6.3 string-width: 4.2.3 @@ -17518,10 +17536,10 @@ snapshots: dependencies: '@oclif/core': 1.26.2 - '@oclif/plugin-not-found@2.3.23(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2)': + '@oclif/plugin-not-found@2.3.23(@swc/core@1.9.3)(@types/node@22.10.1)(typescript@5.7.2)': dependencies: '@oclif/color': 1.0.13 - '@oclif/core': 2.8.11(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2) + '@oclif/core': 2.8.11(@swc/core@1.9.3)(@types/node@22.10.1)(typescript@5.7.2) fast-levenshtein: 3.0.0 lodash: 4.17.21 transitivePeerDependencies: @@ -17546,9 +17564,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@oclif/plugin-warn-if-update-available@2.0.24(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2)': + '@oclif/plugin-warn-if-update-available@2.0.24(@swc/core@1.9.3)(@types/node@22.10.1)(typescript@5.7.2)': dependencies: - '@oclif/core': 2.8.11(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2) + '@oclif/core': 2.8.11(@swc/core@1.9.3)(@types/node@22.10.1)(typescript@5.7.2) chalk: 4.1.2 debug: 4.3.7(supports-color@8.1.1) fs-extra: 9.1.0 @@ -17939,7 +17957,7 @@ snapshots: dependencies: playwright: 1.49.0 - '@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.2)(type-fest@4.30.0)(webpack-hot-middleware@2.26.1)(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0))': + '@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.2)(type-fest@4.29.1)(webpack-hot-middleware@2.26.1)(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0))': dependencies: ansi-html: 0.0.9 core-js-pure: 3.39.0 @@ -17949,9 +17967,9 @@ snapshots: react-refresh: 0.14.2 schema-utils: 4.2.0 source-map: 0.7.4 - webpack: 5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.9.3)(esbuild@0.24.0) optionalDependencies: - type-fest: 4.30.0 + type-fest: 4.29.1 webpack-hot-middleware: 2.26.1 '@pnpm/config.env-replace@1.1.0': {} @@ -18543,22 +18561,22 @@ snapshots: '@radix-ui/rect@1.1.0': {} - '@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))': + '@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))': dependencies: merge-options: 3.0.4 - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) - '@react-native-community/cli-debugger-ui@16.0.0': + '@react-native-community/cli-debugger-ui@15.1.2': dependencies: serve-static: 1.16.2 transitivePeerDependencies: - supports-color optional: true - '@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@react-native-community/cli-debugger-ui': 16.0.0 - '@react-native-community/cli-tools': 16.0.0 + '@react-native-community/cli-debugger-ui': 15.1.2 + '@react-native-community/cli-tools': 15.1.2 compression: 1.7.5 connect: 3.7.0 errorhandler: 1.5.1 @@ -18572,7 +18590,7 @@ snapshots: - utf-8-validate optional: true - '@react-native-community/cli-tools@16.0.0': + '@react-native-community/cli-tools@15.1.2': dependencies: appdirsjs: 1.2.7 chalk: 4.1.2 @@ -18587,9 +18605,9 @@ snapshots: sudo-prompt: 9.2.1 optional: true - '@react-native-community/netinfo@11.4.1(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))': + '@react-native-community/netinfo@11.4.1(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))': dependencies: - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) '@react-native/assets-registry@0.76.3': {} @@ -18621,7 +18639,7 @@ snapshots: '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.0) @@ -18640,7 +18658,7 @@ snapshots: '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-typescript': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) '@babel/template': 7.25.9 '@react-native/babel-plugin-codegen': 0.76.3(@babel/preset-env@7.26.0(@babel/core@7.26.0)) @@ -18653,7 +18671,7 @@ snapshots: '@react-native/codegen@0.76.3(@babel/preset-env@7.26.0(@babel/core@7.26.0))': dependencies: - '@babel/parser': 7.26.3 + '@babel/parser': 7.26.2 '@babel/preset-env': 7.26.0(@babel/core@7.26.0) glob: 7.2.3 hermes-parser: 0.23.1 @@ -18665,7 +18683,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@react-native/community-cli-plugin@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10)': + '@react-native/community-cli-plugin@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@react-native/dev-middleware': 0.76.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@react-native/metro-babel-transformer': 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) @@ -18679,7 +18697,7 @@ snapshots: readline: 1.3.0 semver: 7.6.3 optionalDependencies: - '@react-native-community/cli-server-api': 16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@react-native-community/cli-server-api': 15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - '@babel/core' - '@babel/preset-env' @@ -18724,12 +18742,12 @@ snapshots: '@react-native/normalize-colors@0.76.3': {} - '@react-native/virtualized-lists@0.76.3(@types/react@19.0.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)': + '@react-native/virtualized-lists@0.76.3(@types/react@19.0.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 react: 19.0.0 - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) optionalDependencies: '@types/react': 19.0.0 @@ -18925,7 +18943,7 @@ snapshots: '@sentry/core@8.42.0': {} - '@sentry/nextjs@8.42.0(@opentelemetry/core@1.28.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.54.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.28.0(@opentelemetry/api@1.9.0))(next@15.0.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.0)(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.0(@swc/helpers@0.5.15))(esbuild@0.24.0))': + '@sentry/nextjs@8.42.0(@opentelemetry/core@1.28.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.54.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.28.0(@opentelemetry/api@1.9.0))(next@15.0.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0))': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation-http': 0.53.0(@opentelemetry/api@1.9.0) @@ -18937,7 +18955,7 @@ snapshots: '@sentry/opentelemetry': 8.42.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.28.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.54.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.28.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.28.0) '@sentry/react': 8.42.0(react@19.0.0) '@sentry/vercel-edge': 8.42.0 - '@sentry/webpack-plugin': 2.22.6(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)) + '@sentry/webpack-plugin': 2.22.6(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)) chalk: 3.0.0 next: 15.0.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) resolve: 1.22.8 @@ -19013,12 +19031,12 @@ snapshots: '@opentelemetry/api': 1.9.0 '@sentry/core': 8.42.0 - '@sentry/webpack-plugin@2.22.6(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0))': + '@sentry/webpack-plugin@2.22.6(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0))': dependencies: '@sentry/bundler-plugin-core': 2.22.6 unplugin: 1.0.1 uuid: 9.0.1 - webpack: 5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.9.3)(esbuild@0.24.0) transitivePeerDependencies: - encoding - supports-color @@ -19113,7 +19131,7 @@ snapshots: dependencies: nanoid: 5.0.7 size-limit: 11.1.6 - webpack: 5.97.1 + webpack: 5.96.1 transitivePeerDependencies: - '@swc/core' - esbuild @@ -19518,13 +19536,13 @@ snapshots: storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) uuid: 9.0.1 - '@storybook/addon-actions@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/addon-actions@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: '@storybook/global': 5.0.0 '@types/uuid': 9.0.8 dequal: 2.0.3 polished: 4.3.1 - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) uuid: 9.0.1 '@storybook/addon-backgrounds@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))': @@ -19534,11 +19552,11 @@ snapshots: storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) ts-dedent: 2.2.0 - '@storybook/addon-backgrounds@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/addon-backgrounds@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) ts-dedent: 2.2.0 '@storybook/addon-controls@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))': @@ -19548,11 +19566,11 @@ snapshots: storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) ts-dedent: 2.2.0 - '@storybook/addon-controls@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/addon-controls@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: '@storybook/global': 5.0.0 dequal: 2.0.3 - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) ts-dedent: 2.2.0 '@storybook/addon-docs@8.4.7(@types/react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))': @@ -19568,15 +19586,15 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@storybook/addon-docs@8.4.7(@types/react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/addon-docs@8.4.7(@types/react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: '@mdx-js/react': 3.1.0(@types/react@19.0.0)(react@18.3.1) - '@storybook/blocks': 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) - '@storybook/csf-plugin': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) - '@storybook/react-dom-shim': 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) + '@storybook/blocks': 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) + '@storybook/csf-plugin': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) + '@storybook/react-dom-shim': 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' @@ -19597,18 +19615,18 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@storybook/addon-essentials@8.4.7(@types/react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': - dependencies: - '@storybook/addon-actions': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) - '@storybook/addon-backgrounds': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) - '@storybook/addon-controls': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) - '@storybook/addon-docs': 8.4.7(@types/react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) - '@storybook/addon-highlight': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) - '@storybook/addon-measure': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) - '@storybook/addon-outline': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) - '@storybook/addon-toolbars': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) - '@storybook/addon-viewport': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + '@storybook/addon-essentials@8.4.7(@types/react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': + dependencies: + '@storybook/addon-actions': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) + '@storybook/addon-backgrounds': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) + '@storybook/addon-controls': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) + '@storybook/addon-docs': 8.4.7(@types/react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) + '@storybook/addon-highlight': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) + '@storybook/addon-measure': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) + '@storybook/addon-outline': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) + '@storybook/addon-toolbars': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) + '@storybook/addon-viewport': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' @@ -19618,10 +19636,10 @@ snapshots: '@storybook/global': 5.0.0 storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) - '@storybook/addon-highlight@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/addon-highlight@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) '@storybook/addon-interactions@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))': dependencies: @@ -19632,13 +19650,13 @@ snapshots: storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) ts-dedent: 2.2.0 - '@storybook/addon-interactions@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/addon-interactions@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) - '@storybook/test': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) + '@storybook/instrumenter': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) + '@storybook/test': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) polished: 4.3.1 - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) ts-dedent: 2.2.0 '@storybook/addon-links@8.4.7(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))': @@ -19650,11 +19668,11 @@ snapshots: optionalDependencies: react: 19.0.0 - '@storybook/addon-links@8.4.7(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/addon-links@8.4.7(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: '@storybook/csf': 0.1.12 '@storybook/global': 5.0.0 - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) ts-dedent: 2.2.0 optionalDependencies: react: 19.0.0 @@ -19665,10 +19683,10 @@ snapshots: storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) tiny-invariant: 1.3.3 - '@storybook/addon-measure@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/addon-measure@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) tiny-invariant: 1.3.3 '@storybook/addon-onboarding@8.4.7(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))': @@ -19678,10 +19696,10 @@ snapshots: transitivePeerDependencies: - react - '@storybook/addon-onboarding@8.4.7(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/addon-onboarding@8.4.7(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: react-confetti: 6.1.0(react@19.0.0) - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) transitivePeerDependencies: - react @@ -19691,29 +19709,29 @@ snapshots: storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) ts-dedent: 2.2.0 - '@storybook/addon-outline@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/addon-outline@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) ts-dedent: 2.2.0 '@storybook/addon-toolbars@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))': dependencies: storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) - '@storybook/addon-toolbars@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/addon-toolbars@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) '@storybook/addon-viewport@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))': dependencies: memoizerific: 1.11.3 storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) - '@storybook/addon-viewport@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/addon-viewport@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: memoizerific: 1.11.3 - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) '@storybook/blocks@8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))': dependencies: @@ -19725,60 +19743,60 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/blocks@8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/blocks@8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: '@storybook/csf': 0.1.12 '@storybook/icons': 1.2.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) ts-dedent: 2.2.0 optionalDependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/blocks@8.4.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/blocks@8.4.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: '@storybook/csf': 0.1.12 '@storybook/icons': 1.2.12(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) ts-dedent: 2.2.0 optionalDependencies: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - '@storybook/builder-vite@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': + '@storybook/builder-vite@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: '@storybook/csf-plugin': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)) browser-assert: 1.2.1 storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) ts-dedent: 2.2.0 - vite: 6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) - '@storybook/builder-webpack5@8.4.7(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.2)': + '@storybook/builder-webpack5@8.4.7(@swc/core@1.9.3)(esbuild@0.24.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))(typescript@5.7.2)': dependencies: - '@storybook/core-webpack': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) + '@storybook/core-webpack': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) '@types/node': 22.10.1 '@types/semver': 7.5.8 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 cjs-module-lexer: 1.4.1 constants-browserify: 1.0.0 - css-loader: 6.11.0(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)) + css-loader: 6.11.0(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)) es-module-lexer: 1.5.4 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.7.2)(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)) - html-webpack-plugin: 5.6.3(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.7.2)(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)) + html-webpack-plugin: 5.6.3(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)) magic-string: 0.30.14 path-browserify: 1.0.1 process: 0.11.10 semver: 7.6.3 - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) - style-loader: 3.3.4(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)) - terser-webpack-plugin: 5.3.10(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) + style-loader: 3.3.4(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)) + terser-webpack-plugin: 5.3.10(@swc/core@1.9.3)(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)) ts-dedent: 2.2.0 url: 0.11.4 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0) - webpack-dev-middleware: 6.1.3(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)) + webpack: 5.96.1(@swc/core@1.9.3)(esbuild@0.24.0) + webpack-dev-middleware: 6.1.3(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.6.2 optionalDependencies: @@ -19794,14 +19812,14 @@ snapshots: dependencies: storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) - '@storybook/components@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/components@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) - '@storybook/core-webpack@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/core-webpack@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: '@types/node': 22.10.1 - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) ts-dedent: 2.2.0 '@storybook/core@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)': @@ -19824,7 +19842,7 @@ snapshots: - supports-color - utf-8-validate - '@storybook/core@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)': + '@storybook/core@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)': dependencies: '@storybook/csf': 0.1.12 better-opn: 3.0.2 @@ -19838,7 +19856,7 @@ snapshots: util: 0.12.5 ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) optionalDependencies: - prettier: 3.4.2 + prettier: 3.4.1 transitivePeerDependencies: - bufferutil - supports-color @@ -19849,9 +19867,9 @@ snapshots: storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) unplugin: 1.16.0 - '@storybook/csf-plugin@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/csf-plugin@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) unplugin: 1.16.0 '@storybook/csf@0.1.12': @@ -19876,21 +19894,21 @@ snapshots: '@vitest/utils': 2.1.8 storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) - '@storybook/instrumenter@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/instrumenter@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: '@storybook/global': 5.0.0 '@vitest/utils': 2.1.8 - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) '@storybook/manager-api@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))': dependencies: storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) - '@storybook/manager-api@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/manager-api@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) - '@storybook/nextjs@8.4.7(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)(next@15.0.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.0)(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.8)(prettier@3.4.2)(utf-8-validate@5.0.10))(type-fest@4.30.0)(typescript@5.7.2)(webpack-hot-middleware@2.26.1)(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0))': + '@storybook/nextjs@8.4.7(@swc/core@1.9.3)(esbuild@0.24.0)(next@15.0.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.0)(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.8)(prettier@3.4.1)(utf-8-validate@5.0.10))(type-fest@4.29.1)(typescript@5.7.2)(webpack-hot-middleware@2.26.1)(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.0) @@ -19902,34 +19920,34 @@ snapshots: '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-runtime': 7.25.9(@babel/core@7.26.0) '@babel/preset-env': 7.26.0(@babel/core@7.26.0) - '@babel/preset-react': 7.26.3(@babel/core@7.26.0) + '@babel/preset-react': 7.25.9(@babel/core@7.26.0) '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0) '@babel/runtime': 7.26.0 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(type-fest@4.30.0)(webpack-hot-middleware@2.26.1)(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)) - '@storybook/builder-webpack5': 8.4.7(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.2) - '@storybook/preset-react-webpack': 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)))(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.2) - '@storybook/react': 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(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.8)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.2) - '@storybook/test': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(type-fest@4.29.1)(webpack-hot-middleware@2.26.1)(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)) + '@storybook/builder-webpack5': 8.4.7(@swc/core@1.9.3)(esbuild@0.24.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))(typescript@5.7.2) + '@storybook/preset-react-webpack': 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)))(@swc/core@1.9.3)(esbuild@0.24.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))(typescript@5.7.2) + '@storybook/react': 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(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.8)(prettier@3.4.1)(utf-8-validate@5.0.10))(typescript@5.7.2) + '@storybook/test': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) '@types/node': 22.10.1 '@types/semver': 7.5.8 - babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)) - css-loader: 6.11.0(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)) + babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)) + css-loader: 6.11.0(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)) find-up: 5.0.0 image-size: 1.1.1 loader-utils: 3.3.1 next: 15.0.4(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.0)(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.0(@swc/helpers@0.5.15))(esbuild@0.24.0)) + node-polyfill-webpack-plugin: 2.0.1(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)) pnp-webpack-plugin: 1.7.0(typescript@5.7.2) postcss: 8.4.49 - postcss-loader: 8.1.1(postcss@8.4.49)(typescript@5.7.2)(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)) + postcss-loader: 8.1.1(postcss@8.4.49)(typescript@5.7.2)(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) react-refresh: 0.14.2 resolve-url-loader: 5.0.0 - sass-loader: 13.3.3(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)) + sass-loader: 13.3.3(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)) semver: 7.6.3 - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) - style-loader: 3.3.4(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) + style-loader: 3.3.4(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)) styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.0.0) ts-dedent: 2.2.0 tsconfig-paths: 4.2.0 @@ -19937,7 +19955,7 @@ snapshots: optionalDependencies: sharp: 0.33.5 typescript: 5.7.2 - webpack: 5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.9.3)(esbuild@0.24.0) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -19957,11 +19975,11 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/preset-react-webpack@8.4.7(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)))(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.2)': + '@storybook/preset-react-webpack@8.4.7(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)))(@swc/core@1.9.3)(esbuild@0.24.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))(typescript@5.7.2)': dependencies: - '@storybook/core-webpack': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) - '@storybook/react': 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(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.8)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.2) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.7.2)(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)) + '@storybook/core-webpack': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) + '@storybook/react': 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(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.8)(prettier@3.4.1)(utf-8-validate@5.0.10))(typescript@5.7.2) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.7.2)(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)) '@types/node': 22.10.1 '@types/semver': 7.5.8 find-up: 5.0.0 @@ -19971,9 +19989,9 @@ snapshots: react-dom: 19.0.0(react@19.0.0) resolve: 1.22.8 semver: 7.6.3 - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) tsconfig-paths: 4.2.0 - webpack: 5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.9.3)(esbuild@0.24.0) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -19988,11 +20006,11 @@ snapshots: dependencies: storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) - '@storybook/preview-api@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/preview-api@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) - '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.7.2)(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0))': + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.7.2)(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0))': dependencies: debug: 4.3.7(supports-color@8.1.1) endent: 2.1.0 @@ -20002,7 +20020,7 @@ snapshots: react-docgen-typescript: 2.2.2(typescript@5.7.2) tslib: 2.8.1 typescript: 5.7.2 - webpack: 5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.9.3)(esbuild@0.24.0) transitivePeerDependencies: - supports-color @@ -20012,11 +20030,11 @@ snapshots: react-dom: 18.3.1(react@18.3.1) storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) - '@storybook/react-dom-shim@8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/react-dom-shim@8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) '@storybook/react-dom-shim@8.4.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))': dependencies: @@ -20024,17 +20042,17 @@ snapshots: react-dom: 19.0.0(react@19.0.0) storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) - '@storybook/react-dom-shim@8.4.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/react-dom-shim@8.4.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) - '@storybook/react-vite@8.4.7(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(rollup@4.28.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(typescript@5.7.2)(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': + '@storybook/react-vite@8.4.7(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(rollup@4.28.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(typescript@5.7.2)(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.4.2(typescript@5.7.2)(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.4.2(typescript@5.7.2)(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)) '@rollup/pluginutils': 5.1.3(rollup@4.28.0) - '@storybook/builder-vite': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + '@storybook/builder-vite': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)) '@storybook/react': 8.4.7(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(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.8)(prettier@3.3.3)(utf-8-validate@5.0.10))(typescript@5.7.2) find-up: 5.0.0 magic-string: 0.30.14 @@ -20044,7 +20062,7 @@ snapshots: resolve: 1.22.8 storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) tsconfig-paths: 4.2.0 - vite: 6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - '@storybook/test' - rollup @@ -20066,19 +20084,19 @@ snapshots: '@storybook/test': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)) typescript: 5.7.2 - '@storybook/react@8.4.7(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(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.8)(prettier@3.4.2)(utf-8-validate@5.0.10))(typescript@5.7.2)': + '@storybook/react@8.4.7(@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(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.8)(prettier@3.4.1)(utf-8-validate@5.0.10))(typescript@5.7.2)': dependencies: - '@storybook/components': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) + '@storybook/components': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) '@storybook/global': 5.0.0 - '@storybook/manager-api': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) - '@storybook/preview-api': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) - '@storybook/react-dom-shim': 8.4.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) - '@storybook/theming': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) + '@storybook/manager-api': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) + '@storybook/preview-api': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) + '@storybook/react-dom-shim': 8.4.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) + '@storybook/theming': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) optionalDependencies: - '@storybook/test': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) + '@storybook/test': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) typescript: 5.7.2 '@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))': @@ -20093,25 +20111,25 @@ snapshots: '@vitest/spy': 2.0.5 storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) - '@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/test@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: '@storybook/csf': 0.1.12 '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) + '@storybook/instrumenter': 8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10)) '@testing-library/dom': 10.4.0 '@testing-library/jest-dom': 6.5.0 '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) '@vitest/expect': 2.0.5 '@vitest/spy': 2.0.5 - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) '@storybook/theming@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10))': dependencies: storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10) - '@storybook/theming@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10))': + '@storybook/theming@8.4.7(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10))': dependencies: - storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) '@swagger-api/apidom-ast@1.0.0-beta.3': dependencies: @@ -20460,52 +20478,51 @@ snapshots: - debug - tree_sitter - '@swc/core-darwin-arm64@1.10.0': + '@swc/core-darwin-arm64@1.9.3': optional: true - '@swc/core-darwin-x64@1.10.0': + '@swc/core-darwin-x64@1.9.3': optional: true - '@swc/core-linux-arm-gnueabihf@1.10.0': + '@swc/core-linux-arm-gnueabihf@1.9.3': optional: true - '@swc/core-linux-arm64-gnu@1.10.0': + '@swc/core-linux-arm64-gnu@1.9.3': optional: true - '@swc/core-linux-arm64-musl@1.10.0': + '@swc/core-linux-arm64-musl@1.9.3': optional: true - '@swc/core-linux-x64-gnu@1.10.0': + '@swc/core-linux-x64-gnu@1.9.3': optional: true - '@swc/core-linux-x64-musl@1.10.0': + '@swc/core-linux-x64-musl@1.9.3': optional: true - '@swc/core-win32-arm64-msvc@1.10.0': + '@swc/core-win32-arm64-msvc@1.9.3': optional: true - '@swc/core-win32-ia32-msvc@1.10.0': + '@swc/core-win32-ia32-msvc@1.9.3': optional: true - '@swc/core-win32-x64-msvc@1.10.0': + '@swc/core-win32-x64-msvc@1.9.3': optional: true - '@swc/core@1.10.0(@swc/helpers@0.5.15)': + '@swc/core@1.9.3': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.17 optionalDependencies: - '@swc/core-darwin-arm64': 1.10.0 - '@swc/core-darwin-x64': 1.10.0 - '@swc/core-linux-arm-gnueabihf': 1.10.0 - '@swc/core-linux-arm64-gnu': 1.10.0 - '@swc/core-linux-arm64-musl': 1.10.0 - '@swc/core-linux-x64-gnu': 1.10.0 - '@swc/core-linux-x64-musl': 1.10.0 - '@swc/core-win32-arm64-msvc': 1.10.0 - '@swc/core-win32-ia32-msvc': 1.10.0 - '@swc/core-win32-x64-msvc': 1.10.0 - '@swc/helpers': 0.5.15 + '@swc/core-darwin-arm64': 1.9.3 + '@swc/core-darwin-x64': 1.9.3 + '@swc/core-linux-arm-gnueabihf': 1.9.3 + '@swc/core-linux-arm64-gnu': 1.9.3 + '@swc/core-linux-arm64-musl': 1.9.3 + '@swc/core-linux-x64-gnu': 1.9.3 + '@swc/core-linux-x64-musl': 1.9.3 + '@swc/core-win32-arm64-msvc': 1.9.3 + '@swc/core-win32-ia32-msvc': 1.9.3 + '@swc/core-win32-x64-msvc': 1.9.3 optional: true '@swc/counter@0.1.3': {} @@ -20514,11 +20531,6 @@ snapshots: dependencies: tslib: 2.8.1 - '@swc/helpers@0.5.15': - dependencies: - tslib: 2.8.1 - optional: true - '@swc/types@0.1.17': dependencies: '@swc/counter': 0.1.3 @@ -20621,24 +20633,24 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.26.3 + '@babel/types': 7.26.0 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.26.3 + '@babel/types': 7.26.0 '@types/cli-progress@3.11.6': dependencies: @@ -20921,7 +20933,7 @@ snapshots: graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.4.3(typescript@5.7.2) + ts-api-utils: 1.4.0(typescript@5.7.2) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -20931,7 +20943,7 @@ snapshots: dependencies: '@typescript-eslint/scope-manager': 7.14.1 '@typescript-eslint/types': 7.14.1 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.7.2) '@typescript-eslint/visitor-keys': 7.14.1 debug: 4.3.7(supports-color@8.1.1) eslint: 8.57.0 @@ -20945,18 +20957,18 @@ snapshots: '@typescript-eslint/types': 7.14.1 '@typescript-eslint/visitor-keys': 7.14.1 - '@typescript-eslint/scope-manager@8.17.0': + '@typescript-eslint/scope-manager@8.16.0': dependencies: - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/visitor-keys': 8.17.0 + '@typescript-eslint/types': 8.16.0 + '@typescript-eslint/visitor-keys': 8.16.0 '@typescript-eslint/type-utils@7.14.1(eslint@8.57.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.7.2) '@typescript-eslint/utils': 7.14.1(eslint@8.57.0)(typescript@5.7.2) debug: 4.3.7(supports-color@8.1.1) eslint: 8.57.0 - ts-api-utils: 1.4.3(typescript@5.7.2) + ts-api-utils: 1.4.0(typescript@5.7.2) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -20964,20 +20976,18 @@ snapshots: '@typescript-eslint/types@7.14.1': {} - '@typescript-eslint/types@7.18.0': {} + '@typescript-eslint/types@8.16.0': {} - '@typescript-eslint/types@8.17.0': {} - - '@typescript-eslint/typescript-estree@7.18.0(typescript@5.7.2)': + '@typescript-eslint/typescript-estree@7.14.1(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/visitor-keys': 7.18.0 + '@typescript-eslint/types': 7.14.1 + '@typescript-eslint/visitor-keys': 7.14.1 debug: 4.3.7(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.4.3(typescript@5.7.2) + ts-api-utils: 1.4.0(typescript@5.7.2) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -20988,18 +20998,18 @@ snapshots: '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.0) '@typescript-eslint/scope-manager': 7.14.1 '@typescript-eslint/types': 7.14.1 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.7.2) eslint: 8.57.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.17.0(eslint@8.57.0)(typescript@5.7.2)': + '@typescript-eslint/utils@8.16.0(eslint@8.57.0)(typescript@5.7.2)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.0) - '@typescript-eslint/scope-manager': 8.17.0 - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.16.0 + '@typescript-eslint/types': 8.16.0 + '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.7.2) eslint: 8.57.0 optionalDependencies: typescript: 5.7.2 @@ -21011,14 +21021,9 @@ snapshots: '@typescript-eslint/types': 7.14.1 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.18.0': + '@typescript-eslint/visitor-keys@8.16.0': dependencies: - '@typescript-eslint/types': 7.18.0 - eslint-visitor-keys: 3.4.3 - - '@typescript-eslint/visitor-keys@8.17.0': - dependencies: - '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/types': 8.16.0 eslint-visitor-keys: 4.2.0 '@ungap/structured-clone@1.2.0': {} @@ -21035,7 +21040,7 @@ snapshots: '@urql/core': 5.0.8(graphql@16.9.0) wonka: 6.3.4 - '@vercel/functions@1.5.1(@aws-sdk/credential-provider-web-identity@3.696.0(@aws-sdk/client-sts@3.699.0))': + '@vercel/functions@1.5.1(@aws-sdk/credential-provider-web-identity@3.696.0)': optionalDependencies: '@aws-sdk/credential-provider-web-identity': 3.696.0(@aws-sdk/client-sts@3.699.0) @@ -21056,18 +21061,18 @@ snapshots: - debug - utf-8-validate - '@vitejs/plugin-react@4.3.4(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': + '@vitejs/plugin-react@4.3.4(vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@2.1.8(vitest@2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.37.0))': + '@vitest/coverage-v8@2.1.8(vitest@2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.36.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -21081,7 +21086,7 @@ snapshots: std-env: 3.8.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.37.0) + vitest: 2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.36.0) transitivePeerDependencies: - supports-color @@ -21099,14 +21104,14 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.8(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(vite@5.4.11(@types/node@22.10.1)(lightningcss@1.28.2)(terser@5.37.0))': + '@vitest/mocker@2.1.8(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(vite@5.4.11(@types/node@22.10.1)(lightningcss@1.28.2)(terser@5.36.0))': dependencies: '@vitest/spy': 2.1.8 estree-walker: 3.0.3 magic-string: 0.30.14 optionalDependencies: msw: 2.6.6(@types/node@22.10.1)(typescript@5.7.2) - vite: 5.4.11(@types/node@22.10.1)(lightningcss@1.28.2)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.1)(lightningcss@1.28.2)(terser@5.36.0) '@vitest/pretty-format@2.0.5': dependencies: @@ -21144,7 +21149,7 @@ snapshots: sirv: 3.0.0 tinyglobby: 0.2.10 tinyrainbow: 1.2.0 - vitest: 2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.37.0) + vitest: 2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.36.0) '@vitest/utils@2.0.5': dependencies: @@ -21159,21 +21164,21 @@ snapshots: loupe: 3.1.2 tinyrainbow: 1.2.0 - '@walletconnect/core@2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(ioredis@5.4.1)(utf-8-validate@5.0.10)': + '@walletconnect/core@2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(ioredis@5.4.1)(utf-8-validate@5.0.10)': dependencies: '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/jsonrpc-ws-connection': 1.0.14(bufferutil@4.0.8)(utf-8-validate@5.0.10) - '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) + '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) '@walletconnect/logger': 2.1.2 '@walletconnect/relay-api': 1.0.11 '@walletconnect/relay-auth': 1.0.4 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) - '@walletconnect/utils': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) + '@walletconnect/types': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) + '@walletconnect/utils': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) '@walletconnect/window-getters': 1.0.1 events: 3.3.0 lodash.isequal: 4.5.0 @@ -21199,18 +21204,18 @@ snapshots: dependencies: tslib: 1.14.1 - '@walletconnect/ethereum-provider@2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(@types/react@19.0.0)(bufferutil@4.0.8)(ioredis@5.4.1)(react@19.0.0)(utf-8-validate@5.0.10)': + '@walletconnect/ethereum-provider@2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(@types/react@19.0.0)(bufferutil@4.0.8)(ioredis@5.4.1)(react@19.0.0)(utf-8-validate@5.0.10)': dependencies: '@walletconnect/jsonrpc-http-connection': 1.0.8 '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) + '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) '@walletconnect/modal': 2.7.0(@types/react@19.0.0)(react@19.0.0) - '@walletconnect/sign-client': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(ioredis@5.4.1)(utf-8-validate@5.0.10) - '@walletconnect/types': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) - '@walletconnect/universal-provider': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(ioredis@5.4.1)(utf-8-validate@5.0.10) - '@walletconnect/utils': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) + '@walletconnect/sign-client': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(ioredis@5.4.1)(utf-8-validate@5.0.10) + '@walletconnect/types': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) + '@walletconnect/universal-provider': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(ioredis@5.4.1)(utf-8-validate@5.0.10) + '@walletconnect/utils': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) events: 3.3.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -21279,13 +21284,13 @@ snapshots: - bufferutil - utf-8-validate - '@walletconnect/keyvaluestorage@1.1.1(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1)': + '@walletconnect/keyvaluestorage@1.1.1(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1)': dependencies: '@walletconnect/safe-json': 1.0.2 idb-keyval: 6.2.1 unstorage: 1.12.0(idb-keyval@6.2.1)(ioredis@5.4.1) optionalDependencies: - '@react-native-async-storage/async-storage': 2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) + '@react-native-async-storage/async-storage': 2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -21330,17 +21335,17 @@ snapshots: - '@types/react' - react - '@walletconnect/react-native-compat@2.17.2(nryb4gs35jmjz7vvj54qqgp454)': + '@walletconnect/react-native-compat@2.17.2(q4mjz3cvtmg5xkydeoqroglple)': dependencies: - '@react-native-async-storage/async-storage': 2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) - '@react-native-community/netinfo': 11.4.1(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) + '@react-native-async-storage/async-storage': 2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) + '@react-native-community/netinfo': 11.4.1(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) events: 3.3.0 fast-text-encoding: 1.0.6 - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) - react-native-get-random-values: 1.11.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) - react-native-url-polyfill: 2.0.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + react-native-get-random-values: 1.11.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) + react-native-url-polyfill: 2.0.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) optionalDependencies: - expo-application: 5.9.1(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10)) + expo-application: 5.9.1(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10)) '@walletconnect/relay-api@1.0.11': dependencies: @@ -21359,16 +21364,16 @@ snapshots: dependencies: tslib: 1.14.1 - '@walletconnect/sign-client@2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(ioredis@5.4.1)(utf-8-validate@5.0.10)': + '@walletconnect/sign-client@2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(ioredis@5.4.1)(utf-8-validate@5.0.10)': dependencies: - '@walletconnect/core': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(ioredis@5.4.1)(utf-8-validate@5.0.10) + '@walletconnect/core': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(ioredis@5.4.1)(utf-8-validate@5.0.10) '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/logger': 2.1.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) - '@walletconnect/utils': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) + '@walletconnect/types': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) + '@walletconnect/utils': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) events: 3.3.0 transitivePeerDependencies: - '@azure/app-configuration' @@ -21391,12 +21396,12 @@ snapshots: dependencies: tslib: 1.14.1 - '@walletconnect/types@2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1)': + '@walletconnect/types@2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1)': dependencies: '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.2 '@walletconnect/jsonrpc-types': 1.0.4 - '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) + '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) '@walletconnect/logger': 2.1.2 events: 3.3.0 transitivePeerDependencies: @@ -21414,18 +21419,18 @@ snapshots: - '@vercel/kv' - ioredis - '@walletconnect/universal-provider@2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(ioredis@5.4.1)(utf-8-validate@5.0.10)': + '@walletconnect/universal-provider@2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(ioredis@5.4.1)(utf-8-validate@5.0.10)': dependencies: '@walletconnect/events': 1.0.1 '@walletconnect/jsonrpc-http-connection': 1.0.8 '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) + '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) '@walletconnect/logger': 2.1.2 - '@walletconnect/sign-client': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(ioredis@5.4.1)(utf-8-validate@5.0.10) - '@walletconnect/types': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) - '@walletconnect/utils': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) + '@walletconnect/sign-client': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(bufferutil@4.0.8)(ioredis@5.4.1)(utf-8-validate@5.0.10) + '@walletconnect/types': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) + '@walletconnect/utils': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) events: 3.3.0 lodash: 4.17.21 transitivePeerDependencies: @@ -21446,7 +21451,7 @@ snapshots: - ioredis - utf-8-validate - '@walletconnect/utils@2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1)': + '@walletconnect/utils@2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1)': dependencies: '@ethersproject/hash': 5.7.0 '@ethersproject/transactions': 5.7.0 @@ -21456,12 +21461,12 @@ snapshots: '@stablelib/sha256': 1.0.1 '@stablelib/x25519': 1.0.3 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) + '@walletconnect/keyvaluestorage': 1.1.1(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) '@walletconnect/relay-api': 1.0.11 '@walletconnect/relay-auth': 1.0.4 '@walletconnect/safe-json': 1.0.2 '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) + '@walletconnect/types': 2.17.2(@react-native-async-storage/async-storage@2.1.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)))(ioredis@5.4.1) '@walletconnect/window-getters': 1.0.1 '@walletconnect/window-metadata': 1.0.1 detect-browser: 5.3.0 @@ -21754,10 +21759,10 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.3 es-object-atoms: 1.0.0 get-intrinsic: 1.2.4 - is-string: 1.1.0 + is-string: 1.0.7 array-union@2.1.0: {} @@ -21765,7 +21770,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.3 es-errors: 1.3.0 es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 @@ -21774,7 +21779,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.3 es-errors: 1.3.0 es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 @@ -21783,21 +21788,21 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 array.prototype.flatmap@1.3.2: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 array.prototype.tosorted@1.1.4: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.3 es-errors: 1.3.0 es-shim-unscopables: 1.0.2 @@ -21806,7 +21811,7 @@ snapshots: array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.3 es-errors: 1.3.0 get-intrinsic: 1.2.4 is-array-buffer: 3.0.4 @@ -21867,7 +21872,7 @@ snapshots: autoprefixer@10.4.20(postcss@8.4.49): dependencies: browserslist: 4.24.2 - caniuse-lite: 1.0.30001686 + caniuse-lite: 1.0.30001678 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 @@ -21919,12 +21924,12 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)): + babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)): dependencies: '@babel/core': 7.26.0 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.9.3)(esbuild@0.24.0) babel-plugin-istanbul@6.1.1: dependencies: @@ -21939,7 +21944,7 @@ snapshots: babel-plugin-jest-hoist@29.6.3: dependencies: '@babel/template': 7.25.9 - '@babel/types': 7.26.3 + '@babel/types': 7.26.0 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 @@ -21951,7 +21956,7 @@ snapshots: babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0): dependencies: - '@babel/compat-data': 7.26.3 + '@babel/compat-data': 7.26.2 '@babel/core': 7.26.0 '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) semver: 7.6.3 @@ -22008,13 +22013,13 @@ snapshots: '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.0) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.0) - babel-preset-expo@12.0.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)): + babel-preset-expo@12.0.2(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)): dependencies: '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) - '@babel/preset-react': 7.26.3(@babel/core@7.26.0) + '@babel/preset-react': 7.25.9(@babel/core@7.26.0) '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0) '@react-native/babel-preset': 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) babel-plugin-react-native-web: 0.19.13 @@ -22199,7 +22204,7 @@ snapshots: browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001686 + caniuse-lite: 1.0.30001678 electron-to-chromium: 1.5.44 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -22317,7 +22322,7 @@ snapshots: camelize@1.0.1: {} - caniuse-lite@1.0.30001686: {} + caniuse-lite@1.0.30001678: {} cardinal@2.1.1: dependencies: @@ -22385,14 +22390,14 @@ snapshots: check-error@2.1.1: {} - checkly@4.14.0(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10): + checkly@4.14.0(@swc/core@1.9.3)(@types/node@22.10.1)(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10): dependencies: - '@oclif/core': 2.8.11(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2) + '@oclif/core': 2.8.11(@swc/core@1.9.3)(@types/node@22.10.1)(typescript@5.7.2) '@oclif/plugin-help': 5.1.20 - '@oclif/plugin-not-found': 2.3.23(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2) + '@oclif/plugin-not-found': 2.3.23(@swc/core@1.9.3)(@types/node@22.10.1)(typescript@5.7.2) '@oclif/plugin-plugins': 5.4.4 - '@oclif/plugin-warn-if-update-available': 2.0.24(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2) - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) + '@oclif/plugin-warn-if-update-available': 2.0.24(@swc/core@1.9.3)(@types/node@22.10.1)(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.7.2) acorn: 8.8.1 acorn-walk: 8.2.0 axios: 1.7.4 @@ -22837,7 +22842,7 @@ snapshots: css-gradient-parser@0.0.16: {} - css-loader@6.11.0(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)): + css-loader@6.11.0(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)): dependencies: icss-utils: 5.1.0(postcss@8.4.49) postcss: 8.4.49 @@ -22848,7 +22853,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.6.3 optionalDependencies: - webpack: 5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.9.3)(esbuild@0.24.0) css-select@4.3.0: dependencies: @@ -23012,7 +23017,7 @@ snapshots: dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 - gopd: 1.2.0 + gopd: 1.0.1 define-lazy-prop@2.0.0: {} @@ -23306,7 +23311,7 @@ snapshots: escape-html: 1.0.3 optional: true - es-abstract@1.23.5: + es-abstract@1.23.3: dependencies: array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.3 @@ -23319,27 +23324,27 @@ snapshots: es-errors: 1.3.0 es-object-atoms: 1.0.0 es-set-tostringtag: 2.0.3 - es-to-primitive: 1.3.0 + es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 get-intrinsic: 1.2.4 get-symbol-description: 1.0.2 globalthis: 1.0.4 - gopd: 1.2.0 + gopd: 1.0.1 has-property-descriptors: 1.0.2 - has-proto: 1.1.0 - has-symbols: 1.1.0 + has-proto: 1.0.3 + has-symbols: 1.0.3 hasown: 2.0.2 internal-slot: 1.0.7 is-array-buffer: 3.0.4 is-callable: 1.2.7 is-data-view: 1.0.1 is-negative-zero: 2.0.3 - is-regex: 1.2.0 + is-regex: 1.1.4 is-shared-array-buffer: 1.0.3 - is-string: 1.1.0 + is-string: 1.0.7 is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.13.3 + object-inspect: 1.13.2 object-keys: 1.1.1 object.assign: 4.1.5 regexp.prototype.flags: 1.5.3 @@ -23350,10 +23355,10 @@ snapshots: string.prototype.trimstart: 1.0.8 typed-array-buffer: 1.0.2 typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.3 - typed-array-length: 1.0.7 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 unbox-primitive: 1.0.2 - which-typed-array: 1.1.16 + which-typed-array: 1.1.15 es-define-property@1.0.0: dependencies: @@ -23365,16 +23370,16 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.3 es-errors: 1.3.0 es-set-tostringtag: 2.0.3 function-bind: 1.1.2 get-intrinsic: 1.2.4 globalthis: 1.0.4 - gopd: 1.2.0 + gopd: 1.0.1 has-property-descriptors: 1.0.2 - has-proto: 1.1.0 - has-symbols: 1.1.0 + has-proto: 1.0.3 + has-symbols: 1.0.3 internal-slot: 1.0.7 iterator.prototype: 1.1.3 safe-array-concat: 1.1.2 @@ -23395,11 +23400,11 @@ snapshots: dependencies: hasown: 2.0.2 - es-to-primitive@1.3.0: + es-to-primitive@1.2.1: dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 - is-symbol: 1.1.0 + is-symbol: 1.0.4 esbuild-register@3.6.0(esbuild@0.24.0): dependencies: @@ -23546,11 +23551,11 @@ snapshots: '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.7.2) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.0) eslint-plugin-react: 7.37.2(eslint@8.57.0) - eslint-plugin-react-hooks: 5.1.0(eslint@8.57.0) + eslint-plugin-react-hooks: 5.0.0(eslint@8.57.0) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -23566,20 +23571,23 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.0): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.3.7(supports-color@8.1.1) enhanced-resolve: 5.17.1 eslint: 8.57.0 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.0))(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.8.1 - is-bun-module: 1.3.0 + is-bun-module: 1.2.1 is-glob: 4.0.3 - stable-hash: 0.0.4 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-node + - eslint-import-resolver-webpack - supports-color eslint-mdx@3.1.5(eslint@8.57.0): @@ -23603,18 +23611,18 @@ snapshots: - bluebird - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.7.2) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.0) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -23625,7 +23633,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.0))(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -23687,7 +23695,7 @@ snapshots: eslint-plugin-react-compiler@19.0.0-beta-df7b47d-20241124(eslint@8.57.0): dependencies: '@babel/core': 7.26.0 - '@babel/parser': 7.26.3 + '@babel/parser': 7.26.2 '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0) eslint: 8.57.0 hermes-parser: 0.25.1 @@ -23696,7 +23704,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-react-hooks@5.1.0(eslint@8.57.0): + eslint-plugin-react-hooks@5.0.0(eslint@8.57.0): dependencies: eslint: 8.57.0 @@ -23725,7 +23733,7 @@ snapshots: eslint-plugin-storybook@0.11.1(eslint@8.57.0)(typescript@5.7.2): dependencies: '@storybook/csf': 0.1.12 - '@typescript-eslint/utils': 8.17.0(eslint@8.57.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.16.0(eslint@8.57.0)(typescript@5.7.2) eslint: 8.57.0 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -23734,11 +23742,11 @@ snapshots: eslint-plugin-svg-jsx@1.2.4: {} - eslint-plugin-tailwindcss@3.17.5(tailwindcss@3.4.16(ts-node@10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2))): + eslint-plugin-tailwindcss@3.17.5(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))): dependencies: fast-glob: 3.3.2 postcss: 8.4.49 - tailwindcss: 3.4.16(ts-node@10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2)) + tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2)) eslint-scope@5.1.1: dependencies: @@ -23985,75 +23993,75 @@ snapshots: expect-type@1.1.0: {} - expo-application@5.9.1(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10)): + expo-application@5.9.1(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10)): dependencies: - expo: 52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) + expo: 52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) - expo-asset@11.0.1(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): + expo-asset@11.0.1(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): dependencies: '@expo/image-utils': 0.6.3 - expo: 52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) - expo-constants: 17.0.3(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) + expo: 52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) + expo-constants: 17.0.3(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) invariant: 2.2.4 md5-file: 3.2.3 react: 19.0.0 - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) transitivePeerDependencies: - supports-color - expo-constants@16.0.2(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10)): + expo-constants@16.0.2(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10)): dependencies: '@expo/config': 9.0.4 '@expo/env': 0.3.0 - expo: 52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) + expo: 52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) transitivePeerDependencies: - supports-color - expo-constants@17.0.3(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)): + expo-constants@17.0.3(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)): dependencies: - '@expo/config': 10.0.6 + '@expo/config': 10.0.5 '@expo/env': 0.4.0 - expo: 52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + expo: 52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) transitivePeerDependencies: - supports-color - expo-file-system@18.0.4(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)): + expo-file-system@18.0.4(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)): dependencies: - expo: 52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + expo: 52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) web-streams-polyfill: 3.3.3 - expo-font@13.0.1(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): + expo-font@13.0.1(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): dependencies: - expo: 52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) + expo: 52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) fontfaceobserver: 2.3.0 react: 19.0.0 - expo-keep-awake@14.0.1(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): + expo-keep-awake@14.0.1(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): dependencies: - expo: 52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) + expo: 52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) react: 19.0.0 - expo-linking@6.3.1(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10)): + expo-linking@6.3.1(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10)): dependencies: - expo-constants: 16.0.2(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10)) + expo-constants: 16.0.2(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10)) invariant: 2.2.4 transitivePeerDependencies: - expo - supports-color - expo-linking@7.0.3(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): + expo-linking@7.0.3(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): dependencies: - expo-constants: 17.0.3(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) + expo-constants: 17.0.3(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) invariant: 2.2.4 react: 19.0.0 - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) transitivePeerDependencies: - expo - supports-color - expo-modules-autolinking@2.0.3: + expo-modules-autolinking@2.0.2: dependencies: '@expo/spawn-async': 1.7.2 chalk: 4.1.2 @@ -24064,35 +24072,35 @@ snapshots: require-from-string: 2.0.2 resolve-from: 5.0.0 - expo-modules-core@2.1.1: + expo-modules-core@2.0.6: dependencies: invariant: 2.2.4 - expo-web-browser@14.0.1(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)): + expo-web-browser@14.0.1(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)): dependencies: - expo: 52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + expo: 52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) - expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10): + expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10): dependencies: '@babel/runtime': 7.26.0 - '@expo/cli': 0.22.3(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@5.0.10) - '@expo/config': 10.0.6 - '@expo/config-plugins': 9.0.12 - '@expo/fingerprint': 0.11.3 - '@expo/metro-config': 0.19.6 + '@expo/cli': 0.21.8(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@5.0.10) + '@expo/config': 10.0.5 + '@expo/config-plugins': 9.0.10 + '@expo/fingerprint': 0.11.2 + '@expo/metro-config': 0.19.4 '@expo/vector-icons': 14.0.4 - babel-preset-expo: 12.0.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) - expo-asset: 11.0.1(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) - expo-constants: 17.0.3(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) - expo-file-system: 18.0.4(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) - expo-font: 13.0.1(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) - expo-keep-awake: 14.0.1(expo@52.0.17(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) - expo-modules-autolinking: 2.0.3 - expo-modules-core: 2.1.1 + babel-preset-expo: 12.0.2(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + expo-asset: 11.0.1(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) + expo-constants: 17.0.3(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) + expo-file-system: 18.0.4(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)) + expo-font: 13.0.1(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) + expo-keep-awake: 14.0.1(expo@52.0.11(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(bufferutil@4.0.8)(graphql@16.9.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) + expo-modules-autolinking: 2.0.2 + expo-modules-core: 2.0.6 fbemitter: 3.0.0 react: 19.0.0 - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) web-streams-polyfill: 3.3.3 whatwg-url-without-unicode: 8.0.0-3 transitivePeerDependencies: @@ -24342,7 +24350,7 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - fork-ts-checker-webpack-plugin@8.0.0(typescript@5.7.2)(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)): + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.7.2)(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)): dependencies: '@babel/code-frame': 7.26.2 chalk: 4.1.2 @@ -24357,7 +24365,7 @@ snapshots: semver: 7.6.3 tapable: 2.2.1 typescript: 5.7.2 - webpack: 5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.9.3)(esbuild@0.24.0) form-data-encoder@2.1.4: {} @@ -24457,7 +24465,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.3 functions-have-names: 1.2.3 functions-have-names@1.2.3: {} @@ -24472,8 +24480,8 @@ snapshots: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 - has-proto: 1.1.0 - has-symbols: 1.1.0 + has-proto: 1.0.3 + has-symbols: 1.0.3 hasown: 2.0.2 get-nonce@1.0.1: {} @@ -24597,7 +24605,7 @@ snapshots: globalthis@1.0.4: dependencies: define-properties: 1.2.1 - gopd: 1.2.0 + gopd: 1.0.1 globby@11.1.0: dependencies: @@ -24608,7 +24616,9 @@ snapshots: merge2: 1.4.1 slash: 3.0.0 - gopd@1.2.0: {} + gopd@1.0.1: + dependencies: + get-intrinsic: 1.2.4 got@12.6.1: dependencies: @@ -24665,15 +24675,13 @@ snapshots: dependencies: es-define-property: 1.0.0 - has-proto@1.1.0: - dependencies: - call-bind: 1.0.7 + has-proto@1.0.3: {} - has-symbols@1.1.0: {} + has-symbols@1.0.3: {} has-tostringtag@1.0.2: dependencies: - has-symbols: 1.1.0 + has-symbols: 1.0.3 has-yarn@3.0.0: {} @@ -24819,13 +24827,13 @@ snapshots: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.37.0 + terser: 5.36.0 html-url-attributes@3.0.0: {} html-void-elements@3.0.0: {} - html-webpack-plugin@5.6.3(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)): + html-webpack-plugin@5.6.3(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -24833,7 +24841,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.9.3)(esbuild@0.24.0) htmlparser2@3.10.1: dependencies: @@ -25063,7 +25071,7 @@ snapshots: dependencies: has-tostringtag: 1.0.2 - is-bigint@1.1.0: + is-bigint@1.0.4: dependencies: has-bigints: 1.0.2 @@ -25071,7 +25079,7 @@ snapshots: dependencies: binary-extensions: 2.3.0 - is-boolean-object@1.2.0: + is-boolean-object@1.1.2: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 @@ -25080,7 +25088,7 @@ snapshots: is-buffer@2.0.5: {} - is-bun-module@1.3.0: + is-bun-module@1.2.1: dependencies: semver: 7.6.3 @@ -25116,7 +25124,7 @@ snapshots: is-extglob@2.1.1: {} - is-finalizationregistry@1.1.0: + is-finalizationregistry@1.0.2: dependencies: call-bind: 1.0.7 @@ -25161,9 +25169,8 @@ snapshots: is-npm@6.0.0: {} - is-number-object@1.1.0: + is-number-object@1.0.7: dependencies: - call-bind: 1.0.7 has-tostringtag: 1.0.2 is-number@7.0.0: {} @@ -25192,12 +25199,10 @@ snapshots: dependencies: '@types/estree': 1.0.6 - is-regex@1.2.0: + is-regex@1.1.4: dependencies: call-bind: 1.0.7 - gopd: 1.2.0 has-tostringtag: 1.0.2 - hasown: 2.0.2 is-retry-allowed@1.2.0: {} @@ -25213,24 +25218,21 @@ snapshots: is-stream@3.0.0: {} - is-string@1.1.0: + is-string@1.0.7: dependencies: - call-bind: 1.0.7 has-tostringtag: 1.0.2 is-subdir@1.2.0: dependencies: better-path-resolve: 1.0.0 - is-symbol@1.1.0: + is-symbol@1.0.4: dependencies: - call-bind: 1.0.7 - has-symbols: 1.1.0 - safe-regex-test: 1.0.3 + has-symbols: 1.0.3 is-typed-array@1.1.13: dependencies: - which-typed-array: 1.1.16 + which-typed-array: 1.1.15 is-typedarray@1.0.0: {} @@ -25287,7 +25289,7 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.26.0 - '@babel/parser': 7.26.3 + '@babel/parser': 7.26.2 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 7.6.3 @@ -25317,8 +25319,8 @@ snapshots: dependencies: define-properties: 1.2.1 get-intrinsic: 1.2.4 - has-symbols: 1.1.0 - reflect.getprototypeof: 1.0.7 + has-symbols: 1.0.3 + reflect.getprototypeof: 1.0.6 set-function-name: 2.0.2 jackspeak@2.3.6: @@ -25460,11 +25462,11 @@ snapshots: jscodeshift@0.14.0(@babel/preset-env@7.26.0(@babel/core@7.26.0)): dependencies: '@babel/core': 7.26.0 - '@babel/parser': 7.26.3 + '@babel/parser': 7.26.2 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.26.0) '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.26.0) '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.26.0) - '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.0) '@babel/preset-env': 7.26.0(@babel/core@7.26.0) '@babel/preset-flow': 7.25.9(@babel/core@7.26.0) '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0) @@ -25679,6 +25681,8 @@ snapshots: lightningcss-win32-x64-msvc: 1.28.2 optional: true + lilconfig@3.1.2: {} + lilconfig@3.1.3: {} linebreak@1.1.0: @@ -25854,8 +25858,8 @@ snapshots: magicast@0.3.5: dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 source-map-js: 1.2.1 make-dir@2.1.0: @@ -26325,7 +26329,7 @@ snapshots: metro-minify-terser@0.81.0: dependencies: flow-enums-runtime: 0.0.6 - terser: 5.37.0 + terser: 5.36.0 metro-resolver@0.81.0: dependencies: @@ -26338,9 +26342,9 @@ snapshots: metro-source-map@0.81.0: dependencies: - '@babel/traverse': 7.26.4 - '@babel/traverse--for-generate-function-map': '@babel/traverse@7.26.4' - '@babel/types': 7.26.3 + '@babel/traverse': 7.25.9 + '@babel/traverse--for-generate-function-map': '@babel/traverse@7.25.9' + '@babel/types': 7.26.0 flow-enums-runtime: 0.0.6 invariant: 2.2.4 metro-symbolicate: 0.81.0 @@ -26366,9 +26370,9 @@ snapshots: metro-transform-plugins@0.81.0: dependencies: '@babel/core': 7.26.0 - '@babel/generator': 7.26.3 + '@babel/generator': 7.26.2 '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 + '@babel/traverse': 7.25.9 flow-enums-runtime: 0.0.6 nullthrows: 1.1.1 transitivePeerDependencies: @@ -26377,9 +26381,9 @@ snapshots: metro-transform-worker@0.81.0(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@babel/core': 7.26.0 - '@babel/generator': 7.26.3 - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 + '@babel/generator': 7.26.2 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 flow-enums-runtime: 0.0.6 metro: 0.81.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) metro-babel-transformer: 0.81.0 @@ -26398,11 +26402,11 @@ snapshots: dependencies: '@babel/code-frame': 7.26.2 '@babel/core': 7.26.0 - '@babel/generator': 7.26.3 - '@babel/parser': 7.26.3 + '@babel/generator': 7.26.2 + '@babel/parser': 7.26.2 '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 accepts: 1.3.8 chalk: 4.1.2 ci-info: 2.0.0 @@ -27175,7 +27179,7 @@ snapshots: outvariant: 1.4.3 path-to-regexp: 6.3.0 strict-event-emitter: 0.5.1 - type-fest: 4.30.0 + type-fest: 4.29.1 yargs: 17.7.2 optionalDependencies: typescript: 5.7.2 @@ -27192,7 +27196,7 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nanoid@3.3.8: {} + nanoid@3.3.7: {} nanoid@5.0.7: {} @@ -27247,7 +27251,7 @@ snapshots: '@swc/counter': 0.1.3 '@swc/helpers': 0.5.13 busboy: 1.6.0 - caniuse-lite: 1.0.30001686 + caniuse-lite: 1.0.30001678 postcss: 8.4.31 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) @@ -27325,7 +27329,7 @@ snapshots: node-int64@0.4.0: {} - node-polyfill-webpack-plugin@2.0.1(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)): + node-polyfill-webpack-plugin@2.0.1(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)): dependencies: assert: 2.1.0 browserify-zlib: 0.2.0 @@ -27352,7 +27356,7 @@ snapshots: url: 0.11.4 util: 0.12.5 vm-browserify: 1.1.2 - webpack: 5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.9.3)(esbuild@0.24.0) node-releases@2.0.18: {} @@ -27429,7 +27433,7 @@ snapshots: object-hash@3.0.0: {} - object-inspect@1.13.3: {} + object-inspect@1.13.2: {} object-is@1.1.6: dependencies: @@ -27446,7 +27450,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - has-symbols: 1.1.0 + has-symbols: 1.0.3 object-keys: 1.1.1 object.entries@1.1.8: @@ -27459,14 +27463,14 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.3 es-object-atoms: 1.0.0 object.groupby@1.0.3: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.3 object.values@1.2.0: dependencies: @@ -27977,31 +27981,31 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.49 - postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2)): + postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2)): dependencies: lilconfig: 3.1.3 yaml: 2.6.1 optionalDependencies: postcss: 8.4.49 - ts-node: 10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2) + ts-node: 10.9.2(@swc/core@1.9.3)(@types/node@22.10.1)(typescript@5.7.2) postcss-load-config@6.0.1(jiti@2.4.1)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.6.1): dependencies: - lilconfig: 3.1.3 + lilconfig: 3.1.2 optionalDependencies: jiti: 2.4.1 postcss: 8.4.49 tsx: 4.19.2 yaml: 2.6.1 - postcss-loader@8.1.1(postcss@8.4.49)(typescript@5.7.2)(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)): + postcss-loader@8.1.1(postcss@8.4.49)(typescript@5.7.2)(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)): dependencies: cosmiconfig: 9.0.0(typescript@5.7.2) jiti: 1.21.6 postcss: 8.4.49 semver: 7.6.3 optionalDependencies: - webpack: 5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.9.3)(esbuild@0.24.0) transitivePeerDependencies: - typescript @@ -28045,13 +28049,13 @@ snapshots: postcss@8.4.31: dependencies: - nanoid: 3.3.8 + nanoid: 3.3.7 picocolors: 1.1.1 source-map-js: 1.2.1 postcss@8.4.49: dependencies: - nanoid: 3.3.8 + nanoid: 3.3.7 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -28077,7 +28081,7 @@ snapshots: prettier@3.3.3: {} - prettier@3.4.2: + prettier@3.4.1: optional: true pretty-bytes@5.6.0: {} @@ -28335,8 +28339,8 @@ snapshots: react-docgen@7.1.0: dependencies: '@babel/core': 7.26.0 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 '@types/doctrine': 0.0.9 @@ -28431,65 +28435,75 @@ snapshots: transitivePeerDependencies: - supports-color - react-native-aes-gcm-crypto@0.2.2(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): + react-native-aes-gcm-crypto@0.2.2(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): dependencies: react: 19.0.0 - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) - react-native-get-random-values@1.11.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)): + react-native-get-random-values@1.11.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)): dependencies: fast-base64-decode: 1.0.0 - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) - react-native-mmkv@2.11.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): + react-native-mmkv@2.11.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): dependencies: react: 19.0.0 - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) - react-native-passkey@3.0.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): + react-native-passkey@3.0.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): dependencies: react: 19.0.0 - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) - react-native-quick-base64@2.1.2(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): + react-native-quick-base64@2.1.2(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): dependencies: base64-js: 1.5.1 react: 19.0.0 - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) - react-native-quick-crypto@0.7.8(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): + react-native-quick-crypto@0.7.7(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): dependencies: - '@craftzdog/react-native-buffer': 6.0.5(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) + '@craftzdog/react-native-buffer': 6.0.5(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) events: 3.3.0 react: 19.0.0 - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) readable-stream: 4.5.2 string_decoder: 1.3.0 util: 0.12.5 - react-native-svg@15.9.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): + react-native-quick-crypto@0.7.8(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): + dependencies: + '@craftzdog/react-native-buffer': 6.0.5(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) + events: 3.3.0 + react: 19.0.0 + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + readable-stream: 4.5.2 + string_decoder: 1.3.0 + util: 0.12.5 + + react-native-svg@15.9.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0): dependencies: css-select: 5.1.0 css-tree: 1.1.3 react: 19.0.0 - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) warn-once: 0.1.1 - react-native-url-polyfill@2.0.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)): + react-native-url-polyfill@2.0.0(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10)): dependencies: - react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) + react-native: 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10) whatwg-url-without-unicode: 8.0.0-3 - react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10): + react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10): dependencies: '@jest/create-cache-key-function': 29.7.0 '@react-native/assets-registry': 0.76.3 '@react-native/codegen': 0.76.3(@babel/preset-env@7.26.0(@babel/core@7.26.0)) - '@react-native/community-cli-plugin': 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@react-native/community-cli-plugin': 0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@react-native/gradle-plugin': 0.76.3 '@react-native/js-polyfills': 0.76.3 '@react-native/normalize-colors': 0.76.3 - '@react-native/virtualized-lists': 0.76.3(@types/react@19.0.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@16.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) + '@react-native/virtualized-lists': 0.76.3(@types/react@19.0.0)(react-native@0.76.3(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@react-native-community/cli-server-api@15.1.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@types/react@19.0.0)(bufferutil@4.0.8)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) abort-controller: 3.0.0 anser: 1.4.10 ansi-regex: 5.0.1 @@ -28742,15 +28756,15 @@ snapshots: redux@5.0.1: {} - reflect.getprototypeof@1.0.7: + reflect.getprototypeof@1.0.6: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.3 es-errors: 1.3.0 get-intrinsic: 1.2.4 - gopd: 1.2.0 - which-builtin-type: 1.2.0 + globalthis: 1.0.4 + which-builtin-type: 1.1.4 refractor@3.6.0: dependencies: @@ -28791,12 +28805,12 @@ snapshots: es-errors: 1.3.0 set-function-name: 2.0.2 - regexpu-core@6.2.0: + regexpu-core@6.1.1: dependencies: regenerate: 1.4.2 regenerate-unicode-properties: 10.2.0 regjsgen: 0.8.0 - regjsparser: 0.12.0 + regjsparser: 0.11.2 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.2.0 @@ -28810,7 +28824,7 @@ snapshots: regjsgen@0.8.0: {} - regjsparser@0.12.0: + regjsparser@0.11.2: dependencies: jsesc: 3.0.2 @@ -29055,7 +29069,7 @@ snapshots: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 - has-symbols: 1.1.0 + has-symbols: 1.0.3 isarray: 2.0.5 safe-buffer@5.1.2: {} @@ -29066,16 +29080,16 @@ snapshots: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 - is-regex: 1.2.0 + is-regex: 1.1.4 safe-stable-stringify@2.5.0: {} safer-buffer@2.1.2: {} - sass-loader@13.3.3(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)): + sass-loader@13.3.3(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)): dependencies: neo-async: 2.6.2 - webpack: 5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.9.3)(esbuild@0.24.0) satori@0.12.0: dependencies: @@ -29198,7 +29212,7 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 - gopd: 1.2.0 + gopd: 1.0.1 has-property-descriptors: 1.0.2 set-function-name@2.0.2: @@ -29286,7 +29300,7 @@ snapshots: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.3 + object-inspect: 1.13.2 siginfo@2.0.0: {} @@ -29323,7 +29337,7 @@ snapshots: bytes-iec: 3.1.1 chokidar: 4.0.1 jiti: 2.4.1 - lilconfig: 3.1.3 + lilconfig: 3.1.2 nanospinner: 1.1.0 picocolors: 1.1.1 tinyglobby: 0.2.10 @@ -29410,8 +29424,6 @@ snapshots: dependencies: minipass: 7.1.2 - stable-hash@0.0.4: {} - stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 @@ -29446,11 +29458,11 @@ snapshots: - supports-color - utf-8-validate - storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10): + storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10): dependencies: - '@storybook/core': 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) + '@storybook/core': 8.4.7(bufferutil@4.0.8)(prettier@3.4.1)(utf-8-validate@5.0.10) optionalDependencies: - prettier: 3.4.2 + prettier: 3.4.1 transitivePeerDependencies: - bufferutil - supports-color @@ -29510,18 +29522,18 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.3 string.prototype.matchall@4.0.11: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.3 es-errors: 1.3.0 es-object-atoms: 1.0.0 get-intrinsic: 1.2.4 - gopd: 1.2.0 - has-symbols: 1.1.0 + gopd: 1.0.1 + has-symbols: 1.0.3 internal-slot: 1.0.7 regexp.prototype.flags: 1.5.3 set-function-name: 2.0.2 @@ -29530,13 +29542,13 @@ snapshots: string.prototype.repeat@1.0.0: dependencies: define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.3 string.prototype.trim@1.2.9: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.3 es-object-atoms: 1.0.0 string.prototype.trimend@1.0.8: @@ -29602,9 +29614,9 @@ snapshots: structured-headers@0.4.1: {} - style-loader@3.3.4(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)): + style-loader@3.3.4(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)): dependencies: - webpack: 5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.9.3)(esbuild@0.24.0) style-to-object@0.4.4: dependencies: @@ -29749,11 +29761,11 @@ snapshots: tailwind-merge@2.5.5: {} - tailwindcss-animate@1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2))): + tailwindcss-animate@1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2))): dependencies: - tailwindcss: 3.4.16(ts-node@10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2)) + tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2)) - tailwindcss@3.4.16(ts-node@10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2)): + tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -29772,7 +29784,7 @@ snapshots: postcss: 8.4.49 postcss-import: 15.1.0(postcss@8.4.49) postcss-js: 4.0.1(postcss@8.4.49) - postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2)) + postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2)) postcss-nested: 6.2.0(postcss@8.4.49) postcss-selector-parser: 6.1.2 resolve: 1.22.8 @@ -29834,39 +29846,28 @@ snapshots: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - terser-webpack-plugin@5.3.10(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)): + terser-webpack-plugin@5.3.10(@swc/core@1.9.3)(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.37.0 - webpack: 5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0) + terser: 5.36.0 + webpack: 5.96.1(@swc/core@1.9.3)(esbuild@0.24.0) optionalDependencies: - '@swc/core': 1.10.0(@swc/helpers@0.5.15) + '@swc/core': 1.9.3 esbuild: 0.24.0 - terser-webpack-plugin@5.3.10(@swc/core@1.10.0(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))): + terser-webpack-plugin@5.3.10(webpack@5.96.1): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.37.0 - webpack: 5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15)) - optionalDependencies: - '@swc/core': 1.10.0(@swc/helpers@0.5.15) - - terser-webpack-plugin@5.3.10(webpack@5.97.1): - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - jest-worker: 27.5.1 - schema-utils: 3.3.0 - serialize-javascript: 6.0.2 - terser: 5.37.0 - webpack: 5.97.1 + terser: 5.36.0 + webpack: 5.96.1 - terser@5.37.0: + terser@5.36.0: dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.14.0 @@ -29984,7 +29985,7 @@ snapshots: trough@2.2.0: {} - ts-api-utils@1.4.3(typescript@5.7.2): + ts-api-utils@1.4.0(typescript@5.7.2): dependencies: typescript: 5.7.2 @@ -29994,7 +29995,7 @@ snapshots: ts-mixer@6.0.4: {} - ts-node@10.9.2(@swc/core@1.10.0(@swc/helpers@0.5.15))(@types/node@22.10.1)(typescript@5.7.2): + ts-node@10.9.2(@swc/core@1.9.3)(@types/node@22.10.1)(typescript@5.7.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -30012,7 +30013,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.10.0(@swc/helpers@0.5.15) + '@swc/core': 1.9.3 ts-pnp@1.2.0(typescript@5.7.2): optionalDependencies: @@ -30112,7 +30113,7 @@ snapshots: type-fest@3.13.1: {} - type-fest@4.30.0: {} + type-fest@4.29.1: {} typed-array-buffer@1.0.2: dependencies: @@ -30124,28 +30125,27 @@ snapshots: dependencies: call-bind: 1.0.7 for-each: 0.3.3 - gopd: 1.2.0 - has-proto: 1.1.0 + gopd: 1.0.1 + has-proto: 1.0.3 is-typed-array: 1.1.13 - typed-array-byte-offset@1.0.3: + typed-array-byte-offset@1.0.2: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 for-each: 0.3.3 - gopd: 1.2.0 - has-proto: 1.1.0 + gopd: 1.0.1 + has-proto: 1.0.3 is-typed-array: 1.1.13 - reflect.getprototypeof: 1.0.7 - typed-array-length@1.0.7: + typed-array-length@1.0.6: dependencies: call-bind: 1.0.7 for-each: 0.3.3 - gopd: 1.2.0 + gopd: 1.0.1 + has-proto: 1.0.3 is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - reflect.getprototypeof: 1.0.7 typedarray-to-buffer@3.1.5: dependencies: @@ -30199,8 +30199,8 @@ snapshots: dependencies: call-bind: 1.0.7 has-bigints: 1.0.2 - has-symbols: 1.1.0 - which-boxed-primitive: 1.1.0 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 unbzip2-stream@1.4.3: dependencies: @@ -30504,7 +30504,7 @@ snapshots: is-arguments: 1.1.1 is-generator-function: 1.0.10 is-typed-array: 1.1.13 - which-typed-array: 1.1.16 + which-typed-array: 1.1.15 utila@0.4.0: {} @@ -30622,13 +30622,13 @@ snapshots: - utf-8-validate - zod - vite-node@2.1.8(@types/node@22.10.1)(lightningcss@1.28.2)(terser@5.37.0): + vite-node@2.1.8(@types/node@22.10.1)(lightningcss@1.28.2)(terser@5.36.0): dependencies: cac: 6.7.14 debug: 4.3.7(supports-color@8.1.1) es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.10.1)(lightningcss@1.28.2)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.1)(lightningcss@1.28.2)(terser@5.36.0) transitivePeerDependencies: - '@types/node' - less @@ -30640,7 +30640,7 @@ snapshots: - supports-color - terser - vite@5.4.11(@types/node@22.10.1)(lightningcss@1.28.2)(terser@5.37.0): + vite@5.4.11(@types/node@22.10.1)(lightningcss@1.28.2)(terser@5.36.0): dependencies: esbuild: 0.21.5 postcss: 8.4.49 @@ -30649,9 +30649,9 @@ snapshots: '@types/node': 22.10.1 fsevents: 2.3.3 lightningcss: 1.28.2 - terser: 5.37.0 + terser: 5.36.0 - vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1): + vite@6.0.3(@types/node@22.10.1)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1): dependencies: esbuild: 0.24.0 postcss: 8.4.49 @@ -30661,14 +30661,14 @@ snapshots: fsevents: 2.3.3 jiti: 2.4.1 lightningcss: 1.28.2 - terser: 5.37.0 + terser: 5.36.0 tsx: 4.19.2 yaml: 2.6.1 - vitest@2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.37.0): + vitest@2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(happy-dom@15.11.7)(lightningcss@1.28.2)(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(terser@5.36.0): dependencies: '@vitest/expect': 2.1.8 - '@vitest/mocker': 2.1.8(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(vite@5.4.11(@types/node@22.10.1)(lightningcss@1.28.2)(terser@5.37.0)) + '@vitest/mocker': 2.1.8(msw@2.6.6(@types/node@22.10.1)(typescript@5.7.2))(vite@5.4.11(@types/node@22.10.1)(lightningcss@1.28.2)(terser@5.36.0)) '@vitest/pretty-format': 2.1.8 '@vitest/runner': 2.1.8 '@vitest/snapshot': 2.1.8 @@ -30684,8 +30684,8 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.10.1)(lightningcss@1.28.2)(terser@5.37.0) - vite-node: 2.1.8(@types/node@22.10.1)(lightningcss@1.28.2)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.1)(lightningcss@1.28.2)(terser@5.36.0) + vite-node: 2.1.8(@types/node@22.10.1)(lightningcss@1.28.2)(terser@5.36.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.10.1 @@ -30762,7 +30762,7 @@ snapshots: - bufferutil - utf-8-validate - webpack-dev-middleware@6.1.3(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)): + webpack-dev-middleware@6.1.3(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)): dependencies: colorette: 2.0.20 memfs: 3.5.3 @@ -30770,7 +30770,7 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.2.0 optionalDependencies: - webpack: 5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.96.1(@swc/core@1.9.3)(esbuild@0.24.0) webpack-hot-middleware@2.26.1: dependencies: @@ -30784,7 +30784,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.97.1: + webpack@5.96.1: dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 @@ -30806,7 +30806,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.97.1) + terser-webpack-plugin: 5.3.10(webpack@5.96.1) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -30814,7 +30814,7 @@ snapshots: - esbuild - uglify-js - webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15)): + webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 @@ -30836,37 +30836,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.10.0(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))) - watchpack: 2.4.2 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - - webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0): - dependencies: - '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.6 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.14.0 - browserslist: 4.24.2 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.17.1 - es-module-lexer: 1.5.4 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.3.0 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.97.1(@swc/core@1.10.0(@swc/helpers@0.5.15))(esbuild@0.24.0)) + terser-webpack-plugin: 5.3.10(@swc/core@1.9.3)(esbuild@0.24.0)(webpack@5.96.1(@swc/core@1.9.3)(esbuild@0.24.0)) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -30889,29 +30859,28 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 - which-boxed-primitive@1.1.0: + which-boxed-primitive@1.0.2: dependencies: - is-bigint: 1.1.0 - is-boolean-object: 1.2.0 - is-number-object: 1.1.0 - is-string: 1.1.0 - is-symbol: 1.1.0 + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 - which-builtin-type@1.2.0: + which-builtin-type@1.1.4: dependencies: - call-bind: 1.0.7 function.prototype.name: 1.1.6 has-tostringtag: 1.0.2 is-async-function: 2.0.0 is-date-object: 1.0.5 - is-finalizationregistry: 1.1.0 + is-finalizationregistry: 1.0.2 is-generator-function: 1.0.10 - is-regex: 1.2.0 + is-regex: 1.1.4 is-weakref: 1.0.2 isarray: 2.0.5 - which-boxed-primitive: 1.1.0 + which-boxed-primitive: 1.0.2 which-collection: 1.0.2 - which-typed-array: 1.1.16 + which-typed-array: 1.1.15 which-collection@1.0.2: dependencies: @@ -30922,12 +30891,12 @@ snapshots: which-module@2.0.1: {} - which-typed-array@1.1.16: + which-typed-array@1.1.15: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 for-each: 0.3.3 - gopd: 1.2.0 + gopd: 1.0.1 has-tostringtag: 1.0.2 which@1.3.1: