@iota/dapp-kit 0.2.0 → 0.3.1

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 (460) hide show
  1. package/CHANGELOG.md +22 -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 +345 -664
  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/IotaClientProvider.js +1 -1
  20. package/dist/cjs/components/IotaClientProvider.js.map +2 -2
  21. package/dist/cjs/components/WalletProvider.d.ts +3 -3
  22. package/dist/cjs/components/WalletProvider.js +108 -153
  23. package/dist/cjs/components/WalletProvider.js.map +3 -3
  24. package/dist/cjs/components/connect-modal/ConnectModal.css +214 -172
  25. package/dist/cjs/components/connect-modal/ConnectModal.css.css +69 -32
  26. package/dist/cjs/components/connect-modal/ConnectModal.css.css.map +3 -3
  27. package/dist/cjs/components/connect-modal/ConnectModal.css.d.ts +5 -1
  28. package/dist/cjs/components/connect-modal/ConnectModal.css.js +15 -7
  29. package/dist/cjs/components/connect-modal/ConnectModal.css.js.map +2 -2
  30. package/dist/cjs/components/connect-modal/ConnectModal.css.map +3 -3
  31. package/dist/cjs/components/connect-modal/ConnectModal.js +412 -702
  32. package/dist/cjs/components/connect-modal/ConnectModal.js.map +4 -4
  33. package/dist/cjs/components/connect-modal/InfoSection.css +7 -11
  34. package/dist/cjs/components/connect-modal/InfoSection.css.css.map +1 -1
  35. package/dist/cjs/components/connect-modal/InfoSection.css.map +3 -3
  36. package/dist/cjs/components/connect-modal/InfoSection.js +1 -1
  37. package/dist/cjs/components/connect-modal/InfoSection.js.map +2 -2
  38. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css +145 -0
  39. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css +32 -0
  40. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css.map +7 -0
  41. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.d.ts +5 -0
  42. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.js +35 -0
  43. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.js.map +7 -0
  44. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.map +7 -0
  45. package/dist/cjs/components/connect-modal/views/ConnectionStatus.d.ts +8 -0
  46. package/dist/cjs/components/connect-modal/views/ConnectionStatus.js +173 -0
  47. package/dist/cjs/components/connect-modal/views/ConnectionStatus.js.map +7 -0
  48. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.css.map +1 -1
  49. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.map +1 -1
  50. package/dist/cjs/components/connect-modal/views/GetTheWallet.js +11 -384
  51. package/dist/cjs/components/connect-modal/views/GetTheWallet.js.map +2 -2
  52. package/dist/cjs/components/connect-modal/views/GettingStarted.css +144 -0
  53. package/dist/cjs/components/connect-modal/views/GettingStarted.css.css +23 -0
  54. package/dist/cjs/components/connect-modal/views/GettingStarted.css.css.map +7 -0
  55. package/dist/cjs/components/connect-modal/views/GettingStarted.css.d.ts +3 -0
  56. package/dist/cjs/components/connect-modal/views/GettingStarted.css.js +31 -0
  57. package/dist/cjs/components/connect-modal/views/GettingStarted.css.js.map +7 -0
  58. package/dist/cjs/components/connect-modal/views/GettingStarted.css.map +7 -0
  59. package/dist/cjs/components/connect-modal/views/GettingStarted.d.ts +1 -0
  60. package/dist/cjs/components/connect-modal/views/GettingStarted.js +172 -0
  61. package/dist/cjs/components/connect-modal/views/GettingStarted.js.map +7 -0
  62. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css +95 -0
  63. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css +17 -0
  64. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css.map +7 -0
  65. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.d.ts +2 -0
  66. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js +29 -0
  67. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js.map +7 -0
  68. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.map +7 -0
  69. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.d.ts +1 -0
  70. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js +135 -0
  71. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
  72. package/dist/cjs/components/connect-modal/views/index.css +115 -124
  73. package/dist/cjs/components/connect-modal/views/index.css.map +3 -3
  74. package/dist/cjs/components/connect-modal/views/index.d.ts +2 -1
  75. package/dist/cjs/components/connect-modal/views/index.js +135 -633
  76. package/dist/cjs/components/connect-modal/views/index.js.map +4 -4
  77. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css +10 -22
  78. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css +2 -5
  79. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css.map +3 -3
  80. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.js.map +1 -1
  81. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.map +3 -3
  82. package/dist/cjs/components/connect-modal/wallet-list/WalletList.d.ts +4 -4
  83. package/dist/cjs/components/connect-modal/wallet-list/WalletList.js +67 -38
  84. package/dist/cjs/components/connect-modal/wallet-list/WalletList.js.map +4 -4
  85. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css +8 -17
  86. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css +8 -17
  87. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css.map +3 -3
  88. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.d.ts +0 -1
  89. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js +2 -4
  90. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js.map +2 -2
  91. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.map +3 -3
  92. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js +5 -32
  93. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js.map +4 -4
  94. package/dist/cjs/components/icons/BackIcon.d.ts +2 -0
  95. package/dist/cjs/components/icons/BackIcon.js +36 -0
  96. package/dist/cjs/components/icons/BackIcon.js.map +7 -0
  97. package/dist/cjs/components/icons/IotaIcon.js +11 -384
  98. package/dist/cjs/components/icons/IotaIcon.js.map +2 -2
  99. package/dist/cjs/components/styling/InjectedThemeStyles.js +2 -0
  100. package/dist/cjs/components/styling/InjectedThemeStyles.js.map +2 -2
  101. package/dist/cjs/components/styling/StyleMarker.css +1 -16
  102. package/dist/cjs/components/styling/StyleMarker.css.css +1 -16
  103. package/dist/cjs/components/styling/StyleMarker.css.css.map +3 -3
  104. package/dist/cjs/components/styling/StyleMarker.css.map +3 -3
  105. package/dist/cjs/components/styling/StyleMarker.d.ts +0 -1
  106. package/dist/cjs/components/styling/StyleMarker.js +4 -4
  107. package/dist/cjs/components/styling/StyleMarker.js.map +3 -3
  108. package/dist/cjs/components/ui/Button.css.css.map +1 -1
  109. package/dist/cjs/components/ui/Button.css.map +1 -1
  110. package/dist/cjs/components/ui/Button.d.ts +1 -1
  111. package/dist/cjs/components/ui/Heading.css.css.map +1 -1
  112. package/dist/cjs/components/ui/Heading.css.map +1 -1
  113. package/dist/cjs/components/ui/Heading.d.ts +0 -1
  114. package/dist/cjs/components/ui/IconButton.css.css.map +1 -1
  115. package/dist/cjs/components/ui/IconButton.css.map +1 -1
  116. package/dist/cjs/components/ui/IconButton.d.ts +1 -1
  117. package/dist/cjs/components/ui/Text.css +7 -11
  118. package/dist/cjs/components/ui/Text.css.css +7 -11
  119. package/dist/cjs/components/ui/Text.css.css.map +3 -3
  120. package/dist/cjs/components/ui/Text.css.d.ts +0 -3
  121. package/dist/cjs/components/ui/Text.css.js +1 -1
  122. package/dist/cjs/components/ui/Text.css.js.map +2 -2
  123. package/dist/cjs/components/ui/Text.css.map +3 -3
  124. package/dist/cjs/components/ui/Text.d.ts +0 -1
  125. package/dist/cjs/components/ui/Text.js +1 -1
  126. package/dist/cjs/components/ui/Text.js.map +2 -2
  127. package/dist/cjs/constants/styleDataAttribute.js.map +1 -1
  128. package/dist/cjs/constants/walletDefaults.d.ts +2 -2
  129. package/dist/cjs/constants/walletDefaults.js +4 -5
  130. package/dist/cjs/constants/walletDefaults.js.map +2 -2
  131. package/dist/cjs/constants/walletMutationKeys.d.ts +3 -2
  132. package/dist/cjs/constants/walletMutationKeys.js +4 -3
  133. package/dist/cjs/constants/walletMutationKeys.js.map +2 -2
  134. package/dist/cjs/contexts/walletContext.d.ts +1 -2
  135. package/dist/cjs/hooks/networkConfig.js +1 -1
  136. package/dist/cjs/hooks/networkConfig.js.map +2 -2
  137. package/dist/cjs/hooks/useIotaClient.js +1 -1
  138. package/dist/cjs/hooks/useIotaClient.js.map +2 -2
  139. package/dist/cjs/hooks/useIotaClientInfiniteQuery.js +1 -1
  140. package/dist/cjs/hooks/useIotaClientInfiniteQuery.js.map +2 -2
  141. package/dist/cjs/hooks/useIotaClientMutation.js +1 -1
  142. package/dist/cjs/hooks/useIotaClientMutation.js.map +2 -2
  143. package/dist/cjs/hooks/useIotaClientQueries.js +1 -1
  144. package/dist/cjs/hooks/useIotaClientQueries.js.map +2 -2
  145. package/dist/cjs/hooks/useIotaClientQuery.js +4 -2
  146. package/dist/cjs/hooks/useIotaClientQuery.js.map +2 -2
  147. package/dist/cjs/hooks/wallet/useAutoConnectWallet.js +17 -7
  148. package/dist/cjs/hooks/wallet/useAutoConnectWallet.js.map +2 -2
  149. package/dist/cjs/hooks/wallet/useConnectWallet.js +10 -4
  150. package/dist/cjs/hooks/wallet/useConnectWallet.js.map +2 -2
  151. package/dist/cjs/hooks/wallet/useCurrentWallet.d.ts +3 -0
  152. package/dist/cjs/hooks/wallet/useCurrentWallet.js +7 -3
  153. package/dist/cjs/hooks/wallet/useCurrentWallet.js.map +2 -2
  154. package/dist/cjs/hooks/wallet/useDisconnectWallet.js +11 -6
  155. package/dist/cjs/hooks/wallet/useDisconnectWallet.js.map +2 -2
  156. package/dist/cjs/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
  157. package/dist/cjs/hooks/wallet/{useSignTransactionBlock.js → useReportTransactionEffects.js} +41 -37
  158. package/dist/cjs/hooks/wallet/useReportTransactionEffects.js.map +7 -0
  159. package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.d.ts +29 -0
  160. package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js +252 -0
  161. package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
  162. package/dist/cjs/hooks/wallet/useSignPersonalMessage.js +21 -27
  163. package/dist/cjs/hooks/wallet/useSignPersonalMessage.js.map +2 -2
  164. package/dist/cjs/hooks/wallet/useSignTransaction.d.ts +18 -0
  165. package/dist/cjs/hooks/wallet/{useSignAndExecuteTransactionBlock.js → useSignTransaction.js} +87 -47
  166. package/dist/cjs/hooks/wallet/useSignTransaction.js.map +7 -0
  167. package/dist/cjs/hooks/wallet/useSwitchAccount.js +11 -6
  168. package/dist/cjs/hooks/wallet/useSwitchAccount.js.map +2 -2
  169. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js +46 -34
  170. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js.map +2 -2
  171. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js +7 -3
  172. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js.map +2 -2
  173. package/dist/cjs/hooks/wallet/useWalletsChanged.d.ts +1 -1
  174. package/dist/cjs/hooks/wallet/useWalletsChanged.js +7 -6
  175. package/dist/cjs/hooks/wallet/useWalletsChanged.js.map +2 -2
  176. package/dist/cjs/index.css +232 -241
  177. package/dist/cjs/index.css.map +3 -3
  178. package/dist/cjs/index.d.ts +4 -3
  179. package/dist/cjs/index.js +818 -1038
  180. package/dist/cjs/index.js.map +4 -4
  181. package/dist/cjs/themes/lightTheme.js +19 -19
  182. package/dist/cjs/themes/lightTheme.js.map +1 -1
  183. package/dist/cjs/themes/themeContract.js.map +1 -1
  184. package/dist/cjs/types.d.ts +1 -1
  185. package/dist/cjs/types.js.map +1 -1
  186. package/dist/cjs/utils/assertUnreachable.js.map +1 -1
  187. package/dist/cjs/utils/walletUtils.d.ts +2 -2
  188. package/dist/cjs/utils/walletUtils.js +2 -2
  189. package/dist/cjs/utils/walletUtils.js.map +2 -2
  190. package/dist/cjs/walletStore.d.ts +3 -2
  191. package/dist/cjs/walletStore.js +8 -4
  192. package/dist/cjs/walletStore.js.map +2 -2
  193. package/dist/esm/components/AccountDropdownMenu.css +26 -54
  194. package/dist/esm/components/AccountDropdownMenu.css.css +18 -27
  195. package/dist/esm/components/AccountDropdownMenu.css.css.map +3 -3
  196. package/dist/esm/components/AccountDropdownMenu.css.d.ts +0 -1
  197. package/dist/esm/components/AccountDropdownMenu.css.js +4 -6
  198. package/dist/esm/components/AccountDropdownMenu.css.js.map +2 -2
  199. package/dist/esm/components/AccountDropdownMenu.css.map +3 -3
  200. package/dist/esm/components/AccountDropdownMenu.d.ts +3 -1
  201. package/dist/esm/components/AccountDropdownMenu.js +25 -21
  202. package/dist/esm/components/AccountDropdownMenu.js.map +3 -3
  203. package/dist/esm/components/ConnectButton.css +181 -190
  204. package/dist/esm/components/ConnectButton.css.map +3 -3
  205. package/dist/esm/components/ConnectButton.d.ts +5 -3
  206. package/dist/esm/components/ConnectButton.js +346 -665
  207. package/dist/esm/components/ConnectButton.js.map +4 -4
  208. package/dist/esm/components/IotaClientProvider.d.ts +0 -1
  209. package/dist/esm/components/IotaClientProvider.js +1 -1
  210. package/dist/esm/components/IotaClientProvider.js.map +2 -2
  211. package/dist/esm/components/WalletProvider.d.ts +3 -3
  212. package/dist/esm/components/WalletProvider.js +107 -152
  213. package/dist/esm/components/WalletProvider.js.map +3 -3
  214. package/dist/esm/components/connect-modal/ConnectModal.css +214 -172
  215. package/dist/esm/components/connect-modal/ConnectModal.css.css +69 -32
  216. package/dist/esm/components/connect-modal/ConnectModal.css.css.map +3 -3
  217. package/dist/esm/components/connect-modal/ConnectModal.css.d.ts +5 -1
  218. package/dist/esm/components/connect-modal/ConnectModal.css.js +15 -7
  219. package/dist/esm/components/connect-modal/ConnectModal.css.js.map +2 -2
  220. package/dist/esm/components/connect-modal/ConnectModal.css.map +3 -3
  221. package/dist/esm/components/connect-modal/ConnectModal.js +408 -698
  222. package/dist/esm/components/connect-modal/ConnectModal.js.map +4 -4
  223. package/dist/esm/components/connect-modal/InfoSection.css +7 -11
  224. package/dist/esm/components/connect-modal/InfoSection.css.css.map +1 -1
  225. package/dist/esm/components/connect-modal/InfoSection.css.map +3 -3
  226. package/dist/esm/components/connect-modal/InfoSection.js +1 -1
  227. package/dist/esm/components/connect-modal/InfoSection.js.map +2 -2
  228. package/dist/esm/components/connect-modal/views/ConnectionStatus.css +145 -0
  229. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css +32 -0
  230. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css.map +7 -0
  231. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.d.ts +5 -0
  232. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js +14 -0
  233. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js.map +7 -0
  234. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.map +7 -0
  235. package/dist/esm/components/connect-modal/views/ConnectionStatus.d.ts +8 -0
  236. package/dist/esm/components/connect-modal/views/ConnectionStatus.js +140 -0
  237. package/dist/esm/components/connect-modal/views/ConnectionStatus.js.map +7 -0
  238. package/dist/esm/components/connect-modal/views/GetTheWallet.css.css.map +1 -1
  239. package/dist/esm/components/connect-modal/views/GetTheWallet.css.map +1 -1
  240. package/dist/esm/components/connect-modal/views/GetTheWallet.js +16 -389
  241. package/dist/esm/components/connect-modal/views/GetTheWallet.js.map +3 -3
  242. package/dist/esm/components/connect-modal/views/GettingStarted.css +144 -0
  243. package/dist/esm/components/connect-modal/views/GettingStarted.css.css +23 -0
  244. package/dist/esm/components/connect-modal/views/GettingStarted.css.css.map +7 -0
  245. package/dist/esm/components/connect-modal/views/GettingStarted.css.d.ts +3 -0
  246. package/dist/esm/components/connect-modal/views/GettingStarted.css.js +10 -0
  247. package/dist/esm/components/connect-modal/views/GettingStarted.css.js.map +7 -0
  248. package/dist/esm/components/connect-modal/views/GettingStarted.css.map +7 -0
  249. package/dist/esm/components/connect-modal/views/GettingStarted.d.ts +1 -0
  250. package/dist/esm/components/connect-modal/views/GettingStarted.js +139 -0
  251. package/dist/esm/components/connect-modal/views/GettingStarted.js.map +7 -0
  252. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css +95 -0
  253. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css +17 -0
  254. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css.map +7 -0
  255. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.d.ts +2 -0
  256. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js +8 -0
  257. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js.map +7 -0
  258. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.map +7 -0
  259. package/dist/esm/components/connect-modal/views/WhatIsAWallet.d.ts +1 -0
  260. package/dist/esm/components/connect-modal/views/WhatIsAWallet.js +102 -0
  261. package/dist/esm/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
  262. package/dist/esm/components/connect-modal/views/index.css +115 -124
  263. package/dist/esm/components/connect-modal/views/index.css.map +3 -3
  264. package/dist/esm/components/connect-modal/views/index.d.ts +2 -1
  265. package/dist/esm/components/connect-modal/views/index.js +137 -635
  266. package/dist/esm/components/connect-modal/views/index.js.map +4 -4
  267. package/dist/esm/components/connect-modal/wallet-list/WalletList.css +10 -22
  268. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css +2 -5
  269. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css.map +3 -3
  270. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js.map +1 -1
  271. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.map +3 -3
  272. package/dist/esm/components/connect-modal/wallet-list/WalletList.d.ts +4 -4
  273. package/dist/esm/components/connect-modal/wallet-list/WalletList.js +65 -36
  274. package/dist/esm/components/connect-modal/wallet-list/WalletList.js.map +4 -4
  275. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css +8 -17
  276. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css +8 -17
  277. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css.map +3 -3
  278. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.d.ts +0 -1
  279. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js +2 -4
  280. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js.map +2 -2
  281. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.map +3 -3
  282. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js +5 -32
  283. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js.map +4 -4
  284. package/dist/esm/components/icons/BackIcon.d.ts +2 -0
  285. package/dist/esm/components/icons/BackIcon.js +15 -0
  286. package/dist/esm/components/icons/BackIcon.js.map +7 -0
  287. package/dist/esm/components/icons/IotaIcon.js +12 -385
  288. package/dist/esm/components/icons/IotaIcon.js.map +2 -2
  289. package/dist/esm/components/styling/InjectedThemeStyles.js +2 -0
  290. package/dist/esm/components/styling/InjectedThemeStyles.js.map +2 -2
  291. package/dist/esm/components/styling/StyleMarker.css +1 -16
  292. package/dist/esm/components/styling/StyleMarker.css.css +1 -16
  293. package/dist/esm/components/styling/StyleMarker.css.css.map +3 -3
  294. package/dist/esm/components/styling/StyleMarker.css.js +4 -4
  295. package/dist/esm/components/styling/StyleMarker.css.js.map +3 -3
  296. package/dist/esm/components/styling/StyleMarker.css.map +3 -3
  297. package/dist/esm/components/styling/StyleMarker.d.ts +0 -1
  298. package/dist/esm/components/styling/StyleMarker.js +4 -4
  299. package/dist/esm/components/styling/StyleMarker.js.map +3 -3
  300. package/dist/esm/components/ui/Button.css.css.map +1 -1
  301. package/dist/esm/components/ui/Button.css.map +1 -1
  302. package/dist/esm/components/ui/Button.d.ts +1 -1
  303. package/dist/esm/components/ui/Heading.css.css.map +1 -1
  304. package/dist/esm/components/ui/Heading.css.map +1 -1
  305. package/dist/esm/components/ui/Heading.d.ts +0 -1
  306. package/dist/esm/components/ui/IconButton.css.css.map +1 -1
  307. package/dist/esm/components/ui/IconButton.css.map +1 -1
  308. package/dist/esm/components/ui/IconButton.d.ts +1 -1
  309. package/dist/esm/components/ui/Text.css +7 -11
  310. package/dist/esm/components/ui/Text.css.css +7 -11
  311. package/dist/esm/components/ui/Text.css.css.map +3 -3
  312. package/dist/esm/components/ui/Text.css.d.ts +0 -3
  313. package/dist/esm/components/ui/Text.css.js +1 -1
  314. package/dist/esm/components/ui/Text.css.js.map +2 -2
  315. package/dist/esm/components/ui/Text.css.map +3 -3
  316. package/dist/esm/components/ui/Text.d.ts +0 -1
  317. package/dist/esm/components/ui/Text.js +1 -1
  318. package/dist/esm/components/ui/Text.js.map +2 -2
  319. package/dist/esm/constants/styleDataAttribute.js.map +1 -1
  320. package/dist/esm/constants/walletDefaults.d.ts +2 -2
  321. package/dist/esm/constants/walletDefaults.js +4 -5
  322. package/dist/esm/constants/walletDefaults.js.map +2 -2
  323. package/dist/esm/constants/walletMutationKeys.d.ts +3 -2
  324. package/dist/esm/constants/walletMutationKeys.js +4 -3
  325. package/dist/esm/constants/walletMutationKeys.js.map +2 -2
  326. package/dist/esm/contexts/walletContext.d.ts +1 -2
  327. package/dist/esm/hooks/networkConfig.js +1 -1
  328. package/dist/esm/hooks/networkConfig.js.map +2 -2
  329. package/dist/esm/hooks/useIotaClient.js +1 -1
  330. package/dist/esm/hooks/useIotaClient.js.map +2 -2
  331. package/dist/esm/hooks/useIotaClientInfiniteQuery.js +1 -1
  332. package/dist/esm/hooks/useIotaClientInfiniteQuery.js.map +2 -2
  333. package/dist/esm/hooks/useIotaClientMutation.js +1 -1
  334. package/dist/esm/hooks/useIotaClientMutation.js.map +2 -2
  335. package/dist/esm/hooks/useIotaClientQueries.js +1 -1
  336. package/dist/esm/hooks/useIotaClientQueries.js.map +2 -2
  337. package/dist/esm/hooks/useIotaClientQuery.js +4 -2
  338. package/dist/esm/hooks/useIotaClientQuery.js.map +2 -2
  339. package/dist/esm/hooks/wallet/useAutoConnectWallet.js +17 -7
  340. package/dist/esm/hooks/wallet/useAutoConnectWallet.js.map +2 -2
  341. package/dist/esm/hooks/wallet/useConnectWallet.js +10 -4
  342. package/dist/esm/hooks/wallet/useConnectWallet.js.map +2 -2
  343. package/dist/esm/hooks/wallet/useCurrentWallet.d.ts +3 -0
  344. package/dist/esm/hooks/wallet/useCurrentWallet.js +7 -3
  345. package/dist/esm/hooks/wallet/useCurrentWallet.js.map +2 -2
  346. package/dist/esm/hooks/wallet/useDisconnectWallet.js +11 -6
  347. package/dist/esm/hooks/wallet/useDisconnectWallet.js.map +2 -2
  348. package/dist/esm/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
  349. package/dist/esm/hooks/wallet/{useSignTransactionBlock.js → useReportTransactionEffects.js} +38 -34
  350. package/dist/esm/hooks/wallet/useReportTransactionEffects.js.map +7 -0
  351. package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.d.ts +29 -0
  352. package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js +231 -0
  353. package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
  354. package/dist/esm/hooks/wallet/useSignPersonalMessage.js +21 -27
  355. package/dist/esm/hooks/wallet/useSignPersonalMessage.js.map +2 -2
  356. package/dist/esm/hooks/wallet/useSignTransaction.d.ts +18 -0
  357. package/dist/esm/hooks/wallet/{useSignAndExecuteTransactionBlock.js → useSignTransaction.js} +84 -44
  358. package/dist/esm/hooks/wallet/useSignTransaction.js.map +7 -0
  359. package/dist/esm/hooks/wallet/useSwitchAccount.js +11 -6
  360. package/dist/esm/hooks/wallet/useSwitchAccount.js.map +2 -2
  361. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js +45 -33
  362. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js.map +2 -2
  363. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js +7 -3
  364. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js.map +2 -2
  365. package/dist/esm/hooks/wallet/useWalletsChanged.d.ts +1 -1
  366. package/dist/esm/hooks/wallet/useWalletsChanged.js +7 -6
  367. package/dist/esm/hooks/wallet/useWalletsChanged.js.map +2 -2
  368. package/dist/esm/index.css +232 -241
  369. package/dist/esm/index.css.map +3 -3
  370. package/dist/esm/index.d.ts +4 -3
  371. package/dist/esm/index.js +821 -1041
  372. package/dist/esm/index.js.map +4 -4
  373. package/dist/esm/themes/lightTheme.js +19 -19
  374. package/dist/esm/themes/lightTheme.js.map +1 -1
  375. package/dist/esm/themes/themeContract.js.map +1 -1
  376. package/dist/esm/types.d.ts +1 -1
  377. package/dist/esm/utils/assertUnreachable.js.map +1 -1
  378. package/dist/esm/utils/walletUtils.d.ts +2 -2
  379. package/dist/esm/utils/walletUtils.js +2 -2
  380. package/dist/esm/utils/walletUtils.js.map +2 -2
  381. package/dist/esm/walletStore.d.ts +3 -2
  382. package/dist/esm/walletStore.js +8 -4
  383. package/dist/esm/walletStore.js.map +2 -2
  384. package/dist/index.css/package.json +5 -0
  385. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  386. package/dist/tsconfig.tsbuildinfo +1 -1
  387. package/package.json +28 -28
  388. package/src/components/AccountDropdownMenu.css.ts +11 -17
  389. package/src/components/AccountDropdownMenu.tsx +10 -5
  390. package/src/components/ConnectButton.tsx +12 -5
  391. package/src/components/IotaClientProvider.tsx +1 -1
  392. package/src/components/WalletProvider.tsx +11 -22
  393. package/src/components/connect-modal/ConnectModal.css.ts +58 -17
  394. package/src/components/connect-modal/ConnectModal.tsx +101 -16
  395. package/src/components/connect-modal/views/ConnectionStatus.css.ts +36 -0
  396. package/src/components/connect-modal/views/ConnectionStatus.tsx +55 -0
  397. package/src/components/connect-modal/views/GettingStarted.css.ts +26 -0
  398. package/src/components/connect-modal/views/GettingStarted.tsx +40 -0
  399. package/src/components/connect-modal/views/WhatIsAWallet.css.ts +20 -0
  400. package/src/components/connect-modal/views/WhatIsAWallet.tsx +24 -0
  401. package/src/components/connect-modal/views/index.ts +2 -1
  402. package/src/components/connect-modal/wallet-list/WalletList.css.ts +1 -5
  403. package/src/components/connect-modal/wallet-list/WalletList.tsx +25 -11
  404. package/src/components/connect-modal/wallet-list/WalletListItem.css.ts +6 -14
  405. package/src/components/connect-modal/wallet-list/WalletListItem.tsx +9 -12
  406. package/src/components/icons/BackIcon.tsx +18 -0
  407. package/src/components/icons/IotaIcon.tsx +5 -217
  408. package/src/components/styling/InjectedThemeStyles.tsx +4 -0
  409. package/src/components/styling/StyleMarker.css.ts +0 -15
  410. package/src/components/ui/Text.css.ts +1 -1
  411. package/src/constants/walletDefaults.ts +6 -5
  412. package/src/constants/walletMutationKeys.ts +3 -2
  413. package/src/hooks/useIotaClientInfiniteQuery.ts +2 -1
  414. package/src/hooks/useIotaClientQuery.ts +3 -1
  415. package/src/hooks/wallet/useAutoConnectWallet.ts +1 -1
  416. package/src/hooks/wallet/useConnectWallet.ts +6 -1
  417. package/src/hooks/wallet/useCurrentWallet.ts +4 -0
  418. package/src/hooks/wallet/useReportTransactionEffects.ts +87 -0
  419. package/src/hooks/wallet/useSignAndExecuteTransaction.ts +165 -0
  420. package/src/hooks/wallet/useSignPersonalMessage.ts +11 -25
  421. package/src/hooks/wallet/useSignTransaction.ts +117 -0
  422. package/src/hooks/wallet/useUnsafeBurnerWallet.ts +41 -18
  423. package/src/hooks/wallet/useWalletsChanged.ts +5 -4
  424. package/src/index.ts +4 -3
  425. package/src/themes/lightTheme.ts +19 -19
  426. package/src/types.ts +1 -1
  427. package/src/utils/walletUtils.ts +8 -3
  428. package/src/walletStore.ts +12 -1
  429. package/dist/cjs/components/connect-modal/views/WalletConnect.css +0 -179
  430. package/dist/cjs/components/connect-modal/views/WalletConnect.css.css +0 -51
  431. package/dist/cjs/components/connect-modal/views/WalletConnect.css.css.map +0 -7
  432. package/dist/cjs/components/connect-modal/views/WalletConnect.css.d.ts +0 -8
  433. package/dist/cjs/components/connect-modal/views/WalletConnect.css.js +0 -41
  434. package/dist/cjs/components/connect-modal/views/WalletConnect.css.js.map +0 -7
  435. package/dist/cjs/components/connect-modal/views/WalletConnect.css.map +0 -7
  436. package/dist/cjs/components/connect-modal/views/WalletConnect.d.ts +0 -7
  437. package/dist/cjs/components/connect-modal/views/WalletConnect.js +0 -325
  438. package/dist/cjs/components/connect-modal/views/WalletConnect.js.map +0 -7
  439. package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.d.ts +0 -15
  440. package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +0 -7
  441. package/dist/cjs/hooks/wallet/useSignTransactionBlock.d.ts +0 -13
  442. package/dist/cjs/hooks/wallet/useSignTransactionBlock.js.map +0 -7
  443. package/dist/esm/components/connect-modal/views/WalletConnect.css +0 -179
  444. package/dist/esm/components/connect-modal/views/WalletConnect.css.css +0 -51
  445. package/dist/esm/components/connect-modal/views/WalletConnect.css.css.map +0 -7
  446. package/dist/esm/components/connect-modal/views/WalletConnect.css.d.ts +0 -8
  447. package/dist/esm/components/connect-modal/views/WalletConnect.css.js +0 -20
  448. package/dist/esm/components/connect-modal/views/WalletConnect.css.js.map +0 -7
  449. package/dist/esm/components/connect-modal/views/WalletConnect.css.map +0 -7
  450. package/dist/esm/components/connect-modal/views/WalletConnect.d.ts +0 -7
  451. package/dist/esm/components/connect-modal/views/WalletConnect.js +0 -294
  452. package/dist/esm/components/connect-modal/views/WalletConnect.js.map +0 -7
  453. package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.d.ts +0 -15
  454. package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +0 -7
  455. package/dist/esm/hooks/wallet/useSignTransactionBlock.d.ts +0 -13
  456. package/dist/esm/hooks/wallet/useSignTransactionBlock.js.map +0 -7
  457. package/src/components/connect-modal/views/WalletConnect.css.ts +0 -55
  458. package/src/components/connect-modal/views/WalletConnect.tsx +0 -79
  459. package/src/hooks/wallet/useSignAndExecuteTransactionBlock.ts +0 -117
  460. package/src/hooks/wallet/useSignTransactionBlock.ts +0 -85
