From 1f7cda66988e88628ca9b8fe608af071aa0026a1 Mon Sep 17 00:00:00 2001 From: MananTank Date: Wed, 24 Sep 2025 17:30:52 +0000 Subject: [PATCH] [MNY-210] SDK: export a script to render BridgeEmbed (#8106) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ## PR-Codex overview This PR introduces a new `BridgeWidget` component, allowing users to render a widget for token buying and swapping. It also updates related files for better integration and testing, while modifying build configurations and dependencies. ### Detailed summary - Added `BridgeWidget` component. - Created a browser script in `dist/scripts/bridge-widget.js`. - Updated `BuyOrOnrampPrepareResult` type in `BuyWidget.tsx`. - Excluded test files in `tsconfig.build.tsup.json`. - Modified `tsup` configuration for building the widget. - Enhanced documentation for the `BridgeWidget`. - Added various usage examples in the README. - Updated `pnpm-lock.yaml` with new dependencies and versions. > The following files were skipped due to too many changes: `pnpm-lock.yaml` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` ## Summary by CodeRabbit - **New Features** - Introduced a Bridge Widget with Swap and Buy tabs, theming, branding toggle, currency presets, and callback support. - Added an embeddable script API with a global render function to mount the Bridge Widget on any webpage and exposed it in React exports. - **Style** - Connect Wallet embed now uses full-width with max-width constraints for responsive display. - **Documentation** - Added usage guide and Storybook examples for the Bridge Widget script. - **Build** - Added browser-targeted bundle config to produce a self-contained Bridge Widget script. - **Chores** - Updated build scripts and dev dependencies. - **Tests** - Skipped a batch transaction test. --- .changeset/metal-bats-speak.md | 7 + packages/thirdweb/package.json | 5 +- packages/thirdweb/src/exports/react.ts | 4 + .../src/react/web/ui/Bridge/BuyWidget.tsx | 2 +- .../ui/Bridge/bridge-widget/bridge-widget.tsx | 344 ++++++++++++++ .../ui/ConnectWallet/Modal/ConnectEmbed.tsx | 4 +- .../script-exports/bridge-widget-script.tsx | 72 +++ .../src/script-exports/bridge-widget.tsx | 17 + .../thirdweb/src/script-exports/readme.md | 72 +++ .../bridge-widget-script.stories.tsx | 79 ++++ .../src/wallets/eip5792/send-calls.ts | 2 +- .../smart/smart-wallet-modular.test.ts | 2 +- packages/thirdweb/tsconfig.build.tsup.json | 17 + packages/thirdweb/tsup.config.ts | 29 ++ pnpm-lock.yaml | 422 ++++++++---------- 15 files changed, 835 insertions(+), 243 deletions(-) create mode 100644 .changeset/metal-bats-speak.md create mode 100644 packages/thirdweb/src/react/web/ui/Bridge/bridge-widget/bridge-widget.tsx create mode 100644 packages/thirdweb/src/script-exports/bridge-widget-script.tsx create mode 100644 packages/thirdweb/src/script-exports/bridge-widget.tsx create mode 100644 packages/thirdweb/src/script-exports/readme.md create mode 100644 packages/thirdweb/src/stories/Bridge/BridgeWidget/bridge-widget-script.stories.tsx create mode 100644 packages/thirdweb/tsconfig.build.tsup.json create mode 100644 packages/thirdweb/tsup.config.ts diff --git a/.changeset/metal-bats-speak.md b/.changeset/metal-bats-speak.md new file mode 100644 index 00000000000..a12c4b3a095 --- /dev/null +++ b/.changeset/metal-bats-speak.md @@ -0,0 +1,7 @@ +--- +"thirdweb": patch +--- + +Add `BridgeWidget` component. + +Generate a browser script in `dist/scripts/bridge-widget.js` that can be used to render the `BridgeWidget` component in a browser with a script diff --git a/packages/thirdweb/package.json b/packages/thirdweb/package.json index f4230e6ef26..460a701e8bb 100644 --- a/packages/thirdweb/package.json +++ b/packages/thirdweb/package.json @@ -65,6 +65,7 @@ "@types/prompts": "2.4.9", "@types/qrcode": "1.5.5", "@types/react": "19.1.8", + "@types/react-dom": "19.1.6", "@viem/anvil": "0.0.10", "@vitejs/plugin-react": "^4.6.0", "@vitest/coverage-v8": "3.2.4", @@ -89,6 +90,7 @@ "sharp": "^0.34.2", "size-limit": "11.2.0", "storybook": "9.0.15", + "tsup": "^8.5.0", "typedoc": "0.27.9", "typedoc-better-json": "0.9.4", "typescript": "5.8.3", @@ -323,7 +325,8 @@ "scripts": { "bench": "vitest -c ./test/vitest.config.ts bench", "bench:compare": "bun run ./benchmarks/run.ts", - "build": "pnpm clean && pnpm build:types && pnpm build:cjs && pnpm build:esm", + "build": "pnpm clean && pnpm build:types && pnpm build:cjs && pnpm build:esm && pnpm build:tsup", + "build:tsup": "tsup", "build-storybook": "storybook build", "build:cjs": "tsc --noCheck --project ./tsconfig.build.json --module commonjs --outDir ./dist/cjs --verbatimModuleSyntax false && printf '{\"type\":\"commonjs\"}' > ./dist/cjs/package.json", "build:esm": "tsc --noCheck --project ./tsconfig.build.json --module es2020 --outDir ./dist/esm && printf '{\"type\": \"module\",\"sideEffects\":false}' > ./dist/esm/package.json", diff --git a/packages/thirdweb/src/exports/react.ts b/packages/thirdweb/src/exports/react.ts index fdd9b8bfb1f..7e74096e68c 100644 --- a/packages/thirdweb/src/exports/react.ts +++ b/packages/thirdweb/src/exports/react.ts @@ -137,6 +137,10 @@ export { BuyWidget, type BuyWidgetProps, } from "../react/web/ui/Bridge/BuyWidget.js"; +export { + BridgeWidget, + type BridgeWidgetProps, +} from "../react/web/ui/Bridge/bridge-widget/bridge-widget.js"; export { CheckoutWidget, type CheckoutWidgetProps, diff --git a/packages/thirdweb/src/react/web/ui/Bridge/BuyWidget.tsx b/packages/thirdweb/src/react/web/ui/Bridge/BuyWidget.tsx index e0aa02f54f8..d8cb79943e5 100644 --- a/packages/thirdweb/src/react/web/ui/Bridge/BuyWidget.tsx +++ b/packages/thirdweb/src/react/web/ui/Bridge/BuyWidget.tsx @@ -33,7 +33,7 @@ import type { LocaleId } from "../types.js"; import { BridgeOrchestrator, type UIOptions } from "./BridgeOrchestrator.js"; import { UnsupportedTokenScreen } from "./UnsupportedTokenScreen.js"; -type BuyOrOnrampPrepareResult = Extract< +export type BuyOrOnrampPrepareResult = Extract< BridgePrepareResult, { type: "buy" | "onramp" } >; diff --git a/packages/thirdweb/src/react/web/ui/Bridge/bridge-widget/bridge-widget.tsx b/packages/thirdweb/src/react/web/ui/Bridge/bridge-widget/bridge-widget.tsx new file mode 100644 index 00000000000..74aa8d1c84a --- /dev/null +++ b/packages/thirdweb/src/react/web/ui/Bridge/bridge-widget/bridge-widget.tsx @@ -0,0 +1,344 @@ +import { useState } from "react"; +import { defineChain } from "../../../../../chains/utils.js"; +import type { ThirdwebClient } from "../../../../../client/client.js"; +import type { SupportedFiatCurrency } from "../../../../../pay/convert/type.js"; +import type { PurchaseData } from "../../../../../pay/types.js"; +import { + CustomThemeProvider, + useCustomTheme, +} from "../../../../core/design-system/CustomThemeProvider.js"; +import { + fontSize, + radius, + spacing, + type Theme, +} from "../../../../core/design-system/index.js"; +import { EmbedContainer } from "../../ConnectWallet/Modal/ConnectEmbed.js"; +import { Container } from "../../components/basic.js"; +import { Button } from "../../components/buttons.js"; +import { type BuyOrOnrampPrepareResult, BuyWidget } from "../BuyWidget.js"; +import { SwapWidget } from "../swap-widget/SwapWidget.js"; +import type { SwapPreparedQuote } from "../swap-widget/types.js"; + +/** + * Props for the `BridgeWidget` component. + */ +export type BridgeWidgetProps = { + /** + * A client is the entry point to the thirdweb SDK. It is required for all other actions. + * You can create a client using the `createThirdwebClient` function. Refer to the + * [Creating a Client](https://portal.thirdweb.com/typescript/v5/client) documentation for more information. + * + * You must provide a `clientId` or `secretKey` in order to initialize a client. Pass `clientId` for client-side usage and `secretKey` for server-side usage. + * + * @example + * ```ts + * import { createThirdwebClient } from "thirdweb"; + * + * const client = createThirdwebClient({ + * clientId: "", + * }); + * ``` + */ + client: ThirdwebClient; + + /** + * Set the theme for the widget. By default it is set to `"dark"`. + * + * Theme can be set to either `"dark"`, `"light"` or a custom theme object. + * You can also import [`lightTheme`](https://portal.thirdweb.com/references/typescript/v5/lightTheme) + * or [`darkTheme`](https://portal.thirdweb.com/references/typescript/v5/darkTheme) from `thirdweb/react` + * to use the default themes as base and override parts of it. + * + * @example + * ```ts + * import { lightTheme } from "thirdweb/react"; + * + * const customTheme = lightTheme({ + * colors: { modalBg: "red" }, + * }); + * ``` + */ + theme?: "light" | "dark" | Theme; + + /** + * Whether to show thirdweb branding in the widget. + * @default true + */ + showThirdwebBranding?: boolean; + + /** + * The currency to use for fiat pricing in the widget. + * @default "USD" + */ + currency?: SupportedFiatCurrency; + + /** + * Configuration for the Swap tab. This mirrors {@link SwapWidget} options where applicable. + */ + swap?: { + /** Optional class name applied to the Swap tab content container. */ + className?: string; + /** Optional style overrides applied to the Swap tab content container. */ + style?: React.CSSProperties; + /** Callback invoked when a swap is successful. */ + onSuccess?: (quote: SwapPreparedQuote) => void; + /** Callback invoked when an error occurs during swapping. */ + onError?: (error: Error, quote: SwapPreparedQuote) => void; + /** Callback invoked when the user cancels the swap. */ + onCancel?: (quote: SwapPreparedQuote) => void; + /** Callback invoked when the user disconnects the active wallet. */ + onDisconnect?: () => void; + /** + * Whether to persist token selections to localStorage so that revisits pre-select last used tokens. + * Prefill values take precedence over persisted selections. + * @default true + */ + persistTokenSelections?: boolean; + /** + * Prefill initial buy/sell token selections. If `tokenAddress` is not provided, the native token will be used. + * + * @example + * ### Set an ERC20 token as the buy token + * ```tsx + * + * ``` + * + * ### Set a native token as the sell token + * ```tsx + * + * ``` + */ + prefill?: { + /** Buy token selection. If `tokenAddress` is omitted, the native token will be used. */ + buyToken?: { + tokenAddress?: string; + chainId: number; + /** Optional human-readable amount to prefill for buy. */ + amount?: string; + }; + /** Sell token selection. If `tokenAddress` is omitted, the native token will be used. */ + sellToken?: { + tokenAddress?: string; + chainId: number; + /** Optional human-readable amount to prefill for sell. */ + amount?: string; + }; + }; + }; + + /** + * Configuration for the Buy tab. This mirrors {@link BuyWidget} options where applicable. + */ + buy: { + /** + * The amount to buy (as a decimal string), e.g. "1.5" for 1.5 tokens. + */ + amount: string; // TODO - make it optional + /** + * The chain the accepted token is on. + */ + chainId: number; // TODO - make it optional + /** + * Address of the token to buy. Leave undefined for the native token, or use 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE. + */ + tokenAddress?: string; + /** Custom label for the main action button. */ + buttonLabel?: string; + /** Callback triggered when the user cancels the purchase. */ + onCancel?: (quote: BuyOrOnrampPrepareResult | undefined) => void; + /** Callback triggered when the purchase encounters an error. */ + onError?: ( + error: Error, + quote: BuyOrOnrampPrepareResult | undefined, + ) => void; + /** Callback triggered when the purchase is successful. */ + onSuccess?: (quote: BuyOrOnrampPrepareResult) => void; + /** Optional class name applied to the Buy tab content container. */ + className?: string; + /** The user's ISO 3166 alpha-2 country code. Used to determine onramp provider support. */ + country?: string; + /** Preset fiat amounts to display in the UI. Defaults to [5, 10, 20]. */ + presetOptions?: [number, number, number]; + /** Arbitrary data to be included in returned status and webhook events. */ + purchaseData?: PurchaseData; + }; +}; + +/** + * A combined widget for swapping or buying tokens with cross-chain support. + * + * This component renders two tabs – "Swap" and "Buy" – and orchestrates the appropriate flow + * by composing {@link SwapWidget} and {@link BuyWidget} under the hood. + * + * - The Swap tab enables token-to-token swaps (including cross-chain). + * - The Buy tab enables purchasing a specific token; by default, it uses card onramp in this widget. + * + * @param props - Props of type {@link BridgeWidgetProps} to configure the BridgeWidget component. + * + * @example + * ### Basic usage + * ```tsx + * + * ``` + * + * ### Prefill swap tokens and configure buy + * ```tsx + * + * ``` + * + * @bridge + */ +export function BridgeWidget(props: BridgeWidgetProps) { + const [tab, setTab] = useState<"swap" | "buy">("swap"); + + return ( + + + + setTab("swap")}> + Swap + + setTab("buy")}> + Buy + + + + {tab === "swap" && ( + + )} + {tab === "buy" && ( + + )} + + + ); +} + +function TabButton(props: { + isActive: boolean; + onClick: () => void; + children: React.ReactNode; +}) { + const theme = useCustomTheme(); + return ( + + ); +} diff --git a/packages/thirdweb/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx b/packages/thirdweb/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx index ddffd23ea0e..897d39a1425 100644 --- a/packages/thirdweb/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx +++ b/packages/thirdweb/src/react/web/ui/ConnectWallet/Modal/ConnectEmbed.tsx @@ -479,6 +479,8 @@ export const EmbedContainer = /* @__PURE__ */ StyledDiv<{ lineHeight: "normal", overflow: "hidden", position: "relative", - width: modalSize === "compact" ? modalMaxWidthCompact : modalMaxWidthWide, + width: "100vw", + maxWidth: + modalSize === "compact" ? modalMaxWidthCompact : modalMaxWidthWide, }; }); diff --git a/packages/thirdweb/src/script-exports/bridge-widget-script.tsx b/packages/thirdweb/src/script-exports/bridge-widget-script.tsx new file mode 100644 index 00000000000..9eb6ab1b5b3 --- /dev/null +++ b/packages/thirdweb/src/script-exports/bridge-widget-script.tsx @@ -0,0 +1,72 @@ +import { createThirdwebClient } from "../client/client.js"; +import type { SupportedFiatCurrency } from "../pay/convert/type.js"; +import type { PurchaseData } from "../pay/types.js"; +import { + darkTheme, + lightTheme, + type Theme, + type ThemeOverrides, +} from "../react/core/design-system/index.js"; +import type { BuyOrOnrampPrepareResult } from "../react/web/ui/Bridge/BuyWidget.js"; +import { BridgeWidget } from "../react/web/ui/Bridge/bridge-widget/bridge-widget.js"; +import type { SwapPreparedQuote } from "../react/web/ui/Bridge/swap-widget/types.js"; + +// Note: do not use SwapWidgetProps or BuyWidgetProps references here to keep the output for bridge-widget.d.ts as simple as possible +// Note: these props will be configured buy user in a + + +
+``` + +### Basic Usage + +```html + +``` + +### Custom Theme + +```html + +``` + +### Customizing Swap UI + +```html + +``` diff --git a/packages/thirdweb/src/stories/Bridge/BridgeWidget/bridge-widget-script.stories.tsx b/packages/thirdweb/src/stories/Bridge/BridgeWidget/bridge-widget-script.stories.tsx new file mode 100644 index 00000000000..6118dece220 --- /dev/null +++ b/packages/thirdweb/src/stories/Bridge/BridgeWidget/bridge-widget-script.stories.tsx @@ -0,0 +1,79 @@ +import type { Meta } from "@storybook/react"; +import { BridgeWidgetScript } from "../../../script-exports/bridge-widget-script.js"; +import { storyClient } from "../../utils.js"; + +const meta: Meta = { + title: "Bridge/BridgeWidgetScript", + parameters: { + layout: "centered", + }, + decorators: [ + (Story) => { + return ( +
+ +
+ ); + }, + ], +}; +export default meta; + +export function BasicUsage() { + return ( + + ); +} + +export function LightTheme() { + return ( + + ); +} + +export function CurrencySet() { + return ( + + ); +} + +export function NoThirdwebBranding() { + return ( + + ); +} + +export function CustomTheme() { + return ( + + ); +} diff --git a/packages/thirdweb/src/wallets/eip5792/send-calls.ts b/packages/thirdweb/src/wallets/eip5792/send-calls.ts index dd51602740b..b5789d9aa31 100644 --- a/packages/thirdweb/src/wallets/eip5792/send-calls.ts +++ b/packages/thirdweb/src/wallets/eip5792/send-calls.ts @@ -113,7 +113,7 @@ export type SendCallsResult = Prettify<{ * }); * ``` * We recommend proxying any paymaster calls via an API route you setup and control. - * + * * @extension EIP5792 */ export async function sendCalls( diff --git a/packages/thirdweb/src/wallets/smart/smart-wallet-modular.test.ts b/packages/thirdweb/src/wallets/smart/smart-wallet-modular.test.ts index 934eff82f1e..4e473266c6f 100644 --- a/packages/thirdweb/src/wallets/smart/smart-wallet-modular.test.ts +++ b/packages/thirdweb/src/wallets/smart/smart-wallet-modular.test.ts @@ -108,7 +108,7 @@ describe.runIf(process.env.TW_SECRET_KEY).sequential( }); }); - it("should send a batch transaction", async () => { + it.skip("should send a batch transaction", async () => { const tx = prepareTransaction({ chain, client, diff --git a/packages/thirdweb/tsconfig.build.tsup.json b/packages/thirdweb/tsconfig.build.tsup.json new file mode 100644 index 00000000000..5ab574535a4 --- /dev/null +++ b/packages/thirdweb/tsconfig.build.tsup.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.build.json", + "compilerOptions": { + "moduleResolution": "NodeNext", + "rootDir": "./src", + "sourceMap": false, + "noCheck": true + }, + "exclude": [ + "src/**/*.test.ts", + "src/**/*.test.tsx", + "src/**/*.test-d.ts", + "src/**/*.bench.ts", + "src/**/*.macro.ts" + ], + "include": ["src"] +} diff --git a/packages/thirdweb/tsup.config.ts b/packages/thirdweb/tsup.config.ts new file mode 100644 index 00000000000..cae4ed66bd9 --- /dev/null +++ b/packages/thirdweb/tsup.config.ts @@ -0,0 +1,29 @@ +import { defineConfig } from "tsup"; +import pkg from "./package.json"; + +export default defineConfig([ + // bridge-widget + { + entry: ["src/script-exports/bridge-widget.tsx"], + sourcemap: false, + clean: false, // don't delete the outDir before build + minify: true, + format: "iife", + platform: "browser", // fixes dynamic import not found errors + target: "es2020", + dts: true, + outDir: "dist/scripts", + outExtension: () => ({ + js: `.js`, // bridge-widget.js + }), + globalName: "BridgeWidget", + replaceNodeEnv: true, // replaces process.env.NODE_ENV with "production" + banner: { + js: `// ${pkg.name}/scripts/bridge-widget@${pkg.version}`, + }, + esbuildOptions(options) { + options.legalComments = "none"; + }, + tsconfig: "tsconfig.build.tsup.json", + }, +]); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ed6e917af6f..93e32f93ce3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -120,7 +120,7 @@ importers: version: 1.2.7(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@sentry/nextjs': specifier: 9.34.0 - version: 9.34.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.3.5(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.9(esbuild@0.25.5)) + version: 9.34.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.3.5(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.9) '@shazow/whatsabi': specifier: 0.22.2 version: 0.22.2(@noble/hashes@1.8.0)(typescript@5.8.3)(zod@3.25.75) @@ -316,7 +316,7 @@ importers: version: 9.0.15(storybook@9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10)) '@storybook/nextjs': specifier: 9.0.15 - version: 9.0.15(esbuild@0.25.5)(next@15.3.5(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10))(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)(webpack@5.99.9(esbuild@0.25.5)) + version: 9.0.15(next@15.3.5(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10))(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)(webpack@5.99.9) '@types/color': specifier: 4.2.0 version: 4.2.0 @@ -578,7 +578,7 @@ importers: dependencies: '@abstract-foundation/agw-react': specifier: ^1.6.4 - version: 1.6.4(lfgxwuqm6efii3akecbct27dfa) + version: 1.6.4(pfuoymnekjwwwvphlum3lcxazm) '@ai-sdk/react': specifier: ^2.0.25 version: 2.0.25(react@19.1.0)(zod@3.25.75) @@ -1420,7 +1420,7 @@ importers: version: 2.2.0(react-native@0.78.1(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)) '@size-limit/preset-big-lib': specifier: 11.2.0 - version: 11.2.0(bufferutil@4.0.9)(size-limit@11.2.0)(utf-8-validate@5.0.10) + version: 11.2.0(bufferutil@4.0.9)(esbuild@0.25.5)(size-limit@11.2.0)(utf-8-validate@5.0.10) '@storybook/addon-docs': specifier: 9.0.15 version: 9.0.15(@types/react@19.1.8)(storybook@9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10)) @@ -1454,6 +1454,9 @@ importers: '@types/react': specifier: 19.1.8 version: 19.1.8 + '@types/react-dom': + specifier: 19.1.6 + version: 19.1.6(@types/react@19.1.8) '@viem/anvil': specifier: 0.0.10 version: 0.0.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -1526,6 +1529,9 @@ importers: storybook: specifier: 9.0.15 version: 9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10) + tsup: + specifier: ^8.5.0 + version: 8.5.0(jiti@2.4.2)(postcss@8.5.6)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0) typedoc: specifier: 0.27.9 version: 0.27.9(typescript@5.8.3) @@ -7875,6 +7881,7 @@ packages: '@walletconnect/modal@2.7.0': resolution: {integrity: sha512-RQVt58oJ+rwqnPcIvRFeMGKuXb9qkgSmwz4noF8JZGUym3gUAzVs+uW2NQ1Owm9XOJAV+sANrtJ+VoVq1ftElw==} + deprecated: Please follow the migration guide on https://docs.reown.com/appkit/upgrade/wcm '@walletconnect/react-native-compat@2.17.3': resolution: {integrity: sha512-lHKwXKoB0rdDH1ukxUx7o86xosWbttWIHYMZ8tgAQC1k9VH3CZZCoBcHOAAX8iBzyb0n0UP3/9zRrOcJE5nz7Q==} @@ -8679,6 +8686,12 @@ packages: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} + bundle-require@5.1.0: + resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.18' + busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -10543,6 +10556,9 @@ packages: resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} engines: {node: '>=18'} + fix-dts-default-cjs-exports@1.0.1: + resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==} + flat-cache@3.2.0: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} @@ -11986,6 +12002,10 @@ packages: load-plugin@6.0.3: resolution: {integrity: sha512-kc0X2FEUZr145odl68frm+lMJuQ23+rTXYmR6TImqPtbpmXC4vVXbWKDQ9IzndA0HfyQamWfKLhzsqGSTxE63w==} + load-tsconfig@0.2.5: + resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} @@ -12033,6 +12053,9 @@ packages: lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} @@ -14732,6 +14755,11 @@ packages: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} + source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + deprecated: The work that was done in this beta branch won't be included in future versions + space-separated-tokens@1.1.5: resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==} @@ -15272,6 +15300,13 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + tree-sitter-json@0.24.8: resolution: {integrity: sha512-Tc9ZZYwHyWZ3Tt1VEw7Pa2scu1YO7/d2BCBbKTx5hXwig3UfdQjsOPkPyLpDJOn/m1UBEWYAtSdGAwCSyagBqQ==} peerDependencies: @@ -15344,6 +15379,25 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tsup@8.5.0: + resolution: {integrity: sha512-VmBp77lWNQq6PfuMqCHD3xWl22vEoWsKajkF8t+yMBawlUS8JzEI+vOVMeuNZIuMML8qXRizFKi9oD5glKQVcQ==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + '@microsoft/api-extractor': ^7.36.0 + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: '>=4.5.0' + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + tsx@4.20.3: resolution: {integrity: sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ==} engines: {node: '>=18.0.0'} @@ -16090,6 +16144,9 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + webidl-conversions@5.0.0: resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} engines: {node: '>=8'} @@ -16153,6 +16210,9 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + which-boxed-primitive@1.1.1: resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} engines: {node: '>= 0.4'} @@ -16507,16 +16567,16 @@ snapshots: typescript: 5.8.3 optional: true - '@abstract-foundation/agw-react@1.6.4(lfgxwuqm6efii3akecbct27dfa)': + '@abstract-foundation/agw-react@1.6.4(pfuoymnekjwwwvphlum3lcxazm)': dependencies: '@abstract-foundation/agw-client': 1.6.2(abitype@1.0.8(typescript@5.8.3)(zod@3.25.75))(typescript@5.8.3)(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75)) '@privy-io/cross-app-connect': 0.2.2(@wagmi/core@2.17.3(@tanstack/query-core@5.81.5)(@types/react@19.1.8)(react@19.1.0)(typescript@5.8.3)(use-sync-external-store@1.5.0(react@19.1.0))(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75)))(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75)) - '@privy-io/react-auth': 2.17.3(@abstract-foundation/agw-client@1.8.5(abitype@1.0.8(typescript@5.8.3)(zod@3.25.75))(typescript@5.8.3)(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75)))(@solana/spl-token@0.4.14(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(@types/react@19.1.8)(aws4fetch@1.0.20)(bs58@6.0.0)(bufferutil@4.0.9)(ioredis@5.6.1)(lit@3.3.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)(use-sync-external-store@1.5.0(react@19.1.0))(utf-8-validate@5.0.10)(zod@3.25.75) + '@privy-io/react-auth': 2.17.3(@abstract-foundation/agw-client@1.8.5(abitype@1.0.8(typescript@5.8.3)(zod@3.25.75))(typescript@5.8.3)(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75)))(@solana/spl-token@0.4.14(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(@types/react@19.1.8)(aws4fetch@1.0.20)(bs58@6.0.0)(bufferutil@4.0.9)(ioredis@5.6.1)(lit@3.3.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)(use-sync-external-store@1.5.0(react@19.1.0))(utf-8-validate@5.0.10)(zod@3.25.75) '@tanstack/react-query': 5.81.5(react@19.1.0) react: 19.1.0 secp256k1: 5.0.1 viem: 2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75) - wagmi: 2.15.6(@tanstack/query-core@5.81.5)(@tanstack/react-query@5.81.5(react@19.1.0))(@types/react@19.1.8)(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.6.1)(react@19.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75))(zod@3.25.75) + wagmi: 2.15.6(@react-native-async-storage/async-storage@2.2.0(react-native@0.78.1(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)))(@tanstack/query-core@5.81.5)(@tanstack/react-query@5.81.5(react@19.1.0))(@types/react@19.1.8)(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.6.1)(react@19.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75))(zod@3.25.75) optionalDependencies: thirdweb: link:packages/thirdweb typescript: 5.8.3 @@ -16637,7 +16697,7 @@ snapshots: dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.592.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/client-sso-oidc': 3.592.0 '@aws-sdk/client-sts': 3.592.0 '@aws-sdk/core': 3.592.0 '@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0)(@aws-sdk/client-sts@3.592.0) @@ -16683,7 +16743,7 @@ snapshots: dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.592.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/client-sso-oidc': 3.592.0 '@aws-sdk/client-sts': 3.592.0 '@aws-sdk/core': 3.592.0 '@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0)(@aws-sdk/client-sts@3.592.0) @@ -16729,7 +16789,7 @@ snapshots: dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.592.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/client-sso-oidc': 3.592.0 '@aws-sdk/client-sts': 3.592.0 '@aws-sdk/core': 3.592.0 '@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0)(@aws-sdk/client-sts@3.592.0) @@ -16776,7 +16836,7 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso-oidc@3.592.0(@aws-sdk/client-sts@3.592.0)': + '@aws-sdk/client-sso-oidc@3.592.0': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -16819,7 +16879,6 @@ snapshots: '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 transitivePeerDependencies: - - '@aws-sdk/client-sts' - aws-crt '@aws-sdk/client-sso-oidc@3.840.0': @@ -16956,7 +17015,7 @@ snapshots: dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.592.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/client-sso-oidc': 3.592.0 '@aws-sdk/core': 3.592.0 '@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0)(@aws-sdk/client-sts@3.592.0) '@aws-sdk/middleware-host-header': 3.577.0 @@ -17402,7 +17461,7 @@ snapshots: '@aws-sdk/token-providers@3.587.0(@aws-sdk/client-sso-oidc@3.592.0)': dependencies: - '@aws-sdk/client-sso-oidc': 3.592.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/client-sso-oidc': 3.592.0 '@aws-sdk/types': 3.577.0 '@smithy/property-provider': 3.1.11 '@smithy/shared-ini-file-loader': 3.1.12 @@ -21152,21 +21211,6 @@ snapshots: dependencies: playwright: 1.53.2 - '@pmmmwh/react-refresh-webpack-plugin@0.5.17(react-refresh@0.14.2)(type-fest@4.41.0)(webpack-hot-middleware@2.26.1)(webpack@5.99.9(esbuild@0.25.5))': - dependencies: - ansi-html: 0.0.9 - core-js-pure: 3.43.0 - error-stack-parser: 2.1.4 - html-entities: 2.6.0 - loader-utils: 2.0.4 - react-refresh: 0.14.2 - schema-utils: 4.3.2 - source-map: 0.7.4 - webpack: 5.99.9(esbuild@0.25.5) - optionalDependencies: - type-fest: 4.41.0 - webpack-hot-middleware: 2.26.1 - '@pmmmwh/react-refresh-webpack-plugin@0.5.17(react-refresh@0.14.2)(type-fest@4.41.0)(webpack-hot-middleware@2.26.1)(webpack@5.99.9)': dependencies: ansi-html: 0.0.9 @@ -21261,7 +21305,7 @@ snapshots: - typescript - utf-8-validate - '@privy-io/react-auth@2.17.3(@abstract-foundation/agw-client@1.8.5(abitype@1.0.8(typescript@5.8.3)(zod@3.25.75))(typescript@5.8.3)(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75)))(@solana/spl-token@0.4.14(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(@types/react@19.1.8)(aws4fetch@1.0.20)(bs58@6.0.0)(bufferutil@4.0.9)(ioredis@5.6.1)(lit@3.3.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)(use-sync-external-store@1.5.0(react@19.1.0))(utf-8-validate@5.0.10)(zod@3.25.75)': + '@privy-io/react-auth@2.17.3(@abstract-foundation/agw-client@1.8.5(abitype@1.0.8(typescript@5.8.3)(zod@3.25.75))(typescript@5.8.3)(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75)))(@solana/spl-token@0.4.14(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(@types/react@19.1.8)(aws4fetch@1.0.20)(bs58@6.0.0)(bufferutil@4.0.9)(ioredis@5.6.1)(lit@3.3.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)(use-sync-external-store@1.5.0(react@19.1.0))(utf-8-validate@5.0.10)(zod@3.25.75)': dependencies: '@coinbase/wallet-sdk': 4.3.2 '@floating-ui/react': 0.26.28(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -21308,7 +21352,7 @@ snapshots: zustand: 5.0.7(@types/react@19.1.8)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)) optionalDependencies: '@abstract-foundation/agw-client': 1.8.5(abitype@1.0.8(typescript@5.8.3)(zod@3.25.75))(typescript@5.8.3)(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75)) - '@solana/spl-token': 0.4.14(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.14(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10) '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10) transitivePeerDependencies: - '@azure/app-configuration' @@ -23376,7 +23420,7 @@ snapshots: '@sentry/core@9.34.0': {} - '@sentry/nextjs@9.34.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.3.5(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.9(esbuild@0.25.5))': + '@sentry/nextjs@9.34.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.3.5(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.9)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.34.0 @@ -23387,7 +23431,7 @@ snapshots: '@sentry/opentelemetry': 9.34.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.34.0) '@sentry/react': 9.34.0(react@19.1.0) '@sentry/vercel-edge': 9.34.0 - '@sentry/webpack-plugin': 3.5.0(encoding@0.1.13)(webpack@5.99.9(esbuild@0.25.5)) + '@sentry/webpack-plugin': 3.5.0(encoding@0.1.13)(webpack@5.99.9) chalk: 3.0.0 next: 15.3.5(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) resolve: 1.22.8 @@ -23464,12 +23508,12 @@ snapshots: '@opentelemetry/api': 1.9.0 '@sentry/core': 9.34.0 - '@sentry/webpack-plugin@3.5.0(encoding@0.1.13)(webpack@5.99.9(esbuild@0.25.5))': + '@sentry/webpack-plugin@3.5.0(encoding@0.1.13)(webpack@5.99.9)': dependencies: '@sentry/bundler-plugin-core': 3.5.0(encoding@0.1.13) unplugin: 1.0.1 uuid: 9.0.1 - webpack: 5.99.9(esbuild@0.25.5) + webpack: 5.99.9 transitivePeerDependencies: - encoding - supports-color @@ -23560,11 +23604,11 @@ snapshots: dependencies: size-limit: 11.2.0 - '@size-limit/preset-big-lib@11.2.0(bufferutil@4.0.9)(size-limit@11.2.0)(utf-8-validate@5.0.10)': + '@size-limit/preset-big-lib@11.2.0(bufferutil@4.0.9)(esbuild@0.25.5)(size-limit@11.2.0)(utf-8-validate@5.0.10)': dependencies: '@size-limit/file': 11.2.0(size-limit@11.2.0) '@size-limit/time': 11.2.0(bufferutil@4.0.9)(size-limit@11.2.0)(utf-8-validate@5.0.10) - '@size-limit/webpack': 11.2.0(size-limit@11.2.0) + '@size-limit/webpack': 11.2.0(esbuild@0.25.5)(size-limit@11.2.0) size-limit: 11.2.0 transitivePeerDependencies: - '@swc/core' @@ -23586,11 +23630,11 @@ snapshots: - supports-color - utf-8-validate - '@size-limit/webpack@11.2.0(size-limit@11.2.0)': + '@size-limit/webpack@11.2.0(esbuild@0.25.5)(size-limit@11.2.0)': dependencies: nanoid: 5.1.5 size-limit: 11.2.0 - webpack: 5.99.9 + webpack: 5.99.9(esbuild@0.25.5) transitivePeerDependencies: - '@swc/core' - esbuild @@ -24261,12 +24305,11 @@ snapshots: '@solana/errors': 2.3.0(typescript@5.8.3) typescript: 5.8.3 - '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + '@solana/codecs-strings@2.0.0-rc.1(typescript@5.8.3)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.3) '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.8.3) '@solana/errors': 2.0.0-rc.1(typescript@5.8.3) - fastestsmallesttextencoderdecoder: 1.0.22 typescript: 5.8.3 optional: true @@ -24278,13 +24321,13 @@ snapshots: fastestsmallesttextencoderdecoder: 1.0.22 typescript: 5.8.3 - '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + '@solana/codecs@2.0.0-rc.1(typescript@5.8.3)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.3) '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.8.3) '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.8.3) - '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) - '@solana/options': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-strings': 2.0.0-rc.1(typescript@5.8.3) + '@solana/options': 2.0.0-rc.1(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - fastestsmallesttextencoderdecoder @@ -24368,12 +24411,12 @@ snapshots: dependencies: typescript: 5.8.3 - '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + '@solana/options@2.0.0-rc.1(typescript@5.8.3)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.3) '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.8.3) '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.8.3) - '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-strings': 2.0.0-rc.1(typescript@5.8.3) '@solana/errors': 2.0.0-rc.1(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: @@ -24542,30 +24585,30 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(typescript@5.8.3)': dependencies: - '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs': 2.0.0-rc.1(typescript@5.8.3) '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript optional: true - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(typescript@5.8.3)': dependencies: - '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs': 2.0.0-rc.1(typescript@5.8.3) '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript optional: true - '@solana/spl-token@0.4.14(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.4.14(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10) - '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(typescript@5.8.3) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10))(typescript@5.8.3) '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.8.3)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: @@ -24768,22 +24811,22 @@ snapshots: ts-dedent: 2.2.0 vite: 7.0.1(@types/node@24.0.10)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) - '@storybook/builder-webpack5@9.0.15(esbuild@0.25.5)(storybook@9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10))(typescript@5.8.3)': + '@storybook/builder-webpack5@9.0.15(storybook@9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10))(typescript@5.8.3)': dependencies: '@storybook/core-webpack': 9.0.15(storybook@9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10)) case-sensitive-paths-webpack-plugin: 2.4.0 cjs-module-lexer: 1.4.3 - css-loader: 6.11.0(webpack@5.99.9(esbuild@0.25.5)) + css-loader: 6.11.0(webpack@5.99.9) es-module-lexer: 1.7.0 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.99.9(esbuild@0.25.5)) - html-webpack-plugin: 5.6.3(webpack@5.99.9(esbuild@0.25.5)) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.99.9) + html-webpack-plugin: 5.6.3(webpack@5.99.9) magic-string: 0.30.17 storybook: 9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10) - style-loader: 3.3.4(webpack@5.99.9(esbuild@0.25.5)) - terser-webpack-plugin: 5.3.14(esbuild@0.25.5)(webpack@5.99.9(esbuild@0.25.5)) + style-loader: 3.3.4(webpack@5.99.9) + terser-webpack-plugin: 5.3.14(webpack@5.99.9) ts-dedent: 2.2.0 - webpack: 5.99.9(esbuild@0.25.5) - webpack-dev-middleware: 6.1.3(webpack@5.99.9(esbuild@0.25.5)) + webpack: 5.99.9 + webpack-dev-middleware: 6.1.3(webpack@5.99.9) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.6.2 optionalDependencies: @@ -24849,7 +24892,7 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@storybook/nextjs@9.0.15(esbuild@0.25.5)(next@15.3.5(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10))(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)(webpack@5.99.9(esbuild@0.25.5))': + '@storybook/nextjs@9.0.15(next@15.3.5(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10))(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)(webpack@5.99.9)': dependencies: '@babel/core': 7.28.0 '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.0) @@ -24864,33 +24907,33 @@ snapshots: '@babel/preset-react': 7.27.1(@babel/core@7.28.0) '@babel/preset-typescript': 7.27.1(@babel/core@7.28.0) '@babel/runtime': 7.27.6 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(react-refresh@0.14.2)(type-fest@4.41.0)(webpack-hot-middleware@2.26.1)(webpack@5.99.9(esbuild@0.25.5)) - '@storybook/builder-webpack5': 9.0.15(esbuild@0.25.5)(storybook@9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10))(typescript@5.8.3) - '@storybook/preset-react-webpack': 9.0.15(esbuild@0.25.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10))(typescript@5.8.3) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.17(react-refresh@0.14.2)(type-fest@4.41.0)(webpack-hot-middleware@2.26.1)(webpack@5.99.9) + '@storybook/builder-webpack5': 9.0.15(storybook@9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10))(typescript@5.8.3) + '@storybook/preset-react-webpack': 9.0.15(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10))(typescript@5.8.3) '@storybook/react': 9.0.15(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10))(typescript@5.8.3) '@types/semver': 7.7.0 - babel-loader: 9.2.1(@babel/core@7.28.0)(webpack@5.99.9(esbuild@0.25.5)) - css-loader: 6.11.0(webpack@5.99.9(esbuild@0.25.5)) + babel-loader: 9.2.1(@babel/core@7.28.0)(webpack@5.99.9) + css-loader: 6.11.0(webpack@5.99.9) image-size: 2.0.2 loader-utils: 3.3.1 next: 15.3.5(@babel/core@7.28.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - node-polyfill-webpack-plugin: 2.0.1(webpack@5.99.9(esbuild@0.25.5)) + node-polyfill-webpack-plugin: 2.0.1(webpack@5.99.9) postcss: 8.5.6 - postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.8.3)(webpack@5.99.9(esbuild@0.25.5)) + postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.8.3)(webpack@5.99.9) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) react-refresh: 0.14.2 resolve-url-loader: 5.0.0 - sass-loader: 14.2.1(webpack@5.99.9(esbuild@0.25.5)) + sass-loader: 14.2.1(webpack@5.99.9) semver: 7.7.2 storybook: 9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10) - style-loader: 3.3.4(webpack@5.99.9(esbuild@0.25.5)) + style-loader: 3.3.4(webpack@5.99.9) styled-jsx: 5.1.7(@babel/core@7.28.0)(react@19.1.0) tsconfig-paths: 4.2.0 tsconfig-paths-webpack-plugin: 4.2.0 optionalDependencies: typescript: 5.8.3 - webpack: 5.99.9(esbuild@0.25.5) + webpack: 5.99.9 transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -24969,10 +25012,10 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/preset-react-webpack@9.0.15(esbuild@0.25.5)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10))(typescript@5.8.3)': + '@storybook/preset-react-webpack@9.0.15(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10))(typescript@5.8.3)': dependencies: '@storybook/core-webpack': 9.0.15(storybook@9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10)) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.99.9(esbuild@0.25.5)) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.99.9) '@types/semver': 7.7.0 find-up: 7.0.0 magic-string: 0.30.17 @@ -24983,7 +25026,7 @@ snapshots: semver: 7.7.2 storybook: 9.0.15(@testing-library/dom@10.4.0)(bufferutil@4.0.9)(prettier@3.6.2)(utf-8-validate@5.0.10) tsconfig-paths: 4.2.0 - webpack: 5.99.9(esbuild@0.25.5) + webpack: 5.99.9 optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -25017,20 +25060,6 @@ snapshots: - uglify-js - webpack-cli - '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.99.9(esbuild@0.25.5))': - dependencies: - debug: 4.4.1(supports-color@8.1.1) - endent: 2.1.0 - find-cache-dir: 3.3.2 - flat-cache: 3.2.0 - micromatch: 4.0.8 - react-docgen-typescript: 2.4.0(typescript@5.8.3) - tslib: 2.8.1 - typescript: 5.8.3 - webpack: 5.99.9(esbuild@0.25.5) - transitivePeerDependencies: - - supports-color - '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.99.9)': dependencies: debug: 4.4.1(supports-color@8.1.1) @@ -26320,7 +26349,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.14 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.14.1)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.4.2)(lightningcss@1.30.1)(msw@2.10.2(@types/node@22.14.1)(typescript@5.8.3))(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.10)(@vitest/ui@3.2.4)(happy-dom@17.4.4)(jiti@2.4.2)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.0.10)(typescript@5.8.3))(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) '@vitest/utils@3.2.4': dependencies: @@ -26438,13 +26467,13 @@ snapshots: - '@vue/composition-api' - vue - '@wagmi/connectors@5.8.5(@react-native-async-storage/async-storage@2.2.0(react-native@0.78.1(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)))(@types/react@19.1.8)(@wagmi/core@2.17.3(@tanstack/query-core@5.81.5)(@types/react@19.1.8)(react@19.1.0)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75)))(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.6.1)(react@19.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75))(zod@3.25.75)': + '@wagmi/connectors@5.8.5(@react-native-async-storage/async-storage@2.2.0(react-native@0.78.1(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)))(@types/react@19.1.8)(@wagmi/core@2.17.3(@tanstack/query-core@5.81.5)(@types/react@19.1.8)(react@19.1.0)(typescript@5.8.3)(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75)))(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.6.1)(react@19.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75))(zod@3.25.75)': dependencies: '@coinbase/wallet-sdk': 4.3.3 '@metamask/sdk': 0.32.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10) '@safe-global/safe-apps-provider': 0.18.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75) '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75) - '@wagmi/core': 2.17.3(@tanstack/query-core@5.81.5)(@types/react@19.1.8)(react@19.1.0)(typescript@5.8.3)(use-sync-external-store@1.5.0(react@19.1.0))(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75)) + '@wagmi/core': 2.17.3(@tanstack/query-core@5.81.5)(@types/react@19.1.8)(react@19.1.0)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75)) '@walletconnect/ethereum-provider': 2.21.1(@react-native-async-storage/async-storage@2.2.0(react-native@0.78.1(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)))(@types/react@19.1.8)(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.6.1)(react@19.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75) cbw-sdk: '@coinbase/wallet-sdk@3.9.3' viem: 2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75) @@ -26506,6 +26535,7 @@ snapshots: - immer - react - use-sync-external-store + optional: true '@wagmi/core@2.17.3(@tanstack/query-core@5.81.5)(@types/react@19.1.8)(react@19.1.0)(typescript@5.8.3)(use-sync-external-store@1.5.0(react@19.1.0))(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@6.0.5)(zod@3.25.76))': dependencies: @@ -28167,13 +28197,6 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@9.2.1(@babel/core@7.28.0)(webpack@5.99.9(esbuild@0.25.5)): - dependencies: - '@babel/core': 7.28.0 - find-cache-dir: 4.0.0 - schema-utils: 4.3.2 - webpack: 5.99.9(esbuild@0.25.5) - babel-loader@9.2.1(@babel/core@7.28.0)(webpack@5.99.9): dependencies: '@babel/core': 7.28.0 @@ -28590,6 +28613,11 @@ snapshots: dependencies: run-applescript: 7.0.0 + bundle-require@5.1.0(esbuild@0.25.5): + dependencies: + esbuild: 0.25.5 + load-tsconfig: 0.2.5 + busboy@1.6.0: dependencies: streamsearch: 1.1.0 @@ -29192,19 +29220,6 @@ snapshots: css-gradient-parser@0.0.16: {} - css-loader@6.11.0(webpack@5.99.9(esbuild@0.25.5)): - dependencies: - icss-utils: 5.1.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.6) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.6) - postcss-modules-scope: 3.2.1(postcss@8.5.6) - postcss-modules-values: 4.0.0(postcss@8.5.6) - postcss-value-parser: 4.2.0 - semver: 7.7.2 - optionalDependencies: - webpack: 5.99.9(esbuild@0.25.5) - css-loader@6.11.0(webpack@5.99.9): dependencies: icss-utils: 5.1.0(postcss@8.5.6) @@ -30865,6 +30880,12 @@ snapshots: path-exists: 5.0.0 unicorn-magic: 0.1.0 + fix-dts-default-cjs-exports@1.0.1: + dependencies: + magic-string: 0.30.18 + mlly: 1.7.4 + rollup: 4.44.1 + flat-cache@3.2.0: dependencies: flatted: 3.3.3 @@ -30896,23 +30917,6 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - fork-ts-checker-webpack-plugin@8.0.0(typescript@5.8.3)(webpack@5.99.9(esbuild@0.25.5)): - dependencies: - '@babel/code-frame': 7.27.1 - chalk: 4.1.2 - chokidar: 3.6.0 - cosmiconfig: 7.1.0 - deepmerge: 4.3.1 - fs-extra: 10.1.0 - memfs: 3.5.3 - minimatch: 3.1.2 - node-abort-controller: 3.1.1 - schema-utils: 3.3.0 - semver: 7.7.2 - tapable: 2.2.2 - typescript: 5.8.3 - webpack: 5.99.9(esbuild@0.25.5) - fork-ts-checker-webpack-plugin@8.0.0(typescript@5.8.3)(webpack@5.99.9): dependencies: '@babel/code-frame': 7.27.1 @@ -31512,16 +31516,6 @@ snapshots: html-void-elements@3.0.0: {} - html-webpack-plugin@5.6.3(webpack@5.99.9(esbuild@0.25.5)): - dependencies: - '@types/html-minifier-terser': 6.1.0 - html-minifier-terser: 6.1.0 - lodash: 4.17.21 - pretty-error: 4.0.0 - tapable: 2.2.2 - optionalDependencies: - webpack: 5.99.9(esbuild@0.25.5) - html-webpack-plugin@5.6.3(webpack@5.99.9): dependencies: '@types/html-minifier-terser': 6.1.0 @@ -32501,6 +32495,8 @@ snapshots: transitivePeerDependencies: - bluebird + load-tsconfig@0.2.5: {} + loader-runner@4.3.0: {} loader-utils@2.0.4: @@ -32544,6 +32540,8 @@ snapshots: lodash.merge@4.6.2: {} + lodash.sortby@4.7.0: {} + lodash.startcase@4.4.0: {} lodash.throttle@4.1.1: {} @@ -33691,35 +33689,6 @@ snapshots: node-int64@0.4.0: {} - node-polyfill-webpack-plugin@2.0.1(webpack@5.99.9(esbuild@0.25.5)): - dependencies: - assert: 2.1.0 - browserify-zlib: 0.2.0 - buffer: 6.0.3 - console-browserify: 1.2.0 - constants-browserify: 1.0.0 - crypto-browserify: 3.12.1 - domain-browser: 4.23.0 - events: 3.3.0 - filter-obj: 2.0.2 - https-browserify: 1.0.0 - os-browserify: 0.3.0 - path-browserify: 1.0.1 - process: 0.11.10 - punycode: 2.3.1 - querystring-es3: 0.2.1 - readable-stream: 4.7.0 - stream-browserify: 3.0.0 - stream-http: 3.2.0 - string_decoder: 1.3.0 - timers-browserify: 2.0.12 - tty-browserify: 0.0.1 - type-fest: 2.19.0 - url: 0.11.4 - util: 0.12.5 - vm-browserify: 1.1.2 - webpack: 5.99.9(esbuild@0.25.5) - node-polyfill-webpack-plugin@2.0.1(webpack@5.99.9): dependencies: assert: 2.1.0 @@ -34540,17 +34509,6 @@ snapshots: tsx: 4.20.3 yaml: 2.8.0 - postcss-loader@8.1.1(postcss@8.5.6)(typescript@5.8.3)(webpack@5.99.9(esbuild@0.25.5)): - dependencies: - cosmiconfig: 9.0.0(typescript@5.8.3) - jiti: 1.21.7 - postcss: 8.5.6 - semver: 7.7.2 - optionalDependencies: - webpack: 5.99.9(esbuild@0.25.5) - transitivePeerDependencies: - - typescript - postcss-loader@8.1.1(postcss@8.5.6)(typescript@5.8.3)(webpack@5.99.9): dependencies: cosmiconfig: 9.0.0(typescript@5.8.3) @@ -35729,12 +35687,6 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@14.2.1(webpack@5.99.9(esbuild@0.25.5)): - dependencies: - neo-async: 2.6.2 - optionalDependencies: - webpack: 5.99.9(esbuild@0.25.5) - sass-loader@14.2.1(webpack@5.99.9): dependencies: neo-async: 2.6.2 @@ -36099,6 +36051,10 @@ snapshots: source-map@0.7.4: {} + source-map@0.8.0-beta.0: + dependencies: + whatwg-url: 7.1.0 + space-separated-tokens@1.1.5: {} space-separated-tokens@2.0.2: {} @@ -36401,10 +36357,6 @@ snapshots: structured-headers@0.4.1: {} - style-loader@3.3.4(webpack@5.99.9(esbuild@0.25.5)): - dependencies: - webpack: 5.99.9(esbuild@0.25.5) - style-loader@3.3.4(webpack@5.99.9): dependencies: webpack: 5.99.9 @@ -36781,6 +36733,12 @@ snapshots: tr46@0.0.3: {} + tr46@1.0.1: + dependencies: + punycode: 2.3.1 + + tree-kill@1.2.2: {} + tree-sitter-json@0.24.8(tree-sitter@0.21.1): dependencies: node-addon-api: 8.3.1 @@ -36851,6 +36809,34 @@ snapshots: tslib@2.8.1: {} + tsup@8.5.0(jiti@2.4.2)(postcss@8.5.6)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0): + dependencies: + bundle-require: 5.1.0(esbuild@0.25.5) + cac: 6.7.14 + chokidar: 4.0.3 + consola: 3.4.2 + debug: 4.4.1(supports-color@8.1.1) + esbuild: 0.25.5 + fix-dts-default-cjs-exports: 1.0.1 + joycon: 3.1.1 + picocolors: 1.1.1 + postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.5.6)(tsx@4.20.3)(yaml@2.8.0) + resolve-from: 5.0.0 + rollup: 4.44.1 + source-map: 0.8.0-beta.0 + sucrase: 3.35.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.14 + tree-kill: 1.2.2 + optionalDependencies: + postcss: 8.5.6 + typescript: 5.8.3 + transitivePeerDependencies: + - jiti + - supports-color + - tsx + - yaml + tsx@4.20.3: dependencies: esbuild: 0.25.5 @@ -37721,45 +37707,7 @@ snapshots: wagmi@2.15.6(@react-native-async-storage/async-storage@2.2.0(react-native@0.78.1(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)))(@tanstack/query-core@5.81.5)(@tanstack/react-query@5.81.5(react@19.1.0))(@types/react@19.1.8)(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.6.1)(react@19.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75))(zod@3.25.75): dependencies: '@tanstack/react-query': 5.81.5(react@19.1.0) - '@wagmi/connectors': 5.8.5(@react-native-async-storage/async-storage@2.2.0(react-native@0.78.1(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)))(@types/react@19.1.8)(@wagmi/core@2.17.3(@tanstack/query-core@5.81.5)(@types/react@19.1.8)(react@19.1.0)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75)))(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.6.1)(react@19.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75))(zod@3.25.75) - '@wagmi/core': 2.17.3(@tanstack/query-core@5.81.5)(@types/react@19.1.8)(react@19.1.0)(typescript@5.8.3)(use-sync-external-store@1.5.0(react@19.1.0))(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75)) - react: 19.1.0 - use-sync-external-store: 1.4.0(react@19.1.0) - viem: 2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75) - optionalDependencies: - typescript: 5.8.3 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@tanstack/query-core' - - '@types/react' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - encoding - - immer - - ioredis - - supports-color - - uploadthing - - utf-8-validate - - zod - - wagmi@2.15.6(@tanstack/query-core@5.81.5)(@tanstack/react-query@5.81.5(react@19.1.0))(@types/react@19.1.8)(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.6.1)(react@19.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75))(zod@3.25.75): - dependencies: - '@tanstack/react-query': 5.81.5(react@19.1.0) - '@wagmi/connectors': 5.8.5(@react-native-async-storage/async-storage@2.2.0(react-native@0.78.1(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)))(@types/react@19.1.8)(@wagmi/core@2.17.3(@tanstack/query-core@5.81.5)(@types/react@19.1.8)(react@19.1.0)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75)))(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.6.1)(react@19.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75))(zod@3.25.75) + '@wagmi/connectors': 5.8.5(@react-native-async-storage/async-storage@2.2.0(react-native@0.78.1(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)))(@types/react@19.1.8)(@wagmi/core@2.17.3(@tanstack/query-core@5.81.5)(@types/react@19.1.8)(react@19.1.0)(typescript@5.8.3)(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75)))(aws4fetch@1.0.20)(bufferutil@4.0.9)(encoding@0.1.13)(ioredis@5.6.1)(react@19.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75))(zod@3.25.75) '@wagmi/core': 2.17.3(@tanstack/query-core@5.81.5)(@types/react@19.1.8)(react@19.1.0)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.33.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.75)) react: 19.1.0 use-sync-external-store: 1.4.0(react@19.1.0) @@ -37826,6 +37774,8 @@ snapshots: webidl-conversions@3.0.1: {} + webidl-conversions@4.0.2: {} + webidl-conversions@5.0.0: {} webidl-conversions@7.0.0: {} @@ -37849,16 +37799,6 @@ snapshots: - bufferutil - utf-8-validate - webpack-dev-middleware@6.1.3(webpack@5.99.9(esbuild@0.25.5)): - dependencies: - colorette: 2.0.20 - memfs: 3.5.3 - mime-types: 2.1.35 - range-parser: 1.2.1 - schema-utils: 4.3.2 - optionalDependencies: - webpack: 5.99.9(esbuild@0.25.5) - webpack-dev-middleware@6.1.3(webpack@5.99.9): dependencies: colorette: 2.0.20 @@ -37960,6 +37900,12 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 + whatwg-url@7.1.0: + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + which-boxed-primitive@1.1.1: dependencies: is-bigint: 1.1.0