@iota/dapp-kit 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (437) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +14 -12
  3. package/dist/cjs/components/AccountDropdownMenu.css +26 -54
  4. package/dist/cjs/components/AccountDropdownMenu.css.css +18 -27
  5. package/dist/cjs/components/AccountDropdownMenu.css.css.map +3 -3
  6. package/dist/cjs/components/AccountDropdownMenu.css.d.ts +0 -1
  7. package/dist/cjs/components/AccountDropdownMenu.css.js +4 -6
  8. package/dist/cjs/components/AccountDropdownMenu.css.js.map +2 -2
  9. package/dist/cjs/components/AccountDropdownMenu.css.map +3 -3
  10. package/dist/cjs/components/AccountDropdownMenu.d.ts +3 -1
  11. package/dist/cjs/components/AccountDropdownMenu.js +25 -21
  12. package/dist/cjs/components/AccountDropdownMenu.js.map +3 -3
  13. package/dist/cjs/components/ConnectButton.css +181 -190
  14. package/dist/cjs/components/ConnectButton.css.map +3 -3
  15. package/dist/cjs/components/ConnectButton.d.ts +5 -3
  16. package/dist/cjs/components/ConnectButton.js +344 -669
  17. package/dist/cjs/components/ConnectButton.js.map +4 -4
  18. package/dist/cjs/components/IotaClientProvider.d.ts +0 -1
  19. package/dist/cjs/components/WalletProvider.d.ts +3 -3
  20. package/dist/cjs/components/WalletProvider.js +107 -152
  21. package/dist/cjs/components/WalletProvider.js.map +3 -3
  22. package/dist/cjs/components/connect-modal/ConnectModal.css +214 -172
  23. package/dist/cjs/components/connect-modal/ConnectModal.css.css +69 -32
  24. package/dist/cjs/components/connect-modal/ConnectModal.css.css.map +3 -3
  25. package/dist/cjs/components/connect-modal/ConnectModal.css.d.ts +5 -1
  26. package/dist/cjs/components/connect-modal/ConnectModal.css.js +15 -7
  27. package/dist/cjs/components/connect-modal/ConnectModal.css.js.map +2 -2
  28. package/dist/cjs/components/connect-modal/ConnectModal.css.map +3 -3
  29. package/dist/cjs/components/connect-modal/ConnectModal.js +411 -707
  30. package/dist/cjs/components/connect-modal/ConnectModal.js.map +4 -4
  31. package/dist/cjs/components/connect-modal/InfoSection.css +7 -11
  32. package/dist/cjs/components/connect-modal/InfoSection.css.css.map +1 -1
  33. package/dist/cjs/components/connect-modal/InfoSection.css.map +3 -3
  34. package/dist/cjs/components/connect-modal/InfoSection.js +1 -1
  35. package/dist/cjs/components/connect-modal/InfoSection.js.map +2 -2
  36. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css +145 -0
  37. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css +32 -0
  38. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css.map +7 -0
  39. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.d.ts +5 -0
  40. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.js +35 -0
  41. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.js.map +7 -0
  42. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.map +7 -0
  43. package/dist/cjs/components/connect-modal/views/ConnectionStatus.d.ts +8 -0
  44. package/dist/cjs/components/connect-modal/views/ConnectionStatus.js +173 -0
  45. package/dist/cjs/components/connect-modal/views/ConnectionStatus.js.map +7 -0
  46. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.css.map +1 -1
  47. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.map +1 -1
  48. package/dist/cjs/components/connect-modal/views/GetTheWallet.js +12 -391
  49. package/dist/cjs/components/connect-modal/views/GetTheWallet.js.map +2 -2
  50. package/dist/cjs/components/connect-modal/views/GettingStarted.css +144 -0
  51. package/dist/cjs/components/connect-modal/views/GettingStarted.css.css +23 -0
  52. package/dist/cjs/components/connect-modal/views/GettingStarted.css.css.map +7 -0
  53. package/dist/cjs/components/connect-modal/views/GettingStarted.css.d.ts +3 -0
  54. package/dist/cjs/components/connect-modal/views/GettingStarted.css.js +31 -0
  55. package/dist/cjs/components/connect-modal/views/GettingStarted.css.js.map +7 -0
  56. package/dist/cjs/components/connect-modal/views/GettingStarted.css.map +7 -0
  57. package/dist/cjs/components/connect-modal/views/GettingStarted.d.ts +1 -0
  58. package/dist/cjs/components/connect-modal/views/GettingStarted.js +172 -0
  59. package/dist/cjs/components/connect-modal/views/GettingStarted.js.map +7 -0
  60. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css +95 -0
  61. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css +17 -0
  62. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css.map +7 -0
  63. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.d.ts +2 -0
  64. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js +29 -0
  65. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js.map +7 -0
  66. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.map +7 -0
  67. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.d.ts +1 -0
  68. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js +135 -0
  69. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
  70. package/dist/cjs/components/connect-modal/views/index.css +115 -124
  71. package/dist/cjs/components/connect-modal/views/index.css.map +3 -3
  72. package/dist/cjs/components/connect-modal/views/index.d.ts +2 -1
  73. package/dist/cjs/components/connect-modal/views/index.js +136 -640
  74. package/dist/cjs/components/connect-modal/views/index.js.map +4 -4
  75. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css +10 -22
  76. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css +2 -5
  77. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css.map +3 -3
  78. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.js.map +1 -1
  79. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.map +3 -3
  80. package/dist/cjs/components/connect-modal/wallet-list/WalletList.d.ts +4 -4
  81. package/dist/cjs/components/connect-modal/wallet-list/WalletList.js +61 -38
  82. package/dist/cjs/components/connect-modal/wallet-list/WalletList.js.map +4 -4
  83. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css +8 -17
  84. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css +8 -17
  85. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css.map +3 -3
  86. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.d.ts +0 -1
  87. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js +2 -4
  88. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js.map +2 -2
  89. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.map +3 -3
  90. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js +5 -32
  91. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js.map +4 -4
  92. package/dist/cjs/components/icons/BackIcon.d.ts +2 -0
  93. package/dist/cjs/components/icons/BackIcon.js +36 -0
  94. package/dist/cjs/components/icons/BackIcon.js.map +7 -0
  95. package/dist/cjs/components/icons/IotaIcon.js +12 -391
  96. package/dist/cjs/components/icons/IotaIcon.js.map +2 -2
  97. package/dist/cjs/components/styling/InjectedThemeStyles.js +2 -0
  98. package/dist/cjs/components/styling/InjectedThemeStyles.js.map +2 -2
  99. package/dist/cjs/components/styling/StyleMarker.css +1 -16
  100. package/dist/cjs/components/styling/StyleMarker.css.css +1 -16
  101. package/dist/cjs/components/styling/StyleMarker.css.css.map +3 -3
  102. package/dist/cjs/components/styling/StyleMarker.css.map +3 -3
  103. package/dist/cjs/components/styling/StyleMarker.d.ts +0 -1
  104. package/dist/cjs/components/styling/StyleMarker.js +4 -4
  105. package/dist/cjs/components/styling/StyleMarker.js.map +3 -3
  106. package/dist/cjs/components/ui/Button.css.css.map +1 -1
  107. package/dist/cjs/components/ui/Button.css.map +1 -1
  108. package/dist/cjs/components/ui/Button.d.ts +1 -1
  109. package/dist/cjs/components/ui/Heading.css.css.map +1 -1
  110. package/dist/cjs/components/ui/Heading.css.map +1 -1
  111. package/dist/cjs/components/ui/Heading.d.ts +0 -1
  112. package/dist/cjs/components/ui/IconButton.css.css.map +1 -1
  113. package/dist/cjs/components/ui/IconButton.css.map +1 -1
  114. package/dist/cjs/components/ui/IconButton.d.ts +1 -1
  115. package/dist/cjs/components/ui/Text.css +7 -11
  116. package/dist/cjs/components/ui/Text.css.css +7 -11
  117. package/dist/cjs/components/ui/Text.css.css.map +3 -3
  118. package/dist/cjs/components/ui/Text.css.d.ts +0 -3
  119. package/dist/cjs/components/ui/Text.css.js +1 -1
  120. package/dist/cjs/components/ui/Text.css.js.map +2 -2
  121. package/dist/cjs/components/ui/Text.css.map +3 -3
  122. package/dist/cjs/components/ui/Text.d.ts +0 -1
  123. package/dist/cjs/components/ui/Text.js +1 -1
  124. package/dist/cjs/components/ui/Text.js.map +2 -2
  125. package/dist/cjs/constants/styleDataAttribute.js.map +1 -1
  126. package/dist/cjs/constants/walletDefaults.d.ts +2 -2
  127. package/dist/cjs/constants/walletDefaults.js +4 -5
  128. package/dist/cjs/constants/walletDefaults.js.map +2 -2
  129. package/dist/cjs/constants/walletMutationKeys.d.ts +3 -2
  130. package/dist/cjs/constants/walletMutationKeys.js +4 -3
  131. package/dist/cjs/constants/walletMutationKeys.js.map +2 -2
  132. package/dist/cjs/contexts/walletContext.d.ts +1 -2
  133. package/dist/cjs/hooks/useIotaClientInfiniteQuery.js.map +2 -2
  134. package/dist/cjs/hooks/useIotaClientQuery.js +3 -1
  135. package/dist/cjs/hooks/useIotaClientQuery.js.map +2 -2
  136. package/dist/cjs/hooks/wallet/useAutoConnectWallet.js +17 -7
  137. package/dist/cjs/hooks/wallet/useAutoConnectWallet.js.map +2 -2
  138. package/dist/cjs/hooks/wallet/useConnectWallet.js +10 -4
  139. package/dist/cjs/hooks/wallet/useConnectWallet.js.map +2 -2
  140. package/dist/cjs/hooks/wallet/useCurrentWallet.d.ts +3 -0
  141. package/dist/cjs/hooks/wallet/useCurrentWallet.js +7 -3
  142. package/dist/cjs/hooks/wallet/useCurrentWallet.js.map +2 -2
  143. package/dist/cjs/hooks/wallet/useDisconnectWallet.js +11 -6
  144. package/dist/cjs/hooks/wallet/useDisconnectWallet.js.map +2 -2
  145. package/dist/cjs/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
  146. package/dist/cjs/hooks/wallet/{useSignTransactionBlock.js → useReportTransactionEffects.js} +41 -37
  147. package/dist/cjs/hooks/wallet/useReportTransactionEffects.js.map +7 -0
  148. package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.d.ts +29 -0
  149. package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js +252 -0
  150. package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
  151. package/dist/cjs/hooks/wallet/useSignPersonalMessage.js +21 -27
  152. package/dist/cjs/hooks/wallet/useSignPersonalMessage.js.map +2 -2
  153. package/dist/cjs/hooks/wallet/useSignTransaction.d.ts +18 -0
  154. package/dist/cjs/hooks/wallet/{useSignAndExecuteTransactionBlock.js → useSignTransaction.js} +86 -46
  155. package/dist/cjs/hooks/wallet/useSignTransaction.js.map +7 -0
  156. package/dist/cjs/hooks/wallet/useSwitchAccount.js +11 -6
  157. package/dist/cjs/hooks/wallet/useSwitchAccount.js.map +2 -2
  158. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js +45 -33
  159. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js.map +2 -2
  160. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js +7 -3
  161. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js.map +2 -2
  162. package/dist/cjs/hooks/wallet/useWalletsChanged.d.ts +1 -1
  163. package/dist/cjs/hooks/wallet/useWalletsChanged.js +7 -6
  164. package/dist/cjs/hooks/wallet/useWalletsChanged.js.map +2 -2
  165. package/dist/cjs/index.css +232 -241
  166. package/dist/cjs/index.css.map +3 -3
  167. package/dist/cjs/index.d.ts +4 -3
  168. package/dist/cjs/index.js +816 -1042
  169. package/dist/cjs/index.js.map +4 -4
  170. package/dist/cjs/themes/lightTheme.js +19 -19
  171. package/dist/cjs/themes/lightTheme.js.map +1 -1
  172. package/dist/cjs/themes/themeContract.js.map +1 -1
  173. package/dist/cjs/types.d.ts +1 -1
  174. package/dist/cjs/types.js.map +1 -1
  175. package/dist/cjs/utils/assertUnreachable.js.map +1 -1
  176. package/dist/cjs/utils/walletUtils.d.ts +2 -2
  177. package/dist/cjs/utils/walletUtils.js +2 -2
  178. package/dist/cjs/utils/walletUtils.js.map +2 -2
  179. package/dist/cjs/walletStore.d.ts +3 -2
  180. package/dist/cjs/walletStore.js +8 -4
  181. package/dist/cjs/walletStore.js.map +2 -2
  182. package/dist/esm/components/AccountDropdownMenu.css +26 -54
  183. package/dist/esm/components/AccountDropdownMenu.css.css +18 -27
  184. package/dist/esm/components/AccountDropdownMenu.css.css.map +3 -3
  185. package/dist/esm/components/AccountDropdownMenu.css.d.ts +0 -1
  186. package/dist/esm/components/AccountDropdownMenu.css.js +4 -6
  187. package/dist/esm/components/AccountDropdownMenu.css.js.map +2 -2
  188. package/dist/esm/components/AccountDropdownMenu.css.map +3 -3
  189. package/dist/esm/components/AccountDropdownMenu.d.ts +3 -1
  190. package/dist/esm/components/AccountDropdownMenu.js +25 -21
  191. package/dist/esm/components/AccountDropdownMenu.js.map +3 -3
  192. package/dist/esm/components/ConnectButton.css +181 -190
  193. package/dist/esm/components/ConnectButton.css.map +3 -3
  194. package/dist/esm/components/ConnectButton.d.ts +5 -3
  195. package/dist/esm/components/ConnectButton.js +344 -669
  196. package/dist/esm/components/ConnectButton.js.map +4 -4
  197. package/dist/esm/components/IotaClientProvider.d.ts +0 -1
  198. package/dist/esm/components/WalletProvider.d.ts +3 -3
  199. package/dist/esm/components/WalletProvider.js +106 -151
  200. package/dist/esm/components/WalletProvider.js.map +3 -3
  201. package/dist/esm/components/connect-modal/ConnectModal.css +214 -172
  202. package/dist/esm/components/connect-modal/ConnectModal.css.css +69 -32
  203. package/dist/esm/components/connect-modal/ConnectModal.css.css.map +3 -3
  204. package/dist/esm/components/connect-modal/ConnectModal.css.d.ts +5 -1
  205. package/dist/esm/components/connect-modal/ConnectModal.css.js +15 -7
  206. package/dist/esm/components/connect-modal/ConnectModal.css.js.map +2 -2
  207. package/dist/esm/components/connect-modal/ConnectModal.css.map +3 -3
  208. package/dist/esm/components/connect-modal/ConnectModal.js +407 -703
  209. package/dist/esm/components/connect-modal/ConnectModal.js.map +4 -4
  210. package/dist/esm/components/connect-modal/InfoSection.css +7 -11
  211. package/dist/esm/components/connect-modal/InfoSection.css.css.map +1 -1
  212. package/dist/esm/components/connect-modal/InfoSection.css.map +3 -3
  213. package/dist/esm/components/connect-modal/InfoSection.js +1 -1
  214. package/dist/esm/components/connect-modal/InfoSection.js.map +2 -2
  215. package/dist/esm/components/connect-modal/views/ConnectionStatus.css +145 -0
  216. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css +32 -0
  217. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css.map +7 -0
  218. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.d.ts +5 -0
  219. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js +14 -0
  220. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js.map +7 -0
  221. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.map +7 -0
  222. package/dist/esm/components/connect-modal/views/ConnectionStatus.d.ts +8 -0
  223. package/dist/esm/components/connect-modal/views/ConnectionStatus.js +140 -0
  224. package/dist/esm/components/connect-modal/views/ConnectionStatus.js.map +7 -0
  225. package/dist/esm/components/connect-modal/views/GetTheWallet.css.css.map +1 -1
  226. package/dist/esm/components/connect-modal/views/GetTheWallet.css.map +1 -1
  227. package/dist/esm/components/connect-modal/views/GetTheWallet.js +12 -391
  228. package/dist/esm/components/connect-modal/views/GetTheWallet.js.map +2 -2
  229. package/dist/esm/components/connect-modal/views/GettingStarted.css +144 -0
  230. package/dist/esm/components/connect-modal/views/GettingStarted.css.css +23 -0
  231. package/dist/esm/components/connect-modal/views/GettingStarted.css.css.map +7 -0
  232. package/dist/esm/components/connect-modal/views/GettingStarted.css.d.ts +3 -0
  233. package/dist/esm/components/connect-modal/views/GettingStarted.css.js +10 -0
  234. package/dist/esm/components/connect-modal/views/GettingStarted.css.js.map +7 -0
  235. package/dist/esm/components/connect-modal/views/GettingStarted.css.map +7 -0
  236. package/dist/esm/components/connect-modal/views/GettingStarted.d.ts +1 -0
  237. package/dist/esm/components/connect-modal/views/GettingStarted.js +139 -0
  238. package/dist/esm/components/connect-modal/views/GettingStarted.js.map +7 -0
  239. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css +95 -0
  240. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css +17 -0
  241. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css.map +7 -0
  242. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.d.ts +2 -0
  243. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js +8 -0
  244. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js.map +7 -0
  245. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.map +7 -0
  246. package/dist/esm/components/connect-modal/views/WhatIsAWallet.d.ts +1 -0
  247. package/dist/esm/components/connect-modal/views/WhatIsAWallet.js +102 -0
  248. package/dist/esm/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
  249. package/dist/esm/components/connect-modal/views/index.css +115 -124
  250. package/dist/esm/components/connect-modal/views/index.css.map +3 -3
  251. package/dist/esm/components/connect-modal/views/index.d.ts +2 -1
  252. package/dist/esm/components/connect-modal/views/index.js +141 -645
  253. package/dist/esm/components/connect-modal/views/index.js.map +4 -4
  254. package/dist/esm/components/connect-modal/wallet-list/WalletList.css +10 -22
  255. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css +2 -5
  256. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css.map +3 -3
  257. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js.map +1 -1
  258. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.map +3 -3
  259. package/dist/esm/components/connect-modal/wallet-list/WalletList.d.ts +4 -4
  260. package/dist/esm/components/connect-modal/wallet-list/WalletList.js +61 -38
  261. package/dist/esm/components/connect-modal/wallet-list/WalletList.js.map +4 -4
  262. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css +8 -17
  263. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css +8 -17
  264. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css.map +3 -3
  265. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.d.ts +0 -1
  266. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js +2 -4
  267. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js.map +2 -2
  268. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.map +3 -3
  269. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js +5 -32
  270. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js.map +4 -4
  271. package/dist/esm/components/icons/BackIcon.d.ts +2 -0
  272. package/dist/esm/components/icons/BackIcon.js +15 -0
  273. package/dist/esm/components/icons/BackIcon.js.map +7 -0
  274. package/dist/esm/components/icons/IotaIcon.js +12 -391
  275. package/dist/esm/components/icons/IotaIcon.js.map +2 -2
  276. package/dist/esm/components/styling/InjectedThemeStyles.js +2 -0
  277. package/dist/esm/components/styling/InjectedThemeStyles.js.map +2 -2
  278. package/dist/esm/components/styling/StyleMarker.css +1 -16
  279. package/dist/esm/components/styling/StyleMarker.css.css +1 -16
  280. package/dist/esm/components/styling/StyleMarker.css.css.map +3 -3
  281. package/dist/esm/components/styling/StyleMarker.css.js +4 -4
  282. package/dist/esm/components/styling/StyleMarker.css.js.map +3 -3
  283. package/dist/esm/components/styling/StyleMarker.css.map +3 -3
  284. package/dist/esm/components/styling/StyleMarker.d.ts +0 -1
  285. package/dist/esm/components/styling/StyleMarker.js +4 -4
  286. package/dist/esm/components/styling/StyleMarker.js.map +3 -3
  287. package/dist/esm/components/ui/Button.css.css.map +1 -1
  288. package/dist/esm/components/ui/Button.css.map +1 -1
  289. package/dist/esm/components/ui/Button.d.ts +1 -1
  290. package/dist/esm/components/ui/Heading.css.css.map +1 -1
  291. package/dist/esm/components/ui/Heading.css.map +1 -1
  292. package/dist/esm/components/ui/Heading.d.ts +0 -1
  293. package/dist/esm/components/ui/IconButton.css.css.map +1 -1
  294. package/dist/esm/components/ui/IconButton.css.map +1 -1
  295. package/dist/esm/components/ui/IconButton.d.ts +1 -1
  296. package/dist/esm/components/ui/Text.css +7 -11
  297. package/dist/esm/components/ui/Text.css.css +7 -11
  298. package/dist/esm/components/ui/Text.css.css.map +3 -3
  299. package/dist/esm/components/ui/Text.css.d.ts +0 -3
  300. package/dist/esm/components/ui/Text.css.js +1 -1
  301. package/dist/esm/components/ui/Text.css.js.map +2 -2
  302. package/dist/esm/components/ui/Text.css.map +3 -3
  303. package/dist/esm/components/ui/Text.d.ts +0 -1
  304. package/dist/esm/components/ui/Text.js +1 -1
  305. package/dist/esm/components/ui/Text.js.map +2 -2
  306. package/dist/esm/constants/styleDataAttribute.js.map +1 -1
  307. package/dist/esm/constants/walletDefaults.d.ts +2 -2
  308. package/dist/esm/constants/walletDefaults.js +4 -5
  309. package/dist/esm/constants/walletDefaults.js.map +2 -2
  310. package/dist/esm/constants/walletMutationKeys.d.ts +3 -2
  311. package/dist/esm/constants/walletMutationKeys.js +4 -3
  312. package/dist/esm/constants/walletMutationKeys.js.map +2 -2
  313. package/dist/esm/contexts/walletContext.d.ts +1 -2
  314. package/dist/esm/hooks/useIotaClientInfiniteQuery.js.map +2 -2
  315. package/dist/esm/hooks/useIotaClientQuery.js +3 -1
  316. package/dist/esm/hooks/useIotaClientQuery.js.map +2 -2
  317. package/dist/esm/hooks/wallet/useAutoConnectWallet.js +17 -7
  318. package/dist/esm/hooks/wallet/useAutoConnectWallet.js.map +2 -2
  319. package/dist/esm/hooks/wallet/useConnectWallet.js +10 -4
  320. package/dist/esm/hooks/wallet/useConnectWallet.js.map +2 -2
  321. package/dist/esm/hooks/wallet/useCurrentWallet.d.ts +3 -0
  322. package/dist/esm/hooks/wallet/useCurrentWallet.js +7 -3
  323. package/dist/esm/hooks/wallet/useCurrentWallet.js.map +2 -2
  324. package/dist/esm/hooks/wallet/useDisconnectWallet.js +11 -6
  325. package/dist/esm/hooks/wallet/useDisconnectWallet.js.map +2 -2
  326. package/dist/esm/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
  327. package/dist/esm/hooks/wallet/{useSignTransactionBlock.js → useReportTransactionEffects.js} +38 -34
  328. package/dist/esm/hooks/wallet/useReportTransactionEffects.js.map +7 -0
  329. package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.d.ts +29 -0
  330. package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js +231 -0
  331. package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
  332. package/dist/esm/hooks/wallet/useSignPersonalMessage.js +21 -27
  333. package/dist/esm/hooks/wallet/useSignPersonalMessage.js.map +2 -2
  334. package/dist/esm/hooks/wallet/useSignTransaction.d.ts +18 -0
  335. package/dist/esm/hooks/wallet/{useSignAndExecuteTransactionBlock.js → useSignTransaction.js} +83 -43
  336. package/dist/esm/hooks/wallet/useSignTransaction.js.map +7 -0
  337. package/dist/esm/hooks/wallet/useSwitchAccount.js +11 -6
  338. package/dist/esm/hooks/wallet/useSwitchAccount.js.map +2 -2
  339. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js +44 -32
  340. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js.map +2 -2
  341. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js +7 -3
  342. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js.map +2 -2
  343. package/dist/esm/hooks/wallet/useWalletsChanged.d.ts +1 -1
  344. package/dist/esm/hooks/wallet/useWalletsChanged.js +7 -6
  345. package/dist/esm/hooks/wallet/useWalletsChanged.js.map +2 -2
  346. package/dist/esm/index.css +232 -241
  347. package/dist/esm/index.css.map +3 -3
  348. package/dist/esm/index.d.ts +4 -3
  349. package/dist/esm/index.js +818 -1044
  350. package/dist/esm/index.js.map +4 -4
  351. package/dist/esm/themes/lightTheme.js +19 -19
  352. package/dist/esm/themes/lightTheme.js.map +1 -1
  353. package/dist/esm/themes/themeContract.js.map +1 -1
  354. package/dist/esm/types.d.ts +1 -1
  355. package/dist/esm/utils/assertUnreachable.js.map +1 -1
  356. package/dist/esm/utils/walletUtils.d.ts +2 -2
  357. package/dist/esm/utils/walletUtils.js +2 -2
  358. package/dist/esm/utils/walletUtils.js.map +2 -2
  359. package/dist/esm/walletStore.d.ts +3 -2
  360. package/dist/esm/walletStore.js +8 -4
  361. package/dist/esm/walletStore.js.map +2 -2
  362. package/dist/index.css/package.json +5 -0
  363. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  364. package/dist/tsconfig.tsbuildinfo +1 -1
  365. package/package.json +27 -28
  366. package/src/components/AccountDropdownMenu.css.ts +11 -17
  367. package/src/components/AccountDropdownMenu.tsx +10 -5
  368. package/src/components/ConnectButton.tsx +12 -5
  369. package/src/components/WalletProvider.tsx +11 -22
  370. package/src/components/connect-modal/ConnectModal.css.ts +58 -17
  371. package/src/components/connect-modal/ConnectModal.tsx +101 -16
  372. package/src/components/connect-modal/views/ConnectionStatus.css.ts +36 -0
  373. package/src/components/connect-modal/views/ConnectionStatus.tsx +55 -0
  374. package/src/components/connect-modal/views/GettingStarted.css.ts +26 -0
  375. package/src/components/connect-modal/views/GettingStarted.tsx +40 -0
  376. package/src/components/connect-modal/views/WhatIsAWallet.css.ts +20 -0
  377. package/src/components/connect-modal/views/WhatIsAWallet.tsx +24 -0
  378. package/src/components/connect-modal/views/index.ts +2 -1
  379. package/src/components/connect-modal/wallet-list/WalletList.css.ts +1 -5
  380. package/src/components/connect-modal/wallet-list/WalletList.tsx +25 -11
  381. package/src/components/connect-modal/wallet-list/WalletListItem.css.ts +6 -14
  382. package/src/components/connect-modal/wallet-list/WalletListItem.tsx +9 -12
  383. package/src/components/icons/BackIcon.tsx +18 -0
  384. package/src/components/icons/IotaIcon.tsx +6 -222
  385. package/src/components/styling/InjectedThemeStyles.tsx +4 -0
  386. package/src/components/styling/StyleMarker.css.ts +0 -15
  387. package/src/components/ui/Text.css.ts +1 -1
  388. package/src/constants/walletDefaults.ts +6 -5
  389. package/src/constants/walletMutationKeys.ts +3 -2
  390. package/src/hooks/useIotaClientInfiniteQuery.ts +2 -1
  391. package/src/hooks/useIotaClientQuery.ts +3 -1
  392. package/src/hooks/wallet/useAutoConnectWallet.ts +1 -1
  393. package/src/hooks/wallet/useConnectWallet.ts +6 -1
  394. package/src/hooks/wallet/useCurrentWallet.ts +4 -0
  395. package/src/hooks/wallet/useReportTransactionEffects.ts +87 -0
  396. package/src/hooks/wallet/useSignAndExecuteTransaction.ts +165 -0
  397. package/src/hooks/wallet/useSignPersonalMessage.ts +11 -25
  398. package/src/hooks/wallet/useSignTransaction.ts +117 -0
  399. package/src/hooks/wallet/useUnsafeBurnerWallet.ts +41 -18
  400. package/src/hooks/wallet/useWalletsChanged.ts +5 -4
  401. package/src/index.ts +4 -3
  402. package/src/themes/lightTheme.ts +19 -19
  403. package/src/types.ts +1 -1
  404. package/src/utils/walletUtils.ts +8 -3
  405. package/src/walletStore.ts +12 -1
  406. package/dist/cjs/components/connect-modal/views/WalletConnect.css +0 -179
  407. package/dist/cjs/components/connect-modal/views/WalletConnect.css.css +0 -51
  408. package/dist/cjs/components/connect-modal/views/WalletConnect.css.css.map +0 -7
  409. package/dist/cjs/components/connect-modal/views/WalletConnect.css.d.ts +0 -8
  410. package/dist/cjs/components/connect-modal/views/WalletConnect.css.js +0 -41
  411. package/dist/cjs/components/connect-modal/views/WalletConnect.css.js.map +0 -7
  412. package/dist/cjs/components/connect-modal/views/WalletConnect.css.map +0 -7
  413. package/dist/cjs/components/connect-modal/views/WalletConnect.d.ts +0 -7
  414. package/dist/cjs/components/connect-modal/views/WalletConnect.js +0 -325
  415. package/dist/cjs/components/connect-modal/views/WalletConnect.js.map +0 -7
  416. package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.d.ts +0 -15
  417. package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +0 -7
  418. package/dist/cjs/hooks/wallet/useSignTransactionBlock.d.ts +0 -13
  419. package/dist/cjs/hooks/wallet/useSignTransactionBlock.js.map +0 -7
  420. package/dist/esm/components/connect-modal/views/WalletConnect.css +0 -179
  421. package/dist/esm/components/connect-modal/views/WalletConnect.css.css +0 -51
  422. package/dist/esm/components/connect-modal/views/WalletConnect.css.css.map +0 -7
  423. package/dist/esm/components/connect-modal/views/WalletConnect.css.d.ts +0 -8
  424. package/dist/esm/components/connect-modal/views/WalletConnect.css.js +0 -20
  425. package/dist/esm/components/connect-modal/views/WalletConnect.css.js.map +0 -7
  426. package/dist/esm/components/connect-modal/views/WalletConnect.css.map +0 -7
  427. package/dist/esm/components/connect-modal/views/WalletConnect.d.ts +0 -7
  428. package/dist/esm/components/connect-modal/views/WalletConnect.js +0 -294
  429. package/dist/esm/components/connect-modal/views/WalletConnect.js.map +0 -7
  430. package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.d.ts +0 -15
  431. package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +0 -7
  432. package/dist/esm/hooks/wallet/useSignTransactionBlock.d.ts +0 -13
  433. package/dist/esm/hooks/wallet/useSignTransactionBlock.js.map +0 -7
  434. package/src/components/connect-modal/views/WalletConnect.css.ts +0 -55
  435. package/src/components/connect-modal/views/WalletConnect.tsx +0 -79
  436. package/src/hooks/wallet/useSignAndExecuteTransactionBlock.ts +0 -117
  437. package/src/hooks/wallet/useSignTransactionBlock.ts +0 -85
