@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/esm/index.js
CHANGED
|
@@ -4,6 +4,9 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __typeError = (msg) => {
|
|
8
|
+
throw TypeError(msg);
|
|
9
|
+
};
|
|
7
10
|
var __esm = (fn, res) => function __init() {
|
|
8
11
|
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
9
12
|
};
|
|
@@ -26,22 +29,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
29
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
30
|
mod
|
|
28
31
|
));
|
|
29
|
-
var __accessCheck = (obj, member, msg) =>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
};
|
|
33
|
-
var __privateGet = (obj, member, getter) => {
|
|
34
|
-
__accessCheck(obj, member, "read from private field");
|
|
35
|
-
return getter ? getter.call(obj) : member.get(obj);
|
|
36
|
-
};
|
|
37
|
-
var __privateAdd = (obj, member, value) => {
|
|
38
|
-
if (member.has(obj))
|
|
39
|
-
throw TypeError("Cannot add the same private member more than once");
|
|
40
|
-
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
41
|
-
};
|
|
32
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
33
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
34
|
+
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);
|
|
42
35
|
|
|
43
36
|
// vanilla-extract-css-ns:src/components/styling/StyleMarker.css.ts.vanilla.css?source=OndoZXJlKCopIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGNvbG9yOiB2YXIoLS1kYXBwLWtpdC1jb2xvcnMtYm9keSk7CiAgZm9udC1mYW1pbHk6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udEZhbWlseSk7CiAgZm9udC1zaXplOiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1ub3JtYWwpOwogIGZvbnQtc3R5bGU6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udFN0eWxlKTsKICBmb250LXdlaWdodDogdmFyKC0tZGFwcC1raXQtZm9udFdlaWdodHMtbm9ybWFsKTsKICBsaW5lLWhlaWdodDogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1saW5lSGVpZ2h0KTsKICBsZXR0ZXItc3BhY2luZzogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1sZXR0ZXJTcGFjaW5nKTsKfQo6d2hlcmUoYnV0dG9uKSB7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7CiAgY29sb3I6IGluaGVyaXQ7CiAgYm9yZGVyOiAwOwogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwOwp9Cjp3aGVyZShhKSB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGNvbG9yOiBpbmhlcml0OwogIG91dGxpbmU6IG5vbmU7Cn0KOndoZXJlKG9sLCB1bCkgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KOndoZXJlKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYpIHsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CiAgbWFyZ2luOiAwOwp9
|
|
44
|
-
var
|
|
37
|
+
var init_StyleMarker_css_ts_vanilla = __esm({
|
|
45
38
|
"vanilla-extract-css-ns:src/components/styling/StyleMarker.css.ts.vanilla.css?source=OndoZXJlKCopIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGNvbG9yOiB2YXIoLS1kYXBwLWtpdC1jb2xvcnMtYm9keSk7CiAgZm9udC1mYW1pbHk6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udEZhbWlseSk7CiAgZm9udC1zaXplOiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1ub3JtYWwpOwogIGZvbnQtc3R5bGU6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udFN0eWxlKTsKICBmb250LXdlaWdodDogdmFyKC0tZGFwcC1raXQtZm9udFdlaWdodHMtbm9ybWFsKTsKICBsaW5lLWhlaWdodDogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1saW5lSGVpZ2h0KTsKICBsZXR0ZXItc3BhY2luZzogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1sZXR0ZXJTcGFjaW5nKTsKfQo6d2hlcmUoYnV0dG9uKSB7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7CiAgY29sb3I6IGluaGVyaXQ7CiAgYm9yZGVyOiAwOwogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwOwp9Cjp3aGVyZShhKSB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGNvbG9yOiBpbmhlcml0OwogIG91dGxpbmU6IG5vbmU7Cn0KOndoZXJlKG9sLCB1bCkgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KOndoZXJlKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYpIHsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CiAgbWFyZ2luOiAwOwp9"() {
|
|
46
39
|
}
|
|
47
40
|
});
|
|
@@ -50,7 +43,7 @@ var init_ = __esm({
|
|
|
50
43
|
var require_StyleMarker_css = __commonJS({
|
|
51
44
|
"src/components/styling/StyleMarker.css.ts"() {
|
|
52
45
|
"use strict";
|
|
53
|
-
|
|
46
|
+
init_StyleMarker_css_ts_vanilla();
|
|
54
47
|
}
|
|
55
48
|
});
|
|
56
49
|
|
|
@@ -70,9 +63,10 @@ var walletMutationKeys = {
|
|
|
70
63
|
autoconnectWallet: formMutationKeyFn("autoconnect-wallet"),
|
|
71
64
|
disconnectWallet: formMutationKeyFn("disconnect-wallet"),
|
|
72
65
|
signPersonalMessage: formMutationKeyFn("sign-personal-message"),
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
switchAccount: formMutationKeyFn("switch-account")
|
|
66
|
+
signTransaction: formMutationKeyFn("sign-transaction"),
|
|
67
|
+
signAndExecuteTransaction: formMutationKeyFn("sign-and-execute-transaction"),
|
|
68
|
+
switchAccount: formMutationKeyFn("switch-account"),
|
|
69
|
+
reportTransactionEffects: formMutationKeyFn("report-transaction-effects")
|
|
76
70
|
};
|
|
77
71
|
function formMutationKeyFn(baseEntity) {
|
|
78
72
|
return function mutationKeyFn(additionalKeys = []) {
|
|
@@ -116,7 +110,12 @@ function useConnectWallet({
|
|
|
116
110
|
(account) => account.chains.some(isSupportedChain)
|
|
117
111
|
);
|
|
118
112
|
const selectedAccount = getSelectedAccount(connectedIotaAccounts, accountAddress);
|
|
119
|
-
setWalletConnected(
|
|
113
|
+
setWalletConnected(
|
|
114
|
+
wallet,
|
|
115
|
+
connectedIotaAccounts,
|
|
116
|
+
selectedAccount,
|
|
117
|
+
connectResult.supportedIntents
|
|
118
|
+
);
|
|
120
119
|
return { accounts: connectedIotaAccounts };
|
|
121
120
|
} catch (error) {
|
|
122
121
|
setConnectionStatus("disconnected");
|
|
@@ -141,11 +140,11 @@ function getSelectedAccount(connectedAccounts, accountAddress) {
|
|
|
141
140
|
|
|
142
141
|
// src/utils/walletUtils.ts
|
|
143
142
|
import { getWallets, isWalletWithRequiredFeatureSet } from "@iota/wallet-standard";
|
|
144
|
-
function getRegisteredWallets(preferredWallets,
|
|
143
|
+
function getRegisteredWallets(preferredWallets, walletFilter) {
|
|
145
144
|
const walletsApi = getWallets();
|
|
146
145
|
const wallets = walletsApi.get();
|
|
147
146
|
const iotaWallets = wallets.filter(
|
|
148
|
-
(wallet) => isWalletWithRequiredFeatureSet(wallet
|
|
147
|
+
(wallet) => isWalletWithRequiredFeatureSet(wallet) && (!walletFilter || walletFilter(wallet))
|
|
149
148
|
);
|
|
150
149
|
return [
|
|
151
150
|
// Preferred wallets, in order:
|
|
@@ -386,9 +385,9 @@ var installButtonContainer = "GettingStarted_installButtonContainer__qu36t92";
|
|
|
386
385
|
import { jsx as jsx10, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
387
386
|
function GettingStarted() {
|
|
388
387
|
return /* @__PURE__ */ jsxs3("div", { className: container4, children: [
|
|
389
|
-
/* @__PURE__ */ jsx10(Heading, { as: "h2", children: "Get Started with
|
|
388
|
+
/* @__PURE__ */ jsx10(Heading, { as: "h2", children: "Get Started with IOTA" }),
|
|
390
389
|
/* @__PURE__ */ jsxs3("div", { className: content2, children: [
|
|
391
|
-
/* @__PURE__ */ jsx10(InfoSection, { title: "Install the
|
|
390
|
+
/* @__PURE__ */ jsx10(InfoSection, { title: "Install the IOTA Wallet Extension", children: "We recommend pinning IOTA Wallet to your taskbar for quicker access." }),
|
|
392
391
|
/* @__PURE__ */ jsx10(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." }),
|
|
393
392
|
/* @__PURE__ */ jsx10(InfoSection, { title: "Refresh Your Browser", children: "Once you set up your wallet, refresh this window browser to load up the extension." }),
|
|
394
393
|
/* @__PURE__ */ jsx10("div", { className: installButtonContainer, children: /* @__PURE__ */ jsx10(Button, { variant: "outline", asChild: true, children: /* @__PURE__ */ jsx10(
|
|
@@ -487,7 +486,7 @@ function WalletList({ selectedWalletName, onPlaceholderClick, onSelect }) {
|
|
|
487
486
|
)) : /* @__PURE__ */ jsx14(
|
|
488
487
|
WalletListItem,
|
|
489
488
|
{
|
|
490
|
-
name: "
|
|
489
|
+
name: "IOTA Wallet",
|
|
491
490
|
icon: /* @__PURE__ */ jsx14(IotaIcon, {}),
|
|
492
491
|
onClick: onPlaceholderClick,
|
|
493
492
|
isSelected: true
|
|
@@ -618,102 +617,6 @@ import { formatAddress } from "@iota/iota-sdk/utils";
|
|
|
618
617
|
import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
|
|
619
618
|
import clsx7 from "clsx";
|
|
620
619
|
|
|
621
|
-
// src/hooks/useIotaClientQuery.ts
|
|
622
|
-
import { useQuery } from "@tanstack/react-query";
|
|
623
|
-
|
|
624
|
-
// src/hooks/useIotaClient.ts
|
|
625
|
-
import { useContext as useContext2 } from "react";
|
|
626
|
-
|
|
627
|
-
// src/components/IotaClientProvider.tsx
|
|
628
|
-
import { getNetwork, isIotaClient, Network, IotaClient } from "@iota/iota-sdk/client";
|
|
629
|
-
import { createContext as createContext2, useMemo, useState as useState2 } from "react";
|
|
630
|
-
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
631
|
-
var IotaClientContext = createContext2(null);
|
|
632
|
-
var DEFAULT_NETWORKS = {
|
|
633
|
-
localnet: { url: getNetwork(Network.Local).url }
|
|
634
|
-
};
|
|
635
|
-
var DEFAULT_CREATE_CLIENT = function createClient(_name, config) {
|
|
636
|
-
if (isIotaClient(config)) {
|
|
637
|
-
return config;
|
|
638
|
-
}
|
|
639
|
-
return new IotaClient(config);
|
|
640
|
-
};
|
|
641
|
-
function IotaClientProvider(props) {
|
|
642
|
-
const { onNetworkChange, network, children } = props;
|
|
643
|
-
const networks = props.networks ?? DEFAULT_NETWORKS;
|
|
644
|
-
const createClient2 = props.createClient ?? DEFAULT_CREATE_CLIENT;
|
|
645
|
-
const [selectedNetwork, setSelectedNetwork] = useState2(
|
|
646
|
-
props.network ?? props.defaultNetwork ?? Object.keys(networks)[0]
|
|
647
|
-
);
|
|
648
|
-
const currentNetwork = props.network ?? selectedNetwork;
|
|
649
|
-
const client = useMemo(() => {
|
|
650
|
-
return createClient2(currentNetwork, networks[currentNetwork]);
|
|
651
|
-
}, [createClient2, currentNetwork, networks]);
|
|
652
|
-
const ctx = useMemo(() => {
|
|
653
|
-
return {
|
|
654
|
-
client,
|
|
655
|
-
networks,
|
|
656
|
-
network: currentNetwork,
|
|
657
|
-
config: networks[currentNetwork] instanceof IotaClient ? null : networks[currentNetwork],
|
|
658
|
-
selectNetwork: (newNetwork) => {
|
|
659
|
-
if (currentNetwork === newNetwork) {
|
|
660
|
-
return;
|
|
661
|
-
}
|
|
662
|
-
if (!network && newNetwork !== selectedNetwork) {
|
|
663
|
-
setSelectedNetwork(newNetwork);
|
|
664
|
-
}
|
|
665
|
-
onNetworkChange?.(newNetwork);
|
|
666
|
-
}
|
|
667
|
-
};
|
|
668
|
-
}, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);
|
|
669
|
-
return /* @__PURE__ */ jsx16(IotaClientContext.Provider, { value: ctx, children });
|
|
670
|
-
}
|
|
671
|
-
|
|
672
|
-
// src/hooks/useIotaClient.ts
|
|
673
|
-
function useIotaClientContext() {
|
|
674
|
-
const iotaClient = useContext2(IotaClientContext);
|
|
675
|
-
if (!iotaClient) {
|
|
676
|
-
throw new Error(
|
|
677
|
-
"Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider"
|
|
678
|
-
);
|
|
679
|
-
}
|
|
680
|
-
return iotaClient;
|
|
681
|
-
}
|
|
682
|
-
function useIotaClient() {
|
|
683
|
-
return useIotaClientContext().client;
|
|
684
|
-
}
|
|
685
|
-
|
|
686
|
-
// src/hooks/useIotaClientQuery.ts
|
|
687
|
-
function useIotaClientQuery(...args) {
|
|
688
|
-
const [method, params, { queryKey = [], ...options } = {}] = args;
|
|
689
|
-
const iotaContext = useIotaClientContext();
|
|
690
|
-
return useQuery({
|
|
691
|
-
...options,
|
|
692
|
-
queryKey: [iotaContext.network, method, params, ...queryKey],
|
|
693
|
-
queryFn: async () => {
|
|
694
|
-
return await iotaContext.client[method](params);
|
|
695
|
-
}
|
|
696
|
-
});
|
|
697
|
-
}
|
|
698
|
-
|
|
699
|
-
// src/hooks/useResolveIotaNSNames.ts
|
|
700
|
-
function useResolveIotaNSName(address, options) {
|
|
701
|
-
return useIotaClientQuery(
|
|
702
|
-
"resolveNameServiceNames",
|
|
703
|
-
{
|
|
704
|
-
address,
|
|
705
|
-
limit: 1
|
|
706
|
-
},
|
|
707
|
-
{
|
|
708
|
-
...options,
|
|
709
|
-
refetchOnWindowFocus: false,
|
|
710
|
-
retry: false,
|
|
711
|
-
select: (data) => data.data.length > 0 ? data.data[0] : null,
|
|
712
|
-
enabled: !!address && options?.enabled !== false
|
|
713
|
-
}
|
|
714
|
-
);
|
|
715
|
-
}
|
|
716
|
-
|
|
717
620
|
// src/hooks/wallet/useAccounts.ts
|
|
718
621
|
function useAccounts() {
|
|
719
622
|
return useWalletStore((state) => state.accounts);
|
|
@@ -736,6 +639,7 @@ var WalletAccountNotFoundError = class extends Error {
|
|
|
736
639
|
function useCurrentWallet() {
|
|
737
640
|
const currentWallet = useWalletStore((state) => state.currentWallet);
|
|
738
641
|
const connectionStatus2 = useWalletStore((state) => state.connectionStatus);
|
|
642
|
+
const supportedIntents = useWalletStore((state) => state.supportedIntents);
|
|
739
643
|
switch (connectionStatus2) {
|
|
740
644
|
case "connecting":
|
|
741
645
|
return {
|
|
@@ -743,7 +647,8 @@ function useCurrentWallet() {
|
|
|
743
647
|
currentWallet: null,
|
|
744
648
|
isDisconnected: false,
|
|
745
649
|
isConnecting: true,
|
|
746
|
-
isConnected: false
|
|
650
|
+
isConnected: false,
|
|
651
|
+
supportedIntents: []
|
|
747
652
|
};
|
|
748
653
|
case "disconnected":
|
|
749
654
|
return {
|
|
@@ -751,7 +656,8 @@ function useCurrentWallet() {
|
|
|
751
656
|
currentWallet: null,
|
|
752
657
|
isDisconnected: true,
|
|
753
658
|
isConnecting: false,
|
|
754
|
-
isConnected: false
|
|
659
|
+
isConnected: false,
|
|
660
|
+
supportedIntents: []
|
|
755
661
|
};
|
|
756
662
|
case "connected": {
|
|
757
663
|
return {
|
|
@@ -759,7 +665,8 @@ function useCurrentWallet() {
|
|
|
759
665
|
currentWallet,
|
|
760
666
|
isDisconnected: false,
|
|
761
667
|
isConnecting: false,
|
|
762
|
-
isConnected: true
|
|
668
|
+
isConnected: true,
|
|
669
|
+
supportedIntents
|
|
763
670
|
};
|
|
764
671
|
}
|
|
765
672
|
}
|
|
@@ -829,9 +736,9 @@ var separator = "AccountDropdownMenu_separator__1x0gmpf5";
|
|
|
829
736
|
var switchAccountMenuItem = "AccountDropdownMenu_switchAccountMenuItem__1x0gmpf4";
|
|
830
737
|
|
|
831
738
|
// src/components/icons/CheckIcon.tsx
|
|
832
|
-
import { jsx as
|
|
739
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
833
740
|
function CheckIcon(props) {
|
|
834
|
-
return /* @__PURE__ */
|
|
741
|
+
return /* @__PURE__ */ jsx16("svg", { xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, fill: "none", ...props, children: /* @__PURE__ */ jsx16(
|
|
835
742
|
"path",
|
|
836
743
|
{
|
|
837
744
|
fill: "currentColor",
|
|
@@ -841,9 +748,9 @@ function CheckIcon(props) {
|
|
|
841
748
|
}
|
|
842
749
|
|
|
843
750
|
// src/components/icons/ChevronIcon.tsx
|
|
844
|
-
import { jsx as
|
|
751
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
845
752
|
function ChevronIcon(props) {
|
|
846
|
-
return /* @__PURE__ */
|
|
753
|
+
return /* @__PURE__ */ jsx17("svg", { xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, fill: "none", ...props, children: /* @__PURE__ */ jsx17(
|
|
847
754
|
"path",
|
|
848
755
|
{
|
|
849
756
|
stroke: "#A0B6C3",
|
|
@@ -856,20 +763,17 @@ function ChevronIcon(props) {
|
|
|
856
763
|
}
|
|
857
764
|
|
|
858
765
|
// src/components/AccountDropdownMenu.tsx
|
|
859
|
-
import { jsx as
|
|
860
|
-
function AccountDropdownMenu({ currentAccount }) {
|
|
766
|
+
import { jsx as jsx18, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
767
|
+
function AccountDropdownMenu({ currentAccount, size = "lg" }) {
|
|
861
768
|
const { mutate: disconnectWallet } = useDisconnectWallet();
|
|
862
|
-
const { data: domain } = useResolveIotaNSName(
|
|
863
|
-
currentAccount.label ? null : currentAccount.address
|
|
864
|
-
);
|
|
865
769
|
const accounts = useAccounts();
|
|
866
770
|
return /* @__PURE__ */ jsxs8(DropdownMenu.Root, { modal: false, children: [
|
|
867
|
-
/* @__PURE__ */
|
|
868
|
-
/* @__PURE__ */
|
|
869
|
-
/* @__PURE__ */
|
|
771
|
+
/* @__PURE__ */ jsx18(StyleMarker, { children: /* @__PURE__ */ jsx18(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ jsxs8(Button, { size, className: connectedAccount, children: [
|
|
772
|
+
/* @__PURE__ */ jsx18(Text, { mono: true, weight: "bold", children: currentAccount.label ?? formatAddress(currentAccount.address) }),
|
|
773
|
+
/* @__PURE__ */ jsx18(ChevronIcon, {})
|
|
870
774
|
] }) }) }),
|
|
871
|
-
/* @__PURE__ */
|
|
872
|
-
accounts.map((account) => /* @__PURE__ */
|
|
775
|
+
/* @__PURE__ */ jsx18(DropdownMenu.Portal, { children: /* @__PURE__ */ jsx18(StyleMarker, { className: menuContainer, children: /* @__PURE__ */ jsxs8(DropdownMenu.Content, { className: menuContent, children: [
|
|
776
|
+
accounts.map((account) => /* @__PURE__ */ jsx18(
|
|
873
777
|
AccountDropdownMenuItem,
|
|
874
778
|
{
|
|
875
779
|
account,
|
|
@@ -877,8 +781,8 @@ function AccountDropdownMenu({ currentAccount }) {
|
|
|
877
781
|
},
|
|
878
782
|
account.address
|
|
879
783
|
)),
|
|
880
|
-
/* @__PURE__ */
|
|
881
|
-
/* @__PURE__ */
|
|
784
|
+
/* @__PURE__ */ jsx18(DropdownMenu.Separator, { className: separator }),
|
|
785
|
+
/* @__PURE__ */ jsx18(
|
|
882
786
|
DropdownMenu.Item,
|
|
883
787
|
{
|
|
884
788
|
className: clsx7(menuItem),
|
|
@@ -894,35 +798,80 @@ function AccountDropdownMenuItem({
|
|
|
894
798
|
active
|
|
895
799
|
}) {
|
|
896
800
|
const { mutate: switchAccount } = useSwitchAccount();
|
|
897
|
-
const { data: domain } = useResolveIotaNSName(account.label ? null : account.address);
|
|
898
801
|
return /* @__PURE__ */ jsxs8(
|
|
899
802
|
DropdownMenu.Item,
|
|
900
803
|
{
|
|
901
804
|
className: clsx7(menuItem, switchAccountMenuItem),
|
|
902
805
|
onSelect: () => switchAccount({ account }),
|
|
903
806
|
children: [
|
|
904
|
-
/* @__PURE__ */
|
|
905
|
-
active ? /* @__PURE__ */
|
|
807
|
+
/* @__PURE__ */ jsx18(Text, { mono: true, children: account.label ?? formatAddress(account.address) }),
|
|
808
|
+
active ? /* @__PURE__ */ jsx18(CheckIcon, {}) : null
|
|
906
809
|
]
|
|
907
810
|
}
|
|
908
811
|
);
|
|
909
812
|
}
|
|
910
813
|
|
|
911
814
|
// src/components/ConnectButton.tsx
|
|
912
|
-
import { jsx as
|
|
815
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
913
816
|
function ConnectButton({
|
|
914
817
|
connectText = "Connect Wallet",
|
|
818
|
+
size,
|
|
915
819
|
...buttonProps
|
|
916
820
|
}) {
|
|
917
821
|
const currentAccount = useCurrentAccount();
|
|
918
|
-
return currentAccount ? /* @__PURE__ */
|
|
822
|
+
return currentAccount ? /* @__PURE__ */ jsx19(AccountDropdownMenu, { currentAccount, size }) : /* @__PURE__ */ jsx19(
|
|
919
823
|
ConnectModal,
|
|
920
824
|
{
|
|
921
|
-
trigger: /* @__PURE__ */
|
|
825
|
+
trigger: /* @__PURE__ */ jsx19(StyleMarker, { children: /* @__PURE__ */ jsx19(Button, { ...buttonProps, size, children: connectText }) })
|
|
922
826
|
}
|
|
923
827
|
);
|
|
924
828
|
}
|
|
925
829
|
|
|
830
|
+
// src/components/IotaClientProvider.tsx
|
|
831
|
+
import { getNetwork, isIotaClient, Network, IotaClient } from "@iota/iota-sdk/client";
|
|
832
|
+
import { createContext as createContext2, useMemo, useState as useState2 } from "react";
|
|
833
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
834
|
+
var IotaClientContext = createContext2(null);
|
|
835
|
+
var DEFAULT_NETWORKS = {
|
|
836
|
+
localnet: { url: getNetwork(Network.Local).url }
|
|
837
|
+
};
|
|
838
|
+
var DEFAULT_CREATE_CLIENT = function createClient(_name, config) {
|
|
839
|
+
if (isIotaClient(config)) {
|
|
840
|
+
return config;
|
|
841
|
+
}
|
|
842
|
+
return new IotaClient(config);
|
|
843
|
+
};
|
|
844
|
+
function IotaClientProvider(props) {
|
|
845
|
+
const { onNetworkChange, network, children } = props;
|
|
846
|
+
const networks = props.networks ?? DEFAULT_NETWORKS;
|
|
847
|
+
const createClient2 = props.createClient ?? DEFAULT_CREATE_CLIENT;
|
|
848
|
+
const [selectedNetwork, setSelectedNetwork] = useState2(
|
|
849
|
+
props.network ?? props.defaultNetwork ?? Object.keys(networks)[0]
|
|
850
|
+
);
|
|
851
|
+
const currentNetwork = props.network ?? selectedNetwork;
|
|
852
|
+
const client = useMemo(() => {
|
|
853
|
+
return createClient2(currentNetwork, networks[currentNetwork]);
|
|
854
|
+
}, [createClient2, currentNetwork, networks]);
|
|
855
|
+
const ctx = useMemo(() => {
|
|
856
|
+
return {
|
|
857
|
+
client,
|
|
858
|
+
networks,
|
|
859
|
+
network: currentNetwork,
|
|
860
|
+
config: networks[currentNetwork] instanceof IotaClient ? null : networks[currentNetwork],
|
|
861
|
+
selectNetwork: (newNetwork) => {
|
|
862
|
+
if (currentNetwork === newNetwork) {
|
|
863
|
+
return;
|
|
864
|
+
}
|
|
865
|
+
if (!network && newNetwork !== selectedNetwork) {
|
|
866
|
+
setSelectedNetwork(newNetwork);
|
|
867
|
+
}
|
|
868
|
+
onNetworkChange?.(newNetwork);
|
|
869
|
+
}
|
|
870
|
+
};
|
|
871
|
+
}, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);
|
|
872
|
+
return /* @__PURE__ */ jsx20(IotaClientContext.Provider, { value: ctx, children });
|
|
873
|
+
}
|
|
874
|
+
|
|
926
875
|
// src/components/WalletProvider.tsx
|
|
927
876
|
import { useRef } from "react";
|
|
928
877
|
|
|
@@ -943,16 +892,17 @@ function createInMemoryStore() {
|
|
|
943
892
|
}
|
|
944
893
|
|
|
945
894
|
// src/constants/walletDefaults.ts
|
|
946
|
-
var IOTA_WALLET_NAME = "
|
|
895
|
+
var IOTA_WALLET_NAME = "IOTA Wallet";
|
|
947
896
|
var DEFAULT_STORAGE = typeof window !== "undefined" && window.localStorage ? localStorage : createInMemoryStore();
|
|
948
897
|
var DEFAULT_STORAGE_KEY = "iota-dapp-kit:wallet-connection-info";
|
|
949
|
-
var
|
|
950
|
-
|
|
951
|
-
];
|
|
898
|
+
var SIGN_FEATURES = ["iota:signTransaction"];
|
|
899
|
+
var DEFAULT_WALLET_FILTER = (wallet) => SIGN_FEATURES.some((feature) => wallet.features[feature]);
|
|
952
900
|
var DEFAULT_PREFERRED_WALLETS = [IOTA_WALLET_NAME];
|
|
901
|
+
var WALLET_CHROME_EXTENSION_ID = "TODO";
|
|
902
|
+
var WALLET_DOWNLOAD_URL = "https://chromewebstore.google.com/detail/" + WALLET_CHROME_EXTENSION_ID;
|
|
953
903
|
|
|
954
904
|
// src/hooks/wallet/useAutoConnectWallet.ts
|
|
955
|
-
import { useQuery
|
|
905
|
+
import { useQuery } from "@tanstack/react-query";
|
|
956
906
|
import { useLayoutEffect, useState as useState3 } from "react";
|
|
957
907
|
function useAutoConnectWallet() {
|
|
958
908
|
const { mutateAsync: connectWallet } = useConnectWallet();
|
|
@@ -967,7 +917,7 @@ function useAutoConnectWallet() {
|
|
|
967
917
|
useLayoutEffect(() => {
|
|
968
918
|
setClientOnly(true);
|
|
969
919
|
}, []);
|
|
970
|
-
const { data, isError } =
|
|
920
|
+
const { data, isError } = useQuery({
|
|
971
921
|
queryKey: [
|
|
972
922
|
"@iota/dapp-kit",
|
|
973
923
|
"autoconnect",
|
|
@@ -1028,8 +978,27 @@ function useAutoConnectWallet() {
|
|
|
1028
978
|
|
|
1029
979
|
// src/hooks/wallet/useUnsafeBurnerWallet.ts
|
|
1030
980
|
import { Ed25519Keypair } from "@iota/iota-sdk/keypairs/ed25519";
|
|
981
|
+
import { Transaction } from "@iota/iota-sdk/transactions";
|
|
982
|
+
import { toB64 } from "@iota/iota-sdk/utils";
|
|
1031
983
|
import { getWallets as getWallets2, ReadonlyWalletAccount, SUPPORTED_CHAINS } from "@iota/wallet-standard";
|
|
1032
984
|
import { useEffect } from "react";
|
|
985
|
+
|
|
986
|
+
// src/hooks/useIotaClient.ts
|
|
987
|
+
import { useContext as useContext2 } from "react";
|
|
988
|
+
function useIotaClientContext() {
|
|
989
|
+
const iotaClient = useContext2(IotaClientContext);
|
|
990
|
+
if (!iotaClient) {
|
|
991
|
+
throw new Error(
|
|
992
|
+
"Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider"
|
|
993
|
+
);
|
|
994
|
+
}
|
|
995
|
+
return iotaClient;
|
|
996
|
+
}
|
|
997
|
+
function useIotaClient() {
|
|
998
|
+
return useIotaClientContext().client;
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
// src/hooks/wallet/useUnsafeBurnerWallet.ts
|
|
1033
1002
|
var WALLET_NAME = "Unsafe Burner Wallet";
|
|
1034
1003
|
function useUnsafeBurnerWallet(enabled) {
|
|
1035
1004
|
const iotaClient = useIotaClient();
|
|
@@ -1042,7 +1011,7 @@ function useUnsafeBurnerWallet(enabled) {
|
|
|
1042
1011
|
}, [enabled, iotaClient]);
|
|
1043
1012
|
}
|
|
1044
1013
|
function registerUnsafeBurnerWallet(iotaClient) {
|
|
1045
|
-
var _on, _connect, _signPersonalMessage,
|
|
1014
|
+
var _on, _connect, _signPersonalMessage, _signTransaction, _signAndExecuteTransaction;
|
|
1046
1015
|
const walletsApi = getWallets2();
|
|
1047
1016
|
const registeredWallets = walletsApi.get();
|
|
1048
1017
|
if (registeredWallets.find((wallet) => wallet.name === WALLET_NAME)) {
|
|
@@ -1059,7 +1028,7 @@ function registerUnsafeBurnerWallet(iotaClient) {
|
|
|
1059
1028
|
address: keypair.getPublicKey().toIotaAddress(),
|
|
1060
1029
|
publicKey: keypair.getPublicKey().toIotaBytes(),
|
|
1061
1030
|
chains: ["iota:unknown"],
|
|
1062
|
-
features: ["iota:
|
|
1031
|
+
features: ["iota:signTransaction", "iota:signAndExecuteTransaction"]
|
|
1063
1032
|
});
|
|
1064
1033
|
class UnsafeBurnerWallet {
|
|
1065
1034
|
constructor() {
|
|
@@ -1074,23 +1043,40 @@ function registerUnsafeBurnerWallet(iotaClient) {
|
|
|
1074
1043
|
const { bytes, signature } = await keypair.signPersonalMessage(messageInput.message);
|
|
1075
1044
|
return { bytes, signature };
|
|
1076
1045
|
});
|
|
1077
|
-
__privateAdd(this,
|
|
1078
|
-
const { bytes, signature } = await
|
|
1046
|
+
__privateAdd(this, _signTransaction, async (transactionInput) => {
|
|
1047
|
+
const { bytes, signature } = await Transaction.from(
|
|
1048
|
+
await transactionInput.transaction.toJSON()
|
|
1049
|
+
).sign({
|
|
1079
1050
|
client: iotaClient,
|
|
1080
1051
|
signer: keypair
|
|
1081
1052
|
});
|
|
1053
|
+
transactionInput.signal?.throwIfAborted();
|
|
1082
1054
|
return {
|
|
1083
|
-
|
|
1055
|
+
bytes,
|
|
1084
1056
|
signature
|
|
1085
1057
|
};
|
|
1086
1058
|
});
|
|
1087
|
-
__privateAdd(this,
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1059
|
+
__privateAdd(this, _signAndExecuteTransaction, async (transactionInput) => {
|
|
1060
|
+
const { bytes, signature } = await Transaction.from(
|
|
1061
|
+
await transactionInput.transaction.toJSON()
|
|
1062
|
+
).sign({
|
|
1063
|
+
client: iotaClient,
|
|
1064
|
+
signer: keypair
|
|
1065
|
+
});
|
|
1066
|
+
transactionInput.signal?.throwIfAborted();
|
|
1067
|
+
const { rawEffects, digest } = await iotaClient.executeTransactionBlock({
|
|
1068
|
+
signature,
|
|
1069
|
+
transactionBlock: bytes,
|
|
1070
|
+
options: {
|
|
1071
|
+
showRawEffects: true
|
|
1072
|
+
}
|
|
1093
1073
|
});
|
|
1074
|
+
return {
|
|
1075
|
+
bytes,
|
|
1076
|
+
signature,
|
|
1077
|
+
digest,
|
|
1078
|
+
effects: toB64(new Uint8Array(rawEffects))
|
|
1079
|
+
};
|
|
1094
1080
|
});
|
|
1095
1081
|
}
|
|
1096
1082
|
get version() {
|
|
@@ -1102,7 +1088,7 @@ function registerUnsafeBurnerWallet(iotaClient) {
|
|
|
1102
1088
|
get icon() {
|
|
1103
1089
|
return "data:image/png;base64,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";
|
|
1104
1090
|
}
|
|
1105
|
-
// Return the
|
|
1091
|
+
// Return the IOTA chains that your wallet supports.
|
|
1106
1092
|
get chains() {
|
|
1107
1093
|
return SUPPORTED_CHAINS;
|
|
1108
1094
|
}
|
|
@@ -1123,13 +1109,13 @@ function registerUnsafeBurnerWallet(iotaClient) {
|
|
|
1123
1109
|
version: "1.0.0",
|
|
1124
1110
|
signPersonalMessage: __privateGet(this, _signPersonalMessage)
|
|
1125
1111
|
},
|
|
1126
|
-
"iota:
|
|
1127
|
-
version: "
|
|
1128
|
-
|
|
1112
|
+
"iota:signTransaction": {
|
|
1113
|
+
version: "2.0.0",
|
|
1114
|
+
signTransaction: __privateGet(this, _signTransaction)
|
|
1129
1115
|
},
|
|
1130
|
-
"iota:
|
|
1131
|
-
version: "
|
|
1132
|
-
|
|
1116
|
+
"iota:signAndExecuteTransaction": {
|
|
1117
|
+
version: "2.0.0",
|
|
1118
|
+
signAndExecuteTransaction: __privateGet(this, _signAndExecuteTransaction)
|
|
1133
1119
|
}
|
|
1134
1120
|
};
|
|
1135
1121
|
}
|
|
@@ -1137,8 +1123,8 @@ function registerUnsafeBurnerWallet(iotaClient) {
|
|
|
1137
1123
|
_on = new WeakMap();
|
|
1138
1124
|
_connect = new WeakMap();
|
|
1139
1125
|
_signPersonalMessage = new WeakMap();
|
|
1140
|
-
|
|
1141
|
-
|
|
1126
|
+
_signTransaction = new WeakMap();
|
|
1127
|
+
_signAndExecuteTransaction = new WeakMap();
|
|
1142
1128
|
return walletsApi.register(new UnsafeBurnerWallet());
|
|
1143
1129
|
}
|
|
1144
1130
|
|
|
@@ -1163,17 +1149,18 @@ function useWalletPropertiesChanged() {
|
|
|
1163
1149
|
// src/hooks/wallet/useWalletsChanged.ts
|
|
1164
1150
|
import { getWallets as getWallets3 } from "@iota/wallet-standard";
|
|
1165
1151
|
import { useEffect as useEffect3 } from "react";
|
|
1166
|
-
function useWalletsChanged(preferredWallets,
|
|
1152
|
+
function useWalletsChanged(preferredWallets, walletFilter) {
|
|
1167
1153
|
const setWalletRegistered = useWalletStore((state) => state.setWalletRegistered);
|
|
1168
1154
|
const setWalletUnregistered = useWalletStore((state) => state.setWalletUnregistered);
|
|
1169
1155
|
useEffect3(() => {
|
|
1170
1156
|
const walletsApi = getWallets3();
|
|
1157
|
+
setWalletRegistered(getRegisteredWallets(preferredWallets, walletFilter));
|
|
1171
1158
|
const unsubscribeFromRegister = walletsApi.on("register", () => {
|
|
1172
|
-
setWalletRegistered(getRegisteredWallets(preferredWallets,
|
|
1159
|
+
setWalletRegistered(getRegisteredWallets(preferredWallets, walletFilter));
|
|
1173
1160
|
});
|
|
1174
1161
|
const unsubscribeFromUnregister = walletsApi.on("unregister", (unregisteredWallet) => {
|
|
1175
1162
|
setWalletUnregistered(
|
|
1176
|
-
getRegisteredWallets(preferredWallets,
|
|
1163
|
+
getRegisteredWallets(preferredWallets, walletFilter),
|
|
1177
1164
|
unregisteredWallet
|
|
1178
1165
|
);
|
|
1179
1166
|
});
|
|
@@ -1181,7 +1168,7 @@ function useWalletsChanged(preferredWallets, requiredFeatures) {
|
|
|
1181
1168
|
unsubscribeFromRegister();
|
|
1182
1169
|
unsubscribeFromUnregister();
|
|
1183
1170
|
};
|
|
1184
|
-
}, [preferredWallets,
|
|
1171
|
+
}, [preferredWallets, walletFilter, setWalletRegistered, setWalletUnregistered]);
|
|
1185
1172
|
}
|
|
1186
1173
|
|
|
1187
1174
|
// src/themes/lightTheme.ts
|
|
@@ -1197,18 +1184,18 @@ var lightTheme = {
|
|
|
1197
1184
|
modalPrimary: "white",
|
|
1198
1185
|
modalSecondary: "#F7F8F8",
|
|
1199
1186
|
iconButton: "transparent",
|
|
1200
|
-
iconButtonHover: "#F0F1F2",
|
|
1201
1187
|
dropdownMenu: "#FFFFFF",
|
|
1202
1188
|
dropdownMenuSeparator: "#F3F6F8",
|
|
1203
1189
|
walletItemSelected: "white",
|
|
1204
|
-
walletItemHover: "#3C424226"
|
|
1190
|
+
walletItemHover: "#3C424226",
|
|
1191
|
+
scrollThumb: "#cad4e2"
|
|
1205
1192
|
},
|
|
1206
1193
|
borderColors: {
|
|
1207
1194
|
outlineButton: "#E4E4E7"
|
|
1208
1195
|
},
|
|
1209
1196
|
colors: {
|
|
1210
1197
|
primaryButton: "#373737",
|
|
1211
|
-
|
|
1198
|
+
outlineButtonHover: "#373737",
|
|
1212
1199
|
iconButton: "#000000",
|
|
1213
1200
|
body: "#182435",
|
|
1214
1201
|
bodyMuted: "#767A81",
|
|
@@ -1218,11 +1205,8 @@ var lightTheme = {
|
|
|
1218
1205
|
small: "6px",
|
|
1219
1206
|
medium: "8px",
|
|
1220
1207
|
large: "12px",
|
|
1221
|
-
xlarge: "16px"
|
|
1222
|
-
|
|
1223
|
-
shadows: {
|
|
1224
|
-
primaryButton: "0px 4px 12px rgba(0, 0, 0, 0.1)",
|
|
1225
|
-
walletItemSelected: "0px 2px 6px rgba(0, 0, 0, 0.05)"
|
|
1208
|
+
xlarge: "16px",
|
|
1209
|
+
full: "120px"
|
|
1226
1210
|
},
|
|
1227
1211
|
fontWeights: {
|
|
1228
1212
|
normal: "400",
|
|
@@ -1240,6 +1224,14 @@ var lightTheme = {
|
|
|
1240
1224
|
fontStyle: "normal",
|
|
1241
1225
|
lineHeight: "1.3",
|
|
1242
1226
|
letterSpacing: "1"
|
|
1227
|
+
},
|
|
1228
|
+
spacing: {
|
|
1229
|
+
xxsmall: "4px",
|
|
1230
|
+
xsmall: "8px",
|
|
1231
|
+
small: "12px",
|
|
1232
|
+
medium: "16px",
|
|
1233
|
+
large: "24px",
|
|
1234
|
+
xlarge: "32px"
|
|
1243
1235
|
}
|
|
1244
1236
|
};
|
|
1245
1237
|
|
|
@@ -1263,19 +1255,21 @@ function createWalletStore({
|
|
|
1263
1255
|
lastConnectedAccountAddress: null,
|
|
1264
1256
|
lastConnectedWalletName: null,
|
|
1265
1257
|
connectionStatus: "disconnected",
|
|
1258
|
+
supportedIntents: [],
|
|
1266
1259
|
setConnectionStatus(connectionStatus2) {
|
|
1267
1260
|
set(() => ({
|
|
1268
1261
|
connectionStatus: connectionStatus2
|
|
1269
1262
|
}));
|
|
1270
1263
|
},
|
|
1271
|
-
setWalletConnected(wallet, connectedAccounts, selectedAccount) {
|
|
1264
|
+
setWalletConnected(wallet, connectedAccounts, selectedAccount, supportedIntents = []) {
|
|
1272
1265
|
set(() => ({
|
|
1273
1266
|
accounts: connectedAccounts,
|
|
1274
1267
|
currentWallet: wallet,
|
|
1275
1268
|
currentAccount: selectedAccount,
|
|
1276
1269
|
lastConnectedWalletName: getWalletUniqueIdentifier(wallet),
|
|
1277
1270
|
lastConnectedAccountAddress: selectedAccount?.address,
|
|
1278
|
-
connectionStatus: "connected"
|
|
1271
|
+
connectionStatus: "connected",
|
|
1272
|
+
supportedIntents
|
|
1279
1273
|
}));
|
|
1280
1274
|
},
|
|
1281
1275
|
setWalletDisconnected() {
|
|
@@ -1285,7 +1279,8 @@ function createWalletStore({
|
|
|
1285
1279
|
currentAccount: null,
|
|
1286
1280
|
lastConnectedWalletName: null,
|
|
1287
1281
|
lastConnectedAccountAddress: null,
|
|
1288
|
-
connectionStatus: "disconnected"
|
|
1282
|
+
connectionStatus: "disconnected",
|
|
1283
|
+
supportedIntents: []
|
|
1289
1284
|
}));
|
|
1290
1285
|
},
|
|
1291
1286
|
setAccountSwitched(selectedAccount) {
|
|
@@ -1306,7 +1301,8 @@ function createWalletStore({
|
|
|
1306
1301
|
currentAccount: null,
|
|
1307
1302
|
lastConnectedWalletName: null,
|
|
1308
1303
|
lastConnectedAccountAddress: null,
|
|
1309
|
-
connectionStatus: "disconnected"
|
|
1304
|
+
connectionStatus: "disconnected",
|
|
1305
|
+
supportedIntents: []
|
|
1310
1306
|
}));
|
|
1311
1307
|
} else {
|
|
1312
1308
|
set(() => ({ wallets: updatedWallets }));
|
|
@@ -1353,16 +1349,16 @@ var themeContractValues = {
|
|
|
1353
1349
|
modalPrimary: "",
|
|
1354
1350
|
modalSecondary: "",
|
|
1355
1351
|
iconButton: "",
|
|
1356
|
-
iconButtonHover: "",
|
|
1357
1352
|
dropdownMenu: "",
|
|
1358
|
-
dropdownMenuSeparator: ""
|
|
1353
|
+
dropdownMenuSeparator: "",
|
|
1354
|
+
scrollThumb: ""
|
|
1359
1355
|
},
|
|
1360
1356
|
borderColors: {
|
|
1361
1357
|
outlineButton: ""
|
|
1362
1358
|
},
|
|
1363
1359
|
colors: {
|
|
1364
1360
|
primaryButton: "",
|
|
1365
|
-
|
|
1361
|
+
outlineButtonHover: "",
|
|
1366
1362
|
body: "",
|
|
1367
1363
|
bodyMuted: "",
|
|
1368
1364
|
bodyDanger: "",
|
|
@@ -1372,11 +1368,8 @@ var themeContractValues = {
|
|
|
1372
1368
|
small: "",
|
|
1373
1369
|
medium: "",
|
|
1374
1370
|
large: "",
|
|
1375
|
-
xlarge: ""
|
|
1376
|
-
|
|
1377
|
-
shadows: {
|
|
1378
|
-
primaryButton: "",
|
|
1379
|
-
walletItemSelected: ""
|
|
1371
|
+
xlarge: "",
|
|
1372
|
+
full: ""
|
|
1380
1373
|
},
|
|
1381
1374
|
fontWeights: {
|
|
1382
1375
|
normal: "",
|
|
@@ -1394,6 +1387,14 @@ var themeContractValues = {
|
|
|
1394
1387
|
fontStyle: "",
|
|
1395
1388
|
lineHeight: "",
|
|
1396
1389
|
letterSpacing: ""
|
|
1390
|
+
},
|
|
1391
|
+
spacing: {
|
|
1392
|
+
xxsmall: "",
|
|
1393
|
+
xsmall: "",
|
|
1394
|
+
small: "",
|
|
1395
|
+
medium: "",
|
|
1396
|
+
large: "",
|
|
1397
|
+
xlarge: ""
|
|
1397
1398
|
}
|
|
1398
1399
|
};
|
|
1399
1400
|
var themeVars = createGlobalThemeContract(
|
|
@@ -1408,6 +1409,8 @@ function InjectedThemeStyles({ theme }) {
|
|
|
1408
1409
|
return /* @__PURE__ */ jsx21(
|
|
1409
1410
|
"style",
|
|
1410
1411
|
{
|
|
1412
|
+
precedence: "default",
|
|
1413
|
+
href: "iota-dapp-kit-theme",
|
|
1411
1414
|
dangerouslySetInnerHTML: {
|
|
1412
1415
|
__html: themeStyles
|
|
1413
1416
|
}
|
|
@@ -1432,7 +1435,7 @@ function cssStringFromTheme(theme) {
|
|
|
1432
1435
|
import { jsx as jsx22, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1433
1436
|
function WalletProvider({
|
|
1434
1437
|
preferredWallets = DEFAULT_PREFERRED_WALLETS,
|
|
1435
|
-
|
|
1438
|
+
walletFilter = DEFAULT_WALLET_FILTER,
|
|
1436
1439
|
storage = DEFAULT_STORAGE,
|
|
1437
1440
|
storageKey = DEFAULT_STORAGE_KEY,
|
|
1438
1441
|
enableUnsafeBurner = false,
|
|
@@ -1443,7 +1446,7 @@ function WalletProvider({
|
|
|
1443
1446
|
const storeRef = useRef(
|
|
1444
1447
|
createWalletStore({
|
|
1445
1448
|
autoConnectEnabled: autoConnect,
|
|
1446
|
-
wallets: getRegisteredWallets(preferredWallets,
|
|
1449
|
+
wallets: getRegisteredWallets(preferredWallets, walletFilter),
|
|
1447
1450
|
storage: storage || createInMemoryStore(),
|
|
1448
1451
|
storageKey
|
|
1449
1452
|
})
|
|
@@ -1452,7 +1455,7 @@ function WalletProvider({
|
|
|
1452
1455
|
WalletConnectionManager,
|
|
1453
1456
|
{
|
|
1454
1457
|
preferredWallets,
|
|
1455
|
-
|
|
1458
|
+
walletFilter,
|
|
1456
1459
|
enableUnsafeBurner,
|
|
1457
1460
|
children: [
|
|
1458
1461
|
theme ? /* @__PURE__ */ jsx22(InjectedThemeStyles, { theme }) : null,
|
|
@@ -1463,11 +1466,11 @@ function WalletProvider({
|
|
|
1463
1466
|
}
|
|
1464
1467
|
function WalletConnectionManager({
|
|
1465
1468
|
preferredWallets = DEFAULT_PREFERRED_WALLETS,
|
|
1466
|
-
|
|
1469
|
+
walletFilter = DEFAULT_WALLET_FILTER,
|
|
1467
1470
|
enableUnsafeBurner = false,
|
|
1468
1471
|
children
|
|
1469
1472
|
}) {
|
|
1470
|
-
useWalletsChanged(preferredWallets,
|
|
1473
|
+
useWalletsChanged(preferredWallets, walletFilter);
|
|
1471
1474
|
useWalletPropertiesChanged();
|
|
1472
1475
|
useUnsafeBurnerWallet(enableUnsafeBurner);
|
|
1473
1476
|
useAutoConnectWallet();
|
|
@@ -1532,6 +1535,22 @@ function useIotaClientMutation(method, options = {}) {
|
|
|
1532
1535
|
});
|
|
1533
1536
|
}
|
|
1534
1537
|
|
|
1538
|
+
// src/hooks/useIotaClientQuery.ts
|
|
1539
|
+
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
1540
|
+
function useIotaClientQuery(...args) {
|
|
1541
|
+
const [method, params, { queryKey = [], ...options } = {}] = args;
|
|
1542
|
+
const iotaContext = useIotaClientContext();
|
|
1543
|
+
return useQuery2({
|
|
1544
|
+
...options,
|
|
1545
|
+
queryKey: [iotaContext.network, method, params, ...queryKey],
|
|
1546
|
+
queryFn: async () => {
|
|
1547
|
+
return await iotaContext.client[method](
|
|
1548
|
+
params
|
|
1549
|
+
);
|
|
1550
|
+
}
|
|
1551
|
+
});
|
|
1552
|
+
}
|
|
1553
|
+
|
|
1535
1554
|
// src/hooks/useIotaClientQueries.ts
|
|
1536
1555
|
import { useQueries } from "@tanstack/react-query";
|
|
1537
1556
|
function useIotaClientQueries({
|
|
@@ -1554,146 +1573,276 @@ function useIotaClientQueries({
|
|
|
1554
1573
|
});
|
|
1555
1574
|
}
|
|
1556
1575
|
|
|
1557
|
-
// src/hooks/wallet/
|
|
1576
|
+
// src/hooks/wallet/useSignAndExecuteTransaction.ts
|
|
1577
|
+
import { toB64 as toB643 } from "@iota/iota-sdk/utils";
|
|
1578
|
+
import { signTransaction } from "@iota/wallet-standard";
|
|
1579
|
+
import { useMutation as useMutation6 } from "@tanstack/react-query";
|
|
1580
|
+
|
|
1581
|
+
// src/hooks/wallet/useReportTransactionEffects.ts
|
|
1582
|
+
import { toB64 as toB642 } from "@iota/iota-sdk/utils";
|
|
1558
1583
|
import { useMutation as useMutation5 } from "@tanstack/react-query";
|
|
1559
|
-
function
|
|
1584
|
+
function useReportTransactionEffects({
|
|
1560
1585
|
mutationKey,
|
|
1561
|
-
executeFromWallet,
|
|
1562
1586
|
...mutationOptions
|
|
1563
1587
|
} = {}) {
|
|
1564
1588
|
const { currentWallet } = useCurrentWallet();
|
|
1565
1589
|
const currentAccount = useCurrentAccount();
|
|
1566
|
-
const client = useIotaClient();
|
|
1567
1590
|
return useMutation5({
|
|
1568
|
-
mutationKey: walletMutationKeys.
|
|
1569
|
-
mutationFn: async ({
|
|
1591
|
+
mutationKey: walletMutationKeys.reportTransactionEffects(mutationKey),
|
|
1592
|
+
mutationFn: async ({
|
|
1593
|
+
effects,
|
|
1594
|
+
chain = currentWallet?.chains[0],
|
|
1595
|
+
account = currentAccount
|
|
1596
|
+
}) => {
|
|
1570
1597
|
if (!currentWallet) {
|
|
1571
1598
|
throw new WalletNotConnectedError("No wallet is connected.");
|
|
1572
1599
|
}
|
|
1573
|
-
|
|
1574
|
-
if (!signerAccount) {
|
|
1600
|
+
if (!account) {
|
|
1575
1601
|
throw new WalletNoAccountSelectedError(
|
|
1576
|
-
"No wallet account is selected to
|
|
1602
|
+
"No wallet account is selected to report transaction effects for"
|
|
1577
1603
|
);
|
|
1578
1604
|
}
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
}
|
|
1586
|
-
return walletFeature2.signAndExecuteTransactionBlock({
|
|
1587
|
-
...signTransactionBlockArgs,
|
|
1588
|
-
account: signerAccount,
|
|
1589
|
-
chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0],
|
|
1590
|
-
requestType,
|
|
1591
|
-
options
|
|
1605
|
+
const reportTransactionEffectsFeature = currentWallet.features["iota:reportTransactionEffects"];
|
|
1606
|
+
if (reportTransactionEffectsFeature) {
|
|
1607
|
+
return await reportTransactionEffectsFeature.reportTransactionEffects({
|
|
1608
|
+
effects: Array.isArray(effects) ? toB642(new Uint8Array(effects)) : effects,
|
|
1609
|
+
account,
|
|
1610
|
+
chain: chain ?? currentWallet?.chains[0]
|
|
1592
1611
|
});
|
|
1593
1612
|
}
|
|
1594
|
-
|
|
1595
|
-
|
|
1613
|
+
},
|
|
1614
|
+
...mutationOptions
|
|
1615
|
+
});
|
|
1616
|
+
}
|
|
1617
|
+
|
|
1618
|
+
// src/hooks/wallet/useSignAndExecuteTransaction.ts
|
|
1619
|
+
function useSignAndExecuteTransaction({
|
|
1620
|
+
mutationKey,
|
|
1621
|
+
execute,
|
|
1622
|
+
...mutationOptions
|
|
1623
|
+
} = {}) {
|
|
1624
|
+
const { currentWallet, supportedIntents } = useCurrentWallet();
|
|
1625
|
+
const currentAccount = useCurrentAccount();
|
|
1626
|
+
const client = useIotaClient();
|
|
1627
|
+
const { mutate: reportTransactionEffects } = useReportTransactionEffects();
|
|
1628
|
+
const executeTransaction = execute ?? (async ({ bytes, signature }) => {
|
|
1629
|
+
const { digest, rawEffects } = await client.executeTransactionBlock({
|
|
1630
|
+
transactionBlock: bytes,
|
|
1631
|
+
signature,
|
|
1632
|
+
options: {
|
|
1633
|
+
showRawEffects: true
|
|
1634
|
+
}
|
|
1635
|
+
});
|
|
1636
|
+
return {
|
|
1637
|
+
digest,
|
|
1638
|
+
rawEffects,
|
|
1639
|
+
effects: toB643(new Uint8Array(rawEffects)),
|
|
1640
|
+
bytes,
|
|
1641
|
+
signature
|
|
1642
|
+
};
|
|
1643
|
+
});
|
|
1644
|
+
return useMutation6({
|
|
1645
|
+
mutationKey: walletMutationKeys.signAndExecuteTransaction(mutationKey),
|
|
1646
|
+
mutationFn: async ({ transaction, ...signTransactionArgs }) => {
|
|
1647
|
+
if (!currentWallet) {
|
|
1648
|
+
throw new WalletNotConnectedError("No wallet is connected.");
|
|
1649
|
+
}
|
|
1650
|
+
const signerAccount = signTransactionArgs.account ?? currentAccount;
|
|
1651
|
+
if (!signerAccount) {
|
|
1652
|
+
throw new WalletNoAccountSelectedError(
|
|
1653
|
+
"No wallet account is selected to sign the transaction with."
|
|
1654
|
+
);
|
|
1655
|
+
}
|
|
1656
|
+
const chain = signTransactionArgs.chain ?? signerAccount?.chains[0];
|
|
1657
|
+
if (!currentWallet.features["iota:signTransaction"]) {
|
|
1596
1658
|
throw new WalletFeatureNotSupportedError(
|
|
1597
|
-
"This wallet doesn't support the `
|
|
1659
|
+
"This wallet doesn't support the `signTransaction` feature."
|
|
1598
1660
|
);
|
|
1599
1661
|
}
|
|
1600
|
-
const { signature,
|
|
1601
|
-
...
|
|
1662
|
+
const { signature, bytes } = await signTransaction(currentWallet, {
|
|
1663
|
+
...signTransactionArgs,
|
|
1664
|
+
transaction: {
|
|
1665
|
+
async toJSON() {
|
|
1666
|
+
return typeof transaction === "string" ? transaction : await transaction.toJSON({
|
|
1667
|
+
supportedIntents,
|
|
1668
|
+
client
|
|
1669
|
+
});
|
|
1670
|
+
}
|
|
1671
|
+
},
|
|
1602
1672
|
account: signerAccount,
|
|
1603
|
-
chain:
|
|
1604
|
-
});
|
|
1605
|
-
return client.executeTransactionBlock({
|
|
1606
|
-
transactionBlock: transactionBlockBytes,
|
|
1607
|
-
signature,
|
|
1608
|
-
requestType,
|
|
1609
|
-
options
|
|
1673
|
+
chain: signTransactionArgs.chain ?? signerAccount.chains[0]
|
|
1610
1674
|
});
|
|
1675
|
+
const result = await executeTransaction({ bytes, signature });
|
|
1676
|
+
let effects;
|
|
1677
|
+
if ("effects" in result && result.effects?.bcs) {
|
|
1678
|
+
effects = result.effects.bcs;
|
|
1679
|
+
} else if ("rawEffects" in result) {
|
|
1680
|
+
effects = toB643(new Uint8Array(result.rawEffects));
|
|
1681
|
+
} else {
|
|
1682
|
+
throw new Error("Could not parse effects from transaction result.");
|
|
1683
|
+
}
|
|
1684
|
+
reportTransactionEffects({ effects, account: signerAccount, chain });
|
|
1685
|
+
return result;
|
|
1611
1686
|
},
|
|
1612
1687
|
...mutationOptions
|
|
1613
1688
|
});
|
|
1614
1689
|
}
|
|
1615
1690
|
|
|
1616
1691
|
// src/hooks/wallet/useSignPersonalMessage.ts
|
|
1617
|
-
import { useMutation as
|
|
1692
|
+
import { useMutation as useMutation7 } from "@tanstack/react-query";
|
|
1618
1693
|
function useSignPersonalMessage({
|
|
1619
1694
|
mutationKey,
|
|
1620
1695
|
...mutationOptions
|
|
1621
1696
|
} = {}) {
|
|
1622
1697
|
const { currentWallet } = useCurrentWallet();
|
|
1623
1698
|
const currentAccount = useCurrentAccount();
|
|
1624
|
-
return
|
|
1699
|
+
return useMutation7({
|
|
1625
1700
|
mutationKey: walletMutationKeys.signPersonalMessage(mutationKey),
|
|
1626
1701
|
mutationFn: async (signPersonalMessageArgs) => {
|
|
1627
1702
|
if (!currentWallet) {
|
|
1628
1703
|
throw new WalletNotConnectedError("No wallet is connected.");
|
|
1629
1704
|
}
|
|
1705
|
+
const signPersonalMessageFeature = currentWallet.features["iota:signPersonalMessage"];
|
|
1706
|
+
if (!signPersonalMessageFeature) {
|
|
1707
|
+
throw new WalletFeatureNotSupportedError(
|
|
1708
|
+
"This wallet doesn't support the `signPersonalMessage` feature."
|
|
1709
|
+
);
|
|
1710
|
+
}
|
|
1630
1711
|
const signerAccount = signPersonalMessageArgs.account ?? currentAccount;
|
|
1631
1712
|
if (!signerAccount) {
|
|
1632
1713
|
throw new WalletNoAccountSelectedError(
|
|
1633
1714
|
"No wallet account is selected to sign the personal message with."
|
|
1634
1715
|
);
|
|
1635
1716
|
}
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
account: signerAccount
|
|
1641
|
-
});
|
|
1642
|
-
}
|
|
1643
|
-
const signMessageFeature = currentWallet.features["iota:signMessage"];
|
|
1644
|
-
if (signMessageFeature) {
|
|
1645
|
-
console.warn(
|
|
1646
|
-
"This wallet doesn't support the `signPersonalMessage` feature... falling back to `signMessage`."
|
|
1647
|
-
);
|
|
1648
|
-
const { messageBytes, signature } = await signMessageFeature.signMessage({
|
|
1649
|
-
...signPersonalMessageArgs,
|
|
1650
|
-
account: signerAccount
|
|
1651
|
-
});
|
|
1652
|
-
return { bytes: messageBytes, signature };
|
|
1653
|
-
}
|
|
1654
|
-
throw new WalletFeatureNotSupportedError(
|
|
1655
|
-
"This wallet doesn't support the `signPersonalMessage` feature."
|
|
1656
|
-
);
|
|
1717
|
+
return await signPersonalMessageFeature.signPersonalMessage({
|
|
1718
|
+
...signPersonalMessageArgs,
|
|
1719
|
+
account: signerAccount
|
|
1720
|
+
});
|
|
1657
1721
|
},
|
|
1658
1722
|
...mutationOptions
|
|
1659
1723
|
});
|
|
1660
1724
|
}
|
|
1661
1725
|
|
|
1662
|
-
// src/hooks/wallet/
|
|
1663
|
-
import {
|
|
1664
|
-
|
|
1726
|
+
// src/hooks/wallet/useSignTransaction.ts
|
|
1727
|
+
import { signTransaction as signTransaction2 } from "@iota/wallet-standard";
|
|
1728
|
+
import { useMutation as useMutation8 } from "@tanstack/react-query";
|
|
1729
|
+
function useSignTransaction({
|
|
1665
1730
|
mutationKey,
|
|
1666
1731
|
...mutationOptions
|
|
1667
1732
|
} = {}) {
|
|
1668
1733
|
const { currentWallet } = useCurrentWallet();
|
|
1669
1734
|
const currentAccount = useCurrentAccount();
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1735
|
+
const client = useIotaClient();
|
|
1736
|
+
const { mutate: reportTransactionEffects } = useReportTransactionEffects();
|
|
1737
|
+
return useMutation8({
|
|
1738
|
+
mutationKey: walletMutationKeys.signTransaction(mutationKey),
|
|
1739
|
+
mutationFn: async ({ transaction, ...signTransactionArgs }) => {
|
|
1673
1740
|
if (!currentWallet) {
|
|
1674
1741
|
throw new WalletNotConnectedError("No wallet is connected.");
|
|
1675
1742
|
}
|
|
1676
|
-
const signerAccount =
|
|
1743
|
+
const signerAccount = signTransactionArgs.account ?? currentAccount;
|
|
1677
1744
|
if (!signerAccount) {
|
|
1678
1745
|
throw new WalletNoAccountSelectedError(
|
|
1679
|
-
"No wallet account is selected to sign the transaction
|
|
1746
|
+
"No wallet account is selected to sign the transaction with."
|
|
1680
1747
|
);
|
|
1681
1748
|
}
|
|
1682
|
-
|
|
1683
|
-
if (!walletFeature) {
|
|
1749
|
+
if (!currentWallet.features["iota:signTransaction"]) {
|
|
1684
1750
|
throw new WalletFeatureNotSupportedError(
|
|
1685
|
-
"This wallet doesn't support the `
|
|
1751
|
+
"This wallet doesn't support the `signTransaction` feature."
|
|
1686
1752
|
);
|
|
1687
1753
|
}
|
|
1688
|
-
|
|
1689
|
-
...
|
|
1754
|
+
const { bytes, signature } = await signTransaction2(currentWallet, {
|
|
1755
|
+
...signTransactionArgs,
|
|
1756
|
+
transaction: {
|
|
1757
|
+
toJSON: async () => {
|
|
1758
|
+
return typeof transaction === "string" ? transaction : await transaction.toJSON({
|
|
1759
|
+
supportedIntents: [],
|
|
1760
|
+
client
|
|
1761
|
+
});
|
|
1762
|
+
}
|
|
1763
|
+
},
|
|
1690
1764
|
account: signerAccount,
|
|
1691
|
-
chain:
|
|
1765
|
+
chain: signTransactionArgs.chain ?? signerAccount.chains[0]
|
|
1692
1766
|
});
|
|
1767
|
+
return {
|
|
1768
|
+
bytes,
|
|
1769
|
+
signature,
|
|
1770
|
+
reportTransactionEffects: (effects) => {
|
|
1771
|
+
reportTransactionEffects({
|
|
1772
|
+
effects,
|
|
1773
|
+
account: signerAccount,
|
|
1774
|
+
chain: signTransactionArgs.chain ?? signerAccount.chains[0]
|
|
1775
|
+
});
|
|
1776
|
+
}
|
|
1777
|
+
};
|
|
1693
1778
|
},
|
|
1694
1779
|
...mutationOptions
|
|
1695
1780
|
});
|
|
1696
1781
|
}
|
|
1782
|
+
|
|
1783
|
+
// src/themes/darkTheme.ts
|
|
1784
|
+
var darkTheme = {
|
|
1785
|
+
blurs: {
|
|
1786
|
+
modalOverlay: "blur(12px)"
|
|
1787
|
+
},
|
|
1788
|
+
backgroundColors: {
|
|
1789
|
+
primaryButton: "#253041",
|
|
1790
|
+
primaryButtonHover: "#313D50",
|
|
1791
|
+
outlineButtonHover: "#313D50",
|
|
1792
|
+
modalOverlay: "rgba(0, 47, 109, 0.72)",
|
|
1793
|
+
modalPrimary: "#0f141c",
|
|
1794
|
+
modalSecondary: "#171d26",
|
|
1795
|
+
iconButton: "transparent",
|
|
1796
|
+
dropdownMenu: "#0f141c",
|
|
1797
|
+
dropdownMenuSeparator: "#bed8ff14",
|
|
1798
|
+
walletItemSelected: "#171D26",
|
|
1799
|
+
walletItemHover: "rgba(190, 216, 255, 0.12)",
|
|
1800
|
+
scrollThumb: "#3c4656"
|
|
1801
|
+
},
|
|
1802
|
+
borderColors: {
|
|
1803
|
+
outlineButton: "#8892A1"
|
|
1804
|
+
},
|
|
1805
|
+
colors: {
|
|
1806
|
+
primaryButton: "#E3EAF6",
|
|
1807
|
+
outlineButtonHover: "#171D26",
|
|
1808
|
+
iconButton: "#E3EAF6",
|
|
1809
|
+
body: "#E3EAF6",
|
|
1810
|
+
bodyMuted: "#8892A1",
|
|
1811
|
+
bodyDanger: "#FFB0BE"
|
|
1812
|
+
},
|
|
1813
|
+
radii: {
|
|
1814
|
+
small: "6px",
|
|
1815
|
+
medium: "8px",
|
|
1816
|
+
large: "12px",
|
|
1817
|
+
xlarge: "16px",
|
|
1818
|
+
full: "120px"
|
|
1819
|
+
},
|
|
1820
|
+
fontWeights: {
|
|
1821
|
+
normal: "400",
|
|
1822
|
+
medium: "500",
|
|
1823
|
+
bold: "600"
|
|
1824
|
+
},
|
|
1825
|
+
fontSizes: {
|
|
1826
|
+
small: "14px",
|
|
1827
|
+
medium: "16px",
|
|
1828
|
+
large: "18px",
|
|
1829
|
+
xlarge: "20px"
|
|
1830
|
+
},
|
|
1831
|
+
typography: {
|
|
1832
|
+
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"',
|
|
1833
|
+
fontStyle: "normal",
|
|
1834
|
+
lineHeight: "24px",
|
|
1835
|
+
letterSpacing: "0.1px"
|
|
1836
|
+
},
|
|
1837
|
+
spacing: {
|
|
1838
|
+
xxsmall: "4px",
|
|
1839
|
+
xsmall: "8px",
|
|
1840
|
+
small: "12px",
|
|
1841
|
+
medium: "16px",
|
|
1842
|
+
large: "24px",
|
|
1843
|
+
xlarge: "32px"
|
|
1844
|
+
}
|
|
1845
|
+
};
|
|
1697
1846
|
export {
|
|
1698
1847
|
ConnectButton,
|
|
1699
1848
|
ConnectModal,
|
|
@@ -1701,6 +1850,7 @@ export {
|
|
|
1701
1850
|
IotaClientProvider,
|
|
1702
1851
|
WalletProvider,
|
|
1703
1852
|
createNetworkConfig,
|
|
1853
|
+
darkTheme,
|
|
1704
1854
|
lightTheme,
|
|
1705
1855
|
useAccounts,
|
|
1706
1856
|
useAutoConnectWallet,
|
|
@@ -1714,10 +1864,10 @@ export {
|
|
|
1714
1864
|
useIotaClientMutation,
|
|
1715
1865
|
useIotaClientQueries,
|
|
1716
1866
|
useIotaClientQuery,
|
|
1717
|
-
|
|
1718
|
-
|
|
1867
|
+
useReportTransactionEffects,
|
|
1868
|
+
useSignAndExecuteTransaction,
|
|
1719
1869
|
useSignPersonalMessage,
|
|
1720
|
-
|
|
1870
|
+
useSignTransaction,
|
|
1721
1871
|
useSwitchAccount,
|
|
1722
1872
|
useWallets
|
|
1723
1873
|
};
|