@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
@@ -3,6 +3,9 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __typeError = (msg) => {
7
+ throw TypeError(msg);
8
+ };
6
9
  var __export = (target, all) => {
7
10
  for (var name in all)
8
11
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,19 +19,9 @@ var __copyProps = (to, from, except, desc) => {
16
19
  return to;
17
20
  };
18
21
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var __accessCheck = (obj, member, msg) => {
20
- if (!member.has(obj))
21
- throw TypeError("Cannot " + msg);
22
- };
23
- var __privateGet = (obj, member, getter) => {
24
- __accessCheck(obj, member, "read from private field");
25
- return getter ? getter.call(obj) : member.get(obj);
26
- };
27
- var __privateAdd = (obj, member, value) => {
28
- if (member.has(obj))
29
- throw TypeError("Cannot add the same private member more than once");
30
- member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
31
- };
22
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
23
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
24
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
32
25
 
33
26
  // src/hooks/wallet/useUnsafeBurnerWallet.ts
34
27
  var useUnsafeBurnerWallet_exports = {};
@@ -37,6 +30,8 @@ __export(useUnsafeBurnerWallet_exports, {
37
30
  });
38
31
  module.exports = __toCommonJS(useUnsafeBurnerWallet_exports);
39
32
  var import_ed25519 = require("@iota/iota-sdk/keypairs/ed25519");
33
+ var import_transactions = require("@iota/iota-sdk/transactions");
34
+ var import_utils = require("@iota/iota-sdk/utils");
40
35
  var import_wallet_standard = require("@iota/wallet-standard");
41
36
  var import_react3 = require("react");
42
37
 
@@ -49,7 +44,7 @@ var import_react = require("react");
49
44
  var import_jsx_runtime = require("react/jsx-runtime");
50
45
  var IotaClientContext = (0, import_react.createContext)(null);
51
46
  var DEFAULT_NETWORKS = {
52
- localnet: { url: (0, import_client.getNetwork)(import_client.Network.Local).url }
47
+ localnet: { url: (0, import_client.getNetwork)(import_client.Network.Localnet).url }
53
48
  };
54
49
 
55
50
  // src/hooks/useIotaClient.ts
@@ -79,7 +74,7 @@ function useUnsafeBurnerWallet(enabled) {
79
74
  }, [enabled, iotaClient]);
80
75
  }