package/dist/cjs/index.js CHANGED
@@ -5,6 +5,9 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __typeError = (msg) => {
9
+ throw TypeError(msg);
10
+ };
8
11
  var __esm = (fn, res) => function __init() {
9
12
  return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
10
13
  };
@@ -32,23 +35,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
32
35
  mod
33
36
  ));
34
37
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
35
- var __accessCheck = (obj, member, msg) => {
36
- if (!member.has(obj))
37
- throw TypeError("Cannot " + msg);
38
- };
39
- var __privateGet = (obj, member, getter) => {
40
- __accessCheck(obj, member, "read from private field");
41
- return getter ? getter.call(obj) : member.get(obj);
42
- };
43
- var __privateAdd = (obj, member, value) => {
44
- if (member.has(obj))
45
- throw TypeError("Cannot add the same private member more than once");
46
- member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
47
- };
38
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
39
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
40
+ 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);
48
41
 
49
- // vanilla-extract-css-ns:src/components/styling/StyleMarker.css.ts.vanilla.css?source=#H4sIAAAAAAAAA51US4/TMBC+91fMcYtiqYXCIT0iIe6LxHkSe2Orrm2NJyRZxH9HtrttmrAL4hLJ4+8xL6cetCL18G4LPzcAjR9FNM/GdTU0nqQi0fjxuAFovfVUww+kByEkhiBOhkWORtF4OW0T6sk7Fk94NnZaYXkKviMMehIJ9iWjbqxontWKk26+K9NpjsJ5OqOdEXiya8bC5TGBbpwha/2rjTVOCf1nyswnwb5mVGEpZkUiBmxzH98gZuRjAW6Pm1+bukyj6Zm9KyPBEBQSulbV4LxTyaLB9tSR750Ul7kwoYsBSTledNQ4rcjwajqz+F2d8/iiktnVxXYWKetSwy4dAkqZKfl0RuqMy4driViqYzWykKr1hGy8u5W4NvA9p0RfIFclbyvobZGzJl4X40Vp5n6f2FVB7yvQ7yvQHyrQhwr0xwr0p6L4RieHdcfuK63FoJo089iSt7ZBypKDkaxr2B/C+ApMMGF7urzI/AoJpenjaplS2IjRInVly/+yGa+46f7c3N6/RumHVFZUDDvYwX4XxvJZ2N/cPpcfQdH8lvS2x//I/rJDhzBC9NbIRfa/AfAolD6tBAAA
50
- var init_ = __esm({
51
- "vanilla-extract-css-ns:src/components/styling/StyleMarker.css.ts.vanilla.css?source=#H4sIAAAAAAAAA51US4/TMBC+91fMcYtiqYXCIT0iIe6LxHkSe2Orrm2NJyRZxH9HtrttmrAL4hLJ4+8xL6cetCL18G4LPzcAjR9FNM/GdTU0nqQi0fjxuAFovfVUww+kByEkhiBOhkWORtF4OW0T6sk7Fk94NnZaYXkKviMMehIJ9iWjbqxontWKk26+K9NpjsJ5OqOdEXiya8bC5TGBbpwha/2rjTVOCf1nyswnwb5mVGEpZkUiBmxzH98gZuRjAW6Pm1+bukyj6Zm9KyPBEBQSulbV4LxTyaLB9tSR750Ul7kwoYsBSTledNQ4rcjwajqz+F2d8/iiktnVxXYWKetSwy4dAkqZKfl0RuqMy4driViqYzWykKr1hGy8u5W4NvA9p0RfIFclbyvobZGzJl4X40Vp5n6f2FVB7yvQ7yvQHyrQhwr0xwr0p6L4RieHdcfuK63FoJo089iSt7ZBypKDkaxr2B/C+ApMMGF7urzI/AoJpenjaplS2IjRInVly/+yGa+46f7c3N6/RumHVFZUDDvYwX4XxvJZ2N/cPpcfQdH8lvS2x//I/rJDhzBC9NbIRfa/AfAolD6tBAAA"() {
42
+ // vanilla-extract-css-ns:src/components/styling/StyleMarker.css.ts.vanilla.css?source=OndoZXJlKCopIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGNvbG9yOiB2YXIoLS1kYXBwLWtpdC1jb2xvcnMtYm9keSk7CiAgZm9udC1mYW1pbHk6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udEZhbWlseSk7CiAgZm9udC1zaXplOiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1ub3JtYWwpOwogIGZvbnQtc3R5bGU6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udFN0eWxlKTsKICBmb250LXdlaWdodDogdmFyKC0tZGFwcC1raXQtZm9udFdlaWdodHMtbm9ybWFsKTsKICBsaW5lLWhlaWdodDogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1saW5lSGVpZ2h0KTsKICBsZXR0ZXItc3BhY2luZzogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1sZXR0ZXJTcGFjaW5nKTsKfQo6d2hlcmUoYnV0dG9uKSB7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7CiAgY29sb3I6IGluaGVyaXQ7CiAgYm9yZGVyOiAwOwogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwOwp9Cjp3aGVyZShhKSB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGNvbG9yOiBpbmhlcml0OwogIG91dGxpbmU6IG5vbmU7Cn0KOndoZXJlKG9sLCB1bCkgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KOndoZXJlKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYpIHsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CiAgbWFyZ2luOiAwOwp9
43
+ var init_StyleMarker_css_ts_vanilla = __esm({
44
+ "vanilla-extract-css-ns:src/components/styling/StyleMarker.css.ts.vanilla.css?source=OndoZXJlKCopIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGNvbG9yOiB2YXIoLS1kYXBwLWtpdC1jb2xvcnMtYm9keSk7CiAgZm9udC1mYW1pbHk6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udEZhbWlseSk7CiAgZm9udC1zaXplOiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1ub3JtYWwpOwogIGZvbnQtc3R5bGU6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udFN0eWxlKTsKICBmb250LXdlaWdodDogdmFyKC0tZGFwcC1raXQtZm9udFdlaWdodHMtbm9ybWFsKTsKICBsaW5lLWhlaWdodDogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1saW5lSGVpZ2h0KTsKICBsZXR0ZXItc3BhY2luZzogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1sZXR0ZXJTcGFjaW5nKTsKfQo6d2hlcmUoYnV0dG9uKSB7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7CiAgY29sb3I6IGluaGVyaXQ7CiAgYm9yZGVyOiAwOwogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwOwp9Cjp3aGVyZShhKSB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGNvbG9yOiBpbmhlcml0OwogIG91dGxpbmU6IG5vbmU7Cn0KOndoZXJlKG9sLCB1bCkgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KOndoZXJlKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYpIHsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CiAgbWFyZ2luOiAwOwp9"() {
52
45
  }
53
46
  });
54
47
 
@@ -56,7 +49,7 @@ var init_ = __esm({
56
49
  var require_StyleMarker_css = __commonJS({
57
50
  "src/components/styling/StyleMarker.css.ts"() {
58
51
  "use strict";
59
- init_();
52
+ init_StyleMarker_css_ts_vanilla();
60
53
  }
61
54
  });
62
55
 
@@ -83,9 +76,10 @@ __export(src_exports, {
83
76
  useIotaClientMutation: () => useIotaClientMutation,
84
77
  useIotaClientQueries: () => useIotaClientQueries,
85
78
  useIotaClientQuery: () => useIotaClientQuery,
86
- useSignAndExecuteTransactionBlock: () => useSignAndExecuteTransactionBlock,
79
+ useReportTransactionEffects: () => useReportTransactionEffects,
80
+ useSignAndExecuteTransaction: () => useSignAndExecuteTransaction,
87
81
  useSignPersonalMessage: () => useSignPersonalMessage,
88
- useSignTransactionBlock: () => useSignTransactionBlock,
82
+ useSignTransaction: () => useSignTransaction,
89
83
  useSwitchAccount: () => useSwitchAccount,
90
84
  useWallets: () => useWallets
91
85
  });
@@ -93,12 +87,130 @@ module.exports = __toCommonJS(src_exports);
93
87
 
94
88
  // src/components/connect-modal/ConnectModal.tsx
95
89
  var Dialog = __toESM(require("@radix-ui/react-dialog"));
90
+ var import_clsx6 = __toESM(require("clsx"));
96
91
  var import_react8 = require("react");
97
92
 
98
- // src/components/icons/CloseIcon.tsx
93
+ // src/hooks/wallet/useConnectWallet.ts
94
+ var import_wallet_standard = require("@iota/wallet-standard");
95
+ var import_react_query = require("@tanstack/react-query");
96
+
97
+ // src/constants/walletMutationKeys.ts
98
+ var walletMutationKeys = {
99
+ all: { baseScope: "wallet" },
100
+ connectWallet: formMutationKeyFn("connect-wallet"),
101
+ autoconnectWallet: formMutationKeyFn("autoconnect-wallet"),
102
+ disconnectWallet: formMutationKeyFn("disconnect-wallet"),
103
+ signPersonalMessage: formMutationKeyFn("sign-personal-message"),
104
+ signTransaction: formMutationKeyFn("sign-transaction"),
105
+ signAndExecuteTransaction: formMutationKeyFn("sign-and-execute-transaction"),
106
+ switchAccount: formMutationKeyFn("switch-account"),
107
+ reportTransactionEffects: formMutationKeyFn("report-transaction-effects")
108
+ };
109
+ function formMutationKeyFn(baseEntity) {
110
+ return function mutationKeyFn(additionalKeys = []) {
111
+ return [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];
112
+ };
113
+ }
114
+
115
+ // src/hooks/wallet/useWalletStore.ts
116
+ var import_react2 = require("react");
117
+ var import_zustand = require("zustand");
118
+
119
+ // src/contexts/walletContext.ts
120
+ var import_react = require("react");
121
+ var WalletContext = (0, import_react.createContext)(null);
122
+
123
+ // src/hooks/wallet/useWalletStore.ts
124
+ function useWalletStore(selector) {
125
+ const store = (0, import_react2.useContext)(WalletContext);
126
+ if (!store) {
127
+ throw new Error(
128
+ "Could not find WalletContext. Ensure that you have set up the WalletProvider."
129
+ );
130
+ }
131
+ return (0, import_zustand.useStore)(store, selector);
132
+ }
133
+
134
+ // src/hooks/wallet/useConnectWallet.ts
135
+ function useConnectWallet({
136
+ mutationKey,
137
+ ...mutationOptions
138
+ } = {}) {
139
+ const setWalletConnected = useWalletStore((state) => state.setWalletConnected);
140
+ const setConnectionStatus = useWalletStore((state) => state.setConnectionStatus);
141
+ return (0, import_react_query.useMutation)({
142
+ mutationKey: walletMutationKeys.connectWallet(mutationKey),
143
+ mutationFn: async ({ wallet, accountAddress, ...connectArgs }) => {
144
+ try {
145
+ setConnectionStatus("connecting");
146
+ const connectResult = await wallet.features["standard:connect"].connect(connectArgs);
147
+ const connectedIotaAccounts = connectResult.accounts.filter(
148
+ (account) => account.chains.some(import_wallet_standard.isSupportedChain)
149
+ );
150
+ const selectedAccount = getSelectedAccount(connectedIotaAccounts, accountAddress);
151
+ setWalletConnected(
152
+ wallet,
153
+ connectedIotaAccounts,
154
+ selectedAccount,
155
+ connectResult.supportedIntents
156
+ );
157
+ return { accounts: connectedIotaAccounts };
158
+ } catch (error) {
159
+ setConnectionStatus("disconnected");
160
+ throw error;
161
+ }
162
+ },
163
+ ...mutationOptions
164
+ });
165
+ }
166
+ function getSelectedAccount(connectedAccounts, accountAddress) {
167
+ if (connectedAccounts.length === 0) {
168
+ return null;
169
+ }
170
+ if (accountAddress) {
171
+ const selectedAccount = connectedAccounts.find(
172
+ (account) => account.address === accountAddress
173
+ );
174
+ return selectedAccount ?? connectedAccounts[0];
175
+ }
176
+ return connectedAccounts[0];
177
+ }
178
+
179
+ // src/utils/walletUtils.ts
180
+ var import_wallet_standard2 = require("@iota/wallet-standard");
181
+ function getRegisteredWallets(preferredWallets, walletFilter) {
182
+ const walletsApi = (0, import_wallet_standard2.getWallets)();
183
+ const wallets = walletsApi.get();
184
+ const iotaWallets = wallets.filter(
185
+ (wallet) => (0, import_wallet_standard2.isWalletWithRequiredFeatureSet)(wallet) && (!walletFilter || walletFilter(wallet))
186
+ );
187
+ return [
188
+ // Preferred wallets, in order:
189
+ ...preferredWallets.map((name) => iotaWallets.find((wallet) => wallet.name === name)).filter(Boolean),
190
+ // Wallets in default order:
191
+ ...iotaWallets.filter((wallet) => !preferredWallets.includes(wallet.name))
192
+ ];
193
+ }
194
+ function getWalletUniqueIdentifier(wallet) {
195
+ return wallet?.id ?? wallet?.name;
196
+ }
197
+
198
+ // src/components/icons/BackIcon.tsx
99
199
  var import_jsx_runtime = require("react/jsx-runtime");
200
+ function BackIcon(props) {
201
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: 24, height: 24, fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
202
+ "path",
203
+ {
204
+ d: "M7.57 12.262c0 .341.13.629.403.895l5.175 5.059c.204.205.45.307.751.307.609 0 1.101-.485 1.101-1.087 0-.293-.123-.574-.349-.8L10.14 12.27l4.511-4.375A1.13 1.13 0 0 0 15 7.087C15 6.485 14.508 6 13.9 6c-.295 0-.54.103-.752.308l-5.175 5.058c-.28.28-.404.56-.404.896Z",
205
+ fill: "currentColor"
206
+ }
207
+ ) });
208
+ }
209
+
210
+ // src/components/icons/CloseIcon.tsx
211
+ var import_jsx_runtime2 = require("react/jsx-runtime");
100
212
  function CloseIcon(props) {
101
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: 10, height: 10, fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
213
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("svg", { width: 10, height: 10, fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
102
214
  "path",
103
215
  {
104
216
  d: "M9.708.292a.999.999 0 0 0-1.413 0l-3.289 3.29L1.717.291A.999.999 0 0 0 .305 1.705l3.289 3.289-3.29 3.289a.999.999 0 1 0 1.413 1.412l3.29-3.289 3.288 3.29a.999.999 0 0 0 1.413-1.413l-3.29-3.29 3.29-3.288a.999.999 0 0 0 0-1.413Z",
@@ -109,7 +221,7 @@ function CloseIcon(props) {
109
221
 
110
222
  // src/components/styling/StyleMarker.tsx
111
223
  var import_react_slot = require("@radix-ui/react-slot");
112
- var import_react = require("react");
224
+ var import_react3 = require("react");
113
225
 
114
226
  // src/constants/styleDataAttribute.ts
115
227
  var styleDataAttributeName = "data-dapp-kit";
@@ -118,22 +230,22 @@ var styleDataAttribute = { [styleDataAttributeName]: "" };
118
230
 
119
231
  // src/components/styling/StyleMarker.tsx
120
232
  var import_StyleMarker_css = __toESM(require_StyleMarker_css());
121
- var import_jsx_runtime2 = require("react/jsx-runtime");
122
- var StyleMarker = (0, import_react.forwardRef)(({ children, ...props }, forwardedRef) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_slot.Slot, { ref: forwardedRef, ...props, ...styleDataAttribute, children }));
233
+ var import_jsx_runtime3 = require("react/jsx-runtime");
234
+ var StyleMarker = (0, import_react3.forwardRef)(({ children, ...props }, forwardedRef) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_slot.Slot, { ref: forwardedRef, ...props, ...styleDataAttribute, children }));
123
235
  StyleMarker.displayName = "StyleMarker";
124
236
 
125
237
  // src/components/ui/Heading.tsx
126
238
  var import_react_slot2 = require("@radix-ui/react-slot");
127
239
  var import_clsx = __toESM(require("clsx"));
128
- var import_react2 = require("react");
240
+ var import_react4 = require("react");
129
241
 
130
242
  // src/components/ui/Heading.css.ts
131
243
  var import_createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
132
244
  var headingVariants = (0, import_createRuntimeFn.createRuntimeFn)({ 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: [] });
133
245
 
134
246
  // src/components/ui/Heading.tsx
135
- var import_jsx_runtime3 = require("react/jsx-runtime");
136
- var Heading = (0, import_react2.forwardRef)(
247
+ var import_jsx_runtime4 = require("react/jsx-runtime");
248
+ var Heading = (0, import_react4.forwardRef)(
137
249
  ({
138
250
  children,
139
251
  className,
@@ -144,13 +256,13 @@ var Heading = (0, import_react2.forwardRef)(
144
256
  truncate,
145
257
  ...headingProps
146
258
  }, forwardedRef) => {
147
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
259
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
148
260
  import_react_slot2.Slot,
149
261
  {
150
262
  ...headingProps,
151
263
  ref: forwardedRef,
152
264
  className: (0, import_clsx.default)(headingVariants({ size, weight, truncate }), className),
153
- children: asChild ? children : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Tag, { children })
265
+ children: asChild ? children : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Tag, { children })
154
266
  }
155
267
  );
156
268
  }
@@ -160,196 +272,253 @@ Heading.displayName = "Heading";
160
272
  // src/components/ui/IconButton.tsx
161
273
  var import_react_slot3 = require("@radix-ui/react-slot");
162
274
  var import_clsx2 = __toESM(require("clsx"));
163
- var import_react3 = require("react");
275
+ var import_react5 = require("react");
164
276
 
165
277
  // src/components/ui/IconButton.css.ts
166
278
  var container = "IconButton_container__ap1qll0";
167
279
 
168
280
  // src/components/ui/IconButton.tsx
169
- var import_jsx_runtime4 = require("react/jsx-runtime");
170
- var IconButton = (0, import_react3.forwardRef)(
281
+ var import_jsx_runtime5 = require("react/jsx-runtime");
282
+ var IconButton = (0, import_react5.forwardRef)(
171
283
  ({ className, asChild = false, ...props }, forwardedRef) => {
172
284
  const Comp = asChild ? import_react_slot3.Slot : "button";
173
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Comp, { ...props, className: (0, import_clsx2.default)(container, className), ref: forwardedRef });
285
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Comp, { ...props, className: (0, import_clsx2.default)(container, className), ref: forwardedRef });
174
286
  }
175
287
  );
176
288
  IconButton.displayName = "Button";
177
289
 
178
290
  // src/components/connect-modal/ConnectModal.css.ts
179
- var closeButtonContainer = "ConnectModal_closeButtonContainer__17mljma5";
180
- var content = "ConnectModal_content__17mljma3";
291
+ var backButtonContainer = "ConnectModal_backButtonContainer__17mljma6";
292
+ var closeButtonContainer = "ConnectModal_closeButtonContainer__17mljma7";
293
+ var content = "ConnectModal_content__17mljma2";
181
294
  var overlay = "ConnectModal_overlay__17mljma0";
182
- var separator = "ConnectModal_separator__17mljma2";
295
+ var selectedViewContainer = "ConnectModal_selectedViewContainer__17mljma5";
183
296
  var title = "ConnectModal_title__17mljma1";
184
- var walletListContent = "ConnectModal_walletListContent__17mljma6";
297
+ var viewContainer = "ConnectModal_viewContainer__17mljma4";
298
+ var walletListContainer = "ConnectModal_walletListContainer__17mljma9";
299
+ var walletListContainerWithViewSelected = "ConnectModal_walletListContainerWithViewSelected__17mljmaa";
300
+ var walletListContent = "ConnectModal_walletListContent__17mljma8";
301
+ var whatIsAWalletButton = "ConnectModal_whatIsAWalletButton__17mljma3";
185
302
 
186
- // src/hooks/wallet/useWalletStore.ts
187
- var import_react5 = require("react");
188
- var import_zustand = require("zustand");
303
+ // src/components/ui/Button.tsx
304
+ var import_react_slot4 = require("@radix-ui/react-slot");
305
+ var import_clsx3 = __toESM(require("clsx"));
306
+ var import_react6 = require("react");
189
307
 
190
- // src/contexts/walletContext.ts
191
- var import_react4 = require("react");
192
- var WalletContext = (0, import_react4.createContext)(null);
308
+ // src/components/ui/Button.css.ts
309
+ var import_createRuntimeFn2 = require("@vanilla-extract/recipes/createRuntimeFn");
310
+ var buttonVariants = (0, import_createRuntimeFn2.createRuntimeFn)({ 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: [] });
193
311
 
194
- // src/hooks/wallet/useWalletStore.ts
195
- function useWalletStore(selector) {
196
- const store = (0, import_react5.useContext)(WalletContext);
197
- if (!store) {
198
- throw new Error(
199
- "Could not find WalletContext. Ensure that you have set up the WalletProvider."
312
+ // src/components/ui/Button.tsx
313
+ var import_jsx_runtime6 = require("react/jsx-runtime");
314
+ var Button = (0, import_react6.forwardRef)(
315
+ ({ className, variant, size, asChild = false, ...props }, forwardedRef) => {
316
+ const Comp = asChild ? import_react_slot4.Slot : "button";
317
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
318
+ Comp,
319
+ {
320
+ ...props,
321
+ className: (0, import_clsx3.default)(buttonVariants({ variant, size }), className),
322
+ ref: forwardedRef
323
+ }
200
324
  );
201
325
  }
202
- return (0, import_zustand.useStore)(store, selector);
203
- }
204
-
205
- // src/hooks/wallet/useWallets.ts
206
- function useWallets() {
207
- return useWalletStore((state) => state.wallets);
208
- }
326
+ );
327
+ Button.displayName = "Button";
209
328
 
210
- // src/components/connect-modal/views/WalletConnect.tsx
329
+ // src/components/ui/Text.tsx
330
+ var import_react_slot5 = require("@radix-ui/react-slot");
331
+ var import_clsx4 = __toESM(require("clsx"));
211
332
  var import_react7 = require("react");
212
333
 
213
- // src/utils/walletUtils.ts
214
- var import_wallet_standard = require("@iota/wallet-standard");
215
- function getRegisteredWallets(preferredWallets, requiredFeatures) {
216
- const walletsApi = (0, import_wallet_standard.getWallets)();
217
- const wallets = walletsApi.get();
218
- const iotaWallets = wallets.filter(
219
- (wallet) => (0, import_wallet_standard.isWalletWithRequiredFeatureSet)(wallet, requiredFeatures)
220
- );
221
- return [
222
- // Preferred wallets, in order:
223
- ...preferredWallets.map((name) => iotaWallets.find((wallet) => wallet.name === name)).filter(Boolean),
224
- // Wallets in default order:
225
- ...iotaWallets.filter((wallet) => !preferredWallets.includes(wallet.name))
226
- ];
227
- }
228
- function getWalletUniqueIdentifier(wallet) {
229
- return wallet?.id ?? wallet?.name;
230
- }
334
+ // src/components/ui/Text.css.ts
335
+ var import_createRuntimeFn3 = require("@vanilla-extract/recipes/createRuntimeFn");
336
+ var textVariants = (0, import_createRuntimeFn3.createRuntimeFn)({ defaultClassName: "Text__aprhbd0", variantClassNames: { size: { sm: "Text_textVariants_size_sm__aprhbd1" }, weight: { normal: "Text_textVariants_weight_normal__aprhbd2", medium: "Text_textVariants_weight_medium__aprhbd3", bold: "Text_textVariants_weight_bold__aprhbd4" }, color: { muted: "Text_textVariants_color_muted__aprhbd5", danger: "Text_textVariants_color_danger__aprhbd6" }, mono: { true: "Text_textVariants_mono_true__aprhbd7" } }, defaultVariants: { size: "sm", weight: "normal" }, compoundVariants: [] });
231
337
 
232
- // src/hooks/wallet/useConnectWallet.ts
233
- var import_wallet_standard2 = require("@iota/wallet-standard");
234
- var import_react_query = require("@tanstack/react-query");
338
+ // src/components/ui/Text.tsx
339
+ var import_jsx_runtime7 = require("react/jsx-runtime");
340
+ var Text = (0, import_react7.forwardRef)(
341
+ ({
342
+ children,
343
+ className,
344
+ asChild = false,
345
+ as: Tag = "div",
346
+ size,
347
+ weight,
348
+ color,
349
+ mono,
350
+ ...textProps
351
+ }, forwardedRef) => {
352
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
353
+ import_react_slot5.Slot,
354
+ {
355
+ ...textProps,
356
+ ref: forwardedRef,
357
+ className: (0, import_clsx4.default)(textVariants({ size, weight, color, mono }), className),
358
+ children: asChild ? children : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Tag, { children })
359
+ }
360
+ );
361
+ }
362
+ );
363
+ Text.displayName = "Text";
235
364
 
236
- // src/constants/walletMutationKeys.ts
237
- var walletMutationKeys = {
238
- all: { baseScope: "wallet" },
239
- connectWallet: formMutationKeyFn("connect-wallet"),
240
- autoconnectWallet: formMutationKeyFn("autoconnect-wallet"),
241
- disconnectWallet: formMutationKeyFn("disconnect-wallet"),
242
- signPersonalMessage: formMutationKeyFn("sign-personal-message"),
243
- signTransactionBlock: formMutationKeyFn("sign-transaction-block"),
244
- signAndExecuteTransactionBlock: formMutationKeyFn("sign-and-execute-transaction-block"),
245
- switchAccount: formMutationKeyFn("switch-account")
246
- };
247
- function formMutationKeyFn(baseEntity) {
248
- return function mutationKeyFn(additionalKeys = []) {
249
- return [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];
250
- };
251
- }
365
+ // src/components/connect-modal/views/ConnectionStatus.css.ts
366
+ var connectionStatus = "ConnectionStatus_connectionStatus__c5q1ll3";
367
+ var container2 = "ConnectionStatus_container__c5q1ll0";
368
+ var retryButtonContainer = "ConnectionStatus_retryButtonContainer__c5q1ll4";
369
+ var title2 = "ConnectionStatus_title__c5q1ll2";
370
+ var walletIcon = "ConnectionStatus_walletIcon__c5q1ll1";
252
371
 
253
- // src/hooks/wallet/useConnectWallet.ts
254
- function useConnectWallet({
255
- mutationKey,
256
- ...mutationOptions
257
- } = {}) {
258
- const setWalletConnected = useWalletStore((state) => state.setWalletConnected);
259
- const setConnectionStatus = useWalletStore((state) => state.setConnectionStatus);
260
- return (0, import_react_query.useMutation)({
261
- mutationKey: walletMutationKeys.connectWallet(mutationKey),
262
- mutationFn: async ({ wallet, accountAddress, ...connectArgs }) => {
263
- try {
264
- setConnectionStatus("connecting");
265
- const connectResult = await wallet.features["standard:connect"].connect(connectArgs);
266
- const connectedIotaAccounts = connectResult.accounts.filter(
267
- (account) => account.chains.some(import_wallet_standard2.isSupportedChain)
268
- );
269
- const selectedAccount = getSelectedAccount(connectedIotaAccounts, accountAddress);
270
- setWalletConnected(wallet, connectedIotaAccounts, selectedAccount);
271
- return { accounts: connectedIotaAccounts };
272
- } catch (error) {
273
- setConnectionStatus("disconnected");
274
- throw error;
372
+ // src/components/connect-modal/views/ConnectionStatus.tsx
373
+ var import_jsx_runtime8 = require("react/jsx-runtime");
374
+ function ConnectionStatus({
375
+ selectedWallet,
376
+ hadConnectionError,
377
+ onRetryConnection
378
+ }) {
379
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: container2, children: [
380
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
381
+ "img",
382
+ {
383
+ className: walletIcon,
384
+ src: selectedWallet.icon,
385
+ alt: `${selectedWallet.name} logo`
275
386
  }
276
- },
277
- ...mutationOptions
278
- });
387
+ ),
388
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: title2, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Heading, { as: "h2", size: "xl", children: [
389
+ "Opening ",
390
+ selectedWallet.name
391
+ ] }) }),
392
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: connectionStatus, children: hadConnectionError ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text, { color: "danger", children: "Connection failed" }) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text, { color: "muted", children: "Confirm connection in the wallet..." }) }),
393
+ hadConnectionError ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: retryButtonContainer, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
394
+ Button,
395
+ {
396
+ type: "button",
397
+ variant: "outline",
398
+ onClick: () => onRetryConnection(selectedWallet),
399
+ children: "Retry Connection"
400
+ }
401
+ ) }) : null
402
+ ] });
279
403
  }
