@iota/dapp-kit 0.1.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/README.md +14 -12
- package/dist/cjs/components/AccountDropdownMenu.css +4 -5
- package/dist/cjs/components/AccountDropdownMenu.css.css.map +1 -1
- package/dist/cjs/components/AccountDropdownMenu.css.map +3 -3
- package/dist/cjs/components/AccountDropdownMenu.d.ts +3 -1
- package/dist/cjs/components/AccountDropdownMenu.js +50 -106
- package/dist/cjs/components/AccountDropdownMenu.js.map +4 -4
- package/dist/cjs/components/ConnectButton.css +5 -10
- package/dist/cjs/components/ConnectButton.css.map +3 -3
- package/dist/cjs/components/ConnectButton.d.ts +5 -3
- package/dist/cjs/components/ConnectButton.js +129 -179
- package/dist/cjs/components/ConnectButton.js.map +4 -4
- package/dist/cjs/components/IotaClientProvider.d.ts +0 -1
- package/dist/cjs/components/WalletProvider.d.ts +3 -3
- package/dist/cjs/components/WalletProvider.js +115 -75
- package/dist/cjs/components/WalletProvider.js.map +2 -2
- package/dist/cjs/components/connect-modal/ConnectModal.css +5 -10
- package/dist/cjs/components/connect-modal/ConnectModal.css.css.map +1 -1
- package/dist/cjs/components/connect-modal/ConnectModal.css.map +3 -3
- package/dist/cjs/components/connect-modal/ConnectModal.js +15 -9
- package/dist/cjs/components/connect-modal/ConnectModal.js.map +3 -3
- package/dist/cjs/components/connect-modal/InfoSection.css.css.map +1 -1
- package/dist/cjs/components/connect-modal/InfoSection.css.map +1 -1
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css +4 -5
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css.map +1 -1
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.map +3 -3
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.js.map +2 -2
- package/dist/cjs/components/connect-modal/views/GetTheWallet.css +78 -0
- package/dist/cjs/components/connect-modal/views/GetTheWallet.css.css +35 -0
- package/dist/cjs/components/connect-modal/views/GetTheWallet.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/GetTheWallet.css.d.ts +5 -0
- package/dist/cjs/components/connect-modal/views/GetTheWallet.css.js +35 -0
- package/dist/cjs/components/connect-modal/views/GetTheWallet.css.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/GetTheWallet.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/GetTheWallet.d.ts +1 -0
- package/dist/cjs/components/connect-modal/views/GetTheWallet.js +145 -0
- package/dist/cjs/components/connect-modal/views/GetTheWallet.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.css +4 -5
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.css.map +1 -1
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.map +3 -3
- package/dist/cjs/components/connect-modal/views/GettingStarted.js +2 -2
- package/dist/cjs/components/connect-modal/views/GettingStarted.js.map +1 -1
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css.map +1 -1
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.map +1 -1
- package/dist/cjs/components/connect-modal/views/index.css +205 -0
- package/dist/cjs/components/connect-modal/views/index.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/index.d.ts +3 -0
- package/dist/cjs/components/connect-modal/views/index.js +286 -0
- package/dist/cjs/components/connect-modal/views/index.js.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css.map +1 -1
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.map +1 -1
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.js +1 -1
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.js.map +2 -2
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css.map +1 -1
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.map +1 -1
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js.map +1 -1
- package/dist/cjs/components/icons/ArrowRightIcon.d.ts +2 -0
- package/dist/cjs/components/icons/ArrowRightIcon.js +47 -0
- package/dist/cjs/components/icons/ArrowRightIcon.js.map +7 -0
- package/dist/cjs/components/icons/ArrowTopRightIcon.d.ts +2 -0
- package/dist/cjs/components/icons/ArrowTopRightIcon.js +47 -0
- package/dist/cjs/components/icons/ArrowTopRightIcon.js.map +7 -0
- package/dist/cjs/components/styling/InjectedThemeStyles.js +15 -8
- package/dist/cjs/components/styling/InjectedThemeStyles.js.map +2 -2
- package/dist/cjs/components/styling/StyleMarker.css.css.map +1 -1
- package/dist/cjs/components/styling/StyleMarker.css.map +1 -1
- package/dist/cjs/components/styling/StyleMarker.d.ts +0 -1
- package/dist/cjs/components/styling/StyleMarker.js +2 -2
- package/dist/cjs/components/styling/StyleMarker.js.map +3 -3
- package/dist/cjs/components/ui/Button.css +4 -5
- package/dist/cjs/components/ui/Button.css.css +4 -5
- package/dist/cjs/components/ui/Button.css.css.map +3 -3
- package/dist/cjs/components/ui/Button.css.d.ts +0 -1
- package/dist/cjs/components/ui/Button.css.js.map +1 -1
- package/dist/cjs/components/ui/Button.css.map +3 -3
- package/dist/cjs/components/ui/Button.d.ts +1 -1
- package/dist/cjs/components/ui/Button.js.map +1 -1
- package/dist/cjs/components/ui/Heading.css.css.map +1 -1
- package/dist/cjs/components/ui/Heading.css.map +1 -1
- package/dist/cjs/components/ui/Heading.d.ts +0 -1
- package/dist/cjs/components/ui/IconButton.css +1 -5
- package/dist/cjs/components/ui/IconButton.css.css +1 -5
- package/dist/cjs/components/ui/IconButton.css.css.map +3 -3
- package/dist/cjs/components/ui/IconButton.css.js.map +1 -1
- package/dist/cjs/components/ui/IconButton.css.map +3 -3
- package/dist/cjs/components/ui/IconButton.d.ts +1 -1
- package/dist/cjs/components/ui/IconButton.js.map +1 -1
- package/dist/cjs/components/ui/Text.css.css.map +1 -1
- package/dist/cjs/components/ui/Text.css.map +1 -1
- package/dist/cjs/components/ui/Text.d.ts +0 -1
- package/dist/cjs/constants/styleDataAttribute.js.map +1 -1
- package/dist/cjs/constants/walletDefaults.d.ts +3 -2
- package/dist/cjs/constants/walletDefaults.js +8 -6
- package/dist/cjs/constants/walletDefaults.js.map +2 -2
- package/dist/cjs/constants/walletMutationKeys.d.ts +3 -2
- package/dist/cjs/constants/walletMutationKeys.js +4 -3
- package/dist/cjs/constants/walletMutationKeys.js.map +2 -2
- package/dist/cjs/contexts/walletContext.d.ts +1 -2
- package/dist/cjs/hooks/useIotaClientInfiniteQuery.js.map +2 -2
- package/dist/cjs/hooks/useIotaClientQuery.js +3 -1
- package/dist/cjs/hooks/useIotaClientQuery.js.map +2 -2
- package/dist/cjs/hooks/wallet/useAutoConnectWallet.js +17 -7
- package/dist/cjs/hooks/wallet/useAutoConnectWallet.js.map +2 -2
- package/dist/cjs/hooks/wallet/useConnectWallet.js +10 -4
- package/dist/cjs/hooks/wallet/useConnectWallet.js.map +2 -2
- package/dist/cjs/hooks/wallet/useCurrentWallet.d.ts +3 -0
- package/dist/cjs/hooks/wallet/useCurrentWallet.js +7 -3
- package/dist/cjs/hooks/wallet/useCurrentWallet.js.map +2 -2
- package/dist/cjs/hooks/wallet/useDisconnectWallet.js +11 -6
- package/dist/cjs/hooks/wallet/useDisconnectWallet.js.map +2 -2
- package/dist/cjs/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
- package/dist/cjs/hooks/wallet/{useSignTransactionBlock.js → useReportTransactionEffects.js} +41 -37
- package/dist/cjs/hooks/wallet/useReportTransactionEffects.js.map +7 -0
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.d.ts +29 -0
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js +252 -0
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
- package/dist/cjs/hooks/wallet/useSignPersonalMessage.js +21 -27
- package/dist/cjs/hooks/wallet/useSignPersonalMessage.js.map +2 -2
- package/dist/cjs/hooks/wallet/useSignTransaction.d.ts +18 -0
- package/dist/cjs/hooks/wallet/{useSignAndExecuteTransactionBlock.js → useSignTransaction.js} +86 -46
- package/dist/cjs/hooks/wallet/useSignTransaction.js.map +7 -0
- package/dist/cjs/hooks/wallet/useSwitchAccount.js +11 -6
- package/dist/cjs/hooks/wallet/useSwitchAccount.js.map +2 -2
- package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js +45 -33
- package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js.map +2 -2
- package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js +7 -3
- package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js.map +2 -2
- package/dist/cjs/hooks/wallet/useWalletsChanged.d.ts +1 -1
- package/dist/cjs/hooks/wallet/useWalletsChanged.js +7 -6
- package/dist/cjs/hooks/wallet/useWalletsChanged.js.map +2 -2
- package/dist/cjs/index.css +5 -10
- package/dist/cjs/index.css.map +3 -3
- package/dist/cjs/index.d.ts +4 -3
- package/dist/cjs/index.js +437 -287
- package/dist/cjs/index.js.map +4 -4
- package/dist/cjs/themes/darkTheme.d.ts +2 -0
- package/dist/cjs/themes/darkTheme.js +88 -0
- package/dist/cjs/themes/darkTheme.js.map +7 -0
- package/dist/cjs/themes/lightTheme.js +13 -8
- package/dist/cjs/themes/lightTheme.js.map +2 -2
- package/dist/cjs/themes/themeContract.d.ts +22 -12
- package/dist/cjs/themes/themeContract.js +13 -8
- package/dist/cjs/themes/themeContract.js.map +2 -2
- package/dist/cjs/types.d.ts +1 -1
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/utils/assertUnreachable.js.map +1 -1
- package/dist/cjs/utils/walletUtils.d.ts +2 -2
- package/dist/cjs/utils/walletUtils.js +2 -2
- package/dist/cjs/utils/walletUtils.js.map +2 -2
- package/dist/cjs/walletStore.d.ts +3 -2
- package/dist/cjs/walletStore.js +8 -4
- package/dist/cjs/walletStore.js.map +2 -2
- package/dist/esm/components/AccountDropdownMenu.css +4 -5
- package/dist/esm/components/AccountDropdownMenu.css.css.map +1 -1
- package/dist/esm/components/AccountDropdownMenu.css.map +3 -3
- package/dist/esm/components/AccountDropdownMenu.d.ts +3 -1
- package/dist/esm/components/AccountDropdownMenu.js +39 -95
- package/dist/esm/components/AccountDropdownMenu.js.map +4 -4
- package/dist/esm/components/ConnectButton.css +5 -10
- package/dist/esm/components/ConnectButton.css.map +3 -3
- package/dist/esm/components/ConnectButton.d.ts +5 -3
- package/dist/esm/components/ConnectButton.js +101 -151
- package/dist/esm/components/ConnectButton.js.map +4 -4
- package/dist/esm/components/IotaClientProvider.d.ts +0 -1
- package/dist/esm/components/WalletProvider.d.ts +3 -3
- package/dist/esm/components/WalletProvider.js +114 -74
- package/dist/esm/components/WalletProvider.js.map +2 -2
- package/dist/esm/components/connect-modal/ConnectModal.css +5 -10
- package/dist/esm/components/connect-modal/ConnectModal.css.css.map +1 -1
- package/dist/esm/components/connect-modal/ConnectModal.css.map +3 -3
- package/dist/esm/components/connect-modal/ConnectModal.js +15 -9
- package/dist/esm/components/connect-modal/ConnectModal.js.map +3 -3
- package/dist/esm/components/connect-modal/InfoSection.css.css.map +1 -1
- package/dist/esm/components/connect-modal/InfoSection.css.map +1 -1
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css +4 -5
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css.map +1 -1
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.map +3 -3
- package/dist/esm/components/connect-modal/views/ConnectionStatus.js.map +2 -2
- package/dist/esm/components/connect-modal/views/GetTheWallet.css +78 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.css.css +35 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.css.css.map +7 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.css.d.ts +5 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.css.js +14 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.css.js.map +7 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.css.map +7 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.d.ts +1 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.js +112 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.js.map +7 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.css +4 -5
- package/dist/esm/components/connect-modal/views/GettingStarted.css.css.map +1 -1
- package/dist/esm/components/connect-modal/views/GettingStarted.css.map +3 -3
- package/dist/esm/components/connect-modal/views/GettingStarted.js +2 -2
- package/dist/esm/components/connect-modal/views/GettingStarted.js.map +1 -1
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css.map +1 -1
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.map +1 -1
- package/dist/esm/components/connect-modal/views/index.css +205 -0
- package/dist/esm/components/connect-modal/views/index.css.map +7 -0
- package/dist/esm/components/connect-modal/views/index.d.ts +3 -0
- package/dist/esm/components/connect-modal/views/index.js +253 -0
- package/dist/esm/components/connect-modal/views/index.js.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css.map +1 -1
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.map +1 -1
- package/dist/esm/components/connect-modal/wallet-list/WalletList.js +1 -1
- package/dist/esm/components/connect-modal/wallet-list/WalletList.js.map +2 -2
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css.map +1 -1
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.map +1 -1
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js.map +1 -1
- package/dist/esm/components/icons/ArrowRightIcon.d.ts +2 -0
- package/dist/esm/components/icons/ArrowRightIcon.js +26 -0
- package/dist/esm/components/icons/ArrowRightIcon.js.map +7 -0
- package/dist/esm/components/icons/ArrowTopRightIcon.d.ts +2 -0
- package/dist/esm/components/icons/ArrowTopRightIcon.js +26 -0
- package/dist/esm/components/icons/ArrowTopRightIcon.js.map +7 -0
- package/dist/esm/components/styling/InjectedThemeStyles.js +15 -8
- package/dist/esm/components/styling/InjectedThemeStyles.js.map +2 -2
- package/dist/esm/components/styling/StyleMarker.css.css.map +1 -1
- package/dist/esm/components/styling/StyleMarker.css.js +2 -2
- package/dist/esm/components/styling/StyleMarker.css.js.map +3 -3
- package/dist/esm/components/styling/StyleMarker.css.map +1 -1
- package/dist/esm/components/styling/StyleMarker.d.ts +0 -1
- package/dist/esm/components/styling/StyleMarker.js +2 -2
- package/dist/esm/components/styling/StyleMarker.js.map +3 -3
- package/dist/esm/components/ui/Button.css +4 -5
- package/dist/esm/components/ui/Button.css.css +4 -5
- package/dist/esm/components/ui/Button.css.css.map +3 -3
- package/dist/esm/components/ui/Button.css.d.ts +0 -1
- package/dist/esm/components/ui/Button.css.js.map +1 -1
- package/dist/esm/components/ui/Button.css.map +3 -3
- package/dist/esm/components/ui/Button.d.ts +1 -1
- package/dist/esm/components/ui/Button.js.map +1 -1
- package/dist/esm/components/ui/Heading.css.css.map +1 -1
- package/dist/esm/components/ui/Heading.css.map +1 -1
- package/dist/esm/components/ui/Heading.d.ts +0 -1
- package/dist/esm/components/ui/IconButton.css +1 -5
- package/dist/esm/components/ui/IconButton.css.css +1 -5
- package/dist/esm/components/ui/IconButton.css.css.map +3 -3
- package/dist/esm/components/ui/IconButton.css.js.map +1 -1
- package/dist/esm/components/ui/IconButton.css.map +3 -3
- package/dist/esm/components/ui/IconButton.d.ts +1 -1
- package/dist/esm/components/ui/IconButton.js.map +1 -1
- package/dist/esm/components/ui/Text.css.css.map +1 -1
- package/dist/esm/components/ui/Text.css.map +1 -1
- package/dist/esm/components/ui/Text.d.ts +0 -1
- package/dist/esm/constants/styleDataAttribute.js.map +1 -1
- package/dist/esm/constants/walletDefaults.d.ts +3 -2
- package/dist/esm/constants/walletDefaults.js +8 -6
- package/dist/esm/constants/walletDefaults.js.map +2 -2
- package/dist/esm/constants/walletMutationKeys.d.ts +3 -2
- package/dist/esm/constants/walletMutationKeys.js +4 -3
- package/dist/esm/constants/walletMutationKeys.js.map +2 -2
- package/dist/esm/contexts/walletContext.d.ts +1 -2
- package/dist/esm/hooks/useIotaClientInfiniteQuery.js.map +2 -2
- package/dist/esm/hooks/useIotaClientQuery.js +3 -1
- package/dist/esm/hooks/useIotaClientQuery.js.map +2 -2
- package/dist/esm/hooks/wallet/useAutoConnectWallet.js +17 -7
- package/dist/esm/hooks/wallet/useAutoConnectWallet.js.map +2 -2
- package/dist/esm/hooks/wallet/useConnectWallet.js +10 -4
- package/dist/esm/hooks/wallet/useConnectWallet.js.map +2 -2
- package/dist/esm/hooks/wallet/useCurrentWallet.d.ts +3 -0
- package/dist/esm/hooks/wallet/useCurrentWallet.js +7 -3
- package/dist/esm/hooks/wallet/useCurrentWallet.js.map +2 -2
- package/dist/esm/hooks/wallet/useDisconnectWallet.js +11 -6
- package/dist/esm/hooks/wallet/useDisconnectWallet.js.map +2 -2
- package/dist/esm/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
- package/dist/esm/hooks/wallet/{useSignTransactionBlock.js → useReportTransactionEffects.js} +38 -34
- package/dist/esm/hooks/wallet/useReportTransactionEffects.js.map +7 -0
- package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.d.ts +29 -0
- package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js +231 -0
- package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
- package/dist/esm/hooks/wallet/useSignPersonalMessage.js +21 -27
- package/dist/esm/hooks/wallet/useSignPersonalMessage.js.map +2 -2
- package/dist/esm/hooks/wallet/useSignTransaction.d.ts +18 -0
- package/dist/esm/hooks/wallet/{useSignAndExecuteTransactionBlock.js → useSignTransaction.js} +83 -43
- package/dist/esm/hooks/wallet/useSignTransaction.js.map +7 -0
- package/dist/esm/hooks/wallet/useSwitchAccount.js +11 -6
- package/dist/esm/hooks/wallet/useSwitchAccount.js.map +2 -2
- package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js +44 -32
- package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js.map +2 -2
- package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js +7 -3
- package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js.map +2 -2
- package/dist/esm/hooks/wallet/useWalletsChanged.d.ts +1 -1
- package/dist/esm/hooks/wallet/useWalletsChanged.js +7 -6
- package/dist/esm/hooks/wallet/useWalletsChanged.js.map +2 -2
- package/dist/esm/index.css +5 -10
- package/dist/esm/index.css.map +3 -3
- package/dist/esm/index.d.ts +4 -3
- package/dist/esm/index.js +424 -274
- package/dist/esm/index.js.map +4 -4
- package/dist/esm/themes/darkTheme.d.ts +2 -0
- package/dist/esm/themes/darkTheme.js +67 -0
- package/dist/esm/themes/darkTheme.js.map +7 -0
- package/dist/esm/themes/lightTheme.js +13 -8
- package/dist/esm/themes/lightTheme.js.map +2 -2
- package/dist/esm/themes/themeContract.d.ts +22 -12
- package/dist/esm/themes/themeContract.js +13 -8
- package/dist/esm/themes/themeContract.js.map +2 -2
- package/dist/esm/types.d.ts +1 -1
- package/dist/esm/utils/assertUnreachable.js.map +1 -1
- package/dist/esm/utils/walletUtils.d.ts +2 -2
- package/dist/esm/utils/walletUtils.js +2 -2
- package/dist/esm/utils/walletUtils.js.map +2 -2
- package/dist/esm/walletStore.d.ts +3 -2
- package/dist/esm/walletStore.js +8 -4
- package/dist/esm/walletStore.js.map +2 -2
- package/dist/index.css/package.json +5 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +27 -28
- package/src/components/AccountDropdownMenu.tsx +5 -12
- package/src/components/ConnectButton.tsx +8 -4
- package/src/components/WalletProvider.tsx +9 -9
- package/src/components/connect-modal/views/GetTheWallet.css.ts +38 -0
- package/src/components/connect-modal/views/GetTheWallet.tsx +25 -0
- package/src/components/connect-modal/views/GettingStarted.tsx +3 -3
- package/src/components/connect-modal/views/index.ts +6 -0
- package/src/components/connect-modal/wallet-list/WalletList.tsx +1 -1
- package/src/components/icons/ArrowRightIcon.tsx +23 -0
- package/src/components/icons/ArrowTopRightIcon.tsx +23 -0
- package/src/components/styling/InjectedThemeStyles.tsx +4 -0
- package/src/components/ui/Button.css.ts +3 -5
- package/src/components/ui/IconButton.css.ts +0 -3
- package/src/constants/walletDefaults.ts +11 -5
- package/src/constants/walletMutationKeys.ts +3 -2
- package/src/hooks/useIotaClientInfiniteQuery.ts +2 -1
- package/src/hooks/useIotaClientQuery.ts +3 -1
- package/src/hooks/wallet/useAutoConnectWallet.ts +1 -1
- package/src/hooks/wallet/useConnectWallet.ts +6 -1
- package/src/hooks/wallet/useCurrentWallet.ts +4 -0
- package/src/hooks/wallet/useReportTransactionEffects.ts +87 -0
- package/src/hooks/wallet/useSignAndExecuteTransaction.ts +165 -0
- package/src/hooks/wallet/useSignPersonalMessage.ts +11 -25
- package/src/hooks/wallet/useSignTransaction.ts +117 -0
- package/src/hooks/wallet/useUnsafeBurnerWallet.ts +41 -18
- package/src/hooks/wallet/useWalletsChanged.ts +5 -4
- package/src/index.ts +4 -3
- package/src/themes/darkTheme.ts +69 -0
- package/src/themes/lightTheme.ts +11 -6
- package/src/themes/themeContract.ts +11 -6
- package/src/types.ts +1 -1
- package/src/utils/walletUtils.ts +8 -3
- package/src/walletStore.ts +12 -1
- package/dist/cjs/hooks/useResolveIotaNSNames.d.ts +0 -3
- package/dist/cjs/hooks/useResolveIotaNSNames.js +0 -83
- package/dist/cjs/hooks/useResolveIotaNSNames.js.map +0 -7
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.d.ts +0 -15
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +0 -7
- package/dist/cjs/hooks/wallet/useSignTransactionBlock.d.ts +0 -13
- package/dist/cjs/hooks/wallet/useSignTransactionBlock.js.map +0 -7
- package/dist/esm/hooks/useResolveIotaNSNames.d.ts +0 -3
- package/dist/esm/hooks/useResolveIotaNSNames.js +0 -60
- package/dist/esm/hooks/useResolveIotaNSNames.js.map +0 -7
- package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.d.ts +0 -15
- package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +0 -7
- package/dist/esm/hooks/wallet/useSignTransactionBlock.d.ts +0 -13
- package/dist/esm/hooks/wallet/useSignTransactionBlock.js.map +0 -7
- package/src/hooks/useResolveIotaNSNames.ts +0 -31
- package/src/hooks/wallet/useSignAndExecuteTransactionBlock.ts +0 -117
- package/src/hooks/wallet/useSignTransactionBlock.ts +0 -85
package/dist/cjs/index.js
CHANGED
|
@@ -5,6 +5,9 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
7
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __typeError = (msg) => {
|
|
9
|
+
throw TypeError(msg);
|
|
10
|
+
};
|
|
8
11
|
var __esm = (fn, res) => function __init() {
|
|
9
12
|
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
10
13
|
};
|
|
@@ -32,22 +35,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
32
35
|
mod
|
|
33
36
|
));
|
|
34
37
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
35
|
-
var __accessCheck = (obj, member, msg) =>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
};
|
|
39
|
-
var __privateGet = (obj, member, getter) => {
|
|
40
|
-
__accessCheck(obj, member, "read from private field");
|
|
41
|
-
return getter ? getter.call(obj) : member.get(obj);
|
|
42
|
-
};
|
|
43
|
-
var __privateAdd = (obj, member, value) => {
|
|
44
|
-
if (member.has(obj))
|
|
45
|
-
throw TypeError("Cannot add the same private member more than once");
|
|
46
|
-
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
47
|
-
};
|
|
38
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
39
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
40
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
48
41
|
|
|
49
42
|
// vanilla-extract-css-ns:src/components/styling/StyleMarker.css.ts.vanilla.css?source=OndoZXJlKCopIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGNvbG9yOiB2YXIoLS1kYXBwLWtpdC1jb2xvcnMtYm9keSk7CiAgZm9udC1mYW1pbHk6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udEZhbWlseSk7CiAgZm9udC1zaXplOiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1ub3JtYWwpOwogIGZvbnQtc3R5bGU6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udFN0eWxlKTsKICBmb250LXdlaWdodDogdmFyKC0tZGFwcC1raXQtZm9udFdlaWdodHMtbm9ybWFsKTsKICBsaW5lLWhlaWdodDogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1saW5lSGVpZ2h0KTsKICBsZXR0ZXItc3BhY2luZzogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1sZXR0ZXJTcGFjaW5nKTsKfQo6d2hlcmUoYnV0dG9uKSB7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7CiAgY29sb3I6IGluaGVyaXQ7CiAgYm9yZGVyOiAwOwogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwOwp9Cjp3aGVyZShhKSB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGNvbG9yOiBpbmhlcml0OwogIG91dGxpbmU6IG5vbmU7Cn0KOndoZXJlKG9sLCB1bCkgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KOndoZXJlKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYpIHsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CiAgbWFyZ2luOiAwOwp9
|
|
50
|
-
var
|
|
43
|
+
var init_StyleMarker_css_ts_vanilla = __esm({
|
|
51
44
|
"vanilla-extract-css-ns:src/components/styling/StyleMarker.css.ts.vanilla.css?source=OndoZXJlKCopIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGNvbG9yOiB2YXIoLS1kYXBwLWtpdC1jb2xvcnMtYm9keSk7CiAgZm9udC1mYW1pbHk6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udEZhbWlseSk7CiAgZm9udC1zaXplOiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1ub3JtYWwpOwogIGZvbnQtc3R5bGU6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udFN0eWxlKTsKICBmb250LXdlaWdodDogdmFyKC0tZGFwcC1raXQtZm9udFdlaWdodHMtbm9ybWFsKTsKICBsaW5lLWhlaWdodDogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1saW5lSGVpZ2h0KTsKICBsZXR0ZXItc3BhY2luZzogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1sZXR0ZXJTcGFjaW5nKTsKfQo6d2hlcmUoYnV0dG9uKSB7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7CiAgY29sb3I6IGluaGVyaXQ7CiAgYm9yZGVyOiAwOwogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwOwp9Cjp3aGVyZShhKSB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGNvbG9yOiBpbmhlcml0OwogIG91dGxpbmU6IG5vbmU7Cn0KOndoZXJlKG9sLCB1bCkgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KOndoZXJlKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYpIHsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CiAgbWFyZ2luOiAwOwp9"() {
|
|
52
45
|
}
|
|
53
46
|
});
|
|
@@ -56,7 +49,7 @@ var init_ = __esm({
|
|
|
56
49
|
var require_StyleMarker_css = __commonJS({
|
|
57
50
|
"src/components/styling/StyleMarker.css.ts"() {
|
|
58
51
|
"use strict";
|
|
59
|
-
|
|
52
|
+
init_StyleMarker_css_ts_vanilla();
|
|
60
53
|
}
|
|
61
54
|
});
|
|
62
55
|
|
|
@@ -69,6 +62,7 @@ __export(src_exports, {
|
|
|
69
62
|
IotaClientProvider: () => IotaClientProvider,
|
|
70
63
|
WalletProvider: () => WalletProvider,
|
|
71
64
|
createNetworkConfig: () => createNetworkConfig,
|
|
65
|
+
darkTheme: () => darkTheme,
|
|
72
66
|
lightTheme: () => lightTheme,
|
|
73
67
|
useAccounts: () => useAccounts,
|
|
74
68
|
useAutoConnectWallet: () => useAutoConnectWallet,
|
|
@@ -82,10 +76,10 @@ __export(src_exports, {
|
|
|
82
76
|
useIotaClientMutation: () => useIotaClientMutation,
|
|
83
77
|
useIotaClientQueries: () => useIotaClientQueries,
|
|
84
78
|
useIotaClientQuery: () => useIotaClientQuery,
|
|
85
|
-
|
|
86
|
-
|
|
79
|
+
useReportTransactionEffects: () => useReportTransactionEffects,
|
|
80
|
+
useSignAndExecuteTransaction: () => useSignAndExecuteTransaction,
|
|
87
81
|
useSignPersonalMessage: () => useSignPersonalMessage,
|
|
88
|
-
|
|
82
|
+
useSignTransaction: () => useSignTransaction,
|
|
89
83
|
useSwitchAccount: () => useSwitchAccount,
|
|
90
84
|
useWallets: () => useWallets
|
|
91
85
|
});
|
|
@@ -107,9 +101,10 @@ var walletMutationKeys = {
|
|
|
107
101
|
autoconnectWallet: formMutationKeyFn("autoconnect-wallet"),
|
|
108
102
|
disconnectWallet: formMutationKeyFn("disconnect-wallet"),
|
|
109
103
|
signPersonalMessage: formMutationKeyFn("sign-personal-message"),
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
switchAccount: formMutationKeyFn("switch-account")
|
|
104
|
+
signTransaction: formMutationKeyFn("sign-transaction"),
|
|
105
|
+
signAndExecuteTransaction: formMutationKeyFn("sign-and-execute-transaction"),
|
|
106
|
+
switchAccount: formMutationKeyFn("switch-account"),
|
|
107
|
+
reportTransactionEffects: formMutationKeyFn("report-transaction-effects")
|
|
113
108
|
};
|
|
114
109
|
function formMutationKeyFn(baseEntity) {
|
|
115
110
|
return function mutationKeyFn(additionalKeys = []) {
|
|
@@ -153,7 +148,12 @@ function useConnectWallet({
|
|
|
153
148
|
(account) => account.chains.some(import_wallet_standard.isSupportedChain)
|
|
154
149
|
);
|
|
155
150
|
const selectedAccount = getSelectedAccount(connectedIotaAccounts, accountAddress);
|
|
156
|
-
setWalletConnected(
|
|
151
|
+
setWalletConnected(
|
|
152
|
+
wallet,
|
|
153
|
+
connectedIotaAccounts,
|
|
154
|
+
selectedAccount,
|
|
155
|
+
connectResult.supportedIntents
|
|
156
|
+
);
|
|
157
157
|
return { accounts: connectedIotaAccounts };
|
|
158
158
|
} catch (error) {
|
|
159
159
|
setConnectionStatus("disconnected");
|
|
@@ -178,11 +178,11 @@ function getSelectedAccount(connectedAccounts, accountAddress) {
|
|
|
178
178
|
|
|
179
179
|
// src/utils/walletUtils.ts
|
|
180
180
|
var import_wallet_standard2 = require("@iota/wallet-standard");
|
|
181
|
-
function getRegisteredWallets(preferredWallets,
|
|
181
|
+
function getRegisteredWallets(preferredWallets, walletFilter) {
|
|
182
182
|
const walletsApi = (0, import_wallet_standard2.getWallets)();
|
|
183
183
|
const wallets = walletsApi.get();
|
|
184
184
|
const iotaWallets = wallets.filter(
|
|
185
|
-
(wallet) => (0, import_wallet_standard2.isWalletWithRequiredFeatureSet)(wallet
|
|
185
|
+
(wallet) => (0, import_wallet_standard2.isWalletWithRequiredFeatureSet)(wallet) && (!walletFilter || walletFilter(wallet))
|
|
186
186
|
);
|
|
187
187
|
return [
|
|
188
188
|
// Preferred wallets, in order:
|
|
@@ -423,9 +423,9 @@ var installButtonContainer = "GettingStarted_installButtonContainer__qu36t92";
|
|
|
423
423
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
424
424
|
function GettingStarted() {
|
|
425
425
|
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: container4, children: [
|
|
426
|
-
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Heading, { as: "h2", children: "Get Started with
|
|
426
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Heading, { as: "h2", children: "Get Started with IOTA" }),
|
|
427
427
|
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: content2, children: [
|
|
428
|
-
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(InfoSection, { title: "Install the
|
|
428
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(InfoSection, { title: "Install the IOTA Wallet Extension", children: "We recommend pinning IOTA Wallet to your taskbar for quicker access." }),
|
|
429
429
|
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(InfoSection, { title: "Create or Import a Wallet", children: "Be sure to back up your wallet using a secure method. Never share your secret phrase with anyone." }),
|
|
430
430
|
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(InfoSection, { title: "Refresh Your Browser", children: "Once you set up your wallet, refresh this window browser to load up the extension." }),
|
|
431
431
|
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: installButtonContainer, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Button, { variant: "outline", asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
@@ -524,7 +524,7 @@ function WalletList({ selectedWalletName, onPlaceholderClick, onSelect }) {
|
|
|
524
524
|
)) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
525
525
|
WalletListItem,
|
|
526
526
|
{
|
|
527
|
-
name: "
|
|
527
|
+
name: "IOTA Wallet",
|
|
528
528
|
icon: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(IotaIcon, {}),
|
|
529
529
|
onClick: onPlaceholderClick,
|
|
530
530
|
isSelected: true
|
|
@@ -655,109 +655,13 @@ var import_utils = require("@iota/iota-sdk/utils");
|
|
|
655
655
|
var DropdownMenu = __toESM(require("@radix-ui/react-dropdown-menu"));
|
|
656
656
|
var import_clsx7 = __toESM(require("clsx"));
|
|
657
657
|
|
|
658
|
-
// src/hooks/useIotaClientQuery.ts
|
|
659
|
-
var import_react_query2 = require("@tanstack/react-query");
|
|
660
|
-
|
|
661
|
-
// src/hooks/useIotaClient.ts
|
|
662
|
-
var import_react10 = require("react");
|
|
663
|
-
|
|
664
|
-
// src/components/IotaClientProvider.tsx
|
|
665
|
-
var import_client = require("@iota/iota-sdk/client");
|
|
666
|
-
var import_react9 = require("react");
|
|
667
|
-
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
668
|
-
var IotaClientContext = (0, import_react9.createContext)(null);
|
|
669
|
-
var DEFAULT_NETWORKS = {
|
|
670
|
-
localnet: { url: (0, import_client.getNetwork)(import_client.Network.Local).url }
|
|
671
|
-
};
|
|
672
|
-
var DEFAULT_CREATE_CLIENT = function createClient(_name, config) {
|
|
673
|
-
if ((0, import_client.isIotaClient)(config)) {
|
|
674
|
-
return config;
|
|
675
|
-
}
|
|
676
|
-
return new import_client.IotaClient(config);
|
|
677
|
-
};
|
|
678
|
-
function IotaClientProvider(props) {
|
|
679
|
-
const { onNetworkChange, network, children } = props;
|
|
680
|
-
const networks = props.networks ?? DEFAULT_NETWORKS;
|
|
681
|
-
const createClient2 = props.createClient ?? DEFAULT_CREATE_CLIENT;
|
|
682
|
-
const [selectedNetwork, setSelectedNetwork] = (0, import_react9.useState)(
|
|
683
|
-
props.network ?? props.defaultNetwork ?? Object.keys(networks)[0]
|
|
684
|
-
);
|
|
685
|
-
const currentNetwork = props.network ?? selectedNetwork;
|
|
686
|
-
const client = (0, import_react9.useMemo)(() => {
|
|
687
|
-
return createClient2(currentNetwork, networks[currentNetwork]);
|
|
688
|
-
}, [createClient2, currentNetwork, networks]);
|
|
689
|
-
const ctx = (0, import_react9.useMemo)(() => {
|
|
690
|
-
return {
|
|
691
|
-
client,
|
|
692
|
-
networks,
|
|
693
|
-
network: currentNetwork,
|
|
694
|
-
config: networks[currentNetwork] instanceof import_client.IotaClient ? null : networks[currentNetwork],
|
|
695
|
-
selectNetwork: (newNetwork) => {
|
|
696
|
-
if (currentNetwork === newNetwork) {
|
|
697
|
-
return;
|
|
698
|
-
}
|
|
699
|
-
if (!network && newNetwork !== selectedNetwork) {
|
|
700
|
-
setSelectedNetwork(newNetwork);
|
|
701
|
-
}
|
|
702
|
-
onNetworkChange?.(newNetwork);
|
|
703
|
-
}
|
|
704
|
-
};
|
|
705
|
-
}, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);
|
|
706
|
-
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(IotaClientContext.Provider, { value: ctx, children });
|
|
707
|
-
}
|
|
708
|
-
|
|
709
|
-
// src/hooks/useIotaClient.ts
|
|
710
|
-
function useIotaClientContext() {
|
|
711
|
-
const iotaClient = (0, import_react10.useContext)(IotaClientContext);
|
|
712
|
-
if (!iotaClient) {
|
|
713
|
-
throw new Error(
|
|
714
|
-
"Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider"
|
|
715
|
-
);
|
|
716
|
-
}
|
|
717
|
-
return iotaClient;
|
|
718
|
-
}
|
|
719
|
-
function useIotaClient() {
|
|
720
|
-
return useIotaClientContext().client;
|
|
721
|
-
}
|
|
722
|
-
|
|
723
|
-
// src/hooks/useIotaClientQuery.ts
|
|
724
|
-
function useIotaClientQuery(...args) {
|
|
725
|
-
const [method, params, { queryKey = [], ...options } = {}] = args;
|
|
726
|
-
const iotaContext = useIotaClientContext();
|
|
727
|
-
return (0, import_react_query2.useQuery)({
|
|
728
|
-
...options,
|
|
729
|
-
queryKey: [iotaContext.network, method, params, ...queryKey],
|
|
730
|
-
queryFn: async () => {
|
|
731
|
-
return await iotaContext.client[method](params);
|
|
732
|
-
}
|
|
733
|
-
});
|
|
734
|
-
}
|
|
735
|
-
|
|
736
|
-
// src/hooks/useResolveIotaNSNames.ts
|
|
737
|
-
function useResolveIotaNSName(address, options) {
|
|
738
|
-
return useIotaClientQuery(
|
|
739
|
-
"resolveNameServiceNames",
|
|
740
|
-
{
|
|
741
|
-
address,
|
|
742
|
-
limit: 1
|
|
743
|
-
},
|
|
744
|
-
{
|
|
745
|
-
...options,
|
|
746
|
-
refetchOnWindowFocus: false,
|
|
747
|
-
retry: false,
|
|
748
|
-
select: (data) => data.data.length > 0 ? data.data[0] : null,
|
|
749
|
-
enabled: !!address && options?.enabled !== false
|
|
750
|
-
}
|
|
751
|
-
);
|
|
752
|
-
}
|
|
753
|
-
|
|
754
658
|
// src/hooks/wallet/useAccounts.ts
|
|
755
659
|
function useAccounts() {
|
|
756
660
|
return useWalletStore((state) => state.accounts);
|
|
757
661
|
}
|
|
758
662
|
|
|
759
663
|
// src/hooks/wallet/useDisconnectWallet.ts
|
|
760
|
-
var
|
|
664
|
+
var import_react_query2 = require("@tanstack/react-query");
|
|
761
665
|
|
|
762
666
|
// src/errors/walletErrors.ts
|
|
763
667
|
var WalletNotConnectedError = class extends Error {
|
|
@@ -773,6 +677,7 @@ var WalletAccountNotFoundError = class extends Error {
|
|
|
773
677
|
function useCurrentWallet() {
|
|
774
678
|
const currentWallet = useWalletStore((state) => state.currentWallet);
|
|
775
679
|
const connectionStatus2 = useWalletStore((state) => state.connectionStatus);
|
|
680
|
+
const supportedIntents = useWalletStore((state) => state.supportedIntents);
|
|
776
681
|
switch (connectionStatus2) {
|
|
777
682
|
case "connecting":
|
|
778
683
|
return {
|
|
@@ -780,7 +685,8 @@ function useCurrentWallet() {
|
|
|
780
685
|
currentWallet: null,
|
|
781
686
|
isDisconnected: false,
|
|
782
687
|
isConnecting: true,
|
|
783
|
-
isConnected: false
|
|
688
|
+
isConnected: false,
|
|
689
|
+
supportedIntents: []
|
|
784
690
|
};
|
|
785
691
|
case "disconnected":
|
|
786
692
|
return {
|
|
@@ -788,7 +694,8 @@ function useCurrentWallet() {
|
|
|
788
694
|
currentWallet: null,
|
|
789
695
|
isDisconnected: true,
|
|
790
696
|
isConnecting: false,
|
|
791
|
-
isConnected: false
|
|
697
|
+
isConnected: false,
|
|
698
|
+
supportedIntents: []
|
|
792
699
|
};
|
|
793
700
|
case "connected": {
|
|
794
701
|
return {
|
|
@@ -796,7 +703,8 @@ function useCurrentWallet() {
|
|
|
796
703
|
currentWallet,
|
|
797
704
|
isDisconnected: false,
|
|
798
705
|
isConnecting: false,
|
|
799
|
-
isConnected: true
|
|
706
|
+
isConnected: true,
|
|
707
|
+
supportedIntents
|
|
800
708
|
};
|
|
801
709
|
}
|
|
802
710
|
}
|
|
@@ -809,7 +717,7 @@ function useDisconnectWallet({
|
|
|
809
717
|
} = {}) {
|
|
810
718
|
const { currentWallet } = useCurrentWallet();
|
|
811
719
|
const setWalletDisconnected = useWalletStore((state) => state.setWalletDisconnected);
|
|
812
|
-
return (0,
|
|
720
|
+
return (0, import_react_query2.useMutation)({
|
|
813
721
|
mutationKey: walletMutationKeys.disconnectWallet(mutationKey),
|
|
814
722
|
mutationFn: async () => {
|
|
815
723
|
if (!currentWallet) {
|
|
@@ -830,14 +738,14 @@ function useDisconnectWallet({
|
|
|
830
738
|
}
|
|
831
739
|
|
|
832
740
|
// src/hooks/wallet/useSwitchAccount.ts
|
|
833
|
-
var
|
|
741
|
+
var import_react_query3 = require("@tanstack/react-query");
|
|
834
742
|
function useSwitchAccount({
|
|
835
743
|
mutationKey,
|
|
836
744
|
...mutationOptions
|
|
837
745
|
} = {}) {
|
|
838
746
|
const { currentWallet } = useCurrentWallet();
|
|
839
747
|
const setAccountSwitched = useWalletStore((state) => state.setAccountSwitched);
|
|
840
|
-
return (0,
|
|
748
|
+
return (0, import_react_query3.useMutation)({
|
|
841
749
|
mutationKey: walletMutationKeys.switchAccount(mutationKey),
|
|
842
750
|
mutationFn: async ({ account }) => {
|
|
843
751
|
if (!currentWallet) {
|
|
@@ -866,9 +774,9 @@ var separator = "AccountDropdownMenu_separator__1x0gmpf5";
|
|
|
866
774
|
var switchAccountMenuItem = "AccountDropdownMenu_switchAccountMenuItem__1x0gmpf4";
|
|
867
775
|
|
|
868
776
|
// src/components/icons/CheckIcon.tsx
|
|
869
|
-
var
|
|
777
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
870
778
|
function CheckIcon(props) {
|
|
871
|
-
return /* @__PURE__ */ (0,
|
|
779
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, fill: "none", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
872
780
|
"path",
|
|
873
781
|
{
|
|
874
782
|
fill: "currentColor",
|
|
@@ -878,9 +786,9 @@ function CheckIcon(props) {
|
|
|
878
786
|
}
|
|
879
787
|
|
|
880
788
|
// src/components/icons/ChevronIcon.tsx
|
|
881
|
-
var
|
|
789
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
882
790
|
function ChevronIcon(props) {
|
|
883
|
-
return /* @__PURE__ */ (0,
|
|
791
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, fill: "none", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
884
792
|
"path",
|
|
885
793
|
{
|
|
886
794
|
stroke: "#A0B6C3",
|
|
@@ -893,20 +801,17 @@ function ChevronIcon(props) {
|
|
|
893
801
|
}
|
|
894
802
|
|
|
895
803
|
// src/components/AccountDropdownMenu.tsx
|
|
896
|
-
var
|
|
897
|
-
function AccountDropdownMenu({ currentAccount }) {
|
|
804
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
805
|
+
function AccountDropdownMenu({ currentAccount, size = "lg" }) {
|
|
898
806
|
const { mutate: disconnectWallet } = useDisconnectWallet();
|
|
899
|
-
const { data: domain } = useResolveIotaNSName(
|
|
900
|
-
currentAccount.label ? null : currentAccount.address
|
|
901
|
-
);
|
|
902
807
|
const accounts = useAccounts();
|
|
903
|
-
return /* @__PURE__ */ (0,
|
|
904
|
-
/* @__PURE__ */ (0,
|
|
905
|
-
/* @__PURE__ */ (0,
|
|
906
|
-
/* @__PURE__ */ (0,
|
|
808
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(DropdownMenu.Root, { modal: false, children: [
|
|
809
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Button, { size, className: connectedAccount, children: [
|
|
810
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { mono: true, weight: "bold", children: currentAccount.label ?? (0, import_utils.formatAddress)(currentAccount.address) }),
|
|
811
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ChevronIcon, {})
|
|
907
812
|
] }) }) }),
|
|
908
|
-
/* @__PURE__ */ (0,
|
|
909
|
-
accounts.map((account) => /* @__PURE__ */ (0,
|
|
813
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DropdownMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(StyleMarker, { className: menuContainer, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(DropdownMenu.Content, { className: menuContent, children: [
|
|
814
|
+
accounts.map((account) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
910
815
|
AccountDropdownMenuItem,
|
|
911
816
|
{
|
|
912
817
|
account,
|
|
@@ -914,8 +819,8 @@ function AccountDropdownMenu({ currentAccount }) {
|
|
|
914
819
|
},
|
|
915
820
|
account.address
|
|
916
821
|
)),
|
|
917
|
-
/* @__PURE__ */ (0,
|
|
918
|
-
/* @__PURE__ */ (0,
|
|
822
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DropdownMenu.Separator, { className: separator }),
|
|
823
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
919
824
|
DropdownMenu.Item,
|
|
920
825
|
{
|
|
921
826
|
className: (0, import_clsx7.default)(menuItem),
|
|
@@ -931,35 +836,80 @@ function AccountDropdownMenuItem({
|
|
|
931
836
|
active
|
|
932
837
|
}) {
|
|
933
838
|
const { mutate: switchAccount } = useSwitchAccount();
|
|
934
|
-
|
|
935
|
-
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
839
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
936
840
|
DropdownMenu.Item,
|
|
937
841
|
{
|
|
938
842
|
className: (0, import_clsx7.default)(menuItem, switchAccountMenuItem),
|
|
939
843
|
onSelect: () => switchAccount({ account }),
|
|
940
844
|
children: [
|
|
941
|
-
/* @__PURE__ */ (0,
|
|
942
|
-
active ? /* @__PURE__ */ (0,
|
|
845
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { mono: true, children: account.label ?? (0, import_utils.formatAddress)(account.address) }),
|
|
846
|
+
active ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(CheckIcon, {}) : null
|
|
943
847
|
]
|
|
944
848
|
}
|
|
945
849
|
);
|
|
946
850
|
}
|
|
947
851
|
|
|
948
852
|
// src/components/ConnectButton.tsx
|
|
949
|
-
var
|
|
853
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
950
854
|
function ConnectButton({
|
|
951
855
|
connectText = "Connect Wallet",
|
|
856
|
+
size,
|
|
952
857
|
...buttonProps
|
|
953
858
|
}) {
|
|
954
859
|
const currentAccount = useCurrentAccount();
|
|
955
|
-
return currentAccount ? /* @__PURE__ */ (0,
|
|
860
|
+
return currentAccount ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(AccountDropdownMenu, { currentAccount, size }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
956
861
|
ConnectModal,
|
|
957
862
|
{
|
|
958
|
-
trigger: /* @__PURE__ */ (0,
|
|
863
|
+
trigger: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Button, { ...buttonProps, size, children: connectText }) })
|
|
959
864
|
}
|
|
960
865
|
);
|
|
961
866
|
}
|
|
962
867
|
|
|
868
|
+
// src/components/IotaClientProvider.tsx
|
|
869
|
+
var import_client = require("@iota/iota-sdk/client");
|
|
870
|
+
var import_react9 = require("react");
|
|
871
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
872
|
+
var IotaClientContext = (0, import_react9.createContext)(null);
|
|
873
|
+
var DEFAULT_NETWORKS = {
|
|
874
|
+
localnet: { url: (0, import_client.getNetwork)(import_client.Network.Local).url }
|
|
875
|
+
};
|
|
876
|
+
var DEFAULT_CREATE_CLIENT = function createClient(_name, config) {
|
|
877
|
+
if ((0, import_client.isIotaClient)(config)) {
|
|
878
|
+
return config;
|
|
879
|
+
}
|
|
880
|
+
return new import_client.IotaClient(config);
|
|
881
|
+
};
|
|
882
|
+
function IotaClientProvider(props) {
|
|
883
|
+
const { onNetworkChange, network, children } = props;
|
|
884
|
+
const networks = props.networks ?? DEFAULT_NETWORKS;
|
|
885
|
+
const createClient2 = props.createClient ?? DEFAULT_CREATE_CLIENT;
|
|
886
|
+
const [selectedNetwork, setSelectedNetwork] = (0, import_react9.useState)(
|
|
887
|
+
props.network ?? props.defaultNetwork ?? Object.keys(networks)[0]
|
|
888
|
+
);
|
|
889
|
+
const currentNetwork = props.network ?? selectedNetwork;
|
|
890
|
+
const client = (0, import_react9.useMemo)(() => {
|
|
891
|
+
return createClient2(currentNetwork, networks[currentNetwork]);
|
|
892
|
+
}, [createClient2, currentNetwork, networks]);
|
|
893
|
+
const ctx = (0, import_react9.useMemo)(() => {
|
|
894
|
+
return {
|
|
895
|
+
client,
|
|
896
|
+
networks,
|
|
897
|
+
network: currentNetwork,
|
|
898
|
+
config: networks[currentNetwork] instanceof import_client.IotaClient ? null : networks[currentNetwork],
|
|
899
|
+
selectNetwork: (newNetwork) => {
|
|
900
|
+
if (currentNetwork === newNetwork) {
|
|
901
|
+
return;
|
|
902
|
+
}
|
|
903
|
+
if (!network && newNetwork !== selectedNetwork) {
|
|
904
|
+
setSelectedNetwork(newNetwork);
|
|
905
|
+
}
|
|
906
|
+
onNetworkChange?.(newNetwork);
|
|
907
|
+
}
|
|
908
|
+
};
|
|
909
|
+
}, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);
|
|
910
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(IotaClientContext.Provider, { value: ctx, children });
|
|
911
|
+
}
|
|
912
|
+
|
|
963
913
|
// src/components/WalletProvider.tsx
|
|
964
914
|
var import_react15 = require("react");
|
|
965
915
|
|
|
@@ -980,17 +930,18 @@ function createInMemoryStore() {
|
|
|
980
930
|
}
|
|
981
931
|
|
|
982
932
|
// src/constants/walletDefaults.ts
|
|
983
|
-
var IOTA_WALLET_NAME = "
|
|
933
|
+
var IOTA_WALLET_NAME = "IOTA Wallet";
|
|
984
934
|
var DEFAULT_STORAGE = typeof window !== "undefined" && window.localStorage ? localStorage : createInMemoryStore();
|
|
985
935
|
var DEFAULT_STORAGE_KEY = "iota-dapp-kit:wallet-connection-info";
|
|
986
|
-
var
|
|
987
|
-
|
|
988
|
-
];
|
|
936
|
+
var SIGN_FEATURES = ["iota:signTransaction"];
|
|
937
|
+
var DEFAULT_WALLET_FILTER = (wallet) => SIGN_FEATURES.some((feature) => wallet.features[feature]);
|
|
989
938
|
var DEFAULT_PREFERRED_WALLETS = [IOTA_WALLET_NAME];
|
|
939
|
+
var WALLET_CHROME_EXTENSION_ID = "TODO";
|
|
940
|
+
var WALLET_DOWNLOAD_URL = "https://chromewebstore.google.com/detail/" + WALLET_CHROME_EXTENSION_ID;
|
|
990
941
|
|
|
991
942
|
// src/hooks/wallet/useAutoConnectWallet.ts
|
|
992
|
-
var
|
|
993
|
-
var
|
|
943
|
+
var import_react_query4 = require("@tanstack/react-query");
|
|
944
|
+
var import_react10 = require("react");
|
|
994
945
|
function useAutoConnectWallet() {
|
|
995
946
|
const { mutateAsync: connectWallet } = useConnectWallet();
|
|
996
947
|
const autoConnectEnabled = useWalletStore((state) => state.autoConnectEnabled);
|
|
@@ -1000,11 +951,11 @@ function useAutoConnectWallet() {
|
|
|
1000
951
|
);
|
|
1001
952
|
const wallets = useWallets();
|
|
1002
953
|
const { isConnected } = useCurrentWallet();
|
|
1003
|
-
const [clientOnly, setClientOnly] = (0,
|
|
1004
|
-
(0,
|
|
954
|
+
const [clientOnly, setClientOnly] = (0, import_react10.useState)(false);
|
|
955
|
+
(0, import_react10.useLayoutEffect)(() => {
|
|
1005
956
|
setClientOnly(true);
|
|
1006
957
|
}, []);
|
|
1007
|
-
const { data, isError } = (0,
|
|
958
|
+
const { data, isError } = (0, import_react_query4.useQuery)({
|
|
1008
959
|
queryKey: [
|
|
1009
960
|
"@iota/dapp-kit",
|
|
1010
961
|
"autoconnect",
|
|
@@ -1065,8 +1016,27 @@ function useAutoConnectWallet() {
|
|
|
1065
1016
|
|
|
1066
1017
|
// src/hooks/wallet/useUnsafeBurnerWallet.ts
|
|
1067
1018
|
var import_ed25519 = require("@iota/iota-sdk/keypairs/ed25519");
|
|
1019
|
+
var import_transactions = require("@iota/iota-sdk/transactions");
|
|
1020
|
+
var import_utils2 = require("@iota/iota-sdk/utils");
|
|
1068
1021
|
var import_wallet_standard3 = require("@iota/wallet-standard");
|
|
1069
1022
|
var import_react12 = require("react");
|
|
1023
|
+
|
|
1024
|
+
// src/hooks/useIotaClient.ts
|
|
1025
|
+
var import_react11 = require("react");
|
|
1026
|
+
function useIotaClientContext() {
|
|
1027
|
+
const iotaClient = (0, import_react11.useContext)(IotaClientContext);
|
|
1028
|
+
if (!iotaClient) {
|
|
1029
|
+
throw new Error(
|
|
1030
|
+
"Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider"
|
|
1031
|
+
);
|
|
1032
|
+
}
|
|
1033
|
+
return iotaClient;
|
|
1034
|
+
}
|
|
1035
|
+
function useIotaClient() {
|
|
1036
|
+
return useIotaClientContext().client;
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
// src/hooks/wallet/useUnsafeBurnerWallet.ts
|
|
1070
1040
|
var WALLET_NAME = "Unsafe Burner Wallet";
|
|
1071
1041
|
function useUnsafeBurnerWallet(enabled) {
|
|
1072
1042
|
const iotaClient = useIotaClient();
|
|
@@ -1079,7 +1049,7 @@ function useUnsafeBurnerWallet(enabled) {
|
|
|
1079
1049
|
}, [enabled, iotaClient]);
|
|
1080
1050
|
}
|
|
1081
1051
|
function registerUnsafeBurnerWallet(iotaClient) {
|
|
1082
|
-
var _on, _connect, _signPersonalMessage,
|
|
1052
|
+
var _on, _connect, _signPersonalMessage, _signTransaction, _signAndExecuteTransaction;
|
|
1083
1053
|
const walletsApi = (0, import_wallet_standard3.getWallets)();
|
|
1084
1054
|
const registeredWallets = walletsApi.get();
|
|
1085
1055
|
if (registeredWallets.find((wallet) => wallet.name === WALLET_NAME)) {
|
|
@@ -1096,7 +1066,7 @@ function registerUnsafeBurnerWallet(iotaClient) {
|
|
|
1096
1066
|
address: keypair.getPublicKey().toIotaAddress(),
|
|
1097
1067
|
publicKey: keypair.getPublicKey().toIotaBytes(),
|
|
1098
1068
|
chains: ["iota:unknown"],
|
|
1099
|
-
features: ["iota:
|
|
1069
|
+
features: ["iota:signTransaction", "iota:signAndExecuteTransaction"]
|
|
1100
1070
|
});
|
|
1101
1071
|
class UnsafeBurnerWallet {
|
|
1102
1072
|
constructor() {
|
|
@@ -1111,23 +1081,40 @@ function registerUnsafeBurnerWallet(iotaClient) {
|
|
|
1111
1081
|
const { bytes, signature } = await keypair.signPersonalMessage(messageInput.message);
|
|
1112
1082
|
return { bytes, signature };
|
|
1113
1083
|
});
|
|
1114
|
-
__privateAdd(this,
|
|
1115
|
-
const { bytes, signature } = await
|
|
1084
|
+
__privateAdd(this, _signTransaction, async (transactionInput) => {
|
|
1085
|
+
const { bytes, signature } = await import_transactions.Transaction.from(
|
|
1086
|
+
await transactionInput.transaction.toJSON()
|
|
1087
|
+
).sign({
|
|
1116
1088
|
client: iotaClient,
|
|
1117
1089
|
signer: keypair
|
|
1118
1090
|
});
|
|
1091
|
+
transactionInput.signal?.throwIfAborted();
|
|
1119
1092
|
return {
|
|
1120
|
-
|
|
1093
|
+
bytes,
|
|
1121
1094
|
signature
|
|
1122
1095
|
};
|
|
1123
1096
|
});
|
|
1124
|
-
__privateAdd(this,
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1097
|
+
__privateAdd(this, _signAndExecuteTransaction, async (transactionInput) => {
|
|
1098
|
+
const { bytes, signature } = await import_transactions.Transaction.from(
|
|
1099
|
+
await transactionInput.transaction.toJSON()
|
|
1100
|
+
).sign({
|
|
1101
|
+
client: iotaClient,
|
|
1102
|
+
signer: keypair
|
|
1103
|
+
});
|
|
1104
|
+
transactionInput.signal?.throwIfAborted();
|
|
1105
|
+
const { rawEffects, digest } = await iotaClient.executeTransactionBlock({
|
|
1106
|
+
signature,
|
|
1107
|
+
transactionBlock: bytes,
|
|
1108
|
+
options: {
|
|
1109
|
+
showRawEffects: true
|
|
1110
|
+
}
|
|
1130
1111
|
});
|
|
1112
|
+
return {
|
|
1113
|
+
bytes,
|
|
1114
|
+
signature,
|
|
1115
|
+
digest,
|
|
1116
|
+
effects: (0, import_utils2.toB64)(new Uint8Array(rawEffects))
|
|
1117
|
+
};
|
|
1131
1118
|
});
|
|
1132
1119
|
}
|
|
1133
1120
|
get version() {
|
|
@@ -1139,7 +1126,7 @@ function registerUnsafeBurnerWallet(iotaClient) {
|
|
|
1139
1126
|
get icon() {
|
|
1140
1127
|
return "data:image/png;base64,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";
|
|
1141
1128
|
}
|
|
1142
|
-
// Return the
|
|
1129
|
+
// Return the IOTA chains that your wallet supports.
|
|
1143
1130
|
get chains() {
|
|
1144
1131
|
return import_wallet_standard3.SUPPORTED_CHAINS;
|
|
1145
1132
|
}
|
|
@@ -1160,13 +1147,13 @@ function registerUnsafeBurnerWallet(iotaClient) {
|
|
|
1160
1147
|
version: "1.0.0",
|
|
1161
1148
|
signPersonalMessage: __privateGet(this, _signPersonalMessage)
|
|
1162
1149
|
},
|
|
1163
|
-
"iota:
|
|
1164
|
-
version: "
|
|
1165
|
-
|
|
1150
|
+
"iota:signTransaction": {
|
|
1151
|
+
version: "2.0.0",
|
|
1152
|
+
signTransaction: __privateGet(this, _signTransaction)
|
|
1166
1153
|
},
|
|
1167
|
-
"iota:
|
|
1168
|
-
version: "
|
|
1169
|
-
|
|
1154
|
+
"iota:signAndExecuteTransaction": {
|
|
1155
|
+
version: "2.0.0",
|
|
1156
|
+
signAndExecuteTransaction: __privateGet(this, _signAndExecuteTransaction)
|
|
1170
1157
|
}
|
|
1171
1158
|
};
|
|
1172
1159
|
}
|
|
@@ -1174,8 +1161,8 @@ function registerUnsafeBurnerWallet(iotaClient) {
|
|
|
1174
1161
|
_on = new WeakMap();
|
|
1175
1162
|
_connect = new WeakMap();
|
|
1176
1163
|
_signPersonalMessage = new WeakMap();
|
|
1177
|
-
|
|
1178
|
-
|
|
1164
|
+
_signTransaction = new WeakMap();
|
|
1165
|
+
_signAndExecuteTransaction = new WeakMap();
|
|
1179
1166
|
return walletsApi.register(new UnsafeBurnerWallet());
|
|
1180
1167
|
}
|
|
1181
1168
|
|
|
@@ -1200,17 +1187,18 @@ function useWalletPropertiesChanged() {
|
|
|
1200
1187
|
// src/hooks/wallet/useWalletsChanged.ts
|
|
1201
1188
|
var import_wallet_standard4 = require("@iota/wallet-standard");
|
|
1202
1189
|
var import_react14 = require("react");
|
|
1203
|
-
function useWalletsChanged(preferredWallets,
|
|
1190
|
+
function useWalletsChanged(preferredWallets, walletFilter) {
|
|
1204
1191
|
const setWalletRegistered = useWalletStore((state) => state.setWalletRegistered);
|
|
1205
1192
|
const setWalletUnregistered = useWalletStore((state) => state.setWalletUnregistered);
|
|
1206
1193
|
(0, import_react14.useEffect)(() => {
|
|
1207
1194
|
const walletsApi = (0, import_wallet_standard4.getWallets)();
|
|
1195
|
+
setWalletRegistered(getRegisteredWallets(preferredWallets, walletFilter));
|
|
1208
1196
|
const unsubscribeFromRegister = walletsApi.on("register", () => {
|
|
1209
|
-
setWalletRegistered(getRegisteredWallets(preferredWallets,
|
|
1197
|
+
setWalletRegistered(getRegisteredWallets(preferredWallets, walletFilter));
|
|
1210
1198
|
});
|
|
1211
1199
|
const unsubscribeFromUnregister = walletsApi.on("unregister", (unregisteredWallet) => {
|
|
1212
1200
|
setWalletUnregistered(
|
|
1213
|
-
getRegisteredWallets(preferredWallets,
|
|
1201
|
+
getRegisteredWallets(preferredWallets, walletFilter),
|
|
1214
1202
|
unregisteredWallet
|
|
1215
1203
|
);
|
|
1216
1204
|
});
|
|
@@ -1218,7 +1206,7 @@ function useWalletsChanged(preferredWallets, requiredFeatures) {
|
|
|
1218
1206
|
unsubscribeFromRegister();
|
|
1219
1207
|
unsubscribeFromUnregister();
|
|
1220
1208
|
};
|
|
1221
|
-
}, [preferredWallets,
|
|
1209
|
+
}, [preferredWallets, walletFilter, setWalletRegistered, setWalletUnregistered]);
|
|
1222
1210
|
}
|
|
1223
1211
|
|
|
1224
1212
|
// src/themes/lightTheme.ts
|
|
@@ -1234,18 +1222,18 @@ var lightTheme = {
|
|
|
1234
1222
|
modalPrimary: "white",
|
|
1235
1223
|
modalSecondary: "#F7F8F8",
|
|
1236
1224
|
iconButton: "transparent",
|
|
1237
|
-
iconButtonHover: "#F0F1F2",
|
|
1238
1225
|
dropdownMenu: "#FFFFFF",
|
|
1239
1226
|
dropdownMenuSeparator: "#F3F6F8",
|
|
1240
1227
|
walletItemSelected: "white",
|
|
1241
|
-
walletItemHover: "#3C424226"
|
|
1228
|
+
walletItemHover: "#3C424226",
|
|
1229
|
+
scrollThumb: "#cad4e2"
|
|
1242
1230
|
},
|
|
1243
1231
|
borderColors: {
|
|
1244
1232
|
outlineButton: "#E4E4E7"
|
|
1245
1233
|
},
|
|
1246
1234
|
colors: {
|
|
1247
1235
|
primaryButton: "#373737",
|
|
1248
|
-
|
|
1236
|
+
outlineButtonHover: "#373737",
|
|
1249
1237
|
iconButton: "#000000",
|
|
1250
1238
|
body: "#182435",
|
|
1251
1239
|
bodyMuted: "#767A81",
|
|
@@ -1255,11 +1243,8 @@ var lightTheme = {
|
|
|
1255
1243
|
small: "6px",
|
|
1256
1244
|
medium: "8px",
|
|
1257
1245
|
large: "12px",
|
|
1258
|
-
xlarge: "16px"
|
|
1259
|
-
|
|
1260
|
-
shadows: {
|
|
1261
|
-
primaryButton: "0px 4px 12px rgba(0, 0, 0, 0.1)",
|
|
1262
|
-
walletItemSelected: "0px 2px 6px rgba(0, 0, 0, 0.05)"
|
|
1246
|
+
xlarge: "16px",
|
|
1247
|
+
full: "120px"
|
|
1263
1248
|
},
|
|
1264
1249
|
fontWeights: {
|
|
1265
1250
|
normal: "400",
|
|
@@ -1277,6 +1262,14 @@ var lightTheme = {
|
|
|
1277
1262
|
fontStyle: "normal",
|
|
1278
1263
|
lineHeight: "1.3",
|
|
1279
1264
|
letterSpacing: "1"
|
|
1265
|
+
},
|
|
1266
|
+
spacing: {
|
|
1267
|
+
xxsmall: "4px",
|
|
1268
|
+
xsmall: "8px",
|
|
1269
|
+
small: "12px",
|
|
1270
|
+
medium: "16px",
|
|
1271
|
+
large: "24px",
|
|
1272
|
+
xlarge: "32px"
|
|
1280
1273
|
}
|
|
1281
1274
|
};
|
|
1282
1275
|
|
|
@@ -1300,19 +1293,21 @@ function createWalletStore({
|
|
|
1300
1293
|
lastConnectedAccountAddress: null,
|
|
1301
1294
|
lastConnectedWalletName: null,
|
|
1302
1295
|
connectionStatus: "disconnected",
|
|
1296
|
+
supportedIntents: [],
|
|
1303
1297
|
setConnectionStatus(connectionStatus2) {
|
|
1304
1298
|
set(() => ({
|
|
1305
1299
|
connectionStatus: connectionStatus2
|
|
1306
1300
|
}));
|
|
1307
1301
|
},
|
|
1308
|
-
setWalletConnected(wallet, connectedAccounts, selectedAccount) {
|
|
1302
|
+
setWalletConnected(wallet, connectedAccounts, selectedAccount, supportedIntents = []) {
|
|
1309
1303
|
set(() => ({
|
|
1310
1304
|
accounts: connectedAccounts,
|
|
1311
1305
|
currentWallet: wallet,
|
|
1312
1306
|
currentAccount: selectedAccount,
|
|
1313
1307
|
lastConnectedWalletName: getWalletUniqueIdentifier(wallet),
|
|
1314
1308
|
lastConnectedAccountAddress: selectedAccount?.address,
|
|
1315
|
-
connectionStatus: "connected"
|
|
1309
|
+
connectionStatus: "connected",
|
|
1310
|
+
supportedIntents
|
|
1316
1311
|
}));
|
|
1317
1312
|
},
|
|
1318
1313
|
setWalletDisconnected() {
|
|
@@ -1322,7 +1317,8 @@ function createWalletStore({
|
|
|
1322
1317
|
currentAccount: null,
|
|
1323
1318
|
lastConnectedWalletName: null,
|
|
1324
1319
|
lastConnectedAccountAddress: null,
|
|
1325
|
-
connectionStatus: "disconnected"
|
|
1320
|
+
connectionStatus: "disconnected",
|
|
1321
|
+
supportedIntents: []
|
|
1326
1322
|
}));
|
|
1327
1323
|
},
|
|
1328
1324
|
setAccountSwitched(selectedAccount) {
|
|
@@ -1343,7 +1339,8 @@ function createWalletStore({
|
|
|
1343
1339
|
currentAccount: null,
|
|
1344
1340
|
lastConnectedWalletName: null,
|
|
1345
1341
|
lastConnectedAccountAddress: null,
|
|
1346
|
-
connectionStatus: "disconnected"
|
|
1342
|
+
connectionStatus: "disconnected",
|
|
1343
|
+
supportedIntents: []
|
|
1347
1344
|
}));
|
|
1348
1345
|
} else {
|
|
1349
1346
|
set(() => ({ wallets: updatedWallets }));
|
|
@@ -1390,16 +1387,16 @@ var themeContractValues = {
|
|
|
1390
1387
|
modalPrimary: "",
|
|
1391
1388
|
modalSecondary: "",
|
|
1392
1389
|
iconButton: "",
|
|
1393
|
-
iconButtonHover: "",
|
|
1394
1390
|
dropdownMenu: "",
|
|
1395
|
-
dropdownMenuSeparator: ""
|
|
1391
|
+
dropdownMenuSeparator: "",
|
|
1392
|
+
scrollThumb: ""
|
|
1396
1393
|
},
|
|
1397
1394
|
borderColors: {
|
|
1398
1395
|
outlineButton: ""
|
|
1399
1396
|
},
|
|
1400
1397
|
colors: {
|
|
1401
1398
|
primaryButton: "",
|
|
1402
|
-
|
|
1399
|
+
outlineButtonHover: "",
|
|
1403
1400
|
body: "",
|
|
1404
1401
|
bodyMuted: "",
|
|
1405
1402
|
bodyDanger: "",
|
|
@@ -1409,11 +1406,8 @@ var themeContractValues = {
|
|
|
1409
1406
|
small: "",
|
|
1410
1407
|
medium: "",
|
|
1411
1408
|
large: "",
|
|
1412
|
-
xlarge: ""
|
|
1413
|
-
|
|
1414
|
-
shadows: {
|
|
1415
|
-
primaryButton: "",
|
|
1416
|
-
walletItemSelected: ""
|
|
1409
|
+
xlarge: "",
|
|
1410
|
+
full: ""
|
|
1417
1411
|
},
|
|
1418
1412
|
fontWeights: {
|
|
1419
1413
|
normal: "",
|
|
@@ -1431,6 +1425,14 @@ var themeContractValues = {
|
|
|
1431
1425
|
fontStyle: "",
|
|
1432
1426
|
lineHeight: "",
|
|
1433
1427
|
letterSpacing: ""
|
|
1428
|
+
},
|
|
1429
|
+
spacing: {
|
|
1430
|
+
xxsmall: "",
|
|
1431
|
+
xsmall: "",
|
|
1432
|
+
small: "",
|
|
1433
|
+
medium: "",
|
|
1434
|
+
large: "",
|
|
1435
|
+
xlarge: ""
|
|
1434
1436
|
}
|
|
1435
1437
|
};
|
|
1436
1438
|
var themeVars = (0, import_css.createGlobalThemeContract)(
|
|
@@ -1445,6 +1447,8 @@ function InjectedThemeStyles({ theme }) {
|
|
|
1445
1447
|
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1446
1448
|
"style",
|
|
1447
1449
|
{
|
|
1450
|
+
precedence: "default",
|
|
1451
|
+
href: "iota-dapp-kit-theme",
|
|
1448
1452
|
dangerouslySetInnerHTML: {
|
|
1449
1453
|
__html: themeStyles
|
|
1450
1454
|
}
|
|
@@ -1469,7 +1473,7 @@ function cssStringFromTheme(theme) {
|
|
|
1469
1473
|
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1470
1474
|
function WalletProvider({
|
|
1471
1475
|
preferredWallets = DEFAULT_PREFERRED_WALLETS,
|
|
1472
|
-
|
|
1476
|
+
walletFilter = DEFAULT_WALLET_FILTER,
|
|
1473
1477
|
storage = DEFAULT_STORAGE,
|
|
1474
1478
|
storageKey = DEFAULT_STORAGE_KEY,
|
|
1475
1479
|
enableUnsafeBurner = false,
|
|
@@ -1480,7 +1484,7 @@ function WalletProvider({
|
|
|
1480
1484
|
const storeRef = (0, import_react15.useRef)(
|
|
1481
1485
|
createWalletStore({
|
|
1482
1486
|
autoConnectEnabled: autoConnect,
|
|
1483
|
-
wallets: getRegisteredWallets(preferredWallets,
|
|
1487
|
+
wallets: getRegisteredWallets(preferredWallets, walletFilter),
|
|
1484
1488
|
storage: storage || createInMemoryStore(),
|
|
1485
1489
|
storageKey
|
|
1486
1490
|
})
|
|
@@ -1489,7 +1493,7 @@ function WalletProvider({
|
|
|
1489
1493
|
WalletConnectionManager,
|
|
1490
1494
|
{
|
|
1491
1495
|
preferredWallets,
|
|
1492
|
-
|
|
1496
|
+
walletFilter,
|
|
1493
1497
|
enableUnsafeBurner,
|
|
1494
1498
|
children: [
|
|
1495
1499
|
theme ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(InjectedThemeStyles, { theme }) : null,
|
|
@@ -1500,11 +1504,11 @@ function WalletProvider({
|
|
|
1500
1504
|
}
|
|
1501
1505
|
function WalletConnectionManager({
|
|
1502
1506
|
preferredWallets = DEFAULT_PREFERRED_WALLETS,
|
|
1503
|
-
|
|
1507
|
+
walletFilter = DEFAULT_WALLET_FILTER,
|
|
1504
1508
|
enableUnsafeBurner = false,
|
|
1505
1509
|
children
|
|
1506
1510
|
}) {
|
|
1507
|
-
useWalletsChanged(preferredWallets,
|
|
1511
|
+
useWalletsChanged(preferredWallets, walletFilter);
|
|
1508
1512
|
useWalletPropertiesChanged();
|
|
1509
1513
|
useUnsafeBurnerWallet(enableUnsafeBurner);
|
|
1510
1514
|
useAutoConnectWallet();
|
|
@@ -1537,14 +1541,14 @@ function createNetworkConfig(networkConfig) {
|
|
|
1537
1541
|
}
|
|
1538
1542
|
|
|
1539
1543
|
// src/hooks/useIotaClientInfiniteQuery.ts
|
|
1540
|
-
var
|
|
1544
|
+
var import_react_query5 = require("@tanstack/react-query");
|
|
1541
1545
|
function useIotaClientInfiniteQuery(method, params, {
|
|
1542
1546
|
queryKey = [],
|
|
1543
1547
|
enabled = !!params,
|
|
1544
1548
|
...options
|
|
1545
1549
|
} = {}) {
|
|
1546
1550
|
const iotaContext = useIotaClientContext();
|
|
1547
|
-
return (0,
|
|
1551
|
+
return (0, import_react_query5.useInfiniteQuery)({
|
|
1548
1552
|
...options,
|
|
1549
1553
|
initialPageParam: null,
|
|
1550
1554
|
queryKey: [iotaContext.network, method, params, ...queryKey],
|
|
@@ -1558,10 +1562,10 @@ function useIotaClientInfiniteQuery(method, params, {
|
|
|
1558
1562
|
}
|
|
1559
1563
|
|
|
1560
1564
|
// src/hooks/useIotaClientMutation.ts
|
|
1561
|
-
var
|
|
1565
|
+
var import_react_query6 = require("@tanstack/react-query");
|
|
1562
1566
|
function useIotaClientMutation(method, options = {}) {
|
|
1563
1567
|
const iotaContext = useIotaClientContext();
|
|
1564
|
-
return (0,
|
|
1568
|
+
return (0, import_react_query6.useMutation)({
|
|
1565
1569
|
...options,
|
|
1566
1570
|
mutationFn: async (params) => {
|
|
1567
1571
|
return await iotaContext.client[method](params);
|
|
@@ -1569,6 +1573,22 @@ function useIotaClientMutation(method, options = {}) {
|
|
|
1569
1573
|
});
|
|
1570
1574
|
}
|
|
1571
1575
|
|
|
1576
|
+
// src/hooks/useIotaClientQuery.ts
|
|
1577
|
+
var import_react_query7 = require("@tanstack/react-query");
|
|
1578
|
+
function useIotaClientQuery(...args) {
|
|
1579
|
+
const [method, params, { queryKey = [], ...options } = {}] = args;
|
|
1580
|
+
const iotaContext = useIotaClientContext();
|
|
1581
|
+
return (0, import_react_query7.useQuery)({
|
|
1582
|
+
...options,
|
|
1583
|
+
queryKey: [iotaContext.network, method, params, ...queryKey],
|
|
1584
|
+
queryFn: async () => {
|
|
1585
|
+
return await iotaContext.client[method](
|
|
1586
|
+
params
|
|
1587
|
+
);
|
|
1588
|
+
}
|
|
1589
|
+
});
|
|
1590
|
+
}
|
|
1591
|
+
|
|
1572
1592
|
// src/hooks/useIotaClientQueries.ts
|
|
1573
1593
|
var import_react_query8 = require("@tanstack/react-query");
|
|
1574
1594
|
function useIotaClientQueries({
|
|
@@ -1591,144 +1611,274 @@ function useIotaClientQueries({
|
|
|
1591
1611
|
});
|
|
1592
1612
|
}
|
|
1593
1613
|
|
|
1594
|
-
// src/hooks/wallet/
|
|
1614
|
+
// src/hooks/wallet/useSignAndExecuteTransaction.ts
|
|
1615
|
+
var import_utils4 = require("@iota/iota-sdk/utils");
|
|
1616
|
+
var import_wallet_standard5 = require("@iota/wallet-standard");
|
|
1617
|
+
var import_react_query10 = require("@tanstack/react-query");
|
|
1618
|
+
|
|
1619
|
+
// src/hooks/wallet/useReportTransactionEffects.ts
|
|
1620
|
+
var import_utils3 = require("@iota/iota-sdk/utils");
|
|
1595
1621
|
var import_react_query9 = require("@tanstack/react-query");
|
|
1596
|
-
function
|
|
1622
|
+
function useReportTransactionEffects({
|
|
1597
1623
|
mutationKey,
|
|
1598
|
-
executeFromWallet,
|
|
1599
1624
|
...mutationOptions
|
|
1600
1625
|
} = {}) {
|
|
1601
1626
|
const { currentWallet } = useCurrentWallet();
|
|
1602
1627
|
const currentAccount = useCurrentAccount();
|
|
1603
|
-
const client = useIotaClient();
|
|
1604
1628
|
return (0, import_react_query9.useMutation)({
|
|
1605
|
-
mutationKey: walletMutationKeys.
|
|
1606
|
-
mutationFn: async ({
|
|
1629
|
+
mutationKey: walletMutationKeys.reportTransactionEffects(mutationKey),
|
|
1630
|
+
mutationFn: async ({
|
|
1631
|
+
effects,
|
|
1632
|
+
chain = currentWallet?.chains[0],
|
|
1633
|
+
account = currentAccount
|
|
1634
|
+
}) => {
|
|
1607
1635
|
if (!currentWallet) {
|
|
1608
1636
|
throw new WalletNotConnectedError("No wallet is connected.");
|
|
1609
1637
|
}
|
|
1610
|
-
|
|
1611
|
-
if (!signerAccount) {
|
|
1638
|
+
if (!account) {
|
|
1612
1639
|
throw new WalletNoAccountSelectedError(
|
|
1613
|
-
"No wallet account is selected to
|
|
1640
|
+
"No wallet account is selected to report transaction effects for"
|
|
1614
1641
|
);
|
|
1615
1642
|
}
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
}
|
|
1623
|
-
return walletFeature2.signAndExecuteTransactionBlock({
|
|
1624
|
-
...signTransactionBlockArgs,
|
|
1625
|
-
account: signerAccount,
|
|
1626
|
-
chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0],
|
|
1627
|
-
requestType,
|
|
1628
|
-
options
|
|
1643
|
+
const reportTransactionEffectsFeature = currentWallet.features["iota:reportTransactionEffects"];
|
|
1644
|
+
if (reportTransactionEffectsFeature) {
|
|
1645
|
+
return await reportTransactionEffectsFeature.reportTransactionEffects({
|
|
1646
|
+
effects: Array.isArray(effects) ? (0, import_utils3.toB64)(new Uint8Array(effects)) : effects,
|
|
1647
|
+
account,
|
|
1648
|
+
chain: chain ?? currentWallet?.chains[0]
|
|
1629
1649
|
});
|
|
1630
1650
|
}
|
|
1631
|
-
|
|
1632
|
-
|
|
1651
|
+
},
|
|
1652
|
+
...mutationOptions
|
|
1653
|
+
});
|
|
1654
|
+
}
|
|
1655
|
+
|
|
1656
|
+
// src/hooks/wallet/useSignAndExecuteTransaction.ts
|
|
1657
|
+
function useSignAndExecuteTransaction({
|
|
1658
|
+
mutationKey,
|
|
1659
|
+
execute,
|
|
1660
|
+
...mutationOptions
|
|
1661
|
+
} = {}) {
|
|
1662
|
+
const { currentWallet, supportedIntents } = useCurrentWallet();
|
|
1663
|
+
const currentAccount = useCurrentAccount();
|
|
1664
|
+
const client = useIotaClient();
|
|
1665
|
+
const { mutate: reportTransactionEffects } = useReportTransactionEffects();
|
|
1666
|
+
const executeTransaction = execute ?? (async ({ bytes, signature }) => {
|
|
1667
|
+
const { digest, rawEffects } = await client.executeTransactionBlock({
|
|
1668
|
+
transactionBlock: bytes,
|
|
1669
|
+
signature,
|
|
1670
|
+
options: {
|
|
1671
|
+
showRawEffects: true
|
|
1672
|
+
}
|
|
1673
|
+
});
|
|
1674
|
+
return {
|
|
1675
|
+
digest,
|
|
1676
|
+
rawEffects,
|
|
1677
|
+
effects: (0, import_utils4.toB64)(new Uint8Array(rawEffects)),
|
|
1678
|
+
bytes,
|
|
1679
|
+
signature
|
|
1680
|
+
};
|
|
1681
|
+
});
|
|
1682
|
+
return (0, import_react_query10.useMutation)({
|
|
1683
|
+
mutationKey: walletMutationKeys.signAndExecuteTransaction(mutationKey),
|
|
1684
|
+
mutationFn: async ({ transaction, ...signTransactionArgs }) => {
|
|
1685
|
+
if (!currentWallet) {
|
|
1686
|
+
throw new WalletNotConnectedError("No wallet is connected.");
|
|
1687
|
+
}
|
|
1688
|
+
const signerAccount = signTransactionArgs.account ?? currentAccount;
|
|
1689
|
+
if (!signerAccount) {
|
|
1690
|
+
throw new WalletNoAccountSelectedError(
|
|
1691
|
+
"No wallet account is selected to sign the transaction with."
|
|
1692
|
+
);
|
|
1693
|
+
}
|
|
1694
|
+
const chain = signTransactionArgs.chain ?? signerAccount?.chains[0];
|
|
1695
|
+
if (!currentWallet.features["iota:signTransaction"]) {
|
|
1633
1696
|
throw new WalletFeatureNotSupportedError(
|
|
1634
|
-
"This wallet doesn't support the `
|
|
1697
|
+
"This wallet doesn't support the `signTransaction` feature."
|
|
1635
1698
|
);
|
|
1636
1699
|
}
|
|
1637
|
-
const { signature,
|
|
1638
|
-
...
|
|
1700
|
+
const { signature, bytes } = await (0, import_wallet_standard5.signTransaction)(currentWallet, {
|
|
1701
|
+
...signTransactionArgs,
|
|
1702
|
+
transaction: {
|
|
1703
|
+
async toJSON() {
|
|
1704
|
+
return typeof transaction === "string" ? transaction : await transaction.toJSON({
|
|
1705
|
+
supportedIntents,
|
|
1706
|
+
client
|
|
1707
|
+
});
|
|
1708
|
+
}
|
|
1709
|
+
},
|
|
1639
1710
|
account: signerAccount,
|
|
1640
|
-
chain:
|
|
1641
|
-
});
|
|
1642
|
-
return client.executeTransactionBlock({
|
|
1643
|
-
transactionBlock: transactionBlockBytes,
|
|
1644
|
-
signature,
|
|
1645
|
-
requestType,
|
|
1646
|
-
options
|
|
1711
|
+
chain: signTransactionArgs.chain ?? signerAccount.chains[0]
|
|
1647
1712
|
});
|
|
1713
|
+
const result = await executeTransaction({ bytes, signature });
|
|
1714
|
+
let effects;
|
|
1715
|
+
if ("effects" in result && result.effects?.bcs) {
|
|
1716
|
+
effects = result.effects.bcs;
|
|
1717
|
+
} else if ("rawEffects" in result) {
|
|
1718
|
+
effects = (0, import_utils4.toB64)(new Uint8Array(result.rawEffects));
|
|
1719
|
+
} else {
|
|
1720
|
+
throw new Error("Could not parse effects from transaction result.");
|
|
1721
|
+
}
|
|
1722
|
+
reportTransactionEffects({ effects, account: signerAccount, chain });
|
|
1723
|
+
return result;
|
|
1648
1724
|
},
|
|
1649
1725
|
...mutationOptions
|
|
1650
1726
|
});
|
|
1651
1727
|
}
|
|
1652
1728
|
|
|
1653
1729
|
// src/hooks/wallet/useSignPersonalMessage.ts
|
|
1654
|
-
var
|
|
1730
|
+
var import_react_query11 = require("@tanstack/react-query");
|
|
1655
1731
|
function useSignPersonalMessage({
|
|
1656
1732
|
mutationKey,
|
|
1657
1733
|
...mutationOptions
|
|
1658
1734
|
} = {}) {
|
|
1659
1735
|
const { currentWallet } = useCurrentWallet();
|
|
1660
1736
|
const currentAccount = useCurrentAccount();
|
|
1661
|
-
return (0,
|
|
1737
|
+
return (0, import_react_query11.useMutation)({
|
|
1662
1738
|
mutationKey: walletMutationKeys.signPersonalMessage(mutationKey),
|
|
1663
1739
|
mutationFn: async (signPersonalMessageArgs) => {
|
|
1664
1740
|
if (!currentWallet) {
|
|
1665
1741
|
throw new WalletNotConnectedError("No wallet is connected.");
|
|
1666
1742
|
}
|
|
1743
|
+
const signPersonalMessageFeature = currentWallet.features["iota:signPersonalMessage"];
|
|
1744
|
+
if (!signPersonalMessageFeature) {
|
|
1745
|
+
throw new WalletFeatureNotSupportedError(
|
|
1746
|
+
"This wallet doesn't support the `signPersonalMessage` feature."
|
|
1747
|
+
);
|
|
1748
|
+
}
|
|
1667
1749
|
const signerAccount = signPersonalMessageArgs.account ?? currentAccount;
|
|
1668
1750
|
if (!signerAccount) {
|
|
1669
1751
|
throw new WalletNoAccountSelectedError(
|
|
1670
1752
|
"No wallet account is selected to sign the personal message with."
|
|
1671
1753
|
);
|
|
1672
1754
|
}
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
account: signerAccount
|
|
1678
|
-
});
|
|
1679
|
-
}
|
|
1680
|
-
const signMessageFeature = currentWallet.features["iota:signMessage"];
|
|
1681
|
-
if (signMessageFeature) {
|
|
1682
|
-
console.warn(
|
|
1683
|
-
"This wallet doesn't support the `signPersonalMessage` feature... falling back to `signMessage`."
|
|
1684
|
-
);
|
|
1685
|
-
const { messageBytes, signature } = await signMessageFeature.signMessage({
|
|
1686
|
-
...signPersonalMessageArgs,
|
|
1687
|
-
account: signerAccount
|
|
1688
|
-
});
|
|
1689
|
-
return { bytes: messageBytes, signature };
|
|
1690
|
-
}
|
|
1691
|
-
throw new WalletFeatureNotSupportedError(
|
|
1692
|
-
"This wallet doesn't support the `signPersonalMessage` feature."
|
|
1693
|
-
);
|
|
1755
|
+
return await signPersonalMessageFeature.signPersonalMessage({
|
|
1756
|
+
...signPersonalMessageArgs,
|
|
1757
|
+
account: signerAccount
|
|
1758
|
+
});
|
|
1694
1759
|
},
|
|
1695
1760
|
...mutationOptions
|
|
1696
1761
|
});
|
|
1697
1762
|
}
|
|
1698
1763
|
|
|
1699
|
-
// src/hooks/wallet/
|
|
1700
|
-
var
|
|
1701
|
-
|
|
1764
|
+
// src/hooks/wallet/useSignTransaction.ts
|
|
1765
|
+
var import_wallet_standard6 = require("@iota/wallet-standard");
|
|
1766
|
+
var import_react_query12 = require("@tanstack/react-query");
|
|
1767
|
+
function useSignTransaction({
|
|
1702
1768
|
mutationKey,
|
|
1703
1769
|
...mutationOptions
|
|
1704
1770
|
} = {}) {
|
|
1705
1771
|
const { currentWallet } = useCurrentWallet();
|
|
1706
1772
|
const currentAccount = useCurrentAccount();
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1773
|
+
const client = useIotaClient();
|
|
1774
|
+
const { mutate: reportTransactionEffects } = useReportTransactionEffects();
|
|
1775
|
+
return (0, import_react_query12.useMutation)({
|
|
1776
|
+
mutationKey: walletMutationKeys.signTransaction(mutationKey),
|
|
1777
|
+
mutationFn: async ({ transaction, ...signTransactionArgs }) => {
|
|
1710
1778
|
if (!currentWallet) {
|
|
1711
1779
|
throw new WalletNotConnectedError("No wallet is connected.");
|
|
1712
1780
|
}
|
|
1713
|
-
const signerAccount =
|
|
1781
|
+
const signerAccount = signTransactionArgs.account ?? currentAccount;
|
|
1714
1782
|
if (!signerAccount) {
|
|
1715
1783
|
throw new WalletNoAccountSelectedError(
|
|
1716
|
-
"No wallet account is selected to sign the transaction
|
|
1784
|
+
"No wallet account is selected to sign the transaction with."
|
|
1717
1785
|
);
|
|
1718
1786
|
}
|
|
1719
|
-
|
|
1720
|
-
if (!walletFeature) {
|
|
1787
|
+
if (!currentWallet.features["iota:signTransaction"]) {
|
|
1721
1788
|
throw new WalletFeatureNotSupportedError(
|
|
1722
|
-
"This wallet doesn't support the `
|
|
1789
|
+
"This wallet doesn't support the `signTransaction` feature."
|
|
1723
1790
|
);
|
|
1724
1791
|
}
|
|
1725
|
-
|
|
1726
|
-
...
|
|
1792
|
+
const { bytes, signature } = await (0, import_wallet_standard6.signTransaction)(currentWallet, {
|
|
1793
|
+
...signTransactionArgs,
|
|
1794
|
+
transaction: {
|
|
1795
|
+
toJSON: async () => {
|
|
1796
|
+
return typeof transaction === "string" ? transaction : await transaction.toJSON({
|
|
1797
|
+
supportedIntents: [],
|
|
1798
|
+
client
|
|
1799
|
+
});
|
|
1800
|
+
}
|
|
1801
|
+
},
|
|
1727
1802
|
account: signerAccount,
|
|
1728
|
-
chain:
|
|
1803
|
+
chain: signTransactionArgs.chain ?? signerAccount.chains[0]
|
|
1729
1804
|
});
|
|
1805
|
+
return {
|
|
1806
|
+
bytes,
|
|
1807
|
+
signature,
|
|
1808
|
+
reportTransactionEffects: (effects) => {
|
|
1809
|
+
reportTransactionEffects({
|
|
1810
|
+
effects,
|
|
1811
|
+
account: signerAccount,
|
|
1812
|
+
chain: signTransactionArgs.chain ?? signerAccount.chains[0]
|
|
1813
|
+
});
|
|
1814
|
+
}
|
|
1815
|
+
};
|
|
1730
1816
|
},
|
|
1731
1817
|
...mutationOptions
|
|
1732
1818
|
});
|
|
1733
1819
|
}
|
|
1820
|
+
|
|
1821
|
+
// src/themes/darkTheme.ts
|
|
1822
|
+
var darkTheme = {
|
|
1823
|
+
blurs: {
|
|
1824
|
+
modalOverlay: "blur(12px)"
|
|
1825
|
+
},
|
|
1826
|
+
backgroundColors: {
|
|
1827
|
+
primaryButton: "#253041",
|
|
1828
|
+
primaryButtonHover: "#313D50",
|
|
1829
|
+
outlineButtonHover: "#313D50",
|
|
1830
|
+
modalOverlay: "rgba(0, 47, 109, 0.72)",
|
|
1831
|
+
modalPrimary: "#0f141c",
|
|
1832
|
+
modalSecondary: "#171d26",
|
|
1833
|
+
iconButton: "transparent",
|
|
1834
|
+
dropdownMenu: "#0f141c",
|
|
1835
|
+
dropdownMenuSeparator: "#bed8ff14",
|
|
1836
|
+
walletItemSelected: "#171D26",
|
|
1837
|
+
walletItemHover: "rgba(190, 216, 255, 0.12)",
|
|
1838
|
+
scrollThumb: "#3c4656"
|
|
1839
|
+
},
|
|
1840
|
+
borderColors: {
|
|
1841
|
+
outlineButton: "#8892A1"
|
|
1842
|
+
},
|
|
1843
|
+
colors: {
|
|
1844
|
+
primaryButton: "#E3EAF6",
|
|
1845
|
+
outlineButtonHover: "#171D26",
|
|
1846
|
+
iconButton: "#E3EAF6",
|
|
1847
|
+
body: "#E3EAF6",
|
|
1848
|
+
bodyMuted: "#8892A1",
|
|
1849
|
+
bodyDanger: "#FFB0BE"
|
|
1850
|
+
},
|
|
1851
|
+
radii: {
|
|
1852
|
+
small: "6px",
|
|
1853
|
+
medium: "8px",
|
|
1854
|
+
large: "12px",
|
|
1855
|
+
xlarge: "16px",
|
|
1856
|
+
full: "120px"
|
|
1857
|
+
},
|
|
1858
|
+
fontWeights: {
|
|
1859
|
+
normal: "400",
|
|
1860
|
+
medium: "500",
|
|
1861
|
+
bold: "600"
|
|
1862
|
+
},
|
|
1863
|
+
fontSizes: {
|
|
1864
|
+
small: "14px",
|
|
1865
|
+
medium: "16px",
|
|
1866
|
+
large: "18px",
|
|
1867
|
+
xlarge: "20px"
|
|
1868
|
+
},
|
|
1869
|
+
typography: {
|
|
1870
|
+
fontFamily: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',
|
|
1871
|
+
fontStyle: "normal",
|
|
1872
|
+
lineHeight: "24px",
|
|
1873
|
+
letterSpacing: "0.1px"
|
|
1874
|
+
},
|
|
1875
|
+
spacing: {
|
|
1876
|
+
xxsmall: "4px",
|
|
1877
|
+
xsmall: "8px",
|
|
1878
|
+
small: "12px",
|
|
1879
|
+
medium: "16px",
|
|
1880
|
+
large: "24px",
|
|
1881
|
+
xlarge: "32px"
|
|
1882
|
+
}
|
|
1883
|
+
};
|
|
1734
1884
|
//# sourceMappingURL=index.js.map
|