@mysten/dapp-kit 0.0.0-experimental-20230928204256

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 (444) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/LICENSE +201 -0
  3. package/README.md +0 -0
  4. package/dist/cjs/components/AccountDropdownMenu.css +41 -0
  5. package/dist/cjs/components/AccountDropdownMenu.css.css +41 -0
  6. package/dist/cjs/components/AccountDropdownMenu.css.css.map +7 -0
  7. package/dist/cjs/components/AccountDropdownMenu.css.d.ts +5 -0
  8. package/dist/cjs/components/AccountDropdownMenu.css.js +35 -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 +6 -0
  12. package/dist/cjs/components/AccountDropdownMenu.js +216 -0
  13. package/dist/cjs/components/AccountDropdownMenu.js.map +7 -0
  14. package/dist/cjs/components/ConnectButton.css +250 -0
  15. package/dist/cjs/components/ConnectButton.css.map +7 -0
  16. package/dist/cjs/components/ConnectButton.d.ts +6 -0
  17. package/dist/cjs/components/ConnectButton.js +580 -0
  18. package/dist/cjs/components/ConnectButton.js.map +7 -0
  19. package/dist/cjs/components/SuiClientProvider.d.ts +26 -0
  20. package/dist/cjs/components/SuiClientProvider.js +69 -0
  21. package/dist/cjs/components/SuiClientProvider.js.map +7 -0
  22. package/dist/cjs/components/WalletProvider.d.ts +20 -0
  23. package/dist/cjs/components/WalletProvider.js +470 -0
  24. package/dist/cjs/components/WalletProvider.js.map +7 -0
  25. package/dist/cjs/components/connect-modal/ConnectModal.css +209 -0
  26. package/dist/cjs/components/connect-modal/ConnectModal.css.css +109 -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 +12 -0
  29. package/dist/cjs/components/connect-modal/ConnectModal.css.js +49 -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 +6 -0
  33. package/dist/cjs/components/connect-modal/ConnectModal.js +421 -0
  34. package/dist/cjs/components/connect-modal/ConnectModal.js.map +7 -0
  35. package/dist/cjs/components/connect-modal/InfoSection.css +7 -0
  36. package/dist/cjs/components/connect-modal/InfoSection.css.css +7 -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 +3 -0
  39. package/dist/cjs/components/connect-modal/InfoSection.css.js +31 -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 +40 -0
  44. package/dist/cjs/components/connect-modal/InfoSection.js.map +7 -0
  45. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css +26 -0
  46. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css +26 -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 +77 -0
  54. package/dist/cjs/components/connect-modal/views/ConnectionStatus.js.map +7 -0
  55. package/dist/cjs/components/connect-modal/views/GettingStarted.css +22 -0
  56. package/dist/cjs/components/connect-modal/views/GettingStarted.css.css +15 -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 +4 -0
  59. package/dist/cjs/components/connect-modal/views/GettingStarted.css.js +33 -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 +69 -0
  64. package/dist/cjs/components/connect-modal/views/GettingStarted.js.map +7 -0
  65. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css +22 -0
  66. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css +15 -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 +3 -0
  69. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js +31 -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 +57 -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 +37 -0
  76. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css +7 -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 +8 -0
  83. package/dist/cjs/components/connect-modal/wallet-list/WalletList.js +113 -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 +30 -0
  86. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css +30 -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 +5 -0
  89. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js +35 -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 +43 -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/icons/SuiIcon.d.ts +2 -0
  108. package/dist/cjs/components/icons/SuiIcon.js +41 -0
  109. package/dist/cjs/components/icons/SuiIcon.js.map +7 -0
  110. package/dist/cjs/constants/walletMutationKeys.d.ts +12 -0
  111. package/dist/cjs/constants/walletMutationKeys.js +40 -0
  112. package/dist/cjs/constants/walletMutationKeys.js.map +7 -0
  113. package/dist/cjs/contexts/walletContext.d.ts +12 -0
  114. package/dist/cjs/contexts/walletContext.js +28 -0
  115. package/dist/cjs/contexts/walletContext.js.map +7 -0
  116. package/dist/cjs/errors/walletErrors.d.ts +22 -0
  117. package/dist/cjs/errors/walletErrors.js +37 -0
  118. package/dist/cjs/errors/walletErrors.js.map +7 -0
  119. package/dist/cjs/hooks/useSuiClient.d.ts +2 -0
  120. package/dist/cjs/hooks/useSuiClient.js +51 -0
  121. package/dist/cjs/hooks/useSuiClient.js.map +7 -0
  122. package/dist/cjs/hooks/useSuiClientInfiniteQuery.d.ts +25 -0
  123. package/dist/cjs/hooks/useSuiClientInfiniteQuery.js +66 -0
  124. package/dist/cjs/hooks/useSuiClientInfiniteQuery.js.map +7 -0
  125. package/dist/cjs/hooks/useSuiClientMutation.d.ts +4 -0
  126. package/dist/cjs/hooks/useSuiClientMutation.js +61 -0
  127. package/dist/cjs/hooks/useSuiClientMutation.js.map +7 -0
  128. package/dist/cjs/hooks/useSuiClientQuery.d.ts +18 -0
  129. package/dist/cjs/hooks/useSuiClientQuery.js +64 -0
  130. package/dist/cjs/hooks/useSuiClientQuery.js.map +7 -0
  131. package/dist/cjs/hooks/wallet/useAccounts.d.ts +4 -0
  132. package/dist/cjs/hooks/wallet/useAccounts.js +50 -0
  133. package/dist/cjs/hooks/wallet/useAccounts.js.map +7 -0
  134. package/dist/cjs/hooks/wallet/useAutoConnectWallet.d.ts +1 -0
  135. package/dist/cjs/hooks/wallet/useAutoConnectWallet.js +124 -0
  136. package/dist/cjs/hooks/wallet/useAutoConnectWallet.js.map +7 -0
  137. package/dist/cjs/hooks/wallet/useConnectWallet.d.ts +15 -0
  138. package/dist/cjs/hooks/wallet/useConnectWallet.js +90 -0
  139. package/dist/cjs/hooks/wallet/useConnectWallet.js.map +7 -0
  140. package/dist/cjs/hooks/wallet/useCurrentAccount.d.ts +4 -0
  141. package/dist/cjs/hooks/wallet/useCurrentAccount.js +50 -0
  142. package/dist/cjs/hooks/wallet/useCurrentAccount.js.map +7 -0
  143. package/dist/cjs/hooks/wallet/useCurrentWallet.d.ts +4 -0
  144. package/dist/cjs/hooks/wallet/useCurrentWallet.js +50 -0
  145. package/dist/cjs/hooks/wallet/useCurrentWallet.js.map +7 -0
  146. package/dist/cjs/hooks/wallet/useDisconnectWallet.d.ts +7 -0
  147. package/dist/cjs/hooks/wallet/useDisconnectWallet.js +95 -0
  148. package/dist/cjs/hooks/wallet/useDisconnectWallet.js.map +7 -0
  149. package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.d.ts +13 -0
  150. package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.js +114 -0
  151. package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +7 -0
  152. package/dist/cjs/hooks/wallet/useSignPersonalMessage.d.ts +13 -0
  153. package/dist/cjs/hooks/wallet/useSignPersonalMessage.js +114 -0
  154. package/dist/cjs/hooks/wallet/useSignPersonalMessage.js.map +7 -0
  155. package/dist/cjs/hooks/wallet/useSignTransactionBlock.d.ts +13 -0
  156. package/dist/cjs/hooks/wallet/useSignTransactionBlock.js +114 -0
  157. package/dist/cjs/hooks/wallet/useSignTransactionBlock.js.map +7 -0
  158. package/dist/cjs/hooks/wallet/useSwitchAccount.d.ts +13 -0
  159. package/dist/cjs/hooks/wallet/useSwitchAccount.js +100 -0
  160. package/dist/cjs/hooks/wallet/useSwitchAccount.js.map +7 -0
  161. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.d.ts +1 -0
  162. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js +181 -0
  163. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js.map +7 -0
  164. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.d.ts +4 -0
  165. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js +68 -0
  166. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js.map +7 -0
  167. package/dist/cjs/hooks/wallet/useWalletStore.d.ts +2 -0
  168. package/dist/cjs/hooks/wallet/useWalletStore.js +43 -0
  169. package/dist/cjs/hooks/wallet/useWalletStore.js.map +7 -0
  170. package/dist/cjs/hooks/wallet/useWallets.d.ts +4 -0
  171. package/dist/cjs/hooks/wallet/useWallets.js +50 -0
  172. package/dist/cjs/hooks/wallet/useWallets.js.map +7 -0
  173. package/dist/cjs/hooks/wallet/useWalletsChanged.d.ts +5 -0
  174. package/dist/cjs/hooks/wallet/useWalletsChanged.js +85 -0
  175. package/dist/cjs/hooks/wallet/useWalletsChanged.js.map +7 -0
  176. package/dist/cjs/index.css +250 -0
  177. package/dist/cjs/index.css.map +7 -0
  178. package/dist/cjs/index.d.ts +18 -0
  179. package/dist/cjs/index.js +1152 -0
  180. package/dist/cjs/index.js.map +7 -0
  181. package/dist/cjs/package.json +5 -0
  182. package/dist/cjs/types/utilityTypes.d.ts +1 -0
  183. package/dist/cjs/types/utilityTypes.js +19 -0
  184. package/dist/cjs/types/utilityTypes.js.map +7 -0
  185. package/dist/cjs/types.d.ts +1 -0
  186. package/dist/cjs/types.js +19 -0
  187. package/dist/cjs/types.js.map +7 -0
  188. package/dist/cjs/utils/assertUnreachable.d.ts +4 -0
  189. package/dist/cjs/utils/assertUnreachable.js +29 -0
  190. package/dist/cjs/utils/assertUnreachable.js.map +7 -0
  191. package/dist/cjs/utils/walletUtils.d.ts +2 -0
  192. package/dist/cjs/utils/walletUtils.js +40 -0
  193. package/dist/cjs/utils/walletUtils.js.map +7 -0
  194. package/dist/cjs/walletStore.d.ts +35 -0
  195. package/dist/cjs/walletStore.js +100 -0
  196. package/dist/cjs/walletStore.js.map +7 -0
  197. package/dist/esm/components/AccountDropdownMenu.css +41 -0
  198. package/dist/esm/components/AccountDropdownMenu.css.css +41 -0
  199. package/dist/esm/components/AccountDropdownMenu.css.css.map +7 -0
  200. package/dist/esm/components/AccountDropdownMenu.css.d.ts +5 -0
  201. package/dist/esm/components/AccountDropdownMenu.css.js +14 -0
  202. package/dist/esm/components/AccountDropdownMenu.css.js.map +7 -0
  203. package/dist/esm/components/AccountDropdownMenu.css.map +7 -0
  204. package/dist/esm/components/AccountDropdownMenu.d.ts +6 -0
  205. package/dist/esm/components/AccountDropdownMenu.js +185 -0
  206. package/dist/esm/components/AccountDropdownMenu.js.map +7 -0
  207. package/dist/esm/components/ConnectButton.css +250 -0
  208. package/dist/esm/components/ConnectButton.css.map +7 -0
  209. package/dist/esm/components/ConnectButton.d.ts +6 -0
  210. package/dist/esm/components/ConnectButton.js +547 -0
  211. package/dist/esm/components/ConnectButton.js.map +7 -0
  212. package/dist/esm/components/SuiClientProvider.d.ts +26 -0
  213. package/dist/esm/components/SuiClientProvider.js +48 -0
  214. package/dist/esm/components/SuiClientProvider.js.map +7 -0
  215. package/dist/esm/components/WalletProvider.d.ts +20 -0
  216. package/dist/esm/components/WalletProvider.js +450 -0
  217. package/dist/esm/components/WalletProvider.js.map +7 -0
  218. package/dist/esm/components/connect-modal/ConnectModal.css +209 -0
  219. package/dist/esm/components/connect-modal/ConnectModal.css.css +109 -0
  220. package/dist/esm/components/connect-modal/ConnectModal.css.css.map +7 -0
  221. package/dist/esm/components/connect-modal/ConnectModal.css.d.ts +12 -0
  222. package/dist/esm/components/connect-modal/ConnectModal.css.js +28 -0
  223. package/dist/esm/components/connect-modal/ConnectModal.css.js.map +7 -0
  224. package/dist/esm/components/connect-modal/ConnectModal.css.map +7 -0
  225. package/dist/esm/components/connect-modal/ConnectModal.d.ts +6 -0
  226. package/dist/esm/components/connect-modal/ConnectModal.js +390 -0
  227. package/dist/esm/components/connect-modal/ConnectModal.js.map +7 -0
  228. package/dist/esm/components/connect-modal/InfoSection.css +7 -0
  229. package/dist/esm/components/connect-modal/InfoSection.css.css +7 -0
  230. package/dist/esm/components/connect-modal/InfoSection.css.css.map +7 -0
  231. package/dist/esm/components/connect-modal/InfoSection.css.d.ts +3 -0
  232. package/dist/esm/components/connect-modal/InfoSection.css.js +10 -0
  233. package/dist/esm/components/connect-modal/InfoSection.css.js.map +7 -0
  234. package/dist/esm/components/connect-modal/InfoSection.css.map +7 -0
  235. package/dist/esm/components/connect-modal/InfoSection.d.ts +6 -0
  236. package/dist/esm/components/connect-modal/InfoSection.js +17 -0
  237. package/dist/esm/components/connect-modal/InfoSection.js.map +7 -0
  238. package/dist/esm/components/connect-modal/views/ConnectionStatus.css +26 -0
  239. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css +26 -0
  240. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css.map +7 -0
  241. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.d.ts +5 -0
  242. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js +14 -0
  243. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js.map +7 -0
  244. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.map +7 -0
  245. package/dist/esm/components/connect-modal/views/ConnectionStatus.d.ts +8 -0
  246. package/dist/esm/components/connect-modal/views/ConnectionStatus.js +46 -0
  247. package/dist/esm/components/connect-modal/views/ConnectionStatus.js.map +7 -0
  248. package/dist/esm/components/connect-modal/views/GettingStarted.css +22 -0
  249. package/dist/esm/components/connect-modal/views/GettingStarted.css.css +15 -0
  250. package/dist/esm/components/connect-modal/views/GettingStarted.css.css.map +7 -0
  251. package/dist/esm/components/connect-modal/views/GettingStarted.css.d.ts +4 -0
  252. package/dist/esm/components/connect-modal/views/GettingStarted.css.js +12 -0
  253. package/dist/esm/components/connect-modal/views/GettingStarted.css.js.map +7 -0
  254. package/dist/esm/components/connect-modal/views/GettingStarted.css.map +7 -0
  255. package/dist/esm/components/connect-modal/views/GettingStarted.d.ts +1 -0
  256. package/dist/esm/components/connect-modal/views/GettingStarted.js +46 -0
  257. package/dist/esm/components/connect-modal/views/GettingStarted.js.map +7 -0
  258. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css +22 -0
  259. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css +15 -0
  260. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css.map +7 -0
  261. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.d.ts +3 -0
  262. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js +10 -0
  263. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js.map +7 -0
  264. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.map +7 -0
  265. package/dist/esm/components/connect-modal/views/WhatIsAWallet.d.ts +1 -0
  266. package/dist/esm/components/connect-modal/views/WhatIsAWallet.js +34 -0
  267. package/dist/esm/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
  268. package/dist/esm/components/connect-modal/wallet-list/WalletList.css +37 -0
  269. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css +7 -0
  270. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css.map +7 -0
  271. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.d.ts +1 -0
  272. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js +6 -0
  273. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js.map +7 -0
  274. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.map +7 -0
  275. package/dist/esm/components/connect-modal/wallet-list/WalletList.d.ts +8 -0
  276. package/dist/esm/components/connect-modal/wallet-list/WalletList.js +90 -0
  277. package/dist/esm/components/connect-modal/wallet-list/WalletList.js.map +7 -0
  278. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css +30 -0
  279. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css +30 -0
  280. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css.map +7 -0
  281. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.d.ts +5 -0
  282. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js +14 -0
  283. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js.map +7 -0
  284. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.map +7 -0
  285. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.d.ts +9 -0
  286. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js +22 -0
  287. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js.map +7 -0
  288. package/dist/esm/components/icons/BackIcon.d.ts +2 -0
  289. package/dist/esm/components/icons/BackIcon.js +15 -0
  290. package/dist/esm/components/icons/BackIcon.js.map +7 -0
  291. package/dist/esm/components/icons/CheckIcon.d.ts +2 -0
  292. package/dist/esm/components/icons/CheckIcon.js +15 -0
  293. package/dist/esm/components/icons/CheckIcon.js.map +7 -0
  294. package/dist/esm/components/icons/ChevronIcon.d.ts +2 -0
  295. package/dist/esm/components/icons/ChevronIcon.js +18 -0
  296. package/dist/esm/components/icons/ChevronIcon.js.map +7 -0
  297. package/dist/esm/components/icons/CloseIcon.d.ts +2 -0
  298. package/dist/esm/components/icons/CloseIcon.js +15 -0
  299. package/dist/esm/components/icons/CloseIcon.js.map +7 -0
  300. package/dist/esm/components/icons/SuiIcon.d.ts +2 -0
  301. package/dist/esm/components/icons/SuiIcon.js +20 -0
  302. package/dist/esm/components/icons/SuiIcon.js.map +7 -0
  303. package/dist/esm/constants/walletMutationKeys.d.ts +12 -0
  304. package/dist/esm/constants/walletMutationKeys.js +19 -0
  305. package/dist/esm/constants/walletMutationKeys.js.map +7 -0
  306. package/dist/esm/contexts/walletContext.d.ts +12 -0
  307. package/dist/esm/contexts/walletContext.js +7 -0
  308. package/dist/esm/contexts/walletContext.js.map +7 -0
  309. package/dist/esm/errors/walletErrors.d.ts +22 -0
  310. package/dist/esm/errors/walletErrors.js +16 -0
  311. package/dist/esm/errors/walletErrors.js.map +7 -0
  312. package/dist/esm/hooks/useSuiClient.d.ts +2 -0
  313. package/dist/esm/hooks/useSuiClient.js +30 -0
  314. package/dist/esm/hooks/useSuiClient.js.map +7 -0
  315. package/dist/esm/hooks/useSuiClientInfiniteQuery.d.ts +25 -0
  316. package/dist/esm/hooks/useSuiClientInfiniteQuery.js +45 -0
  317. package/dist/esm/hooks/useSuiClientInfiniteQuery.js.map +7 -0
  318. package/dist/esm/hooks/useSuiClientMutation.d.ts +4 -0
  319. package/dist/esm/hooks/useSuiClientMutation.js +40 -0
  320. package/dist/esm/hooks/useSuiClientMutation.js.map +7 -0
  321. package/dist/esm/hooks/useSuiClientQuery.d.ts +18 -0
  322. package/dist/esm/hooks/useSuiClientQuery.js +43 -0
  323. package/dist/esm/hooks/useSuiClientQuery.js.map +7 -0
  324. package/dist/esm/hooks/wallet/useAccounts.d.ts +4 -0
  325. package/dist/esm/hooks/wallet/useAccounts.js +27 -0
  326. package/dist/esm/hooks/wallet/useAccounts.js.map +7 -0
  327. package/dist/esm/hooks/wallet/useAutoConnectWallet.d.ts +1 -0
  328. package/dist/esm/hooks/wallet/useAutoConnectWallet.js +103 -0
  329. package/dist/esm/hooks/wallet/useAutoConnectWallet.js.map +7 -0
  330. package/dist/esm/hooks/wallet/useConnectWallet.d.ts +15 -0
  331. package/dist/esm/hooks/wallet/useConnectWallet.js +69 -0
  332. package/dist/esm/hooks/wallet/useConnectWallet.js.map +7 -0
  333. package/dist/esm/hooks/wallet/useCurrentAccount.d.ts +4 -0
  334. package/dist/esm/hooks/wallet/useCurrentAccount.js +27 -0
  335. package/dist/esm/hooks/wallet/useCurrentAccount.js.map +7 -0
  336. package/dist/esm/hooks/wallet/useCurrentWallet.d.ts +4 -0
  337. package/dist/esm/hooks/wallet/useCurrentWallet.js +27 -0
  338. package/dist/esm/hooks/wallet/useCurrentWallet.js.map +7 -0
  339. package/dist/esm/hooks/wallet/useDisconnectWallet.d.ts +7 -0
  340. package/dist/esm/hooks/wallet/useDisconnectWallet.js +74 -0
  341. package/dist/esm/hooks/wallet/useDisconnectWallet.js.map +7 -0
  342. package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.d.ts +13 -0
  343. package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.js +93 -0
  344. package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +7 -0
  345. package/dist/esm/hooks/wallet/useSignPersonalMessage.d.ts +13 -0
  346. package/dist/esm/hooks/wallet/useSignPersonalMessage.js +93 -0
  347. package/dist/esm/hooks/wallet/useSignPersonalMessage.js.map +7 -0
  348. package/dist/esm/hooks/wallet/useSignTransactionBlock.d.ts +13 -0
  349. package/dist/esm/hooks/wallet/useSignTransactionBlock.js +93 -0
  350. package/dist/esm/hooks/wallet/useSignTransactionBlock.js.map +7 -0
  351. package/dist/esm/hooks/wallet/useSwitchAccount.d.ts +13 -0
  352. package/dist/esm/hooks/wallet/useSwitchAccount.js +79 -0
  353. package/dist/esm/hooks/wallet/useSwitchAccount.js.map +7 -0
  354. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.d.ts +1 -0
  355. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js +161 -0
  356. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js.map +7 -0
  357. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.d.ts +4 -0
  358. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js +47 -0
  359. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js.map +7 -0
  360. package/dist/esm/hooks/wallet/useWalletStore.d.ts +2 -0
  361. package/dist/esm/hooks/wallet/useWalletStore.js +22 -0
  362. package/dist/esm/hooks/wallet/useWalletStore.js.map +7 -0
  363. package/dist/esm/hooks/wallet/useWallets.d.ts +4 -0
  364. package/dist/esm/hooks/wallet/useWallets.js +27 -0
  365. package/dist/esm/hooks/wallet/useWallets.js.map +7 -0
  366. package/dist/esm/hooks/wallet/useWalletsChanged.d.ts +5 -0
  367. package/dist/esm/hooks/wallet/useWalletsChanged.js +64 -0
  368. package/dist/esm/hooks/wallet/useWalletsChanged.js.map +7 -0
  369. package/dist/esm/index.css +250 -0
  370. package/dist/esm/index.css.map +7 -0
  371. package/dist/esm/index.d.ts +18 -0
  372. package/dist/esm/index.js +1120 -0
  373. package/dist/esm/index.js.map +7 -0
  374. package/dist/esm/package.json +5 -0
  375. package/dist/esm/types/utilityTypes.d.ts +1 -0
  376. package/dist/esm/types/utilityTypes.js +1 -0
  377. package/dist/esm/types/utilityTypes.js.map +7 -0
  378. package/dist/esm/types.d.ts +1 -0
  379. package/dist/esm/types.js +1 -0
  380. package/dist/esm/types.js.map +7 -0
  381. package/dist/esm/utils/assertUnreachable.d.ts +4 -0
  382. package/dist/esm/utils/assertUnreachable.js +8 -0
  383. package/dist/esm/utils/assertUnreachable.js.map +7 -0
  384. package/dist/esm/utils/walletUtils.d.ts +2 -0
  385. package/dist/esm/utils/walletUtils.js +19 -0
  386. package/dist/esm/utils/walletUtils.js.map +7 -0
  387. package/dist/esm/walletStore.d.ts +35 -0
  388. package/dist/esm/walletStore.js +79 -0
  389. package/dist/esm/walletStore.js.map +7 -0
  390. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  391. package/dist/tsconfig.tsbuildinfo +1 -0
  392. package/package.json +95 -0
  393. package/src/components/AccountDropdownMenu.css.ts +48 -0
  394. package/src/components/AccountDropdownMenu.tsx +58 -0
  395. package/src/components/ConnectButton.tsx +21 -0
  396. package/src/components/SuiClientProvider.tsx +87 -0
  397. package/src/components/WalletProvider.tsx +93 -0
  398. package/src/components/connect-modal/ConnectModal.css.ts +135 -0
  399. package/src/components/connect-modal/ConnectModal.tsx +122 -0
  400. package/src/components/connect-modal/InfoSection.css.ts +14 -0
  401. package/src/components/connect-modal/InfoSection.tsx +18 -0
  402. package/src/components/connect-modal/views/ConnectionStatus.css.ts +32 -0
  403. package/src/components/connect-modal/views/ConnectionStatus.tsx +42 -0
  404. package/src/components/connect-modal/views/GettingStarted.css.ts +23 -0
  405. package/src/components/connect-modal/views/GettingStarted.tsx +33 -0
  406. package/src/components/connect-modal/views/WhatIsAWallet.css.ts +21 -0
  407. package/src/components/connect-modal/views/WhatIsAWallet.tsx +22 -0
  408. package/src/components/connect-modal/wallet-list/WalletList.css.ts +10 -0
  409. package/src/components/connect-modal/wallet-list/WalletList.tsx +41 -0
  410. package/src/components/connect-modal/wallet-list/WalletListItem.css.ts +36 -0
  411. package/src/components/connect-modal/wallet-list/WalletListItem.tsx +29 -0
  412. package/src/components/icons/BackIcon.tsx +15 -0
  413. package/src/components/icons/CheckIcon.tsx +15 -0
  414. package/src/components/icons/ChevronIcon.tsx +18 -0
  415. package/src/components/icons/CloseIcon.tsx +15 -0
  416. package/src/components/icons/SuiIcon.tsx +18 -0
  417. package/src/constants/walletMutationKeys.ts +20 -0
  418. package/src/contexts/walletContext.ts +8 -0
  419. package/src/errors/walletErrors.ts +24 -0
  420. package/src/hooks/useSuiClient.ts +22 -0
  421. package/src/hooks/useSuiClientInfiniteQuery.ts +63 -0
  422. package/src/hooks/useSuiClientMutation.ts +27 -0
  423. package/src/hooks/useSuiClientQuery.ts +58 -0
  424. package/src/hooks/wallet/useAccounts.ts +11 -0
  425. package/src/hooks/wallet/useAutoConnectWallet.ts +34 -0
  426. package/src/hooks/wallet/useConnectWallet.ts +64 -0
  427. package/src/hooks/wallet/useCurrentAccount.ts +11 -0
  428. package/src/hooks/wallet/useCurrentWallet.ts +11 -0
  429. package/src/hooks/wallet/useDisconnectWallet.ts +47 -0
  430. package/src/hooks/wallet/useSignAndExecuteTransactionBlock.ts +82 -0
  431. package/src/hooks/wallet/useSignPersonalMessage.ts +79 -0
  432. package/src/hooks/wallet/useSignTransactionBlock.ts +79 -0
  433. package/src/hooks/wallet/useSwitchAccount.ts +59 -0
  434. package/src/hooks/wallet/useUnsafeBurnerWallet.ts +144 -0
  435. package/src/hooks/wallet/useWalletPropertiesChanged.ts +29 -0
  436. package/src/hooks/wallet/useWalletStore.ts +18 -0
  437. package/src/hooks/wallet/useWallets.ts +11 -0
  438. package/src/hooks/wallet/useWalletsChanged.ts +40 -0
  439. package/src/index.ts +21 -0
  440. package/src/types/utilityTypes.ts +4 -0
  441. package/src/types.ts +4 -0
  442. package/src/utils/assertUnreachable.ts +9 -0
  443. package/src/utils/walletUtils.ts +32 -0
  444. package/src/walletStore.ts +115 -0