280
- function getSelectedAccount(connectedAccounts, accountAddress) {
281
- if (connectedAccounts.length === 0) {
282
- return null;
283
- }
284
- if (accountAddress) {
285
- const selectedAccount = connectedAccounts.find(
286
- (account) => account.address === accountAddress
287
- );
288
- return selectedAccount ?? connectedAccounts[0];
289
- }
290
- return connectedAccounts[0];
404
+
405
+ // src/components/connect-modal/InfoSection.css.ts
406
+ var container3 = "InfoSection_container__1d1nrmt0";
407
+
408
+ // src/components/connect-modal/InfoSection.tsx
409
+ var import_jsx_runtime9 = require("react/jsx-runtime");
410
+ function InfoSection({ title: title3, children }) {
411
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("section", { className: container3, children: [
412
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Heading, { as: "h3", size: "sm", weight: "normal", children: title3 }),
413
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Text, { weight: "medium", color: "muted", children })
414
+ ] });
291
415
  }
292
416
 
293
- // src/components/connect-modal/wallet-list/WalletList.css.ts
294
- var container2 = "WalletList_container__1tkdegw0";
417
+ // src/components/connect-modal/views/GettingStarted.css.ts
418
+ var container4 = "GettingStarted_container__qu36t90";
419
+ var content2 = "GettingStarted_content__qu36t91";
420
+ var installButtonContainer = "GettingStarted_installButtonContainer__qu36t92";
295
421
 
296
- // src/components/connect-modal/wallet-list/WalletListItem.tsx
297
- var import_clsx3 = require("clsx");
422
+ // src/components/connect-modal/views/GettingStarted.tsx
423
+ var import_jsx_runtime10 = require("react/jsx-runtime");
424
+ function GettingStarted() {
425
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: container4, children: [
426
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Heading, { as: "h2", children: "Get Started with IOTA" }),
427
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: content2, children: [
428
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(InfoSection, { title: "Install the IOTA Wallet Extension", children: "We recommend pinning IOTA Wallet to your taskbar for quicker access." }),
429
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(InfoSection, { title: "Create or Import a Wallet", children: "Be sure to back up your wallet using a secure method. Never share your secret phrase with anyone." }),
430
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(InfoSection, { title: "Refresh Your Browser", children: "Once you set up your wallet, refresh this window browser to load up the extension." }),
431
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: installButtonContainer, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Button, { variant: "outline", asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
432
+ "a",
433
+ {
434
+ href: "https://chrome.google.com/webstore/detail/iota-wallet/iidjkmdceolghepehaaddojmnjnkkija",
435
+ target: "_blank",
436
+ rel: "noreferrer",
437
+ children: "Install Wallet Extension"
438
+ }
439
+ ) }) })
440
+ ] })
441
+ ] });
442
+ }
298
443
 
299
- // src/components/connect-modal/wallet-list/WalletListItem.css.ts
300
- var container3 = "WalletListItem_container__1vrvezk0";
301
- var selectedWalletItem = "WalletListItem_selectedWalletItem__1vrvezk2";
302
- var walletIcon = "WalletListItem_walletIcon__1vrvezk4";
303
- var walletItem = "WalletListItem_walletItem__1vrvezk1";
304
- var walletName = "WalletListItem_walletName__1vrvezk3";
444
+ // src/components/connect-modal/views/WhatIsAWallet.css.ts
445
+ var container5 = "WhatIsAWallet_container__1kdcimq0";
446
+ var content3 = "WhatIsAWallet_content__1kdcimq1";
305
447
 
