@iota/dapp-kit 0.0.0-dev-20251015065834

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.
Files changed (679) hide show
  1. package/CHANGELOG.md +237 -0
  2. package/LICENSE +201 -0
  3. package/README.md +100 -0
  4. package/dist/cjs/components/AccountDropdownMenu.css +183 -0
  5. package/dist/cjs/components/AccountDropdownMenu.css.css +56 -0
  6. package/dist/cjs/components/AccountDropdownMenu.css.css.map +7 -0
  7. package/dist/cjs/components/AccountDropdownMenu.css.d.ts +7 -0
  8. package/dist/cjs/components/AccountDropdownMenu.css.js +39 -0
  9. package/dist/cjs/components/AccountDropdownMenu.css.js.map +7 -0
  10. package/dist/cjs/components/AccountDropdownMenu.css.map +7 -0
  11. package/dist/cjs/components/AccountDropdownMenu.d.ts +14 -0
  12. package/dist/cjs/components/AccountDropdownMenu.js +431 -0
  13. package/dist/cjs/components/AccountDropdownMenu.js.map +7 -0
  14. package/dist/cjs/components/ConnectButton.css +471 -0
  15. package/dist/cjs/components/ConnectButton.css.map +7 -0
  16. package/dist/cjs/components/ConnectButton.d.ts +9 -0
  17. package/dist/cjs/components/ConnectButton.js +899 -0
  18. package/dist/cjs/components/ConnectButton.js.map +7 -0
  19. package/dist/cjs/components/IotaClientProvider.d.ts +25 -0
  20. package/dist/cjs/components/IotaClientProvider.js +70 -0
  21. package/dist/cjs/components/IotaClientProvider.js.map +7 -0
  22. package/dist/cjs/components/WalletProvider.d.ts +23 -0
  23. package/dist/cjs/components/WalletProvider.js +798 -0
  24. package/dist/cjs/components/WalletProvider.js.map +7 -0
  25. package/dist/cjs/components/connect-modal/ConnectModal.css +415 -0
  26. package/dist/cjs/components/connect-modal/ConnectModal.css.css +116 -0
  27. package/dist/cjs/components/connect-modal/ConnectModal.css.css.map +7 -0
  28. package/dist/cjs/components/connect-modal/ConnectModal.css.d.ts +11 -0
  29. package/dist/cjs/components/connect-modal/ConnectModal.css.js +47 -0
  30. package/dist/cjs/components/connect-modal/ConnectModal.css.js.map +7 -0
  31. package/dist/cjs/components/connect-modal/ConnectModal.css.map +7 -0
  32. package/dist/cjs/components/connect-modal/ConnectModal.d.ts +20 -0
  33. package/dist/cjs/components/connect-modal/ConnectModal.js +608 -0
  34. package/dist/cjs/components/connect-modal/ConnectModal.js.map +7 -0
  35. package/dist/cjs/components/connect-modal/InfoSection.css +78 -0
  36. package/dist/cjs/components/connect-modal/InfoSection.css.css +8 -0
  37. package/dist/cjs/components/connect-modal/InfoSection.css.css.map +7 -0
  38. package/dist/cjs/components/connect-modal/InfoSection.css.d.ts +1 -0
  39. package/dist/cjs/components/connect-modal/InfoSection.css.js +27 -0
  40. package/dist/cjs/components/connect-modal/InfoSection.css.js.map +7 -0
  41. package/dist/cjs/components/connect-modal/InfoSection.css.map +7 -0
  42. package/dist/cjs/components/connect-modal/InfoSection.d.ts +6 -0
  43. package/dist/cjs/components/connect-modal/InfoSection.js +119 -0
  44. package/dist/cjs/components/connect-modal/InfoSection.js.map +7 -0
  45. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css +146 -0
  46. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css +33 -0
  47. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css.map +7 -0
  48. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.d.ts +5 -0
  49. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.js +35 -0
  50. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.js.map +7 -0
  51. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.map +7 -0
  52. package/dist/cjs/components/connect-modal/views/ConnectionStatus.d.ts +8 -0
  53. package/dist/cjs/components/connect-modal/views/ConnectionStatus.js +173 -0
  54. package/dist/cjs/components/connect-modal/views/ConnectionStatus.js.map +7 -0
  55. package/dist/cjs/components/connect-modal/views/GetTheWallet.css +78 -0
  56. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.css +35 -0
  57. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.css.map +7 -0
  58. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.d.ts +5 -0
  59. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.js +35 -0
  60. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.js.map +7 -0
  61. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.map +7 -0
  62. package/dist/cjs/components/connect-modal/views/GetTheWallet.d.ts +1 -0
  63. package/dist/cjs/components/connect-modal/views/GetTheWallet.js +151 -0
  64. package/dist/cjs/components/connect-modal/views/GetTheWallet.js.map +7 -0
  65. package/dist/cjs/components/connect-modal/views/GettingStarted.css +147 -0
  66. package/dist/cjs/components/connect-modal/views/GettingStarted.css.css +26 -0
  67. package/dist/cjs/components/connect-modal/views/GettingStarted.css.css.map +7 -0
  68. package/dist/cjs/components/connect-modal/views/GettingStarted.css.d.ts +3 -0
  69. package/dist/cjs/components/connect-modal/views/GettingStarted.css.js +31 -0
  70. package/dist/cjs/components/connect-modal/views/GettingStarted.css.js.map +7 -0
  71. package/dist/cjs/components/connect-modal/views/GettingStarted.css.map +7 -0
  72. package/dist/cjs/components/connect-modal/views/GettingStarted.d.ts +1 -0
  73. package/dist/cjs/components/connect-modal/views/GettingStarted.js +172 -0
  74. package/dist/cjs/components/connect-modal/views/GettingStarted.js.map +7 -0
  75. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css +96 -0
  76. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css +18 -0
  77. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css.map +7 -0
  78. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.d.ts +2 -0
  79. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js +29 -0
  80. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js.map +7 -0
  81. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.map +7 -0
  82. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.d.ts +1 -0
  83. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js +135 -0
  84. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
  85. package/dist/cjs/components/connect-modal/views/index.css +207 -0
  86. package/dist/cjs/components/connect-modal/views/index.css.map +7 -0
  87. package/dist/cjs/components/connect-modal/views/index.d.ts +3 -0
  88. package/dist/cjs/components/connect-modal/views/index.js +292 -0
  89. package/dist/cjs/components/connect-modal/views/index.js.map +7 -0
  90. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css +78 -0
  91. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css +13 -0
  92. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css.map +7 -0
  93. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.d.ts +2 -0
  94. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.js +29 -0
  95. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.js.map +7 -0
  96. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.map +7 -0
  97. package/dist/cjs/components/connect-modal/wallet-list/WalletList.d.ts +8 -0
  98. package/dist/cjs/components/connect-modal/wallet-list/WalletList.js +178 -0
  99. package/dist/cjs/components/connect-modal/wallet-list/WalletList.js.map +7 -0
  100. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css +65 -0
  101. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css +33 -0
  102. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css.map +7 -0
  103. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.d.ts +4 -0
  104. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js +33 -0
  105. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js.map +7 -0
  106. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.map +7 -0
  107. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.d.ts +9 -0
  108. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js +95 -0
  109. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js.map +7 -0
  110. package/dist/cjs/components/icons/ArrowRightIcon.d.ts +2 -0
  111. package/dist/cjs/components/icons/ArrowRightIcon.js +47 -0
  112. package/dist/cjs/components/icons/ArrowRightIcon.js.map +7 -0
  113. package/dist/cjs/components/icons/ArrowTopRightIcon.d.ts +2 -0
  114. package/dist/cjs/components/icons/ArrowTopRightIcon.js +47 -0
  115. package/dist/cjs/components/icons/ArrowTopRightIcon.js.map +7 -0
  116. package/dist/cjs/components/icons/BackIcon.d.ts +2 -0
  117. package/dist/cjs/components/icons/BackIcon.js +36 -0
  118. package/dist/cjs/components/icons/BackIcon.js.map +7 -0
  119. package/dist/cjs/components/icons/CheckIcon.d.ts +2 -0
  120. package/dist/cjs/components/icons/CheckIcon.js +36 -0
  121. package/dist/cjs/components/icons/CheckIcon.js.map +7 -0
  122. package/dist/cjs/components/icons/ChevronIcon.d.ts +2 -0
  123. package/dist/cjs/components/icons/ChevronIcon.js +39 -0
  124. package/dist/cjs/components/icons/ChevronIcon.js.map +7 -0
  125. package/dist/cjs/components/icons/CloseIcon.d.ts +2 -0
  126. package/dist/cjs/components/icons/CloseIcon.js +36 -0
  127. package/dist/cjs/components/icons/CloseIcon.js.map +7 -0
  128. package/dist/cjs/components/icons/IotaIcon.d.ts +2 -0
  129. package/dist/cjs/components/icons/IotaIcon.js +47 -0
  130. package/dist/cjs/components/icons/IotaIcon.js.map +7 -0
  131. package/dist/cjs/components/styling/InjectedThemeStyles.d.ts +6 -0
  132. package/dist/cjs/components/styling/InjectedThemeStyles.js +130 -0
  133. package/dist/cjs/components/styling/InjectedThemeStyles.js.map +7 -0
  134. package/dist/cjs/components/styling/StyleMarker.css +46 -0
  135. package/dist/cjs/components/styling/StyleMarker.css.css +46 -0
  136. package/dist/cjs/components/styling/StyleMarker.css.css.map +7 -0
  137. package/dist/cjs/components/styling/StyleMarker.css.d.ts +1 -0
  138. package/dist/cjs/components/styling/StyleMarker.css.js +2 -0
  139. package/dist/cjs/components/styling/StyleMarker.css.js.map +7 -0
  140. package/dist/cjs/components/styling/StyleMarker.css.map +7 -0
  141. package/dist/cjs/components/styling/StyleMarker.d.ts +2 -0
  142. package/dist/cjs/components/styling/StyleMarker.js +69 -0
  143. package/dist/cjs/components/styling/StyleMarker.js.map +7 -0
  144. package/dist/cjs/components/ui/Button.css +43 -0
  145. package/dist/cjs/components/ui/Button.css.css +43 -0
  146. package/dist/cjs/components/ui/Button.css.css.map +7 -0
  147. package/dist/cjs/components/ui/Button.css.d.ts +32 -0
  148. package/dist/cjs/components/ui/Button.css.js +28 -0
  149. package/dist/cjs/components/ui/Button.css.js.map +7 -0
  150. package/dist/cjs/components/ui/Button.css.map +7 -0
  151. package/dist/cjs/components/ui/Button.d.ts +8 -0
  152. package/dist/cjs/components/ui/Button.js +60 -0
  153. package/dist/cjs/components/ui/Button.js.map +7 -0
  154. package/dist/cjs/components/ui/Heading.css +32 -0
  155. package/dist/cjs/components/ui/Heading.css.css +32 -0
  156. package/dist/cjs/components/ui/Heading.css.css.map +7 -0
  157. package/dist/cjs/components/ui/Heading.css.d.ts +33 -0
  158. package/dist/cjs/components/ui/Heading.css.js +28 -0
  159. package/dist/cjs/components/ui/Heading.css.js.map +7 -0
  160. package/dist/cjs/components/ui/Heading.css.map +7 -0
  161. package/dist/cjs/components/ui/Heading.d.ts +12 -0
  162. package/dist/cjs/components/ui/Heading.js +69 -0
  163. package/dist/cjs/components/ui/Heading.js.map +7 -0
  164. package/dist/cjs/components/ui/IconButton.css +9 -0
  165. package/dist/cjs/components/ui/IconButton.css.css +9 -0
  166. package/dist/cjs/components/ui/IconButton.css.css.map +7 -0
  167. package/dist/cjs/components/ui/IconButton.css.d.ts +1 -0
  168. package/dist/cjs/components/ui/IconButton.css.js +27 -0
  169. package/dist/cjs/components/ui/IconButton.css.js.map +7 -0
  170. package/dist/cjs/components/ui/IconButton.css.map +7 -0
  171. package/dist/cjs/components/ui/IconButton.d.ts +6 -0
  172. package/dist/cjs/components/ui/IconButton.js +52 -0
  173. package/dist/cjs/components/ui/IconButton.js.map +7 -0
  174. package/dist/cjs/components/ui/Text.css +38 -0
  175. package/dist/cjs/components/ui/Text.css.css +38 -0
  176. package/dist/cjs/components/ui/Text.css.css.map +7 -0
  177. package/dist/cjs/components/ui/Text.css.d.ts +33 -0
  178. package/dist/cjs/components/ui/Text.css.js +28 -0
  179. package/dist/cjs/components/ui/Text.css.js.map +7 -0
  180. package/dist/cjs/components/ui/Text.css.map +7 -0
  181. package/dist/cjs/components/ui/Text.d.ts +12 -0
  182. package/dist/cjs/components/ui/Text.js +70 -0
  183. package/dist/cjs/components/ui/Text.js.map +7 -0
  184. package/dist/cjs/constants/styleDataAttribute.d.ts +5 -0
  185. package/dist/cjs/constants/styleDataAttribute.js +31 -0
  186. package/dist/cjs/constants/styleDataAttribute.js.map +7 -0
  187. package/dist/cjs/constants/walletDefaults.d.ts +7 -0
  188. package/dist/cjs/constants/walletDefaults.js +57 -0
  189. package/dist/cjs/constants/walletDefaults.js.map +7 -0
  190. package/dist/cjs/constants/walletMutationKeys.d.ts +14 -0
  191. package/dist/cjs/constants/walletMutationKeys.js +42 -0
  192. package/dist/cjs/constants/walletMutationKeys.js.map +7 -0
  193. package/dist/cjs/contexts/walletContext.d.ts +11 -0
  194. package/dist/cjs/contexts/walletContext.js +28 -0
  195. package/dist/cjs/contexts/walletContext.js.map +7 -0
  196. package/dist/cjs/errors/walletErrors.d.ts +22 -0
  197. package/dist/cjs/errors/walletErrors.js +37 -0
  198. package/dist/cjs/errors/walletErrors.js.map +7 -0
  199. package/dist/cjs/hooks/networkConfig.d.ts +10 -0
  200. package/dist/cjs/hooks/networkConfig.js +74 -0
  201. package/dist/cjs/hooks/networkConfig.js.map +7 -0
  202. package/dist/cjs/hooks/useGetDefaultIotaName.d.ts +1 -0
  203. package/dist/cjs/hooks/useGetDefaultIotaName.js +80 -0
  204. package/dist/cjs/hooks/useGetDefaultIotaName.js.map +7 -0
  205. package/dist/cjs/hooks/useIotaClient.d.ts +3 -0
  206. package/dist/cjs/hooks/useIotaClient.js +51 -0
  207. package/dist/cjs/hooks/useIotaClient.js.map +7 -0
  208. package/dist/cjs/hooks/useIotaClientInfiniteQuery.d.ts +25 -0
  209. package/dist/cjs/hooks/useIotaClientInfiniteQuery.js +70 -0
  210. package/dist/cjs/hooks/useIotaClientInfiniteQuery.js.map +7 -0
  211. package/dist/cjs/hooks/useIotaClientMutation.d.ts +4 -0
  212. package/dist/cjs/hooks/useIotaClientMutation.js +61 -0
  213. package/dist/cjs/hooks/useIotaClientMutation.js.map +7 -0
  214. package/dist/cjs/hooks/useIotaClientQueries.d.ts +27 -0
  215. package/dist/cjs/hooks/useIotaClientQueries.js +71 -0
  216. package/dist/cjs/hooks/useIotaClientQueries.js.map +7 -0
  217. package/dist/cjs/hooks/useIotaClientQuery.d.ts +51 -0
  218. package/dist/cjs/hooks/useIotaClientQuery.js +97 -0
  219. package/dist/cjs/hooks/useIotaClientQuery.js.map +7 -0
  220. package/dist/cjs/hooks/wallet/useAccounts.d.ts +5 -0
  221. package/dist/cjs/hooks/wallet/useAccounts.js +50 -0
  222. package/dist/cjs/hooks/wallet/useAccounts.js.map +7 -0
  223. package/dist/cjs/hooks/wallet/useAutoConnectWallet.d.ts +1 -0
  224. package/dist/cjs/hooks/wallet/useAutoConnectWallet.js +235 -0
  225. package/dist/cjs/hooks/wallet/useAutoConnectWallet.js.map +7 -0
  226. package/dist/cjs/hooks/wallet/useConnectWallet.d.ts +15 -0
  227. package/dist/cjs/hooks/wallet/useConnectWallet.js +110 -0
  228. package/dist/cjs/hooks/wallet/useConnectWallet.js.map +7 -0
  229. package/dist/cjs/hooks/wallet/useCurrentAccount.d.ts +5 -0
  230. package/dist/cjs/hooks/wallet/useCurrentAccount.js +50 -0
  231. package/dist/cjs/hooks/wallet/useCurrentAccount.js.map +7 -0
  232. package/dist/cjs/hooks/wallet/useCurrentWallet.d.ts +25 -0
  233. package/dist/cjs/hooks/wallet/useCurrentWallet.js +82 -0
  234. package/dist/cjs/hooks/wallet/useCurrentWallet.js.map +7 -0
  235. package/dist/cjs/hooks/wallet/useDisconnectWallet.d.ts +9 -0
  236. package/dist/cjs/hooks/wallet/useDisconnectWallet.js +132 -0
  237. package/dist/cjs/hooks/wallet/useDisconnectWallet.js.map +7 -0
  238. package/dist/cjs/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
  239. package/dist/cjs/hooks/wallet/useReportTransactionEffects.js +148 -0
  240. package/dist/cjs/hooks/wallet/useReportTransactionEffects.js.map +7 -0
  241. package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.d.ts +30 -0
  242. package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js +257 -0
  243. package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
  244. package/dist/cjs/hooks/wallet/useSignPersonalMessage.d.ts +13 -0
  245. package/dist/cjs/hooks/wallet/useSignPersonalMessage.js +148 -0
  246. package/dist/cjs/hooks/wallet/useSignPersonalMessage.js.map +7 -0
  247. package/dist/cjs/hooks/wallet/useSignTransaction.d.ts +18 -0
  248. package/dist/cjs/hooks/wallet/useSignTransaction.js +233 -0
  249. package/dist/cjs/hooks/wallet/useSignTransaction.js.map +7 -0
  250. package/dist/cjs/hooks/wallet/useSwitchAccount.d.ts +14 -0
  251. package/dist/cjs/hooks/wallet/useSwitchAccount.js +134 -0
  252. package/dist/cjs/hooks/wallet/useSwitchAccount.js.map +7 -0
  253. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.d.ts +1 -0
  254. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js +193 -0
  255. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js.map +7 -0
  256. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.d.ts +4 -0
  257. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js +100 -0
  258. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js.map +7 -0
  259. package/dist/cjs/hooks/wallet/useWalletStore.d.ts +2 -0
  260. package/dist/cjs/hooks/wallet/useWalletStore.js +43 -0
  261. package/dist/cjs/hooks/wallet/useWalletStore.js.map +7 -0
  262. package/dist/cjs/hooks/wallet/useWallets.d.ts +4 -0
  263. package/dist/cjs/hooks/wallet/useWallets.js +50 -0
  264. package/dist/cjs/hooks/wallet/useWallets.js.map +7 -0
  265. package/dist/cjs/hooks/wallet/useWalletsChanged.d.ts +5 -0
  266. package/dist/cjs/hooks/wallet/useWalletsChanged.js +86 -0
  267. package/dist/cjs/hooks/wallet/useWalletsChanged.js.map +7 -0
  268. package/dist/cjs/index.css +471 -0
  269. package/dist/cjs/index.css.map +7 -0
  270. package/dist/cjs/index.d.ts +26 -0
  271. package/dist/cjs/index.js +1980 -0
  272. package/dist/cjs/index.js.map +7 -0
  273. package/dist/cjs/package.json +4 -0
  274. package/dist/cjs/themes/darkTheme.d.ts +2 -0
  275. package/dist/cjs/themes/darkTheme.js +88 -0
  276. package/dist/cjs/themes/darkTheme.js.map +7 -0
  277. package/dist/cjs/themes/lightTheme.d.ts +2 -0
  278. package/dist/cjs/themes/lightTheme.js +88 -0
  279. package/dist/cjs/themes/lightTheme.js.map +7 -0
  280. package/dist/cjs/themes/themeContract.d.ts +150 -0
  281. package/dist/cjs/themes/themeContract.js +93 -0
  282. package/dist/cjs/themes/themeContract.js.map +7 -0
  283. package/dist/cjs/types/utilityTypes.d.ts +1 -0
  284. package/dist/cjs/types/utilityTypes.js +19 -0
  285. package/dist/cjs/types/utilityTypes.js.map +7 -0
  286. package/dist/cjs/types.d.ts +2 -0
  287. package/dist/cjs/types.js +19 -0
  288. package/dist/cjs/types.js.map +7 -0
  289. package/dist/cjs/utils/assertUnreachable.d.ts +4 -0
  290. package/dist/cjs/utils/assertUnreachable.js +29 -0
  291. package/dist/cjs/utils/assertUnreachable.js.map +7 -0
  292. package/dist/cjs/utils/stateStorage.d.ts +2 -0
  293. package/dist/cjs/utils/stateStorage.js +40 -0
  294. package/dist/cjs/utils/stateStorage.js.map +7 -0
  295. package/dist/cjs/utils/walletUtils.d.ts +3 -0
  296. package/dist/cjs/utils/walletUtils.js +44 -0
  297. package/dist/cjs/utils/walletUtils.js.map +7 -0
  298. package/dist/cjs/walletStore.d.ts +42 -0
  299. package/dist/cjs/walletStore.js +127 -0
  300. package/dist/cjs/walletStore.js.map +7 -0
  301. package/dist/esm/components/AccountDropdownMenu.css +183 -0
  302. package/dist/esm/components/AccountDropdownMenu.css.css +56 -0
  303. package/dist/esm/components/AccountDropdownMenu.css.css.map +7 -0
  304. package/dist/esm/components/AccountDropdownMenu.css.d.ts +7 -0
  305. package/dist/esm/components/AccountDropdownMenu.css.js +18 -0
  306. package/dist/esm/components/AccountDropdownMenu.css.js.map +7 -0
  307. package/dist/esm/components/AccountDropdownMenu.css.map +7 -0
  308. package/dist/esm/components/AccountDropdownMenu.d.ts +14 -0
  309. package/dist/esm/components/AccountDropdownMenu.js +423 -0
  310. package/dist/esm/components/AccountDropdownMenu.js.map +7 -0
  311. package/dist/esm/components/ConnectButton.css +471 -0
  312. package/dist/esm/components/ConnectButton.css.map +7 -0
  313. package/dist/esm/components/ConnectButton.d.ts +9 -0
  314. package/dist/esm/components/ConnectButton.js +889 -0
  315. package/dist/esm/components/ConnectButton.js.map +7 -0
  316. package/dist/esm/components/IotaClientProvider.d.ts +25 -0
  317. package/dist/esm/components/IotaClientProvider.js +49 -0
  318. package/dist/esm/components/IotaClientProvider.js.map +7 -0
  319. package/dist/esm/components/WalletProvider.d.ts +23 -0
  320. package/dist/esm/components/WalletProvider.js +778 -0
  321. package/dist/esm/components/WalletProvider.js.map +7 -0
  322. package/dist/esm/components/connect-modal/ConnectModal.css +415 -0
  323. package/dist/esm/components/connect-modal/ConnectModal.css.css +116 -0
  324. package/dist/esm/components/connect-modal/ConnectModal.css.css.map +7 -0
  325. package/dist/esm/components/connect-modal/ConnectModal.css.d.ts +11 -0
  326. package/dist/esm/components/connect-modal/ConnectModal.css.js +26 -0
  327. package/dist/esm/components/connect-modal/ConnectModal.css.js.map +7 -0
  328. package/dist/esm/components/connect-modal/ConnectModal.css.map +7 -0
  329. package/dist/esm/components/connect-modal/ConnectModal.d.ts +20 -0
  330. package/dist/esm/components/connect-modal/ConnectModal.js +600 -0
  331. package/dist/esm/components/connect-modal/ConnectModal.js.map +7 -0
  332. package/dist/esm/components/connect-modal/InfoSection.css +78 -0
  333. package/dist/esm/components/connect-modal/InfoSection.css.css +8 -0
  334. package/dist/esm/components/connect-modal/InfoSection.css.css.map +7 -0
  335. package/dist/esm/components/connect-modal/InfoSection.css.d.ts +1 -0
  336. package/dist/esm/components/connect-modal/InfoSection.css.js +6 -0
  337. package/dist/esm/components/connect-modal/InfoSection.css.js.map +7 -0
  338. package/dist/esm/components/connect-modal/InfoSection.css.map +7 -0
  339. package/dist/esm/components/connect-modal/InfoSection.d.ts +6 -0
  340. package/dist/esm/components/connect-modal/InfoSection.js +86 -0
  341. package/dist/esm/components/connect-modal/InfoSection.js.map +7 -0
  342. package/dist/esm/components/connect-modal/views/ConnectionStatus.css +146 -0
  343. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css +33 -0
  344. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css.map +7 -0
  345. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.d.ts +5 -0
  346. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js +14 -0
  347. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js.map +7 -0
  348. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.map +7 -0
  349. package/dist/esm/components/connect-modal/views/ConnectionStatus.d.ts +8 -0
  350. package/dist/esm/components/connect-modal/views/ConnectionStatus.js +140 -0
  351. package/dist/esm/components/connect-modal/views/ConnectionStatus.js.map +7 -0
  352. package/dist/esm/components/connect-modal/views/GetTheWallet.css +78 -0
  353. package/dist/esm/components/connect-modal/views/GetTheWallet.css.css +35 -0
  354. package/dist/esm/components/connect-modal/views/GetTheWallet.css.css.map +7 -0
  355. package/dist/esm/components/connect-modal/views/GetTheWallet.css.d.ts +5 -0
  356. package/dist/esm/components/connect-modal/views/GetTheWallet.css.js +14 -0
  357. package/dist/esm/components/connect-modal/views/GetTheWallet.css.js.map +7 -0
  358. package/dist/esm/components/connect-modal/views/GetTheWallet.css.map +7 -0
  359. package/dist/esm/components/connect-modal/views/GetTheWallet.d.ts +1 -0
  360. package/dist/esm/components/connect-modal/views/GetTheWallet.js +118 -0
  361. package/dist/esm/components/connect-modal/views/GetTheWallet.js.map +7 -0
  362. package/dist/esm/components/connect-modal/views/GettingStarted.css +147 -0
  363. package/dist/esm/components/connect-modal/views/GettingStarted.css.css +26 -0
  364. package/dist/esm/components/connect-modal/views/GettingStarted.css.css.map +7 -0
  365. package/dist/esm/components/connect-modal/views/GettingStarted.css.d.ts +3 -0
  366. package/dist/esm/components/connect-modal/views/GettingStarted.css.js +10 -0
  367. package/dist/esm/components/connect-modal/views/GettingStarted.css.js.map +7 -0
  368. package/dist/esm/components/connect-modal/views/GettingStarted.css.map +7 -0
  369. package/dist/esm/components/connect-modal/views/GettingStarted.d.ts +1 -0
  370. package/dist/esm/components/connect-modal/views/GettingStarted.js +139 -0
  371. package/dist/esm/components/connect-modal/views/GettingStarted.js.map +7 -0
  372. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css +96 -0
  373. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css +18 -0
  374. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css.map +7 -0
  375. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.d.ts +2 -0
  376. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js +8 -0
  377. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js.map +7 -0
  378. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.map +7 -0
  379. package/dist/esm/components/connect-modal/views/WhatIsAWallet.d.ts +1 -0
  380. package/dist/esm/components/connect-modal/views/WhatIsAWallet.js +102 -0
  381. package/dist/esm/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
  382. package/dist/esm/components/connect-modal/views/index.css +207 -0
  383. package/dist/esm/components/connect-modal/views/index.css.map +7 -0
  384. package/dist/esm/components/connect-modal/views/index.d.ts +3 -0
  385. package/dist/esm/components/connect-modal/views/index.js +259 -0
  386. package/dist/esm/components/connect-modal/views/index.js.map +7 -0
  387. package/dist/esm/components/connect-modal/wallet-list/WalletList.css +78 -0
  388. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css +13 -0
  389. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css.map +7 -0
  390. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.d.ts +2 -0
  391. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js +8 -0
  392. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js.map +7 -0
  393. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.map +7 -0
  394. package/dist/esm/components/connect-modal/wallet-list/WalletList.d.ts +8 -0
  395. package/dist/esm/components/connect-modal/wallet-list/WalletList.js +145 -0
  396. package/dist/esm/components/connect-modal/wallet-list/WalletList.js.map +7 -0
  397. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css +65 -0
  398. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css +33 -0
  399. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css.map +7 -0
  400. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.d.ts +4 -0
  401. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js +12 -0
  402. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js.map +7 -0
  403. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.map +7 -0
  404. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.d.ts +9 -0
  405. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js +64 -0
  406. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js.map +7 -0
  407. package/dist/esm/components/icons/ArrowRightIcon.d.ts +2 -0
  408. package/dist/esm/components/icons/ArrowRightIcon.js +26 -0
  409. package/dist/esm/components/icons/ArrowRightIcon.js.map +7 -0
  410. package/dist/esm/components/icons/ArrowTopRightIcon.d.ts +2 -0
  411. package/dist/esm/components/icons/ArrowTopRightIcon.js +26 -0
  412. package/dist/esm/components/icons/ArrowTopRightIcon.js.map +7 -0
  413. package/dist/esm/components/icons/BackIcon.d.ts +2 -0
  414. package/dist/esm/components/icons/BackIcon.js +15 -0
  415. package/dist/esm/components/icons/BackIcon.js.map +7 -0
  416. package/dist/esm/components/icons/CheckIcon.d.ts +2 -0
  417. package/dist/esm/components/icons/CheckIcon.js +15 -0
  418. package/dist/esm/components/icons/CheckIcon.js.map +7 -0
  419. package/dist/esm/components/icons/ChevronIcon.d.ts +2 -0
  420. package/dist/esm/components/icons/ChevronIcon.js +18 -0
  421. package/dist/esm/components/icons/ChevronIcon.js.map +7 -0
  422. package/dist/esm/components/icons/CloseIcon.d.ts +2 -0
  423. package/dist/esm/components/icons/CloseIcon.js +15 -0
  424. package/dist/esm/components/icons/CloseIcon.js.map +7 -0
  425. package/dist/esm/components/icons/IotaIcon.d.ts +2 -0
  426. package/dist/esm/components/icons/IotaIcon.js +26 -0
  427. package/dist/esm/components/icons/IotaIcon.js.map +7 -0
  428. package/dist/esm/components/styling/InjectedThemeStyles.d.ts +6 -0
  429. package/dist/esm/components/styling/InjectedThemeStyles.js +109 -0
  430. package/dist/esm/components/styling/InjectedThemeStyles.js.map +7 -0
  431. package/dist/esm/components/styling/StyleMarker.css +46 -0
  432. package/dist/esm/components/styling/StyleMarker.css.css +46 -0
  433. package/dist/esm/components/styling/StyleMarker.css.css.map +7 -0
  434. package/dist/esm/components/styling/StyleMarker.css.d.ts +1 -0
  435. package/dist/esm/components/styling/StyleMarker.css.js +22 -0
  436. package/dist/esm/components/styling/StyleMarker.css.js.map +7 -0
  437. package/dist/esm/components/styling/StyleMarker.css.map +7 -0
  438. package/dist/esm/components/styling/StyleMarker.d.ts +2 -0
  439. package/dist/esm/components/styling/StyleMarker.js +61 -0
  440. package/dist/esm/components/styling/StyleMarker.js.map +7 -0
  441. package/dist/esm/components/ui/Button.css +43 -0
  442. package/dist/esm/components/ui/Button.css.css +43 -0
  443. package/dist/esm/components/ui/Button.css.css.map +7 -0
  444. package/dist/esm/components/ui/Button.css.d.ts +32 -0
  445. package/dist/esm/components/ui/Button.css.js +7 -0
  446. package/dist/esm/components/ui/Button.css.js.map +7 -0
  447. package/dist/esm/components/ui/Button.css.map +7 -0
  448. package/dist/esm/components/ui/Button.d.ts +8 -0
  449. package/dist/esm/components/ui/Button.js +29 -0
  450. package/dist/esm/components/ui/Button.js.map +7 -0
  451. package/dist/esm/components/ui/Heading.css +32 -0
  452. package/dist/esm/components/ui/Heading.css.css +32 -0
  453. package/dist/esm/components/ui/Heading.css.css.map +7 -0
  454. package/dist/esm/components/ui/Heading.css.d.ts +33 -0
  455. package/dist/esm/components/ui/Heading.css.js +7 -0
  456. package/dist/esm/components/ui/Heading.css.js.map +7 -0
  457. package/dist/esm/components/ui/Heading.css.map +7 -0
  458. package/dist/esm/components/ui/Heading.d.ts +12 -0
  459. package/dist/esm/components/ui/Heading.js +38 -0
  460. package/dist/esm/components/ui/Heading.js.map +7 -0
  461. package/dist/esm/components/ui/IconButton.css +9 -0
  462. package/dist/esm/components/ui/IconButton.css.css +9 -0
  463. package/dist/esm/components/ui/IconButton.css.css.map +7 -0
  464. package/dist/esm/components/ui/IconButton.css.d.ts +1 -0
  465. package/dist/esm/components/ui/IconButton.css.js +6 -0
  466. package/dist/esm/components/ui/IconButton.css.js.map +7 -0
  467. package/dist/esm/components/ui/IconButton.css.map +7 -0
  468. package/dist/esm/components/ui/IconButton.d.ts +6 -0
  469. package/dist/esm/components/ui/IconButton.js +21 -0
  470. package/dist/esm/components/ui/IconButton.js.map +7 -0
  471. package/dist/esm/components/ui/Text.css +38 -0
  472. package/dist/esm/components/ui/Text.css.css +38 -0
  473. package/dist/esm/components/ui/Text.css.css.map +7 -0
  474. package/dist/esm/components/ui/Text.css.d.ts +33 -0
  475. package/dist/esm/components/ui/Text.css.js +7 -0
  476. package/dist/esm/components/ui/Text.css.js.map +7 -0
  477. package/dist/esm/components/ui/Text.css.map +7 -0
  478. package/dist/esm/components/ui/Text.d.ts +12 -0
  479. package/dist/esm/components/ui/Text.js +39 -0
  480. package/dist/esm/components/ui/Text.js.map +7 -0
  481. package/dist/esm/constants/styleDataAttribute.d.ts +5 -0
  482. package/dist/esm/constants/styleDataAttribute.js +10 -0
  483. package/dist/esm/constants/styleDataAttribute.js.map +7 -0
  484. package/dist/esm/constants/walletDefaults.d.ts +7 -0
  485. package/dist/esm/constants/walletDefaults.js +34 -0
  486. package/dist/esm/constants/walletDefaults.js.map +7 -0
  487. package/dist/esm/constants/walletMutationKeys.d.ts +14 -0
  488. package/dist/esm/constants/walletMutationKeys.js +21 -0
  489. package/dist/esm/constants/walletMutationKeys.js.map +7 -0
  490. package/dist/esm/contexts/walletContext.d.ts +11 -0
  491. package/dist/esm/contexts/walletContext.js +7 -0
  492. package/dist/esm/contexts/walletContext.js.map +7 -0
  493. package/dist/esm/errors/walletErrors.d.ts +22 -0
  494. package/dist/esm/errors/walletErrors.js +16 -0
  495. package/dist/esm/errors/walletErrors.js.map +7 -0
  496. package/dist/esm/hooks/networkConfig.d.ts +10 -0
  497. package/dist/esm/hooks/networkConfig.js +51 -0
  498. package/dist/esm/hooks/networkConfig.js.map +7 -0
  499. package/dist/esm/hooks/useGetDefaultIotaName.d.ts +1 -0
  500. package/dist/esm/hooks/useGetDefaultIotaName.js +59 -0
  501. package/dist/esm/hooks/useGetDefaultIotaName.js.map +7 -0
  502. package/dist/esm/hooks/useIotaClient.d.ts +3 -0
  503. package/dist/esm/hooks/useIotaClient.js +30 -0
  504. package/dist/esm/hooks/useIotaClient.js.map +7 -0
  505. package/dist/esm/hooks/useIotaClientInfiniteQuery.d.ts +25 -0
  506. package/dist/esm/hooks/useIotaClientInfiniteQuery.js +49 -0
  507. package/dist/esm/hooks/useIotaClientInfiniteQuery.js.map +7 -0
  508. package/dist/esm/hooks/useIotaClientMutation.d.ts +4 -0
  509. package/dist/esm/hooks/useIotaClientMutation.js +40 -0
  510. package/dist/esm/hooks/useIotaClientMutation.js.map +7 -0
  511. package/dist/esm/hooks/useIotaClientQueries.d.ts +27 -0
  512. package/dist/esm/hooks/useIotaClientQueries.js +50 -0
  513. package/dist/esm/hooks/useIotaClientQueries.js.map +7 -0
  514. package/dist/esm/hooks/useIotaClientQuery.d.ts +51 -0
  515. package/dist/esm/hooks/useIotaClientQuery.js +76 -0
  516. package/dist/esm/hooks/useIotaClientQuery.js.map +7 -0
  517. package/dist/esm/hooks/wallet/useAccounts.d.ts +5 -0
  518. package/dist/esm/hooks/wallet/useAccounts.js +27 -0
  519. package/dist/esm/hooks/wallet/useAccounts.js.map +7 -0
  520. package/dist/esm/hooks/wallet/useAutoConnectWallet.d.ts +1 -0
  521. package/dist/esm/hooks/wallet/useAutoConnectWallet.js +214 -0
  522. package/dist/esm/hooks/wallet/useAutoConnectWallet.js.map +7 -0
  523. package/dist/esm/hooks/wallet/useConnectWallet.d.ts +15 -0
  524. package/dist/esm/hooks/wallet/useConnectWallet.js +89 -0
  525. package/dist/esm/hooks/wallet/useConnectWallet.js.map +7 -0
  526. package/dist/esm/hooks/wallet/useCurrentAccount.d.ts +5 -0
  527. package/dist/esm/hooks/wallet/useCurrentAccount.js +27 -0
  528. package/dist/esm/hooks/wallet/useCurrentAccount.js.map +7 -0
  529. package/dist/esm/hooks/wallet/useCurrentWallet.d.ts +25 -0
  530. package/dist/esm/hooks/wallet/useCurrentWallet.js +59 -0
  531. package/dist/esm/hooks/wallet/useCurrentWallet.js.map +7 -0
  532. package/dist/esm/hooks/wallet/useDisconnectWallet.d.ts +9 -0
  533. package/dist/esm/hooks/wallet/useDisconnectWallet.js +111 -0
  534. package/dist/esm/hooks/wallet/useDisconnectWallet.js.map +7 -0
  535. package/dist/esm/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
  536. package/dist/esm/hooks/wallet/useReportTransactionEffects.js +127 -0
  537. package/dist/esm/hooks/wallet/useReportTransactionEffects.js.map +7 -0
  538. package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.d.ts +30 -0
  539. package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js +236 -0
  540. package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
  541. package/dist/esm/hooks/wallet/useSignPersonalMessage.d.ts +13 -0
  542. package/dist/esm/hooks/wallet/useSignPersonalMessage.js +127 -0
  543. package/dist/esm/hooks/wallet/useSignPersonalMessage.js.map +7 -0
  544. package/dist/esm/hooks/wallet/useSignTransaction.d.ts +18 -0
  545. package/dist/esm/hooks/wallet/useSignTransaction.js +212 -0
  546. package/dist/esm/hooks/wallet/useSignTransaction.js.map +7 -0
  547. package/dist/esm/hooks/wallet/useSwitchAccount.d.ts +14 -0
  548. package/dist/esm/hooks/wallet/useSwitchAccount.js +113 -0
  549. package/dist/esm/hooks/wallet/useSwitchAccount.js.map +7 -0
  550. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.d.ts +1 -0
  551. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js +173 -0
  552. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js.map +7 -0
  553. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.d.ts +4 -0
  554. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js +79 -0
  555. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js.map +7 -0
  556. package/dist/esm/hooks/wallet/useWalletStore.d.ts +2 -0
  557. package/dist/esm/hooks/wallet/useWalletStore.js +22 -0
  558. package/dist/esm/hooks/wallet/useWalletStore.js.map +7 -0
  559. package/dist/esm/hooks/wallet/useWallets.d.ts +4 -0
  560. package/dist/esm/hooks/wallet/useWallets.js +27 -0
  561. package/dist/esm/hooks/wallet/useWallets.js.map +7 -0
  562. package/dist/esm/hooks/wallet/useWalletsChanged.d.ts +5 -0
  563. package/dist/esm/hooks/wallet/useWalletsChanged.js +65 -0
  564. package/dist/esm/hooks/wallet/useWalletsChanged.js.map +7 -0
  565. package/dist/esm/index.css +471 -0
  566. package/dist/esm/index.css.map +7 -0
  567. package/dist/esm/index.d.ts +26 -0
  568. package/dist/esm/index.js +1970 -0
  569. package/dist/esm/index.js.map +7 -0
  570. package/dist/esm/package.json +4 -0
  571. package/dist/esm/themes/darkTheme.d.ts +2 -0
  572. package/dist/esm/themes/darkTheme.js +67 -0
  573. package/dist/esm/themes/darkTheme.js.map +7 -0
  574. package/dist/esm/themes/lightTheme.d.ts +2 -0
  575. package/dist/esm/themes/lightTheme.js +67 -0
  576. package/dist/esm/themes/lightTheme.js.map +7 -0
  577. package/dist/esm/themes/themeContract.d.ts +150 -0
  578. package/dist/esm/themes/themeContract.js +72 -0
  579. package/dist/esm/themes/themeContract.js.map +7 -0
  580. package/dist/esm/types/utilityTypes.d.ts +1 -0
  581. package/dist/esm/types/utilityTypes.js +1 -0
  582. package/dist/esm/types/utilityTypes.js.map +7 -0
  583. package/dist/esm/types.d.ts +2 -0
  584. package/dist/esm/types.js +1 -0
  585. package/dist/esm/types.js.map +7 -0
  586. package/dist/esm/utils/assertUnreachable.d.ts +4 -0
  587. package/dist/esm/utils/assertUnreachable.js +8 -0
  588. package/dist/esm/utils/assertUnreachable.js.map +7 -0
  589. package/dist/esm/utils/stateStorage.d.ts +2 -0
  590. package/dist/esm/utils/stateStorage.js +19 -0
  591. package/dist/esm/utils/stateStorage.js.map +7 -0
  592. package/dist/esm/utils/walletUtils.d.ts +3 -0
  593. package/dist/esm/utils/walletUtils.js +23 -0
  594. package/dist/esm/utils/walletUtils.js.map +7 -0
  595. package/dist/esm/walletStore.d.ts +42 -0
  596. package/dist/esm/walletStore.js +106 -0
  597. package/dist/esm/walletStore.js.map +7 -0
  598. package/dist/index.css/package.json +5 -0
  599. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  600. package/dist/tsconfig.tsbuildinfo +1 -0
  601. package/package.json +97 -0
  602. package/src/components/AccountDropdownMenu.css.ts +60 -0
  603. package/src/components/AccountDropdownMenu.tsx +99 -0
  604. package/src/components/ConnectButton.tsx +43 -0
  605. package/src/components/IotaClientProvider.tsx +97 -0
  606. package/src/components/WalletProvider.tsx +106 -0
  607. package/src/components/connect-modal/ConnectModal.css.ts +125 -0
  608. package/src/components/connect-modal/ConnectModal.tsx +167 -0
  609. package/src/components/connect-modal/InfoSection.css.ts +11 -0
  610. package/src/components/connect-modal/InfoSection.tsx +25 -0
  611. package/src/components/connect-modal/views/ConnectionStatus.css.ts +37 -0
  612. package/src/components/connect-modal/views/ConnectionStatus.tsx +55 -0
  613. package/src/components/connect-modal/views/GetTheWallet.css.ts +38 -0
  614. package/src/components/connect-modal/views/GetTheWallet.tsx +25 -0
  615. package/src/components/connect-modal/views/GettingStarted.css.ts +29 -0
  616. package/src/components/connect-modal/views/GettingStarted.tsx +40 -0
  617. package/src/components/connect-modal/views/WhatIsAWallet.css.ts +21 -0
  618. package/src/components/connect-modal/views/WhatIsAWallet.tsx +24 -0
  619. package/src/components/connect-modal/views/index.ts +6 -0
  620. package/src/components/connect-modal/wallet-list/WalletList.css.ts +17 -0
  621. package/src/components/connect-modal/wallet-list/WalletList.tsx +43 -0
  622. package/src/components/connect-modal/wallet-list/WalletListItem.css.ts +36 -0
  623. package/src/components/connect-modal/wallet-list/WalletListItem.tsx +37 -0
  624. package/src/components/icons/ArrowRightIcon.tsx +23 -0
  625. package/src/components/icons/ArrowTopRightIcon.tsx +23 -0
  626. package/src/components/icons/BackIcon.tsx +18 -0
  627. package/src/components/icons/CheckIcon.tsx +16 -0
  628. package/src/components/icons/ChevronIcon.tsx +19 -0
  629. package/src/components/icons/CloseIcon.tsx +16 -0
  630. package/src/components/icons/IotaIcon.tsx +23 -0
  631. package/src/components/styling/InjectedThemeStyles.tsx +56 -0
  632. package/src/components/styling/StyleMarker.css.ts +49 -0
  633. package/src/components/styling/StyleMarker.tsx +25 -0
  634. package/src/components/ui/Button.css.ts +49 -0
  635. package/src/components/ui/Button.tsx +32 -0
  636. package/src/components/ui/Heading.css.ts +44 -0
  637. package/src/components/ui/Heading.tsx +53 -0
  638. package/src/components/ui/IconButton.css.ts +14 -0
  639. package/src/components/ui/IconButton.tsx +25 -0
  640. package/src/components/ui/Text.css.ts +39 -0
  641. package/src/components/ui/Text.tsx +51 -0
  642. package/src/constants/styleDataAttribute.ts +9 -0
  643. package/src/constants/walletDefaults.ts +26 -0
  644. package/src/constants/walletMutationKeys.ts +23 -0
  645. package/src/contexts/walletContext.ts +9 -0
  646. package/src/errors/walletErrors.ts +25 -0
  647. package/src/hooks/networkConfig.ts +46 -0
  648. package/src/hooks/useGetDefaultIotaName.ts +43 -0
  649. package/src/hooks/useIotaClient.ts +24 -0
  650. package/src/hooks/useIotaClientInfiniteQuery.ts +87 -0
  651. package/src/hooks/useIotaClientMutation.ts +28 -0
  652. package/src/hooks/useIotaClientQueries.ts +69 -0
  653. package/src/hooks/useIotaClientQuery.ts +144 -0
  654. package/src/hooks/wallet/useAccounts.ts +14 -0
  655. package/src/hooks/wallet/useAutoConnectWallet.ts +95 -0
  656. package/src/hooks/wallet/useConnectWallet.ts +91 -0
  657. package/src/hooks/wallet/useCurrentAccount.ts +14 -0
  658. package/src/hooks/wallet/useCurrentWallet.ts +45 -0
  659. package/src/hooks/wallet/useDisconnectWallet.ts +57 -0
  660. package/src/hooks/wallet/useReportTransactionEffects.ts +87 -0
  661. package/src/hooks/wallet/useSignAndExecuteTransaction.ts +172 -0
  662. package/src/hooks/wallet/useSignPersonalMessage.ts +84 -0
  663. package/src/hooks/wallet/useSignTransaction.ts +117 -0
  664. package/src/hooks/wallet/useSwitchAccount.ts +61 -0
  665. package/src/hooks/wallet/useUnsafeBurnerWallet.ts +168 -0
  666. package/src/hooks/wallet/useWalletPropertiesChanged.ts +30 -0
  667. package/src/hooks/wallet/useWalletStore.ts +19 -0
  668. package/src/hooks/wallet/useWallets.ts +12 -0
  669. package/src/hooks/wallet/useWalletsChanged.ts +42 -0
  670. package/src/index.ts +31 -0
  671. package/src/themes/darkTheme.ts +69 -0
  672. package/src/themes/lightTheme.ts +69 -0
  673. package/src/themes/themeContract.ts +103 -0
  674. package/src/types/utilityTypes.ts +5 -0
  675. package/src/types.ts +6 -0
  676. package/src/utils/assertUnreachable.ts +10 -0
  677. package/src/utils/stateStorage.ts +20 -0
  678. package/src/utils/walletUtils.ts +40 -0
  679. package/src/walletStore.ts +152 -0
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/hooks/useIotaClientQuery.ts
21
+ var useIotaClientQuery_exports = {};
22
+ __export(useIotaClientQuery_exports, {
23
+ getIotaClientQuery: () => getIotaClientQuery,
24
+ useIotaClientQuery: () => useIotaClientQuery,
25
+ useIotaClientSuspenseQuery: () => useIotaClientSuspenseQuery
26
+ });
27
+ module.exports = __toCommonJS(useIotaClientQuery_exports);
28
+ var import_react_query = require("@tanstack/react-query");
29
+ var import_react3 = require("react");
30
+
31
+ // src/hooks/useIotaClient.ts
32
+ var import_react2 = require("react");
33
+
34
+ // src/components/IotaClientProvider.tsx
35
+ var import_client = require("@iota/iota-sdk/client");
36
+ var import_react = require("react");
37
+ var import_jsx_runtime = require("react/jsx-runtime");
38
+ var IotaClientContext = (0, import_react.createContext)(null);
39
+ var DEFAULT_NETWORKS = {
40
+ localnet: { url: (0, import_client.getNetwork)(import_client.Network.Localnet)?.url }
41
+ };
42
+
43
+ // src/hooks/useIotaClient.ts
44
+ function useIotaClientContext() {
45
+ const iotaClient = (0, import_react2.useContext)(IotaClientContext);
46
+ if (!iotaClient) {
47
+ throw new Error(
48
+ "Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider"
49
+ );
50
+ }
51
+ return iotaClient;
52
+ }
53
+
54
+ // src/hooks/useIotaClientQuery.ts
55
+ function getIotaClientQuery({
56
+ client,
57
+ network,
58
+ method,
59
+ params,
60
+ options
61
+ }) {
62
+ return (0, import_react_query.queryOptions)({
63
+ ...options,
64
+ queryKey: [network, method, params],
65
+ queryFn: async () => {
66
+ return await client[method](params);
67
+ }
68
+ });
69
+ }
70
+ function useIotaClientQuery(...args) {
71
+ const [method, params, { queryKey = [], ...options } = {}] = args;
72
+ const iotaContext = useIotaClientContext();
73
+ return (0, import_react_query.useQuery)({
74
+ ...options,
75
+ queryKey: [iotaContext.network, method, params, ...queryKey],
76
+ queryFn: async () => {
77
+ return await iotaContext.client[method](
78
+ params
79
+ );
80
+ }
81
+ });
82
+ }
83
+ function useIotaClientSuspenseQuery(...args) {
84
+ const [method, params, options = {}] = args;
85
+ const iotaContext = useIotaClientContext();
86
+ const query = (0, import_react3.useMemo)(() => {
87
+ return getIotaClientQuery({
88
+ client: iotaContext.client,
89
+ network: iotaContext.network,
90
+ method,
91
+ params,
92
+ options
93
+ });
94
+ }, [iotaContext.network, method, params, options]);
95
+ return (0, import_react_query.useSuspenseQuery)(query);
96
+ }
97
+ //# 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 {\n UndefinedInitialDataOptions,\n UseQueryOptions,\n UseQueryResult,\n} from '@tanstack/react-query';\nimport { queryOptions, useQuery, useSuspenseQuery } from '@tanstack/react-query';\nimport { useMemo } from 'react';\n\nimport type { PartialBy } from '../types/utilityTypes.js';\nimport { 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 type GetIotaClientQueryOptions<T extends keyof IotaRpcMethods> = {\n client: IotaClient;\n network: string;\n method: T;\n options?: PartialBy<\n Omit<UndefinedInitialDataOptions<IotaRpcMethods[T]['result']>, 'queryFn'>,\n 'queryKey'\n >;\n} & (undefined extends IotaRpcMethods[T]['params']\n ? { params?: IotaRpcMethods[T]['params'] }\n : { params: IotaRpcMethods[T]['params'] });\n\nexport function getIotaClientQuery<T extends keyof IotaRpcMethods>({\n client,\n network,\n method,\n params,\n options,\n}: GetIotaClientQueryOptions<T>) {\n return queryOptions<IotaRpcMethods[T]['result']>({\n ...options,\n queryKey: [network, method, params],\n queryFn: async () => {\n return await client[method](params as never);\n },\n });\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\nexport function useIotaClientSuspenseQuery<\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?: UndefinedInitialDataOptions<TData>,\n ]\n : [\n method: T,\n params: IotaRpcMethods[T]['params'],\n options?: UndefinedInitialDataOptions<TData>,\n ]\n) {\n const [method, params, options = {}] = args as [\n method: T,\n params?: IotaRpcMethods[T]['params'],\n options?: UndefinedInitialDataOptions<TData>,\n ];\n\n const iotaContext = useIotaClientContext();\n\n const query = useMemo(() => {\n return getIotaClientQuery<T>({\n client: iotaContext.client,\n network: iotaContext.network,\n method,\n params,\n options,\n });\n }, [iotaContext.network, method, params, options]);\n\n return useSuspenseQuery(query);\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": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,yBAAyD;AACzD,IAAAA,gBAAwB;;;ACNxB,IAAAC,gBAA2B;;;ACD3B,oBAA8D;AAE9D,mBAAiD;AAyFtC;AAxEJ,IAAM,wBAAoB,4BAAgD,IAAI;AAkBrF,IAAM,mBAAmB;AAAA,EACrB,UAAU,EAAE,SAAK,0BAAW,sBAAQ,QAAQ,GAAG,IAAI;AACvD;;;ADlCO,SAAS,uBAAuB;AACnC,QAAM,iBAAa,0BAAW,iBAAiB;AAE/C,MAAI,CAAC,YAAY;AACb,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AACX;;;ADsCO,SAAS,mBAAmD;AAAA,EAC/D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAAiC;AAC7B,aAAO,iCAA0C;AAAA,IAC7C,GAAG;AAAA,IACH,UAAU,CAAC,SAAS,QAAQ,MAAM;AAAA,IAClC,SAAS,YAAY;AACjB,aAAO,MAAM,OAAO,MAAM,EAAE,MAAe;AAAA,IAC/C;AAAA,EACJ,CAAC;AACL;AAEO,SAAS,sBAIT,MAWyB;AAC5B,QAAM,CAAC,QAAQ,QAAQ,EAAE,WAAW,CAAC,GAAG,GAAG,QAAQ,IAAI,CAAC,CAAC,IAAI;AAM7D,QAAM,cAAc,qBAAqB;AAEzC,aAAO,6BAAS;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;AAEO,SAAS,8BAIT,MAWL;AACE,QAAM,CAAC,QAAQ,QAAQ,UAAU,CAAC,CAAC,IAAI;AAMvC,QAAM,cAAc,qBAAqB;AAEzC,QAAM,YAAQ,uBAAQ,MAAM;AACxB,WAAO,mBAAsB;AAAA,MACzB,QAAQ,YAAY;AAAA,MACpB,SAAS,YAAY;AAAA,MACrB;AAAA,MACA;AAAA,MACA;AAAA,IACJ,CAAC;AAAA,EACL,GAAG,CAAC,YAAY,SAAS,QAAQ,QAAQ,OAAO,CAAC;AAEjD,aAAO,qCAAiB,KAAK;AACjC;",
6
+ "names": ["import_react", "import_react"]
7
+ }
@@ -0,0 +1,5 @@
1
+ import type { WalletAccount } from '@iota/wallet-standard';
2
+ /**
3
+ * Retrieves a list of connected accounts authorized by the dApp.
4
+ */
5
+ export declare function useAccounts(): readonly WalletAccount[];
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/hooks/wallet/useAccounts.ts
21
+ var useAccounts_exports = {};
22
+ __export(useAccounts_exports, {
23
+ useAccounts: () => useAccounts
24
+ });
25
+ module.exports = __toCommonJS(useAccounts_exports);
26
+
27
+ // src/hooks/wallet/useWalletStore.ts
28
+ var import_react2 = require("react");
29
+ var import_zustand = require("zustand");
30
+
31
+ // src/contexts/walletContext.ts
32
+ var import_react = require("react");
33
+ var WalletContext = (0, import_react.createContext)(null);
34
+
35
+ // src/hooks/wallet/useWalletStore.ts
36
+ function useWalletStore(selector) {
37
+ const store = (0, import_react2.useContext)(WalletContext);
38
+ if (!store) {
39
+ throw new Error(
40
+ "Could not find WalletContext. Ensure that you have set up the WalletProvider."
41
+ );
42
+ }
43
+ return (0, import_zustand.useStore)(store, selector);
44
+ }
45
+
46
+ // src/hooks/wallet/useAccounts.ts
47
+ function useAccounts() {
48
+ return useWalletStore((state) => state.accounts);
49
+ }
50
+ //# sourceMappingURL=useAccounts.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/hooks/wallet/useAccounts.ts", "../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts"],
4
+ "sourcesContent": ["// 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", "// 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"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACIA,IAAAA,gBAA2B;AAC3B,qBAAyB;;;ACDzB,mBAA8B;AAIvB,IAAM,oBAAgB,4BAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACrE,QAAM,YAAQ,0BAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACR,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AACA,aAAO,yBAAS,OAAO,QAAQ;AACnC;;;ADPO,SAAS,cAAwC;AACpD,SAAO,eAAe,CAAC,UAAU,MAAM,QAAQ;AACnD;",
6
+ "names": ["import_react"]
7
+ }
@@ -0,0 +1 @@
1
+ export declare function useAutoConnectWallet(): 'disabled' | 'idle' | 'attempted';
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/hooks/wallet/useAutoConnectWallet.ts
21
+ var useAutoConnectWallet_exports = {};
22
+ __export(useAutoConnectWallet_exports, {
23
+ useAutoConnectWallet: () => useAutoConnectWallet
24
+ });
25
+ module.exports = __toCommonJS(useAutoConnectWallet_exports);
26
+ var import_react_query2 = require("@tanstack/react-query");
27
+ var import_react3 = require("react");
28
+
29
+ // src/utils/walletUtils.ts
30
+ var import_wallet_standard = require("@iota/wallet-standard");
31
+ function getWalletUniqueIdentifier(wallet) {
32
+ return wallet?.id ?? wallet?.name;
33
+ }
34
+
35
+ // src/hooks/wallet/useConnectWallet.ts
36
+ var import_wallet_standard2 = require("@iota/wallet-standard");
37
+ var import_react_query = require("@tanstack/react-query");
38
+
39
+ // src/constants/walletMutationKeys.ts
40
+ var walletMutationKeys = {
41
+ all: { baseScope: "wallet" },
42
+ connectWallet: formMutationKeyFn("connect-wallet"),
43
+ autoconnectWallet: formMutationKeyFn("autoconnect-wallet"),
44
+ disconnectWallet: formMutationKeyFn("disconnect-wallet"),
45
+ signPersonalMessage: formMutationKeyFn("sign-personal-message"),
46
+ signTransaction: formMutationKeyFn("sign-transaction"),
47
+ signAndExecuteTransaction: formMutationKeyFn("sign-and-execute-transaction"),
48
+ switchAccount: formMutationKeyFn("switch-account"),
49
+ reportTransactionEffects: formMutationKeyFn("report-transaction-effects")
50
+ };
51
+ function formMutationKeyFn(baseEntity) {
52
+ return function mutationKeyFn(additionalKeys = []) {
53
+ return [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];
54
+ };
55
+ }
56
+
57
+ // src/hooks/wallet/useWalletStore.ts
58
+ var import_react2 = require("react");
59
+ var import_zustand = require("zustand");
60
+
61
+ // src/contexts/walletContext.ts
62
+ var import_react = require("react");
63
+ var WalletContext = (0, import_react.createContext)(null);
64
+
65
+ // src/hooks/wallet/useWalletStore.ts
66
+ function useWalletStore(selector) {
67
+ const store = (0, import_react2.useContext)(WalletContext);
68
+ if (!store) {
69
+ throw new Error(
70
+ "Could not find WalletContext. Ensure that you have set up the WalletProvider."
71
+ );
72
+ }
73
+ return (0, import_zustand.useStore)(store, selector);
74
+ }
75
+
76
+ // src/hooks/wallet/useConnectWallet.ts
77
+ function useConnectWallet({
78
+ mutationKey,
79
+ ...mutationOptions
80
+ } = {}) {
81
+ const setWalletConnected = useWalletStore((state) => state.setWalletConnected);
82
+ const setConnectionStatus = useWalletStore((state) => state.setConnectionStatus);
83
+ return (0, import_react_query.useMutation)({
84
+ mutationKey: walletMutationKeys.connectWallet(mutationKey),
85
+ mutationFn: async ({ wallet, accountAddress, ...connectArgs }) => {
86
+ try {
87
+ setConnectionStatus("connecting");
88
+ const connectResult = await wallet.features["standard:connect"].connect(connectArgs);
89
+ const connectedIotaAccounts = connectResult.accounts.filter(
90
+ (account) => account.chains.some(import_wallet_standard2.isSupportedChain)
91
+ );
92
+ const selectedAccount = getSelectedAccount(connectedIotaAccounts, accountAddress);
93
+ setWalletConnected(
94
+ wallet,
95
+ connectedIotaAccounts,
96
+ selectedAccount,
97
+ connectResult.supportedIntents
98
+ );
99
+ return { accounts: connectedIotaAccounts };
100
+ } catch (error) {
101
+ setConnectionStatus("disconnected");
102
+ throw error;
103
+ }
104
+ },
105
+ ...mutationOptions
106
+ });
107
+ }
108
+ function getSelectedAccount(connectedAccounts, accountAddress) {
109
+ if (connectedAccounts.length === 0) {
110
+ return null;
111
+ }
112
+ if (accountAddress) {
113
+ const selectedAccount = connectedAccounts.find(
114
+ (account) => account.address === accountAddress
115
+ );
116
+ return selectedAccount ?? connectedAccounts[0];
117
+ }
118
+ return connectedAccounts[0];
119
+ }
120
+
121
+ // src/hooks/wallet/useCurrentWallet.ts
122
+ function useCurrentWallet() {
123
+ const currentWallet = useWalletStore((state) => state.currentWallet);
124
+ const connectionStatus = useWalletStore((state) => state.connectionStatus);
125
+ const supportedIntents = useWalletStore((state) => state.supportedIntents);
126
+ switch (connectionStatus) {
127
+ case "connecting":
128
+ return {
129
+ connectionStatus,
130
+ currentWallet: null,
131
+ isDisconnected: false,
132
+ isConnecting: true,
133
+ isConnected: false,
134
+ supportedIntents: []
135
+ };
136
+ case "disconnected":
137
+ return {
138
+ connectionStatus,
139
+ currentWallet: null,
140
+ isDisconnected: true,
141
+ isConnecting: false,
142
+ isConnected: false,
143
+ supportedIntents: []
144
+ };
145
+ case "connected": {
146
+ return {
147
+ connectionStatus,
148
+ currentWallet,
149
+ isDisconnected: false,
150
+ isConnecting: false,
151
+ isConnected: true,
152
+ supportedIntents
153
+ };
154
+ }
155
+ }
156
+ }
157
+
158
+ // src/hooks/wallet/useWallets.ts
159
+ function useWallets() {
160
+ return useWalletStore((state) => state.wallets);
161
+ }
162
+
163
+ // src/hooks/wallet/useAutoConnectWallet.ts
164
+ function useAutoConnectWallet() {
165
+ const { mutateAsync: connectWallet } = useConnectWallet();
166
+ const autoConnectEnabled = useWalletStore((state) => state.autoConnectEnabled);
167
+ const lastConnectedWalletName = useWalletStore((state) => state.lastConnectedWalletName);
168
+ const lastConnectedAccountAddress = useWalletStore(
169
+ (state) => state.lastConnectedAccountAddress
170
+ );
171
+ const wallets = useWallets();
172
+ const { isConnected } = useCurrentWallet();
173
+ const [clientOnly, setClientOnly] = (0, import_react3.useState)(false);
174
+ (0, import_react3.useLayoutEffect)(() => {
175
+ setClientOnly(true);
176
+ }, []);
177
+ const { data, isError } = (0, import_react_query2.useQuery)({
178
+ queryKey: [
179
+ "@iota/dapp-kit",
180
+ "autoconnect",
181
+ {
182
+ isConnected,
183
+ autoConnectEnabled,
184
+ lastConnectedWalletName,
185
+ lastConnectedAccountAddress,
186
+ walletCount: wallets.length
187
+ }
188
+ ],
189
+ queryFn: async () => {
190
+ if (!autoConnectEnabled) {
191
+ return "disabled";
192
+ }
193
+ if (!lastConnectedWalletName || !lastConnectedAccountAddress || isConnected) {
194
+ return "attempted";
195
+ }
196
+ const wallet = wallets.find(
197
+ (wallet2) => getWalletUniqueIdentifier(wallet2) === lastConnectedWalletName
198
+ );
199
+ if (wallet) {
200
+ await connectWallet({
201
+ wallet,
202
+ accountAddress: lastConnectedAccountAddress,
203
+ silent: true
204
+ });
205
+ }
206
+ return "attempted";
207
+ },
208
+ enabled: autoConnectEnabled,
209
+ persister: void 0,
210
+ gcTime: 0,
211
+ staleTime: 0,
212
+ networkMode: "always",
213
+ retry: false,
214
+ retryOnMount: false,
215
+ refetchInterval: false,
216
+ refetchIntervalInBackground: false,
217
+ refetchOnMount: false,
218
+ refetchOnReconnect: false,
219
+ refetchOnWindowFocus: false
220
+ });
221
+ if (!autoConnectEnabled) {
222
+ return "disabled";
223
+ }
224
+ if (!clientOnly) {
225
+ return "idle";
226
+ }
227
+ if (isConnected) {
228
+ return "attempted";
229
+ }
230
+ if (!lastConnectedWalletName) {
231
+ return "attempted";
232
+ }
233
+ return isError ? "attempted" : data ?? "idle";
234
+ }
235
+ //# sourceMappingURL=useAutoConnectWallet.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/hooks/wallet/useAutoConnectWallet.ts", "../../../../src/utils/walletUtils.ts", "../../../../src/hooks/wallet/useConnectWallet.ts", "../../../../src/constants/walletMutationKeys.ts", "../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts", "../../../../src/hooks/wallet/useCurrentWallet.ts", "../../../../src/hooks/wallet/useWallets.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useQuery } from '@tanstack/react-query';\nimport { useLayoutEffect, useState } from 'react';\n\nimport { getWalletUniqueIdentifier } from '../../utils/walletUtils.js';\nimport { useConnectWallet } from './useConnectWallet.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\nimport { useWallets } from './useWallets.js';\nimport { useWalletStore } from './useWalletStore.js';\n\nexport function useAutoConnectWallet(): 'disabled' | 'idle' | 'attempted' {\n const { mutateAsync: connectWallet } = useConnectWallet();\n const autoConnectEnabled = useWalletStore((state) => state.autoConnectEnabled);\n const lastConnectedWalletName = useWalletStore((state) => state.lastConnectedWalletName);\n const lastConnectedAccountAddress = useWalletStore(\n (state) => state.lastConnectedAccountAddress,\n );\n const wallets = useWallets();\n const { isConnected } = useCurrentWallet();\n\n const [clientOnly, setClientOnly] = useState(false);\n useLayoutEffect(() => {\n setClientOnly(true);\n }, []);\n\n const { data, isError } = useQuery({\n queryKey: [\n '@iota/dapp-kit',\n 'autoconnect',\n {\n isConnected,\n autoConnectEnabled,\n lastConnectedWalletName,\n lastConnectedAccountAddress,\n walletCount: wallets.length,\n },\n ],\n queryFn: async () => {\n if (!autoConnectEnabled) {\n return 'disabled';\n }\n\n if (!lastConnectedWalletName || !lastConnectedAccountAddress || isConnected) {\n return 'attempted';\n }\n\n const wallet = wallets.find(\n (wallet) => getWalletUniqueIdentifier(wallet) === lastConnectedWalletName,\n );\n if (wallet) {\n await connectWallet({\n wallet,\n accountAddress: lastConnectedAccountAddress,\n silent: true,\n });\n }\n\n return 'attempted';\n },\n enabled: autoConnectEnabled,\n persister: undefined,\n gcTime: 0,\n staleTime: 0,\n networkMode: 'always',\n retry: false,\n retryOnMount: false,\n refetchInterval: false,\n refetchIntervalInBackground: false,\n refetchOnMount: false,\n refetchOnReconnect: false,\n refetchOnWindowFocus: false,\n });\n\n if (!autoConnectEnabled) {\n return 'disabled';\n }\n\n // We always initialize with \"idle\" so that in SSR environments, we guarantee that the initial render states always agree:\n if (!clientOnly) {\n return 'idle';\n }\n\n if (isConnected) {\n return 'attempted';\n }\n\n if (!lastConnectedWalletName) {\n return 'attempted';\n }\n\n return isError ? 'attempted' : (data ?? 'idle');\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n MinimallyRequiredFeatures,\n Wallet,\n WalletWithFeatures,\n WalletWithRequiredFeatures,\n} from '@iota/wallet-standard';\nimport { getWallets, isWalletWithRequiredFeatureSet } from '@iota/wallet-standard';\n\nexport function getRegisteredWallets<AdditionalFeatures extends Wallet['features']>(\n preferredWallets: string[],\n walletFilter?: (wallet: WalletWithRequiredFeatures) => boolean,\n) {\n const walletsApi = getWallets();\n const wallets = walletsApi.get();\n\n const iotaWallets = wallets.filter(\n (wallet): wallet is WalletWithFeatures<MinimallyRequiredFeatures & AdditionalFeatures> =>\n isWalletWithRequiredFeatureSet(wallet) && (!walletFilter || walletFilter(wallet)),\n );\n\n return [\n // Preferred wallets, in order:\n ...(preferredWallets\n .map((name) => iotaWallets.find((wallet) => wallet.name === name))\n .filter(Boolean) as WalletWithFeatures<\n MinimallyRequiredFeatures & AdditionalFeatures\n >[]),\n\n // Wallets in default order:\n ...iotaWallets.filter((wallet) => !preferredWallets.includes(wallet.name)),\n ];\n}\n\nexport function getWalletUniqueIdentifier(wallet?: Wallet) {\n return wallet?.id ?? wallet?.name;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { isSupportedChain } from '@iota/wallet-standard';\nimport type {\n StandardConnectInput,\n StandardConnectOutput,\n WalletAccount,\n WalletWithRequiredFeatures,\n} from '@iota/wallet-standard';\nimport type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport { useWalletStore } from './useWalletStore.js';\n\ntype ConnectWalletArgs = {\n /** The wallet to connect to. */\n wallet: WalletWithRequiredFeatures;\n\n /** An optional account address to connect to. Defaults to the first authorized account. */\n accountAddress?: string;\n} & StandardConnectInput;\n\ntype ConnectWalletResult = StandardConnectOutput;\n\ntype UseConnectWalletMutationOptions = Omit<\n UseMutationOptions<ConnectWalletResult, Error, ConnectWalletArgs, unknown>,\n 'mutationFn'\n>;\n\n/**\n * Mutation hook for establishing a connection to a specific wallet.\n */\nexport function useConnectWallet({\n mutationKey,\n ...mutationOptions\n}: UseConnectWalletMutationOptions = {}): UseMutationResult<\n ConnectWalletResult,\n Error,\n ConnectWalletArgs,\n unknown\n> {\n const setWalletConnected = useWalletStore((state) => state.setWalletConnected);\n const setConnectionStatus = useWalletStore((state) => state.setConnectionStatus);\n\n return useMutation({\n mutationKey: walletMutationKeys.connectWallet(mutationKey),\n mutationFn: async ({ wallet, accountAddress, ...connectArgs }) => {\n try {\n setConnectionStatus('connecting');\n\n const connectResult =\n await wallet.features['standard:connect'].connect(connectArgs);\n const connectedIotaAccounts = connectResult.accounts.filter((account) =>\n account.chains.some(isSupportedChain),\n );\n const selectedAccount = getSelectedAccount(connectedIotaAccounts, accountAddress);\n\n setWalletConnected(\n wallet,\n connectedIotaAccounts,\n selectedAccount,\n connectResult.supportedIntents,\n );\n\n return { accounts: connectedIotaAccounts };\n } catch (error) {\n setConnectionStatus('disconnected');\n throw error;\n }\n },\n ...mutationOptions,\n });\n}\n\nfunction getSelectedAccount(connectedAccounts: readonly WalletAccount[], accountAddress?: string) {\n if (connectedAccounts.length === 0) {\n return null;\n }\n\n if (accountAddress) {\n const selectedAccount = connectedAccounts.find(\n (account) => account.address === accountAddress,\n );\n return selectedAccount ?? connectedAccounts[0];\n }\n\n return connectedAccounts[0];\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { MutationKey } from '@tanstack/react-query';\n\nexport const walletMutationKeys = {\n all: { baseScope: 'wallet' },\n connectWallet: formMutationKeyFn('connect-wallet'),\n autoconnectWallet: formMutationKeyFn('autoconnect-wallet'),\n disconnectWallet: formMutationKeyFn('disconnect-wallet'),\n signPersonalMessage: formMutationKeyFn('sign-personal-message'),\n signTransaction: formMutationKeyFn('sign-transaction'),\n signAndExecuteTransaction: formMutationKeyFn('sign-and-execute-transaction'),\n switchAccount: formMutationKeyFn('switch-account'),\n reportTransactionEffects: formMutationKeyFn('report-transaction-effects'),\n};\n\nfunction formMutationKeyFn(baseEntity: string) {\n return function mutationKeyFn(additionalKeys: MutationKey = []) {\n return [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];\n };\n}\n", "// 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 { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves the wallet that is currently connected to the dApp, if one exists.\n */\nexport function useCurrentWallet() {\n const currentWallet = useWalletStore((state) => state.currentWallet);\n const connectionStatus = useWalletStore((state) => state.connectionStatus);\n const supportedIntents = useWalletStore((state) => state.supportedIntents);\n\n switch (connectionStatus) {\n case 'connecting':\n return {\n connectionStatus,\n currentWallet: null,\n isDisconnected: false,\n isConnecting: true,\n isConnected: false,\n supportedIntents: [],\n } as const;\n case 'disconnected':\n return {\n connectionStatus,\n currentWallet: null,\n isDisconnected: true,\n isConnecting: false,\n isConnected: false,\n supportedIntents: [],\n } as const;\n case 'connected': {\n return {\n connectionStatus,\n currentWallet: currentWallet!,\n isDisconnected: false,\n isConnecting: false,\n isConnected: true,\n supportedIntents,\n } as const;\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 { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves a list of registered wallets available to the dApp sorted by preference.\n */\nexport function useWallets() {\n return useWalletStore((state) => state.wallets);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,IAAAA,sBAAyB;AACzB,IAAAC,gBAA0C;;;ACK1C,6BAA2D;AA2BpD,SAAS,0BAA0B,QAAiB;AACvD,SAAO,QAAQ,MAAM,QAAQ;AACjC;;;ACnCA,IAAAC,0BAAiC;AAQjC,yBAA4B;;;ACNrB,IAAM,qBAAqB;AAAA,EAC9B,KAAK,EAAE,WAAW,SAAS;AAAA,EAC3B,eAAe,kBAAkB,gBAAgB;AAAA,EACjD,mBAAmB,kBAAkB,oBAAoB;AAAA,EACzD,kBAAkB,kBAAkB,mBAAmB;AAAA,EACvD,qBAAqB,kBAAkB,uBAAuB;AAAA,EAC9D,iBAAiB,kBAAkB,kBAAkB;AAAA,EACrD,2BAA2B,kBAAkB,8BAA8B;AAAA,EAC3E,eAAe,kBAAkB,gBAAgB;AAAA,EACjD,0BAA0B,kBAAkB,4BAA4B;AAC5E;AAEA,SAAS,kBAAkB,YAAoB;AAC3C,SAAO,SAAS,cAAc,iBAA8B,CAAC,GAAG;AAC5D,WAAO,CAAC,EAAE,GAAG,mBAAmB,KAAK,WAAW,GAAG,GAAG,cAAc;AAAA,EACxE;AACJ;;;AClBA,IAAAC,gBAA2B;AAC3B,qBAAyB;;;ACDzB,mBAA8B;AAIvB,IAAM,oBAAgB,4BAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACrE,QAAM,YAAQ,0BAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACR,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AACA,aAAO,yBAAS,OAAO,QAAQ;AACnC;;;AFiBO,SAAS,iBAAiB;AAAA,EAC7B;AAAA,EACA,GAAG;AACP,IAAqC,CAAC,GAKpC;AACE,QAAM,qBAAqB,eAAe,CAAC,UAAU,MAAM,kBAAkB;AAC7E,QAAM,sBAAsB,eAAe,CAAC,UAAU,MAAM,mBAAmB;AAE/E,aAAO,gCAAY;AAAA,IACf,aAAa,mBAAmB,cAAc,WAAW;AAAA,IACzD,YAAY,OAAO,EAAE,QAAQ,gBAAgB,GAAG,YAAY,MAAM;AAC9D,UAAI;AACA,4BAAoB,YAAY;AAEhC,cAAM,gBACF,MAAM,OAAO,SAAS,kBAAkB,EAAE,QAAQ,WAAW;AACjE,cAAM,wBAAwB,cAAc,SAAS;AAAA,UAAO,CAAC,YACzD,QAAQ,OAAO,KAAK,wCAAgB;AAAA,QACxC;AACA,cAAM,kBAAkB,mBAAmB,uBAAuB,cAAc;AAEhF;AAAA,UACI;AAAA,UACA;AAAA,UACA;AAAA,UACA,cAAc;AAAA,QAClB;AAEA,eAAO,EAAE,UAAU,sBAAsB;AAAA,MAC7C,SAAS,OAAO;AACZ,4BAAoB,cAAc;AAClC,cAAM;AAAA,MACV;AAAA,IACJ;AAAA,IACA,GAAG;AAAA,EACP,CAAC;AACL;AAEA,SAAS,mBAAmB,mBAA6C,gBAAyB;AAC9F,MAAI,kBAAkB,WAAW,GAAG;AAChC,WAAO;AAAA,EACX;AAEA,MAAI,gBAAgB;AAChB,UAAM,kBAAkB,kBAAkB;AAAA,MACtC,CAAC,YAAY,QAAQ,YAAY;AAAA,IACrC;AACA,WAAO,mBAAmB,kBAAkB,CAAC;AAAA,EACjD;AAEA,SAAO,kBAAkB,CAAC;AAC9B;;;AIjFO,SAAS,mBAAmB;AAC/B,QAAM,gBAAgB,eAAe,CAAC,UAAU,MAAM,aAAa;AACnE,QAAM,mBAAmB,eAAe,CAAC,UAAU,MAAM,gBAAgB;AACzE,QAAM,mBAAmB,eAAe,CAAC,UAAU,MAAM,gBAAgB;AAEzE,UAAQ,kBAAkB;AAAA,IACtB,KAAK;AACD,aAAO;AAAA,QACH;AAAA,QACA,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,kBAAkB,CAAC;AAAA,MACvB;AAAA,IACJ,KAAK;AACD,aAAO;AAAA,QACH;AAAA,QACA,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,kBAAkB,CAAC;AAAA,MACvB;AAAA,IACJ,KAAK,aAAa;AACd,aAAO;AAAA,QACH;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,QACb;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AACJ;;;ACnCO,SAAS,aAAa;AACzB,SAAO,eAAe,CAAC,UAAU,MAAM,OAAO;AAClD;;;APEO,SAAS,uBAA0D;AACtE,QAAM,EAAE,aAAa,cAAc,IAAI,iBAAiB;AACxD,QAAM,qBAAqB,eAAe,CAAC,UAAU,MAAM,kBAAkB;AAC7E,QAAM,0BAA0B,eAAe,CAAC,UAAU,MAAM,uBAAuB;AACvF,QAAM,8BAA8B;AAAA,IAChC,CAAC,UAAU,MAAM;AAAA,EACrB;AACA,QAAM,UAAU,WAAW;AAC3B,QAAM,EAAE,YAAY,IAAI,iBAAiB;AAEzC,QAAM,CAAC,YAAY,aAAa,QAAI,wBAAS,KAAK;AAClD,qCAAgB,MAAM;AAClB,kBAAc,IAAI;AAAA,EACtB,GAAG,CAAC,CAAC;AAEL,QAAM,EAAE,MAAM,QAAQ,QAAI,8BAAS;AAAA,IAC/B,UAAU;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,QACI;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,aAAa,QAAQ;AAAA,MACzB;AAAA,IACJ;AAAA,IACA,SAAS,YAAY;AACjB,UAAI,CAAC,oBAAoB;AACrB,eAAO;AAAA,MACX;AAEA,UAAI,CAAC,2BAA2B,CAAC,+BAA+B,aAAa;AACzE,eAAO;AAAA,MACX;AAEA,YAAM,SAAS,QAAQ;AAAA,QACnB,CAACC,YAAW,0BAA0BA,OAAM,MAAM;AAAA,MACtD;AACA,UAAI,QAAQ;AACR,cAAM,cAAc;AAAA,UAChB;AAAA,UACA,gBAAgB;AAAA,UAChB,QAAQ;AAAA,QACZ,CAAC;AAAA,MACL;AAEA,aAAO;AAAA,IACX;AAAA,IACA,SAAS;AAAA,IACT,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,aAAa;AAAA,IACb,OAAO;AAAA,IACP,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,6BAA6B;AAAA,IAC7B,gBAAgB;AAAA,IAChB,oBAAoB;AAAA,IACpB,sBAAsB;AAAA,EAC1B,CAAC;AAED,MAAI,CAAC,oBAAoB;AACrB,WAAO;AAAA,EACX;AAGA,MAAI,CAAC,YAAY;AACb,WAAO;AAAA,EACX;AAEA,MAAI,aAAa;AACb,WAAO;AAAA,EACX;AAEA,MAAI,CAAC,yBAAyB;AAC1B,WAAO;AAAA,EACX;AAEA,SAAO,UAAU,cAAe,QAAQ;AAC5C;",
6
+ "names": ["import_react_query", "import_react", "import_wallet_standard", "import_react", "wallet"]
7
+ }
@@ -0,0 +1,15 @@
1
+ import type { StandardConnectInput, StandardConnectOutput, WalletWithRequiredFeatures } from '@iota/wallet-standard';
2
+ import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
3
+ type ConnectWalletArgs = {
4
+ /** The wallet to connect to. */
5
+ wallet: WalletWithRequiredFeatures;
6
+ /** An optional account address to connect to. Defaults to the first authorized account. */
7
+ accountAddress?: string;
8
+ } & StandardConnectInput;
9
+ type ConnectWalletResult = StandardConnectOutput;
10
+ type UseConnectWalletMutationOptions = Omit<UseMutationOptions<ConnectWalletResult, Error, ConnectWalletArgs, unknown>, 'mutationFn'>;
11
+ /**
12
+ * Mutation hook for establishing a connection to a specific wallet.
13
+ */
14
+ export declare function useConnectWallet({ mutationKey, ...mutationOptions }?: UseConnectWalletMutationOptions): UseMutationResult<ConnectWalletResult, Error, ConnectWalletArgs, unknown>;
15
+ export {};
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/hooks/wallet/useConnectWallet.ts
21
+ var useConnectWallet_exports = {};
22
+ __export(useConnectWallet_exports, {
23
+ useConnectWallet: () => useConnectWallet
24
+ });
25
+ module.exports = __toCommonJS(useConnectWallet_exports);
26
+ var import_wallet_standard = require("@iota/wallet-standard");
27
+ var import_react_query = require("@tanstack/react-query");
28
+
29
+ // src/constants/walletMutationKeys.ts
30
+ var walletMutationKeys = {
31
+ all: { baseScope: "wallet" },
32
+ connectWallet: formMutationKeyFn("connect-wallet"),
33
+ autoconnectWallet: formMutationKeyFn("autoconnect-wallet"),
34
+ disconnectWallet: formMutationKeyFn("disconnect-wallet"),
35
+ signPersonalMessage: formMutationKeyFn("sign-personal-message"),
36
+ signTransaction: formMutationKeyFn("sign-transaction"),
37
+ signAndExecuteTransaction: formMutationKeyFn("sign-and-execute-transaction"),
38
+ switchAccount: formMutationKeyFn("switch-account"),
39
+ reportTransactionEffects: formMutationKeyFn("report-transaction-effects")
40
+ };
41
+ function formMutationKeyFn(baseEntity) {
42
+ return function mutationKeyFn(additionalKeys = []) {
43
+ return [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];
44
+ };
45
+ }
46
+
47
+ // src/hooks/wallet/useWalletStore.ts
48
+ var import_react2 = require("react");
49
+ var import_zustand = require("zustand");
50
+
51
+ // src/contexts/walletContext.ts
52
+ var import_react = require("react");
53
+ var WalletContext = (0, import_react.createContext)(null);
54
+
55
+ // src/hooks/wallet/useWalletStore.ts
56
+ function useWalletStore(selector) {
57
+ const store = (0, import_react2.useContext)(WalletContext);
58
+ if (!store) {
59
+ throw new Error(
60
+ "Could not find WalletContext. Ensure that you have set up the WalletProvider."
61
+ );
62
+ }
63
+ return (0, import_zustand.useStore)(store, selector);
64
+ }
65
+
66
+ // src/hooks/wallet/useConnectWallet.ts
67
+ function useConnectWallet({
68
+ mutationKey,
69
+ ...mutationOptions
70
+ } = {}) {
71
+ const setWalletConnected = useWalletStore((state) => state.setWalletConnected);
72
+ const setConnectionStatus = useWalletStore((state) => state.setConnectionStatus);
73
+ return (0, import_react_query.useMutation)({
74
+ mutationKey: walletMutationKeys.connectWallet(mutationKey),
75
+ mutationFn: async ({ wallet, accountAddress, ...connectArgs }) => {
76
+ try {
77
+ setConnectionStatus("connecting");
78
+ const connectResult = await wallet.features["standard:connect"].connect(connectArgs);
79
+ const connectedIotaAccounts = connectResult.accounts.filter(
80
+ (account) => account.chains.some(import_wallet_standard.isSupportedChain)
81
+ );
82
+ const selectedAccount = getSelectedAccount(connectedIotaAccounts, accountAddress);
83
+ setWalletConnected(
84
+ wallet,
85
+ connectedIotaAccounts,
86
+ selectedAccount,
87
+ connectResult.supportedIntents
88
+ );
89
+ return { accounts: connectedIotaAccounts };
90
+ } catch (error) {
91
+ setConnectionStatus("disconnected");
92
+ throw error;
93
+ }
94
+ },
95
+ ...mutationOptions
96
+ });
97
+ }
98
+ function getSelectedAccount(connectedAccounts, accountAddress) {
99
+ if (connectedAccounts.length === 0) {
100
+ return null;
101
+ }
102
+ if (accountAddress) {
103
+ const selectedAccount = connectedAccounts.find(
104
+ (account) => account.address === accountAddress
105
+ );
106
+ return selectedAccount ?? connectedAccounts[0];
107
+ }
108
+ return connectedAccounts[0];
109
+ }
110
+ //# sourceMappingURL=useConnectWallet.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/hooks/wallet/useConnectWallet.ts", "../../../../src/constants/walletMutationKeys.ts", "../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { isSupportedChain } from '@iota/wallet-standard';\nimport type {\n StandardConnectInput,\n StandardConnectOutput,\n WalletAccount,\n WalletWithRequiredFeatures,\n} from '@iota/wallet-standard';\nimport type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport { useWalletStore } from './useWalletStore.js';\n\ntype ConnectWalletArgs = {\n /** The wallet to connect to. */\n wallet: WalletWithRequiredFeatures;\n\n /** An optional account address to connect to. Defaults to the first authorized account. */\n accountAddress?: string;\n} & StandardConnectInput;\n\ntype ConnectWalletResult = StandardConnectOutput;\n\ntype UseConnectWalletMutationOptions = Omit<\n UseMutationOptions<ConnectWalletResult, Error, ConnectWalletArgs, unknown>,\n 'mutationFn'\n>;\n\n/**\n * Mutation hook for establishing a connection to a specific wallet.\n */\nexport function useConnectWallet({\n mutationKey,\n ...mutationOptions\n}: UseConnectWalletMutationOptions = {}): UseMutationResult<\n ConnectWalletResult,\n Error,\n ConnectWalletArgs,\n unknown\n> {\n const setWalletConnected = useWalletStore((state) => state.setWalletConnected);\n const setConnectionStatus = useWalletStore((state) => state.setConnectionStatus);\n\n return useMutation({\n mutationKey: walletMutationKeys.connectWallet(mutationKey),\n mutationFn: async ({ wallet, accountAddress, ...connectArgs }) => {\n try {\n setConnectionStatus('connecting');\n\n const connectResult =\n await wallet.features['standard:connect'].connect(connectArgs);\n const connectedIotaAccounts = connectResult.accounts.filter((account) =>\n account.chains.some(isSupportedChain),\n );\n const selectedAccount = getSelectedAccount(connectedIotaAccounts, accountAddress);\n\n setWalletConnected(\n wallet,\n connectedIotaAccounts,\n selectedAccount,\n connectResult.supportedIntents,\n );\n\n return { accounts: connectedIotaAccounts };\n } catch (error) {\n setConnectionStatus('disconnected');\n throw error;\n }\n },\n ...mutationOptions,\n });\n}\n\nfunction getSelectedAccount(connectedAccounts: readonly WalletAccount[], accountAddress?: string) {\n if (connectedAccounts.length === 0) {\n return null;\n }\n\n if (accountAddress) {\n const selectedAccount = connectedAccounts.find(\n (account) => account.address === accountAddress,\n );\n return selectedAccount ?? connectedAccounts[0];\n }\n\n return connectedAccounts[0];\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { MutationKey } from '@tanstack/react-query';\n\nexport const walletMutationKeys = {\n all: { baseScope: 'wallet' },\n connectWallet: formMutationKeyFn('connect-wallet'),\n autoconnectWallet: formMutationKeyFn('autoconnect-wallet'),\n disconnectWallet: formMutationKeyFn('disconnect-wallet'),\n signPersonalMessage: formMutationKeyFn('sign-personal-message'),\n signTransaction: formMutationKeyFn('sign-transaction'),\n signAndExecuteTransaction: formMutationKeyFn('sign-and-execute-transaction'),\n switchAccount: formMutationKeyFn('switch-account'),\n reportTransactionEffects: formMutationKeyFn('report-transaction-effects'),\n};\n\nfunction formMutationKeyFn(baseEntity: string) {\n return function mutationKeyFn(additionalKeys: MutationKey = []) {\n return [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];\n };\n}\n", "// 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"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,6BAAiC;AAQjC,yBAA4B;;;ACNrB,IAAM,qBAAqB;AAAA,EAC9B,KAAK,EAAE,WAAW,SAAS;AAAA,EAC3B,eAAe,kBAAkB,gBAAgB;AAAA,EACjD,mBAAmB,kBAAkB,oBAAoB;AAAA,EACzD,kBAAkB,kBAAkB,mBAAmB;AAAA,EACvD,qBAAqB,kBAAkB,uBAAuB;AAAA,EAC9D,iBAAiB,kBAAkB,kBAAkB;AAAA,EACrD,2BAA2B,kBAAkB,8BAA8B;AAAA,EAC3E,eAAe,kBAAkB,gBAAgB;AAAA,EACjD,0BAA0B,kBAAkB,4BAA4B;AAC5E;AAEA,SAAS,kBAAkB,YAAoB;AAC3C,SAAO,SAAS,cAAc,iBAA8B,CAAC,GAAG;AAC5D,WAAO,CAAC,EAAE,GAAG,mBAAmB,KAAK,WAAW,GAAG,GAAG,cAAc;AAAA,EACxE;AACJ;;;AClBA,IAAAA,gBAA2B;AAC3B,qBAAyB;;;ACDzB,mBAA8B;AAIvB,IAAM,oBAAgB,4BAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACrE,QAAM,YAAQ,0BAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACR,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AACA,aAAO,yBAAS,OAAO,QAAQ;AACnC;;;AFiBO,SAAS,iBAAiB;AAAA,EAC7B;AAAA,EACA,GAAG;AACP,IAAqC,CAAC,GAKpC;AACE,QAAM,qBAAqB,eAAe,CAAC,UAAU,MAAM,kBAAkB;AAC7E,QAAM,sBAAsB,eAAe,CAAC,UAAU,MAAM,mBAAmB;AAE/E,aAAO,gCAAY;AAAA,IACf,aAAa,mBAAmB,cAAc,WAAW;AAAA,IACzD,YAAY,OAAO,EAAE,QAAQ,gBAAgB,GAAG,YAAY,MAAM;AAC9D,UAAI;AACA,4BAAoB,YAAY;AAEhC,cAAM,gBACF,MAAM,OAAO,SAAS,kBAAkB,EAAE,QAAQ,WAAW;AACjE,cAAM,wBAAwB,cAAc,SAAS;AAAA,UAAO,CAAC,YACzD,QAAQ,OAAO,KAAK,uCAAgB;AAAA,QACxC;AACA,cAAM,kBAAkB,mBAAmB,uBAAuB,cAAc;AAEhF;AAAA,UACI;AAAA,UACA;AAAA,UACA;AAAA,UACA,cAAc;AAAA,QAClB;AAEA,eAAO,EAAE,UAAU,sBAAsB;AAAA,MAC7C,SAAS,OAAO;AACZ,4BAAoB,cAAc;AAClC,cAAM;AAAA,MACV;AAAA,IACJ;AAAA,IACA,GAAG;AAAA,EACP,CAAC;AACL;AAEA,SAAS,mBAAmB,mBAA6C,gBAAyB;AAC9F,MAAI,kBAAkB,WAAW,GAAG;AAChC,WAAO;AAAA,EACX;AAEA,MAAI,gBAAgB;AAChB,UAAM,kBAAkB,kBAAkB;AAAA,MACtC,CAAC,YAAY,QAAQ,YAAY;AAAA,IACrC;AACA,WAAO,mBAAmB,kBAAkB,CAAC;AAAA,EACjD;AAEA,SAAO,kBAAkB,CAAC;AAC9B;",
6
+ "names": ["import_react"]
7
+ }
@@ -0,0 +1,5 @@
1
+ import type { WalletAccount } from '@iota/wallet-standard';
2
+ /**
3
+ * Retrieves the wallet account that is currently selected, if one exists.
4
+ */
5
+ export declare function useCurrentAccount(): WalletAccount | null;