@iota/dapp-kit 0.0.0-experimental-20250610130929
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 +166 -0
- package/LICENSE +201 -0
- package/README.md +100 -0
- package/dist/cjs/components/AccountDropdownMenu.css +183 -0
- package/dist/cjs/components/AccountDropdownMenu.css.css +56 -0
- package/dist/cjs/components/AccountDropdownMenu.css.css.map +7 -0
- package/dist/cjs/components/AccountDropdownMenu.css.d.ts +7 -0
- package/dist/cjs/components/AccountDropdownMenu.css.js +39 -0
- package/dist/cjs/components/AccountDropdownMenu.css.js.map +7 -0
- package/dist/cjs/components/AccountDropdownMenu.css.map +7 -0
- package/dist/cjs/components/AccountDropdownMenu.d.ts +12 -0
- package/dist/cjs/components/AccountDropdownMenu.js +365 -0
- package/dist/cjs/components/AccountDropdownMenu.js.map +7 -0
- package/dist/cjs/components/ConnectButton.css +471 -0
- package/dist/cjs/components/ConnectButton.css.map +7 -0
- package/dist/cjs/components/ConnectButton.d.ts +8 -0
- package/dist/cjs/components/ConnectButton.js +825 -0
- package/dist/cjs/components/ConnectButton.js.map +7 -0
- package/dist/cjs/components/IotaClientProvider.d.ts +25 -0
- package/dist/cjs/components/IotaClientProvider.js +70 -0
- package/dist/cjs/components/IotaClientProvider.js.map +7 -0
- package/dist/cjs/components/WalletProvider.d.ts +23 -0
- package/dist/cjs/components/WalletProvider.js +798 -0
- package/dist/cjs/components/WalletProvider.js.map +7 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css +415 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css.css +116 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css.d.ts +11 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css.js +47 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css.js.map +7 -0
- package/dist/cjs/components/connect-modal/ConnectModal.css.map +7 -0
- package/dist/cjs/components/connect-modal/ConnectModal.d.ts +20 -0
- package/dist/cjs/components/connect-modal/ConnectModal.js +608 -0
- package/dist/cjs/components/connect-modal/ConnectModal.js.map +7 -0
- package/dist/cjs/components/connect-modal/InfoSection.css +78 -0
- package/dist/cjs/components/connect-modal/InfoSection.css.css +8 -0
- package/dist/cjs/components/connect-modal/InfoSection.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/InfoSection.css.d.ts +1 -0
- package/dist/cjs/components/connect-modal/InfoSection.css.js +27 -0
- package/dist/cjs/components/connect-modal/InfoSection.css.js.map +7 -0
- package/dist/cjs/components/connect-modal/InfoSection.css.map +7 -0
- package/dist/cjs/components/connect-modal/InfoSection.d.ts +6 -0
- package/dist/cjs/components/connect-modal/InfoSection.js +119 -0
- package/dist/cjs/components/connect-modal/InfoSection.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css +146 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css +33 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.d.ts +5 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.js +35 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.d.ts +8 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.js +173 -0
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.js.map +7 -0
- 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 +151 -0
- package/dist/cjs/components/connect-modal/views/GetTheWallet.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.css +147 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.css +26 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.d.ts +3 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.js +31 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.d.ts +1 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.js +172 -0
- package/dist/cjs/components/connect-modal/views/GettingStarted.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css +96 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css +18 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.d.ts +2 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js +29 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.d.ts +1 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js +135 -0
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/index.css +207 -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 +292 -0
- package/dist/cjs/components/connect-modal/views/index.js.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css +78 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css +13 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.d.ts +2 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.js +29 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.js.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.d.ts +8 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.js +178 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.js.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css +65 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css +33 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.d.ts +4 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js +33 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.d.ts +9 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js +95 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js.map +7 -0
- package/dist/cjs/components/icons/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/icons/BackIcon.d.ts +2 -0
- package/dist/cjs/components/icons/BackIcon.js +36 -0
- package/dist/cjs/components/icons/BackIcon.js.map +7 -0
- package/dist/cjs/components/icons/CheckIcon.d.ts +2 -0
- package/dist/cjs/components/icons/CheckIcon.js +36 -0
- package/dist/cjs/components/icons/CheckIcon.js.map +7 -0
- package/dist/cjs/components/icons/ChevronIcon.d.ts +2 -0
- package/dist/cjs/components/icons/ChevronIcon.js +39 -0
- package/dist/cjs/components/icons/ChevronIcon.js.map +7 -0
- package/dist/cjs/components/icons/CloseIcon.d.ts +2 -0
- package/dist/cjs/components/icons/CloseIcon.js +36 -0
- package/dist/cjs/components/icons/CloseIcon.js.map +7 -0
- package/dist/cjs/components/icons/IotaIcon.d.ts +2 -0
- package/dist/cjs/components/icons/IotaIcon.js +47 -0
- package/dist/cjs/components/icons/IotaIcon.js.map +7 -0
- package/dist/cjs/components/styling/InjectedThemeStyles.d.ts +6 -0
- package/dist/cjs/components/styling/InjectedThemeStyles.js +130 -0
- package/dist/cjs/components/styling/InjectedThemeStyles.js.map +7 -0
- package/dist/cjs/components/styling/StyleMarker.css +46 -0
- package/dist/cjs/components/styling/StyleMarker.css.css +46 -0
- package/dist/cjs/components/styling/StyleMarker.css.css.map +7 -0
- package/dist/cjs/components/styling/StyleMarker.css.d.ts +1 -0
- package/dist/cjs/components/styling/StyleMarker.css.js +2 -0
- package/dist/cjs/components/styling/StyleMarker.css.js.map +7 -0
- package/dist/cjs/components/styling/StyleMarker.css.map +7 -0
- package/dist/cjs/components/styling/StyleMarker.d.ts +2 -0
- package/dist/cjs/components/styling/StyleMarker.js +69 -0
- package/dist/cjs/components/styling/StyleMarker.js.map +7 -0
- package/dist/cjs/components/ui/Button.css +43 -0
- package/dist/cjs/components/ui/Button.css.css +43 -0
- package/dist/cjs/components/ui/Button.css.css.map +7 -0
- package/dist/cjs/components/ui/Button.css.d.ts +32 -0
- package/dist/cjs/components/ui/Button.css.js +28 -0
- package/dist/cjs/components/ui/Button.css.js.map +7 -0
- package/dist/cjs/components/ui/Button.css.map +7 -0
- package/dist/cjs/components/ui/Button.d.ts +8 -0
- package/dist/cjs/components/ui/Button.js +60 -0
- package/dist/cjs/components/ui/Button.js.map +7 -0
- package/dist/cjs/components/ui/Heading.css +32 -0
- package/dist/cjs/components/ui/Heading.css.css +32 -0
- package/dist/cjs/components/ui/Heading.css.css.map +7 -0
- package/dist/cjs/components/ui/Heading.css.d.ts +33 -0
- package/dist/cjs/components/ui/Heading.css.js +28 -0
- package/dist/cjs/components/ui/Heading.css.js.map +7 -0
- package/dist/cjs/components/ui/Heading.css.map +7 -0
- package/dist/cjs/components/ui/Heading.d.ts +12 -0
- package/dist/cjs/components/ui/Heading.js +69 -0
- package/dist/cjs/components/ui/Heading.js.map +7 -0
- package/dist/cjs/components/ui/IconButton.css +9 -0
- package/dist/cjs/components/ui/IconButton.css.css +9 -0
- package/dist/cjs/components/ui/IconButton.css.css.map +7 -0
- package/dist/cjs/components/ui/IconButton.css.d.ts +1 -0
- package/dist/cjs/components/ui/IconButton.css.js +27 -0
- package/dist/cjs/components/ui/IconButton.css.js.map +7 -0
- package/dist/cjs/components/ui/IconButton.css.map +7 -0
- package/dist/cjs/components/ui/IconButton.d.ts +6 -0
- package/dist/cjs/components/ui/IconButton.js +52 -0
- package/dist/cjs/components/ui/IconButton.js.map +7 -0
- package/dist/cjs/components/ui/Text.css +38 -0
- package/dist/cjs/components/ui/Text.css.css +38 -0
- package/dist/cjs/components/ui/Text.css.css.map +7 -0
- package/dist/cjs/components/ui/Text.css.d.ts +33 -0
- package/dist/cjs/components/ui/Text.css.js +28 -0
- package/dist/cjs/components/ui/Text.css.js.map +7 -0
- package/dist/cjs/components/ui/Text.css.map +7 -0
- package/dist/cjs/components/ui/Text.d.ts +12 -0
- package/dist/cjs/components/ui/Text.js +70 -0
- package/dist/cjs/components/ui/Text.js.map +7 -0
- package/dist/cjs/constants/styleDataAttribute.d.ts +5 -0
- package/dist/cjs/constants/styleDataAttribute.js +31 -0
- package/dist/cjs/constants/styleDataAttribute.js.map +7 -0
- package/dist/cjs/constants/walletDefaults.d.ts +7 -0
- package/dist/cjs/constants/walletDefaults.js +57 -0
- package/dist/cjs/constants/walletDefaults.js.map +7 -0
- package/dist/cjs/constants/walletMutationKeys.d.ts +14 -0
- package/dist/cjs/constants/walletMutationKeys.js +42 -0
- package/dist/cjs/constants/walletMutationKeys.js.map +7 -0
- package/dist/cjs/contexts/walletContext.d.ts +11 -0
- package/dist/cjs/contexts/walletContext.js +28 -0
- package/dist/cjs/contexts/walletContext.js.map +7 -0
- package/dist/cjs/errors/walletErrors.d.ts +22 -0
- package/dist/cjs/errors/walletErrors.js +37 -0
- package/dist/cjs/errors/walletErrors.js.map +7 -0
- package/dist/cjs/hooks/networkConfig.d.ts +10 -0
- package/dist/cjs/hooks/networkConfig.js +74 -0
- package/dist/cjs/hooks/networkConfig.js.map +7 -0
- package/dist/cjs/hooks/useIotaClient.d.ts +3 -0
- package/dist/cjs/hooks/useIotaClient.js +51 -0
- package/dist/cjs/hooks/useIotaClient.js.map +7 -0
- package/dist/cjs/hooks/useIotaClientInfiniteQuery.d.ts +25 -0
- package/dist/cjs/hooks/useIotaClientInfiniteQuery.js +70 -0
- package/dist/cjs/hooks/useIotaClientInfiniteQuery.js.map +7 -0
- package/dist/cjs/hooks/useIotaClientMutation.d.ts +4 -0
- package/dist/cjs/hooks/useIotaClientMutation.js +61 -0
- package/dist/cjs/hooks/useIotaClientMutation.js.map +7 -0
- package/dist/cjs/hooks/useIotaClientQueries.d.ts +27 -0
- package/dist/cjs/hooks/useIotaClientQueries.js +71 -0
- package/dist/cjs/hooks/useIotaClientQueries.js.map +7 -0
- package/dist/cjs/hooks/useIotaClientQuery.d.ts +27 -0
- package/dist/cjs/hooks/useIotaClientQuery.js +65 -0
- package/dist/cjs/hooks/useIotaClientQuery.js.map +7 -0
- package/dist/cjs/hooks/wallet/useAccounts.d.ts +5 -0
- package/dist/cjs/hooks/wallet/useAccounts.js +50 -0
- package/dist/cjs/hooks/wallet/useAccounts.js.map +7 -0
- package/dist/cjs/hooks/wallet/useAutoConnectWallet.d.ts +1 -0
- package/dist/cjs/hooks/wallet/useAutoConnectWallet.js +235 -0
- package/dist/cjs/hooks/wallet/useAutoConnectWallet.js.map +7 -0
- package/dist/cjs/hooks/wallet/useConnectWallet.d.ts +15 -0
- package/dist/cjs/hooks/wallet/useConnectWallet.js +110 -0
- package/dist/cjs/hooks/wallet/useConnectWallet.js.map +7 -0
- package/dist/cjs/hooks/wallet/useCurrentAccount.d.ts +5 -0
- package/dist/cjs/hooks/wallet/useCurrentAccount.js +50 -0
- package/dist/cjs/hooks/wallet/useCurrentAccount.js.map +7 -0
- package/dist/cjs/hooks/wallet/useCurrentWallet.d.ts +25 -0
- package/dist/cjs/hooks/wallet/useCurrentWallet.js +82 -0
- package/dist/cjs/hooks/wallet/useCurrentWallet.js.map +7 -0
- package/dist/cjs/hooks/wallet/useDisconnectWallet.d.ts +9 -0
- package/dist/cjs/hooks/wallet/useDisconnectWallet.js +132 -0
- package/dist/cjs/hooks/wallet/useDisconnectWallet.js.map +7 -0
- package/dist/cjs/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
- package/dist/cjs/hooks/wallet/useReportTransactionEffects.js +148 -0
- package/dist/cjs/hooks/wallet/useReportTransactionEffects.js.map +7 -0
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.d.ts +29 -0
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js +252 -0
- package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
- package/dist/cjs/hooks/wallet/useSignPersonalMessage.d.ts +13 -0
- package/dist/cjs/hooks/wallet/useSignPersonalMessage.js +148 -0
- package/dist/cjs/hooks/wallet/useSignPersonalMessage.js.map +7 -0
- package/dist/cjs/hooks/wallet/useSignTransaction.d.ts +18 -0
- package/dist/cjs/hooks/wallet/useSignTransaction.js +233 -0
- package/dist/cjs/hooks/wallet/useSignTransaction.js.map +7 -0
- package/dist/cjs/hooks/wallet/useSwitchAccount.d.ts +14 -0
- package/dist/cjs/hooks/wallet/useSwitchAccount.js +134 -0
- package/dist/cjs/hooks/wallet/useSwitchAccount.js.map +7 -0
- package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.d.ts +1 -0
- package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js +193 -0
- package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js.map +7 -0
- package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.d.ts +4 -0
- package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js +100 -0
- package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js.map +7 -0
- package/dist/cjs/hooks/wallet/useWalletStore.d.ts +2 -0
- package/dist/cjs/hooks/wallet/useWalletStore.js +43 -0
- package/dist/cjs/hooks/wallet/useWalletStore.js.map +7 -0
- package/dist/cjs/hooks/wallet/useWallets.d.ts +4 -0
- package/dist/cjs/hooks/wallet/useWallets.js +50 -0
- package/dist/cjs/hooks/wallet/useWallets.js.map +7 -0
- package/dist/cjs/hooks/wallet/useWalletsChanged.d.ts +5 -0
- package/dist/cjs/hooks/wallet/useWalletsChanged.js +86 -0
- package/dist/cjs/hooks/wallet/useWalletsChanged.js.map +7 -0
- package/dist/cjs/index.css +471 -0
- package/dist/cjs/index.css.map +7 -0
- package/dist/cjs/index.d.ts +26 -0
- package/dist/cjs/index.js +1892 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/package.json +4 -0
- 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.d.ts +2 -0
- package/dist/cjs/themes/lightTheme.js +88 -0
- package/dist/cjs/themes/lightTheme.js.map +7 -0
- package/dist/cjs/themes/themeContract.d.ts +150 -0
- package/dist/cjs/themes/themeContract.js +93 -0
- package/dist/cjs/themes/themeContract.js.map +7 -0
- package/dist/cjs/types/utilityTypes.d.ts +1 -0
- package/dist/cjs/types/utilityTypes.js +19 -0
- package/dist/cjs/types/utilityTypes.js.map +7 -0
- package/dist/cjs/types.d.ts +2 -0
- package/dist/cjs/types.js +19 -0
- package/dist/cjs/types.js.map +7 -0
- package/dist/cjs/utils/assertUnreachable.d.ts +4 -0
- package/dist/cjs/utils/assertUnreachable.js +29 -0
- package/dist/cjs/utils/assertUnreachable.js.map +7 -0
- package/dist/cjs/utils/stateStorage.d.ts +2 -0
- package/dist/cjs/utils/stateStorage.js +40 -0
- package/dist/cjs/utils/stateStorage.js.map +7 -0
- package/dist/cjs/utils/walletUtils.d.ts +3 -0
- package/dist/cjs/utils/walletUtils.js +44 -0
- package/dist/cjs/utils/walletUtils.js.map +7 -0
- package/dist/cjs/walletStore.d.ts +42 -0
- package/dist/cjs/walletStore.js +127 -0
- package/dist/cjs/walletStore.js.map +7 -0
- package/dist/esm/components/AccountDropdownMenu.css +183 -0
- package/dist/esm/components/AccountDropdownMenu.css.css +56 -0
- package/dist/esm/components/AccountDropdownMenu.css.css.map +7 -0
- package/dist/esm/components/AccountDropdownMenu.css.d.ts +7 -0
- package/dist/esm/components/AccountDropdownMenu.css.js +18 -0
- package/dist/esm/components/AccountDropdownMenu.css.js.map +7 -0
- package/dist/esm/components/AccountDropdownMenu.css.map +7 -0
- package/dist/esm/components/AccountDropdownMenu.d.ts +12 -0
- package/dist/esm/components/AccountDropdownMenu.js +357 -0
- package/dist/esm/components/AccountDropdownMenu.js.map +7 -0
- package/dist/esm/components/ConnectButton.css +471 -0
- package/dist/esm/components/ConnectButton.css.map +7 -0
- package/dist/esm/components/ConnectButton.d.ts +8 -0
- package/dist/esm/components/ConnectButton.js +815 -0
- package/dist/esm/components/ConnectButton.js.map +7 -0
- package/dist/esm/components/IotaClientProvider.d.ts +25 -0
- package/dist/esm/components/IotaClientProvider.js +49 -0
- package/dist/esm/components/IotaClientProvider.js.map +7 -0
- package/dist/esm/components/WalletProvider.d.ts +23 -0
- package/dist/esm/components/WalletProvider.js +778 -0
- package/dist/esm/components/WalletProvider.js.map +7 -0
- package/dist/esm/components/connect-modal/ConnectModal.css +415 -0
- package/dist/esm/components/connect-modal/ConnectModal.css.css +116 -0
- package/dist/esm/components/connect-modal/ConnectModal.css.css.map +7 -0
- package/dist/esm/components/connect-modal/ConnectModal.css.d.ts +11 -0
- package/dist/esm/components/connect-modal/ConnectModal.css.js +26 -0
- package/dist/esm/components/connect-modal/ConnectModal.css.js.map +7 -0
- package/dist/esm/components/connect-modal/ConnectModal.css.map +7 -0
- package/dist/esm/components/connect-modal/ConnectModal.d.ts +20 -0
- package/dist/esm/components/connect-modal/ConnectModal.js +600 -0
- package/dist/esm/components/connect-modal/ConnectModal.js.map +7 -0
- package/dist/esm/components/connect-modal/InfoSection.css +78 -0
- package/dist/esm/components/connect-modal/InfoSection.css.css +8 -0
- package/dist/esm/components/connect-modal/InfoSection.css.css.map +7 -0
- package/dist/esm/components/connect-modal/InfoSection.css.d.ts +1 -0
- package/dist/esm/components/connect-modal/InfoSection.css.js +6 -0
- package/dist/esm/components/connect-modal/InfoSection.css.js.map +7 -0
- package/dist/esm/components/connect-modal/InfoSection.css.map +7 -0
- package/dist/esm/components/connect-modal/InfoSection.d.ts +6 -0
- package/dist/esm/components/connect-modal/InfoSection.js +86 -0
- package/dist/esm/components/connect-modal/InfoSection.js.map +7 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css +146 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css +33 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css.map +7 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.d.ts +5 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js +14 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js.map +7 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.map +7 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.d.ts +8 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.js +140 -0
- package/dist/esm/components/connect-modal/views/ConnectionStatus.js.map +7 -0
- 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 +118 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.js.map +7 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.css +147 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.css.css +26 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.css.css.map +7 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.css.d.ts +3 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.css.js +10 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.css.js.map +7 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.css.map +7 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.d.ts +1 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.js +139 -0
- package/dist/esm/components/connect-modal/views/GettingStarted.js.map +7 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css +96 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css +18 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css.map +7 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.d.ts +2 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js +8 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js.map +7 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.map +7 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.d.ts +1 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.js +102 -0
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
- package/dist/esm/components/connect-modal/views/index.css +207 -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 +259 -0
- package/dist/esm/components/connect-modal/views/index.js.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css +78 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css +13 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.d.ts +2 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js +8 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.d.ts +8 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.js +145 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.js.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css +65 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css +33 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.d.ts +4 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js +12 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.d.ts +9 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js +64 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js.map +7 -0
- package/dist/esm/components/icons/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/icons/BackIcon.d.ts +2 -0
- package/dist/esm/components/icons/BackIcon.js +15 -0
- package/dist/esm/components/icons/BackIcon.js.map +7 -0
- package/dist/esm/components/icons/CheckIcon.d.ts +2 -0
- package/dist/esm/components/icons/CheckIcon.js +15 -0
- package/dist/esm/components/icons/CheckIcon.js.map +7 -0
- package/dist/esm/components/icons/ChevronIcon.d.ts +2 -0
- package/dist/esm/components/icons/ChevronIcon.js +18 -0
- package/dist/esm/components/icons/ChevronIcon.js.map +7 -0
- package/dist/esm/components/icons/CloseIcon.d.ts +2 -0
- package/dist/esm/components/icons/CloseIcon.js +15 -0
- package/dist/esm/components/icons/CloseIcon.js.map +7 -0
- package/dist/esm/components/icons/IotaIcon.d.ts +2 -0
- package/dist/esm/components/icons/IotaIcon.js +26 -0
- package/dist/esm/components/icons/IotaIcon.js.map +7 -0
- package/dist/esm/components/styling/InjectedThemeStyles.d.ts +6 -0
- package/dist/esm/components/styling/InjectedThemeStyles.js +109 -0
- package/dist/esm/components/styling/InjectedThemeStyles.js.map +7 -0
- package/dist/esm/components/styling/StyleMarker.css +46 -0
- package/dist/esm/components/styling/StyleMarker.css.css +46 -0
- package/dist/esm/components/styling/StyleMarker.css.css.map +7 -0
- package/dist/esm/components/styling/StyleMarker.css.d.ts +1 -0
- package/dist/esm/components/styling/StyleMarker.css.js +22 -0
- package/dist/esm/components/styling/StyleMarker.css.js.map +7 -0
- package/dist/esm/components/styling/StyleMarker.css.map +7 -0
- package/dist/esm/components/styling/StyleMarker.d.ts +2 -0
- package/dist/esm/components/styling/StyleMarker.js +61 -0
- package/dist/esm/components/styling/StyleMarker.js.map +7 -0
- package/dist/esm/components/ui/Button.css +43 -0
- package/dist/esm/components/ui/Button.css.css +43 -0
- package/dist/esm/components/ui/Button.css.css.map +7 -0
- package/dist/esm/components/ui/Button.css.d.ts +32 -0
- package/dist/esm/components/ui/Button.css.js +7 -0
- package/dist/esm/components/ui/Button.css.js.map +7 -0
- package/dist/esm/components/ui/Button.css.map +7 -0
- package/dist/esm/components/ui/Button.d.ts +8 -0
- package/dist/esm/components/ui/Button.js +29 -0
- package/dist/esm/components/ui/Button.js.map +7 -0
- package/dist/esm/components/ui/Heading.css +32 -0
- package/dist/esm/components/ui/Heading.css.css +32 -0
- package/dist/esm/components/ui/Heading.css.css.map +7 -0
- package/dist/esm/components/ui/Heading.css.d.ts +33 -0
- package/dist/esm/components/ui/Heading.css.js +7 -0
- package/dist/esm/components/ui/Heading.css.js.map +7 -0
- package/dist/esm/components/ui/Heading.css.map +7 -0
- package/dist/esm/components/ui/Heading.d.ts +12 -0
- package/dist/esm/components/ui/Heading.js +38 -0
- package/dist/esm/components/ui/Heading.js.map +7 -0
- package/dist/esm/components/ui/IconButton.css +9 -0
- package/dist/esm/components/ui/IconButton.css.css +9 -0
- package/dist/esm/components/ui/IconButton.css.css.map +7 -0
- package/dist/esm/components/ui/IconButton.css.d.ts +1 -0
- package/dist/esm/components/ui/IconButton.css.js +6 -0
- package/dist/esm/components/ui/IconButton.css.js.map +7 -0
- package/dist/esm/components/ui/IconButton.css.map +7 -0
- package/dist/esm/components/ui/IconButton.d.ts +6 -0
- package/dist/esm/components/ui/IconButton.js +21 -0
- package/dist/esm/components/ui/IconButton.js.map +7 -0
- package/dist/esm/components/ui/Text.css +38 -0
- package/dist/esm/components/ui/Text.css.css +38 -0
- package/dist/esm/components/ui/Text.css.css.map +7 -0
- package/dist/esm/components/ui/Text.css.d.ts +33 -0
- package/dist/esm/components/ui/Text.css.js +7 -0
- package/dist/esm/components/ui/Text.css.js.map +7 -0
- package/dist/esm/components/ui/Text.css.map +7 -0
- package/dist/esm/components/ui/Text.d.ts +12 -0
- package/dist/esm/components/ui/Text.js +39 -0
- package/dist/esm/components/ui/Text.js.map +7 -0
- package/dist/esm/constants/styleDataAttribute.d.ts +5 -0
- package/dist/esm/constants/styleDataAttribute.js +10 -0
- package/dist/esm/constants/styleDataAttribute.js.map +7 -0
- package/dist/esm/constants/walletDefaults.d.ts +7 -0
- package/dist/esm/constants/walletDefaults.js +34 -0
- package/dist/esm/constants/walletDefaults.js.map +7 -0
- package/dist/esm/constants/walletMutationKeys.d.ts +14 -0
- package/dist/esm/constants/walletMutationKeys.js +21 -0
- package/dist/esm/constants/walletMutationKeys.js.map +7 -0
- package/dist/esm/contexts/walletContext.d.ts +11 -0
- package/dist/esm/contexts/walletContext.js +7 -0
- package/dist/esm/contexts/walletContext.js.map +7 -0
- package/dist/esm/errors/walletErrors.d.ts +22 -0
- package/dist/esm/errors/walletErrors.js +16 -0
- package/dist/esm/errors/walletErrors.js.map +7 -0
- package/dist/esm/hooks/networkConfig.d.ts +10 -0
- package/dist/esm/hooks/networkConfig.js +51 -0
- package/dist/esm/hooks/networkConfig.js.map +7 -0
- package/dist/esm/hooks/useIotaClient.d.ts +3 -0
- package/dist/esm/hooks/useIotaClient.js +30 -0
- package/dist/esm/hooks/useIotaClient.js.map +7 -0
- package/dist/esm/hooks/useIotaClientInfiniteQuery.d.ts +25 -0
- package/dist/esm/hooks/useIotaClientInfiniteQuery.js +49 -0
- package/dist/esm/hooks/useIotaClientInfiniteQuery.js.map +7 -0
- package/dist/esm/hooks/useIotaClientMutation.d.ts +4 -0
- package/dist/esm/hooks/useIotaClientMutation.js +40 -0
- package/dist/esm/hooks/useIotaClientMutation.js.map +7 -0
- package/dist/esm/hooks/useIotaClientQueries.d.ts +27 -0
- package/dist/esm/hooks/useIotaClientQueries.js +50 -0
- package/dist/esm/hooks/useIotaClientQueries.js.map +7 -0
- package/dist/esm/hooks/useIotaClientQuery.d.ts +27 -0
- package/dist/esm/hooks/useIotaClientQuery.js +44 -0
- package/dist/esm/hooks/useIotaClientQuery.js.map +7 -0
- package/dist/esm/hooks/wallet/useAccounts.d.ts +5 -0
- package/dist/esm/hooks/wallet/useAccounts.js +27 -0
- package/dist/esm/hooks/wallet/useAccounts.js.map +7 -0
- package/dist/esm/hooks/wallet/useAutoConnectWallet.d.ts +1 -0
- package/dist/esm/hooks/wallet/useAutoConnectWallet.js +214 -0
- package/dist/esm/hooks/wallet/useAutoConnectWallet.js.map +7 -0
- package/dist/esm/hooks/wallet/useConnectWallet.d.ts +15 -0
- package/dist/esm/hooks/wallet/useConnectWallet.js +89 -0
- package/dist/esm/hooks/wallet/useConnectWallet.js.map +7 -0
- package/dist/esm/hooks/wallet/useCurrentAccount.d.ts +5 -0
- package/dist/esm/hooks/wallet/useCurrentAccount.js +27 -0
- package/dist/esm/hooks/wallet/useCurrentAccount.js.map +7 -0
- package/dist/esm/hooks/wallet/useCurrentWallet.d.ts +25 -0
- package/dist/esm/hooks/wallet/useCurrentWallet.js +59 -0
- package/dist/esm/hooks/wallet/useCurrentWallet.js.map +7 -0
- package/dist/esm/hooks/wallet/useDisconnectWallet.d.ts +9 -0
- package/dist/esm/hooks/wallet/useDisconnectWallet.js +111 -0
- package/dist/esm/hooks/wallet/useDisconnectWallet.js.map +7 -0
- package/dist/esm/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
- package/dist/esm/hooks/wallet/useReportTransactionEffects.js +127 -0
- package/dist/esm/hooks/wallet/useReportTransactionEffects.js.map +7 -0
- package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.d.ts +29 -0
- package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js +231 -0
- package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
- package/dist/esm/hooks/wallet/useSignPersonalMessage.d.ts +13 -0
- package/dist/esm/hooks/wallet/useSignPersonalMessage.js +127 -0
- package/dist/esm/hooks/wallet/useSignPersonalMessage.js.map +7 -0
- package/dist/esm/hooks/wallet/useSignTransaction.d.ts +18 -0
- package/dist/esm/hooks/wallet/useSignTransaction.js +212 -0
- package/dist/esm/hooks/wallet/useSignTransaction.js.map +7 -0
- package/dist/esm/hooks/wallet/useSwitchAccount.d.ts +14 -0
- package/dist/esm/hooks/wallet/useSwitchAccount.js +113 -0
- package/dist/esm/hooks/wallet/useSwitchAccount.js.map +7 -0
- package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.d.ts +1 -0
- package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js +173 -0
- package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js.map +7 -0
- package/dist/esm/hooks/wallet/useWalletPropertiesChanged.d.ts +4 -0
- package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js +79 -0
- package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js.map +7 -0
- package/dist/esm/hooks/wallet/useWalletStore.d.ts +2 -0
- package/dist/esm/hooks/wallet/useWalletStore.js +22 -0
- package/dist/esm/hooks/wallet/useWalletStore.js.map +7 -0
- package/dist/esm/hooks/wallet/useWallets.d.ts +4 -0
- package/dist/esm/hooks/wallet/useWallets.js +27 -0
- package/dist/esm/hooks/wallet/useWallets.js.map +7 -0
- package/dist/esm/hooks/wallet/useWalletsChanged.d.ts +5 -0
- package/dist/esm/hooks/wallet/useWalletsChanged.js +65 -0
- package/dist/esm/hooks/wallet/useWalletsChanged.js.map +7 -0
- package/dist/esm/index.css +471 -0
- package/dist/esm/index.css.map +7 -0
- package/dist/esm/index.d.ts +26 -0
- package/dist/esm/index.js +1882 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/package.json +4 -0
- 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.d.ts +2 -0
- package/dist/esm/themes/lightTheme.js +67 -0
- package/dist/esm/themes/lightTheme.js.map +7 -0
- package/dist/esm/themes/themeContract.d.ts +150 -0
- package/dist/esm/themes/themeContract.js +72 -0
- package/dist/esm/themes/themeContract.js.map +7 -0
- package/dist/esm/types/utilityTypes.d.ts +1 -0
- package/dist/esm/types/utilityTypes.js +1 -0
- package/dist/esm/types/utilityTypes.js.map +7 -0
- package/dist/esm/types.d.ts +2 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/types.js.map +7 -0
- package/dist/esm/utils/assertUnreachable.d.ts +4 -0
- package/dist/esm/utils/assertUnreachable.js +8 -0
- package/dist/esm/utils/assertUnreachable.js.map +7 -0
- package/dist/esm/utils/stateStorage.d.ts +2 -0
- package/dist/esm/utils/stateStorage.js +19 -0
- package/dist/esm/utils/stateStorage.js.map +7 -0
- package/dist/esm/utils/walletUtils.d.ts +3 -0
- package/dist/esm/utils/walletUtils.js +23 -0
- package/dist/esm/utils/walletUtils.js.map +7 -0
- package/dist/esm/walletStore.d.ts +42 -0
- package/dist/esm/walletStore.js +106 -0
- package/dist/esm/walletStore.js.map +7 -0
- package/dist/index.css/package.json +5 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +96 -0
- package/src/components/AccountDropdownMenu.css.ts +60 -0
- package/src/components/AccountDropdownMenu.tsx +85 -0
- package/src/components/ConnectButton.tsx +37 -0
- package/src/components/IotaClientProvider.tsx +97 -0
- package/src/components/WalletProvider.tsx +106 -0
- package/src/components/connect-modal/ConnectModal.css.ts +125 -0
- package/src/components/connect-modal/ConnectModal.tsx +167 -0
- package/src/components/connect-modal/InfoSection.css.ts +11 -0
- package/src/components/connect-modal/InfoSection.tsx +25 -0
- package/src/components/connect-modal/views/ConnectionStatus.css.ts +37 -0
- package/src/components/connect-modal/views/ConnectionStatus.tsx +55 -0
- 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.css.ts +29 -0
- package/src/components/connect-modal/views/GettingStarted.tsx +40 -0
- package/src/components/connect-modal/views/WhatIsAWallet.css.ts +21 -0
- package/src/components/connect-modal/views/WhatIsAWallet.tsx +24 -0
- package/src/components/connect-modal/views/index.ts +6 -0
- package/src/components/connect-modal/wallet-list/WalletList.css.ts +17 -0
- package/src/components/connect-modal/wallet-list/WalletList.tsx +43 -0
- package/src/components/connect-modal/wallet-list/WalletListItem.css.ts +36 -0
- package/src/components/connect-modal/wallet-list/WalletListItem.tsx +37 -0
- package/src/components/icons/ArrowRightIcon.tsx +23 -0
- package/src/components/icons/ArrowTopRightIcon.tsx +23 -0
- package/src/components/icons/BackIcon.tsx +18 -0
- package/src/components/icons/CheckIcon.tsx +16 -0
- package/src/components/icons/ChevronIcon.tsx +19 -0
- package/src/components/icons/CloseIcon.tsx +16 -0
- package/src/components/icons/IotaIcon.tsx +23 -0
- package/src/components/styling/InjectedThemeStyles.tsx +56 -0
- package/src/components/styling/StyleMarker.css.ts +49 -0
- package/src/components/styling/StyleMarker.tsx +25 -0
- package/src/components/ui/Button.css.ts +49 -0
- package/src/components/ui/Button.tsx +32 -0
- package/src/components/ui/Heading.css.ts +44 -0
- package/src/components/ui/Heading.tsx +53 -0
- package/src/components/ui/IconButton.css.ts +14 -0
- package/src/components/ui/IconButton.tsx +25 -0
- package/src/components/ui/Text.css.ts +39 -0
- package/src/components/ui/Text.tsx +51 -0
- package/src/constants/styleDataAttribute.ts +9 -0
- package/src/constants/walletDefaults.ts +26 -0
- package/src/constants/walletMutationKeys.ts +23 -0
- package/src/contexts/walletContext.ts +9 -0
- package/src/errors/walletErrors.ts +25 -0
- package/src/hooks/networkConfig.ts +46 -0
- package/src/hooks/useIotaClient.ts +24 -0
- package/src/hooks/useIotaClientInfiniteQuery.ts +87 -0
- package/src/hooks/useIotaClientMutation.ts +28 -0
- package/src/hooks/useIotaClientQueries.ts +69 -0
- package/src/hooks/useIotaClientQuery.ts +74 -0
- package/src/hooks/wallet/useAccounts.ts +14 -0
- package/src/hooks/wallet/useAutoConnectWallet.ts +95 -0
- package/src/hooks/wallet/useConnectWallet.ts +91 -0
- package/src/hooks/wallet/useCurrentAccount.ts +14 -0
- package/src/hooks/wallet/useCurrentWallet.ts +45 -0
- package/src/hooks/wallet/useDisconnectWallet.ts +57 -0
- package/src/hooks/wallet/useReportTransactionEffects.ts +87 -0
- package/src/hooks/wallet/useSignAndExecuteTransaction.ts +165 -0
- package/src/hooks/wallet/useSignPersonalMessage.ts +84 -0
- package/src/hooks/wallet/useSignTransaction.ts +117 -0
- package/src/hooks/wallet/useSwitchAccount.ts +61 -0
- package/src/hooks/wallet/useUnsafeBurnerWallet.ts +168 -0
- package/src/hooks/wallet/useWalletPropertiesChanged.ts +30 -0
- package/src/hooks/wallet/useWalletStore.ts +19 -0
- package/src/hooks/wallet/useWallets.ts +12 -0
- package/src/hooks/wallet/useWalletsChanged.ts +42 -0
- package/src/index.ts +31 -0
- package/src/themes/darkTheme.ts +69 -0
- package/src/themes/lightTheme.ts +69 -0
- package/src/themes/themeContract.ts +103 -0
- package/src/types/utilityTypes.ts +5 -0
- package/src/types.ts +6 -0
- package/src/utils/assertUnreachable.ts +10 -0
- package/src/utils/stateStorage.ts +20 -0
- package/src/utils/walletUtils.ts +40 -0
- package/src/walletStore.ts +152 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// src/hooks/useIotaClient.ts
|
|
2
|
+
import { useContext } from "react";
|
|
3
|
+
|
|
4
|
+
// src/components/IotaClientProvider.tsx
|
|
5
|
+
import { getNetwork, isIotaClient, Network, IotaClient } from "@iota/iota-sdk/client";
|
|
6
|
+
import { createContext, useMemo, useState } from "react";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
var IotaClientContext = createContext(null);
|
|
9
|
+
var DEFAULT_NETWORKS = {
|
|
10
|
+
localnet: { url: getNetwork(Network.Localnet)?.url }
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
// src/hooks/useIotaClient.ts
|
|
14
|
+
function useIotaClientContext() {
|
|
15
|
+
const iotaClient = useContext(IotaClientContext);
|
|
16
|
+
if (!iotaClient) {
|
|
17
|
+
throw new Error(
|
|
18
|
+
"Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider"
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
return iotaClient;
|
|
22
|
+
}
|
|
23
|
+
function useIotaClient() {
|
|
24
|
+
return useIotaClientContext().client;
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
useIotaClient,
|
|
28
|
+
useIotaClientContext
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=useIotaClient.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/useIotaClient.ts", "../../../src/components/IotaClientProvider.tsx"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport { useContext } from 'react';\n\nimport { IotaClientContext } from '../components/IotaClientProvider.js';\n\nexport function useIotaClientContext() {\n const iotaClient = useContext(IotaClientContext);\n\n if (!iotaClient) {\n throw new Error(\n 'Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider',\n );\n }\n\n return iotaClient;\n}\n\nexport function useIotaClient(): IotaClient {\n return useIotaClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getNetwork, isIotaClient, Network, IotaClient } from '@iota/iota-sdk/client';\nimport type { IotaClientOptions } from '@iota/iota-sdk/client';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | IotaClient = NetworkConfig | IotaClient> = Record<\n string,\n T\n>;\n\nexport interface IotaClientProviderContext {\n client: IotaClient;\n networks: NetworkConfigs;\n network: string;\n config: NetworkConfig | null;\n selectNetwork: (network: string) => void;\n}\n\nexport const IotaClientContext = createContext<IotaClientProviderContext | null>(null);\n\nexport type IotaClientProviderProps<T extends NetworkConfigs> = {\n createClient?: (name: keyof T, config: T[keyof T]) => IotaClient;\n children: React.ReactNode;\n networks?: T;\n onNetworkChange?: (network: keyof T & string) => void;\n} & (\n | {\n defaultNetwork?: keyof T & string;\n network?: never;\n }\n | {\n defaultNetwork?: never;\n network?: keyof T & string;\n }\n);\n\nconst DEFAULT_NETWORKS = {\n localnet: { url: getNetwork(Network.Localnet)?.url },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n _name: string,\n config: NetworkConfig | IotaClient,\n) {\n if (isIotaClient(config)) {\n return config;\n }\n\n return new IotaClient(config);\n};\n\nexport function IotaClientProvider<T extends NetworkConfigs>(props: IotaClientProviderProps<T>) {\n const { onNetworkChange, network, children } = props;\n const networks = (props.networks ?? DEFAULT_NETWORKS) as T;\n const createClient =\n (props.createClient as typeof DEFAULT_CREATE_CLIENT) ?? DEFAULT_CREATE_CLIENT;\n\n const [selectedNetwork, setSelectedNetwork] = useState<keyof T & string>(\n props.network ?? props.defaultNetwork ?? (Object.keys(networks)[0] as keyof T & string),\n );\n\n const currentNetwork = props.network ?? selectedNetwork;\n\n const client = useMemo(() => {\n return createClient(currentNetwork, networks[currentNetwork]);\n }, [createClient, currentNetwork, networks]);\n\n const ctx = useMemo((): IotaClientProviderContext => {\n return {\n client,\n networks,\n network: currentNetwork,\n config:\n networks[currentNetwork] instanceof IotaClient\n ? null\n : (networks[currentNetwork] as IotaClientOptions),\n selectNetwork: (newNetwork) => {\n if (currentNetwork === newNetwork) {\n return;\n }\n\n if (!network && newNetwork !== selectedNetwork) {\n setSelectedNetwork(newNetwork);\n }\n\n onNetworkChange?.(newNetwork);\n },\n };\n }, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);\n\n return <IotaClientContext.Provider value={ctx}>{children}</IotaClientContext.Provider>;\n}\n"],
|
|
5
|
+
"mappings": ";AAKA,SAAS,kBAAkB;;;ACD3B,SAAS,YAAY,cAAc,SAAS,kBAAkB;AAE9D,SAAS,eAAe,SAAS,gBAAgB;AAyFtC;AAxEJ,IAAM,oBAAoB,cAAgD,IAAI;AAkBrF,IAAM,mBAAmB;AAAA,EACrB,UAAU,EAAE,KAAK,WAAW,QAAQ,QAAQ,GAAG,IAAI;AACvD;;;ADlCO,SAAS,uBAAuB;AACnC,QAAM,aAAa,WAAW,iBAAiB;AAE/C,MAAI,CAAC,YAAY;AACb,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AACX;AAEO,SAAS,gBAA4B;AACxC,SAAO,qBAAqB,EAAE;AAClC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { IotaClient } from '@iota/iota-sdk/client';
|
|
2
|
+
import type { InfiniteData, UseInfiniteQueryOptions, UseInfiniteQueryResult } from '@tanstack/react-query';
|
|
3
|
+
import type { PartialBy } from '../types/utilityTypes.js';
|
|
4
|
+
interface PaginatedResult {
|
|
5
|
+
data?: unknown;
|
|
6
|
+
nextCursor?: unknown;
|
|
7
|
+
hasNextPage: boolean;
|
|
8
|
+
}
|
|
9
|
+
export type IotaRpcPaginatedMethodName = {
|
|
10
|
+
[K in keyof IotaClient]: IotaClient[K] extends (input: any) => Promise<PaginatedResult> ? K : never;
|
|
11
|
+
}[keyof IotaClient];
|
|
12
|
+
export type IotaRpcPaginatedMethods = {
|
|
13
|
+
[K in IotaRpcPaginatedMethodName]: IotaClient[K] extends (input: infer Params) => Promise<infer Result extends {
|
|
14
|
+
hasNextPage?: boolean | null;
|
|
15
|
+
nextCursor?: infer Cursor | null;
|
|
16
|
+
}> ? {
|
|
17
|
+
name: K;
|
|
18
|
+
result: Result;
|
|
19
|
+
params: Params;
|
|
20
|
+
cursor: Cursor;
|
|
21
|
+
} : never;
|
|
22
|
+
};
|
|
23
|
+
export type UseIotaClientInfiniteQueryOptions<T extends keyof IotaRpcPaginatedMethods, TData> = PartialBy<Omit<UseInfiniteQueryOptions<IotaRpcPaginatedMethods[T]['result'], Error, TData, IotaRpcPaginatedMethods[T]['result'], unknown[]>, 'queryFn' | 'initialPageParam' | 'getNextPageParam'>, 'queryKey'>;
|
|
24
|
+
export declare function useIotaClientInfiniteQuery<T extends keyof IotaRpcPaginatedMethods, TData = InfiniteData<IotaRpcPaginatedMethods[T]['result']>>(method: T, params: IotaRpcPaginatedMethods[T]['params'], { queryKey, enabled, ...options }?: UseIotaClientInfiniteQueryOptions<T, TData>): UseInfiniteQueryResult<TData, Error>;
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// src/hooks/useIotaClientInfiniteQuery.ts
|
|
2
|
+
import { useInfiniteQuery } from "@tanstack/react-query";
|
|
3
|
+
|
|
4
|
+
// src/hooks/useIotaClient.ts
|
|
5
|
+
import { useContext } from "react";
|
|
6
|
+
|
|
7
|
+
// src/components/IotaClientProvider.tsx
|
|
8
|
+
import { getNetwork, isIotaClient, Network, IotaClient } from "@iota/iota-sdk/client";
|
|
9
|
+
import { createContext, useMemo, useState } from "react";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
var IotaClientContext = createContext(null);
|
|
12
|
+
var DEFAULT_NETWORKS = {
|
|
13
|
+
localnet: { url: getNetwork(Network.Localnet)?.url }
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
// src/hooks/useIotaClient.ts
|
|
17
|
+
function useIotaClientContext() {
|
|
18
|
+
const iotaClient = useContext(IotaClientContext);
|
|
19
|
+
if (!iotaClient) {
|
|
20
|
+
throw new Error(
|
|
21
|
+
"Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider"
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
return iotaClient;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// src/hooks/useIotaClientInfiniteQuery.ts
|
|
28
|
+
function useIotaClientInfiniteQuery(method, params, {
|
|
29
|
+
queryKey = [],
|
|
30
|
+
enabled = !!params,
|
|
31
|
+
...options
|
|
32
|
+
} = {}) {
|
|
33
|
+
const iotaContext = useIotaClientContext();
|
|
34
|
+
return useInfiniteQuery({
|
|
35
|
+
...options,
|
|
36
|
+
initialPageParam: null,
|
|
37
|
+
queryKey: [iotaContext.network, method, params, ...queryKey],
|
|
38
|
+
enabled,
|
|
39
|
+
queryFn: ({ pageParam }) => iotaContext.client[method]({
|
|
40
|
+
...params ?? {},
|
|
41
|
+
cursor: pageParam
|
|
42
|
+
}),
|
|
43
|
+
getNextPageParam: (lastPage) => lastPage.hasNextPage ? lastPage.nextCursor ?? null : null
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
export {
|
|
47
|
+
useIotaClientInfiniteQuery
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=useIotaClientInfiniteQuery.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/useIotaClientInfiniteQuery.ts", "../../../src/hooks/useIotaClient.ts", "../../../src/components/IotaClientProvider.tsx"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport type {\n InfiniteData,\n UseInfiniteQueryOptions,\n UseInfiniteQueryResult,\n} from '@tanstack/react-query';\nimport { useInfiniteQuery } from '@tanstack/react-query';\n\nimport type { PartialBy } from '../types/utilityTypes.js';\nimport { useIotaClientContext } from './useIotaClient.js';\n\ninterface PaginatedResult {\n data?: unknown;\n nextCursor?: unknown;\n hasNextPage: boolean;\n}\n\nexport type IotaRpcPaginatedMethodName = {\n [K in keyof IotaClient]: IotaClient[K] extends (input: any) => Promise<PaginatedResult>\n ? K\n : never;\n}[keyof IotaClient];\n\nexport type IotaRpcPaginatedMethods = {\n [K in IotaRpcPaginatedMethodName]: IotaClient[K] extends (\n input: infer Params,\n ) => Promise<\n infer Result extends { hasNextPage?: boolean | null; nextCursor?: infer Cursor | null }\n >\n ? {\n name: K;\n result: Result;\n params: Params;\n cursor: Cursor;\n }\n : never;\n};\n\nexport type UseIotaClientInfiniteQueryOptions<\n T extends keyof IotaRpcPaginatedMethods,\n TData,\n> = PartialBy<\n Omit<\n UseInfiniteQueryOptions<\n IotaRpcPaginatedMethods[T]['result'],\n Error,\n TData,\n IotaRpcPaginatedMethods[T]['result'],\n unknown[]\n >,\n 'queryFn' | 'initialPageParam' | 'getNextPageParam'\n >,\n 'queryKey'\n>;\n\nexport function useIotaClientInfiniteQuery<\n T extends keyof IotaRpcPaginatedMethods,\n TData = InfiniteData<IotaRpcPaginatedMethods[T]['result']>,\n>(\n method: T,\n params: IotaRpcPaginatedMethods[T]['params'],\n {\n queryKey = [],\n enabled = !!params,\n ...options\n }: UseIotaClientInfiniteQueryOptions<T, TData> = {},\n): UseInfiniteQueryResult<TData, Error> {\n const iotaContext = useIotaClientContext();\n\n return useInfiniteQuery({\n ...options,\n initialPageParam: null,\n queryKey: [iotaContext.network, method, params, ...queryKey],\n enabled,\n queryFn: ({ pageParam }) =>\n iotaContext.client[method]({\n ...(params ?? {}),\n cursor: pageParam,\n } as never),\n getNextPageParam: (lastPage) =>\n lastPage.hasNextPage ? (lastPage.nextCursor ?? null) : null,\n });\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport { useContext } from 'react';\n\nimport { IotaClientContext } from '../components/IotaClientProvider.js';\n\nexport function useIotaClientContext() {\n const iotaClient = useContext(IotaClientContext);\n\n if (!iotaClient) {\n throw new Error(\n 'Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider',\n );\n }\n\n return iotaClient;\n}\n\nexport function useIotaClient(): IotaClient {\n return useIotaClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getNetwork, isIotaClient, Network, IotaClient } from '@iota/iota-sdk/client';\nimport type { IotaClientOptions } from '@iota/iota-sdk/client';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | IotaClient = NetworkConfig | IotaClient> = Record<\n string,\n T\n>;\n\nexport interface IotaClientProviderContext {\n client: IotaClient;\n networks: NetworkConfigs;\n network: string;\n config: NetworkConfig | null;\n selectNetwork: (network: string) => void;\n}\n\nexport const IotaClientContext = createContext<IotaClientProviderContext | null>(null);\n\nexport type IotaClientProviderProps<T extends NetworkConfigs> = {\n createClient?: (name: keyof T, config: T[keyof T]) => IotaClient;\n children: React.ReactNode;\n networks?: T;\n onNetworkChange?: (network: keyof T & string) => void;\n} & (\n | {\n defaultNetwork?: keyof T & string;\n network?: never;\n }\n | {\n defaultNetwork?: never;\n network?: keyof T & string;\n }\n);\n\nconst DEFAULT_NETWORKS = {\n localnet: { url: getNetwork(Network.Localnet)?.url },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n _name: string,\n config: NetworkConfig | IotaClient,\n) {\n if (isIotaClient(config)) {\n return config;\n }\n\n return new IotaClient(config);\n};\n\nexport function IotaClientProvider<T extends NetworkConfigs>(props: IotaClientProviderProps<T>) {\n const { onNetworkChange, network, children } = props;\n const networks = (props.networks ?? DEFAULT_NETWORKS) as T;\n const createClient =\n (props.createClient as typeof DEFAULT_CREATE_CLIENT) ?? DEFAULT_CREATE_CLIENT;\n\n const [selectedNetwork, setSelectedNetwork] = useState<keyof T & string>(\n props.network ?? props.defaultNetwork ?? (Object.keys(networks)[0] as keyof T & string),\n );\n\n const currentNetwork = props.network ?? selectedNetwork;\n\n const client = useMemo(() => {\n return createClient(currentNetwork, networks[currentNetwork]);\n }, [createClient, currentNetwork, networks]);\n\n const ctx = useMemo((): IotaClientProviderContext => {\n return {\n client,\n networks,\n network: currentNetwork,\n config:\n networks[currentNetwork] instanceof IotaClient\n ? null\n : (networks[currentNetwork] as IotaClientOptions),\n selectNetwork: (newNetwork) => {\n if (currentNetwork === newNetwork) {\n return;\n }\n\n if (!network && newNetwork !== selectedNetwork) {\n setSelectedNetwork(newNetwork);\n }\n\n onNetworkChange?.(newNetwork);\n },\n };\n }, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);\n\n return <IotaClientContext.Provider value={ctx}>{children}</IotaClientContext.Provider>;\n}\n"],
|
|
5
|
+
"mappings": ";AAUA,SAAS,wBAAwB;;;ACLjC,SAAS,kBAAkB;;;ACD3B,SAAS,YAAY,cAAc,SAAS,kBAAkB;AAE9D,SAAS,eAAe,SAAS,gBAAgB;AAyFtC;AAxEJ,IAAM,oBAAoB,cAAgD,IAAI;AAkBrF,IAAM,mBAAmB;AAAA,EACrB,UAAU,EAAE,KAAK,WAAW,QAAQ,QAAQ,GAAG,IAAI;AACvD;;;ADlCO,SAAS,uBAAuB;AACnC,QAAM,aAAa,WAAW,iBAAiB;AAE/C,MAAI,CAAC,YAAY;AACb,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AACX;;;ADwCO,SAAS,2BAIZ,QACA,QACA;AAAA,EACI,WAAW,CAAC;AAAA,EACZ,UAAU,CAAC,CAAC;AAAA,EACZ,GAAG;AACP,IAAiD,CAAC,GACd;AACpC,QAAM,cAAc,qBAAqB;AAEzC,SAAO,iBAAiB;AAAA,IACpB,GAAG;AAAA,IACH,kBAAkB;AAAA,IAClB,UAAU,CAAC,YAAY,SAAS,QAAQ,QAAQ,GAAG,QAAQ;AAAA,IAC3D;AAAA,IACA,SAAS,CAAC,EAAE,UAAU,MAClB,YAAY,OAAO,MAAM,EAAE;AAAA,MACvB,GAAI,UAAU,CAAC;AAAA,MACf,QAAQ;AAAA,IACZ,CAAU;AAAA,IACd,kBAAkB,CAAC,aACf,SAAS,cAAe,SAAS,cAAc,OAAQ;AAAA,EAC/D,CAAC;AACL;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
|
|
2
|
+
import type { IotaRpcMethods } from './useIotaClientQuery.js';
|
|
3
|
+
export type UseIotaClientMutationOptions<T extends keyof IotaRpcMethods> = Omit<UseMutationOptions<IotaRpcMethods[T]['result'], Error, IotaRpcMethods[T]['params'], unknown[]>, 'mutationFn'>;
|
|
4
|
+
export declare function useIotaClientMutation<T extends keyof IotaRpcMethods>(method: T, options?: UseIotaClientMutationOptions<T>): UseMutationResult<IotaRpcMethods[T]['result'], Error, IotaRpcMethods[T]['params'], unknown[]>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// src/hooks/useIotaClientMutation.ts
|
|
2
|
+
import { useMutation } from "@tanstack/react-query";
|
|
3
|
+
|
|
4
|
+
// src/hooks/useIotaClient.ts
|
|
5
|
+
import { useContext } from "react";
|
|
6
|
+
|
|
7
|
+
// src/components/IotaClientProvider.tsx
|
|
8
|
+
import { getNetwork, isIotaClient, Network, IotaClient } from "@iota/iota-sdk/client";
|
|
9
|
+
import { createContext, useMemo, useState } from "react";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
var IotaClientContext = createContext(null);
|
|
12
|
+
var DEFAULT_NETWORKS = {
|
|
13
|
+
localnet: { url: getNetwork(Network.Localnet)?.url }
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
// src/hooks/useIotaClient.ts
|
|
17
|
+
function useIotaClientContext() {
|
|
18
|
+
const iotaClient = useContext(IotaClientContext);
|
|
19
|
+
if (!iotaClient) {
|
|
20
|
+
throw new Error(
|
|
21
|
+
"Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider"
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
return iotaClient;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// src/hooks/useIotaClientMutation.ts
|
|
28
|
+
function useIotaClientMutation(method, options = {}) {
|
|
29
|
+
const iotaContext = useIotaClientContext();
|
|
30
|
+
return useMutation({
|
|
31
|
+
...options,
|
|
32
|
+
mutationFn: async (params) => {
|
|
33
|
+
return await iotaContext.client[method](params);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
export {
|
|
38
|
+
useIotaClientMutation
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=useIotaClientMutation.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/useIotaClientMutation.ts", "../../../src/hooks/useIotaClient.ts", "../../../src/components/IotaClientProvider.tsx"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { useIotaClientContext } from './useIotaClient.js';\nimport type { IotaRpcMethods } from './useIotaClientQuery.js';\n\nexport type UseIotaClientMutationOptions<T extends keyof IotaRpcMethods> = Omit<\n UseMutationOptions<IotaRpcMethods[T]['result'], Error, IotaRpcMethods[T]['params'], unknown[]>,\n 'mutationFn'\n>;\n\nexport function useIotaClientMutation<T extends keyof IotaRpcMethods>(\n method: T,\n options: UseIotaClientMutationOptions<T> = {},\n): UseMutationResult<IotaRpcMethods[T]['result'], Error, IotaRpcMethods[T]['params'], unknown[]> {\n const iotaContext = useIotaClientContext();\n\n return useMutation({\n ...options,\n mutationFn: async (params) => {\n return await iotaContext.client[method](params as never);\n },\n });\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport { useContext } from 'react';\n\nimport { IotaClientContext } from '../components/IotaClientProvider.js';\n\nexport function useIotaClientContext() {\n const iotaClient = useContext(IotaClientContext);\n\n if (!iotaClient) {\n throw new Error(\n 'Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider',\n );\n }\n\n return iotaClient;\n}\n\nexport function useIotaClient(): IotaClient {\n return useIotaClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getNetwork, isIotaClient, Network, IotaClient } from '@iota/iota-sdk/client';\nimport type { IotaClientOptions } from '@iota/iota-sdk/client';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | IotaClient = NetworkConfig | IotaClient> = Record<\n string,\n T\n>;\n\nexport interface IotaClientProviderContext {\n client: IotaClient;\n networks: NetworkConfigs;\n network: string;\n config: NetworkConfig | null;\n selectNetwork: (network: string) => void;\n}\n\nexport const IotaClientContext = createContext<IotaClientProviderContext | null>(null);\n\nexport type IotaClientProviderProps<T extends NetworkConfigs> = {\n createClient?: (name: keyof T, config: T[keyof T]) => IotaClient;\n children: React.ReactNode;\n networks?: T;\n onNetworkChange?: (network: keyof T & string) => void;\n} & (\n | {\n defaultNetwork?: keyof T & string;\n network?: never;\n }\n | {\n defaultNetwork?: never;\n network?: keyof T & string;\n }\n);\n\nconst DEFAULT_NETWORKS = {\n localnet: { url: getNetwork(Network.Localnet)?.url },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n _name: string,\n config: NetworkConfig | IotaClient,\n) {\n if (isIotaClient(config)) {\n return config;\n }\n\n return new IotaClient(config);\n};\n\nexport function IotaClientProvider<T extends NetworkConfigs>(props: IotaClientProviderProps<T>) {\n const { onNetworkChange, network, children } = props;\n const networks = (props.networks ?? DEFAULT_NETWORKS) as T;\n const createClient =\n (props.createClient as typeof DEFAULT_CREATE_CLIENT) ?? DEFAULT_CREATE_CLIENT;\n\n const [selectedNetwork, setSelectedNetwork] = useState<keyof T & string>(\n props.network ?? props.defaultNetwork ?? (Object.keys(networks)[0] as keyof T & string),\n );\n\n const currentNetwork = props.network ?? selectedNetwork;\n\n const client = useMemo(() => {\n return createClient(currentNetwork, networks[currentNetwork]);\n }, [createClient, currentNetwork, networks]);\n\n const ctx = useMemo((): IotaClientProviderContext => {\n return {\n client,\n networks,\n network: currentNetwork,\n config:\n networks[currentNetwork] instanceof IotaClient\n ? null\n : (networks[currentNetwork] as IotaClientOptions),\n selectNetwork: (newNetwork) => {\n if (currentNetwork === newNetwork) {\n return;\n }\n\n if (!network && newNetwork !== selectedNetwork) {\n setSelectedNetwork(newNetwork);\n }\n\n onNetworkChange?.(newNetwork);\n },\n };\n }, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);\n\n return <IotaClientContext.Provider value={ctx}>{children}</IotaClientContext.Provider>;\n}\n"],
|
|
5
|
+
"mappings": ";AAKA,SAAS,mBAAmB;;;ACA5B,SAAS,kBAAkB;;;ACD3B,SAAS,YAAY,cAAc,SAAS,kBAAkB;AAE9D,SAAS,eAAe,SAAS,gBAAgB;AAyFtC;AAxEJ,IAAM,oBAAoB,cAAgD,IAAI;AAkBrF,IAAM,mBAAmB;AAAA,EACrB,UAAU,EAAE,KAAK,WAAW,QAAQ,QAAQ,GAAG,IAAI;AACvD;;;ADlCO,SAAS,uBAAuB;AACnC,QAAM,aAAa,WAAW,iBAAiB;AAE/C,MAAI,CAAC,YAAY;AACb,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AACX;;;ADJO,SAAS,sBACZ,QACA,UAA2C,CAAC,GACiD;AAC7F,QAAM,cAAc,qBAAqB;AAEzC,SAAO,YAAY;AAAA,IACf,GAAG;AAAA,IACH,YAAY,OAAO,WAAW;AAC1B,aAAO,MAAM,YAAY,OAAO,MAAM,EAAE,MAAe;AAAA,IAC3D;AAAA,EACJ,CAAC;AACL;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { UseQueryResult } from '@tanstack/react-query';
|
|
2
|
+
import type { IotaRpcMethods, UseIotaClientQueryOptions } from './useIotaClientQuery.js';
|
|
3
|
+
type IotaClientQueryOptions = IotaRpcMethods[keyof IotaRpcMethods] extends infer Method ? Method extends {
|
|
4
|
+
name: infer M extends keyof IotaRpcMethods;
|
|
5
|
+
params?: infer P;
|
|
6
|
+
} ? undefined extends P ? {
|
|
7
|
+
method: M;
|
|
8
|
+
params?: P;
|
|
9
|
+
options?: UseIotaClientQueryOptions<M, unknown>;
|
|
10
|
+
} : {
|
|
11
|
+
method: M;
|
|
12
|
+
params: P;
|
|
13
|
+
options?: UseIotaClientQueryOptions<M, unknown>;
|
|
14
|
+
} : never : never;
|
|
15
|
+
export type UseIotaClientQueriesResults<Args extends readonly IotaClientQueryOptions[]> = {
|
|
16
|
+
-readonly [K in keyof Args]: Args[K] extends {
|
|
17
|
+
method: infer M extends keyof IotaRpcMethods;
|
|
18
|
+
readonly options?: {
|
|
19
|
+
select?: (...args: any[]) => infer R;
|
|
20
|
+
} | object;
|
|
21
|
+
} ? UseQueryResult<unknown extends R ? IotaRpcMethods[M]['result'] : R> : never;
|
|
22
|
+
};
|
|
23
|
+
export declare function useIotaClientQueries<const Queries extends readonly IotaClientQueryOptions[], Results = UseIotaClientQueriesResults<Queries>>({ queries, combine, }: {
|
|
24
|
+
queries: Queries;
|
|
25
|
+
combine?: (results: UseIotaClientQueriesResults<Queries>) => Results;
|
|
26
|
+
}): Results;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// src/hooks/useIotaClientQueries.ts
|
|
2
|
+
import { useQueries } from "@tanstack/react-query";
|
|
3
|
+
|
|
4
|
+
// src/hooks/useIotaClient.ts
|
|
5
|
+
import { useContext } from "react";
|
|
6
|
+
|
|
7
|
+
// src/components/IotaClientProvider.tsx
|
|
8
|
+
import { getNetwork, isIotaClient, Network, IotaClient } from "@iota/iota-sdk/client";
|
|
9
|
+
import { createContext, useMemo, useState } from "react";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
var IotaClientContext = createContext(null);
|
|
12
|
+
var DEFAULT_NETWORKS = {
|
|
13
|
+
localnet: { url: getNetwork(Network.Localnet)?.url }
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
// src/hooks/useIotaClient.ts
|
|
17
|
+
function useIotaClientContext() {
|
|
18
|
+
const iotaClient = useContext(IotaClientContext);
|
|
19
|
+
if (!iotaClient) {
|
|
20
|
+
throw new Error(
|
|
21
|
+
"Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider"
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
return iotaClient;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// src/hooks/useIotaClientQueries.ts
|
|
28
|
+
function useIotaClientQueries({
|
|
29
|
+
queries,
|
|
30
|
+
combine
|
|
31
|
+
}) {
|
|
32
|
+
const iotaContext = useIotaClientContext();
|
|
33
|
+
return useQueries({
|
|
34
|
+
combine,
|
|
35
|
+
queries: queries.map((query) => {
|
|
36
|
+
const { method, params, options: { queryKey = [], ...restOptions } = {} } = query;
|
|
37
|
+
return {
|
|
38
|
+
...restOptions,
|
|
39
|
+
queryKey: [iotaContext.network, method, params, ...queryKey],
|
|
40
|
+
queryFn: async () => {
|
|
41
|
+
return await iotaContext.client[method](params);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
})
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
export {
|
|
48
|
+
useIotaClientQueries
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=useIotaClientQueries.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/useIotaClientQueries.ts", "../../../src/hooks/useIotaClient.ts", "../../../src/components/IotaClientProvider.tsx"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { UseQueryResult } from '@tanstack/react-query';\nimport { useQueries } from '@tanstack/react-query';\n\nimport { useIotaClientContext } from './useIotaClient.js';\nimport type { IotaRpcMethods, UseIotaClientQueryOptions } from './useIotaClientQuery.js';\n\ntype IotaClientQueryOptions = IotaRpcMethods[keyof IotaRpcMethods] extends infer Method\n ? Method extends {\n name: infer M extends keyof IotaRpcMethods;\n params?: infer P;\n }\n ? undefined extends P\n ? {\n method: M;\n params?: P;\n options?: UseIotaClientQueryOptions<M, unknown>;\n }\n : {\n method: M;\n params: P;\n options?: UseIotaClientQueryOptions<M, unknown>;\n }\n : never\n : never;\n\nexport type UseIotaClientQueriesResults<Args extends readonly IotaClientQueryOptions[]> = {\n -readonly [K in keyof Args]: Args[K] extends {\n method: infer M extends keyof IotaRpcMethods;\n readonly options?:\n | {\n select?: (...args: any[]) => infer R;\n }\n | object;\n }\n ? UseQueryResult<unknown extends R ? IotaRpcMethods[M]['result'] : R>\n : never;\n};\n\nexport function useIotaClientQueries<\n const Queries extends readonly IotaClientQueryOptions[],\n Results = UseIotaClientQueriesResults<Queries>,\n>({\n queries,\n combine,\n}: {\n queries: Queries;\n combine?: (results: UseIotaClientQueriesResults<Queries>) => Results;\n}): Results {\n const iotaContext = useIotaClientContext();\n\n return useQueries({\n combine: combine as never,\n queries: queries.map((query) => {\n const { method, params, options: { queryKey = [], ...restOptions } = {} } = query;\n\n return {\n ...restOptions,\n queryKey: [iotaContext.network, method, params, ...queryKey],\n queryFn: async () => {\n return await iotaContext.client[method](params as never);\n },\n };\n }) as [],\n });\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport { useContext } from 'react';\n\nimport { IotaClientContext } from '../components/IotaClientProvider.js';\n\nexport function useIotaClientContext() {\n const iotaClient = useContext(IotaClientContext);\n\n if (!iotaClient) {\n throw new Error(\n 'Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider',\n );\n }\n\n return iotaClient;\n}\n\nexport function useIotaClient(): IotaClient {\n return useIotaClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getNetwork, isIotaClient, Network, IotaClient } from '@iota/iota-sdk/client';\nimport type { IotaClientOptions } from '@iota/iota-sdk/client';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | IotaClient = NetworkConfig | IotaClient> = Record<\n string,\n T\n>;\n\nexport interface IotaClientProviderContext {\n client: IotaClient;\n networks: NetworkConfigs;\n network: string;\n config: NetworkConfig | null;\n selectNetwork: (network: string) => void;\n}\n\nexport const IotaClientContext = createContext<IotaClientProviderContext | null>(null);\n\nexport type IotaClientProviderProps<T extends NetworkConfigs> = {\n createClient?: (name: keyof T, config: T[keyof T]) => IotaClient;\n children: React.ReactNode;\n networks?: T;\n onNetworkChange?: (network: keyof T & string) => void;\n} & (\n | {\n defaultNetwork?: keyof T & string;\n network?: never;\n }\n | {\n defaultNetwork?: never;\n network?: keyof T & string;\n }\n);\n\nconst DEFAULT_NETWORKS = {\n localnet: { url: getNetwork(Network.Localnet)?.url },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n _name: string,\n config: NetworkConfig | IotaClient,\n) {\n if (isIotaClient(config)) {\n return config;\n }\n\n return new IotaClient(config);\n};\n\nexport function IotaClientProvider<T extends NetworkConfigs>(props: IotaClientProviderProps<T>) {\n const { onNetworkChange, network, children } = props;\n const networks = (props.networks ?? DEFAULT_NETWORKS) as T;\n const createClient =\n (props.createClient as typeof DEFAULT_CREATE_CLIENT) ?? DEFAULT_CREATE_CLIENT;\n\n const [selectedNetwork, setSelectedNetwork] = useState<keyof T & string>(\n props.network ?? props.defaultNetwork ?? (Object.keys(networks)[0] as keyof T & string),\n );\n\n const currentNetwork = props.network ?? selectedNetwork;\n\n const client = useMemo(() => {\n return createClient(currentNetwork, networks[currentNetwork]);\n }, [createClient, currentNetwork, networks]);\n\n const ctx = useMemo((): IotaClientProviderContext => {\n return {\n client,\n networks,\n network: currentNetwork,\n config:\n networks[currentNetwork] instanceof IotaClient\n ? null\n : (networks[currentNetwork] as IotaClientOptions),\n selectNetwork: (newNetwork) => {\n if (currentNetwork === newNetwork) {\n return;\n }\n\n if (!network && newNetwork !== selectedNetwork) {\n setSelectedNetwork(newNetwork);\n }\n\n onNetworkChange?.(newNetwork);\n },\n };\n }, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);\n\n return <IotaClientContext.Provider value={ctx}>{children}</IotaClientContext.Provider>;\n}\n"],
|
|
5
|
+
"mappings": ";AAKA,SAAS,kBAAkB;;;ACA3B,SAAS,kBAAkB;;;ACD3B,SAAS,YAAY,cAAc,SAAS,kBAAkB;AAE9D,SAAS,eAAe,SAAS,gBAAgB;AAyFtC;AAxEJ,IAAM,oBAAoB,cAAgD,IAAI;AAkBrF,IAAM,mBAAmB;AAAA,EACrB,UAAU,EAAE,KAAK,WAAW,QAAQ,QAAQ,GAAG,IAAI;AACvD;;;ADlCO,SAAS,uBAAuB;AACnC,QAAM,aAAa,WAAW,iBAAiB;AAE/C,MAAI,CAAC,YAAY;AACb,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AACX;;;ADuBO,SAAS,qBAGd;AAAA,EACE;AAAA,EACA;AACJ,GAGY;AACR,QAAM,cAAc,qBAAqB;AAEzC,SAAO,WAAW;AAAA,IACd;AAAA,IACA,SAAS,QAAQ,IAAI,CAAC,UAAU;AAC5B,YAAM,EAAE,QAAQ,QAAQ,SAAS,EAAE,WAAW,CAAC,GAAG,GAAG,YAAY,IAAI,CAAC,EAAE,IAAI;AAE5E,aAAO;AAAA,QACH,GAAG;AAAA,QACH,UAAU,CAAC,YAAY,SAAS,QAAQ,QAAQ,GAAG,QAAQ;AAAA,QAC3D,SAAS,YAAY;AACjB,iBAAO,MAAM,YAAY,OAAO,MAAM,EAAE,MAAe;AAAA,QAC3D;AAAA,MACJ;AAAA,IACJ,CAAC;AAAA,EACL,CAAC;AACL;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { IotaClient } from '@iota/iota-sdk/client';
|
|
2
|
+
import type { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
|
|
3
|
+
import type { PartialBy } from '../types/utilityTypes.js';
|
|
4
|
+
export type IotaRpcMethodName = {
|
|
5
|
+
[K in keyof IotaClient]: IotaClient[K] extends ((input: any) => Promise<any>) | (() => Promise<any>) ? K : never;
|
|
6
|
+
}[keyof IotaClient];
|
|
7
|
+
export type IotaRpcMethods = {
|
|
8
|
+
[K in IotaRpcMethodName]: IotaClient[K] extends (input: infer P) => Promise<infer R> ? {
|
|
9
|
+
name: K;
|
|
10
|
+
result: R;
|
|
11
|
+
params: P;
|
|
12
|
+
} : IotaClient[K] extends () => Promise<infer R> ? {
|
|
13
|
+
name: K;
|
|
14
|
+
result: R;
|
|
15
|
+
params: undefined | object;
|
|
16
|
+
} : never;
|
|
17
|
+
};
|
|
18
|
+
export type UseIotaClientQueryOptions<T extends keyof IotaRpcMethods, TData> = PartialBy<Omit<UseQueryOptions<IotaRpcMethods[T]['result'], Error, TData, unknown[]>, 'queryFn'>, 'queryKey'>;
|
|
19
|
+
export declare function useIotaClientQuery<T extends keyof IotaRpcMethods, TData = IotaRpcMethods[T]['result']>(...args: undefined extends IotaRpcMethods[T]['params'] ? [
|
|
20
|
+
method: T,
|
|
21
|
+
params?: IotaRpcMethods[T]['params'],
|
|
22
|
+
options?: UseIotaClientQueryOptions<T, TData>
|
|
23
|
+
] : [
|
|
24
|
+
method: T,
|
|
25
|
+
params: IotaRpcMethods[T]['params'],
|
|
26
|
+
options?: UseIotaClientQueryOptions<T, TData>
|
|
27
|
+
]): UseQueryResult<TData, Error>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// src/hooks/useIotaClientQuery.ts
|
|
2
|
+
import { useQuery } from "@tanstack/react-query";
|
|
3
|
+
|
|
4
|
+
// src/hooks/useIotaClient.ts
|
|
5
|
+
import { useContext } from "react";
|
|
6
|
+
|
|
7
|
+
// src/components/IotaClientProvider.tsx
|
|
8
|
+
import { getNetwork, isIotaClient, Network, IotaClient } from "@iota/iota-sdk/client";
|
|
9
|
+
import { createContext, useMemo, useState } from "react";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
var IotaClientContext = createContext(null);
|
|
12
|
+
var DEFAULT_NETWORKS = {
|
|
13
|
+
localnet: { url: getNetwork(Network.Localnet)?.url }
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
// src/hooks/useIotaClient.ts
|
|
17
|
+
function useIotaClientContext() {
|
|
18
|
+
const iotaClient = useContext(IotaClientContext);
|
|
19
|
+
if (!iotaClient) {
|
|
20
|
+
throw new Error(
|
|
21
|
+
"Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider"
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
return iotaClient;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// src/hooks/useIotaClientQuery.ts
|
|
28
|
+
function useIotaClientQuery(...args) {
|
|
29
|
+
const [method, params, { queryKey = [], ...options } = {}] = args;
|
|
30
|
+
const iotaContext = useIotaClientContext();
|
|
31
|
+
return useQuery({
|
|
32
|
+
...options,
|
|
33
|
+
queryKey: [iotaContext.network, method, params, ...queryKey],
|
|
34
|
+
queryFn: async () => {
|
|
35
|
+
return await iotaContext.client[method](
|
|
36
|
+
params
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
export {
|
|
42
|
+
useIotaClientQuery
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=useIotaClientQuery.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/useIotaClientQuery.ts", "../../../src/hooks/useIotaClient.ts", "../../../src/components/IotaClientProvider.tsx"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport type { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';\nimport { useQuery } from '@tanstack/react-query';\n\nimport type { PartialBy } from '../types/utilityTypes.js';\nimport { useIotaClientContext } from './useIotaClient.js';\n\nexport type IotaRpcMethodName = {\n [K in keyof IotaClient]: IotaClient[K] extends\n | ((input: any) => Promise<any>)\n | (() => Promise<any>)\n ? K\n : never;\n}[keyof IotaClient];\n\nexport type IotaRpcMethods = {\n [K in IotaRpcMethodName]: IotaClient[K] extends (input: infer P) => Promise<infer R>\n ? {\n name: K;\n result: R;\n params: P;\n }\n : IotaClient[K] extends () => Promise<infer R>\n ? {\n name: K;\n result: R;\n params: undefined | object;\n }\n : never;\n};\n\nexport type UseIotaClientQueryOptions<T extends keyof IotaRpcMethods, TData> = PartialBy<\n Omit<UseQueryOptions<IotaRpcMethods[T]['result'], Error, TData, unknown[]>, 'queryFn'>,\n 'queryKey'\n>;\n\nexport function useIotaClientQuery<\n T extends keyof IotaRpcMethods,\n TData = IotaRpcMethods[T]['result'],\n>(\n ...args: undefined extends IotaRpcMethods[T]['params']\n ? [\n method: T,\n params?: IotaRpcMethods[T]['params'],\n options?: UseIotaClientQueryOptions<T, TData>,\n ]\n : [\n method: T,\n params: IotaRpcMethods[T]['params'],\n options?: UseIotaClientQueryOptions<T, TData>,\n ]\n): UseQueryResult<TData, Error> {\n const [method, params, { queryKey = [], ...options } = {}] = args as [\n method: T,\n params?: IotaRpcMethods[T]['params'],\n options?: UseIotaClientQueryOptions<T, TData>,\n ];\n\n const iotaContext = useIotaClientContext();\n\n return useQuery({\n ...options,\n queryKey: [iotaContext.network, method, params, ...queryKey],\n queryFn: async () => {\n return (await iotaContext.client[method](\n params as never,\n )) as IotaRpcMethods[T]['result'];\n },\n });\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport { useContext } from 'react';\n\nimport { IotaClientContext } from '../components/IotaClientProvider.js';\n\nexport function useIotaClientContext() {\n const iotaClient = useContext(IotaClientContext);\n\n if (!iotaClient) {\n throw new Error(\n 'Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider',\n );\n }\n\n return iotaClient;\n}\n\nexport function useIotaClient(): IotaClient {\n return useIotaClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getNetwork, isIotaClient, Network, IotaClient } from '@iota/iota-sdk/client';\nimport type { IotaClientOptions } from '@iota/iota-sdk/client';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | IotaClient = NetworkConfig | IotaClient> = Record<\n string,\n T\n>;\n\nexport interface IotaClientProviderContext {\n client: IotaClient;\n networks: NetworkConfigs;\n network: string;\n config: NetworkConfig | null;\n selectNetwork: (network: string) => void;\n}\n\nexport const IotaClientContext = createContext<IotaClientProviderContext | null>(null);\n\nexport type IotaClientProviderProps<T extends NetworkConfigs> = {\n createClient?: (name: keyof T, config: T[keyof T]) => IotaClient;\n children: React.ReactNode;\n networks?: T;\n onNetworkChange?: (network: keyof T & string) => void;\n} & (\n | {\n defaultNetwork?: keyof T & string;\n network?: never;\n }\n | {\n defaultNetwork?: never;\n network?: keyof T & string;\n }\n);\n\nconst DEFAULT_NETWORKS = {\n localnet: { url: getNetwork(Network.Localnet)?.url },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n _name: string,\n config: NetworkConfig | IotaClient,\n) {\n if (isIotaClient(config)) {\n return config;\n }\n\n return new IotaClient(config);\n};\n\nexport function IotaClientProvider<T extends NetworkConfigs>(props: IotaClientProviderProps<T>) {\n const { onNetworkChange, network, children } = props;\n const networks = (props.networks ?? DEFAULT_NETWORKS) as T;\n const createClient =\n (props.createClient as typeof DEFAULT_CREATE_CLIENT) ?? DEFAULT_CREATE_CLIENT;\n\n const [selectedNetwork, setSelectedNetwork] = useState<keyof T & string>(\n props.network ?? props.defaultNetwork ?? (Object.keys(networks)[0] as keyof T & string),\n );\n\n const currentNetwork = props.network ?? selectedNetwork;\n\n const client = useMemo(() => {\n return createClient(currentNetwork, networks[currentNetwork]);\n }, [createClient, currentNetwork, networks]);\n\n const ctx = useMemo((): IotaClientProviderContext => {\n return {\n client,\n networks,\n network: currentNetwork,\n config:\n networks[currentNetwork] instanceof IotaClient\n ? null\n : (networks[currentNetwork] as IotaClientOptions),\n selectNetwork: (newNetwork) => {\n if (currentNetwork === newNetwork) {\n return;\n }\n\n if (!network && newNetwork !== selectedNetwork) {\n setSelectedNetwork(newNetwork);\n }\n\n onNetworkChange?.(newNetwork);\n },\n };\n }, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);\n\n return <IotaClientContext.Provider value={ctx}>{children}</IotaClientContext.Provider>;\n}\n"],
|
|
5
|
+
"mappings": ";AAMA,SAAS,gBAAgB;;;ACDzB,SAAS,kBAAkB;;;ACD3B,SAAS,YAAY,cAAc,SAAS,kBAAkB;AAE9D,SAAS,eAAe,SAAS,gBAAgB;AAyFtC;AAxEJ,IAAM,oBAAoB,cAAgD,IAAI;AAkBrF,IAAM,mBAAmB;AAAA,EACrB,UAAU,EAAE,KAAK,WAAW,QAAQ,QAAQ,GAAG,IAAI;AACvD;;;ADlCO,SAAS,uBAAuB;AACnC,QAAM,aAAa,WAAW,iBAAiB;AAE/C,MAAI,CAAC,YAAY;AACb,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AACX;;;ADqBO,SAAS,sBAIT,MAWyB;AAC5B,QAAM,CAAC,QAAQ,QAAQ,EAAE,WAAW,CAAC,GAAG,GAAG,QAAQ,IAAI,CAAC,CAAC,IAAI;AAM7D,QAAM,cAAc,qBAAqB;AAEzC,SAAO,SAAS;AAAA,IACZ,GAAG;AAAA,IACH,UAAU,CAAC,YAAY,SAAS,QAAQ,QAAQ,GAAG,QAAQ;AAAA,IAC3D,SAAS,YAAY;AACjB,aAAQ,MAAM,YAAY,OAAO,MAAM;AAAA,QACnC;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,CAAC;AACL;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// src/hooks/wallet/useWalletStore.ts
|
|
2
|
+
import { useContext } from "react";
|
|
3
|
+
import { useStore } from "zustand";
|
|
4
|
+
|
|
5
|
+
// src/contexts/walletContext.ts
|
|
6
|
+
import { createContext } from "react";
|
|
7
|
+
var WalletContext = createContext(null);
|
|
8
|
+
|
|
9
|
+
// src/hooks/wallet/useWalletStore.ts
|
|
10
|
+
function useWalletStore(selector) {
|
|
11
|
+
const store = useContext(WalletContext);
|
|
12
|
+
if (!store) {
|
|
13
|
+
throw new Error(
|
|
14
|
+
"Could not find WalletContext. Ensure that you have set up the WalletProvider."
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
return useStore(store, selector);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// src/hooks/wallet/useAccounts.ts
|
|
21
|
+
function useAccounts() {
|
|
22
|
+
return useWalletStore((state) => state.accounts);
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
useAccounts
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=useAccounts.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts", "../../../../src/hooks/wallet/useAccounts.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useContext } from 'react';\nimport { useStore } from 'zustand';\n\nimport { WalletContext } from '../../contexts/walletContext.js';\nimport type { StoreState } from '../../walletStore.js';\n\nexport function useWalletStore<T>(selector: (state: StoreState) => T): T {\n const store = useContext(WalletContext);\n if (!store) {\n throw new Error(\n 'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n );\n }\n return useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { createContext } from 'react';\n\nimport type { WalletStore } from '../walletStore.js';\n\nexport const WalletContext = createContext<WalletStore | null>(null);\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletAccount } from '@iota/wallet-standard';\n\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves a list of connected accounts authorized by the dApp.\n */\nexport function useAccounts(): readonly WalletAccount[] {\n return useWalletStore((state) => state.accounts);\n}\n"],
|
|
5
|
+
"mappings": ";AAIA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;;;ACDzB,SAAS,qBAAqB;AAIvB,IAAM,gBAAgB,cAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACrE,QAAM,QAAQ,WAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACR,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AACA,SAAO,SAAS,OAAO,QAAQ;AACnC;;;AEPO,SAAS,cAAwC;AACpD,SAAO,eAAe,CAAC,UAAU,MAAM,QAAQ;AACnD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useAutoConnectWallet(): 'disabled' | 'idle' | 'attempted';
|