306
- // src/components/icons/ArrowRightIcon.tsx
307
- var import_jsx_runtime5 = require("react/jsx-runtime");
308
- function ArrowRightIcon(props) {
309
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
448
+ // src/components/connect-modal/views/WhatIsAWallet.tsx
449
+ var import_jsx_runtime11 = require("react/jsx-runtime");
450
+ function WhatIsAWallet() {
451
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: container5, children: [
452
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Heading, { as: "h2", children: "What is a Wallet" }),
453
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: content3, children: [
454
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(InfoSection, { title: "Easy Login", children: "No need to create new accounts and passwords for every website. Just connect your wallet and get going." }),
455
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(InfoSection, { title: "Store your Digital Assets", children: "Send, receive, store, and display your digital assets like NFTs & coins." })
456
+ ] })
457
+ ] });
458
+ }
459
+
460
+ // src/hooks/wallet/useWallets.ts
461
+ function useWallets() {
462
+ return useWalletStore((state) => state.wallets);
463
+ }
464
+
465
+ // src/components/icons/IotaIcon.tsx
466
+ var import_jsx_runtime12 = require("react/jsx-runtime");
467
+ function IotaIcon(props) {
468
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
310
469
  "svg",
311
470
  {
312
471
  xmlns: "http://www.w3.org/2000/svg",
313
- width: "24",
314
- height: "24",
315
- viewBox: "0 0 24 24",
472
+ width: "28px",
473
+ height: "28px",
316
474
  fill: "none",
475
+ viewBox: "0 0 24 24",
317
476
  ...props,
318
- children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
477
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
319
478
  "path",
320
479
  {
321
- fill: "currentColor",
322
- 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"
480
+ fill: "#171d26",
481
+ d: "M18.27 2.259c0 .695-.568 1.259-1.268 1.259s-1.267-.564-1.267-1.259S16.302 1 17.002 1s1.268.564 1.268 1.259m1.425 17.785c0 .695-.568 1.259-1.268 1.259s-1.267-.564-1.267-1.26c0-.695.567-1.258 1.267-1.258s1.268.563 1.268 1.259m-2.33-13.379a1.06 1.06 0 0 0 1.063-1.056 1.06 1.06 0 0 0-1.063-1.057A1.06 1.06 0 0 0 16.3 5.61a1.06 1.06 0 0 0 1.064 1.056Zm3.891-.651a1.06 1.06 0 0 1-1.063 1.056 1.06 1.06 0 0 1-1.064-1.056 1.06 1.06 0 0 1 1.064-1.057 1.06 1.06 0 0 1 1.063 1.057m-4.253 3.329c.5 0 .905-.403.905-.9 0-.496-.405-.9-.905-.9s-.906.404-.906.9c0 .497.406.9.906.9m3.734-.52c0 .497-.405.9-.905.9a.903.903 0 0 1-.906-.9c0-.496.405-.9.906-.9.5 0 .905.404.905.9m1.357 1.777c.5 0 .906-.402.906-.899s-.405-.9-.906-.9c-.5 0-.905.403-.905.9s.405.9.905.9Zm-2.309.495a.79.79 0 0 1-.792.787.79.79 0 0 1-.791-.787c0-.434.354-.786.791-.786s.792.352.792.786m-3.62.404a.79.79 0 0 0 .792-.787.79.79 0 0 0-.792-.786.79.79 0 0 0-.791.786c0 .435.354.787.791.787m5.907.471a.79.79 0 0 1-.791.787.79.79 0 0 1-.792-.786.79.79 0 0 1 .792-.787.79.79 0 0 1 .791.787Zm-4.21 1.554c.375 0 .68-.302.68-.675a.677.677 0 0 0-.68-.675.68.68 0 0 0-.68.675c0 .373.304.675.68.675m2.968.178a.68.68 0 0 1-.68.676.677.677 0 0 1-.68-.676c0-.373.304-.675.68-.675.375 0 .68.302.68.675m-5.774-.582c.375 0 .68-.302.68-.675a.68.68 0 0 0-.68-.675.68.68 0 0 0-.68.675c0 .373.304.675.68.675m2.127.943c0 .31-.254.561-.566.561a.564.564 0 0 1-.566-.562c0-.31.253-.561.566-.561s.566.251.566.562m.407 2.114a.496.496 0 0 0 .498-.494.496.496 0 0 0-.498-.495.496.496 0 0 0-.498.495c0 .273.223.494.498.494m-.791-.09a.407.407 0 0 1-.408.405.407.407 0 0 1-.408-.405c0-.223.182-.405.408-.405s.408.181.408.405m-1.472-.765a.496.496 0 0 0 .498-.494.496.496 0 0 0-.498-.495.496.496 0 0 0-.498.495c0 .273.223.494.498.494m-.973-1.64c0 .31-.254.562-.566.562a.564.564 0 0 1-.566-.562c0-.31.253-.562.566-.562s.566.251.566.562m-.588-3.666a.564.564 0 0 0 .566-.562.564.564 0 0 0-.566-.562.564.564 0 0 0-.565.562c0 .31.253.562.565.562m.745-2.473a.496.496 0 0 1-.497.494.496.496 0 0 1-.498-.494c0-.273.223-.494.498-.494s.498.22.498.494Zm.047-1.123a.406.406 0 0 0 .407-.406.406.406 0 0 0-.407-.405.407.407 0 0 0-.408.405c0 .224.182.406.408.406m-.452-1.26a.496.496 0 0 1-.498.494.496.496 0 0 1-.498-.494c0-.273.223-.494.498-.494s.498.22.498.494m4.776 10.32a.564.564 0 0 0 .566-.561.564.564 0 0 0-.566-.562.564.564 0 0 0-.566.562c0 .31.253.562.566.562ZM12.883 4.439c0 .31-.254.562-.566.562a.564.564 0 0 1-.566-.562c0-.31.254-.562.566-.562s.566.251.566.562m-.18 2.945a.564.564 0 0 0 .566-.562.564.564 0 0 0-.566-.561.564.564 0 0 0-.566.561c0 .31.253.562.566.562m.045 1.597a.677.677 0 0 1-.68.676.68.68 0 0 1-.679-.676c0-.373.304-.675.68-.675.375 0 .68.302.68.675Zm-2.74.676a.79.79 0 0 0 .791-.786.79.79 0 0 0-.791-.787.79.79 0 0 0-.792.787c0 .434.354.786.792.786m-1.494-.36c0 .497-.405.9-.905.9a.903.903 0 0 1-.906-.9c0-.497.406-.9.906-.9s.905.403.905.9m-3.529 2.18a1.06 1.06 0 0 0 1.063-1.056 1.06 1.06 0 0 0-1.063-1.056A1.06 1.06 0 0 0 3.92 10.42a1.06 1.06 0 0 0 1.064 1.056Zm-1.45.9c0 .696-.568 1.26-1.268 1.26S1 13.073 1 12.377c0-.695.567-1.259 1.267-1.259s1.268.564 1.268 1.26Zm.386-3.531A1.06 1.06 0 0 0 4.985 7.79 1.06 1.06 0 0 0 3.92 6.733 1.06 1.06 0 0 0 2.858 7.79 1.06 1.06 0 0 0 3.92 8.846Zm3.53-2.181c0 .497-.405.9-.906.9a.903.903 0 0 1-.905-.9c0-.496.405-.9.905-.9s.906.404.906.9M6.162 5.182c.5 0 .905-.403.905-.9 0-.496-.405-.9-.905-.9s-.906.404-.906.9c0 .497.406.9.906.9m3.19-1.326a.79.79 0 0 1-.791.787.79.79 0 0 1-.792-.787c0-.434.354-.786.792-.786.437 0 .791.352.791.786m1.268.788c.375 0 .68-.303.68-.675a.677.677 0 0 0-.68-.676.68.68 0 0 0-.68.675c0 .373.304.676.68.676m1.063 1.708a.68.68 0 0 1-.68.675.677.677 0 0 1-.68-.675c0-.373.305-.675.68-.675s.68.302.68.675m-2.739.695a.79.79 0 0 0 .792-.786.79.79 0 0 0-.792-.786.79.79 0 0 0-.791.786c0 .434.354.786.791.786m-1.832 5.578a.407.407 0 0 1-.408.405.407.407 0 0 1-.408-.405c0-.223.182-.405.408-.405s.408.181.408.405m1.221.201a.496.496 0 0 0 .497-.494.496.496 0 0 0-.497-.495.496.496 0 0 0-.498.495c0 .273.223.494.498.494m2.354-1.236c0 .31-.253.562-.565.562a.564.564 0 0 1-.566-.562c0-.31.253-.562.566-.562s.565.252.565.562m-.135 2.361c.375 0 .68-.302.68-.675a.677.677 0 0 0-.68-.675.677.677 0 0 0-.68.675c0 .373.304.675.68.675m-1.608-.135c0 .31-.253.562-.566.562a.564.564 0 0 1-.565-.562c0-.31.253-.562.565-.562.313 0 .566.252.566.562m-2.488.538a.496.496 0 0 0 .498-.494.496.496 0 0 0-.498-.495.496.496 0 0 0-.498.495c0 .273.223.494.498.494m.588.991c0 .31-.254.562-.566.562a.564.564 0 0 1-.566-.562c0-.31.253-.562.566-.562s.566.252.566.562m1.742.855c.376 0 .68-.303.68-.675a.677.677 0 0 0-.68-.676.677.677 0 0 0-.68.675c0 .373.305.676.68.676m3.484-1.08a.79.79 0 0 1-.79.786.79.79 0 0 1-.792-.786c0-.435.354-.787.791-.787s.792.352.792.787Zm.794 2.743c.5 0 .906-.402.906-.9 0-.496-.406-.899-.906-.899s-.905.403-.905.9.405.9.905.9Zm-2.536-.518a.79.79 0 0 1-.792.786.79.79 0 0 1-.792-.787.79.79 0 0 1 .792-.786.79.79 0 0 1 .792.787m-2.669 2.316a.79.79 0 0 0 .791-.786.79.79 0 0 0-.792-.786.79.79 0 0 0-.791.786c0 .434.354.786.792.786m2.466 1.079c0 .497-.405.9-.905.9a.903.903 0 0 1-.906-.9c0-.496.405-.9.906-.9.5 0 .905.404.905.9M13.584 22a1.06 1.06 0 0 0 1.064-1.056 1.06 1.06 0 0 0-1.064-1.057 1.06 1.06 0 0 0-1.063 1.057A1.06 1.06 0 0 0 13.584 22m-1.379-2.788c0 .497-.405.9-.905.9a.903.903 0 0 1-.906-.9c0-.497.405-.9.905-.9s.906.403.906.9m3.123.54a1.06 1.06 0 0 0 1.063-1.057 1.06 1.06 0 0 0-1.063-1.056 1.06 1.06 0 0 0-1.064 1.056 1.06 1.06 0 0 0 1.064 1.057m-7.741-2.699a.677.677 0 0 1-.68.676.677.677 0 0 1-.68-.676c0-.373.305-.675.68-.675s.68.302.68.675"
323
482
  }
324
483
  )
325
484
  }
326
485
  );
327
486
  }
328
487
 
488
+ // src/components/connect-modal/wallet-list/WalletList.css.ts
489
+ var container6 = "WalletList_container__1tkdegw0";
490
+
329
491
  // src/components/connect-modal/wallet-list/WalletListItem.tsx
330
- var import_jsx_runtime6 = require("react/jsx-runtime");
331
- function WalletListItem({ name, icon: icon3, onClick, isSelected = false }) {
332
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("li", { className: container3, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
492
+ var import_clsx5 = require("clsx");
493
+
494
+ // src/components/connect-modal/wallet-list/WalletListItem.css.ts
495
+ var container7 = "WalletListItem_container__1vrvezk0";
496
+ var selectedWalletItem = "WalletListItem_selectedWalletItem__1vrvezk2";
497
+ var walletIcon2 = "WalletListItem_walletIcon__1vrvezk3";
498
+ var walletItem = "WalletListItem_walletItem__1vrvezk1";
499
+
500
+ // src/components/connect-modal/wallet-list/WalletListItem.tsx
501
+ var import_jsx_runtime13 = require("react/jsx-runtime");
502
+ function WalletListItem({ name, icon, onClick, isSelected = false }) {
503
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("li", { className: container7, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
333
504
  "button",
334
505
  {
335
- className: (0, import_clsx3.clsx)(walletItem, { [selectedWalletItem]: isSelected }),
506
+ className: (0, import_clsx5.clsx)(walletItem, { [selectedWalletItem]: isSelected }),
336
507
  type: "button",
337
508
  onClick,
338
509
  children: [
339
- /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: (0, import_clsx3.clsx)(walletName), children: [
340
- typeof icon3 === "string" ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("img", { className: walletIcon, src: icon3, alt: `${name} logo` }) : icon3,
341
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Heading, { size: "md", truncate: true, asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { children: name }) })
342
- ] }),
343
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ArrowRightIcon, {})
510
+ typeof icon === "string" ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("img", { className: walletIcon2, src: icon, alt: `${name} logo` }) : icon,
511
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Heading, { size: "md", truncate: true, asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { children: name }) })
344
512
  ]
345
513
  }
346
514
  ) });
347
515
  }
348
516
 
349
517
  // src/components/connect-modal/wallet-list/WalletList.tsx
350
- var import_jsx_runtime7 = require("react/jsx-runtime");
351
- function WalletList({ selectedWalletName, onSelect, wallets }) {
352
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("ul", { className: container2, children: wallets.map((wallet) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
518
+ var import_jsx_runtime14 = require("react/jsx-runtime");
519
+ function WalletList({ selectedWalletName, onPlaceholderClick, onSelect }) {
520
+ const wallets = useWallets();
521
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("ul", { className: container6, children: wallets.length > 0 ? wallets.map((wallet) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
353
522
  WalletListItem,
354
523
  {
355
524
  name: wallet.name,
@@ -358,597 +527,126 @@ function WalletList({ selectedWalletName, onSelect, wallets }) {
358
527
  onClick: () => onSelect(wallet)
359
528
  },
360
529
  getWalletUniqueIdentifier(wallet)
361
- )) });
530
+ )) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
531
+ WalletListItem,
532
+ {
533
+ name: "IOTA Wallet",
534
+ icon: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(IotaIcon, {}),
535
+ onClick: onPlaceholderClick,
536
+ isSelected: true
537
+ }
538
+ ) });
362
539
  }
363
540
 
364
- // src/components/connect-modal/views/WalletConnect.css.ts
365
- var confirmText = "WalletConnect_confirmText__uo0o3s6";
366
- var errorContainer = "WalletConnect_errorContainer__uo0o3s2";
367
- var errorMessage = "WalletConnect_errorMessage__uo0o3s3";
368
- var openingText = "WalletConnect_openingText__uo0o3s5";
369
- var separator2 = "WalletConnect_separator__uo0o3s7";
370
- var successContainer = "WalletConnect_successContainer__uo0o3s4";
371
- var walletConnectContainer = "WalletConnect_walletConnectContainer__uo0o3s0";
372
- var walletConnectFooter = "WalletConnect_walletConnectFooter__uo0o3s1";
373
-
374
- // src/components/ui/Button.tsx
375
- var import_react_slot4 = require("@radix-ui/react-slot");
376
- var import_clsx4 = __toESM(require("clsx"));
377
- var import_react6 = require("react");
378
-
379
- // src/components/ui/Button.css.ts
380
- var import_createRuntimeFn2 = require("@vanilla-extract/recipes/createRuntimeFn");
381
- var buttonVariants = (0, import_createRuntimeFn2.createRuntimeFn)({ 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: [] });
382
-
383
- // src/components/ui/Button.tsx
384
- var import_jsx_runtime8 = require("react/jsx-runtime");
385
- var Button = (0, import_react6.forwardRef)(
386
- ({ className, variant, size, asChild = false, ...props }, forwardedRef) => {
387
- const Comp = asChild ? import_react_slot4.Slot : "button";
388
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
389
- Comp,
390
- {
391
- ...props,
392
- className: (0, import_clsx4.default)(buttonVariants({ variant, size }), className),
393
- ref: forwardedRef
394
- }
395
- );
396
- }
397
- );
398
- Button.displayName = "Button";
399
-
400
- // src/components/connect-modal/views/WalletConnect.tsx
401
- var import_jsx_runtime9 = require("react/jsx-runtime");
402
- function WalletConnectListView({ wallets, onOpenChange }) {
403
- const [selectedWallet, setSelectedWallet] = (0, import_react7.useState)();
541
+ // src/components/connect-modal/ConnectModal.tsx
542
+ var import_jsx_runtime15 = require("react/jsx-runtime");
543
+ function ConnectModal({ trigger, open, defaultOpen, onOpenChange }) {
544
+ const [isModalOpen, setModalOpen] = (0, import_react8.useState)(open ?? defaultOpen);
545
+ const [currentView, setCurrentView] = (0, import_react8.useState)();
546
+ const [selectedWallet, setSelectedWallet] = (0, import_react8.useState)();
404
547
  const { mutate, isError } = useConnectWallet();
405
- function handleSelectWallet(wallet) {
406
- if (getWalletUniqueIdentifier(selectedWallet) !== getWalletUniqueIdentifier(wallet)) {
407
- setSelectedWallet(wallet);
408
- connectWallet(wallet);
409
- }
410
- }
411
- function resetSelection() {
548
+ const resetSelection = () => {
412
549
  setSelectedWallet(void 0);
413
- }
414
- function handleOpenChange(open) {
415
- if (!open) {
550
+ setCurrentView(void 0);
551
+ };
552
+ const handleOpenChange = (open2) => {
553
+ if (!open2) {
416
554
  resetSelection();
417
555
  }
418
- onOpenChange(open);
419
- }
420
- function connectWallet(wallet) {
556
+ setModalOpen(open2);
557
+ onOpenChange?.(open2);
558
+ };
559
+ const connectWallet = (wallet) => {
560
+ setCurrentView("connection-status");
421
561
  mutate(
422
562
  { wallet },
423
563
  {
424
564
  onSuccess: () => handleOpenChange(false)
425
565
  }
426
566
  );
567
+ };
568
+ let modalContent;
569
+ switch (currentView) {
570
+ case "what-is-a-wallet":
571
+ modalContent = /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(WhatIsAWallet, {});
572
+ break;
573
+ case "getting-started":
574
+ modalContent = /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(GettingStarted, {});
575
+ break;
576
+ case "connection-status":
577
+ modalContent = /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
578
+ ConnectionStatus,
579
+ {
580
+ selectedWallet,
581
+ hadConnectionError: isError,
582
+ onRetryConnection: connectWallet
583
+ }
584
+ );
585
+ break;
586
+ default:
587
+ modalContent = /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(WhatIsAWallet, {});
427
588
  }
428
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
429
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: walletConnectContainer, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
430
- WalletList,
431
- {
432
- selectedWalletName: getWalletUniqueIdentifier(selectedWallet),
433
- onSelect: handleSelectWallet,
434
- wallets
435
- }
436
- ) }),
437
- selectedWallet && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: walletConnectFooter, children: isError ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: errorContainer, children: [
438
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("p", { className: errorMessage, children: "Connection failed" }),
439
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
440
- Button,
589
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Dialog.Root, { open: open ?? isModalOpen, onOpenChange: handleOpenChange, children: [
590
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Trigger, { asChild: true, children: trigger }),
591
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Overlay, { className: overlay, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Dialog.Content, { className: content, "aria-describedby": void 0, children: [
592
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
593
+ "div",
441
594
  {
442
- size: "md",
443
- variant: "outline",
444
- onClick: () => connectWallet(selectedWallet),
445
- children: "Retry"
595
+ className: (0, import_clsx6.default)(walletListContainer, {
596
+ [walletListContainerWithViewSelected]: !!currentView
597
+ }),
598
+ children: [
599
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: walletListContent, children: [
600
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Title, { className: title, asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Heading, { as: "h2", children: "Connect a Wallet" }) }),
601
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
602
+ WalletList,
603
+ {
604
+ selectedWalletName: getWalletUniqueIdentifier(
605
+ selectedWallet
606
+ ),
607
+ onPlaceholderClick: () => setCurrentView("getting-started"),
608
+ onSelect: (wallet) => {
609
+ if (getWalletUniqueIdentifier(selectedWallet) !== getWalletUniqueIdentifier(wallet)) {
610
+ setSelectedWallet(wallet);
611
+ connectWallet(wallet);
612
+ }
613
+ }
614
+ }
615
+ )
616
+ ] }),
617
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
618
+ "button",
619
+ {
620
+ className: whatIsAWalletButton,
621
+ onClick: () => setCurrentView("what-is-a-wallet"),
622
+ type: "button",
623
+ children: "What is a Wallet?"
624
+ }
625
+ )
626
+ ]
446
627
  }
447
- )
448
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: successContainer, children: [
449
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("p", { className: openingText, children: [
450
- "Opening ",
451
- selectedWallet.name,
452
- "..."
453
- ] }),
454
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: separator2 }),
455
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("p", { className: confirmText, children: "Please confirm the connection in your wallet" })
456
- ] }) })
457
- ] });
458
- }
459
-
460
- // src/utils/stateStorage.ts
461
- function createInMemoryStore() {
462
- const store = /* @__PURE__ */ new Map();
463
- return {
464
- getItem(key) {
465
- return store.get(key);
466
- },
467
- setItem(key, value) {
468
- store.set(key, value);
469
- },
470
- removeItem(key) {
471
- store.delete(key);
472
- }
473
- };
474
- }
475
-
476
- // src/constants/walletDefaults.ts
477
- var IOTA_WALLET_NAME = "Iota Wallet";
478
- var DEFAULT_STORAGE = typeof window !== "undefined" && window.localStorage ? localStorage : createInMemoryStore();
479
- var DEFAULT_STORAGE_KEY = "iota-dapp-kit:wallet-connection-info";
480
- var DEFAULT_REQUIRED_FEATURES = [
481
- "iota:signTransactionBlock"
482
- ];
483
- var DEFAULT_PREFERRED_WALLETS = [IOTA_WALLET_NAME];
484
- var WALLET_CHROME_EXTENSION_ID = "TODO";
485
- var WALLET_DOWNLOAD_URL = "https://chromewebstore.google.com/detail/" + WALLET_CHROME_EXTENSION_ID;
486
-
487
- // src/components/icons/ArrowTopRightIcon.tsx
488
- var import_jsx_runtime10 = require("react/jsx-runtime");
489
- function ArrowTopRightIcon(props) {
490
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
491
- "svg",
492
- {
493
- xmlns: "http://www.w3.org/2000/svg",
494
- width: "24",
495
- height: "24",
496
- viewBox: "0 0 24 24",
497
- fill: "none",
498
- ...props,
499
- children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
500
- "path",
628
+ ),
629
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
630
+ "div",
501
631
  {
502
- d: "M17.4825 6.29014C17.3873 6.19563 17.2778 6.12421 17.161 6.07588C17.0431 6.02699 16.9138 6 16.7782 6L8.70711 6C8.15482 6 7.70711 6.44772 7.70711 7C7.70711 7.55228 8.15482 8 8.70711 8L14.364 8L6.29289 16.0711C5.90237 16.4616 5.90237 17.0948 6.29289 17.4853C6.68342 17.8758 7.31658 17.8758 7.70711 17.4853L15.7782 9.41421V15.0711C15.7782 15.6234 16.2259 16.0711 16.7782 16.0711C17.3305 16.0711 17.7782 15.6234 17.7782 15.0711L17.7782 7.0008C17.7782 6.86458 17.7509 6.73391 17.7016 6.61556C17.6531 6.49895 17.5816 6.38966 17.487 6.29464L17.4853 6.29289L17.4825 6.29014Z",
503
- fill: "currentColor"
632
+ className: (0, import_clsx6.default)(viewContainer, {
633
+ [selectedViewContainer]: !!currentView
634
+ }),
635
+ children: [
636
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: backButtonContainer, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
637
+ IconButton,
638
+ {
639
+ type: "button",
640
+ "aria-label": "Back",
641
+ onClick: () => resetSelection(),
642
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(BackIcon, {})
643
+ }
644
+ ) }),
645
+ modalContent
646
+ ]
504
647
  }
