@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
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/components/connect-modal/views/WalletConnect.tsx", "../../../../../src/utils/walletUtils.ts", "../../../../../src/hooks/wallet/useConnectWallet.ts", "../../../../../src/constants/walletMutationKeys.ts", "../../../../../src/hooks/wallet/useWalletStore.ts", "../../../../../src/contexts/walletContext.ts", "../../../../../src/components/connect-modal/wallet-list/WalletList.css.ts", "../../../../../src/components/connect-modal/wallet-list/WalletListItem.tsx", "../../../../../src/components/ui/Heading.tsx", "../../../../../src/components/ui/Heading.css.ts", "../../../../../src/components/connect-modal/wallet-list/WalletListItem.css.ts", "../../../../../src/components/icons/ArrowRightIcon.tsx", "../../../../../src/components/connect-modal/wallet-list/WalletList.tsx", "../../../../../src/components/connect-modal/views/WalletConnect.css.ts", "../../../../../src/components/ui/Button.tsx", "../../../../../src/components/ui/Button.css.ts"],
4
- "sourcesContent": ["// Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletWithRequiredFeatures } from '@iota/wallet-standard';\nimport { useState } from 'react';\nimport { getWalletUniqueIdentifier } from '../../../utils/walletUtils.js';\nimport { useConnectWallet } from '../../../hooks/wallet/useConnectWallet.js';\nimport { WalletList } from '../wallet-list/WalletList.js';\nimport * as styles from './WalletConnect.css.js';\nimport { Button } from '../../ui/Button.js';\n\ninterface WalletConnectListViewProps {\n wallets: WalletWithRequiredFeatures[];\n onOpenChange: (isOpen: boolean) => void;\n}\nexport function WalletConnectListView({ wallets, onOpenChange }: WalletConnectListViewProps) {\n const [selectedWallet, setSelectedWallet] = useState<WalletWithRequiredFeatures>();\n const { mutate, isError } = useConnectWallet();\n function handleSelectWallet(wallet: WalletWithRequiredFeatures) {\n if (getWalletUniqueIdentifier(selectedWallet) !== getWalletUniqueIdentifier(wallet)) {\n setSelectedWallet(wallet);\n connectWallet(wallet);\n }\n }\n function resetSelection() {\n setSelectedWallet(undefined);\n }\n\n function handleOpenChange(open: boolean) {\n if (!open) {\n resetSelection();\n }\n onOpenChange(open);\n }\n\n function connectWallet(wallet: WalletWithRequiredFeatures) {\n mutate(\n { wallet },\n {\n onSuccess: () => handleOpenChange(false),\n },\n );\n }\n return (\n <>\n <div className={styles.walletConnectContainer}>\n <WalletList\n selectedWalletName={getWalletUniqueIdentifier(selectedWallet)}\n onSelect={handleSelectWallet}\n wallets={wallets}\n />\n </div>\n {selectedWallet && (\n <div className={styles.walletConnectFooter}>\n {isError ? (\n <div className={styles.errorContainer}>\n <p className={styles.errorMessage}>Connection failed</p>\n <Button\n size=\"md\"\n variant=\"outline\"\n onClick={() => connectWallet(selectedWallet)}\n >\n Retry\n </Button>\n </div>\n ) : (\n <div className={styles.successContainer}>\n <p className={styles.openingText}>Opening {selectedWallet.name}...</p>\n <div className={styles.separator} />\n <p className={styles.confirmText}>\n Please confirm the connection in your wallet\n </p>\n </div>\n )}\n </div>\n )}\n </>\n );\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { MinimallyRequiredFeatures, Wallet, WalletWithFeatures } from '@iota/wallet-standard';\nimport { getWallets, isWalletWithRequiredFeatureSet } from '@iota/wallet-standard';\n\nexport function getRegisteredWallets<AdditionalFeatures extends Wallet['features']>(\n preferredWallets: string[],\n requiredFeatures?: (keyof AdditionalFeatures)[],\n) {\n const walletsApi = getWallets();\n const wallets = walletsApi.get();\n\n const iotaWallets = wallets.filter(\n (wallet): wallet is WalletWithFeatures<MinimallyRequiredFeatures & AdditionalFeatures> =>\n isWalletWithRequiredFeatureSet(wallet, requiredFeatures),\n );\n\n return [\n // Preferred wallets, in order:\n ...(preferredWallets\n .map((name) => iotaWallets.find((wallet) => wallet.name === name))\n .filter(Boolean) as WalletWithFeatures<\n MinimallyRequiredFeatures & AdditionalFeatures\n >[]),\n\n // Wallets in default order:\n ...iotaWallets.filter((wallet) => !preferredWallets.includes(wallet.name)),\n ];\n}\n\nexport function getWalletUniqueIdentifier(wallet?: Wallet) {\n return wallet?.id ?? wallet?.name;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { isSupportedChain } from '@iota/wallet-standard';\nimport type {\n StandardConnectInput,\n StandardConnectOutput,\n WalletAccount,\n WalletWithRequiredFeatures,\n} from '@iota/wallet-standard';\nimport type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport { useWalletStore } from './useWalletStore.js';\n\ntype ConnectWalletArgs = {\n /** The wallet to connect to. */\n wallet: WalletWithRequiredFeatures;\n\n /** An optional account address to connect to. Defaults to the first authorized account. */\n accountAddress?: string;\n} & StandardConnectInput;\n\ntype ConnectWalletResult = StandardConnectOutput;\n\ntype UseConnectWalletMutationOptions = Omit<\n UseMutationOptions<ConnectWalletResult, Error, ConnectWalletArgs, unknown>,\n 'mutationFn'\n>;\n\n/**\n * Mutation hook for establishing a connection to a specific wallet.\n */\nexport function useConnectWallet({\n mutationKey,\n ...mutationOptions\n}: UseConnectWalletMutationOptions = {}): UseMutationResult<\n ConnectWalletResult,\n Error,\n ConnectWalletArgs,\n unknown\n> {\n const setWalletConnected = useWalletStore((state) => state.setWalletConnected);\n const setConnectionStatus = useWalletStore((state) => state.setConnectionStatus);\n\n return useMutation({\n mutationKey: walletMutationKeys.connectWallet(mutationKey),\n mutationFn: async ({ wallet, accountAddress, ...connectArgs }) => {\n try {\n setConnectionStatus('connecting');\n\n const connectResult =\n await wallet.features['standard:connect'].connect(connectArgs);\n const connectedIotaAccounts = connectResult.accounts.filter((account) =>\n account.chains.some(isSupportedChain),\n );\n const selectedAccount = getSelectedAccount(connectedIotaAccounts, accountAddress);\n\n setWalletConnected(wallet, connectedIotaAccounts, selectedAccount);\n\n return { accounts: connectedIotaAccounts };\n } catch (error) {\n setConnectionStatus('disconnected');\n throw error;\n }\n },\n ...mutationOptions,\n });\n}\n\nfunction getSelectedAccount(connectedAccounts: readonly WalletAccount[], accountAddress?: string) {\n if (connectedAccounts.length === 0) {\n return null;\n }\n\n if (accountAddress) {\n const selectedAccount = connectedAccounts.find(\n (account) => account.address === accountAddress,\n );\n return selectedAccount ?? connectedAccounts[0];\n }\n\n return connectedAccounts[0];\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { MutationKey } from '@tanstack/react-query';\n\nexport const walletMutationKeys = {\n all: { baseScope: 'wallet' },\n connectWallet: formMutationKeyFn('connect-wallet'),\n autoconnectWallet: formMutationKeyFn('autoconnect-wallet'),\n disconnectWallet: formMutationKeyFn('disconnect-wallet'),\n signPersonalMessage: formMutationKeyFn('sign-personal-message'),\n 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\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", "import 'src/components/connect-modal/wallet-list/WalletList.css.ts.vanilla.css?source=LldhbGxldExpc3RfY29udGFpbmVyX18xdGtkZWd3MCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogdmFyKC0tZGFwcC1raXQtc3BhY2luZy14c21hbGwpOwogIGhlaWdodDogMTAwJTsKICB3aWR0aDogMTAwJTsKICBtYXgtaGVpZ2h0OiAzMzBweDsKfQ==';\nexport var container = 'WalletList_container__1tkdegw0';", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { clsx } from 'clsx';\nimport type { ReactNode } from 'react';\nimport { Heading } from '../../ui/Heading.js';\nimport * as styles from './WalletListItem.css.js';\nimport { ArrowRightIcon } from '../../icons/ArrowRightIcon.js';\n\ntype WalletListItemProps = {\n name: string;\n icon: ReactNode;\n isSelected?: boolean;\n onClick: () => void;\n};\n\nexport function WalletListItem({ name, icon, onClick, isSelected = false }: WalletListItemProps) {\n return (\n <li className={styles.container}>\n <button\n className={clsx(styles.walletItem, { [styles.selectedWalletItem]: isSelected })}\n type=\"button\"\n onClick={onClick}\n >\n <div className={clsx(styles.walletName)}>\n {typeof icon === 'string' ? (\n <img className={styles.walletIcon} src={icon} alt={`${name} logo`} />\n ) : (\n icon\n )}\n <Heading size=\"md\" truncate asChild>\n <div>{name}</div>\n </Heading>\n </div>\n <ArrowRightIcon />\n </button>\n </li>\n );\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Slot } from '@radix-ui/react-slot';\nimport clsx from 'clsx';\nimport { forwardRef } from 'react';\n\nimport { headingVariants } from './Heading.css.js';\nimport type { HeadingVariants } from './Heading.css.js';\n\ntype HeadingAsChildProps = {\n asChild?: boolean;\n as?: never;\n};\n\ntype HeadingAsProps = {\n as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n asChild?: never;\n};\n\ntype HeadingProps = (HeadingAsChildProps | HeadingAsProps) &\n React.HTMLAttributes<HTMLHeadingElement> &\n HeadingVariants;\n\nconst Heading = forwardRef<HTMLHeadingElement, HeadingProps>(\n (\n {\n children,\n className,\n asChild = false,\n as: Tag = 'h1',\n size,\n weight,\n truncate,\n ...headingProps\n },\n forwardedRef,\n ) => {\n return (\n <Slot\n {...headingProps}\n ref={forwardedRef}\n className={clsx(headingVariants({ size, weight, truncate }), className)}\n >\n {asChild ? children : <Tag>{children}</Tag>}\n </Slot>\n );\n },\n);\nHeading.displayName = 'Heading';\n\nexport { Heading };\n", "import 'src/components/ui/Heading.css.ts.vanilla.css?source=LkhlYWRpbmdfaGVhZGluZ1ZhcmlhbnRzX3NpemVfc21fXzEyYjVsOGkxIHsKICBmb250LXNpemU6IHZhcigtLWRhcHAta2l0LWZvbnRTaXplcy1zbWFsbCk7Cn0KLkhlYWRpbmdfaGVhZGluZ1ZhcmlhbnRzX3NpemVfbWRfXzEyYjVsOGkyIHsKICBmb250LXNpemU6IHZhcigtLWRhcHAta2l0LWZvbnRTaXplcy1tZWRpdW0pOwp9Ci5IZWFkaW5nX2hlYWRpbmdWYXJpYW50c19zaXplX2xnX18xMmI1bDhpMyB7CiAgZm9udC1zaXplOiB2YXIoLS1kYXBwLWtpdC1mb250U2l6ZXMtbGFyZ2UpOwp9Ci5IZWFkaW5nX2hlYWRpbmdWYXJpYW50c19zaXplX3hsX18xMmI1bDhpNCB7CiAgZm9udC1zaXplOiB2YXIoLS1kYXBwLWtpdC1mb250U2l6ZXMteGxhcmdlKTsKfQouSGVhZGluZ19oZWFkaW5nVmFyaWFudHNfd2VpZ2h0X25vcm1hbF9fMTJiNWw4aTUgewogIGZvbnQtd2VpZ2h0OiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1ub3JtYWwpOwp9Ci5IZWFkaW5nX2hlYWRpbmdWYXJpYW50c193ZWlnaHRfYm9sZF9fMTJiNWw4aTYgewogIGZvbnQtd2VpZ2h0OiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1ib2xkKTsKfQouSGVhZGluZ19oZWFkaW5nVmFyaWFudHNfdHJ1bmNhdGVfdHJ1ZV9fMTJiNWw4aTcgewogIG92ZXJmbG93OiBoaWRkZW47CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQ==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var headingVariants = _7a468({defaultClassName:'Heading__12b5l8i0',variantClassNames:{size:{sm:'Heading_headingVariants_size_sm__12b5l8i1',md:'Heading_headingVariants_size_md__12b5l8i2',lg:'Heading_headingVariants_size_lg__12b5l8i3',xl:'Heading_headingVariants_size_xl__12b5l8i4'},weight:{normal:'Heading_headingVariants_weight_normal__12b5l8i5',bold:'Heading_headingVariants_weight_bold__12b5l8i6'},truncate:{true:'Heading_headingVariants_truncate_true__12b5l8i7'}},defaultVariants:{size:'lg',weight:'bold'},compoundVariants:[]});", "import 'src/components/connect-modal/wallet-list/WalletListItem.css.ts.vanilla.css?source=LldhbGxldExpc3RJdGVtX2NvbnRhaW5lcl9fMXZydmV6azAgewogIGRpc3BsYXk6IGZsZXg7CiAgd2lkdGg6IDEwMCU7Cn0KLldhbGxldExpc3RJdGVtX3dhbGxldEl0ZW1fXzF2cnZlemsxIHsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHdpZHRoOiAxMDAlOwogIGZsZXgtZ3JvdzogMTsKICBwYWRkaW5nOiB2YXIoLS1kYXBwLWtpdC1zcGFjaW5nLW1lZGl1bSk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZGFwcC1raXQtcmFkaWktbGFyZ2UpOwp9Ci5XYWxsZXRMaXN0SXRlbV93YWxsZXRJdGVtX18xdnJ2ZXprMTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFwcC1raXQtYmFja2dyb3VuZENvbG9ycy1wcmltYXJ5QnV0dG9uSG92ZXIpOwp9Ci5XYWxsZXRMaXN0SXRlbV9zZWxlY3RlZFdhbGxldEl0ZW1fXzF2cnZlemsyIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kYXBwLWtpdC1ib3JkZXJDb2xvcnMtb3V0bGluZUJ1dHRvbik7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZGFwcC1raXQtcmFkaWktbGFyZ2UpOwp9Ci5XYWxsZXRMaXN0SXRlbV93YWxsZXROYW1lX18xdnJ2ZXprMyB7CiAgZGlzcGxheTogZmxleDsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgZ2FwOiB2YXIoLS1kYXBwLWtpdC1zcGFjaW5nLXNtYWxsKTsKfQouV2FsbGV0TGlzdEl0ZW1fd2FsbGV0SWNvbl9fMXZydmV6azQgewogIHdpZHRoOiAyOHB4OwogIGhlaWdodDogMjhweDsKICBmbGV4LXNocmluazogMDsKICBvYmplY3QtZml0OiBjb3ZlcjsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1kYXBwLWtpdC1yYWRpaS1zbWFsbCk7Cn0=';\nexport var container = 'WalletListItem_container__1vrvezk0';\nexport var selectedWalletItem = 'WalletListItem_selectedWalletItem__1vrvezk2';\nexport var walletIcon = 'WalletListItem_walletIcon__1vrvezk4';\nexport var walletItem = 'WalletListItem_walletItem__1vrvezk1';\nexport var walletName = 'WalletListItem_walletName__1vrvezk3';", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentProps } from 'react';\n\nexport function ArrowRightIcon(props: ComponentProps<'svg'>) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n {...props}\n >\n <path\n fill=\"currentColor\"\n d=\"m10.707 6.293 5 5a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414-1.414L13.586 12 9.293 7.707a1 1 0 0 1 1.414-1.414Z\"\n />\n </svg>\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 { WalletWithRequiredFeatures } from '@iota/wallet-standard';\nimport { getWalletUniqueIdentifier } from '../../../utils/walletUtils.js';\nimport * as styles from './WalletList.css.js';\nimport { WalletListItem } from './WalletListItem.js';\n\ninterface WalletListProps {\n selectedWalletName?: string;\n onSelect: (wallet: WalletWithRequiredFeatures) => void;\n wallets: WalletWithRequiredFeatures[];\n}\nexport function WalletList({ selectedWalletName, onSelect, wallets }: WalletListProps) {\n return (\n <ul className={styles.container}>\n {wallets.map((wallet) => (\n <WalletListItem\n key={getWalletUniqueIdentifier(wallet)}\n name={wallet.name}\n icon={wallet.icon}\n isSelected={getWalletUniqueIdentifier(wallet) === selectedWalletName}\n onClick={() => onSelect(wallet)}\n />\n ))}\n </ul>\n );\n}\n", "import 'src/components/connect-modal/views/WalletConnect.css.ts.vanilla.css?source=#H4sIAAAAAAAAA7WTTUsDMRCG7/0VuQj2kFKtH7A9Vrz1pOCxpMnsNpqdCcnEbSv977Ir/dxFquIpzAfzPvMOGbwo54AnhAiaZ9VhNCFkZRHCbJZoSKM4FB89IRZgiwVn4mo4vBj3hKis4cU+pHcIuaMqEyoxjXub3uAbjUci3gtcNQLGRu/UKhO5g2U9sn6lsQE0W8JMaHKpxLpSKJ+JdxUupTTKe/lmWUavtMVCxlI51+8AgBAotJa77tY+2e4UJVBVp5WzBUrLUMZMaECGUKdfU2Sbr6QmZEDORM0Gcg5cAfxxgSnEqArY4o8a/JyQZbRraA2tK092DXE3VtQ+Umh1Ntko52RWDwoLCF0IMWkNMbZcvPnpBY+ca9oiq8C/9oY8oMXiGZa8Zbr9D2umicF0AWjC3IbyEODubIASjE3leQSdZwGvgmLa3eP++Mv65hpzpd+KQAmN7FbZN0y+9Ewgb6jCKWB62mr0W/9j8wkCAXcTTwQAAA==';\nexport var confirmText = 'WalletConnect_confirmText__uo0o3s6';\nexport var errorContainer = 'WalletConnect_errorContainer__uo0o3s2';\nexport var errorMessage = 'WalletConnect_errorMessage__uo0o3s3';\nexport var openingText = 'WalletConnect_openingText__uo0o3s5';\nexport var separator = 'WalletConnect_separator__uo0o3s7';\nexport var successContainer = 'WalletConnect_successContainer__uo0o3s4';\nexport var walletConnectContainer = 'WalletConnect_walletConnectContainer__uo0o3s0';\nexport var walletConnectFooter = 'WalletConnect_walletConnectFooter__uo0o3s1';", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Slot } from '@radix-ui/react-slot';\nimport clsx from 'clsx';\nimport type { ButtonHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\n\nimport { buttonVariants } from './Button.css.js';\nimport type { ButtonVariants } from './Button.css.js';\n\ntype ButtonProps = {\n asChild?: boolean;\n} & ButtonHTMLAttributes<HTMLButtonElement> &\n ButtonVariants;\n\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, forwardedRef) => {\n const Comp = asChild ? Slot : 'button';\n return (\n <Comp\n {...props}\n className={clsx(buttonVariants({ variant, size }), className)}\n ref={forwardedRef}\n />\n );\n },\n);\nButton.displayName = 'Button';\n\nexport { Button };\n", "import 'src/components/ui/Button.css.ts.vanilla.css?source=#H4sIAAAAAAAAA7WSwVLCMBCG732KPcohDCA6TrjpxSfQYydt0rKQJplkC60O7+6ktCMKog56Smb/ZP9v/2R8XxNZk2bd8iQ8CkMhTXPKmpmZwGsCIDE4LVoOaDQaxQqtmkUCIDSWhiGpKnDIlSHlY3lVB8KiZbk1pAwdSoU1xLYKyyVx2Ah/xZgUzrE1EovacycFVimJdTVaJLtkfB6QSwwi00p2pNaJHKnlMBnfnLm82W9S57ESvh2aTbsemcjXpbe1kSy32voj0PcDD1EPrG+z9xrFOU9fzE8f/zUmX9qN8n8B+xgb/QTB1hSffkCY7c2tl8qzLUpacpi67lP0xUCtVhyC1SgPyl9AdmIP2Fv9W5qfR7kozQ+w36YZ8EWllRysrw9T9EJiHY4cYxlZUWvdReGElGhKDneugeltjPy8my4Ht/kFbtEJZnPXwCLZvQFzXfF3MwQAAA==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var buttonVariants = _7a468({defaultClassName:'Button_buttonVariants__ctbx2n0',variantClassNames:{variant:{primary:'Button_buttonVariants_variant_primary__ctbx2n1',outline:'Button_buttonVariants_variant_outline__ctbx2n2'},size:{md:'Button_buttonVariants_size_md__ctbx2n3',lg:'Button_buttonVariants_size_lg__ctbx2n4'}},defaultVariants:{variant:'primary',size:'md'},compoundVariants:[]});"],
5
- "mappings": "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",
6
- "names": ["clsx", "container", "jsx", "jsx", "container", "clsx", "jsx", "Slot", "clsx", "forwardRef", "_7a468", "jsx", "forwardRef", "Slot", "clsx", "jsx", "jsxs"]
7
- }
@@ -1,15 +0,0 @@
1
- import type { IotaSignAndExecuteTransactionBlockInput, IotaSignAndExecuteTransactionBlockOutput } from '@iota/wallet-standard';
2
- import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
3
- import { WalletFeatureNotSupportedError, WalletNoAccountSelectedError, WalletNotConnectedError } from '../../errors/walletErrors.js';
4
- import type { PartialBy } from '../../types/utilityTypes.js';
5
- type UseSignAndExecuteTransactionBlockArgs = PartialBy<IotaSignAndExecuteTransactionBlockInput, 'account' | 'chain'>;
6
- type UseSignAndExecuteTransactionBlockResult = IotaSignAndExecuteTransactionBlockOutput;
7
- type UseSignAndExecuteTransactionBlockError = WalletFeatureNotSupportedError | WalletNoAccountSelectedError | WalletNotConnectedError | Error;
8
- type UseSignAndExecuteTransactionBlockMutationOptions = Omit<UseMutationOptions<UseSignAndExecuteTransactionBlockResult, UseSignAndExecuteTransactionBlockError, UseSignAndExecuteTransactionBlockArgs, unknown>, 'mutationFn'> & {
9
- executeFromWallet?: boolean;
10
- };
11
- /**
12
- * Mutation hook for prompting the user to sign and execute a transaction block.
13
- */
14
- export declare function useSignAndExecuteTransactionBlock({ mutationKey, executeFromWallet, ...mutationOptions }?: UseSignAndExecuteTransactionBlockMutationOptions): UseMutationResult<UseSignAndExecuteTransactionBlockResult, UseSignAndExecuteTransactionBlockError, UseSignAndExecuteTransactionBlockArgs>;
15
- export {};
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/hooks/wallet/useSignAndExecuteTransactionBlock.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"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n IotaSignAndExecuteTransactionBlockInput,\n IotaSignAndExecuteTransactionBlockOutput,\n} from '@iota/wallet-standard';\nimport type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport {\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';\n\ntype UseSignAndExecuteTransactionBlockArgs = PartialBy<\n IotaSignAndExecuteTransactionBlockInput,\n 'account' | 'chain'\n>;\n\ntype UseSignAndExecuteTransactionBlockResult = IotaSignAndExecuteTransactionBlockOutput;\n\ntype UseSignAndExecuteTransactionBlockError =\n | WalletFeatureNotSupportedError\n | WalletNoAccountSelectedError\n | WalletNotConnectedError\n | Error;\n\ntype UseSignAndExecuteTransactionBlockMutationOptions = Omit<\n UseMutationOptions<\n UseSignAndExecuteTransactionBlockResult,\n UseSignAndExecuteTransactionBlockError,\n UseSignAndExecuteTransactionBlockArgs,\n unknown\n >,\n 'mutationFn'\n> & {\n executeFromWallet?: boolean;\n};\n\n/**\n * Mutation hook for prompting the user to sign and execute a transaction block.\n */\nexport function useSignAndExecuteTransactionBlock({\n mutationKey,\n executeFromWallet,\n ...mutationOptions\n}: UseSignAndExecuteTransactionBlockMutationOptions = {}): UseMutationResult<\n UseSignAndExecuteTransactionBlockResult,\n UseSignAndExecuteTransactionBlockError,\n UseSignAndExecuteTransactionBlockArgs\n> {\n const { currentWallet } = useCurrentWallet();\n const currentAccount = useCurrentAccount();\n const client = useIotaClient();\n\n return useMutation({\n mutationKey: walletMutationKeys.signAndExecuteTransactionBlock(mutationKey),\n mutationFn: async ({ requestType, options, ...signTransactionBlockArgs }) => {\n if (!currentWallet) {\n throw new WalletNotConnectedError('No wallet is connected.');\n }\n\n const signerAccount = signTransactionBlockArgs.account ?? currentAccount;\n if (!signerAccount) {\n throw new WalletNoAccountSelectedError(\n 'No wallet account is selected to sign and execute the transaction block with.',\n );\n }\n\n if (executeFromWallet) {\n const walletFeature = currentWallet.features['iota:signAndExecuteTransactionBlock'];\n if (!walletFeature) {\n throw new WalletFeatureNotSupportedError(\n \"This wallet doesn't support the `signAndExecuteTransactionBlock` feature.\",\n );\n }\n\n return walletFeature.signAndExecuteTransactionBlock({\n ...signTransactionBlockArgs,\n account: signerAccount,\n chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0],\n requestType,\n options,\n });\n }\n\n const walletFeature = currentWallet.features['iota:signTransactionBlock'];\n if (!walletFeature) {\n throw new WalletFeatureNotSupportedError(\n \"This wallet doesn't support the `signTransactionBlock` feature.\",\n );\n }\n\n const { signature, transactionBlockBytes } = await walletFeature.signTransactionBlock({\n ...signTransactionBlockArgs,\n account: signerAccount,\n chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0],\n });\n\n return client.executeTransactionBlock({\n transactionBlock: transactionBlockBytes,\n signature,\n requestType,\n options,\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 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 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\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": "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",
6
- "names": ["useContext", "createContext", "useContext", "walletFeature"]
7
- }
@@ -1,13 +0,0 @@
1
- import type { IotaSignTransactionBlockInput, IotaSignTransactionBlockOutput } from '@iota/wallet-standard';
2
- import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
3
- import { WalletFeatureNotSupportedError, WalletNoAccountSelectedError, WalletNotConnectedError } from '../..//errors/walletErrors.js';
4
- import type { PartialBy } from '../../types/utilityTypes.js';
5
- type UseSignTransactionBlockArgs = PartialBy<IotaSignTransactionBlockInput, 'account' | 'chain'>;
6
- type UseSignTransactionBlockResult = IotaSignTransactionBlockOutput;
7
- type UseSignTransactionBlockError = WalletFeatureNotSupportedError | WalletNoAccountSelectedError | WalletNotConnectedError | Error;
8
- type UseSignTransactionBlockMutationOptions = Omit<UseMutationOptions<UseSignTransactionBlockResult, UseSignTransactionBlockError, UseSignTransactionBlockArgs, unknown>, 'mutationFn'>;
9
- /**
10
- * Mutation hook for prompting the user to sign a transaction block.
11
- */
12
- export declare function useSignTransactionBlock({ mutationKey, ...mutationOptions }?: UseSignTransactionBlockMutationOptions): UseMutationResult<UseSignTransactionBlockResult, UseSignTransactionBlockError, UseSignTransactionBlockArgs>;
13
- export {};
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/hooks/wallet/useSignTransactionBlock.ts", "../../../../src/errors/walletErrors.ts", "../../../../src/constants/walletMutationKeys.ts", "../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts", "../../../../src/hooks/wallet/useCurrentAccount.ts", "../../../../src/hooks/wallet/useCurrentWallet.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n IotaSignTransactionBlockInput,\n IotaSignTransactionBlockOutput,\n} from '@iota/wallet-standard';\nimport type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport {\n WalletFeatureNotSupportedError,\n WalletNoAccountSelectedError,\n WalletNotConnectedError,\n} from '../..//errors/walletErrors.js';\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport type { PartialBy } from '../../types/utilityTypes.js';\nimport { useCurrentAccount } from './useCurrentAccount.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\n\ntype UseSignTransactionBlockArgs = PartialBy<IotaSignTransactionBlockInput, 'account' | 'chain'>;\n\ntype UseSignTransactionBlockResult = IotaSignTransactionBlockOutput;\n\ntype UseSignTransactionBlockError =\n | WalletFeatureNotSupportedError\n | WalletNoAccountSelectedError\n | WalletNotConnectedError\n | Error;\n\ntype UseSignTransactionBlockMutationOptions = Omit<\n UseMutationOptions<\n UseSignTransactionBlockResult,\n UseSignTransactionBlockError,\n UseSignTransactionBlockArgs,\n unknown\n >,\n 'mutationFn'\n>;\n\n/**\n * Mutation hook for prompting the user to sign a transaction block.\n */\nexport function useSignTransactionBlock({\n mutationKey,\n ...mutationOptions\n}: UseSignTransactionBlockMutationOptions = {}): UseMutationResult<\n UseSignTransactionBlockResult,\n UseSignTransactionBlockError,\n UseSignTransactionBlockArgs\n> {\n const { currentWallet } = useCurrentWallet();\n const currentAccount = useCurrentAccount();\n\n return useMutation({\n mutationKey: walletMutationKeys.signTransactionBlock(mutationKey),\n mutationFn: async (signTransactionBlockArgs) => {\n if (!currentWallet) {\n throw new WalletNotConnectedError('No wallet is connected.');\n }\n\n const signerAccount = signTransactionBlockArgs.account ?? currentAccount;\n if (!signerAccount) {\n throw new WalletNoAccountSelectedError(\n 'No wallet account is selected to sign the transaction block with.',\n );\n }\n\n const walletFeature = currentWallet.features['iota:signTransactionBlock'];\n if (!walletFeature) {\n throw new WalletFeatureNotSupportedError(\n \"This wallet doesn't support the `SignTransactionBlock` feature.\",\n );\n }\n\n return await walletFeature.signTransactionBlock({\n ...signTransactionBlockArgs,\n account: signerAccount,\n chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0],\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\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 { 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\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\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": ";AASA,SAAS,mBAAmB;;;ACFrB,IAAM,0BAAN,cAAsC,MAAM;AAAC;AAO7C,IAAM,+BAAN,cAA2C,MAAM;AAAC;AAKlD,IAAM,iCAAN,cAA6C,MAAM;AAAC;;;ACbpD,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;;;ACjBA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;;;ACDzB,SAAS,qBAAqB;AAIvB,IAAM,gBAAgB,cAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACrE,QAAM,QAAQ,WAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACR,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AACA,SAAO,SAAS,OAAO,QAAQ;AACnC;;;AEPO,SAAS,oBAA0C;AACtD,SAAO,eAAe,CAAC,UAAU,MAAM,cAAc;AACzD;;;ACJO,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;;;ANIO,SAAS,wBAAwB;AAAA,EACpC;AAAA,EACA,GAAG;AACP,IAA4C,CAAC,GAI3C;AACE,QAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,QAAM,iBAAiB,kBAAkB;AAEzC,SAAO,YAAY;AAAA,IACf,aAAa,mBAAmB,qBAAqB,WAAW;AAAA,IAChE,YAAY,OAAO,6BAA6B;AAC5C,UAAI,CAAC,eAAe;AAChB,cAAM,IAAI,wBAAwB,yBAAyB;AAAA,MAC/D;AAEA,YAAM,gBAAgB,yBAAyB,WAAW;AAC1D,UAAI,CAAC,eAAe;AAChB,cAAM,IAAI;AAAA,UACN;AAAA,QACJ;AAAA,MACJ;AAEA,YAAM,gBAAgB,cAAc,SAAS,2BAA2B;AACxE,UAAI,CAAC,eAAe;AAChB,cAAM,IAAI;AAAA,UACN;AAAA,QACJ;AAAA,MACJ;AAEA,aAAO,MAAM,cAAc,qBAAqB;AAAA,QAC5C,GAAG;AAAA,QACH,SAAS;AAAA,QACT,OAAO,yBAAyB,SAAS,cAAc,OAAO,CAAC;AAAA,MACnE,CAAC;AAAA,IACL;AAAA,IACA,GAAG;AAAA,EACP,CAAC;AACL;",
6
- "names": []
7
- }
@@ -1,55 +0,0 @@
1
- // Copyright (c) Mysten Labs, Inc.
2
- // Modifications Copyright (c) 2024 IOTA Stiftung
3
- // SPDX-License-Identifier: Apache-2.0
4
-
5
- import { style } from '@vanilla-extract/css';
6
- import { themeVars } from '../../../themes/themeContract.js';
7
-
8
- export const walletConnectContainer = style({
9
- height: '100%',
10
- width: '100%',
11
- overflow: 'auto',
12
- });
13
-
14
- export const walletConnectFooter = style({
15
- display: 'flex',
16
- flexDirection: 'column',
17
- gap: themeVars.spacing.small,
18
- });
19
-
20
- export const errorContainer = style({
21
- display: 'flex',
22
- width: '100%',
23
- flexDirection: 'row',
24
- alignItems: 'center',
25
- justifyContent: 'space-between',
26
- gap: themeVars.spacing.small,
27
- });
28
-
29
- export const errorMessage = style({
30
- fontSize: themeVars.fontSizes.small,
31
- color: themeVars.colors.bodyDanger,
32
- });
33
-
34
- export const successContainer = style({
35
- display: 'flex',
36
- flexDirection: 'column',
37
- alignItems: 'flex-start',
38
- gap: themeVars.spacing.small,
39
- });
40
-
41
- export const openingText = style({
42
- fontSize: themeVars.fontSizes.small,
43
- color: themeVars.colors.bodyMuted,
44
- });
45
-
46
- export const confirmText = style({
47
- fontSize: themeVars.fontSizes.medium,
48
- color: themeVars.colors.body,
49
- });
50
-
51
- export const separator = style({
52
- height: 1,
53
- backgroundColor: themeVars.backgroundColors.dropdownMenuSeparator,
54
- width: '100%',
55
- });
@@ -1,79 +0,0 @@
1
- // Copyright (c) 2024 IOTA Stiftung
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { WalletWithRequiredFeatures } from '@iota/wallet-standard';
5
- import { useState } from 'react';
6
- import { getWalletUniqueIdentifier } from '../../../utils/walletUtils.js';
7
- import { useConnectWallet } from '../../../hooks/wallet/useConnectWallet.js';
8
- import { WalletList } from '../wallet-list/WalletList.js';
9
- import * as styles from './WalletConnect.css.js';
10
- import { Button } from '../../ui/Button.js';
11
-
12
- interface WalletConnectListViewProps {
13
- wallets: WalletWithRequiredFeatures[];
14
- onOpenChange: (isOpen: boolean) => void;
15
- }
16
- export function WalletConnectListView({ wallets, onOpenChange }: WalletConnectListViewProps) {
17
- const [selectedWallet, setSelectedWallet] = useState<WalletWithRequiredFeatures>();
18
- const { mutate, isError } = useConnectWallet();
19
- function handleSelectWallet(wallet: WalletWithRequiredFeatures) {
20
- if (getWalletUniqueIdentifier(selectedWallet) !== getWalletUniqueIdentifier(wallet)) {
21
- setSelectedWallet(wallet);
22
- connectWallet(wallet);
23
- }
24
- }
25
- function resetSelection() {
26
- setSelectedWallet(undefined);
27
- }
28
-
29
- function handleOpenChange(open: boolean) {
30
- if (!open) {
31
- resetSelection();
32
- }
33
- onOpenChange(open);
34
- }
35
-
36
- function connectWallet(wallet: WalletWithRequiredFeatures) {
37
- mutate(
38
- { wallet },
39
- {
40
- onSuccess: () => handleOpenChange(false),
41
- },
42
- );
43
- }
44
- return (
45
- <>
46
- <div className={styles.walletConnectContainer}>
47
- <WalletList
48
- selectedWalletName={getWalletUniqueIdentifier(selectedWallet)}
49
- onSelect={handleSelectWallet}
50
- wallets={wallets}
51
- />
52
- </div>
53
- {selectedWallet && (
54
- <div className={styles.walletConnectFooter}>
55
- {isError ? (
56
- <div className={styles.errorContainer}>
57
- <p className={styles.errorMessage}>Connection failed</p>
58
- <Button
59
- size="md"
60
- variant="outline"
61
- onClick={() => connectWallet(selectedWallet)}
62
- >
63
- Retry
64
- </Button>
65
- </div>
66
- ) : (
67
- <div className={styles.successContainer}>
68
- <p className={styles.openingText}>Opening {selectedWallet.name}...</p>
69
- <div className={styles.separator} />
70
- <p className={styles.confirmText}>
71
- Please confirm the connection in your wallet
72
- </p>
73
- </div>
74
- )}
75
- </div>
76
- )}
77
- </>
78
- );
79
- }
@@ -1,117 +0,0 @@
1
- // Copyright (c) Mysten Labs, Inc.
2
- // Modifications Copyright (c) 2024 IOTA Stiftung
3
- // SPDX-License-Identifier: Apache-2.0
4
-
5
- import type {
6
- IotaSignAndExecuteTransactionBlockInput,
7
- IotaSignAndExecuteTransactionBlockOutput,
8
- } from '@iota/wallet-standard';
9
- import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
10
- import { useMutation } from '@tanstack/react-query';
11
-
12
- import { walletMutationKeys } from '../../constants/walletMutationKeys.js';
13
- import {
14
- WalletFeatureNotSupportedError,
15
- WalletNoAccountSelectedError,
16
- WalletNotConnectedError,
17
- } from '../../errors/walletErrors.js';
18
- import type { PartialBy } from '../../types/utilityTypes.js';
19
- import { useIotaClient } from '../useIotaClient.js';
20
- import { useCurrentAccount } from './useCurrentAccount.js';
21
- import { useCurrentWallet } from './useCurrentWallet.js';
22
-
23
- type UseSignAndExecuteTransactionBlockArgs = PartialBy<
24
- IotaSignAndExecuteTransactionBlockInput,
25
- 'account' | 'chain'
26
- >;
27
-
28
- type UseSignAndExecuteTransactionBlockResult = IotaSignAndExecuteTransactionBlockOutput;
29
-
30
- type UseSignAndExecuteTransactionBlockError =
31
- | WalletFeatureNotSupportedError
32
- | WalletNoAccountSelectedError
33
- | WalletNotConnectedError
34
- | Error;
35
-
36
- type UseSignAndExecuteTransactionBlockMutationOptions = Omit<
37
- UseMutationOptions<
38
- UseSignAndExecuteTransactionBlockResult,
39
- UseSignAndExecuteTransactionBlockError,
40
- UseSignAndExecuteTransactionBlockArgs,
41
- unknown
42
- >,
43
- 'mutationFn'
44
- > & {
45
- executeFromWallet?: boolean;
46
- };
47
-
48
- /**
49
- * Mutation hook for prompting the user to sign and execute a transaction block.
50
- */
51
- export function useSignAndExecuteTransactionBlock({
52
- mutationKey,
53
- executeFromWallet,
54
- ...mutationOptions
55
- }: UseSignAndExecuteTransactionBlockMutationOptions = {}): UseMutationResult<
56
- UseSignAndExecuteTransactionBlockResult,
57
- UseSignAndExecuteTransactionBlockError,
58
- UseSignAndExecuteTransactionBlockArgs
59
- > {
60
- const { currentWallet } = useCurrentWallet();
61
- const currentAccount = useCurrentAccount();
62
- const client = useIotaClient();
63
-
64
- return useMutation({
65
- mutationKey: walletMutationKeys.signAndExecuteTransactionBlock(mutationKey),
66
- mutationFn: async ({ requestType, options, ...signTransactionBlockArgs }) => {
67
- if (!currentWallet) {
68
- throw new WalletNotConnectedError('No wallet is connected.');
69
- }
70
-
71
- const signerAccount = signTransactionBlockArgs.account ?? currentAccount;
72
- if (!signerAccount) {
73
- throw new WalletNoAccountSelectedError(
74
- 'No wallet account is selected to sign and execute the transaction block with.',
75
- );
76
- }
77
-
78
- if (executeFromWallet) {
79
- const walletFeature = currentWallet.features['iota:signAndExecuteTransactionBlock'];
80
- if (!walletFeature) {
81
- throw new WalletFeatureNotSupportedError(
82
- "This wallet doesn't support the `signAndExecuteTransactionBlock` feature.",
83
- );
84
- }
85
-
86
- return walletFeature.signAndExecuteTransactionBlock({
87
- ...signTransactionBlockArgs,
88
- account: signerAccount,
89
- chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0],
90
- requestType,
91
- options,
92
- });
93
- }
94
-
95
- const walletFeature = currentWallet.features['iota:signTransactionBlock'];
96
- if (!walletFeature) {
97
- throw new WalletFeatureNotSupportedError(
98
- "This wallet doesn't support the `signTransactionBlock` feature.",
99
- );
100
- }
101
-
102
- const { signature, transactionBlockBytes } = await walletFeature.signTransactionBlock({
103
- ...signTransactionBlockArgs,
104
- account: signerAccount,
105
- chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0],
106
- });
107
-
108
- return client.executeTransactionBlock({
109
- transactionBlock: transactionBlockBytes,
110
- signature,
111
- requestType,
112
- options,
113
- });
114
- },
115
- ...mutationOptions,
116
- });
117
- }
@@ -1,85 +0,0 @@
1
- // Copyright (c) Mysten Labs, Inc.
2
- // Modifications Copyright (c) 2024 IOTA Stiftung
3
- // SPDX-License-Identifier: Apache-2.0
4
-
5
- import type {
6
- IotaSignTransactionBlockInput,
7
- IotaSignTransactionBlockOutput,
8
- } from '@iota/wallet-standard';
9
- import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
10
- import { useMutation } from '@tanstack/react-query';
11
-
12
- import {
13
- WalletFeatureNotSupportedError,
14
- WalletNoAccountSelectedError,
15
- WalletNotConnectedError,
16
- } from '../..//errors/walletErrors.js';
17
- import { walletMutationKeys } from '../../constants/walletMutationKeys.js';
18
- import type { PartialBy } from '../../types/utilityTypes.js';
19
- import { useCurrentAccount } from './useCurrentAccount.js';
20
- import { useCurrentWallet } from './useCurrentWallet.js';
21
-
22
- type UseSignTransactionBlockArgs = PartialBy<IotaSignTransactionBlockInput, 'account' | 'chain'>;
23
-
24
- type UseSignTransactionBlockResult = IotaSignTransactionBlockOutput;
25
-
26
- type UseSignTransactionBlockError =
27
- | WalletFeatureNotSupportedError
28
- | WalletNoAccountSelectedError
29
- | WalletNotConnectedError
30
- | Error;
31
-
32
- type UseSignTransactionBlockMutationOptions = Omit<
33
- UseMutationOptions<
34
- UseSignTransactionBlockResult,
35
- UseSignTransactionBlockError,
36
- UseSignTransactionBlockArgs,
37
- unknown
38
- >,
39
- 'mutationFn'
40
- >;
41
-
42
- /**
43
- * Mutation hook for prompting the user to sign a transaction block.
44
- */
45
- export function useSignTransactionBlock({
46
- mutationKey,
47
- ...mutationOptions
48
- }: UseSignTransactionBlockMutationOptions = {}): UseMutationResult<
49
- UseSignTransactionBlockResult,
50
- UseSignTransactionBlockError,
51
- UseSignTransactionBlockArgs
52
- > {
53
- const { currentWallet } = useCurrentWallet();
54
- const currentAccount = useCurrentAccount();
55
-
56
- return useMutation({
57
- mutationKey: walletMutationKeys.signTransactionBlock(mutationKey),
58
- mutationFn: async (signTransactionBlockArgs) => {
59
- if (!currentWallet) {
60
- throw new WalletNotConnectedError('No wallet is connected.');
61
- }
62
-
63
- const signerAccount = signTransactionBlockArgs.account ?? currentAccount;
64
- if (!signerAccount) {
65
- throw new WalletNoAccountSelectedError(
66
- 'No wallet account is selected to sign the transaction block with.',
67
- );
68
- }
69
-
70
- const walletFeature = currentWallet.features['iota:signTransactionBlock'];
71
- if (!walletFeature) {
72
- throw new WalletFeatureNotSupportedError(
73
- "This wallet doesn't support the `SignTransactionBlock` feature.",
74
- );
75
- }
76
-
77
- return await walletFeature.signTransactionBlock({
78
- ...signTransactionBlockArgs,
79
- account: signerAccount,
80
- chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0],
81
- });
82
- },
83
- ...mutationOptions,
84
- });
85
- }