@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": ["vanilla-extract-css-ns:src/components/styling/StyleMarker.css.ts.vanilla.css?source=OndoZXJlKCopIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGNvbG9yOiB2YXIoLS1kYXBwLWtpdC1jb2xvcnMtYm9keSk7CiAgZm9udC1mYW1pbHk6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udEZhbWlseSk7CiAgZm9udC1zaXplOiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1ub3JtYWwpOwogIGZvbnQtc3R5bGU6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udFN0eWxlKTsKICBmb250LXdlaWdodDogdmFyKC0tZGFwcC1raXQtZm9udFdlaWdodHMtbm9ybWFsKTsKICBsaW5lLWhlaWdodDogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1saW5lSGVpZ2h0KTsKICBsZXR0ZXItc3BhY2luZzogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1sZXR0ZXJTcGFjaW5nKTsKfQo6d2hlcmUoYnV0dG9uKSB7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7CiAgY29sb3I6IGluaGVyaXQ7CiAgYm9yZGVyOiAwOwogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwOwp9Cjp3aGVyZShhKSB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGNvbG9yOiBpbmhlcml0OwogIG91dGxpbmU6IG5vbmU7Cn0KOndoZXJlKG9sLCB1bCkgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KOndoZXJlKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYpIHsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CiAgbWFyZ2luOiAwOwp9", "../../../src/components/styling/StyleMarker.css.ts", "../../../src/hooks/wallet/useWalletStore.ts", "../../../src/contexts/walletContext.ts", "../../../src/hooks/wallet/useCurrentAccount.ts", "../../../src/components/AccountDropdownMenu.tsx", "../../../src/hooks/useHaneulClientQuery.ts", "../../../src/hooks/useHaneulClient.ts", "../../../src/components/HaneulClientProvider.tsx", "../../../src/hooks/useResolveHaneulNSNames.ts", "../../../src/hooks/wallet/useAccounts.ts", "../../../src/hooks/wallet/useDisconnectWallet.ts", "../../../src/constants/walletMutationKeys.ts", "../../../src/errors/walletErrors.ts", "../../../src/hooks/wallet/useCurrentWallet.ts", "../../../src/hooks/wallet/useSwitchAccount.ts", "../../../src/components/AccountDropdownMenu.css.ts", "../../../src/components/icons/CheckIcon.tsx", "../../../src/components/icons/ChevronIcon.tsx", "../../../src/components/styling/StyleMarker.tsx", "../../../src/constants/styleDataAttribute.ts", "../../../src/components/ui/Button.tsx", "../../../src/components/ui/Button.css.ts", "../../../src/components/ui/Text.tsx", "../../../src/components/ui/Text.css.ts", "../../../src/components/connect-modal/ConnectModal.tsx", "../../../src/constants/walletDefaults.ts", "../../../src/utils/stateStorage.ts", "../../../src/hooks/wallet/useConnectWallet.ts", "../../../src/hooks/wallet/useWallets.ts", "../../../src/utils/walletUtils.ts", "../../../src/components/icons/BackIcon.tsx", "../../../src/components/icons/CloseIcon.tsx", "../../../src/components/ui/Heading.tsx", "../../../src/components/ui/Heading.css.ts", "../../../src/components/ui/IconButton.tsx", "../../../src/components/ui/IconButton.css.ts", "../../../src/components/connect-modal/ConnectModal.css.ts", "../../../src/components/connect-modal/views/ConnectionStatus.css.ts", "../../../src/components/connect-modal/views/ConnectionStatus.tsx", "../../../src/components/connect-modal/InfoSection.css.ts", "../../../src/components/connect-modal/InfoSection.tsx", "../../../src/components/connect-modal/views/GettingStarted.css.ts", "../../../src/components/connect-modal/views/GettingStarted.tsx", "../../../src/components/connect-modal/views/WhatIsAWallet.css.ts", "../../../src/components/connect-modal/views/WhatIsAWallet.tsx", "../../../src/components/connect-modal/wallet-list/WalletList.tsx", "../../../src/components/connect-modal/wallet-list/WalletList.css.ts", "../../../src/components/connect-modal/wallet-list/WalletListItem.tsx", "../../../src/components/connect-modal/wallet-list/WalletListItem.css.ts", "../../../src/components/ConnectButton.tsx"],
4
+ "sourcesContent": ["[data-dapp-kit]:where(*), [data-dapp-kit] :where(*) {\n box-sizing: border-box;\n color: var(--dapp-kit-colors-body);\n font-family: var(--dapp-kit-typography-fontFamily);\n font-size: var(--dapp-kit-fontWeights-normal);\n font-style: var(--dapp-kit-typography-fontStyle);\n font-weight: var(--dapp-kit-fontWeights-normal);\n line-height: var(--dapp-kit-typography-lineHeight);\n letter-spacing: var(--dapp-kit-typography-letterSpacing);\n}\n[data-dapp-kit]:where(button), [data-dapp-kit] :where(button) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-color: transparent;\n font-size: inherit;\n font-family: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n color: inherit;\n border: 0;\n padding: 0;\n margin: 0;\n}\n[data-dapp-kit]:where(a), [data-dapp-kit] :where(a) {\n text-decoration: none;\n color: inherit;\n outline: none;\n}\n[data-dapp-kit]:where(ol, ul), [data-dapp-kit] :where(ol, ul) {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n[data-dapp-kit]:where(h1, h2, h3, h4, h5, h6), [data-dapp-kit] :where(h1, h2, h3, h4, h5, h6) {\n font-size: inherit;\n font-weight: inherit;\n margin: 0;\n}", "import 'src/components/styling/StyleMarker.css.ts.vanilla.css?source=OndoZXJlKCopIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGNvbG9yOiB2YXIoLS1kYXBwLWtpdC1jb2xvcnMtYm9keSk7CiAgZm9udC1mYW1pbHk6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udEZhbWlseSk7CiAgZm9udC1zaXplOiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1ub3JtYWwpOwogIGZvbnQtc3R5bGU6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udFN0eWxlKTsKICBmb250LXdlaWdodDogdmFyKC0tZGFwcC1raXQtZm9udFdlaWdodHMtbm9ybWFsKTsKICBsaW5lLWhlaWdodDogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1saW5lSGVpZ2h0KTsKICBsZXR0ZXItc3BhY2luZzogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1sZXR0ZXJTcGFjaW5nKTsKfQo6d2hlcmUoYnV0dG9uKSB7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7CiAgY29sb3I6IGluaGVyaXQ7CiAgYm9yZGVyOiAwOwogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwOwp9Cjp3aGVyZShhKSB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGNvbG9yOiBpbmhlcml0OwogIG91dGxpbmU6IG5vbmU7Cn0KOndoZXJlKG9sLCB1bCkgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KOndoZXJlKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYpIHsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CiAgbWFyZ2luOiAwOwp9';", "// 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", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { formatAddress } from '@haneullabs/haneul/utils';\nimport type { WalletAccount } from '@haneullabs/wallet-standard';\nimport * as DropdownMenu from '@radix-ui/react-dropdown-menu';\nimport clsx from 'clsx';\n\nimport { useResolveHaneulNSName } from '../hooks/useResolveHaneulNSNames.js';\nimport { useAccounts } from '../hooks/wallet/useAccounts.js';\nimport { useDisconnectWallet } from '../hooks/wallet/useDisconnectWallet.js';\nimport { useSwitchAccount } from '../hooks/wallet/useSwitchAccount.js';\nimport * as styles from './AccountDropdownMenu.css.js';\nimport { CheckIcon } from './icons/CheckIcon.js';\nimport { ChevronIcon } from './icons/ChevronIcon.js';\nimport { StyleMarker } from './styling/StyleMarker.js';\nimport { Button } from './ui/Button.js';\nimport { Text } from './ui/Text.js';\n\ntype AccountDropdownMenuProps = {\n\tcurrentAccount: WalletAccount;\n};\n\nexport function AccountDropdownMenu({ currentAccount }: AccountDropdownMenuProps) {\n\tconst { mutate: disconnectWallet } = useDisconnectWallet();\n\n\tconst { data: domain } = useResolveHaneulNSName(\n\t\tcurrentAccount.label ? null : currentAccount.address,\n\t);\n\tconst accounts = useAccounts();\n\n\treturn (\n\t\t<DropdownMenu.Root modal={false}>\n\t\t\t<StyleMarker>\n\t\t\t\t<DropdownMenu.Trigger asChild>\n\t\t\t\t\t<Button size=\"lg\" className={styles.connectedAccount}>\n\t\t\t\t\t\t<Text mono weight=\"bold\">\n\t\t\t\t\t\t\t{currentAccount.label ?? domain ?? formatAddress(currentAccount.address)}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<ChevronIcon />\n\t\t\t\t\t</Button>\n\t\t\t\t</DropdownMenu.Trigger>\n\t\t\t</StyleMarker>\n\t\t\t<DropdownMenu.Portal>\n\t\t\t\t<StyleMarker className={styles.menuContainer}>\n\t\t\t\t\t<DropdownMenu.Content className={styles.menuContent}>\n\t\t\t\t\t\t{accounts.map((account) => (\n\t\t\t\t\t\t\t<AccountDropdownMenuItem\n\t\t\t\t\t\t\t\tkey={account.address}\n\t\t\t\t\t\t\t\taccount={account}\n\t\t\t\t\t\t\t\tactive={currentAccount.address === account.address}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t<DropdownMenu.Separator className={styles.separator} />\n\t\t\t\t\t\t<DropdownMenu.Item\n\t\t\t\t\t\t\tclassName={clsx(styles.menuItem)}\n\t\t\t\t\t\t\tonSelect={() => disconnectWallet()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tDisconnect\n\t\t\t\t\t\t</DropdownMenu.Item>\n\t\t\t\t\t</DropdownMenu.Content>\n\t\t\t\t</StyleMarker>\n\t\t\t</DropdownMenu.Portal>\n\t\t</DropdownMenu.Root>\n\t);\n}\n\nexport function AccountDropdownMenuItem({\n\taccount,\n\tactive,\n}: {\n\taccount: WalletAccount;\n\tactive?: boolean;\n}) {\n\tconst { mutate: switchAccount } = useSwitchAccount();\n\tconst { data: domain } = useResolveHaneulNSName(account.label ? null : account.address);\n\n\treturn (\n\t\t<DropdownMenu.Item\n\t\t\tclassName={clsx(styles.menuItem, styles.switchAccountMenuItem)}\n\t\t\tonSelect={() => switchAccount({ account })}\n\t\t>\n\t\t\t<Text mono>{account.label ?? domain ?? formatAddress(account.address)}</Text>\n\t\t\t{active ? <CheckIcon /> : null}\n\t\t</DropdownMenu.Item>\n\t);\n}\n", "// 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", "// 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", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport { WalletNotConnectedError } from '../../errors/walletErrors.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\nimport { useWalletStore } from './useWalletStore.js';\n\ntype UseDisconnectWalletError = WalletNotConnectedError | Error;\n\ntype UseDisconnectWalletMutationOptions = Omit<\n\tUseMutationOptions<void, UseDisconnectWalletError, void, unknown>,\n\t'mutationFn'\n>;\n\n/**\n * Mutation hook for disconnecting from an active wallet connection, if currently connected.\n */\nexport function useDisconnectWallet({\n\tmutationKey,\n\t...mutationOptions\n}: UseDisconnectWalletMutationOptions = {}): UseMutationResult<\n\tvoid,\n\tUseDisconnectWalletError,\n\tvoid\n> {\n\tconst { currentWallet } = useCurrentWallet();\n\tconst setWalletDisconnected = useWalletStore((state) => state.setWalletDisconnected);\n\n\treturn useMutation({\n\t\tmutationKey: walletMutationKeys.disconnectWallet(mutationKey),\n\t\tmutationFn: async () => {\n\t\t\tif (!currentWallet) {\n\t\t\t\tthrow new WalletNotConnectedError('No wallet is connected.');\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\t// Wallets aren't required to implement the disconnect feature, so we'll\n\t\t\t\t// optionally call the disconnect feature if it exists and reset the UI\n\t\t\t\t// state on the frontend at a minimum.\n\t\t\t\tawait currentWallet.features['standard:disconnect']?.disconnect();\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Failed to disconnect the application from the current wallet.', error);\n\t\t\t}\n\n\t\t\tsetWalletDisconnected();\n\t\t},\n\t\t...mutationOptions,\n\t});\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\n/**\n * An error that is instantiated when someone attempts to perform an action that requires an active wallet connection.\n */\nexport class WalletNotConnectedError extends Error {}\n\n/**\n * An error that is instantiated when someone attempts to perform an action that requires a selected wallet account.\n * This is more of an edge case stemming from the fact that wallets don't technically require you to authorize any\n * accounts when connecting a wallet.\n */\nexport class WalletNoAccountSelectedError extends Error {}\n\n/**\n * An error that is instantiated when someone attempts to perform an action that isn't supported by a wallet.\n */\nexport class WalletFeatureNotSupportedError extends Error {}\n\n/**\n * An error that is instantiated when a wallet account can't be found for a specific wallet.\n */\nexport class WalletAccountNotFoundError extends Error {}\n", "// Copyright (c) Mysten Labs, Inc.\n// 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 type { WalletAccount } 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 { WalletAccountNotFoundError, WalletNotConnectedError } from '../../errors/walletErrors.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\nimport { useWalletStore } from './useWalletStore.js';\n\ntype SwitchAccountArgs = {\n\taccount: WalletAccount;\n};\n\ntype SwitchAccountResult = void;\n\ntype UseSwitchAccountError = WalletNotConnectedError | WalletAccountNotFoundError | Error;\n\ntype UseSwitchAccountMutationOptions = Omit<\n\tUseMutationOptions<SwitchAccountResult, UseSwitchAccountError, SwitchAccountArgs, unknown>,\n\t'mutationFn'\n>;\n\n/**\n * Mutation hook for switching to a specific wallet account.\n */\nexport function useSwitchAccount({\n\tmutationKey,\n\t...mutationOptions\n}: UseSwitchAccountMutationOptions = {}): UseMutationResult<\n\tSwitchAccountResult,\n\tUseSwitchAccountError,\n\tSwitchAccountArgs\n> {\n\tconst { currentWallet } = useCurrentWallet();\n\tconst setAccountSwitched = useWalletStore((state) => state.setAccountSwitched);\n\n\treturn useMutation({\n\t\tmutationKey: walletMutationKeys.switchAccount(mutationKey),\n\t\tmutationFn: async ({ account }) => {\n\t\t\tif (!currentWallet) {\n\t\t\t\tthrow new WalletNotConnectedError('No wallet is connected.');\n\t\t\t}\n\n\t\t\tconst accountToSelect = currentWallet.accounts.find(\n\t\t\t\t(walletAccount) => walletAccount.address === account.address,\n\t\t\t);\n\t\t\tif (!accountToSelect) {\n\t\t\t\tthrow new WalletAccountNotFoundError(\n\t\t\t\t\t`No account with address ${account.address} is connected to ${currentWallet.name}.`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tsetAccountSwitched(accountToSelect);\n\t\t},\n\t\t...mutationOptions,\n\t});\n}\n", "import 'src/components/AccountDropdownMenu.css.ts.vanilla.css?source=#H4sIAAAAAAAAE6WTTU/DMAyG7/sVObJD0DaGNMIJxoUDJ44ITVnitWapEyUp3UD8d9KwL40NmOihlezYed7X7vmNUrameOet07ahB6B6oiwRqAh6lZxM+sPKXKhRj713GCukE2zkFtedj875ofoqvcaWokQCvynu5+I3jqRhIdjV+vm1DewQDHITjcEZuRRsZiBhsPzlGn2iRkuCKWvqitpMgzqWgvVHPZdPVnLBS8CijIINepugL5B4tEnY8CvkpNZIxUrormjGptZr8NxLjXUQ7FX6M861dI7PMeYwcpNaQjeflmpe+KRO84Rl/beC7YFxmw9c77jQ/dGe+wjVxpuL7M0+eB0SagCTrBGMLEEbtHU0aTjbwDdHpcGCOKb+SaFKIwB/qvQ/cz9pGSUv01BMOxjQz1nJ6cY5j2mUy9s6RkvHCUKDUZWrzMM+zvDwir3UIeJsmVDyRgoWnFTApxAbADpq2TEEcNLLaLe/x2W+dr2afbfd61B6pLlgvf9v0+P62tacT8dqScv8AwAA';\nexport var connectedAccount = 'AccountDropdownMenu_connectedAccount__14ml3c80';\nexport var menuContainer = 'AccountDropdownMenu_menuContainer__14ml3c81';\nexport var menuContent = 'AccountDropdownMenu_menuContent__14ml3c82';\nexport var menuItem = 'AccountDropdownMenu_menuItem__14ml3c83';\nexport var separator = 'AccountDropdownMenu_separator__14ml3c85';\nexport var switchAccountMenuItem = 'AccountDropdownMenu_switchAccountMenuItem__14ml3c84';", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentProps } from 'react';\n\nexport function CheckIcon(props: ComponentProps<'svg'>) {\n\treturn (\n\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width={16} height={16} fill=\"none\" {...props}>\n\t\t\t<path\n\t\t\t\tfill=\"currentColor\"\n\t\t\t\td=\"m11.726 5.048-4.73 5.156-1.722-1.879a.72.72 0 0 0-.529-.23.722.722 0 0 0-.525.24.858.858 0 0 0-.22.573.86.86 0 0 0 .211.576l2.255 2.458c.14.153.332.24.53.24.2 0 .391-.087.532-.24l5.261-5.735A.86.86 0 0 0 13 5.63a.858.858 0 0 0-.22-.572.722.722 0 0 0-.525-.24.72.72 0 0 0-.529.23Z\"\n\t\t\t/>\n\t\t</svg>\n\t);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentProps } from 'react';\n\nexport function ChevronIcon(props: ComponentProps<'svg'>) {\n\treturn (\n\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width={16} height={16} fill=\"none\" {...props}>\n\t\t\t<path\n\t\t\t\tstroke=\"#A0B6C3\"\n\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\tstrokeWidth={1.5}\n\t\t\t\td=\"m4 6 4 4 4-4\"\n\t\t\t/>\n\t\t</svg>\n\t);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentPropsWithoutRef, ElementRef, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport { styleDataAttribute } from '../../constants/styleDataAttribute.js';\n\nimport './StyleMarker.css.js';\n\ntype StyleMarker = {\n\tchildren: ReactNode;\n};\n\nexport const StyleMarker = forwardRef<\n\tElementRef<typeof Slot>,\n\tComponentPropsWithoutRef<typeof Slot>\n>(({ children, ...props }, forwardedRef) => (\n\t<Slot ref={forwardedRef} {...props} {...styleDataAttribute}>\n\t\t{children}\n\t</Slot>\n));\nStyleMarker.displayName = 'StyleMarker';\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nexport const styleDataAttributeName = 'data-dapp-kit';\n\nexport const styleDataAttributeSelector = `[${styleDataAttributeName}]`;\n\nexport const styleDataAttribute = { [styleDataAttributeName]: '' };\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Slot } from '@radix-ui/react-slot';\nimport clsx from 'clsx';\nimport type { ButtonHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\n\nimport { buttonVariants } from './Button.css.js';\nimport type { ButtonVariants } from './Button.css.js';\n\ntype ButtonProps = {\n\tasChild?: boolean;\n} & ButtonHTMLAttributes<HTMLButtonElement> &\n\tButtonVariants;\n\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(\n\t({ className, variant, size, asChild = false, ...props }, forwardedRef) => {\n\t\tconst Comp = asChild ? Slot : 'button';\n\t\treturn (\n\t\t\t<Comp\n\t\t\t\t{...props}\n\t\t\t\tclassName={clsx(buttonVariants({ variant, size }), className)}\n\t\t\t\tref={forwardedRef}\n\t\t\t/>\n\t\t);\n\t},\n);\nButton.displayName = 'Button';\n\nexport { Button };\n", "import 'src/components/ui/Button.css.ts.vanilla.css?source=#H4sIAAAAAAAAE62Tz1LCMBDG7zxFjnIIA4iOU2568Qn02Nk2oV1Ik5ikpdXx3U1aOoAVhNFL0/n2z+/bbTN5LJ1TMk7a4wUMgnQ2jvmbrUo2JR8jQhhaLaCJCEqBktOV4PXS6yAwkxQdL2xEUi4dN0Fel9bhqqGp8op0h6GVl+iWY5Z7uQJzQykDrekGHQ2x1zZkacEZlsV4OfocTc4bjLw5SARnrVOlIUXnnU4nd2eKq+4l1gYLME3fbNb2SCDdZEaVkvkJhDIDo/uEpxC3dNemY43DnD8XpqfSE1VTmwNT20FNJw+Lrp4tylXFzX9M+BwaXWJBlS78L72FeQdXhnFDt8hcHpGZrpd70bpG8IhYJZAdyCdMtsGdwR3q0k/wPf3qUf60zSP6r9u0+M7jgvXo28MtGvD3xA6IQcb9JSJEA2Mos4g86JrM7sPSz/NE1vMWF/MEmIwf4wKKzBf+4YFf7hw83GsEAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var buttonVariants = _7a468({defaultClassName:'Button_buttonVariants__eqsvud0',variantClassNames:{variant:{primary:'Button_buttonVariants_variant_primary__eqsvud1',outline:'Button_buttonVariants_variant_outline__eqsvud2'},size:{md:'Button_buttonVariants_size_md__eqsvud3',lg:'Button_buttonVariants_size_lg__eqsvud4'}},defaultVariants:{variant:'primary',size:'md'},compoundVariants:[]});", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Slot } from '@radix-ui/react-slot';\nimport clsx from 'clsx';\nimport { forwardRef } from 'react';\n\nimport { textVariants } from './Text.css.js';\nimport type { TextVariants } from './Text.css.js';\n\ntype TextAsChildProps = {\n\tasChild?: boolean;\n\tas?: never;\n};\n\ntype TextDivProps = { as: 'div'; asChild?: never };\n\ntype TextProps = (TextAsChildProps | TextDivProps) &\n\tReact.HTMLAttributes<HTMLDivElement> &\n\tTextVariants;\n\nconst Text = forwardRef<HTMLDivElement, TextProps>(\n\t(\n\t\t{\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tasChild = false,\n\t\t\tas: Tag = 'div',\n\t\t\tsize,\n\t\t\tweight,\n\t\t\tcolor,\n\t\t\tmono,\n\t\t\t...textProps\n\t\t},\n\t\tforwardedRef,\n\t) => {\n\t\treturn (\n\t\t\t<Slot\n\t\t\t\t{...textProps}\n\t\t\t\tref={forwardedRef}\n\t\t\t\tclassName={clsx(textVariants({ size, weight, color, mono }), className)}\n\t\t\t>\n\t\t\t\t{asChild ? children : <Tag>{children}</Tag>}\n\t\t\t</Slot>\n\t\t);\n\t},\n);\nText.displayName = 'Text';\n\nexport { Text };\n", "import 'src/components/ui/Text.css.ts.vanilla.css?source=LlRleHRfdGV4dFZhcmlhbnRzX3NpemVfc21fXzFxcWJyMDIxIHsKICBmb250LXNpemU6IHZhcigtLWRhcHAta2l0LWZvbnRTaXplcy1zbWFsbCk7Cn0KLlRleHRfdGV4dFZhcmlhbnRzX3dlaWdodF9ub3JtYWxfXzFxcWJyMDIyIHsKICBmb250LXdlaWdodDogdmFyKC0tZGFwcC1raXQtZm9udFdlaWdodHMtbm9ybWFsKTsKfQouVGV4dF90ZXh0VmFyaWFudHNfd2VpZ2h0X21lZGl1bV9fMXFxYnIwMjMgewogIGZvbnQtd2VpZ2h0OiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1tZWRpdW0pOwp9Ci5UZXh0X3RleHRWYXJpYW50c193ZWlnaHRfYm9sZF9fMXFxYnIwMjQgewogIGZvbnQtd2VpZ2h0OiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1ib2xkKTsKfQouVGV4dF90ZXh0VmFyaWFudHNfY29sb3JfbXV0ZWRfXzFxcWJyMDI1IHsKICBjb2xvcjogdmFyKC0tZGFwcC1raXQtY29sb3JzLWJvZHlNdXRlZCk7Cn0KLlRleHRfdGV4dFZhcmlhbnRzX2NvbG9yX2Rhbmdlcl9fMXFxYnIwMjYgewogIGNvbG9yOiB2YXIoLS1kYXBwLWtpdC1jb2xvcnMtYm9keURhbmdlcik7Cn0KLlRleHRfdGV4dFZhcmlhbnRzX21vbm9fdHJ1ZV9fMXFxYnIwMjcgewogIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgIkxpYmVyYXRpb24gTW9ubyIsICJDb3VyaWVyIE5ldyIsIG1vbm9zcGFjZTsKfQ==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var textVariants = _7a468({defaultClassName:'Text__1qqbr020',variantClassNames:{size:{sm:'Text_textVariants_size_sm__1qqbr021'},weight:{normal:'Text_textVariants_weight_normal__1qqbr022',medium:'Text_textVariants_weight_medium__1qqbr023',bold:'Text_textVariants_weight_bold__1qqbr024'},color:{muted:'Text_textVariants_color_muted__1qqbr025',danger:'Text_textVariants_color_danger__1qqbr026'},mono:{true:'Text_textVariants_mono_true__1qqbr027'}},defaultVariants:{size:'sm',weight:'normal'},compoundVariants:[]});", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletWithRequiredFeatures } from '@haneullabs/wallet-standard';\nimport * as Dialog from '@radix-ui/react-dialog';\nimport clsx from 'clsx';\nimport { useState } from 'react';\nimport type { ReactNode } from 'react';\n\nimport { DEFAULT_WALLET_FILTER } from '../../constants/walletDefaults.js';\nimport { useConnectWallet } from '../../hooks/wallet/useConnectWallet.js';\nimport { useWallets } from '../../hooks/wallet/useWallets.js';\nimport { getWalletUniqueIdentifier } from '../../utils/walletUtils.js';\nimport { BackIcon } from '../icons/BackIcon.js';\nimport { CloseIcon } from '../icons/CloseIcon.js';\nimport { StyleMarker } from '../styling/StyleMarker.js';\nimport { Heading } from '../ui/Heading.js';\nimport { IconButton } from '../ui/IconButton.js';\nimport * as styles from './ConnectModal.css.js';\nimport { ConnectionStatus } from './views/ConnectionStatus.js';\nimport { GettingStarted } from './views/GettingStarted.js';\nimport { WhatIsAWallet } from './views/WhatIsAWallet.js';\nimport { WalletList } from './wallet-list/WalletList.js';\n\ntype ConnectModalView = 'getting-started' | 'what-is-a-wallet' | 'connection-status';\n\ntype ControlledModalProps = {\n\t/** The controlled open state of the dialog. */\n\topen: boolean;\n\n\t/** Event handler called when the open state of the dialog changes. */\n\tonOpenChange: (open: boolean) => void;\n\n\tdefaultOpen?: never;\n};\n\ntype UncontrolledModalProps = {\n\topen?: never;\n\n\tonOpenChange?: never;\n\n\t/** The open state of the dialog when it is initially rendered. Use when you do not need to control its open state. */\n\tdefaultOpen?: boolean;\n};\n\ntype ConnectModalProps = {\n\t/** The trigger button that opens the dialog. */\n\ttrigger: NonNullable<ReactNode>;\n\n\t/** Filter the wallets shown in the modal. */\n\twalletFilter?: (wallet: WalletWithRequiredFeatures) => boolean;\n} & (ControlledModalProps | UncontrolledModalProps);\n\nexport function ConnectModal({\n\ttrigger,\n\topen,\n\tdefaultOpen,\n\tonOpenChange,\n\twalletFilter = DEFAULT_WALLET_FILTER,\n}: ConnectModalProps) {\n\tconst [isModalOpen, setModalOpen] = useState(open ?? defaultOpen);\n\tconst [currentView, setCurrentView] = useState<ConnectModalView>();\n\tconst [selectedWallet, setSelectedWallet] = useState<WalletWithRequiredFeatures>();\n\n\tconst wallets = useWallets().filter(walletFilter);\n\tconst { mutate, isError } = useConnectWallet();\n\n\tconst resetSelection = () => {\n\t\tsetSelectedWallet(undefined);\n\t\tsetCurrentView(undefined);\n\t};\n\n\tconst handleOpenChange = (open: boolean) => {\n\t\tif (!open) {\n\t\t\tresetSelection();\n\t\t}\n\t\tsetModalOpen(open);\n\t\tonOpenChange?.(open);\n\t};\n\n\tconst connectWallet = (wallet: WalletWithRequiredFeatures) => {\n\t\tsetCurrentView('connection-status');\n\t\tmutate(\n\t\t\t{ wallet },\n\t\t\t{\n\t\t\t\tonSuccess: () => handleOpenChange(false),\n\t\t\t},\n\t\t);\n\t};\n\n\tlet modalContent: ReactNode | undefined;\n\tswitch (currentView) {\n\t\tcase 'what-is-a-wallet':\n\t\t\tmodalContent = <WhatIsAWallet />;\n\t\t\tbreak;\n\t\tcase 'getting-started':\n\t\t\tmodalContent = <GettingStarted />;\n\t\t\tbreak;\n\t\tcase 'connection-status':\n\t\t\tmodalContent = (\n\t\t\t\t<ConnectionStatus\n\t\t\t\t\tselectedWallet={selectedWallet!}\n\t\t\t\t\thadConnectionError={isError}\n\t\t\t\t\tonRetryConnection={connectWallet}\n\t\t\t\t/>\n\t\t\t);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tmodalContent = <WhatIsAWallet />;\n\t}\n\n\treturn (\n\t\t<Dialog.Root open={open ?? isModalOpen} onOpenChange={handleOpenChange}>\n\t\t\t<Dialog.Trigger asChild>{trigger}</Dialog.Trigger>\n\t\t\t<Dialog.Portal>\n\t\t\t\t<StyleMarker>\n\t\t\t\t\t<Dialog.Overlay className={styles.overlay}>\n\t\t\t\t\t\t<Dialog.Content className={styles.content} aria-describedby={undefined}>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={clsx(styles.walletListContainer, {\n\t\t\t\t\t\t\t\t\t[styles.walletListContainerWithViewSelected]: !!currentView,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className={styles.walletListContent}>\n\t\t\t\t\t\t\t\t\t<Dialog.Title className={styles.title} asChild>\n\t\t\t\t\t\t\t\t\t\t<Heading as=\"h2\">Connect a Wallet</Heading>\n\t\t\t\t\t\t\t\t\t</Dialog.Title>\n\t\t\t\t\t\t\t\t\t<WalletList\n\t\t\t\t\t\t\t\t\t\twallets={wallets}\n\t\t\t\t\t\t\t\t\t\tselectedWalletName={getWalletUniqueIdentifier(selectedWallet)}\n\t\t\t\t\t\t\t\t\t\tonPlaceholderClick={() => setCurrentView('getting-started')}\n\t\t\t\t\t\t\t\t\t\tonSelect={(wallet) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tgetWalletUniqueIdentifier(selectedWallet) !==\n\t\t\t\t\t\t\t\t\t\t\t\tgetWalletUniqueIdentifier(wallet)\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\tsetSelectedWallet(wallet);\n\t\t\t\t\t\t\t\t\t\t\t\tconnectWallet(wallet);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tclassName={styles.whatIsAWalletButton}\n\t\t\t\t\t\t\t\t\tonClick={() => setCurrentView('what-is-a-wallet')}\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tWhat is a Wallet?\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={clsx(styles.viewContainer, {\n\t\t\t\t\t\t\t\t\t[styles.selectedViewContainer]: !!currentView,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className={styles.backButtonContainer}>\n\t\t\t\t\t\t\t\t\t<IconButton type=\"button\" aria-label=\"Back\" onClick={() => resetSelection()}>\n\t\t\t\t\t\t\t\t\t\t<BackIcon />\n\t\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{modalContent}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<Dialog.Close className={styles.closeButtonContainer} asChild>\n\t\t\t\t\t\t\t\t<IconButton type=\"button\" aria-label=\"Close\">\n\t\t\t\t\t\t\t\t\t<CloseIcon />\n\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t</Dialog.Close>\n\t\t\t\t\t\t</Dialog.Content>\n\t\t\t\t\t</Dialog.Overlay>\n\t\t\t\t</StyleMarker>\n\t\t\t</Dialog.Portal>\n\t\t</Dialog.Root>\n\t);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { HaneulWalletFeatures, WalletWithRequiredFeatures } from '@haneullabs/wallet-standard';\nimport { SLUSH_WALLET_NAME } from '@haneullabs/slush-wallet';\n\nimport { createInMemoryStore } from '../utils/stateStorage.js';\n\nexport const SUI_WALLET_NAME = 'Sui Wallet';\n\nexport const DEFAULT_STORAGE =\n\ttypeof window !== 'undefined' && window.localStorage ? localStorage : createInMemoryStore();\n\nexport const DEFAULT_STORAGE_KEY = 'sui-dapp-kit:wallet-connection-info';\n\nconst SIGN_FEATURES = [\n\t'sui:signTransaction',\n\t'sui:signTransactionBlock',\n] satisfies (keyof HaneulWalletFeatures)[];\n\nexport const DEFAULT_WALLET_FILTER = (wallet: WalletWithRequiredFeatures) =>\n\tSIGN_FEATURES.some((feature) => wallet.features[feature]);\n\nexport const DEFAULT_PREFERRED_WALLETS = [SUI_WALLET_NAME, SLUSH_WALLET_NAME];\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { StateStorage } from 'zustand/middleware';\n\nexport function createInMemoryStore(): StateStorage {\n\tconst store = new Map();\n\treturn {\n\t\tgetItem(key: string) {\n\t\t\treturn store.get(key);\n\t\t},\n\t\tsetItem(key: string, value: string) {\n\t\t\tstore.set(key, value);\n\t\t},\n\t\tremoveItem(key: string) {\n\t\t\tstore.delete(key);\n\t\t},\n\t};\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 { 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", "// 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 { ComponentProps } from 'react';\n\n// FIXME: Replace this with a 10x10 icon to match the CheckIcon, or alternatively make the CheckIcon bigger\n// Right now, the icons don't align on mobile :(\nexport function BackIcon(props: ComponentProps<'svg'>) {\n\treturn (\n\t\t<svg width={24} height={24} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t\t<path\n\t\t\t\td=\"M7.57 12.262c0 .341.13.629.403.895l5.175 5.059c.204.205.45.307.751.307.609 0 1.101-.485 1.101-1.087 0-.293-.123-.574-.349-.8L10.14 12.27l4.511-4.375A1.13 1.13 0 0 0 15 7.087C15 6.485 14.508 6 13.9 6c-.295 0-.54.103-.752.308l-5.175 5.058c-.28.28-.404.56-.404.896Z\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t/>\n\t\t</svg>\n\t);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentProps } from 'react';\n\nexport function CloseIcon(props: ComponentProps<'svg'>) {\n\treturn (\n\t\t<svg width={10} height={10} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t\t<path\n\t\t\t\td=\"M9.708.292a.999.999 0 0 0-1.413 0l-3.289 3.29L1.717.291A.999.999 0 0 0 .305 1.705l3.289 3.289-3.29 3.289a.999.999 0 1 0 1.413 1.412l3.29-3.289 3.288 3.29a.999.999 0 0 0 1.413-1.413l-3.29-3.29 3.29-3.288a.999.999 0 0 0 0-1.413Z\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t/>\n\t\t</svg>\n\t);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Slot } from '@radix-ui/react-slot';\nimport clsx from 'clsx';\nimport { forwardRef } from 'react';\n\nimport { headingVariants } from './Heading.css.js';\nimport type { HeadingVariants } from './Heading.css.js';\n\ntype HeadingAsChildProps = {\n\tasChild?: boolean;\n\tas?: never;\n};\n\ntype HeadingAsProps = {\n\tas?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\tasChild?: never;\n};\n\ntype HeadingProps = (HeadingAsChildProps | HeadingAsProps) &\n\tReact.HTMLAttributes<HTMLHeadingElement> &\n\tHeadingVariants;\n\nconst Heading = forwardRef<HTMLHeadingElement, HeadingProps>(\n\t(\n\t\t{\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tasChild = false,\n\t\t\tas: Tag = 'h1',\n\t\t\tsize,\n\t\t\tweight,\n\t\t\ttruncate,\n\t\t\t...headingProps\n\t\t},\n\t\tforwardedRef,\n\t) => {\n\t\treturn (\n\t\t\t<Slot\n\t\t\t\t{...headingProps}\n\t\t\t\tref={forwardedRef}\n\t\t\t\tclassName={clsx(headingVariants({ size, weight, truncate }), className)}\n\t\t\t>\n\t\t\t\t{asChild ? children : <Tag>{children}</Tag>}\n\t\t\t</Slot>\n\t\t);\n\t},\n);\nHeading.displayName = 'Heading';\n\nexport { Heading };\n", "import 'src/components/ui/Heading.css.ts.vanilla.css?source=LkhlYWRpbmdfaGVhZGluZ1ZhcmlhbnRzX3NpemVfc21fX3J5cTg1czEgewogIGZvbnQtc2l6ZTogdmFyKC0tZGFwcC1raXQtZm9udFNpemVzLXNtYWxsKTsKfQouSGVhZGluZ19oZWFkaW5nVmFyaWFudHNfc2l6ZV9tZF9fcnlxODVzMiB7CiAgZm9udC1zaXplOiB2YXIoLS1kYXBwLWtpdC1mb250U2l6ZXMtbWVkaXVtKTsKfQouSGVhZGluZ19oZWFkaW5nVmFyaWFudHNfc2l6ZV9sZ19fcnlxODVzMyB7CiAgZm9udC1zaXplOiB2YXIoLS1kYXBwLWtpdC1mb250U2l6ZXMtbGFyZ2UpOwp9Ci5IZWFkaW5nX2hlYWRpbmdWYXJpYW50c19zaXplX3hsX19yeXE4NXM0IHsKICBmb250LXNpemU6IHZhcigtLWRhcHAta2l0LWZvbnRTaXplcy14bGFyZ2UpOwp9Ci5IZWFkaW5nX2hlYWRpbmdWYXJpYW50c193ZWlnaHRfbm9ybWFsX19yeXE4NXM1IHsKICBmb250LXdlaWdodDogdmFyKC0tZGFwcC1raXQtZm9udFdlaWdodHMtbm9ybWFsKTsKfQouSGVhZGluZ19oZWFkaW5nVmFyaWFudHNfd2VpZ2h0X2JvbGRfX3J5cTg1czYgewogIGZvbnQtd2VpZ2h0OiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1ib2xkKTsKfQouSGVhZGluZ19oZWFkaW5nVmFyaWFudHNfdHJ1bmNhdGVfdHJ1ZV9fcnlxODVzNyB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var headingVariants = _7a468({defaultClassName:'Heading__ryq85s0',variantClassNames:{size:{sm:'Heading_headingVariants_size_sm__ryq85s1',md:'Heading_headingVariants_size_md__ryq85s2',lg:'Heading_headingVariants_size_lg__ryq85s3',xl:'Heading_headingVariants_size_xl__ryq85s4'},weight:{normal:'Heading_headingVariants_weight_normal__ryq85s5',bold:'Heading_headingVariants_weight_bold__ryq85s6'},truncate:{true:'Heading_headingVariants_truncate_true__ryq85s7'}},defaultVariants:{size:'lg',weight:'bold'},compoundVariants:[]});", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Slot } from '@radix-ui/react-slot';\nimport clsx from 'clsx';\nimport type { ButtonHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\n\nimport * as styles from './IconButton.css.js';\n\ntype IconButtonProps = {\n\tasChild?: boolean;\n\t'aria-label': string;\n} & ButtonHTMLAttributes<HTMLButtonElement>;\n\nconst IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n\t({ className, asChild = false, ...props }, forwardedRef) => {\n\t\tconst Comp = asChild ? Slot : 'button';\n\t\treturn <Comp {...props} className={clsx(styles.container, className)} ref={forwardedRef} />;\n\t},\n);\nIconButton.displayName = 'Button';\n\nexport { IconButton };\n", "import 'src/components/ui/IconButton.css.ts.vanilla.css?source=Lkljb25CdXR0b25fY29udGFpbmVyX19leWhtY2IwIHsKICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgcGFkZGluZzogOHB4OwogIGNvbG9yOiB2YXIoLS1kYXBwLWtpdC1jb2xvcnMtaWNvbkJ1dHRvbik7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFwcC1raXQtYmFja2dyb3VuZENvbG9ycy1pY29uQnV0dG9uKTsKfQouSWNvbkJ1dHRvbl9jb250YWluZXJfX2V5aG1jYjA6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcHAta2l0LWJhY2tncm91bmRDb2xvcnMtaWNvbkJ1dHRvbkhvdmVyKTsKfQ==';\nexport var container = 'IconButton_container__eyhmcb0';", "import 'src/components/connect-modal/ConnectModal.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61UTW8aMRC98yt8qZRIdbSkgZDl0janSq1aKVJzRGY9sFOMvbW9QFrx32t7PwhZh0VKOSzr8frNzHtvfHWvpITMflOciZnagBbsaTYbbsbwe1sm5O+AkDnLVkutSslppoTSKdkwfUEpZ0VBV2jp4YN7v2/o2qN9r8AupzUE16qgCxQWIgiijB0rlEGLSqZkgTvgPoTSgE1J4t//UJQcdim5a37TwX5wddSSRSugbWgYGioY5yiXVMDCQU2KXfdYpqQFaduD129h4ofGNdM1E0pz0FQzjqXpnPdhpDvB9BLC5/E0WQU+V/xVnubKWrVOyXDs2yOk6rVZaVzmz5YcTeE4d8cFhID/pxy14yPAuoTlWvqdX6WxuHiiNUEpMQXLgM7BbgHCF95EC6G2KcmR8yq2RklzqJKOkk0eYmzXxiajQ2yL3OYpuU2SmDDbnNkv5tMjEwLs59I1KVuRPrxFpAdwLfFGptoiDUUvq9ggbF3AMpSg2/w3IX9LplQSjrCuk+LArqvAUTTsYhsQ7h34z2iO0XGOSrCXEL7DipsuwLgagdYxbG6cuDZUalVxqLJyzHVUhUwoA69luO3LEHVhR+ig8Fc09v7FLE5iFJzy7DHfhCyZb/OmKqKjzpuH/HQnx1zdxXvpn7Jzuz2jmEe0uTfbQ228tjgW8/N+8HENHBkxmXa1ECY5ufDz3czt2F2ol+HkOVdqtxNX+TRs1IDDJHlXBYJ5Rs2q8me7tJpJs1Da3XnhVTALF9Rtvyf+GaZ63ymq/zqJDHQX5tR9EJG3C9A/sWfV0Tc0/+l27Esc8/gJocPGnBk0fizrMTwycvIsYnKNclXHzqqkx+BRgfb/AA3LsUsaCQAA';\nexport var backButtonContainer = 'ConnectModal_backButtonContainer__1v6eqwu6';\nexport var closeButtonContainer = 'ConnectModal_closeButtonContainer__1v6eqwu7';\nexport var content = 'ConnectModal_content__1v6eqwu2';\nexport var overlay = 'ConnectModal_overlay__1v6eqwu0';\nexport var selectedViewContainer = 'ConnectModal_selectedViewContainer__1v6eqwu5';\nexport var title = 'ConnectModal_title__1v6eqwu1';\nexport var viewContainer = 'ConnectModal_viewContainer__1v6eqwu4';\nexport var walletListContainer = 'ConnectModal_walletListContainer__1v6eqwu9';\nexport var walletListContainerWithViewSelected = 'ConnectModal_walletListContainerWithViewSelected__1v6eqwua';\nexport var walletListContent = 'ConnectModal_walletListContent__1v6eqwu8';\nexport var whatIsAWalletButton = 'ConnectModal_whatIsAWalletButton__1v6eqwu3';", "import 'src/components/connect-modal/views/ConnectionStatus.css.ts.vanilla.css?source=LkNvbm5lY3Rpb25TdGF0dXNfY29udGFpbmVyX18xMmx1dTcwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICB3aWR0aDogMTAwJTsKfQouQ29ubmVjdGlvblN0YXR1c193YWxsZXRJY29uX18xMmx1dTcxIHsKICBvYmplY3QtZml0OiBjb3ZlcjsKICB3aWR0aDogNzJweDsKICBoZWlnaHQ6IDcycHg7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZGFwcC1raXQtcmFkaWktbGFyZ2UpOwp9Ci5Db25uZWN0aW9uU3RhdHVzX3RpdGxlX18xMmx1dTcyIHsKICBtYXJnaW4tdG9wOiAxMnB4Owp9Ci5Db25uZWN0aW9uU3RhdHVzX2Nvbm5lY3Rpb25TdGF0dXNfXzEybHV1NzMgewogIG1hcmdpbi10b3A6IDRweDsKfQouQ29ubmVjdGlvblN0YXR1c19yZXRyeUJ1dHRvbkNvbnRhaW5lcl9fMTJsdXU3NCB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGJvdHRvbTogMjBweDsKICByaWdodDogMjBweDsKfQ==';\nexport var connectionStatus = 'ConnectionStatus_connectionStatus__12luu73';\nexport var container = 'ConnectionStatus_container__12luu70';\nexport var retryButtonContainer = 'ConnectionStatus_retryButtonContainer__12luu74';\nexport var title = 'ConnectionStatus_title__12luu72';\nexport var walletIcon = 'ConnectionStatus_walletIcon__12luu71';", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletWithRequiredFeatures } from '@haneullabs/wallet-standard';\n\nimport { Button } from '../../ui/Button.js';\nimport { Heading } from '../../ui/Heading.js';\nimport { Text } from '../../ui/Text.js';\nimport * as styles from './ConnectionStatus.css.js';\n\ntype ConnectionStatusProps = {\n\tselectedWallet: WalletWithRequiredFeatures;\n\thadConnectionError: boolean;\n\tonRetryConnection: (selectedWallet: WalletWithRequiredFeatures) => void;\n};\n\nexport function ConnectionStatus({\n\tselectedWallet,\n\thadConnectionError,\n\tonRetryConnection,\n}: ConnectionStatusProps) {\n\treturn (\n\t\t<div className={styles.container}>\n\t\t\t{selectedWallet.icon && (\n\t\t\t\t<img\n\t\t\t\t\tclassName={styles.walletIcon}\n\t\t\t\t\tsrc={selectedWallet.icon}\n\t\t\t\t\talt={`${selectedWallet.name} logo`}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<div className={styles.title}>\n\t\t\t\t<Heading as=\"h2\" size=\"xl\">\n\t\t\t\t\tOpening {selectedWallet.name}\n\t\t\t\t</Heading>\n\t\t\t</div>\n\t\t\t<div className={styles.connectionStatus}>\n\t\t\t\t{hadConnectionError ? (\n\t\t\t\t\t<Text color=\"danger\">Connection failed</Text>\n\t\t\t\t) : (\n\t\t\t\t\t<Text color=\"muted\">Confirm connection in the wallet...</Text>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{hadConnectionError ? (\n\t\t\t\t<div className={styles.retryButtonContainer}>\n\t\t\t\t\t<Button type=\"button\" variant=\"outline\" onClick={() => onRetryConnection(selectedWallet)}>\n\t\t\t\t\t\tRetry Connection\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</div>\n\t);\n}\n", "import 'src/components/connect-modal/InfoSection.css.ts.vanilla.css?source=LkluZm9TZWN0aW9uX2NvbnRhaW5lcl9fMXNwamJ5aDAgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBnYXA6IDRweDsKfQ==';\nexport var container = 'InfoSection_container__1spjbyh0';", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Heading } from '../ui/Heading.js';\nimport { Text } from '../ui/Text.js';\nimport * as styles from './InfoSection.css.js';\n\ntype InfoSectionProps = {\n\ttitle: string;\n\tchildren: string;\n};\n\nexport function InfoSection({ title, children }: InfoSectionProps) {\n\treturn (\n\t\t<section className={styles.container}>\n\t\t\t<Heading as=\"h3\" size=\"sm\" weight=\"normal\">\n\t\t\t\t{title}\n\t\t\t</Heading>\n\t\t\t<Text weight=\"medium\" color=\"muted\">\n\t\t\t\t{children}\n\t\t\t</Text>\n\t\t</section>\n\t);\n}\n", "import 'src/components/connect-modal/views/GettingStarted.css.ts.vanilla.css?source=LkdldHRpbmdTdGFydGVkX2NvbnRhaW5lcl9fdWhqMTF0MCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLkdldHRpbmdTdGFydGVkX2NvbnRlbnRfX3VoajExdDEgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBmbGV4LWdyb3c6IDE7CiAgZ2FwOiAyMHB4OwogIHBhZGRpbmc6IDQwcHg7Cn0KLkdldHRpbmdTdGFydGVkX2luc3RhbGxCdXR0b25Db250YWluZXJfX3VoajExdDIgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBib3R0b206IDIwcHg7CiAgcmlnaHQ6IDIwcHg7Cn0=';\nexport var container = 'GettingStarted_container__uhj11t0';\nexport var content = 'GettingStarted_content__uhj11t1';\nexport var installButtonContainer = 'GettingStarted_installButtonContainer__uhj11t2';", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Button } from '../../ui/Button.js';\nimport { Heading } from '../../ui/Heading.js';\nimport { InfoSection } from '../InfoSection.js';\nimport * as styles from './GettingStarted.css.js';\n\nexport function GettingStarted() {\n\treturn (\n\t\t<div className={styles.container}>\n\t\t\t<Heading as=\"h2\">Get Started with Sui</Heading>\n\t\t\t<div className={styles.content}>\n\t\t\t\t<InfoSection title=\"Install the Slush Extension\">\n\t\t\t\t\tWe recommend pinning Slush to your taskbar for quicker access.\n\t\t\t\t</InfoSection>\n\t\t\t\t<InfoSection title=\"Create or Import a Wallet\">\n\t\t\t\t\tBe sure to back up your wallet using a secure method. Never share your secret phrase with\n\t\t\t\t\tanyone.\n\t\t\t\t</InfoSection>\n\t\t\t\t<InfoSection title=\"Refresh Your Browser\">\n\t\t\t\t\tOnce you set up your wallet, refresh this window browser to load up the extension.\n\t\t\t\t</InfoSection>\n\t\t\t\t<div className={styles.installButtonContainer}>\n\t\t\t\t\t<Button variant=\"outline\" asChild>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"https://chromewebstore.google.com/detail/slush-%E2%80%94-a-sui-wallet/opcgpfmipidbgpenhmajoajpbobppdi\"\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\trel=\"noreferrer\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tInstall Wallet Extension\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n", "import 'src/components/connect-modal/views/WhatIsAWallet.css.ts.vanilla.css?source=LldoYXRJc0FXYWxsZXRfY29udGFpbmVyX18xaWQ1a25uMCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLldoYXRJc0FXYWxsZXRfY29udGVudF9fMWlkNWtubjEgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBmbGV4LWdyb3c6IDE7CiAgZ2FwOiAyMHB4OwogIHBhZGRpbmc6IDQwcHg7Cn0=';\nexport var container = 'WhatIsAWallet_container__1id5knn0';\nexport var content = 'WhatIsAWallet_content__1id5knn1';", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Heading } from '../../ui/Heading.js';\nimport { InfoSection } from '../InfoSection.js';\nimport * as styles from './WhatIsAWallet.css.js';\n\nexport function WhatIsAWallet() {\n\treturn (\n\t\t<div className={styles.container}>\n\t\t\t<Heading as=\"h2\">What is a Wallet</Heading>\n\t\t\t<div className={styles.content}>\n\t\t\t\t<InfoSection title=\"Easy Login\">\n\t\t\t\t\tNo need to create new accounts and passwords for every website. Just connect your wallet\n\t\t\t\t\tand get going.\n\t\t\t\t</InfoSection>\n\t\t\t\t<InfoSection title=\"Store your Digital Assets\">\n\t\t\t\t\tSend, receive, store, and display your digital assets like NFTs & coins.\n\t\t\t\t</InfoSection>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletWithRequiredFeatures } from '@haneullabs/wallet-standard';\nimport { SLUSH_WALLET_NAME, SLUSH_WALLET_ICON } from '@haneullabs/slush-wallet';\n\nimport { getWalletUniqueIdentifier } from '../../../utils/walletUtils.js';\nimport * as styles from './WalletList.css.js';\nimport { WalletListItem } from './WalletListItem.js';\n\ntype WalletListProps = {\n\tselectedWalletName?: string;\n\tonPlaceholderClick: () => void;\n\tonSelect: (wallet: WalletWithRequiredFeatures) => void;\n\twallets: WalletWithRequiredFeatures[];\n};\n\nexport function WalletList({\n\tselectedWalletName,\n\tonPlaceholderClick,\n\tonSelect,\n\twallets,\n}: WalletListProps) {\n\treturn (\n\t\t<ul className={styles.container}>\n\t\t\t{wallets.length > 0 ? (\n\t\t\t\twallets.map((wallet) => (\n\t\t\t\t\t<WalletListItem\n\t\t\t\t\t\tkey={getWalletUniqueIdentifier(wallet)}\n\t\t\t\t\t\tname={wallet.name}\n\t\t\t\t\t\ticon={wallet.icon}\n\t\t\t\t\t\tisSelected={getWalletUniqueIdentifier(wallet) === selectedWalletName}\n\t\t\t\t\t\tonClick={() => onSelect(wallet)}\n\t\t\t\t\t/>\n\t\t\t\t))\n\t\t\t) : (\n\t\t\t\t<WalletListItem\n\t\t\t\t\tname={SLUSH_WALLET_NAME}\n\t\t\t\t\ticon={SLUSH_WALLET_ICON}\n\t\t\t\t\tonClick={onPlaceholderClick}\n\t\t\t\t\tisSelected\n\t\t\t\t/>\n\t\t\t)}\n\t\t</ul>\n\t);\n}\n", "import 'src/components/connect-modal/wallet-list/WalletList.css.ts.vanilla.css?source=LldhbGxldExpc3RfY29udGFpbmVyX182ZTlrN2swIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiA0cHg7Cn0=';\nexport var container = 'WalletList_container__6e9k7k0';", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { clsx } from 'clsx';\nimport type { ReactNode } from 'react';\n\nimport { Heading } from '../../ui/Heading.js';\nimport * as styles from './WalletListItem.css.js';\n\ntype WalletListItemProps = {\n\tname: string;\n\ticon: ReactNode;\n\tisSelected?: boolean;\n\tonClick: () => void;\n};\n\nexport function WalletListItem({ name, icon, onClick, isSelected = false }: WalletListItemProps) {\n\treturn (\n\t\t<li className={styles.container}>\n\t\t\t<button\n\t\t\t\tclassName={clsx(styles.walletItem, { [styles.selectedWalletItem]: isSelected })}\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={onClick}\n\t\t\t>\n\t\t\t\t{icon && typeof icon === 'string' ? (\n\t\t\t\t\t<img className={styles.walletIcon} src={icon} alt={`${name} logo`} />\n\t\t\t\t) : (\n\t\t\t\t\ticon\n\t\t\t\t)}\n\t\t\t\t<Heading size=\"md\" truncate asChild>\n\t\t\t\t\t<div>{name}</div>\n\t\t\t\t</Heading>\n\t\t\t</button>\n\t\t</li>\n\t);\n}\n", "import 'src/components/connect-modal/wallet-list/WalletListItem.css.ts.vanilla.css?source=LldhbGxldExpc3RJdGVtX2NvbnRhaW5lcl9fMWs5c2ZlOTAgewogIGRpc3BsYXk6IGZsZXg7Cn0KLldhbGxldExpc3RJdGVtX3dhbGxldEl0ZW1fXzFrOXNmZTkxIHsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZmxleC1ncm93OiAxOwogIHBhZGRpbmc6IDhweDsKICBnYXA6IDhweDsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1kYXBwLWtpdC1yYWRpaS1sYXJnZSk7Cn0KLldhbGxldExpc3RJdGVtX3dhbGxldEl0ZW1fXzFrOXNmZTkxOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXBwLWtpdC1iYWNrZ3JvdW5kQ29sb3JzLXdhbGxldEl0ZW1Ib3Zlcik7Cn0KLldhbGxldExpc3RJdGVtX3NlbGVjdGVkV2FsbGV0SXRlbV9fMWs5c2ZlOTIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcHAta2l0LWJhY2tncm91bmRDb2xvcnMtd2FsbGV0SXRlbVNlbGVjdGVkKTsKICBib3gtc2hhZG93OiAwcHggMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMDUpOwp9Ci5XYWxsZXRMaXN0SXRlbV93YWxsZXRJY29uX18xazlzZmU5MyB7CiAgd2lkdGg6IDI4cHg7CiAgaGVpZ2h0OiAyOHB4OwogIGZsZXgtc2hyaW5rOiAwOwogIG9iamVjdC1maXQ6IGNvdmVyOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWRhcHAta2l0LXJhZGlpLXNtYWxsKTsKfQ==';\nexport var container = 'WalletListItem_container__1k9sfe90';\nexport var selectedWalletItem = 'WalletListItem_selectedWalletItem__1k9sfe92';\nexport var walletIcon = 'WalletListItem_walletIcon__1k9sfe93';\nexport var walletItem = 'WalletListItem_walletItem__1k9sfe91';", "// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletWithRequiredFeatures } from '@haneullabs/wallet-standard';\nimport type { ButtonHTMLAttributes, ReactNode } from 'react';\n\nimport { useCurrentAccount } from '../hooks/wallet/useCurrentAccount.js';\nimport { AccountDropdownMenu } from './AccountDropdownMenu.js';\nimport { ConnectModal } from './connect-modal/ConnectModal.js';\nimport { StyleMarker } from './styling/StyleMarker.js';\nimport { Button } from './ui/Button.js';\n\ntype ConnectButtonProps = {\n\tconnectText?: ReactNode;\n\t/** Filter the wallets shown in the connect modal */\n\twalletFilter?: (wallet: WalletWithRequiredFeatures) => boolean;\n} & ButtonHTMLAttributes<HTMLButtonElement>;\n\nexport function ConnectButton({\n\tconnectText = 'Connect Wallet',\n\twalletFilter,\n\t...buttonProps\n}: ConnectButtonProps) {\n\tconst currentAccount = useCurrentAccount();\n\treturn currentAccount ? (\n\t\t<AccountDropdownMenu currentAccount={currentAccount} />\n\t) : (\n\t\t<ConnectModal\n\t\t\twalletFilter={walletFilter}\n\t\t\ttrigger={\n\t\t\t\t<StyleMarker>\n\t\t\t\t\t<Button {...buttonProps}>{connectText}</Button>\n\t\t\t\t</StyleMarker>\n\t\t\t}\n\t\t/>\n\t);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["clsx", "useMemo", "useContext", "createContext", "useContext", "connectionStatus", "useMutation", "useMutation", "jsx", "jsx", "jsx", "Slot", "forwardRef", "jsx", "forwardRef", "Slot", "Slot", "clsx", "forwardRef", "_7a468", "jsx", "forwardRef", "Slot", "clsx", "jsx", "clsx", "clsx", "useState", "useMutation", "useMutation", "jsx", "jsx", "Slot", "clsx", "forwardRef", "_7a468", "jsx", "forwardRef", "Slot", "clsx", "Slot", "clsx", "forwardRef", "jsx", "forwardRef", "Slot", "clsx", "container", "title", "jsx", "jsxs", "container", "title", "container", "jsx", "jsxs", "title", "container", "container", "content", "jsx", "jsxs", "container", "content", "container", "content", "jsx", "jsxs", "container", "content", "SLUSH_WALLET_NAME", "container", "clsx", "container", "walletIcon", "jsx", "jsxs", "container", "clsx", "walletIcon", "jsx", "container", "SLUSH_WALLET_NAME", "jsx", "jsxs", "useState", "open", "clsx", "jsx"]
7
+ }
@@ -0,0 +1,25 @@
1
+ import { HaneulClient } from '@haneullabs/haneul/client';
2
+ import type { NetworkConfig } from '../hooks/networkConfig.js';
3
+ type NetworkConfigs<T extends NetworkConfig | HaneulClient = NetworkConfig | HaneulClient> = Record<string, T>;
4
+ export interface HaneulClientProviderContext {
5
+ client: HaneulClient;
6
+ networks: NetworkConfigs;
7
+ network: string;
8
+ config: NetworkConfig | null;
9
+ selectNetwork: (network: string) => void;
10
+ }
11
+ export declare const HaneulClientContext: import("react").Context<HaneulClientProviderContext | null>;
12
+ export type HaneulClientProviderProps<T extends NetworkConfigs> = {
13
+ createClient?: (name: keyof T, config: T[keyof T]) => HaneulClient;
14
+ children: React.ReactNode;
15
+ networks?: T;
16
+ onNetworkChange?: (network: keyof T & string) => void;
17
+ } & ({
18
+ defaultNetwork?: keyof T & string;
19
+ network?: never;
20
+ } | {
21
+ defaultNetwork?: never;
22
+ network?: keyof T & string;
23
+ });
24
+ export declare function HaneulClientProvider<T extends NetworkConfigs>(props: HaneulClientProviderProps<T>): import("react/jsx-runtime").JSX.Element;
25
+ export {};
@@ -0,0 +1,49 @@
1
+ // src/components/HaneulClientProvider.tsx
2
+ import { getFullnodeUrl, isHaneulClient, HaneulClient } from "@haneullabs/haneul/client";
3
+ import { createContext, useMemo, useState } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ var HaneulClientContext = createContext(null);
6
+ var DEFAULT_NETWORKS = {
7
+ localnet: { url: getFullnodeUrl("localnet") }
8
+ };
9
+ var DEFAULT_CREATE_CLIENT = function createClient(_name, config) {
10
+ if (isHaneulClient(config)) {
11
+ return config;
12
+ }
13
+ return new HaneulClient(config);
14
+ };
15
+ function HaneulClientProvider(props) {
16
+ const { onNetworkChange, network, children } = props;
17
+ const networks = props.networks ?? DEFAULT_NETWORKS;
18
+ const createClient2 = props.createClient ?? DEFAULT_CREATE_CLIENT;
19
+ const [selectedNetwork, setSelectedNetwork] = useState(
20
+ props.network ?? props.defaultNetwork ?? Object.keys(networks)[0]
21
+ );
22
+ const currentNetwork = props.network ?? selectedNetwork;
23
+ const client = useMemo(() => {
24
+ return createClient2(currentNetwork, networks[currentNetwork]);
25
+ }, [createClient2, currentNetwork, networks]);
26
+ const ctx = useMemo(() => {
27
+ return {
28
+ client,
29
+ networks,
30
+ network: currentNetwork,
31
+ config: networks[currentNetwork] instanceof HaneulClient ? null : networks[currentNetwork],
32
+ selectNetwork: (newNetwork) => {
33
+ if (currentNetwork === newNetwork) {
34
+ return;
35
+ }
36
+ if (!network && newNetwork !== selectedNetwork) {
37
+ setSelectedNetwork(newNetwork);
38
+ }
39
+ onNetworkChange?.(newNetwork);
40
+ }
41
+ };
42
+ }, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);
43
+ return /* @__PURE__ */ jsx(HaneulClientContext.Provider, { value: ctx, children });
44
+ }
45
+ export {
46
+ HaneulClientContext,
47
+ HaneulClientProvider
48
+ };
49
+ //# sourceMappingURL=HaneulClientProvider.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/HaneulClientProvider.tsx"],
4
+ "sourcesContent": ["// 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"],
5
+ "mappings": ";AAGA,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;AAEA,IAAM,wBAAwB,SAAS,aACtC,OACA,QACC;AACD,MAAI,eAAe,MAAM,GAAG;AAC3B,WAAO;AAAA,EACR;AAEA,SAAO,IAAI,aAAa,MAAM;AAC/B;AAEO,SAAS,qBAA+C,OAAqC;AACnG,QAAM,EAAE,iBAAiB,SAAS,SAAS,IAAI;AAC/C,QAAM,WAAY,MAAM,YAAY;AACpC,QAAMA,gBACJ,MAAM,gBAAiD;AAEzD,QAAM,CAAC,iBAAiB,kBAAkB,IAAI;AAAA,IAC7C,MAAM,WAAW,MAAM,kBAAmB,OAAO,KAAK,QAAQ,EAAE,CAAC;AAAA,EAClE;AAEA,QAAM,iBAAiB,MAAM,WAAW;AAExC,QAAM,SAAS,QAAQ,MAAM;AAC5B,WAAOA,cAAa,gBAAgB,SAAS,cAAc,CAAC;AAAA,EAC7D,GAAG,CAACA,eAAc,gBAAgB,QAAQ,CAAC;AAE3C,QAAM,MAAM,QAAQ,MAAmC;AACtD,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT,QACC,SAAS,cAAc,aAAa,eACjC,OACC,SAAS,cAAc;AAAA,MAC5B,eAAe,CAAC,eAAe;AAC9B,YAAI,mBAAmB,YAAY;AAClC;AAAA,QACD;AAEA,YAAI,CAAC,WAAW,eAAe,iBAAiB;AAC/C,6BAAmB,UAAU;AAAA,QAC9B;AAEA,0BAAkB,UAAU;AAAA,MAC7B;AAAA,IACD;AAAA,EACD,GAAG,CAAC,QAAQ,UAAU,iBAAiB,gBAAgB,SAAS,eAAe,CAAC;AAEhF,SAAO,oBAAC,oBAAoB,UAApB,EAA6B,OAAO,KAAM,UAAS;AAC5D;",
6
+ "names": ["createClient"]
7
+ }
@@ -0,0 +1,26 @@
1
+ import type { WalletWithFeatures, WalletWithRequiredFeatures } from '@haneullabs/wallet-standard';
2
+ import type { ReactNode } from 'react';
3
+ import type { StateStorage } from 'zustand/middleware';
4
+ import type { SlushWalletConfig } from '../hooks/wallet/useSlushWallet.js';
5
+ import type { Theme } from '../themes/themeContract.js';
6
+ export type WalletProviderProps = {
7
+ /** A list of wallets that are sorted to the top of the wallet list, if they are available to connect to. By default, wallets are sorted by the order they are loaded in. */
8
+ preferredWallets?: string[];
9
+ /** A filter function to select wallets that support features required for the dApp to function. This filters the list of wallets presented to users when selecting a wallet to connect from, ensuring that only wallets that meet the dApps requirements can connect. */
10
+ walletFilter?: (wallet: WalletWithRequiredFeatures) => boolean;
11
+ /** Enables the development-only unsafe burner wallet, which can be useful for testing. */
12
+ enableUnsafeBurner?: boolean;
13
+ /** Enables automatically reconnecting to the most recently used wallet account upon mounting. */
14
+ autoConnect?: boolean;
15
+ /** Enables the Slush wallet */
16
+ slushWallet?: SlushWalletConfig;
17
+ /** Configures how the most recently connected to wallet account is stored. Set to `null` to disable persisting state entirely. Defaults to using localStorage if it is available. */
18
+ storage?: StateStorage | null;
19
+ /** The key to use to store the most recently connected wallet account. */
20
+ storageKey?: string;
21
+ /** The theme to use for styling UI components. Defaults to using the light theme. */
22
+ theme?: Theme | null;
23
+ children: ReactNode;
24
+ };
25
+ export type { WalletWithFeatures };
26
+ export declare function WalletProvider({ preferredWallets, walletFilter, storage, storageKey, enableUnsafeBurner, autoConnect, slushWallet, theme, children, }: WalletProviderProps): import("react/jsx-runtime").JSX.Element;