@@ -0,0 +1,1152 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var __accessCheck = (obj, member, msg) => {
30
+ if (!member.has(obj))
31
+ throw TypeError("Cannot " + msg);
32
+ };
33
+ var __privateGet = (obj, member, getter) => {
34
+ __accessCheck(obj, member, "read from private field");
35
+ return getter ? getter.call(obj) : member.get(obj);
36
+ };
37
+ var __privateAdd = (obj, member, value) => {
38
+ if (member.has(obj))
39
+ throw TypeError("Cannot add the same private member more than once");
40
+ member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
41
+ };
42
+
43
+ // src/index.ts
44
+ var src_exports = {};
45
+ __export(src_exports, {
46
+ ConnectButton: () => ConnectButton,
47
+ SuiClientContext: () => SuiClientContext,
48
+ SuiClientProvider: () => SuiClientProvider,
49
+ WalletProvider: () => WalletProvider,
50
+ useAccounts: () => useAccounts,
51
+ useConnectWallet: () => useConnectWallet,
52
+ useCurrentAccount: () => useCurrentAccount,
53
+ useCurrentWallet: () => useCurrentWallet,
54
+ useDisconnectWallet: () => useDisconnectWallet,
55
+ useSignAndExecuteTransactionBlock: () => useSignAndExecuteTransactionBlock,
56
+ useSignPersonalMessage: () => useSignPersonalMessage,
57
+ useSignTransactionBlock: () => useSignTransactionBlock,
58
+ useSuiClient: () => useSuiClient,
59
+ useSuiClientContext: () => useSuiClientContext,
60
+ useSuiClientInfiniteQuery: () => useSuiClientInfiniteQuery,
61
+ useSuiClientMutation: () => useSuiClientMutation,
62
+ useSuiClientQuery: () => useSuiClientQuery,
63
+ useSwitchAccount: () => useSwitchAccount,
64
+ useWallets: () => useWallets
65
+ });
66
+ module.exports = __toCommonJS(src_exports);
67
+
68
+ // src/hooks/useSuiClient.ts
69
+ var import_react2 = require("react");
70
+
71
+ // src/components/SuiClientProvider.tsx
72
+ var import_client = require("@mysten/sui.js/client");
73
+ var import_react = require("react");
74
+ var import_jsx_runtime = require("react/jsx-runtime");
75
+ var SuiClientContext = (0, import_react.createContext)(null);
76
+ var DEFAULT_NETWORKS = {
77
+ localnet: { url: (0, import_client.getFullnodeUrl)("localnet") }
78
+ };
79
+ var DEFAULT_CREATE_CLIENT = function createClient(_name, config) {
80
+ if ((0, import_client.isSuiClient)(config)) {
81
+ return config;
82
+ }
83
+ return new import_client.SuiClient(config);
84
+ };
85
+ function SuiClientProvider(props) {
86
+ const { onNetworkChange, network, children } = props;
87
+ const networks = props.networks ?? DEFAULT_NETWORKS;
88
+ const createClient2 = props.createClient ?? DEFAULT_CREATE_CLIENT;
89
+ const [selectedNetwork, setSelectedNetwork] = (0, import_react.useState)(
90
+ props.network ?? props.defaultNetwork ?? Object.keys(networks)[0]
91
+ );
92
+ const currentNetwork = props.network ?? selectedNetwork;
93
+ const client = (0, import_react.useMemo)(() => {
94
+ return createClient2(currentNetwork, networks[currentNetwork]);
95
+ }, [createClient2, currentNetwork, networks]);
96
+ const ctx = (0, import_react.useMemo)(() => {
97
+ return {
98
+ client,
99
+ networks,
100
+ network: currentNetwork,
101
+ selectNetwork: (newNetwork) => {
102
+ if (currentNetwork === newNetwork) {
103
+ return;
104
+ }
105
+ if (!network && newNetwork !== selectedNetwork) {
106
+ setSelectedNetwork(newNetwork);
107
+ }
108
+ onNetworkChange?.(newNetwork);
109
+ }
110
+ };
111
+ }, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);
112
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SuiClientContext.Provider, { value: ctx, children });
113
+ }
114
+
115
+ // src/hooks/useSuiClient.ts
116
+ function useSuiClientContext() {
117
+ const suiClient = (0, import_react2.useContext)(SuiClientContext);
118
+ if (!suiClient) {
119
+ throw new Error(
120
+ "Could not find SuiClientContext. Ensure that you have set up the SuiClientProvider"
121
+ );
122
+ }
123
+ return suiClient;
124
+ }
125
+ function useSuiClient() {
126
+ return useSuiClientContext().client;
127
+ }
128
+
129
+ // src/hooks/wallet/useWalletStore.ts
130
+ var import_react4 = require("react");
131
+ var import_zustand = require("zustand");
132
+
133
+ // src/contexts/walletContext.ts
134
+ var import_react3 = require("react");
135
+ var WalletContext = (0, import_react3.createContext)(null);
136
+
137
+ // src/hooks/wallet/useWalletStore.ts
138
+ function useWalletStore(selector) {
139
+ const store = (0, import_react4.useContext)(WalletContext);
140
+ if (!store) {
141
+ throw new Error(
142
+ "Could not find WalletContext. Ensure that you have set up the WalletProvider."
143
+ );
144
+ }
145
+ return (0, import_zustand.useStore)(store, selector);
146
+ }
147
+
148
+ // src/hooks/wallet/useCurrentAccount.ts
149
+ function useCurrentAccount() {
150
+ return useWalletStore((state) => state.currentAccount);
151
+ }
152
+
153
+ // src/components/AccountDropdownMenu.tsx
154
+ var import_utils = require("@mysten/sui.js/utils");
155
+ var DropdownMenu = __toESM(require("@radix-ui/react-dropdown-menu"));
156
+
157
+ // src/hooks/wallet/useAccounts.ts
158
+ function useAccounts() {
159
+ return useWalletStore((state) => state.accounts);
160
+ }
161
+
162
+ // src/hooks/wallet/useDisconnectWallet.ts
163
+ var import_react_query = require("@tanstack/react-query");
164
+
165
+ // src/constants/walletMutationKeys.ts
166
+ var walletMutationKeys = {
167
+ all: { baseScope: "wallet" },
168
+ connectWallet: formMutationKeyFn("connect-wallet"),
169
+ disconnectWallet: formMutationKeyFn("disconnect-wallet"),
170
+ signPersonalMessage: formMutationKeyFn("sign-personal-message"),
171
+ signTransactionBlock: formMutationKeyFn("sign-transaction-block"),
172
+ signAndExecuteTransactionBlock: formMutationKeyFn("sign-and-execute-transaction-block"),
173
+ switchAccount: formMutationKeyFn("switch-account")
174
+ };
175
+ function formMutationKeyFn(baseEntity) {
176
+ return function mutationKeyFn(additionalKeys = []) {
177
+ return [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];
178
+ };
179
+ }
180
+
181
+ // src/errors/walletErrors.ts
182
+ var WalletNotConnectedError = class extends Error {
183
+ };
184
+ var WalletNoAccountSelectedError = class extends Error {
185
+ };
186
+ var WalletFeatureNotSupportedError = class extends Error {
187
+ };
188
+ var WalletAccountNotFoundError = class extends Error {
189
+ };
190
+
191
+ // src/hooks/wallet/useCurrentWallet.ts
192
+ function useCurrentWallet() {
193
+ return useWalletStore((state) => state.currentWallet);
194
+ }
195
+
196
+ // src/hooks/wallet/useDisconnectWallet.ts
197
+ function useDisconnectWallet({
198
+ mutationKey,
199
+ ...mutationOptions
200
+ } = {}) {
201
+ const currentWallet = useCurrentWallet();
202
+ const setWalletDisconnected = useWalletStore((state) => state.setWalletDisconnected);
203
+ return (0, import_react_query.useMutation)({
204
+ mutationKey: walletMutationKeys.disconnectWallet(mutationKey),
205
+ mutationFn: async () => {
206
+ if (!currentWallet) {
207
+ throw new WalletNotConnectedError("No wallet is connected.");
208
+ }
209
+ try {
210
+ await currentWallet.features["standard:disconnect"]?.disconnect();
211
+ } catch (error) {
212
+ console.error("Failed to disconnect the application from the current wallet.", error);
213
+ }
214
+ setWalletDisconnected();
215
+ },
216
+ ...mutationOptions
217
+ });
218
+ }
219
+
220
+ // src/hooks/wallet/useSwitchAccount.ts
221
+ var import_react_query2 = require("@tanstack/react-query");
222
+ function useSwitchAccount({
223
+ mutationKey,
224
+ ...mutationOptions
225
+ } = {}) {
226
+ const currentWallet = useCurrentWallet();
227
+ const setAccountSwitched = useWalletStore((state) => state.setAccountSwitched);
228
+ return (0, import_react_query2.useMutation)({
229
+ mutationKey: walletMutationKeys.switchAccount(mutationKey),
230
+ mutationFn: async ({ account }) => {
231
+ if (!currentWallet) {
232
+ throw new WalletNotConnectedError("No wallet is connected.");
233
+ }
234
+ const accountToSelect = currentWallet.accounts.find(
235
+ (walletAccount) => walletAccount.address === account.address
236
+ );
237
+ if (!accountToSelect) {
238
+ throw new WalletAccountNotFoundError(
239
+ `No account with address ${account.address} is connected to ${currentWallet.name}.`
240
+ );
241
+ }
242
+ setAccountSwitched(accountToSelect);
243
+ },
244
+ ...mutationOptions
245
+ });
246
+ }
247
+
248
+ // src/components/AccountDropdownMenu.css.ts
249
+ var disconnectButton = "AccountDropdownMenu_disconnectButton__div2ql3";
250
+ var menuContent = "AccountDropdownMenu_menuContent__div2ql1";
251
+ var separator = "AccountDropdownMenu_separator__div2ql4";
252
+ var switchAccountButton = "AccountDropdownMenu_switchAccountButton__div2ql2";
253
+ var triggerButton = "AccountDropdownMenu_triggerButton__div2ql0";
254
+
255
+ // src/components/icons/CheckIcon.tsx
256
+ var import_jsx_runtime2 = require("react/jsx-runtime");
257
+ function CheckIcon(props) {
258
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, fill: "none", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
259
+ "path",
260
+ {
261
+ fill: "#007195",
262
+ d: "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"
263
+ }
264
+ ) });
265
+ }
266
+
267
+ // src/components/icons/ChevronIcon.tsx
268
+ var import_jsx_runtime3 = require("react/jsx-runtime");
269
+ function ChevronIcon(props) {
270
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, fill: "none", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
271
+ "path",
272
+ {
273
+ stroke: "#A0B6C3",
274
+ strokeLinecap: "round",
275
+ strokeLinejoin: "round",
276
+ strokeWidth: 1.5,
277
+ d: "m4 6 4 4 4-4"
278
+ }
279
+ ) });
280
+ }
281
+
282
+ // src/components/AccountDropdownMenu.tsx
283
+ var import_jsx_runtime4 = require("react/jsx-runtime");
284
+ function AccountDropdownMenu({ currentAccount }) {
285
+ const { mutate: disconnectWallet } = useDisconnectWallet();
286
+ const { mutate: switchAccount } = useSwitchAccount();
287
+ const accounts = useAccounts();
288
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(DropdownMenu.Root, { modal: false, children: [
289
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(DropdownMenu.Trigger, { className: triggerButton, children: [
290
+ (0, import_utils.formatAddress)(currentAccount.address),
291
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ChevronIcon, {})
292
+ ] }),
293
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(DropdownMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(DropdownMenu.Content, { className: menuContent, children: [
294
+ accounts.map((account) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(DropdownMenu.Item, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
295
+ "button",
296
+ {
297
+ type: "button",
298
+ className: switchAccountButton,
299
+ onClick: () => switchAccount({ account }),
300
+ children: [
301
+ (0, import_utils.formatAddress)(account.address),
302
+ currentAccount.address === account.address ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(CheckIcon, {}) : null
303
+ ]
304
+ }
305
+ ) }, account.address)),
306
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(DropdownMenu.Separator, { className: separator }),
307
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(DropdownMenu.Item, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
308
+ "button",
309
+ {
310
+ className: disconnectButton,
311
+ type: "button",
312
+ onClick: () => disconnectWallet(),
313
+ children: "Disconnect"
314
+ }
315
+ ) })
316
+ ] }) })
317
+ ] });
318
+ }
319
+
320
+ // src/components/connect-modal/ConnectModal.tsx
321
+ var Dialog = __toESM(require("@radix-ui/react-dialog"));
322
+ var import_clsx3 = __toESM(require("clsx"));
323
+ var import_react5 = require("react");
324
+
325
+ // src/hooks/wallet/useConnectWallet.ts
326
+ var import_react_query3 = require("@tanstack/react-query");
327
+ function useConnectWallet({
328
+ mutationKey,
329
+ ...mutationOptions
330
+ } = {}) {
331
+ const setWalletConnected = useWalletStore((state) => state.setWalletConnected);
332
+ return (0, import_react_query3.useMutation)({
333
+ mutationKey: walletMutationKeys.connectWallet(mutationKey),
334
+ mutationFn: async ({ wallet, accountAddress, ...standardConnectInput }) => {
335
+ const connectResult = await wallet.features["standard:connect"].connect(standardConnectInput);
336
+ const selectedAccount = getSelectedAccount(connectResult.accounts, accountAddress);
337
+ setWalletConnected(wallet, selectedAccount);
338
+ return connectResult;
339
+ },
340
+ ...mutationOptions
341
+ });
342
+ }
343
+ function getSelectedAccount(connectedAccounts, accountAddress) {
344
+ if (connectedAccounts.length === 0) {
345
+ return null;
346
+ }
347
+ if (accountAddress) {
348
+ const selectedAccount = connectedAccounts.find((account) => account.address === accountAddress);
349
+ return selectedAccount ?? connectedAccounts[0];
350
+ }
351
+ return connectedAccounts[0];
352
+ }
353
+
354
+ // src/components/icons/BackIcon.tsx
355
+ var import_jsx_runtime5 = require("react/jsx-runtime");
356
+ function BackIcon(props) {
357
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { width: 24, height: 24, fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
358
+ "path",
359
+ {
360
+ d: "M7.57 12.262c0 .341.13.629.403.895l5.175 5.059c.204.205.45.307.751.307.609 0 1.101-.485 1.101-1.087 0-.293-.123-.574-.349-.8L10.14 12.27l4.511-4.375A1.13 1.13 0 0 0 15 7.087C15 6.485 14.508 6 13.9 6c-.295 0-.54.103-.752.308l-5.175 5.058c-.28.28-.404.56-.404.896Z",
361
+ fill: "#383F47"
362
+ }
363
+ ) });
364
+ }
365
+
366
+ // src/components/icons/CloseIcon.tsx
367
+ var import_jsx_runtime6 = require("react/jsx-runtime");
368
+ function CloseIcon(props) {
369
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("svg", { width: 10, height: 10, fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
370
+ "path",
371
+ {
372
+ d: "M9.708.292a.999.999 0 0 0-1.413 0l-3.289 3.29L1.717.291A.999.999 0 0 0 .305 1.705l3.289 3.289-3.29 3.289a.999.999 0 1 0 1.413 1.412l3.29-3.289 3.288 3.29a.999.999 0 0 0 1.413-1.413l-3.29-3.29 3.29-3.288a.999.999 0 0 0 0-1.413Z",
373
+ fill: "currentColor"
374
+ }
375
+ ) });
376
+ }
377
+
378
+ // src/components/connect-modal/ConnectModal.css.ts
379
+ var backButton = "ConnectModal_backButton__gz8z97";
380
+ var closeButton = "ConnectModal_closeButton__gz8z98";
381
+ var content = "ConnectModal_content__gz8z92";
382
+ var overlay = "ConnectModal_overlay__gz8z90";
383
+ var selectedViewContainer = "ConnectModal_selectedViewContainer__gz8z95";
384
+ var title = "ConnectModal_title__gz8z91";
385
+ var triggerButton2 = "ConnectModal_triggerButton__gz8z96";
386
+ var viewContainer = "ConnectModal_viewContainer__gz8z94";
387
+ var walletListContainer = "ConnectModal_walletListContainer__gz8z9a";
388
+ var walletListContainerWithViewSelected = "ConnectModal_walletListContainerWithViewSelected__gz8z9b";
389
+ var walletListContent = "ConnectModal_walletListContent__gz8z99";
390
+ var whatIsAWalletButton = "ConnectModal_whatIsAWalletButton__gz8z93";
391
+
392
+ // src/components/connect-modal/views/ConnectionStatus.tsx
393
+ var import_clsx = __toESM(require("clsx"));
394
+
395
+ // src/components/connect-modal/views/ConnectionStatus.css.ts
396
+ var connectionStatus = "ConnectionStatus_connectionStatus__nckm2d3";
397
+ var connectionStatusWithError = "ConnectionStatus_connectionStatusWithError__nckm2d4";
398
+ var container = "ConnectionStatus_container__nckm2d0";
399
+ var walletIcon = "ConnectionStatus_walletIcon__nckm2d1";
400
+ var walletName = "ConnectionStatus_walletName__nckm2d2";
401
+
402
+ // src/components/connect-modal/views/ConnectionStatus.tsx
403
+ var import_jsx_runtime7 = require("react/jsx-runtime");
404
+ function ConnectionStatus({
405
+ selectedWallet,
406
+ hadConnectionError,
407
+ onRetryConnection
408
+ }) {
409
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: container, children: [
410
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
411
+ "img",
412
+ {
413
+ className: walletIcon,
414
+ src: selectedWallet.icon,
415
+ alt: `${selectedWallet.name} logo`
416
+ }
417
+ ),
418
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: walletName, children: [
419
+ "Opening ",
420
+ selectedWallet.name
421
+ ] }),
422
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
423
+ "div",
424
+ {
425
+ className: (0, import_clsx.default)(connectionStatus, {
426
+ [connectionStatusWithError]: hadConnectionError
427
+ }),
428
+ children: hadConnectionError ? "Connection failed" : "Confirm connection in the wallet..."
429
+ }
430
+ ),
431
+ hadConnectionError ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("button", { type: "button", onClick: () => onRetryConnection(selectedWallet), children: "Retry Connection" }) : null
432
+ ] });
433
+ }
434
+
435
+ // src/components/connect-modal/InfoSection.css.ts
436
+ var container2 = "InfoSection_container__1wtioi70";
437
+ var description = "InfoSection_description__1wtioi72";
438
+ var heading = "InfoSection_heading__1wtioi71";
439
+
440
+ // src/components/connect-modal/InfoSection.tsx
441
+ var import_jsx_runtime8 = require("react/jsx-runtime");
442
+ function InfoSection({ title: title4, children }) {
443
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("section", { className: container2, children: [
444
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("h3", { className: heading, children: title4 }),
445
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: description, children })
446
+ ] });
447
+ }
448
+
449
+ // src/components/connect-modal/views/GettingStarted.css.ts
450
+ var container3 = "GettingStarted_container__1fp07e10";
451
+ var content2 = "GettingStarted_content__1fp07e12";
452
+ var installLink = "GettingStarted_installLink__1fp07e13";
453
+ var title2 = "GettingStarted_title__1fp07e11";
454
+
455
+ // src/components/connect-modal/views/GettingStarted.tsx
456
+ var import_jsx_runtime9 = require("react/jsx-runtime");
457
+ function GettingStarted() {
458
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: container3, children: [
459
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("h2", { className: title2, children: "Get Started with Sui" }),
460
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: content2, children: [
461
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(InfoSection, { title: "Install the Sui Wallet Extension", children: "We recommend pinning Sui Wallet to your taskbar for quicker access." }),
462
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(InfoSection, { title: "Create or Import a Wallet", children: "Be sure to back up your wallet using a secure method. Never share your secret phrase with anyone." }),
463
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(InfoSection, { title: "Refresh Your Browser", children: "Once you set up your wallet, refresh this window browser to load up the extension." }),
464
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
465
+ "a",
466
+ {
467
+ className: installLink,
468
+ href: "https://chrome.google.com/webstore/detail/sui-wallet/opcgpfmipidbgpenhmajoajpbobppdil",
469
+ target: "_blank",
470
+ rel: "noreferrer",
471
+ children: "Install Wallet Extension"
472
+ }
473
+ )
474
+ ] })
475
+ ] });
476
+ }
477
+
478
+ // src/components/connect-modal/views/WhatIsAWallet.css.ts
479
+ var container4 = "WhatIsAWallet_container__1ktpkq90";
480
+ var content3 = "WhatIsAWallet_content__1ktpkq92";
481
+ var title3 = "WhatIsAWallet_title__1ktpkq91";
482
+
483
+ // src/components/connect-modal/views/WhatIsAWallet.tsx
484
+ var import_jsx_runtime10 = require("react/jsx-runtime");
485
+ function WhatIsAWallet() {
486
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: container4, children: [
487
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("h2", { className: title3, children: "What is a Wallet" }),
488
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: content3, children: [
489
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(InfoSection, { title: "Easy Login", children: "No need to create new accounts and passwords for every website. Just connect your wallet and get going." }),
490
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(InfoSection, { title: "Store your Digital Assets", children: "Send, receive, store, and display your digital assets like NFTs & coins." })
491
+ ] })
492
+ ] });
493
+ }
494
+
495
+ // src/hooks/wallet/useWallets.ts
496
+ function useWallets() {
497
+ return useWalletStore((state) => state.wallets);
498
+ }
499
+
500
+ // src/components/icons/SuiIcon.tsx
501
+ var import_jsx_runtime11 = require("react/jsx-runtime");
502
+ function SuiIcon(props) {
503
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("svg", { width: 28, height: 28, fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
504
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("rect", { width: 28, height: 28, rx: 6, fill: "#6FBCF0" }),
505
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
506
+ "path",
507
+ {
508
+ fillRule: "evenodd",
509
+ clipRule: "evenodd",
510
+ d: "M7.942 20.527A6.875 6.875 0 0 0 13.957 24c2.51 0 4.759-1.298 6.015-3.473a6.875 6.875 0 0 0 0-6.945l-5.29-9.164a.837.837 0 0 0-1.45 0l-5.29 9.164a6.875 6.875 0 0 0 0 6.945Zm4.524-11.75 1.128-1.953a.418.418 0 0 1 .725 0l4.34 7.516a5.365 5.365 0 0 1 .449 4.442 4.675 4.675 0 0 0-.223-.73c-.599-1.512-1.954-2.68-4.029-3.47-1.426-.54-2.336-1.336-2.706-2.364-.476-1.326.021-2.77.316-3.44Zm-1.923 3.332L9.255 14.34a5.373 5.373 0 0 0 0 5.43 5.373 5.373 0 0 0 4.702 2.714 5.38 5.38 0 0 0 3.472-1.247c.125-.314.51-1.462.034-2.646-.44-1.093-1.5-1.965-3.15-2.594-1.864-.707-3.076-1.811-3.6-3.28a4.601 4.601 0 0 1-.17-.608Z",
511
+ fill: "#fff"
512
+ }
513
+ )
514
+ ] });
515
+ }
516
+
517
+ // src/components/connect-modal/wallet-list/WalletList.css.ts
518
+ var container5 = "WalletList_container__1v2s6cz0";
519
+
520
+ // src/components/connect-modal/wallet-list/WalletListItem.tsx
521
+ var import_clsx2 = require("clsx");
522
+
523
+ // src/components/connect-modal/wallet-list/WalletListItem.css.ts
524
+ var buttonContainer = "WalletListItem_buttonContainer__1dqqtqs2";
525
+ var container6 = "WalletListItem_container__1dqqtqs0";
526
+ var selectedContainer = "WalletListItem_selectedContainer__1dqqtqs1";
527
+ var walletIcon2 = "WalletListItem_walletIcon__1dqqtqs4";
528
+ var walletName2 = "WalletListItem_walletName__1dqqtqs3";
529
+
530
+ // src/components/connect-modal/wallet-list/WalletListItem.tsx
531
+ var import_jsx_runtime12 = require("react/jsx-runtime");
532
+ function WalletListItem({ name, icon, onClick, isSelected = false }) {
533
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("li", { className: (0, import_clsx2.clsx)(container6, { [selectedContainer]: isSelected }), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("button", { className: buttonContainer, type: "button", onClick, children: [
534
+ typeof icon === "string" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("img", { className: walletIcon2, src: icon, alt: `${name} logo` }) : icon,
535
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: walletName2, children: name })
536
+ ] }) });
537
+ }
538
+
539
+ // src/components/connect-modal/wallet-list/WalletList.tsx
540
+ var import_jsx_runtime13 = require("react/jsx-runtime");
541
+ function WalletList({ selectedWalletName, onPlaceholderClick, onSelect }) {
542
+ const wallets = useWallets();
543
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("ul", { className: container5, children: wallets.length > 0 ? wallets.map((wallet) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
544
+ WalletListItem,
545
+ {
546
+ name: wallet.name,
547
+ icon: wallet.icon,
548
+ isSelected: wallet.name === selectedWalletName,
549
+ onClick: () => onSelect(wallet)
550
+ },
551
+ wallet.name
552
+ )) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
553
+ WalletListItem,
554
+ {
555
+ name: "Sui Wallet",
556
+ icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SuiIcon, {}),
557
+ onClick: onPlaceholderClick,
558
+ isSelected: true
559
+ }
560
+ ) });
561
+ }
562
+
563
+ // src/components/connect-modal/ConnectModal.tsx
564
+ var import_jsx_runtime14 = require("react/jsx-runtime");
565
+ function ConnectModal({ trigger }) {
566
+ const [isConnectModalOpen, setConnectModalOpen] = (0, import_react5.useState)(false);
567
+ const [currentView, setCurrentView] = (0, import_react5.useState)();
568
+ const [selectedWallet, setSelectedWallet] = (0, import_react5.useState)();
569
+ const { mutate, isError } = useConnectWallet();
570
+ const connectWallet = (wallet) => {
571
+ setCurrentView("connection-status");
572
+ mutate({ wallet }, { onSuccess: () => setConnectModalOpen(false) });
573
+ };
574
+ const resetSelection = () => {
575
+ setSelectedWallet(void 0);
576
+ setCurrentView(void 0);
577
+ };
578
+ const onOpenChange = (open) => {
579
+ if (!open) {
580
+ resetSelection();
581
+ }
582
+ setConnectModalOpen(open);
583
+ };
584
+ let modalContent;
585
+ switch (currentView) {
586
+ case "what-is-a-wallet":
587
+ modalContent = /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(WhatIsAWallet, {});
588
+ break;
589
+ case "getting-started":
590
+ modalContent = /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(GettingStarted, {});
591
+ break;
592
+ case "connection-status":
593
+ modalContent = /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
594
+ ConnectionStatus,
595
+ {
596
+ selectedWallet,
597
+ hadConnectionError: isError,
598
+ onRetryConnection: connectWallet
599
+ }
600
+ );
601
+ break;
602
+ default:
603
+ modalContent = /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(WhatIsAWallet, {});
604
+ }
605
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(Dialog.Root, { open: isConnectModalOpen, onOpenChange, children: [
606
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Dialog.Trigger, { className: triggerButton2, children: trigger }),
607
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(Dialog.Portal, { children: [
608
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Dialog.Overlay, { className: overlay }),
609
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(Dialog.Content, { className: content, "aria-describedby": void 0, children: [
610
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
611
+ "div",
612
+ {
613
+ className: (0, import_clsx3.default)(walletListContainer, {
614
+ [walletListContainerWithViewSelected]: !!currentView
615
+ }),
616
+ children: [
617
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: walletListContent, children: [
618
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Dialog.Title, { className: title, children: "Connect a Wallet" }),
619
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
620
+ WalletList,
621
+ {
622
+ selectedWalletName: selectedWallet?.name,
623
+ onPlaceholderClick: () => setCurrentView("getting-started"),
624
+ onSelect: (wallet) => {
625
+ setSelectedWallet(wallet);
626
+ connectWallet(wallet);
627
+ }
628
+ }
629
+ )
630
+ ] }),
631
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
632
+ "button",
633
+ {
634
+ className: whatIsAWalletButton,
635
+ onClick: () => setCurrentView("what-is-a-wallet"),
636
+ type: "button",
637
+ children: "What is a Wallet?"
638
+ }
639
+ )
640
+ ]
641
+ }
642
+ ),
643
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
644
+ "div",
645
+ {
646
+ className: (0, import_clsx3.default)(viewContainer, {
647
+ [selectedViewContainer]: !!currentView
648
+ }),
649
+ children: [
650
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
651
+ "button",
652
+ {
653
+ className: backButton,
654
+ onClick: () => resetSelection(),
655
+ type: "button",
656
+ "aria-label": "Back",
657
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(BackIcon, {})
658
+ }
659
+ ),
660
+ modalContent
661
+ ]
662
+ }
663
+ ),
664
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Dialog.Close, { className: closeButton, "aria-label": "Close", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(CloseIcon, {}) })
665
+ ] })
666
+ ] })
667
+ ] });
668
+ }
669
+
670
+ // src/components/ConnectButton.tsx
671
+ var import_jsx_runtime15 = require("react/jsx-runtime");
672
+ function ConnectButton({ connectText = "Connect Wallet" }) {
673
+ const currentAccount = useCurrentAccount();
674
+ return currentAccount ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(AccountDropdownMenu, { currentAccount }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ConnectModal, { trigger: connectText });
675
+ }
676
+
677
+ // src/components/WalletProvider.tsx
678
+ var import_react10 = require("react");
679
+
680
+ // src/hooks/wallet/useAutoConnectWallet.ts
681
+ var import_react6 = require("react");
682
+ function useAutoConnectWallet(autoConnectEnabled) {
683
+ const { mutate: connectWallet } = useConnectWallet();
684
+ const wallets = useWallets();
685
+ const lastConnectedWalletName = useWalletStore((state) => state.lastConnectedWalletName);
686
+ const lastConnectedAccountAddress = useWalletStore((state) => state.lastConnectedAccountAddress);
687
+ (0, import_react6.useEffect)(() => {
688
+ if (!autoConnectEnabled || !lastConnectedWalletName)
689
+ return;
690
+ const wallet = wallets.find((wallet2) => wallet2.name === lastConnectedWalletName);
691
+ if (wallet) {
692
+ connectWallet({
693
+ wallet,
694
+ accountAddress: lastConnectedAccountAddress || void 0,
695
+ silent: true
696
+ });
697
+ }
698
+ }, [
699
+ autoConnectEnabled,
700
+ connectWallet,
701
+ lastConnectedAccountAddress,
702
+ lastConnectedWalletName,
703
+ wallets
704
+ ]);
705
+ }
706
+
707
+ // src/hooks/wallet/useUnsafeBurnerWallet.ts
708
+ var import_ed25519 = require("@mysten/sui.js/keypairs/ed25519");
709
+ var import_wallet_standard = require("@mysten/wallet-standard");
710
+ var import_react7 = require("react");
711
+ var WALLET_NAME = "Unsafe Burner Wallet";
712
+ function useUnsafeBurnerWallet(enabled) {
713
+ const suiClient = useSuiClient();
714
+ (0, import_react7.useEffect)(() => {
715
+ if (!enabled) {
716
+ return;
717
+ }
718
+ const unregister = registerUnsafeBurnerWallet(suiClient);
719
+ return unregister;
720
+ }, [enabled, suiClient]);
721
+ }
722
+ function registerUnsafeBurnerWallet(suiClient) {
723
+ var _on, _connect, _signPersonalMessage, _signTransactionBlock, _signAndExecuteTransactionBlock;
724
+ const walletsApi = (0, import_wallet_standard.getWallets)();
725
+ const registeredWallets = walletsApi.get();
726
+ if (registeredWallets.find((wallet) => wallet.name === WALLET_NAME)) {
727
+ console.warn(
728
+ "registerUnsafeBurnerWallet: Unsafe Burner Wallet already registered, skipping duplicate registration."
729
+ );
730
+ return;
731
+ }
732
+ console.warn(
733
+ "Your application is currently using the unsafe burner wallet. Make sure that this wallet is disabled in production."
734
+ );
735
+ const keypair = new import_ed25519.Ed25519Keypair();
736
+ const account = new import_wallet_standard.ReadonlyWalletAccount({
737
+ address: keypair.getPublicKey().toSuiAddress(),
738
+ publicKey: keypair.getPublicKey().toSuiBytes(),
739
+ chains: ["sui:unknown"],
740
+ features: ["sui:signAndExecuteTransactionBlock", "sui:signTransactionBlock"]
741
+ });
742
+ class UnsafeBurnerWallet {
743
+ constructor() {
744
+ __privateAdd(this, _on, () => {
745
+ return () => {
746
+ };
747
+ });
748
+ __privateAdd(this, _connect, async () => {
749
+ return { accounts: this.accounts };
750
+ });
751
+ __privateAdd(this, _signPersonalMessage, async (messageInput) => {
752
+ const { bytes, signature } = await keypair.signPersonalMessage(messageInput.message);
753
+ return { bytes, signature };
754
+ });
755
+ __privateAdd(this, _signTransactionBlock, async (transactionInput) => {
756
+ const { bytes, signature } = await transactionInput.transactionBlock.sign({
757
+ client: suiClient,
758
+ signer: keypair
759
+ });
760
+ return {
761
+ transactionBlockBytes: bytes,
762
+ signature
763
+ };
764
+ });
765
+ __privateAdd(this, _signAndExecuteTransactionBlock, async (transactionInput) => {
766
+ return await suiClient.signAndExecuteTransactionBlock({
767
+ signer: keypair,
768
+ transactionBlock: transactionInput.transactionBlock,
769
+ options: transactionInput.options,
770
+ requestType: transactionInput.requestType
771
+ });
772
+ });
773
+ }
774
+ get version() {
775
+ return "1.0.0";
776
+ }
777
+ get name() {
778
+ return WALLET_NAME;
779
+ }
780
+ get icon() {
781
+ return "data:image/png;base64,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";
782
+ }
783
+ // Return the Sui chains that your wallet supports.
784
+ get chains() {
785
+ return import_wallet_standard.SUI_CHAINS;
786
+ }
787
+ get accounts() {
788
+ return [account];
789
+ }
790
+ get features() {
791
+ return {
792
+ "standard:connect": {
793
+ version: "1.0.0",
794
+ connect: __privateGet(this, _connect)
795
+ },
796
+ "standard:events": {
797
+ version: "1.0.0",
798
+ on: __privateGet(this, _on)
799
+ },
800
+ "sui:signPersonalMessage": {
801
+ version: "1.0.0",
802
+ signPersonalMessage: __privateGet(this, _signPersonalMessage)
803
+ },
804
+ "sui:signTransactionBlock": {
805
+ version: "1.0.0",
806
+ signTransactionBlock: __privateGet(this, _signTransactionBlock)
807
+ },
808
+ "sui:signAndExecuteTransactionBlock": {
809
+ version: "1.0.0",
810
+ signAndExecuteTransactionBlock: __privateGet(this, _signAndExecuteTransactionBlock)
811
+ }
812
+ };
813
+ }
814
+ }
815
+ _on = new WeakMap();
816
+ _connect = new WeakMap();
817
+ _signPersonalMessage = new WeakMap();
818
+ _signTransactionBlock = new WeakMap();
819
+ _signAndExecuteTransactionBlock = new WeakMap();
820
+ return walletsApi.register(new UnsafeBurnerWallet());
821
+ }
822
+
823
+ // src/hooks/wallet/useWalletPropertiesChanged.ts
824
+ var import_react8 = require("react");
825
+ function useWalletPropertiesChanged() {
826
+ const currentWallet = useCurrentWallet();
827
+ const updateWalletAccounts = useWalletStore((state) => state.updateWalletAccounts);
828
+ (0, import_react8.useEffect)(() => {
829
+ const unsubscribeFromEvents = currentWallet?.features["standard:events"].on(
830
+ "change",
831
+ ({ accounts }) => {
832
+ if (accounts) {
833
+ updateWalletAccounts(accounts);
834
+ }
835
+ }
836
+ );
837
+ return unsubscribeFromEvents;
838
+ }, [currentWallet?.features, updateWalletAccounts]);
839
+ }
840
+
841
+ // src/hooks/wallet/useWalletsChanged.ts
842
+ var import_wallet_standard3 = require("@mysten/wallet-standard");
843
+ var import_react9 = require("react");
844
+
845
+ // src/utils/walletUtils.ts
846
+ var import_wallet_standard2 = require("@mysten/wallet-standard");
847
+ function getRegisteredWallets(preferredWallets, requiredFeatures) {
848
+ const walletsApi = (0, import_wallet_standard2.getWallets)();
849
+ const wallets = walletsApi.get();
850
+ const suiWallets = wallets.filter(
851
+ (wallet) => (0, import_wallet_standard2.isWalletWithRequiredFeatureSet)(wallet, requiredFeatures)
852
+ );
853
+ return [
854
+ // Preferred wallets, in order:
855
+ ...preferredWallets.map((name) => suiWallets.find((wallet) => wallet.name === name)).filter(Boolean),
856
+ // Wallets in default order:
857
+ ...suiWallets.filter((wallet) => !preferredWallets.includes(wallet.name))
858
+ ];
859
+ }
860
+
861
+ // src/hooks/wallet/useWalletsChanged.ts
862
+ function useWalletsChanged(preferredWallets, requiredFeatures) {
863
+ const setWalletRegistered = useWalletStore((state) => state.setWalletRegistered);
864
+ const setWalletUnregistered = useWalletStore((state) => state.setWalletUnregistered);
865
+ (0, import_react9.useEffect)(() => {
866
+ const walletsApi = (0, import_wallet_standard3.getWallets)();
867
+ const unsubscribeFromRegister = walletsApi.on("register", () => {
868
+ setWalletRegistered(getRegisteredWallets(preferredWallets, requiredFeatures));
869
+ });
870
+ const unsubscribeFromUnregister = walletsApi.on("unregister", (unregisteredWallet) => {
871
+ setWalletUnregistered(
872
+ getRegisteredWallets(preferredWallets, requiredFeatures),
873
+ unregisteredWallet
874
+ );
875
+ });
876
+ return () => {
877
+ unsubscribeFromRegister();
878
+ unsubscribeFromUnregister();
879
+ };
880
+ }, [preferredWallets, requiredFeatures, setWalletRegistered, setWalletUnregistered]);
881
+ }
882
+
883
+ // src/walletStore.ts
884
+ var import_zustand2 = require("zustand");
885
+ var import_middleware = require("zustand/middleware");
886
+ function createWalletStore({ wallets, storage, storageKey }) {
887
+ return (0, import_zustand2.createStore)()(
888
+ (0, import_middleware.persist)(
889
+ (set, get) => ({
890
+ wallets,
891
+ accounts: [],
892
+ currentWallet: null,
893
+ currentAccount: null,
894
+ lastConnectedAccountAddress: null,
895
+ lastConnectedWalletName: null,
896
+ connectionStatus: "disconnected",
897
+ setWalletConnected(wallet, selectedAccount) {
898
+ set(() => ({
899
+ accounts: wallet.accounts,
900
+ currentWallet: wallet,
901
+ currentAccount: selectedAccount,
902
+ lastConnectedWalletName: wallet.name,
903
+ lastConnectedAccountAddress: selectedAccount?.address
904
+ }));
905
+ },
906
+ setWalletDisconnected() {
907
+ set(() => ({
908
+ accounts: [],
909
+ currentWallet: null,
910
+ currentAccount: null,
911
+ lastConnectedWalletName: null,
912
+ lastConnectedAccountAddress: null
913
+ }));
914
+ },
915
+ setAccountSwitched(selectedAccount) {
916
+ set(() => ({
917
+ currentAccount: selectedAccount,
918
+ lastConnectedAccountAddress: selectedAccount.address
919
+ }));
920
+ },
921
+ setWalletRegistered(updatedWallets) {
922
+ set(() => ({ wallets: updatedWallets }));
923
+ },
924
+ setWalletUnregistered(updatedWallets, unregisteredWallet) {
925
+ if (unregisteredWallet === get().currentWallet) {
926
+ set(() => ({
927
+ wallets: updatedWallets,
928
+ accounts: [],
929
+ currentWallet: null,
930
+ currentAccount: null,
931
+ lastConnectedWalletName: null,
932
+ lastConnectedAccountAddress: null
933
+ }));
934
+ } else {
935
+ set(() => ({ wallets: updatedWallets }));
936
+ }
937
+ },
938
+ updateWalletAccounts(accounts) {
939
+ const currentAccount = get().currentAccount;
940
+ const isCurrentAccountStillAuthorized = currentAccount ? accounts.some(({ address }) => address === currentAccount.address) : false;
941
+ set(() => ({
942
+ accounts,
943
+ currentAccount: isCurrentAccountStillAuthorized ? currentAccount : accounts[0]
944
+ }));
945
+ }
946
+ }),
947
+ {
948
+ name: storageKey,
949
+ storage: (0, import_middleware.createJSONStorage)(() => storage),
950
+ partialize: ({ lastConnectedWalletName, lastConnectedAccountAddress }) => ({
951
+ lastConnectedWalletName,
952
+ lastConnectedAccountAddress
953
+ })
954
+ }
955
+ )
956
+ );
957
+ }
958
+
959
+ // src/components/WalletProvider.tsx
960
+ var import_jsx_runtime16 = require("react/jsx-runtime");
961
+ var SUI_WALLET_NAME = "Sui Wallet";
962
+ var DEFUALT_STORAGE_KEY = "sui-dapp-kit:wallet-connection-info";
963
+ function WalletProvider({
964
+ preferredWallets = [SUI_WALLET_NAME],
965
+ requiredFeatures = [],
966
+ storage = localStorage,
967
+ storageKey = DEFUALT_STORAGE_KEY,
968
+ enableUnsafeBurner = false,
969
+ autoConnect = false,
970
+ children
971
+ }) {
972
+ const storeRef = (0, import_react10.useRef)(
973
+ createWalletStore({
974
+ wallets: getRegisteredWallets(preferredWallets, requiredFeatures),
975
+ storageKey,
976
+ storage
977
+ })
978
+ );
979
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(WalletContext.Provider, { value: storeRef.current, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
980
+ WalletConnectionManager,
981
+ {
982
+ preferredWallets,
983
+ requiredFeatures,
984
+ enableUnsafeBurner,
985
+ autoConnect,
986
+ children
987
+ }
988
+ ) });
989
+ }
990
+ function WalletConnectionManager({
991
+ preferredWallets,
992
+ requiredFeatures,
993
+ enableUnsafeBurner,
994
+ autoConnect,
995
+ children
996
+ }) {
997
+ useWalletsChanged(preferredWallets, requiredFeatures);
998
+ useWalletPropertiesChanged();
999
+ useUnsafeBurnerWallet(enableUnsafeBurner);
1000
+ useAutoConnectWallet(autoConnect);
1001
+ return children;
1002
+ }
1003
+
1004
+ // src/hooks/wallet/useSignPersonalMessage.ts
1005
+ var import_react_query4 = require("@tanstack/react-query");
1006
+ function useSignPersonalMessage({
1007
+ mutationKey,
1008
+ ...mutationOptions
1009
+ } = {}) {
1010
+ const currentWallet = useCurrentWallet();
1011
+ const currentAccount = useCurrentAccount();
1012
+ return (0, import_react_query4.useMutation)({
1013
+ mutationKey: walletMutationKeys.signPersonalMessage(mutationKey),
1014
+ mutationFn: async (signPersonalMessageArgs) => {
1015
+ if (!currentWallet) {
1016
+ throw new WalletNotConnectedError("No wallet is connected.");
1017
+ }
1018
+ const signerAccount = signPersonalMessageArgs.account ?? currentAccount;
1019
+ if (!signerAccount) {
1020
+ throw new WalletNoAccountSelectedError(
1021
+ "No wallet account is selected to sign the personal message with."
1022
+ );
1023
+ }
1024
+ const walletFeature = currentWallet.features["sui:signPersonalMessage"];
1025
+ if (!walletFeature) {
1026
+ throw new WalletFeatureNotSupportedError(
1027
+ "This wallet doesn't support the `signPersonalMessage` feature."
1028
+ );
1029
+ }
1030
+ return await walletFeature.signPersonalMessage({
1031
+ ...signPersonalMessageArgs,
1032
+ account: signerAccount
1033
+ });
1034
+ },
1035
+ ...mutationOptions
1036
+ });
1037
+ }
1038
+
1039
+ // src/hooks/wallet/useSignTransactionBlock.ts
1040
+ var import_react_query5 = require("@tanstack/react-query");
1041
+ function useSignTransactionBlock({
1042
+ mutationKey,
1043
+ ...mutationOptions
1044
+ } = {}) {
1045
+ const currentWallet = useCurrentWallet();
1046
+ const currentAccount = useCurrentAccount();
1047
+ return (0, import_react_query5.useMutation)({
1048
+ mutationKey: walletMutationKeys.signTransactionBlock(mutationKey),
1049
+ mutationFn: async (signTransactionBlockArgs) => {
1050
+ if (!currentWallet) {
1051
+ throw new WalletNotConnectedError("No wallet is connected.");
1052
+ }
1053
+ const signerAccount = signTransactionBlockArgs.account ?? currentAccount;
1054
+ if (!signerAccount) {
1055
+ throw new WalletNoAccountSelectedError(
1056
+ "No wallet account is selected to sign the personal message with."
1057
+ );
1058
+ }
1059
+ const walletFeature = currentWallet.features["sui:signTransactionBlock"];
1060
+ if (!walletFeature) {
1061
+ throw new WalletFeatureNotSupportedError(
1062
+ "This wallet doesn't support the `SignTransactionBlock` feature."
1063
+ );
1064
+ }
1065
+ return await walletFeature.signTransactionBlock({
1066
+ ...signTransactionBlockArgs,
1067
+ account: signerAccount
1068
+ });
1069
+ },
1070
+ ...mutationOptions
1071
+ });
1072
+ }
1073
+
1074
+ // src/hooks/wallet/useSignAndExecuteTransactionBlock.ts
1075
+ var import_react_query6 = require("@tanstack/react-query");
1076
+ function useSignAndExecuteTransactionBlock({
1077
+ mutationKey,
1078
+ ...mutationOptions
1079
+ } = {}) {
1080
+ const currentWallet = useCurrentWallet();
1081
+ const currentAccount = useCurrentAccount();
1082
+ return (0, import_react_query6.useMutation)({
1083
+ mutationKey: walletMutationKeys.signAndExecuteTransactionBlock(mutationKey),
1084
+ mutationFn: async (signAndExecuteTransactionBlockArgs) => {
1085
+ if (!currentWallet) {
1086
+ throw new WalletNotConnectedError("No wallet is connected.");
1087
+ }
1088
+ const signerAccount = signAndExecuteTransactionBlockArgs.account ?? currentAccount;
1089
+ if (!signerAccount) {
1090
+ throw new WalletNoAccountSelectedError(
1091
+ "No wallet account is selected to sign the personal message with."
1092
+ );
1093
+ }
1094
+ const walletFeature = currentWallet.features["sui:signAndExecuteTransactionBlock"];
1095
+ if (!walletFeature) {
1096
+ throw new WalletFeatureNotSupportedError(
1097
+ "This wallet doesn't support the `signAndExecuteTransactionBlock` feature."
1098
+ );
1099
+ }
1100
+ return await walletFeature.signAndExecuteTransactionBlock({
1101
+ ...signAndExecuteTransactionBlockArgs,
1102
+ account: signerAccount
1103
+ });
1104
+ },
1105
+ ...mutationOptions
1106
+ });
1107
+ }
1108
+
1109
+ // src/hooks/useSuiClientMutation.ts
1110
+ var import_react_query7 = require("@tanstack/react-query");
1111
+ function useSuiClientMutation(method, options = {}) {
1112
+ const suiContext = useSuiClientContext();
1113
+ return (0, import_react_query7.useMutation)({
1114
+ ...options,
1115
+ mutationFn: async (params) => {
1116
+ return await suiContext.client[method](params);
1117
+ }
1118
+ });
1119
+ }
1120
+
1121
+ // src/hooks/useSuiClientQuery.ts
1122
+ var import_react_query8 = require("@tanstack/react-query");
1123
+ function useSuiClientQuery(...args) {
1124
+ const [method, params, { queryKey = [], enabled = !!params, ...options } = {}] = args;
1125
+ const suiContext = useSuiClientContext();
1126
+ return (0, import_react_query8.useQuery)({
1127
+ ...options,
1128
+ queryKey: [suiContext.network, method, params, ...queryKey],
1129
+ enabled,
1130
+ queryFn: async () => {
1131
+ return await suiContext.client[method](params);
1132
+ }
1133
+ });
1134
+ }
1135
+
1136
+ // src/hooks/useSuiClientInfiniteQuery.ts
1137
+ var import_react_query9 = require("@tanstack/react-query");
1138
+ function useSuiClientInfiniteQuery(method, params, { queryKey = [], enabled = !!params, ...options } = {}) {
1139
+ const suiContext = useSuiClientContext();
1140
+ return (0, import_react_query9.useInfiniteQuery)({
1141
+ ...options,
1142
+ queryKey: [suiContext.network, method, params, ...queryKey],
1143
+ enabled,
1144
+ queryFn: async () => {
1145
+ return await suiContext.client[method](params);
1146
+ },
1147
+ getNextPageParam: (lastPage) => {
1148
+ return lastPage.nextCursor ?? null;
1149
+ }
1150
+ });
1151
+ }
1152
+ //# sourceMappingURL=index.js.map