@iota/dapp-kit 0.0.0-experimental-20250610130929

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (672) hide show
  1. package/CHANGELOG.md +166 -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 +12 -0
  12. package/dist/cjs/components/AccountDropdownMenu.js +365 -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 +8 -0
  17. package/dist/cjs/components/ConnectButton.js +825 -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/useIotaClient.d.ts +3 -0
  203. package/dist/cjs/hooks/useIotaClient.js +51 -0
  204. package/dist/cjs/hooks/useIotaClient.js.map +7 -0
  205. package/dist/cjs/hooks/useIotaClientInfiniteQuery.d.ts +25 -0
  206. package/dist/cjs/hooks/useIotaClientInfiniteQuery.js +70 -0
  207. package/dist/cjs/hooks/useIotaClientInfiniteQuery.js.map +7 -0
  208. package/dist/cjs/hooks/useIotaClientMutation.d.ts +4 -0
  209. package/dist/cjs/hooks/useIotaClientMutation.js +61 -0
  210. package/dist/cjs/hooks/useIotaClientMutation.js.map +7 -0
  211. package/dist/cjs/hooks/useIotaClientQueries.d.ts +27 -0
  212. package/dist/cjs/hooks/useIotaClientQueries.js +71 -0
  213. package/dist/cjs/hooks/useIotaClientQueries.js.map +7 -0
  214. package/dist/cjs/hooks/useIotaClientQuery.d.ts +27 -0
  215. package/dist/cjs/hooks/useIotaClientQuery.js +65 -0
  216. package/dist/cjs/hooks/useIotaClientQuery.js.map +7 -0
  217. package/dist/cjs/hooks/wallet/useAccounts.d.ts +5 -0
  218. package/dist/cjs/hooks/wallet/useAccounts.js +50 -0
  219. package/dist/cjs/hooks/wallet/useAccounts.js.map +7 -0
  220. package/dist/cjs/hooks/wallet/useAutoConnectWallet.d.ts +1 -0
  221. package/dist/cjs/hooks/wallet/useAutoConnectWallet.js +235 -0
  222. package/dist/cjs/hooks/wallet/useAutoConnectWallet.js.map +7 -0
  223. package/dist/cjs/hooks/wallet/useConnectWallet.d.ts +15 -0
  224. package/dist/cjs/hooks/wallet/useConnectWallet.js +110 -0
  225. package/dist/cjs/hooks/wallet/useConnectWallet.js.map +7 -0
  226. package/dist/cjs/hooks/wallet/useCurrentAccount.d.ts +5 -0
  227. package/dist/cjs/hooks/wallet/useCurrentAccount.js +50 -0
  228. package/dist/cjs/hooks/wallet/useCurrentAccount.js.map +7 -0
  229. package/dist/cjs/hooks/wallet/useCurrentWallet.d.ts +25 -0
  230. package/dist/cjs/hooks/wallet/useCurrentWallet.js +82 -0
  231. package/dist/cjs/hooks/wallet/useCurrentWallet.js.map +7 -0
  232. package/dist/cjs/hooks/wallet/useDisconnectWallet.d.ts +9 -0
  233. package/dist/cjs/hooks/wallet/useDisconnectWallet.js +132 -0
  234. package/dist/cjs/hooks/wallet/useDisconnectWallet.js.map +7 -0
  235. package/dist/cjs/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
  236. package/dist/cjs/hooks/wallet/useReportTransactionEffects.js +148 -0
  237. package/dist/cjs/hooks/wallet/useReportTransactionEffects.js.map +7 -0
  238. package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.d.ts +29 -0
  239. package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js +252 -0
  240. package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
  241. package/dist/cjs/hooks/wallet/useSignPersonalMessage.d.ts +13 -0
  242. package/dist/cjs/hooks/wallet/useSignPersonalMessage.js +148 -0
  243. package/dist/cjs/hooks/wallet/useSignPersonalMessage.js.map +7 -0
  244. package/dist/cjs/hooks/wallet/useSignTransaction.d.ts +18 -0
  245. package/dist/cjs/hooks/wallet/useSignTransaction.js +233 -0
  246. package/dist/cjs/hooks/wallet/useSignTransaction.js.map +7 -0
  247. package/dist/cjs/hooks/wallet/useSwitchAccount.d.ts +14 -0
  248. package/dist/cjs/hooks/wallet/useSwitchAccount.js +134 -0
  249. package/dist/cjs/hooks/wallet/useSwitchAccount.js.map +7 -0
  250. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.d.ts +1 -0
  251. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js +193 -0
  252. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js.map +7 -0
  253. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.d.ts +4 -0
  254. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js +100 -0
  255. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js.map +7 -0
  256. package/dist/cjs/hooks/wallet/useWalletStore.d.ts +2 -0
  257. package/dist/cjs/hooks/wallet/useWalletStore.js +43 -0
  258. package/dist/cjs/hooks/wallet/useWalletStore.js.map +7 -0
  259. package/dist/cjs/hooks/wallet/useWallets.d.ts +4 -0
  260. package/dist/cjs/hooks/wallet/useWallets.js +50 -0
  261. package/dist/cjs/hooks/wallet/useWallets.js.map +7 -0
  262. package/dist/cjs/hooks/wallet/useWalletsChanged.d.ts +5 -0
  263. package/dist/cjs/hooks/wallet/useWalletsChanged.js +86 -0
  264. package/dist/cjs/hooks/wallet/useWalletsChanged.js.map +7 -0
  265. package/dist/cjs/index.css +471 -0
  266. package/dist/cjs/index.css.map +7 -0
  267. package/dist/cjs/index.d.ts +26 -0
  268. package/dist/cjs/index.js +1892 -0
  269. package/dist/cjs/index.js.map +7 -0
  270. package/dist/cjs/package.json +4 -0
  271. package/dist/cjs/themes/darkTheme.d.ts +2 -0
  272. package/dist/cjs/themes/darkTheme.js +88 -0
  273. package/dist/cjs/themes/darkTheme.js.map +7 -0
  274. package/dist/cjs/themes/lightTheme.d.ts +2 -0
  275. package/dist/cjs/themes/lightTheme.js +88 -0
  276. package/dist/cjs/themes/lightTheme.js.map +7 -0
  277. package/dist/cjs/themes/themeContract.d.ts +150 -0
  278. package/dist/cjs/themes/themeContract.js +93 -0
  279. package/dist/cjs/themes/themeContract.js.map +7 -0
  280. package/dist/cjs/types/utilityTypes.d.ts +1 -0
  281. package/dist/cjs/types/utilityTypes.js +19 -0
  282. package/dist/cjs/types/utilityTypes.js.map +7 -0
  283. package/dist/cjs/types.d.ts +2 -0
  284. package/dist/cjs/types.js +19 -0
  285. package/dist/cjs/types.js.map +7 -0
  286. package/dist/cjs/utils/assertUnreachable.d.ts +4 -0
  287. package/dist/cjs/utils/assertUnreachable.js +29 -0
  288. package/dist/cjs/utils/assertUnreachable.js.map +7 -0
  289. package/dist/cjs/utils/stateStorage.d.ts +2 -0
  290. package/dist/cjs/utils/stateStorage.js +40 -0
  291. package/dist/cjs/utils/stateStorage.js.map +7 -0
  292. package/dist/cjs/utils/walletUtils.d.ts +3 -0
  293. package/dist/cjs/utils/walletUtils.js +44 -0
  294. package/dist/cjs/utils/walletUtils.js.map +7 -0
  295. package/dist/cjs/walletStore.d.ts +42 -0
  296. package/dist/cjs/walletStore.js +127 -0
  297. package/dist/cjs/walletStore.js.map +7 -0
  298. package/dist/esm/components/AccountDropdownMenu.css +183 -0
  299. package/dist/esm/components/AccountDropdownMenu.css.css +56 -0
  300. package/dist/esm/components/AccountDropdownMenu.css.css.map +7 -0
  301. package/dist/esm/components/AccountDropdownMenu.css.d.ts +7 -0
  302. package/dist/esm/components/AccountDropdownMenu.css.js +18 -0
  303. package/dist/esm/components/AccountDropdownMenu.css.js.map +7 -0
  304. package/dist/esm/components/AccountDropdownMenu.css.map +7 -0
  305. package/dist/esm/components/AccountDropdownMenu.d.ts +12 -0
  306. package/dist/esm/components/AccountDropdownMenu.js +357 -0
  307. package/dist/esm/components/AccountDropdownMenu.js.map +7 -0
  308. package/dist/esm/components/ConnectButton.css +471 -0
  309. package/dist/esm/components/ConnectButton.css.map +7 -0
  310. package/dist/esm/components/ConnectButton.d.ts +8 -0
  311. package/dist/esm/components/ConnectButton.js +815 -0
  312. package/dist/esm/components/ConnectButton.js.map +7 -0
  313. package/dist/esm/components/IotaClientProvider.d.ts +25 -0
  314. package/dist/esm/components/IotaClientProvider.js +49 -0
  315. package/dist/esm/components/IotaClientProvider.js.map +7 -0
  316. package/dist/esm/components/WalletProvider.d.ts +23 -0
  317. package/dist/esm/components/WalletProvider.js +778 -0
  318. package/dist/esm/components/WalletProvider.js.map +7 -0
  319. package/dist/esm/components/connect-modal/ConnectModal.css +415 -0
  320. package/dist/esm/components/connect-modal/ConnectModal.css.css +116 -0
  321. package/dist/esm/components/connect-modal/ConnectModal.css.css.map +7 -0
  322. package/dist/esm/components/connect-modal/ConnectModal.css.d.ts +11 -0
  323. package/dist/esm/components/connect-modal/ConnectModal.css.js +26 -0
  324. package/dist/esm/components/connect-modal/ConnectModal.css.js.map +7 -0
  325. package/dist/esm/components/connect-modal/ConnectModal.css.map +7 -0
  326. package/dist/esm/components/connect-modal/ConnectModal.d.ts +20 -0
  327. package/dist/esm/components/connect-modal/ConnectModal.js +600 -0
  328. package/dist/esm/components/connect-modal/ConnectModal.js.map +7 -0
  329. package/dist/esm/components/connect-modal/InfoSection.css +78 -0
  330. package/dist/esm/components/connect-modal/InfoSection.css.css +8 -0
  331. package/dist/esm/components/connect-modal/InfoSection.css.css.map +7 -0
  332. package/dist/esm/components/connect-modal/InfoSection.css.d.ts +1 -0
  333. package/dist/esm/components/connect-modal/InfoSection.css.js +6 -0
  334. package/dist/esm/components/connect-modal/InfoSection.css.js.map +7 -0
  335. package/dist/esm/components/connect-modal/InfoSection.css.map +7 -0
  336. package/dist/esm/components/connect-modal/InfoSection.d.ts +6 -0
  337. package/dist/esm/components/connect-modal/InfoSection.js +86 -0
  338. package/dist/esm/components/connect-modal/InfoSection.js.map +7 -0
  339. package/dist/esm/components/connect-modal/views/ConnectionStatus.css +146 -0
  340. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css +33 -0
  341. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css.map +7 -0
  342. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.d.ts +5 -0
  343. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js +14 -0
  344. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js.map +7 -0
  345. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.map +7 -0
  346. package/dist/esm/components/connect-modal/views/ConnectionStatus.d.ts +8 -0
  347. package/dist/esm/components/connect-modal/views/ConnectionStatus.js +140 -0
  348. package/dist/esm/components/connect-modal/views/ConnectionStatus.js.map +7 -0
  349. package/dist/esm/components/connect-modal/views/GetTheWallet.css +78 -0
  350. package/dist/esm/components/connect-modal/views/GetTheWallet.css.css +35 -0
  351. package/dist/esm/components/connect-modal/views/GetTheWallet.css.css.map +7 -0
  352. package/dist/esm/components/connect-modal/views/GetTheWallet.css.d.ts +5 -0
  353. package/dist/esm/components/connect-modal/views/GetTheWallet.css.js +14 -0
  354. package/dist/esm/components/connect-modal/views/GetTheWallet.css.js.map +7 -0
  355. package/dist/esm/components/connect-modal/views/GetTheWallet.css.map +7 -0
  356. package/dist/esm/components/connect-modal/views/GetTheWallet.d.ts +1 -0
  357. package/dist/esm/components/connect-modal/views/GetTheWallet.js +118 -0
  358. package/dist/esm/components/connect-modal/views/GetTheWallet.js.map +7 -0
  359. package/dist/esm/components/connect-modal/views/GettingStarted.css +147 -0
  360. package/dist/esm/components/connect-modal/views/GettingStarted.css.css +26 -0
  361. package/dist/esm/components/connect-modal/views/GettingStarted.css.css.map +7 -0
  362. package/dist/esm/components/connect-modal/views/GettingStarted.css.d.ts +3 -0
  363. package/dist/esm/components/connect-modal/views/GettingStarted.css.js +10 -0
  364. package/dist/esm/components/connect-modal/views/GettingStarted.css.js.map +7 -0
  365. package/dist/esm/components/connect-modal/views/GettingStarted.css.map +7 -0
  366. package/dist/esm/components/connect-modal/views/GettingStarted.d.ts +1 -0
  367. package/dist/esm/components/connect-modal/views/GettingStarted.js +139 -0
  368. package/dist/esm/components/connect-modal/views/GettingStarted.js.map +7 -0
  369. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css +96 -0
  370. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css +18 -0
  371. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css.map +7 -0
  372. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.d.ts +2 -0
  373. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js +8 -0
  374. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js.map +7 -0
  375. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.map +7 -0
  376. package/dist/esm/components/connect-modal/views/WhatIsAWallet.d.ts +1 -0
  377. package/dist/esm/components/connect-modal/views/WhatIsAWallet.js +102 -0
  378. package/dist/esm/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
  379. package/dist/esm/components/connect-modal/views/index.css +207 -0
  380. package/dist/esm/components/connect-modal/views/index.css.map +7 -0
  381. package/dist/esm/components/connect-modal/views/index.d.ts +3 -0
  382. package/dist/esm/components/connect-modal/views/index.js +259 -0
  383. package/dist/esm/components/connect-modal/views/index.js.map +7 -0
  384. package/dist/esm/components/connect-modal/wallet-list/WalletList.css +78 -0
  385. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css +13 -0
  386. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css.map +7 -0
  387. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.d.ts +2 -0
  388. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js +8 -0
  389. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js.map +7 -0
  390. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.map +7 -0
  391. package/dist/esm/components/connect-modal/wallet-list/WalletList.d.ts +8 -0
  392. package/dist/esm/components/connect-modal/wallet-list/WalletList.js +145 -0
  393. package/dist/esm/components/connect-modal/wallet-list/WalletList.js.map +7 -0
  394. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css +65 -0
  395. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css +33 -0
  396. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css.map +7 -0
  397. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.d.ts +4 -0
  398. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js +12 -0
  399. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js.map +7 -0
  400. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.map +7 -0
  401. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.d.ts +9 -0
  402. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js +64 -0
  403. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js.map +7 -0
  404. package/dist/esm/components/icons/ArrowRightIcon.d.ts +2 -0
  405. package/dist/esm/components/icons/ArrowRightIcon.js +26 -0
  406. package/dist/esm/components/icons/ArrowRightIcon.js.map +7 -0
  407. package/dist/esm/components/icons/ArrowTopRightIcon.d.ts +2 -0
  408. package/dist/esm/components/icons/ArrowTopRightIcon.js +26 -0
  409. package/dist/esm/components/icons/ArrowTopRightIcon.js.map +7 -0
  410. package/dist/esm/components/icons/BackIcon.d.ts +2 -0
  411. package/dist/esm/components/icons/BackIcon.js +15 -0
  412. package/dist/esm/components/icons/BackIcon.js.map +7 -0
  413. package/dist/esm/components/icons/CheckIcon.d.ts +2 -0
  414. package/dist/esm/components/icons/CheckIcon.js +15 -0
  415. package/dist/esm/components/icons/CheckIcon.js.map +7 -0
  416. package/dist/esm/components/icons/ChevronIcon.d.ts +2 -0
  417. package/dist/esm/components/icons/ChevronIcon.js +18 -0
  418. package/dist/esm/components/icons/ChevronIcon.js.map +7 -0
  419. package/dist/esm/components/icons/CloseIcon.d.ts +2 -0
  420. package/dist/esm/components/icons/CloseIcon.js +15 -0
  421. package/dist/esm/components/icons/CloseIcon.js.map +7 -0
  422. package/dist/esm/components/icons/IotaIcon.d.ts +2 -0
  423. package/dist/esm/components/icons/IotaIcon.js +26 -0
  424. package/dist/esm/components/icons/IotaIcon.js.map +7 -0
  425. package/dist/esm/components/styling/InjectedThemeStyles.d.ts +6 -0
  426. package/dist/esm/components/styling/InjectedThemeStyles.js +109 -0
  427. package/dist/esm/components/styling/InjectedThemeStyles.js.map +7 -0
  428. package/dist/esm/components/styling/StyleMarker.css +46 -0
  429. package/dist/esm/components/styling/StyleMarker.css.css +46 -0
  430. package/dist/esm/components/styling/StyleMarker.css.css.map +7 -0
  431. package/dist/esm/components/styling/StyleMarker.css.d.ts +1 -0
  432. package/dist/esm/components/styling/StyleMarker.css.js +22 -0
  433. package/dist/esm/components/styling/StyleMarker.css.js.map +7 -0
  434. package/dist/esm/components/styling/StyleMarker.css.map +7 -0
  435. package/dist/esm/components/styling/StyleMarker.d.ts +2 -0
  436. package/dist/esm/components/styling/StyleMarker.js +61 -0
  437. package/dist/esm/components/styling/StyleMarker.js.map +7 -0
  438. package/dist/esm/components/ui/Button.css +43 -0
  439. package/dist/esm/components/ui/Button.css.css +43 -0
  440. package/dist/esm/components/ui/Button.css.css.map +7 -0
  441. package/dist/esm/components/ui/Button.css.d.ts +32 -0
  442. package/dist/esm/components/ui/Button.css.js +7 -0
  443. package/dist/esm/components/ui/Button.css.js.map +7 -0
  444. package/dist/esm/components/ui/Button.css.map +7 -0
  445. package/dist/esm/components/ui/Button.d.ts +8 -0
  446. package/dist/esm/components/ui/Button.js +29 -0
  447. package/dist/esm/components/ui/Button.js.map +7 -0
  448. package/dist/esm/components/ui/Heading.css +32 -0
  449. package/dist/esm/components/ui/Heading.css.css +32 -0
  450. package/dist/esm/components/ui/Heading.css.css.map +7 -0
  451. package/dist/esm/components/ui/Heading.css.d.ts +33 -0
  452. package/dist/esm/components/ui/Heading.css.js +7 -0
  453. package/dist/esm/components/ui/Heading.css.js.map +7 -0
  454. package/dist/esm/components/ui/Heading.css.map +7 -0
  455. package/dist/esm/components/ui/Heading.d.ts +12 -0
  456. package/dist/esm/components/ui/Heading.js +38 -0
  457. package/dist/esm/components/ui/Heading.js.map +7 -0
  458. package/dist/esm/components/ui/IconButton.css +9 -0
  459. package/dist/esm/components/ui/IconButton.css.css +9 -0
  460. package/dist/esm/components/ui/IconButton.css.css.map +7 -0
  461. package/dist/esm/components/ui/IconButton.css.d.ts +1 -0
  462. package/dist/esm/components/ui/IconButton.css.js +6 -0
  463. package/dist/esm/components/ui/IconButton.css.js.map +7 -0
  464. package/dist/esm/components/ui/IconButton.css.map +7 -0
  465. package/dist/esm/components/ui/IconButton.d.ts +6 -0
  466. package/dist/esm/components/ui/IconButton.js +21 -0
  467. package/dist/esm/components/ui/IconButton.js.map +7 -0
  468. package/dist/esm/components/ui/Text.css +38 -0
  469. package/dist/esm/components/ui/Text.css.css +38 -0
  470. package/dist/esm/components/ui/Text.css.css.map +7 -0
  471. package/dist/esm/components/ui/Text.css.d.ts +33 -0
  472. package/dist/esm/components/ui/Text.css.js +7 -0
  473. package/dist/esm/components/ui/Text.css.js.map +7 -0
  474. package/dist/esm/components/ui/Text.css.map +7 -0
  475. package/dist/esm/components/ui/Text.d.ts +12 -0
  476. package/dist/esm/components/ui/Text.js +39 -0
  477. package/dist/esm/components/ui/Text.js.map +7 -0
  478. package/dist/esm/constants/styleDataAttribute.d.ts +5 -0
  479. package/dist/esm/constants/styleDataAttribute.js +10 -0
  480. package/dist/esm/constants/styleDataAttribute.js.map +7 -0
  481. package/dist/esm/constants/walletDefaults.d.ts +7 -0
  482. package/dist/esm/constants/walletDefaults.js +34 -0
  483. package/dist/esm/constants/walletDefaults.js.map +7 -0
  484. package/dist/esm/constants/walletMutationKeys.d.ts +14 -0
  485. package/dist/esm/constants/walletMutationKeys.js +21 -0
  486. package/dist/esm/constants/walletMutationKeys.js.map +7 -0
  487. package/dist/esm/contexts/walletContext.d.ts +11 -0
  488. package/dist/esm/contexts/walletContext.js +7 -0
  489. package/dist/esm/contexts/walletContext.js.map +7 -0
  490. package/dist/esm/errors/walletErrors.d.ts +22 -0
  491. package/dist/esm/errors/walletErrors.js +16 -0
  492. package/dist/esm/errors/walletErrors.js.map +7 -0
  493. package/dist/esm/hooks/networkConfig.d.ts +10 -0
  494. package/dist/esm/hooks/networkConfig.js +51 -0
  495. package/dist/esm/hooks/networkConfig.js.map +7 -0
  496. package/dist/esm/hooks/useIotaClient.d.ts +3 -0
  497. package/dist/esm/hooks/useIotaClient.js +30 -0
  498. package/dist/esm/hooks/useIotaClient.js.map +7 -0
  499. package/dist/esm/hooks/useIotaClientInfiniteQuery.d.ts +25 -0
  500. package/dist/esm/hooks/useIotaClientInfiniteQuery.js +49 -0
  501. package/dist/esm/hooks/useIotaClientInfiniteQuery.js.map +7 -0
  502. package/dist/esm/hooks/useIotaClientMutation.d.ts +4 -0
  503. package/dist/esm/hooks/useIotaClientMutation.js +40 -0
  504. package/dist/esm/hooks/useIotaClientMutation.js.map +7 -0
  505. package/dist/esm/hooks/useIotaClientQueries.d.ts +27 -0
  506. package/dist/esm/hooks/useIotaClientQueries.js +50 -0
  507. package/dist/esm/hooks/useIotaClientQueries.js.map +7 -0
  508. package/dist/esm/hooks/useIotaClientQuery.d.ts +27 -0
  509. package/dist/esm/hooks/useIotaClientQuery.js +44 -0
  510. package/dist/esm/hooks/useIotaClientQuery.js.map +7 -0
  511. package/dist/esm/hooks/wallet/useAccounts.d.ts +5 -0
  512. package/dist/esm/hooks/wallet/useAccounts.js +27 -0
  513. package/dist/esm/hooks/wallet/useAccounts.js.map +7 -0
  514. package/dist/esm/hooks/wallet/useAutoConnectWallet.d.ts +1 -0
  515. package/dist/esm/hooks/wallet/useAutoConnectWallet.js +214 -0
  516. package/dist/esm/hooks/wallet/useAutoConnectWallet.js.map +7 -0
  517. package/dist/esm/hooks/wallet/useConnectWallet.d.ts +15 -0
  518. package/dist/esm/hooks/wallet/useConnectWallet.js +89 -0
  519. package/dist/esm/hooks/wallet/useConnectWallet.js.map +7 -0
  520. package/dist/esm/hooks/wallet/useCurrentAccount.d.ts +5 -0
  521. package/dist/esm/hooks/wallet/useCurrentAccount.js +27 -0
  522. package/dist/esm/hooks/wallet/useCurrentAccount.js.map +7 -0
  523. package/dist/esm/hooks/wallet/useCurrentWallet.d.ts +25 -0
  524. package/dist/esm/hooks/wallet/useCurrentWallet.js +59 -0
  525. package/dist/esm/hooks/wallet/useCurrentWallet.js.map +7 -0
  526. package/dist/esm/hooks/wallet/useDisconnectWallet.d.ts +9 -0
  527. package/dist/esm/hooks/wallet/useDisconnectWallet.js +111 -0
  528. package/dist/esm/hooks/wallet/useDisconnectWallet.js.map +7 -0
  529. package/dist/esm/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
  530. package/dist/esm/hooks/wallet/useReportTransactionEffects.js +127 -0
  531. package/dist/esm/hooks/wallet/useReportTransactionEffects.js.map +7 -0
  532. package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.d.ts +29 -0
  533. package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js +231 -0
  534. package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
  535. package/dist/esm/hooks/wallet/useSignPersonalMessage.d.ts +13 -0
  536. package/dist/esm/hooks/wallet/useSignPersonalMessage.js +127 -0
  537. package/dist/esm/hooks/wallet/useSignPersonalMessage.js.map +7 -0
  538. package/dist/esm/hooks/wallet/useSignTransaction.d.ts +18 -0
  539. package/dist/esm/hooks/wallet/useSignTransaction.js +212 -0
  540. package/dist/esm/hooks/wallet/useSignTransaction.js.map +7 -0
  541. package/dist/esm/hooks/wallet/useSwitchAccount.d.ts +14 -0
  542. package/dist/esm/hooks/wallet/useSwitchAccount.js +113 -0
  543. package/dist/esm/hooks/wallet/useSwitchAccount.js.map +7 -0
  544. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.d.ts +1 -0
  545. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js +173 -0
  546. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js.map +7 -0
  547. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.d.ts +4 -0
  548. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js +79 -0
  549. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js.map +7 -0
  550. package/dist/esm/hooks/wallet/useWalletStore.d.ts +2 -0
  551. package/dist/esm/hooks/wallet/useWalletStore.js +22 -0
  552. package/dist/esm/hooks/wallet/useWalletStore.js.map +7 -0
  553. package/dist/esm/hooks/wallet/useWallets.d.ts +4 -0
  554. package/dist/esm/hooks/wallet/useWallets.js +27 -0
  555. package/dist/esm/hooks/wallet/useWallets.js.map +7 -0
  556. package/dist/esm/hooks/wallet/useWalletsChanged.d.ts +5 -0
  557. package/dist/esm/hooks/wallet/useWalletsChanged.js +65 -0
  558. package/dist/esm/hooks/wallet/useWalletsChanged.js.map +7 -0
  559. package/dist/esm/index.css +471 -0
  560. package/dist/esm/index.css.map +7 -0
  561. package/dist/esm/index.d.ts +26 -0
  562. package/dist/esm/index.js +1882 -0
  563. package/dist/esm/index.js.map +7 -0
  564. package/dist/esm/package.json +4 -0
  565. package/dist/esm/themes/darkTheme.d.ts +2 -0
  566. package/dist/esm/themes/darkTheme.js +67 -0
  567. package/dist/esm/themes/darkTheme.js.map +7 -0
  568. package/dist/esm/themes/lightTheme.d.ts +2 -0
  569. package/dist/esm/themes/lightTheme.js +67 -0
  570. package/dist/esm/themes/lightTheme.js.map +7 -0
  571. package/dist/esm/themes/themeContract.d.ts +150 -0
  572. package/dist/esm/themes/themeContract.js +72 -0
  573. package/dist/esm/themes/themeContract.js.map +7 -0
  574. package/dist/esm/types/utilityTypes.d.ts +1 -0
  575. package/dist/esm/types/utilityTypes.js +1 -0
  576. package/dist/esm/types/utilityTypes.js.map +7 -0
  577. package/dist/esm/types.d.ts +2 -0
  578. package/dist/esm/types.js +1 -0
  579. package/dist/esm/types.js.map +7 -0
  580. package/dist/esm/utils/assertUnreachable.d.ts +4 -0
  581. package/dist/esm/utils/assertUnreachable.js +8 -0
  582. package/dist/esm/utils/assertUnreachable.js.map +7 -0
  583. package/dist/esm/utils/stateStorage.d.ts +2 -0
  584. package/dist/esm/utils/stateStorage.js +19 -0
  585. package/dist/esm/utils/stateStorage.js.map +7 -0
  586. package/dist/esm/utils/walletUtils.d.ts +3 -0
  587. package/dist/esm/utils/walletUtils.js +23 -0
  588. package/dist/esm/utils/walletUtils.js.map +7 -0
  589. package/dist/esm/walletStore.d.ts +42 -0
  590. package/dist/esm/walletStore.js +106 -0
  591. package/dist/esm/walletStore.js.map +7 -0
  592. package/dist/index.css/package.json +5 -0
  593. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  594. package/dist/tsconfig.tsbuildinfo +1 -0
  595. package/package.json +96 -0
  596. package/src/components/AccountDropdownMenu.css.ts +60 -0
  597. package/src/components/AccountDropdownMenu.tsx +85 -0
  598. package/src/components/ConnectButton.tsx +37 -0
  599. package/src/components/IotaClientProvider.tsx +97 -0
  600. package/src/components/WalletProvider.tsx +106 -0
  601. package/src/components/connect-modal/ConnectModal.css.ts +125 -0
  602. package/src/components/connect-modal/ConnectModal.tsx +167 -0
  603. package/src/components/connect-modal/InfoSection.css.ts +11 -0
  604. package/src/components/connect-modal/InfoSection.tsx +25 -0
  605. package/src/components/connect-modal/views/ConnectionStatus.css.ts +37 -0
  606. package/src/components/connect-modal/views/ConnectionStatus.tsx +55 -0
  607. package/src/components/connect-modal/views/GetTheWallet.css.ts +38 -0
  608. package/src/components/connect-modal/views/GetTheWallet.tsx +25 -0
  609. package/src/components/connect-modal/views/GettingStarted.css.ts +29 -0
  610. package/src/components/connect-modal/views/GettingStarted.tsx +40 -0
  611. package/src/components/connect-modal/views/WhatIsAWallet.css.ts +21 -0
  612. package/src/components/connect-modal/views/WhatIsAWallet.tsx +24 -0
  613. package/src/components/connect-modal/views/index.ts +6 -0
  614. package/src/components/connect-modal/wallet-list/WalletList.css.ts +17 -0
  615. package/src/components/connect-modal/wallet-list/WalletList.tsx +43 -0
  616. package/src/components/connect-modal/wallet-list/WalletListItem.css.ts +36 -0
  617. package/src/components/connect-modal/wallet-list/WalletListItem.tsx +37 -0
  618. package/src/components/icons/ArrowRightIcon.tsx +23 -0
  619. package/src/components/icons/ArrowTopRightIcon.tsx +23 -0
  620. package/src/components/icons/BackIcon.tsx +18 -0
  621. package/src/components/icons/CheckIcon.tsx +16 -0
  622. package/src/components/icons/ChevronIcon.tsx +19 -0
  623. package/src/components/icons/CloseIcon.tsx +16 -0
  624. package/src/components/icons/IotaIcon.tsx +23 -0
  625. package/src/components/styling/InjectedThemeStyles.tsx +56 -0
  626. package/src/components/styling/StyleMarker.css.ts +49 -0
  627. package/src/components/styling/StyleMarker.tsx +25 -0
  628. package/src/components/ui/Button.css.ts +49 -0
  629. package/src/components/ui/Button.tsx +32 -0
  630. package/src/components/ui/Heading.css.ts +44 -0
  631. package/src/components/ui/Heading.tsx +53 -0
  632. package/src/components/ui/IconButton.css.ts +14 -0
  633. package/src/components/ui/IconButton.tsx +25 -0
  634. package/src/components/ui/Text.css.ts +39 -0
  635. package/src/components/ui/Text.tsx +51 -0
  636. package/src/constants/styleDataAttribute.ts +9 -0
  637. package/src/constants/walletDefaults.ts +26 -0
  638. package/src/constants/walletMutationKeys.ts +23 -0
  639. package/src/contexts/walletContext.ts +9 -0
  640. package/src/errors/walletErrors.ts +25 -0
  641. package/src/hooks/networkConfig.ts +46 -0
  642. package/src/hooks/useIotaClient.ts +24 -0
  643. package/src/hooks/useIotaClientInfiniteQuery.ts +87 -0
  644. package/src/hooks/useIotaClientMutation.ts +28 -0
  645. package/src/hooks/useIotaClientQueries.ts +69 -0
  646. package/src/hooks/useIotaClientQuery.ts +74 -0
  647. package/src/hooks/wallet/useAccounts.ts +14 -0
  648. package/src/hooks/wallet/useAutoConnectWallet.ts +95 -0
  649. package/src/hooks/wallet/useConnectWallet.ts +91 -0
  650. package/src/hooks/wallet/useCurrentAccount.ts +14 -0
  651. package/src/hooks/wallet/useCurrentWallet.ts +45 -0
  652. package/src/hooks/wallet/useDisconnectWallet.ts +57 -0
  653. package/src/hooks/wallet/useReportTransactionEffects.ts +87 -0
  654. package/src/hooks/wallet/useSignAndExecuteTransaction.ts +165 -0
  655. package/src/hooks/wallet/useSignPersonalMessage.ts +84 -0
  656. package/src/hooks/wallet/useSignTransaction.ts +117 -0
  657. package/src/hooks/wallet/useSwitchAccount.ts +61 -0
  658. package/src/hooks/wallet/useUnsafeBurnerWallet.ts +168 -0
  659. package/src/hooks/wallet/useWalletPropertiesChanged.ts +30 -0
  660. package/src/hooks/wallet/useWalletStore.ts +19 -0
  661. package/src/hooks/wallet/useWallets.ts +12 -0
  662. package/src/hooks/wallet/useWalletsChanged.ts +42 -0
  663. package/src/index.ts +31 -0
  664. package/src/themes/darkTheme.ts +69 -0
  665. package/src/themes/lightTheme.ts +69 -0
  666. package/src/themes/themeContract.ts +103 -0
  667. package/src/types/utilityTypes.ts +5 -0
  668. package/src/types.ts +6 -0
  669. package/src/utils/assertUnreachable.ts +10 -0
  670. package/src/utils/stateStorage.ts +20 -0
  671. package/src/utils/walletUtils.ts +40 -0
  672. package/src/walletStore.ts +152 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/hooks/wallet/useDisconnectWallet.ts", "../../../../src/constants/walletMutationKeys.ts", "../../../../src/errors/walletErrors.ts", "../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts", "../../../../src/hooks/wallet/useCurrentWallet.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 { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport { WalletNotConnectedError } from '../../errors/walletErrors.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\nimport { useWalletStore } from './useWalletStore.js';\n\ntype UseDisconnectWalletError = WalletNotConnectedError | Error;\n\ntype UseDisconnectWalletMutationOptions = Omit<\n UseMutationOptions<void, UseDisconnectWalletError, void, unknown>,\n 'mutationFn'\n>;\n\n/**\n * Mutation hook for disconnecting from an active wallet connection, if currently connected.\n */\nexport function useDisconnectWallet({\n mutationKey,\n ...mutationOptions\n}: UseDisconnectWalletMutationOptions = {}): UseMutationResult<\n void,\n UseDisconnectWalletError,\n void\n> {\n const { currentWallet } = useCurrentWallet();\n const setWalletDisconnected = useWalletStore((state) => state.setWalletDisconnected);\n\n return useMutation({\n mutationKey: walletMutationKeys.disconnectWallet(mutationKey),\n mutationFn: async () => {\n if (!currentWallet) {\n throw new WalletNotConnectedError('No wallet is connected.');\n }\n\n try {\n // Wallets aren't required to implement the disconnect feature, so we'll\n // optionally call the disconnect feature if it exists and reset the UI\n // state on the frontend at a minimum.\n await currentWallet.features['standard:disconnect']?.disconnect();\n } catch (error) {\n console.error(\n 'Failed to disconnect the application from the current wallet.',\n error,\n );\n }\n\n setWalletDisconnected();\n },\n ...mutationOptions,\n });\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { 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\n/**\n * An error that is instantiated when someone attempts to perform an action that requires an active wallet connection.\n */\nexport class WalletNotConnectedError extends Error {}\n\n/**\n * An error that is instantiated when someone attempts to perform an action that requires a selected wallet account.\n * This is more of an edge case stemming from the fact that wallets don't technically require you to authorize any\n * accounts when connecting a wallet.\n */\nexport class WalletNoAccountSelectedError extends Error {}\n\n/**\n * An error that is instantiated when someone attempts to perform an action that isn't supported by a wallet.\n */\nexport class WalletFeatureNotSupportedError extends Error {}\n\n/**\n * An error that is instantiated when a wallet account can't be found for a specific wallet.\n */\nexport class WalletAccountNotFoundError extends Error {}\n", "// Copyright (c) Mysten Labs, Inc.\n// 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"],
5
+ "mappings": ";AAKA,SAAS,mBAAmB;;;ACCrB,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;;;ACfO,IAAM,0BAAN,cAAsC,MAAM;AAAC;;;ACHpD,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;;;ACDzB,SAAS,qBAAqB;AAIvB,IAAM,gBAAgB,cAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACrE,QAAM,QAAQ,WAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACR,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AACA,SAAO,SAAS,OAAO,QAAQ;AACnC;;;AETO,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;;;ALtBO,SAAS,oBAAoB;AAAA,EAChC;AAAA,EACA,GAAG;AACP,IAAwC,CAAC,GAIvC;AACE,QAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,QAAM,wBAAwB,eAAe,CAAC,UAAU,MAAM,qBAAqB;AAEnF,SAAO,YAAY;AAAA,IACf,aAAa,mBAAmB,iBAAiB,WAAW;AAAA,IAC5D,YAAY,YAAY;AACpB,UAAI,CAAC,eAAe;AAChB,cAAM,IAAI,wBAAwB,yBAAyB;AAAA,MAC/D;AAEA,UAAI;AAIA,cAAM,cAAc,SAAS,qBAAqB,GAAG,WAAW;AAAA,MACpE,SAAS,OAAO;AACZ,gBAAQ;AAAA,UACJ;AAAA,UACA;AAAA,QACJ;AAAA,MACJ;AAEA,4BAAsB;AAAA,IAC1B;AAAA,IACA,GAAG;AAAA,EACP,CAAC;AACL;",
6
+ "names": []
7
+ }
@@ -0,0 +1,15 @@
1
+ import type { IotaReportTransactionEffectsInput } from '@iota/wallet-standard';
2
+ import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
3
+ import type { WalletFeatureNotSupportedError } from '../../errors/walletErrors.js';
4
+ import { WalletNoAccountSelectedError, WalletNotConnectedError } from '../../errors/walletErrors.js';
5
+ import type { PartialBy } from '../../types/utilityTypes.js';
6
+ type UseReportTransactionEffectsArgs = Omit<PartialBy<IotaReportTransactionEffectsInput, 'account' | 'chain'>, 'effects'> & {
7
+ effects: string | number[];
8
+ };
9
+ type UseReportTransactionEffectsError = WalletFeatureNotSupportedError | WalletNoAccountSelectedError | WalletNotConnectedError | Error;
10
+ type UseReportTransactionEffectsMutationOptions = Omit<UseMutationOptions<void, UseReportTransactionEffectsError, UseReportTransactionEffectsArgs, unknown>, 'mutationFn'>;
11
+ /**
12
+ * Mutation hook for prompting the user to sign a message.
13
+ */
14
+ export declare function useReportTransactionEffects({ mutationKey, ...mutationOptions }?: UseReportTransactionEffectsMutationOptions): UseMutationResult<void, UseReportTransactionEffectsError, UseReportTransactionEffectsArgs>;
15
+ export {};
@@ -0,0 +1,127 @@
1
+ // src/hooks/wallet/useReportTransactionEffects.ts
2
+ import { toB64 } from "@iota/iota-sdk/utils";
3
+ import { useMutation } from "@tanstack/react-query";
4
+
5
+ // src/constants/walletMutationKeys.ts
6
+ var walletMutationKeys = {
7
+ all: { baseScope: "wallet" },
8
+ connectWallet: formMutationKeyFn("connect-wallet"),
9
+ autoconnectWallet: formMutationKeyFn("autoconnect-wallet"),
10
+ disconnectWallet: formMutationKeyFn("disconnect-wallet"),
11
+ signPersonalMessage: formMutationKeyFn("sign-personal-message"),
12
+ signTransaction: formMutationKeyFn("sign-transaction"),
13
+ signAndExecuteTransaction: formMutationKeyFn("sign-and-execute-transaction"),
14
+ switchAccount: formMutationKeyFn("switch-account"),
15
+ reportTransactionEffects: formMutationKeyFn("report-transaction-effects")
16
+ };
17
+ function formMutationKeyFn(baseEntity) {
18
+ return function mutationKeyFn(additionalKeys = []) {
19
+ return [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];
20
+ };
21
+ }
22
+
23
+ // src/errors/walletErrors.ts
24
+ var WalletNotConnectedError = class extends Error {
25
+ };
26
+ var WalletNoAccountSelectedError = class extends Error {
27
+ };
28
+
29
+ // src/hooks/wallet/useWalletStore.ts
30
+ import { useContext } from "react";
31
+ import { useStore } from "zustand";
32
+
33
+ // src/contexts/walletContext.ts
34
+ import { createContext } from "react";
35
+ var WalletContext = createContext(null);
36
+
37
+ // src/hooks/wallet/useWalletStore.ts
38
+ function useWalletStore(selector) {
39
+ const store = useContext(WalletContext);
40
+ if (!store) {
41
+ throw new Error(
42
+ "Could not find WalletContext. Ensure that you have set up the WalletProvider."
43
+ );
44
+ }
45
+ return useStore(store, selector);
46
+ }
47
+
48
+ // src/hooks/wallet/useCurrentAccount.ts
49
+ function useCurrentAccount() {
50
+ return useWalletStore((state) => state.currentAccount);
51
+ }
52
+
53
+ // src/hooks/wallet/useCurrentWallet.ts
54
+ function useCurrentWallet() {
55
+ const currentWallet = useWalletStore((state) => state.currentWallet);
56
+ const connectionStatus = useWalletStore((state) => state.connectionStatus);
57
+ const supportedIntents = useWalletStore((state) => state.supportedIntents);
58
+ switch (connectionStatus) {
59
+ case "connecting":
60
+ return {
61
+ connectionStatus,
62
+ currentWallet: null,
63
+ isDisconnected: false,
64
+ isConnecting: true,
65
+ isConnected: false,
66
+ supportedIntents: []
67
+ };
68
+ case "disconnected":
69
+ return {
70
+ connectionStatus,
71
+ currentWallet: null,
72
+ isDisconnected: true,
73
+ isConnecting: false,
74
+ isConnected: false,
75
+ supportedIntents: []
76
+ };
77
+ case "connected": {
78
+ return {
79
+ connectionStatus,
80
+ currentWallet,
81
+ isDisconnected: false,
82
+ isConnecting: false,
83
+ isConnected: true,
84
+ supportedIntents
85
+ };
86
+ }
87
+ }
88
+ }
89
+
90
+ // src/hooks/wallet/useReportTransactionEffects.ts
91
+ function useReportTransactionEffects({
92
+ mutationKey,
93
+ ...mutationOptions
94
+ } = {}) {
95
+ const { currentWallet } = useCurrentWallet();
96
+ const currentAccount = useCurrentAccount();
97
+ return useMutation({
98
+ mutationKey: walletMutationKeys.reportTransactionEffects(mutationKey),
99
+ mutationFn: async ({
100
+ effects,
101
+ chain = currentWallet?.chains[0],
102
+ account = currentAccount
103
+ }) => {
104
+ if (!currentWallet) {
105
+ throw new WalletNotConnectedError("No wallet is connected.");
106
+ }
107
+ if (!account) {
108
+ throw new WalletNoAccountSelectedError(
109
+ "No wallet account is selected to report transaction effects for"
110
+ );
111
+ }
112
+ const reportTransactionEffectsFeature = currentWallet.features["iota:reportTransactionEffects"];
113
+ if (reportTransactionEffectsFeature) {
114
+ return await reportTransactionEffectsFeature.reportTransactionEffects({
115
+ effects: Array.isArray(effects) ? toB64(new Uint8Array(effects)) : effects,
116
+ account,
117
+ chain: chain ?? currentWallet?.chains[0]
118
+ });
119
+ }
120
+ },
121
+ ...mutationOptions
122
+ });
123
+ }
124
+ export {
125
+ useReportTransactionEffects
126
+ };
127
+ //# sourceMappingURL=useReportTransactionEffects.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/hooks/wallet/useReportTransactionEffects.ts", "../../../../src/constants/walletMutationKeys.ts", "../../../../src/errors/walletErrors.ts", "../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts", "../../../../src/hooks/wallet/useCurrentAccount.ts", "../../../../src/hooks/wallet/useCurrentWallet.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { toB64 } from '@iota/iota-sdk/utils';\nimport type { IotaReportTransactionEffectsInput } 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 type { WalletFeatureNotSupportedError } from '../../errors/walletErrors.js';\nimport {\n WalletNoAccountSelectedError,\n WalletNotConnectedError,\n} from '../../errors/walletErrors.js';\nimport type { PartialBy } from '../../types/utilityTypes.js';\nimport { useCurrentAccount } from './useCurrentAccount.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\n\ntype UseReportTransactionEffectsArgs = Omit<\n PartialBy<IotaReportTransactionEffectsInput, 'account' | 'chain'>,\n 'effects'\n> & {\n effects: string | number[];\n};\n\ntype UseReportTransactionEffectsError =\n | WalletFeatureNotSupportedError\n | WalletNoAccountSelectedError\n | WalletNotConnectedError\n | Error;\n\ntype UseReportTransactionEffectsMutationOptions = Omit<\n UseMutationOptions<\n void,\n UseReportTransactionEffectsError,\n UseReportTransactionEffectsArgs,\n unknown\n >,\n 'mutationFn'\n>;\n\n/**\n * Mutation hook for prompting the user to sign a message.\n */\nexport function useReportTransactionEffects({\n mutationKey,\n ...mutationOptions\n}: UseReportTransactionEffectsMutationOptions = {}): UseMutationResult<\n void,\n UseReportTransactionEffectsError,\n UseReportTransactionEffectsArgs\n> {\n const { currentWallet } = useCurrentWallet();\n const currentAccount = useCurrentAccount();\n\n return useMutation({\n mutationKey: walletMutationKeys.reportTransactionEffects(mutationKey),\n mutationFn: async ({\n effects,\n chain = currentWallet?.chains[0],\n account = currentAccount,\n }) => {\n if (!currentWallet) {\n throw new WalletNotConnectedError('No wallet is connected.');\n }\n\n if (!account) {\n throw new WalletNoAccountSelectedError(\n 'No wallet account is selected to report transaction effects for',\n );\n }\n\n const reportTransactionEffectsFeature =\n currentWallet.features['iota:reportTransactionEffects'];\n\n if (reportTransactionEffectsFeature) {\n return await reportTransactionEffectsFeature.reportTransactionEffects({\n effects: Array.isArray(effects) ? toB64(new Uint8Array(effects)) : effects,\n account,\n chain: chain ?? currentWallet?.chains[0],\n });\n }\n },\n ...mutationOptions,\n });\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { 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\n/**\n * An error that is instantiated when someone attempts to perform an action that requires an active wallet connection.\n */\nexport class WalletNotConnectedError extends Error {}\n\n/**\n * An error that is instantiated when someone attempts to perform an action that requires a selected wallet account.\n * This is more of an edge case stemming from the fact that wallets don't technically require you to authorize any\n * accounts when connecting a wallet.\n */\nexport class WalletNoAccountSelectedError extends Error {}\n\n/**\n * An error that is instantiated when someone attempts to perform an action that isn't supported by a wallet.\n */\nexport class WalletFeatureNotSupportedError extends Error {}\n\n/**\n * An error that is instantiated when a wallet account can't be found for a specific wallet.\n */\nexport class WalletAccountNotFoundError extends Error {}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useContext } from 'react';\nimport { useStore } from 'zustand';\n\nimport { WalletContext } from '../../contexts/walletContext.js';\nimport type { StoreState } from '../../walletStore.js';\n\nexport function useWalletStore<T>(selector: (state: StoreState) => T): T {\n const store = useContext(WalletContext);\n if (!store) {\n throw new Error(\n 'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n );\n }\n return useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { createContext } from 'react';\n\nimport type { WalletStore } from '../walletStore.js';\n\nexport const WalletContext = createContext<WalletStore | null>(null);\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletAccount } from '@iota/wallet-standard';\n\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves the wallet account that is currently selected, if one exists.\n */\nexport function useCurrentAccount(): WalletAccount | null {\n return useWalletStore((state) => state.currentAccount);\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 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"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,29 @@
1
+ import type { Transaction } from '@iota/iota-sdk/transactions';
2
+ import type { IotaSignAndExecuteTransactionInput, IotaSignAndExecuteTransactionOutput } from '@iota/wallet-standard';
3
+ import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
4
+ import { WalletFeatureNotSupportedError, WalletNoAccountSelectedError, WalletNotConnectedError } from '../../errors/walletErrors.js';
5
+ import type { PartialBy } from '../../types/utilityTypes.js';
6
+ type UseSignAndExecuteTransactionArgs = PartialBy<Omit<IotaSignAndExecuteTransactionInput, 'transaction'>, 'account' | 'chain'> & {
7
+ transaction: Transaction | string;
8
+ };
9
+ type UseSignAndExecuteTransactionResult = IotaSignAndExecuteTransactionOutput;
10
+ type UseSignAndExecuteTransactionError = WalletFeatureNotSupportedError | WalletNoAccountSelectedError | WalletNotConnectedError | Error;
11
+ type ExecuteTransactionResult = {
12
+ digest: string;
13
+ rawEffects?: number[];
14
+ } | {
15
+ effects?: {
16
+ bcs?: string;
17
+ };
18
+ };
19
+ type UseSignAndExecuteTransactionMutationOptions<Result extends ExecuteTransactionResult> = Omit<UseMutationOptions<Result, UseSignAndExecuteTransactionError, UseSignAndExecuteTransactionArgs, unknown>, 'mutationFn'> & {
20
+ execute?: ({ bytes, signature }: {
21
+ bytes: string;
22
+ signature: string;
23
+ }) => Promise<Result>;
24
+ };
25
+ /**
26
+ * Mutation hook for prompting the user to sign and execute a transaction.
27
+ */
28
+ export declare function useSignAndExecuteTransaction<Result extends ExecuteTransactionResult = UseSignAndExecuteTransactionResult>({ mutationKey, execute, ...mutationOptions }?: UseSignAndExecuteTransactionMutationOptions<Result>): UseMutationResult<Result, UseSignAndExecuteTransactionError, UseSignAndExecuteTransactionArgs>;
29
+ export {};
@@ -0,0 +1,231 @@
1
+ // src/hooks/wallet/useSignAndExecuteTransaction.ts
2
+ import { toB64 as toB642 } from "@iota/iota-sdk/utils";
3
+ import { signTransaction } from "@iota/wallet-standard";
4
+ import { useMutation as useMutation2 } from "@tanstack/react-query";
5
+
6
+ // src/constants/walletMutationKeys.ts
7
+ var walletMutationKeys = {
8
+ all: { baseScope: "wallet" },
9
+ connectWallet: formMutationKeyFn("connect-wallet"),
10
+ autoconnectWallet: formMutationKeyFn("autoconnect-wallet"),
11
+ disconnectWallet: formMutationKeyFn("disconnect-wallet"),
12
+ signPersonalMessage: formMutationKeyFn("sign-personal-message"),
13
+ signTransaction: formMutationKeyFn("sign-transaction"),
14
+ signAndExecuteTransaction: formMutationKeyFn("sign-and-execute-transaction"),
15
+ switchAccount: formMutationKeyFn("switch-account"),
16
+ reportTransactionEffects: formMutationKeyFn("report-transaction-effects")
17
+ };
18
+ function formMutationKeyFn(baseEntity) {
19
+ return function mutationKeyFn(additionalKeys = []) {
20
+ return [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];
21
+ };
22
+ }
23
+
24
+ // src/errors/walletErrors.ts
25
+ var WalletNotConnectedError = class extends Error {
26
+ };
27
+ var WalletNoAccountSelectedError = class extends Error {
28
+ };
29
+ var WalletFeatureNotSupportedError = class extends Error {
30
+ };
31
+
32
+ // src/hooks/useIotaClient.ts
33
+ import { useContext } from "react";
34
+
35
+ // src/components/IotaClientProvider.tsx
36
+ import { getNetwork, isIotaClient, Network, IotaClient } from "@iota/iota-sdk/client";
37
+ import { createContext, useMemo, useState } from "react";
38
+ import { jsx } from "react/jsx-runtime";
39
+ var IotaClientContext = createContext(null);
40
+ var DEFAULT_NETWORKS = {
41
+ localnet: { url: getNetwork(Network.Localnet)?.url }
42
+ };
43
+
44
+ // src/hooks/useIotaClient.ts
45
+ function useIotaClientContext() {
46
+ const iotaClient = useContext(IotaClientContext);
47
+ if (!iotaClient) {
48
+ throw new Error(
49
+ "Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider"
50
+ );
51
+ }
52
+ return iotaClient;
53
+ }
54
+ function useIotaClient() {
55
+ return useIotaClientContext().client;
56
+ }
57
+
58
+ // src/hooks/wallet/useWalletStore.ts
59
+ import { useContext as useContext2 } from "react";
60
+ import { useStore } from "zustand";
61
+
62
+ // src/contexts/walletContext.ts
63
+ import { createContext as createContext2 } from "react";
64
+ var WalletContext = createContext2(null);
65
+
66
+ // src/hooks/wallet/useWalletStore.ts
67
+ function useWalletStore(selector) {
68
+ const store = useContext2(WalletContext);
69
+ if (!store) {
70
+ throw new Error(
71
+ "Could not find WalletContext. Ensure that you have set up the WalletProvider."
72
+ );
73
+ }
74
+ return useStore(store, selector);
75
+ }
76
+
77
+ // src/hooks/wallet/useCurrentAccount.ts
78
+ function useCurrentAccount() {
79
+ return useWalletStore((state) => state.currentAccount);
80
+ }
81
+
82
+ // src/hooks/wallet/useCurrentWallet.ts
83
+ function useCurrentWallet() {
84
+ const currentWallet = useWalletStore((state) => state.currentWallet);
85
+ const connectionStatus = useWalletStore((state) => state.connectionStatus);
86
+ const supportedIntents = useWalletStore((state) => state.supportedIntents);
87
+ switch (connectionStatus) {
88
+ case "connecting":
89
+ return {
90
+ connectionStatus,
91
+ currentWallet: null,
92
+ isDisconnected: false,
93
+ isConnecting: true,
94
+ isConnected: false,
95
+ supportedIntents: []
96
+ };
97
+ case "disconnected":
98
+ return {
99
+ connectionStatus,
100
+ currentWallet: null,
101
+ isDisconnected: true,
102
+ isConnecting: false,
103
+ isConnected: false,
104
+ supportedIntents: []
105
+ };
106
+ case "connected": {
107
+ return {
108
+ connectionStatus,
109
+ currentWallet,
110
+ isDisconnected: false,
111
+ isConnecting: false,
112
+ isConnected: true,
113
+ supportedIntents
114
+ };
115
+ }
116
+ }
117
+ }
118
+
119
+ // src/hooks/wallet/useReportTransactionEffects.ts
120
+ import { toB64 } from "@iota/iota-sdk/utils";
121
+ import { useMutation } from "@tanstack/react-query";
122
+ function useReportTransactionEffects({
123
+ mutationKey,
124
+ ...mutationOptions
125
+ } = {}) {
126
+ const { currentWallet } = useCurrentWallet();
127
+ const currentAccount = useCurrentAccount();
128
+ return useMutation({
129
+ mutationKey: walletMutationKeys.reportTransactionEffects(mutationKey),
130
+ mutationFn: async ({
131
+ effects,
132
+ chain = currentWallet?.chains[0],
133
+ account = currentAccount
134
+ }) => {
135
+ if (!currentWallet) {
136
+ throw new WalletNotConnectedError("No wallet is connected.");
137
+ }
138
+ if (!account) {
139
+ throw new WalletNoAccountSelectedError(
140
+ "No wallet account is selected to report transaction effects for"
141
+ );
142
+ }
143
+ const reportTransactionEffectsFeature = currentWallet.features["iota:reportTransactionEffects"];
144
+ if (reportTransactionEffectsFeature) {
145
+ return await reportTransactionEffectsFeature.reportTransactionEffects({
146
+ effects: Array.isArray(effects) ? toB64(new Uint8Array(effects)) : effects,
147
+ account,
148
+ chain: chain ?? currentWallet?.chains[0]
149
+ });
150
+ }
151
+ },
152
+ ...mutationOptions
153
+ });
154
+ }
155
+
156
+ // src/hooks/wallet/useSignAndExecuteTransaction.ts
157
+ function useSignAndExecuteTransaction({
158
+ mutationKey,
159
+ execute,
160
+ ...mutationOptions
161
+ } = {}) {
162
+ const { currentWallet, supportedIntents } = useCurrentWallet();
163
+ const currentAccount = useCurrentAccount();
164
+ const client = useIotaClient();
165
+ const { mutate: reportTransactionEffects } = useReportTransactionEffects();
166
+ const executeTransaction = execute ?? (async ({ bytes, signature }) => {
167
+ const { digest, rawEffects } = await client.executeTransactionBlock({
168
+ transactionBlock: bytes,
169
+ signature,
170
+ options: {
171
+ showRawEffects: true
172
+ }
173
+ });
174
+ return {
175
+ digest,
176
+ rawEffects,
177
+ effects: toB642(new Uint8Array(rawEffects)),
178
+ bytes,
179
+ signature
180
+ };
181
+ });
182
+ return useMutation2({
183
+ mutationKey: walletMutationKeys.signAndExecuteTransaction(mutationKey),
184
+ mutationFn: async ({ transaction, ...signTransactionArgs }) => {
185
+ if (!currentWallet) {
186
+ throw new WalletNotConnectedError("No wallet is connected.");
187
+ }
188
+ const signerAccount = signTransactionArgs.account ?? currentAccount;
189
+ if (!signerAccount) {
190
+ throw new WalletNoAccountSelectedError(
191
+ "No wallet account is selected to sign the transaction with."
192
+ );
193
+ }
194
+ const chain = signTransactionArgs.chain ?? signerAccount?.chains[0];
195
+ if (!currentWallet.features["iota:signTransaction"]) {
196
+ throw new WalletFeatureNotSupportedError(
197
+ "This wallet doesn't support the `signTransaction` feature."
198
+ );
199
+ }
200
+ const { signature, bytes } = await signTransaction(currentWallet, {
201
+ ...signTransactionArgs,
202
+ transaction: {
203
+ async toJSON() {
204
+ return typeof transaction === "string" ? transaction : await transaction.toJSON({
205
+ supportedIntents,
206
+ client
207
+ });
208
+ }
209
+ },
210
+ account: signerAccount,
211
+ chain: signTransactionArgs.chain ?? signerAccount.chains[0]
212
+ });
213
+ const result = await executeTransaction({ bytes, signature });
214
+ let effects;
215
+ if ("effects" in result && result.effects?.bcs) {
216
+ effects = result.effects.bcs;
217
+ } else if ("rawEffects" in result) {
218
+ effects = toB642(new Uint8Array(result.rawEffects));
219
+ } else {
220
+ throw new Error("Could not parse effects from transaction result.");
221
+ }
222
+ reportTransactionEffects({ effects, account: signerAccount, chain });
223
+ return result;
224
+ },
225
+ ...mutationOptions
226
+ });
227
+ }
228
+ export {
229
+ useSignAndExecuteTransaction
230
+ };
231
+ //# sourceMappingURL=useSignAndExecuteTransaction.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/hooks/wallet/useSignAndExecuteTransaction.ts", "../../../../src/constants/walletMutationKeys.ts", "../../../../src/errors/walletErrors.ts", "../../../../src/hooks/useIotaClient.ts", "../../../../src/components/IotaClientProvider.tsx", "../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts", "../../../../src/hooks/wallet/useCurrentAccount.ts", "../../../../src/hooks/wallet/useCurrentWallet.ts", "../../../../src/hooks/wallet/useReportTransactionEffects.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 { Transaction } from '@iota/iota-sdk/transactions';\nimport { toB64 } from '@iota/iota-sdk/utils';\nimport type {\n IotaSignAndExecuteTransactionInput,\n IotaSignAndExecuteTransactionOutput,\n} from '@iota/wallet-standard';\nimport { signTransaction } 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 {\n WalletFeatureNotSupportedError,\n WalletNoAccountSelectedError,\n WalletNotConnectedError,\n} from '../../errors/walletErrors.js';\nimport type { PartialBy } from '../../types/utilityTypes.js';\nimport { useIotaClient } from '../useIotaClient.js';\nimport { useCurrentAccount } from './useCurrentAccount.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\nimport { useReportTransactionEffects } from './useReportTransactionEffects.js';\n\ntype UseSignAndExecuteTransactionArgs = PartialBy<\n Omit<IotaSignAndExecuteTransactionInput, 'transaction'>,\n 'account' | 'chain'\n> & {\n transaction: Transaction | string;\n};\n\ntype UseSignAndExecuteTransactionResult = IotaSignAndExecuteTransactionOutput;\n\ntype UseSignAndExecuteTransactionError =\n | WalletFeatureNotSupportedError\n | WalletNoAccountSelectedError\n | WalletNotConnectedError\n | Error;\n\ntype ExecuteTransactionResult =\n | {\n digest: string;\n rawEffects?: number[];\n }\n | {\n effects?: {\n bcs?: string;\n };\n };\n\ntype UseSignAndExecuteTransactionMutationOptions<Result extends ExecuteTransactionResult> = Omit<\n UseMutationOptions<\n Result,\n UseSignAndExecuteTransactionError,\n UseSignAndExecuteTransactionArgs,\n unknown\n >,\n 'mutationFn'\n> & {\n execute?: ({ bytes, signature }: { bytes: string; signature: string }) => Promise<Result>;\n};\n\n/**\n * Mutation hook for prompting the user to sign and execute a transaction.\n */\nexport function useSignAndExecuteTransaction<\n Result extends ExecuteTransactionResult = UseSignAndExecuteTransactionResult,\n>({\n mutationKey,\n execute,\n ...mutationOptions\n}: UseSignAndExecuteTransactionMutationOptions<Result> = {}): UseMutationResult<\n Result,\n UseSignAndExecuteTransactionError,\n UseSignAndExecuteTransactionArgs\n> {\n const { currentWallet, supportedIntents } = useCurrentWallet();\n const currentAccount = useCurrentAccount();\n const client = useIotaClient();\n const { mutate: reportTransactionEffects } = useReportTransactionEffects();\n\n const executeTransaction: ({\n bytes,\n signature,\n }: {\n bytes: string;\n signature: string;\n }) => Promise<ExecuteTransactionResult> =\n execute ??\n (async ({ bytes, signature }) => {\n const { digest, rawEffects } = await client.executeTransactionBlock({\n transactionBlock: bytes,\n signature,\n options: {\n showRawEffects: true,\n },\n });\n\n return {\n digest,\n rawEffects,\n effects: toB64(new Uint8Array(rawEffects!)),\n bytes,\n signature,\n };\n });\n\n return useMutation({\n mutationKey: walletMutationKeys.signAndExecuteTransaction(mutationKey),\n mutationFn: async ({ transaction, ...signTransactionArgs }): Promise<Result> => {\n if (!currentWallet) {\n throw new WalletNotConnectedError('No wallet is connected.');\n }\n\n const signerAccount = signTransactionArgs.account ?? currentAccount;\n if (!signerAccount) {\n throw new WalletNoAccountSelectedError(\n 'No wallet account is selected to sign the transaction with.',\n );\n }\n const chain = signTransactionArgs.chain ?? signerAccount?.chains[0];\n\n if (!currentWallet.features['iota:signTransaction']) {\n throw new WalletFeatureNotSupportedError(\n \"This wallet doesn't support the `signTransaction` feature.\",\n );\n }\n\n const { signature, bytes } = await signTransaction(currentWallet, {\n ...signTransactionArgs,\n transaction: {\n async toJSON() {\n return typeof transaction === 'string'\n ? transaction\n : await transaction.toJSON({\n supportedIntents,\n client,\n });\n },\n },\n account: signerAccount,\n chain: signTransactionArgs.chain ?? signerAccount.chains[0],\n });\n\n const result = await executeTransaction({ bytes, signature });\n\n let effects: string;\n\n if ('effects' in result && result.effects?.bcs) {\n effects = result.effects.bcs;\n } else if ('rawEffects' in result) {\n effects = toB64(new Uint8Array(result.rawEffects!));\n } else {\n throw new Error('Could not parse effects from transaction result.');\n }\n\n reportTransactionEffects({ effects, account: signerAccount, chain });\n\n return result as Result;\n },\n ...mutationOptions,\n });\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { 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\n/**\n * An error that is instantiated when someone attempts to perform an action that requires an active wallet connection.\n */\nexport class WalletNotConnectedError extends Error {}\n\n/**\n * An error that is instantiated when someone attempts to perform an action that requires a selected wallet account.\n * This is more of an edge case stemming from the fact that wallets don't technically require you to authorize any\n * accounts when connecting a wallet.\n */\nexport class WalletNoAccountSelectedError extends Error {}\n\n/**\n * An error that is instantiated when someone attempts to perform an action that isn't supported by a wallet.\n */\nexport class WalletFeatureNotSupportedError extends Error {}\n\n/**\n * An error that is instantiated when a wallet account can't be found for a specific wallet.\n */\nexport class WalletAccountNotFoundError extends Error {}\n", "// Copyright (c) Mysten Labs, Inc.\n// 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", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useContext } from 'react';\nimport { useStore } from 'zustand';\n\nimport { WalletContext } from '../../contexts/walletContext.js';\nimport type { StoreState } from '../../walletStore.js';\n\nexport function useWalletStore<T>(selector: (state: StoreState) => T): T {\n const store = useContext(WalletContext);\n if (!store) {\n throw new Error(\n 'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n );\n }\n return useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { createContext } from 'react';\n\nimport type { WalletStore } from '../walletStore.js';\n\nexport const WalletContext = createContext<WalletStore | null>(null);\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletAccount } from '@iota/wallet-standard';\n\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves the wallet account that is currently selected, if one exists.\n */\nexport function useCurrentAccount(): WalletAccount | null {\n return useWalletStore((state) => state.currentAccount);\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 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 { toB64 } from '@iota/iota-sdk/utils';\nimport type { IotaReportTransactionEffectsInput } 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 type { WalletFeatureNotSupportedError } from '../../errors/walletErrors.js';\nimport {\n WalletNoAccountSelectedError,\n WalletNotConnectedError,\n} from '../../errors/walletErrors.js';\nimport type { PartialBy } from '../../types/utilityTypes.js';\nimport { useCurrentAccount } from './useCurrentAccount.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\n\ntype UseReportTransactionEffectsArgs = Omit<\n PartialBy<IotaReportTransactionEffectsInput, 'account' | 'chain'>,\n 'effects'\n> & {\n effects: string | number[];\n};\n\ntype UseReportTransactionEffectsError =\n | WalletFeatureNotSupportedError\n | WalletNoAccountSelectedError\n | WalletNotConnectedError\n | Error;\n\ntype UseReportTransactionEffectsMutationOptions = Omit<\n UseMutationOptions<\n void,\n UseReportTransactionEffectsError,\n UseReportTransactionEffectsArgs,\n unknown\n >,\n 'mutationFn'\n>;\n\n/**\n * Mutation hook for prompting the user to sign a message.\n */\nexport function useReportTransactionEffects({\n mutationKey,\n ...mutationOptions\n}: UseReportTransactionEffectsMutationOptions = {}): UseMutationResult<\n void,\n UseReportTransactionEffectsError,\n UseReportTransactionEffectsArgs\n> {\n const { currentWallet } = useCurrentWallet();\n const currentAccount = useCurrentAccount();\n\n return useMutation({\n mutationKey: walletMutationKeys.reportTransactionEffects(mutationKey),\n mutationFn: async ({\n effects,\n chain = currentWallet?.chains[0],\n account = currentAccount,\n }) => {\n if (!currentWallet) {\n throw new WalletNotConnectedError('No wallet is connected.');\n }\n\n if (!account) {\n throw new WalletNoAccountSelectedError(\n 'No wallet account is selected to report transaction effects for',\n );\n }\n\n const reportTransactionEffectsFeature =\n currentWallet.features['iota:reportTransactionEffects'];\n\n if (reportTransactionEffectsFeature) {\n return await reportTransactionEffectsFeature.reportTransactionEffects({\n effects: Array.isArray(effects) ? toB64(new Uint8Array(effects)) : effects,\n account,\n chain: chain ?? currentWallet?.chains[0],\n });\n }\n },\n ...mutationOptions,\n });\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["toB64", "useMutation", "useContext", "createContext", "useContext", "toB64", "useMutation"]
7
+ }
@@ -0,0 +1,13 @@
1
+ import type { IotaSignPersonalMessageInput, IotaSignPersonalMessageOutput } from '@iota/wallet-standard';
2
+ import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
3
+ import { WalletFeatureNotSupportedError, WalletNoAccountSelectedError, WalletNotConnectedError } from '../..//errors/walletErrors.js';
4
+ import type { PartialBy } from '../../types/utilityTypes.js';
5
+ type UseSignPersonalMessageArgs = PartialBy<IotaSignPersonalMessageInput, 'account'>;
6
+ type UseSignPersonalMessageResult = IotaSignPersonalMessageOutput;
7
+ type UseSignPersonalMessageError = WalletFeatureNotSupportedError | WalletNoAccountSelectedError | WalletNotConnectedError | Error;
8
+ type UseSignPersonalMessageMutationOptions = Omit<UseMutationOptions<UseSignPersonalMessageResult, UseSignPersonalMessageError, UseSignPersonalMessageArgs, unknown>, 'mutationFn'>;
9
+ /**
10
+ * Mutation hook for prompting the user to sign a message.
11
+ */
12
+ export declare function useSignPersonalMessage({ mutationKey, ...mutationOptions }?: UseSignPersonalMessageMutationOptions): UseMutationResult<UseSignPersonalMessageResult, UseSignPersonalMessageError, UseSignPersonalMessageArgs>;
13
+ export {};