@mysten/dapp-kit 0.0.0-experimental-20230928204256
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 +53 -0
- package/LICENSE +201 -0
- package/README.md +0 -0
- package/dist/cjs/components/AccountDropdownMenu.css +41 -0
- package/dist/cjs/components/AccountDropdownMenu.css.css +41 -0
- package/dist/cjs/components/AccountDropdownMenu.css.css.map +7 -0
- package/dist/cjs/components/AccountDropdownMenu.css.d.ts +5 -0
- package/dist/cjs/components/AccountDropdownMenu.css.js +35 -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 +6 -0
- package/dist/cjs/components/AccountDropdownMenu.js +216 -0
- package/dist/cjs/components/AccountDropdownMenu.js.map +7 -0
- package/dist/cjs/components/ConnectButton.css +250 -0
- package/dist/cjs/components/ConnectButton.css.map +7 -0
- package/dist/cjs/components/ConnectButton.d.ts +6 -0
- package/dist/cjs/components/ConnectButton.js +580 -0
- package/dist/cjs/components/ConnectButton.js.map +7 -0
- package/dist/cjs/components/SuiClientProvider.d.ts +26 -0
- package/dist/cjs/components/SuiClientProvider.js +69 -0
- package/dist/cjs/components/SuiClientProvider.js.map +7 -0
- package/dist/cjs/components/WalletProvider.d.ts +20 -0
- package/dist/cjs/components/WalletProvider.js +470 -0
- package/dist/cjs/components/WalletProvider.js.map +7 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css +209 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css.css +109 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css.d.ts +12 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css.js +49 -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 +6 -0
- package/dist/cjs/components/connect-modal/ConnectModal.js +421 -0
- package/dist/cjs/components/connect-modal/ConnectModal.js.map +7 -0
- package/dist/cjs/components/connect-modal/InfoSection.css +7 -0
- package/dist/cjs/components/connect-modal/InfoSection.css.css +7 -0
- package/dist/cjs/components/connect-modal/InfoSection.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/InfoSection.css.d.ts +3 -0
- package/dist/cjs/components/connect-modal/InfoSection.css.js +31 -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 +40 -0
- package/dist/cjs/components/connect-modal/InfoSection.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css +26 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css +26 -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 +77 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.css +22 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.css +15 -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 +4 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.js +33 -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 +69 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css +22 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css +15 -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 +3 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js +31 -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 +57 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css +37 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css +7 -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 +8 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.js +113 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.js.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css +30 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css +30 -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 +5 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js +35 -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 +43 -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/icons/SuiIcon.d.ts +2 -0
- package/dist/cjs/components/icons/SuiIcon.js +41 -0
- package/dist/cjs/components/icons/SuiIcon.js.map +7 -0
- package/dist/cjs/constants/walletMutationKeys.d.ts +12 -0
- package/dist/cjs/constants/walletMutationKeys.js +40 -0
- package/dist/cjs/constants/walletMutationKeys.js.map +7 -0
- package/dist/cjs/contexts/walletContext.d.ts +12 -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/useSuiClient.d.ts +2 -0
- package/dist/cjs/hooks/useSuiClient.js +51 -0
- package/dist/cjs/hooks/useSuiClient.js.map +7 -0
- package/dist/cjs/hooks/useSuiClientInfiniteQuery.d.ts +25 -0
- package/dist/cjs/hooks/useSuiClientInfiniteQuery.js +66 -0
- package/dist/cjs/hooks/useSuiClientInfiniteQuery.js.map +7 -0
- package/dist/cjs/hooks/useSuiClientMutation.d.ts +4 -0
- package/dist/cjs/hooks/useSuiClientMutation.js +61 -0
- package/dist/cjs/hooks/useSuiClientMutation.js.map +7 -0
- package/dist/cjs/hooks/useSuiClientQuery.d.ts +18 -0
- package/dist/cjs/hooks/useSuiClientQuery.js +64 -0
- package/dist/cjs/hooks/useSuiClientQuery.js.map +7 -0
- package/dist/cjs/hooks/wallet/useAccounts.d.ts +4 -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 +124 -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 +90 -0
- package/dist/cjs/hooks/wallet/useConnectWallet.js.map +7 -0
- package/dist/cjs/hooks/wallet/useCurrentAccount.d.ts +4 -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 +4 -0
- package/dist/cjs/hooks/wallet/useCurrentWallet.js +50 -0
- package/dist/cjs/hooks/wallet/useCurrentWallet.js.map +7 -0
- package/dist/cjs/hooks/wallet/useDisconnectWallet.d.ts +7 -0
- package/dist/cjs/hooks/wallet/useDisconnectWallet.js +95 -0
- package/dist/cjs/hooks/wallet/useDisconnectWallet.js.map +7 -0
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.d.ts +13 -0
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.js +114 -0
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +7 -0
- package/dist/cjs/hooks/wallet/useSignPersonalMessage.d.ts +13 -0
- package/dist/cjs/hooks/wallet/useSignPersonalMessage.js +114 -0
- package/dist/cjs/hooks/wallet/useSignPersonalMessage.js.map +7 -0
- package/dist/cjs/hooks/wallet/useSignTransactionBlock.d.ts +13 -0
- package/dist/cjs/hooks/wallet/useSignTransactionBlock.js +114 -0
- package/dist/cjs/hooks/wallet/useSignTransactionBlock.js.map +7 -0
- package/dist/cjs/hooks/wallet/useSwitchAccount.d.ts +13 -0
- package/dist/cjs/hooks/wallet/useSwitchAccount.js +100 -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 +181 -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 +68 -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 +85 -0
- package/dist/cjs/hooks/wallet/useWalletsChanged.js.map +7 -0
- package/dist/cjs/index.css +250 -0
- package/dist/cjs/index.css.map +7 -0
- package/dist/cjs/index.d.ts +18 -0
- package/dist/cjs/index.js +1152 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/package.json +5 -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 +1 -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/walletUtils.d.ts +2 -0
- package/dist/cjs/utils/walletUtils.js +40 -0
- package/dist/cjs/utils/walletUtils.js.map +7 -0
- package/dist/cjs/walletStore.d.ts +35 -0
- package/dist/cjs/walletStore.js +100 -0
- package/dist/cjs/walletStore.js.map +7 -0
- package/dist/esm/components/AccountDropdownMenu.css +41 -0
- package/dist/esm/components/AccountDropdownMenu.css.css +41 -0
- package/dist/esm/components/AccountDropdownMenu.css.css.map +7 -0
- package/dist/esm/components/AccountDropdownMenu.css.d.ts +5 -0
- package/dist/esm/components/AccountDropdownMenu.css.js +14 -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 +6 -0
- package/dist/esm/components/AccountDropdownMenu.js +185 -0
- package/dist/esm/components/AccountDropdownMenu.js.map +7 -0
- package/dist/esm/components/ConnectButton.css +250 -0
- package/dist/esm/components/ConnectButton.css.map +7 -0
- package/dist/esm/components/ConnectButton.d.ts +6 -0
- package/dist/esm/components/ConnectButton.js +547 -0
- package/dist/esm/components/ConnectButton.js.map +7 -0
- package/dist/esm/components/SuiClientProvider.d.ts +26 -0
- package/dist/esm/components/SuiClientProvider.js +48 -0
- package/dist/esm/components/SuiClientProvider.js.map +7 -0
- package/dist/esm/components/WalletProvider.d.ts +20 -0
- package/dist/esm/components/WalletProvider.js +450 -0
- package/dist/esm/components/WalletProvider.js.map +7 -0
- package/dist/esm/components/connect-modal/ConnectModal.css +209 -0
- package/dist/esm/components/connect-modal/ConnectModal.css.css +109 -0
- package/dist/esm/components/connect-modal/ConnectModal.css.css.map +7 -0
- package/dist/esm/components/connect-modal/ConnectModal.css.d.ts +12 -0
- package/dist/esm/components/connect-modal/ConnectModal.css.js +28 -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 +6 -0
- package/dist/esm/components/connect-modal/ConnectModal.js +390 -0
- package/dist/esm/components/connect-modal/ConnectModal.js.map +7 -0
- package/dist/esm/components/connect-modal/InfoSection.css +7 -0
- package/dist/esm/components/connect-modal/InfoSection.css.css +7 -0
- package/dist/esm/components/connect-modal/InfoSection.css.css.map +7 -0
- package/dist/esm/components/connect-modal/InfoSection.css.d.ts +3 -0
- package/dist/esm/components/connect-modal/InfoSection.css.js +10 -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 +17 -0
- package/dist/esm/components/connect-modal/InfoSection.js.map +7 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css +26 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css +26 -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 +46 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.js.map +7 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.css +22 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.css.css +15 -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 +4 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.css.js +12 -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 +46 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.js.map +7 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css +22 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css +15 -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 +3 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js +10 -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 +34 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css +37 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css +7 -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 +8 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.js +90 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.js.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css +30 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css +30 -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 +5 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js +14 -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 +22 -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/icons/SuiIcon.d.ts +2 -0
- package/dist/esm/components/icons/SuiIcon.js +20 -0
- package/dist/esm/components/icons/SuiIcon.js.map +7 -0
- package/dist/esm/constants/walletMutationKeys.d.ts +12 -0
- package/dist/esm/constants/walletMutationKeys.js +19 -0
- package/dist/esm/constants/walletMutationKeys.js.map +7 -0
- package/dist/esm/contexts/walletContext.d.ts +12 -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/useSuiClient.d.ts +2 -0
- package/dist/esm/hooks/useSuiClient.js +30 -0
- package/dist/esm/hooks/useSuiClient.js.map +7 -0
- package/dist/esm/hooks/useSuiClientInfiniteQuery.d.ts +25 -0
- package/dist/esm/hooks/useSuiClientInfiniteQuery.js +45 -0
- package/dist/esm/hooks/useSuiClientInfiniteQuery.js.map +7 -0
- package/dist/esm/hooks/useSuiClientMutation.d.ts +4 -0
- package/dist/esm/hooks/useSuiClientMutation.js +40 -0
- package/dist/esm/hooks/useSuiClientMutation.js.map +7 -0
- package/dist/esm/hooks/useSuiClientQuery.d.ts +18 -0
- package/dist/esm/hooks/useSuiClientQuery.js +43 -0
- package/dist/esm/hooks/useSuiClientQuery.js.map +7 -0
- package/dist/esm/hooks/wallet/useAccounts.d.ts +4 -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 +103 -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 +69 -0
- package/dist/esm/hooks/wallet/useConnectWallet.js.map +7 -0
- package/dist/esm/hooks/wallet/useCurrentAccount.d.ts +4 -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 +4 -0
- package/dist/esm/hooks/wallet/useCurrentWallet.js +27 -0
- package/dist/esm/hooks/wallet/useCurrentWallet.js.map +7 -0
- package/dist/esm/hooks/wallet/useDisconnectWallet.d.ts +7 -0
- package/dist/esm/hooks/wallet/useDisconnectWallet.js +74 -0
- package/dist/esm/hooks/wallet/useDisconnectWallet.js.map +7 -0
- package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.d.ts +13 -0
- package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.js +93 -0
- package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +7 -0
- package/dist/esm/hooks/wallet/useSignPersonalMessage.d.ts +13 -0
- package/dist/esm/hooks/wallet/useSignPersonalMessage.js +93 -0
- package/dist/esm/hooks/wallet/useSignPersonalMessage.js.map +7 -0
- package/dist/esm/hooks/wallet/useSignTransactionBlock.d.ts +13 -0
- package/dist/esm/hooks/wallet/useSignTransactionBlock.js +93 -0
- package/dist/esm/hooks/wallet/useSignTransactionBlock.js.map +7 -0
- package/dist/esm/hooks/wallet/useSwitchAccount.d.ts +13 -0
- package/dist/esm/hooks/wallet/useSwitchAccount.js +79 -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 +161 -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 +47 -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 +64 -0
- package/dist/esm/hooks/wallet/useWalletsChanged.js.map +7 -0
- package/dist/esm/index.css +250 -0
- package/dist/esm/index.css.map +7 -0
- package/dist/esm/index.d.ts +18 -0
- package/dist/esm/index.js +1120 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/package.json +5 -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 +1 -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/walletUtils.d.ts +2 -0
- package/dist/esm/utils/walletUtils.js +19 -0
- package/dist/esm/utils/walletUtils.js.map +7 -0
- package/dist/esm/walletStore.d.ts +35 -0
- package/dist/esm/walletStore.js +79 -0
- package/dist/esm/walletStore.js.map +7 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +95 -0
- package/src/components/AccountDropdownMenu.css.ts +48 -0
- package/src/components/AccountDropdownMenu.tsx +58 -0
- package/src/components/ConnectButton.tsx +21 -0
- package/src/components/SuiClientProvider.tsx +87 -0
- package/src/components/WalletProvider.tsx +93 -0
- package/src/components/connect-modal/ConnectModal.css.ts +135 -0
- package/src/components/connect-modal/ConnectModal.tsx +122 -0
- package/src/components/connect-modal/InfoSection.css.ts +14 -0
- package/src/components/connect-modal/InfoSection.tsx +18 -0
- package/src/components/connect-modal/views/ConnectionStatus.css.ts +32 -0
- package/src/components/connect-modal/views/ConnectionStatus.tsx +42 -0
- package/src/components/connect-modal/views/GettingStarted.css.ts +23 -0
- package/src/components/connect-modal/views/GettingStarted.tsx +33 -0
- package/src/components/connect-modal/views/WhatIsAWallet.css.ts +21 -0
- package/src/components/connect-modal/views/WhatIsAWallet.tsx +22 -0
- package/src/components/connect-modal/wallet-list/WalletList.css.ts +10 -0
- package/src/components/connect-modal/wallet-list/WalletList.tsx +41 -0
- package/src/components/connect-modal/wallet-list/WalletListItem.css.ts +36 -0
- package/src/components/connect-modal/wallet-list/WalletListItem.tsx +29 -0
- package/src/components/icons/BackIcon.tsx +15 -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/icons/SuiIcon.tsx +18 -0
- package/src/constants/walletMutationKeys.ts +20 -0
- package/src/contexts/walletContext.ts +8 -0
- package/src/errors/walletErrors.ts +24 -0
- package/src/hooks/useSuiClient.ts +22 -0
- package/src/hooks/useSuiClientInfiniteQuery.ts +63 -0
- package/src/hooks/useSuiClientMutation.ts +27 -0
- package/src/hooks/useSuiClientQuery.ts +58 -0
- package/src/hooks/wallet/useAccounts.ts +11 -0
- package/src/hooks/wallet/useAutoConnectWallet.ts +34 -0
- package/src/hooks/wallet/useConnectWallet.ts +64 -0
- package/src/hooks/wallet/useCurrentAccount.ts +11 -0
- package/src/hooks/wallet/useCurrentWallet.ts +11 -0
- package/src/hooks/wallet/useDisconnectWallet.ts +47 -0
- package/src/hooks/wallet/useSignAndExecuteTransactionBlock.ts +82 -0
- package/src/hooks/wallet/useSignPersonalMessage.ts +79 -0
- package/src/hooks/wallet/useSignTransactionBlock.ts +79 -0
- package/src/hooks/wallet/useSwitchAccount.ts +59 -0
- package/src/hooks/wallet/useUnsafeBurnerWallet.ts +144 -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 +40 -0
- package/src/index.ts +21 -0
- package/src/types/utilityTypes.ts +4 -0
- package/src/types.ts +4 -0
- package/src/utils/assertUnreachable.ts +9 -0
- package/src/utils/walletUtils.ts +32 -0
- package/src/walletStore.ts +115 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/hooks/useSuiClient.ts", "../../src/components/SuiClientProvider.tsx", "../../src/hooks/wallet/useWalletStore.ts", "../../src/contexts/walletContext.ts", "../../src/hooks/wallet/useCurrentAccount.ts", "../../src/components/AccountDropdownMenu.tsx", "../../src/hooks/wallet/useAccounts.ts", "../../src/hooks/wallet/useDisconnectWallet.ts", "../../src/constants/walletMutationKeys.ts", "../../src/errors/walletErrors.ts", "../../src/hooks/wallet/useCurrentWallet.ts", "../../src/hooks/wallet/useSwitchAccount.ts", "../../src/components/AccountDropdownMenu.css.ts", "../../src/components/icons/CheckIcon.tsx", "../../src/components/icons/ChevronIcon.tsx", "../../src/components/connect-modal/ConnectModal.tsx", "../../src/hooks/wallet/useConnectWallet.ts", "../../src/components/icons/BackIcon.tsx", "../../src/components/icons/CloseIcon.tsx", "../../src/components/connect-modal/ConnectModal.css.ts", "../../src/components/connect-modal/views/ConnectionStatus.tsx", "../../src/components/connect-modal/views/ConnectionStatus.css.ts", "../../src/components/connect-modal/InfoSection.css.ts", "../../src/components/connect-modal/InfoSection.tsx", "../../src/components/connect-modal/views/GettingStarted.css.ts", "../../src/components/connect-modal/views/GettingStarted.tsx", "../../src/components/connect-modal/views/WhatIsAWallet.css.ts", "../../src/components/connect-modal/views/WhatIsAWallet.tsx", "../../src/hooks/wallet/useWallets.ts", "../../src/components/icons/SuiIcon.tsx", "../../src/components/connect-modal/wallet-list/WalletList.css.ts", "../../src/components/connect-modal/wallet-list/WalletListItem.tsx", "../../src/components/connect-modal/wallet-list/WalletListItem.css.ts", "../../src/components/connect-modal/wallet-list/WalletList.tsx", "../../src/components/ConnectButton.tsx", "../../src/components/WalletProvider.tsx", "../../src/hooks/wallet/useAutoConnectWallet.ts", "../../src/hooks/wallet/useUnsafeBurnerWallet.ts", "../../src/hooks/wallet/useWalletPropertiesChanged.ts", "../../src/hooks/wallet/useWalletsChanged.ts", "../../src/utils/walletUtils.ts", "../../src/walletStore.ts", "../../src/hooks/wallet/useSignPersonalMessage.ts", "../../src/hooks/wallet/useSignTransactionBlock.ts", "../../src/hooks/wallet/useSignAndExecuteTransactionBlock.ts", "../../src/hooks/useSuiClientMutation.ts", "../../src/hooks/useSuiClientQuery.ts", "../../src/hooks/useSuiClientInfiniteQuery.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useContext } from 'react';\n\nimport { SuiClientContext } from '../components/SuiClientProvider.js';\n\nexport function useSuiClientContext() {\n\tconst suiClient = useContext(SuiClientContext);\n\n\tif (!suiClient) {\n\t\tthrow new Error(\n\t\t\t'Could not find SuiClientContext. Ensure that you have set up the SuiClientProvider',\n\t\t);\n\t}\n\n\treturn suiClient;\n}\n\nexport function useSuiClient() {\n\treturn useSuiClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getFullnodeUrl, isSuiClient, SuiClient } from '@mysten/sui.js/client';\nimport type { SuiClientOptions } from '@mysten/sui.js/client';\nimport { createContext, useMemo, useState } from 'react';\n\ntype NetworkConfig = SuiClient | SuiClientOptions;\ntype NetworkConfigs<T extends NetworkConfig = NetworkConfig> = Record<string, T>;\n\nexport interface SuiClientProviderContext {\n\tclient: SuiClient;\n\tnetworks: NetworkConfigs;\n\tnetwork: string;\n\tselectNetwork: (network: string) => void;\n}\n\nexport const SuiClientContext = createContext<SuiClientProviderContext | null>(null);\n\nexport type SuiClientProviderProps<T extends NetworkConfigs> = {\n\tcreateClient?: (name: keyof T, config: T[keyof T]) => SuiClient;\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 | SuiClient,\n) {\n\tif (isSuiClient(config)) {\n\t\treturn config;\n\t}\n\n\treturn new SuiClient(config);\n};\n\nexport function SuiClientProvider<T extends NetworkConfigs>(props: SuiClientProviderProps<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((): SuiClientProviderContext => {\n\t\treturn {\n\t\t\tclient,\n\t\t\tnetworks,\n\t\t\tnetwork: currentNetwork,\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 <SuiClientContext.Provider value={ctx}>{children}</SuiClientContext.Provider>;\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 account that is currently selected, if one exists.\n */\nexport function useCurrentAccount() {\n\treturn useWalletStore((state) => state.currentAccount);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { formatAddress } from '@mysten/sui.js/utils';\nimport type { WalletAccount } from '@mysten/wallet-standard';\nimport * as DropdownMenu from '@radix-ui/react-dropdown-menu';\n\nimport { useAccounts } from '../hooks/wallet/useAccounts.js';\nimport { useDisconnectWallet } from '../hooks/wallet/useDisconnectWallet.js';\nimport { useSwitchAccount } from '../hooks/wallet/useSwitchAccount.js';\nimport * as styles from './AccountDropdownMenu.css.js';\nimport { CheckIcon } from './icons/CheckIcon.js';\nimport { ChevronIcon } from './icons/ChevronIcon.js';\n\ntype AccountDropdownMenuProps = {\n\tcurrentAccount: WalletAccount;\n};\n\nexport function AccountDropdownMenu({ currentAccount }: AccountDropdownMenuProps) {\n\tconst { mutate: disconnectWallet } = useDisconnectWallet();\n\tconst { mutate: switchAccount } = useSwitchAccount();\n\tconst accounts = useAccounts();\n\n\treturn (\n\t\t<DropdownMenu.Root modal={false}>\n\t\t\t<DropdownMenu.Trigger className={styles.triggerButton}>\n\t\t\t\t{formatAddress(currentAccount.address)}\n\t\t\t\t<ChevronIcon />\n\t\t\t</DropdownMenu.Trigger>\n\t\t\t<DropdownMenu.Portal>\n\t\t\t\t<DropdownMenu.Content className={styles.menuContent}>\n\t\t\t\t\t{accounts.map((account) => (\n\t\t\t\t\t\t<DropdownMenu.Item key={account.address} asChild>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tclassName={styles.switchAccountButton}\n\t\t\t\t\t\t\t\tonClick={() => switchAccount({ account })}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{formatAddress(account.address)}\n\t\t\t\t\t\t\t\t{currentAccount.address === account.address ? <CheckIcon /> : null}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</DropdownMenu.Item>\n\t\t\t\t\t))}\n\t\t\t\t\t<DropdownMenu.Separator className={styles.separator} />\n\t\t\t\t\t<DropdownMenu.Item asChild>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName={styles.disconnectButton}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => disconnectWallet()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tDisconnect\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</DropdownMenu.Item>\n\t\t\t\t</DropdownMenu.Content>\n\t\t\t</DropdownMenu.Portal>\n\t\t</DropdownMenu.Root>\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 connected accounts authorized by the dApp.\n */\nexport function useAccounts() {\n\treturn useWalletStore((state) => state.accounts);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { UseMutationOptions } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport { WalletNotConnectedError } from '../../errors/walletErrors.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\nimport { useWalletStore } from './useWalletStore.js';\n\ntype UseDisconnectWalletMutationOptions = Omit<\n\tUseMutationOptions<void, Error, void, unknown>,\n\t'mutationFn'\n>;\n\n/**\n * Mutation hook for disconnecting from an active wallet connection, if currently connected.\n */\nexport function useDisconnectWallet({\n\tmutationKey,\n\t...mutationOptions\n}: UseDisconnectWalletMutationOptions = {}) {\n\tconst currentWallet = useCurrentWallet();\n\tconst setWalletDisconnected = useWalletStore((state) => state.setWalletDisconnected);\n\n\treturn useMutation({\n\t\tmutationKey: walletMutationKeys.disconnectWallet(mutationKey),\n\t\tmutationFn: async () => {\n\t\t\tif (!currentWallet) {\n\t\t\t\tthrow new WalletNotConnectedError('No wallet is connected.');\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\t// Wallets aren't required to implement the disconnect feature, so we'll\n\t\t\t\t// optionally call the disconnect feature if it exists and reset the UI\n\t\t\t\t// state on the frontend at a minimum.\n\t\t\t\tawait currentWallet.features['standard:disconnect']?.disconnect();\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Failed to disconnect the application from the current wallet.', error);\n\t\t\t}\n\n\t\t\tsetWalletDisconnected();\n\t\t},\n\t\t...mutationOptions,\n\t});\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\tdisconnectWallet: formMutationKeyFn('disconnect-wallet'),\n\tsignPersonalMessage: formMutationKeyFn('sign-personal-message'),\n\tsignTransactionBlock: formMutationKeyFn('sign-transaction-block'),\n\tsignAndExecuteTransactionBlock: formMutationKeyFn('sign-and-execute-transaction-block'),\n\tswitchAccount: formMutationKeyFn('switch-account'),\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\n/**\n * An error that is instantiated when someone attempts to perform an action that requires an active wallet connection.\n */\nexport class WalletNotConnectedError extends Error {}\n\n/**\n * An error that is instantiated when someone attempts to perform an action that requires a selected wallet account.\n * This is more of an edge case stemming from the fact that wallets don't technically require you to authorize any\n * accounts when connecting a wallet.\n */\nexport class WalletNoAccountSelectedError extends Error {}\n\n/**\n * An error that is instantiated when someone attempts to perform an action that isn't supported by a wallet.\n */\nexport class WalletFeatureNotSupportedError extends Error {}\n\n/**\n * An error that is instantiated when a wallet account can't be found for a specific wallet.\n */\nexport class WalletAccountNotFoundError extends Error {}\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\treturn useWalletStore((state) => state.currentWallet);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletAccount } from '@mysten/wallet-standard';\nimport type { UseMutationOptions } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport { WalletAccountNotFoundError, WalletNotConnectedError } from '../../errors/walletErrors.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\nimport { useWalletStore } from './useWalletStore.js';\n\ntype SwitchAccountArgs = {\n\taccount: WalletAccount;\n};\n\ntype SwitchAccountResult = void;\n\ntype UseSwitchAccountMutationOptions = Omit<\n\tUseMutationOptions<\n\t\tSwitchAccountResult,\n\t\tWalletNotConnectedError | WalletAccountNotFoundError | Error,\n\t\tSwitchAccountArgs,\n\t\tunknown\n\t>,\n\t'mutationFn'\n>;\n\n/**\n * Mutation hook for switching to a specific wallet account.\n */\nexport function useSwitchAccount({\n\tmutationKey,\n\t...mutationOptions\n}: UseSwitchAccountMutationOptions = {}) {\n\tconst currentWallet = useCurrentWallet();\n\tconst setAccountSwitched = useWalletStore((state) => state.setAccountSwitched);\n\n\treturn useMutation({\n\t\tmutationKey: walletMutationKeys.switchAccount(mutationKey),\n\t\tmutationFn: async ({ account }) => {\n\t\t\tif (!currentWallet) {\n\t\t\t\tthrow new WalletNotConnectedError('No wallet is connected.');\n\t\t\t}\n\n\t\t\tconst accountToSelect = currentWallet.accounts.find(\n\t\t\t\t(walletAccount) => walletAccount.address === account.address,\n\t\t\t);\n\t\t\tif (!accountToSelect) {\n\t\t\t\tthrow new WalletAccountNotFoundError(\n\t\t\t\t\t`No account with address ${account.address} is connected to ${currentWallet.name}.`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tsetAccountSwitched(accountToSelect);\n\t\t},\n\t\t...mutationOptions,\n\t});\n}\n", "import 'src/components/AccountDropdownMenu.css.ts.vanilla.css?source=LkFjY291bnREcm9wZG93bk1lbnVfdHJpZ2dlckJ1dHRvbl9fZGl2MnFsMCB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZ2FwOiA4cHg7CiAgcGFkZGluZy1sZWZ0OiAyNHB4OwogIHBhZGRpbmctcmlnaHQ6IDI0cHg7CiAgcGFkZGluZy10b3A6IDE2cHg7CiAgcGFkZGluZy1ib3R0b206IDE2cHg7CiAgYm9yZGVyLXJhZGl1czogMTJweDsKICBib3gtc2hhZG93OiAwcHggNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjEpOwogIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOwogIGNvbG9yOiAjMTgyNDM1Owp9Ci5BY2NvdW50RHJvcGRvd25NZW51X21lbnVDb250ZW50X19kaXYycWwxIHsKICB3aWR0aDogMTgwcHg7CiAgbWF4LWhlaWdodDogMjAwcHg7CiAgYm9yZGVyLXJhZGl1czogMTJweDsKICBtYXJnaW4tdG9wOiA0cHg7CiAgcGFkZGluZzogOHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBnYXA6IDhweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKfQouQWNjb3VudERyb3Bkb3duTWVudV9zd2l0Y2hBY2NvdW50QnV0dG9uX19kaXYycWwyIHsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBhbGlnbi1pdGVtczogY2VudGVyOwp9Ci5BY2NvdW50RHJvcGRvd25NZW51X2Rpc2Nvbm5lY3RCdXR0b25fX2RpdjJxbDMgewogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLkFjY291bnREcm9wZG93bk1lbnVfc2VwYXJhdG9yX19kaXYycWw0IHsKICBoZWlnaHQ6IDFweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGNkY4Owp9';\nexport var disconnectButton = 'AccountDropdownMenu_disconnectButton__div2ql3';\nexport var menuContent = 'AccountDropdownMenu_menuContent__div2ql1';\nexport var separator = 'AccountDropdownMenu_separator__div2ql4';\nexport var switchAccountButton = 'AccountDropdownMenu_switchAccountButton__div2ql2';\nexport var triggerButton = 'AccountDropdownMenu_triggerButton__div2ql0';", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentProps } from 'react';\n\nexport function CheckIcon(props: ComponentProps<'svg'>) {\n\treturn (\n\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width={16} height={16} fill=\"none\" {...props}>\n\t\t\t<path\n\t\t\t\tfill=\"#007195\"\n\t\t\t\td=\"m11.726 5.048-4.73 5.156-1.722-1.879a.72.72 0 0 0-.529-.23.722.722 0 0 0-.525.24.858.858 0 0 0-.22.573.86.86 0 0 0 .211.576l2.255 2.458c.14.153.332.24.53.24.2 0 .391-.087.532-.24l5.261-5.735A.86.86 0 0 0 13 5.63a.858.858 0 0 0-.22-.572.722.722 0 0 0-.525-.24.72.72 0 0 0-.529.23Z\"\n\t\t\t/>\n\t\t</svg>\n\t);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentProps } from 'react';\n\nexport function ChevronIcon(props: ComponentProps<'svg'>) {\n\treturn (\n\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width={16} height={16} fill=\"none\" {...props}>\n\t\t\t<path\n\t\t\t\tstroke=\"#A0B6C3\"\n\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\tstrokeWidth={1.5}\n\t\t\t\td=\"m4 6 4 4 4-4\"\n\t\t\t/>\n\t\t</svg>\n\t);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletWithRequiredFeatures } from '@mysten/wallet-standard';\nimport * as Dialog from '@radix-ui/react-dialog';\nimport clsx from 'clsx';\nimport { useState } from 'react';\nimport type { ReactNode } from 'react';\n\nimport { useConnectWallet } from '../../hooks/wallet/useConnectWallet.js';\nimport { BackIcon } from '../icons/BackIcon.js';\nimport { CloseIcon } from '../icons/CloseIcon.js';\nimport * as styles from './ConnectModal.css.js';\nimport { ConnectionStatus } from './views/ConnectionStatus.js';\nimport { GettingStarted } from './views/GettingStarted.js';\nimport { WhatIsAWallet } from './views/WhatIsAWallet.js';\nimport { WalletList } from './wallet-list/WalletList.js';\n\ntype ConnectModalView = 'getting-started' | 'what-is-a-wallet' | 'connection-status';\n\ntype ConnectModalProps = {\n\ttrigger: ReactNode;\n};\n\nexport function ConnectModal({ trigger }: ConnectModalProps) {\n\tconst [isConnectModalOpen, setConnectModalOpen] = useState(false);\n\tconst [currentView, setCurrentView] = useState<ConnectModalView>();\n\tconst [selectedWallet, setSelectedWallet] = useState<WalletWithRequiredFeatures>();\n\tconst { mutate, isError } = useConnectWallet();\n\n\tconst connectWallet = (wallet: WalletWithRequiredFeatures) => {\n\t\tsetCurrentView('connection-status');\n\t\tmutate({ wallet }, { onSuccess: () => setConnectModalOpen(false) });\n\t};\n\n\tconst resetSelection = () => {\n\t\tsetSelectedWallet(undefined);\n\t\tsetCurrentView(undefined);\n\t};\n\n\tconst onOpenChange = (open: boolean) => {\n\t\tif (!open) {\n\t\t\tresetSelection();\n\t\t}\n\t\tsetConnectModalOpen(open);\n\t};\n\n\tlet modalContent: ReactNode | undefined;\n\tswitch (currentView) {\n\t\tcase 'what-is-a-wallet':\n\t\t\tmodalContent = <WhatIsAWallet />;\n\t\t\tbreak;\n\t\tcase 'getting-started':\n\t\t\tmodalContent = <GettingStarted />;\n\t\t\tbreak;\n\t\tcase 'connection-status':\n\t\t\tmodalContent = (\n\t\t\t\t<ConnectionStatus\n\t\t\t\t\tselectedWallet={selectedWallet!}\n\t\t\t\t\thadConnectionError={isError}\n\t\t\t\t\tonRetryConnection={connectWallet}\n\t\t\t\t/>\n\t\t\t);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tmodalContent = <WhatIsAWallet />;\n\t}\n\n\treturn (\n\t\t<Dialog.Root open={isConnectModalOpen} onOpenChange={onOpenChange}>\n\t\t\t<Dialog.Trigger className={styles.triggerButton}>{trigger}</Dialog.Trigger>\n\t\t\t<Dialog.Portal>\n\t\t\t\t<Dialog.Overlay className={styles.overlay} />\n\t\t\t\t<Dialog.Content className={styles.content} aria-describedby={undefined}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={clsx(styles.walletListContainer, {\n\t\t\t\t\t\t\t[styles.walletListContainerWithViewSelected]: !!currentView,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className={styles.walletListContent}>\n\t\t\t\t\t\t\t<Dialog.Title className={styles.title}>Connect a Wallet</Dialog.Title>\n\t\t\t\t\t\t\t<WalletList\n\t\t\t\t\t\t\t\tselectedWalletName={selectedWallet?.name}\n\t\t\t\t\t\t\t\tonPlaceholderClick={() => setCurrentView('getting-started')}\n\t\t\t\t\t\t\t\tonSelect={(wallet) => {\n\t\t\t\t\t\t\t\t\tsetSelectedWallet(wallet);\n\t\t\t\t\t\t\t\t\tconnectWallet(wallet);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName={styles.whatIsAWalletButton}\n\t\t\t\t\t\t\tonClick={() => setCurrentView('what-is-a-wallet')}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tWhat is a Wallet?\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={clsx(styles.viewContainer, {\n\t\t\t\t\t\t\t[styles.selectedViewContainer]: !!currentView,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName={styles.backButton}\n\t\t\t\t\t\t\tonClick={() => resetSelection()}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-label=\"Back\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BackIcon />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t{modalContent}\n\t\t\t\t\t</div>\n\t\t\t\t\t<Dialog.Close className={styles.closeButton} aria-label=\"Close\">\n\t\t\t\t\t\t<CloseIcon />\n\t\t\t\t\t</Dialog.Close>\n\t\t\t\t</Dialog.Content>\n\t\t\t</Dialog.Portal>\n\t\t</Dialog.Root>\n\t);\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 '@mysten/wallet-standard';\nimport type { UseMutationOptions } 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 = {}) {\n\tconst setWalletConnected = useWalletStore((state) => state.setWalletConnected);\n\n\treturn useMutation({\n\t\tmutationKey: walletMutationKeys.connectWallet(mutationKey),\n\t\tmutationFn: async ({ wallet, accountAddress, ...standardConnectInput }) => {\n\t\t\tconst connectResult = await wallet.features['standard:connect'].connect(standardConnectInput);\n\t\t\tconst selectedAccount = getSelectedAccount(connectResult.accounts, accountAddress);\n\n\t\t\tsetWalletConnected(wallet, selectedAccount);\n\t\t\treturn connectResult;\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 { ComponentProps } from 'react';\n\nexport function BackIcon(props: ComponentProps<'svg'>) {\n\treturn (\n\t\t<svg width={24} height={24} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t\t<path\n\t\t\t\td=\"M7.57 12.262c0 .341.13.629.403.895l5.175 5.059c.204.205.45.307.751.307.609 0 1.101-.485 1.101-1.087 0-.293-.123-.574-.349-.8L10.14 12.27l4.511-4.375A1.13 1.13 0 0 0 15 7.087C15 6.485 14.508 6 13.9 6c-.295 0-.54.103-.752.308l-5.175 5.058c-.28.28-.404.56-.404.896Z\"\n\t\t\t\tfill=\"#383F47\"\n\t\t\t/>\n\t\t</svg>\n\t);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentProps } from 'react';\n\nexport function CloseIcon(props: ComponentProps<'svg'>) {\n\treturn (\n\t\t<svg width={10} height={10} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t\t<path\n\t\t\t\td=\"M9.708.292a.999.999 0 0 0-1.413 0l-3.289 3.29L1.717.291A.999.999 0 0 0 .305 1.705l3.289 3.289-3.29 3.289a.999.999 0 1 0 1.413 1.412l3.29-3.289 3.288 3.29a.999.999 0 0 0 1.413-1.413l-3.29-3.29 3.29-3.288a.999.999 0 0 0 0-1.413Z\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t/>\n\t\t</svg>\n\t);\n}\n", "import 'src/components/connect-modal/ConnectModal.css.ts.vanilla.css?source=#H4sIAAAAAAAAA5VVXW/aMBR951dYmiq10tI5aYAQXtZ1Qpq0PU1aHysnviTegh3ZptBO/Pc5jgOEJMAQH/GNc3zuvedc7p8E55DqH4KS4kW8gizI28tL9h69zzD6O0IoIemfTIo1p14qCiFjJLOE3AYhepig8QP6hAJ8czc3O0uhmGaCx2jJtkCrEOMKdIxwdf3uMU5hG6NZ85qPdqP7FgHNdAHueN8eXxJKGc+8ApYGKCq33YdSwTVw7R4LBlhvcqZhgGYitBarGPmTCh+h+rBmJVmWHy378kCIMlWa0hnQAuy26tejTBqa9jBDY73i1Z3fa6XZ8s1zvGOkSpKCl4DeANgdVR+WhdjEKGeU1rFESArSk4SytTqwWTHu5VAzHOPX3MbIdh+LxofYhlGdx2iKcV8ZNznR39TjMykK0F/WpiLclfRhoKQfFtNFtIjmhzY1vE6xXxlsTEATxkE61NCi7uvGBYcWUoDLQyHNwaYafhdZQWGugf7qOWHcPqHuTEdypr0ZyFbCk6GEcRCFj1/rdmw9lRNa0TJEUWg+fmC+rDvwR+Te9771xqkIT7sZ1Lm21R6E7agT4mlYi/KghybYlvRVScd5pbvB1PHUn4VdqGprC2da+3bvMpIoI/06bUu1aaxLsleMaSEUtGCjM7B7zUxr5FZFTux7UvnKv+5Gj77xwl8EPVaxHvnOlH5qzZ7Z8cg6JFp51HkvCF3sP+ZFRsqm6eeJHGuf9Gn/mtkzzOO8EXuoPDOdV7786TzqqCV9xt+NPq+AMoJUKg0TRDhFt0eFm07M7L+zT16e/t0sDOu5veHgfIxv6oDVyrhZ1ZrcL7UkXC2FNEaylwXRcOuZ2x9R9W2tvetQujRJe6ZeF2R4ZPa0tfv4gC2vOvq8vC/8E1yC64r0TLeOJIevBj8ru97i7f4BS30qMAcJAAA=';\nexport var backButton = 'ConnectModal_backButton__gz8z97';\nexport var closeButton = 'ConnectModal_closeButton__gz8z98';\nexport var content = 'ConnectModal_content__gz8z92';\nexport var overlay = 'ConnectModal_overlay__gz8z90';\nexport var selectedViewContainer = 'ConnectModal_selectedViewContainer__gz8z95';\nexport var title = 'ConnectModal_title__gz8z91';\nexport var triggerButton = 'ConnectModal_triggerButton__gz8z96';\nexport var viewContainer = 'ConnectModal_viewContainer__gz8z94';\nexport var walletListContainer = 'ConnectModal_walletListContainer__gz8z9a';\nexport var walletListContainerWithViewSelected = 'ConnectModal_walletListContainerWithViewSelected__gz8z9b';\nexport var walletListContent = 'ConnectModal_walletListContent__gz8z99';\nexport var whatIsAWalletButton = 'ConnectModal_whatIsAWalletButton__gz8z93';", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletWithRequiredFeatures } from '@mysten/wallet-standard';\nimport clsx from 'clsx';\n\nimport * as styles from './ConnectionStatus.css.js';\n\ntype ConnectionStatusProps = {\n\tselectedWallet: WalletWithRequiredFeatures;\n\thadConnectionError: boolean;\n\tonRetryConnection: (selectedWallet: WalletWithRequiredFeatures) => void;\n};\n\nexport function ConnectionStatus({\n\tselectedWallet,\n\thadConnectionError,\n\tonRetryConnection,\n}: ConnectionStatusProps) {\n\treturn (\n\t\t<div className={styles.container}>\n\t\t\t<img\n\t\t\t\tclassName={styles.walletIcon}\n\t\t\t\tsrc={selectedWallet.icon}\n\t\t\t\talt={`${selectedWallet.name} logo`}\n\t\t\t/>\n\t\t\t<div className={styles.walletName}>Opening {selectedWallet.name}</div>\n\t\t\t<div\n\t\t\t\tclassName={clsx(styles.connectionStatus, {\n\t\t\t\t\t[styles.connectionStatusWithError]: hadConnectionError,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{hadConnectionError ? 'Connection failed' : 'Confirm connection in the wallet...'}\n\t\t\t</div>\n\t\t\t{hadConnectionError ? (\n\t\t\t\t<button type=\"button\" onClick={() => onRetryConnection(selectedWallet)}>\n\t\t\t\t\tRetry Connection\n\t\t\t\t</button>\n\t\t\t) : null}\n\t\t</div>\n\t);\n}\n", "import 'src/components/connect-modal/views/ConnectionStatus.css.ts.vanilla.css?source=LkNvbm5lY3Rpb25TdGF0dXNfY29udGFpbmVyX19uY2ttMmQwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICB3aWR0aDogMTAwJTsKfQouQ29ubmVjdGlvblN0YXR1c193YWxsZXRJY29uX19uY2ttMmQxIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICBvYmplY3QtZml0OiBjb3ZlcjsKICB3aWR0aDogNzJweDsKICBoZWlnaHQ6IDcycHg7CiAgYm9yZGVyLXJhZGl1czogMTZweDsKfQouQ29ubmVjdGlvblN0YXR1c193YWxsZXROYW1lX19uY2ttMmQyIHsKICBtYXJnaW4tdG9wOiAxMnB4Owp9Ci5Db25uZWN0aW9uU3RhdHVzX2Nvbm5lY3Rpb25TdGF0dXNfX25ja20yZDMgewogIG1hcmdpbi10b3A6IDRweDsKfQouQ29ubmVjdGlvblN0YXR1c19jb25uZWN0aW9uU3RhdHVzV2l0aEVycm9yX19uY2ttMmQ0IHsKICBjb2xvcjogcmVkOwp9';\nexport var connectionStatus = 'ConnectionStatus_connectionStatus__nckm2d3';\nexport var connectionStatusWithError = 'ConnectionStatus_connectionStatusWithError__nckm2d4';\nexport var container = 'ConnectionStatus_container__nckm2d0';\nexport var walletIcon = 'ConnectionStatus_walletIcon__nckm2d1';\nexport var walletName = 'ConnectionStatus_walletName__nckm2d2';", "import 'src/components/connect-modal/InfoSection.css.ts.vanilla.css?source=LkluZm9TZWN0aW9uX2NvbnRhaW5lcl9fMXd0aW9pNzAgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBnYXA6IDRweDsKfQ==';\nexport var container = 'InfoSection_container__1wtioi70';\nexport var description = 'InfoSection_description__1wtioi72';\nexport var heading = 'InfoSection_heading__1wtioi71';", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport * as styles from './InfoSection.css.js';\n\ntype InfoSectionProps = {\n\ttitle: string;\n\tchildren: string;\n};\n\nexport function InfoSection({ title, children }: InfoSectionProps) {\n\treturn (\n\t\t<section className={styles.container}>\n\t\t\t<h3 className={styles.heading}>{title}</h3>\n\t\t\t<div className={styles.description}>{children}</div>\n\t\t</section>\n\t);\n}\n", "import 'src/components/connect-modal/views/GettingStarted.css.ts.vanilla.css?source=LkdldHRpbmdTdGFydGVkX2NvbnRhaW5lcl9fMWZwMDdlMTAgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBhbGlnbi1pdGVtczogY2VudGVyOwp9Ci5HZXR0aW5nU3RhcnRlZF9jb250ZW50X18xZnAwN2UxMiB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGZsZXgtZ3JvdzogMTsKICBnYXA6IDIwcHg7CiAgcGFkZGluZzogNDBweDsKfQ==';\nexport var container = 'GettingStarted_container__1fp07e10';\nexport var content = 'GettingStarted_content__1fp07e12';\nexport var installLink = 'GettingStarted_installLink__1fp07e13';\nexport var title = 'GettingStarted_title__1fp07e11';", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { InfoSection } from '../InfoSection.js';\nimport * as styles from './GettingStarted.css.js';\n\nexport function GettingStarted() {\n\treturn (\n\t\t<div className={styles.container}>\n\t\t\t<h2 className={styles.title}>Get Started with Sui</h2>\n\t\t\t<div className={styles.content}>\n\t\t\t\t<InfoSection title=\"Install the Sui Wallet Extension\">\n\t\t\t\t\tWe recommend pinning Sui Wallet to your taskbar for quicker access.\n\t\t\t\t</InfoSection>\n\t\t\t\t<InfoSection title=\"Create or Import a Wallet\">\n\t\t\t\t\tBe sure to back up your wallet using a secure method. Never share your secret phrase with\n\t\t\t\t\tanyone.\n\t\t\t\t</InfoSection>\n\t\t\t\t<InfoSection title=\"Refresh Your Browser\">\n\t\t\t\t\tOnce you set up your wallet, refresh this window browser to load up the extension.\n\t\t\t\t</InfoSection>\n\t\t\t\t<a\n\t\t\t\t\tclassName={styles.installLink}\n\t\t\t\t\thref=\"https://chrome.google.com/webstore/detail/sui-wallet/opcgpfmipidbgpenhmajoajpbobppdil\"\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noreferrer\"\n\t\t\t\t>\n\t\t\t\t\tInstall Wallet Extension\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n", "import 'src/components/connect-modal/views/WhatIsAWallet.css.ts.vanilla.css?source=LldoYXRJc0FXYWxsZXRfY29udGFpbmVyX18xa3Rwa3E5MCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLldoYXRJc0FXYWxsZXRfY29udGVudF9fMWt0cGtxOTIgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBmbGV4LWdyb3c6IDE7CiAgZ2FwOiAyMHB4OwogIHBhZGRpbmc6IDQwcHg7Cn0=';\nexport var container = 'WhatIsAWallet_container__1ktpkq90';\nexport var content = 'WhatIsAWallet_content__1ktpkq92';\nexport var title = 'WhatIsAWallet_title__1ktpkq91';", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { InfoSection } from '../InfoSection.js';\nimport * as styles from './WhatIsAWallet.css.js';\n\nexport function WhatIsAWallet() {\n\treturn (\n\t\t<div className={styles.container}>\n\t\t\t<h2 className={styles.title}>What is a Wallet</h2>\n\t\t\t<div className={styles.content}>\n\t\t\t\t<InfoSection title=\"Easy Login\">\n\t\t\t\t\tNo need to create new accounts and passwords for every website. Just connect your wallet\n\t\t\t\t\tand get going.\n\t\t\t\t</InfoSection>\n\t\t\t\t<InfoSection title=\"Store your Digital Assets\">\n\t\t\t\t\tSend, receive, store, and display your digital assets like NFTs & coins.\n\t\t\t\t</InfoSection>\n\t\t\t</div>\n\t\t</div>\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", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentProps } from 'react';\n\nexport function SuiIcon(props: ComponentProps<'svg'>) {\n\treturn (\n\t\t<svg width={28} height={28} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t\t<rect width={28} height={28} rx={6} fill=\"#6FBCF0\" />\n\t\t\t<path\n\t\t\t\tfillRule=\"evenodd\"\n\t\t\t\tclipRule=\"evenodd\"\n\t\t\t\td=\"M7.942 20.527A6.875 6.875 0 0 0 13.957 24c2.51 0 4.759-1.298 6.015-3.473a6.875 6.875 0 0 0 0-6.945l-5.29-9.164a.837.837 0 0 0-1.45 0l-5.29 9.164a6.875 6.875 0 0 0 0 6.945Zm4.524-11.75 1.128-1.953a.418.418 0 0 1 .725 0l4.34 7.516a5.365 5.365 0 0 1 .449 4.442 4.675 4.675 0 0 0-.223-.73c-.599-1.512-1.954-2.68-4.029-3.47-1.426-.54-2.336-1.336-2.706-2.364-.476-1.326.021-2.77.316-3.44Zm-1.923 3.332L9.255 14.34a5.373 5.373 0 0 0 0 5.43 5.373 5.373 0 0 0 4.702 2.714 5.38 5.38 0 0 0 3.472-1.247c.125-.314.51-1.462.034-2.646-.44-1.093-1.5-1.965-3.15-2.594-1.864-.707-3.076-1.811-3.6-3.28a4.601 4.601 0 0 1-.17-.608Z\"\n\t\t\t\tfill=\"#fff\"\n\t\t\t/>\n\t\t</svg>\n\t);\n}\n", "import 'src/components/connect-modal/wallet-list/WalletList.css.ts.vanilla.css?source=LldhbGxldExpc3RfY29udGFpbmVyX18xdjJzNmN6MCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogNHB4Owp9';\nexport var container = 'WalletList_container__1v2s6cz0';", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { clsx } from 'clsx';\nimport type { ReactNode } from 'react';\n\nimport * as styles from './WalletListItem.css.js';\n\ntype WalletListItemProps = {\n\tname: string;\n\ticon: ReactNode;\n\tisSelected?: boolean;\n\tonClick: () => void;\n};\n\nexport function WalletListItem({ name, icon, onClick, isSelected = false }: WalletListItemProps) {\n\treturn (\n\t\t<li className={clsx(styles.container, { [styles.selectedContainer]: isSelected })}>\n\t\t\t<button className={styles.buttonContainer} type=\"button\" onClick={onClick}>\n\t\t\t\t{typeof icon === 'string' ? (\n\t\t\t\t\t<img className={styles.walletIcon} src={icon} alt={`${name} logo`} />\n\t\t\t\t) : (\n\t\t\t\t\ticon\n\t\t\t\t)}\n\t\t\t\t<div className={styles.walletName}>{name}</div>\n\t\t\t</button>\n\t\t</li>\n\t);\n}\n", "import 'src/components/connect-modal/wallet-list/WalletListItem.css.ts.vanilla.css?source=LldhbGxldExpc3RJdGVtX2NvbnRhaW5lcl9fMWRxcXRxczAgewogIHBhZGRpbmc6IDhweDsKICBib3JkZXItcmFkaXVzOiA4cHg7Cn0KLldhbGxldExpc3RJdGVtX3NlbGVjdGVkQ29udGFpbmVyX18xZHFxdHFzMSB7CiAgYmFja2dyb3VuZDogI0ZGRkZGRjsKICBib3gtc2hhZG93OiAwcHggMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMDUpOwp9Ci5XYWxsZXRMaXN0SXRlbV9idXR0b25Db250YWluZXJfXzFkcXF0cXMyIHsKICB3aWR0aDogMTAwJTsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZ2FwOiA4cHg7Cn0KLldhbGxldExpc3RJdGVtX3dhbGxldE5hbWVfXzFkcXF0cXMzIHsKICBvdmVyZmxvdzogaGlkZGVuOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLldhbGxldExpc3RJdGVtX3dhbGxldEljb25fXzFkcXF0cXM0IHsKICB3aWR0aDogMjhweDsKICBoZWlnaHQ6IDI4cHg7CiAgYm9yZGVyLXJhZGl1czogNnB4OwogIGZsZXgtc2hyaW5rOiAwOwogIGJhY2tncm91bmQ6IHdoaXRlOwogIG9iamVjdC1maXQ6IGNvdmVyOwp9';\nexport var buttonContainer = 'WalletListItem_buttonContainer__1dqqtqs2';\nexport var container = 'WalletListItem_container__1dqqtqs0';\nexport var selectedContainer = 'WalletListItem_selectedContainer__1dqqtqs1';\nexport var walletIcon = 'WalletListItem_walletIcon__1dqqtqs4';\nexport var walletName = 'WalletListItem_walletName__1dqqtqs3';", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletWithRequiredFeatures } from '@mysten/wallet-standard';\n\nimport { useWallets } from '../../../hooks/wallet/useWallets.js';\nimport { SuiIcon } from '../../icons/SuiIcon.js';\nimport * as styles from './WalletList.css.js';\nimport { WalletListItem } from './WalletListItem.js';\n\ntype WalletListProps = {\n\tselectedWalletName?: string;\n\tonPlaceholderClick: () => void;\n\tonSelect: (wallet: WalletWithRequiredFeatures) => void;\n};\n\nexport function WalletList({ selectedWalletName, onPlaceholderClick, onSelect }: WalletListProps) {\n\tconst wallets = useWallets();\n\treturn (\n\t\t<ul className={styles.container}>\n\t\t\t{wallets.length > 0 ? (\n\t\t\t\twallets.map((wallet) => (\n\t\t\t\t\t<WalletListItem\n\t\t\t\t\t\tkey={wallet.name}\n\t\t\t\t\t\tname={wallet.name}\n\t\t\t\t\t\ticon={wallet.icon}\n\t\t\t\t\t\tisSelected={wallet.name === selectedWalletName}\n\t\t\t\t\t\tonClick={() => onSelect(wallet)}\n\t\t\t\t\t/>\n\t\t\t\t))\n\t\t\t) : (\n\t\t\t\t<WalletListItem\n\t\t\t\t\tname=\"Sui Wallet\"\n\t\t\t\t\ticon={<SuiIcon />}\n\t\t\t\t\tonClick={onPlaceholderClick}\n\t\t\t\t\tisSelected\n\t\t\t\t/>\n\t\t\t)}\n\t\t</ul>\n\t);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactNode } from 'react';\n\nimport { useCurrentAccount } from '../hooks/wallet/useCurrentAccount.js';\nimport { AccountDropdownMenu } from './AccountDropdownMenu.js';\nimport { ConnectModal } from './connect-modal/ConnectModal.js';\n\ntype ConnectButtonProps = {\n\tconnectText?: ReactNode;\n};\n\nexport function ConnectButton({ connectText = 'Connect Wallet' }: ConnectButtonProps) {\n\tconst currentAccount = useCurrentAccount();\n\treturn currentAccount ? (\n\t\t<AccountDropdownMenu currentAccount={currentAccount} />\n\t) : (\n\t\t<ConnectModal trigger={connectText} />\n\t);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletWithRequiredFeatures } from '@mysten/wallet-standard';\nimport type { ReactNode } from 'react';\nimport { useRef } from 'react';\nimport type { StateStorage } from 'zustand/middleware';\n\nimport { WalletContext } from '../contexts/walletContext.js';\nimport { useAutoConnectWallet } from '../hooks/wallet/useAutoConnectWallet.js';\nimport { useUnsafeBurnerWallet } from '../hooks/wallet/useUnsafeBurnerWallet.js';\nimport { useWalletPropertiesChanged } from '../hooks/wallet/useWalletPropertiesChanged.js';\nimport { useWalletsChanged } from '../hooks/wallet/useWalletsChanged.js';\nimport { getRegisteredWallets } from '../utils/walletUtils.js';\nimport { createWalletStore } from '../walletStore.js';\n\ntype WalletProviderProps = {\n\t/** A list of wallets that are sorted to the top of the wallet list, if they are available to connect to. By default, wallets are sorted by the order they are loaded in. */\n\tpreferredWallets?: string[];\n\n\t/** A list of features that are required for the dApp to function. This filters the list of wallets presented to users when selecting a wallet to connect from, ensuring that only wallets that meet the dApps requirements can connect. */\n\trequiredFeatures?: (keyof WalletWithRequiredFeatures['features'])[];\n\n\t/** Enables the development-only unsafe burner wallet, which can be useful for testing. */\n\tenableUnsafeBurner?: boolean;\n\n\t/** Enables automatically reconnecting to the most recently used wallet account upon mounting. */\n\tautoConnect?: boolean;\n\n\t/** Configures how the most recently connected to wallet account is stored. Defaults to using localStorage. */\n\tstorage?: StateStorage;\n\n\t/** The key to use to store the most recently connected wallet account. */\n\tstorageKey?: string;\n\n\tchildren: ReactNode;\n};\n\nconst SUI_WALLET_NAME = 'Sui Wallet';\nconst DEFUALT_STORAGE_KEY = 'sui-dapp-kit:wallet-connection-info';\n\nexport function WalletProvider({\n\tpreferredWallets = [SUI_WALLET_NAME],\n\trequiredFeatures = [],\n\tstorage = localStorage,\n\tstorageKey = DEFUALT_STORAGE_KEY,\n\tenableUnsafeBurner = false,\n\tautoConnect = false,\n\tchildren,\n}: WalletProviderProps) {\n\tconst storeRef = useRef(\n\t\tcreateWalletStore({\n\t\t\twallets: getRegisteredWallets(preferredWallets, requiredFeatures),\n\t\t\tstorageKey,\n\t\t\tstorage,\n\t\t}),\n\t);\n\n\treturn (\n\t\t<WalletContext.Provider value={storeRef.current}>\n\t\t\t<WalletConnectionManager\n\t\t\t\tpreferredWallets={preferredWallets}\n\t\t\t\trequiredFeatures={requiredFeatures}\n\t\t\t\tenableUnsafeBurner={enableUnsafeBurner}\n\t\t\t\tautoConnect={autoConnect}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</WalletConnectionManager>\n\t\t</WalletContext.Provider>\n\t);\n}\n\ntype WalletConnectionManagerProps = Required<\n\tPick<\n\t\tWalletProviderProps,\n\t\t'preferredWallets' | 'requiredFeatures' | 'enableUnsafeBurner' | 'autoConnect' | 'children'\n\t>\n>;\n\nfunction WalletConnectionManager({\n\tpreferredWallets,\n\trequiredFeatures,\n\tenableUnsafeBurner,\n\tautoConnect,\n\tchildren,\n}: WalletConnectionManagerProps) {\n\tuseWalletsChanged(preferredWallets, requiredFeatures);\n\tuseWalletPropertiesChanged();\n\tuseUnsafeBurnerWallet(enableUnsafeBurner);\n\tuseAutoConnectWallet(autoConnect);\n\n\treturn children;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useEffect } from 'react';\n\nimport { useConnectWallet } from './useConnectWallet.js';\nimport { useWallets } from './useWallets.js';\nimport { useWalletStore } from './useWalletStore.js';\n\nexport function useAutoConnectWallet(autoConnectEnabled: boolean) {\n\tconst { mutate: connectWallet } = useConnectWallet();\n\tconst wallets = useWallets();\n\tconst lastConnectedWalletName = useWalletStore((state) => state.lastConnectedWalletName);\n\tconst lastConnectedAccountAddress = useWalletStore((state) => state.lastConnectedAccountAddress);\n\n\tuseEffect(() => {\n\t\tif (!autoConnectEnabled || !lastConnectedWalletName) return;\n\n\t\tconst wallet = wallets.find((wallet) => wallet.name === lastConnectedWalletName);\n\t\tif (wallet) {\n\t\t\tconnectWallet({\n\t\t\t\twallet,\n\t\t\t\taccountAddress: lastConnectedAccountAddress || undefined,\n\t\t\t\tsilent: true,\n\t\t\t});\n\t\t}\n\t}, [\n\t\tautoConnectEnabled,\n\t\tconnectWallet,\n\t\tlastConnectedAccountAddress,\n\t\tlastConnectedWalletName,\n\t\twallets,\n\t]);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { SuiClient } from '@mysten/sui.js/client';\nimport { Ed25519Keypair } from '@mysten/sui.js/keypairs/ed25519';\nimport type {\n\tStandardConnectFeature,\n\tStandardConnectMethod,\n\tStandardEventsFeature,\n\tStandardEventsOnMethod,\n\tSuiFeatures,\n\tSuiSignAndExecuteTransactionBlockMethod,\n\tSuiSignPersonalMessageMethod,\n\tSuiSignTransactionBlockMethod,\n\tWallet,\n} from '@mysten/wallet-standard';\nimport { getWallets, ReadonlyWalletAccount, SUI_CHAINS } from '@mysten/wallet-standard';\nimport { useEffect } from 'react';\n\nimport { useSuiClient } from '../useSuiClient.js';\n\nconst WALLET_NAME = 'Unsafe Burner Wallet';\n\nexport function useUnsafeBurnerWallet(enabled: boolean) {\n\tconst suiClient = useSuiClient();\n\n\tuseEffect(() => {\n\t\tif (!enabled) {\n\t\t\treturn;\n\t\t}\n\t\tconst unregister = registerUnsafeBurnerWallet(suiClient);\n\t\treturn unregister;\n\t}, [enabled, suiClient]);\n}\n\nfunction registerUnsafeBurnerWallet(suiClient: SuiClient) {\n\tconst walletsApi = getWallets();\n\tconst registeredWallets = walletsApi.get();\n\n\tif (registeredWallets.find((wallet) => wallet.name === WALLET_NAME)) {\n\t\tconsole.warn(\n\t\t\t'registerUnsafeBurnerWallet: Unsafe Burner Wallet already registered, skipping duplicate registration.',\n\t\t);\n\t\treturn;\n\t}\n\n\tconsole.warn(\n\t\t'Your application is currently using the unsafe burner wallet. Make sure that this wallet is disabled in production.',\n\t);\n\n\tconst keypair = new Ed25519Keypair();\n\tconst account = new ReadonlyWalletAccount({\n\t\taddress: keypair.getPublicKey().toSuiAddress(),\n\t\tpublicKey: keypair.getPublicKey().toSuiBytes(),\n\t\tchains: ['sui:unknown'],\n\t\tfeatures: ['sui:signAndExecuteTransactionBlock', 'sui:signTransactionBlock'],\n\t});\n\n\tclass UnsafeBurnerWallet implements Wallet {\n\t\tget version() {\n\t\t\treturn '1.0.0' as const;\n\t\t}\n\n\t\tget name() {\n\t\t\treturn WALLET_NAME;\n\t\t}\n\n\t\tget icon() {\n\t\t\treturn 'data:image/png;base64,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' as const;\n\t\t}\n\n\t\t// Return the Sui chains that your wallet supports.\n\t\tget chains() {\n\t\t\treturn SUI_CHAINS;\n\t\t}\n\n\t\tget accounts() {\n\t\t\treturn [account];\n\t\t}\n\n\t\tget features(): StandardConnectFeature & StandardEventsFeature & SuiFeatures {\n\t\t\treturn {\n\t\t\t\t'standard:connect': {\n\t\t\t\t\tversion: '1.0.0',\n\t\t\t\t\tconnect: this.#connect,\n\t\t\t\t},\n\t\t\t\t'standard:events': {\n\t\t\t\t\tversion: '1.0.0',\n\t\t\t\t\ton: this.#on,\n\t\t\t\t},\n\t\t\t\t'sui:signPersonalMessage': {\n\t\t\t\t\tversion: '1.0.0',\n\t\t\t\t\tsignPersonalMessage: this.#signPersonalMessage,\n\t\t\t\t},\n\t\t\t\t'sui:signTransactionBlock': {\n\t\t\t\t\tversion: '1.0.0',\n\t\t\t\t\tsignTransactionBlock: this.#signTransactionBlock,\n\t\t\t\t},\n\t\t\t\t'sui:signAndExecuteTransactionBlock': {\n\t\t\t\t\tversion: '1.0.0',\n\t\t\t\t\tsignAndExecuteTransactionBlock: this.#signAndExecuteTransactionBlock,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\t#on: StandardEventsOnMethod = () => {\n\t\t\treturn () => {};\n\t\t};\n\n\t\t#connect: StandardConnectMethod = async () => {\n\t\t\treturn { accounts: this.accounts };\n\t\t};\n\n\t\t#signPersonalMessage: SuiSignPersonalMessageMethod = async (messageInput) => {\n\t\t\tconst { bytes, signature } = await keypair.signPersonalMessage(messageInput.message);\n\t\t\treturn { bytes, signature };\n\t\t};\n\n\t\t#signTransactionBlock: SuiSignTransactionBlockMethod = async (transactionInput) => {\n\t\t\tconst { bytes, signature } = await transactionInput.transactionBlock.sign({\n\t\t\t\tclient: suiClient,\n\t\t\t\tsigner: keypair,\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\ttransactionBlockBytes: bytes,\n\t\t\t\tsignature: signature,\n\t\t\t};\n\t\t};\n\n\t\t#signAndExecuteTransactionBlock: SuiSignAndExecuteTransactionBlockMethod = async (\n\t\t\ttransactionInput,\n\t\t) => {\n\t\t\treturn await suiClient.signAndExecuteTransactionBlock({\n\t\t\t\tsigner: keypair,\n\t\t\t\ttransactionBlock: transactionInput.transactionBlock,\n\t\t\t\toptions: transactionInput.options,\n\t\t\t\trequestType: transactionInput.requestType,\n\t\t\t});\n\t\t};\n\t}\n\n\treturn walletsApi.register(new UnsafeBurnerWallet());\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useEffect } from 'react';\n\nimport { useCurrentWallet } from './useCurrentWallet.js';\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Internal hook for easily handling various changes in properties for a wallet.\n */\nexport function useWalletPropertiesChanged() {\n\tconst currentWallet = useCurrentWallet();\n\tconst updateWalletAccounts = useWalletStore((state) => state.updateWalletAccounts);\n\n\tuseEffect(() => {\n\t\tconst unsubscribeFromEvents = currentWallet?.features['standard:events'].on(\n\t\t\t'change',\n\t\t\t({ accounts }) => {\n\t\t\t\t// TODO: We should handle features changing that might make the list of wallets\n\t\t\t\t// or even the current wallet incompatible with the dApp.\n\t\t\t\tif (accounts) {\n\t\t\t\t\tupdateWalletAccounts(accounts);\n\t\t\t\t}\n\t\t\t},\n\t\t);\n\t\treturn unsubscribeFromEvents;\n\t}, [currentWallet?.features, updateWalletAccounts]);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletWithRequiredFeatures } from '@mysten/wallet-standard';\nimport { getWallets } from '@mysten/wallet-standard';\nimport { useEffect } from 'react';\n\nimport { getRegisteredWallets } from '../../utils/walletUtils.js';\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Internal hook for easily handling the addition and removal of new wallets.\n */\nexport function useWalletsChanged(\n\tpreferredWallets: string[],\n\trequiredFeatures: (keyof WalletWithRequiredFeatures['features'])[],\n) {\n\tconst setWalletRegistered = useWalletStore((state) => state.setWalletRegistered);\n\tconst setWalletUnregistered = useWalletStore((state) => state.setWalletUnregistered);\n\n\tuseEffect(() => {\n\t\tconst walletsApi = getWallets();\n\n\t\tconst unsubscribeFromRegister = walletsApi.on('register', () => {\n\t\t\tsetWalletRegistered(getRegisteredWallets(preferredWallets, requiredFeatures));\n\t\t});\n\n\t\tconst unsubscribeFromUnregister = walletsApi.on('unregister', (unregisteredWallet) => {\n\t\t\tsetWalletUnregistered(\n\t\t\t\tgetRegisteredWallets(preferredWallets, requiredFeatures),\n\t\t\t\tunregisteredWallet,\n\t\t\t);\n\t\t});\n\n\t\treturn () => {\n\t\t\tunsubscribeFromRegister();\n\t\t\tunsubscribeFromUnregister();\n\t\t};\n\t}, [preferredWallets, requiredFeatures, setWalletRegistered, setWalletUnregistered]);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n\tMinimallyRequiredFeatures,\n\tWallet,\n\tWalletWithFeatures,\n} from '@mysten/wallet-standard';\nimport { getWallets, isWalletWithRequiredFeatureSet } from '@mysten/wallet-standard';\n\nexport function getRegisteredWallets<AdditionalFeatures extends Wallet['features']>(\n\tpreferredWallets: string[],\n\trequiredFeatures?: (keyof AdditionalFeatures)[],\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, requiredFeatures),\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", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Wallet, WalletAccount, WalletWithRequiredFeatures } from '@mysten/wallet-standard';\nimport { createStore } from 'zustand';\nimport type { StateStorage } from 'zustand/middleware';\nimport { createJSONStorage, persist } from 'zustand/middleware';\n\nexport type WalletActions = {\n\tsetAccountSwitched: (selectedAccount: WalletAccount) => void;\n\tsetWalletConnected: (\n\t\twallet: WalletWithRequiredFeatures,\n\t\tselectedAccount: WalletAccount | null,\n\t) => void;\n\tupdateWalletAccounts: (accounts: readonly WalletAccount[]) => void;\n\tsetWalletDisconnected: () => void;\n\tsetWalletRegistered: (updatedWallets: WalletWithRequiredFeatures[]) => void;\n\tsetWalletUnregistered: (\n\t\tupdatedWallets: WalletWithRequiredFeatures[],\n\t\tunregisteredWallet: Wallet,\n\t) => void;\n};\n\nexport type WalletStore = ReturnType<typeof createWalletStore>;\n\nexport type StoreState = {\n\twallets: WalletWithRequiredFeatures[];\n\taccounts: readonly WalletAccount[];\n\tcurrentWallet: WalletWithRequiredFeatures | null;\n\tcurrentAccount: WalletAccount | null;\n\tlastConnectedAccountAddress: string | null;\n\tlastConnectedWalletName: string | null;\n} & WalletActions;\n\nexport type WalletConfiguration = {\n\twallets: WalletWithRequiredFeatures[];\n\tstorage: StateStorage;\n\tstorageKey: string;\n};\n\nexport function createWalletStore({ wallets, storage, storageKey }: WalletConfiguration) {\n\treturn createStore<StoreState>()(\n\t\tpersist(\n\t\t\t(set, get) => ({\n\t\t\t\twallets,\n\t\t\t\taccounts: [],\n\t\t\t\tcurrentWallet: null,\n\t\t\t\tcurrentAccount: null,\n\t\t\t\tlastConnectedAccountAddress: null,\n\t\t\t\tlastConnectedWalletName: null,\n\t\t\t\tconnectionStatus: 'disconnected',\n\t\t\t\tsetWalletConnected(wallet, selectedAccount) {\n\t\t\t\t\tset(() => ({\n\t\t\t\t\t\taccounts: wallet.accounts,\n\t\t\t\t\t\tcurrentWallet: wallet,\n\t\t\t\t\t\tcurrentAccount: selectedAccount,\n\t\t\t\t\t\tlastConnectedWalletName: wallet.name,\n\t\t\t\t\t\tlastConnectedAccountAddress: selectedAccount?.address,\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tsetWalletDisconnected() {\n\t\t\t\t\tset(() => ({\n\t\t\t\t\t\taccounts: [],\n\t\t\t\t\t\tcurrentWallet: null,\n\t\t\t\t\t\tcurrentAccount: null,\n\t\t\t\t\t\tlastConnectedWalletName: null,\n\t\t\t\t\t\tlastConnectedAccountAddress: null,\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tsetAccountSwitched(selectedAccount) {\n\t\t\t\t\tset(() => ({\n\t\t\t\t\t\tcurrentAccount: selectedAccount,\n\t\t\t\t\t\tlastConnectedAccountAddress: selectedAccount.address,\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tsetWalletRegistered(updatedWallets) {\n\t\t\t\t\tset(() => ({ wallets: updatedWallets }));\n\t\t\t\t},\n\t\t\t\tsetWalletUnregistered(updatedWallets, unregisteredWallet) {\n\t\t\t\t\tif (unregisteredWallet === get().currentWallet) {\n\t\t\t\t\t\tset(() => ({\n\t\t\t\t\t\t\twallets: updatedWallets,\n\t\t\t\t\t\t\taccounts: [],\n\t\t\t\t\t\t\tcurrentWallet: null,\n\t\t\t\t\t\t\tcurrentAccount: null,\n\t\t\t\t\t\t\tlastConnectedWalletName: null,\n\t\t\t\t\t\t\tlastConnectedAccountAddress: null,\n\t\t\t\t\t\t}));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tset(() => ({ wallets: updatedWallets }));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tupdateWalletAccounts(accounts) {\n\t\t\t\t\tconst currentAccount = get().currentAccount;\n\t\t\t\t\tconst isCurrentAccountStillAuthorized = currentAccount\n\t\t\t\t\t\t? accounts.some(({ address }) => address === currentAccount.address)\n\t\t\t\t\t\t: false;\n\n\t\t\t\t\tset(() => ({\n\t\t\t\t\t\taccounts,\n\t\t\t\t\t\tcurrentAccount: isCurrentAccountStillAuthorized ? currentAccount : accounts[0],\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t}),\n\t\t\t{\n\t\t\t\tname: storageKey,\n\t\t\t\tstorage: createJSONStorage(() => storage),\n\t\t\t\tpartialize: ({ lastConnectedWalletName, lastConnectedAccountAddress }) => ({\n\t\t\t\t\tlastConnectedWalletName,\n\t\t\t\t\tlastConnectedAccountAddress,\n\t\t\t\t}),\n\t\t\t},\n\t\t),\n\t);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n\tSuiSignPersonalMessageInput,\n\tSuiSignPersonalMessageOutput,\n} from '@mysten/wallet-standard';\nimport type { UseMutationOptions } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport {\n\tWalletFeatureNotSupportedError,\n\tWalletNoAccountSelectedError,\n\tWalletNotConnectedError,\n} from '../..//errors/walletErrors.js';\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport type { PartialBy } from '../../types/utilityTypes.js';\nimport { useCurrentAccount } from './useCurrentAccount.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\n\ntype UseSignPersonalMessageArgs = PartialBy<SuiSignPersonalMessageInput, 'account'>;\n\ntype UseSignPersonalMessageResult = SuiSignPersonalMessageOutput;\n\ntype UseSignPersonalMessageError =\n\t| WalletFeatureNotSupportedError\n\t| WalletNoAccountSelectedError\n\t| WalletNotConnectedError\n\t| Error;\n\ntype UseSignPersonalMessageMutationOptions = Omit<\n\tUseMutationOptions<\n\t\tUseSignPersonalMessageResult,\n\t\tUseSignPersonalMessageError,\n\t\tUseSignPersonalMessageArgs,\n\t\tunknown\n\t>,\n\t'mutationFn'\n>;\n\n/**\n * Mutation hook for prompting the user to sign a message.\n */\nexport function useSignPersonalMessage({\n\tmutationKey,\n\t...mutationOptions\n}: UseSignPersonalMessageMutationOptions = {}) {\n\tconst currentWallet = useCurrentWallet();\n\tconst currentAccount = useCurrentAccount();\n\n\treturn useMutation({\n\t\tmutationKey: walletMutationKeys.signPersonalMessage(mutationKey),\n\t\tmutationFn: async (signPersonalMessageArgs) => {\n\t\t\tif (!currentWallet) {\n\t\t\t\tthrow new WalletNotConnectedError('No wallet is connected.');\n\t\t\t}\n\n\t\t\tconst signerAccount = signPersonalMessageArgs.account ?? currentAccount;\n\t\t\tif (!signerAccount) {\n\t\t\t\tthrow new WalletNoAccountSelectedError(\n\t\t\t\t\t'No wallet account is selected to sign the personal message with.',\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst walletFeature = currentWallet.features['sui:signPersonalMessage'];\n\t\t\tif (!walletFeature) {\n\t\t\t\tthrow new WalletFeatureNotSupportedError(\n\t\t\t\t\t\"This wallet doesn't support the `signPersonalMessage` feature.\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn await walletFeature.signPersonalMessage({\n\t\t\t\t...signPersonalMessageArgs,\n\t\t\t\taccount: signerAccount,\n\t\t\t});\n\t\t},\n\t\t...mutationOptions,\n\t});\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n\tSuiSignTransactionBlockInput,\n\tSuiSignTransactionBlockOutput,\n} from '@mysten/wallet-standard';\nimport type { UseMutationOptions } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport {\n\tWalletFeatureNotSupportedError,\n\tWalletNoAccountSelectedError,\n\tWalletNotConnectedError,\n} from '../..//errors/walletErrors.js';\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport type { PartialBy } from '../../types/utilityTypes.js';\nimport { useCurrentAccount } from './useCurrentAccount.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\n\ntype UseSignTransactionBlockArgs = PartialBy<SuiSignTransactionBlockInput, 'account'>;\n\ntype UseSignTransactionBlockResult = SuiSignTransactionBlockOutput;\n\ntype UseSignTransactionBlockError =\n\t| WalletFeatureNotSupportedError\n\t| WalletNoAccountSelectedError\n\t| WalletNotConnectedError\n\t| Error;\n\ntype UseSignTransactionBlockMutationOptions = Omit<\n\tUseMutationOptions<\n\t\tUseSignTransactionBlockResult,\n\t\tUseSignTransactionBlockError,\n\t\tUseSignTransactionBlockArgs,\n\t\tunknown\n\t>,\n\t'mutationFn'\n>;\n\n/**\n * Mutation hook for prompting the user to sign a transaction block.\n */\nexport function useSignTransactionBlock({\n\tmutationKey,\n\t...mutationOptions\n}: UseSignTransactionBlockMutationOptions = {}) {\n\tconst currentWallet = useCurrentWallet();\n\tconst currentAccount = useCurrentAccount();\n\n\treturn useMutation({\n\t\tmutationKey: walletMutationKeys.signTransactionBlock(mutationKey),\n\t\tmutationFn: async (signTransactionBlockArgs) => {\n\t\t\tif (!currentWallet) {\n\t\t\t\tthrow new WalletNotConnectedError('No wallet is connected.');\n\t\t\t}\n\n\t\t\tconst signerAccount = signTransactionBlockArgs.account ?? currentAccount;\n\t\t\tif (!signerAccount) {\n\t\t\t\tthrow new WalletNoAccountSelectedError(\n\t\t\t\t\t'No wallet account is selected to sign the personal message with.',\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst walletFeature = currentWallet.features['sui:signTransactionBlock'];\n\t\t\tif (!walletFeature) {\n\t\t\t\tthrow new WalletFeatureNotSupportedError(\n\t\t\t\t\t\"This wallet doesn't support the `SignTransactionBlock` feature.\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn await walletFeature.signTransactionBlock({\n\t\t\t\t...signTransactionBlockArgs,\n\t\t\t\taccount: signerAccount,\n\t\t\t});\n\t\t},\n\t\t...mutationOptions,\n\t});\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n\tSuiSignAndExecuteTransactionBlockInput,\n\tSuiSignAndExecuteTransactionBlockOutput,\n} from '@mysten/wallet-standard';\nimport type { UseMutationOptions } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport {\n\tWalletFeatureNotSupportedError,\n\tWalletNoAccountSelectedError,\n\tWalletNotConnectedError,\n} from '../../errors/walletErrors.js';\nimport type { PartialBy } from '../../types/utilityTypes.js';\nimport { useCurrentAccount } from './useCurrentAccount.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\n\ntype UseSignAndExecuteTransactionBlockArgs = PartialBy<\n\tSuiSignAndExecuteTransactionBlockInput,\n\t'account'\n>;\n\ntype UseSignAndExecuteTransactionBlockResult = SuiSignAndExecuteTransactionBlockOutput;\n\ntype UseSignAndExecuteTransactionBlockError =\n\t| WalletFeatureNotSupportedError\n\t| WalletNoAccountSelectedError\n\t| WalletNotConnectedError\n\t| Error;\n\ntype UseSignAndExecuteTransactionBlockMutationOptions = Omit<\n\tUseMutationOptions<\n\t\tUseSignAndExecuteTransactionBlockResult,\n\t\tUseSignAndExecuteTransactionBlockError,\n\t\tUseSignAndExecuteTransactionBlockArgs,\n\t\tunknown\n\t>,\n\t'mutationFn'\n>;\n\n/**\n * Mutation hook for prompting the user to sign and execute a transaction block.\n */\nexport function useSignAndExecuteTransactionBlock({\n\tmutationKey,\n\t...mutationOptions\n}: UseSignAndExecuteTransactionBlockMutationOptions = {}) {\n\tconst currentWallet = useCurrentWallet();\n\tconst currentAccount = useCurrentAccount();\n\n\treturn useMutation({\n\t\tmutationKey: walletMutationKeys.signAndExecuteTransactionBlock(mutationKey),\n\t\tmutationFn: async (signAndExecuteTransactionBlockArgs) => {\n\t\t\tif (!currentWallet) {\n\t\t\t\tthrow new WalletNotConnectedError('No wallet is connected.');\n\t\t\t}\n\n\t\t\tconst signerAccount = signAndExecuteTransactionBlockArgs.account ?? currentAccount;\n\t\t\tif (!signerAccount) {\n\t\t\t\tthrow new WalletNoAccountSelectedError(\n\t\t\t\t\t'No wallet account is selected to sign the personal message with.',\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst walletFeature = currentWallet.features['sui:signAndExecuteTransactionBlock'];\n\t\t\tif (!walletFeature) {\n\t\t\t\tthrow new WalletFeatureNotSupportedError(\n\t\t\t\t\t\"This wallet doesn't support the `signAndExecuteTransactionBlock` feature.\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn await walletFeature.signAndExecuteTransactionBlock({\n\t\t\t\t...signAndExecuteTransactionBlockArgs,\n\t\t\t\taccount: signerAccount,\n\t\t\t});\n\t\t},\n\t\t...mutationOptions,\n\t});\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { UseMutationOptions } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { useSuiClientContext } from './useSuiClient.js';\nimport type { SuiRpcMethods } from './useSuiClientQuery.js';\n\nexport type UseSuiClientMutationOptions<T extends keyof SuiRpcMethods> = Omit<\n\tUseMutationOptions<SuiRpcMethods[T]['result'], Error, SuiRpcMethods[T]['params'], unknown[]>,\n\t'mutationFn'\n>;\n\nexport function useSuiClientMutation<T extends keyof SuiRpcMethods>(\n\tmethod: T,\n\toptions: UseSuiClientMutationOptions<T> = {},\n) {\n\tconst suiContext = useSuiClientContext();\n\n\treturn useMutation({\n\t\t...options,\n\t\tmutationFn: async (params) => {\n\t\t\treturn await suiContext.client[method](params as never);\n\t\t},\n\t});\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { SuiClient } from '@mysten/sui.js/client';\nimport type { UseQueryOptions } from '@tanstack/react-query';\nimport { useQuery } from '@tanstack/react-query';\n\nimport { useSuiClientContext } from './useSuiClient.js';\n\nexport type SuiRpcMethodName = {\n\t[K in keyof SuiClient]: SuiClient[K] extends ((input: any) => Promise<any>) | (() => Promise<any>)\n\t\t? K\n\t\t: never;\n}[keyof SuiClient];\n\nexport type SuiRpcMethods = {\n\t[K in SuiRpcMethodName]: SuiClient[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 }\n\t\t: SuiClient[K] extends () => Promise<infer R>\n\t\t? {\n\t\t\t\tname: K;\n\t\t\t\tresult: R;\n\t\t\t\tparams: undefined | object;\n\t\t }\n\t\t: never;\n};\n\nexport type UseSuiClientQueryOptions<T extends keyof SuiRpcMethods> = Omit<\n\tUseQueryOptions<SuiRpcMethods[T]['result'], Error, SuiRpcMethods[T]['result'], unknown[]>,\n\t'queryFn'\n>;\n\nexport function useSuiClientQuery<T extends keyof SuiRpcMethods>(\n\t...args: undefined extends SuiRpcMethods[T]['params']\n\t\t? [method: T, params?: SuiRpcMethods[T]['params'], options?: UseSuiClientQueryOptions<T>]\n\t\t: [method: T, params: SuiRpcMethods[T]['params'], options?: UseSuiClientQueryOptions<T>]\n) {\n\tconst [method, params, { queryKey = [], enabled = !!params, ...options } = {}] = args as [\n\t\tmethod: T,\n\t\tparams?: SuiRpcMethods[T]['params'],\n\t\toptions?: UseSuiClientQueryOptions<T>,\n\t];\n\n\tconst suiContext = useSuiClientContext();\n\n\treturn useQuery({\n\t\t...options,\n\t\tqueryKey: [suiContext.network, method, params, ...queryKey],\n\t\tenabled,\n\t\tqueryFn: async () => {\n\t\t\treturn await suiContext.client[method](params as never);\n\t\t},\n\t});\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { SuiClient } from '@mysten/sui.js/client';\nimport type { UseInfiniteQueryOptions } from '@tanstack/react-query';\nimport { useInfiniteQuery } from '@tanstack/react-query';\n\nimport { useSuiClientContext } from './useSuiClient.js';\n\ninterface PaginatedResult {\n\tdata?: unknown;\n\tnextCursor?: unknown;\n\thasNextPage: boolean;\n}\nexport type SuiRpcPaginatedMethodName = {\n\t[K in keyof SuiClient]: SuiClient[K] extends (input: any) => Promise<PaginatedResult> ? K : never;\n}[keyof SuiClient];\n\nexport type SuiRpcPaginatedMethods = {\n\t[K in SuiRpcPaginatedMethodName]: SuiClient[K] extends (input: infer P) => Promise<{\n\t\tdata?: infer R;\n\t\tnextCursor?: infer Cursor | null;\n\t\thasNextPage: boolean;\n\t}>\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\tcursor: Cursor;\n\t\t }\n\t\t: never;\n};\n\nexport type UseSuiClientInfiniteQueryOptions<T extends keyof SuiRpcPaginatedMethods> = Omit<\n\tUseInfiniteQueryOptions<\n\t\tSuiRpcPaginatedMethods[T]['result'],\n\t\tError,\n\t\tSuiRpcPaginatedMethods[T]['result'],\n\t\tSuiRpcPaginatedMethods[T]['result'],\n\t\tunknown[]\n\t>,\n\t'queryFn'\n>;\n\nexport function useSuiClientInfiniteQuery<T extends keyof SuiRpcPaginatedMethods>(\n\tmethod: T,\n\tparams: SuiRpcPaginatedMethods[T]['params'],\n\t{ queryKey = [], enabled = !!params, ...options }: UseSuiClientInfiniteQueryOptions<T> = {},\n) {\n\tconst suiContext = useSuiClientContext();\n\n\treturn useInfiniteQuery({\n\t\t...options,\n\t\tqueryKey: [suiContext.network, method, params, ...queryKey],\n\t\tenabled,\n\t\tqueryFn: async () => {\n\t\t\treturn await suiContext.client[method](params as never);\n\t\t},\n\t\tgetNextPageParam: (lastPage) => {\n\t\t\treturn (lastPage as PaginatedResult).nextCursor ?? null;\n\t\t},\n\t});\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["createClient", "useContext", "createContext", "useContext", "useMutation", "useMutation", "jsx", "jsx", "jsx", "clsx", "useState", "useMutation", "useMutation", "jsx", "jsx", "triggerButton", "jsx", "jsxs", "container", "jsx", "jsxs", "title", "container", "container", "content", "title", "jsx", "jsxs", "container", "title", "content", "container", "content", "title", "jsx", "jsxs", "container", "title", "content", "jsx", "jsxs", "container", "clsx", "container", "walletIcon", "walletName", "jsx", "jsxs", "clsx", "container", "walletIcon", "walletName", "jsx", "container", "jsx", "jsxs", "useState", "triggerButton", "clsx", "jsx", "wallet", "useEffect", "useEffect", "useEffect", "useEffect", "getWallets", "useEffect", "getWallets", "useEffect", "getWallets", "jsx", "useMutation", "useMutation", "useMutation", "useMutation", "useMutation", "useMutation", "useMutation", "useMutation"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<T>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=utilityTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { SignedPersonalMessage, SignedTransactionBlock } from '@mysten/wallet-standard';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/assertUnreachable.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * Utility for compile-time exhaustiveness checking.\n */\nexport function assertUnreachable(value: never): never {\n\tthrow new Error(`ERROR! Encountered an unexpected value: ${value}`);\n}\n"],
|
|
5
|
+
"mappings": ";AAMO,SAAS,kBAAkB,OAAqB;AACtD,QAAM,IAAI,MAAM,2CAA2C,OAAO;AACnE;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { Wallet, WalletWithFeatures } from '@mysten/wallet-standard';
|
|
2
|
+
export declare function getRegisteredWallets<AdditionalFeatures extends Wallet['features']>(preferredWallets: string[], requiredFeatures?: (keyof AdditionalFeatures)[]): WalletWithFeatures<import("@mysten/wallet-standard").StandardConnectFeature & import("@mysten/wallet-standard").StandardEventsFeature & AdditionalFeatures>[];
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// src/utils/walletUtils.ts
|
|
2
|
+
import { getWallets, isWalletWithRequiredFeatureSet } from "@mysten/wallet-standard";
|
|
3
|
+
function getRegisteredWallets(preferredWallets, requiredFeatures) {
|
|
4
|
+
const walletsApi = getWallets();
|
|
5
|
+
const wallets = walletsApi.get();
|
|
6
|
+
const suiWallets = wallets.filter(
|
|
7
|
+
(wallet) => isWalletWithRequiredFeatureSet(wallet, requiredFeatures)
|
|
8
|
+
);
|
|
9
|
+
return [
|
|
10
|
+
// Preferred wallets, in order:
|
|
11
|
+
...preferredWallets.map((name) => suiWallets.find((wallet) => wallet.name === name)).filter(Boolean),
|
|
12
|
+
// Wallets in default order:
|
|
13
|
+
...suiWallets.filter((wallet) => !preferredWallets.includes(wallet.name))
|
|
14
|
+
];
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
getRegisteredWallets
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=walletUtils.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/walletUtils.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n\tMinimallyRequiredFeatures,\n\tWallet,\n\tWalletWithFeatures,\n} from '@mysten/wallet-standard';\nimport { getWallets, isWalletWithRequiredFeatureSet } from '@mysten/wallet-standard';\n\nexport function getRegisteredWallets<AdditionalFeatures extends Wallet['features']>(\n\tpreferredWallets: string[],\n\trequiredFeatures?: (keyof AdditionalFeatures)[],\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, requiredFeatures),\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"],
|
|
5
|
+
"mappings": ";AAQA,SAAS,YAAY,sCAAsC;AAEpD,SAAS,qBACf,kBACA,kBACC;AACD,QAAM,aAAa,WAAW;AAC9B,QAAM,UAAU,WAAW,IAAI;AAE/B,QAAM,aAAa,QAAQ;AAAA,IAC1B,CAAC,WACA,+BAA+B,QAAQ,gBAAgB;AAAA,EACzD;AAEA,SAAO;AAAA;AAAA,IAEN,GAAI,iBACF,IAAI,CAAC,SAAS,WAAW,KAAK,CAAC,WAAW,OAAO,SAAS,IAAI,CAAC,EAC/D,OAAO,OAAO;AAAA;AAAA,IAGhB,GAAG,WAAW,OAAO,CAAC,WAAW,CAAC,iBAAiB,SAAS,OAAO,IAAI,CAAC;AAAA,EACzE;AACD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Wallet, WalletAccount, WalletWithRequiredFeatures } from '@mysten/wallet-standard';
|
|
2
|
+
import type { StateStorage } from 'zustand/middleware';
|
|
3
|
+
export type WalletActions = {
|
|
4
|
+
setAccountSwitched: (selectedAccount: WalletAccount) => void;
|
|
5
|
+
setWalletConnected: (wallet: WalletWithRequiredFeatures, selectedAccount: WalletAccount | null) => void;
|
|
6
|
+
updateWalletAccounts: (accounts: readonly WalletAccount[]) => void;
|
|
7
|
+
setWalletDisconnected: () => void;
|
|
8
|
+
setWalletRegistered: (updatedWallets: WalletWithRequiredFeatures[]) => void;
|
|
9
|
+
setWalletUnregistered: (updatedWallets: WalletWithRequiredFeatures[], unregisteredWallet: Wallet) => void;
|
|
10
|
+
};
|
|
11
|
+
export type WalletStore = ReturnType<typeof createWalletStore>;
|
|
12
|
+
export type StoreState = {
|
|
13
|
+
wallets: WalletWithRequiredFeatures[];
|
|
14
|
+
accounts: readonly WalletAccount[];
|
|
15
|
+
currentWallet: WalletWithRequiredFeatures | null;
|
|
16
|
+
currentAccount: WalletAccount | null;
|
|
17
|
+
lastConnectedAccountAddress: string | null;
|
|
18
|
+
lastConnectedWalletName: string | null;
|
|
19
|
+
} & WalletActions;
|
|
20
|
+
export type WalletConfiguration = {
|
|
21
|
+
wallets: WalletWithRequiredFeatures[];
|
|
22
|
+
storage: StateStorage;
|
|
23
|
+
storageKey: string;
|
|
24
|
+
};
|
|
25
|
+
export declare function createWalletStore({ wallets, storage, storageKey }: WalletConfiguration): Omit<import("zustand").StoreApi<StoreState>, "persist"> & {
|
|
26
|
+
persist: {
|
|
27
|
+
setOptions: (options: Partial<import("zustand/middleware").PersistOptions<StoreState, unknown>>) => void;
|
|
28
|
+
clearStorage: () => void;
|
|
29
|
+
rehydrate: () => void | Promise<void>;
|
|
30
|
+
hasHydrated: () => boolean;
|
|
31
|
+
onHydrate: (fn: (state: StoreState) => void) => () => void;
|
|
32
|
+
onFinishHydration: (fn: (state: StoreState) => void) => () => void;
|
|
33
|
+
getOptions: () => Partial<import("zustand/middleware").PersistOptions<StoreState, unknown>>;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// src/walletStore.ts
|
|
2
|
+
import { createStore } from "zustand";
|
|
3
|
+
import { createJSONStorage, persist } from "zustand/middleware";
|
|
4
|
+
function createWalletStore({ wallets, storage, storageKey }) {
|
|
5
|
+
return createStore()(
|
|
6
|
+
persist(
|
|
7
|
+
(set, get) => ({
|
|
8
|
+
wallets,
|
|
9
|
+
accounts: [],
|
|
10
|
+
currentWallet: null,
|
|
11
|
+
currentAccount: null,
|
|
12
|
+
lastConnectedAccountAddress: null,
|
|
13
|
+
lastConnectedWalletName: null,
|
|
14
|
+
connectionStatus: "disconnected",
|
|
15
|
+
setWalletConnected(wallet, selectedAccount) {
|
|
16
|
+
set(() => ({
|
|
17
|
+
accounts: wallet.accounts,
|
|
18
|
+
currentWallet: wallet,
|
|
19
|
+
currentAccount: selectedAccount,
|
|
20
|
+
lastConnectedWalletName: wallet.name,
|
|
21
|
+
lastConnectedAccountAddress: selectedAccount?.address
|
|
22
|
+
}));
|
|
23
|
+
},
|
|
24
|
+
setWalletDisconnected() {
|
|
25
|
+
set(() => ({
|
|
26
|
+
accounts: [],
|
|
27
|
+
currentWallet: null,
|
|
28
|
+
currentAccount: null,
|
|
29
|
+
lastConnectedWalletName: null,
|
|
30
|
+
lastConnectedAccountAddress: null
|
|
31
|
+
}));
|
|
32
|
+
},
|
|
33
|
+
setAccountSwitched(selectedAccount) {
|
|
34
|
+
set(() => ({
|
|
35
|
+
currentAccount: selectedAccount,
|
|
36
|
+
lastConnectedAccountAddress: selectedAccount.address
|
|
37
|
+
}));
|
|
38
|
+
},
|
|
39
|
+
setWalletRegistered(updatedWallets) {
|
|
40
|
+
set(() => ({ wallets: updatedWallets }));
|
|
41
|
+
},
|
|
42
|
+
setWalletUnregistered(updatedWallets, unregisteredWallet) {
|
|
43
|
+
if (unregisteredWallet === get().currentWallet) {
|
|
44
|
+
set(() => ({
|
|
45
|
+
wallets: updatedWallets,
|
|
46
|
+
accounts: [],
|
|
47
|
+
currentWallet: null,
|
|
48
|
+
currentAccount: null,
|
|
49
|
+
lastConnectedWalletName: null,
|
|
50
|
+
lastConnectedAccountAddress: null
|
|
51
|
+
}));
|
|
52
|
+
} else {
|
|
53
|
+
set(() => ({ wallets: updatedWallets }));
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
updateWalletAccounts(accounts) {
|
|
57
|
+
const currentAccount = get().currentAccount;
|
|
58
|
+
const isCurrentAccountStillAuthorized = currentAccount ? accounts.some(({ address }) => address === currentAccount.address) : false;
|
|
59
|
+
set(() => ({
|
|
60
|
+
accounts,
|
|
61
|
+
currentAccount: isCurrentAccountStillAuthorized ? currentAccount : accounts[0]
|
|
62
|
+
}));
|
|
63
|
+
}
|
|
64
|
+
}),
|
|
65
|
+
{
|
|
66
|
+
name: storageKey,
|
|
67
|
+
storage: createJSONStorage(() => storage),
|
|
68
|
+
partialize: ({ lastConnectedWalletName, lastConnectedAccountAddress }) => ({
|
|
69
|
+
lastConnectedWalletName,
|
|
70
|
+
lastConnectedAccountAddress
|
|
71
|
+
})
|
|
72
|
+
}
|
|
73
|
+
)
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
export {
|
|
77
|
+
createWalletStore
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=walletStore.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/walletStore.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Wallet, WalletAccount, WalletWithRequiredFeatures } from '@mysten/wallet-standard';\nimport { createStore } from 'zustand';\nimport type { StateStorage } from 'zustand/middleware';\nimport { createJSONStorage, persist } from 'zustand/middleware';\n\nexport type WalletActions = {\n\tsetAccountSwitched: (selectedAccount: WalletAccount) => void;\n\tsetWalletConnected: (\n\t\twallet: WalletWithRequiredFeatures,\n\t\tselectedAccount: WalletAccount | null,\n\t) => void;\n\tupdateWalletAccounts: (accounts: readonly WalletAccount[]) => void;\n\tsetWalletDisconnected: () => void;\n\tsetWalletRegistered: (updatedWallets: WalletWithRequiredFeatures[]) => void;\n\tsetWalletUnregistered: (\n\t\tupdatedWallets: WalletWithRequiredFeatures[],\n\t\tunregisteredWallet: Wallet,\n\t) => void;\n};\n\nexport type WalletStore = ReturnType<typeof createWalletStore>;\n\nexport type StoreState = {\n\twallets: WalletWithRequiredFeatures[];\n\taccounts: readonly WalletAccount[];\n\tcurrentWallet: WalletWithRequiredFeatures | null;\n\tcurrentAccount: WalletAccount | null;\n\tlastConnectedAccountAddress: string | null;\n\tlastConnectedWalletName: string | null;\n} & WalletActions;\n\nexport type WalletConfiguration = {\n\twallets: WalletWithRequiredFeatures[];\n\tstorage: StateStorage;\n\tstorageKey: string;\n};\n\nexport function createWalletStore({ wallets, storage, storageKey }: WalletConfiguration) {\n\treturn createStore<StoreState>()(\n\t\tpersist(\n\t\t\t(set, get) => ({\n\t\t\t\twallets,\n\t\t\t\taccounts: [],\n\t\t\t\tcurrentWallet: null,\n\t\t\t\tcurrentAccount: null,\n\t\t\t\tlastConnectedAccountAddress: null,\n\t\t\t\tlastConnectedWalletName: null,\n\t\t\t\tconnectionStatus: 'disconnected',\n\t\t\t\tsetWalletConnected(wallet, selectedAccount) {\n\t\t\t\t\tset(() => ({\n\t\t\t\t\t\taccounts: wallet.accounts,\n\t\t\t\t\t\tcurrentWallet: wallet,\n\t\t\t\t\t\tcurrentAccount: selectedAccount,\n\t\t\t\t\t\tlastConnectedWalletName: wallet.name,\n\t\t\t\t\t\tlastConnectedAccountAddress: selectedAccount?.address,\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tsetWalletDisconnected() {\n\t\t\t\t\tset(() => ({\n\t\t\t\t\t\taccounts: [],\n\t\t\t\t\t\tcurrentWallet: null,\n\t\t\t\t\t\tcurrentAccount: null,\n\t\t\t\t\t\tlastConnectedWalletName: null,\n\t\t\t\t\t\tlastConnectedAccountAddress: null,\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tsetAccountSwitched(selectedAccount) {\n\t\t\t\t\tset(() => ({\n\t\t\t\t\t\tcurrentAccount: selectedAccount,\n\t\t\t\t\t\tlastConnectedAccountAddress: selectedAccount.address,\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tsetWalletRegistered(updatedWallets) {\n\t\t\t\t\tset(() => ({ wallets: updatedWallets }));\n\t\t\t\t},\n\t\t\t\tsetWalletUnregistered(updatedWallets, unregisteredWallet) {\n\t\t\t\t\tif (unregisteredWallet === get().currentWallet) {\n\t\t\t\t\t\tset(() => ({\n\t\t\t\t\t\t\twallets: updatedWallets,\n\t\t\t\t\t\t\taccounts: [],\n\t\t\t\t\t\t\tcurrentWallet: null,\n\t\t\t\t\t\t\tcurrentAccount: null,\n\t\t\t\t\t\t\tlastConnectedWalletName: null,\n\t\t\t\t\t\t\tlastConnectedAccountAddress: null,\n\t\t\t\t\t\t}));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tset(() => ({ wallets: updatedWallets }));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tupdateWalletAccounts(accounts) {\n\t\t\t\t\tconst currentAccount = get().currentAccount;\n\t\t\t\t\tconst isCurrentAccountStillAuthorized = currentAccount\n\t\t\t\t\t\t? accounts.some(({ address }) => address === currentAccount.address)\n\t\t\t\t\t\t: false;\n\n\t\t\t\t\tset(() => ({\n\t\t\t\t\t\taccounts,\n\t\t\t\t\t\tcurrentAccount: isCurrentAccountStillAuthorized ? currentAccount : accounts[0],\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t}),\n\t\t\t{\n\t\t\t\tname: storageKey,\n\t\t\t\tstorage: createJSONStorage(() => storage),\n\t\t\t\tpartialize: ({ lastConnectedWalletName, lastConnectedAccountAddress }) => ({\n\t\t\t\t\tlastConnectedWalletName,\n\t\t\t\t\tlastConnectedAccountAddress,\n\t\t\t\t}),\n\t\t\t},\n\t\t),\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAIA,SAAS,mBAAmB;AAE5B,SAAS,mBAAmB,eAAe;AAkCpC,SAAS,kBAAkB,EAAE,SAAS,SAAS,WAAW,GAAwB;AACxF,SAAO,YAAwB;AAAA,IAC9B;AAAA,MACC,CAAC,KAAK,SAAS;AAAA,QACd;AAAA,QACA,UAAU,CAAC;AAAA,QACX,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,6BAA6B;AAAA,QAC7B,yBAAyB;AAAA,QACzB,kBAAkB;AAAA,QAClB,mBAAmB,QAAQ,iBAAiB;AAC3C,cAAI,OAAO;AAAA,YACV,UAAU,OAAO;AAAA,YACjB,eAAe;AAAA,YACf,gBAAgB;AAAA,YAChB,yBAAyB,OAAO;AAAA,YAChC,6BAA6B,iBAAiB;AAAA,UAC/C,EAAE;AAAA,QACH;AAAA,QACA,wBAAwB;AACvB,cAAI,OAAO;AAAA,YACV,UAAU,CAAC;AAAA,YACX,eAAe;AAAA,YACf,gBAAgB;AAAA,YAChB,yBAAyB;AAAA,YACzB,6BAA6B;AAAA,UAC9B,EAAE;AAAA,QACH;AAAA,QACA,mBAAmB,iBAAiB;AACnC,cAAI,OAAO;AAAA,YACV,gBAAgB;AAAA,YAChB,6BAA6B,gBAAgB;AAAA,UAC9C,EAAE;AAAA,QACH;AAAA,QACA,oBAAoB,gBAAgB;AACnC,cAAI,OAAO,EAAE,SAAS,eAAe,EAAE;AAAA,QACxC;AAAA,QACA,sBAAsB,gBAAgB,oBAAoB;AACzD,cAAI,uBAAuB,IAAI,EAAE,eAAe;AAC/C,gBAAI,OAAO;AAAA,cACV,SAAS;AAAA,cACT,UAAU,CAAC;AAAA,cACX,eAAe;AAAA,cACf,gBAAgB;AAAA,cAChB,yBAAyB;AAAA,cACzB,6BAA6B;AAAA,YAC9B,EAAE;AAAA,UACH,OAAO;AACN,gBAAI,OAAO,EAAE,SAAS,eAAe,EAAE;AAAA,UACxC;AAAA,QACD;AAAA,QACA,qBAAqB,UAAU;AAC9B,gBAAM,iBAAiB,IAAI,EAAE;AAC7B,gBAAM,kCAAkC,iBACrC,SAAS,KAAK,CAAC,EAAE,QAAQ,MAAM,YAAY,eAAe,OAAO,IACjE;AAEH,cAAI,OAAO;AAAA,YACV;AAAA,YACA,gBAAgB,kCAAkC,iBAAiB,SAAS,CAAC;AAAA,UAC9E,EAAE;AAAA,QACH;AAAA,MACD;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,SAAS,kBAAkB,MAAM,OAAO;AAAA,QACxC,YAAY,CAAC,EAAE,yBAAyB,4BAA4B,OAAO;AAAA,UAC1E;AAAA,UACA;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|