@haneullabs/dapp-kit 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (625) hide show
  1. package/CHANGELOG.md +1445 -0
  2. package/LICENSE +201 -0
  3. package/README.md +97 -0
  4. package/dist/cjs/components/AccountDropdownMenu.css +177 -0
  5. package/dist/cjs/components/AccountDropdownMenu.css.css +49 -0
  6. package/dist/cjs/components/AccountDropdownMenu.css.css.map +7 -0
  7. package/dist/cjs/components/AccountDropdownMenu.css.d.ts +6 -0
  8. package/dist/cjs/components/AccountDropdownMenu.css.js +37 -0
  9. package/dist/cjs/components/AccountDropdownMenu.css.js.map +7 -0
  10. package/dist/cjs/components/AccountDropdownMenu.css.map +7 -0
  11. package/dist/cjs/components/AccountDropdownMenu.d.ts +10 -0
  12. package/dist/cjs/components/AccountDropdownMenu.js +423 -0
  13. package/dist/cjs/components/AccountDropdownMenu.js.map +7 -0
  14. package/dist/cjs/components/ConnectButton.css +458 -0
  15. package/dist/cjs/components/ConnectButton.css.map +7 -0
  16. package/dist/cjs/components/ConnectButton.d.ts +9 -0
  17. package/dist/cjs/components/ConnectButton.js +880 -0
  18. package/dist/cjs/components/ConnectButton.js.map +7 -0
  19. package/dist/cjs/components/HaneulClientProvider.d.ts +25 -0
  20. package/dist/cjs/components/HaneulClientProvider.js +70 -0
  21. package/dist/cjs/components/HaneulClientProvider.js.map +7 -0
  22. package/dist/cjs/components/WalletProvider.d.ts +26 -0
  23. package/dist/cjs/components/WalletProvider.js +853 -0
  24. package/dist/cjs/components/WalletProvider.js.map +7 -0
  25. package/dist/cjs/components/connect-modal/ConnectModal.css +409 -0
  26. package/dist/cjs/components/connect-modal/ConnectModal.css.css +115 -0
  27. package/dist/cjs/components/connect-modal/ConnectModal.css.css.map +7 -0
  28. package/dist/cjs/components/connect-modal/ConnectModal.css.d.ts +11 -0
  29. package/dist/cjs/components/connect-modal/ConnectModal.css.js +47 -0
  30. package/dist/cjs/components/connect-modal/ConnectModal.css.js.map +7 -0
  31. package/dist/cjs/components/connect-modal/ConnectModal.css.map +7 -0
  32. package/dist/cjs/components/connect-modal/ConnectModal.d.ts +23 -0
  33. package/dist/cjs/components/connect-modal/ConnectModal.js +604 -0
  34. package/dist/cjs/components/connect-modal/ConnectModal.js.map +7 -0
  35. package/dist/cjs/components/connect-modal/InfoSection.css +78 -0
  36. package/dist/cjs/components/connect-modal/InfoSection.css.css +8 -0
  37. package/dist/cjs/components/connect-modal/InfoSection.css.css.map +7 -0
  38. package/dist/cjs/components/connect-modal/InfoSection.css.d.ts +1 -0
  39. package/dist/cjs/components/connect-modal/InfoSection.css.js +27 -0
  40. package/dist/cjs/components/connect-modal/InfoSection.css.js.map +7 -0
  41. package/dist/cjs/components/connect-modal/InfoSection.css.map +7 -0
  42. package/dist/cjs/components/connect-modal/InfoSection.d.ts +6 -0
  43. package/dist/cjs/components/connect-modal/InfoSection.js +119 -0
  44. package/dist/cjs/components/connect-modal/InfoSection.js.map +7 -0
  45. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css +146 -0
  46. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css +32 -0
  47. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css.map +7 -0
  48. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.d.ts +5 -0
  49. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.js +35 -0
  50. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.js.map +7 -0
  51. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.map +7 -0
  52. package/dist/cjs/components/connect-modal/views/ConnectionStatus.d.ts +8 -0
  53. package/dist/cjs/components/connect-modal/views/ConnectionStatus.js +165 -0
  54. package/dist/cjs/components/connect-modal/views/ConnectionStatus.js.map +7 -0
  55. package/dist/cjs/components/connect-modal/views/GettingStarted.css +145 -0
  56. package/dist/cjs/components/connect-modal/views/GettingStarted.css.css +23 -0
  57. package/dist/cjs/components/connect-modal/views/GettingStarted.css.css.map +7 -0
  58. package/dist/cjs/components/connect-modal/views/GettingStarted.css.d.ts +3 -0
  59. package/dist/cjs/components/connect-modal/views/GettingStarted.css.js +31 -0
  60. package/dist/cjs/components/connect-modal/views/GettingStarted.css.js.map +7 -0
  61. package/dist/cjs/components/connect-modal/views/GettingStarted.css.map +7 -0
  62. package/dist/cjs/components/connect-modal/views/GettingStarted.d.ts +1 -0
  63. package/dist/cjs/components/connect-modal/views/GettingStarted.js +172 -0
  64. package/dist/cjs/components/connect-modal/views/GettingStarted.js.map +7 -0
  65. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css +95 -0
  66. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css +17 -0
  67. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css.map +7 -0
  68. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.d.ts +2 -0
  69. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js +29 -0
  70. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js.map +7 -0
  71. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.map +7 -0
  72. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.d.ts +1 -0
  73. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js +135 -0
  74. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
  75. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css +73 -0
  76. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css +8 -0
  77. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css.map +7 -0
  78. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.d.ts +1 -0
  79. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.js +27 -0
  80. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.js.map +7 -0
  81. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.map +7 -0
  82. package/dist/cjs/components/connect-modal/wallet-list/WalletList.d.ts +9 -0
  83. package/dist/cjs/components/connect-modal/wallet-list/WalletList.js +135 -0
  84. package/dist/cjs/components/connect-modal/wallet-list/WalletList.js.map +7 -0
  85. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css +65 -0
  86. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css +33 -0
  87. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css.map +7 -0
  88. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.d.ts +4 -0
  89. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js +33 -0
  90. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js.map +7 -0
  91. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.map +7 -0
  92. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.d.ts +9 -0
  93. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js +95 -0
  94. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js.map +7 -0
  95. package/dist/cjs/components/icons/BackIcon.d.ts +2 -0
  96. package/dist/cjs/components/icons/BackIcon.js +36 -0
  97. package/dist/cjs/components/icons/BackIcon.js.map +7 -0
  98. package/dist/cjs/components/icons/CheckIcon.d.ts +2 -0
  99. package/dist/cjs/components/icons/CheckIcon.js +36 -0
  100. package/dist/cjs/components/icons/CheckIcon.js.map +7 -0
  101. package/dist/cjs/components/icons/ChevronIcon.d.ts +2 -0
  102. package/dist/cjs/components/icons/ChevronIcon.js +39 -0
  103. package/dist/cjs/components/icons/ChevronIcon.js.map +7 -0
  104. package/dist/cjs/components/icons/CloseIcon.d.ts +2 -0
  105. package/dist/cjs/components/icons/CloseIcon.js +36 -0
  106. package/dist/cjs/components/icons/CloseIcon.js.map +7 -0
  107. package/dist/cjs/components/styling/InjectedThemeStyles.d.ts +6 -0
  108. package/dist/cjs/components/styling/InjectedThemeStyles.js +125 -0
  109. package/dist/cjs/components/styling/InjectedThemeStyles.js.map +7 -0
  110. package/dist/cjs/components/styling/StyleMarker.css +46 -0
  111. package/dist/cjs/components/styling/StyleMarker.css.css +46 -0
  112. package/dist/cjs/components/styling/StyleMarker.css.css.map +7 -0
  113. package/dist/cjs/components/styling/StyleMarker.css.d.ts +1 -0
  114. package/dist/cjs/components/styling/StyleMarker.css.js +2 -0
  115. package/dist/cjs/components/styling/StyleMarker.css.js.map +7 -0
  116. package/dist/cjs/components/styling/StyleMarker.css.map +7 -0
  117. package/dist/cjs/components/styling/StyleMarker.d.ts +2 -0
  118. package/dist/cjs/components/styling/StyleMarker.js +69 -0
  119. package/dist/cjs/components/styling/StyleMarker.js.map +7 -0
  120. package/dist/cjs/components/ui/Button.css +44 -0
  121. package/dist/cjs/components/ui/Button.css.css +44 -0
  122. package/dist/cjs/components/ui/Button.css.css.map +7 -0
  123. package/dist/cjs/components/ui/Button.css.d.ts +33 -0
  124. package/dist/cjs/components/ui/Button.css.js +28 -0
  125. package/dist/cjs/components/ui/Button.css.js.map +7 -0
  126. package/dist/cjs/components/ui/Button.css.map +7 -0
  127. package/dist/cjs/components/ui/Button.d.ts +8 -0
  128. package/dist/cjs/components/ui/Button.js +60 -0
  129. package/dist/cjs/components/ui/Button.js.map +7 -0
  130. package/dist/cjs/components/ui/Heading.css +32 -0
  131. package/dist/cjs/components/ui/Heading.css.css +32 -0
  132. package/dist/cjs/components/ui/Heading.css.css.map +7 -0
  133. package/dist/cjs/components/ui/Heading.css.d.ts +33 -0
  134. package/dist/cjs/components/ui/Heading.css.js +28 -0
  135. package/dist/cjs/components/ui/Heading.css.js.map +7 -0
  136. package/dist/cjs/components/ui/Heading.css.map +7 -0
  137. package/dist/cjs/components/ui/Heading.d.ts +12 -0
  138. package/dist/cjs/components/ui/Heading.js +69 -0
  139. package/dist/cjs/components/ui/Heading.js.map +7 -0
  140. package/dist/cjs/components/ui/IconButton.css +13 -0
  141. package/dist/cjs/components/ui/IconButton.css.css +13 -0
  142. package/dist/cjs/components/ui/IconButton.css.css.map +7 -0
  143. package/dist/cjs/components/ui/IconButton.css.d.ts +1 -0
  144. package/dist/cjs/components/ui/IconButton.css.js +27 -0
  145. package/dist/cjs/components/ui/IconButton.css.js.map +7 -0
  146. package/dist/cjs/components/ui/IconButton.css.map +7 -0
  147. package/dist/cjs/components/ui/IconButton.d.ts +6 -0
  148. package/dist/cjs/components/ui/IconButton.js +52 -0
  149. package/dist/cjs/components/ui/IconButton.js.map +7 -0
  150. package/dist/cjs/components/ui/Text.css +38 -0
  151. package/dist/cjs/components/ui/Text.css.css +38 -0
  152. package/dist/cjs/components/ui/Text.css.css.map +7 -0
  153. package/dist/cjs/components/ui/Text.css.d.ts +33 -0
  154. package/dist/cjs/components/ui/Text.css.js +28 -0
  155. package/dist/cjs/components/ui/Text.css.js.map +7 -0
  156. package/dist/cjs/components/ui/Text.css.map +7 -0
  157. package/dist/cjs/components/ui/Text.d.ts +12 -0
  158. package/dist/cjs/components/ui/Text.js +70 -0
  159. package/dist/cjs/components/ui/Text.js.map +7 -0
  160. package/dist/cjs/constants/styleDataAttribute.d.ts +5 -0
  161. package/dist/cjs/constants/styleDataAttribute.js +31 -0
  162. package/dist/cjs/constants/styleDataAttribute.js.map +7 -0
  163. package/dist/cjs/constants/walletDefaults.d.ts +6 -0
  164. package/dist/cjs/constants/walletDefaults.js +58 -0
  165. package/dist/cjs/constants/walletDefaults.js.map +7 -0
  166. package/dist/cjs/constants/walletMutationKeys.d.ts +14 -0
  167. package/dist/cjs/constants/walletMutationKeys.js +42 -0
  168. package/dist/cjs/constants/walletMutationKeys.js.map +7 -0
  169. package/dist/cjs/contexts/walletContext.d.ts +11 -0
  170. package/dist/cjs/contexts/walletContext.js +28 -0
  171. package/dist/cjs/contexts/walletContext.js.map +7 -0
  172. package/dist/cjs/errors/walletErrors.d.ts +22 -0
  173. package/dist/cjs/errors/walletErrors.js +37 -0
  174. package/dist/cjs/errors/walletErrors.js.map +7 -0
  175. package/dist/cjs/hooks/networkConfig.d.ts +10 -0
  176. package/dist/cjs/hooks/networkConfig.js +74 -0
  177. package/dist/cjs/hooks/networkConfig.js.map +7 -0
  178. package/dist/cjs/hooks/useHaneulClient.d.ts +3 -0
  179. package/dist/cjs/hooks/useHaneulClient.js +51 -0
  180. package/dist/cjs/hooks/useHaneulClient.js.map +7 -0
  181. package/dist/cjs/hooks/useHaneulClientInfiniteQuery.d.ts +25 -0
  182. package/dist/cjs/hooks/useHaneulClientInfiniteQuery.js +71 -0
  183. package/dist/cjs/hooks/useHaneulClientInfiniteQuery.js.map +7 -0
  184. package/dist/cjs/hooks/useHaneulClientMutation.d.ts +4 -0
  185. package/dist/cjs/hooks/useHaneulClientMutation.js +61 -0
  186. package/dist/cjs/hooks/useHaneulClientMutation.js.map +7 -0
  187. package/dist/cjs/hooks/useHaneulClientQueries.d.ts +27 -0
  188. package/dist/cjs/hooks/useHaneulClientQueries.js +71 -0
  189. package/dist/cjs/hooks/useHaneulClientQueries.js.map +7 -0
  190. package/dist/cjs/hooks/useHaneulClientQuery.d.ts +38 -0
  191. package/dist/cjs/hooks/useHaneulClientQuery.js +95 -0
  192. package/dist/cjs/hooks/useHaneulClientQuery.js.map +7 -0
  193. package/dist/cjs/hooks/useResolveHaneulNSNames.d.ts +3 -0
  194. package/dist/cjs/hooks/useResolveHaneulNSNames.js +84 -0
  195. package/dist/cjs/hooks/useResolveHaneulNSNames.js.map +7 -0
  196. package/dist/cjs/hooks/wallet/useAccounts.d.ts +5 -0
  197. package/dist/cjs/hooks/wallet/useAccounts.js +50 -0
  198. package/dist/cjs/hooks/wallet/useAccounts.js.map +7 -0
  199. package/dist/cjs/hooks/wallet/useAutoConnectWallet.d.ts +1 -0
  200. package/dist/cjs/hooks/wallet/useAutoConnectWallet.js +229 -0
  201. package/dist/cjs/hooks/wallet/useAutoConnectWallet.js.map +7 -0
  202. package/dist/cjs/hooks/wallet/useConnectWallet.d.ts +15 -0
  203. package/dist/cjs/hooks/wallet/useConnectWallet.js +106 -0
  204. package/dist/cjs/hooks/wallet/useConnectWallet.js.map +7 -0
  205. package/dist/cjs/hooks/wallet/useCurrentAccount.d.ts +5 -0
  206. package/dist/cjs/hooks/wallet/useCurrentAccount.js +50 -0
  207. package/dist/cjs/hooks/wallet/useCurrentAccount.js.map +7 -0
  208. package/dist/cjs/hooks/wallet/useCurrentWallet.d.ts +25 -0
  209. package/dist/cjs/hooks/wallet/useCurrentWallet.js +82 -0
  210. package/dist/cjs/hooks/wallet/useCurrentWallet.js.map +7 -0
  211. package/dist/cjs/hooks/wallet/useDisconnectWallet.d.ts +9 -0
  212. package/dist/cjs/hooks/wallet/useDisconnectWallet.js +129 -0
  213. package/dist/cjs/hooks/wallet/useDisconnectWallet.js.map +7 -0
  214. package/dist/cjs/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
  215. package/dist/cjs/hooks/wallet/useReportTransactionEffects.js +144 -0
  216. package/dist/cjs/hooks/wallet/useReportTransactionEffects.js.map +7 -0
  217. package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.d.ts +29 -0
  218. package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js +248 -0
  219. package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
  220. package/dist/cjs/hooks/wallet/useSignPersonalMessage.d.ts +13 -0
  221. package/dist/cjs/hooks/wallet/useSignPersonalMessage.js +184 -0
  222. package/dist/cjs/hooks/wallet/useSignPersonalMessage.js.map +7 -0
  223. package/dist/cjs/hooks/wallet/useSignTransaction.d.ts +18 -0
  224. package/dist/cjs/hooks/wallet/useSignTransaction.js +230 -0
  225. package/dist/cjs/hooks/wallet/useSignTransaction.js.map +7 -0
  226. package/dist/cjs/hooks/wallet/useSlushWallet.d.ts +5 -0
  227. package/dist/cjs/hooks/wallet/useSlushWallet.js +53 -0
  228. package/dist/cjs/hooks/wallet/useSlushWallet.js.map +7 -0
  229. package/dist/cjs/hooks/wallet/useSwitchAccount.d.ts +14 -0
  230. package/dist/cjs/hooks/wallet/useSwitchAccount.js +134 -0
  231. package/dist/cjs/hooks/wallet/useSwitchAccount.js.map +7 -0
  232. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.d.ts +1 -0
  233. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js +229 -0
  234. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js.map +7 -0
  235. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.d.ts +4 -0
  236. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js +100 -0
  237. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js.map +7 -0
  238. package/dist/cjs/hooks/wallet/useWalletStore.d.ts +2 -0
  239. package/dist/cjs/hooks/wallet/useWalletStore.js +43 -0
  240. package/dist/cjs/hooks/wallet/useWalletStore.js.map +7 -0
  241. package/dist/cjs/hooks/wallet/useWallets.d.ts +4 -0
  242. package/dist/cjs/hooks/wallet/useWallets.js +50 -0
  243. package/dist/cjs/hooks/wallet/useWallets.js.map +7 -0
  244. package/dist/cjs/hooks/wallet/useWalletsChanged.d.ts +5 -0
  245. package/dist/cjs/hooks/wallet/useWalletsChanged.js +86 -0
  246. package/dist/cjs/hooks/wallet/useWalletsChanged.js.map +7 -0
  247. package/dist/cjs/index.css +458 -0
  248. package/dist/cjs/index.css.map +7 -0
  249. package/dist/cjs/index.d.ts +26 -0
  250. package/dist/cjs/index.js +1924 -0
  251. package/dist/cjs/index.js.map +7 -0
  252. package/dist/cjs/package.json +4 -0
  253. package/dist/cjs/themes/lightTheme.d.ts +2 -0
  254. package/dist/cjs/themes/lightTheme.js +83 -0
  255. package/dist/cjs/themes/lightTheme.js.map +7 -0
  256. package/dist/cjs/themes/themeContract.d.ts +140 -0
  257. package/dist/cjs/themes/themeContract.js +88 -0
  258. package/dist/cjs/themes/themeContract.js.map +7 -0
  259. package/dist/cjs/types/utilityTypes.d.ts +1 -0
  260. package/dist/cjs/types/utilityTypes.js +19 -0
  261. package/dist/cjs/types/utilityTypes.js.map +7 -0
  262. package/dist/cjs/types.d.ts +2 -0
  263. package/dist/cjs/types.js +19 -0
  264. package/dist/cjs/types.js.map +7 -0
  265. package/dist/cjs/utils/assertUnreachable.d.ts +4 -0
  266. package/dist/cjs/utils/assertUnreachable.js +29 -0
  267. package/dist/cjs/utils/assertUnreachable.js.map +7 -0
  268. package/dist/cjs/utils/stateStorage.d.ts +2 -0
  269. package/dist/cjs/utils/stateStorage.js +40 -0
  270. package/dist/cjs/utils/stateStorage.js.map +7 -0
  271. package/dist/cjs/utils/walletUtils.d.ts +3 -0
  272. package/dist/cjs/utils/walletUtils.js +44 -0
  273. package/dist/cjs/utils/walletUtils.js.map +7 -0
  274. package/dist/cjs/walletStore.d.ts +42 -0
  275. package/dist/cjs/walletStore.js +125 -0
  276. package/dist/cjs/walletStore.js.map +7 -0
  277. package/dist/esm/components/AccountDropdownMenu.css +177 -0
  278. package/dist/esm/components/AccountDropdownMenu.css.css +49 -0
  279. package/dist/esm/components/AccountDropdownMenu.css.css.map +7 -0
  280. package/dist/esm/components/AccountDropdownMenu.css.d.ts +6 -0
  281. package/dist/esm/components/AccountDropdownMenu.css.js +16 -0
  282. package/dist/esm/components/AccountDropdownMenu.css.js.map +7 -0
  283. package/dist/esm/components/AccountDropdownMenu.css.map +7 -0
  284. package/dist/esm/components/AccountDropdownMenu.d.ts +10 -0
  285. package/dist/esm/components/AccountDropdownMenu.js +415 -0
  286. package/dist/esm/components/AccountDropdownMenu.js.map +7 -0
  287. package/dist/esm/components/ConnectButton.css +458 -0
  288. package/dist/esm/components/ConnectButton.css.map +7 -0
  289. package/dist/esm/components/ConnectButton.d.ts +9 -0
  290. package/dist/esm/components/ConnectButton.js +870 -0
  291. package/dist/esm/components/ConnectButton.js.map +7 -0
  292. package/dist/esm/components/HaneulClientProvider.d.ts +25 -0
  293. package/dist/esm/components/HaneulClientProvider.js +49 -0
  294. package/dist/esm/components/HaneulClientProvider.js.map +7 -0
  295. package/dist/esm/components/WalletProvider.d.ts +26 -0
  296. package/dist/esm/components/WalletProvider.js +833 -0
  297. package/dist/esm/components/WalletProvider.js.map +7 -0
  298. package/dist/esm/components/connect-modal/ConnectModal.css +409 -0
  299. package/dist/esm/components/connect-modal/ConnectModal.css.css +115 -0
  300. package/dist/esm/components/connect-modal/ConnectModal.css.css.map +7 -0
  301. package/dist/esm/components/connect-modal/ConnectModal.css.d.ts +11 -0
  302. package/dist/esm/components/connect-modal/ConnectModal.css.js +26 -0
  303. package/dist/esm/components/connect-modal/ConnectModal.css.js.map +7 -0
  304. package/dist/esm/components/connect-modal/ConnectModal.css.map +7 -0
  305. package/dist/esm/components/connect-modal/ConnectModal.d.ts +23 -0
  306. package/dist/esm/components/connect-modal/ConnectModal.js +596 -0
  307. package/dist/esm/components/connect-modal/ConnectModal.js.map +7 -0
  308. package/dist/esm/components/connect-modal/InfoSection.css +78 -0
  309. package/dist/esm/components/connect-modal/InfoSection.css.css +8 -0
  310. package/dist/esm/components/connect-modal/InfoSection.css.css.map +7 -0
  311. package/dist/esm/components/connect-modal/InfoSection.css.d.ts +1 -0
  312. package/dist/esm/components/connect-modal/InfoSection.css.js +6 -0
  313. package/dist/esm/components/connect-modal/InfoSection.css.js.map +7 -0
  314. package/dist/esm/components/connect-modal/InfoSection.css.map +7 -0
  315. package/dist/esm/components/connect-modal/InfoSection.d.ts +6 -0
  316. package/dist/esm/components/connect-modal/InfoSection.js +86 -0
  317. package/dist/esm/components/connect-modal/InfoSection.js.map +7 -0
  318. package/dist/esm/components/connect-modal/views/ConnectionStatus.css +146 -0
  319. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css +32 -0
  320. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css.map +7 -0
  321. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.d.ts +5 -0
  322. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js +14 -0
  323. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js.map +7 -0
  324. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.map +7 -0
  325. package/dist/esm/components/connect-modal/views/ConnectionStatus.d.ts +8 -0
  326. package/dist/esm/components/connect-modal/views/ConnectionStatus.js +132 -0
  327. package/dist/esm/components/connect-modal/views/ConnectionStatus.js.map +7 -0
  328. package/dist/esm/components/connect-modal/views/GettingStarted.css +145 -0
  329. package/dist/esm/components/connect-modal/views/GettingStarted.css.css +23 -0
  330. package/dist/esm/components/connect-modal/views/GettingStarted.css.css.map +7 -0
  331. package/dist/esm/components/connect-modal/views/GettingStarted.css.d.ts +3 -0
  332. package/dist/esm/components/connect-modal/views/GettingStarted.css.js +10 -0
  333. package/dist/esm/components/connect-modal/views/GettingStarted.css.js.map +7 -0
  334. package/dist/esm/components/connect-modal/views/GettingStarted.css.map +7 -0
  335. package/dist/esm/components/connect-modal/views/GettingStarted.d.ts +1 -0
  336. package/dist/esm/components/connect-modal/views/GettingStarted.js +139 -0
  337. package/dist/esm/components/connect-modal/views/GettingStarted.js.map +7 -0
  338. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css +95 -0
  339. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css +17 -0
  340. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css.map +7 -0
  341. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.d.ts +2 -0
  342. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js +8 -0
  343. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js.map +7 -0
  344. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.map +7 -0
  345. package/dist/esm/components/connect-modal/views/WhatIsAWallet.d.ts +1 -0
  346. package/dist/esm/components/connect-modal/views/WhatIsAWallet.js +102 -0
  347. package/dist/esm/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
  348. package/dist/esm/components/connect-modal/wallet-list/WalletList.css +73 -0
  349. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css +8 -0
  350. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css.map +7 -0
  351. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.d.ts +1 -0
  352. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js +6 -0
  353. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js.map +7 -0
  354. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.map +7 -0
  355. package/dist/esm/components/connect-modal/wallet-list/WalletList.d.ts +9 -0
  356. package/dist/esm/components/connect-modal/wallet-list/WalletList.js +104 -0
  357. package/dist/esm/components/connect-modal/wallet-list/WalletList.js.map +7 -0
  358. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css +65 -0
  359. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css +33 -0
  360. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css.map +7 -0
  361. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.d.ts +4 -0
  362. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js +12 -0
  363. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js.map +7 -0
  364. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.map +7 -0
  365. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.d.ts +9 -0
  366. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js +64 -0
  367. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js.map +7 -0
  368. package/dist/esm/components/icons/BackIcon.d.ts +2 -0
  369. package/dist/esm/components/icons/BackIcon.js +15 -0
  370. package/dist/esm/components/icons/BackIcon.js.map +7 -0
  371. package/dist/esm/components/icons/CheckIcon.d.ts +2 -0
  372. package/dist/esm/components/icons/CheckIcon.js +15 -0
  373. package/dist/esm/components/icons/CheckIcon.js.map +7 -0
  374. package/dist/esm/components/icons/ChevronIcon.d.ts +2 -0
  375. package/dist/esm/components/icons/ChevronIcon.js +18 -0
  376. package/dist/esm/components/icons/ChevronIcon.js.map +7 -0
  377. package/dist/esm/components/icons/CloseIcon.d.ts +2 -0
  378. package/dist/esm/components/icons/CloseIcon.js +15 -0
  379. package/dist/esm/components/icons/CloseIcon.js.map +7 -0
  380. package/dist/esm/components/styling/InjectedThemeStyles.d.ts +6 -0
  381. package/dist/esm/components/styling/InjectedThemeStyles.js +104 -0
  382. package/dist/esm/components/styling/InjectedThemeStyles.js.map +7 -0
  383. package/dist/esm/components/styling/StyleMarker.css +46 -0
  384. package/dist/esm/components/styling/StyleMarker.css.css +46 -0
  385. package/dist/esm/components/styling/StyleMarker.css.css.map +7 -0
  386. package/dist/esm/components/styling/StyleMarker.css.d.ts +1 -0
  387. package/dist/esm/components/styling/StyleMarker.css.js +22 -0
  388. package/dist/esm/components/styling/StyleMarker.css.js.map +7 -0
  389. package/dist/esm/components/styling/StyleMarker.css.map +7 -0
  390. package/dist/esm/components/styling/StyleMarker.d.ts +2 -0
  391. package/dist/esm/components/styling/StyleMarker.js +61 -0
  392. package/dist/esm/components/styling/StyleMarker.js.map +7 -0
  393. package/dist/esm/components/ui/Button.css +44 -0
  394. package/dist/esm/components/ui/Button.css.css +44 -0
  395. package/dist/esm/components/ui/Button.css.css.map +7 -0
  396. package/dist/esm/components/ui/Button.css.d.ts +33 -0
  397. package/dist/esm/components/ui/Button.css.js +7 -0
  398. package/dist/esm/components/ui/Button.css.js.map +7 -0
  399. package/dist/esm/components/ui/Button.css.map +7 -0
  400. package/dist/esm/components/ui/Button.d.ts +8 -0
  401. package/dist/esm/components/ui/Button.js +29 -0
  402. package/dist/esm/components/ui/Button.js.map +7 -0
  403. package/dist/esm/components/ui/Heading.css +32 -0
  404. package/dist/esm/components/ui/Heading.css.css +32 -0
  405. package/dist/esm/components/ui/Heading.css.css.map +7 -0
  406. package/dist/esm/components/ui/Heading.css.d.ts +33 -0
  407. package/dist/esm/components/ui/Heading.css.js +7 -0
  408. package/dist/esm/components/ui/Heading.css.js.map +7 -0
  409. package/dist/esm/components/ui/Heading.css.map +7 -0
  410. package/dist/esm/components/ui/Heading.d.ts +12 -0
  411. package/dist/esm/components/ui/Heading.js +38 -0
  412. package/dist/esm/components/ui/Heading.js.map +7 -0
  413. package/dist/esm/components/ui/IconButton.css +13 -0
  414. package/dist/esm/components/ui/IconButton.css.css +13 -0
  415. package/dist/esm/components/ui/IconButton.css.css.map +7 -0
  416. package/dist/esm/components/ui/IconButton.css.d.ts +1 -0
  417. package/dist/esm/components/ui/IconButton.css.js +6 -0
  418. package/dist/esm/components/ui/IconButton.css.js.map +7 -0
  419. package/dist/esm/components/ui/IconButton.css.map +7 -0
  420. package/dist/esm/components/ui/IconButton.d.ts +6 -0
  421. package/dist/esm/components/ui/IconButton.js +21 -0
  422. package/dist/esm/components/ui/IconButton.js.map +7 -0
  423. package/dist/esm/components/ui/Text.css +38 -0
  424. package/dist/esm/components/ui/Text.css.css +38 -0
  425. package/dist/esm/components/ui/Text.css.css.map +7 -0
  426. package/dist/esm/components/ui/Text.css.d.ts +33 -0
  427. package/dist/esm/components/ui/Text.css.js +7 -0
  428. package/dist/esm/components/ui/Text.css.js.map +7 -0
  429. package/dist/esm/components/ui/Text.css.map +7 -0
  430. package/dist/esm/components/ui/Text.d.ts +12 -0
  431. package/dist/esm/components/ui/Text.js +39 -0
  432. package/dist/esm/components/ui/Text.js.map +7 -0
  433. package/dist/esm/constants/styleDataAttribute.d.ts +5 -0
  434. package/dist/esm/constants/styleDataAttribute.js +10 -0
  435. package/dist/esm/constants/styleDataAttribute.js.map +7 -0
  436. package/dist/esm/constants/walletDefaults.d.ts +6 -0
  437. package/dist/esm/constants/walletDefaults.js +37 -0
  438. package/dist/esm/constants/walletDefaults.js.map +7 -0
  439. package/dist/esm/constants/walletMutationKeys.d.ts +14 -0
  440. package/dist/esm/constants/walletMutationKeys.js +21 -0
  441. package/dist/esm/constants/walletMutationKeys.js.map +7 -0
  442. package/dist/esm/contexts/walletContext.d.ts +11 -0
  443. package/dist/esm/contexts/walletContext.js +7 -0
  444. package/dist/esm/contexts/walletContext.js.map +7 -0
  445. package/dist/esm/errors/walletErrors.d.ts +22 -0
  446. package/dist/esm/errors/walletErrors.js +16 -0
  447. package/dist/esm/errors/walletErrors.js.map +7 -0
  448. package/dist/esm/hooks/networkConfig.d.ts +10 -0
  449. package/dist/esm/hooks/networkConfig.js +51 -0
  450. package/dist/esm/hooks/networkConfig.js.map +7 -0
  451. package/dist/esm/hooks/useHaneulClient.d.ts +3 -0
  452. package/dist/esm/hooks/useHaneulClient.js +30 -0
  453. package/dist/esm/hooks/useHaneulClient.js.map +7 -0
  454. package/dist/esm/hooks/useHaneulClientInfiniteQuery.d.ts +25 -0
  455. package/dist/esm/hooks/useHaneulClientInfiniteQuery.js +50 -0
  456. package/dist/esm/hooks/useHaneulClientInfiniteQuery.js.map +7 -0
  457. package/dist/esm/hooks/useHaneulClientMutation.d.ts +4 -0
  458. package/dist/esm/hooks/useHaneulClientMutation.js +40 -0
  459. package/dist/esm/hooks/useHaneulClientMutation.js.map +7 -0
  460. package/dist/esm/hooks/useHaneulClientQueries.d.ts +27 -0
  461. package/dist/esm/hooks/useHaneulClientQueries.js +50 -0
  462. package/dist/esm/hooks/useHaneulClientQueries.js.map +7 -0
  463. package/dist/esm/hooks/useHaneulClientQuery.d.ts +38 -0
  464. package/dist/esm/hooks/useHaneulClientQuery.js +74 -0
  465. package/dist/esm/hooks/useHaneulClientQuery.js.map +7 -0
  466. package/dist/esm/hooks/useResolveHaneulNSNames.d.ts +3 -0
  467. package/dist/esm/hooks/useResolveHaneulNSNames.js +61 -0
  468. package/dist/esm/hooks/useResolveHaneulNSNames.js.map +7 -0
  469. package/dist/esm/hooks/wallet/useAccounts.d.ts +5 -0
  470. package/dist/esm/hooks/wallet/useAccounts.js +27 -0
  471. package/dist/esm/hooks/wallet/useAccounts.js.map +7 -0
  472. package/dist/esm/hooks/wallet/useAutoConnectWallet.d.ts +1 -0
  473. package/dist/esm/hooks/wallet/useAutoConnectWallet.js +208 -0
  474. package/dist/esm/hooks/wallet/useAutoConnectWallet.js.map +7 -0
  475. package/dist/esm/hooks/wallet/useConnectWallet.d.ts +15 -0
  476. package/dist/esm/hooks/wallet/useConnectWallet.js +85 -0
  477. package/dist/esm/hooks/wallet/useConnectWallet.js.map +7 -0
  478. package/dist/esm/hooks/wallet/useCurrentAccount.d.ts +5 -0
  479. package/dist/esm/hooks/wallet/useCurrentAccount.js +27 -0
  480. package/dist/esm/hooks/wallet/useCurrentAccount.js.map +7 -0
  481. package/dist/esm/hooks/wallet/useCurrentWallet.d.ts +25 -0
  482. package/dist/esm/hooks/wallet/useCurrentWallet.js +59 -0
  483. package/dist/esm/hooks/wallet/useCurrentWallet.js.map +7 -0
  484. package/dist/esm/hooks/wallet/useDisconnectWallet.d.ts +9 -0
  485. package/dist/esm/hooks/wallet/useDisconnectWallet.js +108 -0
  486. package/dist/esm/hooks/wallet/useDisconnectWallet.js.map +7 -0
  487. package/dist/esm/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
  488. package/dist/esm/hooks/wallet/useReportTransactionEffects.js +123 -0
  489. package/dist/esm/hooks/wallet/useReportTransactionEffects.js.map +7 -0
  490. package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.d.ts +29 -0
  491. package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js +227 -0
  492. package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
  493. package/dist/esm/hooks/wallet/useSignPersonalMessage.d.ts +13 -0
  494. package/dist/esm/hooks/wallet/useSignPersonalMessage.js +163 -0
  495. package/dist/esm/hooks/wallet/useSignPersonalMessage.js.map +7 -0
  496. package/dist/esm/hooks/wallet/useSignTransaction.d.ts +18 -0
  497. package/dist/esm/hooks/wallet/useSignTransaction.js +209 -0
  498. package/dist/esm/hooks/wallet/useSignTransaction.js.map +7 -0
  499. package/dist/esm/hooks/wallet/useSlushWallet.d.ts +5 -0
  500. package/dist/esm/hooks/wallet/useSlushWallet.js +32 -0
  501. package/dist/esm/hooks/wallet/useSlushWallet.js.map +7 -0
  502. package/dist/esm/hooks/wallet/useSwitchAccount.d.ts +14 -0
  503. package/dist/esm/hooks/wallet/useSwitchAccount.js +113 -0
  504. package/dist/esm/hooks/wallet/useSwitchAccount.js.map +7 -0
  505. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.d.ts +1 -0
  506. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js +209 -0
  507. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js.map +7 -0
  508. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.d.ts +4 -0
  509. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js +79 -0
  510. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js.map +7 -0
  511. package/dist/esm/hooks/wallet/useWalletStore.d.ts +2 -0
  512. package/dist/esm/hooks/wallet/useWalletStore.js +22 -0
  513. package/dist/esm/hooks/wallet/useWalletStore.js.map +7 -0
  514. package/dist/esm/hooks/wallet/useWallets.d.ts +4 -0
  515. package/dist/esm/hooks/wallet/useWallets.js +27 -0
  516. package/dist/esm/hooks/wallet/useWallets.js.map +7 -0
  517. package/dist/esm/hooks/wallet/useWalletsChanged.d.ts +5 -0
  518. package/dist/esm/hooks/wallet/useWalletsChanged.js +65 -0
  519. package/dist/esm/hooks/wallet/useWalletsChanged.js.map +7 -0
  520. package/dist/esm/index.css +458 -0
  521. package/dist/esm/index.css.map +7 -0
  522. package/dist/esm/index.d.ts +26 -0
  523. package/dist/esm/index.js +1914 -0
  524. package/dist/esm/index.js.map +7 -0
  525. package/dist/esm/package.json +4 -0
  526. package/dist/esm/themes/lightTheme.d.ts +2 -0
  527. package/dist/esm/themes/lightTheme.js +62 -0
  528. package/dist/esm/themes/lightTheme.js.map +7 -0
  529. package/dist/esm/themes/themeContract.d.ts +140 -0
  530. package/dist/esm/themes/themeContract.js +67 -0
  531. package/dist/esm/themes/themeContract.js.map +7 -0
  532. package/dist/esm/types/utilityTypes.d.ts +1 -0
  533. package/dist/esm/types/utilityTypes.js +1 -0
  534. package/dist/esm/types/utilityTypes.js.map +7 -0
  535. package/dist/esm/types.d.ts +2 -0
  536. package/dist/esm/types.js +1 -0
  537. package/dist/esm/types.js.map +7 -0
  538. package/dist/esm/utils/assertUnreachable.d.ts +4 -0
  539. package/dist/esm/utils/assertUnreachable.js +8 -0
  540. package/dist/esm/utils/assertUnreachable.js.map +7 -0
  541. package/dist/esm/utils/stateStorage.d.ts +2 -0
  542. package/dist/esm/utils/stateStorage.js +19 -0
  543. package/dist/esm/utils/stateStorage.js.map +7 -0
  544. package/dist/esm/utils/walletUtils.d.ts +3 -0
  545. package/dist/esm/utils/walletUtils.js +23 -0
  546. package/dist/esm/utils/walletUtils.js.map +7 -0
  547. package/dist/esm/walletStore.d.ts +42 -0
  548. package/dist/esm/walletStore.js +104 -0
  549. package/dist/esm/walletStore.js.map +7 -0
  550. package/dist/index.css/package.json +5 -0
  551. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  552. package/dist/tsconfig.tsbuildinfo +1 -0
  553. package/package.json +106 -0
  554. package/src/components/AccountDropdownMenu.css.ts +52 -0
  555. package/src/components/AccountDropdownMenu.tsx +87 -0
  556. package/src/components/ConnectButton.tsx +37 -0
  557. package/src/components/HaneulClientProvider.tsx +96 -0
  558. package/src/components/WalletProvider.tsx +114 -0
  559. package/src/components/connect-modal/ConnectModal.css.ts +124 -0
  560. package/src/components/connect-modal/ConnectModal.tsx +174 -0
  561. package/src/components/connect-modal/InfoSection.css.ts +10 -0
  562. package/src/components/connect-modal/InfoSection.tsx +24 -0
  563. package/src/components/connect-modal/views/ConnectionStatus.css.ts +35 -0
  564. package/src/components/connect-modal/views/ConnectionStatus.tsx +52 -0
  565. package/src/components/connect-modal/views/GettingStarted.css.ts +25 -0
  566. package/src/components/connect-modal/views/GettingStarted.tsx +38 -0
  567. package/src/components/connect-modal/views/WhatIsAWallet.css.ts +19 -0
  568. package/src/components/connect-modal/views/WhatIsAWallet.tsx +23 -0
  569. package/src/components/connect-modal/wallet-list/WalletList.css.ts +10 -0
  570. package/src/components/connect-modal/wallet-list/WalletList.tsx +46 -0
  571. package/src/components/connect-modal/wallet-list/WalletListItem.css.ts +35 -0
  572. package/src/components/connect-modal/wallet-list/WalletListItem.tsx +36 -0
  573. package/src/components/icons/BackIcon.tsx +17 -0
  574. package/src/components/icons/CheckIcon.tsx +15 -0
  575. package/src/components/icons/ChevronIcon.tsx +18 -0
  576. package/src/components/icons/CloseIcon.tsx +15 -0
  577. package/src/components/styling/InjectedThemeStyles.tsx +51 -0
  578. package/src/components/styling/StyleMarker.css.ts +48 -0
  579. package/src/components/styling/StyleMarker.tsx +24 -0
  580. package/src/components/ui/Button.css.ts +50 -0
  581. package/src/components/ui/Button.tsx +31 -0
  582. package/src/components/ui/Heading.css.ts +43 -0
  583. package/src/components/ui/Heading.tsx +52 -0
  584. package/src/components/ui/IconButton.css.ts +16 -0
  585. package/src/components/ui/IconButton.tsx +24 -0
  586. package/src/components/ui/Text.css.ts +38 -0
  587. package/src/components/ui/Text.tsx +50 -0
  588. package/src/constants/styleDataAttribute.ts +8 -0
  589. package/src/constants/walletDefaults.ts +24 -0
  590. package/src/constants/walletMutationKeys.ts +22 -0
  591. package/src/contexts/walletContext.ts +8 -0
  592. package/src/errors/walletErrors.ts +24 -0
  593. package/src/hooks/networkConfig.ts +45 -0
  594. package/src/hooks/useHaneulClient.ts +23 -0
  595. package/src/hooks/useHaneulClientInfiniteQuery.ts +78 -0
  596. package/src/hooks/useHaneulClientMutation.ts +27 -0
  597. package/src/hooks/useHaneulClientQueries.ts +68 -0
  598. package/src/hooks/useHaneulClientQuery.ts +123 -0
  599. package/src/hooks/useResolveHaneulNSNames.ts +30 -0
  600. package/src/hooks/wallet/useAccounts.ts +13 -0
  601. package/src/hooks/wallet/useAutoConnectWallet.ts +92 -0
  602. package/src/hooks/wallet/useConnectWallet.ts +86 -0
  603. package/src/hooks/wallet/useCurrentAccount.ts +13 -0
  604. package/src/hooks/wallet/useCurrentWallet.ts +44 -0
  605. package/src/hooks/wallet/useDisconnectWallet.ts +53 -0
  606. package/src/hooks/wallet/useReportTransactionEffects.ts +82 -0
  607. package/src/hooks/wallet/useSignAndExecuteTransaction.ts +171 -0
  608. package/src/hooks/wallet/useSignPersonalMessage.ts +100 -0
  609. package/src/hooks/wallet/useSignTransaction.ts +124 -0
  610. package/src/hooks/wallet/useSlushWallet.ts +40 -0
  611. package/src/hooks/wallet/useSwitchAccount.ts +60 -0
  612. package/src/hooks/wallet/useUnsafeBurnerWallet.ts +207 -0
  613. package/src/hooks/wallet/useWalletPropertiesChanged.ts +29 -0
  614. package/src/hooks/wallet/useWalletStore.ts +18 -0
  615. package/src/hooks/wallet/useWallets.ts +11 -0
  616. package/src/hooks/wallet/useWalletsChanged.ts +41 -0
  617. package/src/index.ts +30 -0
  618. package/src/themes/lightTheme.ts +63 -0
  619. package/src/themes/themeContract.ts +97 -0
  620. package/src/types/utilityTypes.ts +4 -0
  621. package/src/types.ts +5 -0
  622. package/src/utils/assertUnreachable.ts +9 -0
  623. package/src/utils/stateStorage.ts +19 -0
  624. package/src/utils/walletUtils.ts +37 -0
  625. package/src/walletStore.ts +144 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useHaneulClientQuery.ts", "../../../src/hooks/useHaneulClient.ts", "../../../src/components/HaneulClientProvider.tsx", "../../../src/hooks/useResolveHaneulNSNames.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { HaneulClient } from '@haneullabs/haneul/client';\nimport type {\n\tUndefinedInitialDataOptions,\n\tUseQueryOptions,\n\tUseQueryResult,\n} from '@tanstack/react-query';\nimport { queryOptions, useQuery, useSuspenseQuery } from '@tanstack/react-query';\nimport { useMemo } from 'react';\n\nimport type { PartialBy } from '../types/utilityTypes.js';\nimport { useHaneulClientContext } from './useHaneulClient.js';\n\nexport type SuiRpcMethodName = {\n\t[K in keyof HaneulClient]: HaneulClient[K] extends ((input: any) => Promise<any>) | (() => Promise<any>)\n\t\t? K\n\t\t: never;\n}[keyof HaneulClient];\n\nexport type SuiRpcMethods = {\n\t[K in SuiRpcMethodName]: HaneulClient[K] extends (input: infer P) => Promise<infer R>\n\t\t? {\n\t\t\t\tname: K;\n\t\t\t\tresult: R;\n\t\t\t\tparams: P;\n\t\t\t}\n\t\t: HaneulClient[K] extends () => Promise<infer R>\n\t\t\t? {\n\t\t\t\t\tname: K;\n\t\t\t\t\tresult: R;\n\t\t\t\t\tparams: undefined | object;\n\t\t\t\t}\n\t\t\t: never;\n};\n\nexport type UseHaneulClientQueryOptions<T extends keyof SuiRpcMethods, TData> = PartialBy<\n\tOmit<UseQueryOptions<SuiRpcMethods[T]['result'], Error, TData, unknown[]>, 'queryFn'>,\n\t'queryKey'\n>;\n\nexport type GetHaneulClientQueryOptions<T extends keyof SuiRpcMethods> = {\n\tclient: HaneulClient;\n\tnetwork: string;\n\tmethod: T;\n\toptions?: PartialBy<\n\t\tOmit<UndefinedInitialDataOptions<SuiRpcMethods[T]['result']>, 'queryFn'>,\n\t\t'queryKey'\n\t>;\n} & (undefined extends SuiRpcMethods[T]['params']\n\t? { params?: SuiRpcMethods[T]['params'] }\n\t: { params: SuiRpcMethods[T]['params'] });\n\nexport function getHaneulClientQuery<T extends keyof SuiRpcMethods>({\n\tclient,\n\tnetwork,\n\tmethod,\n\tparams,\n\toptions,\n}: GetHaneulClientQueryOptions<T>) {\n\treturn queryOptions<SuiRpcMethods[T]['result']>({\n\t\t...options,\n\t\tqueryKey: [network, method, params],\n\t\tqueryFn: async () => {\n\t\t\treturn await client[method](params as never);\n\t\t},\n\t});\n}\n\nexport function useHaneulClientQuery<\n\tT extends keyof SuiRpcMethods,\n\tTData = SuiRpcMethods[T]['result'],\n>(\n\t...args: undefined extends SuiRpcMethods[T]['params']\n\t\t? [method: T, params?: SuiRpcMethods[T]['params'], options?: UseHaneulClientQueryOptions<T, TData>]\n\t\t: [method: T, params: SuiRpcMethods[T]['params'], options?: UseHaneulClientQueryOptions<T, TData>]\n): UseQueryResult<TData, Error> {\n\tconst [method, params, { queryKey = [], ...options } = {}] = args as [\n\t\tmethod: T,\n\t\tparams?: SuiRpcMethods[T]['params'],\n\t\toptions?: UseHaneulClientQueryOptions<T, TData>,\n\t];\n\n\tconst suiContext = useHaneulClientContext();\n\n\treturn useQuery({\n\t\t...options,\n\t\tqueryKey: [suiContext.network, method, params, ...queryKey],\n\t\tqueryFn: async () => {\n\t\t\treturn await suiContext.client[method](params as never);\n\t\t},\n\t});\n}\n\nexport function useHaneulClientSuspenseQuery<\n\tT extends keyof SuiRpcMethods,\n\tTData = SuiRpcMethods[T]['result'],\n>(\n\t...args: undefined extends SuiRpcMethods[T]['params']\n\t\t? [method: T, params?: SuiRpcMethods[T]['params'], options?: UndefinedInitialDataOptions<TData>]\n\t\t: [method: T, params: SuiRpcMethods[T]['params'], options?: UndefinedInitialDataOptions<TData>]\n) {\n\tconst [method, params, options = {}] = args as [\n\t\tmethod: T,\n\t\tparams?: SuiRpcMethods[T]['params'],\n\t\toptions?: UndefinedInitialDataOptions<TData>,\n\t];\n\n\tconst suiContext = useHaneulClientContext();\n\n\tconst query = useMemo(() => {\n\t\treturn getHaneulClientQuery<T>({\n\t\t\tclient: suiContext.client,\n\t\t\tnetwork: suiContext.network,\n\t\t\tmethod,\n\t\t\tparams,\n\t\t\toptions,\n\t\t});\n\t}, [suiContext.client, suiContext.network, method, params, options]);\n\n\treturn useSuspenseQuery(query);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { HaneulClient } from '@haneullabs/haneul/client';\nimport { useContext } from 'react';\n\nimport { HaneulClientContext } from '../components/HaneulClientProvider.js';\n\nexport function useHaneulClientContext() {\n\tconst haneulClient = useContext(HaneulClientContext);\n\n\tif (!haneulClient) {\n\t\tthrow new Error(\n\t\t\t'Could not find HaneulClientContext. Ensure that you have set up the HaneulClientProvider',\n\t\t);\n\t}\n\n\treturn haneulClient;\n}\n\nexport function useHaneulClient(): HaneulClient {\n\treturn useHaneulClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getFullnodeUrl, isHaneulClient, HaneulClient } from '@haneullabs/haneul/client';\nimport type { HaneulClientOptions } from '@haneullabs/haneul/client';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | HaneulClient = NetworkConfig | HaneulClient> = Record<\n\tstring,\n\tT\n>;\n\nexport interface HaneulClientProviderContext {\n\tclient: HaneulClient;\n\tnetworks: NetworkConfigs;\n\tnetwork: string;\n\tconfig: NetworkConfig | null;\n\tselectNetwork: (network: string) => void;\n}\n\nexport const HaneulClientContext = createContext<HaneulClientProviderContext | null>(null);\n\nexport type HaneulClientProviderProps<T extends NetworkConfigs> = {\n\tcreateClient?: (name: keyof T, config: T[keyof T]) => HaneulClient;\n\tchildren: React.ReactNode;\n\tnetworks?: T;\n\tonNetworkChange?: (network: keyof T & string) => void;\n} & (\n\t| {\n\t\t\tdefaultNetwork?: keyof T & string;\n\t\t\tnetwork?: never;\n\t }\n\t| {\n\t\t\tdefaultNetwork?: never;\n\t\t\tnetwork?: keyof T & string;\n\t }\n);\n\nconst DEFAULT_NETWORKS = {\n\tlocalnet: { url: getFullnodeUrl('localnet') },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n\t_name: string,\n\tconfig: NetworkConfig | HaneulClient,\n) {\n\tif (isHaneulClient(config)) {\n\t\treturn config;\n\t}\n\n\treturn new HaneulClient(config);\n};\n\nexport function HaneulClientProvider<T extends NetworkConfigs>(props: HaneulClientProviderProps<T>) {\n\tconst { onNetworkChange, network, children } = props;\n\tconst networks = (props.networks ?? DEFAULT_NETWORKS) as T;\n\tconst createClient =\n\t\t(props.createClient as typeof DEFAULT_CREATE_CLIENT) ?? DEFAULT_CREATE_CLIENT;\n\n\tconst [selectedNetwork, setSelectedNetwork] = useState<keyof T & string>(\n\t\tprops.network ?? props.defaultNetwork ?? (Object.keys(networks)[0] as keyof T & string),\n\t);\n\n\tconst currentNetwork = props.network ?? selectedNetwork;\n\n\tconst client = useMemo(() => {\n\t\treturn createClient(currentNetwork, networks[currentNetwork]);\n\t}, [createClient, currentNetwork, networks]);\n\n\tconst ctx = useMemo((): HaneulClientProviderContext => {\n\t\treturn {\n\t\t\tclient,\n\t\t\tnetworks,\n\t\t\tnetwork: currentNetwork,\n\t\t\tconfig:\n\t\t\t\tnetworks[currentNetwork] instanceof HaneulClient\n\t\t\t\t\t? null\n\t\t\t\t\t: (networks[currentNetwork] as HaneulClientOptions),\n\t\t\tselectNetwork: (newNetwork) => {\n\t\t\t\tif (currentNetwork === newNetwork) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!network && newNetwork !== selectedNetwork) {\n\t\t\t\t\tsetSelectedNetwork(newNetwork);\n\t\t\t\t}\n\n\t\t\t\tonNetworkChange?.(newNetwork);\n\t\t\t},\n\t\t};\n\t}, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);\n\n\treturn <HaneulClientContext.Provider value={ctx}>{children}</HaneulClientContext.Provider>;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ResolvedNameServiceNames } from '@haneullabs/haneul/client';\nimport type { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';\n\nimport { useHaneulClientQuery } from './useHaneulClientQuery.js';\n\nexport function useResolveHaneulNSName(\n\taddress?: string | null,\n\toptions?: Omit<\n\t\tUseQueryOptions<ResolvedNameServiceNames, Error, string | null, unknown[]>,\n\t\t'queryFn' | 'queryKey' | 'select'\n\t>,\n): UseQueryResult<string | null, Error> {\n\treturn useHaneulClientQuery(\n\t\t'resolveNameServiceNames',\n\t\t{\n\t\t\taddress: address!,\n\t\t\tlimit: 1,\n\t\t},\n\t\t{\n\t\t\t...options,\n\t\t\trefetchOnWindowFocus: false,\n\t\t\tretry: false,\n\t\t\tselect: (data) => (data.data.length > 0 ? data.data[0] : null),\n\t\t\tenabled: !!address && options?.enabled !== false,\n\t\t},\n\t);\n}\n"],
5
+ "mappings": ";AASA,SAAS,cAAc,UAAU,wBAAwB;AACzD,SAAS,WAAAA,gBAAe;;;ACNxB,SAAS,kBAAkB;;;ACD3B,SAAS,gBAAgB,gBAAgB,oBAAoB;AAE7D,SAAS,eAAe,SAAS,gBAAgB;AAyFzC;AAxED,IAAM,sBAAsB,cAAkD,IAAI;AAkBzF,IAAM,mBAAmB;AAAA,EACxB,UAAU,EAAE,KAAK,eAAe,UAAU,EAAE;AAC7C;;;ADlCO,SAAS,yBAAyB;AACxC,QAAM,eAAe,WAAW,mBAAmB;AAEnD,MAAI,CAAC,cAAc;AAClB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;;;ADoDO,SAAS,wBAIZ,MAG4B;AAC/B,QAAM,CAAC,QAAQ,QAAQ,EAAE,WAAW,CAAC,GAAG,GAAG,QAAQ,IAAI,CAAC,CAAC,IAAI;AAM7D,QAAM,aAAa,uBAAuB;AAE1C,SAAO,SAAS;AAAA,IACf,GAAG;AAAA,IACH,UAAU,CAAC,WAAW,SAAS,QAAQ,QAAQ,GAAG,QAAQ;AAAA,IAC1D,SAAS,YAAY;AACpB,aAAO,MAAM,WAAW,OAAO,MAAM,EAAE,MAAe;AAAA,IACvD;AAAA,EACD,CAAC;AACF;;;AGrFO,SAAS,uBACf,SACA,SAIuC;AACvC,SAAO;AAAA,IACN;AAAA,IACA;AAAA,MACC;AAAA,MACA,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,GAAG;AAAA,MACH,sBAAsB;AAAA,MACtB,OAAO;AAAA,MACP,QAAQ,CAAC,SAAU,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,CAAC,IAAI;AAAA,MACzD,SAAS,CAAC,CAAC,WAAW,SAAS,YAAY;AAAA,IAC5C;AAAA,EACD;AACD;",
6
+ "names": ["useMemo"]
7
+ }
@@ -0,0 +1,5 @@
1
+ import type { WalletAccount } from '@haneullabs/wallet-standard';
2
+ /**
3
+ * Retrieves a list of connected accounts authorized by the dApp.
4
+ */
5
+ export declare function useAccounts(): readonly WalletAccount[];
@@ -0,0 +1,27 @@
1
+ // src/hooks/wallet/useWalletStore.ts
2
+ import { useContext } from "react";
3
+ import { useStore } from "zustand";
4
+
5
+ // src/contexts/walletContext.ts
6
+ import { createContext } from "react";
7
+ var WalletContext = createContext(null);
8
+
9
+ // src/hooks/wallet/useWalletStore.ts
10
+ function useWalletStore(selector) {
11
+ const store = useContext(WalletContext);
12
+ if (!store) {
13
+ throw new Error(
14
+ "Could not find WalletContext. Ensure that you have set up the WalletProvider."
15
+ );
16
+ }
17
+ return useStore(store, selector);
18
+ }
19
+
20
+ // src/hooks/wallet/useAccounts.ts
21
+ function useAccounts() {
22
+ return useWalletStore((state) => state.accounts);
23
+ }
24
+ export {
25
+ useAccounts
26
+ };
27
+ //# sourceMappingURL=useAccounts.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts", "../../../../src/hooks/wallet/useAccounts.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\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\tconst store = useContext(WalletContext);\n\tif (!store) {\n\t\tthrow new Error(\n\t\t\t'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n\t\t);\n\t}\n\treturn useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\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// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletAccount } from '@haneullabs/wallet-standard';\n\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves a list of connected accounts authorized by the dApp.\n */\nexport function useAccounts(): readonly WalletAccount[] {\n\treturn useWalletStore((state) => state.accounts);\n}\n"],
5
+ "mappings": ";AAGA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;;;ACDzB,SAAS,qBAAqB;AAIvB,IAAM,gBAAgB,cAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACxE,QAAM,QAAQ,WAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACX,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AACA,SAAO,SAAS,OAAO,QAAQ;AAChC;;;AEPO,SAAS,cAAwC;AACvD,SAAO,eAAe,CAAC,UAAU,MAAM,QAAQ;AAChD;",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ export declare function useAutoConnectWallet(): 'disabled' | 'idle' | 'attempted';
@@ -0,0 +1,208 @@
1
+ // src/hooks/wallet/useAutoConnectWallet.ts
2
+ import { useQuery } from "@tanstack/react-query";
3
+ import { useLayoutEffect, useState } from "react";
4
+
5
+ // src/utils/walletUtils.ts
6
+ import { getWallets, isWalletWithRequiredFeatureSet } from "@haneullabs/wallet-standard";
7
+ function getWalletUniqueIdentifier(wallet) {
8
+ return wallet?.id ?? wallet?.name;
9
+ }
10
+
11
+ // src/hooks/wallet/useConnectWallet.ts
12
+ import { useMutation } from "@tanstack/react-query";
13
+
14
+ // src/constants/walletMutationKeys.ts
15
+ var walletMutationKeys = {
16
+ all: { baseScope: "wallet" },
17
+ connectWallet: formMutationKeyFn("connect-wallet"),
18
+ autoconnectWallet: formMutationKeyFn("autoconnect-wallet"),
19
+ disconnectWallet: formMutationKeyFn("disconnect-wallet"),
20
+ signPersonalMessage: formMutationKeyFn("sign-personal-message"),
21
+ signTransaction: formMutationKeyFn("sign-transaction"),
22
+ signAndExecuteTransaction: formMutationKeyFn("sign-and-execute-transaction"),
23
+ switchAccount: formMutationKeyFn("switch-account"),
24
+ reportTransactionEffects: formMutationKeyFn("report-transaction-effects")
25
+ };
26
+ function formMutationKeyFn(baseEntity) {
27
+ return function mutationKeyFn(additionalKeys = []) {
28
+ return [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];
29
+ };
30
+ }
31
+
32
+ // src/hooks/wallet/useWalletStore.ts
33
+ import { useContext } from "react";
34
+ import { useStore } from "zustand";
35
+
36
+ // src/contexts/walletContext.ts
37
+ import { createContext } from "react";
38
+ var WalletContext = createContext(null);
39
+
40
+ // src/hooks/wallet/useWalletStore.ts
41
+ function useWalletStore(selector) {
42
+ const store = useContext(WalletContext);
43
+ if (!store) {
44
+ throw new Error(
45
+ "Could not find WalletContext. Ensure that you have set up the WalletProvider."
46
+ );
47
+ }
48
+ return useStore(store, selector);
49
+ }
50
+
51
+ // src/hooks/wallet/useConnectWallet.ts
52
+ function useConnectWallet({
53
+ mutationKey,
54
+ ...mutationOptions
55
+ } = {}) {
56
+ const setWalletConnected = useWalletStore((state) => state.setWalletConnected);
57
+ const setConnectionStatus = useWalletStore((state) => state.setConnectionStatus);
58
+ return useMutation({
59
+ mutationKey: walletMutationKeys.connectWallet(mutationKey),
60
+ mutationFn: async ({ wallet, accountAddress, ...connectArgs }) => {
61
+ try {
62
+ setConnectionStatus("connecting");
63
+ const connectResult = await wallet.features["standard:connect"].connect(connectArgs);
64
+ let supportedIntents = connectResult.supportedIntents;
65
+ if (!supportedIntents && wallet.features["sui:getCapabilities"]) {
66
+ supportedIntents = (await wallet.features["sui:getCapabilities"].getCapabilities()).supportedIntents ?? [];
67
+ }
68
+ const connectedHaneulAccounts = connectResult.accounts.filter(
69
+ (account) => account.chains.some((chain) => chain.split(":")[0] === "sui")
70
+ );
71
+ const selectedAccount = getSelectedAccount(connectedHaneulAccounts, accountAddress);
72
+ setWalletConnected(wallet, connectedHaneulAccounts, selectedAccount, supportedIntents);
73
+ return { accounts: connectedHaneulAccounts };
74
+ } catch (error) {
75
+ setConnectionStatus("disconnected");
76
+ throw error;
77
+ }
78
+ },
79
+ ...mutationOptions
80
+ });
81
+ }
82
+ function getSelectedAccount(connectedAccounts, accountAddress) {
83
+ if (connectedAccounts.length === 0) {
84
+ return null;
85
+ }
86
+ if (accountAddress) {
87
+ const selectedAccount = connectedAccounts.find((account) => account.address === accountAddress);
88
+ return selectedAccount ?? connectedAccounts[0];
89
+ }
90
+ return connectedAccounts[0];
91
+ }
92
+
93
+ // src/hooks/wallet/useCurrentWallet.ts
94
+ function useCurrentWallet() {
95
+ const currentWallet = useWalletStore((state) => state.currentWallet);
96
+ const connectionStatus = useWalletStore((state) => state.connectionStatus);
97
+ const supportedIntents = useWalletStore((state) => state.supportedIntents);
98
+ switch (connectionStatus) {
99
+ case "connecting":
100
+ return {
101
+ connectionStatus,
102
+ currentWallet: null,
103
+ isDisconnected: false,
104
+ isConnecting: true,
105
+ isConnected: false,
106
+ supportedIntents: []
107
+ };
108
+ case "disconnected":
109
+ return {
110
+ connectionStatus,
111
+ currentWallet: null,
112
+ isDisconnected: true,
113
+ isConnecting: false,
114
+ isConnected: false,
115
+ supportedIntents: []
116
+ };
117
+ case "connected": {
118
+ return {
119
+ connectionStatus,
120
+ currentWallet,
121
+ isDisconnected: false,
122
+ isConnecting: false,
123
+ isConnected: true,
124
+ supportedIntents
125
+ };
126
+ }
127
+ }
128
+ }
129
+
130
+ // src/hooks/wallet/useWallets.ts
131
+ function useWallets() {
132
+ return useWalletStore((state) => state.wallets);
133
+ }
134
+
135
+ // src/hooks/wallet/useAutoConnectWallet.ts
136
+ function useAutoConnectWallet() {
137
+ const { mutateAsync: connectWallet } = useConnectWallet();
138
+ const autoConnectEnabled = useWalletStore((state) => state.autoConnectEnabled);
139
+ const lastConnectedWalletName = useWalletStore((state) => state.lastConnectedWalletName);
140
+ const lastConnectedAccountAddress = useWalletStore((state) => state.lastConnectedAccountAddress);
141
+ const wallets = useWallets();
142
+ const { isConnected } = useCurrentWallet();
143
+ const [clientOnly, setClientOnly] = useState(false);
144
+ useLayoutEffect(() => {
145
+ setClientOnly(true);
146
+ }, []);
147
+ const { data, isError } = useQuery({
148
+ queryKey: [
149
+ "@haneullabs/dapp-kit",
150
+ "autoconnect",
151
+ {
152
+ isConnected,
153
+ autoConnectEnabled,
154
+ lastConnectedWalletName,
155
+ lastConnectedAccountAddress,
156
+ walletCount: wallets.length
157
+ }
158
+ ],
159
+ queryFn: async () => {
160
+ if (!autoConnectEnabled) {
161
+ return "disabled";
162
+ }
163
+ if (!lastConnectedWalletName || !lastConnectedAccountAddress || isConnected) {
164
+ return "attempted";
165
+ }
166
+ const wallet = wallets.find(
167
+ (wallet2) => getWalletUniqueIdentifier(wallet2) === lastConnectedWalletName
168
+ );
169
+ if (wallet) {
170
+ await connectWallet({
171
+ wallet,
172
+ accountAddress: lastConnectedAccountAddress,
173
+ silent: true
174
+ });
175
+ }
176
+ return "attempted";
177
+ },
178
+ enabled: autoConnectEnabled,
179
+ persister: void 0,
180
+ gcTime: 0,
181
+ staleTime: 0,
182
+ networkMode: "always",
183
+ retry: false,
184
+ retryOnMount: false,
185
+ refetchInterval: false,
186
+ refetchIntervalInBackground: false,
187
+ refetchOnMount: false,
188
+ refetchOnReconnect: false,
189
+ refetchOnWindowFocus: false
190
+ });
191
+ if (!autoConnectEnabled) {
192
+ return "disabled";
193
+ }
194
+ if (!clientOnly) {
195
+ return "idle";
196
+ }
197
+ if (isConnected) {
198
+ return "attempted";
199
+ }
200
+ if (!lastConnectedWalletName) {
201
+ return "attempted";
202
+ }
203
+ return isError ? "attempted" : data ?? "idle";
204
+ }
205
+ export {
206
+ useAutoConnectWallet
207
+ };
208
+ //# sourceMappingURL=useAutoConnectWallet.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/hooks/wallet/useAutoConnectWallet.ts", "../../../../src/utils/walletUtils.ts", "../../../../src/hooks/wallet/useConnectWallet.ts", "../../../../src/constants/walletMutationKeys.ts", "../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts", "../../../../src/hooks/wallet/useCurrentWallet.ts", "../../../../src/hooks/wallet/useWallets.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useQuery } from '@tanstack/react-query';\nimport { useLayoutEffect, useState } from 'react';\n\nimport { getWalletUniqueIdentifier } from '../../utils/walletUtils.js';\nimport { useConnectWallet } from './useConnectWallet.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\nimport { useWallets } from './useWallets.js';\nimport { useWalletStore } from './useWalletStore.js';\n\nexport function useAutoConnectWallet(): 'disabled' | 'idle' | 'attempted' {\n\tconst { mutateAsync: connectWallet } = useConnectWallet();\n\tconst autoConnectEnabled = useWalletStore((state) => state.autoConnectEnabled);\n\tconst lastConnectedWalletName = useWalletStore((state) => state.lastConnectedWalletName);\n\tconst lastConnectedAccountAddress = useWalletStore((state) => state.lastConnectedAccountAddress);\n\tconst wallets = useWallets();\n\tconst { isConnected } = useCurrentWallet();\n\n\tconst [clientOnly, setClientOnly] = useState(false);\n\tuseLayoutEffect(() => {\n\t\tsetClientOnly(true);\n\t}, []);\n\n\tconst { data, isError } = useQuery({\n\t\tqueryKey: [\n\t\t\t'@haneullabs/dapp-kit',\n\t\t\t'autoconnect',\n\t\t\t{\n\t\t\t\tisConnected,\n\t\t\t\tautoConnectEnabled,\n\t\t\t\tlastConnectedWalletName,\n\t\t\t\tlastConnectedAccountAddress,\n\t\t\t\twalletCount: wallets.length,\n\t\t\t},\n\t\t],\n\t\tqueryFn: async () => {\n\t\t\tif (!autoConnectEnabled) {\n\t\t\t\treturn 'disabled';\n\t\t\t}\n\n\t\t\tif (!lastConnectedWalletName || !lastConnectedAccountAddress || isConnected) {\n\t\t\t\treturn 'attempted';\n\t\t\t}\n\n\t\t\tconst wallet = wallets.find(\n\t\t\t\t(wallet) => getWalletUniqueIdentifier(wallet) === lastConnectedWalletName,\n\t\t\t);\n\t\t\tif (wallet) {\n\t\t\t\tawait connectWallet({\n\t\t\t\t\twallet,\n\t\t\t\t\taccountAddress: lastConnectedAccountAddress,\n\t\t\t\t\tsilent: true,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn 'attempted';\n\t\t},\n\t\tenabled: autoConnectEnabled,\n\t\tpersister: undefined,\n\t\tgcTime: 0,\n\t\tstaleTime: 0,\n\t\tnetworkMode: 'always',\n\t\tretry: false,\n\t\tretryOnMount: false,\n\t\trefetchInterval: false,\n\t\trefetchIntervalInBackground: false,\n\t\trefetchOnMount: false,\n\t\trefetchOnReconnect: false,\n\t\trefetchOnWindowFocus: false,\n\t});\n\n\tif (!autoConnectEnabled) {\n\t\treturn 'disabled';\n\t}\n\n\t// We always initialize with \"idle\" so that in SSR environments, we guarantee that the initial render states always agree:\n\tif (!clientOnly) {\n\t\treturn 'idle';\n\t}\n\n\tif (isConnected) {\n\t\treturn 'attempted';\n\t}\n\n\tif (!lastConnectedWalletName) {\n\t\treturn 'attempted';\n\t}\n\n\treturn isError ? 'attempted' : (data ?? 'idle');\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n\tMinimallyRequiredFeatures,\n\tWallet,\n\tWalletWithFeatures,\n\tWalletWithRequiredFeatures,\n} from '@haneullabs/wallet-standard';\nimport { getWallets, isWalletWithRequiredFeatureSet } from '@haneullabs/wallet-standard';\n\nexport function getRegisteredWallets<AdditionalFeatures extends Wallet['features']>(\n\tpreferredWallets: string[],\n\twalletFilter?: (wallet: WalletWithRequiredFeatures) => boolean,\n) {\n\tconst walletsApi = getWallets();\n\tconst wallets = walletsApi.get();\n\n\tconst suiWallets = wallets.filter(\n\t\t(wallet): wallet is WalletWithFeatures<MinimallyRequiredFeatures & AdditionalFeatures> =>\n\t\t\tisWalletWithRequiredFeatureSet(wallet) && (!walletFilter || walletFilter(wallet)),\n\t);\n\n\treturn [\n\t\t// Preferred wallets, in order:\n\t\t...(preferredWallets\n\t\t\t.map((name) => suiWallets.find((wallet) => wallet.name === name))\n\t\t\t.filter(Boolean) as WalletWithFeatures<MinimallyRequiredFeatures & AdditionalFeatures>[]),\n\n\t\t// Wallets in default order:\n\t\t...suiWallets.filter((wallet) => !preferredWallets.includes(wallet.name)),\n\t];\n}\n\nexport function getWalletUniqueIdentifier(wallet?: Wallet) {\n\treturn wallet?.id ?? wallet?.name;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n\tStandardConnectInput,\n\tStandardConnectOutput,\n\tWalletAccount,\n\tWalletWithRequiredFeatures,\n} from '@haneullabs/wallet-standard';\nimport type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport { useWalletStore } from './useWalletStore.js';\n\ntype ConnectWalletArgs = {\n\t/** The wallet to connect to. */\n\twallet: WalletWithRequiredFeatures;\n\n\t/** An optional account address to connect to. Defaults to the first authorized account. */\n\taccountAddress?: string;\n} & StandardConnectInput;\n\ntype ConnectWalletResult = StandardConnectOutput;\n\ntype UseConnectWalletMutationOptions = Omit<\n\tUseMutationOptions<ConnectWalletResult, Error, ConnectWalletArgs, unknown>,\n\t'mutationFn'\n>;\n\n/**\n * Mutation hook for establishing a connection to a specific wallet.\n */\nexport function useConnectWallet({\n\tmutationKey,\n\t...mutationOptions\n}: UseConnectWalletMutationOptions = {}): UseMutationResult<\n\tConnectWalletResult,\n\tError,\n\tConnectWalletArgs,\n\tunknown\n> {\n\tconst setWalletConnected = useWalletStore((state) => state.setWalletConnected);\n\tconst setConnectionStatus = useWalletStore((state) => state.setConnectionStatus);\n\n\treturn useMutation({\n\t\tmutationKey: walletMutationKeys.connectWallet(mutationKey),\n\t\tmutationFn: async ({ wallet, accountAddress, ...connectArgs }) => {\n\t\t\ttry {\n\t\t\t\tsetConnectionStatus('connecting');\n\n\t\t\t\tconst connectResult = await wallet.features['standard:connect'].connect(connectArgs);\n\t\t\t\tlet supportedIntents = connectResult.supportedIntents;\n\t\t\t\tif (!supportedIntents && wallet.features['sui:getCapabilities']) {\n\t\t\t\t\tsupportedIntents =\n\t\t\t\t\t\t(await wallet.features['sui:getCapabilities'].getCapabilities()).supportedIntents ?? [];\n\t\t\t\t}\n\t\t\t\tconst connectedHaneulAccounts = connectResult.accounts.filter((account) =>\n\t\t\t\t\taccount.chains.some((chain) => chain.split(':')[0] === 'sui'),\n\t\t\t\t);\n\t\t\t\tconst selectedAccount = getSelectedAccount(connectedHaneulAccounts, accountAddress);\n\n\t\t\t\tsetWalletConnected(wallet, connectedHaneulAccounts, selectedAccount, supportedIntents);\n\n\t\t\t\treturn { accounts: connectedHaneulAccounts };\n\t\t\t} catch (error) {\n\t\t\t\tsetConnectionStatus('disconnected');\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t},\n\t\t...mutationOptions,\n\t});\n}\n\nfunction getSelectedAccount(connectedAccounts: readonly WalletAccount[], accountAddress?: string) {\n\tif (connectedAccounts.length === 0) {\n\t\treturn null;\n\t}\n\n\tif (accountAddress) {\n\t\tconst selectedAccount = connectedAccounts.find((account) => account.address === accountAddress);\n\t\treturn selectedAccount ?? connectedAccounts[0];\n\t}\n\n\treturn connectedAccounts[0];\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { MutationKey } from '@tanstack/react-query';\n\nexport const walletMutationKeys = {\n\tall: { baseScope: 'wallet' },\n\tconnectWallet: formMutationKeyFn('connect-wallet'),\n\tautoconnectWallet: formMutationKeyFn('autoconnect-wallet'),\n\tdisconnectWallet: formMutationKeyFn('disconnect-wallet'),\n\tsignPersonalMessage: formMutationKeyFn('sign-personal-message'),\n\tsignTransaction: formMutationKeyFn('sign-transaction'),\n\tsignAndExecuteTransaction: formMutationKeyFn('sign-and-execute-transaction'),\n\tswitchAccount: formMutationKeyFn('switch-account'),\n\treportTransactionEffects: formMutationKeyFn('report-transaction-effects'),\n};\n\nfunction formMutationKeyFn(baseEntity: string) {\n\treturn function mutationKeyFn(additionalKeys: MutationKey = []) {\n\t\treturn [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];\n\t};\n}\n", "// Copyright (c) Mysten Labs, Inc.\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\tconst store = useContext(WalletContext);\n\tif (!store) {\n\t\tthrow new Error(\n\t\t\t'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n\t\t);\n\t}\n\treturn useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\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// 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\tconst currentWallet = useWalletStore((state) => state.currentWallet);\n\tconst connectionStatus = useWalletStore((state) => state.connectionStatus);\n\tconst supportedIntents = useWalletStore((state) => state.supportedIntents);\n\n\tswitch (connectionStatus) {\n\t\tcase 'connecting':\n\t\t\treturn {\n\t\t\t\tconnectionStatus,\n\t\t\t\tcurrentWallet: null,\n\t\t\t\tisDisconnected: false,\n\t\t\t\tisConnecting: true,\n\t\t\t\tisConnected: false,\n\t\t\t\tsupportedIntents: [],\n\t\t\t} as const;\n\t\tcase 'disconnected':\n\t\t\treturn {\n\t\t\t\tconnectionStatus,\n\t\t\t\tcurrentWallet: null,\n\t\t\t\tisDisconnected: true,\n\t\t\t\tisConnecting: false,\n\t\t\t\tisConnected: false,\n\t\t\t\tsupportedIntents: [],\n\t\t\t} as const;\n\t\tcase 'connected': {\n\t\t\treturn {\n\t\t\t\tconnectionStatus,\n\t\t\t\tcurrentWallet: currentWallet!,\n\t\t\t\tisDisconnected: false,\n\t\t\t\tisConnecting: false,\n\t\t\t\tisConnected: true,\n\t\t\t\tsupportedIntents,\n\t\t\t} as const;\n\t\t}\n\t}\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves a list of registered wallets available to the dApp sorted by preference.\n */\nexport function useWallets() {\n\treturn useWalletStore((state) => state.wallets);\n}\n"],
5
+ "mappings": ";AAGA,SAAS,gBAAgB;AACzB,SAAS,iBAAiB,gBAAgB;;;ACK1C,SAAS,YAAY,sCAAsC;AAyBpD,SAAS,0BAA0B,QAAiB;AAC1D,SAAO,QAAQ,MAAM,QAAQ;AAC9B;;;AC1BA,SAAS,mBAAmB;;;ACLrB,IAAM,qBAAqB;AAAA,EACjC,KAAK,EAAE,WAAW,SAAS;AAAA,EAC3B,eAAe,kBAAkB,gBAAgB;AAAA,EACjD,mBAAmB,kBAAkB,oBAAoB;AAAA,EACzD,kBAAkB,kBAAkB,mBAAmB;AAAA,EACvD,qBAAqB,kBAAkB,uBAAuB;AAAA,EAC9D,iBAAiB,kBAAkB,kBAAkB;AAAA,EACrD,2BAA2B,kBAAkB,8BAA8B;AAAA,EAC3E,eAAe,kBAAkB,gBAAgB;AAAA,EACjD,0BAA0B,kBAAkB,4BAA4B;AACzE;AAEA,SAAS,kBAAkB,YAAoB;AAC9C,SAAO,SAAS,cAAc,iBAA8B,CAAC,GAAG;AAC/D,WAAO,CAAC,EAAE,GAAG,mBAAmB,KAAK,WAAW,GAAG,GAAG,cAAc;AAAA,EACrE;AACD;;;AClBA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;;;ACDzB,SAAS,qBAAqB;AAIvB,IAAM,gBAAgB,cAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACxE,QAAM,QAAQ,WAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACX,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AACA,SAAO,SAAS,OAAO,QAAQ;AAChC;;;AFgBO,SAAS,iBAAiB;AAAA,EAChC;AAAA,EACA,GAAG;AACJ,IAAqC,CAAC,GAKpC;AACD,QAAM,qBAAqB,eAAe,CAAC,UAAU,MAAM,kBAAkB;AAC7E,QAAM,sBAAsB,eAAe,CAAC,UAAU,MAAM,mBAAmB;AAE/E,SAAO,YAAY;AAAA,IAClB,aAAa,mBAAmB,cAAc,WAAW;AAAA,IACzD,YAAY,OAAO,EAAE,QAAQ,gBAAgB,GAAG,YAAY,MAAM;AACjE,UAAI;AACH,4BAAoB,YAAY;AAEhC,cAAM,gBAAgB,MAAM,OAAO,SAAS,kBAAkB,EAAE,QAAQ,WAAW;AACnF,YAAI,mBAAmB,cAAc;AACrC,YAAI,CAAC,oBAAoB,OAAO,SAAS,qBAAqB,GAAG;AAChE,8BACE,MAAM,OAAO,SAAS,qBAAqB,EAAE,gBAAgB,GAAG,oBAAoB,CAAC;AAAA,QACxF;AACA,cAAM,0BAA0B,cAAc,SAAS;AAAA,UAAO,CAAC,YAC9D,QAAQ,OAAO,KAAK,CAAC,UAAU,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,KAAK;AAAA,QAC7D;AACA,cAAM,kBAAkB,mBAAmB,yBAAyB,cAAc;AAElF,2BAAmB,QAAQ,yBAAyB,iBAAiB,gBAAgB;AAErF,eAAO,EAAE,UAAU,wBAAwB;AAAA,MAC5C,SAAS,OAAO;AACf,4BAAoB,cAAc;AAClC,cAAM;AAAA,MACP;AAAA,IACD;AAAA,IACA,GAAG;AAAA,EACJ,CAAC;AACF;AAEA,SAAS,mBAAmB,mBAA6C,gBAAyB;AACjG,MAAI,kBAAkB,WAAW,GAAG;AACnC,WAAO;AAAA,EACR;AAEA,MAAI,gBAAgB;AACnB,UAAM,kBAAkB,kBAAkB,KAAK,CAAC,YAAY,QAAQ,YAAY,cAAc;AAC9F,WAAO,mBAAmB,kBAAkB,CAAC;AAAA,EAC9C;AAEA,SAAO,kBAAkB,CAAC;AAC3B;;;AI7EO,SAAS,mBAAmB;AAClC,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,IACzB,KAAK;AACJ,aAAO;AAAA,QACN;AAAA,QACA,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,kBAAkB,CAAC;AAAA,MACpB;AAAA,IACD,KAAK;AACJ,aAAO;AAAA,QACN;AAAA,QACA,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,kBAAkB,CAAC;AAAA,MACpB;AAAA,IACD,KAAK,aAAa;AACjB,aAAO;AAAA,QACN;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,QACb;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;;;ACnCO,SAAS,aAAa;AAC5B,SAAO,eAAe,CAAC,UAAU,MAAM,OAAO;AAC/C;;;APEO,SAAS,uBAA0D;AACzE,QAAM,EAAE,aAAa,cAAc,IAAI,iBAAiB;AACxD,QAAM,qBAAqB,eAAe,CAAC,UAAU,MAAM,kBAAkB;AAC7E,QAAM,0BAA0B,eAAe,CAAC,UAAU,MAAM,uBAAuB;AACvF,QAAM,8BAA8B,eAAe,CAAC,UAAU,MAAM,2BAA2B;AAC/F,QAAM,UAAU,WAAW;AAC3B,QAAM,EAAE,YAAY,IAAI,iBAAiB;AAEzC,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAClD,kBAAgB,MAAM;AACrB,kBAAc,IAAI;AAAA,EACnB,GAAG,CAAC,CAAC;AAEL,QAAM,EAAE,MAAM,QAAQ,IAAI,SAAS;AAAA,IAClC,UAAU;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,aAAa,QAAQ;AAAA,MACtB;AAAA,IACD;AAAA,IACA,SAAS,YAAY;AACpB,UAAI,CAAC,oBAAoB;AACxB,eAAO;AAAA,MACR;AAEA,UAAI,CAAC,2BAA2B,CAAC,+BAA+B,aAAa;AAC5E,eAAO;AAAA,MACR;AAEA,YAAM,SAAS,QAAQ;AAAA,QACtB,CAACA,YAAW,0BAA0BA,OAAM,MAAM;AAAA,MACnD;AACA,UAAI,QAAQ;AACX,cAAM,cAAc;AAAA,UACnB;AAAA,UACA,gBAAgB;AAAA,UAChB,QAAQ;AAAA,QACT,CAAC;AAAA,MACF;AAEA,aAAO;AAAA,IACR;AAAA,IACA,SAAS;AAAA,IACT,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,aAAa;AAAA,IACb,OAAO;AAAA,IACP,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,6BAA6B;AAAA,IAC7B,gBAAgB;AAAA,IAChB,oBAAoB;AAAA,IACpB,sBAAsB;AAAA,EACvB,CAAC;AAED,MAAI,CAAC,oBAAoB;AACxB,WAAO;AAAA,EACR;AAGA,MAAI,CAAC,YAAY;AAChB,WAAO;AAAA,EACR;AAEA,MAAI,aAAa;AAChB,WAAO;AAAA,EACR;AAEA,MAAI,CAAC,yBAAyB;AAC7B,WAAO;AAAA,EACR;AAEA,SAAO,UAAU,cAAe,QAAQ;AACzC;",
6
+ "names": ["wallet"]
7
+ }
@@ -0,0 +1,15 @@
1
+ import type { StandardConnectInput, StandardConnectOutput, WalletWithRequiredFeatures } from '@haneullabs/wallet-standard';
2
+ import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
3
+ type ConnectWalletArgs = {
4
+ /** The wallet to connect to. */
5
+ wallet: WalletWithRequiredFeatures;
6
+ /** An optional account address to connect to. Defaults to the first authorized account. */
7
+ accountAddress?: string;
8
+ } & StandardConnectInput;
9
+ type ConnectWalletResult = StandardConnectOutput;
10
+ type UseConnectWalletMutationOptions = Omit<UseMutationOptions<ConnectWalletResult, Error, ConnectWalletArgs, unknown>, 'mutationFn'>;
11
+ /**
12
+ * Mutation hook for establishing a connection to a specific wallet.
13
+ */
14
+ export declare function useConnectWallet({ mutationKey, ...mutationOptions }?: UseConnectWalletMutationOptions): UseMutationResult<ConnectWalletResult, Error, ConnectWalletArgs, unknown>;
15
+ export {};
@@ -0,0 +1,85 @@
1
+ // src/hooks/wallet/useConnectWallet.ts
2
+ import { useMutation } from "@tanstack/react-query";
3
+
4
+ // src/constants/walletMutationKeys.ts
5
+ var walletMutationKeys = {
6
+ all: { baseScope: "wallet" },
7
+ connectWallet: formMutationKeyFn("connect-wallet"),
8
+ autoconnectWallet: formMutationKeyFn("autoconnect-wallet"),
9
+ disconnectWallet: formMutationKeyFn("disconnect-wallet"),
10
+ signPersonalMessage: formMutationKeyFn("sign-personal-message"),
11
+ signTransaction: formMutationKeyFn("sign-transaction"),
12
+ signAndExecuteTransaction: formMutationKeyFn("sign-and-execute-transaction"),
13
+ switchAccount: formMutationKeyFn("switch-account"),
14
+ reportTransactionEffects: formMutationKeyFn("report-transaction-effects")
15
+ };
16
+ function formMutationKeyFn(baseEntity) {
17
+ return function mutationKeyFn(additionalKeys = []) {
18
+ return [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];
19
+ };
20
+ }
21
+
22
+ // src/hooks/wallet/useWalletStore.ts
23
+ import { useContext } from "react";
24
+ import { useStore } from "zustand";
25
+
26
+ // src/contexts/walletContext.ts
27
+ import { createContext } from "react";
28
+ var WalletContext = createContext(null);
29
+
30
+ // src/hooks/wallet/useWalletStore.ts
31
+ function useWalletStore(selector) {
32
+ const store = useContext(WalletContext);
33
+ if (!store) {
34
+ throw new Error(
35
+ "Could not find WalletContext. Ensure that you have set up the WalletProvider."
36
+ );
37
+ }
38
+ return useStore(store, selector);
39
+ }
40
+
41
+ // src/hooks/wallet/useConnectWallet.ts
42
+ function useConnectWallet({
43
+ mutationKey,
44
+ ...mutationOptions
45
+ } = {}) {
46
+ const setWalletConnected = useWalletStore((state) => state.setWalletConnected);
47
+ const setConnectionStatus = useWalletStore((state) => state.setConnectionStatus);
48
+ return useMutation({
49
+ mutationKey: walletMutationKeys.connectWallet(mutationKey),
50
+ mutationFn: async ({ wallet, accountAddress, ...connectArgs }) => {
51
+ try {
52
+ setConnectionStatus("connecting");
53
+ const connectResult = await wallet.features["standard:connect"].connect(connectArgs);
54
+ let supportedIntents = connectResult.supportedIntents;
55
+ if (!supportedIntents && wallet.features["sui:getCapabilities"]) {
56
+ supportedIntents = (await wallet.features["sui:getCapabilities"].getCapabilities()).supportedIntents ?? [];
57
+ }
58
+ const connectedHaneulAccounts = connectResult.accounts.filter(
59
+ (account) => account.chains.some((chain) => chain.split(":")[0] === "sui")
60
+ );
61
+ const selectedAccount = getSelectedAccount(connectedHaneulAccounts, accountAddress);
62
+ setWalletConnected(wallet, connectedHaneulAccounts, selectedAccount, supportedIntents);
63
+ return { accounts: connectedHaneulAccounts };
64
+ } catch (error) {
65
+ setConnectionStatus("disconnected");
66
+ throw error;
67
+ }
68
+ },
69
+ ...mutationOptions
70
+ });
71
+ }
72
+ function getSelectedAccount(connectedAccounts, accountAddress) {
73
+ if (connectedAccounts.length === 0) {
74
+ return null;
75
+ }
76
+ if (accountAddress) {
77
+ const selectedAccount = connectedAccounts.find((account) => account.address === accountAddress);
78
+ return selectedAccount ?? connectedAccounts[0];
79
+ }
80
+ return connectedAccounts[0];
81
+ }
82
+ export {
83
+ useConnectWallet
84
+ };
85
+ //# sourceMappingURL=useConnectWallet.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/hooks/wallet/useConnectWallet.ts", "../../../../src/constants/walletMutationKeys.ts", "../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n\tStandardConnectInput,\n\tStandardConnectOutput,\n\tWalletAccount,\n\tWalletWithRequiredFeatures,\n} from '@haneullabs/wallet-standard';\nimport type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport { useWalletStore } from './useWalletStore.js';\n\ntype ConnectWalletArgs = {\n\t/** The wallet to connect to. */\n\twallet: WalletWithRequiredFeatures;\n\n\t/** An optional account address to connect to. Defaults to the first authorized account. */\n\taccountAddress?: string;\n} & StandardConnectInput;\n\ntype ConnectWalletResult = StandardConnectOutput;\n\ntype UseConnectWalletMutationOptions = Omit<\n\tUseMutationOptions<ConnectWalletResult, Error, ConnectWalletArgs, unknown>,\n\t'mutationFn'\n>;\n\n/**\n * Mutation hook for establishing a connection to a specific wallet.\n */\nexport function useConnectWallet({\n\tmutationKey,\n\t...mutationOptions\n}: UseConnectWalletMutationOptions = {}): UseMutationResult<\n\tConnectWalletResult,\n\tError,\n\tConnectWalletArgs,\n\tunknown\n> {\n\tconst setWalletConnected = useWalletStore((state) => state.setWalletConnected);\n\tconst setConnectionStatus = useWalletStore((state) => state.setConnectionStatus);\n\n\treturn useMutation({\n\t\tmutationKey: walletMutationKeys.connectWallet(mutationKey),\n\t\tmutationFn: async ({ wallet, accountAddress, ...connectArgs }) => {\n\t\t\ttry {\n\t\t\t\tsetConnectionStatus('connecting');\n\n\t\t\t\tconst connectResult = await wallet.features['standard:connect'].connect(connectArgs);\n\t\t\t\tlet supportedIntents = connectResult.supportedIntents;\n\t\t\t\tif (!supportedIntents && wallet.features['sui:getCapabilities']) {\n\t\t\t\t\tsupportedIntents =\n\t\t\t\t\t\t(await wallet.features['sui:getCapabilities'].getCapabilities()).supportedIntents ?? [];\n\t\t\t\t}\n\t\t\t\tconst connectedHaneulAccounts = connectResult.accounts.filter((account) =>\n\t\t\t\t\taccount.chains.some((chain) => chain.split(':')[0] === 'sui'),\n\t\t\t\t);\n\t\t\t\tconst selectedAccount = getSelectedAccount(connectedHaneulAccounts, accountAddress);\n\n\t\t\t\tsetWalletConnected(wallet, connectedHaneulAccounts, selectedAccount, supportedIntents);\n\n\t\t\t\treturn { accounts: connectedHaneulAccounts };\n\t\t\t} catch (error) {\n\t\t\t\tsetConnectionStatus('disconnected');\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t},\n\t\t...mutationOptions,\n\t});\n}\n\nfunction getSelectedAccount(connectedAccounts: readonly WalletAccount[], accountAddress?: string) {\n\tif (connectedAccounts.length === 0) {\n\t\treturn null;\n\t}\n\n\tif (accountAddress) {\n\t\tconst selectedAccount = connectedAccounts.find((account) => account.address === accountAddress);\n\t\treturn selectedAccount ?? connectedAccounts[0];\n\t}\n\n\treturn connectedAccounts[0];\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { MutationKey } from '@tanstack/react-query';\n\nexport const walletMutationKeys = {\n\tall: { baseScope: 'wallet' },\n\tconnectWallet: formMutationKeyFn('connect-wallet'),\n\tautoconnectWallet: formMutationKeyFn('autoconnect-wallet'),\n\tdisconnectWallet: formMutationKeyFn('disconnect-wallet'),\n\tsignPersonalMessage: formMutationKeyFn('sign-personal-message'),\n\tsignTransaction: formMutationKeyFn('sign-transaction'),\n\tsignAndExecuteTransaction: formMutationKeyFn('sign-and-execute-transaction'),\n\tswitchAccount: formMutationKeyFn('switch-account'),\n\treportTransactionEffects: formMutationKeyFn('report-transaction-effects'),\n};\n\nfunction formMutationKeyFn(baseEntity: string) {\n\treturn function mutationKeyFn(additionalKeys: MutationKey = []) {\n\t\treturn [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];\n\t};\n}\n", "// Copyright (c) Mysten Labs, Inc.\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\tconst store = useContext(WalletContext);\n\tif (!store) {\n\t\tthrow new Error(\n\t\t\t'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n\t\t);\n\t}\n\treturn useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\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": ";AAUA,SAAS,mBAAmB;;;ACLrB,IAAM,qBAAqB;AAAA,EACjC,KAAK,EAAE,WAAW,SAAS;AAAA,EAC3B,eAAe,kBAAkB,gBAAgB;AAAA,EACjD,mBAAmB,kBAAkB,oBAAoB;AAAA,EACzD,kBAAkB,kBAAkB,mBAAmB;AAAA,EACvD,qBAAqB,kBAAkB,uBAAuB;AAAA,EAC9D,iBAAiB,kBAAkB,kBAAkB;AAAA,EACrD,2BAA2B,kBAAkB,8BAA8B;AAAA,EAC3E,eAAe,kBAAkB,gBAAgB;AAAA,EACjD,0BAA0B,kBAAkB,4BAA4B;AACzE;AAEA,SAAS,kBAAkB,YAAoB;AAC9C,SAAO,SAAS,cAAc,iBAA8B,CAAC,GAAG;AAC/D,WAAO,CAAC,EAAE,GAAG,mBAAmB,KAAK,WAAW,GAAG,GAAG,cAAc;AAAA,EACrE;AACD;;;AClBA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;;;ACDzB,SAAS,qBAAqB;AAIvB,IAAM,gBAAgB,cAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACxE,QAAM,QAAQ,WAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACX,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AACA,SAAO,SAAS,OAAO,QAAQ;AAChC;;;AFgBO,SAAS,iBAAiB;AAAA,EAChC;AAAA,EACA,GAAG;AACJ,IAAqC,CAAC,GAKpC;AACD,QAAM,qBAAqB,eAAe,CAAC,UAAU,MAAM,kBAAkB;AAC7E,QAAM,sBAAsB,eAAe,CAAC,UAAU,MAAM,mBAAmB;AAE/E,SAAO,YAAY;AAAA,IAClB,aAAa,mBAAmB,cAAc,WAAW;AAAA,IACzD,YAAY,OAAO,EAAE,QAAQ,gBAAgB,GAAG,YAAY,MAAM;AACjE,UAAI;AACH,4BAAoB,YAAY;AAEhC,cAAM,gBAAgB,MAAM,OAAO,SAAS,kBAAkB,EAAE,QAAQ,WAAW;AACnF,YAAI,mBAAmB,cAAc;AACrC,YAAI,CAAC,oBAAoB,OAAO,SAAS,qBAAqB,GAAG;AAChE,8BACE,MAAM,OAAO,SAAS,qBAAqB,EAAE,gBAAgB,GAAG,oBAAoB,CAAC;AAAA,QACxF;AACA,cAAM,0BAA0B,cAAc,SAAS;AAAA,UAAO,CAAC,YAC9D,QAAQ,OAAO,KAAK,CAAC,UAAU,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,KAAK;AAAA,QAC7D;AACA,cAAM,kBAAkB,mBAAmB,yBAAyB,cAAc;AAElF,2BAAmB,QAAQ,yBAAyB,iBAAiB,gBAAgB;AAErF,eAAO,EAAE,UAAU,wBAAwB;AAAA,MAC5C,SAAS,OAAO;AACf,4BAAoB,cAAc;AAClC,cAAM;AAAA,MACP;AAAA,IACD;AAAA,IACA,GAAG;AAAA,EACJ,CAAC;AACF;AAEA,SAAS,mBAAmB,mBAA6C,gBAAyB;AACjG,MAAI,kBAAkB,WAAW,GAAG;AACnC,WAAO;AAAA,EACR;AAEA,MAAI,gBAAgB;AACnB,UAAM,kBAAkB,kBAAkB,KAAK,CAAC,YAAY,QAAQ,YAAY,cAAc;AAC9F,WAAO,mBAAmB,kBAAkB,CAAC;AAAA,EAC9C;AAEA,SAAO,kBAAkB,CAAC;AAC3B;",
6
+ "names": []
7
+ }
@@ -0,0 +1,5 @@
1
+ import type { WalletAccount } from '@haneullabs/wallet-standard';
2
+ /**
3
+ * Retrieves the wallet account that is currently selected, if one exists.
4
+ */
5
+ export declare function useCurrentAccount(): WalletAccount | null;
@@ -0,0 +1,27 @@
1
+ // src/hooks/wallet/useWalletStore.ts
2
+ import { useContext } from "react";
3
+ import { useStore } from "zustand";
4
+
5
+ // src/contexts/walletContext.ts
6
+ import { createContext } from "react";
7
+ var WalletContext = createContext(null);
8
+
9
+ // src/hooks/wallet/useWalletStore.ts
10
+ function useWalletStore(selector) {
11
+ const store = useContext(WalletContext);
12
+ if (!store) {
13
+ throw new Error(
14
+ "Could not find WalletContext. Ensure that you have set up the WalletProvider."
15
+ );
16
+ }
17
+ return useStore(store, selector);
18
+ }
19
+
20
+ // src/hooks/wallet/useCurrentAccount.ts
21
+ function useCurrentAccount() {
22
+ return useWalletStore((state) => state.currentAccount);
23
+ }
24
+ export {
25
+ useCurrentAccount
26
+ };
27
+ //# sourceMappingURL=useCurrentAccount.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts", "../../../../src/hooks/wallet/useCurrentAccount.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\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\tconst store = useContext(WalletContext);\n\tif (!store) {\n\t\tthrow new Error(\n\t\t\t'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n\t\t);\n\t}\n\treturn useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\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// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletAccount } from '@haneullabs/wallet-standard';\n\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves the wallet account that is currently selected, if one exists.\n */\nexport function useCurrentAccount(): WalletAccount | null {\n\treturn useWalletStore((state) => state.currentAccount);\n}\n"],
5
+ "mappings": ";AAGA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;;;ACDzB,SAAS,qBAAqB;AAIvB,IAAM,gBAAgB,cAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACxE,QAAM,QAAQ,WAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACX,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AACA,SAAO,SAAS,OAAO,QAAQ;AAChC;;;AEPO,SAAS,oBAA0C;AACzD,SAAO,eAAe,CAAC,UAAU,MAAM,cAAc;AACtD;",
6
+ "names": []
7
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Retrieves the wallet that is currently connected to the dApp, if one exists.
3
+ */
4
+ export declare function useCurrentWallet(): {
5
+ readonly connectionStatus: "connecting";
6
+ readonly currentWallet: null;
7
+ readonly isDisconnected: false;
8
+ readonly isConnecting: true;
9
+ readonly isConnected: false;
10
+ readonly supportedIntents: readonly [];
11
+ } | {
12
+ readonly connectionStatus: "disconnected";
13
+ readonly currentWallet: null;
14
+ readonly isDisconnected: true;
15
+ readonly isConnecting: false;
16
+ readonly isConnected: false;
17
+ readonly supportedIntents: readonly [];
18
+ } | {
19
+ readonly connectionStatus: "connected";
20
+ readonly currentWallet: import("@haneullabs/wallet-standard").WalletWithRequiredFeatures;
21
+ readonly isDisconnected: false;
22
+ readonly isConnecting: false;
23
+ readonly isConnected: true;
24
+ readonly supportedIntents: string[];
25
+ };
@@ -0,0 +1,59 @@
1
+ // src/hooks/wallet/useWalletStore.ts
2
+ import { useContext } from "react";
3
+ import { useStore } from "zustand";
4
+
5
+ // src/contexts/walletContext.ts
6
+ import { createContext } from "react";
7
+ var WalletContext = createContext(null);
8
+
9
+ // src/hooks/wallet/useWalletStore.ts
10
+ function useWalletStore(selector) {
11
+ const store = useContext(WalletContext);
12
+ if (!store) {
13
+ throw new Error(
14
+ "Could not find WalletContext. Ensure that you have set up the WalletProvider."
15
+ );
16
+ }
17
+ return useStore(store, selector);
18
+ }
19
+
20
+ // src/hooks/wallet/useCurrentWallet.ts
21
+ function useCurrentWallet() {
22
+ const currentWallet = useWalletStore((state) => state.currentWallet);
23
+ const connectionStatus = useWalletStore((state) => state.connectionStatus);
24
+ const supportedIntents = useWalletStore((state) => state.supportedIntents);
25
+ switch (connectionStatus) {
26
+ case "connecting":
27
+ return {
28
+ connectionStatus,
29
+ currentWallet: null,
30
+ isDisconnected: false,
31
+ isConnecting: true,
32
+ isConnected: false,
33
+ supportedIntents: []
34
+ };
35
+ case "disconnected":
36
+ return {
37
+ connectionStatus,
38
+ currentWallet: null,
39
+ isDisconnected: true,
40
+ isConnecting: false,
41
+ isConnected: false,
42
+ supportedIntents: []
43
+ };
44
+ case "connected": {
45
+ return {
46
+ connectionStatus,
47
+ currentWallet,
48
+ isDisconnected: false,
49
+ isConnecting: false,
50
+ isConnected: true,
51
+ supportedIntents
52
+ };
53
+ }
54
+ }
55
+ }
56
+ export {
57
+ useCurrentWallet
58
+ };
59
+ //# sourceMappingURL=useCurrentWallet.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/hooks/wallet/useWalletStore.ts", "../../../../src/contexts/walletContext.ts", "../../../../src/hooks/wallet/useCurrentWallet.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\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\tconst store = useContext(WalletContext);\n\tif (!store) {\n\t\tthrow new Error(\n\t\t\t'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n\t\t);\n\t}\n\treturn useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\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// 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\tconst currentWallet = useWalletStore((state) => state.currentWallet);\n\tconst connectionStatus = useWalletStore((state) => state.connectionStatus);\n\tconst supportedIntents = useWalletStore((state) => state.supportedIntents);\n\n\tswitch (connectionStatus) {\n\t\tcase 'connecting':\n\t\t\treturn {\n\t\t\t\tconnectionStatus,\n\t\t\t\tcurrentWallet: null,\n\t\t\t\tisDisconnected: false,\n\t\t\t\tisConnecting: true,\n\t\t\t\tisConnected: false,\n\t\t\t\tsupportedIntents: [],\n\t\t\t} as const;\n\t\tcase 'disconnected':\n\t\t\treturn {\n\t\t\t\tconnectionStatus,\n\t\t\t\tcurrentWallet: null,\n\t\t\t\tisDisconnected: true,\n\t\t\t\tisConnecting: false,\n\t\t\t\tisConnected: false,\n\t\t\t\tsupportedIntents: [],\n\t\t\t} as const;\n\t\tcase 'connected': {\n\t\t\treturn {\n\t\t\t\tconnectionStatus,\n\t\t\t\tcurrentWallet: currentWallet!,\n\t\t\t\tisDisconnected: false,\n\t\t\t\tisConnecting: false,\n\t\t\t\tisConnected: true,\n\t\t\t\tsupportedIntents,\n\t\t\t} as const;\n\t\t}\n\t}\n}\n"],
5
+ "mappings": ";AAGA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;;;ACDzB,SAAS,qBAAqB;AAIvB,IAAM,gBAAgB,cAAkC,IAAI;;;ADE5D,SAAS,eAAkB,UAAuC;AACxE,QAAM,QAAQ,WAAW,aAAa;AACtC,MAAI,CAAC,OAAO;AACX,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AACA,SAAO,SAAS,OAAO,QAAQ;AAChC;;;AETO,SAAS,mBAAmB;AAClC,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,IACzB,KAAK;AACJ,aAAO;AAAA,QACN;AAAA,QACA,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,kBAAkB,CAAC;AAAA,MACpB;AAAA,IACD,KAAK;AACJ,aAAO;AAAA,QACN;AAAA,QACA,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,kBAAkB,CAAC;AAAA,MACpB;AAAA,IACD,KAAK,aAAa;AACjB,aAAO;AAAA,QACN;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,QACb;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;",
6
+ "names": []
7
+ }
@@ -0,0 +1,9 @@
1
+ import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
2
+ import { WalletNotConnectedError } from '../../errors/walletErrors.js';
3
+ type UseDisconnectWalletError = WalletNotConnectedError | Error;
4
+ type UseDisconnectWalletMutationOptions = Omit<UseMutationOptions<void, UseDisconnectWalletError, void, unknown>, 'mutationFn'>;
5
+ /**
6
+ * Mutation hook for disconnecting from an active wallet connection, if currently connected.
7
+ */
8
+ export declare function useDisconnectWallet({ mutationKey, ...mutationOptions }?: UseDisconnectWalletMutationOptions): UseMutationResult<void, UseDisconnectWalletError, void>;
9
+ export {};