From 5be197bac97393edf39bf7287b5fa258cf83ec06 Mon Sep 17 00:00:00 2001 From: kien-ngo Date: Sat, 14 Dec 2024 10:26:48 +0000 Subject: [PATCH 01/10] [SDK] Headless Wallet components | CNCT-2620 (#5691) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CNCT-2620 --- ## PR-Codex overview This PR introduces new headless components for wallet management in the `thirdweb` library, enhancing user interface options for wallet context, icons, and names. ### Detailed summary - Added `WalletProvider`, `WalletIcon`, and `WalletName` components. - Updated `ChainProvider` to mark it as `@beta`. - Introduced utility functions `getQueryKeys` for both chain and wallet components. - Updated documentation and tests for new wallet components. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` --- .changeset/hip-houses-hear.md | 5 + .../app/react/v5/components/onchain/page.mdx | 23 +++ packages/thirdweb/src/exports/react.ts | 14 ++ .../react/web/ui/prebuilt/Chain/name.test.tsx | 20 ++- .../src/react/web/ui/prebuilt/Chain/name.tsx | 32 ++-- .../react/web/ui/prebuilt/Chain/provider.tsx | 1 + .../web/ui/prebuilt/Wallet/icon.test.tsx | 30 ++++ .../src/react/web/ui/prebuilt/Wallet/icon.tsx | 120 +++++++++++++ .../web/ui/prebuilt/Wallet/name.test.tsx | 55 ++++++ .../src/react/web/ui/prebuilt/Wallet/name.tsx | 164 ++++++++++++++++++ .../web/ui/prebuilt/Wallet/provider.test.tsx | 61 +++++++ .../react/web/ui/prebuilt/Wallet/provider.tsx | 65 +++++++ 12 files changed, 576 insertions(+), 14 deletions(-) create mode 100644 .changeset/hip-houses-hear.md create mode 100644 packages/thirdweb/src/react/web/ui/prebuilt/Wallet/icon.test.tsx create mode 100644 packages/thirdweb/src/react/web/ui/prebuilt/Wallet/icon.tsx create mode 100644 packages/thirdweb/src/react/web/ui/prebuilt/Wallet/name.test.tsx create mode 100644 packages/thirdweb/src/react/web/ui/prebuilt/Wallet/name.tsx create mode 100644 packages/thirdweb/src/react/web/ui/prebuilt/Wallet/provider.test.tsx create mode 100644 packages/thirdweb/src/react/web/ui/prebuilt/Wallet/provider.tsx diff --git a/.changeset/hip-houses-hear.md b/.changeset/hip-houses-hear.md new file mode 100644 index 00000000000..f6b5453b9fb --- /dev/null +++ b/.changeset/hip-houses-hear.md @@ -0,0 +1,5 @@ +--- +"thirdweb": minor +--- + +Add headless components for Wallets: WalletProvider, WalletIcon and WalletName diff --git a/apps/portal/src/app/react/v5/components/onchain/page.mdx b/apps/portal/src/app/react/v5/components/onchain/page.mdx index 17c72de5d27..301490bd514 100644 --- a/apps/portal/src/app/react/v5/components/onchain/page.mdx +++ b/apps/portal/src/app/react/v5/components/onchain/page.mdx @@ -136,4 +136,27 @@ Build your own UI and interact with onchain data using headless components. description="Component to display the name of a chain" /> +### Wallets + + + + + + + diff --git a/packages/thirdweb/src/exports/react.ts b/packages/thirdweb/src/exports/react.ts index 7f1cefba34c..329df064db3 100644 --- a/packages/thirdweb/src/exports/react.ts +++ b/packages/thirdweb/src/exports/react.ts @@ -273,3 +273,17 @@ export { // Utils export { getLastAuthProvider } from "../react/web/utils/storage.js"; + +// Wallet +export { + WalletProvider, + type WalletProviderProps, +} from "../react/web/ui/prebuilt/Wallet/provider.js"; +export { + WalletIcon, + type WalletIconProps, +} from "../react/web/ui/prebuilt/Wallet/icon.js"; +export { + WalletName, + type WalletNameProps, +} from "../react/web/ui/prebuilt/Wallet/name.js"; diff --git a/packages/thirdweb/src/react/web/ui/prebuilt/Chain/name.test.tsx b/packages/thirdweb/src/react/web/ui/prebuilt/Chain/name.test.tsx index 1279dbceb3f..402a36fb614 100644 --- a/packages/thirdweb/src/react/web/ui/prebuilt/Chain/name.test.tsx +++ b/packages/thirdweb/src/react/web/ui/prebuilt/Chain/name.test.tsx @@ -2,7 +2,8 @@ import { describe, expect, it } from "vitest"; import { render, screen, waitFor } from "~test/react-render.js"; import { ethereum } from "../../../../../chains/chain-definitions/ethereum.js"; import { defineChain } from "../../../../../chains/utils.js"; -import { ChainName, fetchChainName } from "./name.js"; +import { getFunctionId } from "../../../../../utils/function-id.js"; +import { ChainName, fetchChainName, getQueryKeys } from "./name.js"; import { ChainProvider } from "./provider.js"; describe.runIf(process.env.TW_SECRET_KEY)("ChainName component", () => { @@ -97,4 +98,21 @@ describe.runIf(process.env.TW_SECRET_KEY)("ChainName component", () => { }); expect(res).toBe("eth_mainnet"); }); + + it("getQueryKeys should work without nameResolver", () => { + expect(getQueryKeys({ chainId: 1 })).toStrictEqual([ + "_internal_chain_name_", + 1, + ]); + }); + + it("getQueryKeys should work WITH nameResolver", () => { + const nameResolver = () => "tw"; + const fnId = getFunctionId(nameResolver); + expect(getQueryKeys({ chainId: 1, nameResolver })).toStrictEqual([ + "_internal_chain_name_", + 1, + { resolver: fnId }, + ]); + }); }); diff --git a/packages/thirdweb/src/react/web/ui/prebuilt/Chain/name.tsx b/packages/thirdweb/src/react/web/ui/prebuilt/Chain/name.tsx index 7cbfa0e6a0f..3cf9c80b83e 100644 --- a/packages/thirdweb/src/react/web/ui/prebuilt/Chain/name.tsx +++ b/packages/thirdweb/src/react/web/ui/prebuilt/Chain/name.tsx @@ -48,7 +48,7 @@ export interface ChainNameProps * name was not fetched succesfully * @example * ```tsx - * Failed to load} * /> * ``` */ @@ -157,18 +157,7 @@ export function ChainName({ }: ChainNameProps) { const { chain } = useChainContext(); const nameQuery = useQuery({ - queryKey: [ - "_internal_chain_name_", - chain.id, - { - resolver: - typeof nameResolver === "string" - ? nameResolver - : typeof nameResolver === "function" - ? getFunctionId(nameResolver) - : undefined, - }, - ] as const, + queryKey: getQueryKeys({ chainId: chain.id, nameResolver }), queryFn: async () => fetchChainName({ chain, nameResolver }), ...queryOptions, }); @@ -205,3 +194,20 @@ export async function fetchChainName(props: { } return getChainMetadata(chain).then((data) => data.name); } + +/** + * @internal Exported for tests + */ +export function getQueryKeys(props: { + chainId: number; + nameResolver?: string | (() => string) | (() => Promise); +}) { + if (typeof props.nameResolver === "function") { + return [ + "_internal_chain_name_", + props.chainId, + { resolver: getFunctionId(props.nameResolver) }, + ] as const; + } + return ["_internal_chain_name_", props.chainId] as const; +} diff --git a/packages/thirdweb/src/react/web/ui/prebuilt/Chain/provider.tsx b/packages/thirdweb/src/react/web/ui/prebuilt/Chain/provider.tsx index 97c21ca52d6..a1079668aa6 100644 --- a/packages/thirdweb/src/react/web/ui/prebuilt/Chain/provider.tsx +++ b/packages/thirdweb/src/react/web/ui/prebuilt/Chain/provider.tsx @@ -48,6 +48,7 @@ const ChainProviderContext = /* @__PURE__ */ createContext< * ``` * @component * @chain + * @beta */ export function ChainProvider( props: React.PropsWithChildren, diff --git a/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/icon.test.tsx b/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/icon.test.tsx new file mode 100644 index 00000000000..b4c7bc66615 --- /dev/null +++ b/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/icon.test.tsx @@ -0,0 +1,30 @@ +import { describe, expect, it } from "vitest"; +import { render, waitFor } from "~test/react-render.js"; +import { WalletIcon, fetchWalletImage } from "./icon.js"; +import { WalletProvider } from "./provider.js"; + +describe("WalletIcon", () => { + it("should fetch wallet image", async () => { + expect(await fetchWalletImage({ id: "io.metamask" })).toBe( + "data:image/webp;base64,UklGRsgFAABXRUJQVlA4ILwFAAAwHgCdASqAAIAAPm0ylEWkIyIXTGzMQAbEoAzQSPDffG8qhx7LpfeDUfnDee/tP6gP2u9Yf0a/7L0/+pc3nivc0JlTXBvMVYW1Wt7JbdRJ1a5UhpH9+sdhAvGug20WzG+wRD+P/7/raQ1NqZ5EfcOwosQsP7NRVflPNArBLCbFJWE3EvTLNOmMfR2f+r+E2y6y1lWanc3n9RtF4lYbcW38t3UG/W2jXng4loXFOy3Vjm/r/1KHwXlpAuhAIzK/XF+ChayRFhBD+lbRrgQ3CSVjdmXw6agYPoMQ+tpjPUN/3qdGcvnN1sKWt57OGozQVSjMu0aA58MPKVWiAP77l9VfptKhZ7in3+r1DqZZQEYqO1p+MENah/WS/QQDvPuew8P0OXfahcjbCg7h4QEEEjDyfoFUbQHdw+meAsydryxVs/Ij+eB619Uj/sMgtwIifIyTieCT/hdsDmpLqGD+vOIArZfzSkordRkngojxVgvWRht84IaCHCs5Dn208UHFmyQE4KCxHef1iLYeAEPxnIAovGHIl7rCjiYE12obAM3ZCnt+RFqcT3q2rorCswc4/8f8TOhCSo63/dszpMkNQonGwtyhAFnm1EKqLPDcy99ggKQL95VYePoHcv8sHOG5zJ7lircX7VPpxkloNVWnlp/drJjQrp0h5BsOnqYn756+wcFw5qapAOnYCKUHujsoSz2BlLs1702rFpvi1iVczo2aO9GN1TaM3zBqMX0NN0YEU8pz/3+xwkK5M5q+Qb4FNJeugjdOp2kcYoOCbyAg/0OyGswYHPwDN/opVaDHWj0FcKzLq43uEjUZMG8t7O6BkoK0FmpYOeTQrinuF5F6W6ENly78daVmGPYTU22R9No5+xr8F2ESYTaJzOR3UoouY15xHrsxhDCukfebOiHljS6jUjF0TWaIAb58k57DZ3gdjkpxnJDyEmCsCOlASNWMn1ay3G8PDriQOdwsL7bgx/jZXN6XZHVx2hst/6Qcljnnn4um8eD1NcP1rTV7HMZzAb/d7ntki9zU1IFl695zPs3YT+h0PS4JuQYLzYoxpmMUQ35sVx/3KkL4Pm/TlvuNpnopM0+l2b/0OS6+5GwJYEMpzM4peYZS3qZkz/kxWNPTLv3UcCguDqpGxZ39l/VQJhSImKPZBa1RWCtSj29VCzCEZlX/eAdAKgZwhMKR4C5osznEbxjfRdHHPxjZwstCwugFa5w/WykOTFGAzk0sLSuvxO9kw/f++0WvG5La11GQaqbDDJ/ks7bcELqEGtvLHiJgxOXW9PqCk5Ap9EYelPTmdhHZgzWxtz4idN+JX+DGyYtJYjtW+Ay4kJ4Hol+Iavfje1f/22S69z1XSZ8OOcrDHKQdO1JlGaTkKQmCg5Tr05Qy9NQSfh67Vpui6OyMu38BnbG+cfWPRx/MjGQITY8w8sb1GUGd5hD9eVqycVtz8yFlYrXYQSBkAxMYgkBaiWe6kk24SoOCgt74nNs3pyTWUERw9ENESB6PyO9HjcsUZWIh97RKlf6thPtqxdlfr9i3McON9zvI7M2TtYcneXhOnqN8V4wqqII2J3DQ6/DZFNj5eNkCp2ijt7UWuKduhEmbZlLahfxD8eqBHAZR/H5rulzc4oVlyXr6qPXf9LCEuDRSDE8VNFY4NuTcaRTZO33RrWmWzbXAwpEKeH/Xf78XMoeynLBSyB+pS6y8Fqh7ExdmnvtW2gW3pwNrLc5lXlZJW8VcBzaSpy1Dmqj6Xll9BS8RyWqNx0O3fY8NJpf1exbNYMWA8juddzn2d9lHypEbiym0ASxI/jgGkbis5fecZ60QtJusJgdC8HAJEh64A9EuOCAnnISc5CElwpsvJTdEZhYv3t7MtLDvHp20lAtylt5l9yxqfCy/sqC6qZ/8+tsTAHzziGF6NKoaD0FVhZ2CER5AonJdBz5sg0rcD7arFe96uzujFDCQAAAA", + ); + }); + + it("should throw error if WalletId is not supported", async () => { + await expect(() => + // @ts-ignore For test + fetchWalletImage({ id: "__undefined__" }), + ).rejects.toThrowError("Wallet with id __undefined__ not found"); + }); + + it("should render an image", async () => { + const { container } = render( + + + , + ); + await waitFor(() => { + expect(container.querySelector("img")).not.toBe(null); + }); + }); +}); diff --git a/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/icon.tsx b/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/icon.tsx new file mode 100644 index 00000000000..90451b13e7c --- /dev/null +++ b/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/icon.tsx @@ -0,0 +1,120 @@ +"use client"; + +import { type UseQueryOptions, useQuery } from "@tanstack/react-query"; +import type { JSX } from "react"; +import { getWalletInfo } from "../../../../../wallets/__generated__/getWalletInfo.js"; +import type { WalletId } from "../../../../../wallets/wallet-types.js"; +import { useWalletContext } from "./provider.js"; + +export interface WalletIconProps + extends Omit, "src"> { + /** + * This component will be shown while the icon of the wallet is being fetched + * If not passed, the component will return `null`. + * + * You can/should pass a loading sign or spinner to this prop. + * @example + * ```tsx + * } /> + * ``` + */ + loadingComponent?: JSX.Element; + /** + * This component will be shown if the icon fails to be retreived + * If not passed, the component will return `null`. + * + * You can/should pass a descriptive text/component to this prop, indicating that the + * icon was not fetched succesfully + * @example + * ```tsx + * Failed to load} + * /> + * ``` + */ + fallbackComponent?: JSX.Element; + /** + * Optional `useQuery` params + */ + queryOptions?: Omit, "queryFn" | "queryKey">; +} + +/** + * This component tries to resolve the icon of a given wallet, then return an image. + * @returns an with the src of the wallet icon + * + * @example + * ### Basic usage + * ```tsx + * import { WalletProvider, WalletIcon } from "thirdweb/react"; + * + * + * + * + * ``` + * + * Result: An component with the src of the icon + * ```html + * + * ``` + * + * ### Show a loading sign while the icon is being loaded + * ```tsx + * } /> + * ``` + * + * ### Fallback to a dummy image if the wallet icon fails to resolve + * ```tsx + * } /> + * ``` + * + * ### Usage with queryOptions + * WalletIcon uses useQuery() from tanstack query internally. + * It allows you to pass a custom queryOptions of your choice for more control of the internal fetching logic + * ```tsx + * + * ``` + * + * @component + * @wallet + * @beta + */ +export function WalletIcon({ + loadingComponent, + fallbackComponent, + queryOptions, + ...restProps +}: WalletIconProps) { + const imageQuery = useWalletIcon({ queryOptions }); + if (imageQuery.isLoading) { + return loadingComponent || null; + } + if (!imageQuery.data) { + return fallbackComponent || null; + } + return {restProps.alt}; +} + +/** + * @internal + */ +function useWalletIcon(props: { + queryOptions?: Omit, "queryFn" | "queryKey">; +}) { + const { id } = useWalletContext(); + const imageQuery = useQuery({ + queryKey: ["walletIcon", id], + queryFn: async () => fetchWalletImage({ id }), + ...props.queryOptions, + }); + return imageQuery; +} + +/** + * @internal Exported for tests only + */ +export async function fetchWalletImage(props: { + id: WalletId; +}) { + const image_src = await getWalletInfo(props.id, true); + return image_src; +} diff --git a/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/name.test.tsx b/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/name.test.tsx new file mode 100644 index 00000000000..c8d50206015 --- /dev/null +++ b/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/name.test.tsx @@ -0,0 +1,55 @@ +import { describe, expect, it } from "vitest"; +import { render, waitFor } from "~test/react-render.js"; +import { getFunctionId } from "../../../../../utils/function-id.js"; +import { WalletName, fetchWalletName, getQueryKeys } from "./name.js"; +import { WalletProvider } from "./provider.js"; + +describe.runIf(process.env.TW_SECRET_KEY)("WalletName", () => { + it("fetchWalletName: should fetch wallet name from id", async () => { + const name = await fetchWalletName({ id: "io.metamask" }); + expect(name).toBe("MetaMask"); + }); + + it("fetchWalletName should throw error if failed to get name", async () => { + // @ts-ignore for test + await expect(() => fetchWalletName({ id: "test___" })).rejects.toThrowError( + "Wallet with id test___ not found", + ); + }); + + it("fetchWalletName should work with formatFn", async () => { + const formatFn = (str: string) => `${str} Wallet`; + expect(await fetchWalletName({ id: "io.metamask", formatFn })).toBe( + "MetaMask Wallet", + ); + }); + + it("getQueryKeys should work without a formatFn", () => { + expect(getQueryKeys({ id: "ai.hacken" })).toStrictEqual([ + "walletName", + "ai.hacken", + ]); + }); + + it("getQueryKeys should work WITH a formatFn", () => { + const fn = (str: string) => `test:${str}`; + const fnId = getFunctionId(fn); + expect(getQueryKeys({ id: "ai.hacken", formatFn: fn })).toStrictEqual([ + "walletName", + "ai.hacken", + { resolver: fnId }, + ]); + }); + + it("should render a span", async () => { + const { container } = render( + + + , + ); + + await waitFor(() => { + expect(container.querySelector("span")).not.toBe(null); + }); + }); +}); diff --git a/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/name.tsx b/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/name.tsx new file mode 100644 index 00000000000..92a8fac34d6 --- /dev/null +++ b/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/name.tsx @@ -0,0 +1,164 @@ +"use client"; + +import { type UseQueryOptions, useQuery } from "@tanstack/react-query"; +import type { JSX } from "react"; +import { getFunctionId } from "../../../../../utils/function-id.js"; +import { getWalletInfo } from "../../../../../wallets/__generated__/getWalletInfo.js"; +import type { WalletId } from "../../../../../wallets/wallet-types.js"; +import { useWalletContext } from "./provider.js"; + +/** + * Props for the WalletName component + * @component + * @wallet + */ +export interface WalletNameProps + extends Omit, "children"> { + /** + * This component will be shown while the name of the wallet name is being fetched + * If not passed, the component will return `null`. + * + * You can/should pass a loading sign or spinner to this prop. + * @example + * ```tsx + * } /> + * ``` + */ + loadingComponent?: JSX.Element; + /** + * This component will be shown if the name fails to be retreived + * If not passed, the component will return `null`. + * + * You can/should pass a descriptive text/component to this prop, indicating that the + * name was not fetched succesfully + * @example + * ```tsx + * Failed to load} + * /> + * ``` + */ + fallbackComponent?: JSX.Element; + /** + * Optional `useQuery` params + */ + queryOptions?: Omit, "queryFn" | "queryKey">; + /** + * A function to format the name's display value + * ```tsx + * doSomething()} /> + * ``` + */ + formatFn?: (str: string) => string; +} + +/** + * This component fetches then shows the name of a wallet. + * It inherits all the attributes of a HTML component, hence you can style it just like how you would style a normal + * + * @example + * ### Basic usage + * ```tsx + * import { WalletProvider, WalletName } from "thirdweb/react"; + * + * + * + * + * ``` + * Result: + * ```html + * MetaMask + * ``` + * + * ### Show a loading sign when the name is being fetched + * ```tsx + * import { WalletProvider, WalletName } from "thirdweb/react"; + * + * + * } /> + * + * ``` + * + * ### Fallback to something when the name fails to resolve + * ```tsx + * + * Failed to load} /> + * + * ``` + * + * ### Custom query options for useQuery + * This component uses `@tanstack-query`'s useQuery internally. + * You can use the `queryOptions` prop for more fine-grained control + * ```tsx + * + * @component + * @beta + * @wallet + */ +export function WalletName({ + loadingComponent, + fallbackComponent, + queryOptions, + formatFn, + ...restProps +}: WalletNameProps) { + const nameQuery = useWalletName({ queryOptions, formatFn }); + if (nameQuery.isLoading) { + return loadingComponent || null; + } + if (!nameQuery.data) { + return fallbackComponent || null; + } + return {nameQuery.data}; +} + +/** + * @internal + */ +function useWalletName(props: { + formatFn?: (str: string) => string; + queryOptions?: Omit, "queryFn" | "queryKey">; +}) { + const { id } = useWalletContext(); + const nameQuery = useQuery({ + queryKey: getQueryKeys({ id, formatFn: props.formatFn }), + queryFn: async () => fetchWalletName({ id, formatFn: props.formatFn }), + ...props.queryOptions, + }); + return nameQuery; +} + +/** + * @internal Exported for tests only + */ +export function getQueryKeys(props: { + id: WalletId; + formatFn?: (str: string) => string; +}) { + if (typeof props.formatFn === "function") { + return [ + "walletName", + props.id, + { resolver: getFunctionId(props.formatFn) }, + ] as const; + } + return ["walletName", props.id] as const; +} + +/** + * @internal Exported for tests only + */ +export async function fetchWalletName(props: { + id: WalletId; + formatFn?: (str: string) => string; +}) { + const info = await getWalletInfo(props.id); + if (typeof props.formatFn === "function") { + return props.formatFn(info.name); + } + return info.name; +} diff --git a/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/provider.test.tsx b/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/provider.test.tsx new file mode 100644 index 00000000000..db97a5ce152 --- /dev/null +++ b/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/provider.test.tsx @@ -0,0 +1,61 @@ +import { type FC, useContext } from "react"; +import { describe, expect, it, vi } from "vitest"; +import { render, renderHook, screen } from "~test/react-render.js"; +import { + WalletProvider, + WalletProviderContext, + useWalletContext, +} from "./provider.js"; + +describe.runIf(process.env.TW_SECRET_KEY)("WalletProvider", () => { + it("useWalletContext should throw an error when used outside of WalletProvider", () => { + const consoleErrorSpy = vi + .spyOn(console, "error") + .mockImplementation(() => {}); + + expect(() => { + renderHook(() => useWalletContext()); + }).toThrow( + "WalletProviderContext not found. Make sure you are using WalletIcon, WalletName, etc. inside a component", + ); + + consoleErrorSpy.mockRestore(); + }); + + it("useWalletContext should return the context value when used within WalletProvider", () => { + const wrapper: FC = ({ children }: React.PropsWithChildren) => ( + {children} + ); + + const { result } = renderHook(() => useWalletContext(), { wrapper }); + + expect(result.current.id).toStrictEqual("io.metamask"); + }); + + it("should render children correctly", () => { + render( + +
Child Component
+
, + ); + + expect(screen.getByText("Child Component")).toBeInTheDocument(); + }); + + it("should provide context values to children", () => { + function WalletConsumer() { + const context = useContext(WalletProviderContext); + if (!context) { + return
No context
; + } + return
{String(context.id)}
; + } + render( + + + , + ); + + expect(screen.getByText("io.metamask")).toBeInTheDocument(); + }); +}); diff --git a/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/provider.tsx b/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/provider.tsx new file mode 100644 index 00000000000..97d91fde1c7 --- /dev/null +++ b/packages/thirdweb/src/react/web/ui/prebuilt/Wallet/provider.tsx @@ -0,0 +1,65 @@ +"use client"; + +import type React from "react"; +import { createContext, useContext } from "react"; +import type { WalletId } from "../../../../../wallets/wallet-types.js"; + +/** + * Props for the WalletProvider component + * @component + * @wallet + */ +export type WalletProviderProps = { + id: WalletId; +}; + +/** + * @internal Exported for tests only + */ +export const WalletProviderContext = /* @__PURE__ */ createContext< + WalletProviderProps | undefined +>(undefined); + +/** +/** + * A React context provider component that supplies Wallet-related data to its child components. + * + * This component serves as a wrapper around the `WalletProviderContext.Provider` and passes + * the provided wallet data down to all of its child components through the context API. + * + * @example + * ### Basic usage + * ```tsx + * import { WalletProvider, WalletIcon, WalletName } from "thirdweb/react"; + * + * + * + * + * + * ``` + * @beta + * @component + * @wallet + */ +export function WalletProvider( + props: React.PropsWithChildren, +) { + return ( + + {props.children} + + ); +} + +/** + * @internal + */ +export function useWalletContext() { + const ctx = useContext(WalletProviderContext); + if (!ctx) { + throw new Error( + "WalletProviderContext not found. Make sure you are using WalletIcon, WalletName, etc. inside a component", + ); + } + return ctx; +} From 2b5080d90177b2a5f72b5c37482a0d32e7091338 Mon Sep 17 00:00:00 2001 From: kien-ngo Date: Sat, 14 Dec 2024 11:27:08 +0000 Subject: [PATCH 02/10] Playground: Examples for Wallet components (#5692) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Problem solved Short description of the bug fixed or feature added --- ## PR-Codex overview This PR introduces a new `Wallet` navigation link and implements a new `Wallet` page with components for displaying wallet icons and names, enhancing the user interface for crypto wallet applications. ### Detailed summary - Added a new navigation link for `Wallet`. - Created `page.tsx` for the `Wallet` section with metadata and layout. - Implemented `APIHeader` for the `Wallet` page. - Added three components: `WalletIconBasic`, `WalletNameBasic`, and `WalletNameFormat` in `wallet-examples.tsx`. - Each component includes a description and code example for usage. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` --- .../src/app/connect/ui/wallet/page.tsx | 49 ++++++++ apps/playground-web/src/app/navLinks.ts | 4 + .../headless-ui/wallet-examples.tsx | 109 ++++++++++++++++++ 3 files changed, 162 insertions(+) create mode 100644 apps/playground-web/src/app/connect/ui/wallet/page.tsx create mode 100644 apps/playground-web/src/components/headless-ui/wallet-examples.tsx diff --git a/apps/playground-web/src/app/connect/ui/wallet/page.tsx b/apps/playground-web/src/app/connect/ui/wallet/page.tsx new file mode 100644 index 00000000000..e97a2dd5599 --- /dev/null +++ b/apps/playground-web/src/app/connect/ui/wallet/page.tsx @@ -0,0 +1,49 @@ +import { APIHeader } from "@/components/blocks/APIHeader"; +import { + WalletIconBasic, + WalletNameBasic, + WalletNameFormat, +} from "@/components/headless-ui/wallet-examples"; + +import ThirdwebProvider from "@/components/thirdweb-provider"; +import { metadataBase } from "@/lib/constants"; +import type { Metadata } from "next"; + +export const metadata: Metadata = { + metadataBase, + title: "Wallet Components", + description: + "Boost your crypto wallet applications with our React headless UI components, optimized for digital asset management. These flexible, unstyled elements simplify cryptocurrency operations while granting developers complete control over the user interface design.", +}; + +export default function Page() { + return ( + +
+ + Boost your crypto wallet applications with our React headless UI + components, optimized for digital asset management. These + flexible, unstyled elements simplify cryptocurrency operations + while granting developers complete control over the user interface + design. + + } + docsLink="https://portal.thirdweb.com/react/v5/connecting-wallets/ui-components" + heroLink="/headless-ui-header.png" + /> +
+ +
+
+ +
+
+ +
+
+
+ ); +} diff --git a/apps/playground-web/src/app/navLinks.ts b/apps/playground-web/src/app/navLinks.ts index 69b11575838..241234ffd50 100644 --- a/apps/playground-web/src/app/navLinks.ts +++ b/apps/playground-web/src/app/navLinks.ts @@ -131,6 +131,10 @@ export const navLinks: SidebarLink[] = [ name: "Chain", href: "/connect/ui/chain", }, + { + name: "Wallet", + href: "/connect/ui/wallet", + }, ], }, ]; diff --git a/apps/playground-web/src/components/headless-ui/wallet-examples.tsx b/apps/playground-web/src/components/headless-ui/wallet-examples.tsx new file mode 100644 index 00000000000..c91788eae2d --- /dev/null +++ b/apps/playground-web/src/components/headless-ui/wallet-examples.tsx @@ -0,0 +1,109 @@ +"use client"; + +import { WalletIcon, WalletName, WalletProvider } from "thirdweb/react"; +import { CodeExample } from "../code/code-example"; + +export function WalletIconBasic() { + return ( + <> +
+

+ WalletIcon +

+

+ Show the icon of a crypto wallet +

+
+ + + Loading...
} + /> + + } + code={`import { WalletProvider, WalletIcon } from "thirdweb/react"; + +function App() { + return ( + + Loading...} + /> + + ) +}`} + lang="tsx" + /> + + ); +} + +export function WalletNameBasic() { + return ( + <> +
+

+ WalletName +

+

+ Show the name of a crypto wallet +

+
+ + + Loading...} /> + + } + code={`import { WalletProvider, WalletName } from "thirdweb/react"; + +function App() { + return ( + + Loading...} /> + + ) +}`} + lang="tsx" + /> + + ); +} + +export function WalletNameFormat() { + return ( + <> +
+

+ Transform the wallet name using the formatFn prop. +

+
+ + + `${str} Wallet`} /> + + } + code={`import { WalletProvider, WalletName } from "thirdweb/react"; + +function App() { + return ( + + Loading...} + formatFn={(str: string) => \`\${str} Wallet\`} + /> + + ) +}`} + lang="tsx" + /> + + ); +} From dc1e07b5e47af69d2a35ab426c36cab77da98796 Mon Sep 17 00:00:00 2001 From: gregfromstl Date: Sat, 14 Dec 2024 17:38:50 +0000 Subject: [PATCH 03/10] [CI] Chore: Only run actions for contributors (#5739) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Problem solved Short description of the bug fixed or feature added --- ## PR-Codex overview This PR enhances the GitHub workflows for pull requests by adding conditions for author associations and expanding issue types. ### Detailed summary - In `.github/workflows/auto-assign.yml`, added checks to assign authors only if they are `MEMBER`, `OWNER`, or `COLLABORATOR`. - In `.github/workflows/issue.yml`, expanded the `types` to include `ready_for_review`. - Added logic to automatically pass checks for external contributors. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` --- .github/workflows/auto-assign.yml | 6 +++++- .github/workflows/issue.yml | 13 ++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/.github/workflows/auto-assign.yml b/.github/workflows/auto-assign.yml index 0c78598d065..8d08b73452e 100644 --- a/.github/workflows/auto-assign.yml +++ b/.github/workflows/auto-assign.yml @@ -2,7 +2,7 @@ name: Auto Author Assign on: pull_request: - types: [ opened, reopened ] + types: [opened, reopened] permissions: pull-requests: write @@ -10,5 +10,9 @@ permissions: jobs: assign-author: runs-on: ubuntu-latest + if: | + github.event.pull_request.author_association == 'MEMBER' || + github.event.pull_request.author_association == 'OWNER' || + github.event.pull_request.author_association == 'COLLABORATOR' steps: - uses: toshimaru/auto-author-assign@v2.1.1 diff --git a/.github/workflows/issue.yml b/.github/workflows/issue.yml index 661d5e2ab4d..3e8dd3623fa 100644 --- a/.github/workflows/issue.yml +++ b/.github/workflows/issue.yml @@ -2,7 +2,7 @@ name: Linked Issue on: pull_request: - types: [opened, edited] + types: [opened, edited, ready_for_review] env: VALID_ISSUE_PREFIXES: "CNCT|DASH|PROT|INSIGHT|ENGINE|CS|DES|BIL|DEVX|SOLU|NEB" @@ -22,6 +22,17 @@ jobs: pull_number: context.issue.number }); + // Check if contributor is external + const isInternalContributor = ['MEMBER', 'OWNER', 'COLLABORATOR'].includes( + context.payload.pull_request.author_association + ); + + // Automatically pass for external contributors + if (!isInternalContributor) { + console.log('External contributor detected - automatically passing check'); + return; + } + const body = pr.data.body || ''; const branchName = pr.data.head.ref; const issueRegex = new RegExp(`(${process.env.VALID_ISSUE_PREFIXES})-\\d+`, 'i'); From f91f6310e9396918d0ffc5217eeb4a44cef0b8c8 Mon Sep 17 00:00:00 2001 From: gregfromstl Date: Sat, 14 Dec 2024 17:43:15 +0000 Subject: [PATCH 04/10] [CI] Feature: Deploy typedoc to permalink (#5740) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## PR-Codex overview This PR introduces a new `TypeDoc` workflow for generating documentation and updates the `parse.mjs` script to process documentation data. It also modifies the `package.json` to include the `typedoc-better-json` dependency and adjusts the `pnpm-lock.yaml` accordingly. ### Detailed summary - Added `TypeDoc` GitHub Actions workflow in `.github/workflows/typedoc.yml`. - Created a new `parse.mjs` script in `packages/thirdweb/scripts` for transforming documentation data. - Updated `package.json` to include `typedoc-better-json` as a dependency. - Adjusted `pnpm-lock.yaml` to reflect changes in dependencies and versions. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` --- .github/workflows/typedoc.yml | 50 ++ packages/thirdweb/package.json | 749 ++++++++++++++-------------- packages/thirdweb/scripts/parse.mjs | 19 + pnpm-lock.yaml | 213 ++++---- 4 files changed, 551 insertions(+), 480 deletions(-) create mode 100644 .github/workflows/typedoc.yml create mode 100644 packages/thirdweb/scripts/parse.mjs diff --git a/.github/workflows/typedoc.yml b/.github/workflows/typedoc.yml new file mode 100644 index 00000000000..9ef79f524fa --- /dev/null +++ b/.github/workflows/typedoc.yml @@ -0,0 +1,50 @@ +name: TypeDoc + +on: + push: + branches: + - main + +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment +concurrency: + group: "typedoc" + cancel-in-progress: true + +jobs: + build: + name: "Generate TypeDoc" + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install + uses: ./.github/composite-actions/install + + - name: Run TypeDoc + run: pnpm typedoc + + - name: Update Gist + uses: actions/github-script@v7 + with: + github-token: ${{ secrets.GIST_TOKEN }} + script: | + const fs = require('fs'); + const content = fs.readFileSync('./packages/thirdweb/typedoc/parsed.json', 'utf8'); + const gistId = '678fe1f331a01270bb002fee660f285d'; + + await github.rest.gists.update({ + gist_id: gistId, + files: { + 'data.json': { + content: content + } + } + }); + + console.log(`Permalink: https://gist.githubusercontent.com/raw/${gistId}/data.json`); diff --git a/packages/thirdweb/package.json b/packages/thirdweb/package.json index acfedf6dfc3..28063925b83 100644 --- a/packages/thirdweb/package.json +++ b/packages/thirdweb/package.json @@ -1,376 +1,377 @@ { - "name": "thirdweb", - "version": "5.78.0", - "repository": { - "type": "git", - "url": "git+https://github.com/thirdweb-dev/js.git#main" - }, - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/thirdweb-dev/js/issues" - }, - "author": "thirdweb eng ", - "type": "module", - "bin": { - "thirdweb": "./dist/esm/cli/bin.js", - "thirdweb-cli": "./dist/esm/cli/bin.js" - }, - "main": "./dist/cjs/exports/thirdweb.js", - "module": "./dist/esm/exports/thirdweb.js", - "types": "./dist/types/exports/thirdweb.d.ts", - "typings": "./dist/types/exports/thirdweb.d.ts", - "exports": { - ".": { - "types": "./dist/types/exports/thirdweb.d.ts", - "import": "./dist/esm/exports/thirdweb.js", - "default": "./dist/cjs/exports/thirdweb.js" - }, - "./adapters/*": { - "types": "./dist/types/exports/adapters/*.d.ts", - "import": "./dist/esm/exports/adapters/*.js", - "default": "./dist/cjs/exports/adapters/*.js" - }, - "./auth": { - "types": "./dist/types/exports/auth.d.ts", - "import": "./dist/esm/exports/auth.js", - "default": "./dist/cjs/exports/auth.js" - }, - "./chains": { - "types": "./dist/types/exports/chains.d.ts", - "import": "./dist/esm/exports/chains.js", - "default": "./dist/cjs/exports/chains.js" - }, - "./contract": { - "types": "./dist/types/exports/contract.d.ts", - "import": "./dist/esm/exports/contract.js", - "default": "./dist/cjs/exports/contract.js" - }, - "./deploys": { - "types": "./dist/types/exports/deploys.d.ts", - "import": "./dist/esm/exports/deploys.js", - "default": "./dist/cjs/exports/deploys.js" - }, - "./event": { - "types": "./dist/types/exports/event.d.ts", - "import": "./dist/esm/exports/event.js", - "default": "./dist/cjs/exports/event.js" - }, - "./extensions/*": { - "types": "./dist/types/exports/extensions/*.d.ts", - "import": "./dist/esm/exports/extensions/*.js", - "default": "./dist/cjs/exports/extensions/*.js" - }, - "./pay": { - "types": "./dist/types/exports/pay.d.ts", - "import": "./dist/esm/exports/pay.js", - "default": "./dist/cjs/exports/pay.js" - }, - "./react": { - "types": "./dist/types/exports/react.d.ts", - "import": "./dist/esm/exports/react.js", - "react-native": "./dist/esm/exports/react.native.js", - "default": "./dist/cjs/exports/react.js" - }, - "./react-native": { - "types": "./dist/types/exports/react-native.d.ts", - "import": "./dist/esm/exports/react-native.js", - "default": "./dist/cjs/exports/react-native.js" - }, - "./rpc": { - "types": "./dist/types/exports/rpc.d.ts", - "import": "./dist/esm/exports/rpc.js", - "default": "./dist/cjs/exports/rpc.js" - }, - "./storage": { - "types": "./dist/types/exports/storage.d.ts", - "import": "./dist/esm/exports/storage.js", - "default": "./dist/cjs/exports/storage.js" - }, - "./transaction": { - "types": "./dist/types/exports/transaction.d.ts", - "import": "./dist/esm/exports/transaction.js", - "default": "./dist/cjs/exports/transaction.js" - }, - "./utils": { - "types": "./dist/types/exports/utils.d.ts", - "import": "./dist/esm/exports/utils.js", - "default": "./dist/cjs/exports/utils.js" - }, - "./wallets": { - "types": "./dist/types/exports/wallets.d.ts", - "import": "./dist/esm/exports/wallets.js", - "react-native": "./dist/esm/exports/wallets.native.js", - "default": "./dist/cjs/exports/wallets.js" - }, - "./wallets/in-app": { - "types": "./dist/types/exports/wallets/in-app.d.ts", - "import": "./dist/esm/exports/wallets/in-app.js", - "react-native": "./dist/esm/exports/wallets/in-app.native.js", - "default": "./dist/cjs/exports/wallets/in-app.js" - }, - "./wallets/*": { - "types": "./dist/types/exports/wallets/*.d.ts", - "import": "./dist/esm/exports/wallets/*.js", - "default": "./dist/cjs/exports/wallets/*.js" - }, - "./modules": { - "types": "./dist/types/exports/modules.d.ts", - "import": "./dist/esm/exports/modules.js", - "default": "./dist/cjs/exports/modules.js" - }, - "./social": { - "types": "./dist/types/exports/social.d.ts", - "import": "./dist/esm/exports/social.js", - "default": "./dist/cjs/exports/social.js" - }, - "./package.json": "./package.json" - }, - "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" - ] - } - }, - "browser": { - "crypto": false - }, - "sideEffects": false, - "files": [ - "dist/*", - "src/*", - "!**/*.tsbuildinfo", - "!**/*.test.ts", - "!**/*.test.tsx", - "!**/*.test.ts.snap", - "!**/*.test-d.ts", - "!**/*.bench.ts", - "!tsconfig.build.json" - ], - "dependencies": { - "@coinbase/wallet-sdk": "4.2.4", - "@emotion/react": "11.14.0", - "@emotion/styled": "11.14.0", - "@google/model-viewer": "2.1.1", - "@noble/curves": "1.7.0", - "@noble/hashes": "1.6.1", - "@passwordless-id/webauthn": "^2.1.2", - "@radix-ui/react-dialog": "1.1.2", - "@radix-ui/react-focus-scope": "1.1.0", - "@radix-ui/react-icons": "1.3.2", - "@radix-ui/react-tooltip": "1.1.4", - "@tanstack/react-query": "5.62.7", - "@walletconnect/ethereum-provider": "2.17.2", - "@walletconnect/sign-client": "2.17.2", - "abitype": "1.0.7", - "fuse.js": "7.0.0", - "input-otp": "^1.4.1", - "mipd": "0.0.7", - "ox": "0.4.1", - "uqr": "0.1.2", - "viem": "2.21.54" - }, - "peerDependencies": { - "@aws-sdk/client-lambda": "^3", - "@aws-sdk/credential-providers": "^3", - "@coinbase/wallet-mobile-sdk": "^1", - "@mobile-wallet-protocol/client": "0.1.1", - "@react-native-async-storage/async-storage": "^1 || ^2", - "ethers": "^5 || ^6", - "expo-linking": "^6", - "expo-web-browser": "^13 || ^14", - "react": "^18 || ^19", - "react-native": "*", - "react-native-aes-gcm-crypto": "^0.2", - "react-native-passkey": "^3", - "react-native-quick-crypto": ">=0.7.0-rc.6 || >=0.7", - "react-native-svg": "^15", - "typescript": ">=5.0.4" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-native": { - "optional": true - }, - "ethers": { - "optional": true - }, - "typescript": { - "optional": true - }, - "react-native-aes-gcm-crypto": { - "optional": true - }, - "expo-linking": { - "optional": true - }, - "expo-web-browser": { - "optional": true - }, - "react-native-quick-crypto": { - "optional": true - }, - "react-native-passkey": { - "optional": true - }, - "react-native-svg": { - "optional": true - }, - "@aws-sdk/client-lambda": { - "optional": true - }, - "@aws-sdk/client-kms": { - "optional": true - }, - "@aws-sdk/credential-providers": { - "optional": true - }, - "@react-native-async-storage/async-storage": { - "optional": true - }, - "@coinbase/wallet-mobile-sdk": { - "optional": true - }, - "@mobile-wallet-protocol/client": { - "optional": true - } - }, - "scripts": { - "bench:compare": "bun run ./benchmarks/run.ts", - "bench": "vitest -c ./test/vitest.config.ts bench", - "format": "biome format ./src --write", - "lint": "knip && biome check ./src && tsc --project ./tsconfig.build.json --module esnext --noEmit", - "fix": "biome check ./src --fix", - "knip": "knip", - "build:generate": "bun scripts/generate/generate.ts", - "build:generate-wallets": "bun scripts/wallets/generate.ts", - "dev": "tsc --project ./tsconfig.build.json --module es2020 --outDir ./dist/esm --watch", - "dev:cjs": "printf '{\"type\":\"commonjs\"}' > ./dist/cjs/package.json && tsc --noCheck --project ./tsconfig.build.json --module commonjs --outDir ./dist/cjs --verbatimModuleSyntax false --watch", - "dev:esm": "printf '{\"type\": \"module\",\"sideEffects\":false}' > ./dist/esm/package.json && tsc --noCheck --project ./tsconfig.build.json --module es2020 --outDir ./dist/esm --watch", - "build": "pnpm clean && pnpm build:types && pnpm build:cjs && pnpm build:esm", - "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", - "build:types": "tsc --project ./tsconfig.build.json --module esnext --declarationDir ./dist/types --emitDeclarationOnly --declaration --declarationMap", - "clean": "rimraf dist", - "size": "size-limit", - "test:watch": "vitest -c ./test/vitest.config.ts dev", - "test": "vitest run -c ./test/vitest.config.ts --coverage", - "test:cov": "vitest dev -c ./test/vitest.config.ts --coverage", - "test:ui": "vitest dev -c ./test/vitest.config.ts --coverage --ui", - "test:dev": "vitest run -c ./test/vitest.config.ts", - "test:react": "vitest run -c ./test/vitest.config.ts dev --ui src/react", - "typedoc": "bun run scripts/typedoc.mjs", - "update-version": "node scripts/version.mjs", - "storybook": "storybook dev -p 6006", - "build-storybook": "storybook build" - }, - "engines": { - "node": ">=18" - }, - "devDependencies": { - "@aws-sdk/client-kms": "3.709.0", - "@aws-sdk/client-lambda": "3.709.0", - "@aws-sdk/credential-providers": "3.709.0", - "@biomejs/biome": "1.9.4", - "@chromatic-com/storybook": "3.2.2", - "@codspeed/vitest-plugin": "4.0.0", - "@coinbase/wallet-mobile-sdk": "1.1.2", - "@mobile-wallet-protocol/client": "0.1.2", - "@react-native-async-storage/async-storage": "2.1.0", - "@size-limit/preset-big-lib": "11.1.6", - "@storybook/addon-essentials": "8.4.7", - "@storybook/addon-interactions": "8.4.7", - "@storybook/addon-links": "8.4.7", - "@storybook/addon-onboarding": "8.4.7", - "@storybook/react": "8.4.7", - "@storybook/react-vite": "8.4.7", - "@storybook/test": "8.4.7", - "@testing-library/jest-dom": "^6.6.3", - "@testing-library/react": "^16.1.0", - "@testing-library/user-event": "^14.5.2", - "@types/cross-spawn": "^6.0.6", - "@types/react": "19.0.1", - "@viem/anvil": "0.0.10", - "@vitejs/plugin-react": "^4.3.4", - "@vitest/coverage-v8": "2.1.8", - "@vitest/ui": "2.1.8", - "cross-spawn": "7.0.6", - "dotenv-mono": "^1.3.14", - "ethers5": "npm:ethers@5", - "ethers6": "npm:ethers@6", - "expo-linking": "7.0.3", - "expo-web-browser": "14.0.1", - "happy-dom": "15.11.7", - "knip": "5.39.4", - "msw": "2.6.8", - "prettier": "3.3.3", - "react": "19.0.0", - "react-dom": "19.0.0", - "react-native": "0.76.5", - "react-native-aes-gcm-crypto": "0.2.2", - "react-native-passkey": "3.0.0", - "react-native-quick-crypto": "0.7.8", - "react-native-svg": "15.10.1", - "rimraf": "6.0.1", - "sharp": "^0.33.5", - "size-limit": "11.1.6", - "storybook": "8.4.7", - "typedoc": "0.27.4", - "typescript": "5.7.2", - "vite": "6.0.3", - "vitest": "2.1.8" - } + "name": "thirdweb", + "version": "5.78.0", + "repository": { + "type": "git", + "url": "git+https://github.com/thirdweb-dev/js.git#main" + }, + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/thirdweb-dev/js/issues" + }, + "author": "thirdweb eng ", + "type": "module", + "bin": { + "thirdweb": "./dist/esm/cli/bin.js", + "thirdweb-cli": "./dist/esm/cli/bin.js" + }, + "main": "./dist/cjs/exports/thirdweb.js", + "module": "./dist/esm/exports/thirdweb.js", + "types": "./dist/types/exports/thirdweb.d.ts", + "typings": "./dist/types/exports/thirdweb.d.ts", + "exports": { + ".": { + "types": "./dist/types/exports/thirdweb.d.ts", + "import": "./dist/esm/exports/thirdweb.js", + "default": "./dist/cjs/exports/thirdweb.js" + }, + "./adapters/*": { + "types": "./dist/types/exports/adapters/*.d.ts", + "import": "./dist/esm/exports/adapters/*.js", + "default": "./dist/cjs/exports/adapters/*.js" + }, + "./auth": { + "types": "./dist/types/exports/auth.d.ts", + "import": "./dist/esm/exports/auth.js", + "default": "./dist/cjs/exports/auth.js" + }, + "./chains": { + "types": "./dist/types/exports/chains.d.ts", + "import": "./dist/esm/exports/chains.js", + "default": "./dist/cjs/exports/chains.js" + }, + "./contract": { + "types": "./dist/types/exports/contract.d.ts", + "import": "./dist/esm/exports/contract.js", + "default": "./dist/cjs/exports/contract.js" + }, + "./deploys": { + "types": "./dist/types/exports/deploys.d.ts", + "import": "./dist/esm/exports/deploys.js", + "default": "./dist/cjs/exports/deploys.js" + }, + "./event": { + "types": "./dist/types/exports/event.d.ts", + "import": "./dist/esm/exports/event.js", + "default": "./dist/cjs/exports/event.js" + }, + "./extensions/*": { + "types": "./dist/types/exports/extensions/*.d.ts", + "import": "./dist/esm/exports/extensions/*.js", + "default": "./dist/cjs/exports/extensions/*.js" + }, + "./pay": { + "types": "./dist/types/exports/pay.d.ts", + "import": "./dist/esm/exports/pay.js", + "default": "./dist/cjs/exports/pay.js" + }, + "./react": { + "types": "./dist/types/exports/react.d.ts", + "import": "./dist/esm/exports/react.js", + "react-native": "./dist/esm/exports/react.native.js", + "default": "./dist/cjs/exports/react.js" + }, + "./react-native": { + "types": "./dist/types/exports/react-native.d.ts", + "import": "./dist/esm/exports/react-native.js", + "default": "./dist/cjs/exports/react-native.js" + }, + "./rpc": { + "types": "./dist/types/exports/rpc.d.ts", + "import": "./dist/esm/exports/rpc.js", + "default": "./dist/cjs/exports/rpc.js" + }, + "./storage": { + "types": "./dist/types/exports/storage.d.ts", + "import": "./dist/esm/exports/storage.js", + "default": "./dist/cjs/exports/storage.js" + }, + "./transaction": { + "types": "./dist/types/exports/transaction.d.ts", + "import": "./dist/esm/exports/transaction.js", + "default": "./dist/cjs/exports/transaction.js" + }, + "./utils": { + "types": "./dist/types/exports/utils.d.ts", + "import": "./dist/esm/exports/utils.js", + "default": "./dist/cjs/exports/utils.js" + }, + "./wallets": { + "types": "./dist/types/exports/wallets.d.ts", + "import": "./dist/esm/exports/wallets.js", + "react-native": "./dist/esm/exports/wallets.native.js", + "default": "./dist/cjs/exports/wallets.js" + }, + "./wallets/in-app": { + "types": "./dist/types/exports/wallets/in-app.d.ts", + "import": "./dist/esm/exports/wallets/in-app.js", + "react-native": "./dist/esm/exports/wallets/in-app.native.js", + "default": "./dist/cjs/exports/wallets/in-app.js" + }, + "./wallets/*": { + "types": "./dist/types/exports/wallets/*.d.ts", + "import": "./dist/esm/exports/wallets/*.js", + "default": "./dist/cjs/exports/wallets/*.js" + }, + "./modules": { + "types": "./dist/types/exports/modules.d.ts", + "import": "./dist/esm/exports/modules.js", + "default": "./dist/cjs/exports/modules.js" + }, + "./social": { + "types": "./dist/types/exports/social.d.ts", + "import": "./dist/esm/exports/social.js", + "default": "./dist/cjs/exports/social.js" + }, + "./package.json": "./package.json" + }, + "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" + ] + } + }, + "browser": { + "crypto": false + }, + "sideEffects": false, + "files": [ + "dist/*", + "src/*", + "!**/*.tsbuildinfo", + "!**/*.test.ts", + "!**/*.test.tsx", + "!**/*.test.ts.snap", + "!**/*.test-d.ts", + "!**/*.bench.ts", + "!tsconfig.build.json" + ], + "dependencies": { + "@coinbase/wallet-sdk": "4.2.4", + "@emotion/react": "11.14.0", + "@emotion/styled": "11.14.0", + "@google/model-viewer": "2.1.1", + "@noble/curves": "1.7.0", + "@noble/hashes": "1.6.1", + "@passwordless-id/webauthn": "^2.1.2", + "@radix-ui/react-dialog": "1.1.2", + "@radix-ui/react-focus-scope": "1.1.0", + "@radix-ui/react-icons": "1.3.2", + "@radix-ui/react-tooltip": "1.1.4", + "@tanstack/react-query": "5.62.7", + "@walletconnect/ethereum-provider": "2.17.2", + "@walletconnect/sign-client": "2.17.2", + "abitype": "1.0.7", + "fuse.js": "7.0.0", + "input-otp": "^1.4.1", + "mipd": "0.0.7", + "ox": "0.4.1", + "uqr": "0.1.2", + "viem": "2.21.54" + }, + "peerDependencies": { + "@aws-sdk/client-lambda": "^3", + "@aws-sdk/credential-providers": "^3", + "@coinbase/wallet-mobile-sdk": "^1", + "@mobile-wallet-protocol/client": "0.1.1", + "@react-native-async-storage/async-storage": "^1 || ^2", + "ethers": "^5 || ^6", + "expo-linking": "^6", + "expo-web-browser": "^13 || ^14", + "react": "^18 || ^19", + "react-native": "*", + "react-native-aes-gcm-crypto": "^0.2", + "react-native-passkey": "^3", + "react-native-quick-crypto": ">=0.7.0-rc.6 || >=0.7", + "react-native-svg": "^15", + "typescript": ">=5.0.4" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-native": { + "optional": true + }, + "ethers": { + "optional": true + }, + "typescript": { + "optional": true + }, + "react-native-aes-gcm-crypto": { + "optional": true + }, + "expo-linking": { + "optional": true + }, + "expo-web-browser": { + "optional": true + }, + "react-native-quick-crypto": { + "optional": true + }, + "react-native-passkey": { + "optional": true + }, + "react-native-svg": { + "optional": true + }, + "@aws-sdk/client-lambda": { + "optional": true + }, + "@aws-sdk/client-kms": { + "optional": true + }, + "@aws-sdk/credential-providers": { + "optional": true + }, + "@react-native-async-storage/async-storage": { + "optional": true + }, + "@coinbase/wallet-mobile-sdk": { + "optional": true + }, + "@mobile-wallet-protocol/client": { + "optional": true + } + }, + "scripts": { + "bench:compare": "bun run ./benchmarks/run.ts", + "bench": "vitest -c ./test/vitest.config.ts bench", + "format": "biome format ./src --write", + "lint": "knip && biome check ./src && tsc --project ./tsconfig.build.json --module esnext --noEmit", + "fix": "biome check ./src --fix", + "knip": "knip", + "build:generate": "bun scripts/generate/generate.ts", + "build:generate-wallets": "bun scripts/wallets/generate.ts", + "dev": "tsc --project ./tsconfig.build.json --module es2020 --outDir ./dist/esm --watch", + "dev:cjs": "printf '{\"type\":\"commonjs\"}' > ./dist/cjs/package.json && tsc --noCheck --project ./tsconfig.build.json --module commonjs --outDir ./dist/cjs --verbatimModuleSyntax false --watch", + "dev:esm": "printf '{\"type\": \"module\",\"sideEffects\":false}' > ./dist/esm/package.json && tsc --noCheck --project ./tsconfig.build.json --module es2020 --outDir ./dist/esm --watch", + "build": "pnpm clean && pnpm build:types && pnpm build:cjs && pnpm build:esm", + "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", + "build:types": "tsc --project ./tsconfig.build.json --module esnext --declarationDir ./dist/types --emitDeclarationOnly --declaration --declarationMap", + "clean": "rimraf dist", + "size": "size-limit", + "test:watch": "vitest -c ./test/vitest.config.ts dev", + "test": "vitest run -c ./test/vitest.config.ts --coverage", + "test:cov": "vitest dev -c ./test/vitest.config.ts --coverage", + "test:ui": "vitest dev -c ./test/vitest.config.ts --coverage --ui", + "test:dev": "vitest run -c ./test/vitest.config.ts", + "test:react": "vitest run -c ./test/vitest.config.ts dev --ui src/react", + "typedoc": "node scripts/typedoc.mjs && node scripts/parse.mjs", + "update-version": "node scripts/version.mjs", + "storybook": "storybook dev -p 6006", + "build-storybook": "storybook build" + }, + "engines": { + "node": ">=18" + }, + "devDependencies": { + "@aws-sdk/client-kms": "3.709.0", + "@aws-sdk/client-lambda": "3.709.0", + "@aws-sdk/credential-providers": "3.709.0", + "@biomejs/biome": "1.9.4", + "@chromatic-com/storybook": "3.2.2", + "@codspeed/vitest-plugin": "4.0.0", + "@coinbase/wallet-mobile-sdk": "1.1.2", + "@mobile-wallet-protocol/client": "0.1.2", + "@react-native-async-storage/async-storage": "2.1.0", + "@size-limit/preset-big-lib": "11.1.6", + "@storybook/addon-essentials": "8.4.7", + "@storybook/addon-interactions": "8.4.7", + "@storybook/addon-links": "8.4.7", + "@storybook/addon-onboarding": "8.4.7", + "@storybook/react": "8.4.7", + "@storybook/react-vite": "8.4.7", + "@storybook/test": "8.4.7", + "@testing-library/jest-dom": "^6.6.3", + "@testing-library/react": "^16.1.0", + "@testing-library/user-event": "^14.5.2", + "@types/cross-spawn": "^6.0.6", + "@types/react": "19.0.1", + "@viem/anvil": "0.0.10", + "@vitejs/plugin-react": "^4.3.4", + "@vitest/coverage-v8": "2.1.8", + "@vitest/ui": "2.1.8", + "cross-spawn": "7.0.6", + "dotenv-mono": "^1.3.14", + "ethers5": "npm:ethers@5", + "ethers6": "npm:ethers@6", + "expo-linking": "7.0.3", + "expo-web-browser": "14.0.1", + "happy-dom": "15.11.7", + "knip": "5.39.4", + "msw": "2.6.8", + "prettier": "3.3.3", + "react": "19.0.0", + "react-dom": "19.0.0", + "react-native": "0.76.5", + "react-native-aes-gcm-crypto": "0.2.2", + "react-native-passkey": "3.0.0", + "react-native-quick-crypto": "0.7.8", + "react-native-svg": "15.10.1", + "rimraf": "6.0.1", + "sharp": "^0.33.5", + "size-limit": "11.1.6", + "storybook": "8.4.7", + "typedoc": "0.27.4", + "typedoc-better-json": "0.9.4", + "typescript": "5.7.2", + "vite": "6.0.3", + "vitest": "2.1.8" + } } diff --git a/packages/thirdweb/scripts/parse.mjs b/packages/thirdweb/scripts/parse.mjs new file mode 100644 index 00000000000..b14ecd09921 --- /dev/null +++ b/packages/thirdweb/scripts/parse.mjs @@ -0,0 +1,19 @@ +import { transform } from "typedoc-better-json"; +import { readFile, writeFile } from "fs/promises"; + +const inputPath = "typedoc/documentation.json"; +const outputPath = "typedoc/parsed.json"; + +try { + const fileContent = await readFile(inputPath, "utf-8"); + const fileData = JSON.parse(fileContent); + + const transformedData = transform(fileData); + + await writeFile(outputPath, JSON.stringify(transformedData, null, 2)); + + console.log(`File saved at ${outputPath}`); +} catch (error) { + console.error("Error:", error); + process.exit(1); +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ddf883e764b..f610364c713 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -135,7 +135,7 @@ importers: version: 1.1.4(@types/react-dom@19.0.2(@types/react@19.0.1))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@sentry/nextjs': specifier: 8.43.0 - version: 8.43.0(@opentelemetry/core@1.29.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.29.0(@opentelemetry/api@1.9.0))(next@15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) + version: 8.43.0(@opentelemetry/core@1.29.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.29.0(@opentelemetry/api@1.9.0))(next@15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1(@swc/core@1.10.1)) '@shazow/whatsabi': specifier: ^0.17.0 version: 0.17.0(@noble/hashes@1.6.1)(typescript@5.7.2)(zod@3.24.1) @@ -150,7 +150,7 @@ importers: version: link:../../packages/service-utils '@vercel/functions': specifier: ^1.5.1 - version: 1.5.1(@aws-sdk/credential-provider-web-identity@3.709.0(@aws-sdk/client-sts@3.709.0)) + version: 1.5.1(@aws-sdk/credential-provider-web-identity@3.709.0) '@vercel/og': specifier: ^0.6.4 version: 0.6.4 @@ -279,7 +279,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.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2))) + version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))) thirdweb: specifier: workspace:* version: link:../../packages/thirdweb @@ -328,7 +328,7 @@ importers: version: 8.4.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) '@storybook/nextjs': specifier: 8.4.7 - version: 8.4.7(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)(next@15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.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.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) + version: 8.4.7(@swc/core@1.10.1)(next@15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.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.1)) '@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) @@ -376,7 +376,7 @@ importers: version: 10.4.20(postcss@8.4.49) checkly: specifier: ^4.15.0 - version: 4.15.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 4.15.0(@swc/core@1.10.1)(@types/node@22.10.2)(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10) eslint: specifier: 8.57.0 version: 8.57.0 @@ -403,7 +403,7 @@ importers: version: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) typescript: specifier: 5.7.2 version: 5.7.2 @@ -527,10 +527,10 @@ importers: version: 8.4.49 tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(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.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2))) + version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))) typescript: specifier: 5.7.2 version: 5.7.2 @@ -542,13 +542,13 @@ importers: version: 1.0.6(react@19.0.0) '@mdx-js/loader': specifier: ^2.3.0 - version: 2.3.0(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))) + version: 2.3.0(webpack@5.97.1) '@mdx-js/react': specifier: ^2.3.0 version: 2.3.0(react@19.0.0) '@next/mdx': specifier: 15.1.0 - version: 15.1.0(@mdx-js/loader@2.3.0(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))))(@mdx-js/react@2.3.0(react@19.0.0)) + version: 15.1.0(@mdx-js/loader@2.3.0(webpack@5.97.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.2(@types/react@19.0.1))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -629,7 +629,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.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2))) + version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))) thirdweb: specifier: workspace:* version: link:../../packages/thirdweb @@ -687,7 +687,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.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2))) + version: 3.17.5(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))) next-sitemap: specifier: ^4.2.3 version: 4.2.3(next@15.1.0(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)) @@ -696,7 +696,7 @@ importers: version: 8.4.49 tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) tsx: specifier: 4.19.2 version: 4.19.2 @@ -765,7 +765,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.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2))) + version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))) thirdweb: specifier: workspace:* version: link:../../packages/thirdweb @@ -814,7 +814,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.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) typescript: specifier: 5.7.2 version: 5.7.2 @@ -997,7 +997,7 @@ importers: version: 2.1.0(react-native@0.76.5(@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.1)(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) + version: 11.1.6(bufferutil@4.0.8)(esbuild@0.24.0)(size-limit@11.1.6)(utf-8-validate@5.0.10) '@storybook/addon-essentials': specifier: 8.4.7 version: 8.4.7(@types/react@19.0.1)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)) @@ -1112,6 +1112,9 @@ importers: typedoc: specifier: 0.27.4 version: 0.27.4(typescript@5.7.2) + typedoc-better-json: + specifier: 0.9.4 + version: 0.9.4(typescript@5.7.2) typescript: specifier: 5.7.2 version: 5.7.2 @@ -17267,11 +17270,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.1(@swc/helpers@0.5.15)))': + '@mdx-js/loader@2.3.0(webpack@5.97.1)': dependencies: '@mdx-js/mdx': 2.3.0 source-map: 0.7.4 - webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15)) + webpack: 5.97.1 transitivePeerDependencies: - supports-color @@ -17411,11 +17414,11 @@ snapshots: dependencies: fast-glob: 3.3.1 - '@next/mdx@15.1.0(@mdx-js/loader@2.3.0(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))))(@mdx-js/react@2.3.0(react@19.0.0))': + '@next/mdx@15.1.0(@mdx-js/loader@2.3.0(webpack@5.97.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.1(@swc/helpers@0.5.15))) + '@mdx-js/loader': 2.3.0(webpack@5.97.1) '@mdx-js/react': 2.3.0(react@19.0.0) '@next/swc-darwin-arm64@15.1.0': @@ -17567,7 +17570,7 @@ snapshots: widest-line: 3.1.0 wrap-ansi: 7.0.0 - '@oclif/core@2.8.11(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)': + '@oclif/core@2.8.11(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2)': dependencies: '@types/cli-progress': 3.11.6 ansi-escapes: 4.3.2 @@ -17593,7 +17596,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.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2) + ts-node: 10.9.2(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2) tslib: 2.8.1 widest-line: 3.1.0 wordwrap: 1.0.0 @@ -17631,10 +17634,10 @@ snapshots: dependencies: '@oclif/core': 1.26.2 - '@oclif/plugin-not-found@2.3.23(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)': + '@oclif/plugin-not-found@2.3.23(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2)': dependencies: '@oclif/color': 1.0.13 - '@oclif/core': 2.8.11(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2) + '@oclif/core': 2.8.11(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2) fast-levenshtein: 3.0.0 lodash: 4.17.21 transitivePeerDependencies: @@ -17659,9 +17662,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@oclif/plugin-warn-if-update-available@2.0.24(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)': + '@oclif/plugin-warn-if-update-available@2.0.24(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2)': dependencies: - '@oclif/core': 2.8.11(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2) + '@oclif/core': 2.8.11(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2) chalk: 4.1.2 debug: 4.4.0(supports-color@8.1.1) fs-extra: 9.1.0 @@ -18033,7 +18036,7 @@ snapshots: dependencies: playwright: 1.49.1 - '@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.1(@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.30.0)(webpack-hot-middleware@2.26.1)(webpack@5.97.1(@swc/core@1.10.1))': dependencies: ansi-html: 0.0.9 core-js-pure: 3.39.0 @@ -18043,7 +18046,7 @@ snapshots: react-refresh: 0.14.2 schema-utils: 4.2.0 source-map: 0.7.4 - webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.97.1(@swc/core@1.10.1) optionalDependencies: type-fest: 4.30.0 webpack-hot-middleware: 2.26.1 @@ -19034,7 +19037,7 @@ snapshots: '@sentry/core@8.43.0': {} - '@sentry/nextjs@8.43.0(@opentelemetry/core@1.29.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.29.0(@opentelemetry/api@1.9.0))(next@15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0))': + '@sentry/nextjs@8.43.0(@opentelemetry/core@1.29.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.29.0(@opentelemetry/api@1.9.0))(next@15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1(@swc/core@1.10.1))': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.28.0 @@ -19045,7 +19048,7 @@ snapshots: '@sentry/opentelemetry': 8.43.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.29.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.29.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.28.0) '@sentry/react': 8.43.0(react@19.0.0) '@sentry/vercel-edge': 8.43.0 - '@sentry/webpack-plugin': 2.22.7(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) + '@sentry/webpack-plugin': 2.22.7(webpack@5.97.1(@swc/core@1.10.1)) chalk: 3.0.0 next: 15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) resolve: 1.22.8 @@ -19121,12 +19124,12 @@ snapshots: '@opentelemetry/api': 1.9.0 '@sentry/core': 8.43.0 - '@sentry/webpack-plugin@2.22.7(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0))': + '@sentry/webpack-plugin@2.22.7(webpack@5.97.1(@swc/core@1.10.1))': dependencies: '@sentry/bundler-plugin-core': 2.22.7 unplugin: 1.0.1 uuid: 9.0.1 - webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.97.1(@swc/core@1.10.1) transitivePeerDependencies: - encoding - supports-color @@ -19193,11 +19196,11 @@ snapshots: dependencies: size-limit: 11.1.6 - '@size-limit/preset-big-lib@11.1.6(bufferutil@4.0.8)(size-limit@11.1.6)(utf-8-validate@5.0.10)': + '@size-limit/preset-big-lib@11.1.6(bufferutil@4.0.8)(esbuild@0.24.0)(size-limit@11.1.6)(utf-8-validate@5.0.10)': dependencies: '@size-limit/file': 11.1.6(size-limit@11.1.6) '@size-limit/time': 11.1.6(bufferutil@4.0.8)(size-limit@11.1.6)(utf-8-validate@5.0.10) - '@size-limit/webpack': 11.1.6(size-limit@11.1.6) + '@size-limit/webpack': 11.1.6(esbuild@0.24.0)(size-limit@11.1.6) size-limit: 11.1.6 transitivePeerDependencies: - '@swc/core' @@ -19217,11 +19220,11 @@ snapshots: - supports-color - utf-8-validate - '@size-limit/webpack@11.1.6(size-limit@11.1.6)': + '@size-limit/webpack@11.1.6(esbuild@0.24.0)(size-limit@11.1.6)': dependencies: nanoid: 5.0.7 size-limit: 11.1.6 - webpack: 5.97.1 + webpack: 5.97.1(esbuild@0.24.0) transitivePeerDependencies: - '@swc/core' - esbuild @@ -19861,7 +19864,7 @@ snapshots: ts-dedent: 2.2.0 vite: 6.0.3(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) - '@storybook/builder-webpack5@8.4.7(@swc/core@1.10.1(@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.10.1)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(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)) '@types/node': 22.10.2 @@ -19870,23 +19873,23 @@ snapshots: 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.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) + css-loader: 6.11.0(webpack@5.97.1(@swc/core@1.10.1)) 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.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) - html-webpack-plugin: 5.6.3(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.7.2)(webpack@5.97.1(@swc/core@1.10.1)) + html-webpack-plugin: 5.6.3(webpack@5.97.1(@swc/core@1.10.1)) magic-string: 0.30.15 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.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) - terser-webpack-plugin: 5.3.10(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) + style-loader: 3.3.4(webpack@5.97.1(@swc/core@1.10.1)) + terser-webpack-plugin: 5.3.10(@swc/core@1.10.1)(webpack@5.97.1(@swc/core@1.10.1)) 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.1(@swc/helpers@0.5.15))(esbuild@0.24.0) - webpack-dev-middleware: 6.1.3(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) + webpack: 5.97.1(@swc/core@1.10.1) + webpack-dev-middleware: 6.1.3(webpack@5.97.1(@swc/core@1.10.1)) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.6.2 optionalDependencies: @@ -19998,7 +20001,7 @@ snapshots: dependencies: storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) - '@storybook/nextjs@8.4.7(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)(next@15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.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.1(@swc/helpers@0.5.15))(esbuild@0.24.0))': + '@storybook/nextjs@8.4.7(@swc/core@1.10.1)(next@15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.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.1))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.0) @@ -20013,31 +20016,31 @@ snapshots: '@babel/preset-react': 7.26.3(@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.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) - '@storybook/builder-webpack5': 8.4.7(@swc/core@1.10.1(@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.1(@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) + '@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.1)) + '@storybook/builder-webpack5': 8.4.7(@swc/core@1.10.1)(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.1)(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)) '@types/node': 22.10.2 '@types/semver': 7.5.8 - babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) - css-loader: 6.11.0(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) + babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.97.1(@swc/core@1.10.1)) + css-loader: 6.11.0(webpack@5.97.1(@swc/core@1.10.1)) find-up: 5.0.0 image-size: 1.1.1 loader-utils: 3.3.1 next: 15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - node-polyfill-webpack-plugin: 2.0.1(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) + node-polyfill-webpack-plugin: 2.0.1(webpack@5.97.1(@swc/core@1.10.1)) 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.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) + postcss-loader: 8.1.1(postcss@8.4.49)(typescript@5.7.2)(webpack@5.97.1(@swc/core@1.10.1)) 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.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) + sass-loader: 13.3.3(webpack@5.97.1(@swc/core@1.10.1)) 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.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) + style-loader: 3.3.4(webpack@5.97.1(@swc/core@1.10.1)) styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.0.0) ts-dedent: 2.2.0 tsconfig-paths: 4.2.0 @@ -20045,7 +20048,7 @@ snapshots: optionalDependencies: sharp: 0.33.5 typescript: 5.7.2 - webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.97.1(@swc/core@1.10.1) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -20065,11 +20068,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.1(@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.2)(utf-8-validate@5.0.10)))(@swc/core@1.10.1)(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)': 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.1(@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.97.1(@swc/core@1.10.1)) '@types/node': 22.10.2 '@types/semver': 7.5.8 find-up: 5.0.0 @@ -20081,7 +20084,7 @@ snapshots: semver: 7.6.3 storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) tsconfig-paths: 4.2.0 - webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.97.1(@swc/core@1.10.1) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -20100,7 +20103,7 @@ snapshots: dependencies: storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(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.1(@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.97.1(@swc/core@1.10.1))': dependencies: debug: 4.4.0(supports-color@8.1.1) endent: 2.1.0 @@ -20110,7 +20113,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.1(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.97.1(@swc/core@1.10.1) transitivePeerDependencies: - supports-color @@ -20598,7 +20601,7 @@ snapshots: '@swc/core-win32-x64-msvc@1.10.1': optional: true - '@swc/core@1.10.1(@swc/helpers@0.5.15)': + '@swc/core@1.10.1': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.17 @@ -20613,7 +20616,6 @@ snapshots: '@swc/core-win32-arm64-msvc': 1.10.1 '@swc/core-win32-ia32-msvc': 1.10.1 '@swc/core-win32-x64-msvc': 1.10.1 - '@swc/helpers': 0.5.15 optional: true '@swc/counter@0.1.3': {} @@ -21166,7 +21168,7 @@ snapshots: '@urql/core': 5.1.0(graphql@16.9.0) wonka: 6.3.4 - '@vercel/functions@1.5.1(@aws-sdk/credential-provider-web-identity@3.709.0(@aws-sdk/client-sts@3.709.0))': + '@vercel/functions@1.5.1(@aws-sdk/credential-provider-web-identity@3.709.0)': optionalDependencies: '@aws-sdk/credential-provider-web-identity': 3.709.0(@aws-sdk/client-sts@3.709.0) @@ -22065,12 +22067,12 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)): + babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.97.1(@swc/core@1.10.1)): 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.1(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.97.1(@swc/core@1.10.1) babel-plugin-istanbul@6.1.1: dependencies: @@ -22540,13 +22542,13 @@ snapshots: check-error@2.1.1: {} - checkly@4.15.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10): + checkly@4.15.0(@swc/core@1.10.1)(@types/node@22.10.2)(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10): dependencies: - '@oclif/core': 2.8.11(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2) + '@oclif/core': 2.8.11(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2) '@oclif/plugin-help': 5.1.20 - '@oclif/plugin-not-found': 2.3.23(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2) + '@oclif/plugin-not-found': 2.3.23(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2) '@oclif/plugin-plugins': 5.4.4 - '@oclif/plugin-warn-if-update-available': 2.0.24(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2) + '@oclif/plugin-warn-if-update-available': 2.0.24(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2) '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.7.2) acorn: 8.8.1 acorn-walk: 8.2.0 @@ -22992,7 +22994,7 @@ snapshots: css-gradient-parser@0.0.16: {} - css-loader@6.11.0(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)): + css-loader@6.11.0(webpack@5.97.1(@swc/core@1.10.1)): dependencies: icss-utils: 5.1.0(postcss@8.4.49) postcss: 8.4.49 @@ -23003,7 +23005,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.6.3 optionalDependencies: - webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.97.1(@swc/core@1.10.1) css-select@4.3.0: dependencies: @@ -23893,11 +23895,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.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2))): + eslint-plugin-tailwindcss@3.17.5(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(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.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)) + tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) eslint-scope@5.1.1: dependencies: @@ -24579,7 +24581,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.1(@swc/helpers@0.5.15))(esbuild@0.24.0)): + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.7.2)(webpack@5.97.1(@swc/core@1.10.1)): dependencies: '@babel/code-frame': 7.26.2 chalk: 4.1.2 @@ -24594,7 +24596,7 @@ snapshots: semver: 7.6.3 tapable: 2.2.1 typescript: 5.7.2 - webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.97.1(@swc/core@1.10.1) form-data-encoder@2.1.4: {} @@ -25067,7 +25069,7 @@ snapshots: html-void-elements@3.0.0: {} - html-webpack-plugin@5.6.3(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)): + html-webpack-plugin@5.6.3(webpack@5.97.1(@swc/core@1.10.1)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -25075,7 +25077,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.97.1(@swc/core@1.10.1) htmlparser2@3.10.1: dependencies: @@ -27571,7 +27573,7 @@ snapshots: node-int64@0.4.0: {} - node-polyfill-webpack-plugin@2.0.1(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)): + node-polyfill-webpack-plugin@2.0.1(webpack@5.97.1(@swc/core@1.10.1)): dependencies: assert: 2.1.0 browserify-zlib: 0.2.0 @@ -27598,7 +27600,7 @@ snapshots: url: 0.11.4 util: 0.12.5 vm-browserify: 1.1.2 - webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.97.1(@swc/core@1.10.1) node-releases@2.0.18: {} @@ -28223,13 +28225,13 @@ 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.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)): + postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@22.10.2)(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.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2) + ts-node: 10.9.2(@swc/core@1.10.1)(@types/node@22.10.2)(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: @@ -28240,14 +28242,14 @@ snapshots: 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.1(@swc/helpers@0.5.15))(esbuild@0.24.0)): + postcss-loader@8.1.1(postcss@8.4.49)(typescript@5.7.2)(webpack@5.97.1(@swc/core@1.10.1)): 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.1(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.97.1(@swc/core@1.10.1) transitivePeerDependencies: - typescript @@ -29404,10 +29406,10 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@13.3.3(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)): + sass-loader@13.3.3(webpack@5.97.1(@swc/core@1.10.1)): dependencies: neo-async: 2.6.2 - webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.97.1(@swc/core@1.10.1) satori@0.12.0: dependencies: @@ -29956,9 +29958,9 @@ snapshots: structured-headers@0.4.1: {} - style-loader@3.3.4(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)): + style-loader@3.3.4(webpack@5.97.1(@swc/core@1.10.1)): dependencies: - webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.97.1(@swc/core@1.10.1) style-to-object@0.4.4: dependencies: @@ -30103,11 +30105,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.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2))): + tailwindcss-animate@1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))): dependencies: - tailwindcss: 3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)) + tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) - tailwindcss@3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)): + tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -30126,7 +30128,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.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)) + postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) postcss-nested: 6.2.0(postcss@8.4.49) postcss-selector-parser: 6.1.2 resolve: 1.22.8 @@ -30188,28 +30190,27 @@ snapshots: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - terser-webpack-plugin@5.3.10(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)): + terser-webpack-plugin@5.3.10(@swc/core@1.10.1)(webpack@5.97.1(@swc/core@1.10.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.1(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.97.1(@swc/core@1.10.1) optionalDependencies: - '@swc/core': 1.10.1(@swc/helpers@0.5.15) - esbuild: 0.24.0 + '@swc/core': 1.10.1 - terser-webpack-plugin@5.3.10(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))): + terser-webpack-plugin@5.3.10(esbuild@0.24.0)(webpack@5.97.1(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.1(@swc/helpers@0.5.15)) + webpack: 5.97.1(esbuild@0.24.0) optionalDependencies: - '@swc/core': 1.10.1(@swc/helpers@0.5.15) + esbuild: 0.24.0 terser-webpack-plugin@5.3.10(webpack@5.97.1): dependencies: @@ -30348,7 +30349,7 @@ snapshots: ts-mixer@6.0.4: {} - ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2): + ts-node@10.9.2(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -30366,7 +30367,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.10.1(@swc/helpers@0.5.15) + '@swc/core': 1.10.1 ts-pnp@1.2.0(typescript@5.7.2): optionalDependencies: @@ -31116,7 +31117,7 @@ snapshots: - bufferutil - utf-8-validate - webpack-dev-middleware@6.1.3(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)): + webpack-dev-middleware@6.1.3(webpack@5.97.1(@swc/core@1.10.1)): dependencies: colorette: 2.0.20 memfs: 3.5.3 @@ -31124,7 +31125,7 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.2.0 optionalDependencies: - webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack: 5.97.1(@swc/core@1.10.1) webpack-hot-middleware@2.26.1: dependencies: @@ -31168,7 +31169,7 @@ snapshots: - esbuild - uglify-js - webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15)): + webpack@5.97.1(@swc/core@1.10.1): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 @@ -31190,7 +31191,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.1(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))) + terser-webpack-plugin: 5.3.10(@swc/core@1.10.1)(webpack@5.97.1(@swc/core@1.10.1)) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -31198,7 +31199,7 @@ snapshots: - esbuild - uglify-js - webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0): + webpack@5.97.1(esbuild@0.24.0): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 @@ -31220,7 +31221,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.1(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) + terser-webpack-plugin: 5.3.10(esbuild@0.24.0)(webpack@5.97.1(esbuild@0.24.0)) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: From 0ddc1238073c2b7c3d876f79daa542363ec45c0b Mon Sep 17 00:00:00 2001 From: gregfromstl Date: Sun, 15 Dec 2024 23:38:20 +0000 Subject: [PATCH 05/10] [Dashboard] Fix: Nebula send transaction params (#5744) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## PR-Codex overview This PR enhances the `SendTransactionButton` component in `Chats.tsx` by introducing improved transaction handling and validation through the addition of a blockchain `chain` context and the `sendTransaction` method. ### Detailed summary - Added import for `sendTransaction` from `thirdweb`. - Introduced `chain` variable using `useV5DashboardChain`. - Updated transaction validation to check for both `txData` and `chain`. - Refactored transaction sending logic to use `sendTransaction` with detailed parameters. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` --- .../app/nebula-app/(app)/components/Chats.tsx | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/apps/dashboard/src/app/nebula-app/(app)/components/Chats.tsx b/apps/dashboard/src/app/nebula-app/(app)/components/Chats.tsx index a5355bfe06d..082b1660468 100644 --- a/apps/dashboard/src/app/nebula-app/(app)/components/Chats.tsx +++ b/apps/dashboard/src/app/nebula-app/(app)/components/Chats.tsx @@ -15,10 +15,13 @@ import { import { useState } from "react"; import { toast } from "sonner"; import type { ThirdwebClient } from "thirdweb"; +import { sendTransaction } from "thirdweb"; import { useActiveAccount } from "thirdweb/react"; import type { Account } from "thirdweb/wallets"; +import { getThirdwebClient } from "../../../../@/constants/thirdweb.server"; import { TransactionButton } from "../../../../components/buttons/TransactionButton"; import { MarkdownRenderer } from "../../../../components/contract-components/published-contract/markdown-renderer"; +import { useV5DashboardChain } from "../../../../lib/v5-adapter"; import { submitFeedback } from "../api/feedback"; import { NebulaIcon } from "../icons/NebulaIcon"; @@ -241,16 +244,28 @@ function SendTransactionButton(props: { twAccount: TWAccount; }) { const account = useActiveAccount(); + const chain = useV5DashboardChain(props.txData?.chainId); + const sendTxMutation = useMutation({ mutationFn: () => { if (!account) { throw new Error("No active account"); } - if (!props.txData) { + if (!props.txData || !chain) { throw new Error("Invalid transaction"); } - return account.sendTransaction(props.txData); + + return sendTransaction({ + account, + transaction: { + ...props.txData, + nonce: Number(props.txData.nonce), + to: props.txData.to || undefined, // Get rid of the potential null value + chain, + client: getThirdwebClient(), + }, + }); }, }); From e42ffc6a931a8d80492a091d79e2d9b38e4ba1d7 Mon Sep 17 00:00:00 2001 From: Joaquim Verges Date: Tue, 17 Dec 2024 00:27:00 +1300 Subject: [PATCH 06/10] Fix migration to enclave wallets in react native (#5746) --- .changeset/eighty-days-pump.md | 5 + .changeset/wicked-yaks-flow.md | 5 + packages/react-native-adapter/package.json | 13 +- packages/thirdweb/package.json | 714 +++++----- .../in-app/native/helpers/constants.ts | 2 +- pnpm-lock.yaml | 1199 ++++++++++++++--- 6 files changed, 1343 insertions(+), 595 deletions(-) create mode 100644 .changeset/eighty-days-pump.md create mode 100644 .changeset/wicked-yaks-flow.md diff --git a/.changeset/eighty-days-pump.md b/.changeset/eighty-days-pump.md new file mode 100644 index 00000000000..949189f9846 --- /dev/null +++ b/.changeset/eighty-days-pump.md @@ -0,0 +1,5 @@ +--- +"thirdweb": patch +--- + +Fix migration to enclave in react native diff --git a/.changeset/wicked-yaks-flow.md b/.changeset/wicked-yaks-flow.md new file mode 100644 index 00000000000..ee3ab0d8389 --- /dev/null +++ b/.changeset/wicked-yaks-flow.md @@ -0,0 +1,5 @@ +--- +"@thirdweb-dev/react-native-adapter": patch +--- + +Downgrade aws libraries diff --git a/packages/react-native-adapter/package.json b/packages/react-native-adapter/package.json index 8d718e9fb7c..ae03023fbcf 100644 --- a/packages/react-native-adapter/package.json +++ b/packages/react-native-adapter/package.json @@ -23,14 +23,11 @@ }, "./package.json": "./package.json" }, - "files": [ - "dist/*", - "src/*" - ], + "files": ["dist/*", "src/*"], "dependencies": { - "@aws-sdk/client-kms": "3.709.0", - "@aws-sdk/client-lambda": "3.709.0", - "@aws-sdk/credential-providers": "3.709.0", + "@aws-sdk/client-kms": "3.592.0", + "@aws-sdk/client-lambda": "3.592.0", + "@aws-sdk/credential-providers": "3.592.0", "@mobile-wallet-protocol/client": "0.1.2" }, "devDependencies": { @@ -47,7 +44,7 @@ "react-native": ">=0.70", "react-native-aes-gcm-crypto": "^0.2", "react-native-get-random-values": "^1", - "react-native-quick-crypto": ">=0.7.0-rc.6 || >=0.7", + "react-native-quick-crypto": ">=0.7", "react-native-svg": "^15", "typescript": ">=5.0.4" }, diff --git a/packages/thirdweb/package.json b/packages/thirdweb/package.json index 28063925b83..66c78a768da 100644 --- a/packages/thirdweb/package.json +++ b/packages/thirdweb/package.json @@ -1,377 +1,341 @@ { - "name": "thirdweb", - "version": "5.78.0", - "repository": { - "type": "git", - "url": "git+https://github.com/thirdweb-dev/js.git#main" - }, - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/thirdweb-dev/js/issues" - }, - "author": "thirdweb eng ", - "type": "module", - "bin": { - "thirdweb": "./dist/esm/cli/bin.js", - "thirdweb-cli": "./dist/esm/cli/bin.js" - }, - "main": "./dist/cjs/exports/thirdweb.js", - "module": "./dist/esm/exports/thirdweb.js", - "types": "./dist/types/exports/thirdweb.d.ts", - "typings": "./dist/types/exports/thirdweb.d.ts", - "exports": { - ".": { - "types": "./dist/types/exports/thirdweb.d.ts", - "import": "./dist/esm/exports/thirdweb.js", - "default": "./dist/cjs/exports/thirdweb.js" - }, - "./adapters/*": { - "types": "./dist/types/exports/adapters/*.d.ts", - "import": "./dist/esm/exports/adapters/*.js", - "default": "./dist/cjs/exports/adapters/*.js" - }, - "./auth": { - "types": "./dist/types/exports/auth.d.ts", - "import": "./dist/esm/exports/auth.js", - "default": "./dist/cjs/exports/auth.js" - }, - "./chains": { - "types": "./dist/types/exports/chains.d.ts", - "import": "./dist/esm/exports/chains.js", - "default": "./dist/cjs/exports/chains.js" - }, - "./contract": { - "types": "./dist/types/exports/contract.d.ts", - "import": "./dist/esm/exports/contract.js", - "default": "./dist/cjs/exports/contract.js" - }, - "./deploys": { - "types": "./dist/types/exports/deploys.d.ts", - "import": "./dist/esm/exports/deploys.js", - "default": "./dist/cjs/exports/deploys.js" - }, - "./event": { - "types": "./dist/types/exports/event.d.ts", - "import": "./dist/esm/exports/event.js", - "default": "./dist/cjs/exports/event.js" - }, - "./extensions/*": { - "types": "./dist/types/exports/extensions/*.d.ts", - "import": "./dist/esm/exports/extensions/*.js", - "default": "./dist/cjs/exports/extensions/*.js" - }, - "./pay": { - "types": "./dist/types/exports/pay.d.ts", - "import": "./dist/esm/exports/pay.js", - "default": "./dist/cjs/exports/pay.js" - }, - "./react": { - "types": "./dist/types/exports/react.d.ts", - "import": "./dist/esm/exports/react.js", - "react-native": "./dist/esm/exports/react.native.js", - "default": "./dist/cjs/exports/react.js" - }, - "./react-native": { - "types": "./dist/types/exports/react-native.d.ts", - "import": "./dist/esm/exports/react-native.js", - "default": "./dist/cjs/exports/react-native.js" - }, - "./rpc": { - "types": "./dist/types/exports/rpc.d.ts", - "import": "./dist/esm/exports/rpc.js", - "default": "./dist/cjs/exports/rpc.js" - }, - "./storage": { - "types": "./dist/types/exports/storage.d.ts", - "import": "./dist/esm/exports/storage.js", - "default": "./dist/cjs/exports/storage.js" - }, - "./transaction": { - "types": "./dist/types/exports/transaction.d.ts", - "import": "./dist/esm/exports/transaction.js", - "default": "./dist/cjs/exports/transaction.js" - }, - "./utils": { - "types": "./dist/types/exports/utils.d.ts", - "import": "./dist/esm/exports/utils.js", - "default": "./dist/cjs/exports/utils.js" - }, - "./wallets": { - "types": "./dist/types/exports/wallets.d.ts", - "import": "./dist/esm/exports/wallets.js", - "react-native": "./dist/esm/exports/wallets.native.js", - "default": "./dist/cjs/exports/wallets.js" - }, - "./wallets/in-app": { - "types": "./dist/types/exports/wallets/in-app.d.ts", - "import": "./dist/esm/exports/wallets/in-app.js", - "react-native": "./dist/esm/exports/wallets/in-app.native.js", - "default": "./dist/cjs/exports/wallets/in-app.js" - }, - "./wallets/*": { - "types": "./dist/types/exports/wallets/*.d.ts", - "import": "./dist/esm/exports/wallets/*.js", - "default": "./dist/cjs/exports/wallets/*.js" - }, - "./modules": { - "types": "./dist/types/exports/modules.d.ts", - "import": "./dist/esm/exports/modules.js", - "default": "./dist/cjs/exports/modules.js" - }, - "./social": { - "types": "./dist/types/exports/social.d.ts", - "import": "./dist/esm/exports/social.js", - "default": "./dist/cjs/exports/social.js" - }, - "./package.json": "./package.json" - }, - "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" - ] - } - }, - "browser": { - "crypto": false - }, - "sideEffects": false, - "files": [ - "dist/*", - "src/*", - "!**/*.tsbuildinfo", - "!**/*.test.ts", - "!**/*.test.tsx", - "!**/*.test.ts.snap", - "!**/*.test-d.ts", - "!**/*.bench.ts", - "!tsconfig.build.json" - ], - "dependencies": { - "@coinbase/wallet-sdk": "4.2.4", - "@emotion/react": "11.14.0", - "@emotion/styled": "11.14.0", - "@google/model-viewer": "2.1.1", - "@noble/curves": "1.7.0", - "@noble/hashes": "1.6.1", - "@passwordless-id/webauthn": "^2.1.2", - "@radix-ui/react-dialog": "1.1.2", - "@radix-ui/react-focus-scope": "1.1.0", - "@radix-ui/react-icons": "1.3.2", - "@radix-ui/react-tooltip": "1.1.4", - "@tanstack/react-query": "5.62.7", - "@walletconnect/ethereum-provider": "2.17.2", - "@walletconnect/sign-client": "2.17.2", - "abitype": "1.0.7", - "fuse.js": "7.0.0", - "input-otp": "^1.4.1", - "mipd": "0.0.7", - "ox": "0.4.1", - "uqr": "0.1.2", - "viem": "2.21.54" - }, - "peerDependencies": { - "@aws-sdk/client-lambda": "^3", - "@aws-sdk/credential-providers": "^3", - "@coinbase/wallet-mobile-sdk": "^1", - "@mobile-wallet-protocol/client": "0.1.1", - "@react-native-async-storage/async-storage": "^1 || ^2", - "ethers": "^5 || ^6", - "expo-linking": "^6", - "expo-web-browser": "^13 || ^14", - "react": "^18 || ^19", - "react-native": "*", - "react-native-aes-gcm-crypto": "^0.2", - "react-native-passkey": "^3", - "react-native-quick-crypto": ">=0.7.0-rc.6 || >=0.7", - "react-native-svg": "^15", - "typescript": ">=5.0.4" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-native": { - "optional": true - }, - "ethers": { - "optional": true - }, - "typescript": { - "optional": true - }, - "react-native-aes-gcm-crypto": { - "optional": true - }, - "expo-linking": { - "optional": true - }, - "expo-web-browser": { - "optional": true - }, - "react-native-quick-crypto": { - "optional": true - }, - "react-native-passkey": { - "optional": true - }, - "react-native-svg": { - "optional": true - }, - "@aws-sdk/client-lambda": { - "optional": true - }, - "@aws-sdk/client-kms": { - "optional": true - }, - "@aws-sdk/credential-providers": { - "optional": true - }, - "@react-native-async-storage/async-storage": { - "optional": true - }, - "@coinbase/wallet-mobile-sdk": { - "optional": true - }, - "@mobile-wallet-protocol/client": { - "optional": true - } - }, - "scripts": { - "bench:compare": "bun run ./benchmarks/run.ts", - "bench": "vitest -c ./test/vitest.config.ts bench", - "format": "biome format ./src --write", - "lint": "knip && biome check ./src && tsc --project ./tsconfig.build.json --module esnext --noEmit", - "fix": "biome check ./src --fix", - "knip": "knip", - "build:generate": "bun scripts/generate/generate.ts", - "build:generate-wallets": "bun scripts/wallets/generate.ts", - "dev": "tsc --project ./tsconfig.build.json --module es2020 --outDir ./dist/esm --watch", - "dev:cjs": "printf '{\"type\":\"commonjs\"}' > ./dist/cjs/package.json && tsc --noCheck --project ./tsconfig.build.json --module commonjs --outDir ./dist/cjs --verbatimModuleSyntax false --watch", - "dev:esm": "printf '{\"type\": \"module\",\"sideEffects\":false}' > ./dist/esm/package.json && tsc --noCheck --project ./tsconfig.build.json --module es2020 --outDir ./dist/esm --watch", - "build": "pnpm clean && pnpm build:types && pnpm build:cjs && pnpm build:esm", - "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", - "build:types": "tsc --project ./tsconfig.build.json --module esnext --declarationDir ./dist/types --emitDeclarationOnly --declaration --declarationMap", - "clean": "rimraf dist", - "size": "size-limit", - "test:watch": "vitest -c ./test/vitest.config.ts dev", - "test": "vitest run -c ./test/vitest.config.ts --coverage", - "test:cov": "vitest dev -c ./test/vitest.config.ts --coverage", - "test:ui": "vitest dev -c ./test/vitest.config.ts --coverage --ui", - "test:dev": "vitest run -c ./test/vitest.config.ts", - "test:react": "vitest run -c ./test/vitest.config.ts dev --ui src/react", - "typedoc": "node scripts/typedoc.mjs && node scripts/parse.mjs", - "update-version": "node scripts/version.mjs", - "storybook": "storybook dev -p 6006", - "build-storybook": "storybook build" - }, - "engines": { - "node": ">=18" - }, - "devDependencies": { - "@aws-sdk/client-kms": "3.709.0", - "@aws-sdk/client-lambda": "3.709.0", - "@aws-sdk/credential-providers": "3.709.0", - "@biomejs/biome": "1.9.4", - "@chromatic-com/storybook": "3.2.2", - "@codspeed/vitest-plugin": "4.0.0", - "@coinbase/wallet-mobile-sdk": "1.1.2", - "@mobile-wallet-protocol/client": "0.1.2", - "@react-native-async-storage/async-storage": "2.1.0", - "@size-limit/preset-big-lib": "11.1.6", - "@storybook/addon-essentials": "8.4.7", - "@storybook/addon-interactions": "8.4.7", - "@storybook/addon-links": "8.4.7", - "@storybook/addon-onboarding": "8.4.7", - "@storybook/react": "8.4.7", - "@storybook/react-vite": "8.4.7", - "@storybook/test": "8.4.7", - "@testing-library/jest-dom": "^6.6.3", - "@testing-library/react": "^16.1.0", - "@testing-library/user-event": "^14.5.2", - "@types/cross-spawn": "^6.0.6", - "@types/react": "19.0.1", - "@viem/anvil": "0.0.10", - "@vitejs/plugin-react": "^4.3.4", - "@vitest/coverage-v8": "2.1.8", - "@vitest/ui": "2.1.8", - "cross-spawn": "7.0.6", - "dotenv-mono": "^1.3.14", - "ethers5": "npm:ethers@5", - "ethers6": "npm:ethers@6", - "expo-linking": "7.0.3", - "expo-web-browser": "14.0.1", - "happy-dom": "15.11.7", - "knip": "5.39.4", - "msw": "2.6.8", - "prettier": "3.3.3", - "react": "19.0.0", - "react-dom": "19.0.0", - "react-native": "0.76.5", - "react-native-aes-gcm-crypto": "0.2.2", - "react-native-passkey": "3.0.0", - "react-native-quick-crypto": "0.7.8", - "react-native-svg": "15.10.1", - "rimraf": "6.0.1", - "sharp": "^0.33.5", - "size-limit": "11.1.6", - "storybook": "8.4.7", - "typedoc": "0.27.4", - "typedoc-better-json": "0.9.4", - "typescript": "5.7.2", - "vite": "6.0.3", - "vitest": "2.1.8" - } + "name": "thirdweb", + "version": "5.78.0", + "repository": { + "type": "git", + "url": "git+https://github.com/thirdweb-dev/js.git#main" + }, + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/thirdweb-dev/js/issues" + }, + "author": "thirdweb eng ", + "type": "module", + "bin": { + "thirdweb": "./dist/esm/cli/bin.js", + "thirdweb-cli": "./dist/esm/cli/bin.js" + }, + "main": "./dist/cjs/exports/thirdweb.js", + "module": "./dist/esm/exports/thirdweb.js", + "types": "./dist/types/exports/thirdweb.d.ts", + "typings": "./dist/types/exports/thirdweb.d.ts", + "exports": { + ".": { + "types": "./dist/types/exports/thirdweb.d.ts", + "import": "./dist/esm/exports/thirdweb.js", + "default": "./dist/cjs/exports/thirdweb.js" + }, + "./adapters/*": { + "types": "./dist/types/exports/adapters/*.d.ts", + "import": "./dist/esm/exports/adapters/*.js", + "default": "./dist/cjs/exports/adapters/*.js" + }, + "./auth": { + "types": "./dist/types/exports/auth.d.ts", + "import": "./dist/esm/exports/auth.js", + "default": "./dist/cjs/exports/auth.js" + }, + "./chains": { + "types": "./dist/types/exports/chains.d.ts", + "import": "./dist/esm/exports/chains.js", + "default": "./dist/cjs/exports/chains.js" + }, + "./contract": { + "types": "./dist/types/exports/contract.d.ts", + "import": "./dist/esm/exports/contract.js", + "default": "./dist/cjs/exports/contract.js" + }, + "./deploys": { + "types": "./dist/types/exports/deploys.d.ts", + "import": "./dist/esm/exports/deploys.js", + "default": "./dist/cjs/exports/deploys.js" + }, + "./event": { + "types": "./dist/types/exports/event.d.ts", + "import": "./dist/esm/exports/event.js", + "default": "./dist/cjs/exports/event.js" + }, + "./extensions/*": { + "types": "./dist/types/exports/extensions/*.d.ts", + "import": "./dist/esm/exports/extensions/*.js", + "default": "./dist/cjs/exports/extensions/*.js" + }, + "./pay": { + "types": "./dist/types/exports/pay.d.ts", + "import": "./dist/esm/exports/pay.js", + "default": "./dist/cjs/exports/pay.js" + }, + "./react": { + "types": "./dist/types/exports/react.d.ts", + "import": "./dist/esm/exports/react.js", + "react-native": "./dist/esm/exports/react.native.js", + "default": "./dist/cjs/exports/react.js" + }, + "./react-native": { + "types": "./dist/types/exports/react-native.d.ts", + "import": "./dist/esm/exports/react-native.js", + "default": "./dist/cjs/exports/react-native.js" + }, + "./rpc": { + "types": "./dist/types/exports/rpc.d.ts", + "import": "./dist/esm/exports/rpc.js", + "default": "./dist/cjs/exports/rpc.js" + }, + "./storage": { + "types": "./dist/types/exports/storage.d.ts", + "import": "./dist/esm/exports/storage.js", + "default": "./dist/cjs/exports/storage.js" + }, + "./transaction": { + "types": "./dist/types/exports/transaction.d.ts", + "import": "./dist/esm/exports/transaction.js", + "default": "./dist/cjs/exports/transaction.js" + }, + "./utils": { + "types": "./dist/types/exports/utils.d.ts", + "import": "./dist/esm/exports/utils.js", + "default": "./dist/cjs/exports/utils.js" + }, + "./wallets": { + "types": "./dist/types/exports/wallets.d.ts", + "import": "./dist/esm/exports/wallets.js", + "react-native": "./dist/esm/exports/wallets.native.js", + "default": "./dist/cjs/exports/wallets.js" + }, + "./wallets/in-app": { + "types": "./dist/types/exports/wallets/in-app.d.ts", + "import": "./dist/esm/exports/wallets/in-app.js", + "react-native": "./dist/esm/exports/wallets/in-app.native.js", + "default": "./dist/cjs/exports/wallets/in-app.js" + }, + "./wallets/*": { + "types": "./dist/types/exports/wallets/*.d.ts", + "import": "./dist/esm/exports/wallets/*.js", + "default": "./dist/cjs/exports/wallets/*.js" + }, + "./modules": { + "types": "./dist/types/exports/modules.d.ts", + "import": "./dist/esm/exports/modules.js", + "default": "./dist/cjs/exports/modules.js" + }, + "./social": { + "types": "./dist/types/exports/social.d.ts", + "import": "./dist/esm/exports/social.js", + "default": "./dist/cjs/exports/social.js" + }, + "./package.json": "./package.json" + }, + "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"] + } + }, + "browser": { + "crypto": false + }, + "sideEffects": false, + "files": [ + "dist/*", + "src/*", + "!**/*.tsbuildinfo", + "!**/*.test.ts", + "!**/*.test.tsx", + "!**/*.test.ts.snap", + "!**/*.test-d.ts", + "!**/*.bench.ts", + "!tsconfig.build.json" + ], + "dependencies": { + "@coinbase/wallet-sdk": "4.2.4", + "@emotion/react": "11.14.0", + "@emotion/styled": "11.14.0", + "@google/model-viewer": "2.1.1", + "@noble/curves": "1.7.0", + "@noble/hashes": "1.6.1", + "@passwordless-id/webauthn": "^2.1.2", + "@radix-ui/react-dialog": "1.1.2", + "@radix-ui/react-focus-scope": "1.1.0", + "@radix-ui/react-icons": "1.3.2", + "@radix-ui/react-tooltip": "1.1.4", + "@tanstack/react-query": "5.62.7", + "@walletconnect/ethereum-provider": "2.17.2", + "@walletconnect/sign-client": "2.17.2", + "abitype": "1.0.7", + "fuse.js": "7.0.0", + "input-otp": "^1.4.1", + "mipd": "0.0.7", + "ox": "0.4.1", + "uqr": "0.1.2", + "viem": "2.21.54" + }, + "peerDependencies": { + "@aws-sdk/client-lambda": "^3", + "@aws-sdk/credential-providers": "^3", + "@coinbase/wallet-mobile-sdk": "^1", + "@mobile-wallet-protocol/client": "0.1.1", + "@react-native-async-storage/async-storage": "^1 || ^2", + "ethers": "^5 || ^6", + "expo-linking": "^6", + "expo-web-browser": "^13 || ^14", + "react": "^18 || ^19", + "react-native": "*", + "react-native-aes-gcm-crypto": "^0.2", + "react-native-passkey": "^3", + "react-native-quick-crypto": ">=0.7.0-rc.6 || >=0.7", + "react-native-svg": "^15", + "typescript": ">=5.0.4" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-native": { + "optional": true + }, + "ethers": { + "optional": true + }, + "typescript": { + "optional": true + }, + "react-native-aes-gcm-crypto": { + "optional": true + }, + "expo-linking": { + "optional": true + }, + "expo-web-browser": { + "optional": true + }, + "react-native-quick-crypto": { + "optional": true + }, + "react-native-passkey": { + "optional": true + }, + "react-native-svg": { + "optional": true + }, + "@aws-sdk/client-lambda": { + "optional": true + }, + "@aws-sdk/client-kms": { + "optional": true + }, + "@aws-sdk/credential-providers": { + "optional": true + }, + "@react-native-async-storage/async-storage": { + "optional": true + }, + "@coinbase/wallet-mobile-sdk": { + "optional": true + }, + "@mobile-wallet-protocol/client": { + "optional": true + } + }, + "scripts": { + "bench:compare": "bun run ./benchmarks/run.ts", + "bench": "vitest -c ./test/vitest.config.ts bench", + "format": "biome format ./src --write", + "lint": "knip && biome check ./src && tsc --project ./tsconfig.build.json --module esnext --noEmit", + "fix": "biome check ./src --fix", + "knip": "knip", + "build:generate": "bun scripts/generate/generate.ts", + "build:generate-wallets": "bun scripts/wallets/generate.ts", + "dev": "tsc --project ./tsconfig.build.json --module es2020 --outDir ./dist/esm --watch", + "dev:cjs": "printf '{\"type\":\"commonjs\"}' > ./dist/cjs/package.json && tsc --noCheck --project ./tsconfig.build.json --module commonjs --outDir ./dist/cjs --verbatimModuleSyntax false --watch", + "dev:esm": "printf '{\"type\": \"module\",\"sideEffects\":false}' > ./dist/esm/package.json && tsc --noCheck --project ./tsconfig.build.json --module es2020 --outDir ./dist/esm --watch", + "build": "pnpm clean && pnpm build:types && pnpm build:cjs && pnpm build:esm", + "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", + "build:types": "tsc --project ./tsconfig.build.json --module esnext --declarationDir ./dist/types --emitDeclarationOnly --declaration --declarationMap", + "clean": "rimraf dist", + "size": "size-limit", + "test:watch": "vitest -c ./test/vitest.config.ts dev", + "test": "vitest run -c ./test/vitest.config.ts --coverage", + "test:cov": "vitest dev -c ./test/vitest.config.ts --coverage", + "test:ui": "vitest dev -c ./test/vitest.config.ts --coverage --ui", + "test:dev": "vitest run -c ./test/vitest.config.ts", + "test:react": "vitest run -c ./test/vitest.config.ts dev --ui src/react", + "typedoc": "node scripts/typedoc.mjs && node scripts/parse.mjs", + "update-version": "node scripts/version.mjs", + "storybook": "storybook dev -p 6006", + "build-storybook": "storybook build" + }, + "engines": { + "node": ">=18" + }, + "devDependencies": { + "@aws-sdk/client-kms": "3.592.0", + "@aws-sdk/client-lambda": "3.592.0", + "@aws-sdk/credential-providers": "3.592.0", + "@biomejs/biome": "1.9.4", + "@chromatic-com/storybook": "3.2.2", + "@codspeed/vitest-plugin": "4.0.0", + "@coinbase/wallet-mobile-sdk": "1.1.2", + "@mobile-wallet-protocol/client": "0.1.2", + "@react-native-async-storage/async-storage": "2.1.0", + "@size-limit/preset-big-lib": "11.1.6", + "@storybook/addon-essentials": "8.4.7", + "@storybook/addon-interactions": "8.4.7", + "@storybook/addon-links": "8.4.7", + "@storybook/addon-onboarding": "8.4.7", + "@storybook/react": "8.4.7", + "@storybook/react-vite": "8.4.7", + "@storybook/test": "8.4.7", + "@testing-library/jest-dom": "^6.6.3", + "@testing-library/react": "^16.1.0", + "@testing-library/user-event": "^14.5.2", + "@types/cross-spawn": "^6.0.6", + "@types/react": "19.0.1", + "@viem/anvil": "0.0.10", + "@vitejs/plugin-react": "^4.3.4", + "@vitest/coverage-v8": "2.1.8", + "@vitest/ui": "2.1.8", + "cross-spawn": "7.0.6", + "dotenv-mono": "^1.3.14", + "ethers5": "npm:ethers@5", + "ethers6": "npm:ethers@6", + "expo-linking": "7.0.3", + "expo-web-browser": "14.0.1", + "happy-dom": "15.11.7", + "knip": "5.39.4", + "msw": "2.6.8", + "prettier": "3.3.3", + "react": "19.0.0", + "react-dom": "19.0.0", + "react-native": "0.76.5", + "react-native-aes-gcm-crypto": "0.2.2", + "react-native-passkey": "3.0.0", + "react-native-quick-crypto": "0.7.8", + "react-native-svg": "15.10.1", + "rimraf": "6.0.1", + "sharp": "^0.33.5", + "size-limit": "11.1.6", + "storybook": "8.4.7", + "typedoc": "0.27.4", + "typedoc-better-json": "0.9.4", + "typescript": "5.7.2", + "vite": "6.0.3", + "vitest": "2.1.8" + } } diff --git a/packages/thirdweb/src/wallets/in-app/native/helpers/constants.ts b/packages/thirdweb/src/wallets/in-app/native/helpers/constants.ts index 130c1f2b4e1..b42317f6c0b 100644 --- a/packages/thirdweb/src/wallets/in-app/native/helpers/constants.ts +++ b/packages/thirdweb/src/wallets/in-app/native/helpers/constants.ts @@ -23,7 +23,7 @@ export const GENERATE_RECOVERY_PASSWORD_LAMBDA_FUNCTION_V1 = export const GENERATE_RECOVERY_PASSWORD_LAMBDA_FUNCTION_V2 = "arn:aws:lambda:us-west-2:324457261097:function:lambda-thirdweb-auth-enc-key-prod-ThirdwebAuthEncKeyFunction"; export const ENCLAVE_KMS_KEY_ARN = - "arn:aws:kms:us-west-2:324457261097:key/8b2a8cd5-9b22-4ea0-a6bc-463824a78f20"; + "arn:aws:kms:us-west-2:324457261097:key/ccfb9ecd-f45d-4f37-864a-25fe72dcb49e"; // TODO allow overriding domain const DOMAIN_URL_2023 = getThirdwebBaseUrl("inAppWallet"); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f610364c713..da358b8fcd6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -135,7 +135,7 @@ importers: version: 1.1.4(@types/react-dom@19.0.2(@types/react@19.0.1))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@sentry/nextjs': specifier: 8.43.0 - version: 8.43.0(@opentelemetry/core@1.29.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.29.0(@opentelemetry/api@1.9.0))(next@15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1(@swc/core@1.10.1)) + version: 8.43.0(@opentelemetry/core@1.29.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.29.0(@opentelemetry/api@1.9.0))(next@15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) '@shazow/whatsabi': specifier: ^0.17.0 version: 0.17.0(@noble/hashes@1.6.1)(typescript@5.7.2)(zod@3.24.1) @@ -150,7 +150,7 @@ importers: version: link:../../packages/service-utils '@vercel/functions': specifier: ^1.5.1 - version: 1.5.1(@aws-sdk/credential-provider-web-identity@3.709.0) + version: 1.5.1(@aws-sdk/credential-provider-web-identity@3.709.0(@aws-sdk/client-sts@3.709.0)) '@vercel/og': specifier: ^0.6.4 version: 0.6.4 @@ -279,7 +279,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(@types/node@22.10.2)(typescript@5.7.2))) + version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2))) thirdweb: specifier: workspace:* version: link:../../packages/thirdweb @@ -328,7 +328,7 @@ importers: version: 8.4.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10)) '@storybook/nextjs': specifier: 8.4.7 - version: 8.4.7(@swc/core@1.10.1)(next@15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.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.1)) + version: 8.4.7(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)(next@15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.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.1(@swc/helpers@0.5.15))(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) @@ -376,7 +376,7 @@ importers: version: 10.4.20(postcss@8.4.49) checkly: specifier: ^4.15.0 - version: 4.15.0(@swc/core@1.10.1)(@types/node@22.10.2)(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10) + version: 4.15.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10) eslint: specifier: 8.57.0 version: 8.57.0 @@ -403,7 +403,7 @@ importers: version: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)) typescript: specifier: 5.7.2 version: 5.7.2 @@ -527,10 +527,10 @@ importers: version: 8.4.49 tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)) tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))) + version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2))) typescript: specifier: 5.7.2 version: 5.7.2 @@ -542,13 +542,13 @@ importers: version: 1.0.6(react@19.0.0) '@mdx-js/loader': specifier: ^2.3.0 - version: 2.3.0(webpack@5.97.1) + version: 2.3.0(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))) '@mdx-js/react': specifier: ^2.3.0 version: 2.3.0(react@19.0.0) '@next/mdx': specifier: 15.1.0 - version: 15.1.0(@mdx-js/loader@2.3.0(webpack@5.97.1))(@mdx-js/react@2.3.0(react@19.0.0)) + version: 15.1.0(@mdx-js/loader@2.3.0(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))))(@mdx-js/react@2.3.0(react@19.0.0)) '@radix-ui/react-dialog': specifier: 1.1.2 version: 1.1.2(@types/react-dom@19.0.2(@types/react@19.0.1))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -629,7 +629,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(@types/node@22.10.2)(typescript@5.7.2))) + version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2))) thirdweb: specifier: workspace:* version: link:../../packages/thirdweb @@ -687,7 +687,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(@types/node@22.10.2)(typescript@5.7.2))) + version: 3.17.5(tailwindcss@3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2))) next-sitemap: specifier: ^4.2.3 version: 4.2.3(next@15.1.0(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)) @@ -696,7 +696,7 @@ importers: version: 8.4.49 tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)) tsx: specifier: 4.19.2 version: 4.19.2 @@ -765,7 +765,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(@types/node@22.10.2)(typescript@5.7.2))) + version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2))) thirdweb: specifier: workspace:* version: link:../../packages/thirdweb @@ -814,7 +814,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(@types/node@22.10.2)(typescript@5.7.2)) + version: 3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)) typescript: specifier: 5.7.2 version: 5.7.2 @@ -822,14 +822,14 @@ importers: packages/react-native-adapter: dependencies: '@aws-sdk/client-kms': - specifier: 3.709.0 - version: 3.709.0 + specifier: 3.592.0 + version: 3.592.0 '@aws-sdk/client-lambda': - specifier: 3.709.0 - version: 3.709.0 + specifier: 3.592.0 + version: 3.592.0 '@aws-sdk/credential-providers': - specifier: 3.709.0 - version: 3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0)) + specifier: 3.592.0 + version: 3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0)) '@coinbase/wallet-mobile-sdk': specifier: ^1 version: 1.1.2(expo@52.0.18(@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.5(@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)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0)(utf-8-validate@5.0.10))(react-native@0.76.5(@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)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) @@ -864,7 +864,7 @@ importers: specifier: ^1 version: 1.11.0(react-native@0.76.5(@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)(react@19.0.0)(utf-8-validate@5.0.10)) react-native-quick-crypto: - specifier: '>=0.7.0-rc.6 || >=0.7' + specifier: '>=0.7' version: 0.7.8(react-native@0.76.5(@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)(react@19.0.0)(utf-8-validate@5.0.10))(react@19.0.0) react-native-svg: specifier: ^15 @@ -969,14 +969,14 @@ importers: version: 2.21.54(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) devDependencies: '@aws-sdk/client-kms': - specifier: 3.709.0 - version: 3.709.0 + specifier: 3.592.0 + version: 3.592.0 '@aws-sdk/client-lambda': - specifier: 3.709.0 - version: 3.709.0 + specifier: 3.592.0 + version: 3.592.0 '@aws-sdk/credential-providers': - specifier: 3.709.0 - version: 3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0)) + specifier: 3.592.0 + version: 3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0)) '@biomejs/biome': specifier: 1.9.4 version: 1.9.4 @@ -997,7 +997,7 @@ importers: version: 2.1.0(react-native@0.76.5(@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.1)(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)(esbuild@0.24.0)(size-limit@11.1.6)(utf-8-validate@5.0.10) + version: 11.1.6(bufferutil@4.0.8)(size-limit@11.1.6)(utf-8-validate@5.0.10) '@storybook/addon-essentials': specifier: 8.4.7 version: 8.4.7(@types/react@19.0.1)(storybook@8.4.7(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@5.0.10)) @@ -1172,29 +1172,48 @@ packages: resolution: {integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==} engines: {node: '>=16.0.0'} + '@aws-crypto/ie11-detection@3.0.0': + resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==} + + '@aws-crypto/sha256-browser@3.0.0': + resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==} + '@aws-crypto/sha256-browser@5.2.0': resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==} + '@aws-crypto/sha256-js@3.0.0': + resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} + '@aws-crypto/sha256-js@5.2.0': resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} engines: {node: '>=16.0.0'} + '@aws-crypto/supports-web-crypto@3.0.0': + resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} + '@aws-crypto/supports-web-crypto@5.2.0': resolution: {integrity: sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==} + '@aws-crypto/util@3.0.0': + resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} + '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-cognito-identity@3.709.0': - resolution: {integrity: sha512-I5a8ilF+jKAz6fmOOuHy2UEcod9ikRGBjACcC6ayxs4z4VqTnWynD6ALKvtUR3lk1Ur6nzAG1tTm/qAYKKmyBg==} + '@aws-sdk/client-cognito-identity@3.592.0': + resolution: {integrity: sha512-mk3JOBsk5hlrLTZFuoGIhFKFflOdxqMKmOgyUFs5+gBLuH0/lN3wNWJxk+BiY1nHzkxhBND1hDHc5dvZRugBJA==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-kms@3.709.0': - resolution: {integrity: sha512-0qx0Dmsx5JiV4swrBr55lYRIhw6kYQul5aBOnzoGCMx1SFixtBKdzeQYp9lyaU9RPhst6KCE8J6mxG0CxkSQGw==} + '@aws-sdk/client-kms@3.592.0': + resolution: {integrity: sha512-BjarFhm7be+5SFKFIg+H9gxEuOkMjuYd+Rhh4BusmWkOH1/AXHPFpAvRJeWUYgSQs7z2KKpG/cmW4uGP5i8OLA==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-lambda@3.709.0': - resolution: {integrity: sha512-MKnx5n7/Wp4qk+Wd1nJQGJ/520rNJDUnBbHTY3x8iPyeKK+8fNy25hWi0lV3gsHhTDvAcVb7UgSSJ5qNVec0GA==} + '@aws-sdk/client-lambda@3.592.0': + resolution: {integrity: sha512-uCtyrccg+qZ/KbZtY9OHb8dXG59yYDvoQULiQaj+73XkI/P4Z69prflg87cA5UpXoSeoAinCahwyJM5+G/EXYw==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/client-sso-oidc@3.592.0': + resolution: {integrity: sha512-11Zvm8nm0s/UF3XCjzFRpQU+8FFVW5rcr3BHfnH6xAe5JEoN6bJN/n+wOfnElnjek+90hh+Qc7s141AMrCjiiw==} engines: {node: '>=16.0.0'} '@aws-sdk/client-sso-oidc@3.709.0': @@ -1203,88 +1222,166 @@ packages: peerDependencies: '@aws-sdk/client-sts': ^3.709.0 + '@aws-sdk/client-sso@3.592.0': + resolution: {integrity: sha512-w+SuW47jQqvOC7fonyjFjsOh3yjqJ+VpWdVrmrl0E/KryBE7ho/Wn991Buf/EiHHeJikoWgHsAIPkBH29+ntdA==} + engines: {node: '>=16.0.0'} + '@aws-sdk/client-sso@3.709.0': resolution: {integrity: sha512-Qxeo8cN0jNy6Wnbqq4wucffAGJM6sJjofoTgNtPA6cC7sPYx7aYC6OAAAo6NaMRY+WywOKdS9Wgjx2QYRxKx7w==} engines: {node: '>=16.0.0'} + '@aws-sdk/client-sts@3.592.0': + resolution: {integrity: sha512-KUrOdszZfcrlpKr4dpdkGibZ/qq3Lnfu1rjv1U+V1QJQ9OuMo9J3sDWpWV9tigNqY0aGllarWH5cJbz9868W/w==} + engines: {node: '>=16.0.0'} + '@aws-sdk/client-sts@3.709.0': resolution: {integrity: sha512-cBAvlPg6yslXNL385UUGFPw+XY+lA9BzioNdIFkMo3fEUlTShogTtiWz4LsyLHoN6LhKojssP9DSmmWKWjCZIw==} engines: {node: '>=16.0.0'} + '@aws-sdk/core@3.592.0': + resolution: {integrity: sha512-gLPMXR/HXDP+9gXAt58t7gaMTvRts9i6Q7NMISpkGF54wehskl5WGrbdtHJFylrlJ5BQo3XVY6i661o+EuR1wg==} + engines: {node: '>=16.0.0'} + '@aws-sdk/core@3.709.0': resolution: {integrity: sha512-7kuSpzdOTAE026j85wq/fN9UDZ70n0OHw81vFqMWwlEFtm5IQ/MRCLKcC4HkXxTdfy1PqFlmoXxWqeBa15tujw==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-cognito-identity@3.709.0': - resolution: {integrity: sha512-WLzDcYo7pob8fPeeOhgVqYuV21uUKWb1RobITQzZhv0ZSToIl1KjuyRQsznC23Sot9CFl+0V2QLFFNwRiIuH7w==} + '@aws-sdk/credential-provider-cognito-identity@3.592.0': + resolution: {integrity: sha512-uHiMPCkFhZOhlSfKgVqPhMdruiOuVkLUn07gQqvxHYhFKkEOPV+6BZbPKBwBTXr8TIREztQzCMPswa5pGk2zbQ==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/credential-provider-env@3.587.0': + resolution: {integrity: sha512-Hyg/5KFECIk2k5o8wnVEiniV86yVkhn5kzITUydmNGCkXdBFHMHRx6hleQ1bqwJHbBskyu8nbYamzcwymmGwmw==} engines: {node: '>=16.0.0'} '@aws-sdk/credential-provider-env@3.709.0': resolution: {integrity: sha512-ZMAp9LSikvHDFVa84dKpQmow6wsg956Um20cKuioPpX2GGreJFur7oduD+tRJT6FtIOHn+64YH+0MwiXLhsaIQ==} engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-http@3.587.0': + resolution: {integrity: sha512-Su1SRWVRCuR1e32oxX3C1V4c5hpPN20WYcRfdcr2wXwHqSvys5DrnmuCC+JoEnS/zt3adUJhPliTqpfKgSdMrA==} + engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-http@3.709.0': resolution: {integrity: sha512-lIS7XLwCOyJnLD70f+VIRr8DNV1HPQe9oN6aguYrhoczqz7vDiVZLe3lh714cJqq9rdxzFypK5DqKHmcscMEPQ==} engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-ini@3.592.0': + resolution: {integrity: sha512-3kG6ngCIOPbLJZZ3RV+NsU7HVK6vX1+1DrPJKj9fVlPYn7IXsk8NAaUT5885yC7+jKizjv0cWLrLKvAJV5gfUA==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sts': ^3.592.0 + '@aws-sdk/credential-provider-ini@3.709.0': resolution: {integrity: sha512-qCF8IIGcPoUp+Ib3ANhbF5gElxFd+kIrtv2/1tKdvhudMANstQbMiWV0LTH47ZZR6c3as4iSrm09NZnpEoD/pA==} engines: {node: '>=16.0.0'} peerDependencies: '@aws-sdk/client-sts': ^3.709.0 + '@aws-sdk/credential-provider-node@3.592.0': + resolution: {integrity: sha512-BguihBGTrEjVBQ07hm+ZsO29eNJaxwBwUZMftgGAm2XcMIEClNPfm5hydxu2BmA4ouIJQJ6nG8pNYghEumM+Aw==} + engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-node@3.709.0': resolution: {integrity: sha512-4HRX9KYWPSjO5O/Vg03YAsebKpvTjTvpK1n7zHYBmlLMBLxUrVsL1nNKKC5p2/7OW3RL8XR1ki3QkoV7kGRxUQ==} engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-process@3.587.0': + resolution: {integrity: sha512-V4xT3iCqkF8uL6QC4gqBJg/2asd/damswP1h9HCfqTllmPWzImS+8WD3VjgTLw5b0KbTy+ZdUhKc0wDnyzkzxg==} + engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-process@3.709.0': resolution: {integrity: sha512-IAC+jPlGQII6jhIylHOwh3RgSobqlgL59nw2qYTURr8hMCI0Z1p5y2ee646HTVt4WeCYyzUAXfxr6YI/Vitv+Q==} engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-sso@3.592.0': + resolution: {integrity: sha512-fYFzAdDHKHvhtufPPtrLdSv8lO6GuW3em6n3erM5uFdpGytNpjXvr3XGokIsuXcNkETAY/Xihg+G9ksNE8WJxQ==} + engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-sso@3.709.0': resolution: {integrity: sha512-rYdTDOxazS2GdGScelsRK5CAkktRLCCdRjlwXaxrcW57j749hEqxcF5uTv9RD6WBwInfedcSywErNZB+hylQlg==} engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-web-identity@3.587.0': + resolution: {integrity: sha512-XqIx/I2PG7kyuw3WjAP9wKlxy8IvFJwB8asOFT1xPFoVfZYKIogjG9oLP5YiRtfvDkWIztHmg5MlVv3HdJDGRw==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sts': ^3.587.0 + '@aws-sdk/credential-provider-web-identity@3.709.0': resolution: {integrity: sha512-2lbDfE0IQ6gma/7BB2JpkjW5G0wGe4AS0x80oybYAYYviJmUtIR3Cn2pXun6bnAWElt4wYKl4su7oC36rs5rNA==} engines: {node: '>=16.0.0'} peerDependencies: '@aws-sdk/client-sts': ^3.709.0 - '@aws-sdk/credential-providers@3.709.0': - resolution: {integrity: sha512-v1OfAWhYhAz7XPtjWlQ3jDLZHCpuNrLP2bRWTEjRty8yZLN92ANehincULUGvUNszFO8rfpq2g4dmtk8XmqTzA==} + '@aws-sdk/credential-providers@3.592.0': + resolution: {integrity: sha512-fHAt001Aemiy9p8VtLKWiPQ36g1YgiLC1pm31W+WmKxU663dbt2yYTIAyVOB1nQC7HrVCOZEg2FU0TtuZt/wXQ==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/middleware-host-header@3.577.0': + resolution: {integrity: sha512-9ca5MJz455CODIVXs0/sWmJm7t3QO4EUa1zf8pE8grLpzf0J94bz/skDWm37Pli13T3WaAQBHCTiH2gUVfCsWg==} engines: {node: '>=16.0.0'} '@aws-sdk/middleware-host-header@3.709.0': resolution: {integrity: sha512-8gQYCYAaIw4lOCd5WYdf15Y/61MgRsAnrb2eiTl+icMlUOOzl8aOl5iDwm/Idp0oHZTflwxM4XSvGXO83PRWcw==} engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-logger@3.577.0': + resolution: {integrity: sha512-aPFGpGjTZcJYk+24bg7jT4XdIp42mFXSuPt49lw5KygefLyJM/sB0bKKqPYYivW0rcuZ9brQ58eZUNthrzYAvg==} + engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-logger@3.709.0': resolution: {integrity: sha512-jDoGSccXv9zebnpUoisjWd5u5ZPIalrmm6TjvPzZ8UqzQt3Beiz0tnQwmxQD6KRc7ADweWP5Ntiqzbw9xpVajg==} engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-recursion-detection@3.577.0': + resolution: {integrity: sha512-pn3ZVEd2iobKJlR3H+bDilHjgRnNrQ6HMmK9ZzZw89Ckn3Dcbv48xOv4RJvu0aU8SDLl/SNCxppKjeLDTPGBNA==} + engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-recursion-detection@3.709.0': resolution: {integrity: sha512-PObL/wLr4lkfbQ0yXUWaoCWu/jcwfwZzCjsUiXW/H6hW9b/00enZxmx7OhtJYaR6xmh/Lcx5wbhIoDCbzdv0tw==} engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-user-agent@3.587.0': + resolution: {integrity: sha512-SyDomN+IOrygLucziG7/nOHkjUXES5oH5T7p8AboO8oakMQJdnudNXiYWTicQWO52R51U6CR27rcMPTGeMedYA==} + engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-user-agent@3.709.0': resolution: {integrity: sha512-ooc9ZJvgkjPhi9q05XwSfNTXkEBEIfL4hleo5rQBKwHG3aTHvwOM7LLzhdX56QZVa6sorPBp6fwULuRDSqiQHw==} engines: {node: '>=16.0.0'} + '@aws-sdk/region-config-resolver@3.587.0': + resolution: {integrity: sha512-93I7IPZtulZQoRK+O20IJ4a1syWwYPzoO2gc3v+/GNZflZPV3QJXuVbIm0pxBsu0n/mzKGUKqSOLPIaN098HcQ==} + engines: {node: '>=16.0.0'} + '@aws-sdk/region-config-resolver@3.709.0': resolution: {integrity: sha512-/NoCAMEVKAg3kBKOrNtgOfL+ECt6nrl+L7q2SyYmrcY4tVCmwuECVqewQaHc03fTnJijfKLccw0Fj+6wOCnB6w==} engines: {node: '>=16.0.0'} + '@aws-sdk/token-providers@3.587.0': + resolution: {integrity: sha512-ULqhbnLy1hmJNRcukANBWJmum3BbjXnurLPSFXoGdV0llXYlG55SzIla2VYqdveQEEjmsBuTZdFvXAtNpmS5Zg==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sso-oidc': ^3.587.0 + '@aws-sdk/token-providers@3.709.0': resolution: {integrity: sha512-q5Ar6k71nci43IbULFgC8a89d/3EHpmd7HvBzqVGRcHnoPwh8eZDBfbBXKH83NGwcS1qPSRYiDbVfeWPm4/1jA==} engines: {node: '>=16.0.0'} peerDependencies: '@aws-sdk/client-sso-oidc': ^3.709.0 + '@aws-sdk/types@3.577.0': + resolution: {integrity: sha512-FT2JZES3wBKN/alfmhlo+3ZOq/XJ0C7QOZcDNrpKjB0kqYoKjhVKZ/Hx6ArR0czkKfHzBBEs6y40ebIHx2nSmA==} + engines: {node: '>=16.0.0'} + '@aws-sdk/types@3.709.0': resolution: {integrity: sha512-ArtLTMxgjf13Kfu3gWH3Ez9Q5TkDdcRZUofpKH3pMGB/C6KAbeSCtIIDKfoRTUABzyGlPyCrZdnFjKyH+ypIpg==} engines: {node: '>=16.0.0'} + '@aws-sdk/util-endpoints@3.587.0': + resolution: {integrity: sha512-8I1HG6Em8wQWqKcRW6m358mqebRVNpL8XrrEoT4In7xqkKkmYtHRNVYP6lcmiQh5pZ/c/FXu8dSchuFIWyEtqQ==} + engines: {node: '>=16.0.0'} + '@aws-sdk/util-endpoints@3.709.0': resolution: {integrity: sha512-Mbc7AtL5WGCTKC16IGeUTz+sjpC3ptBda2t0CcK0kMVw3THDdcSq6ZlNKO747cNqdbwUvW34oHteUiHv4/z88Q==} engines: {node: '>=16.0.0'} @@ -1293,9 +1390,21 @@ packages: resolution: {integrity: sha512-ttrag6haJLWABhLqtg1Uf+4LgHWIMOVSYL+VYZmAp2v4PUGOwWmWQH0Zk8RM7YuQcLfH/EoR72/Yxz6A4FKcuw==} engines: {node: '>=16.0.0'} + '@aws-sdk/util-user-agent-browser@3.577.0': + resolution: {integrity: sha512-zEAzHgR6HWpZOH7xFgeJLc6/CzMcx4nxeQolZxVZoB5pPaJd3CjyRhZN0xXeZB0XIRCWmb4yJBgyiugXLNMkLA==} + '@aws-sdk/util-user-agent-browser@3.709.0': resolution: {integrity: sha512-/rL2GasJzdTWUURCQKFldw2wqBtY4k4kCiA2tVZSKg3y4Ey7zO34SW8ebaeCE2/xoWOyLR2/etdKyphoo4Zrtg==} + '@aws-sdk/util-user-agent-node@3.587.0': + resolution: {integrity: sha512-Pnl+DUe/bvnbEEDHP3iVJrOtE3HbFJBPgsD6vJ+ml/+IYk1Eq49jEG+EHZdNTPz3SDG0kbp2+7u41MKYJHR/iQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + aws-crt: '>=1.0.0' + peerDependenciesMeta: + aws-crt: + optional: true + '@aws-sdk/util-user-agent-node@3.709.0': resolution: {integrity: sha512-trBfzSCVWy7ILgqhEXgiuM7hfRCw4F4a8IK90tjk9YL0jgoJ6eJuOp7+DfCtHJaygoBxD3cdMFkOu+lluFmGBA==} engines: {node: '>=16.0.0'} @@ -1305,6 +1414,9 @@ packages: aws-crt: optional: true + '@aws-sdk/util-utf8-browser@3.259.0': + resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} + '@babel/code-frame@7.10.4': resolution: {integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==} @@ -4897,6 +5009,9 @@ packages: resolution: {integrity: sha512-L1Ib66+gg9uTnqp/18Gz4MDpJPKRE44geOjOQ2SVc0eiaO5l255ADziATZgjQjqumC7yPtp1XnjHlF1srcwjKw==} engines: {node: '>=16.0.0'} + '@smithy/fetch-http-handler@3.2.9': + resolution: {integrity: sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A==} + '@smithy/fetch-http-handler@4.1.2': resolution: {integrity: sha512-R7rU7Ae3ItU4rC0c5mB2sP5mJNbCfoDc8I5XlYjIZnquyUwec7fEo78F6DA3SmgJgkU1qTMcZJuGblxZsl10ZA==} @@ -4967,6 +5082,10 @@ packages: resolution: {integrity: sha512-1xKSGI+U9KKdbG2qDvIR9dGrw3CNx+baqJfyr0igKEpjbHL5stsqAesYBzHChYHlelWtb87VnLWlhvfCz13H8Q==} engines: {node: '>=16.0.0'} + '@smithy/signature-v4@3.1.2': + resolution: {integrity: sha512-3BcPylEsYtD0esM4Hoyml/+s7WP2LFhcM3J2AGdcL2vx9O60TtfpDOL72gjb4lU8NeRPeKAwR77YNyyGvMbuEA==} + engines: {node: '>=16.0.0'} + '@smithy/signature-v4@4.2.4': resolution: {integrity: sha512-5JWeMQYg81TgU4cG+OexAWdvDTs5JDdbEZx+Qr1iPbvo91QFGzjy0IkXAKaXUHqmKUJgSHK0ZxnCkgZpzkeNTA==} engines: {node: '>=16.0.0'} @@ -8317,6 +8436,10 @@ packages: fast-uri@3.0.3: resolution: {integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==} + fast-xml-parser@4.2.5: + resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} + hasBin: true + fast-xml-parser@4.4.1: resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} hasBin: true @@ -12851,12 +12974,15 @@ packages: sudo-prompt@8.2.5: resolution: {integrity: sha512-rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. sudo-prompt@9.1.1: resolution: {integrity: sha512-es33J1g2HjMpyAhz8lOR+ICmXXAqTuKbuXuUWLhOLew20oN9oUCgCJx615U/v7aioZg7IX5lIh9x34vwneu4pA==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. sudo-prompt@9.2.1: resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. summary@2.1.0: resolution: {integrity: sha512-nMIjMrd5Z2nuB2RZCKJfFMjgS3fygbeyGk9PxPPaJR1RIcyN9yn4A63Isovzm3ZtQuEkLBVgMdPup8UeLH7aQw==} @@ -14167,6 +14293,21 @@ snapshots: '@aws-sdk/types': 3.709.0 tslib: 2.8.1 + '@aws-crypto/ie11-detection@3.0.0': + dependencies: + tslib: 1.14.1 + + '@aws-crypto/sha256-browser@3.0.0': + dependencies: + '@aws-crypto/ie11-detection': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-crypto/supports-web-crypto': 3.0.0 + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.709.0 + '@aws-sdk/util-locate-window': 3.693.0 + '@aws-sdk/util-utf8-browser': 3.259.0 + tslib: 1.14.1 + '@aws-crypto/sha256-browser@5.2.0': dependencies: '@aws-crypto/sha256-js': 5.2.0 @@ -14177,42 +14318,58 @@ snapshots: '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 + '@aws-crypto/sha256-js@3.0.0': + dependencies: + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.709.0 + tslib: 1.14.1 + '@aws-crypto/sha256-js@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 '@aws-sdk/types': 3.709.0 tslib: 2.8.1 + '@aws-crypto/supports-web-crypto@3.0.0': + dependencies: + tslib: 1.14.1 + '@aws-crypto/supports-web-crypto@5.2.0': dependencies: tslib: 2.8.1 + '@aws-crypto/util@3.0.0': + dependencies: + '@aws-sdk/types': 3.709.0 + '@aws-sdk/util-utf8-browser': 3.259.0 + tslib: 1.14.1 + '@aws-crypto/util@5.2.0': dependencies: '@aws-sdk/types': 3.709.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-cognito-identity@3.709.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.709.0(@aws-sdk/client-sts@3.709.0) - '@aws-sdk/client-sts': 3.709.0 - '@aws-sdk/core': 3.709.0 - '@aws-sdk/credential-provider-node': 3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))(@aws-sdk/client-sts@3.709.0) - '@aws-sdk/middleware-host-header': 3.709.0 - '@aws-sdk/middleware-logger': 3.709.0 - '@aws-sdk/middleware-recursion-detection': 3.709.0 - '@aws-sdk/middleware-user-agent': 3.709.0 - '@aws-sdk/region-config-resolver': 3.709.0 - '@aws-sdk/types': 3.709.0 - '@aws-sdk/util-endpoints': 3.709.0 - '@aws-sdk/util-user-agent-browser': 3.709.0 - '@aws-sdk/util-user-agent-node': 3.709.0 + '@aws-sdk/client-cognito-identity@3.592.0': + 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-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))(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.587.0 + '@aws-sdk/region-config-resolver': 3.587.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.587.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.587.0 '@smithy/config-resolver': 3.0.13 '@smithy/core': 2.5.5 - '@smithy/fetch-http-handler': 4.1.2 + '@smithy/fetch-http-handler': 3.2.9 '@smithy/hash-node': 3.0.11 '@smithy/invalid-dependency': 3.0.11 '@smithy/middleware-content-length': 3.0.13 @@ -14239,26 +14396,122 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-kms@3.709.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.709.0(@aws-sdk/client-sts@3.709.0) - '@aws-sdk/client-sts': 3.709.0 - '@aws-sdk/core': 3.709.0 - '@aws-sdk/credential-provider-node': 3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))(@aws-sdk/client-sts@3.709.0) - '@aws-sdk/middleware-host-header': 3.709.0 - '@aws-sdk/middleware-logger': 3.709.0 - '@aws-sdk/middleware-recursion-detection': 3.709.0 - '@aws-sdk/middleware-user-agent': 3.709.0 - '@aws-sdk/region-config-resolver': 3.709.0 - '@aws-sdk/types': 3.709.0 - '@aws-sdk/util-endpoints': 3.709.0 - '@aws-sdk/util-user-agent-browser': 3.709.0 - '@aws-sdk/util-user-agent-node': 3.709.0 + '@aws-sdk/client-kms@3.592.0': + 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-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))(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.587.0 + '@aws-sdk/region-config-resolver': 3.587.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.587.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.587.0 '@smithy/config-resolver': 3.0.13 '@smithy/core': 2.5.5 - '@smithy/fetch-http-handler': 4.1.2 + '@smithy/fetch-http-handler': 3.2.9 + '@smithy/hash-node': 3.0.11 + '@smithy/invalid-dependency': 3.0.11 + '@smithy/middleware-content-length': 3.0.13 + '@smithy/middleware-endpoint': 3.2.5 + '@smithy/middleware-retry': 3.0.30 + '@smithy/middleware-serde': 3.0.11 + '@smithy/middleware-stack': 3.0.11 + '@smithy/node-config-provider': 3.1.12 + '@smithy/node-http-handler': 3.3.2 + '@smithy/protocol-http': 4.1.8 + '@smithy/smithy-client': 3.5.0 + '@smithy/types': 3.7.2 + '@smithy/url-parser': 3.0.11 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.30 + '@smithy/util-defaults-mode-node': 3.0.30 + '@smithy/util-endpoints': 2.1.7 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-retry': 3.0.11 + '@smithy/util-utf8': 3.0.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-lambda@3.592.0': + 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-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))(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.587.0 + '@aws-sdk/region-config-resolver': 3.587.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.587.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.587.0 + '@smithy/config-resolver': 3.0.13 + '@smithy/core': 2.5.5 + '@smithy/eventstream-serde-browser': 3.0.14 + '@smithy/eventstream-serde-config-resolver': 3.0.11 + '@smithy/eventstream-serde-node': 3.0.13 + '@smithy/fetch-http-handler': 3.2.9 + '@smithy/hash-node': 3.0.11 + '@smithy/invalid-dependency': 3.0.11 + '@smithy/middleware-content-length': 3.0.13 + '@smithy/middleware-endpoint': 3.2.5 + '@smithy/middleware-retry': 3.0.30 + '@smithy/middleware-serde': 3.0.11 + '@smithy/middleware-stack': 3.0.11 + '@smithy/node-config-provider': 3.1.12 + '@smithy/node-http-handler': 3.3.2 + '@smithy/protocol-http': 4.1.8 + '@smithy/smithy-client': 3.5.0 + '@smithy/types': 3.7.2 + '@smithy/url-parser': 3.0.11 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.30 + '@smithy/util-defaults-mode-node': 3.0.30 + '@smithy/util-endpoints': 2.1.7 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-retry': 3.0.11 + '@smithy/util-stream': 3.3.2 + '@smithy/util-utf8': 3.0.0 + '@smithy/util-waiter': 3.2.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-sso-oidc@3.592.0(@aws-sdk/client-sts@3.592.0)': + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.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) + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.587.0 + '@aws-sdk/region-config-resolver': 3.587.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.587.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.587.0 + '@smithy/config-resolver': 3.0.13 + '@smithy/core': 2.5.5 + '@smithy/fetch-http-handler': 3.2.9 '@smithy/hash-node': 3.0.11 '@smithy/invalid-dependency': 3.0.11 '@smithy/middleware-content-length': 3.0.13 @@ -14283,16 +14536,16 @@ snapshots: '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 transitivePeerDependencies: + - '@aws-sdk/client-sts' - aws-crt - '@aws-sdk/client-lambda@3.709.0': + '@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0)': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.709.0(@aws-sdk/client-sts@3.709.0) - '@aws-sdk/client-sts': 3.709.0 + '@aws-sdk/client-sts': 3.592.0 '@aws-sdk/core': 3.709.0 - '@aws-sdk/credential-provider-node': 3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))(@aws-sdk/client-sts@3.709.0) + '@aws-sdk/credential-provider-node': 3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0))(@aws-sdk/client-sts@3.592.0) '@aws-sdk/middleware-host-header': 3.709.0 '@aws-sdk/middleware-logger': 3.709.0 '@aws-sdk/middleware-recursion-detection': 3.709.0 @@ -14304,9 +14557,6 @@ snapshots: '@aws-sdk/util-user-agent-node': 3.709.0 '@smithy/config-resolver': 3.0.13 '@smithy/core': 2.5.5 - '@smithy/eventstream-serde-browser': 3.0.14 - '@smithy/eventstream-serde-config-resolver': 3.0.11 - '@smithy/eventstream-serde-node': 3.0.13 '@smithy/fetch-http-handler': 4.1.2 '@smithy/hash-node': 3.0.11 '@smithy/invalid-dependency': 3.0.11 @@ -14329,9 +14579,7 @@ snapshots: '@smithy/util-endpoints': 2.1.7 '@smithy/util-middleware': 3.0.11 '@smithy/util-retry': 3.0.11 - '@smithy/util-stream': 3.3.2 '@smithy/util-utf8': 3.0.0 - '@smithy/util-waiter': 3.2.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -14381,6 +14629,49 @@ snapshots: transitivePeerDependencies: - aws-crt + '@aws-sdk/client-sso@3.592.0': + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/core': 3.592.0 + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.587.0 + '@aws-sdk/region-config-resolver': 3.587.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.587.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.587.0 + '@smithy/config-resolver': 3.0.13 + '@smithy/core': 2.5.5 + '@smithy/fetch-http-handler': 3.2.9 + '@smithy/hash-node': 3.0.11 + '@smithy/invalid-dependency': 3.0.11 + '@smithy/middleware-content-length': 3.0.13 + '@smithy/middleware-endpoint': 3.2.5 + '@smithy/middleware-retry': 3.0.30 + '@smithy/middleware-serde': 3.0.11 + '@smithy/middleware-stack': 3.0.11 + '@smithy/node-config-provider': 3.1.12 + '@smithy/node-http-handler': 3.3.2 + '@smithy/protocol-http': 4.1.8 + '@smithy/smithy-client': 3.5.0 + '@smithy/types': 3.7.2 + '@smithy/url-parser': 3.0.11 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.30 + '@smithy/util-defaults-mode-node': 3.0.30 + '@smithy/util-endpoints': 2.1.7 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-retry': 3.0.11 + '@smithy/util-utf8': 3.0.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + '@aws-sdk/client-sso@3.709.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 @@ -14424,6 +14715,51 @@ snapshots: transitivePeerDependencies: - aws-crt + '@aws-sdk/client-sts@3.592.0': + 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/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 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.587.0 + '@aws-sdk/region-config-resolver': 3.587.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.587.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.587.0 + '@smithy/config-resolver': 3.0.13 + '@smithy/core': 2.5.5 + '@smithy/fetch-http-handler': 3.2.9 + '@smithy/hash-node': 3.0.11 + '@smithy/invalid-dependency': 3.0.11 + '@smithy/middleware-content-length': 3.0.13 + '@smithy/middleware-endpoint': 3.2.5 + '@smithy/middleware-retry': 3.0.30 + '@smithy/middleware-serde': 3.0.11 + '@smithy/middleware-stack': 3.0.11 + '@smithy/node-config-provider': 3.1.12 + '@smithy/node-http-handler': 3.3.2 + '@smithy/protocol-http': 4.1.8 + '@smithy/smithy-client': 3.5.0 + '@smithy/types': 3.7.2 + '@smithy/url-parser': 3.0.11 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.30 + '@smithy/util-defaults-mode-node': 3.0.30 + '@smithy/util-endpoints': 2.1.7 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-retry': 3.0.11 + '@smithy/util-utf8': 3.0.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + '@aws-sdk/client-sts@3.709.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 @@ -14469,60 +14805,274 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/core@3.709.0': + '@aws-sdk/core@3.592.0': + dependencies: + '@smithy/core': 2.5.5 + '@smithy/protocol-http': 4.1.8 + '@smithy/signature-v4': 3.1.2 + '@smithy/smithy-client': 3.5.0 + '@smithy/types': 3.7.2 + fast-xml-parser: 4.2.5 + tslib: 2.8.1 + + '@aws-sdk/core@3.709.0': + dependencies: + '@aws-sdk/types': 3.709.0 + '@smithy/core': 2.5.5 + '@smithy/node-config-provider': 3.1.12 + '@smithy/property-provider': 3.1.11 + '@smithy/protocol-http': 4.1.8 + '@smithy/signature-v4': 4.2.4 + '@smithy/smithy-client': 3.5.0 + '@smithy/types': 3.7.2 + '@smithy/util-middleware': 3.0.11 + fast-xml-parser: 4.4.1 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-cognito-identity@3.592.0': + dependencies: + '@aws-sdk/client-cognito-identity': 3.592.0 + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.1.11 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-env@3.587.0': + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.1.11 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-env@3.709.0': + dependencies: + '@aws-sdk/core': 3.709.0 + '@aws-sdk/types': 3.709.0 + '@smithy/property-provider': 3.1.11 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-http@3.587.0': + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/fetch-http-handler': 3.2.9 + '@smithy/node-http-handler': 3.3.2 + '@smithy/property-provider': 3.1.11 + '@smithy/protocol-http': 4.1.8 + '@smithy/smithy-client': 3.5.0 + '@smithy/types': 3.7.2 + '@smithy/util-stream': 3.3.2 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-http@3.709.0': + dependencies: + '@aws-sdk/core': 3.709.0 + '@aws-sdk/types': 3.709.0 + '@smithy/fetch-http-handler': 4.1.2 + '@smithy/node-http-handler': 3.3.2 + '@smithy/property-provider': 3.1.11 + '@smithy/protocol-http': 4.1.8 + '@smithy/smithy-client': 3.5.0 + '@smithy/types': 3.7.2 + '@smithy/util-stream': 3.3.2 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-ini@3.592.0(@aws-sdk/client-sso-oidc@3.592.0(@aws-sdk/client-sts@3.592.0))(@aws-sdk/client-sts@3.592.0)': + dependencies: + '@aws-sdk/client-sts': 3.592.0 + '@aws-sdk/credential-provider-env': 3.587.0 + '@aws-sdk/credential-provider-http': 3.587.0 + '@aws-sdk/credential-provider-process': 3.587.0 + '@aws-sdk/credential-provider-sso': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0) + '@aws-sdk/credential-provider-web-identity': 3.587.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/types': 3.577.0 + '@smithy/credential-provider-imds': 3.2.8 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + + '@aws-sdk/credential-provider-ini@3.592.0(@aws-sdk/client-sso-oidc@3.592.0)(@aws-sdk/client-sts@3.592.0)': + dependencies: + '@aws-sdk/client-sts': 3.592.0 + '@aws-sdk/credential-provider-env': 3.587.0 + '@aws-sdk/credential-provider-http': 3.587.0 + '@aws-sdk/credential-provider-process': 3.587.0 + '@aws-sdk/credential-provider-sso': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0) + '@aws-sdk/credential-provider-web-identity': 3.587.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/types': 3.577.0 + '@smithy/credential-provider-imds': 3.2.8 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + + '@aws-sdk/credential-provider-ini@3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0))(@aws-sdk/client-sts@3.592.0)': + dependencies: + '@aws-sdk/client-sts': 3.592.0 + '@aws-sdk/credential-provider-env': 3.587.0 + '@aws-sdk/credential-provider-http': 3.587.0 + '@aws-sdk/credential-provider-process': 3.587.0 + '@aws-sdk/credential-provider-sso': 3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0)) + '@aws-sdk/credential-provider-web-identity': 3.587.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/types': 3.577.0 + '@smithy/credential-provider-imds': 3.2.8 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + + '@aws-sdk/credential-provider-ini@3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))(@aws-sdk/client-sts@3.592.0)': + dependencies: + '@aws-sdk/client-sts': 3.592.0 + '@aws-sdk/credential-provider-env': 3.587.0 + '@aws-sdk/credential-provider-http': 3.587.0 + '@aws-sdk/credential-provider-process': 3.587.0 + '@aws-sdk/credential-provider-sso': 3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0)) + '@aws-sdk/credential-provider-web-identity': 3.587.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/types': 3.577.0 + '@smithy/credential-provider-imds': 3.2.8 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + + '@aws-sdk/credential-provider-ini@3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0))(@aws-sdk/client-sts@3.592.0)': dependencies: + '@aws-sdk/client-sts': 3.592.0 + '@aws-sdk/core': 3.709.0 + '@aws-sdk/credential-provider-env': 3.709.0 + '@aws-sdk/credential-provider-http': 3.709.0 + '@aws-sdk/credential-provider-process': 3.709.0 + '@aws-sdk/credential-provider-sso': 3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0)) + '@aws-sdk/credential-provider-web-identity': 3.709.0(@aws-sdk/client-sts@3.592.0) '@aws-sdk/types': 3.709.0 - '@smithy/core': 2.5.5 - '@smithy/node-config-provider': 3.1.12 + '@smithy/credential-provider-imds': 3.2.8 '@smithy/property-provider': 3.1.11 - '@smithy/protocol-http': 4.1.8 - '@smithy/signature-v4': 4.2.4 - '@smithy/smithy-client': 3.5.0 + '@smithy/shared-ini-file-loader': 3.1.12 '@smithy/types': 3.7.2 - '@smithy/util-middleware': 3.0.11 - fast-xml-parser: 4.4.1 tslib: 2.8.1 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt - '@aws-sdk/credential-provider-cognito-identity@3.709.0': + '@aws-sdk/credential-provider-ini@3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))(@aws-sdk/client-sts@3.709.0)': dependencies: - '@aws-sdk/client-cognito-identity': 3.709.0 + '@aws-sdk/client-sts': 3.709.0 + '@aws-sdk/core': 3.709.0 + '@aws-sdk/credential-provider-env': 3.709.0 + '@aws-sdk/credential-provider-http': 3.709.0 + '@aws-sdk/credential-provider-process': 3.709.0 + '@aws-sdk/credential-provider-sso': 3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0)) + '@aws-sdk/credential-provider-web-identity': 3.709.0(@aws-sdk/client-sts@3.709.0) '@aws-sdk/types': 3.709.0 + '@smithy/credential-provider-imds': 3.2.8 '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 '@smithy/types': 3.7.2 tslib: 2.8.1 transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/credential-provider-env@3.709.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/client-sts@3.592.0)': dependencies: - '@aws-sdk/core': 3.709.0 - '@aws-sdk/types': 3.709.0 + '@aws-sdk/credential-provider-env': 3.587.0 + '@aws-sdk/credential-provider-http': 3.587.0 + '@aws-sdk/credential-provider-ini': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0(@aws-sdk/client-sts@3.592.0))(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/credential-provider-process': 3.587.0 + '@aws-sdk/credential-provider-sso': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0) + '@aws-sdk/credential-provider-web-identity': 3.587.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/types': 3.577.0 + '@smithy/credential-provider-imds': 3.2.8 '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 '@smithy/types': 3.7.2 tslib: 2.8.1 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - '@aws-sdk/client-sts' + - aws-crt - '@aws-sdk/credential-provider-http@3.709.0': + '@aws-sdk/credential-provider-node@3.592.0(@aws-sdk/client-sso-oidc@3.592.0)(@aws-sdk/client-sts@3.592.0)': dependencies: - '@aws-sdk/core': 3.709.0 - '@aws-sdk/types': 3.709.0 - '@smithy/fetch-http-handler': 4.1.2 - '@smithy/node-http-handler': 3.3.2 + '@aws-sdk/credential-provider-env': 3.587.0 + '@aws-sdk/credential-provider-http': 3.587.0 + '@aws-sdk/credential-provider-ini': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0)(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/credential-provider-process': 3.587.0 + '@aws-sdk/credential-provider-sso': 3.592.0(@aws-sdk/client-sso-oidc@3.592.0) + '@aws-sdk/credential-provider-web-identity': 3.587.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/types': 3.577.0 + '@smithy/credential-provider-imds': 3.2.8 '@smithy/property-provider': 3.1.11 - '@smithy/protocol-http': 4.1.8 - '@smithy/smithy-client': 3.5.0 + '@smithy/shared-ini-file-loader': 3.1.12 '@smithy/types': 3.7.2 - '@smithy/util-stream': 3.3.2 tslib: 2.8.1 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - '@aws-sdk/client-sts' + - aws-crt - '@aws-sdk/credential-provider-ini@3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))(@aws-sdk/client-sts@3.709.0)': + '@aws-sdk/credential-provider-node@3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0))(@aws-sdk/client-sts@3.592.0)': + dependencies: + '@aws-sdk/credential-provider-env': 3.587.0 + '@aws-sdk/credential-provider-http': 3.587.0 + '@aws-sdk/credential-provider-ini': 3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0))(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/credential-provider-process': 3.587.0 + '@aws-sdk/credential-provider-sso': 3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0)) + '@aws-sdk/credential-provider-web-identity': 3.587.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/types': 3.577.0 + '@smithy/credential-provider-imds': 3.2.8 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - '@aws-sdk/client-sts' + - aws-crt + + '@aws-sdk/credential-provider-node@3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))(@aws-sdk/client-sts@3.592.0)': + dependencies: + '@aws-sdk/credential-provider-env': 3.587.0 + '@aws-sdk/credential-provider-http': 3.587.0 + '@aws-sdk/credential-provider-ini': 3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/credential-provider-process': 3.587.0 + '@aws-sdk/credential-provider-sso': 3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0)) + '@aws-sdk/credential-provider-web-identity': 3.587.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/types': 3.577.0 + '@smithy/credential-provider-imds': 3.2.8 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - '@aws-sdk/client-sts' + - aws-crt + + '@aws-sdk/credential-provider-node@3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0))(@aws-sdk/client-sts@3.592.0)': dependencies: - '@aws-sdk/client-sts': 3.709.0 - '@aws-sdk/core': 3.709.0 '@aws-sdk/credential-provider-env': 3.709.0 '@aws-sdk/credential-provider-http': 3.709.0 + '@aws-sdk/credential-provider-ini': 3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0))(@aws-sdk/client-sts@3.592.0) '@aws-sdk/credential-provider-process': 3.709.0 - '@aws-sdk/credential-provider-sso': 3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0)) - '@aws-sdk/credential-provider-web-identity': 3.709.0(@aws-sdk/client-sts@3.709.0) + '@aws-sdk/credential-provider-sso': 3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0)) + '@aws-sdk/credential-provider-web-identity': 3.709.0(@aws-sdk/client-sts@3.592.0) '@aws-sdk/types': 3.709.0 '@smithy/credential-provider-imds': 3.2.8 '@smithy/property-provider': 3.1.11 @@ -14531,6 +15081,7 @@ snapshots: tslib: 2.8.1 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' + - '@aws-sdk/client-sts' - aws-crt '@aws-sdk/credential-provider-node@3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))(@aws-sdk/client-sts@3.709.0)': @@ -14552,6 +15103,14 @@ snapshots: - '@aws-sdk/client-sts' - aws-crt + '@aws-sdk/credential-provider-process@3.587.0': + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + '@aws-sdk/credential-provider-process@3.709.0': dependencies: '@aws-sdk/core': 3.709.0 @@ -14561,6 +15120,59 @@ snapshots: '@smithy/types': 3.7.2 tslib: 2.8.1 + '@aws-sdk/credential-provider-sso@3.592.0(@aws-sdk/client-sso-oidc@3.592.0)': + dependencies: + '@aws-sdk/client-sso': 3.592.0 + '@aws-sdk/token-providers': 3.587.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 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + + '@aws-sdk/credential-provider-sso@3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0))': + dependencies: + '@aws-sdk/client-sso': 3.592.0 + '@aws-sdk/token-providers': 3.587.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0)) + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + + '@aws-sdk/credential-provider-sso@3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))': + dependencies: + '@aws-sdk/client-sso': 3.592.0 + '@aws-sdk/token-providers': 3.587.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0)) + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + + '@aws-sdk/credential-provider-sso@3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0))': + dependencies: + '@aws-sdk/client-sso': 3.709.0 + '@aws-sdk/core': 3.709.0 + '@aws-sdk/token-providers': 3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0)) + '@aws-sdk/types': 3.709.0 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + '@aws-sdk/credential-provider-sso@3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))': dependencies: '@aws-sdk/client-sso': 3.709.0 @@ -14575,30 +15187,68 @@ snapshots: - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/credential-provider-web-identity@3.709.0(@aws-sdk/client-sts@3.709.0)': + '@aws-sdk/credential-provider-web-identity@3.587.0(@aws-sdk/client-sts@3.592.0)': dependencies: - '@aws-sdk/client-sts': 3.709.0 + '@aws-sdk/client-sts': 3.592.0 + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.1.11 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-web-identity@3.709.0(@aws-sdk/client-sts@3.592.0)': + dependencies: + '@aws-sdk/client-sts': 3.592.0 '@aws-sdk/core': 3.709.0 '@aws-sdk/types': 3.709.0 '@smithy/property-provider': 3.1.11 '@smithy/types': 3.7.2 tslib: 2.8.1 - '@aws-sdk/credential-providers@3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))': + '@aws-sdk/credential-provider-web-identity@3.709.0(@aws-sdk/client-sts@3.709.0)': dependencies: - '@aws-sdk/client-cognito-identity': 3.709.0 - '@aws-sdk/client-sso': 3.709.0 '@aws-sdk/client-sts': 3.709.0 '@aws-sdk/core': 3.709.0 - '@aws-sdk/credential-provider-cognito-identity': 3.709.0 - '@aws-sdk/credential-provider-env': 3.709.0 - '@aws-sdk/credential-provider-http': 3.709.0 - '@aws-sdk/credential-provider-ini': 3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))(@aws-sdk/client-sts@3.709.0) - '@aws-sdk/credential-provider-node': 3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))(@aws-sdk/client-sts@3.709.0) - '@aws-sdk/credential-provider-process': 3.709.0 - '@aws-sdk/credential-provider-sso': 3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0)) - '@aws-sdk/credential-provider-web-identity': 3.709.0(@aws-sdk/client-sts@3.709.0) '@aws-sdk/types': 3.709.0 + '@smithy/property-provider': 3.1.11 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@aws-sdk/credential-providers@3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0))': + dependencies: + '@aws-sdk/client-cognito-identity': 3.592.0 + '@aws-sdk/client-sso': 3.592.0 + '@aws-sdk/client-sts': 3.592.0 + '@aws-sdk/credential-provider-cognito-identity': 3.592.0 + '@aws-sdk/credential-provider-env': 3.587.0 + '@aws-sdk/credential-provider-http': 3.587.0 + '@aws-sdk/credential-provider-ini': 3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0))(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0))(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/credential-provider-process': 3.587.0 + '@aws-sdk/credential-provider-sso': 3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0)) + '@aws-sdk/credential-provider-web-identity': 3.587.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/types': 3.577.0 + '@smithy/credential-provider-imds': 3.2.8 + '@smithy/property-provider': 3.1.11 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + + '@aws-sdk/credential-providers@3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))': + dependencies: + '@aws-sdk/client-cognito-identity': 3.592.0 + '@aws-sdk/client-sso': 3.592.0 + '@aws-sdk/client-sts': 3.592.0 + '@aws-sdk/credential-provider-cognito-identity': 3.592.0 + '@aws-sdk/credential-provider-env': 3.587.0 + '@aws-sdk/credential-provider-http': 3.587.0 + '@aws-sdk/credential-provider-ini': 3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/credential-provider-node': 3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/credential-provider-process': 3.587.0 + '@aws-sdk/credential-provider-sso': 3.592.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0)) + '@aws-sdk/credential-provider-web-identity': 3.587.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/types': 3.577.0 '@smithy/credential-provider-imds': 3.2.8 '@smithy/property-provider': 3.1.11 '@smithy/types': 3.7.2 @@ -14607,6 +15257,13 @@ snapshots: - '@aws-sdk/client-sso-oidc' - aws-crt + '@aws-sdk/middleware-host-header@3.577.0': + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + '@aws-sdk/middleware-host-header@3.709.0': dependencies: '@aws-sdk/types': 3.709.0 @@ -14614,12 +15271,25 @@ snapshots: '@smithy/types': 3.7.2 tslib: 2.8.1 + '@aws-sdk/middleware-logger@3.577.0': + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + '@aws-sdk/middleware-logger@3.709.0': dependencies: '@aws-sdk/types': 3.709.0 '@smithy/types': 3.7.2 tslib: 2.8.1 + '@aws-sdk/middleware-recursion-detection@3.577.0': + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + '@aws-sdk/middleware-recursion-detection@3.709.0': dependencies: '@aws-sdk/types': 3.709.0 @@ -14627,6 +15297,14 @@ snapshots: '@smithy/types': 3.7.2 tslib: 2.8.1 + '@aws-sdk/middleware-user-agent@3.587.0': + dependencies: + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.587.0 + '@smithy/protocol-http': 4.1.8 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + '@aws-sdk/middleware-user-agent@3.709.0': dependencies: '@aws-sdk/core': 3.709.0 @@ -14637,6 +15315,15 @@ snapshots: '@smithy/types': 3.7.2 tslib: 2.8.1 + '@aws-sdk/region-config-resolver@3.587.0': + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/node-config-provider': 3.1.12 + '@smithy/types': 3.7.2 + '@smithy/util-config-provider': 3.0.0 + '@smithy/util-middleware': 3.0.11 + tslib: 2.8.1 + '@aws-sdk/region-config-resolver@3.709.0': dependencies: '@aws-sdk/types': 3.709.0 @@ -14646,6 +15333,42 @@ snapshots: '@smithy/util-middleware': 3.0.11 tslib: 2.8.1 + '@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/types': 3.577.0 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@aws-sdk/token-providers@3.587.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0))': + dependencies: + '@aws-sdk/client-sso-oidc': 3.709.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@aws-sdk/token-providers@3.587.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))': + dependencies: + '@aws-sdk/client-sso-oidc': 3.709.0(@aws-sdk/client-sts@3.709.0) + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + + '@aws-sdk/token-providers@3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.592.0))': + dependencies: + '@aws-sdk/client-sso-oidc': 3.709.0(@aws-sdk/client-sts@3.592.0) + '@aws-sdk/types': 3.709.0 + '@smithy/property-provider': 3.1.11 + '@smithy/shared-ini-file-loader': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + '@aws-sdk/token-providers@3.709.0(@aws-sdk/client-sso-oidc@3.709.0(@aws-sdk/client-sts@3.709.0))': dependencies: '@aws-sdk/client-sso-oidc': 3.709.0(@aws-sdk/client-sts@3.709.0) @@ -14655,11 +15378,23 @@ snapshots: '@smithy/types': 3.7.2 tslib: 2.8.1 + '@aws-sdk/types@3.577.0': + dependencies: + '@smithy/types': 3.7.2 + tslib: 2.8.1 + '@aws-sdk/types@3.709.0': dependencies: '@smithy/types': 3.7.2 tslib: 2.8.1 + '@aws-sdk/util-endpoints@3.587.0': + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/types': 3.7.2 + '@smithy/util-endpoints': 2.1.7 + tslib: 2.8.1 + '@aws-sdk/util-endpoints@3.709.0': dependencies: '@aws-sdk/types': 3.709.0 @@ -14671,6 +15406,13 @@ snapshots: dependencies: tslib: 2.8.1 + '@aws-sdk/util-user-agent-browser@3.577.0': + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/types': 3.7.2 + bowser: 2.11.0 + tslib: 2.8.1 + '@aws-sdk/util-user-agent-browser@3.709.0': dependencies: '@aws-sdk/types': 3.709.0 @@ -14678,6 +15420,13 @@ snapshots: bowser: 2.11.0 tslib: 2.8.1 + '@aws-sdk/util-user-agent-node@3.587.0': + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/node-config-provider': 3.1.12 + '@smithy/types': 3.7.2 + tslib: 2.8.1 + '@aws-sdk/util-user-agent-node@3.709.0': dependencies: '@aws-sdk/middleware-user-agent': 3.709.0 @@ -14686,6 +15435,10 @@ snapshots: '@smithy/types': 3.7.2 tslib: 2.8.1 + '@aws-sdk/util-utf8-browser@3.259.0': + dependencies: + tslib: 2.8.1 + '@babel/code-frame@7.10.4': dependencies: '@babel/highlight': 7.25.9 @@ -17270,11 +18023,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)': + '@mdx-js/loader@2.3.0(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15)))': dependencies: '@mdx-js/mdx': 2.3.0 source-map: 0.7.4 - webpack: 5.97.1 + webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15)) transitivePeerDependencies: - supports-color @@ -17414,11 +18167,11 @@ snapshots: dependencies: fast-glob: 3.3.1 - '@next/mdx@15.1.0(@mdx-js/loader@2.3.0(webpack@5.97.1))(@mdx-js/react@2.3.0(react@19.0.0))': + '@next/mdx@15.1.0(@mdx-js/loader@2.3.0(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))))(@mdx-js/react@2.3.0(react@19.0.0))': dependencies: source-map: 0.7.4 optionalDependencies: - '@mdx-js/loader': 2.3.0(webpack@5.97.1) + '@mdx-js/loader': 2.3.0(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))) '@mdx-js/react': 2.3.0(react@19.0.0) '@next/swc-darwin-arm64@15.1.0': @@ -17570,7 +18323,7 @@ snapshots: widest-line: 3.1.0 wrap-ansi: 7.0.0 - '@oclif/core@2.8.11(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2)': + '@oclif/core@2.8.11(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)': dependencies: '@types/cli-progress': 3.11.6 ansi-escapes: 4.3.2 @@ -17596,7 +18349,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.1)(@types/node@22.10.2)(typescript@5.7.2) + ts-node: 10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2) tslib: 2.8.1 widest-line: 3.1.0 wordwrap: 1.0.0 @@ -17634,10 +18387,10 @@ snapshots: dependencies: '@oclif/core': 1.26.2 - '@oclif/plugin-not-found@2.3.23(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2)': + '@oclif/plugin-not-found@2.3.23(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)': dependencies: '@oclif/color': 1.0.13 - '@oclif/core': 2.8.11(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2) + '@oclif/core': 2.8.11(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2) fast-levenshtein: 3.0.0 lodash: 4.17.21 transitivePeerDependencies: @@ -17662,9 +18415,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@oclif/plugin-warn-if-update-available@2.0.24(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2)': + '@oclif/plugin-warn-if-update-available@2.0.24(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)': dependencies: - '@oclif/core': 2.8.11(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2) + '@oclif/core': 2.8.11(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2) chalk: 4.1.2 debug: 4.4.0(supports-color@8.1.1) fs-extra: 9.1.0 @@ -18036,7 +18789,7 @@ snapshots: dependencies: playwright: 1.49.1 - '@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.1))': + '@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.1(@swc/helpers@0.5.15))(esbuild@0.24.0))': dependencies: ansi-html: 0.0.9 core-js-pure: 3.39.0 @@ -18046,7 +18799,7 @@ snapshots: react-refresh: 0.14.2 schema-utils: 4.2.0 source-map: 0.7.4 - webpack: 5.97.1(@swc/core@1.10.1) + webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) optionalDependencies: type-fest: 4.30.0 webpack-hot-middleware: 2.26.1 @@ -19037,7 +19790,7 @@ snapshots: '@sentry/core@8.43.0': {} - '@sentry/nextjs@8.43.0(@opentelemetry/core@1.29.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.29.0(@opentelemetry/api@1.9.0))(next@15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1(@swc/core@1.10.1))': + '@sentry/nextjs@8.43.0(@opentelemetry/core@1.29.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.29.0(@opentelemetry/api@1.9.0))(next@15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0))': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.28.0 @@ -19048,7 +19801,7 @@ snapshots: '@sentry/opentelemetry': 8.43.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.29.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.56.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.29.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.28.0) '@sentry/react': 8.43.0(react@19.0.0) '@sentry/vercel-edge': 8.43.0 - '@sentry/webpack-plugin': 2.22.7(webpack@5.97.1(@swc/core@1.10.1)) + '@sentry/webpack-plugin': 2.22.7(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) chalk: 3.0.0 next: 15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) resolve: 1.22.8 @@ -19124,12 +19877,12 @@ snapshots: '@opentelemetry/api': 1.9.0 '@sentry/core': 8.43.0 - '@sentry/webpack-plugin@2.22.7(webpack@5.97.1(@swc/core@1.10.1))': + '@sentry/webpack-plugin@2.22.7(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0))': dependencies: '@sentry/bundler-plugin-core': 2.22.7 unplugin: 1.0.1 uuid: 9.0.1 - webpack: 5.97.1(@swc/core@1.10.1) + webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) transitivePeerDependencies: - encoding - supports-color @@ -19196,11 +19949,11 @@ snapshots: dependencies: size-limit: 11.1.6 - '@size-limit/preset-big-lib@11.1.6(bufferutil@4.0.8)(esbuild@0.24.0)(size-limit@11.1.6)(utf-8-validate@5.0.10)': + '@size-limit/preset-big-lib@11.1.6(bufferutil@4.0.8)(size-limit@11.1.6)(utf-8-validate@5.0.10)': dependencies: '@size-limit/file': 11.1.6(size-limit@11.1.6) '@size-limit/time': 11.1.6(bufferutil@4.0.8)(size-limit@11.1.6)(utf-8-validate@5.0.10) - '@size-limit/webpack': 11.1.6(esbuild@0.24.0)(size-limit@11.1.6) + '@size-limit/webpack': 11.1.6(size-limit@11.1.6) size-limit: 11.1.6 transitivePeerDependencies: - '@swc/core' @@ -19220,11 +19973,11 @@ snapshots: - supports-color - utf-8-validate - '@size-limit/webpack@11.1.6(esbuild@0.24.0)(size-limit@11.1.6)': + '@size-limit/webpack@11.1.6(size-limit@11.1.6)': dependencies: nanoid: 5.0.7 size-limit: 11.1.6 - webpack: 5.97.1(esbuild@0.24.0) + webpack: 5.97.1 transitivePeerDependencies: - '@swc/core' - esbuild @@ -19293,6 +20046,14 @@ snapshots: '@smithy/types': 3.7.2 tslib: 2.8.1 + '@smithy/fetch-http-handler@3.2.9': + dependencies: + '@smithy/protocol-http': 4.1.8 + '@smithy/querystring-builder': 3.0.11 + '@smithy/types': 3.7.2 + '@smithy/util-base64': 3.0.0 + tslib: 2.8.1 + '@smithy/fetch-http-handler@4.1.2': dependencies: '@smithy/protocol-http': 4.1.8 @@ -19405,6 +20166,16 @@ snapshots: '@smithy/types': 3.7.2 tslib: 2.8.1 + '@smithy/signature-v4@3.1.2': + dependencies: + '@smithy/is-array-buffer': 3.0.0 + '@smithy/types': 3.7.2 + '@smithy/util-hex-encoding': 3.0.0 + '@smithy/util-middleware': 3.0.11 + '@smithy/util-uri-escape': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.8.1 + '@smithy/signature-v4@4.2.4': dependencies: '@smithy/is-array-buffer': 3.0.0 @@ -19864,7 +20635,7 @@ snapshots: ts-dedent: 2.2.0 vite: 6.0.3(@types/node@22.10.2)(jiti@2.4.1)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) - '@storybook/builder-webpack5@8.4.7(@swc/core@1.10.1)(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.10.1(@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)': 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)) '@types/node': 22.10.2 @@ -19873,23 +20644,23 @@ snapshots: 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.1)) + css-loader: 6.11.0(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(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.1)) - html-webpack-plugin: 5.6.3(webpack@5.97.1(@swc/core@1.10.1)) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.7.2)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) + html-webpack-plugin: 5.6.3(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) magic-string: 0.30.15 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.1)) - terser-webpack-plugin: 5.3.10(@swc/core@1.10.1)(webpack@5.97.1(@swc/core@1.10.1)) + style-loader: 3.3.4(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) + terser-webpack-plugin: 5.3.10(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(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.1) - webpack-dev-middleware: 6.1.3(webpack@5.97.1(@swc/core@1.10.1)) + webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) + webpack-dev-middleware: 6.1.3(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.6.2 optionalDependencies: @@ -20001,7 +20772,7 @@ snapshots: dependencies: storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) - '@storybook/nextjs@8.4.7(@swc/core@1.10.1)(next@15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.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.1))': + '@storybook/nextjs@8.4.7(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)(next@15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.4.7(bufferutil@4.0.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.1(@swc/helpers@0.5.15))(esbuild@0.24.0))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.0) @@ -20016,31 +20787,31 @@ snapshots: '@babel/preset-react': 7.26.3(@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.1)) - '@storybook/builder-webpack5': 8.4.7(@swc/core@1.10.1)(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.1)(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) + '@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.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) + '@storybook/builder-webpack5': 8.4.7(@swc/core@1.10.1(@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.1(@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)) '@types/node': 22.10.2 '@types/semver': 7.5.8 - babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.97.1(@swc/core@1.10.1)) - css-loader: 6.11.0(webpack@5.97.1(@swc/core@1.10.1)) + babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) + css-loader: 6.11.0(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) find-up: 5.0.0 image-size: 1.1.1 loader-utils: 3.3.1 next: 15.1.0(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - node-polyfill-webpack-plugin: 2.0.1(webpack@5.97.1(@swc/core@1.10.1)) + node-polyfill-webpack-plugin: 2.0.1(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(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.1)) + postcss-loader: 8.1.1(postcss@8.4.49)(typescript@5.7.2)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(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.1)) + sass-loader: 13.3.3(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(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.1)) + style-loader: 3.3.4(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(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 @@ -20048,7 +20819,7 @@ snapshots: optionalDependencies: sharp: 0.33.5 typescript: 5.7.2 - webpack: 5.97.1(@swc/core@1.10.1) + webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -20068,11 +20839,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.1)(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.2)(utf-8-validate@5.0.10)))(@swc/core@1.10.1(@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)': 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.1)) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.7.2)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) '@types/node': 22.10.2 '@types/semver': 7.5.8 find-up: 5.0.0 @@ -20084,7 +20855,7 @@ snapshots: semver: 7.6.3 storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(utf-8-validate@5.0.10) tsconfig-paths: 4.2.0 - webpack: 5.97.1(@swc/core@1.10.1) + webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -20103,7 +20874,7 @@ snapshots: dependencies: storybook: 8.4.7(bufferutil@4.0.8)(prettier@3.4.2)(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.1))': + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.7.2)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0))': dependencies: debug: 4.4.0(supports-color@8.1.1) endent: 2.1.0 @@ -20113,7 +20884,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.1) + webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) transitivePeerDependencies: - supports-color @@ -20601,7 +21372,7 @@ snapshots: '@swc/core-win32-x64-msvc@1.10.1': optional: true - '@swc/core@1.10.1': + '@swc/core@1.10.1(@swc/helpers@0.5.15)': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.17 @@ -20616,6 +21387,7 @@ snapshots: '@swc/core-win32-arm64-msvc': 1.10.1 '@swc/core-win32-ia32-msvc': 1.10.1 '@swc/core-win32-x64-msvc': 1.10.1 + '@swc/helpers': 0.5.15 optional: true '@swc/counter@0.1.3': {} @@ -21168,7 +21940,7 @@ snapshots: '@urql/core': 5.1.0(graphql@16.9.0) wonka: 6.3.4 - '@vercel/functions@1.5.1(@aws-sdk/credential-provider-web-identity@3.709.0)': + '@vercel/functions@1.5.1(@aws-sdk/credential-provider-web-identity@3.709.0(@aws-sdk/client-sts@3.709.0))': optionalDependencies: '@aws-sdk/credential-provider-web-identity': 3.709.0(@aws-sdk/client-sts@3.709.0) @@ -22067,12 +22839,12 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.97.1(@swc/core@1.10.1)): + babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(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.1) + webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) babel-plugin-istanbul@6.1.1: dependencies: @@ -22542,13 +23314,13 @@ snapshots: check-error@2.1.1: {} - checkly@4.15.0(@swc/core@1.10.1)(@types/node@22.10.2)(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10): + checkly@4.15.0(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(bufferutil@4.0.8)(typescript@5.7.2)(utf-8-validate@5.0.10): dependencies: - '@oclif/core': 2.8.11(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2) + '@oclif/core': 2.8.11(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2) '@oclif/plugin-help': 5.1.20 - '@oclif/plugin-not-found': 2.3.23(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2) + '@oclif/plugin-not-found': 2.3.23(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2) '@oclif/plugin-plugins': 5.4.4 - '@oclif/plugin-warn-if-update-available': 2.0.24(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2) + '@oclif/plugin-warn-if-update-available': 2.0.24(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2) '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.7.2) acorn: 8.8.1 acorn-walk: 8.2.0 @@ -22994,7 +23766,7 @@ snapshots: css-gradient-parser@0.0.16: {} - css-loader@6.11.0(webpack@5.97.1(@swc/core@1.10.1)): + css-loader@6.11.0(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)): dependencies: icss-utils: 5.1.0(postcss@8.4.49) postcss: 8.4.49 @@ -23005,7 +23777,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.6.3 optionalDependencies: - webpack: 5.97.1(@swc/core@1.10.1) + webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) css-select@4.3.0: dependencies: @@ -23895,11 +24667,11 @@ snapshots: eslint-plugin-svg-jsx@1.2.4: {} - eslint-plugin-tailwindcss@3.17.5(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))): + eslint-plugin-tailwindcss@3.17.5(tailwindcss@3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2))): dependencies: fast-glob: 3.3.2 postcss: 8.4.49 - tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) + tailwindcss: 3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)) eslint-scope@5.1.1: dependencies: @@ -24414,6 +25186,10 @@ snapshots: fast-uri@3.0.3: {} + fast-xml-parser@4.2.5: + dependencies: + strnum: 1.0.5 + fast-xml-parser@4.4.1: dependencies: strnum: 1.0.5 @@ -24581,7 +25357,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.1)): + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.7.2)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)): dependencies: '@babel/code-frame': 7.26.2 chalk: 4.1.2 @@ -24596,7 +25372,7 @@ snapshots: semver: 7.6.3 tapable: 2.2.1 typescript: 5.7.2 - webpack: 5.97.1(@swc/core@1.10.1) + webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) form-data-encoder@2.1.4: {} @@ -25069,7 +25845,7 @@ snapshots: html-void-elements@3.0.0: {} - html-webpack-plugin@5.6.3(webpack@5.97.1(@swc/core@1.10.1)): + html-webpack-plugin@5.6.3(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -25077,7 +25853,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.97.1(@swc/core@1.10.1) + webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) htmlparser2@3.10.1: dependencies: @@ -27573,7 +28349,7 @@ snapshots: node-int64@0.4.0: {} - node-polyfill-webpack-plugin@2.0.1(webpack@5.97.1(@swc/core@1.10.1)): + node-polyfill-webpack-plugin@2.0.1(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)): dependencies: assert: 2.1.0 browserify-zlib: 0.2.0 @@ -27600,7 +28376,7 @@ snapshots: url: 0.11.4 util: 0.12.5 vm-browserify: 1.1.2 - webpack: 5.97.1(@swc/core@1.10.1) + webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) node-releases@2.0.18: {} @@ -28225,13 +29001,13 @@ 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(@types/node@22.10.2)(typescript@5.7.2)): + postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(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.1)(@types/node@22.10.2)(typescript@5.7.2) + ts-node: 10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(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: @@ -28242,14 +29018,14 @@ snapshots: 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.1)): + postcss-loader@8.1.1(postcss@8.4.49)(typescript@5.7.2)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(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.1) + webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) transitivePeerDependencies: - typescript @@ -29406,10 +30182,10 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@13.3.3(webpack@5.97.1(@swc/core@1.10.1)): + sass-loader@13.3.3(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)): dependencies: neo-async: 2.6.2 - webpack: 5.97.1(@swc/core@1.10.1) + webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) satori@0.12.0: dependencies: @@ -29958,9 +30734,9 @@ snapshots: structured-headers@0.4.1: {} - style-loader@3.3.4(webpack@5.97.1(@swc/core@1.10.1)): + style-loader@3.3.4(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)): dependencies: - webpack: 5.97.1(@swc/core@1.10.1) + webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) style-to-object@0.4.4: dependencies: @@ -30105,11 +30881,11 @@ snapshots: tailwind-merge@2.5.5: {} - tailwindcss-animate@1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))): + tailwindcss-animate@1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2))): dependencies: - tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) + tailwindcss: 3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)) - tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)): + tailwindcss@3.4.16(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -30128,7 +30904,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(@types/node@22.10.2)(typescript@5.7.2)) + postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2)) postcss-nested: 6.2.0(postcss@8.4.49) postcss-selector-parser: 6.1.2 resolve: 1.22.8 @@ -30190,27 +30966,28 @@ snapshots: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - terser-webpack-plugin@5.3.10(@swc/core@1.10.1)(webpack@5.97.1(@swc/core@1.10.1)): + terser-webpack-plugin@5.3.10(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(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.1) + webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) optionalDependencies: - '@swc/core': 1.10.1 + '@swc/core': 1.10.1(@swc/helpers@0.5.15) + esbuild: 0.24.0 - terser-webpack-plugin@5.3.10(esbuild@0.24.0)(webpack@5.97.1(esbuild@0.24.0)): + terser-webpack-plugin@5.3.10(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))): 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(esbuild@0.24.0) + webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15)) optionalDependencies: - esbuild: 0.24.0 + '@swc/core': 1.10.1(@swc/helpers@0.5.15) terser-webpack-plugin@5.3.10(webpack@5.97.1): dependencies: @@ -30349,7 +31126,7 @@ snapshots: ts-mixer@6.0.4: {} - ts-node@10.9.2(@swc/core@1.10.1)(@types/node@22.10.2)(typescript@5.7.2): + ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.10.2)(typescript@5.7.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -30367,7 +31144,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.10.1 + '@swc/core': 1.10.1(@swc/helpers@0.5.15) ts-pnp@1.2.0(typescript@5.7.2): optionalDependencies: @@ -31117,7 +31894,7 @@ snapshots: - bufferutil - utf-8-validate - webpack-dev-middleware@6.1.3(webpack@5.97.1(@swc/core@1.10.1)): + webpack-dev-middleware@6.1.3(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)): dependencies: colorette: 2.0.20 memfs: 3.5.3 @@ -31125,7 +31902,7 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.2.0 optionalDependencies: - webpack: 5.97.1(@swc/core@1.10.1) + webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0) webpack-hot-middleware@2.26.1: dependencies: @@ -31169,7 +31946,7 @@ snapshots: - esbuild - uglify-js - webpack@5.97.1(@swc/core@1.10.1): + webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15)): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 @@ -31191,7 +31968,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.1)(webpack@5.97.1(@swc/core@1.10.1)) + terser-webpack-plugin: 5.3.10(@swc/core@1.10.1(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -31199,7 +31976,7 @@ snapshots: - esbuild - uglify-js - webpack@5.97.1(esbuild@0.24.0): + webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 @@ -31221,7 +31998,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.24.0)(webpack@5.97.1(esbuild@0.24.0)) + terser-webpack-plugin: 5.3.10(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.15))(esbuild@0.24.0)) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: From 6994310d1628eedb87cab8c7acde73b990cd8096 Mon Sep 17 00:00:00 2001 From: Jonas Daniels Date: Mon, 16 Dec 2024 04:08:47 -0800 Subject: [PATCH 07/10] Version Packages (#5741) Co-authored-by: github-actions[bot] --- .changeset/eighty-days-pump.md | 5 -- .changeset/hip-houses-hear.md | 5 -- .changeset/wicked-yaks-flow.md | 5 -- packages/react-native-adapter/CHANGELOG.md | 6 ++ packages/react-native-adapter/package.json | 7 +- packages/thirdweb/CHANGELOG.md | 10 +++ packages/thirdweb/package.json | 74 ++++++++++++++++------ packages/wagmi-adapter/CHANGELOG.md | 2 + packages/wagmi-adapter/package.json | 2 +- 9 files changed, 79 insertions(+), 37 deletions(-) delete mode 100644 .changeset/eighty-days-pump.md delete mode 100644 .changeset/hip-houses-hear.md delete mode 100644 .changeset/wicked-yaks-flow.md diff --git a/.changeset/eighty-days-pump.md b/.changeset/eighty-days-pump.md deleted file mode 100644 index 949189f9846..00000000000 --- a/.changeset/eighty-days-pump.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"thirdweb": patch ---- - -Fix migration to enclave in react native diff --git a/.changeset/hip-houses-hear.md b/.changeset/hip-houses-hear.md deleted file mode 100644 index f6b5453b9fb..00000000000 --- a/.changeset/hip-houses-hear.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"thirdweb": minor ---- - -Add headless components for Wallets: WalletProvider, WalletIcon and WalletName diff --git a/.changeset/wicked-yaks-flow.md b/.changeset/wicked-yaks-flow.md deleted file mode 100644 index ee3ab0d8389..00000000000 --- a/.changeset/wicked-yaks-flow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@thirdweb-dev/react-native-adapter": patch ---- - -Downgrade aws libraries diff --git a/packages/react-native-adapter/CHANGELOG.md b/packages/react-native-adapter/CHANGELOG.md index e4647bc8610..622950cd0c1 100644 --- a/packages/react-native-adapter/CHANGELOG.md +++ b/packages/react-native-adapter/CHANGELOG.md @@ -1,5 +1,11 @@ # @thirdweb-dev/react-native-adapter +## 1.5.3 + +### Patch Changes + +- [#5746](https://github.com/thirdweb-dev/js/pull/5746) [`e42ffc6`](https://github.com/thirdweb-dev/js/commit/e42ffc6a931a8d80492a091d79e2d9b38e4ba1d7) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Downgrade aws libraries + ## 1.5.2 ### Patch Changes diff --git a/packages/react-native-adapter/package.json b/packages/react-native-adapter/package.json index ae03023fbcf..7d77b8625ae 100644 --- a/packages/react-native-adapter/package.json +++ b/packages/react-native-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@thirdweb-dev/react-native-adapter", - "version": "1.5.2", + "version": "1.5.3", "repository": { "type": "git", "url": "git+https://github.com/thirdweb-dev/js.git#main" @@ -23,7 +23,10 @@ }, "./package.json": "./package.json" }, - "files": ["dist/*", "src/*"], + "files": [ + "dist/*", + "src/*" + ], "dependencies": { "@aws-sdk/client-kms": "3.592.0", "@aws-sdk/client-lambda": "3.592.0", diff --git a/packages/thirdweb/CHANGELOG.md b/packages/thirdweb/CHANGELOG.md index 81f3e35eb22..aff470a590e 100644 --- a/packages/thirdweb/CHANGELOG.md +++ b/packages/thirdweb/CHANGELOG.md @@ -1,5 +1,15 @@ # thirdweb +## 5.79.0 + +### Minor Changes + +- [#5691](https://github.com/thirdweb-dev/js/pull/5691) [`5be197b`](https://github.com/thirdweb-dev/js/commit/5be197bac97393edf39bf7287b5fa258cf83ec06) Thanks [@kien-ngo](https://github.com/kien-ngo)! - Add headless components for Wallets: WalletProvider, WalletIcon and WalletName + +### Patch Changes + +- [#5746](https://github.com/thirdweb-dev/js/pull/5746) [`e42ffc6`](https://github.com/thirdweb-dev/js/commit/e42ffc6a931a8d80492a091d79e2d9b38e4ba1d7) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Fix migration to enclave in react native + ## 5.78.0 ### Minor Changes diff --git a/packages/thirdweb/package.json b/packages/thirdweb/package.json index 66c78a768da..1a36c383d22 100644 --- a/packages/thirdweb/package.json +++ b/packages/thirdweb/package.json @@ -1,6 +1,6 @@ { "name": "thirdweb", - "version": "5.78.0", + "version": "5.79.0", "repository": { "type": "git", "url": "git+https://github.com/thirdweb-dev/js.git#main" @@ -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": { diff --git a/packages/wagmi-adapter/CHANGELOG.md b/packages/wagmi-adapter/CHANGELOG.md index 6e1003c4f3c..a30ddd42af4 100644 --- a/packages/wagmi-adapter/CHANGELOG.md +++ b/packages/wagmi-adapter/CHANGELOG.md @@ -1,5 +1,7 @@ # @thirdweb-dev/wagmi-adapter +## 0.1.2 + ## 0.1.1 ### Patch Changes diff --git a/packages/wagmi-adapter/package.json b/packages/wagmi-adapter/package.json index cccd7de8121..8e696e234a1 100644 --- a/packages/wagmi-adapter/package.json +++ b/packages/wagmi-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@thirdweb-dev/wagmi-adapter", - "version": "0.1.1", + "version": "0.1.2", "repository": { "type": "git", "url": "git+https://github.com/thirdweb-dev/js.git#main" From 7819e1ebabdeeea4693ca0119924069d29f3d133 Mon Sep 17 00:00:00 2001 From: kien-ngo Date: Mon, 16 Dec 2024 16:46:51 +0000 Subject: [PATCH 08/10] [Dashboard] Add a form to let user manually input data for Marketplace listings (#5654) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Problem solved Short description of the bug fixed or feature added --- ## PR-Codex overview This PR enhances the `CreateListingButton` and `CreateListingsForm` components by adding support for multiple listing modes (automatic and manual) and improving NFT validation logic, ensuring users can list NFTs more effectively based on the selected mode. ### Detailed summary - Introduced `LISTING_MODES` for "Select NFT" and "Manual" modes. - Added logic to toggle between automatic and manual listing modes. - Enhanced NFT validation for manual mode, including contract address and token ID checks. - Updated NFT approval checks based on listing mode. - Modified form controls and error handling for improved user experience. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` --- .../(marketplace)/components/list-button.tsx | 62 ++- .../(marketplace)/components/list-form.tsx | 376 +++++++++++------- 2 files changed, 294 insertions(+), 144 deletions(-) diff --git a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/components/list-button.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/components/list-button.tsx index af4c121a0ee..b05e7f9932c 100644 --- a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/components/list-button.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/components/list-button.tsx @@ -8,8 +8,12 @@ import { SheetTitle, SheetTrigger, } from "@/components/ui/sheet"; +import { TabButtons } from "@/components/ui/tabs"; import { ListerOnly } from "@3rdweb-sdk/react/components/roles/lister-only"; import type { Account } from "@3rdweb-sdk/react/hooks/useApi"; +import { isAlchemySupported } from "lib/wallet/nfts/alchemy"; +import { isMoralisSupported } from "lib/wallet/nfts/moralis"; +import { isSimpleHashSupported } from "lib/wallet/nfts/simpleHash"; import { PlusIcon } from "lucide-react"; import { useState } from "react"; import type { ThirdwebContract } from "thirdweb"; @@ -23,6 +27,8 @@ interface CreateListingButtonProps { twAccount: Account | undefined; } +const LISTING_MODES = ["Select NFT", "Manual"] as const; + export const CreateListingButton: React.FC = ({ createText = "Create", type, @@ -32,7 +38,13 @@ export const CreateListingButton: React.FC = ({ }) => { const address = useActiveAccount()?.address; const [open, setOpen] = useState(false); - + const [listingMode, setListingMode] = + useState<(typeof LISTING_MODES)[number]>("Select NFT"); + const isSupportedChain = + contract.chain.id && + (isSimpleHashSupported(contract.chain.id) || + isAlchemySupported(contract.chain.id) || + isMoralisSupported(contract.chain.id)); return ( @@ -43,15 +55,47 @@ export const CreateListingButton: React.FC = ({ - {createText} + {createText} - + {/* + If the chain is not supported by the indexer providers + we don't show the tabs, we only show the Manual input form. + Otherwise we show both */} + {isSupportedChain ? ( + <> + ({ + name: mode, + isActive: mode === listingMode, + onClick: () => setListingMode(mode), + isEnabled: true, + }))} + tabClassName="text-sm gap-2 !text-sm" + tabContainerClassName="gap-0.5" + /> +
+ +
+ + ) : ( +
+ +
+ )}
diff --git a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/components/list-form.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/components/list-form.tsx index c82438cc496..c330fdc0bcf 100644 --- a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/components/list-form.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/(marketplace)/components/list-form.tsx @@ -37,10 +37,14 @@ import { import { decimals } from "thirdweb/extensions/erc20"; import { isApprovedForAll as isApprovedForAll721, + isERC721, + ownerOf, setApprovalForAll as setApprovalForAll721, } from "thirdweb/extensions/erc721"; import { + balanceOf, isApprovedForAll as isApprovedForAll1155, + isERC1155, setApprovalForAll as setApprovalForAll1155, } from "thirdweb/extensions/erc1155"; import { createAuction, createListing } from "thirdweb/extensions/marketplace"; @@ -49,6 +53,7 @@ import type { CreateListingParams, } from "thirdweb/extensions/marketplace"; import { useActiveAccount, useSendAndConfirmTransaction } from "thirdweb/react"; +import { shortenAddress } from "thirdweb/utils"; import { FormErrorMessage, FormHelperText, FormLabel } from "tw-components"; import { NFTMediaWithEmptyState } from "tw-components/nft-media"; import { shortenIfAddress } from "utils/usedapp-external"; @@ -78,6 +83,7 @@ type CreateListingsFormProps = { contract: ThirdwebContract; actionText: string; setOpen: Dispatch>; + mode: "automatic" | "manual"; type?: "direct-listings" | "english-auctions"; twAccount: Account | undefined; }; @@ -98,6 +104,7 @@ export const CreateListingsForm: React.FC = ({ actionText, setOpen, twAccount, + mode, }) => { const trackEvent = useTrack(); const chainId = contract.chain.id; @@ -162,7 +169,8 @@ export const CreateListingsForm: React.FC = ({ !selectedContract || isSupportedChain || isWalletNFTsLoading || - (walletNFTs?.result || []).length > 0, + (walletNFTs?.result || []).length > 0 || + mode === "manual", }); const isSelected = (nft: WalletNFT) => { @@ -208,34 +216,112 @@ export const CreateListingsForm: React.FC = ({ className="flex flex-col gap-6 pb-16" id={LIST_FORM_ID} onSubmit={form.handleSubmit(async (formData) => { - if (!formData.selected || !selectedContract) { - return; - } - if (!account) { return toast.error("No account detected"); } - setIsFormLoading(true); - + let nftType: "ERC1155" | "ERC721"; + let _selectedContract: ThirdwebContract; + let selectedTokenId: bigint; + const selectedQuantity = BigInt(formData.quantity); try { + if (mode === "manual") { + if (!formData.assetContractAddress) { + setIsFormLoading(false); + return toast.error("Enter a valid NFT contract address"); + } + _selectedContract = getContract({ + address: formData.assetContractAddress, + chain: contract.chain, + client: contract.client, + }); + /** + * In manual mode we need to detect the NFT type ourselves + * instead of relying on the third-party providers + */ + const [is721, is1155] = await Promise.all([ + isERC721({ contract: _selectedContract }), + isERC1155({ contract: _selectedContract }), + ]); + if (!is721 && !is1155) { + setIsFormLoading(false); + return toast.error( + `Error: ${formData.assetContractAddress} is neither an ERC721 or ERC1155 contract`, + ); + } + selectedTokenId = BigInt(formData.tokenId); + nftType = is721 ? "ERC721" : "ERC1155"; + /** + * Also in manual mode we need to make sure the user owns the tokenId they entered + * For ERC1155, the owned balance must be >= the entered quantity + * For ERC721, the owner address must match theirs + */ + if (nftType === "ERC1155") { + const balance = await balanceOf({ + contract: _selectedContract, + tokenId: selectedTokenId, + owner: account.address, + }); + if (balance === 0n) { + setIsFormLoading(false); + return toast.error( + `You do not own any tokenId #${selectedTokenId.toString()} from the collection: ${shortenAddress(formData.assetContractAddress)}`, + ); + } + if (balance < selectedQuantity) { + setIsFormLoading(false); + return toast.error( + `The balance you own for tokenId #${selectedTokenId.toString()} is less than the quantity (you own ${balance.toString()})`, + ); + } + } else { + if (selectedQuantity !== 1n) { + setIsFormLoading(false); + return toast.error( + "The quantity can only be 1 for ERC721 token", + ); + } + const owner = await ownerOf({ + contract: _selectedContract, + tokenId: selectedTokenId, + }).catch(() => undefined); + if (owner?.toLowerCase() !== account.address.toLowerCase()) { + setIsFormLoading(false); + return toast.error( + `You do not own the tokenId #${selectedTokenId.toString()} from the collection: ${shortenAddress(formData.assetContractAddress)}`, + ); + } + } + } else { + if (!formData.selected || !selectedContract) { + setIsFormLoading(false); + return toast.error("Please select an NFT to list"); + } + nftType = formData.selected.type; + _selectedContract = selectedContract; + selectedTokenId = BigInt(formData.selected.id); + } + /** + * Make sure the selected item is approved to be listed on the marketplace contract + * todo: We are checking "isApprovedForAll" for both erc1155 and 721. + * However for ERC721 there's also a function called "getApproved" which is used to check for approval status of a single token + * - might worth adding that logic here. + */ const isNftApproved = - formData.selected.type === "ERC1155" - ? isApprovedForAll1155 - : isApprovedForAll721; + nftType === "ERC1155" ? isApprovedForAll1155 : isApprovedForAll721; const isApproved = await isNftApproved({ - contract: selectedContract, + contract: _selectedContract, operator: contract.address, owner: account.address, }); if (!isApproved) { const setNftApproval = - formData.selected.type === "ERC1155" + nftType === "ERC1155" ? setApprovalForAll1155 : setApprovalForAll721; const approveTx = setNftApproval({ - contract: selectedContract, + contract: _selectedContract, operator: contract.address, approved: true, }); @@ -256,10 +342,10 @@ export const CreateListingsForm: React.FC = ({ ); const transaction = createListing({ contract, - assetContractAddress: formData.selected.contractAddress, - tokenId: BigInt(formData.selected.id), + assetContractAddress: _selectedContract.address, + tokenId: selectedTokenId, currencyContractAddress: formData.currencyContractAddress, - quantity: BigInt(formData.quantity), + quantity: selectedQuantity, startTimestamp: formData.startTimestamp, pricePerToken: String(formData.pricePerToken), endTimestamp, @@ -305,18 +391,16 @@ export const CreateListingsForm: React.FC = ({ const transaction = createAuction({ contract, - assetContractAddress: formData.selected.contractAddress, - tokenId: BigInt(formData.selected.id), + assetContractAddress: _selectedContract.address, + tokenId: selectedTokenId, startTimestamp: formData.startTimestamp, currencyContractAddress: formData.currencyContractAddress, endTimestamp: new Date( new Date().getTime() + Number.parseInt(formData.listingDurationInSeconds) * 1000, ), - minimumBidAmountWei: - minimumBidAmountWei * BigInt(formData.quantity), - buyoutBidAmountWei: - buyoutBidAmountWei * BigInt(formData.quantity), + minimumBidAmountWei: minimumBidAmountWei * selectedQuantity, + buyoutBidAmountWei: buyoutBidAmountWei * selectedQuantity, }); const promise = sendAndConfirmTx.mutateAsync(transaction, { @@ -353,116 +437,138 @@ export const CreateListingsForm: React.FC = ({ setIsFormLoading(false); })} > - - Select NFT - - Select the NFT you want to list for sale - - {!isSupportedChain ? ( - -
- -

- This chain is not supported by our NFT API yet, please enter the - contract address of the NFT you want to list. -

-
- - Contract address - - - {form.formState.errors.selected?.contractAddress?.message} - - - This will display all the NFTs you own from this contract. - - -
- ) : null} - {isWalletNFTsLoading || - (isOwnedNFTsLoading && - !isSupportedChain && - form.watch("selected.contractAddress")) ? ( -
- -
- ) : nfts && nfts.length !== 0 ? ( - - {nfts?.map((nft) => { - return ( - -
    -
  • - Name: {nft.metadata?.name || "N/A"} -
  • -
  • - Contract Address:{" "} - {shortenIfAddress(nft.contractAddress)} -
  • -
  • - Token ID: {nft.id.toString()} -
  • -
  • - Token Standard: {nft.type} -
  • -
- - } + {mode === "manual" ? ( + <> + + + Manually enter the contract address and token ID of the NFT you + want to list for sale + + NFT Contract Address + + + + Token ID + + + + ) : ( + <> + + + Select the NFT you want to list for sale + + {!isSupportedChain ? ( + +
+ +

+ This chain is not supported by our NFT API yet, please enter + the contract address of the NFT you want to list. +

+
+ - - isSelected(nft) - ? form.setValue("selected", undefined) - : form.setValue("selected", nft) - } - outline={isSelected(nft) ? "3px solid" : undefined} - outlineColor={isSelected(nft) ? "purple.500" : undefined} - overflow="hidden" - > - - -
- ); - })} -
- ) : nfts && nfts.length === 0 ? ( -
- -

- There are no NFTs owned by this wallet. You need NFTs to create a - listing. You can create NFTs with thirdweb.{" "} - - Explore NFT contracts - - . -

-
- ) : null} -
- + Contract address + + + {form.formState.errors.selected?.contractAddress?.message} + + + This will display all the NFTs you own from this contract. + + + + ) : null} + {isWalletNFTsLoading || + (isOwnedNFTsLoading && + !isSupportedChain && + form.watch("selected.contractAddress")) ? ( +
+ +
+ ) : nfts && nfts.length !== 0 ? ( + + {nfts?.map((nft) => { + return ( + +
    +
  • + Name:{" "} + {nft.metadata?.name || "N/A"} +
  • +
  • + Contract Address:{" "} + {shortenIfAddress(nft.contractAddress)} +
  • +
  • + Token ID: {nft.id.toString()} +
  • +
  • + Token Standard: {nft.type} +
  • +
+ + } + > + + isSelected(nft) + ? form.setValue("selected", undefined) + : form.setValue("selected", nft) + } + outline={isSelected(nft) ? "3px solid" : undefined} + outlineColor={ + isSelected(nft) ? "purple.500" : undefined + } + overflow="hidden" + > + + +
+ ); + })} +
+ ) : nfts && nfts.length === 0 ? ( +
+ +

+ There are no NFTs owned by this wallet. You need NFTs to + create a listing. You can create NFTs with thirdweb.{" "} + + Explore NFT contracts + + . +

+
+ ) : null} + + + )} + + Listing Currency = ({ The currency you want to sell your tokens for. - + {form.watch("listingType") === "auction" ? "Buyout Price Per Token" @@ -489,7 +595,7 @@ export const CreateListingsForm: React.FC = ({ {form.watch("selected")?.type?.toLowerCase() !== "erc721" && ( - +
Quantity
@@ -501,7 +607,7 @@ export const CreateListingsForm: React.FC = ({ )} {form.watch("listingType") === "auction" && ( <> - + Reserve Price Per Token @@ -522,7 +628,7 @@ export const CreateListingsForm: React.FC = ({ )} - {!form.watch("selected.id") && ( + {mode === "automatic" && !form.watch("selected.id") && ( No NFT selected From f1cf2fad2b04bd5b7b08161e744c8b347f1b1d89 Mon Sep 17 00:00:00 2001 From: MananTank Date: Mon, 16 Dec 2024 16:59:51 +0000 Subject: [PATCH 09/10] Fix API key redirect URL schema on in-app wallet settings and unresponsive general project settings page (#5747) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Problem solved Fixes: DASH-629 --- ## PR-Codex overview This PR focuses on updating the validation schema and related components for project settings, particularly around custom authentication endpoints and redirect URIs. The changes enhance the form handling and validation logic in the dashboard. ### Detailed summary - Introduced `expandCustomAuthEndpointField` for conditional rendering of custom authentication endpoint fields. - Updated `checked` property of `GatedSwitch` to use the new variable. - Modified the placeholder of `Textarea` in `NativeAppsFieldset`. - Changed `UpdateAPIForm` type to use `ProjectSettingsPageFormSchema`. - Updated form initialization to use `projectSettingsPageFormSchema`. - Refined validation logic for redirect URIs, allowing specific formats. - Created a new `redirectUriSchema` for validating redirect URIs. - Updated `redirectUrls` validation to use the new schema. - Changed the exported validation type from `ApiKeyValidationSchema` to `ProjectSettingsPageFormSchema`. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` --- .../settings/ProjectGeneralSettingsPage.tsx | 12 ++-- .../embedded-wallets/Configure/index.tsx | 15 +++-- .../settings/ApiKeys/validations.ts | 65 ++++++++++++++----- 3 files changed, 64 insertions(+), 28 deletions(-) diff --git a/apps/dashboard/src/app/team/[team_slug]/[project_slug]/settings/ProjectGeneralSettingsPage.tsx b/apps/dashboard/src/app/team/[team_slug]/[project_slug]/settings/ProjectGeneralSettingsPage.tsx index 55211eb2fb0..86c8a961ee1 100644 --- a/apps/dashboard/src/app/team/[team_slug]/[project_slug]/settings/ProjectGeneralSettingsPage.tsx +++ b/apps/dashboard/src/app/team/[team_slug]/[project_slug]/settings/ProjectGeneralSettingsPage.tsx @@ -35,9 +35,9 @@ import { type FieldArrayWithId, useFieldArray } from "react-hook-form"; import { toast } from "sonner"; import { joinWithComma, toArrFromList } from "utils/string"; import { - type ApiKeyValidationSchema, HIDDEN_SERVICES, - apiKeyValidationSchema, + type ProjectSettingsPageFormSchema, + projectSettingsPageFormSchema, } from "../../../../../components/settings/ApiKeys/validations"; type EditProjectUIPaths = { @@ -86,7 +86,7 @@ interface EditApiKeyProps { showNebulaSettings: boolean; } -type UpdateAPIForm = UseFormReturn; +type UpdateAPIForm = UseFormReturn; export const ProjectGeneralSettingsPageUI: React.FC = ( props, @@ -94,8 +94,8 @@ export const ProjectGeneralSettingsPageUI: React.FC = ( const { apiKey, updateMutation, deleteMutation } = props; const trackEvent = useTrack(); const router = useDashboardRouter(); - const form = useForm({ - resolver: zodResolver(apiKeyValidationSchema), + const form = useForm({ + resolver: zodResolver(projectSettingsPageFormSchema), defaultValues: { name: apiKey.name, domains: joinWithComma(apiKey.domains), @@ -484,7 +484,7 @@ function EnabledServicesSetting(props: { }); const handleAction = ( srvIdx: number, - srv: FieldArrayWithId, + srv: FieldArrayWithId, actionName: string, checked: boolean, ) => { diff --git a/apps/dashboard/src/components/embedded-wallets/Configure/index.tsx b/apps/dashboard/src/components/embedded-wallets/Configure/index.tsx index 4fa6c060ccf..5f00301e239 100644 --- a/apps/dashboard/src/components/embedded-wallets/Configure/index.tsx +++ b/apps/dashboard/src/components/embedded-wallets/Configure/index.tsx @@ -422,6 +422,10 @@ function AuthEndpointFields(props: { name: "customAuthEndpoint.customHeaders", }); + const expandCustomAuthEndpointField = + form.watch("customAuthEndpoint")?.authEndpoint !== undefined && + canEditAdvancedFeatures; + return (
{ form.setValue( @@ -464,7 +466,7 @@ function AuthEndpointFields(props: { Allowed redirect URIs -