@haneullabs/dapp-kit 0.1.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.
- package/CHANGELOG.md +1445 -0
- package/LICENSE +201 -0
- package/README.md +97 -0
- package/dist/cjs/components/AccountDropdownMenu.css +177 -0
- package/dist/cjs/components/AccountDropdownMenu.css.css +49 -0
- package/dist/cjs/components/AccountDropdownMenu.css.css.map +7 -0
- package/dist/cjs/components/AccountDropdownMenu.css.d.ts +6 -0
- package/dist/cjs/components/AccountDropdownMenu.css.js +37 -0
- package/dist/cjs/components/AccountDropdownMenu.css.js.map +7 -0
- package/dist/cjs/components/AccountDropdownMenu.css.map +7 -0
- package/dist/cjs/components/AccountDropdownMenu.d.ts +10 -0
- package/dist/cjs/components/AccountDropdownMenu.js +423 -0
- package/dist/cjs/components/AccountDropdownMenu.js.map +7 -0
- package/dist/cjs/components/ConnectButton.css +458 -0
- package/dist/cjs/components/ConnectButton.css.map +7 -0
- package/dist/cjs/components/ConnectButton.d.ts +9 -0
- package/dist/cjs/components/ConnectButton.js +880 -0
- package/dist/cjs/components/ConnectButton.js.map +7 -0
- package/dist/cjs/components/HaneulClientProvider.d.ts +25 -0
- package/dist/cjs/components/HaneulClientProvider.js +70 -0
- package/dist/cjs/components/HaneulClientProvider.js.map +7 -0
- package/dist/cjs/components/WalletProvider.d.ts +26 -0
- package/dist/cjs/components/WalletProvider.js +853 -0
- package/dist/cjs/components/WalletProvider.js.map +7 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css +409 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css.css +115 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css.d.ts +11 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css.js +47 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css.js.map +7 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css.map +7 -0
- package/dist/cjs/components/connect-modal/ConnectModal.d.ts +23 -0
- package/dist/cjs/components/connect-modal/ConnectModal.js +604 -0
- package/dist/cjs/components/connect-modal/ConnectModal.js.map +7 -0
- package/dist/cjs/components/connect-modal/InfoSection.css +78 -0
- package/dist/cjs/components/connect-modal/InfoSection.css.css +8 -0
- package/dist/cjs/components/connect-modal/InfoSection.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/InfoSection.css.d.ts +1 -0
- package/dist/cjs/components/connect-modal/InfoSection.css.js +27 -0
- package/dist/cjs/components/connect-modal/InfoSection.css.js.map +7 -0
- package/dist/cjs/components/connect-modal/InfoSection.css.map +7 -0
- package/dist/cjs/components/connect-modal/InfoSection.d.ts +6 -0
- package/dist/cjs/components/connect-modal/InfoSection.js +119 -0
- package/dist/cjs/components/connect-modal/InfoSection.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css +146 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css +32 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.d.ts +5 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.js +35 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.d.ts +8 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.js +165 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.css +145 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.css +23 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.d.ts +3 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.js +31 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.d.ts +1 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.js +172 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css +95 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css +17 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.d.ts +2 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js +29 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.d.ts +1 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js +135 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css +73 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css +8 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.d.ts +1 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.js +27 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.js.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.d.ts +9 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.js +135 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.js.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css +65 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css +33 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.d.ts +4 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js +33 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.d.ts +9 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js +95 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js.map +7 -0
- package/dist/cjs/components/icons/BackIcon.d.ts +2 -0
- package/dist/cjs/components/icons/BackIcon.js +36 -0
- package/dist/cjs/components/icons/BackIcon.js.map +7 -0
- package/dist/cjs/components/icons/CheckIcon.d.ts +2 -0
- package/dist/cjs/components/icons/CheckIcon.js +36 -0
- package/dist/cjs/components/icons/CheckIcon.js.map +7 -0
- package/dist/cjs/components/icons/ChevronIcon.d.ts +2 -0
- package/dist/cjs/components/icons/ChevronIcon.js +39 -0
- package/dist/cjs/components/icons/ChevronIcon.js.map +7 -0
- package/dist/cjs/components/icons/CloseIcon.d.ts +2 -0
- package/dist/cjs/components/icons/CloseIcon.js +36 -0
- package/dist/cjs/components/icons/CloseIcon.js.map +7 -0
- package/dist/cjs/components/styling/InjectedThemeStyles.d.ts +6 -0
- package/dist/cjs/components/styling/InjectedThemeStyles.js +125 -0
- package/dist/cjs/components/styling/InjectedThemeStyles.js.map +7 -0
- package/dist/cjs/components/styling/StyleMarker.css +46 -0
- package/dist/cjs/components/styling/StyleMarker.css.css +46 -0
- package/dist/cjs/components/styling/StyleMarker.css.css.map +7 -0
- package/dist/cjs/components/styling/StyleMarker.css.d.ts +1 -0
- package/dist/cjs/components/styling/StyleMarker.css.js +2 -0
- package/dist/cjs/components/styling/StyleMarker.css.js.map +7 -0
- package/dist/cjs/components/styling/StyleMarker.css.map +7 -0
- package/dist/cjs/components/styling/StyleMarker.d.ts +2 -0
- package/dist/cjs/components/styling/StyleMarker.js +69 -0
- package/dist/cjs/components/styling/StyleMarker.js.map +7 -0
- package/dist/cjs/components/ui/Button.css +44 -0
- package/dist/cjs/components/ui/Button.css.css +44 -0
- package/dist/cjs/components/ui/Button.css.css.map +7 -0
- package/dist/cjs/components/ui/Button.css.d.ts +33 -0
- package/dist/cjs/components/ui/Button.css.js +28 -0
- package/dist/cjs/components/ui/Button.css.js.map +7 -0
- package/dist/cjs/components/ui/Button.css.map +7 -0
- package/dist/cjs/components/ui/Button.d.ts +8 -0
- package/dist/cjs/components/ui/Button.js +60 -0
- package/dist/cjs/components/ui/Button.js.map +7 -0
- package/dist/cjs/components/ui/Heading.css +32 -0
- package/dist/cjs/components/ui/Heading.css.css +32 -0
- package/dist/cjs/components/ui/Heading.css.css.map +7 -0
- package/dist/cjs/components/ui/Heading.css.d.ts +33 -0
- package/dist/cjs/components/ui/Heading.css.js +28 -0
- package/dist/cjs/components/ui/Heading.css.js.map +7 -0
- package/dist/cjs/components/ui/Heading.css.map +7 -0
- package/dist/cjs/components/ui/Heading.d.ts +12 -0
- package/dist/cjs/components/ui/Heading.js +69 -0
- package/dist/cjs/components/ui/Heading.js.map +7 -0
- package/dist/cjs/components/ui/IconButton.css +13 -0
- package/dist/cjs/components/ui/IconButton.css.css +13 -0
- package/dist/cjs/components/ui/IconButton.css.css.map +7 -0
- package/dist/cjs/components/ui/IconButton.css.d.ts +1 -0
- package/dist/cjs/components/ui/IconButton.css.js +27 -0
- package/dist/cjs/components/ui/IconButton.css.js.map +7 -0
- package/dist/cjs/components/ui/IconButton.css.map +7 -0
- package/dist/cjs/components/ui/IconButton.d.ts +6 -0
- package/dist/cjs/components/ui/IconButton.js +52 -0
- package/dist/cjs/components/ui/IconButton.js.map +7 -0
- package/dist/cjs/components/ui/Text.css +38 -0
- package/dist/cjs/components/ui/Text.css.css +38 -0
- package/dist/cjs/components/ui/Text.css.css.map +7 -0
- package/dist/cjs/components/ui/Text.css.d.ts +33 -0
- package/dist/cjs/components/ui/Text.css.js +28 -0
- package/dist/cjs/components/ui/Text.css.js.map +7 -0
- package/dist/cjs/components/ui/Text.css.map +7 -0
- package/dist/cjs/components/ui/Text.d.ts +12 -0
- package/dist/cjs/components/ui/Text.js +70 -0
- package/dist/cjs/components/ui/Text.js.map +7 -0
- package/dist/cjs/constants/styleDataAttribute.d.ts +5 -0
- package/dist/cjs/constants/styleDataAttribute.js +31 -0
- package/dist/cjs/constants/styleDataAttribute.js.map +7 -0
- package/dist/cjs/constants/walletDefaults.d.ts +6 -0
- package/dist/cjs/constants/walletDefaults.js +58 -0
- package/dist/cjs/constants/walletDefaults.js.map +7 -0
- package/dist/cjs/constants/walletMutationKeys.d.ts +14 -0
- package/dist/cjs/constants/walletMutationKeys.js +42 -0
- package/dist/cjs/constants/walletMutationKeys.js.map +7 -0
- package/dist/cjs/contexts/walletContext.d.ts +11 -0
- package/dist/cjs/contexts/walletContext.js +28 -0
- package/dist/cjs/contexts/walletContext.js.map +7 -0
- package/dist/cjs/errors/walletErrors.d.ts +22 -0
- package/dist/cjs/errors/walletErrors.js +37 -0
- package/dist/cjs/errors/walletErrors.js.map +7 -0
- package/dist/cjs/hooks/networkConfig.d.ts +10 -0
- package/dist/cjs/hooks/networkConfig.js +74 -0
- package/dist/cjs/hooks/networkConfig.js.map +7 -0
- package/dist/cjs/hooks/useHaneulClient.d.ts +3 -0
- package/dist/cjs/hooks/useHaneulClient.js +51 -0
- package/dist/cjs/hooks/useHaneulClient.js.map +7 -0
- package/dist/cjs/hooks/useHaneulClientInfiniteQuery.d.ts +25 -0
- package/dist/cjs/hooks/useHaneulClientInfiniteQuery.js +71 -0
- package/dist/cjs/hooks/useHaneulClientInfiniteQuery.js.map +7 -0
- package/dist/cjs/hooks/useHaneulClientMutation.d.ts +4 -0
- package/dist/cjs/hooks/useHaneulClientMutation.js +61 -0
- package/dist/cjs/hooks/useHaneulClientMutation.js.map +7 -0
- package/dist/cjs/hooks/useHaneulClientQueries.d.ts +27 -0
- package/dist/cjs/hooks/useHaneulClientQueries.js +71 -0
- package/dist/cjs/hooks/useHaneulClientQueries.js.map +7 -0
- package/dist/cjs/hooks/useHaneulClientQuery.d.ts +38 -0
- package/dist/cjs/hooks/useHaneulClientQuery.js +95 -0
- package/dist/cjs/hooks/useHaneulClientQuery.js.map +7 -0
- package/dist/cjs/hooks/useResolveHaneulNSNames.d.ts +3 -0
- package/dist/cjs/hooks/useResolveHaneulNSNames.js +84 -0
- package/dist/cjs/hooks/useResolveHaneulNSNames.js.map +7 -0
- package/dist/cjs/hooks/wallet/useAccounts.d.ts +5 -0
- package/dist/cjs/hooks/wallet/useAccounts.js +50 -0
- package/dist/cjs/hooks/wallet/useAccounts.js.map +7 -0
- package/dist/cjs/hooks/wallet/useAutoConnectWallet.d.ts +1 -0
- package/dist/cjs/hooks/wallet/useAutoConnectWallet.js +229 -0
- package/dist/cjs/hooks/wallet/useAutoConnectWallet.js.map +7 -0
- package/dist/cjs/hooks/wallet/useConnectWallet.d.ts +15 -0
- package/dist/cjs/hooks/wallet/useConnectWallet.js +106 -0
- package/dist/cjs/hooks/wallet/useConnectWallet.js.map +7 -0
- package/dist/cjs/hooks/wallet/useCurrentAccount.d.ts +5 -0
- package/dist/cjs/hooks/wallet/useCurrentAccount.js +50 -0
- package/dist/cjs/hooks/wallet/useCurrentAccount.js.map +7 -0
- package/dist/cjs/hooks/wallet/useCurrentWallet.d.ts +25 -0
- package/dist/cjs/hooks/wallet/useCurrentWallet.js +82 -0
- package/dist/cjs/hooks/wallet/useCurrentWallet.js.map +7 -0
- package/dist/cjs/hooks/wallet/useDisconnectWallet.d.ts +9 -0
- package/dist/cjs/hooks/wallet/useDisconnectWallet.js +129 -0
- package/dist/cjs/hooks/wallet/useDisconnectWallet.js.map +7 -0
- package/dist/cjs/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
- package/dist/cjs/hooks/wallet/useReportTransactionEffects.js +144 -0
- package/dist/cjs/hooks/wallet/useReportTransactionEffects.js.map +7 -0
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.d.ts +29 -0
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js +248 -0
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
- package/dist/cjs/hooks/wallet/useSignPersonalMessage.d.ts +13 -0
- package/dist/cjs/hooks/wallet/useSignPersonalMessage.js +184 -0
- package/dist/cjs/hooks/wallet/useSignPersonalMessage.js.map +7 -0
- package/dist/cjs/hooks/wallet/useSignTransaction.d.ts +18 -0
- package/dist/cjs/hooks/wallet/useSignTransaction.js +230 -0
- package/dist/cjs/hooks/wallet/useSignTransaction.js.map +7 -0
- package/dist/cjs/hooks/wallet/useSlushWallet.d.ts +5 -0
- package/dist/cjs/hooks/wallet/useSlushWallet.js +53 -0
- package/dist/cjs/hooks/wallet/useSlushWallet.js.map +7 -0
- package/dist/cjs/hooks/wallet/useSwitchAccount.d.ts +14 -0
- package/dist/cjs/hooks/wallet/useSwitchAccount.js +134 -0
- package/dist/cjs/hooks/wallet/useSwitchAccount.js.map +7 -0
- package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.d.ts +1 -0
- package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js +229 -0
- package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js.map +7 -0
- package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.d.ts +4 -0
- package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js +100 -0
- package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js.map +7 -0
- package/dist/cjs/hooks/wallet/useWalletStore.d.ts +2 -0
- package/dist/cjs/hooks/wallet/useWalletStore.js +43 -0
- package/dist/cjs/hooks/wallet/useWalletStore.js.map +7 -0
- package/dist/cjs/hooks/wallet/useWallets.d.ts +4 -0
- package/dist/cjs/hooks/wallet/useWallets.js +50 -0
- package/dist/cjs/hooks/wallet/useWallets.js.map +7 -0
- package/dist/cjs/hooks/wallet/useWalletsChanged.d.ts +5 -0
- package/dist/cjs/hooks/wallet/useWalletsChanged.js +86 -0
- package/dist/cjs/hooks/wallet/useWalletsChanged.js.map +7 -0
- package/dist/cjs/index.css +458 -0
- package/dist/cjs/index.css.map +7 -0
- package/dist/cjs/index.d.ts +26 -0
- package/dist/cjs/index.js +1924 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/package.json +4 -0
- package/dist/cjs/themes/lightTheme.d.ts +2 -0
- package/dist/cjs/themes/lightTheme.js +83 -0
- package/dist/cjs/themes/lightTheme.js.map +7 -0
- package/dist/cjs/themes/themeContract.d.ts +140 -0
- package/dist/cjs/themes/themeContract.js +88 -0
- package/dist/cjs/themes/themeContract.js.map +7 -0
- package/dist/cjs/types/utilityTypes.d.ts +1 -0
- package/dist/cjs/types/utilityTypes.js +19 -0
- package/dist/cjs/types/utilityTypes.js.map +7 -0
- package/dist/cjs/types.d.ts +2 -0
- package/dist/cjs/types.js +19 -0
- package/dist/cjs/types.js.map +7 -0
- package/dist/cjs/utils/assertUnreachable.d.ts +4 -0
- package/dist/cjs/utils/assertUnreachable.js +29 -0
- package/dist/cjs/utils/assertUnreachable.js.map +7 -0
- package/dist/cjs/utils/stateStorage.d.ts +2 -0
- package/dist/cjs/utils/stateStorage.js +40 -0
- package/dist/cjs/utils/stateStorage.js.map +7 -0
- package/dist/cjs/utils/walletUtils.d.ts +3 -0
- package/dist/cjs/utils/walletUtils.js +44 -0
- package/dist/cjs/utils/walletUtils.js.map +7 -0
- package/dist/cjs/walletStore.d.ts +42 -0
- package/dist/cjs/walletStore.js +125 -0
- package/dist/cjs/walletStore.js.map +7 -0
- package/dist/esm/components/AccountDropdownMenu.css +177 -0
- package/dist/esm/components/AccountDropdownMenu.css.css +49 -0
- package/dist/esm/components/AccountDropdownMenu.css.css.map +7 -0
- package/dist/esm/components/AccountDropdownMenu.css.d.ts +6 -0
- package/dist/esm/components/AccountDropdownMenu.css.js +16 -0
- package/dist/esm/components/AccountDropdownMenu.css.js.map +7 -0
- package/dist/esm/components/AccountDropdownMenu.css.map +7 -0
- package/dist/esm/components/AccountDropdownMenu.d.ts +10 -0
- package/dist/esm/components/AccountDropdownMenu.js +415 -0
- package/dist/esm/components/AccountDropdownMenu.js.map +7 -0
- package/dist/esm/components/ConnectButton.css +458 -0
- package/dist/esm/components/ConnectButton.css.map +7 -0
- package/dist/esm/components/ConnectButton.d.ts +9 -0
- package/dist/esm/components/ConnectButton.js +870 -0
- package/dist/esm/components/ConnectButton.js.map +7 -0
- package/dist/esm/components/HaneulClientProvider.d.ts +25 -0
- package/dist/esm/components/HaneulClientProvider.js +49 -0
- package/dist/esm/components/HaneulClientProvider.js.map +7 -0
- package/dist/esm/components/WalletProvider.d.ts +26 -0
- package/dist/esm/components/WalletProvider.js +833 -0
- package/dist/esm/components/WalletProvider.js.map +7 -0
- package/dist/esm/components/connect-modal/ConnectModal.css +409 -0
- package/dist/esm/components/connect-modal/ConnectModal.css.css +115 -0
- package/dist/esm/components/connect-modal/ConnectModal.css.css.map +7 -0
- package/dist/esm/components/connect-modal/ConnectModal.css.d.ts +11 -0
- package/dist/esm/components/connect-modal/ConnectModal.css.js +26 -0
- package/dist/esm/components/connect-modal/ConnectModal.css.js.map +7 -0
- package/dist/esm/components/connect-modal/ConnectModal.css.map +7 -0
- package/dist/esm/components/connect-modal/ConnectModal.d.ts +23 -0
- package/dist/esm/components/connect-modal/ConnectModal.js +596 -0
- package/dist/esm/components/connect-modal/ConnectModal.js.map +7 -0
- package/dist/esm/components/connect-modal/InfoSection.css +78 -0
- package/dist/esm/components/connect-modal/InfoSection.css.css +8 -0
- package/dist/esm/components/connect-modal/InfoSection.css.css.map +7 -0
- package/dist/esm/components/connect-modal/InfoSection.css.d.ts +1 -0
- package/dist/esm/components/connect-modal/InfoSection.css.js +6 -0
- package/dist/esm/components/connect-modal/InfoSection.css.js.map +7 -0
- package/dist/esm/components/connect-modal/InfoSection.css.map +7 -0
- package/dist/esm/components/connect-modal/InfoSection.d.ts +6 -0
- package/dist/esm/components/connect-modal/InfoSection.js +86 -0
- package/dist/esm/components/connect-modal/InfoSection.js.map +7 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css +146 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css +32 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css.map +7 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.d.ts +5 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js +14 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js.map +7 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.map +7 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.d.ts +8 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.js +132 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.js.map +7 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.css +145 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.css.css +23 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.css.css.map +7 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.css.d.ts +3 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.css.js +10 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.css.js.map +7 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.css.map +7 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.d.ts +1 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.js +139 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.js.map +7 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css +95 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css +17 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css.map +7 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.d.ts +2 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js +8 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js.map +7 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.map +7 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.d.ts +1 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.js +102 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css +73 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css +8 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.d.ts +1 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js +6 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.d.ts +9 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.js +104 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.js.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css +65 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css +33 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.d.ts +4 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js +12 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.d.ts +9 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js +64 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js.map +7 -0
- package/dist/esm/components/icons/BackIcon.d.ts +2 -0
- package/dist/esm/components/icons/BackIcon.js +15 -0
- package/dist/esm/components/icons/BackIcon.js.map +7 -0
- package/dist/esm/components/icons/CheckIcon.d.ts +2 -0
- package/dist/esm/components/icons/CheckIcon.js +15 -0
- package/dist/esm/components/icons/CheckIcon.js.map +7 -0
- package/dist/esm/components/icons/ChevronIcon.d.ts +2 -0
- package/dist/esm/components/icons/ChevronIcon.js +18 -0
- package/dist/esm/components/icons/ChevronIcon.js.map +7 -0
- package/dist/esm/components/icons/CloseIcon.d.ts +2 -0
- package/dist/esm/components/icons/CloseIcon.js +15 -0
- package/dist/esm/components/icons/CloseIcon.js.map +7 -0
- package/dist/esm/components/styling/InjectedThemeStyles.d.ts +6 -0
- package/dist/esm/components/styling/InjectedThemeStyles.js +104 -0
- package/dist/esm/components/styling/InjectedThemeStyles.js.map +7 -0
- package/dist/esm/components/styling/StyleMarker.css +46 -0
- package/dist/esm/components/styling/StyleMarker.css.css +46 -0
- package/dist/esm/components/styling/StyleMarker.css.css.map +7 -0
- package/dist/esm/components/styling/StyleMarker.css.d.ts +1 -0
- package/dist/esm/components/styling/StyleMarker.css.js +22 -0
- package/dist/esm/components/styling/StyleMarker.css.js.map +7 -0
- package/dist/esm/components/styling/StyleMarker.css.map +7 -0
- package/dist/esm/components/styling/StyleMarker.d.ts +2 -0
- package/dist/esm/components/styling/StyleMarker.js +61 -0
- package/dist/esm/components/styling/StyleMarker.js.map +7 -0
- package/dist/esm/components/ui/Button.css +44 -0
- package/dist/esm/components/ui/Button.css.css +44 -0
- package/dist/esm/components/ui/Button.css.css.map +7 -0
- package/dist/esm/components/ui/Button.css.d.ts +33 -0
- package/dist/esm/components/ui/Button.css.js +7 -0
- package/dist/esm/components/ui/Button.css.js.map +7 -0
- package/dist/esm/components/ui/Button.css.map +7 -0
- package/dist/esm/components/ui/Button.d.ts +8 -0
- package/dist/esm/components/ui/Button.js +29 -0
- package/dist/esm/components/ui/Button.js.map +7 -0
- package/dist/esm/components/ui/Heading.css +32 -0
- package/dist/esm/components/ui/Heading.css.css +32 -0
- package/dist/esm/components/ui/Heading.css.css.map +7 -0
- package/dist/esm/components/ui/Heading.css.d.ts +33 -0
- package/dist/esm/components/ui/Heading.css.js +7 -0
- package/dist/esm/components/ui/Heading.css.js.map +7 -0
- package/dist/esm/components/ui/Heading.css.map +7 -0
- package/dist/esm/components/ui/Heading.d.ts +12 -0
- package/dist/esm/components/ui/Heading.js +38 -0
- package/dist/esm/components/ui/Heading.js.map +7 -0
- package/dist/esm/components/ui/IconButton.css +13 -0
- package/dist/esm/components/ui/IconButton.css.css +13 -0
- package/dist/esm/components/ui/IconButton.css.css.map +7 -0
- package/dist/esm/components/ui/IconButton.css.d.ts +1 -0
- package/dist/esm/components/ui/IconButton.css.js +6 -0
- package/dist/esm/components/ui/IconButton.css.js.map +7 -0
- package/dist/esm/components/ui/IconButton.css.map +7 -0
- package/dist/esm/components/ui/IconButton.d.ts +6 -0
- package/dist/esm/components/ui/IconButton.js +21 -0
- package/dist/esm/components/ui/IconButton.js.map +7 -0
- package/dist/esm/components/ui/Text.css +38 -0
- package/dist/esm/components/ui/Text.css.css +38 -0
- package/dist/esm/components/ui/Text.css.css.map +7 -0
- package/dist/esm/components/ui/Text.css.d.ts +33 -0
- package/dist/esm/components/ui/Text.css.js +7 -0
- package/dist/esm/components/ui/Text.css.js.map +7 -0
- package/dist/esm/components/ui/Text.css.map +7 -0
- package/dist/esm/components/ui/Text.d.ts +12 -0
- package/dist/esm/components/ui/Text.js +39 -0
- package/dist/esm/components/ui/Text.js.map +7 -0
- package/dist/esm/constants/styleDataAttribute.d.ts +5 -0
- package/dist/esm/constants/styleDataAttribute.js +10 -0
- package/dist/esm/constants/styleDataAttribute.js.map +7 -0
- package/dist/esm/constants/walletDefaults.d.ts +6 -0
- package/dist/esm/constants/walletDefaults.js +37 -0
- package/dist/esm/constants/walletDefaults.js.map +7 -0
- package/dist/esm/constants/walletMutationKeys.d.ts +14 -0
- package/dist/esm/constants/walletMutationKeys.js +21 -0
- package/dist/esm/constants/walletMutationKeys.js.map +7 -0
- package/dist/esm/contexts/walletContext.d.ts +11 -0
- package/dist/esm/contexts/walletContext.js +7 -0
- package/dist/esm/contexts/walletContext.js.map +7 -0
- package/dist/esm/errors/walletErrors.d.ts +22 -0
- package/dist/esm/errors/walletErrors.js +16 -0
- package/dist/esm/errors/walletErrors.js.map +7 -0
- package/dist/esm/hooks/networkConfig.d.ts +10 -0
- package/dist/esm/hooks/networkConfig.js +51 -0
- package/dist/esm/hooks/networkConfig.js.map +7 -0
- package/dist/esm/hooks/useHaneulClient.d.ts +3 -0
- package/dist/esm/hooks/useHaneulClient.js +30 -0
- package/dist/esm/hooks/useHaneulClient.js.map +7 -0
- package/dist/esm/hooks/useHaneulClientInfiniteQuery.d.ts +25 -0
- package/dist/esm/hooks/useHaneulClientInfiniteQuery.js +50 -0
- package/dist/esm/hooks/useHaneulClientInfiniteQuery.js.map +7 -0
- package/dist/esm/hooks/useHaneulClientMutation.d.ts +4 -0
- package/dist/esm/hooks/useHaneulClientMutation.js +40 -0
- package/dist/esm/hooks/useHaneulClientMutation.js.map +7 -0
- package/dist/esm/hooks/useHaneulClientQueries.d.ts +27 -0
- package/dist/esm/hooks/useHaneulClientQueries.js +50 -0
- package/dist/esm/hooks/useHaneulClientQueries.js.map +7 -0
- package/dist/esm/hooks/useHaneulClientQuery.d.ts +38 -0
- package/dist/esm/hooks/useHaneulClientQuery.js +74 -0
- package/dist/esm/hooks/useHaneulClientQuery.js.map +7 -0
- package/dist/esm/hooks/useResolveHaneulNSNames.d.ts +3 -0
- package/dist/esm/hooks/useResolveHaneulNSNames.js +61 -0
- package/dist/esm/hooks/useResolveHaneulNSNames.js.map +7 -0
- package/dist/esm/hooks/wallet/useAccounts.d.ts +5 -0
- package/dist/esm/hooks/wallet/useAccounts.js +27 -0
- package/dist/esm/hooks/wallet/useAccounts.js.map +7 -0
- package/dist/esm/hooks/wallet/useAutoConnectWallet.d.ts +1 -0
- package/dist/esm/hooks/wallet/useAutoConnectWallet.js +208 -0
- package/dist/esm/hooks/wallet/useAutoConnectWallet.js.map +7 -0
- package/dist/esm/hooks/wallet/useConnectWallet.d.ts +15 -0
- package/dist/esm/hooks/wallet/useConnectWallet.js +85 -0
- package/dist/esm/hooks/wallet/useConnectWallet.js.map +7 -0
- package/dist/esm/hooks/wallet/useCurrentAccount.d.ts +5 -0
- package/dist/esm/hooks/wallet/useCurrentAccount.js +27 -0
- package/dist/esm/hooks/wallet/useCurrentAccount.js.map +7 -0
- package/dist/esm/hooks/wallet/useCurrentWallet.d.ts +25 -0
- package/dist/esm/hooks/wallet/useCurrentWallet.js +59 -0
- package/dist/esm/hooks/wallet/useCurrentWallet.js.map +7 -0
- package/dist/esm/hooks/wallet/useDisconnectWallet.d.ts +9 -0
- package/dist/esm/hooks/wallet/useDisconnectWallet.js +108 -0
- package/dist/esm/hooks/wallet/useDisconnectWallet.js.map +7 -0
- package/dist/esm/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
- package/dist/esm/hooks/wallet/useReportTransactionEffects.js +123 -0
- package/dist/esm/hooks/wallet/useReportTransactionEffects.js.map +7 -0
- package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.d.ts +29 -0
- package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js +227 -0
- package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
- package/dist/esm/hooks/wallet/useSignPersonalMessage.d.ts +13 -0
- package/dist/esm/hooks/wallet/useSignPersonalMessage.js +163 -0
- package/dist/esm/hooks/wallet/useSignPersonalMessage.js.map +7 -0
- package/dist/esm/hooks/wallet/useSignTransaction.d.ts +18 -0
- package/dist/esm/hooks/wallet/useSignTransaction.js +209 -0
- package/dist/esm/hooks/wallet/useSignTransaction.js.map +7 -0
- package/dist/esm/hooks/wallet/useSlushWallet.d.ts +5 -0
- package/dist/esm/hooks/wallet/useSlushWallet.js +32 -0
- package/dist/esm/hooks/wallet/useSlushWallet.js.map +7 -0
- package/dist/esm/hooks/wallet/useSwitchAccount.d.ts +14 -0
- package/dist/esm/hooks/wallet/useSwitchAccount.js +113 -0
- package/dist/esm/hooks/wallet/useSwitchAccount.js.map +7 -0
- package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.d.ts +1 -0
- package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js +209 -0
- package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js.map +7 -0
- package/dist/esm/hooks/wallet/useWalletPropertiesChanged.d.ts +4 -0
- package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js +79 -0
- package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js.map +7 -0
- package/dist/esm/hooks/wallet/useWalletStore.d.ts +2 -0
- package/dist/esm/hooks/wallet/useWalletStore.js +22 -0
- package/dist/esm/hooks/wallet/useWalletStore.js.map +7 -0
- package/dist/esm/hooks/wallet/useWallets.d.ts +4 -0
- package/dist/esm/hooks/wallet/useWallets.js +27 -0
- package/dist/esm/hooks/wallet/useWallets.js.map +7 -0
- package/dist/esm/hooks/wallet/useWalletsChanged.d.ts +5 -0
- package/dist/esm/hooks/wallet/useWalletsChanged.js +65 -0
- package/dist/esm/hooks/wallet/useWalletsChanged.js.map +7 -0
- package/dist/esm/index.css +458 -0
- package/dist/esm/index.css.map +7 -0
- package/dist/esm/index.d.ts +26 -0
- package/dist/esm/index.js +1914 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/package.json +4 -0
- package/dist/esm/themes/lightTheme.d.ts +2 -0
- package/dist/esm/themes/lightTheme.js +62 -0
- package/dist/esm/themes/lightTheme.js.map +7 -0
- package/dist/esm/themes/themeContract.d.ts +140 -0
- package/dist/esm/themes/themeContract.js +67 -0
- package/dist/esm/themes/themeContract.js.map +7 -0
- package/dist/esm/types/utilityTypes.d.ts +1 -0
- package/dist/esm/types/utilityTypes.js +1 -0
- package/dist/esm/types/utilityTypes.js.map +7 -0
- package/dist/esm/types.d.ts +2 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/types.js.map +7 -0
- package/dist/esm/utils/assertUnreachable.d.ts +4 -0
- package/dist/esm/utils/assertUnreachable.js +8 -0
- package/dist/esm/utils/assertUnreachable.js.map +7 -0
- package/dist/esm/utils/stateStorage.d.ts +2 -0
- package/dist/esm/utils/stateStorage.js +19 -0
- package/dist/esm/utils/stateStorage.js.map +7 -0
- package/dist/esm/utils/walletUtils.d.ts +3 -0
- package/dist/esm/utils/walletUtils.js +23 -0
- package/dist/esm/utils/walletUtils.js.map +7 -0
- package/dist/esm/walletStore.d.ts +42 -0
- package/dist/esm/walletStore.js +104 -0
- package/dist/esm/walletStore.js.map +7 -0
- package/dist/index.css/package.json +5 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +106 -0
- package/src/components/AccountDropdownMenu.css.ts +52 -0
- package/src/components/AccountDropdownMenu.tsx +87 -0
- package/src/components/ConnectButton.tsx +37 -0
- package/src/components/HaneulClientProvider.tsx +96 -0
- package/src/components/WalletProvider.tsx +114 -0
- package/src/components/connect-modal/ConnectModal.css.ts +124 -0
- package/src/components/connect-modal/ConnectModal.tsx +174 -0
- package/src/components/connect-modal/InfoSection.css.ts +10 -0
- package/src/components/connect-modal/InfoSection.tsx +24 -0
- package/src/components/connect-modal/views/ConnectionStatus.css.ts +35 -0
- package/src/components/connect-modal/views/ConnectionStatus.tsx +52 -0
- package/src/components/connect-modal/views/GettingStarted.css.ts +25 -0
- package/src/components/connect-modal/views/GettingStarted.tsx +38 -0
- package/src/components/connect-modal/views/WhatIsAWallet.css.ts +19 -0
- package/src/components/connect-modal/views/WhatIsAWallet.tsx +23 -0
- package/src/components/connect-modal/wallet-list/WalletList.css.ts +10 -0
- package/src/components/connect-modal/wallet-list/WalletList.tsx +46 -0
- package/src/components/connect-modal/wallet-list/WalletListItem.css.ts +35 -0
- package/src/components/connect-modal/wallet-list/WalletListItem.tsx +36 -0
- package/src/components/icons/BackIcon.tsx +17 -0
- package/src/components/icons/CheckIcon.tsx +15 -0
- package/src/components/icons/ChevronIcon.tsx +18 -0
- package/src/components/icons/CloseIcon.tsx +15 -0
- package/src/components/styling/InjectedThemeStyles.tsx +51 -0
- package/src/components/styling/StyleMarker.css.ts +48 -0
- package/src/components/styling/StyleMarker.tsx +24 -0
- package/src/components/ui/Button.css.ts +50 -0
- package/src/components/ui/Button.tsx +31 -0
- package/src/components/ui/Heading.css.ts +43 -0
- package/src/components/ui/Heading.tsx +52 -0
- package/src/components/ui/IconButton.css.ts +16 -0
- package/src/components/ui/IconButton.tsx +24 -0
- package/src/components/ui/Text.css.ts +38 -0
- package/src/components/ui/Text.tsx +50 -0
- package/src/constants/styleDataAttribute.ts +8 -0
- package/src/constants/walletDefaults.ts +24 -0
- package/src/constants/walletMutationKeys.ts +22 -0
- package/src/contexts/walletContext.ts +8 -0
- package/src/errors/walletErrors.ts +24 -0
- package/src/hooks/networkConfig.ts +45 -0
- package/src/hooks/useHaneulClient.ts +23 -0
- package/src/hooks/useHaneulClientInfiniteQuery.ts +78 -0
- package/src/hooks/useHaneulClientMutation.ts +27 -0
- package/src/hooks/useHaneulClientQueries.ts +68 -0
- package/src/hooks/useHaneulClientQuery.ts +123 -0
- package/src/hooks/useResolveHaneulNSNames.ts +30 -0
- package/src/hooks/wallet/useAccounts.ts +13 -0
- package/src/hooks/wallet/useAutoConnectWallet.ts +92 -0
- package/src/hooks/wallet/useConnectWallet.ts +86 -0
- package/src/hooks/wallet/useCurrentAccount.ts +13 -0
- package/src/hooks/wallet/useCurrentWallet.ts +44 -0
- package/src/hooks/wallet/useDisconnectWallet.ts +53 -0
- package/src/hooks/wallet/useReportTransactionEffects.ts +82 -0
- package/src/hooks/wallet/useSignAndExecuteTransaction.ts +171 -0
- package/src/hooks/wallet/useSignPersonalMessage.ts +100 -0
- package/src/hooks/wallet/useSignTransaction.ts +124 -0
- package/src/hooks/wallet/useSlushWallet.ts +40 -0
- package/src/hooks/wallet/useSwitchAccount.ts +60 -0
- package/src/hooks/wallet/useUnsafeBurnerWallet.ts +207 -0
- package/src/hooks/wallet/useWalletPropertiesChanged.ts +29 -0
- package/src/hooks/wallet/useWalletStore.ts +18 -0
- package/src/hooks/wallet/useWallets.ts +11 -0
- package/src/hooks/wallet/useWalletsChanged.ts +41 -0
- package/src/index.ts +30 -0
- package/src/themes/lightTheme.ts +63 -0
- package/src/themes/themeContract.ts +97 -0
- package/src/types/utilityTypes.ts +4 -0
- package/src/types.ts +5 -0
- package/src/utils/assertUnreachable.ts +9 -0
- package/src/utils/stateStorage.ts +19 -0
- package/src/utils/walletUtils.ts +37 -0
- package/src/walletStore.ts +144 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/useHaneulClientQuery.ts", "../../../src/hooks/useHaneulClient.ts", "../../../src/components/HaneulClientProvider.tsx", "../../../src/hooks/useResolveHaneulNSNames.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { HaneulClient } from '@haneullabs/haneul/client';\nimport type {\n\tUndefinedInitialDataOptions,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from '@tanstack/react-query';\nimport { queryOptions, useQuery, useSuspenseQuery } from '@tanstack/react-query';\nimport { useMemo } from 'react';\n\nimport type { PartialBy } from '../types/utilityTypes.js';\nimport { useHaneulClientContext } from './useHaneulClient.js';\n\nexport type SuiRpcMethodName = {\n\t[K in keyof HaneulClient]: HaneulClient[K] extends ((input: any) => Promise<any>) | (() => Promise<any>)\n\t\t? K\n\t\t: never;\n}[keyof HaneulClient];\n\nexport type SuiRpcMethods = {\n\t[K in SuiRpcMethodName]: HaneulClient[K] extends (input: infer P) => Promise<infer R>\n\t\t? {\n\t\t\t\tname: K;\n\t\t\t\tresult: R;\n\t\t\t\tparams: P;\n\t\t\t}\n\t\t: HaneulClient[K] extends () => Promise<infer R>\n\t\t\t? {\n\t\t\t\t\tname: K;\n\t\t\t\t\tresult: R;\n\t\t\t\t\tparams: undefined | object;\n\t\t\t\t}\n\t\t\t: never;\n};\n\nexport type UseHaneulClientQueryOptions<T extends keyof SuiRpcMethods, TData> = PartialBy<\n\tOmit<UseQueryOptions<SuiRpcMethods[T]['result'], Error, TData, unknown[]>, 'queryFn'>,\n\t'queryKey'\n>;\n\nexport type GetHaneulClientQueryOptions<T extends keyof SuiRpcMethods> = {\n\tclient: HaneulClient;\n\tnetwork: string;\n\tmethod: T;\n\toptions?: PartialBy<\n\t\tOmit<UndefinedInitialDataOptions<SuiRpcMethods[T]['result']>, 'queryFn'>,\n\t\t'queryKey'\n\t>;\n} & (undefined extends SuiRpcMethods[T]['params']\n\t? { params?: SuiRpcMethods[T]['params'] }\n\t: { params: SuiRpcMethods[T]['params'] });\n\nexport function getHaneulClientQuery<T extends keyof SuiRpcMethods>({\n\tclient,\n\tnetwork,\n\tmethod,\n\tparams,\n\toptions,\n}: GetHaneulClientQueryOptions<T>) {\n\treturn queryOptions<SuiRpcMethods[T]['result']>({\n\t\t...options,\n\t\tqueryKey: [network, method, params],\n\t\tqueryFn: async () => {\n\t\t\treturn await client[method](params as never);\n\t\t},\n\t});\n}\n\nexport function useHaneulClientQuery<\n\tT extends keyof SuiRpcMethods,\n\tTData = SuiRpcMethods[T]['result'],\n>(\n\t...args: undefined extends SuiRpcMethods[T]['params']\n\t\t? [method: T, params?: SuiRpcMethods[T]['params'], options?: UseHaneulClientQueryOptions<T, TData>]\n\t\t: [method: T, params: SuiRpcMethods[T]['params'], options?: UseHaneulClientQueryOptions<T, TData>]\n): UseQueryResult<TData, Error> {\n\tconst [method, params, { queryKey = [], ...options } = {}] = args as [\n\t\tmethod: T,\n\t\tparams?: SuiRpcMethods[T]['params'],\n\t\toptions?: UseHaneulClientQueryOptions<T, TData>,\n\t];\n\n\tconst suiContext = useHaneulClientContext();\n\n\treturn useQuery({\n\t\t...options,\n\t\tqueryKey: [suiContext.network, method, params, ...queryKey],\n\t\tqueryFn: async () => {\n\t\t\treturn await suiContext.client[method](params as never);\n\t\t},\n\t});\n}\n\nexport function useHaneulClientSuspenseQuery<\n\tT extends keyof SuiRpcMethods,\n\tTData = SuiRpcMethods[T]['result'],\n>(\n\t...args: undefined extends SuiRpcMethods[T]['params']\n\t\t? [method: T, params?: SuiRpcMethods[T]['params'], options?: UndefinedInitialDataOptions<TData>]\n\t\t: [method: T, params: SuiRpcMethods[T]['params'], options?: UndefinedInitialDataOptions<TData>]\n) {\n\tconst [method, params, options = {}] = args as [\n\t\tmethod: T,\n\t\tparams?: SuiRpcMethods[T]['params'],\n\t\toptions?: UndefinedInitialDataOptions<TData>,\n\t];\n\n\tconst suiContext = useHaneulClientContext();\n\n\tconst query = useMemo(() => {\n\t\treturn getHaneulClientQuery<T>({\n\t\t\tclient: suiContext.client,\n\t\t\tnetwork: suiContext.network,\n\t\t\tmethod,\n\t\t\tparams,\n\t\t\toptions,\n\t\t});\n\t}, [suiContext.client, suiContext.network, method, params, options]);\n\n\treturn useSuspenseQuery(query);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { HaneulClient } from '@haneullabs/haneul/client';\nimport { useContext } from 'react';\n\nimport { HaneulClientContext } from '../components/HaneulClientProvider.js';\n\nexport function useHaneulClientContext() {\n\tconst haneulClient = useContext(HaneulClientContext);\n\n\tif (!haneulClient) {\n\t\tthrow new Error(\n\t\t\t'Could not find HaneulClientContext. Ensure that you have set up the HaneulClientProvider',\n\t\t);\n\t}\n\n\treturn haneulClient;\n}\n\nexport function useHaneulClient(): HaneulClient {\n\treturn useHaneulClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getFullnodeUrl, isHaneulClient, HaneulClient } from '@haneullabs/haneul/client';\nimport type { HaneulClientOptions } from '@haneullabs/haneul/client';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | HaneulClient = NetworkConfig | HaneulClient> = Record<\n\tstring,\n\tT\n>;\n\nexport interface HaneulClientProviderContext {\n\tclient: HaneulClient;\n\tnetworks: NetworkConfigs;\n\tnetwork: string;\n\tconfig: NetworkConfig | null;\n\tselectNetwork: (network: string) => void;\n}\n\nexport const HaneulClientContext = createContext<HaneulClientProviderContext | null>(null);\n\nexport type HaneulClientProviderProps<T extends NetworkConfigs> = {\n\tcreateClient?: (name: keyof T, config: T[keyof T]) => HaneulClient;\n\tchildren: React.ReactNode;\n\tnetworks?: T;\n\tonNetworkChange?: (network: keyof T & string) => void;\n} & (\n\t| {\n\t\t\tdefaultNetwork?: keyof T & string;\n\t\t\tnetwork?: never;\n\t }\n\t| {\n\t\t\tdefaultNetwork?: never;\n\t\t\tnetwork?: keyof T & string;\n\t }\n);\n\nconst DEFAULT_NETWORKS = {\n\tlocalnet: { url: getFullnodeUrl('localnet') },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n\t_name: string,\n\tconfig: NetworkConfig | HaneulClient,\n) {\n\tif (isHaneulClient(config)) {\n\t\treturn config;\n\t}\n\n\treturn new HaneulClient(config);\n};\n\nexport function HaneulClientProvider<T extends NetworkConfigs>(props: HaneulClientProviderProps<T>) {\n\tconst { onNetworkChange, network, children } = props;\n\tconst networks = (props.networks ?? DEFAULT_NETWORKS) as T;\n\tconst createClient =\n\t\t(props.createClient as typeof DEFAULT_CREATE_CLIENT) ?? DEFAULT_CREATE_CLIENT;\n\n\tconst [selectedNetwork, setSelectedNetwork] = useState<keyof T & string>(\n\t\tprops.network ?? props.defaultNetwork ?? (Object.keys(networks)[0] as keyof T & string),\n\t);\n\n\tconst currentNetwork = props.network ?? selectedNetwork;\n\n\tconst client = useMemo(() => {\n\t\treturn createClient(currentNetwork, networks[currentNetwork]);\n\t}, [createClient, currentNetwork, networks]);\n\n\tconst ctx = useMemo((): HaneulClientProviderContext => {\n\t\treturn {\n\t\t\tclient,\n\t\t\tnetworks,\n\t\t\tnetwork: currentNetwork,\n\t\t\tconfig:\n\t\t\t\tnetworks[currentNetwork] instanceof HaneulClient\n\t\t\t\t\t? null\n\t\t\t\t\t: (networks[currentNetwork] as HaneulClientOptions),\n\t\t\tselectNetwork: (newNetwork) => {\n\t\t\t\tif (currentNetwork === newNetwork) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!network && newNetwork !== selectedNetwork) {\n\t\t\t\t\tsetSelectedNetwork(newNetwork);\n\t\t\t\t}\n\n\t\t\t\tonNetworkChange?.(newNetwork);\n\t\t\t},\n\t\t};\n\t}, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);\n\n\treturn <HaneulClientContext.Provider value={ctx}>{children}</HaneulClientContext.Provider>;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ResolvedNameServiceNames } from '@haneullabs/haneul/client';\nimport type { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';\n\nimport { useHaneulClientQuery } from './useHaneulClientQuery.js';\n\nexport function useResolveHaneulNSName(\n\taddress?: string | null,\n\toptions?: Omit<\n\t\tUseQueryOptions<ResolvedNameServiceNames, Error, string | null, unknown[]>,\n\t\t'queryFn' | 'queryKey' | 'select'\n\t>,\n): UseQueryResult<string | null, Error> {\n\treturn useHaneulClientQuery(\n\t\t'resolveNameServiceNames',\n\t\t{\n\t\t\taddress: address!,\n\t\t\tlimit: 1,\n\t\t},\n\t\t{\n\t\t\t...options,\n\t\t\trefetchOnWindowFocus: false,\n\t\t\tretry: false,\n\t\t\tselect: (data) => (data.data.length > 0 ? data.data[0] : null),\n\t\t\tenabled: !!address && options?.enabled !== false,\n\t\t},\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AASA,SAAS,cAAc,UAAU,wBAAwB;AACzD,SAAS,WAAAA,gBAAe;;;ACNxB,SAAS,kBAAkB;;;ACD3B,SAAS,gBAAgB,gBAAgB,oBAAoB;AAE7D,SAAS,eAAe,SAAS,gBAAgB;AAyFzC;AAxED,IAAM,sBAAsB,cAAkD,IAAI;AAkBzF,IAAM,mBAAmB;AAAA,EACxB,UAAU,EAAE,KAAK,eAAe,UAAU,EAAE;AAC7C;;;ADlCO,SAAS,yBAAyB;AACxC,QAAM,eAAe,WAAW,mBAAmB;AAEnD,MAAI,CAAC,cAAc;AAClB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;;;ADoDO,SAAS,wBAIZ,MAG4B;AAC/B,QAAM,CAAC,QAAQ,QAAQ,EAAE,WAAW,CAAC,GAAG,GAAG,QAAQ,IAAI,CAAC,CAAC,IAAI;AAM7D,QAAM,aAAa,uBAAuB;AAE1C,SAAO,SAAS;AAAA,IACf,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,SAAS,QAAQ,QAAQ,GAAG,QAAQ;AAAA,IAC1D,SAAS,YAAY;AACpB,aAAO,MAAM,WAAW,OAAO,MAAM,EAAE,MAAe;AAAA,IACvD;AAAA,EACD,CAAC;AACF;;;AGrFO,SAAS,uBACf,SACA,SAIuC;AACvC,SAAO;AAAA,IACN;AAAA,IACA;AAAA,MACC;AAAA,MACA,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,GAAG;AAAA,MACH,sBAAsB;AAAA,MACtB,OAAO;AAAA,MACP,QAAQ,CAAC,SAAU,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,CAAC,IAAI;AAAA,MACzD,SAAS,CAAC,CAAC,WAAW,SAAS,YAAY;AAAA,IAC5C;AAAA,EACD;AACD;",
|
|
6
|
+
"names": ["useMemo"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// src/hooks/wallet/useWalletStore.ts
|
|
2
|
+
import { useContext } from "react";
|
|
3
|
+
import { useStore } from "zustand";
|
|
4
|
+
|
|
5
|
+
// src/contexts/walletContext.ts
|
|
6
|
+
import { createContext } from "react";
|
|
7
|
+
var WalletContext = createContext(null);
|
|
8
|
+
|
|
9
|
+
// src/hooks/wallet/useWalletStore.ts
|
|
10
|
+
function useWalletStore(selector) {
|
|
11
|
+
const store = useContext(WalletContext);
|
|
12
|
+
if (!store) {
|
|
13
|
+
throw new Error(
|
|
14
|
+
"Could not find WalletContext. Ensure that you have set up the WalletProvider."
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
return useStore(store, selector);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// src/hooks/wallet/useAccounts.ts
|
|
21
|
+
function useAccounts() {
|
|
22
|
+
return useWalletStore((state) => state.accounts);
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
useAccounts
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=useAccounts.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts", "../../../../src/hooks/wallet/useAccounts.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useContext } from 'react';\nimport { useStore } from 'zustand';\n\nimport { WalletContext } from '../../contexts/walletContext.js';\nimport type { StoreState } from '../../walletStore.js';\n\nexport function useWalletStore<T>(selector: (state: StoreState) => T): T {\n\tconst store = useContext(WalletContext);\n\tif (!store) {\n\t\tthrow new Error(\n\t\t\t'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n\t\t);\n\t}\n\treturn useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { createContext } from 'react';\n\nimport type { WalletStore } from '../walletStore.js';\n\nexport const WalletContext = createContext<WalletStore | null>(null);\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletAccount } from '@haneullabs/wallet-standard';\n\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves a list of connected accounts authorized by the dApp.\n */\nexport function useAccounts(): readonly WalletAccount[] {\n\treturn useWalletStore((state) => state.accounts);\n}\n"],
|
|
5
|
+
"mappings": ";AAGA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;;;ACDzB,SAAS,qBAAqB;AAIvB,IAAM,gBAAgB,cAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACxE,QAAM,QAAQ,WAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACX,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AACA,SAAO,SAAS,OAAO,QAAQ;AAChC;;;AEPO,SAAS,cAAwC;AACvD,SAAO,eAAe,CAAC,UAAU,MAAM,QAAQ;AAChD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useAutoConnectWallet(): 'disabled' | 'idle' | 'attempted';
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
// src/hooks/wallet/useAutoConnectWallet.ts
|
|
2
|
+
import { useQuery } from "@tanstack/react-query";
|
|
3
|
+
import { useLayoutEffect, useState } from "react";
|
|
4
|
+
|
|
5
|
+
// src/utils/walletUtils.ts
|
|
6
|
+
import { getWallets, isWalletWithRequiredFeatureSet } from "@haneullabs/wallet-standard";
|
|
7
|
+
function getWalletUniqueIdentifier(wallet) {
|
|
8
|
+
return wallet?.id ?? wallet?.name;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// src/hooks/wallet/useConnectWallet.ts
|
|
12
|
+
import { useMutation } from "@tanstack/react-query";
|
|
13
|
+
|
|
14
|
+
// src/constants/walletMutationKeys.ts
|
|
15
|
+
var walletMutationKeys = {
|
|
16
|
+
all: { baseScope: "wallet" },
|
|
17
|
+
connectWallet: formMutationKeyFn("connect-wallet"),
|
|
18
|
+
autoconnectWallet: formMutationKeyFn("autoconnect-wallet"),
|
|
19
|
+
disconnectWallet: formMutationKeyFn("disconnect-wallet"),
|
|
20
|
+
signPersonalMessage: formMutationKeyFn("sign-personal-message"),
|
|
21
|
+
signTransaction: formMutationKeyFn("sign-transaction"),
|
|
22
|
+
signAndExecuteTransaction: formMutationKeyFn("sign-and-execute-transaction"),
|
|
23
|
+
switchAccount: formMutationKeyFn("switch-account"),
|
|
24
|
+
reportTransactionEffects: formMutationKeyFn("report-transaction-effects")
|
|
25
|
+
};
|
|
26
|
+
function formMutationKeyFn(baseEntity) {
|
|
27
|
+
return function mutationKeyFn(additionalKeys = []) {
|
|
28
|
+
return [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// src/hooks/wallet/useWalletStore.ts
|
|
33
|
+
import { useContext } from "react";
|
|
34
|
+
import { useStore } from "zustand";
|
|
35
|
+
|
|
36
|
+
// src/contexts/walletContext.ts
|
|
37
|
+
import { createContext } from "react";
|
|
38
|
+
var WalletContext = createContext(null);
|
|
39
|
+
|
|
40
|
+
// src/hooks/wallet/useWalletStore.ts
|
|
41
|
+
function useWalletStore(selector) {
|
|
42
|
+
const store = useContext(WalletContext);
|
|
43
|
+
if (!store) {
|
|
44
|
+
throw new Error(
|
|
45
|
+
"Could not find WalletContext. Ensure that you have set up the WalletProvider."
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
return useStore(store, selector);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// src/hooks/wallet/useConnectWallet.ts
|
|
52
|
+
function useConnectWallet({
|
|
53
|
+
mutationKey,
|
|
54
|
+
...mutationOptions
|
|
55
|
+
} = {}) {
|
|
56
|
+
const setWalletConnected = useWalletStore((state) => state.setWalletConnected);
|
|
57
|
+
const setConnectionStatus = useWalletStore((state) => state.setConnectionStatus);
|
|
58
|
+
return useMutation({
|
|
59
|
+
mutationKey: walletMutationKeys.connectWallet(mutationKey),
|
|
60
|
+
mutationFn: async ({ wallet, accountAddress, ...connectArgs }) => {
|
|
61
|
+
try {
|
|
62
|
+
setConnectionStatus("connecting");
|
|
63
|
+
const connectResult = await wallet.features["standard:connect"].connect(connectArgs);
|
|
64
|
+
let supportedIntents = connectResult.supportedIntents;
|
|
65
|
+
if (!supportedIntents && wallet.features["sui:getCapabilities"]) {
|
|
66
|
+
supportedIntents = (await wallet.features["sui:getCapabilities"].getCapabilities()).supportedIntents ?? [];
|
|
67
|
+
}
|
|
68
|
+
const connectedHaneulAccounts = connectResult.accounts.filter(
|
|
69
|
+
(account) => account.chains.some((chain) => chain.split(":")[0] === "sui")
|
|
70
|
+
);
|
|
71
|
+
const selectedAccount = getSelectedAccount(connectedHaneulAccounts, accountAddress);
|
|
72
|
+
setWalletConnected(wallet, connectedHaneulAccounts, selectedAccount, supportedIntents);
|
|
73
|
+
return { accounts: connectedHaneulAccounts };
|
|
74
|
+
} catch (error) {
|
|
75
|
+
setConnectionStatus("disconnected");
|
|
76
|
+
throw error;
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
...mutationOptions
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
function getSelectedAccount(connectedAccounts, accountAddress) {
|
|
83
|
+
if (connectedAccounts.length === 0) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
if (accountAddress) {
|
|
87
|
+
const selectedAccount = connectedAccounts.find((account) => account.address === accountAddress);
|
|
88
|
+
return selectedAccount ?? connectedAccounts[0];
|
|
89
|
+
}
|
|
90
|
+
return connectedAccounts[0];
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// src/hooks/wallet/useCurrentWallet.ts
|
|
94
|
+
function useCurrentWallet() {
|
|
95
|
+
const currentWallet = useWalletStore((state) => state.currentWallet);
|
|
96
|
+
const connectionStatus = useWalletStore((state) => state.connectionStatus);
|
|
97
|
+
const supportedIntents = useWalletStore((state) => state.supportedIntents);
|
|
98
|
+
switch (connectionStatus) {
|
|
99
|
+
case "connecting":
|
|
100
|
+
return {
|
|
101
|
+
connectionStatus,
|
|
102
|
+
currentWallet: null,
|
|
103
|
+
isDisconnected: false,
|
|
104
|
+
isConnecting: true,
|
|
105
|
+
isConnected: false,
|
|
106
|
+
supportedIntents: []
|
|
107
|
+
};
|
|
108
|
+
case "disconnected":
|
|
109
|
+
return {
|
|
110
|
+
connectionStatus,
|
|
111
|
+
currentWallet: null,
|
|
112
|
+
isDisconnected: true,
|
|
113
|
+
isConnecting: false,
|
|
114
|
+
isConnected: false,
|
|
115
|
+
supportedIntents: []
|
|
116
|
+
};
|
|
117
|
+
case "connected": {
|
|
118
|
+
return {
|
|
119
|
+
connectionStatus,
|
|
120
|
+
currentWallet,
|
|
121
|
+
isDisconnected: false,
|
|
122
|
+
isConnecting: false,
|
|
123
|
+
isConnected: true,
|
|
124
|
+
supportedIntents
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// src/hooks/wallet/useWallets.ts
|
|
131
|
+
function useWallets() {
|
|
132
|
+
return useWalletStore((state) => state.wallets);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// src/hooks/wallet/useAutoConnectWallet.ts
|
|
136
|
+
function useAutoConnectWallet() {
|
|
137
|
+
const { mutateAsync: connectWallet } = useConnectWallet();
|
|
138
|
+
const autoConnectEnabled = useWalletStore((state) => state.autoConnectEnabled);
|
|
139
|
+
const lastConnectedWalletName = useWalletStore((state) => state.lastConnectedWalletName);
|
|
140
|
+
const lastConnectedAccountAddress = useWalletStore((state) => state.lastConnectedAccountAddress);
|
|
141
|
+
const wallets = useWallets();
|
|
142
|
+
const { isConnected } = useCurrentWallet();
|
|
143
|
+
const [clientOnly, setClientOnly] = useState(false);
|
|
144
|
+
useLayoutEffect(() => {
|
|
145
|
+
setClientOnly(true);
|
|
146
|
+
}, []);
|
|
147
|
+
const { data, isError } = useQuery({
|
|
148
|
+
queryKey: [
|
|
149
|
+
"@haneullabs/dapp-kit",
|
|
150
|
+
"autoconnect",
|
|
151
|
+
{
|
|
152
|
+
isConnected,
|
|
153
|
+
autoConnectEnabled,
|
|
154
|
+
lastConnectedWalletName,
|
|
155
|
+
lastConnectedAccountAddress,
|
|
156
|
+
walletCount: wallets.length
|
|
157
|
+
}
|
|
158
|
+
],
|
|
159
|
+
queryFn: async () => {
|
|
160
|
+
if (!autoConnectEnabled) {
|
|
161
|
+
return "disabled";
|
|
162
|
+
}
|
|
163
|
+
if (!lastConnectedWalletName || !lastConnectedAccountAddress || isConnected) {
|
|
164
|
+
return "attempted";
|
|
165
|
+
}
|
|
166
|
+
const wallet = wallets.find(
|
|
167
|
+
(wallet2) => getWalletUniqueIdentifier(wallet2) === lastConnectedWalletName
|
|
168
|
+
);
|
|
169
|
+
if (wallet) {
|
|
170
|
+
await connectWallet({
|
|
171
|
+
wallet,
|
|
172
|
+
accountAddress: lastConnectedAccountAddress,
|
|
173
|
+
silent: true
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
return "attempted";
|
|
177
|
+
},
|
|
178
|
+
enabled: autoConnectEnabled,
|
|
179
|
+
persister: void 0,
|
|
180
|
+
gcTime: 0,
|
|
181
|
+
staleTime: 0,
|
|
182
|
+
networkMode: "always",
|
|
183
|
+
retry: false,
|
|
184
|
+
retryOnMount: false,
|
|
185
|
+
refetchInterval: false,
|
|
186
|
+
refetchIntervalInBackground: false,
|
|
187
|
+
refetchOnMount: false,
|
|
188
|
+
refetchOnReconnect: false,
|
|
189
|
+
refetchOnWindowFocus: false
|
|
190
|
+
});
|
|
191
|
+
if (!autoConnectEnabled) {
|
|
192
|
+
return "disabled";
|
|
193
|
+
}
|
|
194
|
+
if (!clientOnly) {
|
|
195
|
+
return "idle";
|
|
196
|
+
}
|
|
197
|
+
if (isConnected) {
|
|
198
|
+
return "attempted";
|
|
199
|
+
}
|
|
200
|
+
if (!lastConnectedWalletName) {
|
|
201
|
+
return "attempted";
|
|
202
|
+
}
|
|
203
|
+
return isError ? "attempted" : data ?? "idle";
|
|
204
|
+
}
|
|
205
|
+
export {
|
|
206
|
+
useAutoConnectWallet
|
|
207
|
+
};
|
|
208
|
+
//# sourceMappingURL=useAutoConnectWallet.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/hooks/wallet/useAutoConnectWallet.ts", "../../../../src/utils/walletUtils.ts", "../../../../src/hooks/wallet/useConnectWallet.ts", "../../../../src/constants/walletMutationKeys.ts", "../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts", "../../../../src/hooks/wallet/useCurrentWallet.ts", "../../../../src/hooks/wallet/useWallets.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useQuery } from '@tanstack/react-query';\nimport { useLayoutEffect, useState } from 'react';\n\nimport { getWalletUniqueIdentifier } from '../../utils/walletUtils.js';\nimport { useConnectWallet } from './useConnectWallet.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\nimport { useWallets } from './useWallets.js';\nimport { useWalletStore } from './useWalletStore.js';\n\nexport function useAutoConnectWallet(): 'disabled' | 'idle' | 'attempted' {\n\tconst { mutateAsync: connectWallet } = useConnectWallet();\n\tconst autoConnectEnabled = useWalletStore((state) => state.autoConnectEnabled);\n\tconst lastConnectedWalletName = useWalletStore((state) => state.lastConnectedWalletName);\n\tconst lastConnectedAccountAddress = useWalletStore((state) => state.lastConnectedAccountAddress);\n\tconst wallets = useWallets();\n\tconst { isConnected } = useCurrentWallet();\n\n\tconst [clientOnly, setClientOnly] = useState(false);\n\tuseLayoutEffect(() => {\n\t\tsetClientOnly(true);\n\t}, []);\n\n\tconst { data, isError } = useQuery({\n\t\tqueryKey: [\n\t\t\t'@haneullabs/dapp-kit',\n\t\t\t'autoconnect',\n\t\t\t{\n\t\t\t\tisConnected,\n\t\t\t\tautoConnectEnabled,\n\t\t\t\tlastConnectedWalletName,\n\t\t\t\tlastConnectedAccountAddress,\n\t\t\t\twalletCount: wallets.length,\n\t\t\t},\n\t\t],\n\t\tqueryFn: async () => {\n\t\t\tif (!autoConnectEnabled) {\n\t\t\t\treturn 'disabled';\n\t\t\t}\n\n\t\t\tif (!lastConnectedWalletName || !lastConnectedAccountAddress || isConnected) {\n\t\t\t\treturn 'attempted';\n\t\t\t}\n\n\t\t\tconst wallet = wallets.find(\n\t\t\t\t(wallet) => getWalletUniqueIdentifier(wallet) === lastConnectedWalletName,\n\t\t\t);\n\t\t\tif (wallet) {\n\t\t\t\tawait connectWallet({\n\t\t\t\t\twallet,\n\t\t\t\t\taccountAddress: lastConnectedAccountAddress,\n\t\t\t\t\tsilent: true,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn 'attempted';\n\t\t},\n\t\tenabled: autoConnectEnabled,\n\t\tpersister: undefined,\n\t\tgcTime: 0,\n\t\tstaleTime: 0,\n\t\tnetworkMode: 'always',\n\t\tretry: false,\n\t\tretryOnMount: false,\n\t\trefetchInterval: false,\n\t\trefetchIntervalInBackground: false,\n\t\trefetchOnMount: false,\n\t\trefetchOnReconnect: false,\n\t\trefetchOnWindowFocus: false,\n\t});\n\n\tif (!autoConnectEnabled) {\n\t\treturn 'disabled';\n\t}\n\n\t// We always initialize with \"idle\" so that in SSR environments, we guarantee that the initial render states always agree:\n\tif (!clientOnly) {\n\t\treturn 'idle';\n\t}\n\n\tif (isConnected) {\n\t\treturn 'attempted';\n\t}\n\n\tif (!lastConnectedWalletName) {\n\t\treturn 'attempted';\n\t}\n\n\treturn isError ? 'attempted' : (data ?? 'idle');\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n\tMinimallyRequiredFeatures,\n\tWallet,\n\tWalletWithFeatures,\n\tWalletWithRequiredFeatures,\n} from '@haneullabs/wallet-standard';\nimport { getWallets, isWalletWithRequiredFeatureSet } from '@haneullabs/wallet-standard';\n\nexport function getRegisteredWallets<AdditionalFeatures extends Wallet['features']>(\n\tpreferredWallets: string[],\n\twalletFilter?: (wallet: WalletWithRequiredFeatures) => boolean,\n) {\n\tconst walletsApi = getWallets();\n\tconst wallets = walletsApi.get();\n\n\tconst suiWallets = wallets.filter(\n\t\t(wallet): wallet is WalletWithFeatures<MinimallyRequiredFeatures & AdditionalFeatures> =>\n\t\t\tisWalletWithRequiredFeatureSet(wallet) && (!walletFilter || walletFilter(wallet)),\n\t);\n\n\treturn [\n\t\t// Preferred wallets, in order:\n\t\t...(preferredWallets\n\t\t\t.map((name) => suiWallets.find((wallet) => wallet.name === name))\n\t\t\t.filter(Boolean) as WalletWithFeatures<MinimallyRequiredFeatures & AdditionalFeatures>[]),\n\n\t\t// Wallets in default order:\n\t\t...suiWallets.filter((wallet) => !preferredWallets.includes(wallet.name)),\n\t];\n}\n\nexport function getWalletUniqueIdentifier(wallet?: Wallet) {\n\treturn wallet?.id ?? wallet?.name;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n\tStandardConnectInput,\n\tStandardConnectOutput,\n\tWalletAccount,\n\tWalletWithRequiredFeatures,\n} from '@haneullabs/wallet-standard';\nimport type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport { useWalletStore } from './useWalletStore.js';\n\ntype ConnectWalletArgs = {\n\t/** The wallet to connect to. */\n\twallet: WalletWithRequiredFeatures;\n\n\t/** An optional account address to connect to. Defaults to the first authorized account. */\n\taccountAddress?: string;\n} & StandardConnectInput;\n\ntype ConnectWalletResult = StandardConnectOutput;\n\ntype UseConnectWalletMutationOptions = Omit<\n\tUseMutationOptions<ConnectWalletResult, Error, ConnectWalletArgs, unknown>,\n\t'mutationFn'\n>;\n\n/**\n * Mutation hook for establishing a connection to a specific wallet.\n */\nexport function useConnectWallet({\n\tmutationKey,\n\t...mutationOptions\n}: UseConnectWalletMutationOptions = {}): UseMutationResult<\n\tConnectWalletResult,\n\tError,\n\tConnectWalletArgs,\n\tunknown\n> {\n\tconst setWalletConnected = useWalletStore((state) => state.setWalletConnected);\n\tconst setConnectionStatus = useWalletStore((state) => state.setConnectionStatus);\n\n\treturn useMutation({\n\t\tmutationKey: walletMutationKeys.connectWallet(mutationKey),\n\t\tmutationFn: async ({ wallet, accountAddress, ...connectArgs }) => {\n\t\t\ttry {\n\t\t\t\tsetConnectionStatus('connecting');\n\n\t\t\t\tconst connectResult = await wallet.features['standard:connect'].connect(connectArgs);\n\t\t\t\tlet supportedIntents = connectResult.supportedIntents;\n\t\t\t\tif (!supportedIntents && wallet.features['sui:getCapabilities']) {\n\t\t\t\t\tsupportedIntents =\n\t\t\t\t\t\t(await wallet.features['sui:getCapabilities'].getCapabilities()).supportedIntents ?? [];\n\t\t\t\t}\n\t\t\t\tconst connectedHaneulAccounts = connectResult.accounts.filter((account) =>\n\t\t\t\t\taccount.chains.some((chain) => chain.split(':')[0] === 'sui'),\n\t\t\t\t);\n\t\t\t\tconst selectedAccount = getSelectedAccount(connectedHaneulAccounts, accountAddress);\n\n\t\t\t\tsetWalletConnected(wallet, connectedHaneulAccounts, selectedAccount, supportedIntents);\n\n\t\t\t\treturn { accounts: connectedHaneulAccounts };\n\t\t\t} catch (error) {\n\t\t\t\tsetConnectionStatus('disconnected');\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t},\n\t\t...mutationOptions,\n\t});\n}\n\nfunction getSelectedAccount(connectedAccounts: readonly WalletAccount[], accountAddress?: string) {\n\tif (connectedAccounts.length === 0) {\n\t\treturn null;\n\t}\n\n\tif (accountAddress) {\n\t\tconst selectedAccount = connectedAccounts.find((account) => account.address === accountAddress);\n\t\treturn selectedAccount ?? connectedAccounts[0];\n\t}\n\n\treturn connectedAccounts[0];\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { MutationKey } from '@tanstack/react-query';\n\nexport const walletMutationKeys = {\n\tall: { baseScope: 'wallet' },\n\tconnectWallet: formMutationKeyFn('connect-wallet'),\n\tautoconnectWallet: formMutationKeyFn('autoconnect-wallet'),\n\tdisconnectWallet: formMutationKeyFn('disconnect-wallet'),\n\tsignPersonalMessage: formMutationKeyFn('sign-personal-message'),\n\tsignTransaction: formMutationKeyFn('sign-transaction'),\n\tsignAndExecuteTransaction: formMutationKeyFn('sign-and-execute-transaction'),\n\tswitchAccount: formMutationKeyFn('switch-account'),\n\treportTransactionEffects: formMutationKeyFn('report-transaction-effects'),\n};\n\nfunction formMutationKeyFn(baseEntity: string) {\n\treturn function mutationKeyFn(additionalKeys: MutationKey = []) {\n\t\treturn [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];\n\t};\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useContext } from 'react';\nimport { useStore } from 'zustand';\n\nimport { WalletContext } from '../../contexts/walletContext.js';\nimport type { StoreState } from '../../walletStore.js';\n\nexport function useWalletStore<T>(selector: (state: StoreState) => T): T {\n\tconst store = useContext(WalletContext);\n\tif (!store) {\n\t\tthrow new Error(\n\t\t\t'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n\t\t);\n\t}\n\treturn useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { createContext } from 'react';\n\nimport type { WalletStore } from '../walletStore.js';\n\nexport const WalletContext = createContext<WalletStore | null>(null);\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves the wallet that is currently connected to the dApp, if one exists.\n */\nexport function useCurrentWallet() {\n\tconst currentWallet = useWalletStore((state) => state.currentWallet);\n\tconst connectionStatus = useWalletStore((state) => state.connectionStatus);\n\tconst supportedIntents = useWalletStore((state) => state.supportedIntents);\n\n\tswitch (connectionStatus) {\n\t\tcase 'connecting':\n\t\t\treturn {\n\t\t\t\tconnectionStatus,\n\t\t\t\tcurrentWallet: null,\n\t\t\t\tisDisconnected: false,\n\t\t\t\tisConnecting: true,\n\t\t\t\tisConnected: false,\n\t\t\t\tsupportedIntents: [],\n\t\t\t} as const;\n\t\tcase 'disconnected':\n\t\t\treturn {\n\t\t\t\tconnectionStatus,\n\t\t\t\tcurrentWallet: null,\n\t\t\t\tisDisconnected: true,\n\t\t\t\tisConnecting: false,\n\t\t\t\tisConnected: false,\n\t\t\t\tsupportedIntents: [],\n\t\t\t} as const;\n\t\tcase 'connected': {\n\t\t\treturn {\n\t\t\t\tconnectionStatus,\n\t\t\t\tcurrentWallet: currentWallet!,\n\t\t\t\tisDisconnected: false,\n\t\t\t\tisConnecting: false,\n\t\t\t\tisConnected: true,\n\t\t\t\tsupportedIntents,\n\t\t\t} as const;\n\t\t}\n\t}\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves a list of registered wallets available to the dApp sorted by preference.\n */\nexport function useWallets() {\n\treturn useWalletStore((state) => state.wallets);\n}\n"],
|
|
5
|
+
"mappings": ";AAGA,SAAS,gBAAgB;AACzB,SAAS,iBAAiB,gBAAgB;;;ACK1C,SAAS,YAAY,sCAAsC;AAyBpD,SAAS,0BAA0B,QAAiB;AAC1D,SAAO,QAAQ,MAAM,QAAQ;AAC9B;;;AC1BA,SAAS,mBAAmB;;;ACLrB,IAAM,qBAAqB;AAAA,EACjC,KAAK,EAAE,WAAW,SAAS;AAAA,EAC3B,eAAe,kBAAkB,gBAAgB;AAAA,EACjD,mBAAmB,kBAAkB,oBAAoB;AAAA,EACzD,kBAAkB,kBAAkB,mBAAmB;AAAA,EACvD,qBAAqB,kBAAkB,uBAAuB;AAAA,EAC9D,iBAAiB,kBAAkB,kBAAkB;AAAA,EACrD,2BAA2B,kBAAkB,8BAA8B;AAAA,EAC3E,eAAe,kBAAkB,gBAAgB;AAAA,EACjD,0BAA0B,kBAAkB,4BAA4B;AACzE;AAEA,SAAS,kBAAkB,YAAoB;AAC9C,SAAO,SAAS,cAAc,iBAA8B,CAAC,GAAG;AAC/D,WAAO,CAAC,EAAE,GAAG,mBAAmB,KAAK,WAAW,GAAG,GAAG,cAAc;AAAA,EACrE;AACD;;;AClBA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;;;ACDzB,SAAS,qBAAqB;AAIvB,IAAM,gBAAgB,cAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACxE,QAAM,QAAQ,WAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACX,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AACA,SAAO,SAAS,OAAO,QAAQ;AAChC;;;AFgBO,SAAS,iBAAiB;AAAA,EAChC;AAAA,EACA,GAAG;AACJ,IAAqC,CAAC,GAKpC;AACD,QAAM,qBAAqB,eAAe,CAAC,UAAU,MAAM,kBAAkB;AAC7E,QAAM,sBAAsB,eAAe,CAAC,UAAU,MAAM,mBAAmB;AAE/E,SAAO,YAAY;AAAA,IAClB,aAAa,mBAAmB,cAAc,WAAW;AAAA,IACzD,YAAY,OAAO,EAAE,QAAQ,gBAAgB,GAAG,YAAY,MAAM;AACjE,UAAI;AACH,4BAAoB,YAAY;AAEhC,cAAM,gBAAgB,MAAM,OAAO,SAAS,kBAAkB,EAAE,QAAQ,WAAW;AACnF,YAAI,mBAAmB,cAAc;AACrC,YAAI,CAAC,oBAAoB,OAAO,SAAS,qBAAqB,GAAG;AAChE,8BACE,MAAM,OAAO,SAAS,qBAAqB,EAAE,gBAAgB,GAAG,oBAAoB,CAAC;AAAA,QACxF;AACA,cAAM,0BAA0B,cAAc,SAAS;AAAA,UAAO,CAAC,YAC9D,QAAQ,OAAO,KAAK,CAAC,UAAU,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,KAAK;AAAA,QAC7D;AACA,cAAM,kBAAkB,mBAAmB,yBAAyB,cAAc;AAElF,2BAAmB,QAAQ,yBAAyB,iBAAiB,gBAAgB;AAErF,eAAO,EAAE,UAAU,wBAAwB;AAAA,MAC5C,SAAS,OAAO;AACf,4BAAoB,cAAc;AAClC,cAAM;AAAA,MACP;AAAA,IACD;AAAA,IACA,GAAG;AAAA,EACJ,CAAC;AACF;AAEA,SAAS,mBAAmB,mBAA6C,gBAAyB;AACjG,MAAI,kBAAkB,WAAW,GAAG;AACnC,WAAO;AAAA,EACR;AAEA,MAAI,gBAAgB;AACnB,UAAM,kBAAkB,kBAAkB,KAAK,CAAC,YAAY,QAAQ,YAAY,cAAc;AAC9F,WAAO,mBAAmB,kBAAkB,CAAC;AAAA,EAC9C;AAEA,SAAO,kBAAkB,CAAC;AAC3B;;;AI7EO,SAAS,mBAAmB;AAClC,QAAM,gBAAgB,eAAe,CAAC,UAAU,MAAM,aAAa;AACnE,QAAM,mBAAmB,eAAe,CAAC,UAAU,MAAM,gBAAgB;AACzE,QAAM,mBAAmB,eAAe,CAAC,UAAU,MAAM,gBAAgB;AAEzE,UAAQ,kBAAkB;AAAA,IACzB,KAAK;AACJ,aAAO;AAAA,QACN;AAAA,QACA,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,kBAAkB,CAAC;AAAA,MACpB;AAAA,IACD,KAAK;AACJ,aAAO;AAAA,QACN;AAAA,QACA,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,kBAAkB,CAAC;AAAA,MACpB;AAAA,IACD,KAAK,aAAa;AACjB,aAAO;AAAA,QACN;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,QACb;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;;;ACnCO,SAAS,aAAa;AAC5B,SAAO,eAAe,CAAC,UAAU,MAAM,OAAO;AAC/C;;;APEO,SAAS,uBAA0D;AACzE,QAAM,EAAE,aAAa,cAAc,IAAI,iBAAiB;AACxD,QAAM,qBAAqB,eAAe,CAAC,UAAU,MAAM,kBAAkB;AAC7E,QAAM,0BAA0B,eAAe,CAAC,UAAU,MAAM,uBAAuB;AACvF,QAAM,8BAA8B,eAAe,CAAC,UAAU,MAAM,2BAA2B;AAC/F,QAAM,UAAU,WAAW;AAC3B,QAAM,EAAE,YAAY,IAAI,iBAAiB;AAEzC,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAClD,kBAAgB,MAAM;AACrB,kBAAc,IAAI;AAAA,EACnB,GAAG,CAAC,CAAC;AAEL,QAAM,EAAE,MAAM,QAAQ,IAAI,SAAS;AAAA,IAClC,UAAU;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,aAAa,QAAQ;AAAA,MACtB;AAAA,IACD;AAAA,IACA,SAAS,YAAY;AACpB,UAAI,CAAC,oBAAoB;AACxB,eAAO;AAAA,MACR;AAEA,UAAI,CAAC,2BAA2B,CAAC,+BAA+B,aAAa;AAC5E,eAAO;AAAA,MACR;AAEA,YAAM,SAAS,QAAQ;AAAA,QACtB,CAACA,YAAW,0BAA0BA,OAAM,MAAM;AAAA,MACnD;AACA,UAAI,QAAQ;AACX,cAAM,cAAc;AAAA,UACnB;AAAA,UACA,gBAAgB;AAAA,UAChB,QAAQ;AAAA,QACT,CAAC;AAAA,MACF;AAEA,aAAO;AAAA,IACR;AAAA,IACA,SAAS;AAAA,IACT,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,aAAa;AAAA,IACb,OAAO;AAAA,IACP,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,6BAA6B;AAAA,IAC7B,gBAAgB;AAAA,IAChB,oBAAoB;AAAA,IACpB,sBAAsB;AAAA,EACvB,CAAC;AAED,MAAI,CAAC,oBAAoB;AACxB,WAAO;AAAA,EACR;AAGA,MAAI,CAAC,YAAY;AAChB,WAAO;AAAA,EACR;AAEA,MAAI,aAAa;AAChB,WAAO;AAAA,EACR;AAEA,MAAI,CAAC,yBAAyB;AAC7B,WAAO;AAAA,EACR;AAEA,SAAO,UAAU,cAAe,QAAQ;AACzC;",
|
|
6
|
+
"names": ["wallet"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { StandardConnectInput, StandardConnectOutput, WalletWithRequiredFeatures } from '@haneullabs/wallet-standard';
|
|
2
|
+
import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
|
|
3
|
+
type ConnectWalletArgs = {
|
|
4
|
+
/** The wallet to connect to. */
|
|
5
|
+
wallet: WalletWithRequiredFeatures;
|
|
6
|
+
/** An optional account address to connect to. Defaults to the first authorized account. */
|
|
7
|
+
accountAddress?: string;
|
|
8
|
+
} & StandardConnectInput;
|
|
9
|
+
type ConnectWalletResult = StandardConnectOutput;
|
|
10
|
+
type UseConnectWalletMutationOptions = Omit<UseMutationOptions<ConnectWalletResult, Error, ConnectWalletArgs, unknown>, 'mutationFn'>;
|
|
11
|
+
/**
|
|
12
|
+
* Mutation hook for establishing a connection to a specific wallet.
|
|
13
|
+
*/
|
|
14
|
+
export declare function useConnectWallet({ mutationKey, ...mutationOptions }?: UseConnectWalletMutationOptions): UseMutationResult<ConnectWalletResult, Error, ConnectWalletArgs, unknown>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
// src/hooks/wallet/useConnectWallet.ts
|
|
2
|
+
import { useMutation } from "@tanstack/react-query";
|
|
3
|
+
|
|
4
|
+
// src/constants/walletMutationKeys.ts
|
|
5
|
+
var walletMutationKeys = {
|
|
6
|
+
all: { baseScope: "wallet" },
|
|
7
|
+
connectWallet: formMutationKeyFn("connect-wallet"),
|
|
8
|
+
autoconnectWallet: formMutationKeyFn("autoconnect-wallet"),
|
|
9
|
+
disconnectWallet: formMutationKeyFn("disconnect-wallet"),
|
|
10
|
+
signPersonalMessage: formMutationKeyFn("sign-personal-message"),
|
|
11
|
+
signTransaction: formMutationKeyFn("sign-transaction"),
|
|
12
|
+
signAndExecuteTransaction: formMutationKeyFn("sign-and-execute-transaction"),
|
|
13
|
+
switchAccount: formMutationKeyFn("switch-account"),
|
|
14
|
+
reportTransactionEffects: formMutationKeyFn("report-transaction-effects")
|
|
15
|
+
};
|
|
16
|
+
function formMutationKeyFn(baseEntity) {
|
|
17
|
+
return function mutationKeyFn(additionalKeys = []) {
|
|
18
|
+
return [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// src/hooks/wallet/useWalletStore.ts
|
|
23
|
+
import { useContext } from "react";
|
|
24
|
+
import { useStore } from "zustand";
|
|
25
|
+
|
|
26
|
+
// src/contexts/walletContext.ts
|
|
27
|
+
import { createContext } from "react";
|
|
28
|
+
var WalletContext = createContext(null);
|
|
29
|
+
|
|
30
|
+
// src/hooks/wallet/useWalletStore.ts
|
|
31
|
+
function useWalletStore(selector) {
|
|
32
|
+
const store = useContext(WalletContext);
|
|
33
|
+
if (!store) {
|
|
34
|
+
throw new Error(
|
|
35
|
+
"Could not find WalletContext. Ensure that you have set up the WalletProvider."
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
return useStore(store, selector);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// src/hooks/wallet/useConnectWallet.ts
|
|
42
|
+
function useConnectWallet({
|
|
43
|
+
mutationKey,
|
|
44
|
+
...mutationOptions
|
|
45
|
+
} = {}) {
|
|
46
|
+
const setWalletConnected = useWalletStore((state) => state.setWalletConnected);
|
|
47
|
+
const setConnectionStatus = useWalletStore((state) => state.setConnectionStatus);
|
|
48
|
+
return useMutation({
|
|
49
|
+
mutationKey: walletMutationKeys.connectWallet(mutationKey),
|
|
50
|
+
mutationFn: async ({ wallet, accountAddress, ...connectArgs }) => {
|
|
51
|
+
try {
|
|
52
|
+
setConnectionStatus("connecting");
|
|
53
|
+
const connectResult = await wallet.features["standard:connect"].connect(connectArgs);
|
|
54
|
+
let supportedIntents = connectResult.supportedIntents;
|
|
55
|
+
if (!supportedIntents && wallet.features["sui:getCapabilities"]) {
|
|
56
|
+
supportedIntents = (await wallet.features["sui:getCapabilities"].getCapabilities()).supportedIntents ?? [];
|
|
57
|
+
}
|
|
58
|
+
const connectedHaneulAccounts = connectResult.accounts.filter(
|
|
59
|
+
(account) => account.chains.some((chain) => chain.split(":")[0] === "sui")
|
|
60
|
+
);
|
|
61
|
+
const selectedAccount = getSelectedAccount(connectedHaneulAccounts, accountAddress);
|
|
62
|
+
setWalletConnected(wallet, connectedHaneulAccounts, selectedAccount, supportedIntents);
|
|
63
|
+
return { accounts: connectedHaneulAccounts };
|
|
64
|
+
} catch (error) {
|
|
65
|
+
setConnectionStatus("disconnected");
|
|
66
|
+
throw error;
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
...mutationOptions
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
function getSelectedAccount(connectedAccounts, accountAddress) {
|
|
73
|
+
if (connectedAccounts.length === 0) {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
if (accountAddress) {
|
|
77
|
+
const selectedAccount = connectedAccounts.find((account) => account.address === accountAddress);
|
|
78
|
+
return selectedAccount ?? connectedAccounts[0];
|
|
79
|
+
}
|
|
80
|
+
return connectedAccounts[0];
|
|
81
|
+
}
|
|
82
|
+
export {
|
|
83
|
+
useConnectWallet
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=useConnectWallet.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/hooks/wallet/useConnectWallet.ts", "../../../../src/constants/walletMutationKeys.ts", "../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n\tStandardConnectInput,\n\tStandardConnectOutput,\n\tWalletAccount,\n\tWalletWithRequiredFeatures,\n} from '@haneullabs/wallet-standard';\nimport type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport { useWalletStore } from './useWalletStore.js';\n\ntype ConnectWalletArgs = {\n\t/** The wallet to connect to. */\n\twallet: WalletWithRequiredFeatures;\n\n\t/** An optional account address to connect to. Defaults to the first authorized account. */\n\taccountAddress?: string;\n} & StandardConnectInput;\n\ntype ConnectWalletResult = StandardConnectOutput;\n\ntype UseConnectWalletMutationOptions = Omit<\n\tUseMutationOptions<ConnectWalletResult, Error, ConnectWalletArgs, unknown>,\n\t'mutationFn'\n>;\n\n/**\n * Mutation hook for establishing a connection to a specific wallet.\n */\nexport function useConnectWallet({\n\tmutationKey,\n\t...mutationOptions\n}: UseConnectWalletMutationOptions = {}): UseMutationResult<\n\tConnectWalletResult,\n\tError,\n\tConnectWalletArgs,\n\tunknown\n> {\n\tconst setWalletConnected = useWalletStore((state) => state.setWalletConnected);\n\tconst setConnectionStatus = useWalletStore((state) => state.setConnectionStatus);\n\n\treturn useMutation({\n\t\tmutationKey: walletMutationKeys.connectWallet(mutationKey),\n\t\tmutationFn: async ({ wallet, accountAddress, ...connectArgs }) => {\n\t\t\ttry {\n\t\t\t\tsetConnectionStatus('connecting');\n\n\t\t\t\tconst connectResult = await wallet.features['standard:connect'].connect(connectArgs);\n\t\t\t\tlet supportedIntents = connectResult.supportedIntents;\n\t\t\t\tif (!supportedIntents && wallet.features['sui:getCapabilities']) {\n\t\t\t\t\tsupportedIntents =\n\t\t\t\t\t\t(await wallet.features['sui:getCapabilities'].getCapabilities()).supportedIntents ?? [];\n\t\t\t\t}\n\t\t\t\tconst connectedHaneulAccounts = connectResult.accounts.filter((account) =>\n\t\t\t\t\taccount.chains.some((chain) => chain.split(':')[0] === 'sui'),\n\t\t\t\t);\n\t\t\t\tconst selectedAccount = getSelectedAccount(connectedHaneulAccounts, accountAddress);\n\n\t\t\t\tsetWalletConnected(wallet, connectedHaneulAccounts, selectedAccount, supportedIntents);\n\n\t\t\t\treturn { accounts: connectedHaneulAccounts };\n\t\t\t} catch (error) {\n\t\t\t\tsetConnectionStatus('disconnected');\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t},\n\t\t...mutationOptions,\n\t});\n}\n\nfunction getSelectedAccount(connectedAccounts: readonly WalletAccount[], accountAddress?: string) {\n\tif (connectedAccounts.length === 0) {\n\t\treturn null;\n\t}\n\n\tif (accountAddress) {\n\t\tconst selectedAccount = connectedAccounts.find((account) => account.address === accountAddress);\n\t\treturn selectedAccount ?? connectedAccounts[0];\n\t}\n\n\treturn connectedAccounts[0];\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { MutationKey } from '@tanstack/react-query';\n\nexport const walletMutationKeys = {\n\tall: { baseScope: 'wallet' },\n\tconnectWallet: formMutationKeyFn('connect-wallet'),\n\tautoconnectWallet: formMutationKeyFn('autoconnect-wallet'),\n\tdisconnectWallet: formMutationKeyFn('disconnect-wallet'),\n\tsignPersonalMessage: formMutationKeyFn('sign-personal-message'),\n\tsignTransaction: formMutationKeyFn('sign-transaction'),\n\tsignAndExecuteTransaction: formMutationKeyFn('sign-and-execute-transaction'),\n\tswitchAccount: formMutationKeyFn('switch-account'),\n\treportTransactionEffects: formMutationKeyFn('report-transaction-effects'),\n};\n\nfunction formMutationKeyFn(baseEntity: string) {\n\treturn function mutationKeyFn(additionalKeys: MutationKey = []) {\n\t\treturn [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];\n\t};\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useContext } from 'react';\nimport { useStore } from 'zustand';\n\nimport { WalletContext } from '../../contexts/walletContext.js';\nimport type { StoreState } from '../../walletStore.js';\n\nexport function useWalletStore<T>(selector: (state: StoreState) => T): T {\n\tconst store = useContext(WalletContext);\n\tif (!store) {\n\t\tthrow new Error(\n\t\t\t'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n\t\t);\n\t}\n\treturn useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { createContext } from 'react';\n\nimport type { WalletStore } from '../walletStore.js';\n\nexport const WalletContext = createContext<WalletStore | null>(null);\n"],
|
|
5
|
+
"mappings": ";AAUA,SAAS,mBAAmB;;;ACLrB,IAAM,qBAAqB;AAAA,EACjC,KAAK,EAAE,WAAW,SAAS;AAAA,EAC3B,eAAe,kBAAkB,gBAAgB;AAAA,EACjD,mBAAmB,kBAAkB,oBAAoB;AAAA,EACzD,kBAAkB,kBAAkB,mBAAmB;AAAA,EACvD,qBAAqB,kBAAkB,uBAAuB;AAAA,EAC9D,iBAAiB,kBAAkB,kBAAkB;AAAA,EACrD,2BAA2B,kBAAkB,8BAA8B;AAAA,EAC3E,eAAe,kBAAkB,gBAAgB;AAAA,EACjD,0BAA0B,kBAAkB,4BAA4B;AACzE;AAEA,SAAS,kBAAkB,YAAoB;AAC9C,SAAO,SAAS,cAAc,iBAA8B,CAAC,GAAG;AAC/D,WAAO,CAAC,EAAE,GAAG,mBAAmB,KAAK,WAAW,GAAG,GAAG,cAAc;AAAA,EACrE;AACD;;;AClBA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;;;ACDzB,SAAS,qBAAqB;AAIvB,IAAM,gBAAgB,cAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACxE,QAAM,QAAQ,WAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACX,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AACA,SAAO,SAAS,OAAO,QAAQ;AAChC;;;AFgBO,SAAS,iBAAiB;AAAA,EAChC;AAAA,EACA,GAAG;AACJ,IAAqC,CAAC,GAKpC;AACD,QAAM,qBAAqB,eAAe,CAAC,UAAU,MAAM,kBAAkB;AAC7E,QAAM,sBAAsB,eAAe,CAAC,UAAU,MAAM,mBAAmB;AAE/E,SAAO,YAAY;AAAA,IAClB,aAAa,mBAAmB,cAAc,WAAW;AAAA,IACzD,YAAY,OAAO,EAAE,QAAQ,gBAAgB,GAAG,YAAY,MAAM;AACjE,UAAI;AACH,4BAAoB,YAAY;AAEhC,cAAM,gBAAgB,MAAM,OAAO,SAAS,kBAAkB,EAAE,QAAQ,WAAW;AACnF,YAAI,mBAAmB,cAAc;AACrC,YAAI,CAAC,oBAAoB,OAAO,SAAS,qBAAqB,GAAG;AAChE,8BACE,MAAM,OAAO,SAAS,qBAAqB,EAAE,gBAAgB,GAAG,oBAAoB,CAAC;AAAA,QACxF;AACA,cAAM,0BAA0B,cAAc,SAAS;AAAA,UAAO,CAAC,YAC9D,QAAQ,OAAO,KAAK,CAAC,UAAU,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,KAAK;AAAA,QAC7D;AACA,cAAM,kBAAkB,mBAAmB,yBAAyB,cAAc;AAElF,2BAAmB,QAAQ,yBAAyB,iBAAiB,gBAAgB;AAErF,eAAO,EAAE,UAAU,wBAAwB;AAAA,MAC5C,SAAS,OAAO;AACf,4BAAoB,cAAc;AAClC,cAAM;AAAA,MACP;AAAA,IACD;AAAA,IACA,GAAG;AAAA,EACJ,CAAC;AACF;AAEA,SAAS,mBAAmB,mBAA6C,gBAAyB;AACjG,MAAI,kBAAkB,WAAW,GAAG;AACnC,WAAO;AAAA,EACR;AAEA,MAAI,gBAAgB;AACnB,UAAM,kBAAkB,kBAAkB,KAAK,CAAC,YAAY,QAAQ,YAAY,cAAc;AAC9F,WAAO,mBAAmB,kBAAkB,CAAC;AAAA,EAC9C;AAEA,SAAO,kBAAkB,CAAC;AAC3B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// src/hooks/wallet/useWalletStore.ts
|
|
2
|
+
import { useContext } from "react";
|
|
3
|
+
import { useStore } from "zustand";
|
|
4
|
+
|
|
5
|
+
// src/contexts/walletContext.ts
|
|
6
|
+
import { createContext } from "react";
|
|
7
|
+
var WalletContext = createContext(null);
|
|
8
|
+
|
|
9
|
+
// src/hooks/wallet/useWalletStore.ts
|
|
10
|
+
function useWalletStore(selector) {
|
|
11
|
+
const store = useContext(WalletContext);
|
|
12
|
+
if (!store) {
|
|
13
|
+
throw new Error(
|
|
14
|
+
"Could not find WalletContext. Ensure that you have set up the WalletProvider."
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
return useStore(store, selector);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// src/hooks/wallet/useCurrentAccount.ts
|
|
21
|
+
function useCurrentAccount() {
|
|
22
|
+
return useWalletStore((state) => state.currentAccount);
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
useCurrentAccount
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=useCurrentAccount.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts", "../../../../src/hooks/wallet/useCurrentAccount.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useContext } from 'react';\nimport { useStore } from 'zustand';\n\nimport { WalletContext } from '../../contexts/walletContext.js';\nimport type { StoreState } from '../../walletStore.js';\n\nexport function useWalletStore<T>(selector: (state: StoreState) => T): T {\n\tconst store = useContext(WalletContext);\n\tif (!store) {\n\t\tthrow new Error(\n\t\t\t'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n\t\t);\n\t}\n\treturn useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { createContext } from 'react';\n\nimport type { WalletStore } from '../walletStore.js';\n\nexport const WalletContext = createContext<WalletStore | null>(null);\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletAccount } from '@haneullabs/wallet-standard';\n\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves the wallet account that is currently selected, if one exists.\n */\nexport function useCurrentAccount(): WalletAccount | null {\n\treturn useWalletStore((state) => state.currentAccount);\n}\n"],
|
|
5
|
+
"mappings": ";AAGA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;;;ACDzB,SAAS,qBAAqB;AAIvB,IAAM,gBAAgB,cAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACxE,QAAM,QAAQ,WAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACX,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AACA,SAAO,SAAS,OAAO,QAAQ;AAChC;;;AEPO,SAAS,oBAA0C;AACzD,SAAO,eAAe,CAAC,UAAU,MAAM,cAAc;AACtD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retrieves the wallet that is currently connected to the dApp, if one exists.
|
|
3
|
+
*/
|
|
4
|
+
export declare function useCurrentWallet(): {
|
|
5
|
+
readonly connectionStatus: "connecting";
|
|
6
|
+
readonly currentWallet: null;
|
|
7
|
+
readonly isDisconnected: false;
|
|
8
|
+
readonly isConnecting: true;
|
|
9
|
+
readonly isConnected: false;
|
|
10
|
+
readonly supportedIntents: readonly [];
|
|
11
|
+
} | {
|
|
12
|
+
readonly connectionStatus: "disconnected";
|
|
13
|
+
readonly currentWallet: null;
|
|
14
|
+
readonly isDisconnected: true;
|
|
15
|
+
readonly isConnecting: false;
|
|
16
|
+
readonly isConnected: false;
|
|
17
|
+
readonly supportedIntents: readonly [];
|
|
18
|
+
} | {
|
|
19
|
+
readonly connectionStatus: "connected";
|
|
20
|
+
readonly currentWallet: import("@haneullabs/wallet-standard").WalletWithRequiredFeatures;
|
|
21
|
+
readonly isDisconnected: false;
|
|
22
|
+
readonly isConnecting: false;
|
|
23
|
+
readonly isConnected: true;
|
|
24
|
+
readonly supportedIntents: string[];
|
|
25
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// src/hooks/wallet/useWalletStore.ts
|
|
2
|
+
import { useContext } from "react";
|
|
3
|
+
import { useStore } from "zustand";
|
|
4
|
+
|
|
5
|
+
// src/contexts/walletContext.ts
|
|
6
|
+
import { createContext } from "react";
|
|
7
|
+
var WalletContext = createContext(null);
|
|
8
|
+
|
|
9
|
+
// src/hooks/wallet/useWalletStore.ts
|
|
10
|
+
function useWalletStore(selector) {
|
|
11
|
+
const store = useContext(WalletContext);
|
|
12
|
+
if (!store) {
|
|
13
|
+
throw new Error(
|
|
14
|
+
"Could not find WalletContext. Ensure that you have set up the WalletProvider."
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
return useStore(store, selector);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// src/hooks/wallet/useCurrentWallet.ts
|
|
21
|
+
function useCurrentWallet() {
|
|
22
|
+
const currentWallet = useWalletStore((state) => state.currentWallet);
|
|
23
|
+
const connectionStatus = useWalletStore((state) => state.connectionStatus);
|
|
24
|
+
const supportedIntents = useWalletStore((state) => state.supportedIntents);
|
|
25
|
+
switch (connectionStatus) {
|
|
26
|
+
case "connecting":
|
|
27
|
+
return {
|
|
28
|
+
connectionStatus,
|
|
29
|
+
currentWallet: null,
|
|
30
|
+
isDisconnected: false,
|
|
31
|
+
isConnecting: true,
|
|
32
|
+
isConnected: false,
|
|
33
|
+
supportedIntents: []
|
|
34
|
+
};
|
|
35
|
+
case "disconnected":
|
|
36
|
+
return {
|
|
37
|
+
connectionStatus,
|
|
38
|
+
currentWallet: null,
|
|
39
|
+
isDisconnected: true,
|
|
40
|
+
isConnecting: false,
|
|
41
|
+
isConnected: false,
|
|
42
|
+
supportedIntents: []
|
|
43
|
+
};
|
|
44
|
+
case "connected": {
|
|
45
|
+
return {
|
|
46
|
+
connectionStatus,
|
|
47
|
+
currentWallet,
|
|
48
|
+
isDisconnected: false,
|
|
49
|
+
isConnecting: false,
|
|
50
|
+
isConnected: true,
|
|
51
|
+
supportedIntents
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
export {
|
|
57
|
+
useCurrentWallet
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=useCurrentWallet.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts", "../../../../src/hooks/wallet/useCurrentWallet.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useContext } from 'react';\nimport { useStore } from 'zustand';\n\nimport { WalletContext } from '../../contexts/walletContext.js';\nimport type { StoreState } from '../../walletStore.js';\n\nexport function useWalletStore<T>(selector: (state: StoreState) => T): T {\n\tconst store = useContext(WalletContext);\n\tif (!store) {\n\t\tthrow new Error(\n\t\t\t'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n\t\t);\n\t}\n\treturn useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { createContext } from 'react';\n\nimport type { WalletStore } from '../walletStore.js';\n\nexport const WalletContext = createContext<WalletStore | null>(null);\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves the wallet that is currently connected to the dApp, if one exists.\n */\nexport function useCurrentWallet() {\n\tconst currentWallet = useWalletStore((state) => state.currentWallet);\n\tconst connectionStatus = useWalletStore((state) => state.connectionStatus);\n\tconst supportedIntents = useWalletStore((state) => state.supportedIntents);\n\n\tswitch (connectionStatus) {\n\t\tcase 'connecting':\n\t\t\treturn {\n\t\t\t\tconnectionStatus,\n\t\t\t\tcurrentWallet: null,\n\t\t\t\tisDisconnected: false,\n\t\t\t\tisConnecting: true,\n\t\t\t\tisConnected: false,\n\t\t\t\tsupportedIntents: [],\n\t\t\t} as const;\n\t\tcase 'disconnected':\n\t\t\treturn {\n\t\t\t\tconnectionStatus,\n\t\t\t\tcurrentWallet: null,\n\t\t\t\tisDisconnected: true,\n\t\t\t\tisConnecting: false,\n\t\t\t\tisConnected: false,\n\t\t\t\tsupportedIntents: [],\n\t\t\t} as const;\n\t\tcase 'connected': {\n\t\t\treturn {\n\t\t\t\tconnectionStatus,\n\t\t\t\tcurrentWallet: currentWallet!,\n\t\t\t\tisDisconnected: false,\n\t\t\t\tisConnecting: false,\n\t\t\t\tisConnected: true,\n\t\t\t\tsupportedIntents,\n\t\t\t} as const;\n\t\t}\n\t}\n}\n"],
|
|
5
|
+
"mappings": ";AAGA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;;;ACDzB,SAAS,qBAAqB;AAIvB,IAAM,gBAAgB,cAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACxE,QAAM,QAAQ,WAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACX,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AACA,SAAO,SAAS,OAAO,QAAQ;AAChC;;;AETO,SAAS,mBAAmB;AAClC,QAAM,gBAAgB,eAAe,CAAC,UAAU,MAAM,aAAa;AACnE,QAAM,mBAAmB,eAAe,CAAC,UAAU,MAAM,gBAAgB;AACzE,QAAM,mBAAmB,eAAe,CAAC,UAAU,MAAM,gBAAgB;AAEzE,UAAQ,kBAAkB;AAAA,IACzB,KAAK;AACJ,aAAO;AAAA,QACN;AAAA,QACA,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,kBAAkB,CAAC;AAAA,MACpB;AAAA,IACD,KAAK;AACJ,aAAO;AAAA,QACN;AAAA,QACA,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,kBAAkB,CAAC;AAAA,MACpB;AAAA,IACD,KAAK,aAAa;AACjB,aAAO;AAAA,QACN;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,QACb;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
|
|
2
|
+
import { WalletNotConnectedError } from '../../errors/walletErrors.js';
|
|
3
|
+
type UseDisconnectWalletError = WalletNotConnectedError | Error;
|
|
4
|
+
type UseDisconnectWalletMutationOptions = Omit<UseMutationOptions<void, UseDisconnectWalletError, void, unknown>, 'mutationFn'>;
|
|
5
|
+
/**
|
|
6
|
+
* Mutation hook for disconnecting from an active wallet connection, if currently connected.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useDisconnectWallet({ mutationKey, ...mutationOptions }?: UseDisconnectWalletMutationOptions): UseMutationResult<void, UseDisconnectWalletError, void>;
|
|
9
|
+
export {};
|