@moveindustries/wallet-adapter-react 7.3.1 → 7.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"WalletProvider.d.ts","sourceRoot":"","sources":["../src/WalletProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,UAAU,EAEV,aAAa,EAUb,UAAU,EAOX,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,EAAE,EAA4C,MAAM,OAAO,CAAC;AAGhF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC/C,WAAW,CAAC,EACR,OAAO,GACP,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC;AAcD,eAAO,MAAM,6BAA6B,EAAE,EAAE,CAAC,2BAA2B,CAuXzE,CAAC"}
1
+ {"version":3,"file":"WalletProvider.d.ts","sourceRoot":"","sources":["../src/WalletProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,UAAU,EAEV,aAAa,EAUb,UAAU,EAOX,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,EAAE,EAA4C,MAAM,OAAO,CAAC;AAGhF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC/C,WAAW,CAAC,EACR,OAAO,GACP,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC;AAcD,eAAO,MAAM,6BAA6B,EAAE,EAAE,CAAC,2BAA2B,CAoYzE,CAAC"}
package/dist/index.js CHANGED
@@ -283,6 +283,17 @@ var MovementWalletAdapterProvider = ({
283
283
  return Promise.reject(error);
284
284
  }
285
285
  });
286
+ const refetchMnsName = () => __async(null, null, function* () {
287
+ if (!walletCore) {
288
+ throw new Error("WalletCore is not initialized");
289
+ }
290
+ try {
291
+ yield walletCore.refetchMnsName();
292
+ } catch (error) {
293
+ if (onError) onError(error);
294
+ return Promise.reject(error);
295
+ }
296
+ });
286
297
  const handleConnect = () => {
287
298
  setState((state) => {
288
299
  return __spreadProps(__spreadValues({}, state), {
@@ -391,6 +402,7 @@ var MovementWalletAdapterProvider = ({
391
402
  signMessageAndVerify,
392
403
  changeNetwork,
393
404
  submitTransaction,
405
+ refetchMnsName,
394
406
  account,
395
407
  network,
396
408
  connected,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.tsx","../src/WalletProvider.tsx","../src/useWallet.tsx","../src/components/utils.tsx","../src/components/AboutMovementConnect.tsx","../src/components/AboutPetraWeb.tsx","../src/components/MovementPrivacyPolicy.tsx","../src/graphics/SmallMovementLogo.tsx","../src/components/WalletItem.tsx"],"sourcesContent":["export * from \"@moveindustries/wallet-adapter-core\";\nexport * from \"./WalletProvider\";\nexport * from \"./components/AboutMovementConnect\";\nexport * from \"./components/AboutPetraWeb\";\nexport * from \"./components/MovementPrivacyPolicy\";\nexport * from \"./components/WalletItem\";\nexport * from \"./useWallet\";\n","import {\n AvailableWallets,\n DappConfig,\n AccountInfo,\n AdapterWallet,\n NetworkInfo,\n InputTransactionData,\n MovementSignAndSubmitTransactionOutput,\n AnyRawTransaction,\n InputGenerateTransactionOptions,\n AccountAuthenticator,\n MovementSignMessageInput,\n MovementSignMessageOutput,\n AdapterNotDetectedWallet,\n WalletCore,\n Network,\n InputSubmitTransactionData,\n PendingTransactionResponse,\n WalletReadyState,\n MovementSignInInput,\n MovementSignInOutput,\n} from \"@moveindustries/wallet-adapter-core\";\nimport { ReactNode, FC, useState, useEffect, useCallback, useRef } from \"react\";\nimport { WalletContext } from \"./useWallet\";\n\nexport interface MovementWalletProviderProps {\n children: ReactNode;\n optInWallets?: ReadonlyArray<AvailableWallets>;\n autoConnect?:\n | boolean\n | ((core: WalletCore, adapter: AdapterWallet) => Promise<boolean>);\n dappConfig?: DappConfig;\n disableTelemetry?: boolean;\n onError?: (error: any) => void;\n}\n\nconst initialState: {\n account: AccountInfo | null;\n network: NetworkInfo | null;\n connected: boolean;\n wallet: AdapterWallet | null;\n} = {\n connected: false,\n account: null,\n network: null,\n wallet: null,\n};\n\nexport const MovementWalletAdapterProvider: FC<MovementWalletProviderProps> = ({\n children,\n optInWallets,\n autoConnect = false,\n dappConfig,\n disableTelemetry = false,\n onError,\n}: MovementWalletProviderProps) => {\n const didAttemptAutoConnectRef = useRef(false);\n\n const [{ account, network, connected, wallet }, setState] =\n useState(initialState);\n\n const [isLoading, setIsLoading] = useState<boolean>(true);\n const [walletCore, setWalletCore] = useState<WalletCore>();\n\n const [wallets, setWallets] = useState<ReadonlyArray<AdapterWallet>>([]);\n const [notDetectedWallets, setNotDetectedWallets] = useState<\n ReadonlyArray<AdapterNotDetectedWallet>\n >([]);\n // Initialize WalletCore on first load\n useEffect(() => {\n const walletCore = new WalletCore(\n optInWallets,\n dappConfig,\n disableTelemetry,\n );\n setWalletCore(walletCore);\n }, []);\n\n // Update initial Wallets state once WalletCore has been initialized\n useEffect(() => {\n setWallets(walletCore?.wallets ?? []);\n setNotDetectedWallets(walletCore?.notDetectedWallets ?? []);\n }, [walletCore]);\n\n useEffect(() => {\n // Only attempt to auto connect once per render and only if there are wallets\n if (didAttemptAutoConnectRef.current || !walletCore?.wallets.length) {\n return;\n }\n didAttemptAutoConnectRef.current = true;\n\n // If auto connect is not set or is false, ignore the attempt\n if (!autoConnect) {\n setIsLoading(false);\n return;\n }\n\n // Make sure the user has a previously connected wallet\n const walletName = localStorage.getItem(\"MovementWalletName\");\n if (!walletName) {\n setIsLoading(false);\n return;\n }\n\n // Make sure the wallet is installed\n const selectedWallet = walletCore.wallets.find(\n (e) => e.name === walletName,\n ) as AdapterWallet | undefined;\n if (\n !selectedWallet ||\n selectedWallet.readyState !== WalletReadyState.Installed\n ) {\n setIsLoading(false);\n return;\n }\n\n if (!connected) {\n (async () => {\n try {\n let shouldConnect = true;\n\n // Providing a function to autoConnect allows the dapp to determine\n // whether to attempt to connect to the wallet using the `signIn`\n // or `connect` method. If `signIn` is successful, the user can\n // return `false` and skip the `connect` method.\n if (typeof autoConnect === \"function\") {\n shouldConnect = await autoConnect(walletCore, selectedWallet);\n } else {\n shouldConnect = autoConnect;\n }\n\n if (shouldConnect) await connect(walletName);\n } catch (error) {\n if (onError) onError(error);\n return Promise.reject(error);\n } finally {\n setIsLoading(false);\n }\n })();\n } else {\n setIsLoading(false);\n }\n }, [autoConnect, wallets]);\n\n const connect = async (walletName: string): Promise<void> => {\n try {\n setIsLoading(true);\n await walletCore?.connect(walletName);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const signIn = async (args: {\n walletName: string;\n input: MovementSignInInput;\n }): Promise<MovementSignInOutput> => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n\n try {\n setIsLoading(true);\n return await walletCore?.signIn(args);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const disconnect = async (): Promise<void> => {\n try {\n await walletCore?.disconnect();\n } catch (error) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signAndSubmitTransaction = async (\n transaction: InputTransactionData,\n ): Promise<MovementSignAndSubmitTransactionOutput> => {\n try {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n return await walletCore.signAndSubmitTransaction(transaction);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signTransaction = async (args: {\n transactionOrPayload: AnyRawTransaction | InputTransactionData;\n asFeePayer?: boolean;\n options?: InputGenerateTransactionOptions & {\n expirationSecondsFromNow?: number;\n expirationTimestamp?: number;\n };\n }): Promise<{\n authenticator: AccountAuthenticator;\n rawTransaction: Uint8Array;\n }> => {\n const { transactionOrPayload, asFeePayer, options } = args;\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore.signTransaction({\n transactionOrPayload,\n asFeePayer,\n });\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const submitTransaction = async (\n transaction: InputSubmitTransactionData,\n ): Promise<PendingTransactionResponse> => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore?.submitTransaction(transaction);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signMessage = async (\n message: MovementSignMessageInput,\n ): Promise<MovementSignMessageOutput> => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore?.signMessage(message);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signMessageAndVerify = async (\n message: MovementSignMessageInput,\n ): Promise<boolean> => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore?.signMessageAndVerify(message);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const changeNetwork = async (network: Network) => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore?.changeNetwork(network);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n // Handle the adapter's connect event\n const handleConnect = (): void => {\n setState((state) => {\n return {\n ...state,\n connected: true,\n account: walletCore?.account || null,\n network: walletCore?.network || null,\n wallet: walletCore?.wallet || null,\n };\n });\n };\n\n // Handle the adapter's account change event\n const handleAccountChange = useCallback((): void => {\n if (!connected) return;\n if (!walletCore?.wallet) return;\n setState((state) => {\n return {\n ...state,\n account: walletCore?.account || null,\n };\n });\n }, [connected]);\n\n // Handle the adapter's network event\n const handleNetworkChange = useCallback((): void => {\n if (!connected) return;\n if (!walletCore?.wallet) return;\n setState((state) => {\n return {\n ...state,\n network: walletCore?.network || null,\n };\n });\n }, [connected]);\n\n useEffect(() => {\n if (connected) {\n walletCore?.onAccountChange();\n walletCore?.onNetworkChange();\n }\n }, [connected]);\n\n // Handle the adapter's disconnect event\n const handleDisconnect = (): void => {\n if (!connected) return;\n setState((state) => {\n return {\n ...state,\n connected: false,\n account: walletCore?.account || null,\n network: walletCore?.network || null,\n wallet: null,\n };\n });\n };\n\n const handleStandardWalletsAdded = (standardWallet: AdapterWallet): void => {\n // Manage current wallet state by removing optional duplications\n // as new wallets are coming\n const existingWalletIndex = wallets.findIndex(\n (wallet) => wallet.name == standardWallet.name,\n );\n if (existingWalletIndex !== -1) {\n // If wallet exists, replace it with the new wallet\n setWallets((wallets) => [\n ...wallets.slice(0, existingWalletIndex),\n standardWallet,\n ...wallets.slice(existingWalletIndex + 1),\n ]);\n } else {\n // If wallet doesn't exist, add it to the array\n setWallets((wallets) => [...wallets, standardWallet]);\n }\n };\n\n const handleStandardNotDetectedWalletsAdded = (\n notDetectedWallet: AdapterNotDetectedWallet,\n ): void => {\n // Manage current wallet state by removing optional duplications\n // as new wallets are coming\n const existingWalletIndex = wallets.findIndex(\n (wallet) => wallet.name == notDetectedWallet.name,\n );\n if (existingWalletIndex !== -1) {\n // If wallet exists, replace it with the new wallet\n setNotDetectedWallets((wallets) => [\n ...wallets.slice(0, existingWalletIndex),\n notDetectedWallet,\n ...wallets.slice(existingWalletIndex + 1),\n ]);\n } else {\n // If wallet doesn't exist, add it to the array\n setNotDetectedWallets((wallets) => [...wallets, notDetectedWallet]);\n }\n };\n\n useEffect(() => {\n walletCore?.on(\"connect\", handleConnect);\n walletCore?.on(\"accountChange\", handleAccountChange);\n walletCore?.on(\"networkChange\", handleNetworkChange);\n walletCore?.on(\"disconnect\", handleDisconnect);\n walletCore?.on(\"standardWalletsAdded\", handleStandardWalletsAdded);\n walletCore?.on(\n \"standardNotDetectedWalletAdded\",\n handleStandardNotDetectedWalletsAdded,\n );\n return () => {\n walletCore?.off(\"connect\", handleConnect);\n walletCore?.off(\"accountChange\", handleAccountChange);\n walletCore?.off(\"networkChange\", handleNetworkChange);\n walletCore?.off(\"disconnect\", handleDisconnect);\n walletCore?.off(\"standardWalletsAdded\", handleStandardWalletsAdded);\n walletCore?.off(\n \"standardNotDetectedWalletAdded\",\n handleStandardNotDetectedWalletsAdded,\n );\n };\n }, [wallets, account]);\n\n return (\n <WalletContext.Provider\n value={{\n connect,\n signIn,\n disconnect,\n signAndSubmitTransaction,\n signTransaction,\n signMessage,\n signMessageAndVerify,\n changeNetwork,\n submitTransaction,\n account,\n network,\n connected,\n wallet,\n wallets,\n notDetectedWallets,\n isLoading,\n }}\n >\n {children}\n </WalletContext.Provider>\n );\n};\n","import { useContext, createContext } from \"react\";\nimport {\n AccountAuthenticator,\n AccountInfo,\n AdapterWallet,\n AnyRawTransaction,\n MovementSignAndSubmitTransactionOutput,\n InputTransactionData,\n NetworkInfo,\n MovementSignMessageInput,\n MovementSignMessageOutput,\n AdapterNotDetectedWallet,\n Network,\n MovementChangeNetworkOutput,\n PendingTransactionResponse,\n InputSubmitTransactionData,\n MovementSignInInput,\n MovementSignInOutput,\n} from \"@moveindustries/wallet-adapter-core\";\n\nexport interface WalletContextState {\n connected: boolean;\n isLoading: boolean;\n account: AccountInfo | null;\n network: NetworkInfo | null;\n connect(walletName: string): void;\n signIn(args: {\n walletName: string;\n input: MovementSignInInput;\n }): Promise<MovementSignInOutput | void>;\n signAndSubmitTransaction(\n transaction: InputTransactionData,\n ): Promise<MovementSignAndSubmitTransactionOutput>;\n signTransaction(args: {\n transactionOrPayload: AnyRawTransaction | InputTransactionData;\n asFeePayer?: boolean;\n }): Promise<{\n authenticator: AccountAuthenticator;\n rawTransaction: Uint8Array;\n }>;\n signMessage(message: MovementSignMessageInput): Promise<MovementSignMessageOutput>;\n signMessageAndVerify(message: MovementSignMessageInput): Promise<boolean>;\n disconnect(): void;\n changeNetwork(network: Network): Promise<MovementChangeNetworkOutput>;\n submitTransaction(\n transaction: InputSubmitTransactionData,\n ): Promise<PendingTransactionResponse>;\n wallet: AdapterWallet | null;\n wallets: ReadonlyArray<AdapterWallet>;\n notDetectedWallets: ReadonlyArray<AdapterNotDetectedWallet>;\n}\n\nconst DEFAULT_CONTEXT = {\n connected: false,\n};\n\nexport const WalletContext = createContext<WalletContextState>(\n DEFAULT_CONTEXT as WalletContextState,\n);\n\nexport function useWallet(): WalletContextState {\n const context = useContext(WalletContext);\n if (!context) {\n throw new Error(\"useWallet must be used within a WalletContextState\");\n }\n return context;\n}\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { ReactNode, cloneElement, forwardRef, isValidElement } from \"react\";\n\nexport interface HeadlessComponentProps {\n /** A class name for styling the element. */\n className?: string;\n /**\n * Whether to render as the child element instead of the default element provided.\n * All props will be merged into the child element.\n */\n asChild?: boolean;\n children?: ReactNode;\n}\n\n/**\n * Gets an HTML element type from its tag name\n * @example\n * HTMLElementFromTag<\"img\"> // resolved type: HTMLImageElement\n */\ntype HTMLElementFromTag<T extends keyof JSX.IntrinsicElements> =\n JSX.IntrinsicElements[T] extends React.ClassAttributes<infer Element>\n ? Element\n : HTMLElement;\n\nexport function createHeadlessComponent<\n TElement extends keyof JSX.IntrinsicElements,\n>(\n displayName: string,\n elementType: TElement,\n props?:\n | JSX.IntrinsicElements[TElement]\n | ((displayName: string) => JSX.IntrinsicElements[TElement]),\n) {\n const component = forwardRef<\n HTMLElementFromTag<TElement>,\n HeadlessComponentProps\n >(({ className, asChild, children }, ref) => {\n const Component = asChild ? Slot : elementType;\n\n const { children: defaultChildren, ...resolvedProps } =\n typeof props === \"function\" ? props(displayName) : (props ?? {});\n const resolvedChildren =\n /**\n * Use props' default children if no children are set in the component element's children and when asChild is true.\n */\n asChild && isValidElement(children) && !children.props.children\n ? cloneElement(children, {}, defaultChildren)\n : (children ?? defaultChildren);\n\n return (\n /**\n * Due to the complexity of the types at play, TypeScript reports the\n * following error for our JSX below:\n *\n * `Expression produces a union type that is too complex to represent.`\n *\n * We can safely ignore this error and retain accurate return types for\n * consumers of this function. The only drawback is that type-checking is\n * ignored for the JSX block below.\n */\n // @ts-expect-error\n <Component ref={ref} className={className} {...resolvedProps}>\n {resolvedChildren}\n </Component>\n );\n });\n component.displayName = displayName;\n\n return component;\n}\n","// TODO: Re-enable when Movement supports social sign-in (Movement Connect)\n// This is a stub component that just renders children - social sign-in education screens are disabled\n\nimport {\n ForwardRefExoticComponent,\n ReactNode,\n RefAttributes,\n SVGProps,\n} from \"react\";\nimport { HeadlessComponentProps, createHeadlessComponent } from \"./utils\";\n\n/** @deprecated Use AboutPetraWeb instead. Social sign-in disabled. */\nexport interface AboutMovementConnectEducationScreen {\n Graphic: ForwardRefExoticComponent<\n Omit<SVGProps<SVGSVGElement>, \"ref\"> & RefAttributes<SVGSVGElement>\n >;\n Title: ForwardRefExoticComponent<\n HeadlessComponentProps & RefAttributes<HTMLHeadingElement>\n >;\n Description: ForwardRefExoticComponent<\n HeadlessComponentProps & RefAttributes<HTMLParagraphElement>\n >;\n screenIndex: number;\n totalScreens: number;\n screenIndicators: ForwardRefExoticComponent<HeadlessComponentProps & RefAttributes<HTMLButtonElement>>[];\n back: () => void;\n next: () => void;\n cancel: () => void;\n}\n\n/** @deprecated Use AboutPetraWebProps instead. Social sign-in disabled. */\nexport interface AboutMovementConnectProps {\n renderEducationScreen: (screen: AboutMovementConnectEducationScreen) => ReactNode;\n children?: ReactNode;\n}\n\n/**\n * @deprecated Social sign-in disabled - this component just renders children without any education screens\n */\nconst Root = ({ children }: AboutMovementConnectProps) => {\n return <>{children}</>;\n};\nRoot.displayName = \"AboutMovementConnect\";\n\nconst Trigger = createHeadlessComponent(\n \"AboutMovementConnect.Trigger\",\n \"button\",\n () => ({\n // No-op since social sign-in is disabled\n onClick: () => {},\n style: { display: \"none\" },\n }),\n);\n\n/**\n * @deprecated Social sign-in disabled - this component just renders children\n */\nexport const AboutMovementConnect = Object.assign(Root, {\n Trigger,\n});\n","// TODO: Re-enable when Movement supports social sign-in (Petra Web)\n// This is a stub component that just renders children - social sign-in education screens are disabled\n\nimport {\n ForwardRefExoticComponent,\n ReactNode,\n RefAttributes,\n SVGProps,\n} from \"react\";\nimport { HeadlessComponentProps, createHeadlessComponent } from \"./utils\";\n\n/** @deprecated Social sign-in disabled */\nexport const EXPLORE_ECOSYSTEM_URL = \"https://movementlabs.xyz/ecosystem\";\n\n/** @deprecated Social sign-in disabled */\nexport interface AboutPetraWebEducationScreen {\n Graphic: ForwardRefExoticComponent<\n Omit<SVGProps<SVGSVGElement>, \"ref\"> & RefAttributes<SVGSVGElement>\n >;\n Title: ForwardRefExoticComponent<\n HeadlessComponentProps & RefAttributes<HTMLHeadingElement>\n >;\n Description: ForwardRefExoticComponent<\n HeadlessComponentProps & RefAttributes<HTMLParagraphElement>\n >;\n screenIndex: number;\n totalScreens: number;\n screenIndicators: ForwardRefExoticComponent<HeadlessComponentProps & RefAttributes<HTMLButtonElement>>[];\n back: () => void;\n next: () => void;\n cancel: () => void;\n}\n\n/** @deprecated Social sign-in disabled */\nexport interface AboutPetraWebProps {\n renderEducationScreen: (screen: AboutPetraWebEducationScreen) => ReactNode;\n children?: ReactNode;\n}\n\n/**\n * @deprecated Social sign-in disabled - this component just renders children without any education screens\n */\nconst Root = ({ children }: AboutPetraWebProps) => {\n return <>{children}</>;\n};\nRoot.displayName = \"AboutPetraWeb\";\n\nconst Trigger = createHeadlessComponent(\n \"AboutPetraWeb.Trigger\",\n \"button\",\n () => ({\n // No-op since social sign-in is disabled\n onClick: () => {},\n style: { display: \"none\" },\n }),\n);\n\n/**\n * @deprecated Social sign-in disabled - this component just renders children\n */\nexport const AboutPetraWeb = Object.assign(Root, {\n Trigger,\n});\n","import { forwardRef } from \"react\";\nimport { SmallMovementLogo } from \"../graphics/SmallMovementLogo\";\nimport { HeadlessComponentProps, createHeadlessComponent } from \"./utils\";\n\nexport const MOVEMENT_PRIVACY_POLICY_URL = \"https://movementlabs.xyz/privacy\";\n\nconst Root = createHeadlessComponent(\"MovementPrivacyPolicy.Root\", \"div\");\n\nconst Disclaimer = createHeadlessComponent(\n \"MovementPrivacyPolicy.Disclaimer\",\n \"span\",\n { children: \"By continuing, you agree to Movement Labs'\" },\n);\n\nconst Link = createHeadlessComponent(\"MovementPrivacyPolicy.Disclaimer\", \"a\", {\n href: MOVEMENT_PRIVACY_POLICY_URL,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: \"Privacy Policy\",\n});\n\nconst PoweredBy = forwardRef<\n HTMLDivElement,\n Pick<HeadlessComponentProps, \"className\">\n>(({ className }, ref) => {\n return (\n <div ref={ref} className={className}>\n <span>Powered by</span>\n <SmallMovementLogo />\n <span>Movement Labs</span>\n </div>\n );\n});\nPoweredBy.displayName = \"MovementPrivacyPolicy.PoweredBy\";\n\n/**\n * A headless component for rendering the Movement Labs privacy policy disclaimer\n * that should be placed under the Petra Web login options.\n */\nexport const MovementPrivacyPolicy = Object.assign(Root, {\n Disclaimer,\n Link,\n PoweredBy,\n});\n","import { SVGProps, forwardRef } from \"react\";\n\nexport const SmallMovementLogo = forwardRef<\n SVGSVGElement,\n SVGProps<SVGSVGElement>\n>((props, ref) => {\n return (\n <svg\n ref={ref}\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6 12C9.31371 12 12 9.31371 12 6C12 2.68629 9.31371 0 6 0C2.68629 0 0 2.68629 0 6C0 9.31371 2.68629 12 6 12ZM7.17547 3.67976C7.13401 3.72309 7.07649 3.74757 7.01648 3.74757H3.00775C3.69185 2.83824 4.77995 2.25 6.00569 2.25C7.23142 2.25 8.31953 2.83824 9.00362 3.74757H8.28524C8.20824 3.74757 8.13498 3.71468 8.08401 3.65701L7.81608 3.35416C7.77618 3.30896 7.71882 3.28308 7.6585 3.28308H7.6454C7.58805 3.28308 7.53318 3.30646 7.49343 3.34792L7.17547 3.67976ZM8.05656 4.75897H7.39569C7.31869 4.75897 7.24543 4.72593 7.19447 4.66842L6.92638 4.36557C6.88647 4.32036 6.82896 4.29465 6.7688 4.29465C6.70863 4.29465 6.65112 4.32052 6.61121 4.36557L6.38131 4.6254C6.30603 4.71034 6.19801 4.75913 6.08454 4.75913H2.46703C2.36401 5.05278 2.29683 5.36296 2.27002 5.68467H5.68505C5.74506 5.68467 5.80258 5.66019 5.84404 5.61686L6.16201 5.28502C6.20175 5.24356 6.25662 5.22018 6.31398 5.22018H6.32707C6.38739 5.22018 6.44475 5.24606 6.48465 5.29126L6.75258 5.59411C6.80355 5.65178 6.87681 5.68467 6.95381 5.68467H9.74133C9.71452 5.3628 9.64734 5.05263 9.54431 4.75913H8.05641L8.05656 4.75897ZM4.33651 7.63095C4.39652 7.63095 4.45404 7.60648 4.4955 7.56315L4.81347 7.23131C4.85321 7.18985 4.90808 7.16647 4.96544 7.16647H4.97853C5.03885 7.16647 5.09621 7.19234 5.13611 7.23739L5.40404 7.54024C5.45501 7.59791 5.52827 7.6308 5.60527 7.6308H9.38285C9.52438 7.33839 9.62803 7.02463 9.68975 6.69591H6.06383C5.98683 6.69591 5.91357 6.66287 5.8626 6.60535L5.59467 6.3025C5.55477 6.2573 5.49725 6.23158 5.43709 6.23158C5.37692 6.23158 5.31941 6.25746 5.27951 6.3025L5.0496 6.56233C4.97432 6.64728 4.86631 6.69606 4.75268 6.69606H2.32147C2.3832 7.02479 2.487 7.33855 2.62837 7.63095H4.33651ZM5.57359 8.55745H4.59116C4.51417 8.55745 4.44091 8.52441 4.38994 8.46689L4.12201 8.16404C4.0821 8.11884 4.02459 8.09312 3.96442 8.09312C3.90426 8.09312 3.84675 8.119 3.80684 8.16404L3.57694 8.42387C3.50166 8.50882 3.39364 8.55761 3.28001 8.55761H3.26474C3.94915 9.29096 4.92378 9.74998 6.00596 9.74998C7.08815 9.74998 8.06262 9.29096 8.74719 8.55761H5.57359V8.55745Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n});\nSmallMovementLogo.displayName = \"SmallMovementLogo\";\n","import {\n AdapterNotDetectedWallet,\n AdapterWallet,\n WalletReadyState,\n isRedirectable,\n} from \"@moveindustries/wallet-adapter-core\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { createContext, forwardRef, useCallback, useContext } from \"react\";\nimport { useWallet } from \"../useWallet\";\nimport { HeadlessComponentProps, createHeadlessComponent } from \"./utils\";\n\nexport interface WalletItemProps extends HeadlessComponentProps {\n /** The wallet option to be displayed. */\n wallet: AdapterWallet | AdapterNotDetectedWallet;\n /** A callback to be invoked when the wallet is connected. */\n onConnect?: () => void;\n}\n\nfunction useWalletItemContext(displayName: string) {\n const context = useContext(WalletItemContext);\n\n if (!context) {\n throw new Error(`\\`${displayName}\\` must be used within \\`WalletItem\\``);\n }\n\n return context;\n}\n\nconst WalletItemContext = createContext<{\n wallet: AdapterWallet | AdapterNotDetectedWallet;\n connectWallet: () => void;\n} | null>(null);\n\nconst Root = forwardRef<HTMLDivElement, WalletItemProps>(\n ({ wallet, onConnect, className, asChild, children }, ref) => {\n const { connect } = useWallet();\n\n const connectWallet = useCallback(() => {\n connect(wallet.name);\n onConnect?.();\n }, [connect, wallet.name, onConnect]);\n\n const isWalletReady = wallet.readyState === WalletReadyState.Installed;\n\n const mobileSupport =\n \"deeplinkProvider\" in wallet && wallet.deeplinkProvider;\n\n if (!isWalletReady && isRedirectable() && !mobileSupport) return null;\n\n const Component = asChild ? Slot : \"div\";\n\n return (\n <WalletItemContext.Provider value={{ wallet, connectWallet }}>\n <Component ref={ref} className={className}>\n {children}\n </Component>\n </WalletItemContext.Provider>\n );\n },\n);\nRoot.displayName = \"WalletItem\";\n\nconst Icon = createHeadlessComponent(\n \"WalletItem.Icon\",\n \"img\",\n (displayName) => {\n const context = useWalletItemContext(displayName);\n\n return {\n src: context.wallet.icon,\n alt: `${context.wallet.name} icon`,\n };\n },\n);\n\nconst Name = createHeadlessComponent(\n \"WalletItem.Name\",\n \"div\",\n (displayName) => {\n const context = useWalletItemContext(displayName);\n\n return {\n children: context.wallet.name,\n };\n },\n);\n\nconst ConnectButton = createHeadlessComponent(\n \"WalletItem.ConnectButton\",\n \"button\",\n (displayName) => {\n const context = useWalletItemContext(displayName);\n\n return {\n onClick: context.connectWallet,\n children: \"Connect\",\n };\n },\n);\n\nconst InstallLink = createHeadlessComponent(\n \"WalletItem.InstallLink\",\n \"a\",\n (displayName) => {\n const context = useWalletItemContext(displayName);\n\n return {\n href: context.wallet.url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: \"Install\",\n };\n },\n);\n\n/** A headless component for rendering a wallet option's name, icon, and either connect button or install link. */\nexport const WalletItem = Object.assign(Root, {\n Icon,\n Name,\n ConnectButton,\n InstallLink,\n});\n"],"mappings":"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","names":["import_react","walletCore","network","wallet","wallets","import_react","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","Root","Trigger","import_react","import_react","import_jsx_runtime","import_jsx_runtime","Root","import_wallet_adapter_core","import_react_slot","import_react","import_jsx_runtime","Root"]}
1
+ {"version":3,"sources":["../src/index.tsx","../src/WalletProvider.tsx","../src/useWallet.tsx","../src/components/utils.tsx","../src/components/AboutMovementConnect.tsx","../src/components/AboutPetraWeb.tsx","../src/components/MovementPrivacyPolicy.tsx","../src/graphics/SmallMovementLogo.tsx","../src/components/WalletItem.tsx"],"sourcesContent":["export * from \"@moveindustries/wallet-adapter-core\";\nexport * from \"./WalletProvider\";\nexport * from \"./components/AboutMovementConnect\";\nexport * from \"./components/AboutPetraWeb\";\nexport * from \"./components/MovementPrivacyPolicy\";\nexport * from \"./components/WalletItem\";\nexport * from \"./useWallet\";\n","import {\n AvailableWallets,\n DappConfig,\n AccountInfo,\n AdapterWallet,\n NetworkInfo,\n InputTransactionData,\n MovementSignAndSubmitTransactionOutput,\n AnyRawTransaction,\n InputGenerateTransactionOptions,\n AccountAuthenticator,\n MovementSignMessageInput,\n MovementSignMessageOutput,\n AdapterNotDetectedWallet,\n WalletCore,\n Network,\n InputSubmitTransactionData,\n PendingTransactionResponse,\n WalletReadyState,\n MovementSignInInput,\n MovementSignInOutput,\n} from \"@moveindustries/wallet-adapter-core\";\nimport { ReactNode, FC, useState, useEffect, useCallback, useRef } from \"react\";\nimport { WalletContext } from \"./useWallet\";\n\nexport interface MovementWalletProviderProps {\n children: ReactNode;\n optInWallets?: ReadonlyArray<AvailableWallets>;\n autoConnect?:\n | boolean\n | ((core: WalletCore, adapter: AdapterWallet) => Promise<boolean>);\n dappConfig?: DappConfig;\n disableTelemetry?: boolean;\n onError?: (error: any) => void;\n}\n\nconst initialState: {\n account: AccountInfo | null;\n network: NetworkInfo | null;\n connected: boolean;\n wallet: AdapterWallet | null;\n} = {\n connected: false,\n account: null,\n network: null,\n wallet: null,\n};\n\nexport const MovementWalletAdapterProvider: FC<MovementWalletProviderProps> = ({\n children,\n optInWallets,\n autoConnect = false,\n dappConfig,\n disableTelemetry = false,\n onError,\n}: MovementWalletProviderProps) => {\n const didAttemptAutoConnectRef = useRef(false);\n\n const [{ account, network, connected, wallet }, setState] =\n useState(initialState);\n\n const [isLoading, setIsLoading] = useState<boolean>(true);\n const [walletCore, setWalletCore] = useState<WalletCore>();\n\n const [wallets, setWallets] = useState<ReadonlyArray<AdapterWallet>>([]);\n const [notDetectedWallets, setNotDetectedWallets] = useState<\n ReadonlyArray<AdapterNotDetectedWallet>\n >([]);\n // Initialize WalletCore on first load\n useEffect(() => {\n const walletCore = new WalletCore(\n optInWallets,\n dappConfig,\n disableTelemetry,\n );\n setWalletCore(walletCore);\n }, []);\n\n // Update initial Wallets state once WalletCore has been initialized\n useEffect(() => {\n setWallets(walletCore?.wallets ?? []);\n setNotDetectedWallets(walletCore?.notDetectedWallets ?? []);\n }, [walletCore]);\n\n useEffect(() => {\n // Only attempt to auto connect once per render and only if there are wallets\n if (didAttemptAutoConnectRef.current || !walletCore?.wallets.length) {\n return;\n }\n didAttemptAutoConnectRef.current = true;\n\n // If auto connect is not set or is false, ignore the attempt\n if (!autoConnect) {\n setIsLoading(false);\n return;\n }\n\n // Make sure the user has a previously connected wallet\n const walletName = localStorage.getItem(\"MovementWalletName\");\n if (!walletName) {\n setIsLoading(false);\n return;\n }\n\n // Make sure the wallet is installed\n const selectedWallet = walletCore.wallets.find(\n (e) => e.name === walletName,\n ) as AdapterWallet | undefined;\n if (\n !selectedWallet ||\n selectedWallet.readyState !== WalletReadyState.Installed\n ) {\n setIsLoading(false);\n return;\n }\n\n if (!connected) {\n (async () => {\n try {\n let shouldConnect = true;\n\n // Providing a function to autoConnect allows the dapp to determine\n // whether to attempt to connect to the wallet using the `signIn`\n // or `connect` method. If `signIn` is successful, the user can\n // return `false` and skip the `connect` method.\n if (typeof autoConnect === \"function\") {\n shouldConnect = await autoConnect(walletCore, selectedWallet);\n } else {\n shouldConnect = autoConnect;\n }\n\n if (shouldConnect) await connect(walletName);\n } catch (error) {\n if (onError) onError(error);\n return Promise.reject(error);\n } finally {\n setIsLoading(false);\n }\n })();\n } else {\n setIsLoading(false);\n }\n }, [autoConnect, wallets]);\n\n const connect = async (walletName: string): Promise<void> => {\n try {\n setIsLoading(true);\n await walletCore?.connect(walletName);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const signIn = async (args: {\n walletName: string;\n input: MovementSignInInput;\n }): Promise<MovementSignInOutput> => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n\n try {\n setIsLoading(true);\n return await walletCore?.signIn(args);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const disconnect = async (): Promise<void> => {\n try {\n await walletCore?.disconnect();\n } catch (error) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signAndSubmitTransaction = async (\n transaction: InputTransactionData,\n ): Promise<MovementSignAndSubmitTransactionOutput> => {\n try {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n return await walletCore.signAndSubmitTransaction(transaction);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signTransaction = async (args: {\n transactionOrPayload: AnyRawTransaction | InputTransactionData;\n asFeePayer?: boolean;\n options?: InputGenerateTransactionOptions & {\n expirationSecondsFromNow?: number;\n expirationTimestamp?: number;\n };\n }): Promise<{\n authenticator: AccountAuthenticator;\n rawTransaction: Uint8Array;\n }> => {\n const { transactionOrPayload, asFeePayer, options } = args;\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore.signTransaction({\n transactionOrPayload,\n asFeePayer,\n });\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const submitTransaction = async (\n transaction: InputSubmitTransactionData,\n ): Promise<PendingTransactionResponse> => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore?.submitTransaction(transaction);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signMessage = async (\n message: MovementSignMessageInput,\n ): Promise<MovementSignMessageOutput> => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore?.signMessage(message);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signMessageAndVerify = async (\n message: MovementSignMessageInput,\n ): Promise<boolean> => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore?.signMessageAndVerify(message);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const changeNetwork = async (network: Network) => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore?.changeNetwork(network);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const refetchMnsName = async (): Promise<void> => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n await walletCore.refetchMnsName();\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n // Handle the adapter's connect event\n const handleConnect = (): void => {\n setState((state) => {\n return {\n ...state,\n connected: true,\n account: walletCore?.account || null,\n network: walletCore?.network || null,\n wallet: walletCore?.wallet || null,\n };\n });\n };\n\n // Handle the adapter's account change event\n const handleAccountChange = useCallback((): void => {\n if (!connected) return;\n if (!walletCore?.wallet) return;\n setState((state) => {\n return {\n ...state,\n account: walletCore?.account || null,\n };\n });\n }, [connected]);\n\n // Handle the adapter's network event\n const handleNetworkChange = useCallback((): void => {\n if (!connected) return;\n if (!walletCore?.wallet) return;\n setState((state) => {\n return {\n ...state,\n network: walletCore?.network || null,\n };\n });\n }, [connected]);\n\n useEffect(() => {\n if (connected) {\n walletCore?.onAccountChange();\n walletCore?.onNetworkChange();\n }\n }, [connected]);\n\n // Handle the adapter's disconnect event\n const handleDisconnect = (): void => {\n if (!connected) return;\n setState((state) => {\n return {\n ...state,\n connected: false,\n account: walletCore?.account || null,\n network: walletCore?.network || null,\n wallet: null,\n };\n });\n };\n\n const handleStandardWalletsAdded = (standardWallet: AdapterWallet): void => {\n // Manage current wallet state by removing optional duplications\n // as new wallets are coming\n const existingWalletIndex = wallets.findIndex(\n (wallet) => wallet.name == standardWallet.name,\n );\n if (existingWalletIndex !== -1) {\n // If wallet exists, replace it with the new wallet\n setWallets((wallets) => [\n ...wallets.slice(0, existingWalletIndex),\n standardWallet,\n ...wallets.slice(existingWalletIndex + 1),\n ]);\n } else {\n // If wallet doesn't exist, add it to the array\n setWallets((wallets) => [...wallets, standardWallet]);\n }\n };\n\n const handleStandardNotDetectedWalletsAdded = (\n notDetectedWallet: AdapterNotDetectedWallet,\n ): void => {\n // Manage current wallet state by removing optional duplications\n // as new wallets are coming\n const existingWalletIndex = wallets.findIndex(\n (wallet) => wallet.name == notDetectedWallet.name,\n );\n if (existingWalletIndex !== -1) {\n // If wallet exists, replace it with the new wallet\n setNotDetectedWallets((wallets) => [\n ...wallets.slice(0, existingWalletIndex),\n notDetectedWallet,\n ...wallets.slice(existingWalletIndex + 1),\n ]);\n } else {\n // If wallet doesn't exist, add it to the array\n setNotDetectedWallets((wallets) => [...wallets, notDetectedWallet]);\n }\n };\n\n useEffect(() => {\n walletCore?.on(\"connect\", handleConnect);\n walletCore?.on(\"accountChange\", handleAccountChange);\n walletCore?.on(\"networkChange\", handleNetworkChange);\n walletCore?.on(\"disconnect\", handleDisconnect);\n walletCore?.on(\"standardWalletsAdded\", handleStandardWalletsAdded);\n walletCore?.on(\n \"standardNotDetectedWalletAdded\",\n handleStandardNotDetectedWalletsAdded,\n );\n return () => {\n walletCore?.off(\"connect\", handleConnect);\n walletCore?.off(\"accountChange\", handleAccountChange);\n walletCore?.off(\"networkChange\", handleNetworkChange);\n walletCore?.off(\"disconnect\", handleDisconnect);\n walletCore?.off(\"standardWalletsAdded\", handleStandardWalletsAdded);\n walletCore?.off(\n \"standardNotDetectedWalletAdded\",\n handleStandardNotDetectedWalletsAdded,\n );\n };\n }, [wallets, account]);\n\n return (\n <WalletContext.Provider\n value={{\n connect,\n signIn,\n disconnect,\n signAndSubmitTransaction,\n signTransaction,\n signMessage,\n signMessageAndVerify,\n changeNetwork,\n submitTransaction,\n refetchMnsName,\n account,\n network,\n connected,\n wallet,\n wallets,\n notDetectedWallets,\n isLoading,\n }}\n >\n {children}\n </WalletContext.Provider>\n );\n};\n","import { useContext, createContext } from \"react\";\nimport {\n AccountAuthenticator,\n AccountInfo,\n AdapterWallet,\n AnyRawTransaction,\n MovementSignAndSubmitTransactionOutput,\n InputTransactionData,\n NetworkInfo,\n MovementSignMessageInput,\n MovementSignMessageOutput,\n AdapterNotDetectedWallet,\n Network,\n MovementChangeNetworkOutput,\n PendingTransactionResponse,\n InputSubmitTransactionData,\n MovementSignInInput,\n MovementSignInOutput,\n} from \"@moveindustries/wallet-adapter-core\";\n\nexport interface WalletContextState {\n connected: boolean;\n isLoading: boolean;\n account: AccountInfo | null;\n network: NetworkInfo | null;\n connect(walletName: string): void;\n signIn(args: {\n walletName: string;\n input: MovementSignInInput;\n }): Promise<MovementSignInOutput | void>;\n signAndSubmitTransaction(\n transaction: InputTransactionData,\n ): Promise<MovementSignAndSubmitTransactionOutput>;\n signTransaction(args: {\n transactionOrPayload: AnyRawTransaction | InputTransactionData;\n asFeePayer?: boolean;\n }): Promise<{\n authenticator: AccountAuthenticator;\n rawTransaction: Uint8Array;\n }>;\n signMessage(message: MovementSignMessageInput): Promise<MovementSignMessageOutput>;\n signMessageAndVerify(message: MovementSignMessageInput): Promise<boolean>;\n disconnect(): void;\n changeNetwork(network: Network): Promise<MovementChangeNetworkOutput>;\n submitTransaction(\n transaction: InputSubmitTransactionData,\n ): Promise<PendingTransactionResponse>;\n refetchMnsName(): Promise<void>;\n wallet: AdapterWallet | null;\n wallets: ReadonlyArray<AdapterWallet>;\n notDetectedWallets: ReadonlyArray<AdapterNotDetectedWallet>;\n}\n\nconst DEFAULT_CONTEXT = {\n connected: false,\n};\n\nexport const WalletContext = createContext<WalletContextState>(\n DEFAULT_CONTEXT as WalletContextState,\n);\n\nexport function useWallet(): WalletContextState {\n const context = useContext(WalletContext);\n if (!context) {\n throw new Error(\"useWallet must be used within a WalletContextState\");\n }\n return context;\n}\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { ReactNode, cloneElement, forwardRef, isValidElement } from \"react\";\n\nexport interface HeadlessComponentProps {\n /** A class name for styling the element. */\n className?: string;\n /**\n * Whether to render as the child element instead of the default element provided.\n * All props will be merged into the child element.\n */\n asChild?: boolean;\n children?: ReactNode;\n}\n\n/**\n * Gets an HTML element type from its tag name\n * @example\n * HTMLElementFromTag<\"img\"> // resolved type: HTMLImageElement\n */\ntype HTMLElementFromTag<T extends keyof JSX.IntrinsicElements> =\n JSX.IntrinsicElements[T] extends React.ClassAttributes<infer Element>\n ? Element\n : HTMLElement;\n\nexport function createHeadlessComponent<\n TElement extends keyof JSX.IntrinsicElements,\n>(\n displayName: string,\n elementType: TElement,\n props?:\n | JSX.IntrinsicElements[TElement]\n | ((displayName: string) => JSX.IntrinsicElements[TElement]),\n) {\n const component = forwardRef<\n HTMLElementFromTag<TElement>,\n HeadlessComponentProps\n >(({ className, asChild, children }, ref) => {\n const Component = asChild ? Slot : elementType;\n\n const { children: defaultChildren, ...resolvedProps } =\n typeof props === \"function\" ? props(displayName) : (props ?? {});\n const resolvedChildren =\n /**\n * Use props' default children if no children are set in the component element's children and when asChild is true.\n */\n asChild && isValidElement(children) && !children.props.children\n ? cloneElement(children, {}, defaultChildren)\n : (children ?? defaultChildren);\n\n return (\n /**\n * Due to the complexity of the types at play, TypeScript reports the\n * following error for our JSX below:\n *\n * `Expression produces a union type that is too complex to represent.`\n *\n * We can safely ignore this error and retain accurate return types for\n * consumers of this function. The only drawback is that type-checking is\n * ignored for the JSX block below.\n */\n // @ts-expect-error\n <Component ref={ref} className={className} {...resolvedProps}>\n {resolvedChildren}\n </Component>\n );\n });\n component.displayName = displayName;\n\n return component;\n}\n","// TODO: Re-enable when Movement supports social sign-in (Movement Connect)\n// This is a stub component that just renders children - social sign-in education screens are disabled\n\nimport {\n ForwardRefExoticComponent,\n ReactNode,\n RefAttributes,\n SVGProps,\n} from \"react\";\nimport { HeadlessComponentProps, createHeadlessComponent } from \"./utils\";\n\n/** @deprecated Use AboutPetraWeb instead. Social sign-in disabled. */\nexport interface AboutMovementConnectEducationScreen {\n Graphic: ForwardRefExoticComponent<\n Omit<SVGProps<SVGSVGElement>, \"ref\"> & RefAttributes<SVGSVGElement>\n >;\n Title: ForwardRefExoticComponent<\n HeadlessComponentProps & RefAttributes<HTMLHeadingElement>\n >;\n Description: ForwardRefExoticComponent<\n HeadlessComponentProps & RefAttributes<HTMLParagraphElement>\n >;\n screenIndex: number;\n totalScreens: number;\n screenIndicators: ForwardRefExoticComponent<HeadlessComponentProps & RefAttributes<HTMLButtonElement>>[];\n back: () => void;\n next: () => void;\n cancel: () => void;\n}\n\n/** @deprecated Use AboutPetraWebProps instead. Social sign-in disabled. */\nexport interface AboutMovementConnectProps {\n renderEducationScreen: (screen: AboutMovementConnectEducationScreen) => ReactNode;\n children?: ReactNode;\n}\n\n/**\n * @deprecated Social sign-in disabled - this component just renders children without any education screens\n */\nconst Root = ({ children }: AboutMovementConnectProps) => {\n return <>{children}</>;\n};\nRoot.displayName = \"AboutMovementConnect\";\n\nconst Trigger = createHeadlessComponent(\n \"AboutMovementConnect.Trigger\",\n \"button\",\n () => ({\n // No-op since social sign-in is disabled\n onClick: () => {},\n style: { display: \"none\" },\n }),\n);\n\n/**\n * @deprecated Social sign-in disabled - this component just renders children\n */\nexport const AboutMovementConnect = Object.assign(Root, {\n Trigger,\n});\n","// TODO: Re-enable when Movement supports social sign-in (Petra Web)\n// This is a stub component that just renders children - social sign-in education screens are disabled\n\nimport {\n ForwardRefExoticComponent,\n ReactNode,\n RefAttributes,\n SVGProps,\n} from \"react\";\nimport { HeadlessComponentProps, createHeadlessComponent } from \"./utils\";\n\n/** @deprecated Social sign-in disabled */\nexport const EXPLORE_ECOSYSTEM_URL = \"https://movementlabs.xyz/ecosystem\";\n\n/** @deprecated Social sign-in disabled */\nexport interface AboutPetraWebEducationScreen {\n Graphic: ForwardRefExoticComponent<\n Omit<SVGProps<SVGSVGElement>, \"ref\"> & RefAttributes<SVGSVGElement>\n >;\n Title: ForwardRefExoticComponent<\n HeadlessComponentProps & RefAttributes<HTMLHeadingElement>\n >;\n Description: ForwardRefExoticComponent<\n HeadlessComponentProps & RefAttributes<HTMLParagraphElement>\n >;\n screenIndex: number;\n totalScreens: number;\n screenIndicators: ForwardRefExoticComponent<HeadlessComponentProps & RefAttributes<HTMLButtonElement>>[];\n back: () => void;\n next: () => void;\n cancel: () => void;\n}\n\n/** @deprecated Social sign-in disabled */\nexport interface AboutPetraWebProps {\n renderEducationScreen: (screen: AboutPetraWebEducationScreen) => ReactNode;\n children?: ReactNode;\n}\n\n/**\n * @deprecated Social sign-in disabled - this component just renders children without any education screens\n */\nconst Root = ({ children }: AboutPetraWebProps) => {\n return <>{children}</>;\n};\nRoot.displayName = \"AboutPetraWeb\";\n\nconst Trigger = createHeadlessComponent(\n \"AboutPetraWeb.Trigger\",\n \"button\",\n () => ({\n // No-op since social sign-in is disabled\n onClick: () => {},\n style: { display: \"none\" },\n }),\n);\n\n/**\n * @deprecated Social sign-in disabled - this component just renders children\n */\nexport const AboutPetraWeb = Object.assign(Root, {\n Trigger,\n});\n","import { forwardRef } from \"react\";\nimport { SmallMovementLogo } from \"../graphics/SmallMovementLogo\";\nimport { HeadlessComponentProps, createHeadlessComponent } from \"./utils\";\n\nexport const MOVEMENT_PRIVACY_POLICY_URL = \"https://movementlabs.xyz/privacy\";\n\nconst Root = createHeadlessComponent(\"MovementPrivacyPolicy.Root\", \"div\");\n\nconst Disclaimer = createHeadlessComponent(\n \"MovementPrivacyPolicy.Disclaimer\",\n \"span\",\n { children: \"By continuing, you agree to Movement Labs'\" },\n);\n\nconst Link = createHeadlessComponent(\"MovementPrivacyPolicy.Disclaimer\", \"a\", {\n href: MOVEMENT_PRIVACY_POLICY_URL,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: \"Privacy Policy\",\n});\n\nconst PoweredBy = forwardRef<\n HTMLDivElement,\n Pick<HeadlessComponentProps, \"className\">\n>(({ className }, ref) => {\n return (\n <div ref={ref} className={className}>\n <span>Powered by</span>\n <SmallMovementLogo />\n <span>Movement Labs</span>\n </div>\n );\n});\nPoweredBy.displayName = \"MovementPrivacyPolicy.PoweredBy\";\n\n/**\n * A headless component for rendering the Movement Labs privacy policy disclaimer\n * that should be placed under the Petra Web login options.\n */\nexport const MovementPrivacyPolicy = Object.assign(Root, {\n Disclaimer,\n Link,\n PoweredBy,\n});\n","import { SVGProps, forwardRef } from \"react\";\n\nexport const SmallMovementLogo = forwardRef<\n SVGSVGElement,\n SVGProps<SVGSVGElement>\n>((props, ref) => {\n return (\n <svg\n ref={ref}\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6 12C9.31371 12 12 9.31371 12 6C12 2.68629 9.31371 0 6 0C2.68629 0 0 2.68629 0 6C0 9.31371 2.68629 12 6 12ZM7.17547 3.67976C7.13401 3.72309 7.07649 3.74757 7.01648 3.74757H3.00775C3.69185 2.83824 4.77995 2.25 6.00569 2.25C7.23142 2.25 8.31953 2.83824 9.00362 3.74757H8.28524C8.20824 3.74757 8.13498 3.71468 8.08401 3.65701L7.81608 3.35416C7.77618 3.30896 7.71882 3.28308 7.6585 3.28308H7.6454C7.58805 3.28308 7.53318 3.30646 7.49343 3.34792L7.17547 3.67976ZM8.05656 4.75897H7.39569C7.31869 4.75897 7.24543 4.72593 7.19447 4.66842L6.92638 4.36557C6.88647 4.32036 6.82896 4.29465 6.7688 4.29465C6.70863 4.29465 6.65112 4.32052 6.61121 4.36557L6.38131 4.6254C6.30603 4.71034 6.19801 4.75913 6.08454 4.75913H2.46703C2.36401 5.05278 2.29683 5.36296 2.27002 5.68467H5.68505C5.74506 5.68467 5.80258 5.66019 5.84404 5.61686L6.16201 5.28502C6.20175 5.24356 6.25662 5.22018 6.31398 5.22018H6.32707C6.38739 5.22018 6.44475 5.24606 6.48465 5.29126L6.75258 5.59411C6.80355 5.65178 6.87681 5.68467 6.95381 5.68467H9.74133C9.71452 5.3628 9.64734 5.05263 9.54431 4.75913H8.05641L8.05656 4.75897ZM4.33651 7.63095C4.39652 7.63095 4.45404 7.60648 4.4955 7.56315L4.81347 7.23131C4.85321 7.18985 4.90808 7.16647 4.96544 7.16647H4.97853C5.03885 7.16647 5.09621 7.19234 5.13611 7.23739L5.40404 7.54024C5.45501 7.59791 5.52827 7.6308 5.60527 7.6308H9.38285C9.52438 7.33839 9.62803 7.02463 9.68975 6.69591H6.06383C5.98683 6.69591 5.91357 6.66287 5.8626 6.60535L5.59467 6.3025C5.55477 6.2573 5.49725 6.23158 5.43709 6.23158C5.37692 6.23158 5.31941 6.25746 5.27951 6.3025L5.0496 6.56233C4.97432 6.64728 4.86631 6.69606 4.75268 6.69606H2.32147C2.3832 7.02479 2.487 7.33855 2.62837 7.63095H4.33651ZM5.57359 8.55745H4.59116C4.51417 8.55745 4.44091 8.52441 4.38994 8.46689L4.12201 8.16404C4.0821 8.11884 4.02459 8.09312 3.96442 8.09312C3.90426 8.09312 3.84675 8.119 3.80684 8.16404L3.57694 8.42387C3.50166 8.50882 3.39364 8.55761 3.28001 8.55761H3.26474C3.94915 9.29096 4.92378 9.74998 6.00596 9.74998C7.08815 9.74998 8.06262 9.29096 8.74719 8.55761H5.57359V8.55745Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n});\nSmallMovementLogo.displayName = \"SmallMovementLogo\";\n","import {\n AdapterNotDetectedWallet,\n AdapterWallet,\n WalletReadyState,\n isRedirectable,\n} from \"@moveindustries/wallet-adapter-core\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { createContext, forwardRef, useCallback, useContext } from \"react\";\nimport { useWallet } from \"../useWallet\";\nimport { HeadlessComponentProps, createHeadlessComponent } from \"./utils\";\n\nexport interface WalletItemProps extends HeadlessComponentProps {\n /** The wallet option to be displayed. */\n wallet: AdapterWallet | AdapterNotDetectedWallet;\n /** A callback to be invoked when the wallet is connected. */\n onConnect?: () => void;\n}\n\nfunction useWalletItemContext(displayName: string) {\n const context = useContext(WalletItemContext);\n\n if (!context) {\n throw new Error(`\\`${displayName}\\` must be used within \\`WalletItem\\``);\n }\n\n return context;\n}\n\nconst WalletItemContext = createContext<{\n wallet: AdapterWallet | AdapterNotDetectedWallet;\n connectWallet: () => void;\n} | null>(null);\n\nconst Root = forwardRef<HTMLDivElement, WalletItemProps>(\n ({ wallet, onConnect, className, asChild, children }, ref) => {\n const { connect } = useWallet();\n\n const connectWallet = useCallback(() => {\n connect(wallet.name);\n onConnect?.();\n }, [connect, wallet.name, onConnect]);\n\n const isWalletReady = wallet.readyState === WalletReadyState.Installed;\n\n const mobileSupport =\n \"deeplinkProvider\" in wallet && wallet.deeplinkProvider;\n\n if (!isWalletReady && isRedirectable() && !mobileSupport) return null;\n\n const Component = asChild ? Slot : \"div\";\n\n return (\n <WalletItemContext.Provider value={{ wallet, connectWallet }}>\n <Component ref={ref} className={className}>\n {children}\n </Component>\n </WalletItemContext.Provider>\n );\n },\n);\nRoot.displayName = \"WalletItem\";\n\nconst Icon = createHeadlessComponent(\n \"WalletItem.Icon\",\n \"img\",\n (displayName) => {\n const context = useWalletItemContext(displayName);\n\n return {\n src: context.wallet.icon,\n alt: `${context.wallet.name} icon`,\n };\n },\n);\n\nconst Name = createHeadlessComponent(\n \"WalletItem.Name\",\n \"div\",\n (displayName) => {\n const context = useWalletItemContext(displayName);\n\n return {\n children: context.wallet.name,\n };\n },\n);\n\nconst ConnectButton = createHeadlessComponent(\n \"WalletItem.ConnectButton\",\n \"button\",\n (displayName) => {\n const context = useWalletItemContext(displayName);\n\n return {\n onClick: context.connectWallet,\n children: \"Connect\",\n };\n },\n);\n\nconst InstallLink = createHeadlessComponent(\n \"WalletItem.InstallLink\",\n \"a\",\n (displayName) => {\n const context = useWalletItemContext(displayName);\n\n return {\n href: context.wallet.url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: \"Install\",\n };\n },\n);\n\n/** A headless component for rendering a wallet option's name, icon, and either connect button or install link. */\nexport const WalletItem = Object.assign(Root, {\n Icon,\n Name,\n ConnectButton,\n InstallLink,\n});\n"],"mappings":"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","names":["import_react","walletCore","network","wallet","wallets","import_react","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","Root","Trigger","import_react","import_react","import_jsx_runtime","import_jsx_runtime","Root","import_wallet_adapter_core","import_react_slot","import_react","import_jsx_runtime","Root"]}
package/dist/index.mjs CHANGED
@@ -256,6 +256,17 @@ var MovementWalletAdapterProvider = ({
256
256
  return Promise.reject(error);
257
257
  }
258
258
  });
259
+ const refetchMnsName = () => __async(null, null, function* () {
260
+ if (!walletCore) {
261
+ throw new Error("WalletCore is not initialized");
262
+ }
263
+ try {
264
+ yield walletCore.refetchMnsName();
265
+ } catch (error) {
266
+ if (onError) onError(error);
267
+ return Promise.reject(error);
268
+ }
269
+ });
259
270
  const handleConnect = () => {
260
271
  setState((state) => {
261
272
  return __spreadProps(__spreadValues({}, state), {
@@ -364,6 +375,7 @@ var MovementWalletAdapterProvider = ({
364
375
  signMessageAndVerify,
365
376
  changeNetwork,
366
377
  submitTransaction,
378
+ refetchMnsName,
367
379
  account,
368
380
  network,
369
381
  connected,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.tsx","../src/WalletProvider.tsx","../src/useWallet.tsx","../src/components/utils.tsx","../src/components/AboutMovementConnect.tsx","../src/components/AboutPetraWeb.tsx","../src/components/MovementPrivacyPolicy.tsx","../src/graphics/SmallMovementLogo.tsx","../src/components/WalletItem.tsx"],"sourcesContent":["export * from \"@moveindustries/wallet-adapter-core\";\nexport * from \"./WalletProvider\";\nexport * from \"./components/AboutMovementConnect\";\nexport * from \"./components/AboutPetraWeb\";\nexport * from \"./components/MovementPrivacyPolicy\";\nexport * from \"./components/WalletItem\";\nexport * from \"./useWallet\";\n","import {\n AvailableWallets,\n DappConfig,\n AccountInfo,\n AdapterWallet,\n NetworkInfo,\n InputTransactionData,\n MovementSignAndSubmitTransactionOutput,\n AnyRawTransaction,\n InputGenerateTransactionOptions,\n AccountAuthenticator,\n MovementSignMessageInput,\n MovementSignMessageOutput,\n AdapterNotDetectedWallet,\n WalletCore,\n Network,\n InputSubmitTransactionData,\n PendingTransactionResponse,\n WalletReadyState,\n MovementSignInInput,\n MovementSignInOutput,\n} from \"@moveindustries/wallet-adapter-core\";\nimport { ReactNode, FC, useState, useEffect, useCallback, useRef } from \"react\";\nimport { WalletContext } from \"./useWallet\";\n\nexport interface MovementWalletProviderProps {\n children: ReactNode;\n optInWallets?: ReadonlyArray<AvailableWallets>;\n autoConnect?:\n | boolean\n | ((core: WalletCore, adapter: AdapterWallet) => Promise<boolean>);\n dappConfig?: DappConfig;\n disableTelemetry?: boolean;\n onError?: (error: any) => void;\n}\n\nconst initialState: {\n account: AccountInfo | null;\n network: NetworkInfo | null;\n connected: boolean;\n wallet: AdapterWallet | null;\n} = {\n connected: false,\n account: null,\n network: null,\n wallet: null,\n};\n\nexport const MovementWalletAdapterProvider: FC<MovementWalletProviderProps> = ({\n children,\n optInWallets,\n autoConnect = false,\n dappConfig,\n disableTelemetry = false,\n onError,\n}: MovementWalletProviderProps) => {\n const didAttemptAutoConnectRef = useRef(false);\n\n const [{ account, network, connected, wallet }, setState] =\n useState(initialState);\n\n const [isLoading, setIsLoading] = useState<boolean>(true);\n const [walletCore, setWalletCore] = useState<WalletCore>();\n\n const [wallets, setWallets] = useState<ReadonlyArray<AdapterWallet>>([]);\n const [notDetectedWallets, setNotDetectedWallets] = useState<\n ReadonlyArray<AdapterNotDetectedWallet>\n >([]);\n // Initialize WalletCore on first load\n useEffect(() => {\n const walletCore = new WalletCore(\n optInWallets,\n dappConfig,\n disableTelemetry,\n );\n setWalletCore(walletCore);\n }, []);\n\n // Update initial Wallets state once WalletCore has been initialized\n useEffect(() => {\n setWallets(walletCore?.wallets ?? []);\n setNotDetectedWallets(walletCore?.notDetectedWallets ?? []);\n }, [walletCore]);\n\n useEffect(() => {\n // Only attempt to auto connect once per render and only if there are wallets\n if (didAttemptAutoConnectRef.current || !walletCore?.wallets.length) {\n return;\n }\n didAttemptAutoConnectRef.current = true;\n\n // If auto connect is not set or is false, ignore the attempt\n if (!autoConnect) {\n setIsLoading(false);\n return;\n }\n\n // Make sure the user has a previously connected wallet\n const walletName = localStorage.getItem(\"MovementWalletName\");\n if (!walletName) {\n setIsLoading(false);\n return;\n }\n\n // Make sure the wallet is installed\n const selectedWallet = walletCore.wallets.find(\n (e) => e.name === walletName,\n ) as AdapterWallet | undefined;\n if (\n !selectedWallet ||\n selectedWallet.readyState !== WalletReadyState.Installed\n ) {\n setIsLoading(false);\n return;\n }\n\n if (!connected) {\n (async () => {\n try {\n let shouldConnect = true;\n\n // Providing a function to autoConnect allows the dapp to determine\n // whether to attempt to connect to the wallet using the `signIn`\n // or `connect` method. If `signIn` is successful, the user can\n // return `false` and skip the `connect` method.\n if (typeof autoConnect === \"function\") {\n shouldConnect = await autoConnect(walletCore, selectedWallet);\n } else {\n shouldConnect = autoConnect;\n }\n\n if (shouldConnect) await connect(walletName);\n } catch (error) {\n if (onError) onError(error);\n return Promise.reject(error);\n } finally {\n setIsLoading(false);\n }\n })();\n } else {\n setIsLoading(false);\n }\n }, [autoConnect, wallets]);\n\n const connect = async (walletName: string): Promise<void> => {\n try {\n setIsLoading(true);\n await walletCore?.connect(walletName);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const signIn = async (args: {\n walletName: string;\n input: MovementSignInInput;\n }): Promise<MovementSignInOutput> => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n\n try {\n setIsLoading(true);\n return await walletCore?.signIn(args);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const disconnect = async (): Promise<void> => {\n try {\n await walletCore?.disconnect();\n } catch (error) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signAndSubmitTransaction = async (\n transaction: InputTransactionData,\n ): Promise<MovementSignAndSubmitTransactionOutput> => {\n try {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n return await walletCore.signAndSubmitTransaction(transaction);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signTransaction = async (args: {\n transactionOrPayload: AnyRawTransaction | InputTransactionData;\n asFeePayer?: boolean;\n options?: InputGenerateTransactionOptions & {\n expirationSecondsFromNow?: number;\n expirationTimestamp?: number;\n };\n }): Promise<{\n authenticator: AccountAuthenticator;\n rawTransaction: Uint8Array;\n }> => {\n const { transactionOrPayload, asFeePayer, options } = args;\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore.signTransaction({\n transactionOrPayload,\n asFeePayer,\n });\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const submitTransaction = async (\n transaction: InputSubmitTransactionData,\n ): Promise<PendingTransactionResponse> => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore?.submitTransaction(transaction);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signMessage = async (\n message: MovementSignMessageInput,\n ): Promise<MovementSignMessageOutput> => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore?.signMessage(message);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signMessageAndVerify = async (\n message: MovementSignMessageInput,\n ): Promise<boolean> => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore?.signMessageAndVerify(message);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const changeNetwork = async (network: Network) => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore?.changeNetwork(network);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n // Handle the adapter's connect event\n const handleConnect = (): void => {\n setState((state) => {\n return {\n ...state,\n connected: true,\n account: walletCore?.account || null,\n network: walletCore?.network || null,\n wallet: walletCore?.wallet || null,\n };\n });\n };\n\n // Handle the adapter's account change event\n const handleAccountChange = useCallback((): void => {\n if (!connected) return;\n if (!walletCore?.wallet) return;\n setState((state) => {\n return {\n ...state,\n account: walletCore?.account || null,\n };\n });\n }, [connected]);\n\n // Handle the adapter's network event\n const handleNetworkChange = useCallback((): void => {\n if (!connected) return;\n if (!walletCore?.wallet) return;\n setState((state) => {\n return {\n ...state,\n network: walletCore?.network || null,\n };\n });\n }, [connected]);\n\n useEffect(() => {\n if (connected) {\n walletCore?.onAccountChange();\n walletCore?.onNetworkChange();\n }\n }, [connected]);\n\n // Handle the adapter's disconnect event\n const handleDisconnect = (): void => {\n if (!connected) return;\n setState((state) => {\n return {\n ...state,\n connected: false,\n account: walletCore?.account || null,\n network: walletCore?.network || null,\n wallet: null,\n };\n });\n };\n\n const handleStandardWalletsAdded = (standardWallet: AdapterWallet): void => {\n // Manage current wallet state by removing optional duplications\n // as new wallets are coming\n const existingWalletIndex = wallets.findIndex(\n (wallet) => wallet.name == standardWallet.name,\n );\n if (existingWalletIndex !== -1) {\n // If wallet exists, replace it with the new wallet\n setWallets((wallets) => [\n ...wallets.slice(0, existingWalletIndex),\n standardWallet,\n ...wallets.slice(existingWalletIndex + 1),\n ]);\n } else {\n // If wallet doesn't exist, add it to the array\n setWallets((wallets) => [...wallets, standardWallet]);\n }\n };\n\n const handleStandardNotDetectedWalletsAdded = (\n notDetectedWallet: AdapterNotDetectedWallet,\n ): void => {\n // Manage current wallet state by removing optional duplications\n // as new wallets are coming\n const existingWalletIndex = wallets.findIndex(\n (wallet) => wallet.name == notDetectedWallet.name,\n );\n if (existingWalletIndex !== -1) {\n // If wallet exists, replace it with the new wallet\n setNotDetectedWallets((wallets) => [\n ...wallets.slice(0, existingWalletIndex),\n notDetectedWallet,\n ...wallets.slice(existingWalletIndex + 1),\n ]);\n } else {\n // If wallet doesn't exist, add it to the array\n setNotDetectedWallets((wallets) => [...wallets, notDetectedWallet]);\n }\n };\n\n useEffect(() => {\n walletCore?.on(\"connect\", handleConnect);\n walletCore?.on(\"accountChange\", handleAccountChange);\n walletCore?.on(\"networkChange\", handleNetworkChange);\n walletCore?.on(\"disconnect\", handleDisconnect);\n walletCore?.on(\"standardWalletsAdded\", handleStandardWalletsAdded);\n walletCore?.on(\n \"standardNotDetectedWalletAdded\",\n handleStandardNotDetectedWalletsAdded,\n );\n return () => {\n walletCore?.off(\"connect\", handleConnect);\n walletCore?.off(\"accountChange\", handleAccountChange);\n walletCore?.off(\"networkChange\", handleNetworkChange);\n walletCore?.off(\"disconnect\", handleDisconnect);\n walletCore?.off(\"standardWalletsAdded\", handleStandardWalletsAdded);\n walletCore?.off(\n \"standardNotDetectedWalletAdded\",\n handleStandardNotDetectedWalletsAdded,\n );\n };\n }, [wallets, account]);\n\n return (\n <WalletContext.Provider\n value={{\n connect,\n signIn,\n disconnect,\n signAndSubmitTransaction,\n signTransaction,\n signMessage,\n signMessageAndVerify,\n changeNetwork,\n submitTransaction,\n account,\n network,\n connected,\n wallet,\n wallets,\n notDetectedWallets,\n isLoading,\n }}\n >\n {children}\n </WalletContext.Provider>\n );\n};\n","import { useContext, createContext } from \"react\";\nimport {\n AccountAuthenticator,\n AccountInfo,\n AdapterWallet,\n AnyRawTransaction,\n MovementSignAndSubmitTransactionOutput,\n InputTransactionData,\n NetworkInfo,\n MovementSignMessageInput,\n MovementSignMessageOutput,\n AdapterNotDetectedWallet,\n Network,\n MovementChangeNetworkOutput,\n PendingTransactionResponse,\n InputSubmitTransactionData,\n MovementSignInInput,\n MovementSignInOutput,\n} from \"@moveindustries/wallet-adapter-core\";\n\nexport interface WalletContextState {\n connected: boolean;\n isLoading: boolean;\n account: AccountInfo | null;\n network: NetworkInfo | null;\n connect(walletName: string): void;\n signIn(args: {\n walletName: string;\n input: MovementSignInInput;\n }): Promise<MovementSignInOutput | void>;\n signAndSubmitTransaction(\n transaction: InputTransactionData,\n ): Promise<MovementSignAndSubmitTransactionOutput>;\n signTransaction(args: {\n transactionOrPayload: AnyRawTransaction | InputTransactionData;\n asFeePayer?: boolean;\n }): Promise<{\n authenticator: AccountAuthenticator;\n rawTransaction: Uint8Array;\n }>;\n signMessage(message: MovementSignMessageInput): Promise<MovementSignMessageOutput>;\n signMessageAndVerify(message: MovementSignMessageInput): Promise<boolean>;\n disconnect(): void;\n changeNetwork(network: Network): Promise<MovementChangeNetworkOutput>;\n submitTransaction(\n transaction: InputSubmitTransactionData,\n ): Promise<PendingTransactionResponse>;\n wallet: AdapterWallet | null;\n wallets: ReadonlyArray<AdapterWallet>;\n notDetectedWallets: ReadonlyArray<AdapterNotDetectedWallet>;\n}\n\nconst DEFAULT_CONTEXT = {\n connected: false,\n};\n\nexport const WalletContext = createContext<WalletContextState>(\n DEFAULT_CONTEXT as WalletContextState,\n);\n\nexport function useWallet(): WalletContextState {\n const context = useContext(WalletContext);\n if (!context) {\n throw new Error(\"useWallet must be used within a WalletContextState\");\n }\n return context;\n}\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { ReactNode, cloneElement, forwardRef, isValidElement } from \"react\";\n\nexport interface HeadlessComponentProps {\n /** A class name for styling the element. */\n className?: string;\n /**\n * Whether to render as the child element instead of the default element provided.\n * All props will be merged into the child element.\n */\n asChild?: boolean;\n children?: ReactNode;\n}\n\n/**\n * Gets an HTML element type from its tag name\n * @example\n * HTMLElementFromTag<\"img\"> // resolved type: HTMLImageElement\n */\ntype HTMLElementFromTag<T extends keyof JSX.IntrinsicElements> =\n JSX.IntrinsicElements[T] extends React.ClassAttributes<infer Element>\n ? Element\n : HTMLElement;\n\nexport function createHeadlessComponent<\n TElement extends keyof JSX.IntrinsicElements,\n>(\n displayName: string,\n elementType: TElement,\n props?:\n | JSX.IntrinsicElements[TElement]\n | ((displayName: string) => JSX.IntrinsicElements[TElement]),\n) {\n const component = forwardRef<\n HTMLElementFromTag<TElement>,\n HeadlessComponentProps\n >(({ className, asChild, children }, ref) => {\n const Component = asChild ? Slot : elementType;\n\n const { children: defaultChildren, ...resolvedProps } =\n typeof props === \"function\" ? props(displayName) : (props ?? {});\n const resolvedChildren =\n /**\n * Use props' default children if no children are set in the component element's children and when asChild is true.\n */\n asChild && isValidElement(children) && !children.props.children\n ? cloneElement(children, {}, defaultChildren)\n : (children ?? defaultChildren);\n\n return (\n /**\n * Due to the complexity of the types at play, TypeScript reports the\n * following error for our JSX below:\n *\n * `Expression produces a union type that is too complex to represent.`\n *\n * We can safely ignore this error and retain accurate return types for\n * consumers of this function. The only drawback is that type-checking is\n * ignored for the JSX block below.\n */\n // @ts-expect-error\n <Component ref={ref} className={className} {...resolvedProps}>\n {resolvedChildren}\n </Component>\n );\n });\n component.displayName = displayName;\n\n return component;\n}\n","// TODO: Re-enable when Movement supports social sign-in (Movement Connect)\n// This is a stub component that just renders children - social sign-in education screens are disabled\n\nimport {\n ForwardRefExoticComponent,\n ReactNode,\n RefAttributes,\n SVGProps,\n} from \"react\";\nimport { HeadlessComponentProps, createHeadlessComponent } from \"./utils\";\n\n/** @deprecated Use AboutPetraWeb instead. Social sign-in disabled. */\nexport interface AboutMovementConnectEducationScreen {\n Graphic: ForwardRefExoticComponent<\n Omit<SVGProps<SVGSVGElement>, \"ref\"> & RefAttributes<SVGSVGElement>\n >;\n Title: ForwardRefExoticComponent<\n HeadlessComponentProps & RefAttributes<HTMLHeadingElement>\n >;\n Description: ForwardRefExoticComponent<\n HeadlessComponentProps & RefAttributes<HTMLParagraphElement>\n >;\n screenIndex: number;\n totalScreens: number;\n screenIndicators: ForwardRefExoticComponent<HeadlessComponentProps & RefAttributes<HTMLButtonElement>>[];\n back: () => void;\n next: () => void;\n cancel: () => void;\n}\n\n/** @deprecated Use AboutPetraWebProps instead. Social sign-in disabled. */\nexport interface AboutMovementConnectProps {\n renderEducationScreen: (screen: AboutMovementConnectEducationScreen) => ReactNode;\n children?: ReactNode;\n}\n\n/**\n * @deprecated Social sign-in disabled - this component just renders children without any education screens\n */\nconst Root = ({ children }: AboutMovementConnectProps) => {\n return <>{children}</>;\n};\nRoot.displayName = \"AboutMovementConnect\";\n\nconst Trigger = createHeadlessComponent(\n \"AboutMovementConnect.Trigger\",\n \"button\",\n () => ({\n // No-op since social sign-in is disabled\n onClick: () => {},\n style: { display: \"none\" },\n }),\n);\n\n/**\n * @deprecated Social sign-in disabled - this component just renders children\n */\nexport const AboutMovementConnect = Object.assign(Root, {\n Trigger,\n});\n","// TODO: Re-enable when Movement supports social sign-in (Petra Web)\n// This is a stub component that just renders children - social sign-in education screens are disabled\n\nimport {\n ForwardRefExoticComponent,\n ReactNode,\n RefAttributes,\n SVGProps,\n} from \"react\";\nimport { HeadlessComponentProps, createHeadlessComponent } from \"./utils\";\n\n/** @deprecated Social sign-in disabled */\nexport const EXPLORE_ECOSYSTEM_URL = \"https://movementlabs.xyz/ecosystem\";\n\n/** @deprecated Social sign-in disabled */\nexport interface AboutPetraWebEducationScreen {\n Graphic: ForwardRefExoticComponent<\n Omit<SVGProps<SVGSVGElement>, \"ref\"> & RefAttributes<SVGSVGElement>\n >;\n Title: ForwardRefExoticComponent<\n HeadlessComponentProps & RefAttributes<HTMLHeadingElement>\n >;\n Description: ForwardRefExoticComponent<\n HeadlessComponentProps & RefAttributes<HTMLParagraphElement>\n >;\n screenIndex: number;\n totalScreens: number;\n screenIndicators: ForwardRefExoticComponent<HeadlessComponentProps & RefAttributes<HTMLButtonElement>>[];\n back: () => void;\n next: () => void;\n cancel: () => void;\n}\n\n/** @deprecated Social sign-in disabled */\nexport interface AboutPetraWebProps {\n renderEducationScreen: (screen: AboutPetraWebEducationScreen) => ReactNode;\n children?: ReactNode;\n}\n\n/**\n * @deprecated Social sign-in disabled - this component just renders children without any education screens\n */\nconst Root = ({ children }: AboutPetraWebProps) => {\n return <>{children}</>;\n};\nRoot.displayName = \"AboutPetraWeb\";\n\nconst Trigger = createHeadlessComponent(\n \"AboutPetraWeb.Trigger\",\n \"button\",\n () => ({\n // No-op since social sign-in is disabled\n onClick: () => {},\n style: { display: \"none\" },\n }),\n);\n\n/**\n * @deprecated Social sign-in disabled - this component just renders children\n */\nexport const AboutPetraWeb = Object.assign(Root, {\n Trigger,\n});\n","import { forwardRef } from \"react\";\nimport { SmallMovementLogo } from \"../graphics/SmallMovementLogo\";\nimport { HeadlessComponentProps, createHeadlessComponent } from \"./utils\";\n\nexport const MOVEMENT_PRIVACY_POLICY_URL = \"https://movementlabs.xyz/privacy\";\n\nconst Root = createHeadlessComponent(\"MovementPrivacyPolicy.Root\", \"div\");\n\nconst Disclaimer = createHeadlessComponent(\n \"MovementPrivacyPolicy.Disclaimer\",\n \"span\",\n { children: \"By continuing, you agree to Movement Labs'\" },\n);\n\nconst Link = createHeadlessComponent(\"MovementPrivacyPolicy.Disclaimer\", \"a\", {\n href: MOVEMENT_PRIVACY_POLICY_URL,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: \"Privacy Policy\",\n});\n\nconst PoweredBy = forwardRef<\n HTMLDivElement,\n Pick<HeadlessComponentProps, \"className\">\n>(({ className }, ref) => {\n return (\n <div ref={ref} className={className}>\n <span>Powered by</span>\n <SmallMovementLogo />\n <span>Movement Labs</span>\n </div>\n );\n});\nPoweredBy.displayName = \"MovementPrivacyPolicy.PoweredBy\";\n\n/**\n * A headless component for rendering the Movement Labs privacy policy disclaimer\n * that should be placed under the Petra Web login options.\n */\nexport const MovementPrivacyPolicy = Object.assign(Root, {\n Disclaimer,\n Link,\n PoweredBy,\n});\n","import { SVGProps, forwardRef } from \"react\";\n\nexport const SmallMovementLogo = forwardRef<\n SVGSVGElement,\n SVGProps<SVGSVGElement>\n>((props, ref) => {\n return (\n <svg\n ref={ref}\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6 12C9.31371 12 12 9.31371 12 6C12 2.68629 9.31371 0 6 0C2.68629 0 0 2.68629 0 6C0 9.31371 2.68629 12 6 12ZM7.17547 3.67976C7.13401 3.72309 7.07649 3.74757 7.01648 3.74757H3.00775C3.69185 2.83824 4.77995 2.25 6.00569 2.25C7.23142 2.25 8.31953 2.83824 9.00362 3.74757H8.28524C8.20824 3.74757 8.13498 3.71468 8.08401 3.65701L7.81608 3.35416C7.77618 3.30896 7.71882 3.28308 7.6585 3.28308H7.6454C7.58805 3.28308 7.53318 3.30646 7.49343 3.34792L7.17547 3.67976ZM8.05656 4.75897H7.39569C7.31869 4.75897 7.24543 4.72593 7.19447 4.66842L6.92638 4.36557C6.88647 4.32036 6.82896 4.29465 6.7688 4.29465C6.70863 4.29465 6.65112 4.32052 6.61121 4.36557L6.38131 4.6254C6.30603 4.71034 6.19801 4.75913 6.08454 4.75913H2.46703C2.36401 5.05278 2.29683 5.36296 2.27002 5.68467H5.68505C5.74506 5.68467 5.80258 5.66019 5.84404 5.61686L6.16201 5.28502C6.20175 5.24356 6.25662 5.22018 6.31398 5.22018H6.32707C6.38739 5.22018 6.44475 5.24606 6.48465 5.29126L6.75258 5.59411C6.80355 5.65178 6.87681 5.68467 6.95381 5.68467H9.74133C9.71452 5.3628 9.64734 5.05263 9.54431 4.75913H8.05641L8.05656 4.75897ZM4.33651 7.63095C4.39652 7.63095 4.45404 7.60648 4.4955 7.56315L4.81347 7.23131C4.85321 7.18985 4.90808 7.16647 4.96544 7.16647H4.97853C5.03885 7.16647 5.09621 7.19234 5.13611 7.23739L5.40404 7.54024C5.45501 7.59791 5.52827 7.6308 5.60527 7.6308H9.38285C9.52438 7.33839 9.62803 7.02463 9.68975 6.69591H6.06383C5.98683 6.69591 5.91357 6.66287 5.8626 6.60535L5.59467 6.3025C5.55477 6.2573 5.49725 6.23158 5.43709 6.23158C5.37692 6.23158 5.31941 6.25746 5.27951 6.3025L5.0496 6.56233C4.97432 6.64728 4.86631 6.69606 4.75268 6.69606H2.32147C2.3832 7.02479 2.487 7.33855 2.62837 7.63095H4.33651ZM5.57359 8.55745H4.59116C4.51417 8.55745 4.44091 8.52441 4.38994 8.46689L4.12201 8.16404C4.0821 8.11884 4.02459 8.09312 3.96442 8.09312C3.90426 8.09312 3.84675 8.119 3.80684 8.16404L3.57694 8.42387C3.50166 8.50882 3.39364 8.55761 3.28001 8.55761H3.26474C3.94915 9.29096 4.92378 9.74998 6.00596 9.74998C7.08815 9.74998 8.06262 9.29096 8.74719 8.55761H5.57359V8.55745Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n});\nSmallMovementLogo.displayName = \"SmallMovementLogo\";\n","import {\n AdapterNotDetectedWallet,\n AdapterWallet,\n WalletReadyState,\n isRedirectable,\n} from \"@moveindustries/wallet-adapter-core\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { createContext, forwardRef, useCallback, useContext } from \"react\";\nimport { useWallet } from \"../useWallet\";\nimport { HeadlessComponentProps, createHeadlessComponent } from \"./utils\";\n\nexport interface WalletItemProps extends HeadlessComponentProps {\n /** The wallet option to be displayed. */\n wallet: AdapterWallet | AdapterNotDetectedWallet;\n /** A callback to be invoked when the wallet is connected. */\n onConnect?: () => void;\n}\n\nfunction useWalletItemContext(displayName: string) {\n const context = useContext(WalletItemContext);\n\n if (!context) {\n throw new Error(`\\`${displayName}\\` must be used within \\`WalletItem\\``);\n }\n\n return context;\n}\n\nconst WalletItemContext = createContext<{\n wallet: AdapterWallet | AdapterNotDetectedWallet;\n connectWallet: () => void;\n} | null>(null);\n\nconst Root = forwardRef<HTMLDivElement, WalletItemProps>(\n ({ wallet, onConnect, className, asChild, children }, ref) => {\n const { connect } = useWallet();\n\n const connectWallet = useCallback(() => {\n connect(wallet.name);\n onConnect?.();\n }, [connect, wallet.name, onConnect]);\n\n const isWalletReady = wallet.readyState === WalletReadyState.Installed;\n\n const mobileSupport =\n \"deeplinkProvider\" in wallet && wallet.deeplinkProvider;\n\n if (!isWalletReady && isRedirectable() && !mobileSupport) return null;\n\n const Component = asChild ? Slot : \"div\";\n\n return (\n <WalletItemContext.Provider value={{ wallet, connectWallet }}>\n <Component ref={ref} className={className}>\n {children}\n </Component>\n </WalletItemContext.Provider>\n );\n },\n);\nRoot.displayName = \"WalletItem\";\n\nconst Icon = createHeadlessComponent(\n \"WalletItem.Icon\",\n \"img\",\n (displayName) => {\n const context = useWalletItemContext(displayName);\n\n return {\n src: context.wallet.icon,\n alt: `${context.wallet.name} icon`,\n };\n },\n);\n\nconst Name = createHeadlessComponent(\n \"WalletItem.Name\",\n \"div\",\n (displayName) => {\n const context = useWalletItemContext(displayName);\n\n return {\n children: context.wallet.name,\n };\n },\n);\n\nconst ConnectButton = createHeadlessComponent(\n \"WalletItem.ConnectButton\",\n \"button\",\n (displayName) => {\n const context = useWalletItemContext(displayName);\n\n return {\n onClick: context.connectWallet,\n children: \"Connect\",\n };\n },\n);\n\nconst InstallLink = createHeadlessComponent(\n \"WalletItem.InstallLink\",\n \"a\",\n (displayName) => {\n const context = useWalletItemContext(displayName);\n\n return {\n href: context.wallet.url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: \"Install\",\n };\n },\n);\n\n/** A headless component for rendering a wallet option's name, icon, and either connect button or install link. */\nexport const WalletItem = Object.assign(Root, {\n Icon,\n Name,\n ConnectButton,\n InstallLink,\n});\n"],"mappings":"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","names":["walletCore","network","wallet","wallets","jsx","jsx","Fragment","jsx","Root","Trigger","forwardRef","forwardRef","jsx","forwardRef","jsx","Root","forwardRef","WalletReadyState","Slot","createContext","forwardRef","useCallback","useContext","jsx","useContext","createContext","Root","forwardRef","useCallback","WalletReadyState","Slot"]}
1
+ {"version":3,"sources":["../src/index.tsx","../src/WalletProvider.tsx","../src/useWallet.tsx","../src/components/utils.tsx","../src/components/AboutMovementConnect.tsx","../src/components/AboutPetraWeb.tsx","../src/components/MovementPrivacyPolicy.tsx","../src/graphics/SmallMovementLogo.tsx","../src/components/WalletItem.tsx"],"sourcesContent":["export * from \"@moveindustries/wallet-adapter-core\";\nexport * from \"./WalletProvider\";\nexport * from \"./components/AboutMovementConnect\";\nexport * from \"./components/AboutPetraWeb\";\nexport * from \"./components/MovementPrivacyPolicy\";\nexport * from \"./components/WalletItem\";\nexport * from \"./useWallet\";\n","import {\n AvailableWallets,\n DappConfig,\n AccountInfo,\n AdapterWallet,\n NetworkInfo,\n InputTransactionData,\n MovementSignAndSubmitTransactionOutput,\n AnyRawTransaction,\n InputGenerateTransactionOptions,\n AccountAuthenticator,\n MovementSignMessageInput,\n MovementSignMessageOutput,\n AdapterNotDetectedWallet,\n WalletCore,\n Network,\n InputSubmitTransactionData,\n PendingTransactionResponse,\n WalletReadyState,\n MovementSignInInput,\n MovementSignInOutput,\n} from \"@moveindustries/wallet-adapter-core\";\nimport { ReactNode, FC, useState, useEffect, useCallback, useRef } from \"react\";\nimport { WalletContext } from \"./useWallet\";\n\nexport interface MovementWalletProviderProps {\n children: ReactNode;\n optInWallets?: ReadonlyArray<AvailableWallets>;\n autoConnect?:\n | boolean\n | ((core: WalletCore, adapter: AdapterWallet) => Promise<boolean>);\n dappConfig?: DappConfig;\n disableTelemetry?: boolean;\n onError?: (error: any) => void;\n}\n\nconst initialState: {\n account: AccountInfo | null;\n network: NetworkInfo | null;\n connected: boolean;\n wallet: AdapterWallet | null;\n} = {\n connected: false,\n account: null,\n network: null,\n wallet: null,\n};\n\nexport const MovementWalletAdapterProvider: FC<MovementWalletProviderProps> = ({\n children,\n optInWallets,\n autoConnect = false,\n dappConfig,\n disableTelemetry = false,\n onError,\n}: MovementWalletProviderProps) => {\n const didAttemptAutoConnectRef = useRef(false);\n\n const [{ account, network, connected, wallet }, setState] =\n useState(initialState);\n\n const [isLoading, setIsLoading] = useState<boolean>(true);\n const [walletCore, setWalletCore] = useState<WalletCore>();\n\n const [wallets, setWallets] = useState<ReadonlyArray<AdapterWallet>>([]);\n const [notDetectedWallets, setNotDetectedWallets] = useState<\n ReadonlyArray<AdapterNotDetectedWallet>\n >([]);\n // Initialize WalletCore on first load\n useEffect(() => {\n const walletCore = new WalletCore(\n optInWallets,\n dappConfig,\n disableTelemetry,\n );\n setWalletCore(walletCore);\n }, []);\n\n // Update initial Wallets state once WalletCore has been initialized\n useEffect(() => {\n setWallets(walletCore?.wallets ?? []);\n setNotDetectedWallets(walletCore?.notDetectedWallets ?? []);\n }, [walletCore]);\n\n useEffect(() => {\n // Only attempt to auto connect once per render and only if there are wallets\n if (didAttemptAutoConnectRef.current || !walletCore?.wallets.length) {\n return;\n }\n didAttemptAutoConnectRef.current = true;\n\n // If auto connect is not set or is false, ignore the attempt\n if (!autoConnect) {\n setIsLoading(false);\n return;\n }\n\n // Make sure the user has a previously connected wallet\n const walletName = localStorage.getItem(\"MovementWalletName\");\n if (!walletName) {\n setIsLoading(false);\n return;\n }\n\n // Make sure the wallet is installed\n const selectedWallet = walletCore.wallets.find(\n (e) => e.name === walletName,\n ) as AdapterWallet | undefined;\n if (\n !selectedWallet ||\n selectedWallet.readyState !== WalletReadyState.Installed\n ) {\n setIsLoading(false);\n return;\n }\n\n if (!connected) {\n (async () => {\n try {\n let shouldConnect = true;\n\n // Providing a function to autoConnect allows the dapp to determine\n // whether to attempt to connect to the wallet using the `signIn`\n // or `connect` method. If `signIn` is successful, the user can\n // return `false` and skip the `connect` method.\n if (typeof autoConnect === \"function\") {\n shouldConnect = await autoConnect(walletCore, selectedWallet);\n } else {\n shouldConnect = autoConnect;\n }\n\n if (shouldConnect) await connect(walletName);\n } catch (error) {\n if (onError) onError(error);\n return Promise.reject(error);\n } finally {\n setIsLoading(false);\n }\n })();\n } else {\n setIsLoading(false);\n }\n }, [autoConnect, wallets]);\n\n const connect = async (walletName: string): Promise<void> => {\n try {\n setIsLoading(true);\n await walletCore?.connect(walletName);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const signIn = async (args: {\n walletName: string;\n input: MovementSignInInput;\n }): Promise<MovementSignInOutput> => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n\n try {\n setIsLoading(true);\n return await walletCore?.signIn(args);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const disconnect = async (): Promise<void> => {\n try {\n await walletCore?.disconnect();\n } catch (error) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signAndSubmitTransaction = async (\n transaction: InputTransactionData,\n ): Promise<MovementSignAndSubmitTransactionOutput> => {\n try {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n return await walletCore.signAndSubmitTransaction(transaction);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signTransaction = async (args: {\n transactionOrPayload: AnyRawTransaction | InputTransactionData;\n asFeePayer?: boolean;\n options?: InputGenerateTransactionOptions & {\n expirationSecondsFromNow?: number;\n expirationTimestamp?: number;\n };\n }): Promise<{\n authenticator: AccountAuthenticator;\n rawTransaction: Uint8Array;\n }> => {\n const { transactionOrPayload, asFeePayer, options } = args;\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore.signTransaction({\n transactionOrPayload,\n asFeePayer,\n });\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const submitTransaction = async (\n transaction: InputSubmitTransactionData,\n ): Promise<PendingTransactionResponse> => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore?.submitTransaction(transaction);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signMessage = async (\n message: MovementSignMessageInput,\n ): Promise<MovementSignMessageOutput> => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore?.signMessage(message);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const signMessageAndVerify = async (\n message: MovementSignMessageInput,\n ): Promise<boolean> => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore?.signMessageAndVerify(message);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const changeNetwork = async (network: Network) => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n return await walletCore?.changeNetwork(network);\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n const refetchMnsName = async (): Promise<void> => {\n if (!walletCore) {\n throw new Error(\"WalletCore is not initialized\");\n }\n try {\n await walletCore.refetchMnsName();\n } catch (error: any) {\n if (onError) onError(error);\n return Promise.reject(error);\n }\n };\n\n // Handle the adapter's connect event\n const handleConnect = (): void => {\n setState((state) => {\n return {\n ...state,\n connected: true,\n account: walletCore?.account || null,\n network: walletCore?.network || null,\n wallet: walletCore?.wallet || null,\n };\n });\n };\n\n // Handle the adapter's account change event\n const handleAccountChange = useCallback((): void => {\n if (!connected) return;\n if (!walletCore?.wallet) return;\n setState((state) => {\n return {\n ...state,\n account: walletCore?.account || null,\n };\n });\n }, [connected]);\n\n // Handle the adapter's network event\n const handleNetworkChange = useCallback((): void => {\n if (!connected) return;\n if (!walletCore?.wallet) return;\n setState((state) => {\n return {\n ...state,\n network: walletCore?.network || null,\n };\n });\n }, [connected]);\n\n useEffect(() => {\n if (connected) {\n walletCore?.onAccountChange();\n walletCore?.onNetworkChange();\n }\n }, [connected]);\n\n // Handle the adapter's disconnect event\n const handleDisconnect = (): void => {\n if (!connected) return;\n setState((state) => {\n return {\n ...state,\n connected: false,\n account: walletCore?.account || null,\n network: walletCore?.network || null,\n wallet: null,\n };\n });\n };\n\n const handleStandardWalletsAdded = (standardWallet: AdapterWallet): void => {\n // Manage current wallet state by removing optional duplications\n // as new wallets are coming\n const existingWalletIndex = wallets.findIndex(\n (wallet) => wallet.name == standardWallet.name,\n );\n if (existingWalletIndex !== -1) {\n // If wallet exists, replace it with the new wallet\n setWallets((wallets) => [\n ...wallets.slice(0, existingWalletIndex),\n standardWallet,\n ...wallets.slice(existingWalletIndex + 1),\n ]);\n } else {\n // If wallet doesn't exist, add it to the array\n setWallets((wallets) => [...wallets, standardWallet]);\n }\n };\n\n const handleStandardNotDetectedWalletsAdded = (\n notDetectedWallet: AdapterNotDetectedWallet,\n ): void => {\n // Manage current wallet state by removing optional duplications\n // as new wallets are coming\n const existingWalletIndex = wallets.findIndex(\n (wallet) => wallet.name == notDetectedWallet.name,\n );\n if (existingWalletIndex !== -1) {\n // If wallet exists, replace it with the new wallet\n setNotDetectedWallets((wallets) => [\n ...wallets.slice(0, existingWalletIndex),\n notDetectedWallet,\n ...wallets.slice(existingWalletIndex + 1),\n ]);\n } else {\n // If wallet doesn't exist, add it to the array\n setNotDetectedWallets((wallets) => [...wallets, notDetectedWallet]);\n }\n };\n\n useEffect(() => {\n walletCore?.on(\"connect\", handleConnect);\n walletCore?.on(\"accountChange\", handleAccountChange);\n walletCore?.on(\"networkChange\", handleNetworkChange);\n walletCore?.on(\"disconnect\", handleDisconnect);\n walletCore?.on(\"standardWalletsAdded\", handleStandardWalletsAdded);\n walletCore?.on(\n \"standardNotDetectedWalletAdded\",\n handleStandardNotDetectedWalletsAdded,\n );\n return () => {\n walletCore?.off(\"connect\", handleConnect);\n walletCore?.off(\"accountChange\", handleAccountChange);\n walletCore?.off(\"networkChange\", handleNetworkChange);\n walletCore?.off(\"disconnect\", handleDisconnect);\n walletCore?.off(\"standardWalletsAdded\", handleStandardWalletsAdded);\n walletCore?.off(\n \"standardNotDetectedWalletAdded\",\n handleStandardNotDetectedWalletsAdded,\n );\n };\n }, [wallets, account]);\n\n return (\n <WalletContext.Provider\n value={{\n connect,\n signIn,\n disconnect,\n signAndSubmitTransaction,\n signTransaction,\n signMessage,\n signMessageAndVerify,\n changeNetwork,\n submitTransaction,\n refetchMnsName,\n account,\n network,\n connected,\n wallet,\n wallets,\n notDetectedWallets,\n isLoading,\n }}\n >\n {children}\n </WalletContext.Provider>\n );\n};\n","import { useContext, createContext } from \"react\";\nimport {\n AccountAuthenticator,\n AccountInfo,\n AdapterWallet,\n AnyRawTransaction,\n MovementSignAndSubmitTransactionOutput,\n InputTransactionData,\n NetworkInfo,\n MovementSignMessageInput,\n MovementSignMessageOutput,\n AdapterNotDetectedWallet,\n Network,\n MovementChangeNetworkOutput,\n PendingTransactionResponse,\n InputSubmitTransactionData,\n MovementSignInInput,\n MovementSignInOutput,\n} from \"@moveindustries/wallet-adapter-core\";\n\nexport interface WalletContextState {\n connected: boolean;\n isLoading: boolean;\n account: AccountInfo | null;\n network: NetworkInfo | null;\n connect(walletName: string): void;\n signIn(args: {\n walletName: string;\n input: MovementSignInInput;\n }): Promise<MovementSignInOutput | void>;\n signAndSubmitTransaction(\n transaction: InputTransactionData,\n ): Promise<MovementSignAndSubmitTransactionOutput>;\n signTransaction(args: {\n transactionOrPayload: AnyRawTransaction | InputTransactionData;\n asFeePayer?: boolean;\n }): Promise<{\n authenticator: AccountAuthenticator;\n rawTransaction: Uint8Array;\n }>;\n signMessage(message: MovementSignMessageInput): Promise<MovementSignMessageOutput>;\n signMessageAndVerify(message: MovementSignMessageInput): Promise<boolean>;\n disconnect(): void;\n changeNetwork(network: Network): Promise<MovementChangeNetworkOutput>;\n submitTransaction(\n transaction: InputSubmitTransactionData,\n ): Promise<PendingTransactionResponse>;\n refetchMnsName(): Promise<void>;\n wallet: AdapterWallet | null;\n wallets: ReadonlyArray<AdapterWallet>;\n notDetectedWallets: ReadonlyArray<AdapterNotDetectedWallet>;\n}\n\nconst DEFAULT_CONTEXT = {\n connected: false,\n};\n\nexport const WalletContext = createContext<WalletContextState>(\n DEFAULT_CONTEXT as WalletContextState,\n);\n\nexport function useWallet(): WalletContextState {\n const context = useContext(WalletContext);\n if (!context) {\n throw new Error(\"useWallet must be used within a WalletContextState\");\n }\n return context;\n}\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { ReactNode, cloneElement, forwardRef, isValidElement } from \"react\";\n\nexport interface HeadlessComponentProps {\n /** A class name for styling the element. */\n className?: string;\n /**\n * Whether to render as the child element instead of the default element provided.\n * All props will be merged into the child element.\n */\n asChild?: boolean;\n children?: ReactNode;\n}\n\n/**\n * Gets an HTML element type from its tag name\n * @example\n * HTMLElementFromTag<\"img\"> // resolved type: HTMLImageElement\n */\ntype HTMLElementFromTag<T extends keyof JSX.IntrinsicElements> =\n JSX.IntrinsicElements[T] extends React.ClassAttributes<infer Element>\n ? Element\n : HTMLElement;\n\nexport function createHeadlessComponent<\n TElement extends keyof JSX.IntrinsicElements,\n>(\n displayName: string,\n elementType: TElement,\n props?:\n | JSX.IntrinsicElements[TElement]\n | ((displayName: string) => JSX.IntrinsicElements[TElement]),\n) {\n const component = forwardRef<\n HTMLElementFromTag<TElement>,\n HeadlessComponentProps\n >(({ className, asChild, children }, ref) => {\n const Component = asChild ? Slot : elementType;\n\n const { children: defaultChildren, ...resolvedProps } =\n typeof props === \"function\" ? props(displayName) : (props ?? {});\n const resolvedChildren =\n /**\n * Use props' default children if no children are set in the component element's children and when asChild is true.\n */\n asChild && isValidElement(children) && !children.props.children\n ? cloneElement(children, {}, defaultChildren)\n : (children ?? defaultChildren);\n\n return (\n /**\n * Due to the complexity of the types at play, TypeScript reports the\n * following error for our JSX below:\n *\n * `Expression produces a union type that is too complex to represent.`\n *\n * We can safely ignore this error and retain accurate return types for\n * consumers of this function. The only drawback is that type-checking is\n * ignored for the JSX block below.\n */\n // @ts-expect-error\n <Component ref={ref} className={className} {...resolvedProps}>\n {resolvedChildren}\n </Component>\n );\n });\n component.displayName = displayName;\n\n return component;\n}\n","// TODO: Re-enable when Movement supports social sign-in (Movement Connect)\n// This is a stub component that just renders children - social sign-in education screens are disabled\n\nimport {\n ForwardRefExoticComponent,\n ReactNode,\n RefAttributes,\n SVGProps,\n} from \"react\";\nimport { HeadlessComponentProps, createHeadlessComponent } from \"./utils\";\n\n/** @deprecated Use AboutPetraWeb instead. Social sign-in disabled. */\nexport interface AboutMovementConnectEducationScreen {\n Graphic: ForwardRefExoticComponent<\n Omit<SVGProps<SVGSVGElement>, \"ref\"> & RefAttributes<SVGSVGElement>\n >;\n Title: ForwardRefExoticComponent<\n HeadlessComponentProps & RefAttributes<HTMLHeadingElement>\n >;\n Description: ForwardRefExoticComponent<\n HeadlessComponentProps & RefAttributes<HTMLParagraphElement>\n >;\n screenIndex: number;\n totalScreens: number;\n screenIndicators: ForwardRefExoticComponent<HeadlessComponentProps & RefAttributes<HTMLButtonElement>>[];\n back: () => void;\n next: () => void;\n cancel: () => void;\n}\n\n/** @deprecated Use AboutPetraWebProps instead. Social sign-in disabled. */\nexport interface AboutMovementConnectProps {\n renderEducationScreen: (screen: AboutMovementConnectEducationScreen) => ReactNode;\n children?: ReactNode;\n}\n\n/**\n * @deprecated Social sign-in disabled - this component just renders children without any education screens\n */\nconst Root = ({ children }: AboutMovementConnectProps) => {\n return <>{children}</>;\n};\nRoot.displayName = \"AboutMovementConnect\";\n\nconst Trigger = createHeadlessComponent(\n \"AboutMovementConnect.Trigger\",\n \"button\",\n () => ({\n // No-op since social sign-in is disabled\n onClick: () => {},\n style: { display: \"none\" },\n }),\n);\n\n/**\n * @deprecated Social sign-in disabled - this component just renders children\n */\nexport const AboutMovementConnect = Object.assign(Root, {\n Trigger,\n});\n","// TODO: Re-enable when Movement supports social sign-in (Petra Web)\n// This is a stub component that just renders children - social sign-in education screens are disabled\n\nimport {\n ForwardRefExoticComponent,\n ReactNode,\n RefAttributes,\n SVGProps,\n} from \"react\";\nimport { HeadlessComponentProps, createHeadlessComponent } from \"./utils\";\n\n/** @deprecated Social sign-in disabled */\nexport const EXPLORE_ECOSYSTEM_URL = \"https://movementlabs.xyz/ecosystem\";\n\n/** @deprecated Social sign-in disabled */\nexport interface AboutPetraWebEducationScreen {\n Graphic: ForwardRefExoticComponent<\n Omit<SVGProps<SVGSVGElement>, \"ref\"> & RefAttributes<SVGSVGElement>\n >;\n Title: ForwardRefExoticComponent<\n HeadlessComponentProps & RefAttributes<HTMLHeadingElement>\n >;\n Description: ForwardRefExoticComponent<\n HeadlessComponentProps & RefAttributes<HTMLParagraphElement>\n >;\n screenIndex: number;\n totalScreens: number;\n screenIndicators: ForwardRefExoticComponent<HeadlessComponentProps & RefAttributes<HTMLButtonElement>>[];\n back: () => void;\n next: () => void;\n cancel: () => void;\n}\n\n/** @deprecated Social sign-in disabled */\nexport interface AboutPetraWebProps {\n renderEducationScreen: (screen: AboutPetraWebEducationScreen) => ReactNode;\n children?: ReactNode;\n}\n\n/**\n * @deprecated Social sign-in disabled - this component just renders children without any education screens\n */\nconst Root = ({ children }: AboutPetraWebProps) => {\n return <>{children}</>;\n};\nRoot.displayName = \"AboutPetraWeb\";\n\nconst Trigger = createHeadlessComponent(\n \"AboutPetraWeb.Trigger\",\n \"button\",\n () => ({\n // No-op since social sign-in is disabled\n onClick: () => {},\n style: { display: \"none\" },\n }),\n);\n\n/**\n * @deprecated Social sign-in disabled - this component just renders children\n */\nexport const AboutPetraWeb = Object.assign(Root, {\n Trigger,\n});\n","import { forwardRef } from \"react\";\nimport { SmallMovementLogo } from \"../graphics/SmallMovementLogo\";\nimport { HeadlessComponentProps, createHeadlessComponent } from \"./utils\";\n\nexport const MOVEMENT_PRIVACY_POLICY_URL = \"https://movementlabs.xyz/privacy\";\n\nconst Root = createHeadlessComponent(\"MovementPrivacyPolicy.Root\", \"div\");\n\nconst Disclaimer = createHeadlessComponent(\n \"MovementPrivacyPolicy.Disclaimer\",\n \"span\",\n { children: \"By continuing, you agree to Movement Labs'\" },\n);\n\nconst Link = createHeadlessComponent(\"MovementPrivacyPolicy.Disclaimer\", \"a\", {\n href: MOVEMENT_PRIVACY_POLICY_URL,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: \"Privacy Policy\",\n});\n\nconst PoweredBy = forwardRef<\n HTMLDivElement,\n Pick<HeadlessComponentProps, \"className\">\n>(({ className }, ref) => {\n return (\n <div ref={ref} className={className}>\n <span>Powered by</span>\n <SmallMovementLogo />\n <span>Movement Labs</span>\n </div>\n );\n});\nPoweredBy.displayName = \"MovementPrivacyPolicy.PoweredBy\";\n\n/**\n * A headless component for rendering the Movement Labs privacy policy disclaimer\n * that should be placed under the Petra Web login options.\n */\nexport const MovementPrivacyPolicy = Object.assign(Root, {\n Disclaimer,\n Link,\n PoweredBy,\n});\n","import { SVGProps, forwardRef } from \"react\";\n\nexport const SmallMovementLogo = forwardRef<\n SVGSVGElement,\n SVGProps<SVGSVGElement>\n>((props, ref) => {\n return (\n <svg\n ref={ref}\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6 12C9.31371 12 12 9.31371 12 6C12 2.68629 9.31371 0 6 0C2.68629 0 0 2.68629 0 6C0 9.31371 2.68629 12 6 12ZM7.17547 3.67976C7.13401 3.72309 7.07649 3.74757 7.01648 3.74757H3.00775C3.69185 2.83824 4.77995 2.25 6.00569 2.25C7.23142 2.25 8.31953 2.83824 9.00362 3.74757H8.28524C8.20824 3.74757 8.13498 3.71468 8.08401 3.65701L7.81608 3.35416C7.77618 3.30896 7.71882 3.28308 7.6585 3.28308H7.6454C7.58805 3.28308 7.53318 3.30646 7.49343 3.34792L7.17547 3.67976ZM8.05656 4.75897H7.39569C7.31869 4.75897 7.24543 4.72593 7.19447 4.66842L6.92638 4.36557C6.88647 4.32036 6.82896 4.29465 6.7688 4.29465C6.70863 4.29465 6.65112 4.32052 6.61121 4.36557L6.38131 4.6254C6.30603 4.71034 6.19801 4.75913 6.08454 4.75913H2.46703C2.36401 5.05278 2.29683 5.36296 2.27002 5.68467H5.68505C5.74506 5.68467 5.80258 5.66019 5.84404 5.61686L6.16201 5.28502C6.20175 5.24356 6.25662 5.22018 6.31398 5.22018H6.32707C6.38739 5.22018 6.44475 5.24606 6.48465 5.29126L6.75258 5.59411C6.80355 5.65178 6.87681 5.68467 6.95381 5.68467H9.74133C9.71452 5.3628 9.64734 5.05263 9.54431 4.75913H8.05641L8.05656 4.75897ZM4.33651 7.63095C4.39652 7.63095 4.45404 7.60648 4.4955 7.56315L4.81347 7.23131C4.85321 7.18985 4.90808 7.16647 4.96544 7.16647H4.97853C5.03885 7.16647 5.09621 7.19234 5.13611 7.23739L5.40404 7.54024C5.45501 7.59791 5.52827 7.6308 5.60527 7.6308H9.38285C9.52438 7.33839 9.62803 7.02463 9.68975 6.69591H6.06383C5.98683 6.69591 5.91357 6.66287 5.8626 6.60535L5.59467 6.3025C5.55477 6.2573 5.49725 6.23158 5.43709 6.23158C5.37692 6.23158 5.31941 6.25746 5.27951 6.3025L5.0496 6.56233C4.97432 6.64728 4.86631 6.69606 4.75268 6.69606H2.32147C2.3832 7.02479 2.487 7.33855 2.62837 7.63095H4.33651ZM5.57359 8.55745H4.59116C4.51417 8.55745 4.44091 8.52441 4.38994 8.46689L4.12201 8.16404C4.0821 8.11884 4.02459 8.09312 3.96442 8.09312C3.90426 8.09312 3.84675 8.119 3.80684 8.16404L3.57694 8.42387C3.50166 8.50882 3.39364 8.55761 3.28001 8.55761H3.26474C3.94915 9.29096 4.92378 9.74998 6.00596 9.74998C7.08815 9.74998 8.06262 9.29096 8.74719 8.55761H5.57359V8.55745Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n});\nSmallMovementLogo.displayName = \"SmallMovementLogo\";\n","import {\n AdapterNotDetectedWallet,\n AdapterWallet,\n WalletReadyState,\n isRedirectable,\n} from \"@moveindustries/wallet-adapter-core\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { createContext, forwardRef, useCallback, useContext } from \"react\";\nimport { useWallet } from \"../useWallet\";\nimport { HeadlessComponentProps, createHeadlessComponent } from \"./utils\";\n\nexport interface WalletItemProps extends HeadlessComponentProps {\n /** The wallet option to be displayed. */\n wallet: AdapterWallet | AdapterNotDetectedWallet;\n /** A callback to be invoked when the wallet is connected. */\n onConnect?: () => void;\n}\n\nfunction useWalletItemContext(displayName: string) {\n const context = useContext(WalletItemContext);\n\n if (!context) {\n throw new Error(`\\`${displayName}\\` must be used within \\`WalletItem\\``);\n }\n\n return context;\n}\n\nconst WalletItemContext = createContext<{\n wallet: AdapterWallet | AdapterNotDetectedWallet;\n connectWallet: () => void;\n} | null>(null);\n\nconst Root = forwardRef<HTMLDivElement, WalletItemProps>(\n ({ wallet, onConnect, className, asChild, children }, ref) => {\n const { connect } = useWallet();\n\n const connectWallet = useCallback(() => {\n connect(wallet.name);\n onConnect?.();\n }, [connect, wallet.name, onConnect]);\n\n const isWalletReady = wallet.readyState === WalletReadyState.Installed;\n\n const mobileSupport =\n \"deeplinkProvider\" in wallet && wallet.deeplinkProvider;\n\n if (!isWalletReady && isRedirectable() && !mobileSupport) return null;\n\n const Component = asChild ? Slot : \"div\";\n\n return (\n <WalletItemContext.Provider value={{ wallet, connectWallet }}>\n <Component ref={ref} className={className}>\n {children}\n </Component>\n </WalletItemContext.Provider>\n );\n },\n);\nRoot.displayName = \"WalletItem\";\n\nconst Icon = createHeadlessComponent(\n \"WalletItem.Icon\",\n \"img\",\n (displayName) => {\n const context = useWalletItemContext(displayName);\n\n return {\n src: context.wallet.icon,\n alt: `${context.wallet.name} icon`,\n };\n },\n);\n\nconst Name = createHeadlessComponent(\n \"WalletItem.Name\",\n \"div\",\n (displayName) => {\n const context = useWalletItemContext(displayName);\n\n return {\n children: context.wallet.name,\n };\n },\n);\n\nconst ConnectButton = createHeadlessComponent(\n \"WalletItem.ConnectButton\",\n \"button\",\n (displayName) => {\n const context = useWalletItemContext(displayName);\n\n return {\n onClick: context.connectWallet,\n children: \"Connect\",\n };\n },\n);\n\nconst InstallLink = createHeadlessComponent(\n \"WalletItem.InstallLink\",\n \"a\",\n (displayName) => {\n const context = useWalletItemContext(displayName);\n\n return {\n href: context.wallet.url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: \"Install\",\n };\n },\n);\n\n/** A headless component for rendering a wallet option's name, icon, and either connect button or install link. */\nexport const WalletItem = Object.assign(Root, {\n Icon,\n Name,\n ConnectButton,\n InstallLink,\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,cAAc;;;ACAd;AAAA,EAcE;AAAA,EAIA;AAAA,OAGK;AACP,SAAwB,UAAU,WAAW,aAAa,cAAc;;;ACtBxE,SAAS,YAAY,qBAAqB;AAqD1C,IAAM,kBAAkB;AAAA,EACtB,WAAW;AACb;AAEO,IAAM,gBAAgB;AAAA,EAC3B;AACF;AAEO,SAAS,YAAgC;AAC9C,QAAM,UAAU,WAAW,aAAa;AACxC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,oDAAoD;AAAA,EACtE;AACA,SAAO;AACT;;;ADyVI;AAxXJ,IAAM,eAKF;AAAA,EACF,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AACV;AAEO,IAAM,gCAAiE,CAAC;AAAA,EAC7E;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA,mBAAmB;AAAA,EACnB;AACF,MAAmC;AACjC,QAAM,2BAA2B,OAAO,KAAK;AAE7C,QAAM,CAAC,EAAE,SAAS,SAAS,WAAW,OAAO,GAAG,QAAQ,IACtD,SAAS,YAAY;AAEvB,QAAM,CAAC,WAAW,YAAY,IAAI,SAAkB,IAAI;AACxD,QAAM,CAAC,YAAY,aAAa,IAAI,SAAqB;AAEzD,QAAM,CAAC,SAAS,UAAU,IAAI,SAAuC,CAAC,CAAC;AACvE,QAAM,CAAC,oBAAoB,qBAAqB,IAAI,SAElD,CAAC,CAAC;AAEJ,YAAU,MAAM;AACd,UAAMA,cAAa,IAAI;AAAA,MACrB;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,kBAAcA,WAAU;AAAA,EAC1B,GAAG,CAAC,CAAC;AAGL,YAAU,MAAM;AA/ElB;AAgFI,gBAAW,8CAAY,YAAZ,YAAuB,CAAC,CAAC;AACpC,2BAAsB,8CAAY,uBAAZ,YAAkC,CAAC,CAAC;AAAA,EAC5D,GAAG,CAAC,UAAU,CAAC;AAEf,YAAU,MAAM;AAEd,QAAI,yBAAyB,WAAW,EAAC,yCAAY,QAAQ,SAAQ;AACnE;AAAA,IACF;AACA,6BAAyB,UAAU;AAGnC,QAAI,CAAC,aAAa;AAChB,mBAAa,KAAK;AAClB;AAAA,IACF;AAGA,UAAM,aAAa,aAAa,QAAQ,oBAAoB;AAC5D,QAAI,CAAC,YAAY;AACf,mBAAa,KAAK;AAClB;AAAA,IACF;AAGA,UAAM,iBAAiB,WAAW,QAAQ;AAAA,MACxC,CAAC,MAAM,EAAE,SAAS;AAAA,IACpB;AACA,QACE,CAAC,kBACD,eAAe,eAAe,iBAAiB,WAC/C;AACA,mBAAa,KAAK;AAClB;AAAA,IACF;AAEA,QAAI,CAAC,WAAW;AACd,OAAC,MAAY;AACX,YAAI;AACF,cAAI,gBAAgB;AAMpB,cAAI,OAAO,gBAAgB,YAAY;AACrC,4BAAgB,MAAM,YAAY,YAAY,cAAc;AAAA,UAC9D,OAAO;AACL,4BAAgB;AAAA,UAClB;AAEA,cAAI,cAAe,OAAM,QAAQ,UAAU;AAAA,QAC7C,SAAS,OAAO;AACd,cAAI,QAAS,SAAQ,KAAK;AAC1B,iBAAO,QAAQ,OAAO,KAAK;AAAA,QAC7B,UAAE;AACA,uBAAa,KAAK;AAAA,QACpB;AAAA,MACF,IAAG;AAAA,IACL,OAAO;AACL,mBAAa,KAAK;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,aAAa,OAAO,CAAC;AAEzB,QAAM,UAAU,CAAO,eAAsC;AAC3D,QAAI;AACF,mBAAa,IAAI;AACjB,YAAM,yCAAY,QAAQ;AAAA,IAC5B,SAAS,OAAY;AACnB,UAAI,QAAS,SAAQ,KAAK;AAC1B,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B,UAAE;AACA,mBAAa,KAAK;AAAA,IACpB;AAAA,EACF;AAEA,QAAM,SAAS,CAAO,SAGe;AACnC,QAAI,CAAC,YAAY;AACf,YAAM,IAAI,MAAM,+BAA+B;AAAA,IACjD;AAEA,QAAI;AACF,mBAAa,IAAI;AACjB,aAAO,MAAM,yCAAY,OAAO;AAAA,IAClC,SAAS,OAAY;AACnB,UAAI,QAAS,SAAQ,KAAK;AAC1B,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B,UAAE;AACA,mBAAa,KAAK;AAAA,IACpB;AAAA,EACF;AAEA,QAAM,aAAa,MAA2B;AAC5C,QAAI;AACF,YAAM,yCAAY;AAAA,IACpB,SAAS,OAAO;AACd,UAAI,QAAS,SAAQ,KAAK;AAC1B,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,2BAA2B,CAC/B,gBACoD;AACpD,QAAI;AACF,UAAI,CAAC,YAAY;AACf,cAAM,IAAI,MAAM,+BAA+B;AAAA,MACjD;AACA,aAAO,MAAM,WAAW,yBAAyB,WAAW;AAAA,IAC9D,SAAS,OAAY;AACnB,UAAI,QAAS,SAAQ,KAAK;AAC1B,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,kBAAkB,CAAO,SAUzB;AACJ,UAAM,EAAE,sBAAsB,YAAY,QAAQ,IAAI;AACtD,QAAI,CAAC,YAAY;AACf,YAAM,IAAI,MAAM,+BAA+B;AAAA,IACjD;AACA,QAAI;AACF,aAAO,MAAM,WAAW,gBAAgB;AAAA,QACtC;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH,SAAS,OAAY;AACnB,UAAI,QAAS,SAAQ,KAAK;AAC1B,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,oBAAoB,CACxB,gBACwC;AACxC,QAAI,CAAC,YAAY;AACf,YAAM,IAAI,MAAM,+BAA+B;AAAA,IACjD;AACA,QAAI;AACF,aAAO,MAAM,yCAAY,kBAAkB;AAAA,IAC7C,SAAS,OAAY;AACnB,UAAI,QAAS,SAAQ,KAAK;AAC1B,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,cAAc,CAClB,YACuC;AACvC,QAAI,CAAC,YAAY;AACf,YAAM,IAAI,MAAM,+BAA+B;AAAA,IACjD;AACA,QAAI;AACF,aAAO,MAAM,yCAAY,YAAY;AAAA,IACvC,SAAS,OAAY;AACnB,UAAI,QAAS,SAAQ,KAAK;AAC1B,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,uBAAuB,CAC3B,YACqB;AACrB,QAAI,CAAC,YAAY;AACf,YAAM,IAAI,MAAM,+BAA+B;AAAA,IACjD;AACA,QAAI;AACF,aAAO,MAAM,yCAAY,qBAAqB;AAAA,IAChD,SAAS,OAAY;AACnB,UAAI,QAAS,SAAQ,KAAK;AAC1B,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,gBAAgB,CAAOC,aAAqB;AAChD,QAAI,CAAC,YAAY;AACf,YAAM,IAAI,MAAM,+BAA+B;AAAA,IACjD;AACA,QAAI;AACF,aAAO,MAAM,yCAAY,cAAcA;AAAA,IACzC,SAAS,OAAY;AACnB,UAAI,QAAS,SAAQ,KAAK;AAC1B,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,iBAAiB,MAA2B;AAChD,QAAI,CAAC,YAAY;AACf,YAAM,IAAI,MAAM,+BAA+B;AAAA,IACjD;AACA,QAAI;AACF,YAAM,WAAW,eAAe;AAAA,IAClC,SAAS,OAAY;AACnB,UAAI,QAAS,SAAQ,KAAK;AAC1B,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B;AAAA,EACF;AAGA,QAAM,gBAAgB,MAAY;AAChC,aAAS,CAAC,UAAU;AAClB,aAAO,iCACF,QADE;AAAA,QAEL,WAAW;AAAA,QACX,UAAS,yCAAY,YAAW;AAAA,QAChC,UAAS,yCAAY,YAAW;AAAA,QAChC,SAAQ,yCAAY,WAAU;AAAA,MAChC;AAAA,IACF,CAAC;AAAA,EACH;AAGA,QAAM,sBAAsB,YAAY,MAAY;AAClD,QAAI,CAAC,UAAW;AAChB,QAAI,EAAC,yCAAY,QAAQ;AACzB,aAAS,CAAC,UAAU;AAClB,aAAO,iCACF,QADE;AAAA,QAEL,UAAS,yCAAY,YAAW;AAAA,MAClC;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,SAAS,CAAC;AAGd,QAAM,sBAAsB,YAAY,MAAY;AAClD,QAAI,CAAC,UAAW;AAChB,QAAI,EAAC,yCAAY,QAAQ;AACzB,aAAS,CAAC,UAAU;AAClB,aAAO,iCACF,QADE;AAAA,QAEL,UAAS,yCAAY,YAAW;AAAA,MAClC;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,SAAS,CAAC;AAEd,YAAU,MAAM;AACd,QAAI,WAAW;AACb,+CAAY;AACZ,+CAAY;AAAA,IACd;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAGd,QAAM,mBAAmB,MAAY;AACnC,QAAI,CAAC,UAAW;AAChB,aAAS,CAAC,UAAU;AAClB,aAAO,iCACF,QADE;AAAA,QAEL,WAAW;AAAA,QACX,UAAS,yCAAY,YAAW;AAAA,QAChC,UAAS,yCAAY,YAAW;AAAA,QAChC,QAAQ;AAAA,MACV;AAAA,IACF,CAAC;AAAA,EACH;AAEA,QAAM,6BAA6B,CAAC,mBAAwC;AAG1E,UAAM,sBAAsB,QAAQ;AAAA,MAClC,CAACC,YAAWA,QAAO,QAAQ,eAAe;AAAA,IAC5C;AACA,QAAI,wBAAwB,IAAI;AAE9B,iBAAW,CAACC,aAAY;AAAA,QACtB,GAAGA,SAAQ,MAAM,GAAG,mBAAmB;AAAA,QACvC;AAAA,QACA,GAAGA,SAAQ,MAAM,sBAAsB,CAAC;AAAA,MAC1C,CAAC;AAAA,IACH,OAAO;AAEL,iBAAW,CAACA,aAAY,CAAC,GAAGA,UAAS,cAAc,CAAC;AAAA,IACtD;AAAA,EACF;AAEA,QAAM,wCAAwC,CAC5C,sBACS;AAGT,UAAM,sBAAsB,QAAQ;AAAA,MAClC,CAACD,YAAWA,QAAO,QAAQ,kBAAkB;AAAA,IAC/C;AACA,QAAI,wBAAwB,IAAI;AAE9B,4BAAsB,CAACC,aAAY;AAAA,QACjC,GAAGA,SAAQ,MAAM,GAAG,mBAAmB;AAAA,QACvC;AAAA,QACA,GAAGA,SAAQ,MAAM,sBAAsB,CAAC;AAAA,MAC1C,CAAC;AAAA,IACH,OAAO;AAEL,4BAAsB,CAACA,aAAY,CAAC,GAAGA,UAAS,iBAAiB,CAAC;AAAA,IACpE;AAAA,EACF;AAEA,YAAU,MAAM;AACd,6CAAY,GAAG,WAAW;AAC1B,6CAAY,GAAG,iBAAiB;AAChC,6CAAY,GAAG,iBAAiB;AAChC,6CAAY,GAAG,cAAc;AAC7B,6CAAY,GAAG,wBAAwB;AACvC,6CAAY;AAAA,MACV;AAAA,MACA;AAAA;AAEF,WAAO,MAAM;AACX,+CAAY,IAAI,WAAW;AAC3B,+CAAY,IAAI,iBAAiB;AACjC,+CAAY,IAAI,iBAAiB;AACjC,+CAAY,IAAI,cAAc;AAC9B,+CAAY,IAAI,wBAAwB;AACxC,+CAAY;AAAA,QACV;AAAA,QACA;AAAA;AAAA,IAEJ;AAAA,EACF,GAAG,CAAC,SAAS,OAAO,CAAC;AAErB,SACE;AAAA,IAAC,cAAc;AAAA,IAAd;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;;;AEpbA,SAAS,YAAY;AACrB,SAAoB,cAAc,YAAY,sBAAsB;AA4D9D,gBAAAC,YAAA;AArCC,SAAS,wBAGd,aACA,aACA,OAGA;AACA,QAAM,YAAY,WAGhB,CAAC,EAAE,WAAW,SAAS,SAAS,GAAG,QAAQ;AAC3C,UAAM,YAAY,UAAU,OAAO;AAEnC,UACE,YAAO,UAAU,aAAa,MAAM,WAAW,IAAK,wBAAS,CAAC,GADxD,YAAU,gBAvCtB,IAwCM,IADoC,0BACpC,IADoC,CAA9B;AAER,UAAM;AAAA;AAAA;AAAA;AAAA,MAIJ,WAAW,eAAe,QAAQ,KAAK,CAAC,SAAS,MAAM,WACnD,aAAa,UAAU,CAAC,GAAG,eAAe,IACzC,8BAAY;AAAA;AAEnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAYE,gBAAAA,KAAC,0CAAU,KAAU,aAA0B,gBAA9C,EACE,6BACH;AAAA;AAAA,EAEJ,CAAC;AACD,YAAU,cAAc;AAExB,SAAO;AACT;;;AC7BS,0BAAAC,YAAA;AADT,IAAM,OAAO,CAAC,EAAE,SAAS,MAAiC;AACxD,SAAO,gBAAAA,KAAA,YAAG,UAAS;AACrB;AACA,KAAK,cAAc;AAEnB,IAAM,UAAU;AAAA,EACd;AAAA,EACA;AAAA,EACA,OAAO;AAAA;AAAA,IAEL,SAAS,MAAM;AAAA,IAAC;AAAA,IAChB,OAAO,EAAE,SAAS,OAAO;AAAA,EAC3B;AACF;AAKO,IAAM,uBAAuB,OAAO,OAAO,MAAM;AAAA,EACtD;AACF,CAAC;;;AChBQ,qBAAAC,WAAA,OAAAC,YAAA;AA/BF,IAAM,wBAAwB;AA8BrC,IAAMC,QAAO,CAAC,EAAE,SAAS,MAA0B;AACjD,SAAO,gBAAAD,KAAAD,WAAA,EAAG,UAAS;AACrB;AACAE,MAAK,cAAc;AAEnB,IAAMC,WAAU;AAAA,EACd;AAAA,EACA;AAAA,EACA,OAAO;AAAA;AAAA,IAEL,SAAS,MAAM;AAAA,IAAC;AAAA,IAChB,OAAO,EAAE,SAAS,OAAO;AAAA,EAC3B;AACF;AAKO,IAAM,gBAAgB,OAAO,OAAOD,OAAM;AAAA,EAC/C,SAAAC;AACF,CAAC;;;AC9DD,SAAS,cAAAC,mBAAkB;;;ACA3B,SAAmB,cAAAC,mBAAkB;AAe/B,gBAAAC,YAAA;AAbC,IAAM,oBAAoBC,YAG/B,CAAC,OAAO,QAAQ;AAChB,SACE,gBAAAD;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,OACD,QANL;AAAA,MAQC,0BAAAA;AAAA,QAAC;AAAA;AAAA,UACC,UAAS;AAAA,UACT,UAAS;AAAA,UACT,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP;AAAA;AAAA,EACF;AAEJ,CAAC;AACD,kBAAkB,cAAc;;;ADE5B,SACE,OAAAE,MADF;AAtBG,IAAM,8BAA8B;AAE3C,IAAMC,QAAO,wBAAwB,8BAA8B,KAAK;AAExE,IAAM,aAAa;AAAA,EACjB;AAAA,EACA;AAAA,EACA,EAAE,UAAU,6CAA6C;AAC3D;AAEA,IAAM,OAAO,wBAAwB,oCAAoC,KAAK;AAAA,EAC5E,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,UAAU;AACZ,CAAC;AAED,IAAM,YAAYC,YAGhB,CAAC,EAAE,UAAU,GAAG,QAAQ;AACxB,SACE,qBAAC,SAAI,KAAU,WACb;AAAA,oBAAAF,KAAC,UAAK,wBAAU;AAAA,IAChB,gBAAAA,KAAC,qBAAkB;AAAA,IACnB,gBAAAA,KAAC,UAAK,2BAAa;AAAA,KACrB;AAEJ,CAAC;AACD,UAAU,cAAc;AAMjB,IAAM,wBAAwB,OAAO,OAAOC,OAAM;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AACF,CAAC;;;AE3CD;AAAA,EAGE,oBAAAE;AAAA,EACA;AAAA,OACK;AACP,SAAS,QAAAC,aAAY;AACrB,SAAS,iBAAAC,gBAAe,cAAAC,aAAY,eAAAC,cAAa,cAAAC,mBAAkB;AA8C3D,gBAAAC,YAAA;AAnCR,SAAS,qBAAqB,aAAqB;AACjD,QAAM,UAAUC,YAAW,iBAAiB;AAE5C,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,KAAK,WAAW,uCAAuC;AAAA,EACzE;AAEA,SAAO;AACT;AAEA,IAAM,oBAAoBC,eAGhB,IAAI;AAEd,IAAMC,QAAOC;AAAA,EACX,CAAC,EAAE,QAAQ,WAAW,WAAW,SAAS,SAAS,GAAG,QAAQ;AAC5D,UAAM,EAAE,QAAQ,IAAI,UAAU;AAE9B,UAAM,gBAAgBC,aAAY,MAAM;AACtC,cAAQ,OAAO,IAAI;AACnB;AAAA,IACF,GAAG,CAAC,SAAS,OAAO,MAAM,SAAS,CAAC;AAEpC,UAAM,gBAAgB,OAAO,eAAeC,kBAAiB;AAE7D,UAAM,gBACJ,sBAAsB,UAAU,OAAO;AAEzC,QAAI,CAAC,iBAAiB,eAAe,KAAK,CAAC,cAAe,QAAO;AAEjE,UAAM,YAAY,UAAUC,QAAO;AAEnC,WACE,gBAAAP,KAAC,kBAAkB,UAAlB,EAA2B,OAAO,EAAE,QAAQ,cAAc,GACzD,0BAAAA,KAAC,aAAU,KAAU,WAClB,UACH,GACF;AAAA,EAEJ;AACF;AACAG,MAAK,cAAc;AAEnB,IAAM,OAAO;AAAA,EACX;AAAA,EACA;AAAA,EACA,CAAC,gBAAgB;AACf,UAAM,UAAU,qBAAqB,WAAW;AAEhD,WAAO;AAAA,MACL,KAAK,QAAQ,OAAO;AAAA,MACpB,KAAK,GAAG,QAAQ,OAAO,IAAI;AAAA,IAC7B;AAAA,EACF;AACF;AAEA,IAAM,OAAO;AAAA,EACX;AAAA,EACA;AAAA,EACA,CAAC,gBAAgB;AACf,UAAM,UAAU,qBAAqB,WAAW;AAEhD,WAAO;AAAA,MACL,UAAU,QAAQ,OAAO;AAAA,IAC3B;AAAA,EACF;AACF;AAEA,IAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA,CAAC,gBAAgB;AACf,UAAM,UAAU,qBAAqB,WAAW;AAEhD,WAAO;AAAA,MACL,SAAS,QAAQ;AAAA,MACjB,UAAU;AAAA,IACZ;AAAA,EACF;AACF;AAEA,IAAM,cAAc;AAAA,EAClB;AAAA,EACA;AAAA,EACA,CAAC,gBAAgB;AACf,UAAM,UAAU,qBAAqB,WAAW;AAEhD,WAAO;AAAA,MACL,MAAM,QAAQ,OAAO;AAAA,MACrB,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,EACF;AACF;AAGO,IAAM,aAAa,OAAO,OAAOA,OAAM;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;","names":["walletCore","network","wallet","wallets","jsx","jsx","Fragment","jsx","Root","Trigger","forwardRef","forwardRef","jsx","forwardRef","jsx","Root","forwardRef","WalletReadyState","Slot","createContext","forwardRef","useCallback","useContext","jsx","useContext","createContext","Root","forwardRef","useCallback","WalletReadyState","Slot"]}
@@ -22,6 +22,7 @@ export interface WalletContextState {
22
22
  disconnect(): void;
23
23
  changeNetwork(network: Network): Promise<MovementChangeNetworkOutput>;
24
24
  submitTransaction(transaction: InputSubmitTransactionData): Promise<PendingTransactionResponse>;
25
+ refetchMnsName(): Promise<void>;
25
26
  wallet: AdapterWallet | null;
26
27
  wallets: ReadonlyArray<AdapterWallet>;
27
28
  notDetectedWallets: ReadonlyArray<AdapterNotDetectedWallet>;
@@ -1 +1 @@
1
- {"version":3,"file":"useWallet.d.ts","sourceRoot":"","sources":["../src/useWallet.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,sCAAsC,EACtC,oBAAoB,EACpB,WAAW,EACX,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,OAAO,EACP,2BAA2B,EAC3B,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,qCAAqC,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,IAAI,EAAE;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,mBAAmB,CAAC;KAC5B,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IACzC,wBAAwB,CACtB,WAAW,EAAE,oBAAoB,GAChC,OAAO,CAAC,sCAAsC,CAAC,CAAC;IACnD,eAAe,CAAC,IAAI,EAAE;QACpB,oBAAoB,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;QAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,GAAG,OAAO,CAAC;QACV,aAAa,EAAE,oBAAoB,CAAC;QACpC,cAAc,EAAE,UAAU,CAAC;KAC5B,CAAC,CAAC;IACH,WAAW,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACnF,oBAAoB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,UAAU,IAAI,IAAI,CAAC;IACnB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACtE,iBAAiB,CACf,WAAW,EAAE,0BAA0B,GACtC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACvC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACtC,kBAAkB,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;CAC7D;AAMD,eAAO,MAAM,aAAa,6CAEzB,CAAC;AAEF,wBAAgB,SAAS,IAAI,kBAAkB,CAM9C"}
1
+ {"version":3,"file":"useWallet.d.ts","sourceRoot":"","sources":["../src/useWallet.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,sCAAsC,EACtC,oBAAoB,EACpB,WAAW,EACX,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,OAAO,EACP,2BAA2B,EAC3B,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,qCAAqC,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,IAAI,EAAE;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,mBAAmB,CAAC;KAC5B,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IACzC,wBAAwB,CACtB,WAAW,EAAE,oBAAoB,GAChC,OAAO,CAAC,sCAAsC,CAAC,CAAC;IACnD,eAAe,CAAC,IAAI,EAAE;QACpB,oBAAoB,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;QAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,GAAG,OAAO,CAAC;QACV,aAAa,EAAE,oBAAoB,CAAC;QACpC,cAAc,EAAE,UAAU,CAAC;KAC5B,CAAC,CAAC;IACH,WAAW,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACnF,oBAAoB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,UAAU,IAAI,IAAI,CAAC;IACnB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACtE,iBAAiB,CACf,WAAW,EAAE,0BAA0B,GACtC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACvC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACtC,kBAAkB,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;CAC7D;AAMD,eAAO,MAAM,aAAa,6CAEzB,CAAC;AAEF,wBAAgB,SAAS,IAAI,kBAAkB,CAM9C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moveindustries/wallet-adapter-react",
3
- "version": "7.3.1",
3
+ "version": "7.4.0",
4
4
  "description": "Movement Wallet Adapter React Provider",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "@radix-ui/react-slot": "^1.0.2",
41
- "@moveindustries/wallet-adapter-core": "7.9.1"
41
+ "@moveindustries/wallet-adapter-core": "7.10.0"
42
42
  },
43
43
  "peerDependencies": {
44
44
  "react": "^18.0.0 || ^19.0.0"
@@ -276,6 +276,18 @@ export const MovementWalletAdapterProvider: FC<MovementWalletProviderProps> = ({
276
276
  }
277
277
  };
278
278
 
279
+ const refetchMnsName = async (): Promise<void> => {
280
+ if (!walletCore) {
281
+ throw new Error("WalletCore is not initialized");
282
+ }
283
+ try {
284
+ await walletCore.refetchMnsName();
285
+ } catch (error: any) {
286
+ if (onError) onError(error);
287
+ return Promise.reject(error);
288
+ }
289
+ };
290
+
279
291
  // Handle the adapter's connect event
280
292
  const handleConnect = (): void => {
281
293
  setState((state) => {
@@ -409,6 +421,7 @@ export const MovementWalletAdapterProvider: FC<MovementWalletProviderProps> = ({
409
421
  signMessageAndVerify,
410
422
  changeNetwork,
411
423
  submitTransaction,
424
+ refetchMnsName,
412
425
  account,
413
426
  network,
414
427
  connected,
package/src/useWallet.tsx CHANGED
@@ -45,6 +45,7 @@ export interface WalletContextState {
45
45
  submitTransaction(
46
46
  transaction: InputSubmitTransactionData,
47
47
  ): Promise<PendingTransactionResponse>;
48
+ refetchMnsName(): Promise<void>;
48
49
  wallet: AdapterWallet | null;
49
50
  wallets: ReadonlyArray<AdapterWallet>;
50
51
  notDetectedWallets: ReadonlyArray<AdapterNotDetectedWallet>;