505
- )
506
- }
507
- );
508
- }
509
-
510
- // src/components/icons/IotaIcon.tsx
511
- var import_jsx_runtime11 = require("react/jsx-runtime");
512
- function IotaIcon(props) {
513
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
514
- "svg",
515
- {
516
- xmlns: "http://www.w3.org/2000/svg",
517
- width: "24",
518
- height: "24",
519
- viewBox: "0 0 24 24",
520
- fill: "none",
521
- ...props,
522
- children: [
523
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
524
- "path",
525
- {
526
- d: "M18.2698 2.25899C18.2698 2.95431 17.7023 3.51797 17.0023 3.51797C16.3024 3.51797 15.7349 2.95431 15.7349 2.25899C15.7349 1.56367 16.3024 1 17.0023 1C17.7023 1 18.2698 1.56367 18.2698 2.25899Z",
527
- fill: "currentColor"
528
- }
529
- ),
530
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
531
- "path",
532
- {
533
- d: "M19.6946 20.0436C19.6946 20.7389 19.1272 21.3026 18.4272 21.3026C17.7272 21.3026 17.1598 20.7389 17.1598 20.0436C17.1598 19.3483 17.7272 18.7846 18.4272 18.7846C19.1272 18.7846 19.6946 19.3483 19.6946 20.0436Z",
534
- fill: "currentColor"
535
- }
536
- ),
537
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
538
- "path",
539
- {
540
- d: "M17.3647 6.66519C17.952 6.66519 18.4282 6.19222 18.4282 5.60878C18.4282 5.02534 17.952 4.55236 17.3647 4.55236C16.7773 4.55236 16.3012 5.02534 16.3012 5.60878C16.3012 6.19222 16.7773 6.66519 17.3647 6.66519Z",
541
- fill: "currentColor"
542
- }
543
- ),
544
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
545
- "path",
546
- {
547
- d: "M21.2564 6.01379C21.2564 6.59723 20.7802 7.0702 20.1929 7.0702C19.6055 7.0702 19.1294 6.59723 19.1294 6.01379C19.1294 5.43034 19.6055 4.95737 20.1929 4.95737C20.7802 4.95737 21.2564 5.43034 21.2564 6.01379Z",
548
- fill: "currentColor"
549
- }
550
- ),
551
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
552
- "path",
553
- {
554
- d: "M17.0027 9.34312C17.5028 9.34312 17.9083 8.94036 17.9083 8.44353C17.9083 7.9467 17.5028 7.54394 17.0027 7.54394C16.5026 7.54394 16.0971 7.9467 16.0971 8.44353C16.0971 8.94036 16.5026 9.34312 17.0027 9.34312Z",
555
- fill: "currentColor"
556
- }
557
- ),
558
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
559
- "path",
560
- {
561
- d: "M20.7373 8.82346C20.7373 9.32029 20.3318 9.72305 19.8317 9.72305C19.3315 9.72305 18.9261 9.32029 18.9261 8.82346C18.9261 8.32663 19.3315 7.92388 19.8317 7.92388C20.3318 7.92388 20.7373 8.32663 20.7373 8.82346Z",
562
- fill: "currentColor"
563
- }
564
- ),
565
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
566
- "path",
567
- {
568
- d: "M22.0944 10.6007C22.5945 10.6007 23 10.1979 23 9.70111C23 9.20428 22.5945 8.80152 22.0944 8.80152C21.5942 8.80152 21.1888 9.20428 21.1888 9.70111C21.1888 10.1979 21.5942 10.6007 22.0944 10.6007Z",
569
- fill: "currentColor"
570
- }
571
- ),
572
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
573
- "path",
574
- {
575
- d: "M19.7849 11.0954C19.7849 11.5297 19.4305 11.8817 18.9933 11.8817C18.5562 11.8817 18.2018 11.5297 18.2018 11.0954C18.2018 10.6611 18.5562 10.3091 18.9933 10.3091C19.4305 10.3091 19.7849 10.6611 19.7849 11.0954Z",
576
- fill: "currentColor"
577
- }
578
- ),
579
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
580
- "path",
581
- {
582
- d: "M16.1651 11.4988C16.6023 11.4988 16.9567 11.1467 16.9567 10.7124C16.9567 10.2782 16.6023 9.92612 16.1651 9.92612C15.7279 9.92612 15.3735 10.2782 15.3735 10.7124C15.3735 11.1467 15.7279 11.4988 16.1651 11.4988Z",
583
- fill: "currentColor"
584
- }
585
- ),
586
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
587
- "path",
588
- {
589
- d: "M22.0722 11.9708C22.0722 12.405 21.7178 12.7571 21.2806 12.7571C20.8434 12.7571 20.489 12.405 20.489 11.9708C20.489 11.5365 20.8434 11.1845 21.2806 11.1845C21.7178 11.1845 22.0722 11.5365 22.0722 11.9708Z",
590
- fill: "currentColor"
591
- }
592
- ),
593
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
594
- "path",
595
- {
596
- d: "M17.8618 13.5243C18.2372 13.5243 18.5415 13.222 18.5415 12.849C18.5415 12.4761 18.2372 12.1738 17.8618 12.1738C17.4864 12.1738 17.182 12.4761 17.182 12.849C17.182 13.222 17.4864 13.5243 17.8618 13.5243Z",
597
- fill: "currentColor"
598
- }
599
- ),
600
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
601
- "path",
602
- {
603
- d: "M20.8296 13.7024C20.8296 14.0753 20.5252 14.3776 20.1498 14.3776C19.7744 14.3776 19.4701 14.0753 19.4701 13.7024C19.4701 13.3294 19.7744 13.0271 20.1498 13.0271C20.5252 13.0271 20.8296 13.3294 20.8296 13.7024Z",
604
- fill: "currentColor"
605
- }
606
- ),
607
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
608
- "path",
609
- {
610
- d: "M15.0558 13.12C15.4312 13.12 15.7356 12.8177 15.7356 12.4448C15.7356 12.0719 15.4312 11.7695 15.0558 11.7695C14.6804 11.7695 14.3761 12.0719 14.3761 12.4448C14.3761 12.8177 14.6804 13.12 15.0558 13.12Z",
611
- fill: "currentColor"
612
- }
613
- ),
614
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
615
- "path",
616
- {
617
- d: "M17.1825 14.0625C17.1825 14.3729 16.9292 14.6245 16.6168 14.6245C16.3043 14.6245 16.0511 14.3729 16.0511 14.0625C16.0511 13.7521 16.3043 13.5005 16.6168 13.5005C16.9292 13.5005 17.1825 13.7521 17.1825 14.0625Z",
618
- fill: "currentColor"
619
- }
620
- ),
621
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
622
- "path",
623
- {
624
- d: "M17.59 16.1771C17.8649 16.1771 18.0878 15.9557 18.0878 15.6826C18.0878 15.4095 17.8649 15.1882 17.59 15.1882C17.3151 15.1882 17.0923 15.4095 17.0923 15.6826C17.0923 15.9557 17.3151 16.1771 17.59 16.1771Z",
625
- fill: "currentColor"
626
- }
627
- ),
628
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
629
- "path",
630
- {
631
- d: "M16.7985 16.0872C16.7985 16.311 16.6159 16.4924 16.3906 16.4924C16.1654 16.4924 15.9828 16.311 15.9828 16.0872C15.9828 15.8635 16.1654 15.6821 16.3906 15.6821C16.6159 15.6821 16.7985 15.8635 16.7985 16.0872Z",
632
- fill: "currentColor"
633
- }
634
- ),
635
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
636
- "path",
637
- {
638
- d: "M15.3273 15.3222C15.6022 15.3222 15.825 15.1008 15.825 14.8278C15.825 14.5547 15.6022 14.3333 15.3273 14.3333C15.0524 14.3333 14.8295 14.5547 14.8295 14.8278C14.8295 15.1008 15.0524 15.3222 15.3273 15.3222Z",
639
- fill: "currentColor"
640
- }
641
- ),
642
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
643
- "path",
644
- {
645
- d: "M14.3535 13.6818C14.3535 13.9922 14.1003 14.2438 13.7878 14.2438C13.4754 14.2438 13.2221 13.9922 13.2221 13.6818C13.2221 13.3714 13.4754 13.1198 13.7878 13.1198C14.1003 13.1198 14.3535 13.3714 14.3535 13.6818Z",
646
- fill: "currentColor"
647
- }
648
- ),
649
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
650
- "path",
651
- {
652
- d: "M13.7663 10.0159C14.0788 10.0159 14.3321 9.76428 14.3321 9.45391C14.3321 9.14355 14.0788 8.89194 13.7663 8.89194C13.4539 8.89194 13.2006 9.14355 13.2006 9.45391C13.2006 9.76428 13.4539 10.0159 13.7663 10.0159Z",
653
- fill: "currentColor"
654
- }
655
- ),
656
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
657
- "path",
658
- {
659
- d: "M14.5115 7.54296C14.5115 7.81603 14.2886 8.03741 14.0137 8.03741C13.7388 8.03741 13.516 7.81603 13.516 7.54296C13.516 7.26988 13.7388 7.04851 14.0137 7.04851C14.2886 7.04851 14.5115 7.26988 14.5115 7.54296Z",
660
- fill: "currentColor"
661
- }
662
- ),
663
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
664
- "path",
665
- {
666
- d: "M14.5576 6.41961C14.7828 6.41961 14.9654 6.23823 14.9654 6.01447C14.9654 5.79072 14.7828 5.60933 14.5576 5.60933C14.3323 5.60933 14.1497 5.79072 14.1497 6.01447C14.1497 6.23823 14.3323 6.41961 14.5576 6.41961Z",
667
- fill: "currentColor"
668
- }
669
- ),
670
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
671
- "path",
672
- {
673
- d: "M14.1056 5.16003C14.1056 5.4331 13.8827 5.65448 13.6078 5.65448C13.3329 5.65448 13.1101 5.4331 13.1101 5.16003C13.1101 4.88695 13.3329 4.66558 13.6078 4.66558C13.8827 4.66558 14.1056 4.88695 14.1056 5.16003Z",
674
- fill: "currentColor"
675
- }
676
- ),
677
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
678
- "path",
679
- {
680
- d: "M18.8818 15.4808C19.1943 15.4808 19.4475 15.2292 19.4475 14.9189C19.4475 14.6085 19.1943 14.3569 18.8818 14.3569C18.5694 14.3569 18.3161 14.6085 18.3161 14.9189C18.3161 15.2292 18.5694 15.4808 18.8818 15.4808Z",
681
- fill: "currentColor"
682
- }
683
- ),
684
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
685
- "path",
686
- {
687
- d: "M12.8827 4.43881C12.8827 4.74918 12.6294 5.00078 12.3169 5.00078C12.0045 5.00078 11.7512 4.74918 11.7512 4.43881C11.7512 4.12845 12.0045 3.87684 12.3169 3.87684C12.6294 3.87684 12.8827 4.12845 12.8827 4.43881Z",
688
- fill: "currentColor"
689
- }
690
- ),
691
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
692
- "path",
693
- {
694
- d: "M12.7029 7.38447C13.0153 7.38447 13.2686 7.13287 13.2686 6.8225C13.2686 6.51214 13.0153 6.26053 12.7029 6.26053C12.3904 6.26053 12.1371 6.51214 12.1371 6.8225C12.1371 7.13287 12.3904 7.38447 12.7029 7.38447Z",
695
- fill: "currentColor"
696
- }
697
- ),
698
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
699
- "path",
700
- {
701
- d: "M12.7485 8.98132C12.7485 9.35424 12.4442 9.65656 12.0688 9.65656C11.6934 9.65656 11.389 9.35424 11.389 8.98132C11.389 8.6084 11.6934 8.30609 12.0688 8.30609C12.4442 8.30609 12.7485 8.6084 12.7485 8.98132Z",
702
- fill: "currentColor"
703
- }
704
- ),
705
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
706
- "path",
707
- {
708
- d: "M10.0077 9.65685C10.4448 9.65685 10.7992 9.3048 10.7992 8.87053C10.7992 8.43626 10.4448 8.08421 10.0077 8.08421C9.57049 8.08421 9.21609 8.43626 9.21609 8.87053C9.21609 9.3048 9.57049 9.65685 10.0077 9.65685Z",
709
- fill: "currentColor"
710
- }
711
- ),
712
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
713
- "path",
714
- {
715
- d: "M8.51443 9.29686C8.51443 9.79369 8.10898 10.1964 7.60883 10.1964C7.10868 10.1964 6.70323 9.79369 6.70323 9.29686C6.70323 8.80003 7.10868 8.39727 7.60883 8.39727C8.10898 8.39727 8.51443 8.80003 8.51443 9.29686Z",
716
- fill: "currentColor"
717
- }
718
- ),
719
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
720
- "path",
721
- {
722
- d: "M4.98453 11.4774C5.57188 11.4774 6.04801 11.0044 6.04801 10.421C6.04801 9.83755 5.57188 9.36458 4.98453 9.36458C4.39719 9.36458 3.92105 9.83755 3.92105 10.421C3.92105 11.0044 4.39719 11.4774 4.98453 11.4774Z",
723
- fill: "currentColor"
724
- }
725
- ),
726
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
727
- "path",
728
- {
729
- d: "M3.53481 12.3773C3.53481 13.0726 2.96737 13.6363 2.2674 13.6363C1.56744 13.6363 1 13.0726 1 12.3773C1 11.682 1.56744 11.1183 2.2674 11.1183C2.96737 11.1183 3.53481 11.682 3.53481 12.3773Z",
730
- fill: "currentColor"
731
- }
732
- ),
733
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
734
- "path",
735
- {
736
- d: "M3.92108 8.846C4.50842 8.846 4.98455 8.37303 4.98455 7.78959C4.98455 7.20614 4.50842 6.73317 3.92108 6.73317C3.33373 6.73317 2.8576 7.20614 2.8576 7.78959C2.8576 8.37303 3.33373 8.846 3.92108 8.846Z",
737
- fill: "currentColor"
738
- }
739
- ),
740
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
741
- "path",
742
- {
743
- d: "M7.45097 6.66545C7.45097 7.16228 7.04552 7.56504 6.54537 7.56504C6.04522 7.56504 5.63977 7.16228 5.63977 6.66545C5.63977 6.16862 6.04522 5.76586 6.54537 5.76586C7.04552 5.76586 7.45097 6.16862 7.45097 6.66545Z",
744
- fill: "currentColor"
745
- }
746
- ),
747
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
748
- "path",
749
- {
750
- d: "M6.16173 5.18211C6.66188 5.18211 7.06733 4.77935 7.06733 4.28252C7.06733 3.78569 6.66188 3.38293 6.16173 3.38293C5.66158 3.38293 5.25613 3.78569 5.25613 4.28252C5.25613 4.77935 5.66158 5.18211 6.16173 5.18211Z",
751
- fill: "currentColor"
752
- }
753
- ),
754
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
755
- "path",
756
- {
757
- d: "M9.35214 3.85619C9.35214 4.29046 8.99774 4.64251 8.56057 4.64251C8.12339 4.64251 7.76899 4.29046 7.76899 3.85619C7.76899 3.42192 8.12339 3.06987 8.56057 3.06987C8.99774 3.06987 9.35214 3.42192 9.35214 3.85619Z",
758
- fill: "currentColor"
759
- }
760
- ),
761
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
762
- "path",
763
- {
764
- d: "M10.6194 4.64374C10.9948 4.64374 11.2991 4.34143 11.2991 3.9685C11.2991 3.59558 10.9948 3.29327 10.6194 3.29327C10.244 3.29327 9.93964 3.59558 9.93964 3.9685C9.93964 4.34143 10.244 4.64374 10.6194 4.64374Z",
765
- fill: "currentColor"
766
- }
767
- ),
768
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
769
- "path",
770
- {
771
- d: "M11.6828 6.3522C11.6828 6.72512 11.3784 7.02743 11.003 7.02743C10.6276 7.02743 10.3233 6.72512 10.3233 6.3522C10.3233 5.97927 10.6276 5.67696 11.003 5.67696C11.3784 5.67696 11.6828 5.97927 11.6828 6.3522Z",
772
- fill: "currentColor"
773
- }
774
- ),
775
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
776
- "path",
777
- {
778
- d: "M8.94421 7.04748C9.38139 7.04748 9.73579 6.69543 9.73579 6.26116C9.73579 5.82688 9.38139 5.47484 8.94421 5.47484C8.50703 5.47484 8.15263 5.82688 8.15263 6.26116C8.15263 6.69543 8.50703 7.04748 8.94421 7.04748Z",
779
- fill: "currentColor"
780
- }
781
- ),
782
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
783
- "path",
784
- {
785
- d: "M7.1115 12.6253C7.1115 12.849 6.9289 13.0304 6.70365 13.0304C6.4784 13.0304 6.2958 12.849 6.2958 12.6253C6.2958 12.4015 6.4784 12.2201 6.70365 12.2201C6.9289 12.2201 7.1115 12.4015 7.1115 12.6253Z",
786
- fill: "currentColor"
787
- }
788
- ),
789
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
790
- "path",
791
- {
792
- d: "M8.33273 12.8261C8.60763 12.8261 8.83048 12.6047 8.83048 12.3316C8.83048 12.0585 8.60763 11.8372 8.33273 11.8372C8.05782 11.8372 7.83497 12.0585 7.83497 12.3316C7.83497 12.6047 8.05782 12.8261 8.33273 12.8261Z",
793
- fill: "currentColor"
794
- }
795
- ),
796
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
797
- "path",
798
- {
799
- d: "M10.6874 11.5899C10.6874 11.9003 10.4342 12.1519 10.1217 12.1519C9.80928 12.1519 9.55599 11.9003 9.55599 11.5899C9.55599 11.2795 9.80928 11.0279 10.1217 11.0279C10.4342 11.0279 10.6874 11.2795 10.6874 11.5899Z",
800
- fill: "currentColor"
801
- }
802
- ),
803
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
804
- "path",
805
- {
806
- d: "M10.5519 13.9513C10.9273 13.9513 11.2316 13.649 11.2316 13.2761C11.2316 12.9031 10.9273 12.6008 10.5519 12.6008C10.1764 12.6008 9.87212 12.9031 9.87212 13.2761C9.87212 13.649 10.1764 13.9513 10.5519 13.9513Z",
807
- fill: "currentColor"
808
- }
809
- ),
810
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
811
- "path",
812
- {
813
- d: "M8.94418 13.8163C8.94418 14.1267 8.69089 14.3783 8.37845 14.3783C8.06601 14.3783 7.81272 14.1267 7.81272 13.8163C7.81272 13.5059 8.06601 13.2543 8.37845 13.2543C8.69089 13.2543 8.94418 13.5059 8.94418 13.8163Z",
814
- fill: "currentColor"
815
- }
816
- ),
817
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
818
- "path",
819
- {
820
- d: "M6.45595 14.3542C6.73085 14.3542 6.9537 14.1328 6.9537 13.8597C6.9537 13.5866 6.73085 13.3653 6.45595 13.3653C6.18105 13.3653 5.95819 13.5866 5.95819 13.8597C5.95819 14.1328 6.18105 14.3542 6.45595 14.3542Z",
821
- fill: "currentColor"
822
- }
823
- ),
824
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
825
- "path",
826
- {
827
- d: "M7.04361 15.3451C7.04361 15.6555 6.79033 15.9071 6.47788 15.9071C6.16544 15.9071 5.91216 15.6555 5.91216 15.3451C5.91216 15.0348 6.16544 14.7832 6.47788 14.7832C6.79033 14.7832 7.04361 15.0348 7.04361 15.3451Z",
828
- fill: "currentColor"
829
- }
830
- ),
831
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
832
- "path",
833
- {
834
- d: "M8.78634 16.1997C9.16176 16.1997 9.46609 15.8974 9.46609 15.5245C9.46609 15.1516 9.16176 14.8493 8.78634 14.8493C8.41093 14.8493 8.10659 15.1516 8.10659 15.5245C8.10659 15.8974 8.41093 16.1997 8.78634 16.1997Z",
835
- fill: "currentColor"
836
- }
837
- ),
838
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
839
- "path",
840
- {
841
- d: "M12.2709 15.1196C12.2709 15.5539 11.9165 15.906 11.4793 15.906C11.0421 15.906 10.6877 15.5539 10.6877 15.1196C10.6877 14.6854 11.0421 14.3333 11.4793 14.3333C11.9165 14.3333 12.2709 14.6854 12.2709 15.1196Z",
842
- fill: "currentColor"
843
- }
844
- ),
845
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
846
- "path",
847
- {
848
- d: "M13.0642 17.8635C13.5644 17.8635 13.9698 17.4607 13.9698 16.9639C13.9698 16.4671 13.5644 16.0643 13.0642 16.0643C12.5641 16.0643 12.1586 16.4671 12.1586 16.9639C12.1586 17.4607 12.5641 17.8635 13.0642 17.8635Z",
849
- fill: "currentColor"
850
- }
851
- ),
852
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
853
- "path",
854
- {
855
- d: "M10.5276 17.3445C10.5276 17.7788 10.1732 18.1308 9.73605 18.1308C9.29887 18.1308 8.94447 17.7788 8.94447 17.3445C8.94447 16.9103 9.29887 16.5582 9.73605 16.5582C10.1732 16.5582 10.5276 16.9103 10.5276 17.3445Z",
856
- fill: "currentColor"
857
- }
858
- ),
859
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
860
- "path",
861
- {
862
- d: "M7.8585 19.6612C8.29568 19.6612 8.65008 19.3092 8.65008 18.8749C8.65008 18.4406 8.29568 18.0886 7.8585 18.0886C7.42132 18.0886 7.06692 18.4406 7.06692 18.8749C7.06692 19.3092 7.42132 19.6612 7.8585 19.6612Z",
863
- fill: "currentColor"
864
- }
865
- ),
866
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
867
- "path",
868
- {
869
- d: "M10.3252 20.7404C10.3252 21.2372 9.91977 21.64 9.41962 21.64C8.91947 21.64 8.51402 21.2372 8.51402 20.7404C8.51402 20.2436 8.91947 19.8408 9.41962 19.8408C9.91977 19.8408 10.3252 20.2436 10.3252 20.7404Z",
870
- fill: "currentColor"
871
- }
872
- ),
873
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
874
- "path",
875
- {
876
- d: "M13.5843 22C14.1716 22 14.6477 21.527 14.6477 20.9436C14.6477 20.3601 14.1716 19.8872 13.5843 19.8872C12.9969 19.8872 12.5208 20.3601 12.5208 20.9436C12.5208 21.527 12.9969 22 13.5843 22Z",
877
- fill: "currentColor"
878
- }
879
- ),
880
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
881
- "path",
882
- {
883
- d: "M12.2051 19.2123C12.2051 19.7091 11.7996 20.1119 11.2995 20.1119C10.7993 20.1119 10.3939 19.7091 10.3939 19.2123C10.3939 18.7155 10.7993 18.3127 11.2995 18.3127C11.7996 18.3127 12.2051 18.7155 12.2051 19.2123Z",
884
- fill: "currentColor"
885
- }
886
- ),
887
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
888
- "path",
889
- {
890
- d: "M15.3275 19.7516C15.9149 19.7516 16.391 19.2786 16.391 18.6951C16.391 18.1117 15.9149 17.6387 15.3275 17.6387C14.7402 17.6387 14.2641 18.1117 14.2641 18.6951C14.2641 19.2786 14.7402 19.7516 15.3275 19.7516Z",
891
- fill: "currentColor"
892
- }
893
- ),
894
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
895
- "path",
896
- {
897
- d: "M7.58701 17.0534C7.58701 17.4263 7.28268 17.7286 6.90726 17.7286C6.53185 17.7286 6.22751 17.4263 6.22751 17.0534C6.22751 16.6804 6.53185 16.3781 6.90726 16.3781C7.28268 16.3781 7.58701 16.6804 7.58701 17.0534Z",
898
- fill: "currentColor"
899
- }
900
- )
901
- ]
902
- }
903
- );
904
- }
905
-
906
- // src/components/connect-modal/views/GetTheWallet.css.ts
907
- var button = "GetTheWallet_button__1iomrym3";
908
- var container4 = "GetTheWallet_container__1iomrym0";
909
- var content2 = "GetTheWallet_content__1iomrym1";
910
- var icon = "GetTheWallet_icon__1iomrym4";
911
- var text = "GetTheWallet_text__1iomrym2";
912
-
913
- // src/components/connect-modal/views/GetTheWallet.tsx
914
- var import_jsx_runtime12 = require("react/jsx-runtime");
915
- function GetTheWalletView() {
916
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: container4, children: [
917
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: content2, children: [
918
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(IotaIcon, { className: icon, width: 48, height: 48 }),
919
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("p", { className: text, children: "Don't have a wallet yet?" })
920
- ] }),
921
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("a", { href: WALLET_DOWNLOAD_URL, target: "_blank", rel: "noopener noreferrer", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Button, { size: "md", variant: "primary", className: button, children: [
922
- "Get the IOTA wallet",
923
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ArrowTopRightIcon, { width: 16, height: 16 })
924
- ] }) })
925
- ] });
926
- }
927
-
928
- // src/components/connect-modal/ConnectModal.tsx
929
- var import_jsx_runtime13 = require("react/jsx-runtime");
930
- function ConnectModal({ trigger, open, defaultOpen, onOpenChange }) {
931
- const wallets = useWallets();
932
- const [isModalOpen, setModalOpen] = (0, import_react8.useState)(open ?? defaultOpen);
933
- const handleOpenChange = (open2) => {
934
- setModalOpen(open2);
935
- onOpenChange?.(open2);
936
- };
937
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Dialog.Root, { open: open ?? isModalOpen, onOpenChange: handleOpenChange, children: [
938
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Dialog.Trigger, { asChild: true, children: trigger }),
939
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Dialog.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Dialog.Overlay, { className: overlay, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Dialog.Content, { className: content, "aria-describedby": void 0, children: [
940
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: walletListContent, children: [
941
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Dialog.Title, { className: title, asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Heading, { as: "h2", children: "Connect a Wallet" }) }),
942
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: separator }),
943
- wallets?.length ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
944
- WalletConnectListView,
945
- {
946
- wallets,
947
- onOpenChange: handleOpenChange
948
- }
949
- ) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(GetTheWalletView, {})
950
- ] }),
951
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Dialog.Close, { className: closeButtonContainer, asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(IconButton, { type: "button", "aria-label": "Close", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(CloseIcon, {}) }) })
648
+ ),
649
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Close, { className: closeButtonContainer, asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(IconButton, { type: "button", "aria-label": "Close", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(CloseIcon, {}) }) })
952
650
  ] }) }) }) })