81
76
  function registerUnsafeBurnerWallet(iotaClient) {
82
- var _on, _connect, _signPersonalMessage, _signTransactionBlock, _signAndExecuteTransactionBlock;
77
+ var _on, _connect, _signPersonalMessage, _signTransaction, _signAndExecuteTransaction;
83
78
  const walletsApi = (0, import_wallet_standard.getWallets)();
84
79
  const registeredWallets = walletsApi.get();
85
80
  if (registeredWallets.find((wallet) => wallet.name === WALLET_NAME)) {
@@ -96,7 +91,7 @@ function registerUnsafeBurnerWallet(iotaClient) {
96
91
  address: keypair.getPublicKey().toIotaAddress(),
97
92
  publicKey: keypair.getPublicKey().toIotaBytes(),
98
93
  chains: ["iota:unknown"],
99
- features: ["iota:signAndExecuteTransactionBlock", "iota:signTransactionBlock"]
94
+ features: ["iota:signTransaction", "iota:signAndExecuteTransaction"]
100
95
  });
101
96
  class UnsafeBurnerWallet {
102
97
  constructor() {
@@ -111,23 +106,40 @@ function registerUnsafeBurnerWallet(iotaClient) {
111
106
  const { bytes, signature } = await keypair.signPersonalMessage(messageInput.message);
112
107
  return { bytes, signature };
113
108
  });
114
- __privateAdd(this, _signTransactionBlock, async (transactionInput) => {
115
- const { bytes, signature } = await transactionInput.transactionBlock.sign({
109
+ __privateAdd(this, _signTransaction, async (transactionInput) => {
110
+ const { bytes, signature } = await import_transactions.Transaction.from(
111
+ await transactionInput.transaction.toJSON()
112
+ ).sign({
116
113
  client: iotaClient,
117
114
  signer: keypair
118
115
  });
116
+ transactionInput.signal?.throwIfAborted();
119
117
  return {
120
- transactionBlockBytes: bytes,
118
+ bytes,
121
119
  signature
122
120
  };
123
121
  });
124
- __privateAdd(this, _signAndExecuteTransactionBlock, async (transactionInput) => {
125
- return await iotaClient.signAndExecuteTransactionBlock({
126
- signer: keypair,
127
- transactionBlock: transactionInput.transactionBlock,
128
- options: transactionInput.options,
129
- requestType: transactionInput.requestType
122
+ __privateAdd(this, _signAndExecuteTransaction, async (transactionInput) => {
123
+ const { bytes, signature } = await import_transactions.Transaction.from(
124
+ await transactionInput.transaction.toJSON()
125
+ ).sign({
126
+ client: iotaClient,
127
+ signer: keypair
130
128
  });
129
+ transactionInput.signal?.throwIfAborted();
130
+ const { rawEffects, digest } = await iotaClient.executeTransactionBlock({
131
+ signature,
132
+ transactionBlock: bytes,
133
+ options: {
134
+ showRawEffects: true
135
+ }
136
+ });
137
+ return {
138
+ bytes,
139
+ signature,
140
+ digest,
141
+ effects: (0, import_utils.toB64)(new Uint8Array(rawEffects))
142
+ };
131
143
  });
132
144
  }
133
145
  get version() {
@@ -139,7 +151,7 @@ function registerUnsafeBurnerWallet(iotaClient) {
139
151
  get icon() {
140
152
  return "data:image/png;base64,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";
141
153
  }
142
- // Return the Iota chains that your wallet supports.
154
+ // Return the IOTA chains that your wallet supports.
143
155
  get chains() {
144
156
  return import_wallet_standard.SUPPORTED_CHAINS;
145
157
  }
@@ -160,13 +172,13 @@ function registerUnsafeBurnerWallet(iotaClient) {
160
172
  version: "1.0.0",
161
173
  signPersonalMessage: __privateGet(this, _signPersonalMessage)
162
174
  },
163
- "iota:signTransactionBlock": {
164
- version: "1.0.0",
165
- signTransactionBlock: __privateGet(this, _signTransactionBlock)
175
+ "iota:signTransaction": {
176
+ version: "2.0.0",
177
+ signTransaction: __privateGet(this, _signTransaction)
166
178
  },
167
- "iota:signAndExecuteTransactionBlock": {
168
- version: "1.0.0",
169
- signAndExecuteTransactionBlock: __privateGet(this, _signAndExecuteTransactionBlock)
179
+ "iota:signAndExecuteTransaction": {
180
+ version: "2.0.0",
181
+ signAndExecuteTransaction: __privateGet(this, _signAndExecuteTransaction)
170
182
  }
171
183
  };
172
184
  }
@@ -174,8 +186,8 @@ function registerUnsafeBurnerWallet(iotaClient) {
174
186
  _on = new WeakMap();
175
187
  _connect = new WeakMap();
176
188
  _signPersonalMessage = new WeakMap();
177
- _signTransactionBlock = new WeakMap();
178
- _signAndExecuteTransactionBlock = new WeakMap();
189
+ _signTransaction = new WeakMap();
190
+ _signAndExecuteTransaction = new WeakMap();
179
191
  return walletsApi.register(new UnsafeBurnerWallet());
180
192
  }
181
193
  //# sourceMappingURL=useUnsafeBurnerWallet.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/hooks/wallet/useUnsafeBurnerWallet.ts", "../../../../src/hooks/useIotaClient.ts", "../../../../src/components/IotaClientProvider.tsx"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport { Ed25519Keypair } from '@iota/iota-sdk/keypairs/ed25519';\nimport type {\n StandardConnectFeature,\n StandardConnectMethod,\n StandardEventsFeature,\n StandardEventsOnMethod,\n IotaFeatures,\n IotaSignAndExecuteTransactionBlockMethod,\n IotaSignPersonalMessageMethod,\n IotaSignTransactionBlockMethod,\n Wallet,\n} from '@iota/wallet-standard';\nimport { getWallets, ReadonlyWalletAccount, SUPPORTED_CHAINS } from '@iota/wallet-standard';\nimport { useEffect } from 'react';\n\nimport { useIotaClient } from '../useIotaClient.js';\n\nconst WALLET_NAME = 'Unsafe Burner Wallet';\n\nexport function useUnsafeBurnerWallet(enabled: boolean) {\n const iotaClient = useIotaClient();\n\n useEffect(() => {\n if (!enabled) {\n return;\n }\n const unregister = registerUnsafeBurnerWallet(iotaClient);\n return unregister;\n }, [enabled, iotaClient]);\n}\n\nfunction registerUnsafeBurnerWallet(iotaClient: IotaClient) {\n const walletsApi = getWallets();\n const registeredWallets = walletsApi.get();\n\n if (registeredWallets.find((wallet) => wallet.name === WALLET_NAME)) {\n console.warn(\n 'registerUnsafeBurnerWallet: Unsafe Burner Wallet already registered, skipping duplicate registration.',\n );\n return;\n }\n\n console.warn(\n 'Your application is currently using the unsafe burner wallet. Make sure that this wallet is disabled in production.',\n );\n\n const keypair = new Ed25519Keypair();\n const account = new ReadonlyWalletAccount({\n address: keypair.getPublicKey().toIotaAddress(),\n publicKey: keypair.getPublicKey().toIotaBytes(),\n chains: ['iota:unknown'],\n features: ['iota:signAndExecuteTransactionBlock', 'iota:signTransactionBlock'],\n });\n\n class UnsafeBurnerWallet implements Wallet {\n get version() {\n return '1.0.0' as const;\n }\n\n get name() {\n return WALLET_NAME;\n }\n\n get icon() {\n return 'data:image/png;base64,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' as const;\n }\n\n // Return the Iota chains that your wallet supports.\n get chains() {\n return SUPPORTED_CHAINS;\n }\n\n get accounts() {\n return [account];\n }\n\n get features(): StandardConnectFeature & StandardEventsFeature & IotaFeatures {\n return {\n 'standard:connect': {\n version: '1.0.0',\n connect: this.#connect,\n },\n 'standard:events': {\n version: '1.0.0',\n on: this.#on,\n },\n 'iota:signPersonalMessage': {\n version: '1.0.0',\n signPersonalMessage: this.#signPersonalMessage,\n },\n 'iota:signTransactionBlock': {\n version: '1.0.0',\n signTransactionBlock: this.#signTransactionBlock,\n },\n 'iota:signAndExecuteTransactionBlock': {\n version: '1.0.0',\n signAndExecuteTransactionBlock: this.#signAndExecuteTransactionBlock,\n },\n };\n }\n\n #on: StandardEventsOnMethod = () => {\n return () => {};\n };\n\n #connect: StandardConnectMethod = async () => {\n return { accounts: this.accounts };\n };\n\n #signPersonalMessage: IotaSignPersonalMessageMethod = async (messageInput) => {\n const { bytes, signature } = await keypair.signPersonalMessage(messageInput.message);\n return { bytes, signature };\n };\n\n #signTransactionBlock: IotaSignTransactionBlockMethod = async (transactionInput) => {\n const { bytes, signature } = await transactionInput.transactionBlock.sign({\n client: iotaClient,\n signer: keypair,\n });\n\n return {\n transactionBlockBytes: bytes,\n signature: signature,\n };\n };\n\n #signAndExecuteTransactionBlock: IotaSignAndExecuteTransactionBlockMethod = async (\n transactionInput,\n ) => {\n return await iotaClient.signAndExecuteTransactionBlock({\n signer: keypair,\n transactionBlock: transactionInput.transactionBlock,\n options: transactionInput.options,\n requestType: transactionInput.requestType,\n });\n };\n }\n\n return walletsApi.register(new UnsafeBurnerWallet());\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport { useContext } from 'react';\n\nimport { IotaClientContext } from '../components/IotaClientProvider.js';\n\nexport function useIotaClientContext() {\n const iotaClient = useContext(IotaClientContext);\n\n if (!iotaClient) {\n throw new Error(\n 'Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider',\n );\n }\n\n return iotaClient;\n}\n\nexport function useIotaClient(): IotaClient {\n return useIotaClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getNetwork, isIotaClient, Network, IotaClient } from '@iota/iota-sdk/client';\nimport type { IotaClientOptions } from '@iota/iota-sdk/client';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | IotaClient = NetworkConfig | IotaClient> = Record<\n string,\n T\n>;\n\nexport interface IotaClientProviderContext {\n client: IotaClient;\n networks: NetworkConfigs;\n network: string;\n config: NetworkConfig | null;\n selectNetwork: (network: string) => void;\n}\n\nexport const IotaClientContext = createContext<IotaClientProviderContext | null>(null);\n\nexport type IotaClientProviderProps<T extends NetworkConfigs> = {\n createClient?: (name: keyof T, config: T[keyof T]) => IotaClient;\n children: React.ReactNode;\n networks?: T;\n onNetworkChange?: (network: keyof T & string) => void;\n} & (\n | {\n defaultNetwork?: keyof T & string;\n network?: never;\n }\n | {\n defaultNetwork?: never;\n network?: keyof T & string;\n }\n);\n\nconst DEFAULT_NETWORKS = {\n localnet: { url: getNetwork(Network.Local).url },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n _name: string,\n config: NetworkConfig | IotaClient,\n) {\n if (isIotaClient(config)) {\n return config;\n }\n\n return new IotaClient(config);\n};\n\nexport function IotaClientProvider<T extends NetworkConfigs>(props: IotaClientProviderProps<T>) {\n const { onNetworkChange, network, children } = props;\n const networks = (props.networks ?? DEFAULT_NETWORKS) as T;\n const createClient =\n (props.createClient as typeof DEFAULT_CREATE_CLIENT) ?? DEFAULT_CREATE_CLIENT;\n\n const [selectedNetwork, setSelectedNetwork] = useState<keyof T & string>(\n props.network ?? props.defaultNetwork ?? (Object.keys(networks)[0] as keyof T & string),\n );\n\n const currentNetwork = props.network ?? selectedNetwork;\n\n const client = useMemo(() => {\n return createClient(currentNetwork, networks[currentNetwork]);\n }, [createClient, currentNetwork, networks]);\n\n const ctx = useMemo((): IotaClientProviderContext => {\n return {\n client,\n networks,\n network: currentNetwork,\n config:\n networks[currentNetwork] instanceof IotaClient\n ? null\n : (networks[currentNetwork] as IotaClientOptions),\n selectNetwork: (newNetwork) => {\n if (currentNetwork === newNetwork) {\n return;\n }\n\n if (!network && newNetwork !== selectedNetwork) {\n setSelectedNetwork(newNetwork);\n }\n\n onNetworkChange?.(newNetwork);\n },\n };\n }, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);\n\n return <IotaClientContext.Provider value={ctx}>{children}</IotaClientContext.Provider>;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,qBAA+B;AAY/B,6BAAoE;AACpE,IAAAA,gBAA0B;;;ACb1B,IAAAC,gBAA2B;;;ACD3B,oBAA8D;AAE9D,mBAAiD;AAyFtC;AAxEJ,IAAM,wBAAoB,4BAAgD,IAAI;AAkBrF,IAAM,mBAAmB;AAAA,EACrB,UAAU,EAAE,SAAK,0BAAW,sBAAQ,KAAK,EAAE,IAAI;AACnD;;;ADlCO,SAAS,uBAAuB;AACnC,QAAM,iBAAa,0BAAW,iBAAiB;AAE/C,MAAI,CAAC,YAAY;AACb,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AACX;AAEO,SAAS,gBAA4B;AACxC,SAAO,qBAAqB,EAAE;AAClC;;;ADDA,IAAM,cAAc;AAEb,SAAS,sBAAsB,SAAkB;AACpD,QAAM,aAAa,cAAc;AAEjC,+BAAU,MAAM;AACZ,QAAI,CAAC,SAAS;AACV;AAAA,IACJ;AACA,UAAM,aAAa,2BAA2B,UAAU;AACxD,WAAO;AAAA,EACX,GAAG,CAAC,SAAS,UAAU,CAAC;AAC5B;AAEA,SAAS,2BAA2B,YAAwB;AApC5D;AAqCI,QAAM,iBAAa,mCAAW;AAC9B,QAAM,oBAAoB,WAAW,IAAI;AAEzC,MAAI,kBAAkB,KAAK,CAAC,WAAW,OAAO,SAAS,WAAW,GAAG;AACjE,YAAQ;AAAA,MACJ;AAAA,IACJ;AACA;AAAA,EACJ;AAEA,UAAQ;AAAA,IACJ;AAAA,EACJ;AAEA,QAAM,UAAU,IAAI,8BAAe;AACnC,QAAM,UAAU,IAAI,6CAAsB;AAAA,IACtC,SAAS,QAAQ,aAAa,EAAE,cAAc;AAAA,IAC9C,WAAW,QAAQ,aAAa,EAAE,YAAY;AAAA,IAC9C,QAAQ,CAAC,cAAc;AAAA,IACvB,UAAU,CAAC,uCAAuC,2BAA2B;AAAA,EACjF,CAAC;AAED,QAAM,mBAAqC;AAAA,IAA3C;AA+CI,8BAA8B,MAAM;AAChC,eAAO,MAAM;AAAA,QAAC;AAAA,MAClB;AAEA,mCAAkC,YAAY;AAC1C,eAAO,EAAE,UAAU,KAAK,SAAS;AAAA,MACrC;AAEA,+CAAsD,OAAO,iBAAiB;AAC1E,cAAM,EAAE,OAAO,UAAU,IAAI,MAAM,QAAQ,oBAAoB,aAAa,OAAO;AACnF,eAAO,EAAE,OAAO,UAAU;AAAA,MAC9B;AAEA,gDAAwD,OAAO,qBAAqB;AAChF,cAAM,EAAE,OAAO,UAAU,IAAI,MAAM,iBAAiB,iBAAiB,KAAK;AAAA,UACtE,QAAQ;AAAA,UACR,QAAQ;AAAA,QACZ,CAAC;AAED,eAAO;AAAA,UACH,uBAAuB;AAAA,UACvB;AAAA,QACJ;AAAA,MACJ;AAEA,0DAA4E,OACxE,qBACC;AACD,eAAO,MAAM,WAAW,+BAA+B;AAAA,UACnD,QAAQ;AAAA,UACR,kBAAkB,iBAAiB;AAAA,UACnC,SAAS,iBAAiB;AAAA,UAC1B,aAAa,iBAAiB;AAAA,QAClC,CAAC;AAAA,MACL;AAAA;AAAA,IAhFA,IAAI,UAAU;AACV,aAAO;AAAA,IACX;AAAA,IAEA,IAAI,OAAO;AACP,aAAO;AAAA,IACX;AAAA,IAEA,IAAI,OAAO;AACP,aAAO;AAAA,IACX;AAAA;AAAA,IAGA,IAAI,SAAS;AACT,aAAO;AAAA,IACX;AAAA,IAEA,IAAI,WAAW;AACX,aAAO,CAAC,OAAO;AAAA,IACnB;AAAA,IAEA,IAAI,WAA0E;AAC1E,aAAO;AAAA,QACH,oBAAoB;AAAA,UAChB,SAAS;AAAA,UACT,SAAS,mBAAK;AAAA,QAClB;AAAA,QACA,mBAAmB;AAAA,UACf,SAAS;AAAA,UACT,IAAI,mBAAK;AAAA,QACb;AAAA,QACA,4BAA4B;AAAA,UACxB,SAAS;AAAA,UACT,qBAAqB,mBAAK;AAAA,QAC9B;AAAA,QACA,6BAA6B;AAAA,UACzB,SAAS;AAAA,UACT,sBAAsB,mBAAK;AAAA,QAC/B;AAAA,QACA,uCAAuC;AAAA,UACnC,SAAS;AAAA,UACT,gCAAgC,mBAAK;AAAA,QACzC;AAAA,MACJ;AAAA,IACJ;AAAA,EAqCJ;AAnCI;AAIA;AAIA;AAKA;AAYA;AAYJ,SAAO,WAAW,SAAS,IAAI,mBAAmB,CAAC;AACvD;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport { Ed25519Keypair } from '@iota/iota-sdk/keypairs/ed25519';\nimport { Transaction } from '@iota/iota-sdk/transactions';\nimport { toB64 } from '@iota/iota-sdk/utils';\nimport type {\n StandardConnectFeature,\n StandardConnectMethod,\n StandardEventsFeature,\n StandardEventsOnMethod,\n IotaFeatures,\n IotaSignAndExecuteTransactionMethod,\n IotaSignPersonalMessageMethod,\n IotaSignTransactionMethod,\n Wallet,\n} from '@iota/wallet-standard';\nimport { getWallets, ReadonlyWalletAccount, SUPPORTED_CHAINS } from '@iota/wallet-standard';\nimport { useEffect } from 'react';\n\nimport { useIotaClient } from '../useIotaClient.js';\n\nconst WALLET_NAME = 'Unsafe Burner Wallet';\n\nexport function useUnsafeBurnerWallet(enabled: boolean) {\n const iotaClient = useIotaClient();\n\n useEffect(() => {\n if (!enabled) {\n return;\n }\n const unregister = registerUnsafeBurnerWallet(iotaClient);\n return unregister;\n }, [enabled, iotaClient]);\n}\n\nfunction registerUnsafeBurnerWallet(iotaClient: IotaClient) {\n const walletsApi = getWallets();\n const registeredWallets = walletsApi.get();\n\n if (registeredWallets.find((wallet) => wallet.name === WALLET_NAME)) {\n console.warn(\n 'registerUnsafeBurnerWallet: Unsafe Burner Wallet already registered, skipping duplicate registration.',\n );\n return;\n }\n\n console.warn(\n 'Your application is currently using the unsafe burner wallet. Make sure that this wallet is disabled in production.',\n );\n\n const keypair = new Ed25519Keypair();\n const account = new ReadonlyWalletAccount({\n address: keypair.getPublicKey().toIotaAddress(),\n publicKey: keypair.getPublicKey().toIotaBytes(),\n chains: ['iota:unknown'],\n features: ['iota:signTransaction', 'iota:signAndExecuteTransaction'],\n });\n\n class UnsafeBurnerWallet implements Wallet {\n get version() {\n return '1.0.0' as const;\n }\n\n get name() {\n return WALLET_NAME;\n }\n\n get icon() {\n return 'data:image/png;base64,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' as const;\n }\n\n // Return the IOTA chains that your wallet supports.\n get chains() {\n return SUPPORTED_CHAINS;\n }\n\n get accounts() {\n return [account];\n }\n\n get features(): StandardConnectFeature & StandardEventsFeature & IotaFeatures {\n return {\n 'standard:connect': {\n version: '1.0.0',\n connect: this.#connect,\n },\n 'standard:events': {\n version: '1.0.0',\n on: this.#on,\n },\n 'iota:signPersonalMessage': {\n version: '1.0.0',\n signPersonalMessage: this.#signPersonalMessage,\n },\n 'iota:signTransaction': {\n version: '2.0.0',\n signTransaction: this.#signTransaction,\n },\n 'iota:signAndExecuteTransaction': {\n version: '2.0.0',\n signAndExecuteTransaction: this.#signAndExecuteTransaction,\n },\n };\n }\n\n #on: StandardEventsOnMethod = () => {\n return () => {};\n };\n\n #connect: StandardConnectMethod = async () => {\n return { accounts: this.accounts };\n };\n\n #signPersonalMessage: IotaSignPersonalMessageMethod = async (messageInput) => {\n const { bytes, signature } = await keypair.signPersonalMessage(messageInput.message);\n return { bytes, signature };\n };\n\n #signTransaction: IotaSignTransactionMethod = async (transactionInput) => {\n const { bytes, signature } = await Transaction.from(\n await transactionInput.transaction.toJSON(),\n ).sign({\n client: iotaClient,\n signer: keypair,\n });\n\n transactionInput.signal?.throwIfAborted();\n\n return {\n bytes,\n signature: signature,\n };\n };\n\n #signAndExecuteTransaction: IotaSignAndExecuteTransactionMethod = async (\n transactionInput,\n ) => {\n const { bytes, signature } = await Transaction.from(\n await transactionInput.transaction.toJSON(),\n ).sign({\n client: iotaClient,\n signer: keypair,\n });\n\n transactionInput.signal?.throwIfAborted();\n\n const { rawEffects, digest } = await iotaClient.executeTransactionBlock({\n signature,\n transactionBlock: bytes,\n options: {\n showRawEffects: true,\n },\n });\n\n return {\n bytes,\n signature,\n digest,\n effects: toB64(new Uint8Array(rawEffects!)),\n };\n };\n }\n\n return walletsApi.register(new UnsafeBurnerWallet());\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport { useContext } from 'react';\n\nimport { IotaClientContext } from '../components/IotaClientProvider.js';\n\nexport function useIotaClientContext() {\n const iotaClient = useContext(IotaClientContext);\n\n if (!iotaClient) {\n throw new Error(\n 'Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider',\n );\n }\n\n return iotaClient;\n}\n\nexport function useIotaClient(): IotaClient {\n return useIotaClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getNetwork, isIotaClient, Network, IotaClient } from '@iota/iota-sdk/client';\nimport type { IotaClientOptions } from '@iota/iota-sdk/client';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | IotaClient = NetworkConfig | IotaClient> = Record<\n string,\n T\n>;\n\nexport interface IotaClientProviderContext {\n client: IotaClient;\n networks: NetworkConfigs;\n network: string;\n config: NetworkConfig | null;\n selectNetwork: (network: string) => void;\n}\n\nexport const IotaClientContext = createContext<IotaClientProviderContext | null>(null);\n\nexport type IotaClientProviderProps<T extends NetworkConfigs> = {\n createClient?: (name: keyof T, config: T[keyof T]) => IotaClient;\n children: React.ReactNode;\n networks?: T;\n onNetworkChange?: (network: keyof T & string) => void;\n} & (\n | {\n defaultNetwork?: keyof T & string;\n network?: never;\n }\n | {\n defaultNetwork?: never;\n network?: keyof T & string;\n }\n);\n\nconst DEFAULT_NETWORKS = {\n localnet: { url: getNetwork(Network.Localnet).url },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n _name: string,\n config: NetworkConfig | IotaClient,\n) {\n if (isIotaClient(config)) {\n return config;\n }\n\n return new IotaClient(config);\n};\n\nexport function IotaClientProvider<T extends NetworkConfigs>(props: IotaClientProviderProps<T>) {\n const { onNetworkChange, network, children } = props;\n const networks = (props.networks ?? DEFAULT_NETWORKS) as T;\n const createClient =\n (props.createClient as typeof DEFAULT_CREATE_CLIENT) ?? DEFAULT_CREATE_CLIENT;\n\n const [selectedNetwork, setSelectedNetwork] = useState<keyof T & string>(\n props.network ?? props.defaultNetwork ?? (Object.keys(networks)[0] as keyof T & string),\n );\n\n const currentNetwork = props.network ?? selectedNetwork;\n\n const client = useMemo(() => {\n return createClient(currentNetwork, networks[currentNetwork]);\n }, [createClient, currentNetwork, networks]);\n\n const ctx = useMemo((): IotaClientProviderContext => {\n return {\n client,\n networks,\n network: currentNetwork,\n config:\n networks[currentNetwork] instanceof IotaClient\n ? null\n : (networks[currentNetwork] as IotaClientOptions),\n selectNetwork: (newNetwork) => {\n if (currentNetwork === newNetwork) {\n return;\n }\n\n if (!network && newNetwork !== selectedNetwork) {\n setSelectedNetwork(newNetwork);\n }\n\n onNetworkChange?.(newNetwork);\n },\n };\n }, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);\n\n return <IotaClientContext.Provider value={ctx}>{children}</IotaClientContext.Provider>;\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_react", "import_react"]
7
7
  }
@@ -48,6 +48,7 @@ function useWalletStore(selector) {
48
48
  function useCurrentWallet() {
49
49
  const currentWallet = useWalletStore((state) => state.currentWallet);
50
50
  const connectionStatus = useWalletStore((state) => state.connectionStatus);
51
+ const supportedIntents = useWalletStore((state) => state.supportedIntents);
51
52
  switch (connectionStatus) {
52
53
  case "connecting":
53
54
  return {
@@ -55,7 +56,8 @@ function useCurrentWallet() {
55
56
  currentWallet: null,
56
57
  isDisconnected: false,
57
58
  isConnecting: true,
58
- isConnected: false
59
+ isConnected: false,
60
+ supportedIntents: []
59
61
  };
60
62
  case "disconnected":
61
63
  return {
@@ -63,7 +65,8 @@ function useCurrentWallet() {
63
65
  currentWallet: null,
64
66
  isDisconnected: true,
65
67
  isConnecting: false,
66
- isConnected: false
68
+ isConnected: false,
69
+ supportedIntents: []
67
70
  };
68
71
  case "connected": {
69
72
  return {
@@ -71,7 +74,8 @@ function useCurrentWallet() {
71
74
  currentWallet,
72
75
  isDisconnected: false,
73
76
  isConnecting: false,
74
- isConnected: true
77
+ isConnected: true,
78
+ supportedIntents
75
79
  };
76
80
  }
77
81
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/hooks/wallet/useWalletPropertiesChanged.ts", "../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts", "../../../../src/hooks/wallet/useCurrentWallet.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useEffect } from 'react';\n\nimport { useCurrentWallet } from './useCurrentWallet.js';\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Internal hook for easily handling various changes in properties for a wallet.\n */\nexport function useWalletPropertiesChanged() {\n const { currentWallet } = useCurrentWallet();\n const updateWalletAccounts = useWalletStore((state) => state.updateWalletAccounts);\n\n useEffect(() => {\n const unsubscribeFromEvents = currentWallet?.features['standard:events'].on(\n 'change',\n ({ accounts }) => {\n // TODO: We should handle features changing that might make the list of wallets\n // or even the current wallet incompatible with the dApp.\n if (accounts) {\n updateWalletAccounts(accounts);\n }\n },\n );\n return unsubscribeFromEvents;\n }, [currentWallet?.features, updateWalletAccounts]);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useContext } from 'react';\nimport { useStore } from 'zustand';\n\nimport { WalletContext } from '../../contexts/walletContext.js';\nimport type { StoreState } from '../../walletStore.js';\n\nexport function useWalletStore<T>(selector: (state: StoreState) => T): T {\n const store = useContext(WalletContext);\n if (!store) {\n throw new Error(\n 'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n );\n }\n return useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { createContext } from 'react';\n\nimport type { WalletStore } from '../walletStore.js';\n\nexport const WalletContext = createContext<WalletStore | null>(null);\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves the wallet that is currently connected to the dApp, if one exists.\n */\nexport function useCurrentWallet() {\n const currentWallet = useWalletStore((state) => state.currentWallet);\n const connectionStatus = useWalletStore((state) => state.connectionStatus);\n\n switch (connectionStatus) {\n case 'connecting':\n return {\n connectionStatus,\n currentWallet: null,\n isDisconnected: false,\n isConnecting: true,\n isConnected: false,\n } as const;\n case 'disconnected':\n return {\n connectionStatus,\n currentWallet: null,\n isDisconnected: true,\n isConnecting: false,\n isConnected: false,\n } as const;\n case 'connected': {\n return {\n connectionStatus,\n currentWallet: currentWallet!,\n isDisconnected: false,\n isConnecting: false,\n isConnected: true,\n } as const;\n }\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,IAAAA,gBAA0B;;;ACA1B,IAAAC,gBAA2B;AAC3B,qBAAyB;;;ACDzB,mBAA8B;AAIvB,IAAM,oBAAgB,4BAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACrE,QAAM,YAAQ,0BAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACR,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AACA,aAAO,yBAAS,OAAO,QAAQ;AACnC;;;AETO,SAAS,mBAAmB;AAC/B,QAAM,gBAAgB,eAAe,CAAC,UAAU,MAAM,aAAa;AACnE,QAAM,mBAAmB,eAAe,CAAC,UAAU,MAAM,gBAAgB;AAEzE,UAAQ,kBAAkB;AAAA,IACtB,KAAK;AACD,aAAO;AAAA,QACH;AAAA,QACA,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,MACjB;AAAA,IACJ,KAAK;AACD,aAAO;AAAA,QACH;AAAA,QACA,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,MACjB;AAAA,IACJ,KAAK,aAAa;AACd,aAAO;AAAA,QACH;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,MACjB;AAAA,IACJ;AAAA,EACJ;AACJ;;;AH5BO,SAAS,6BAA6B;AACzC,QAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,QAAM,uBAAuB,eAAe,CAAC,UAAU,MAAM,oBAAoB;AAEjF,+BAAU,MAAM;AACZ,UAAM,wBAAwB,eAAe,SAAS,iBAAiB,EAAE;AAAA,MACrE;AAAA,MACA,CAAC,EAAE,SAAS,MAAM;AAGd,YAAI,UAAU;AACV,+BAAqB,QAAQ;AAAA,QACjC;AAAA,MACJ;AAAA,IACJ;AACA,WAAO;AAAA,EACX,GAAG,CAAC,eAAe,UAAU,oBAAoB,CAAC;AACtD;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useEffect } from 'react';\n\nimport { useCurrentWallet } from './useCurrentWallet.js';\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Internal hook for easily handling various changes in properties for a wallet.\n */\nexport function useWalletPropertiesChanged() {\n const { currentWallet } = useCurrentWallet();\n const updateWalletAccounts = useWalletStore((state) => state.updateWalletAccounts);\n\n useEffect(() => {\n const unsubscribeFromEvents = currentWallet?.features['standard:events'].on(\n 'change',\n ({ accounts }) => {\n // TODO: We should handle features changing that might make the list of wallets\n // or even the current wallet incompatible with the dApp.\n if (accounts) {\n updateWalletAccounts(accounts);\n }\n },\n );\n return unsubscribeFromEvents;\n }, [currentWallet?.features, updateWalletAccounts]);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useContext } from 'react';\nimport { useStore } from 'zustand';\n\nimport { WalletContext } from '../../contexts/walletContext.js';\nimport type { StoreState } from '../../walletStore.js';\n\nexport function useWalletStore<T>(selector: (state: StoreState) => T): T {\n const store = useContext(WalletContext);\n if (!store) {\n throw new Error(\n 'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n );\n }\n return useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { createContext } from 'react';\n\nimport type { WalletStore } from '../walletStore.js';\n\nexport const WalletContext = createContext<WalletStore | null>(null);\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves the wallet that is currently connected to the dApp, if one exists.\n */\nexport function useCurrentWallet() {\n const currentWallet = useWalletStore((state) => state.currentWallet);\n const connectionStatus = useWalletStore((state) => state.connectionStatus);\n const supportedIntents = useWalletStore((state) => state.supportedIntents);\n\n switch (connectionStatus) {\n case 'connecting':\n return {\n connectionStatus,\n currentWallet: null,\n isDisconnected: false,\n isConnecting: true,\n isConnected: false,\n supportedIntents: [],\n } as const;\n case 'disconnected':\n return {\n connectionStatus,\n currentWallet: null,\n isDisconnected: true,\n isConnecting: false,\n isConnected: false,\n supportedIntents: [],\n } as const;\n case 'connected': {\n return {\n connectionStatus,\n currentWallet: currentWallet!,\n isDisconnected: false,\n isConnecting: false,\n isConnected: true,\n supportedIntents,\n } as const;\n }\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,IAAAA,gBAA0B;;;ACA1B,IAAAC,gBAA2B;AAC3B,qBAAyB;;;ACDzB,mBAA8B;AAIvB,IAAM,oBAAgB,4BAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACrE,QAAM,YAAQ,0BAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACR,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AACA,aAAO,yBAAS,OAAO,QAAQ;AACnC;;;AETO,SAAS,mBAAmB;AAC/B,QAAM,gBAAgB,eAAe,CAAC,UAAU,MAAM,aAAa;AACnE,QAAM,mBAAmB,eAAe,CAAC,UAAU,MAAM,gBAAgB;AACzE,QAAM,mBAAmB,eAAe,CAAC,UAAU,MAAM,gBAAgB;AAEzE,UAAQ,kBAAkB;AAAA,IACtB,KAAK;AACD,aAAO;AAAA,QACH;AAAA,QACA,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,kBAAkB,CAAC;AAAA,MACvB;AAAA,IACJ,KAAK;AACD,aAAO;AAAA,QACH;AAAA,QACA,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,kBAAkB,CAAC;AAAA,MACvB;AAAA,IACJ,KAAK,aAAa;AACd,aAAO;AAAA,QACH;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,QACb;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AACJ;;;AHhCO,SAAS,6BAA6B;AACzC,QAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,QAAM,uBAAuB,eAAe,CAAC,UAAU,MAAM,oBAAoB;AAEjF,+BAAU,MAAM;AACZ,UAAM,wBAAwB,eAAe,SAAS,iBAAiB,EAAE;AAAA,MACrE;AAAA,MACA,CAAC,EAAE,SAAS,MAAM;AAGd,YAAI,UAAU;AACV,+BAAqB,QAAQ;AAAA,QACjC;AAAA,MACJ;AAAA,IACJ;AACA,WAAO;AAAA,EACX,GAAG,CAAC,eAAe,UAAU,oBAAoB,CAAC;AACtD;",
6
6
  "names": ["import_react", "import_react"]
7
7
  }
@@ -2,4 +2,4 @@ import type { WalletWithRequiredFeatures } from '@iota/wallet-standard';
2
2
  /**
3
3
  * Internal hook for easily handling the addition and removal of new wallets.
4
4
  */
5
- export declare function useWalletsChanged(preferredWallets: string[], requiredFeatures: (keyof WalletWithRequiredFeatures['features'])[]): void;
5
+ export declare function useWalletsChanged(preferredWallets: string[], walletFilter?: (wallet: WalletWithRequiredFeatures) => boolean): void;
@@ -28,11 +28,11 @@ var import_react3 = require("react");
28
28
 
29
29
  // src/utils/walletUtils.ts
30
30
  var import_wallet_standard = require("@iota/wallet-standard");
31
- function getRegisteredWallets(preferredWallets, requiredFeatures) {
31
+ function getRegisteredWallets(preferredWallets, walletFilter) {
32
32
  const walletsApi = (0, import_wallet_standard.getWallets)();
33
33
  const wallets = walletsApi.get();
34
34
  const iotaWallets = wallets.filter(
35
- (wallet) => (0, import_wallet_standard.isWalletWithRequiredFeatureSet)(wallet, requiredFeatures)
35
+ (wallet) => (0, import_wallet_standard.isWalletWithRequiredFeatureSet)(wallet) && (!walletFilter || walletFilter(wallet))
36
36
  );
37
37
  return [
38
38
  // Preferred wallets, in order:
@@ -62,17 +62,18 @@ function useWalletStore(selector) {
62
62
  }
63
63
 
64
64
  // src/hooks/wallet/useWalletsChanged.ts
65
- function useWalletsChanged(preferredWallets, requiredFeatures) {
65
+ function useWalletsChanged(preferredWallets, walletFilter) {
66
66
  const setWalletRegistered = useWalletStore((state) => state.setWalletRegistered);
67
67
  const setWalletUnregistered = useWalletStore((state) => state.setWalletUnregistered);
68
68
  (0, import_react3.useEffect)(() => {
69
69
  const walletsApi = (0, import_wallet_standard2.getWallets)();
70
+ setWalletRegistered(getRegisteredWallets(preferredWallets, walletFilter));
70
71
  const unsubscribeFromRegister = walletsApi.on("register", () => {
71
- setWalletRegistered(getRegisteredWallets(preferredWallets, requiredFeatures));
72
+ setWalletRegistered(getRegisteredWallets(preferredWallets, walletFilter));
72
73
  });
73
74
  const unsubscribeFromUnregister = walletsApi.on("unregister", (unregisteredWallet) => {
74
75
  setWalletUnregistered(
75
- getRegisteredWallets(preferredWallets, requiredFeatures),
76
+ getRegisteredWallets(preferredWallets, walletFilter),
76
77
  unregisteredWallet
77
78
  );
78
79
  });
@@ -80,6 +81,6 @@ function useWalletsChanged(preferredWallets, requiredFeatures) {
80
81
  unsubscribeFromRegister();
81
82
  unsubscribeFromUnregister();
82
83
  };
83
- }, [preferredWallets, requiredFeatures, setWalletRegistered, setWalletUnregistered]);
84
+ }, [preferredWallets, walletFilter, setWalletRegistered, setWalletUnregistered]);
84
85
  }
85
86
  //# sourceMappingURL=useWalletsChanged.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/hooks/wallet/useWalletsChanged.ts", "../../../../src/utils/walletUtils.ts", "../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletWithRequiredFeatures } from '@iota/wallet-standard';\nimport { getWallets } from '@iota/wallet-standard';\nimport { useEffect } from 'react';\n\nimport { getRegisteredWallets } from '../../utils/walletUtils.js';\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Internal hook for easily handling the addition and removal of new wallets.\n */\nexport function useWalletsChanged(\n preferredWallets: string[],\n requiredFeatures: (keyof WalletWithRequiredFeatures['features'])[],\n) {\n const setWalletRegistered = useWalletStore((state) => state.setWalletRegistered);\n const setWalletUnregistered = useWalletStore((state) => state.setWalletUnregistered);\n\n useEffect(() => {\n const walletsApi = getWallets();\n\n const unsubscribeFromRegister = walletsApi.on('register', () => {\n setWalletRegistered(getRegisteredWallets(preferredWallets, requiredFeatures));\n });\n\n const unsubscribeFromUnregister = walletsApi.on('unregister', (unregisteredWallet) => {\n setWalletUnregistered(\n getRegisteredWallets(preferredWallets, requiredFeatures),\n unregisteredWallet,\n );\n });\n\n return () => {\n unsubscribeFromRegister();\n unsubscribeFromUnregister();\n };\n }, [preferredWallets, requiredFeatures, setWalletRegistered, setWalletUnregistered]);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { MinimallyRequiredFeatures, Wallet, WalletWithFeatures } from '@iota/wallet-standard';\nimport { getWallets, isWalletWithRequiredFeatureSet } from '@iota/wallet-standard';\n\nexport function getRegisteredWallets<AdditionalFeatures extends Wallet['features']>(\n preferredWallets: string[],\n requiredFeatures?: (keyof AdditionalFeatures)[],\n) {\n const walletsApi = getWallets();\n const wallets = walletsApi.get();\n\n const iotaWallets = wallets.filter(\n (wallet): wallet is WalletWithFeatures<MinimallyRequiredFeatures & AdditionalFeatures> =>\n isWalletWithRequiredFeatureSet(wallet, requiredFeatures),\n );\n\n return [\n // Preferred wallets, in order:\n ...(preferredWallets\n .map((name) => iotaWallets.find((wallet) => wallet.name === name))\n .filter(Boolean) as WalletWithFeatures<\n MinimallyRequiredFeatures & AdditionalFeatures\n >[]),\n\n // Wallets in default order:\n ...iotaWallets.filter((wallet) => !preferredWallets.includes(wallet.name)),\n ];\n}\n\nexport function getWalletUniqueIdentifier(wallet?: Wallet) {\n return wallet?.id ?? wallet?.name;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useContext } from 'react';\nimport { useStore } from 'zustand';\n\nimport { WalletContext } from '../../contexts/walletContext.js';\nimport type { StoreState } from '../../walletStore.js';\n\nexport function useWalletStore<T>(selector: (state: StoreState) => T): T {\n const store = useContext(WalletContext);\n if (!store) {\n throw new Error(\n 'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n );\n }\n return useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { createContext } from 'react';\n\nimport type { WalletStore } from '../walletStore.js';\n\nexport const WalletContext = createContext<WalletStore | null>(null);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,IAAAA,0BAA2B;AAC3B,IAAAC,gBAA0B;;;ACD1B,6BAA2D;AAEpD,SAAS,qBACZ,kBACA,kBACF;AACE,QAAM,iBAAa,mCAAW;AAC9B,QAAM,UAAU,WAAW,IAAI;AAE/B,QAAM,cAAc,QAAQ;AAAA,IACxB,CAAC,eACG,uDAA+B,QAAQ,gBAAgB;AAAA,EAC/D;AAEA,SAAO;AAAA;AAAA,IAEH,GAAI,iBACC,IAAI,CAAC,SAAS,YAAY,KAAK,CAAC,WAAW,OAAO,SAAS,IAAI,CAAC,EAChE,OAAO,OAAO;AAAA;AAAA,IAKnB,GAAG,YAAY,OAAO,CAAC,WAAW,CAAC,iBAAiB,SAAS,OAAO,IAAI,CAAC;AAAA,EAC7E;AACJ;;;AC1BA,IAAAC,gBAA2B;AAC3B,qBAAyB;;;ACDzB,mBAA8B;AAIvB,IAAM,oBAAgB,4BAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACrE,QAAM,YAAQ,0BAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACR,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AACA,aAAO,yBAAS,OAAO,QAAQ;AACnC;;;AFJO,SAAS,kBACZ,kBACA,kBACF;AACE,QAAM,sBAAsB,eAAe,CAAC,UAAU,MAAM,mBAAmB;AAC/E,QAAM,wBAAwB,eAAe,CAAC,UAAU,MAAM,qBAAqB;AAEnF,+BAAU,MAAM;AACZ,UAAM,iBAAa,oCAAW;AAE9B,UAAM,0BAA0B,WAAW,GAAG,YAAY,MAAM;AAC5D,0BAAoB,qBAAqB,kBAAkB,gBAAgB,CAAC;AAAA,IAChF,CAAC;AAED,UAAM,4BAA4B,WAAW,GAAG,cAAc,CAAC,uBAAuB;AAClF;AAAA,QACI,qBAAqB,kBAAkB,gBAAgB;AAAA,QACvD;AAAA,MACJ;AAAA,IACJ,CAAC;AAED,WAAO,MAAM;AACT,8BAAwB;AACxB,gCAA0B;AAAA,IAC9B;AAAA,EACJ,GAAG,CAAC,kBAAkB,kBAAkB,qBAAqB,qBAAqB,CAAC;AACvF;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletWithRequiredFeatures } from '@iota/wallet-standard';\nimport { getWallets } from '@iota/wallet-standard';\nimport { useEffect } from 'react';\n\nimport { getRegisteredWallets } from '../../utils/walletUtils.js';\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Internal hook for easily handling the addition and removal of new wallets.\n */\nexport function useWalletsChanged(\n preferredWallets: string[],\n walletFilter?: (wallet: WalletWithRequiredFeatures) => boolean,\n) {\n const setWalletRegistered = useWalletStore((state) => state.setWalletRegistered);\n const setWalletUnregistered = useWalletStore((state) => state.setWalletUnregistered);\n\n useEffect(() => {\n const walletsApi = getWallets();\n setWalletRegistered(getRegisteredWallets(preferredWallets, walletFilter));\n\n const unsubscribeFromRegister = walletsApi.on('register', () => {\n setWalletRegistered(getRegisteredWallets(preferredWallets, walletFilter));\n });\n\n const unsubscribeFromUnregister = walletsApi.on('unregister', (unregisteredWallet) => {\n setWalletUnregistered(\n getRegisteredWallets(preferredWallets, walletFilter),\n unregisteredWallet,\n );\n });\n\n return () => {\n unsubscribeFromRegister();\n unsubscribeFromUnregister();\n };\n }, [preferredWallets, walletFilter, setWalletRegistered, setWalletUnregistered]);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n MinimallyRequiredFeatures,\n Wallet,\n WalletWithFeatures,\n WalletWithRequiredFeatures,\n} from '@iota/wallet-standard';\nimport { getWallets, isWalletWithRequiredFeatureSet } from '@iota/wallet-standard';\n\nexport function getRegisteredWallets<AdditionalFeatures extends Wallet['features']>(\n preferredWallets: string[],\n walletFilter?: (wallet: WalletWithRequiredFeatures) => boolean,\n) {\n const walletsApi = getWallets();\n const wallets = walletsApi.get();\n\n const iotaWallets = wallets.filter(\n (wallet): wallet is WalletWithFeatures<MinimallyRequiredFeatures & AdditionalFeatures> =>\n isWalletWithRequiredFeatureSet(wallet) && (!walletFilter || walletFilter(wallet)),\n );\n\n return [\n // Preferred wallets, in order:\n ...(preferredWallets\n .map((name) => iotaWallets.find((wallet) => wallet.name === name))\n .filter(Boolean) as WalletWithFeatures<\n MinimallyRequiredFeatures & AdditionalFeatures\n >[]),\n\n // Wallets in default order:\n ...iotaWallets.filter((wallet) => !preferredWallets.includes(wallet.name)),\n ];\n}\n\nexport function getWalletUniqueIdentifier(wallet?: Wallet) {\n return wallet?.id ?? wallet?.name;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useContext } from 'react';\nimport { useStore } from 'zustand';\n\nimport { WalletContext } from '../../contexts/walletContext.js';\nimport type { StoreState } from '../../walletStore.js';\n\nexport function useWalletStore<T>(selector: (state: StoreState) => T): T {\n const store = useContext(WalletContext);\n if (!store) {\n throw new Error(\n 'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n );\n }\n return useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { createContext } from 'react';\n\nimport type { WalletStore } from '../walletStore.js';\n\nexport const WalletContext = createContext<WalletStore | null>(null);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,IAAAA,0BAA2B;AAC3B,IAAAC,gBAA0B;;;ACI1B,6BAA2D;AAEpD,SAAS,qBACZ,kBACA,cACF;AACE,QAAM,iBAAa,mCAAW;AAC9B,QAAM,UAAU,WAAW,IAAI;AAE/B,QAAM,cAAc,QAAQ;AAAA,IACxB,CAAC,eACG,uDAA+B,MAAM,MAAM,CAAC,gBAAgB,aAAa,MAAM;AAAA,EACvF;AAEA,SAAO;AAAA;AAAA,IAEH,GAAI,iBACC,IAAI,CAAC,SAAS,YAAY,KAAK,CAAC,WAAW,OAAO,SAAS,IAAI,CAAC,EAChE,OAAO,OAAO;AAAA;AAAA,IAKnB,GAAG,YAAY,OAAO,CAAC,WAAW,CAAC,iBAAiB,SAAS,OAAO,IAAI,CAAC;AAAA,EAC7E;AACJ;;;AC/BA,IAAAC,gBAA2B;AAC3B,qBAAyB;;;ACDzB,mBAA8B;AAIvB,IAAM,oBAAgB,4BAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACrE,QAAM,YAAQ,0BAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACR,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AACA,aAAO,yBAAS,OAAO,QAAQ;AACnC;;;AFJO,SAAS,kBACZ,kBACA,cACF;AACE,QAAM,sBAAsB,eAAe,CAAC,UAAU,MAAM,mBAAmB;AAC/E,QAAM,wBAAwB,eAAe,CAAC,UAAU,MAAM,qBAAqB;AAEnF,+BAAU,MAAM;AACZ,UAAM,iBAAa,oCAAW;AAC9B,wBAAoB,qBAAqB,kBAAkB,YAAY,CAAC;AAExE,UAAM,0BAA0B,WAAW,GAAG,YAAY,MAAM;AAC5D,0BAAoB,qBAAqB,kBAAkB,YAAY,CAAC;AAAA,IAC5E,CAAC;AAED,UAAM,4BAA4B,WAAW,GAAG,cAAc,CAAC,uBAAuB;AAClF;AAAA,QACI,qBAAqB,kBAAkB,YAAY;AAAA,QACnD;AAAA,MACJ;AAAA,IACJ,CAAC;AAED,WAAO,MAAM;AACT,8BAAwB;AACxB,gCAA0B;AAAA,IAC9B;AAAA,EACJ,GAAG,CAAC,kBAAkB,cAAc,qBAAqB,qBAAqB,CAAC;AACnF;",
6
6
  "names": ["import_wallet_standard", "import_react", "import_react"]
7
7
  }