@@ -17,13 +17,14 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // src/hooks/wallet/useSignAndExecuteTransactionBlock.ts
21
- var useSignAndExecuteTransactionBlock_exports = {};
22
- __export(useSignAndExecuteTransactionBlock_exports, {
23
- useSignAndExecuteTransactionBlock: () => useSignAndExecuteTransactionBlock
20
+ // src/hooks/wallet/useSignTransaction.ts
21
+ var useSignTransaction_exports = {};
22
+ __export(useSignTransaction_exports, {
23
+ useSignTransaction: () => useSignTransaction
24
24
  });
25
- module.exports = __toCommonJS(useSignAndExecuteTransactionBlock_exports);
26
- var import_react_query = require("@tanstack/react-query");
25
+ module.exports = __toCommonJS(useSignTransaction_exports);
26
+ var import_wallet_standard = require("@iota/wallet-standard");
27
+ var import_react_query2 = require("@tanstack/react-query");
27
28
 
28
29
  // src/constants/walletMutationKeys.ts
29
30
  var walletMutationKeys = {
@@ -32,9 +33,10 @@ var walletMutationKeys = {
32
33
  autoconnectWallet: formMutationKeyFn("autoconnect-wallet"),
33
34
  disconnectWallet: formMutationKeyFn("disconnect-wallet"),
34
35
  signPersonalMessage: formMutationKeyFn("sign-personal-message"),
35
- signTransactionBlock: formMutationKeyFn("sign-transaction-block"),
36
- signAndExecuteTransactionBlock: formMutationKeyFn("sign-and-execute-transaction-block"),
37
- switchAccount: formMutationKeyFn("switch-account")
36
+ signTransaction: formMutationKeyFn("sign-transaction"),
37
+ signAndExecuteTransaction: formMutationKeyFn("sign-and-execute-transaction"),
38
+ switchAccount: formMutationKeyFn("switch-account"),
39
+ reportTransactionEffects: formMutationKeyFn("report-transaction-effects")
38
40
  };
39
41
  function formMutationKeyFn(baseEntity) {
40
42
  return function mutationKeyFn(additionalKeys = []) {
@@ -104,6 +106,7 @@ function useCurrentAccount() {
104
106
  function useCurrentWallet() {
105
107
  const currentWallet = useWalletStore((state) => state.currentWallet);
106
108
  const connectionStatus = useWalletStore((state) => state.connectionStatus);
109
+ const supportedIntents = useWalletStore((state) => state.supportedIntents);
107
110
  switch (connectionStatus) {
108
111
  case "connecting":
109
112
  return {
@@ -111,7 +114,8 @@ function useCurrentWallet() {
111
114
  currentWallet: null,
112
115
  isDisconnected: false,
113
116
  isConnecting: true,
114
- isConnected: false
117
+ isConnected: false,
118
+ supportedIntents: []
115
119
  };
116
120
  case "disconnected":
117
121
  return {
@@ -119,7 +123,8 @@ function useCurrentWallet() {
119
123
  currentWallet: null,
120
124
  isDisconnected: true,
121
125
  isConnecting: false,
122
- isConnected: false
126
+ isConnected: false,
127
+ supportedIntents: []
123
128
  };
124
129
  case "connected": {
125
130
  return {
@@ -127,67 +132,102 @@ function useCurrentWallet() {
127
132
  currentWallet,
128
133
  isDisconnected: false,
129
134
  isConnecting: false,
130
- isConnected: true
135
+ isConnected: true,
136
+ supportedIntents
131
137
  };
132
138
  }
133
139
  }
134
140
  }
135
141
 
136
- // src/hooks/wallet/useSignAndExecuteTransactionBlock.ts
137
- function useSignAndExecuteTransactionBlock({
142
+ // src/hooks/wallet/useReportTransactionEffects.ts
143
+ var import_utils = require("@iota/iota-sdk/utils");
144
+ var import_react_query = require("@tanstack/react-query");
145
+ function useReportTransactionEffects({
138
146
  mutationKey,
139
- executeFromWallet,
140
147
  ...mutationOptions
141
148
  } = {}) {
142
149
  const { currentWallet } = useCurrentWallet();
143
150
  const currentAccount = useCurrentAccount();
144
- const client = useIotaClient();
145
151
  return (0, import_react_query.useMutation)({
146
- mutationKey: walletMutationKeys.signAndExecuteTransactionBlock(mutationKey),
147
- mutationFn: async ({ requestType, options, ...signTransactionBlockArgs }) => {
152
+ mutationKey: walletMutationKeys.reportTransactionEffects(mutationKey),
153
+ mutationFn: async ({
154
+ effects,
155
+ chain = currentWallet?.chains[0],
156
+ account = currentAccount
157
+ }) => {
148
158
  if (!currentWallet) {
149
159
  throw new WalletNotConnectedError("No wallet is connected.");
150
160
  }
151
- const signerAccount = signTransactionBlockArgs.account ?? currentAccount;
152
- if (!signerAccount) {
161
+ if (!account) {
153
162
  throw new WalletNoAccountSelectedError(
154
- "No wallet account is selected to sign and execute the transaction block with."
163
+ "No wallet account is selected to report transaction effects for"
155
164
  );
156
165
  }
157
- if (executeFromWallet) {
158
- const walletFeature2 = currentWallet.features["iota:signAndExecuteTransactionBlock"];
159
- if (!walletFeature2) {
160
- throw new WalletFeatureNotSupportedError(
161
- "This wallet doesn't support the `signAndExecuteTransactionBlock` feature."
162
- );
163
- }
164
- return walletFeature2.signAndExecuteTransactionBlock({
165
- ...signTransactionBlockArgs,
166
- account: signerAccount,
167
- chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0],
168
- requestType,
169
- options
166
+ const reportTransactionEffectsFeature = currentWallet.features["iota:reportTransactionEffects"];
167
+ if (reportTransactionEffectsFeature) {
168
+ return await reportTransactionEffectsFeature.reportTransactionEffects({
169
+ effects: Array.isArray(effects) ? (0, import_utils.toB64)(new Uint8Array(effects)) : effects,
170
+ account,
171
+ chain: chain ?? currentWallet?.chains[0]
170
172
  });
171
173
  }
172
- const walletFeature = currentWallet.features["iota:signTransactionBlock"];
173
- if (!walletFeature) {
174
+ },
175
+ ...mutationOptions
176
+ });
177
+ }
178
+
179
+ // src/hooks/wallet/useSignTransaction.ts
180
+ function useSignTransaction({
181
+ mutationKey,
182
+ ...mutationOptions
183
+ } = {}) {
184
+ const { currentWallet } = useCurrentWallet();
185
+ const currentAccount = useCurrentAccount();
186
+ const client = useIotaClient();
187
+ const { mutate: reportTransactionEffects } = useReportTransactionEffects();
188
+ return (0, import_react_query2.useMutation)({
189
+ mutationKey: walletMutationKeys.signTransaction(mutationKey),
190
+ mutationFn: async ({ transaction, ...signTransactionArgs }) => {
191
+ if (!currentWallet) {
192
+ throw new WalletNotConnectedError("No wallet is connected.");
193
+ }
194
+ const signerAccount = signTransactionArgs.account ?? currentAccount;
195
+ if (!signerAccount) {
196
+ throw new WalletNoAccountSelectedError(
197
+ "No wallet account is selected to sign the transaction with."
198
+ );
199
+ }
200
+ if (!currentWallet.features["iota:signTransaction"]) {
174
201
  throw new WalletFeatureNotSupportedError(
175
- "This wallet doesn't support the `signTransactionBlock` feature."
202
+ "This wallet doesn't support the `signTransaction` feature."
176
203
  );
177
204
  }
178
- const { signature, transactionBlockBytes } = await walletFeature.signTransactionBlock({
179
- ...signTransactionBlockArgs,
205
+ const { bytes, signature } = await (0, import_wallet_standard.signTransaction)(currentWallet, {
206
+ ...signTransactionArgs,
207
+ transaction: {
208
+ toJSON: async () => {
209
+ return typeof transaction === "string" ? transaction : await transaction.toJSON({
210
+ supportedIntents: [],
211
+ client
212
+ });
213
+ }
214
+ },
180
215
  account: signerAccount,
181
- chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0]
216
+ chain: signTransactionArgs.chain ?? signerAccount.chains[0]
182
217
  });
183
- return client.executeTransactionBlock({
184
- transactionBlock: transactionBlockBytes,
218
+ return {
219
+ bytes,
185
220
  signature,
186
- requestType,
187
- options
188
- });
221
+ reportTransactionEffects: (effects) => {
222
+ reportTransactionEffects({
223
+ effects,
224
+ account: signerAccount,
225
+ chain: signTransactionArgs.chain ?? signerAccount.chains[0]
226
+ });
227
+ }
228
+ };
189
229
  },
190
230
  ...mutationOptions
191
231
  });
192
232
  }
193
- //# sourceMappingURL=useSignAndExecuteTransactionBlock.js.map
233
+ //# sourceMappingURL=useSignTransaction.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/hooks/wallet/useSignTransaction.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 { signTransaction } from '@iota/wallet-standard';\nimport type { SignedTransaction, IotaSignTransactionInput } 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 UseSignTransactionArgs = PartialBy<\n Omit<IotaSignTransactionInput, 'transaction'>,\n 'account' | 'chain'\n> & {\n transaction: Transaction | string;\n};\n\ninterface UseSignTransactionResult extends SignedTransaction {\n reportTransactionEffects: (effects: string) => void;\n}\n\ntype UseSignTransactionError =\n | WalletFeatureNotSupportedError\n | WalletNoAccountSelectedError\n | WalletNotConnectedError\n | Error;\n\ntype UseSignTransactionMutationOptions = Omit<\n UseMutationOptions<\n UseSignTransactionResult,\n UseSignTransactionError,\n UseSignTransactionArgs,\n unknown\n >,\n 'mutationFn'\n>;\n\n/**\n * Mutation hook for prompting the user to sign a transaction.\n */\nexport function useSignTransaction({\n mutationKey,\n ...mutationOptions\n}: UseSignTransactionMutationOptions = {}): UseMutationResult<\n UseSignTransactionResult,\n UseSignTransactionError,\n UseSignTransactionArgs\n> {\n const { currentWallet } = useCurrentWallet();\n const currentAccount = useCurrentAccount();\n const client = useIotaClient();\n\n const { mutate: reportTransactionEffects } = useReportTransactionEffects();\n\n return useMutation({\n mutationKey: walletMutationKeys.signTransaction(mutationKey),\n mutationFn: async ({ transaction, ...signTransactionArgs }) => {\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\n if (!currentWallet.features['iota:signTransaction']) {\n throw new WalletFeatureNotSupportedError(\n \"This wallet doesn't support the `signTransaction` feature.\",\n );\n }\n\n const { bytes, signature } = await signTransaction(currentWallet, {\n ...signTransactionArgs,\n transaction: {\n toJSON: async () => {\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 return {\n bytes,\n signature,\n reportTransactionEffects: (effects) => {\n reportTransactionEffects({\n effects,\n account: signerAccount,\n chain: signTransactionArgs.chain ?? signerAccount.chains[0],\n });\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 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.Local).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": ["import_react_query", "import_react", "import_react", "import_react"]
7
+ }
@@ -32,9 +32,10 @@ var walletMutationKeys = {
32
32
  autoconnectWallet: formMutationKeyFn("autoconnect-wallet"),
33
33
  disconnectWallet: formMutationKeyFn("disconnect-wallet"),
34
34
  signPersonalMessage: formMutationKeyFn("sign-personal-message"),
35
- signTransactionBlock: formMutationKeyFn("sign-transaction-block"),
36
- signAndExecuteTransactionBlock: formMutationKeyFn("sign-and-execute-transaction-block"),
37
- switchAccount: formMutationKeyFn("switch-account")
35
+ signTransaction: formMutationKeyFn("sign-transaction"),
36
+ signAndExecuteTransaction: formMutationKeyFn("sign-and-execute-transaction"),
37
+ switchAccount: formMutationKeyFn("switch-account"),
38
+ reportTransactionEffects: formMutationKeyFn("report-transaction-effects")
38
39
  };
39
40
  function formMutationKeyFn(baseEntity) {
40
41
  return function mutationKeyFn(additionalKeys = []) {
@@ -71,6 +72,7 @@ function useWalletStore(selector) {
71
72
  function useCurrentWallet() {
72
73
  const currentWallet = useWalletStore((state) => state.currentWallet);
73
74
  const connectionStatus = useWalletStore((state) => state.connectionStatus);
75
+ const supportedIntents = useWalletStore((state) => state.supportedIntents);
74
76
  switch (connectionStatus) {
75
77
  case "connecting":
76
78
  return {
@@ -78,7 +80,8 @@ function useCurrentWallet() {
78
80
  currentWallet: null,
79
81
  isDisconnected: false,
80
82
  isConnecting: true,
81
- isConnected: false
83
+ isConnected: false,
84
+ supportedIntents: []
82
85
  };
83
86
  case "disconnected":
84
87
  return {
@@ -86,7 +89,8 @@ function useCurrentWallet() {
86
89
  currentWallet: null,
87
90
  isDisconnected: true,
88
91
  isConnecting: false,
89
- isConnected: false
92
+ isConnected: false,
93
+ supportedIntents: []
90
94
  };
91
95
  case "connected": {
92
96
  return {
@@ -94,7 +98,8 @@ function useCurrentWallet() {
94
98
  currentWallet,
95
99
  isDisconnected: false,
96
100
  isConnecting: false,
97
- isConnected: true
101
+ isConnected: true,
102
+ supportedIntents
98
103
  };
99
104
  }
100
105
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/hooks/wallet/useSwitchAccount.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 { WalletAccount } 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 { WalletAccountNotFoundError, WalletNotConnectedError } from '../../errors/walletErrors.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\nimport { useWalletStore } from './useWalletStore.js';\n\ntype SwitchAccountArgs = {\n account: WalletAccount;\n};\n\ntype SwitchAccountResult = void;\n\ntype UseSwitchAccountError = WalletNotConnectedError | WalletAccountNotFoundError | Error;\n\ntype UseSwitchAccountMutationOptions = Omit<\n UseMutationOptions<SwitchAccountResult, UseSwitchAccountError, SwitchAccountArgs, unknown>,\n 'mutationFn'\n>;\n\n/**\n * Mutation hook for switching to a specific wallet account.\n */\nexport function useSwitchAccount({\n mutationKey,\n ...mutationOptions\n}: UseSwitchAccountMutationOptions = {}): UseMutationResult<\n SwitchAccountResult,\n UseSwitchAccountError,\n SwitchAccountArgs\n> {\n const { currentWallet } = useCurrentWallet();\n const setAccountSwitched = useWalletStore((state) => state.setAccountSwitched);\n\n return useMutation({\n mutationKey: walletMutationKeys.switchAccount(mutationKey),\n mutationFn: async ({ account }) => {\n if (!currentWallet) {\n throw new WalletNotConnectedError('No wallet is connected.');\n }\n\n const accountToSelect = currentWallet.accounts.find(\n (walletAccount) => walletAccount.address === account.address,\n );\n if (!accountToSelect) {\n throw new WalletAccountNotFoundError(\n `No account with address ${account.address} is connected to ${currentWallet.name}.`,\n );\n }\n\n setAccountSwitched(accountToSelect);\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 signTransactionBlock: formMutationKeyFn('sign-transaction-block'),\n signAndExecuteTransactionBlock: formMutationKeyFn('sign-and-execute-transaction-block'),\n switchAccount: formMutationKeyFn('switch-account'),\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\n switch (connectionStatus) {\n case 'connecting':\n return {\n connectionStatus,\n currentWallet: null,\n isDisconnected: false,\n isConnecting: true,\n isConnected: false,\n } as const;\n case 'disconnected':\n return {\n connectionStatus,\n currentWallet: null,\n isDisconnected: true,\n isConnecting: false,\n isConnected: false,\n } as const;\n case 'connected': {\n return {\n connectionStatus,\n currentWallet: currentWallet!,\n isDisconnected: false,\n isConnecting: false,\n isConnected: true,\n } as const;\n }\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAA4B;;;ACArB,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,sBAAsB,kBAAkB,wBAAwB;AAAA,EAChE,gCAAgC,kBAAkB,oCAAoC;AAAA,EACtF,eAAe,kBAAkB,gBAAgB;AACrD;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;;;ACdO,IAAM,0BAAN,cAAsC,MAAM;AAAC;AAiB7C,IAAM,6BAAN,cAAyC,MAAM;AAAC;;;ACpBvD,IAAAA,gBAA2B;AAC3B,qBAAyB;;;ACDzB,mBAA8B;AAIvB,IAAM,oBAAgB,4BAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACrE,QAAM,YAAQ,0BAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACR,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AACA,aAAO,yBAAS,OAAO,QAAQ;AACnC;;;AETO,SAAS,mBAAmB;AAC/B,QAAM,gBAAgB,eAAe,CAAC,UAAU,MAAM,aAAa;AACnE,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,MACjB;AAAA,IACJ,KAAK;AACD,aAAO;AAAA,QACH;AAAA,QACA,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,MACjB;AAAA,IACJ,KAAK,aAAa;AACd,aAAO;AAAA,QACH;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,MACjB;AAAA,IACJ;AAAA,EACJ;AACJ;;;ALXO,SAAS,iBAAiB;AAAA,EAC7B;AAAA,EACA,GAAG;AACP,IAAqC,CAAC,GAIpC;AACE,QAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,QAAM,qBAAqB,eAAe,CAAC,UAAU,MAAM,kBAAkB;AAE7E,aAAO,gCAAY;AAAA,IACf,aAAa,mBAAmB,cAAc,WAAW;AAAA,IACzD,YAAY,OAAO,EAAE,QAAQ,MAAM;AAC/B,UAAI,CAAC,eAAe;AAChB,cAAM,IAAI,wBAAwB,yBAAyB;AAAA,MAC/D;AAEA,YAAM,kBAAkB,cAAc,SAAS;AAAA,QAC3C,CAAC,kBAAkB,cAAc,YAAY,QAAQ;AAAA,MACzD;AACA,UAAI,CAAC,iBAAiB;AAClB,cAAM,IAAI;AAAA,UACN,2BAA2B,QAAQ,2BAA2B,cAAc;AAAA,QAChF;AAAA,MACJ;AAEA,yBAAmB,eAAe;AAAA,IACtC;AAAA,IACA,GAAG;AAAA,EACP,CAAC;AACL;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletAccount } from '@iota/wallet-standard';\nimport type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport { WalletAccountNotFoundError, WalletNotConnectedError } from '../../errors/walletErrors.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\nimport { useWalletStore } from './useWalletStore.js';\n\ntype SwitchAccountArgs = {\n account: WalletAccount;\n};\n\ntype SwitchAccountResult = void;\n\ntype UseSwitchAccountError = WalletNotConnectedError | WalletAccountNotFoundError | Error;\n\ntype UseSwitchAccountMutationOptions = Omit<\n UseMutationOptions<SwitchAccountResult, UseSwitchAccountError, SwitchAccountArgs, unknown>,\n 'mutationFn'\n>;\n\n/**\n * Mutation hook for switching to a specific wallet account.\n */\nexport function useSwitchAccount({\n mutationKey,\n ...mutationOptions\n}: UseSwitchAccountMutationOptions = {}): UseMutationResult<\n SwitchAccountResult,\n UseSwitchAccountError,\n SwitchAccountArgs\n> {\n const { currentWallet } = useCurrentWallet();\n const setAccountSwitched = useWalletStore((state) => state.setAccountSwitched);\n\n return useMutation({\n mutationKey: walletMutationKeys.switchAccount(mutationKey),\n mutationFn: async ({ account }) => {\n if (!currentWallet) {\n throw new WalletNotConnectedError('No wallet is connected.');\n }\n\n const accountToSelect = currentWallet.accounts.find(\n (walletAccount) => walletAccount.address === account.address,\n );\n if (!accountToSelect) {\n throw new WalletAccountNotFoundError(\n `No account with address ${account.address} is connected to ${currentWallet.name}.`,\n );\n }\n\n setAccountSwitched(accountToSelect);\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": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAA4B;;;ACArB,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;AAiB7C,IAAM,6BAAN,cAAyC,MAAM;AAAC;;;ACpBvD,IAAAA,gBAA2B;AAC3B,qBAAyB;;;ACDzB,mBAA8B;AAIvB,IAAM,oBAAgB,4BAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACrE,QAAM,YAAQ,0BAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACR,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AACA,aAAO,yBAAS,OAAO,QAAQ;AACnC;;;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;;;ALfO,SAAS,iBAAiB;AAAA,EAC7B;AAAA,EACA,GAAG;AACP,IAAqC,CAAC,GAIpC;AACE,QAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,QAAM,qBAAqB,eAAe,CAAC,UAAU,MAAM,kBAAkB;AAE7E,aAAO,gCAAY;AAAA,IACf,aAAa,mBAAmB,cAAc,WAAW;AAAA,IACzD,YAAY,OAAO,EAAE,QAAQ,MAAM;AAC/B,UAAI,CAAC,eAAe;AAChB,cAAM,IAAI,wBAAwB,yBAAyB;AAAA,MAC/D;AAEA,YAAM,kBAAkB,cAAc,SAAS;AAAA,QAC3C,CAAC,kBAAkB,cAAc,YAAY,QAAQ;AAAA,MACzD;AACA,UAAI,CAAC,iBAAiB;AAClB,cAAM,IAAI;AAAA,UACN,2BAA2B,QAAQ,OAAO,oBAAoB,cAAc,IAAI;AAAA,QACpF;AAAA,MACJ;AAEA,yBAAmB,eAAe;AAAA,IACtC;AAAA,IACA,GAAG;AAAA,EACP,CAAC;AACL;",
6
6
  "names": ["import_react"]
7
7
  }
@@ -3,6 +3,9 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __typeError = (msg) => {
7
+ throw TypeError(msg);
8
+ };
6
9
  var __export = (target, all) => {
7
10
  for (var name in all)
8
11
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,19 +19,9 @@ var __copyProps = (to, from, except, desc) => {
16
19
  return to;
17
20
  };
18
21
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var __accessCheck = (obj, member, msg) => {
20
- if (!member.has(obj))
21
- throw TypeError("Cannot " + msg);
22
- };
23
- var __privateGet = (obj, member, getter) => {
24
- __accessCheck(obj, member, "read from private field");
25
- return getter ? getter.call(obj) : member.get(obj);
26
- };
27
- var __privateAdd = (obj, member, value) => {
28
- if (member.has(obj))
29
- throw TypeError("Cannot add the same private member more than once");
30
- member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
31
- };
22
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
23
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
24
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
32
25
 
33
26
  // src/hooks/wallet/useUnsafeBurnerWallet.ts
34
27
  var useUnsafeBurnerWallet_exports = {};
@@ -37,6 +30,8 @@ __export(useUnsafeBurnerWallet_exports, {
37
30
  });
38
31
  module.exports = __toCommonJS(useUnsafeBurnerWallet_exports);
39
32
  var import_ed25519 = require("@iota/iota-sdk/keypairs/ed25519");
33
+ var import_transactions = require("@iota/iota-sdk/transactions");
34
+ var import_utils = require("@iota/iota-sdk/utils");
40
35
  var import_wallet_standard = require("@iota/wallet-standard");
41
36
  var import_react3 = require("react");
42
37
 
@@ -79,7 +74,7 @@ function useUnsafeBurnerWallet(enabled) {
79
74
  }, [enabled, iotaClient]);
80
75
  }
81
76
  function registerUnsafeBurnerWallet(iotaClient) {
82
- var _on, _connect, _signPersonalMessage, _signTransactionBlock, _signAndExecuteTransactionBlock;
77
+ var _on, _connect, _signPersonalMessage, _signTransaction, _signAndExecuteTransaction;
83
78
  const walletsApi = (0, import_wallet_standard.getWallets)();
84
79
  const registeredWallets = walletsApi.get();
85
80
  if (registeredWallets.find((wallet) => wallet.name === WALLET_NAME)) {
@@ -96,7 +91,7 @@ function registerUnsafeBurnerWallet(iotaClient) {
96
91
  address: keypair.getPublicKey().toIotaAddress(),
97
92
  publicKey: keypair.getPublicKey().toIotaBytes(),
98
93
  chains: ["iota:unknown"],
99
- features: ["iota:signAndExecuteTransactionBlock", "iota:signTransactionBlock"]
94
+ features: ["iota:signTransaction", "iota:signAndExecuteTransaction"]
100
95
  });
101
96
  class UnsafeBurnerWallet {
102
97
  constructor() {
@@ -111,23 +106,40 @@ function registerUnsafeBurnerWallet(iotaClient) {
111
106
  const { bytes, signature } = await keypair.signPersonalMessage(messageInput.message);
112
107
  return { bytes, signature };
113
108
  });
114
- __privateAdd(this, _signTransactionBlock, async (transactionInput) => {
115
- const { bytes, signature } = await transactionInput.transactionBlock.sign({
109
+ __privateAdd(this, _signTransaction, async (transactionInput) => {
110
+ const { bytes, signature } = await import_transactions.Transaction.from(
111
+ await transactionInput.transaction.toJSON()
112
+ ).sign({
116
113
  client: iotaClient,
117
114
  signer: keypair
118
115
  });
116
+ transactionInput.signal?.throwIfAborted();
119
117
  return {
120
- transactionBlockBytes: bytes,
118
+ bytes,
121
119
  signature
122
120
  };
123
121
  });
124
- __privateAdd(this, _signAndExecuteTransactionBlock, async (transactionInput) => {
125
- return await iotaClient.signAndExecuteTransactionBlock({
126
- signer: keypair,
127
- transactionBlock: transactionInput.transactionBlock,
128
- options: transactionInput.options,
129
- requestType: transactionInput.requestType
122
+ __privateAdd(this, _signAndExecuteTransaction, async (transactionInput) => {
123
+ const { bytes, signature } = await import_transactions.Transaction.from(
124
+ await transactionInput.transaction.toJSON()
125
+ ).sign({
126
+ client: iotaClient,
127
+ signer: keypair
130
128
  });
129
+ transactionInput.signal?.throwIfAborted();
130
+ const { rawEffects, digest } = await iotaClient.executeTransactionBlock({
131
+ signature,
132
+ transactionBlock: bytes,
133
+ options: {
134
+ showRawEffects: true
135
+ }
136
+ });
137
+ return {
138
+ bytes,
139
+ signature,
140
+ digest,
141
+ effects: (0, import_utils.toB64)(new Uint8Array(rawEffects))
142
+ };
131
143
  });
132
144
  }
133
145
  get version() {
@@ -139,7 +151,7 @@ function registerUnsafeBurnerWallet(iotaClient) {
139
151
  get icon() {
140
152
  return "data:image/png;base64,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";
141
153
  }
142
- // Return the Iota chains that your wallet supports.
154
+ // Return the IOTA chains that your wallet supports.
143
155
  get chains() {
144
156
  return import_wallet_standard.SUPPORTED_CHAINS;
145
157
  }
@@ -160,13 +172,13 @@ function registerUnsafeBurnerWallet(iotaClient) {
160
172
  version: "1.0.0",
161
173
  signPersonalMessage: __privateGet(this, _signPersonalMessage)
162
174
  },
163
- "iota:signTransactionBlock": {
164
- version: "1.0.0",
165
- signTransactionBlock: __privateGet(this, _signTransactionBlock)
175
+ "iota:signTransaction": {
176
+ version: "2.0.0",
177
+ signTransaction: __privateGet(this, _signTransaction)
166
178
  },
167
- "iota:signAndExecuteTransactionBlock": {
168
- version: "1.0.0",
169
- signAndExecuteTransactionBlock: __privateGet(this, _signAndExecuteTransactionBlock)
179
+ "iota:signAndExecuteTransaction": {
180
+ version: "2.0.0",
181
+ signAndExecuteTransaction: __privateGet(this, _signAndExecuteTransaction)
170
182
  }
171
183
  };
172
184
  }
@@ -174,8 +186,8 @@ function registerUnsafeBurnerWallet(iotaClient) {
174
186
  _on = new WeakMap();
175
187
  _connect = new WeakMap();
176
188
  _signPersonalMessage = new WeakMap();
177
- _signTransactionBlock = new WeakMap();
178
- _signAndExecuteTransactionBlock = new WeakMap();
189
+ _signTransaction = new WeakMap();
190
+ _signAndExecuteTransaction = new WeakMap();
179
191
  return walletsApi.register(new UnsafeBurnerWallet());
180
192
  }
181
193
  //# sourceMappingURL=useUnsafeBurnerWallet.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/hooks/wallet/useUnsafeBurnerWallet.ts", "../../../../src/hooks/useIotaClient.ts", "../../../../src/components/IotaClientProvider.tsx"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport { Ed25519Keypair } from '@iota/iota-sdk/keypairs/ed25519';\nimport type {\n StandardConnectFeature,\n StandardConnectMethod,\n StandardEventsFeature,\n StandardEventsOnMethod,\n IotaFeatures,\n IotaSignAndExecuteTransactionBlockMethod,\n IotaSignPersonalMessageMethod,\n IotaSignTransactionBlockMethod,\n Wallet,\n} from '@iota/wallet-standard';\nimport { getWallets, ReadonlyWalletAccount, SUPPORTED_CHAINS } from '@iota/wallet-standard';\nimport { useEffect } from 'react';\n\nimport { useIotaClient } from '../useIotaClient.js';\n\nconst WALLET_NAME = 'Unsafe Burner Wallet';\n\nexport function useUnsafeBurnerWallet(enabled: boolean) {\n const iotaClient = useIotaClient();\n\n useEffect(() => {\n if (!enabled) {\n return;\n }\n const unregister = registerUnsafeBurnerWallet(iotaClient);\n return unregister;\n }, [enabled, iotaClient]);\n}\n\nfunction registerUnsafeBurnerWallet(iotaClient: IotaClient) {\n const walletsApi = getWallets();\n const registeredWallets = walletsApi.get();\n\n if (registeredWallets.find((wallet) => wallet.name === WALLET_NAME)) {\n console.warn(\n 'registerUnsafeBurnerWallet: Unsafe Burner Wallet already registered, skipping duplicate registration.',\n );\n return;\n }\n\n console.warn(\n 'Your application is currently using the unsafe burner wallet. Make sure that this wallet is disabled in production.',\n );\n\n const keypair = new Ed25519Keypair();\n const account = new ReadonlyWalletAccount({\n address: keypair.getPublicKey().toIotaAddress(),\n publicKey: keypair.getPublicKey().toIotaBytes(),\n chains: ['iota:unknown'],\n features: ['iota:signAndExecuteTransactionBlock', 'iota:signTransactionBlock'],\n });\n\n class UnsafeBurnerWallet implements Wallet {\n get version() {\n return '1.0.0' as const;\n }\n\n get name() {\n return WALLET_NAME;\n }\n\n get icon() {\n return 'data:image/png;base64,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' as const;\n }\n\n // Return the Iota chains that your wallet supports.\n get chains() {\n return SUPPORTED_CHAINS;\n }\n\n get accounts() {\n return [account];\n }\n\n get features(): StandardConnectFeature & StandardEventsFeature & IotaFeatures {\n return {\n 'standard:connect': {\n version: '1.0.0',\n connect: this.#connect,\n },\n 'standard:events': {\n version: '1.0.0',\n on: this.#on,\n },\n 'iota:signPersonalMessage': {\n version: '1.0.0',\n signPersonalMessage: this.#signPersonalMessage,\n },\n 'iota:signTransactionBlock': {\n version: '1.0.0',\n signTransactionBlock: this.#signTransactionBlock,\n },\n 'iota:signAndExecuteTransactionBlock': {\n version: '1.0.0',\n signAndExecuteTransactionBlock: this.#signAndExecuteTransactionBlock,\n },\n };\n }\n\n #on: StandardEventsOnMethod = () => {\n return () => {};\n };\n\n #connect: StandardConnectMethod = async () => {\n return { accounts: this.accounts };\n };\n\n #signPersonalMessage: IotaSignPersonalMessageMethod = async (messageInput) => {\n const { bytes, signature } = await keypair.signPersonalMessage(messageInput.message);\n return { bytes, signature };\n };\n\n #signTransactionBlock: IotaSignTransactionBlockMethod = async (transactionInput) => {\n const { bytes, signature } = await transactionInput.transactionBlock.sign({\n client: iotaClient,\n signer: keypair,\n });\n\n return {\n transactionBlockBytes: bytes,\n signature: signature,\n };\n };\n\n #signAndExecuteTransactionBlock: IotaSignAndExecuteTransactionBlockMethod = async (\n transactionInput,\n ) => {\n return await iotaClient.signAndExecuteTransactionBlock({\n signer: keypair,\n transactionBlock: transactionInput.transactionBlock,\n options: transactionInput.options,\n requestType: transactionInput.requestType,\n });\n };\n }\n\n return walletsApi.register(new UnsafeBurnerWallet());\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport { useContext } from 'react';\n\nimport { IotaClientContext } from '../components/IotaClientProvider.js';\n\nexport function useIotaClientContext() {\n const iotaClient = useContext(IotaClientContext);\n\n if (!iotaClient) {\n throw new Error(\n 'Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider',\n );\n }\n\n return iotaClient;\n}\n\nexport function useIotaClient(): IotaClient {\n return useIotaClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getNetwork, isIotaClient, Network, IotaClient } from '@iota/iota-sdk/client';\nimport type { IotaClientOptions } from '@iota/iota-sdk/client';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | IotaClient = NetworkConfig | IotaClient> = Record<\n string,\n T\n>;\n\nexport interface IotaClientProviderContext {\n client: IotaClient;\n networks: NetworkConfigs;\n network: string;\n config: NetworkConfig | null;\n selectNetwork: (network: string) => void;\n}\n\nexport const IotaClientContext = createContext<IotaClientProviderContext | null>(null);\n\nexport type IotaClientProviderProps<T extends NetworkConfigs> = {\n createClient?: (name: keyof T, config: T[keyof T]) => IotaClient;\n children: React.ReactNode;\n networks?: T;\n onNetworkChange?: (network: keyof T & string) => void;\n} & (\n | {\n defaultNetwork?: keyof T & string;\n network?: never;\n }\n | {\n defaultNetwork?: never;\n network?: keyof T & string;\n }\n);\n\nconst DEFAULT_NETWORKS = {\n localnet: { url: getNetwork(Network.Local).url },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n _name: string,\n config: NetworkConfig | IotaClient,\n) {\n if (isIotaClient(config)) {\n return config;\n }\n\n return new IotaClient(config);\n};\n\nexport function IotaClientProvider<T extends NetworkConfigs>(props: IotaClientProviderProps<T>) {\n const { onNetworkChange, network, children } = props;\n const networks = (props.networks ?? DEFAULT_NETWORKS) as T;\n const createClient =\n (props.createClient as typeof DEFAULT_CREATE_CLIENT) ?? DEFAULT_CREATE_CLIENT;\n\n const [selectedNetwork, setSelectedNetwork] = useState<keyof T & string>(\n props.network ?? props.defaultNetwork ?? (Object.keys(networks)[0] as keyof T & string),\n );\n\n const currentNetwork = props.network ?? selectedNetwork;\n\n const client = useMemo(() => {\n return createClient(currentNetwork, networks[currentNetwork]);\n }, [createClient, currentNetwork, networks]);\n\n const ctx = useMemo((): IotaClientProviderContext => {\n return {\n client,\n networks,\n network: currentNetwork,\n config:\n networks[currentNetwork] instanceof IotaClient\n ? null\n : (networks[currentNetwork] as IotaClientOptions),\n selectNetwork: (newNetwork) => {\n if (currentNetwork === newNetwork) {\n return;\n }\n\n if (!network && newNetwork !== selectedNetwork) {\n setSelectedNetwork(newNetwork);\n }\n\n onNetworkChange?.(newNetwork);\n },\n };\n }, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);\n\n return <IotaClientContext.Provider value={ctx}>{children}</IotaClientContext.Provider>;\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport { Ed25519Keypair } from '@iota/iota-sdk/keypairs/ed25519';\nimport { Transaction } from '@iota/iota-sdk/transactions';\nimport { toB64 } from '@iota/iota-sdk/utils';\nimport type {\n StandardConnectFeature,\n StandardConnectMethod,\n StandardEventsFeature,\n StandardEventsOnMethod,\n IotaFeatures,\n IotaSignAndExecuteTransactionMethod,\n IotaSignPersonalMessageMethod,\n IotaSignTransactionMethod,\n Wallet,\n} from '@iota/wallet-standard';\nimport { getWallets, ReadonlyWalletAccount, SUPPORTED_CHAINS } from '@iota/wallet-standard';\nimport { useEffect } from 'react';\n\nimport { useIotaClient } from '../useIotaClient.js';\n\nconst WALLET_NAME = 'Unsafe Burner Wallet';\n\nexport function useUnsafeBurnerWallet(enabled: boolean) {\n const iotaClient = useIotaClient();\n\n useEffect(() => {\n if (!enabled) {\n return;\n }\n const unregister = registerUnsafeBurnerWallet(iotaClient);\n return unregister;\n }, [enabled, iotaClient]);\n}\n\nfunction registerUnsafeBurnerWallet(iotaClient: IotaClient) {\n const walletsApi = getWallets();\n const registeredWallets = walletsApi.get();\n\n if (registeredWallets.find((wallet) => wallet.name === WALLET_NAME)) {\n console.warn(\n 'registerUnsafeBurnerWallet: Unsafe Burner Wallet already registered, skipping duplicate registration.',\n );\n return;\n }\n\n console.warn(\n 'Your application is currently using the unsafe burner wallet. Make sure that this wallet is disabled in production.',\n );\n\n const keypair = new Ed25519Keypair();\n const account = new ReadonlyWalletAccount({\n address: keypair.getPublicKey().toIotaAddress(),\n publicKey: keypair.getPublicKey().toIotaBytes(),\n chains: ['iota:unknown'],\n features: ['iota:signTransaction', 'iota:signAndExecuteTransaction'],\n });\n\n class UnsafeBurnerWallet implements Wallet {\n get version() {\n return '1.0.0' as const;\n }\n\n get name() {\n return WALLET_NAME;\n }\n\n get icon() {\n return 'data:image/png;base64,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' as const;\n }\n\n // Return the IOTA chains that your wallet supports.\n get chains() {\n return SUPPORTED_CHAINS;\n }\n\n get accounts() {\n return [account];\n }\n\n get features(): StandardConnectFeature & StandardEventsFeature & IotaFeatures {\n return {\n 'standard:connect': {\n version: '1.0.0',\n connect: this.#connect,\n },\n 'standard:events': {\n version: '1.0.0',\n on: this.#on,\n },\n 'iota:signPersonalMessage': {\n version: '1.0.0',\n signPersonalMessage: this.#signPersonalMessage,\n },\n 'iota:signTransaction': {\n version: '2.0.0',\n signTransaction: this.#signTransaction,\n },\n 'iota:signAndExecuteTransaction': {\n version: '2.0.0',\n signAndExecuteTransaction: this.#signAndExecuteTransaction,\n },\n };\n }\n\n #on: StandardEventsOnMethod = () => {\n return () => {};\n };\n\n #connect: StandardConnectMethod = async () => {\n return { accounts: this.accounts };\n };\n\n #signPersonalMessage: IotaSignPersonalMessageMethod = async (messageInput) => {\n const { bytes, signature } = await keypair.signPersonalMessage(messageInput.message);\n return { bytes, signature };\n };\n\n #signTransaction: IotaSignTransactionMethod = async (transactionInput) => {\n const { bytes, signature } = await Transaction.from(\n await transactionInput.transaction.toJSON(),\n ).sign({\n client: iotaClient,\n signer: keypair,\n });\n\n transactionInput.signal?.throwIfAborted();\n\n return {\n bytes,\n signature: signature,\n };\n };\n\n #signAndExecuteTransaction: IotaSignAndExecuteTransactionMethod = async (\n transactionInput,\n ) => {\n const { bytes, signature } = await Transaction.from(\n await transactionInput.transaction.toJSON(),\n ).sign({\n client: iotaClient,\n signer: keypair,\n });\n\n transactionInput.signal?.throwIfAborted();\n\n const { rawEffects, digest } = await iotaClient.executeTransactionBlock({\n signature,\n transactionBlock: bytes,\n options: {\n showRawEffects: true,\n },\n });\n\n return {\n bytes,\n signature,\n digest,\n effects: toB64(new Uint8Array(rawEffects!)),\n };\n };\n }\n\n return walletsApi.register(new UnsafeBurnerWallet());\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport { useContext } from 'react';\n\nimport { IotaClientContext } from '../components/IotaClientProvider.js';\n\nexport function useIotaClientContext() {\n const iotaClient = useContext(IotaClientContext);\n\n if (!iotaClient) {\n throw new Error(\n 'Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider',\n );\n }\n\n return iotaClient;\n}\n\nexport function useIotaClient(): IotaClient {\n return useIotaClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getNetwork, isIotaClient, Network, IotaClient } from '@iota/iota-sdk/client';\nimport type { IotaClientOptions } from '@iota/iota-sdk/client';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | IotaClient = NetworkConfig | IotaClient> = Record<\n string,\n T\n>;\n\nexport interface IotaClientProviderContext {\n client: IotaClient;\n networks: NetworkConfigs;\n network: string;\n config: NetworkConfig | null;\n selectNetwork: (network: string) => void;\n}\n\nexport const IotaClientContext = createContext<IotaClientProviderContext | null>(null);\n\nexport type IotaClientProviderProps<T extends NetworkConfigs> = {\n createClient?: (name: keyof T, config: T[keyof T]) => IotaClient;\n children: React.ReactNode;\n networks?: T;\n onNetworkChange?: (network: keyof T & string) => void;\n} & (\n | {\n defaultNetwork?: keyof T & string;\n network?: never;\n }\n | {\n defaultNetwork?: never;\n network?: keyof T & string;\n }\n);\n\nconst DEFAULT_NETWORKS = {\n localnet: { url: getNetwork(Network.Local).url },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n _name: string,\n config: NetworkConfig | IotaClient,\n) {\n if (isIotaClient(config)) {\n return config;\n }\n\n return new IotaClient(config);\n};\n\nexport function IotaClientProvider<T extends NetworkConfigs>(props: IotaClientProviderProps<T>) {\n const { onNetworkChange, network, children } = props;\n const networks = (props.networks ?? DEFAULT_NETWORKS) as T;\n const createClient =\n (props.createClient as typeof DEFAULT_CREATE_CLIENT) ?? DEFAULT_CREATE_CLIENT;\n\n const [selectedNetwork, setSelectedNetwork] = useState<keyof T & string>(\n props.network ?? props.defaultNetwork ?? (Object.keys(networks)[0] as keyof T & string),\n );\n\n const currentNetwork = props.network ?? selectedNetwork;\n\n const client = useMemo(() => {\n return createClient(currentNetwork, networks[currentNetwork]);\n }, [createClient, currentNetwork, networks]);\n\n const ctx = useMemo((): IotaClientProviderContext => {\n return {\n client,\n networks,\n network: currentNetwork,\n config:\n networks[currentNetwork] instanceof IotaClient\n ? null\n : (networks[currentNetwork] as IotaClientOptions),\n selectNetwork: (newNetwork) => {\n if (currentNetwork === newNetwork) {\n return;\n }\n\n if (!network && newNetwork !== selectedNetwork) {\n setSelectedNetwork(newNetwork);\n }\n\n onNetworkChange?.(newNetwork);\n },\n };\n }, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);\n\n return <IotaClientContext.Provider value={ctx}>{children}</IotaClientContext.Provider>;\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_react", "import_react"]
7
7
  }
@@ -48,6 +48,7 @@ function useWalletStore(selector) {
48
48
  function useCurrentWallet() {
49
49
  const currentWallet = useWalletStore((state) => state.currentWallet);
50
50
  const connectionStatus = useWalletStore((state) => state.connectionStatus);
51
+ const supportedIntents = useWalletStore((state) => state.supportedIntents);
51
52
  switch (connectionStatus) {
52
53
  case "connecting":
53
54
  return {
@@ -55,7 +56,8 @@ function useCurrentWallet() {
55
56
  currentWallet: null,
56
57
  isDisconnected: false,
57
58
  isConnecting: true,
58
- isConnected: false
59
+ isConnected: false,
60
+ supportedIntents: []
59
61
  };
60
62
  case "disconnected":
61
63
  return {
@@ -63,7 +65,8 @@ function useCurrentWallet() {
63
65
  currentWallet: null,
64
66
  isDisconnected: true,
65
67
  isConnecting: false,
66
- isConnected: false
68
+ isConnected: false,
69
+ supportedIntents: []
67
70
  };
68
71
  case "connected": {
69
72
  return {
@@ -71,7 +74,8 @@ function useCurrentWallet() {
71
74
  currentWallet,
72
75
  isDisconnected: false,
73
76
  isConnecting: false,
74
- isConnected: true
77
+ isConnected: true,
78
+ supportedIntents
75
79
  };
76
80
  }
77
81
  }