953
651
  ] });
954
652
  }
@@ -961,7 +659,7 @@ function useCurrentAccount() {
961
659
  // src/components/AccountDropdownMenu.tsx
962
660
  var import_utils = require("@iota/iota-sdk/utils");
963
661
  var DropdownMenu = __toESM(require("@radix-ui/react-dropdown-menu"));
964
- var import_clsx6 = __toESM(require("clsx"));
662
+ var import_clsx7 = __toESM(require("clsx"));
965
663
 
966
664
  // src/hooks/wallet/useAccounts.ts
967
665
  function useAccounts() {
@@ -984,31 +682,35 @@ var WalletAccountNotFoundError = class extends Error {
984
682
  // src/hooks/wallet/useCurrentWallet.ts
985
683
  function useCurrentWallet() {
986
684
  const currentWallet = useWalletStore((state) => state.currentWallet);
987
- const connectionStatus = useWalletStore((state) => state.connectionStatus);
988
- switch (connectionStatus) {
685
+ const connectionStatus2 = useWalletStore((state) => state.connectionStatus);
686
+ const supportedIntents = useWalletStore((state) => state.supportedIntents);
687
+ switch (connectionStatus2) {
989
688
  case "connecting":
990
689
  return {
991
- connectionStatus,
690
+ connectionStatus: connectionStatus2,
992
691
  currentWallet: null,
993
692
  isDisconnected: false,
994
693
  isConnecting: true,
995
- isConnected: false
694
+ isConnected: false,
695
+ supportedIntents: []
996
696
  };
997
697
  case "disconnected":
998
698
  return {
999
- connectionStatus,
699
+ connectionStatus: connectionStatus2,
1000
700
  currentWallet: null,
1001
701
  isDisconnected: true,
1002
702
  isConnecting: false,
1003
- isConnected: false
703
+ isConnected: false,
704
+ supportedIntents: []
1004
705
  };
1005
706
  case "connected": {
1006
707
  return {
1007
- connectionStatus,
708
+ connectionStatus: connectionStatus2,
1008
709
  currentWallet,
1009
710
  isDisconnected: false,
1010
711
  isConnecting: false,
1011
- isConnected: true
712
+ isConnected: true,
713
+ supportedIntents
1012
714
  };
1013
715
  }
1014
716
  }
@@ -1071,17 +773,16 @@ function useSwitchAccount({
1071
773
 
1072
774
  // src/components/AccountDropdownMenu.css.ts
1073
775
  var connectedAccount = "AccountDropdownMenu_connectedAccount__1x0gmpf0";
1074
- var icon2 = "AccountDropdownMenu_icon__1x0gmpf2";
1075
776
  var menuContainer = "AccountDropdownMenu_menuContainer__1x0gmpf1";
1076
- var menuContent = "AccountDropdownMenu_menuContent__1x0gmpf3";
1077
- var menuItem = "AccountDropdownMenu_menuItem__1x0gmpf4";
1078
- var separator3 = "AccountDropdownMenu_separator__1x0gmpf6";
1079
- var switchAccountMenuItem = "AccountDropdownMenu_switchAccountMenuItem__1x0gmpf5";
777
+ var menuContent = "AccountDropdownMenu_menuContent__1x0gmpf2";
778
+ var menuItem = "AccountDropdownMenu_menuItem__1x0gmpf3";
779
+ var separator = "AccountDropdownMenu_separator__1x0gmpf5";
780
+ var switchAccountMenuItem = "AccountDropdownMenu_switchAccountMenuItem__1x0gmpf4";
1080
781
 
1081
782
  // src/components/icons/CheckIcon.tsx
1082
- var import_jsx_runtime14 = require("react/jsx-runtime");
783
+ var import_jsx_runtime16 = require("react/jsx-runtime");
1083
784
  function CheckIcon(props) {
1084
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, fill: "none", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
785
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, fill: "none", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1085
786
  "path",
1086
787
  {
1087
788
  fill: "currentColor",
@@ -1091,9 +792,9 @@ function CheckIcon(props) {
1091
792
  }
1092
793
 
1093
794
  // src/components/icons/ChevronIcon.tsx
1094
- var import_jsx_runtime15 = require("react/jsx-runtime");
795
+ var import_jsx_runtime17 = require("react/jsx-runtime");
1095
796
  function ChevronIcon(props) {
1096
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, fill: "none", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
797
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, fill: "none", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1097
798
  "path",
1098
799
  {
1099
800
  stroke: "#A0B6C3",
@@ -1101,58 +802,22 @@ function ChevronIcon(props) {
1101
802
  strokeLinejoin: "round",
1102
803
  strokeWidth: 1.5,
1103
804
  d: "m4 6 4 4 4-4"
1104
- }
1105
- ) });
1106
- }
1107
-
1108
- // src/components/ui/Text.tsx
1109
- var import_react_slot5 = require("@radix-ui/react-slot");
1110
- var import_clsx5 = __toESM(require("clsx"));
1111
- var import_react9 = require("react");
1112
-
1113
- // src/components/ui/Text.css.ts
1114
- var import_createRuntimeFn3 = require("@vanilla-extract/recipes/createRuntimeFn");
1115
- var textVariants = (0, import_createRuntimeFn3.createRuntimeFn)({ defaultClassName: "Text__aprhbd0", variantClassNames: { size: { sm: "Text_textVariants_size_sm__aprhbd1" }, weight: { normal: "Text_textVariants_weight_normal__aprhbd2", medium: "Text_textVariants_weight_medium__aprhbd3", bold: "Text_textVariants_weight_bold__aprhbd4" }, color: { body: "Text_textVariants_color_body__aprhbd5", muted: "Text_textVariants_color_muted__aprhbd6", danger: "Text_textVariants_color_danger__aprhbd7" }, mono: { true: "Text_textVariants_mono_true__aprhbd8" } }, defaultVariants: { size: "sm", weight: "normal" }, compoundVariants: [] });
1116
-
1117
- // src/components/ui/Text.tsx
1118
- var import_jsx_runtime16 = require("react/jsx-runtime");
1119
- var Text = (0, import_react9.forwardRef)(
1120
- ({
1121
- children,
1122
- className,
1123
- asChild = false,
1124
- as: Tag = "div",
1125
- size,
1126
- weight,
1127
- color,
1128
- mono,
1129
- ...textProps
1130
- }, forwardedRef) => {
1131
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1132
- import_react_slot5.Slot,
1133
- {
1134
- ...textProps,
1135
- ref: forwardedRef,
1136
- className: (0, import_clsx5.default)(textVariants({ size, weight, color, mono }), className),
1137
- children: asChild ? children : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Tag, { children })
1138
- }
1139
- );
1140
- }
1141
- );
1142
- Text.displayName = "Text";
805
+ }
806
+ ) });
807
+ }
1143
808
 
1144
809
  // src/components/AccountDropdownMenu.tsx
1145
- var import_jsx_runtime17 = require("react/jsx-runtime");
1146
- function AccountDropdownMenu({ currentAccount }) {
810
+ var import_jsx_runtime18 = require("react/jsx-runtime");
811
+ function AccountDropdownMenu({ currentAccount, size = "lg" }) {
1147
812
  const { mutate: disconnectWallet } = useDisconnectWallet();
1148
813
  const accounts = useAccounts();
1149
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(DropdownMenu.Root, { modal: false, children: [
1150
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Button, { size: "md", className: connectedAccount, children: [
1151
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Text, { children: currentAccount.label ?? (0, import_utils.formatAddress)(currentAccount.address) }),
1152
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ChevronIcon, { className: icon2 })
814
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(DropdownMenu.Root, { modal: false, children: [
815
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Button, { size, className: connectedAccount, children: [
816
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { mono: true, weight: "bold", children: currentAccount.label ?? (0, import_utils.formatAddress)(currentAccount.address) }),
817
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ChevronIcon, {})
1153
818
  ] }) }) }),
1154
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DropdownMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(StyleMarker, { className: menuContainer, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(DropdownMenu.Content, { className: menuContent, children: [
1155
- accounts.map((account) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
819
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DropdownMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(StyleMarker, { className: menuContainer, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(DropdownMenu.Content, { className: menuContent, children: [
820
+ accounts.map((account) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1156
821
  AccountDropdownMenuItem,
1157
822
  {
1158
823
  account,
@@ -1160,11 +825,11 @@ function AccountDropdownMenu({ currentAccount }) {
1160
825
  },
1161
826
  account.address
1162
827
  )),
1163
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DropdownMenu.Separator, { className: separator3 }),
1164
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
828
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DropdownMenu.Separator, { className: separator }),
829
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1165
830
  DropdownMenu.Item,
1166
831
  {
1167
- className: (0, import_clsx6.default)(menuItem),
832
+ className: (0, import_clsx7.default)(menuItem),
1168
833
  onSelect: () => disconnectWallet(),
1169
834
  children: "Disconnect"
1170
835
  }
@@ -1177,38 +842,42 @@ function AccountDropdownMenuItem({
1177
842
  active
1178
843
  }) {
1179
844
  const { mutate: switchAccount } = useSwitchAccount();
1180
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
845
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
1181
846
  DropdownMenu.Item,
1182
847
  {
1183
- className: (0, import_clsx6.default)(menuItem, switchAccountMenuItem),
848
+ className: (0, import_clsx7.default)(menuItem, switchAccountMenuItem),
1184
849
  onSelect: () => switchAccount({ account }),
1185
850
  children: [
1186
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Text, { children: account.label ?? (0, import_utils.formatAddress)(account.address) }),
1187
- active ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CheckIcon, {}) : null
851
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { mono: true, children: account.label ?? (0, import_utils.formatAddress)(account.address) }),
852
+ active ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(CheckIcon, {}) : null
1188
853
  ]
1189
854
  }
1190
855
  );
1191
856
  }
1192
857
 
1193
858
  // src/components/ConnectButton.tsx
1194
- var import_jsx_runtime18 = require("react/jsx-runtime");
1195
- function ConnectButton({ connectText = "Connect", ...buttonProps }) {
859
+ var import_jsx_runtime19 = require("react/jsx-runtime");
860
+ function ConnectButton({
861
+ connectText = "Connect Wallet",
862
+ size,
863
+ ...buttonProps
864
+ }) {
1196
865
  const currentAccount = useCurrentAccount();
1197
- return currentAccount ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(AccountDropdownMenu, { currentAccount }) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
866
+ return currentAccount ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(AccountDropdownMenu, { currentAccount, size }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1198
867
  ConnectModal,
1199
868
  {
1200
- trigger: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Button, { ...buttonProps, children: connectText }) })
869
+ trigger: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Button, { ...buttonProps, size, children: connectText }) })
1201
870
  }
1202
871
  );
1203
872
  }
1204
873
 
1205
874
  // src/components/IotaClientProvider.tsx
1206
875
  var import_client = require("@iota/iota-sdk/client");
1207
- var import_react10 = require("react");
1208
- var import_jsx_runtime19 = require("react/jsx-runtime");
1209
- var IotaClientContext = (0, import_react10.createContext)(null);
876
+ var import_react9 = require("react");
877
+ var import_jsx_runtime20 = require("react/jsx-runtime");
878
+ var IotaClientContext = (0, import_react9.createContext)(null);
1210
879
  var DEFAULT_NETWORKS = {
1211
- localnet: { url: (0, import_client.getNetwork)(import_client.Network.Local).url }
880
+ localnet: { url: (0, import_client.getNetwork)(import_client.Network.Localnet).url }
1212
881
  };
1213
882
  var DEFAULT_CREATE_CLIENT = function createClient(_name, config) {
1214
883
  if ((0, import_client.isIotaClient)(config)) {
@@ -1220,14 +889,14 @@ function IotaClientProvider(props) {
1220
889
  const { onNetworkChange, network, children } = props;
1221
890
  const networks = props.networks ?? DEFAULT_NETWORKS;
1222
891
  const createClient2 = props.createClient ?? DEFAULT_CREATE_CLIENT;
1223
- const [selectedNetwork, setSelectedNetwork] = (0, import_react10.useState)(
892
+ const [selectedNetwork, setSelectedNetwork] = (0, import_react9.useState)(
1224
893
  props.network ?? props.defaultNetwork ?? Object.keys(networks)[0]
1225
894
  );
1226
895
  const currentNetwork = props.network ?? selectedNetwork;
1227
- const client = (0, import_react10.useMemo)(() => {
896
+ const client = (0, import_react9.useMemo)(() => {
1228
897
  return createClient2(currentNetwork, networks[currentNetwork]);
1229
898
  }, [createClient2, currentNetwork, networks]);
1230
- const ctx = (0, import_react10.useMemo)(() => {
899
+ const ctx = (0, import_react9.useMemo)(() => {
1231
900
  return {
1232
901
  client,
1233
902
  networks,
@@ -1244,15 +913,41 @@ function IotaClientProvider(props) {
1244
913
  }
1245
914
  };
1246
915
  }, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);
1247
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(IotaClientContext.Provider, { value: ctx, children });
916
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(IotaClientContext.Provider, { value: ctx, children });
1248
917
  }
1249
918
 
1250
919
  // src/components/WalletProvider.tsx
1251
- var import_react16 = require("react");
920
+ var import_react15 = require("react");
921
+
922
+ // src/utils/stateStorage.ts
923
+ function createInMemoryStore() {
924
+ const store = /* @__PURE__ */ new Map();
925
+ return {
926
+ getItem(key) {
927
+ return store.get(key);
928
+ },
929
+ setItem(key, value) {
930
+ store.set(key, value);
931
+ },
932
+ removeItem(key) {
933
+ store.delete(key);
934
+ }
935
+ };
936
+ }
937
+
938
+ // src/constants/walletDefaults.ts
939
+ var IOTA_WALLET_NAME = "IOTA Wallet";
940
+ var DEFAULT_STORAGE = typeof window !== "undefined" && window.localStorage ? localStorage : createInMemoryStore();
941
+ var DEFAULT_STORAGE_KEY = "iota-dapp-kit:wallet-connection-info";
942
+ var SIGN_FEATURES = ["iota:signTransaction"];
943
+ var DEFAULT_WALLET_FILTER = (wallet) => SIGN_FEATURES.some((feature) => wallet.features[feature]);
944
+ var DEFAULT_PREFERRED_WALLETS = [IOTA_WALLET_NAME];
945
+ var WALLET_CHROME_EXTENSION_ID = "TODO";
946
+ var WALLET_DOWNLOAD_URL = "https://chromewebstore.google.com/detail/" + WALLET_CHROME_EXTENSION_ID;
1252
947
 
1253
948
  // src/hooks/wallet/useAutoConnectWallet.ts
1254
949
  var import_react_query4 = require("@tanstack/react-query");
1255
- var import_react11 = require("react");
950
+ var import_react10 = require("react");
1256
951
  function useAutoConnectWallet() {
1257
952
  const { mutateAsync: connectWallet } = useConnectWallet();
1258
953
  const autoConnectEnabled = useWalletStore((state) => state.autoConnectEnabled);
@@ -1262,8 +957,8 @@ function useAutoConnectWallet() {
1262
957
  );
1263
958
  const wallets = useWallets();
1264
959
  const { isConnected } = useCurrentWallet();
1265
- const [clientOnly, setClientOnly] = (0, import_react11.useState)(false);
1266
- (0, import_react11.useLayoutEffect)(() => {
960
+ const [clientOnly, setClientOnly] = (0, import_react10.useState)(false);
961
+ (0, import_react10.useLayoutEffect)(() => {
1267
962
  setClientOnly(true);
1268
963
  }, []);
1269
964
  const { data, isError } = (0, import_react_query4.useQuery)({
@@ -1327,13 +1022,15 @@ function useAutoConnectWallet() {
1327
1022
 
1328
1023
  // src/hooks/wallet/useUnsafeBurnerWallet.ts
1329
1024
  var import_ed25519 = require("@iota/iota-sdk/keypairs/ed25519");
1025
+ var import_transactions = require("@iota/iota-sdk/transactions");
1026
+ var import_utils2 = require("@iota/iota-sdk/utils");
1330
1027
  var import_wallet_standard3 = require("@iota/wallet-standard");
1331
- var import_react13 = require("react");
1028
+ var import_react12 = require("react");
1332
1029
 
1333
1030
  // src/hooks/useIotaClient.ts
1334
- var import_react12 = require("react");
1031
+ var import_react11 = require("react");
1335
1032
  function useIotaClientContext() {
1336
- const iotaClient = (0, import_react12.useContext)(IotaClientContext);
1033
+ const iotaClient = (0, import_react11.useContext)(IotaClientContext);
1337
1034
  if (!iotaClient) {
1338
1035
  throw new Error(
1339
1036
  "Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider"
@@ -1349,7 +1046,7 @@ function useIotaClient() {
1349
1046
  var WALLET_NAME = "Unsafe Burner Wallet";
1350
1047
  function useUnsafeBurnerWallet(enabled) {
1351
1048
  const iotaClient = useIotaClient();
1352
- (0, import_react13.useEffect)(() => {
1049
+ (0, import_react12.useEffect)(() => {
1353
1050
  if (!enabled) {
1354
1051
  return;
1355
1052
  }
@@ -1358,7 +1055,7 @@ function useUnsafeBurnerWallet(enabled) {
1358
1055
  }, [enabled, iotaClient]);
1359
1056
  }
1360
1057
  function registerUnsafeBurnerWallet(iotaClient) {
1361
- var _on, _connect, _signPersonalMessage, _signTransactionBlock, _signAndExecuteTransactionBlock;
1058
+ var _on, _connect, _signPersonalMessage, _signTransaction, _signAndExecuteTransaction;
1362
1059
  const walletsApi = (0, import_wallet_standard3.getWallets)();
1363
1060
  const registeredWallets = walletsApi.get();
1364
1061
  if (registeredWallets.find((wallet) => wallet.name === WALLET_NAME)) {
@@ -1375,7 +1072,7 @@ function registerUnsafeBurnerWallet(iotaClient) {
1375
1072
  address: keypair.getPublicKey().toIotaAddress(),
1376
1073
  publicKey: keypair.getPublicKey().toIotaBytes(),
1377
1074
  chains: ["iota:unknown"],
1378
- features: ["iota:signAndExecuteTransactionBlock", "iota:signTransactionBlock"]
1075
+ features: ["iota:signTransaction", "iota:signAndExecuteTransaction"]
1379
1076
  });
1380
1077
  class UnsafeBurnerWallet {
1381
1078
  constructor() {
@@ -1390,23 +1087,40 @@ function registerUnsafeBurnerWallet(iotaClient) {
1390
1087
  const { bytes, signature } = await keypair.signPersonalMessage(messageInput.message);
1391
1088
  return { bytes, signature };
1392
1089
  });
1393
- __privateAdd(this, _signTransactionBlock, async (transactionInput) => {
1394
- const { bytes, signature } = await transactionInput.transactionBlock.sign({
1090
+ __privateAdd(this, _signTransaction, async (transactionInput) => {
1091
+ const { bytes, signature } = await import_transactions.Transaction.from(
1092
+ await transactionInput.transaction.toJSON()
1093
+ ).sign({
1395
1094
  client: iotaClient,
1396
1095
  signer: keypair
1397
1096
  });
1097
+ transactionInput.signal?.throwIfAborted();
1398
1098
  return {
1399
- transactionBlockBytes: bytes,
1099
+ bytes,
1400
1100
  signature
1401
1101
  };
1402
1102
  });
1403
- __privateAdd(this, _signAndExecuteTransactionBlock, async (transactionInput) => {
1404
- return await iotaClient.signAndExecuteTransactionBlock({
1405
- signer: keypair,
1406
- transactionBlock: transactionInput.transactionBlock,
1407
- options: transactionInput.options,
1408
- requestType: transactionInput.requestType
1103
+ __privateAdd(this, _signAndExecuteTransaction, async (transactionInput) => {
1104
+ const { bytes, signature } = await import_transactions.Transaction.from(
1105
+ await transactionInput.transaction.toJSON()
1106
+ ).sign({
1107
+ client: iotaClient,
1108
+ signer: keypair
1109
+ });
1110
+ transactionInput.signal?.throwIfAborted();
1111
+ const { rawEffects, digest } = await iotaClient.executeTransactionBlock({
1112
+ signature,
1113
+ transactionBlock: bytes,
1114
+ options: {
1115
+ showRawEffects: true
1116
+ }
1409
1117
  });
1118
+ return {
1119
+ bytes,
1120
+ signature,
1121
+ digest,
1122
+ effects: (0, import_utils2.toB64)(new Uint8Array(rawEffects))
1123
+ };
1410
1124
  });
1411
1125
  }
1412
1126
  get version() {
@@ -1418,7 +1132,7 @@ function registerUnsafeBurnerWallet(iotaClient) {
1418
1132
  get icon() {
1419
1133
  return "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAJrElEQVR42tWbe2xT1x3H7UxAyD3XrdrSbGXlUbKWsq5rWdVuVOMRSEqSOmnVRZMmJqZNYv1nf3R/jWmVmVrtRRM/YwPd1nVTNcrE3pQCoikrIRAC4VVNY0hlD9ZOo1uCfe3ra9979v0dcy3s5Pper76Oh/STE+495/4+5/c85zqe2f7HAx5vKsS+monJj/CdHi/f4/HWW4f6AwdblmXjTM0NyS+movKtw9v+j6C5gKhyTMTTpA2x15Qwy+Pz75motOGdgKep8WF5ATgVZIt5NeO2wMqD0hfVGNPh3oYaYflsjG0l63PeyLCDnqbsLpZIhaRNFI+Ox+Le5KB0RybK8gDmJOkI07U4i/FhT1NDQl8Me5rUIfaDfELOJ0NsFa/SJQHm1WLsHcDqRWiy9BCL8s0N5t6UWWFVvxplejYm60hC91cNjPtzCTZsAptCVoeLP8PDDQJNCSodap6H+LtE8ZcdkvVkkD38vwDn4/Jvy4EhBhZSvRaUHiTXn31gJJxkUPoClBKKFizM+inhVA2cYIdM4HJouPvoe9s9H+KzDhyGK6KkmIqitBhww2C11rjQL2L4kgUwFxk8yPyzauUA3Pk/353XnA6zKbKCaQ2UlMvJF6W5uF5F8yHfZWZpC9HRmBziaEpm1bpY9XvhxuWJRldC7Mt03WlZwpjnkZUNa2DMG2EaPj9MGd2l2mofd0hQ7ZSopsXckHxVCUp32fXGdD0ZktrgFUmMqwhcWFjp87RArsD+9bn585IRaSHAKgBL3SZwOTRc8BKg7yYoskp5OJDiiPmF2Sj7ox0siYJ7lJA04EqvzZ9B1xSVt6PlW0IxZgUMJdZYAJuWngLQt9IRuZXmoTEkmci8ZtTXTViUKyasA9FRun5d8z6bfw0gYWm9mmCXxZatQgxfC7I2NVpRYQOxKWppLs4mcgn5NcibgL1K40xYp8CYY5TXEpjcb3LAJ0OZyyg3+2nySm6fjEtzkEz+7VBx3RTb+60z9dma7pkvwO2QQL5HzTtAdpKF7euw/HuzfrosBHy+ZsBimzbQshjWTVMDgez53B5MbjcGbr1ZjdUJOM5O0SLXzJ2R+uOA1dMAVoLsm5zb73JSId8t8Aa1LsAJdoTCrCaw6e3NC2DdFMUXWRg173mysJNOSUNskUJ1cOlXa2LhcbgmSszXYSn9hl3KSxTDjrZ2cbbfbWDyumsh9m3e7zCG7a3ETt+gtI7fx6lEOanZKDVvuA2cjYmt5xNOd2Louz3IQ12UZ2Zo3lkb9cDlvSs6m4Vk5Yqlabs0B97wT7PUuCXQz0Bnt9QxMPTW4iwBtmUlY8hFsHJPlzcQ1xuG75CVK1kXofCUGnU9fg1aVD7kfE9MoabtYkcAvIUYS2op3Hc3TTrDQzIAeojugTVLFolWDR6wFPtY0R66n6HltwjCIawnE2ymresk9NtN+pfUUi0mX6RJLfrh9zMRaRPOqubSA8W2MNzC0mHpK7j2ruuw5mYkxl5+2+HGQeg4yNYg7vNg+xMxFsuRMuiTsRJZG3cysAl4D9n4aC4un8L9qUyVvbCyYwFXX1nGUxFf1cCiEQqy75O+TpMwYKNKSPQUqhLyyWLsRbESLctx0YnixgfphRWA8pOPc+N4F9d+eV9V4OlCX/As5w5g+wtGhJGukp5go2R3D7EW9rSDcnGL56YgJHj+8GcFND/Vy41jj/H0jxc6HU/AA2QlR01UlH3D7CmITQnJq4lVWBi1yl8XYEh278c5H++F+Iui7r7bYR8tH/gbqoJN7fVODUhLYVVxzmYCEyOxFg7RUVa0egCHZZ55eRHnp/tKgMna6s/bbMdTxZgMzl9CCcmq7k690OzDfaeSN4QcsREjsQpgXHwyWyfg9K5WE7hc6JqTWjyihObfygOFOkv6i5K5TZx8LsL1sVS4NL8ItiB7sgAcEKcWHfUCVhK3kUVnBNbfXIs4l5xAv5sJs234eTUy93L0Au2otQOw5ORMyfQ6WwexFupVSHowG6uThXfebmlhWojMS3fazmMeGxEI6S2SUti6RAo2vKohVuH3qUG5FWm/PjH8kzutgSH5g58xrVwzIbZkxHf7OFjFC+wrMDXcpOqOKX/g01U/XPvVJyxdWsiJblqYmnZoWbDxAcR56X5WPuh4ewcL5PY9JBRUYjc7fzjG6Uc3mHBWbg23X1BLaFHOSnrw4bWiNAXSEWcWRntIignXTP/oDsfKZX66mMbZAPfhviU1AyYmJLYAMZa/QXjUSeIiixpj3UUFtd884KytjN7EjdGNNMbWwtlf3FvbQ4OQtIoYSzbxqVDLXMTxP8jnnbiyKcaJLvueGLD6kXW2sKZov1tpn7hwXf3ZUvq0K2FXOM7Op/Xgb6PhxsWIErYGVuK3WGXWkkwMMZVCVl5kWtax5A6usgemvnx4DelUcYcFC0eIbcbXKzggeyBjeXIhkftaKknJKLtnuSg7KmKQsrH+1nqbmLWY6w/tBGy/8xrruR5SM99LLIjfT/4ZbNZnQEPssIVb21rKTGRIPDagNoLdFMKgcuLc/TF6Bulk6c7ovg4TU+XvS6FNw1tDfVqH9MOPmBDui0hcK6wz744FlDjNe0m3aVldJYagtI6YbF+3ZGPsQHlN1vbeh8lJofqJ+uo9Zi4wXZxKFiXKGxbHT7pNq71oNg4Qi6MviE0FpRVqjGXILYoJ4tCjdYU1rWeMdPLc/ochj3B9pGNGL4NupGPRlUl35KMVxFLNO6ZnxYlBsUPqoMkbUqAb6VhMVKQ7MVT1dYdrL8hzEAcjpmvjHKphgaFb0ZVJZw7dwVD9q5fkgPTRbBxnzmGfgRLQsMCkG+moQdcp6GzzZsL2MGyllvBNGWM9RqMCk26kI7aBK526csVShZTfzid6FEzeiNAGP92jpCPQEbrW7EW5MbZxAz/fN9lg0IbQaaxrQ83/VoKPb/HqJx67Hw+43CDQBPsX0gm6ufXNvH4vP9rZapzx7+Nn+oxZAjfo2caZ3n350c5W6FSEdQ86sNarj3c/jRV+H42AXsdGRBfPPIlnb/mUtxzWXfALn/PmRze2Gud6E/xsXwYtnlsWN8Tc5/oyxjn/jvyJrlY82xLUfWuPr/TqxzuXQZkIP9M7CXiyuP4B4WmsTnNhzinjrD+WO9bRhmdZWLXe4EKRtV5tpN3Hx3s2G+d79/MJf4qff0LnE72kfFEs4ITQvWLMab8C131dP9n9Je1Yx000Nz2jAf+UJwCBchc3NvGR1Qx71XXY2Ww1Jvx7YalzAPkX9rp5E5Z+pv+ja8bE43uN491b9dHO9Xx4lUxziLn21Nai/wXWM6t9vkvtrwAAAABJRU5ErkJggg==";
1420
1134
  }
1421
- // Return the Iota chains that your wallet supports.
1135
+ // Return the IOTA chains that your wallet supports.
1422
1136
  get chains() {
1423
1137
  return import_wallet_standard3.SUPPORTED_CHAINS;
1424
1138
  }
@@ -1439,13 +1153,13 @@ function registerUnsafeBurnerWallet(iotaClient) {
1439
1153
  version: "1.0.0",
1440
1154
  signPersonalMessage: __privateGet(this, _signPersonalMessage)
1441
1155
  },
1442
- "iota:signTransactionBlock": {
1443
- version: "1.0.0",
1444
- signTransactionBlock: __privateGet(this, _signTransactionBlock)
1156
+ "iota:signTransaction": {
1157
+ version: "2.0.0",
1158
+ signTransaction: __privateGet(this, _signTransaction)
1445
1159
  },
1446
- "iota:signAndExecuteTransactionBlock": {
1447
- version: "1.0.0",
1448
- signAndExecuteTransactionBlock: __privateGet(this, _signAndExecuteTransactionBlock)
1160
+ "iota:signAndExecuteTransaction": {
1161
+ version: "2.0.0",
1162
+ signAndExecuteTransaction: __privateGet(this, _signAndExecuteTransaction)
1449
1163
  }
1450
1164
  };
1451
1165
  }
@@ -1453,17 +1167,17 @@ function registerUnsafeBurnerWallet(iotaClient) {
1453
1167
  _on = new WeakMap();
1454
1168
  _connect = new WeakMap();
1455
1169
  _signPersonalMessage = new WeakMap();
1456
- _signTransactionBlock = new WeakMap();
1457
- _signAndExecuteTransactionBlock = new WeakMap();
1170
+ _signTransaction = new WeakMap();
1171
+ _signAndExecuteTransaction = new WeakMap();
1458
1172
  return walletsApi.register(new UnsafeBurnerWallet());
1459
1173
  }
1460
1174
 
1461
1175
  // src/hooks/wallet/useWalletPropertiesChanged.ts
1462
- var import_react14 = require("react");
1176
+ var import_react13 = require("react");
1463
1177
  function useWalletPropertiesChanged() {
1464
1178
  const { currentWallet } = useCurrentWallet();
1465
1179
  const updateWalletAccounts = useWalletStore((state) => state.updateWalletAccounts);
1466
- (0, import_react14.useEffect)(() => {
1180
+ (0, import_react13.useEffect)(() => {
1467
1181
  const unsubscribeFromEvents = currentWallet?.features["standard:events"].on(
1468
1182
  "change",
1469
1183
  ({ accounts }) => {
@@ -1478,18 +1192,19 @@ function useWalletPropertiesChanged() {
1478
1192
 
1479
1193
  // src/hooks/wallet/useWalletsChanged.ts
1480
1194
  var import_wallet_standard4 = require("@iota/wallet-standard");
1481
- var import_react15 = require("react");
1482
- function useWalletsChanged(preferredWallets, requiredFeatures) {
1195
+ var import_react14 = require("react");
1196
+ function useWalletsChanged(preferredWallets, walletFilter) {
1483
1197
  const setWalletRegistered = useWalletStore((state) => state.setWalletRegistered);
1484
1198
  const setWalletUnregistered = useWalletStore((state) => state.setWalletUnregistered);
1485
- (0, import_react15.useEffect)(() => {
1199
+ (0, import_react14.useEffect)(() => {
1486
1200
  const walletsApi = (0, import_wallet_standard4.getWallets)();
1201
+ setWalletRegistered(getRegisteredWallets(preferredWallets, walletFilter));
1487
1202
  const unsubscribeFromRegister = walletsApi.on("register", () => {
1488
- setWalletRegistered(getRegisteredWallets(preferredWallets, requiredFeatures));
1203
+ setWalletRegistered(getRegisteredWallets(preferredWallets, walletFilter));
1489
1204
  });
1490
1205
  const unsubscribeFromUnregister = walletsApi.on("unregister", (unregisteredWallet) => {
1491
1206
  setWalletUnregistered(
1492
- getRegisteredWallets(preferredWallets, requiredFeatures),
1207
+ getRegisteredWallets(preferredWallets, walletFilter),
1493
1208
  unregisteredWallet
1494
1209
  );
1495
1210
  });
@@ -1497,38 +1212,38 @@ function useWalletsChanged(preferredWallets, requiredFeatures) {
1497
1212
  unsubscribeFromRegister();
1498
1213
  unsubscribeFromUnregister();
1499
1214
  };
1500
- }, [preferredWallets, requiredFeatures, setWalletRegistered, setWalletUnregistered]);
1215
+ }, [preferredWallets, walletFilter, setWalletRegistered, setWalletUnregistered]);
1501
1216
  }
1502
1217
 
1503
1218
  // src/themes/lightTheme.ts
1504
1219
  var lightTheme = {
1505
1220
  blurs: {
1506
- modalOverlay: "blur(12px)"
1221
+ modalOverlay: "blur(0)"
1507
1222
  },
1508
1223
  backgroundColors: {
1509
- primaryButton: "#DDE4F0",
1510
- primaryButtonHover: "#002F6D14",
1511
- outlineButtonHover: "#002F6D14",
1512
- modalOverlay: "rgba(0, 47, 109, 0.72)",
1513
- modalPrimary: "#ffffff",
1514
- modalSecondary: "#e3eaf6",
1224
+ primaryButton: "#F6F7F9",
1225
+ primaryButtonHover: "#F0F2F5",
1226
+ outlineButtonHover: "#F4F4F5",
1227
+ modalOverlay: "rgba(24 36 53 / 20%)",
1228
+ modalPrimary: "white",
1229
+ modalSecondary: "#F7F8F8",
1515
1230
  iconButton: "transparent",
1516
1231
  dropdownMenu: "#FFFFFF",
1517
- dropdownMenuSeparator: "#002f6d14",
1518
- walletItemSelected: "#EFF4FA",
1519
- walletItemHover: "rgba(0, 103, 238, 0.12)",
1232
+ dropdownMenuSeparator: "#F3F6F8",
1233
+ walletItemSelected: "white",
1234
+ walletItemHover: "#3C424226",
1520
1235
  scrollThumb: "#cad4e2"
1521
1236
  },
1522
1237
  borderColors: {
1523
- outlineButton: "#6E7787"
1238
+ outlineButton: "#E4E4E7"
1524
1239
  },
1525
1240
  colors: {
1526
- primaryButton: "#171D26",
1527
- outlineButtonHover: "#E3EAF6",
1528
- iconButton: "#171D26",
1529
- body: "#171D26",
1530
- bodyMuted: "#545E6E",
1531
- bodyDanger: "#B51431"
1241
+ primaryButton: "#373737",
1242
+ outlineButtonHover: "#373737",
1243
+ iconButton: "#000000",
1244
+ body: "#182435",
1245
+ bodyMuted: "#767A81",
1246
+ bodyDanger: "#FF794B"
1532
1247
  },
1533
1248
  radii: {
1534
1249
  small: "6px",
@@ -1551,8 +1266,8 @@ var lightTheme = {
1551
1266
  typography: {
1552
1267
  fontFamily: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',
1553
1268
  fontStyle: "normal",
1554
- lineHeight: "24px",
1555
- letterSpacing: "0.1px"
1269
+ lineHeight: "1.3",
1270
+ letterSpacing: "1"
1556
1271
  },
1557
1272
  spacing: {
1558
1273
  xxsmall: "4px",
@@ -1584,19 +1299,21 @@ function createWalletStore({
1584
1299
  lastConnectedAccountAddress: null,
1585
1300
  lastConnectedWalletName: null,
1586
1301
  connectionStatus: "disconnected",
1587
- setConnectionStatus(connectionStatus) {
1302
+ supportedIntents: [],
1303
+ setConnectionStatus(connectionStatus2) {
1588
1304
  set(() => ({
1589
- connectionStatus
1305
+ connectionStatus: connectionStatus2
1590
1306
  }));
1591
1307
  },
1592
- setWalletConnected(wallet, connectedAccounts, selectedAccount) {
1308
+ setWalletConnected(wallet, connectedAccounts, selectedAccount, supportedIntents = []) {
1593
1309
  set(() => ({
1594
1310
  accounts: connectedAccounts,
1595
1311
  currentWallet: wallet,
1596
1312
  currentAccount: selectedAccount,
1597
1313
  lastConnectedWalletName: getWalletUniqueIdentifier(wallet),
1598
1314
  lastConnectedAccountAddress: selectedAccount?.address,
1599
- connectionStatus: "connected"
1315
+ connectionStatus: "connected",
1316
+ supportedIntents
1600
1317
  }));
1601
1318
  },
1602
1319
  setWalletDisconnected() {
@@ -1606,7 +1323,8 @@ function createWalletStore({
1606
1323
  currentAccount: null,
1607
1324
  lastConnectedWalletName: null,
1608
1325
  lastConnectedAccountAddress: null,
1609
- connectionStatus: "disconnected"
1326
+ connectionStatus: "disconnected",
1327
+ supportedIntents: []
1610
1328
  }));
1611
1329
  },
1612
1330
  setAccountSwitched(selectedAccount) {
@@ -1627,7 +1345,8 @@ function createWalletStore({
1627
1345
  currentAccount: null,
1628
1346
  lastConnectedWalletName: null,
1629
1347
  lastConnectedAccountAddress: null,
1630
- connectionStatus: "disconnected"
1348
+ connectionStatus: "disconnected",
1349
+ supportedIntents: []
1631
1350
  }));
1632
1351
  } else {
1633
1352
  set(() => ({ wallets: updatedWallets }));
@@ -1728,12 +1447,14 @@ var themeVars = (0, import_css.createGlobalThemeContract)(
1728
1447
  );
1729
1448
 
1730
1449
  // src/components/styling/InjectedThemeStyles.tsx
1731
- var import_jsx_runtime20 = require("react/jsx-runtime");
1450
+ var import_jsx_runtime21 = require("react/jsx-runtime");
1732
1451
  function InjectedThemeStyles({ theme }) {
1733
1452
  const themeStyles = Array.isArray(theme) ? getDynamicThemeStyles(theme) : getStaticThemeStyles(theme);
1734
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1453
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1735
1454
  "style",
1736
1455
  {
1456
+ precedence: "default",
1457
+ href: "iota-dapp-kit-theme",
1737
1458
  dangerouslySetInnerHTML: {
1738
1459
  __html: themeStyles
1739
1460
  }
@@ -1754,107 +1475,34 @@ function cssStringFromTheme(theme) {
1754
1475
  return Object.entries((0, import_dynamic.assignInlineVars)(themeVars, theme)).map(([key, value]) => `${key}:${value};`).join("");
1755
1476
  }
1756
1477
 
1757
- // src/themes/darkTheme.ts
1758
- var darkTheme = {
1759
- blurs: {
1760
- modalOverlay: "blur(12px)"
1761
- },
1762
- backgroundColors: {
1763
- primaryButton: "#253041",
1764
- primaryButtonHover: "#313D50",
1765
- outlineButtonHover: "#313D50",
1766
- modalOverlay: "rgba(0, 47, 109, 0.72)",
1767
- modalPrimary: "#0f141c",
1768
- modalSecondary: "#171d26",
1769
- iconButton: "transparent",
1770
- dropdownMenu: "#0f141c",
1771
- dropdownMenuSeparator: "#bed8ff14",
1772
- walletItemSelected: "#171D26",
1773
- walletItemHover: "rgba(190, 216, 255, 0.12)",
1774
- scrollThumb: "#3c4656"
1775
- },
1776
- borderColors: {
1777
- outlineButton: "#8892A1"
1778
- },
1779
- colors: {
1780
- primaryButton: "#E3EAF6",
1781
- outlineButtonHover: "#171D26",
1782
- iconButton: "#E3EAF6",
1783
- body: "#E3EAF6",
1784
- bodyMuted: "#8892A1",
1785
- bodyDanger: "#FFB0BE"
1786
- },
1787
- radii: {
1788
- small: "6px",
1789
- medium: "8px",
1790
- large: "12px",
1791
- xlarge: "16px",
1792
- full: "120px"
1793
- },
1794
- fontWeights: {
1795
- normal: "400",
1796
- medium: "500",
1797
- bold: "600"
1798
- },
1799
- fontSizes: {
1800
- small: "14px",
1801
- medium: "16px",
1802
- large: "18px",
1803
- xlarge: "20px"
1804
- },
1805
- typography: {
1806
- fontFamily: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',
1807
- fontStyle: "normal",
1808
- lineHeight: "24px",
1809
- letterSpacing: "0.1px"
1810
- },
1811
- spacing: {
1812
- xxsmall: "4px",
1813
- xsmall: "8px",
1814
- small: "12px",
1815
- medium: "16px",
1816
- large: "24px",
1817
- xlarge: "32px"
1818
- }
1819
- };
1820
-
1821
1478
  // src/components/WalletProvider.tsx
1822
- var import_jsx_runtime21 = require("react/jsx-runtime");
1823
- var themeWithSelectorAndMediaQuery = [
1824
- {
1825
- selector: ".dark",
1826
- variables: darkTheme
1827
- },
1828
- {
1829
- variables: lightTheme
1830
- }
1831
- ];
1479
+ var import_jsx_runtime22 = require("react/jsx-runtime");
1832
1480
  function WalletProvider({
1833
1481
  preferredWallets = DEFAULT_PREFERRED_WALLETS,
1834
- requiredFeatures = DEFAULT_REQUIRED_FEATURES,
1482
+ walletFilter = DEFAULT_WALLET_FILTER,
1835
1483
  storage = DEFAULT_STORAGE,
1836
1484
  storageKey = DEFAULT_STORAGE_KEY,
1837
1485
  enableUnsafeBurner = false,
1838
1486
  autoConnect = false,
1839
- theme = themeWithSelectorAndMediaQuery,
1487
+ theme = lightTheme,
1840
1488
  children
1841
1489
  }) {
1842
- const storeRef = (0, import_react16.useRef)(
1490
+ const storeRef = (0, import_react15.useRef)(
1843
1491
  createWalletStore({
1844
1492
  autoConnectEnabled: autoConnect,
1845
- wallets: getRegisteredWallets(preferredWallets, requiredFeatures),
1493
+ wallets: getRegisteredWallets(preferredWallets, walletFilter),
1846
1494
  storage: storage || createInMemoryStore(),
1847
1495
  storageKey
1848
1496
  })
1849
1497
  );
1850
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(WalletContext.Provider, { value: storeRef.current, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
1498
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(WalletContext.Provider, { value: storeRef.current, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
1851
1499
  WalletConnectionManager,
1852
1500
  {
1853
1501
  preferredWallets,
1854
- requiredFeatures,
1502
+ walletFilter,
1855
1503
  enableUnsafeBurner,
1856
1504
  children: [
1857
- theme ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(InjectedThemeStyles, { theme }) : null,
1505
+ theme ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(InjectedThemeStyles, { theme }) : null,
1858
1506
  children
1859
1507
  ]
1860
1508
  }
@@ -1862,11 +1510,11 @@ function WalletProvider({
1862
1510
  }
1863
1511
  function WalletConnectionManager({
1864
1512
  preferredWallets = DEFAULT_PREFERRED_WALLETS,
1865
- requiredFeatures = DEFAULT_REQUIRED_FEATURES,
1513
+ walletFilter = DEFAULT_WALLET_FILTER,
1866
1514
  enableUnsafeBurner = false,
1867
1515
  children
1868
1516
  }) {
1869
- useWalletsChanged(preferredWallets, requiredFeatures);
1517
+ useWalletsChanged(preferredWallets, walletFilter);
1870
1518
  useWalletPropertiesChanged();
1871
1519
  useUnsafeBurnerWallet(enableUnsafeBurner);
1872
1520
  useAutoConnectWallet();
@@ -1940,7 +1588,9 @@ function useIotaClientQuery(...args) {
1940
1588
  ...options,
1941
1589
  queryKey: [iotaContext.network, method, params, ...queryKey],
1942
1590
  queryFn: async () => {
1943
- return await iotaContext.client[method](params);
1591
+ return await iotaContext.client[method](
1592
+ params
1593
+ );
1944
1594
  }
1945
1595
  });
1946
1596
  }
@@ -1967,144 +1617,274 @@ function useIotaClientQueries({
1967
1617
  });
1968
1618
  }
1969
1619
 
1970
- // src/hooks/wallet/useSignAndExecuteTransactionBlock.ts
1620
+ // src/hooks/wallet/useSignAndExecuteTransaction.ts
1621
+ var import_utils4 = require("@iota/iota-sdk/utils");
1622
+ var import_wallet_standard5 = require("@iota/wallet-standard");
1623
+ var import_react_query10 = require("@tanstack/react-query");
1624
+
1625
+ // src/hooks/wallet/useReportTransactionEffects.ts
1626
+ var import_utils3 = require("@iota/iota-sdk/utils");
1971
1627
  var import_react_query9 = require("@tanstack/react-query");
1972
- function useSignAndExecuteTransactionBlock({
1628
+ function useReportTransactionEffects({
1973
1629
  mutationKey,
1974
- executeFromWallet,
1975
1630
  ...mutationOptions
1976
1631
  } = {}) {
1977
1632
  const { currentWallet } = useCurrentWallet();
1978
1633
  const currentAccount = useCurrentAccount();
1979
- const client = useIotaClient();
1980
1634
  return (0, import_react_query9.useMutation)({
1981
- mutationKey: walletMutationKeys.signAndExecuteTransactionBlock(mutationKey),
1982
- mutationFn: async ({ requestType, options, ...signTransactionBlockArgs }) => {
1635
+ mutationKey: walletMutationKeys.reportTransactionEffects(mutationKey),
1636
+ mutationFn: async ({
1637
+ effects,
1638
+ chain = currentWallet?.chains[0],
1639
+ account = currentAccount
1640
+ }) => {
1983
1641
  if (!currentWallet) {
1984
1642
  throw new WalletNotConnectedError("No wallet is connected.");
1985
1643
  }
1986
- const signerAccount = signTransactionBlockArgs.account ?? currentAccount;
1987
- if (!signerAccount) {
1644
+ if (!account) {
1988
1645
  throw new WalletNoAccountSelectedError(
1989
- "No wallet account is selected to sign and execute the transaction block with."
1646
+ "No wallet account is selected to report transaction effects for"
1990
1647
  );
1991
1648
  }
1992
- if (executeFromWallet) {
1993
- const walletFeature2 = currentWallet.features["iota:signAndExecuteTransactionBlock"];
1994
- if (!walletFeature2) {
1995
- throw new WalletFeatureNotSupportedError(
1996
- "This wallet doesn't support the `signAndExecuteTransactionBlock` feature."
1997
- );
1998
- }
1999
- return walletFeature2.signAndExecuteTransactionBlock({
2000
- ...signTransactionBlockArgs,
2001
- account: signerAccount,
2002
- chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0],
2003
- requestType,
2004
- options
1649
+ const reportTransactionEffectsFeature = currentWallet.features["iota:reportTransactionEffects"];
1650
+ if (reportTransactionEffectsFeature) {
1651
+ return await reportTransactionEffectsFeature.reportTransactionEffects({
1652
+ effects: Array.isArray(effects) ? (0, import_utils3.toB64)(new Uint8Array(effects)) : effects,
1653
+ account,
1654
+ chain: chain ?? currentWallet?.chains[0]
2005
1655
  });
2006
1656
  }
2007
- const walletFeature = currentWallet.features["iota:signTransactionBlock"];
2008
- if (!walletFeature) {
1657
+ },
1658
+ ...mutationOptions
1659
+ });
1660
+ }
1661
+
1662
+ // src/hooks/wallet/useSignAndExecuteTransaction.ts
1663
+ function useSignAndExecuteTransaction({
1664
+ mutationKey,
1665
+ execute,
1666
+ ...mutationOptions
1667
+ } = {}) {
1668
+ const { currentWallet, supportedIntents } = useCurrentWallet();
1669
+ const currentAccount = useCurrentAccount();
1670
+ const client = useIotaClient();
1671
+ const { mutate: reportTransactionEffects } = useReportTransactionEffects();
1672
+ const executeTransaction = execute ?? (async ({ bytes, signature }) => {
1673
+ const { digest, rawEffects } = await client.executeTransactionBlock({
1674
+ transactionBlock: bytes,
1675
+ signature,
1676
+ options: {
1677
+ showRawEffects: true
1678
+ }
1679
+ });
1680
+ return {
1681
+ digest,
1682
+ rawEffects,
1683
+ effects: (0, import_utils4.toB64)(new Uint8Array(rawEffects)),
1684
+ bytes,
1685
+ signature
1686
+ };
1687
+ });
1688
+ return (0, import_react_query10.useMutation)({
1689
+ mutationKey: walletMutationKeys.signAndExecuteTransaction(mutationKey),
1690
+ mutationFn: async ({ transaction, ...signTransactionArgs }) => {
1691
+ if (!currentWallet) {
1692
+ throw new WalletNotConnectedError("No wallet is connected.");
1693
+ }
1694
+ const signerAccount = signTransactionArgs.account ?? currentAccount;
1695
+ if (!signerAccount) {
1696
+ throw new WalletNoAccountSelectedError(
1697
+ "No wallet account is selected to sign the transaction with."
1698
+ );
1699
+ }
1700
+ const chain = signTransactionArgs.chain ?? signerAccount?.chains[0];
1701
+ if (!currentWallet.features["iota:signTransaction"]) {
2009
1702
  throw new WalletFeatureNotSupportedError(
2010
- "This wallet doesn't support the `signTransactionBlock` feature."
1703
+ "This wallet doesn't support the `signTransaction` feature."
2011
1704
  );
2012
1705
  }
2013
- const { signature, transactionBlockBytes } = await walletFeature.signTransactionBlock({
2014
- ...signTransactionBlockArgs,
1706
+ const { signature, bytes } = await (0, import_wallet_standard5.signTransaction)(currentWallet, {
1707
+ ...signTransactionArgs,
1708
+ transaction: {
1709
+ async toJSON() {
1710
+ return typeof transaction === "string" ? transaction : await transaction.toJSON({
1711
+ supportedIntents,
1712
+ client
1713
+ });
1714
+ }
1715
+ },
2015
1716
  account: signerAccount,
2016
- chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0]
2017
- });
2018
- return client.executeTransactionBlock({
2019
- transactionBlock: transactionBlockBytes,
2020
- signature,
2021
- requestType,
2022
- options
1717
+ chain: signTransactionArgs.chain ?? signerAccount.chains[0]
2023
1718
  });
1719
+ const result = await executeTransaction({ bytes, signature });
1720
+ let effects;
1721
+ if ("effects" in result && result.effects?.bcs) {
1722
+ effects = result.effects.bcs;
1723
+ } else if ("rawEffects" in result) {
1724
+ effects = (0, import_utils4.toB64)(new Uint8Array(result.rawEffects));
1725
+ } else {
1726
+ throw new Error("Could not parse effects from transaction result.");
1727
+ }
1728
+ reportTransactionEffects({ effects, account: signerAccount, chain });
1729
+ return result;
2024
1730
  },
2025
1731
  ...mutationOptions
2026
1732
  });
2027
1733
  }
2028
1734
 
2029
1735
  // src/hooks/wallet/useSignPersonalMessage.ts
2030
- var import_react_query10 = require("@tanstack/react-query");
1736
+ var import_react_query11 = require("@tanstack/react-query");
2031
1737
  function useSignPersonalMessage({
2032
1738
  mutationKey,
2033
1739
  ...mutationOptions
2034
1740
  } = {}) {
2035
1741
  const { currentWallet } = useCurrentWallet();
2036
1742
  const currentAccount = useCurrentAccount();
2037
- return (0, import_react_query10.useMutation)({
1743
+ return (0, import_react_query11.useMutation)({
2038
1744
  mutationKey: walletMutationKeys.signPersonalMessage(mutationKey),
2039
1745
  mutationFn: async (signPersonalMessageArgs) => {
2040
1746
  if (!currentWallet) {
2041
1747
  throw new WalletNotConnectedError("No wallet is connected.");
2042
1748
  }
1749
+ const signPersonalMessageFeature = currentWallet.features["iota:signPersonalMessage"];
1750
+ if (!signPersonalMessageFeature) {
1751
+ throw new WalletFeatureNotSupportedError(
1752
+ "This wallet doesn't support the `signPersonalMessage` feature."
1753
+ );
1754
+ }
2043
1755
  const signerAccount = signPersonalMessageArgs.account ?? currentAccount;
2044
1756
  if (!signerAccount) {
2045
1757
  throw new WalletNoAccountSelectedError(
2046
1758
  "No wallet account is selected to sign the personal message with."
2047
1759
  );
2048
1760
  }
2049
- const signPersonalMessageFeature = currentWallet.features["iota:signPersonalMessage"];
2050
- if (signPersonalMessageFeature) {
2051
- return await signPersonalMessageFeature.signPersonalMessage({
2052
- ...signPersonalMessageArgs,
2053
- account: signerAccount
2054
- });
2055
- }
2056
- const signMessageFeature = currentWallet.features["iota:signMessage"];
2057
- if (signMessageFeature) {
2058
- console.warn(
2059
- "This wallet doesn't support the `signPersonalMessage` feature... falling back to `signMessage`."
2060
- );
2061
- const { messageBytes, signature } = await signMessageFeature.signMessage({
2062
- ...signPersonalMessageArgs,
2063
- account: signerAccount
2064
- });
2065
- return { bytes: messageBytes, signature };
2066
- }
2067
- throw new WalletFeatureNotSupportedError(
2068
- "This wallet doesn't support the `signPersonalMessage` feature."
2069
- );
1761
+ return await signPersonalMessageFeature.signPersonalMessage({
1762
+ ...signPersonalMessageArgs,
1763
+ account: signerAccount
1764
+ });
2070
1765
  },
2071
1766
  ...mutationOptions
2072
1767
  });
2073
1768
  }
2074
1769
 
2075
- // src/hooks/wallet/useSignTransactionBlock.ts
2076
- var import_react_query11 = require("@tanstack/react-query");
2077
- function useSignTransactionBlock({
1770
+ // src/hooks/wallet/useSignTransaction.ts
1771
+ var import_wallet_standard6 = require("@iota/wallet-standard");
1772
+ var import_react_query12 = require("@tanstack/react-query");
1773
+ function useSignTransaction({
2078
1774
  mutationKey,
2079
1775
  ...mutationOptions
2080
1776
  } = {}) {
2081
1777
  const { currentWallet } = useCurrentWallet();
2082
1778
  const currentAccount = useCurrentAccount();
2083
- return (0, import_react_query11.useMutation)({
2084
- mutationKey: walletMutationKeys.signTransactionBlock(mutationKey),
2085
- mutationFn: async (signTransactionBlockArgs) => {
1779
+ const client = useIotaClient();
1780
+ const { mutate: reportTransactionEffects } = useReportTransactionEffects();
1781
+ return (0, import_react_query12.useMutation)({
1782
+ mutationKey: walletMutationKeys.signTransaction(mutationKey),
1783
+ mutationFn: async ({ transaction, ...signTransactionArgs }) => {
2086
1784
  if (!currentWallet) {
2087
1785
  throw new WalletNotConnectedError("No wallet is connected.");
2088
1786
  }
2089
- const signerAccount = signTransactionBlockArgs.account ?? currentAccount;
1787
+ const signerAccount = signTransactionArgs.account ?? currentAccount;
2090
1788
  if (!signerAccount) {
2091
1789
  throw new WalletNoAccountSelectedError(
2092
- "No wallet account is selected to sign the transaction block with."
1790
+ "No wallet account is selected to sign the transaction with."
2093
1791
  );
2094
1792
  }
2095
- const walletFeature = currentWallet.features["iota:signTransactionBlock"];
2096
- if (!walletFeature) {
1793
+ if (!currentWallet.features["iota:signTransaction"]) {
2097
1794
  throw new WalletFeatureNotSupportedError(
2098
- "This wallet doesn't support the `SignTransactionBlock` feature."
1795
+ "This wallet doesn't support the `signTransaction` feature."
2099
1796
  );
2100
1797
  }
2101
- return await walletFeature.signTransactionBlock({
2102
- ...signTransactionBlockArgs,
1798
+ const { bytes, signature } = await (0, import_wallet_standard6.signTransaction)(currentWallet, {
1799
+ ...signTransactionArgs,
1800
+ transaction: {
1801
+ toJSON: async () => {
1802
+ return typeof transaction === "string" ? transaction : await transaction.toJSON({
1803
+ supportedIntents: [],
1804
+ client
1805
+ });
1806
+ }
1807
+ },
2103
1808
  account: signerAccount,
2104
- chain: signTransactionBlockArgs.chain ?? signerAccount.chains[0]
1809
+ chain: signTransactionArgs.chain ?? signerAccount.chains[0]
2105
1810
  });
1811
+ return {
1812
+ bytes,
1813
+ signature,
1814
+ reportTransactionEffects: (effects) => {
1815
+ reportTransactionEffects({
1816
+ effects,
1817
+ account: signerAccount,
1818
+ chain: signTransactionArgs.chain ?? signerAccount.chains[0]
1819
+ });
1820
+ }
1821
+ };
2106
1822
  },
2107
1823
  ...mutationOptions
2108
1824
  });
2109
1825
  }
1826
+
1827
+ // src/themes/darkTheme.ts
1828
+ var darkTheme = {
1829
+ blurs: {
1830
+ modalOverlay: "blur(12px)"
1831
+ },
1832
+ backgroundColors: {
1833
+ primaryButton: "#253041",
1834
+ primaryButtonHover: "#313D50",
1835
+ outlineButtonHover: "#313D50",
1836
+ modalOverlay: "rgba(0, 47, 109, 0.72)",
1837
+ modalPrimary: "#0f141c",
1838
+ modalSecondary: "#171d26",
1839
+ iconButton: "transparent",
1840
+ dropdownMenu: "#0f141c",
1841
+ dropdownMenuSeparator: "#bed8ff14",
1842
+ walletItemSelected: "#171D26",
1843
+ walletItemHover: "rgba(190, 216, 255, 0.12)",
1844
+ scrollThumb: "#3c4656"
1845
+ },
1846
+ borderColors: {
1847
+ outlineButton: "#8892A1"
1848
+ },
1849
+ colors: {
1850
+ primaryButton: "#E3EAF6",
1851
+ outlineButtonHover: "#171D26",
1852
+ iconButton: "#E3EAF6",
1853
+ body: "#E3EAF6",
1854
+ bodyMuted: "#8892A1",
1855
+ bodyDanger: "#FFB0BE"
1856
+ },
1857
+ radii: {
1858
+ small: "6px",
1859
+ medium: "8px",
1860
+ large: "12px",
1861
+ xlarge: "16px",
1862
+ full: "120px"
1863
+ },
1864
+ fontWeights: {
1865
+ normal: "400",
1866
+ medium: "500",
1867
+ bold: "600"
1868
+ },
1869
+ fontSizes: {
1870
+ small: "14px",
1871
+ medium: "16px",
1872
+ large: "18px",
1873
+ xlarge: "20px"
1874
+ },
1875
+ typography: {
1876
+ fontFamily: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',
1877
+ fontStyle: "normal",
1878
+ lineHeight: "24px",
1879
+ letterSpacing: "0.1px"
1880
+ },
1881
+ spacing: {
1882
+ xxsmall: "4px",
1883
+ xsmall: "8px",
1884
+ small: "12px",
1885
+ medium: "16px",
1886
+ large: "24px",
1887
+ xlarge: "32px"
1888
+ }
1889
+ };
2110
1890
  //# sourceMappingURL=index.js.map