@reown/appkit-react-native 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1001) hide show
  1. package/lib/commonjs/AppKit.js +432 -133
  2. package/lib/commonjs/AppKit.js.map +1 -1
  3. package/lib/commonjs/AppKitContext.js +25 -18
  4. package/lib/commonjs/AppKitContext.js.map +1 -1
  5. package/lib/commonjs/connectors/WalletConnectConnector.js +90 -18
  6. package/lib/commonjs/connectors/WalletConnectConnector.js.map +1 -1
  7. package/lib/commonjs/hooks/useAccount.js +10 -4
  8. package/lib/commonjs/hooks/useAccount.js.map +1 -1
  9. package/lib/commonjs/hooks/useAppKit.js +12 -12
  10. package/lib/commonjs/hooks/useAppKit.js.map +1 -1
  11. package/lib/commonjs/hooks/useAppKitEvents.js.map +1 -1
  12. package/lib/commonjs/hooks/useAppKitLogs.js +88 -0
  13. package/lib/commonjs/hooks/useAppKitLogs.js.map +1 -0
  14. package/lib/commonjs/hooks/useAppKitState.js +32 -0
  15. package/lib/commonjs/hooks/useAppKitState.js.map +1 -0
  16. package/lib/commonjs/hooks/useDebounceCallback.js.map +1 -1
  17. package/lib/commonjs/hooks/useKeyboard.js.map +1 -1
  18. package/lib/commonjs/hooks/useProvider.js +54 -17
  19. package/lib/commonjs/hooks/useProvider.js.map +1 -1
  20. package/lib/commonjs/hooks/useRouteTransition.js +89 -0
  21. package/lib/commonjs/hooks/useRouteTransition.js.map +1 -0
  22. package/lib/commonjs/hooks/useTimeout.js.map +1 -1
  23. package/lib/commonjs/hooks/useWalletInfo.js +6 -4
  24. package/lib/commonjs/hooks/useWalletInfo.js.map +1 -1
  25. package/lib/commonjs/index.js +26 -60
  26. package/lib/commonjs/index.js.map +1 -1
  27. package/lib/commonjs/modal/w3m-account-button/index.js +21 -20
  28. package/lib/commonjs/modal/w3m-account-button/index.js.map +1 -1
  29. package/lib/commonjs/modal/w3m-button/index.js +4 -3
  30. package/lib/commonjs/modal/w3m-button/index.js.map +1 -1
  31. package/lib/commonjs/modal/w3m-connect-button/index.js +13 -10
  32. package/lib/commonjs/modal/w3m-connect-button/index.js.map +1 -1
  33. package/lib/commonjs/modal/w3m-modal/index.js +38 -103
  34. package/lib/commonjs/modal/w3m-modal/index.js.map +1 -1
  35. package/lib/commonjs/modal/w3m-modal/styles.js +1 -6
  36. package/lib/commonjs/modal/w3m-modal/styles.js.map +1 -1
  37. package/lib/commonjs/modal/w3m-network-button/index.js +23 -14
  38. package/lib/commonjs/modal/w3m-network-button/index.js.map +1 -1
  39. package/lib/commonjs/modal/w3m-router/index.js +32 -39
  40. package/lib/commonjs/modal/w3m-router/index.js.map +1 -1
  41. package/lib/commonjs/package.json +1 -0
  42. package/lib/commonjs/partials/w3m-account-activity/index.js +85 -72
  43. package/lib/commonjs/partials/w3m-account-activity/index.js.map +1 -1
  44. package/lib/commonjs/partials/w3m-account-activity/styles.js.map +1 -1
  45. package/lib/commonjs/partials/w3m-account-activity/utils.js.map +1 -1
  46. package/lib/commonjs/partials/w3m-account-tokens/index.js +56 -38
  47. package/lib/commonjs/partials/w3m-account-tokens/index.js.map +1 -1
  48. package/lib/commonjs/partials/w3m-account-wallet-features/index.js +76 -69
  49. package/lib/commonjs/partials/w3m-account-wallet-features/index.js.map +1 -1
  50. package/lib/commonjs/partials/w3m-account-wallet-features/styles.js.map +1 -1
  51. package/lib/commonjs/partials/w3m-all-wallets-list/components/Loading.js +25 -0
  52. package/lib/commonjs/partials/w3m-all-wallets-list/components/Loading.js.map +1 -0
  53. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletItem.js +44 -0
  54. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletItem.js.map +1 -0
  55. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletList.js +135 -0
  56. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletList.js.map +1 -0
  57. package/lib/commonjs/partials/w3m-all-wallets-list/index.js +24 -77
  58. package/lib/commonjs/partials/w3m-all-wallets-list/index.js.map +1 -1
  59. package/lib/commonjs/partials/w3m-all-wallets-list/styles.js +11 -7
  60. package/lib/commonjs/partials/w3m-all-wallets-list/styles.js.map +1 -1
  61. package/lib/commonjs/partials/w3m-all-wallets-search/index.js +31 -74
  62. package/lib/commonjs/partials/w3m-all-wallets-search/index.js.map +1 -1
  63. package/lib/commonjs/partials/w3m-all-wallets-search/styles.js +4 -5
  64. package/lib/commonjs/partials/w3m-all-wallets-search/styles.js.map +1 -1
  65. package/lib/commonjs/partials/w3m-connecting-body/index.js +14 -10
  66. package/lib/commonjs/partials/w3m-connecting-body/index.js.map +1 -1
  67. package/lib/commonjs/partials/w3m-connecting-body/utils.js.map +1 -1
  68. package/lib/commonjs/partials/w3m-connecting-header/index.js +9 -7
  69. package/lib/commonjs/partials/w3m-connecting-header/index.js.map +1 -1
  70. package/lib/commonjs/partials/w3m-connecting-mobile/components/StoreLink.js +17 -13
  71. package/lib/commonjs/partials/w3m-connecting-mobile/components/StoreLink.js.map +1 -1
  72. package/lib/commonjs/partials/w3m-connecting-mobile/index.js +80 -53
  73. package/lib/commonjs/partials/w3m-connecting-mobile/index.js.map +1 -1
  74. package/lib/commonjs/partials/w3m-connecting-mobile/styles.js +2 -1
  75. package/lib/commonjs/partials/w3m-connecting-mobile/styles.js.map +1 -1
  76. package/lib/commonjs/partials/w3m-connecting-qrcode/components/ReownButton.js +36 -0
  77. package/lib/commonjs/partials/w3m-connecting-qrcode/components/ReownButton.js.map +1 -0
  78. package/lib/commonjs/partials/w3m-connecting-qrcode/index.js +42 -30
  79. package/lib/commonjs/partials/w3m-connecting-qrcode/index.js.map +1 -1
  80. package/lib/commonjs/partials/w3m-connecting-qrcode/styles.js +3 -0
  81. package/lib/commonjs/partials/w3m-connecting-qrcode/styles.js.map +1 -1
  82. package/lib/commonjs/partials/w3m-connecting-web/index.js +58 -43
  83. package/lib/commonjs/partials/w3m-connecting-web/index.js.map +1 -1
  84. package/lib/commonjs/partials/w3m-connecting-web/styles.js +3 -0
  85. package/lib/commonjs/partials/w3m-connecting-web/styles.js.map +1 -1
  86. package/lib/commonjs/partials/w3m-header/index.js +35 -56
  87. package/lib/commonjs/partials/w3m-header/index.js.map +1 -1
  88. package/lib/commonjs/partials/w3m-header/styles.js.map +1 -1
  89. package/lib/commonjs/partials/w3m-information-modal/index.js +37 -29
  90. package/lib/commonjs/partials/w3m-information-modal/index.js.map +1 -1
  91. package/lib/commonjs/partials/w3m-information-modal/styles.js +6 -4
  92. package/lib/commonjs/partials/w3m-information-modal/styles.js.map +1 -1
  93. package/lib/commonjs/partials/w3m-placeholder/index.js +27 -22
  94. package/lib/commonjs/partials/w3m-placeholder/index.js.map +1 -1
  95. package/lib/commonjs/partials/w3m-selector-modal/index.js +91 -68
  96. package/lib/commonjs/partials/w3m-selector-modal/index.js.map +1 -1
  97. package/lib/commonjs/partials/w3m-selector-modal/styles.js +10 -11
  98. package/lib/commonjs/partials/w3m-selector-modal/styles.js.map +1 -1
  99. package/lib/commonjs/partials/w3m-send-input-address/index.js +27 -35
  100. package/lib/commonjs/partials/w3m-send-input-address/index.js.map +1 -1
  101. package/lib/commonjs/partials/w3m-send-input-address/styles.js.map +1 -1
  102. package/lib/commonjs/partials/w3m-send-input-token/index.js +71 -60
  103. package/lib/commonjs/partials/w3m-send-input-token/index.js.map +1 -1
  104. package/lib/commonjs/partials/w3m-send-input-token/styles.js +3 -0
  105. package/lib/commonjs/partials/w3m-send-input-token/styles.js.map +1 -1
  106. package/lib/commonjs/partials/w3m-send-input-token/utils.js +2 -2
  107. package/lib/commonjs/partials/w3m-send-input-token/utils.js.map +1 -1
  108. package/lib/commonjs/partials/w3m-snackbar/index.js +10 -13
  109. package/lib/commonjs/partials/w3m-snackbar/index.js.map +1 -1
  110. package/lib/commonjs/partials/w3m-snackbar/styles.js.map +1 -1
  111. package/lib/commonjs/partials/w3m-swap-details/index.js +130 -104
  112. package/lib/commonjs/partials/w3m-swap-details/index.js.map +1 -1
  113. package/lib/commonjs/partials/w3m-swap-details/styles.js.map +1 -1
  114. package/lib/commonjs/partials/w3m-swap-details/utils.js.map +1 -1
  115. package/lib/commonjs/partials/w3m-swap-input/index.js +97 -68
  116. package/lib/commonjs/partials/w3m-swap-input/index.js.map +1 -1
  117. package/lib/commonjs/partials/w3m-swap-input/styles.js +3 -0
  118. package/lib/commonjs/partials/w3m-swap-input/styles.js.map +1 -1
  119. package/lib/commonjs/types.js +6 -0
  120. package/lib/commonjs/types.js.map +1 -0
  121. package/lib/commonjs/utils/HelpersUtil.js +20 -0
  122. package/lib/commonjs/utils/HelpersUtil.js.map +1 -1
  123. package/lib/commonjs/utils/NetworkUtil.js +6 -8
  124. package/lib/commonjs/utils/NetworkUtil.js.map +1 -1
  125. package/lib/commonjs/utils/RouterUtil.js +52 -0
  126. package/lib/commonjs/utils/RouterUtil.js.map +1 -0
  127. package/lib/commonjs/utils/SIWXUtil.js +278 -0
  128. package/lib/commonjs/utils/SIWXUtil.js.map +1 -0
  129. package/lib/commonjs/utils/UiUtil.js +13 -15
  130. package/lib/commonjs/utils/UiUtil.js.map +1 -1
  131. package/lib/commonjs/views/w3m-account-default-view/components/auth-buttons.js +21 -25
  132. package/lib/commonjs/views/w3m-account-default-view/components/auth-buttons.js.map +1 -1
  133. package/lib/commonjs/views/w3m-account-default-view/components/upgrade-wallet-button.js +27 -22
  134. package/lib/commonjs/views/w3m-account-default-view/components/upgrade-wallet-button.js.map +1 -1
  135. package/lib/commonjs/views/w3m-account-default-view/index.js +218 -184
  136. package/lib/commonjs/views/w3m-account-default-view/index.js.map +1 -1
  137. package/lib/commonjs/views/w3m-account-default-view/styles.js.map +1 -1
  138. package/lib/commonjs/views/w3m-account-view/index.js +46 -56
  139. package/lib/commonjs/views/w3m-account-view/index.js.map +1 -1
  140. package/lib/commonjs/views/w3m-account-view/styles.js +0 -10
  141. package/lib/commonjs/views/w3m-account-view/styles.js.map +1 -1
  142. package/lib/commonjs/views/w3m-all-wallets-view/index.js +40 -41
  143. package/lib/commonjs/views/w3m-all-wallets-view/index.js.map +1 -1
  144. package/lib/commonjs/views/w3m-all-wallets-view/styles.js.map +1 -1
  145. package/lib/commonjs/views/w3m-connect-socials-view/index.js +22 -26
  146. package/lib/commonjs/views/w3m-connect-socials-view/index.js.map +1 -1
  147. package/lib/commonjs/views/w3m-connect-socials-view/styles.js.map +1 -1
  148. package/lib/commonjs/views/w3m-connect-view/components/all-wallet-list.js +59 -23
  149. package/lib/commonjs/views/w3m-connect-view/components/all-wallet-list.js.map +1 -1
  150. package/lib/commonjs/views/w3m-connect-view/components/all-wallets-button.js +3 -6
  151. package/lib/commonjs/views/w3m-connect-view/components/all-wallets-button.js.map +1 -1
  152. package/lib/commonjs/views/w3m-connect-view/components/social-login-list.js +44 -37
  153. package/lib/commonjs/views/w3m-connect-view/components/social-login-list.js.map +1 -1
  154. package/lib/commonjs/views/w3m-connect-view/index.js +66 -100
  155. package/lib/commonjs/views/w3m-connect-view/index.js.map +1 -1
  156. package/lib/commonjs/views/w3m-connect-view/styles.js.map +1 -1
  157. package/lib/commonjs/views/w3m-connecting-external-view/index.js +99 -57
  158. package/lib/commonjs/views/w3m-connecting-external-view/index.js.map +1 -1
  159. package/lib/commonjs/views/w3m-connecting-external-view/styles.js +1 -1
  160. package/lib/commonjs/views/w3m-connecting-external-view/styles.js.map +1 -1
  161. package/lib/commonjs/views/w3m-connecting-social-view/index.js +75 -89
  162. package/lib/commonjs/views/w3m-connecting-social-view/index.js.map +1 -1
  163. package/lib/commonjs/views/w3m-connecting-social-view/styles.js.map +1 -1
  164. package/lib/commonjs/views/w3m-connecting-view/index.js +28 -65
  165. package/lib/commonjs/views/w3m-connecting-view/index.js.map +1 -1
  166. package/lib/commonjs/views/w3m-get-wallet-view/index.js +21 -16
  167. package/lib/commonjs/views/w3m-get-wallet-view/index.js.map +1 -1
  168. package/lib/commonjs/views/w3m-get-wallet-view/styles.js.map +1 -1
  169. package/lib/commonjs/views/w3m-network-switch-view/index.js +82 -89
  170. package/lib/commonjs/views/w3m-network-switch-view/index.js.map +1 -1
  171. package/lib/commonjs/views/w3m-network-switch-view/styles.js.map +1 -1
  172. package/lib/commonjs/views/w3m-networks-view/index.js +80 -56
  173. package/lib/commonjs/views/w3m-networks-view/index.js.map +1 -1
  174. package/lib/commonjs/views/w3m-networks-view/styles.js.map +1 -1
  175. package/lib/commonjs/views/w3m-onramp-checkout-view/index.js +195 -141
  176. package/lib/commonjs/views/w3m-onramp-checkout-view/index.js.map +1 -1
  177. package/lib/commonjs/views/w3m-onramp-loading-view/index.js +46 -41
  178. package/lib/commonjs/views/w3m-onramp-loading-view/index.js.map +1 -1
  179. package/lib/commonjs/views/w3m-onramp-loading-view/styles.js +1 -1
  180. package/lib/commonjs/views/w3m-onramp-loading-view/styles.js.map +1 -1
  181. package/lib/commonjs/views/w3m-onramp-settings-view/components/Country.js +41 -31
  182. package/lib/commonjs/views/w3m-onramp-settings-view/components/Country.js.map +1 -1
  183. package/lib/commonjs/views/w3m-onramp-settings-view/index.js +93 -66
  184. package/lib/commonjs/views/w3m-onramp-settings-view/index.js.map +1 -1
  185. package/lib/commonjs/views/w3m-onramp-settings-view/styles.js +4 -1
  186. package/lib/commonjs/views/w3m-onramp-settings-view/styles.js.map +1 -1
  187. package/lib/commonjs/views/w3m-onramp-settings-view/utils.js +17 -1
  188. package/lib/commonjs/views/w3m-onramp-settings-view/utils.js.map +1 -1
  189. package/lib/commonjs/views/w3m-onramp-transaction-view/index.js +95 -74
  190. package/lib/commonjs/views/w3m-onramp-transaction-view/index.js.map +1 -1
  191. package/lib/commonjs/views/w3m-onramp-transaction-view/styles.js.map +1 -1
  192. package/lib/commonjs/views/w3m-onramp-view/components/Currency.js +43 -32
  193. package/lib/commonjs/views/w3m-onramp-view/components/Currency.js.map +1 -1
  194. package/lib/commonjs/views/w3m-onramp-view/components/CurrencyInput.js +69 -57
  195. package/lib/commonjs/views/w3m-onramp-view/components/CurrencyInput.js.map +1 -1
  196. package/lib/commonjs/views/w3m-onramp-view/components/Header.js +27 -25
  197. package/lib/commonjs/views/w3m-onramp-view/components/Header.js.map +1 -1
  198. package/lib/commonjs/views/w3m-onramp-view/components/LoadingView.js +52 -43
  199. package/lib/commonjs/views/w3m-onramp-view/components/LoadingView.js.map +1 -1
  200. package/lib/commonjs/views/w3m-onramp-view/components/PaymentButton.js +120 -0
  201. package/lib/commonjs/views/w3m-onramp-view/components/PaymentButton.js.map +1 -0
  202. package/lib/commonjs/views/w3m-onramp-view/components/PaymentMethod.js +38 -33
  203. package/lib/commonjs/views/w3m-onramp-view/components/PaymentMethod.js.map +1 -1
  204. package/lib/commonjs/views/w3m-onramp-view/components/Quote.js +49 -38
  205. package/lib/commonjs/views/w3m-onramp-view/components/Quote.js.map +1 -1
  206. package/lib/commonjs/views/w3m-onramp-view/components/SelectPaymentModal.js +115 -117
  207. package/lib/commonjs/views/w3m-onramp-view/components/SelectPaymentModal.js.map +1 -1
  208. package/lib/commonjs/views/w3m-onramp-view/index.js +117 -122
  209. package/lib/commonjs/views/w3m-onramp-view/index.js.map +1 -1
  210. package/lib/commonjs/views/w3m-onramp-view/styles.js +7 -0
  211. package/lib/commonjs/views/w3m-onramp-view/styles.js.map +1 -1
  212. package/lib/commonjs/views/w3m-onramp-view/utils.js +19 -78
  213. package/lib/commonjs/views/w3m-onramp-view/utils.js.map +1 -1
  214. package/lib/commonjs/views/w3m-siwx-sign-view/index.js +110 -0
  215. package/lib/commonjs/views/w3m-siwx-sign-view/index.js.map +1 -0
  216. package/lib/commonjs/views/{w3m-email-verify-device-view → w3m-siwx-sign-view}/styles.js +13 -10
  217. package/lib/commonjs/views/w3m-siwx-sign-view/styles.js.map +1 -0
  218. package/lib/commonjs/views/w3m-swap-preview-view/index.js +87 -82
  219. package/lib/commonjs/views/w3m-swap-preview-view/index.js.map +1 -1
  220. package/lib/commonjs/views/w3m-swap-preview-view/styles.js.map +1 -1
  221. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/index.js +156 -0
  222. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/index.js.map +1 -0
  223. package/lib/commonjs/views/{w3m-swap-select-token-view → w3m-swap-view/components/select-token-modal}/styles.js +15 -3
  224. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/styles.js.map +1 -0
  225. package/lib/commonjs/views/{w3m-swap-select-token-view → w3m-swap-view/components/select-token-modal}/utils.js +7 -4
  226. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/utils.js.map +1 -0
  227. package/lib/commonjs/views/w3m-swap-view/index.js +84 -80
  228. package/lib/commonjs/views/w3m-swap-view/index.js.map +1 -1
  229. package/lib/commonjs/views/w3m-swap-view/styles.js.map +1 -1
  230. package/lib/commonjs/views/w3m-transactions-view/index.js +2 -1
  231. package/lib/commonjs/views/w3m-transactions-view/index.js.map +1 -1
  232. package/lib/commonjs/views/w3m-unsupported-chain-view/index.js +37 -48
  233. package/lib/commonjs/views/w3m-unsupported-chain-view/index.js.map +1 -1
  234. package/lib/commonjs/views/w3m-unsupported-chain-view/styles.js +1 -1
  235. package/lib/commonjs/views/w3m-unsupported-chain-view/styles.js.map +1 -1
  236. package/lib/commonjs/views/w3m-upgrade-email-wallet-view/index.js +21 -24
  237. package/lib/commonjs/views/w3m-upgrade-email-wallet-view/index.js.map +1 -1
  238. package/lib/commonjs/views/w3m-wallet-compatible-networks-view/index.js +34 -27
  239. package/lib/commonjs/views/w3m-wallet-compatible-networks-view/index.js.map +1 -1
  240. package/lib/commonjs/views/w3m-wallet-compatible-networks-view/styles.js.map +1 -1
  241. package/lib/commonjs/views/w3m-wallet-receive-view/index.js +48 -46
  242. package/lib/commonjs/views/w3m-wallet-receive-view/index.js.map +1 -1
  243. package/lib/commonjs/views/w3m-wallet-receive-view/styles.js.map +1 -1
  244. package/lib/commonjs/views/w3m-wallet-send-preview-view/components/preview-send-details.js +41 -40
  245. package/lib/commonjs/views/w3m-wallet-send-preview-view/components/preview-send-details.js.map +1 -1
  246. package/lib/commonjs/views/w3m-wallet-send-preview-view/components/preview-send-pill.js +9 -6
  247. package/lib/commonjs/views/w3m-wallet-send-preview-view/components/preview-send-pill.js.map +1 -1
  248. package/lib/commonjs/views/w3m-wallet-send-preview-view/index.js +97 -83
  249. package/lib/commonjs/views/w3m-wallet-send-preview-view/index.js.map +1 -1
  250. package/lib/commonjs/views/w3m-wallet-send-preview-view/styles.js.map +1 -1
  251. package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js +49 -47
  252. package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
  253. package/lib/commonjs/views/w3m-wallet-send-select-token-view/styles.js.map +1 -1
  254. package/lib/commonjs/views/w3m-wallet-send-view/index.js +59 -66
  255. package/lib/commonjs/views/w3m-wallet-send-view/index.js.map +1 -1
  256. package/lib/commonjs/views/w3m-wallet-send-view/styles.js.map +1 -1
  257. package/lib/commonjs/views/w3m-what-is-a-network-view/index.js +56 -47
  258. package/lib/commonjs/views/w3m-what-is-a-network-view/index.js.map +1 -1
  259. package/lib/commonjs/views/w3m-what-is-a-network-view/styles.js.map +1 -1
  260. package/lib/commonjs/views/w3m-what-is-a-wallet-view/index.js +78 -66
  261. package/lib/commonjs/views/w3m-what-is-a-wallet-view/index.js.map +1 -1
  262. package/lib/commonjs/views/w3m-what-is-a-wallet-view/styles.js.map +1 -1
  263. package/lib/module/AppKit.js +434 -134
  264. package/lib/module/AppKit.js.map +1 -1
  265. package/lib/module/AppKitContext.js +25 -15
  266. package/lib/module/AppKitContext.js.map +1 -1
  267. package/lib/module/connectors/WalletConnectConnector.js +91 -18
  268. package/lib/module/connectors/WalletConnectConnector.js.map +1 -1
  269. package/lib/module/hooks/useAccount.js +12 -5
  270. package/lib/module/hooks/useAccount.js.map +1 -1
  271. package/lib/module/hooks/useAppKit.js +15 -13
  272. package/lib/module/hooks/useAppKit.js.map +1 -1
  273. package/lib/module/hooks/useAppKitEvents.js +2 -0
  274. package/lib/module/hooks/useAppKitEvents.js.map +1 -1
  275. package/lib/module/hooks/useAppKitLogs.js +83 -0
  276. package/lib/module/hooks/useAppKitLogs.js.map +1 -0
  277. package/lib/module/hooks/useAppKitState.js +27 -0
  278. package/lib/module/hooks/useAppKitState.js.map +1 -0
  279. package/lib/module/hooks/useDebounceCallback.js +2 -0
  280. package/lib/module/hooks/useDebounceCallback.js.map +1 -1
  281. package/lib/module/hooks/useKeyboard.js +2 -0
  282. package/lib/module/hooks/useKeyboard.js.map +1 -1
  283. package/lib/module/hooks/useProvider.js +57 -18
  284. package/lib/module/hooks/useProvider.js.map +1 -1
  285. package/lib/module/hooks/useRouteTransition.js +85 -0
  286. package/lib/module/hooks/useRouteTransition.js.map +1 -0
  287. package/lib/module/hooks/useTimeout.js +2 -0
  288. package/lib/module/hooks/useTimeout.js.map +1 -1
  289. package/lib/module/hooks/useWalletInfo.js +8 -4
  290. package/lib/module/hooks/useWalletInfo.js.map +1 -1
  291. package/lib/module/index.js +16 -6
  292. package/lib/module/index.js.map +1 -1
  293. package/lib/module/modal/w3m-account-button/index.js +24 -22
  294. package/lib/module/modal/w3m-account-button/index.js.map +1 -1
  295. package/lib/module/modal/w3m-button/index.js +7 -4
  296. package/lib/module/modal/w3m-button/index.js.map +1 -1
  297. package/lib/module/modal/w3m-connect-button/index.js +15 -10
  298. package/lib/module/modal/w3m-connect-button/index.js.map +1 -1
  299. package/lib/module/modal/w3m-modal/index.js +43 -106
  300. package/lib/module/modal/w3m-modal/index.js.map +1 -1
  301. package/lib/module/modal/w3m-modal/styles.js +3 -6
  302. package/lib/module/modal/w3m-modal/styles.js.map +1 -1
  303. package/lib/module/modal/w3m-network-button/index.js +26 -15
  304. package/lib/module/modal/w3m-network-button/index.js.map +1 -1
  305. package/lib/module/modal/w3m-router/index.js +34 -39
  306. package/lib/module/modal/w3m-router/index.js.map +1 -1
  307. package/lib/module/partials/w3m-account-activity/index.js +88 -73
  308. package/lib/module/partials/w3m-account-activity/index.js.map +1 -1
  309. package/lib/module/partials/w3m-account-activity/styles.js +2 -0
  310. package/lib/module/partials/w3m-account-activity/styles.js.map +1 -1
  311. package/lib/module/partials/w3m-account-activity/utils.js +2 -0
  312. package/lib/module/partials/w3m-account-activity/utils.js.map +1 -1
  313. package/lib/module/partials/w3m-account-tokens/index.js +60 -40
  314. package/lib/module/partials/w3m-account-tokens/index.js.map +1 -1
  315. package/lib/module/partials/w3m-account-wallet-features/index.js +79 -70
  316. package/lib/module/partials/w3m-account-wallet-features/index.js.map +1 -1
  317. package/lib/module/partials/w3m-account-wallet-features/styles.js +2 -0
  318. package/lib/module/partials/w3m-account-wallet-features/styles.js.map +1 -1
  319. package/lib/module/partials/w3m-all-wallets-list/components/Loading.js +21 -0
  320. package/lib/module/partials/w3m-all-wallets-list/components/Loading.js.map +1 -0
  321. package/lib/module/partials/w3m-all-wallets-list/components/WalletItem.js +39 -0
  322. package/lib/module/partials/w3m-all-wallets-list/components/WalletItem.js.map +1 -0
  323. package/lib/module/partials/w3m-all-wallets-list/components/WalletList.js +131 -0
  324. package/lib/module/partials/w3m-all-wallets-list/components/WalletList.js.map +1 -0
  325. package/lib/module/partials/w3m-all-wallets-list/index.js +27 -78
  326. package/lib/module/partials/w3m-all-wallets-list/index.js.map +1 -1
  327. package/lib/module/partials/w3m-all-wallets-list/styles.js +13 -7
  328. package/lib/module/partials/w3m-all-wallets-list/styles.js.map +1 -1
  329. package/lib/module/partials/w3m-all-wallets-search/index.js +34 -75
  330. package/lib/module/partials/w3m-all-wallets-search/index.js.map +1 -1
  331. package/lib/module/partials/w3m-all-wallets-search/styles.js +6 -5
  332. package/lib/module/partials/w3m-all-wallets-search/styles.js.map +1 -1
  333. package/lib/module/partials/w3m-connecting-body/index.js +16 -10
  334. package/lib/module/partials/w3m-connecting-body/index.js.map +1 -1
  335. package/lib/module/partials/w3m-connecting-body/utils.js +2 -0
  336. package/lib/module/partials/w3m-connecting-body/utils.js.map +1 -1
  337. package/lib/module/partials/w3m-connecting-header/index.js +11 -7
  338. package/lib/module/partials/w3m-connecting-header/index.js.map +1 -1
  339. package/lib/module/partials/w3m-connecting-mobile/components/StoreLink.js +19 -13
  340. package/lib/module/partials/w3m-connecting-mobile/components/StoreLink.js.map +1 -1
  341. package/lib/module/partials/w3m-connecting-mobile/index.js +83 -54
  342. package/lib/module/partials/w3m-connecting-mobile/index.js.map +1 -1
  343. package/lib/module/partials/w3m-connecting-mobile/styles.js +4 -1
  344. package/lib/module/partials/w3m-connecting-mobile/styles.js.map +1 -1
  345. package/lib/module/partials/w3m-connecting-qrcode/components/ReownButton.js +32 -0
  346. package/lib/module/partials/w3m-connecting-qrcode/components/ReownButton.js.map +1 -0
  347. package/lib/module/partials/w3m-connecting-qrcode/index.js +45 -31
  348. package/lib/module/partials/w3m-connecting-qrcode/index.js.map +1 -1
  349. package/lib/module/partials/w3m-connecting-qrcode/styles.js +5 -0
  350. package/lib/module/partials/w3m-connecting-qrcode/styles.js.map +1 -1
  351. package/lib/module/partials/w3m-connecting-web/index.js +61 -44
  352. package/lib/module/partials/w3m-connecting-web/index.js.map +1 -1
  353. package/lib/module/partials/w3m-connecting-web/styles.js +5 -0
  354. package/lib/module/partials/w3m-connecting-web/styles.js.map +1 -1
  355. package/lib/module/partials/w3m-header/index.js +38 -57
  356. package/lib/module/partials/w3m-header/index.js.map +1 -1
  357. package/lib/module/partials/w3m-header/styles.js +2 -0
  358. package/lib/module/partials/w3m-header/styles.js.map +1 -1
  359. package/lib/module/partials/w3m-information-modal/index.js +39 -29
  360. package/lib/module/partials/w3m-information-modal/index.js.map +1 -1
  361. package/lib/module/partials/w3m-information-modal/styles.js +9 -5
  362. package/lib/module/partials/w3m-information-modal/styles.js.map +1 -1
  363. package/lib/module/partials/w3m-placeholder/index.js +29 -22
  364. package/lib/module/partials/w3m-placeholder/index.js.map +1 -1
  365. package/lib/module/partials/w3m-selector-modal/index.js +95 -70
  366. package/lib/module/partials/w3m-selector-modal/index.js.map +1 -1
  367. package/lib/module/partials/w3m-selector-modal/styles.js +12 -11
  368. package/lib/module/partials/w3m-selector-modal/styles.js.map +1 -1
  369. package/lib/module/partials/w3m-send-input-address/index.js +30 -36
  370. package/lib/module/partials/w3m-send-input-address/index.js.map +1 -1
  371. package/lib/module/partials/w3m-send-input-address/styles.js +2 -0
  372. package/lib/module/partials/w3m-send-input-address/styles.js.map +1 -1
  373. package/lib/module/partials/w3m-send-input-token/index.js +75 -62
  374. package/lib/module/partials/w3m-send-input-token/index.js.map +1 -1
  375. package/lib/module/partials/w3m-send-input-token/styles.js +5 -0
  376. package/lib/module/partials/w3m-send-input-token/styles.js.map +1 -1
  377. package/lib/module/partials/w3m-send-input-token/utils.js +4 -2
  378. package/lib/module/partials/w3m-send-input-token/utils.js.map +1 -1
  379. package/lib/module/partials/w3m-snackbar/index.js +12 -13
  380. package/lib/module/partials/w3m-snackbar/index.js.map +1 -1
  381. package/lib/module/partials/w3m-snackbar/styles.js +2 -0
  382. package/lib/module/partials/w3m-snackbar/styles.js.map +1 -1
  383. package/lib/module/partials/w3m-swap-details/index.js +132 -104
  384. package/lib/module/partials/w3m-swap-details/index.js.map +1 -1
  385. package/lib/module/partials/w3m-swap-details/styles.js +2 -0
  386. package/lib/module/partials/w3m-swap-details/styles.js.map +1 -1
  387. package/lib/module/partials/w3m-swap-details/utils.js +2 -0
  388. package/lib/module/partials/w3m-swap-details/utils.js.map +1 -1
  389. package/lib/module/partials/w3m-swap-input/index.js +99 -68
  390. package/lib/module/partials/w3m-swap-input/index.js.map +1 -1
  391. package/lib/module/partials/w3m-swap-input/styles.js +5 -0
  392. package/lib/module/partials/w3m-swap-input/styles.js.map +1 -1
  393. package/lib/module/types.js +4 -0
  394. package/lib/module/types.js.map +1 -0
  395. package/lib/module/utils/HelpersUtil.js +23 -1
  396. package/lib/module/utils/HelpersUtil.js.map +1 -1
  397. package/lib/module/utils/NetworkUtil.js +8 -8
  398. package/lib/module/utils/NetworkUtil.js.map +1 -1
  399. package/lib/module/utils/RouterUtil.js +48 -0
  400. package/lib/module/utils/RouterUtil.js.map +1 -0
  401. package/lib/module/utils/SIWXUtil.js +275 -0
  402. package/lib/module/utils/SIWXUtil.js.map +1 -0
  403. package/lib/module/utils/UiUtil.js +17 -16
  404. package/lib/module/utils/UiUtil.js.map +1 -1
  405. package/lib/module/views/w3m-account-default-view/components/auth-buttons.js +24 -26
  406. package/lib/module/views/w3m-account-default-view/components/auth-buttons.js.map +1 -1
  407. package/lib/module/views/w3m-account-default-view/components/upgrade-wallet-button.js +29 -22
  408. package/lib/module/views/w3m-account-default-view/components/upgrade-wallet-button.js.map +1 -1
  409. package/lib/module/views/w3m-account-default-view/index.js +221 -186
  410. package/lib/module/views/w3m-account-default-view/index.js.map +1 -1
  411. package/lib/module/views/w3m-account-default-view/styles.js +2 -0
  412. package/lib/module/views/w3m-account-default-view/styles.js.map +1 -1
  413. package/lib/module/views/w3m-account-view/index.js +49 -57
  414. package/lib/module/views/w3m-account-view/index.js.map +1 -1
  415. package/lib/module/views/w3m-account-view/styles.js +3 -11
  416. package/lib/module/views/w3m-account-view/styles.js.map +1 -1
  417. package/lib/module/views/w3m-all-wallets-view/index.js +43 -42
  418. package/lib/module/views/w3m-all-wallets-view/index.js.map +1 -1
  419. package/lib/module/views/w3m-all-wallets-view/styles.js +2 -0
  420. package/lib/module/views/w3m-all-wallets-view/styles.js.map +1 -1
  421. package/lib/module/views/w3m-connect-socials-view/index.js +24 -26
  422. package/lib/module/views/w3m-connect-socials-view/index.js.map +1 -1
  423. package/lib/module/views/w3m-connect-socials-view/styles.js +2 -0
  424. package/lib/module/views/w3m-connect-socials-view/styles.js.map +1 -1
  425. package/lib/module/views/w3m-connect-view/components/all-wallet-list.js +62 -24
  426. package/lib/module/views/w3m-connect-view/components/all-wallet-list.js.map +1 -1
  427. package/lib/module/views/w3m-connect-view/components/all-wallets-button.js +5 -6
  428. package/lib/module/views/w3m-connect-view/components/all-wallets-button.js.map +1 -1
  429. package/lib/module/views/w3m-connect-view/components/social-login-list.js +47 -38
  430. package/lib/module/views/w3m-connect-view/components/social-login-list.js.map +1 -1
  431. package/lib/module/views/w3m-connect-view/index.js +70 -102
  432. package/lib/module/views/w3m-connect-view/index.js.map +1 -1
  433. package/lib/module/views/w3m-connect-view/styles.js +2 -0
  434. package/lib/module/views/w3m-connect-view/styles.js.map +1 -1
  435. package/lib/module/views/w3m-connecting-external-view/index.js +103 -59
  436. package/lib/module/views/w3m-connecting-external-view/index.js.map +1 -1
  437. package/lib/module/views/w3m-connecting-external-view/styles.js +3 -1
  438. package/lib/module/views/w3m-connecting-external-view/styles.js.map +1 -1
  439. package/lib/module/views/w3m-connecting-social-view/index.js +79 -91
  440. package/lib/module/views/w3m-connecting-social-view/index.js.map +1 -1
  441. package/lib/module/views/w3m-connecting-social-view/styles.js +2 -0
  442. package/lib/module/views/w3m-connecting-social-view/styles.js.map +1 -1
  443. package/lib/module/views/w3m-connecting-view/index.js +33 -68
  444. package/lib/module/views/w3m-connecting-view/index.js.map +1 -1
  445. package/lib/module/views/w3m-get-wallet-view/index.js +24 -17
  446. package/lib/module/views/w3m-get-wallet-view/index.js.map +1 -1
  447. package/lib/module/views/w3m-get-wallet-view/styles.js +2 -0
  448. package/lib/module/views/w3m-get-wallet-view/styles.js.map +1 -1
  449. package/lib/module/views/w3m-network-switch-view/index.js +87 -91
  450. package/lib/module/views/w3m-network-switch-view/index.js.map +1 -1
  451. package/lib/module/views/w3m-network-switch-view/styles.js +2 -0
  452. package/lib/module/views/w3m-network-switch-view/styles.js.map +1 -1
  453. package/lib/module/views/w3m-networks-view/index.js +84 -59
  454. package/lib/module/views/w3m-networks-view/index.js.map +1 -1
  455. package/lib/module/views/w3m-networks-view/styles.js +2 -0
  456. package/lib/module/views/w3m-networks-view/styles.js.map +1 -1
  457. package/lib/module/views/w3m-onramp-checkout-view/index.js +200 -144
  458. package/lib/module/views/w3m-onramp-checkout-view/index.js.map +1 -1
  459. package/lib/module/views/w3m-onramp-loading-view/index.js +48 -41
  460. package/lib/module/views/w3m-onramp-loading-view/index.js.map +1 -1
  461. package/lib/module/views/w3m-onramp-loading-view/styles.js +3 -1
  462. package/lib/module/views/w3m-onramp-loading-view/styles.js.map +1 -1
  463. package/lib/module/views/w3m-onramp-settings-view/components/Country.js +43 -31
  464. package/lib/module/views/w3m-onramp-settings-view/components/Country.js.map +1 -1
  465. package/lib/module/views/w3m-onramp-settings-view/index.js +96 -67
  466. package/lib/module/views/w3m-onramp-settings-view/index.js.map +1 -1
  467. package/lib/module/views/w3m-onramp-settings-view/styles.js +6 -1
  468. package/lib/module/views/w3m-onramp-settings-view/styles.js.map +1 -1
  469. package/lib/module/views/w3m-onramp-settings-view/utils.js +16 -0
  470. package/lib/module/views/w3m-onramp-settings-view/utils.js.map +1 -1
  471. package/lib/module/views/w3m-onramp-transaction-view/index.js +98 -75
  472. package/lib/module/views/w3m-onramp-transaction-view/index.js.map +1 -1
  473. package/lib/module/views/w3m-onramp-transaction-view/styles.js +2 -0
  474. package/lib/module/views/w3m-onramp-transaction-view/styles.js.map +1 -1
  475. package/lib/module/views/w3m-onramp-view/components/Currency.js +47 -34
  476. package/lib/module/views/w3m-onramp-view/components/Currency.js.map +1 -1
  477. package/lib/module/views/w3m-onramp-view/components/CurrencyInput.js +72 -59
  478. package/lib/module/views/w3m-onramp-view/components/CurrencyInput.js.map +1 -1
  479. package/lib/module/views/w3m-onramp-view/components/Header.js +30 -27
  480. package/lib/module/views/w3m-onramp-view/components/Header.js.map +1 -1
  481. package/lib/module/views/w3m-onramp-view/components/LoadingView.js +54 -43
  482. package/lib/module/views/w3m-onramp-view/components/LoadingView.js.map +1 -1
  483. package/lib/module/views/w3m-onramp-view/components/PaymentButton.js +116 -0
  484. package/lib/module/views/w3m-onramp-view/components/PaymentButton.js.map +1 -0
  485. package/lib/module/views/w3m-onramp-view/components/PaymentMethod.js +40 -33
  486. package/lib/module/views/w3m-onramp-view/components/PaymentMethod.js.map +1 -1
  487. package/lib/module/views/w3m-onramp-view/components/Quote.js +51 -38
  488. package/lib/module/views/w3m-onramp-view/components/Quote.js.map +1 -1
  489. package/lib/module/views/w3m-onramp-view/components/SelectPaymentModal.js +120 -120
  490. package/lib/module/views/w3m-onramp-view/components/SelectPaymentModal.js.map +1 -1
  491. package/lib/module/views/w3m-onramp-view/index.js +123 -127
  492. package/lib/module/views/w3m-onramp-view/index.js.map +1 -1
  493. package/lib/module/views/w3m-onramp-view/styles.js +9 -0
  494. package/lib/module/views/w3m-onramp-view/styles.js.map +1 -1
  495. package/lib/module/views/w3m-onramp-view/utils.js +20 -77
  496. package/lib/module/views/w3m-onramp-view/utils.js.map +1 -1
  497. package/lib/module/views/w3m-siwx-sign-view/index.js +105 -0
  498. package/lib/module/views/w3m-siwx-sign-view/index.js.map +1 -0
  499. package/lib/module/views/w3m-siwx-sign-view/styles.js +24 -0
  500. package/lib/module/views/w3m-siwx-sign-view/styles.js.map +1 -0
  501. package/lib/module/views/w3m-swap-preview-view/index.js +90 -83
  502. package/lib/module/views/w3m-swap-preview-view/index.js.map +1 -1
  503. package/lib/module/views/w3m-swap-preview-view/styles.js +2 -0
  504. package/lib/module/views/w3m-swap-preview-view/styles.js.map +1 -1
  505. package/lib/module/views/w3m-swap-view/components/select-token-modal/index.js +151 -0
  506. package/lib/module/views/w3m-swap-view/components/select-token-modal/index.js.map +1 -0
  507. package/lib/module/views/w3m-swap-view/components/select-token-modal/styles.js +44 -0
  508. package/lib/module/views/w3m-swap-view/components/select-token-modal/styles.js.map +1 -0
  509. package/lib/module/views/{w3m-swap-select-token-view → w3m-swap-view/components/select-token-modal}/utils.js +9 -4
  510. package/lib/module/views/w3m-swap-view/components/select-token-modal/utils.js.map +1 -0
  511. package/lib/module/views/w3m-swap-view/index.js +89 -83
  512. package/lib/module/views/w3m-swap-view/index.js.map +1 -1
  513. package/lib/module/views/w3m-swap-view/styles.js +2 -0
  514. package/lib/module/views/w3m-swap-view/styles.js.map +1 -1
  515. package/lib/module/views/w3m-transactions-view/index.js +4 -1
  516. package/lib/module/views/w3m-transactions-view/index.js.map +1 -1
  517. package/lib/module/views/w3m-unsupported-chain-view/index.js +42 -51
  518. package/lib/module/views/w3m-unsupported-chain-view/index.js.map +1 -1
  519. package/lib/module/views/w3m-unsupported-chain-view/styles.js +3 -1
  520. package/lib/module/views/w3m-unsupported-chain-view/styles.js.map +1 -1
  521. package/lib/module/views/w3m-upgrade-email-wallet-view/index.js +25 -26
  522. package/lib/module/views/w3m-upgrade-email-wallet-view/index.js.map +1 -1
  523. package/lib/module/views/w3m-wallet-compatible-networks-view/index.js +37 -28
  524. package/lib/module/views/w3m-wallet-compatible-networks-view/index.js.map +1 -1
  525. package/lib/module/views/w3m-wallet-compatible-networks-view/styles.js +2 -0
  526. package/lib/module/views/w3m-wallet-compatible-networks-view/styles.js.map +1 -1
  527. package/lib/module/views/w3m-wallet-receive-view/index.js +51 -47
  528. package/lib/module/views/w3m-wallet-receive-view/index.js.map +1 -1
  529. package/lib/module/views/w3m-wallet-receive-view/styles.js +2 -0
  530. package/lib/module/views/w3m-wallet-receive-view/styles.js.map +1 -1
  531. package/lib/module/views/w3m-wallet-send-preview-view/components/preview-send-details.js +44 -41
  532. package/lib/module/views/w3m-wallet-send-preview-view/components/preview-send-details.js.map +1 -1
  533. package/lib/module/views/w3m-wallet-send-preview-view/components/preview-send-pill.js +11 -6
  534. package/lib/module/views/w3m-wallet-send-preview-view/components/preview-send-pill.js.map +1 -1
  535. package/lib/module/views/w3m-wallet-send-preview-view/index.js +100 -84
  536. package/lib/module/views/w3m-wallet-send-preview-view/index.js.map +1 -1
  537. package/lib/module/views/w3m-wallet-send-preview-view/styles.js +2 -0
  538. package/lib/module/views/w3m-wallet-send-preview-view/styles.js.map +1 -1
  539. package/lib/module/views/w3m-wallet-send-select-token-view/index.js +52 -48
  540. package/lib/module/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
  541. package/lib/module/views/w3m-wallet-send-select-token-view/styles.js +2 -0
  542. package/lib/module/views/w3m-wallet-send-select-token-view/styles.js.map +1 -1
  543. package/lib/module/views/w3m-wallet-send-view/index.js +64 -69
  544. package/lib/module/views/w3m-wallet-send-view/index.js.map +1 -1
  545. package/lib/module/views/w3m-wallet-send-view/styles.js +2 -0
  546. package/lib/module/views/w3m-wallet-send-view/styles.js.map +1 -1
  547. package/lib/module/views/w3m-what-is-a-network-view/index.js +58 -47
  548. package/lib/module/views/w3m-what-is-a-network-view/index.js.map +1 -1
  549. package/lib/module/views/w3m-what-is-a-network-view/styles.js +2 -0
  550. package/lib/module/views/w3m-what-is-a-network-view/styles.js.map +1 -1
  551. package/lib/module/views/w3m-what-is-a-wallet-view/index.js +80 -66
  552. package/lib/module/views/w3m-what-is-a-wallet-view/index.js.map +1 -1
  553. package/lib/module/views/w3m-what-is-a-wallet-view/styles.js +2 -0
  554. package/lib/module/views/w3m-what-is-a-wallet-view/styles.js.map +1 -1
  555. package/lib/typescript/AppKit.d.ts +35 -34
  556. package/lib/typescript/AppKit.d.ts.map +1 -1
  557. package/lib/typescript/AppKitContext.d.ts +7 -5
  558. package/lib/typescript/AppKitContext.d.ts.map +1 -1
  559. package/lib/typescript/connectors/WalletConnectConnector.d.ts +4 -4
  560. package/lib/typescript/connectors/WalletConnectConnector.d.ts.map +1 -1
  561. package/lib/typescript/hooks/useAccount.d.ts +34 -1
  562. package/lib/typescript/hooks/useAccount.d.ts.map +1 -1
  563. package/lib/typescript/hooks/useAppKit.d.ts +2 -2
  564. package/lib/typescript/hooks/useAppKit.d.ts.map +1 -1
  565. package/lib/typescript/hooks/useAppKitEvents.d.ts +91 -32
  566. package/lib/typescript/hooks/useAppKitEvents.d.ts.map +1 -1
  567. package/lib/typescript/hooks/useAppKitLogs.d.ts +57 -0
  568. package/lib/typescript/hooks/useAppKitLogs.d.ts.map +1 -0
  569. package/lib/typescript/hooks/useAppKitState.d.ts +38 -0
  570. package/lib/typescript/hooks/useAppKitState.d.ts.map +1 -0
  571. package/lib/typescript/hooks/useProvider.d.ts +28 -1
  572. package/lib/typescript/hooks/useProvider.d.ts.map +1 -1
  573. package/lib/typescript/hooks/useRouteTransition.d.ts +16 -0
  574. package/lib/typescript/hooks/useRouteTransition.d.ts.map +1 -0
  575. package/lib/typescript/hooks/useWalletInfo.d.ts +1 -0
  576. package/lib/typescript/hooks/useWalletInfo.d.ts.map +1 -1
  577. package/lib/typescript/index.d.ts +12 -7
  578. package/lib/typescript/index.d.ts.map +1 -1
  579. package/lib/typescript/modal/w3m-account-button/index.d.ts.map +1 -1
  580. package/lib/typescript/modal/w3m-modal/index.d.ts.map +1 -1
  581. package/lib/typescript/modal/w3m-modal/styles.d.ts +0 -5
  582. package/lib/typescript/modal/w3m-modal/styles.d.ts.map +1 -1
  583. package/lib/typescript/modal/w3m-network-button/index.d.ts.map +1 -1
  584. package/lib/typescript/modal/w3m-router/index.d.ts.map +1 -1
  585. package/lib/typescript/partials/w3m-account-activity/index.d.ts.map +1 -1
  586. package/lib/typescript/partials/w3m-account-tokens/index.d.ts +2 -1
  587. package/lib/typescript/partials/w3m-account-tokens/index.d.ts.map +1 -1
  588. package/lib/typescript/partials/w3m-account-wallet-features/index.d.ts +0 -3
  589. package/lib/typescript/partials/w3m-account-wallet-features/index.d.ts.map +1 -1
  590. package/lib/typescript/partials/w3m-all-wallets-list/components/Loading.d.ts +10 -0
  591. package/lib/typescript/partials/w3m-all-wallets-list/components/Loading.d.ts.map +1 -0
  592. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletItem.d.ts +15 -0
  593. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletItem.d.ts.map +1 -0
  594. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletList.d.ts +16 -0
  595. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletList.d.ts.map +1 -0
  596. package/lib/typescript/partials/w3m-all-wallets-list/index.d.ts +4 -5
  597. package/lib/typescript/partials/w3m-all-wallets-list/index.d.ts.map +1 -1
  598. package/lib/typescript/partials/w3m-all-wallets-list/styles.d.ts +10 -6
  599. package/lib/typescript/partials/w3m-all-wallets-list/styles.d.ts.map +1 -1
  600. package/lib/typescript/partials/w3m-all-wallets-search/index.d.ts +3 -5
  601. package/lib/typescript/partials/w3m-all-wallets-search/index.d.ts.map +1 -1
  602. package/lib/typescript/partials/w3m-all-wallets-search/styles.d.ts +3 -4
  603. package/lib/typescript/partials/w3m-all-wallets-search/styles.d.ts.map +1 -1
  604. package/lib/typescript/partials/w3m-connecting-header/index.d.ts +1 -1
  605. package/lib/typescript/partials/w3m-connecting-header/index.d.ts.map +1 -1
  606. package/lib/typescript/partials/w3m-connecting-mobile/index.d.ts.map +1 -1
  607. package/lib/typescript/partials/w3m-connecting-mobile/styles.d.ts +1 -0
  608. package/lib/typescript/partials/w3m-connecting-mobile/styles.d.ts.map +1 -1
  609. package/lib/typescript/partials/w3m-connecting-qrcode/components/ReownButton.d.ts +7 -0
  610. package/lib/typescript/partials/w3m-connecting-qrcode/components/ReownButton.d.ts.map +1 -0
  611. package/lib/typescript/partials/w3m-connecting-qrcode/index.d.ts.map +1 -1
  612. package/lib/typescript/partials/w3m-connecting-qrcode/styles.d.ts +3 -0
  613. package/lib/typescript/partials/w3m-connecting-qrcode/styles.d.ts.map +1 -1
  614. package/lib/typescript/partials/w3m-connecting-web/index.d.ts.map +1 -1
  615. package/lib/typescript/partials/w3m-connecting-web/styles.d.ts +3 -0
  616. package/lib/typescript/partials/w3m-connecting-web/styles.d.ts.map +1 -1
  617. package/lib/typescript/partials/w3m-header/index.d.ts.map +1 -1
  618. package/lib/typescript/partials/w3m-information-modal/index.d.ts.map +1 -1
  619. package/lib/typescript/partials/w3m-information-modal/styles.d.ts +2 -0
  620. package/lib/typescript/partials/w3m-information-modal/styles.d.ts.map +1 -1
  621. package/lib/typescript/partials/w3m-selector-modal/index.d.ts +3 -1
  622. package/lib/typescript/partials/w3m-selector-modal/index.d.ts.map +1 -1
  623. package/lib/typescript/partials/w3m-selector-modal/styles.d.ts +7 -8
  624. package/lib/typescript/partials/w3m-selector-modal/styles.d.ts.map +1 -1
  625. package/lib/typescript/partials/w3m-send-input-address/index.d.ts.map +1 -1
  626. package/lib/typescript/partials/w3m-send-input-token/index.d.ts +2 -2
  627. package/lib/typescript/partials/w3m-send-input-token/index.d.ts.map +1 -1
  628. package/lib/typescript/partials/w3m-send-input-token/styles.d.ts +3 -0
  629. package/lib/typescript/partials/w3m-send-input-token/styles.d.ts.map +1 -1
  630. package/lib/typescript/partials/w3m-snackbar/index.d.ts.map +1 -1
  631. package/lib/typescript/partials/w3m-swap-input/index.d.ts +3 -2
  632. package/lib/typescript/partials/w3m-swap-input/index.d.ts.map +1 -1
  633. package/lib/typescript/partials/w3m-swap-input/styles.d.ts +3 -0
  634. package/lib/typescript/partials/w3m-swap-input/styles.d.ts.map +1 -1
  635. package/lib/typescript/types.d.ts +155 -0
  636. package/lib/typescript/types.d.ts.map +1 -0
  637. package/lib/typescript/utils/HelpersUtil.d.ts +5 -3
  638. package/lib/typescript/utils/HelpersUtil.d.ts.map +1 -1
  639. package/lib/typescript/utils/NetworkUtil.d.ts +2 -2
  640. package/lib/typescript/utils/NetworkUtil.d.ts.map +1 -1
  641. package/lib/typescript/utils/RouterUtil.d.ts +9 -0
  642. package/lib/typescript/utils/RouterUtil.d.ts.map +1 -0
  643. package/lib/typescript/utils/SIWXUtil.d.ts +34 -0
  644. package/lib/typescript/utils/SIWXUtil.d.ts.map +1 -0
  645. package/lib/typescript/utils/UiUtil.d.ts +2 -7
  646. package/lib/typescript/utils/UiUtil.d.ts.map +1 -1
  647. package/lib/typescript/views/w3m-account-default-view/components/auth-buttons.d.ts.map +1 -1
  648. package/lib/typescript/views/w3m-account-default-view/index.d.ts.map +1 -1
  649. package/lib/typescript/views/w3m-account-view/index.d.ts.map +1 -1
  650. package/lib/typescript/views/w3m-account-view/styles.d.ts +0 -8
  651. package/lib/typescript/views/w3m-account-view/styles.d.ts.map +1 -1
  652. package/lib/typescript/views/w3m-all-wallets-view/index.d.ts.map +1 -1
  653. package/lib/typescript/views/w3m-connect-socials-view/index.d.ts.map +1 -1
  654. package/lib/typescript/views/w3m-connect-view/components/all-wallet-list.d.ts +3 -4
  655. package/lib/typescript/views/w3m-connect-view/components/all-wallet-list.d.ts.map +1 -1
  656. package/lib/typescript/views/w3m-connect-view/components/all-wallets-button.d.ts +1 -2
  657. package/lib/typescript/views/w3m-connect-view/components/all-wallets-button.d.ts.map +1 -1
  658. package/lib/typescript/views/w3m-connect-view/components/social-login-list.d.ts.map +1 -1
  659. package/lib/typescript/views/w3m-connect-view/index.d.ts.map +1 -1
  660. package/lib/typescript/views/w3m-connecting-external-view/index.d.ts.map +1 -1
  661. package/lib/typescript/views/w3m-connecting-social-view/index.d.ts.map +1 -1
  662. package/lib/typescript/views/w3m-connecting-view/index.d.ts.map +1 -1
  663. package/lib/typescript/views/w3m-get-wallet-view/index.d.ts.map +1 -1
  664. package/lib/typescript/views/w3m-network-switch-view/index.d.ts.map +1 -1
  665. package/lib/typescript/views/w3m-networks-view/index.d.ts.map +1 -1
  666. package/lib/typescript/views/w3m-onramp-checkout-view/index.d.ts.map +1 -1
  667. package/lib/typescript/views/w3m-onramp-loading-view/index.d.ts.map +1 -1
  668. package/lib/typescript/views/w3m-onramp-settings-view/components/Country.d.ts +5 -2
  669. package/lib/typescript/views/w3m-onramp-settings-view/components/Country.d.ts.map +1 -1
  670. package/lib/typescript/views/w3m-onramp-settings-view/index.d.ts.map +1 -1
  671. package/lib/typescript/views/w3m-onramp-settings-view/styles.d.ts +4 -1
  672. package/lib/typescript/views/w3m-onramp-settings-view/styles.d.ts.map +1 -1
  673. package/lib/typescript/views/w3m-onramp-settings-view/utils.d.ts +3 -1
  674. package/lib/typescript/views/w3m-onramp-settings-view/utils.d.ts.map +1 -1
  675. package/lib/typescript/views/w3m-onramp-transaction-view/index.d.ts.map +1 -1
  676. package/lib/typescript/views/w3m-onramp-view/components/Currency.d.ts +4 -2
  677. package/lib/typescript/views/w3m-onramp-view/components/Currency.d.ts.map +1 -1
  678. package/lib/typescript/views/w3m-onramp-view/components/CurrencyInput.d.ts.map +1 -1
  679. package/lib/typescript/views/w3m-onramp-view/components/Header.d.ts.map +1 -1
  680. package/lib/typescript/views/w3m-onramp-view/components/PaymentButton.d.ts +13 -0
  681. package/lib/typescript/views/w3m-onramp-view/components/PaymentButton.d.ts.map +1 -0
  682. package/lib/typescript/views/w3m-onramp-view/components/PaymentMethod.d.ts +2 -2
  683. package/lib/typescript/views/w3m-onramp-view/components/PaymentMethod.d.ts.map +1 -1
  684. package/lib/typescript/views/w3m-onramp-view/components/Quote.d.ts +3 -2
  685. package/lib/typescript/views/w3m-onramp-view/components/Quote.d.ts.map +1 -1
  686. package/lib/typescript/views/w3m-onramp-view/components/SelectPaymentModal.d.ts.map +1 -1
  687. package/lib/typescript/views/w3m-onramp-view/index.d.ts.map +1 -1
  688. package/lib/typescript/views/w3m-onramp-view/styles.d.ts +7 -0
  689. package/lib/typescript/views/w3m-onramp-view/styles.d.ts.map +1 -1
  690. package/lib/typescript/views/w3m-onramp-view/utils.d.ts +3 -3
  691. package/lib/typescript/views/w3m-onramp-view/utils.d.ts.map +1 -1
  692. package/lib/typescript/views/w3m-siwx-sign-view/index.d.ts +2 -0
  693. package/lib/typescript/views/w3m-siwx-sign-view/index.d.ts.map +1 -0
  694. package/lib/typescript/views/w3m-siwx-sign-view/styles.d.ts +21 -0
  695. package/lib/typescript/views/w3m-siwx-sign-view/styles.d.ts.map +1 -0
  696. package/lib/typescript/views/w3m-swap-preview-view/index.d.ts.map +1 -1
  697. package/lib/typescript/views/w3m-swap-view/components/select-token-modal/index.d.ts +11 -0
  698. package/lib/typescript/views/w3m-swap-view/components/select-token-modal/index.d.ts.map +1 -0
  699. package/lib/typescript/views/{w3m-swap-select-token-view → w3m-swap-view/components/select-token-modal}/styles.d.ts +15 -3
  700. package/lib/typescript/views/w3m-swap-view/components/select-token-modal/styles.d.ts.map +1 -0
  701. package/lib/typescript/views/w3m-swap-view/components/select-token-modal/utils.d.ts +7 -0
  702. package/lib/typescript/views/w3m-swap-view/components/select-token-modal/utils.d.ts.map +1 -0
  703. package/lib/typescript/views/w3m-swap-view/index.d.ts.map +1 -1
  704. package/lib/typescript/views/w3m-unsupported-chain-view/index.d.ts.map +1 -1
  705. package/lib/typescript/views/w3m-upgrade-email-wallet-view/index.d.ts.map +1 -1
  706. package/lib/typescript/views/w3m-wallet-compatible-networks-view/index.d.ts.map +1 -1
  707. package/lib/typescript/views/w3m-wallet-receive-view/index.d.ts.map +1 -1
  708. package/lib/typescript/views/w3m-wallet-send-preview-view/components/preview-send-details.d.ts +3 -3
  709. package/lib/typescript/views/w3m-wallet-send-preview-view/components/preview-send-details.d.ts.map +1 -1
  710. package/lib/typescript/views/w3m-wallet-send-preview-view/index.d.ts.map +1 -1
  711. package/lib/typescript/views/w3m-wallet-send-select-token-view/index.d.ts.map +1 -1
  712. package/lib/typescript/views/w3m-wallet-send-view/index.d.ts.map +1 -1
  713. package/lib/typescript/views/w3m-what-is-a-network-view/index.d.ts.map +1 -1
  714. package/lib/typescript/views/w3m-what-is-a-wallet-view/index.d.ts.map +1 -1
  715. package/package.json +17 -28
  716. package/src/AppKit.ts +558 -193
  717. package/src/AppKitContext.tsx +20 -11
  718. package/src/connectors/WalletConnectConnector.ts +109 -27
  719. package/src/hooks/useAccount.ts +16 -5
  720. package/src/hooks/useAppKit.ts +19 -13
  721. package/src/hooks/useAppKitEvents.ts +2 -5
  722. package/src/hooks/useAppKitLogs.ts +129 -0
  723. package/src/hooks/useAppKitState.ts +26 -0
  724. package/src/hooks/useProvider.ts +48 -12
  725. package/src/hooks/useRouteTransition.ts +102 -0
  726. package/src/hooks/useWalletInfo.ts +5 -2
  727. package/src/index.ts +21 -11
  728. package/src/modal/w3m-account-button/index.tsx +10 -12
  729. package/src/modal/w3m-button/index.tsx +2 -2
  730. package/src/modal/w3m-modal/index.tsx +33 -119
  731. package/src/modal/w3m-modal/styles.ts +1 -6
  732. package/src/modal/w3m-network-button/index.tsx +10 -5
  733. package/src/modal/w3m-router/index.tsx +26 -39
  734. package/src/partials/w3m-account-activity/index.tsx +25 -14
  735. package/src/partials/w3m-account-tokens/index.tsx +38 -29
  736. package/src/partials/w3m-account-wallet-features/index.tsx +25 -33
  737. package/src/partials/w3m-all-wallets-list/components/Loading.tsx +24 -0
  738. package/src/partials/w3m-all-wallets-list/components/WalletItem.tsx +48 -0
  739. package/src/partials/w3m-all-wallets-list/components/WalletList.tsx +152 -0
  740. package/src/partials/w3m-all-wallets-list/index.tsx +33 -89
  741. package/src/partials/w3m-all-wallets-list/styles.ts +11 -7
  742. package/src/partials/w3m-all-wallets-search/index.tsx +35 -87
  743. package/src/partials/w3m-all-wallets-search/styles.ts +4 -5
  744. package/src/partials/w3m-connecting-body/index.tsx +2 -2
  745. package/src/partials/w3m-connecting-header/index.tsx +1 -1
  746. package/src/partials/w3m-connecting-mobile/index.tsx +50 -27
  747. package/src/partials/w3m-connecting-mobile/styles.ts +2 -1
  748. package/src/partials/w3m-connecting-qrcode/components/ReownButton.tsx +20 -0
  749. package/src/partials/w3m-connecting-qrcode/index.tsx +30 -20
  750. package/src/partials/w3m-connecting-qrcode/styles.ts +3 -0
  751. package/src/partials/w3m-connecting-web/index.tsx +27 -19
  752. package/src/partials/w3m-connecting-web/styles.ts +3 -0
  753. package/src/partials/w3m-header/index.tsx +16 -49
  754. package/src/partials/w3m-information-modal/index.tsx +28 -32
  755. package/src/partials/w3m-information-modal/styles.ts +7 -5
  756. package/src/partials/w3m-placeholder/index.tsx +8 -8
  757. package/src/partials/w3m-selector-modal/index.tsx +71 -54
  758. package/src/partials/w3m-selector-modal/styles.ts +10 -11
  759. package/src/partials/w3m-send-input-address/index.tsx +4 -15
  760. package/src/partials/w3m-send-input-token/index.tsx +20 -22
  761. package/src/partials/w3m-send-input-token/styles.ts +3 -0
  762. package/src/partials/w3m-send-input-token/utils.ts +2 -2
  763. package/src/partials/w3m-snackbar/index.tsx +8 -14
  764. package/src/partials/w3m-swap-input/index.tsx +41 -31
  765. package/src/partials/w3m-swap-input/styles.ts +3 -0
  766. package/src/types.ts +186 -0
  767. package/src/utils/HelpersUtil.ts +39 -7
  768. package/src/utils/NetworkUtil.ts +19 -12
  769. package/src/utils/RouterUtil.ts +50 -0
  770. package/src/utils/SIWXUtil.ts +359 -0
  771. package/src/utils/UiUtil.ts +16 -26
  772. package/src/views/w3m-account-default-view/components/auth-buttons.tsx +4 -15
  773. package/src/views/w3m-account-default-view/index.tsx +99 -81
  774. package/src/views/w3m-account-view/index.tsx +17 -47
  775. package/src/views/w3m-account-view/styles.ts +1 -9
  776. package/src/views/w3m-all-wallets-view/index.tsx +34 -34
  777. package/src/views/w3m-connect-socials-view/index.tsx +5 -17
  778. package/src/views/w3m-connect-view/components/all-wallet-list.tsx +69 -30
  779. package/src/views/w3m-connect-view/components/all-wallets-button.tsx +1 -6
  780. package/src/views/w3m-connect-view/components/social-login-list.tsx +17 -21
  781. package/src/views/w3m-connect-view/index.tsx +39 -75
  782. package/src/views/w3m-connecting-external-view/index.tsx +72 -44
  783. package/src/views/w3m-connecting-external-view/styles.ts +1 -1
  784. package/src/views/w3m-connecting-social-view/index.tsx +75 -123
  785. package/src/views/w3m-connecting-view/index.tsx +29 -71
  786. package/src/views/w3m-get-wallet-view/index.tsx +7 -5
  787. package/src/views/w3m-network-switch-view/index.tsx +74 -108
  788. package/src/views/w3m-networks-view/index.tsx +40 -26
  789. package/src/views/w3m-onramp-checkout-view/index.tsx +150 -144
  790. package/src/views/w3m-onramp-loading-view/index.tsx +11 -9
  791. package/src/views/w3m-onramp-loading-view/styles.ts +1 -1
  792. package/src/views/w3m-onramp-settings-view/components/Country.tsx +16 -7
  793. package/src/views/w3m-onramp-settings-view/index.tsx +23 -14
  794. package/src/views/w3m-onramp-settings-view/styles.ts +4 -1
  795. package/src/views/w3m-onramp-settings-view/utils.ts +20 -5
  796. package/src/views/w3m-onramp-transaction-view/index.tsx +10 -11
  797. package/src/views/w3m-onramp-view/components/Currency.tsx +9 -9
  798. package/src/views/w3m-onramp-view/components/CurrencyInput.tsx +33 -28
  799. package/src/views/w3m-onramp-view/components/Header.tsx +6 -9
  800. package/src/views/w3m-onramp-view/components/LoadingView.tsx +3 -3
  801. package/src/views/w3m-onramp-view/components/PaymentButton.tsx +137 -0
  802. package/src/views/w3m-onramp-view/components/PaymentMethod.tsx +13 -11
  803. package/src/views/w3m-onramp-view/components/Quote.tsx +9 -7
  804. package/src/views/w3m-onramp-view/components/SelectPaymentModal.tsx +112 -134
  805. package/src/views/w3m-onramp-view/index.tsx +52 -75
  806. package/src/views/w3m-onramp-view/styles.ts +7 -0
  807. package/src/views/w3m-onramp-view/utils.ts +22 -92
  808. package/src/views/w3m-siwx-sign-view/index.tsx +98 -0
  809. package/src/views/w3m-siwx-sign-view/styles.ts +22 -0
  810. package/src/views/w3m-swap-preview-view/index.tsx +6 -17
  811. package/src/views/w3m-swap-view/components/select-token-modal/index.tsx +181 -0
  812. package/src/views/{w3m-swap-select-token-view → w3m-swap-view/components/select-token-modal}/styles.ts +16 -4
  813. package/src/views/w3m-swap-view/components/select-token-modal/utils.ts +39 -0
  814. package/src/views/w3m-swap-view/index.tsx +82 -78
  815. package/src/views/w3m-unsupported-chain-view/index.tsx +13 -33
  816. package/src/views/w3m-unsupported-chain-view/styles.ts +1 -1
  817. package/src/views/w3m-upgrade-email-wallet-view/index.tsx +6 -12
  818. package/src/views/w3m-wallet-compatible-networks-view/index.tsx +20 -11
  819. package/src/views/w3m-wallet-receive-view/index.tsx +29 -20
  820. package/src/views/w3m-wallet-send-preview-view/components/preview-send-details.tsx +7 -14
  821. package/src/views/w3m-wallet-send-preview-view/index.tsx +17 -16
  822. package/src/views/w3m-wallet-send-select-token-view/index.tsx +19 -16
  823. package/src/views/w3m-wallet-send-view/index.tsx +27 -35
  824. package/src/views/w3m-what-is-a-network-view/index.tsx +2 -3
  825. package/src/views/w3m-what-is-a-wallet-view/index.tsx +3 -4
  826. package/lib/commonjs/client.js +0 -247
  827. package/lib/commonjs/client.js.map +0 -1
  828. package/lib/commonjs/config/animations.js +0 -9
  829. package/lib/commonjs/config/animations.js.map +0 -1
  830. package/lib/commonjs/hooks/useCustomDimensions.js +0 -33
  831. package/lib/commonjs/hooks/useCustomDimensions.js.map +0 -1
  832. package/lib/commonjs/partials/w3m-otp-code/index.js +0 -79
  833. package/lib/commonjs/partials/w3m-otp-code/index.js.map +0 -1
  834. package/lib/commonjs/partials/w3m-otp-code/styles.js +0 -21
  835. package/lib/commonjs/partials/w3m-otp-code/styles.js.map +0 -1
  836. package/lib/commonjs/views/w3m-connect-view/components/connect-email-input.js +0 -73
  837. package/lib/commonjs/views/w3m-connect-view/components/connect-email-input.js.map +0 -1
  838. package/lib/commonjs/views/w3m-connect-view/components/connectors-list.js +0 -40
  839. package/lib/commonjs/views/w3m-connect-view/components/connectors-list.js.map +0 -1
  840. package/lib/commonjs/views/w3m-connect-view/components/custom-wallet-list.js +0 -38
  841. package/lib/commonjs/views/w3m-connect-view/components/custom-wallet-list.js.map +0 -1
  842. package/lib/commonjs/views/w3m-connect-view/components/recent-wallet-list.js +0 -39
  843. package/lib/commonjs/views/w3m-connect-view/components/recent-wallet-list.js.map +0 -1
  844. package/lib/commonjs/views/w3m-connect-view/components/wallet-guide.js +0 -55
  845. package/lib/commonjs/views/w3m-connect-view/components/wallet-guide.js.map +0 -1
  846. package/lib/commonjs/views/w3m-connect-view/utils.js +0 -14
  847. package/lib/commonjs/views/w3m-connect-view/utils.js.map +0 -1
  848. package/lib/commonjs/views/w3m-connecting-farcaster-view/index.js +0 -124
  849. package/lib/commonjs/views/w3m-connecting-farcaster-view/index.js.map +0 -1
  850. package/lib/commonjs/views/w3m-connecting-farcaster-view/styles.js +0 -24
  851. package/lib/commonjs/views/w3m-connecting-farcaster-view/styles.js.map +0 -1
  852. package/lib/commonjs/views/w3m-create-view/index.js +0 -57
  853. package/lib/commonjs/views/w3m-create-view/index.js.map +0 -1
  854. package/lib/commonjs/views/w3m-email-verify-device-view/index.js +0 -106
  855. package/lib/commonjs/views/w3m-email-verify-device-view/index.js.map +0 -1
  856. package/lib/commonjs/views/w3m-email-verify-device-view/styles.js.map +0 -1
  857. package/lib/commonjs/views/w3m-email-verify-otp-view/index.js +0 -86
  858. package/lib/commonjs/views/w3m-email-verify-otp-view/index.js.map +0 -1
  859. package/lib/commonjs/views/w3m-swap-select-token-view/index.js +0 -118
  860. package/lib/commonjs/views/w3m-swap-select-token-view/index.js.map +0 -1
  861. package/lib/commonjs/views/w3m-swap-select-token-view/styles.js.map +0 -1
  862. package/lib/commonjs/views/w3m-swap-select-token-view/utils.js.map +0 -1
  863. package/lib/commonjs/views/w3m-update-email-primary-otp-view/index.js +0 -56
  864. package/lib/commonjs/views/w3m-update-email-primary-otp-view/index.js.map +0 -1
  865. package/lib/commonjs/views/w3m-update-email-secondary-otp-view/index.js +0 -62
  866. package/lib/commonjs/views/w3m-update-email-secondary-otp-view/index.js.map +0 -1
  867. package/lib/commonjs/views/w3m-update-email-wallet-view/index.js +0 -104
  868. package/lib/commonjs/views/w3m-update-email-wallet-view/index.js.map +0 -1
  869. package/lib/commonjs/views/w3m-update-email-wallet-view/styles.js +0 -30
  870. package/lib/commonjs/views/w3m-update-email-wallet-view/styles.js.map +0 -1
  871. package/lib/commonjs/views/w3m-upgrade-to-smart-account-view/index.js +0 -103
  872. package/lib/commonjs/views/w3m-upgrade-to-smart-account-view/index.js.map +0 -1
  873. package/lib/commonjs/views/w3m-upgrade-to-smart-account-view/styles.js +0 -35
  874. package/lib/commonjs/views/w3m-upgrade-to-smart-account-view/styles.js.map +0 -1
  875. package/lib/module/client.js +0 -241
  876. package/lib/module/client.js.map +0 -1
  877. package/lib/module/config/animations.js +0 -7
  878. package/lib/module/config/animations.js.map +0 -1
  879. package/lib/module/hooks/useCustomDimensions.js +0 -28
  880. package/lib/module/hooks/useCustomDimensions.js.map +0 -1
  881. package/lib/module/partials/w3m-otp-code/index.js +0 -72
  882. package/lib/module/partials/w3m-otp-code/index.js.map +0 -1
  883. package/lib/module/partials/w3m-otp-code/styles.js +0 -15
  884. package/lib/module/partials/w3m-otp-code/styles.js.map +0 -1
  885. package/lib/module/views/w3m-connect-view/components/connect-email-input.js +0 -67
  886. package/lib/module/views/w3m-connect-view/components/connect-email-input.js.map +0 -1
  887. package/lib/module/views/w3m-connect-view/components/connectors-list.js +0 -34
  888. package/lib/module/views/w3m-connect-view/components/connectors-list.js.map +0 -1
  889. package/lib/module/views/w3m-connect-view/components/custom-wallet-list.js +0 -32
  890. package/lib/module/views/w3m-connect-view/components/custom-wallet-list.js.map +0 -1
  891. package/lib/module/views/w3m-connect-view/components/recent-wallet-list.js +0 -33
  892. package/lib/module/views/w3m-connect-view/components/recent-wallet-list.js.map +0 -1
  893. package/lib/module/views/w3m-connect-view/components/wallet-guide.js +0 -49
  894. package/lib/module/views/w3m-connect-view/components/wallet-guide.js.map +0 -1
  895. package/lib/module/views/w3m-connect-view/utils.js +0 -7
  896. package/lib/module/views/w3m-connect-view/utils.js.map +0 -1
  897. package/lib/module/views/w3m-connecting-farcaster-view/index.js +0 -117
  898. package/lib/module/views/w3m-connecting-farcaster-view/index.js.map +0 -1
  899. package/lib/module/views/w3m-connecting-farcaster-view/styles.js +0 -18
  900. package/lib/module/views/w3m-connecting-farcaster-view/styles.js.map +0 -1
  901. package/lib/module/views/w3m-create-view/index.js +0 -51
  902. package/lib/module/views/w3m-create-view/index.js.map +0 -1
  903. package/lib/module/views/w3m-email-verify-device-view/index.js +0 -99
  904. package/lib/module/views/w3m-email-verify-device-view/index.js.map +0 -1
  905. package/lib/module/views/w3m-email-verify-device-view/styles.js +0 -19
  906. package/lib/module/views/w3m-email-verify-device-view/styles.js.map +0 -1
  907. package/lib/module/views/w3m-email-verify-otp-view/index.js +0 -79
  908. package/lib/module/views/w3m-email-verify-otp-view/index.js.map +0 -1
  909. package/lib/module/views/w3m-swap-select-token-view/index.js +0 -111
  910. package/lib/module/views/w3m-swap-select-token-view/index.js.map +0 -1
  911. package/lib/module/views/w3m-swap-select-token-view/styles.js +0 -30
  912. package/lib/module/views/w3m-swap-select-token-view/styles.js.map +0 -1
  913. package/lib/module/views/w3m-swap-select-token-view/utils.js.map +0 -1
  914. package/lib/module/views/w3m-update-email-primary-otp-view/index.js +0 -50
  915. package/lib/module/views/w3m-update-email-primary-otp-view/index.js.map +0 -1
  916. package/lib/module/views/w3m-update-email-secondary-otp-view/index.js +0 -56
  917. package/lib/module/views/w3m-update-email-secondary-otp-view/index.js.map +0 -1
  918. package/lib/module/views/w3m-update-email-wallet-view/index.js +0 -97
  919. package/lib/module/views/w3m-update-email-wallet-view/index.js.map +0 -1
  920. package/lib/module/views/w3m-update-email-wallet-view/styles.js +0 -24
  921. package/lib/module/views/w3m-update-email-wallet-view/styles.js.map +0 -1
  922. package/lib/module/views/w3m-upgrade-to-smart-account-view/index.js +0 -96
  923. package/lib/module/views/w3m-upgrade-to-smart-account-view/index.js.map +0 -1
  924. package/lib/module/views/w3m-upgrade-to-smart-account-view/styles.js +0 -29
  925. package/lib/module/views/w3m-upgrade-to-smart-account-view/styles.js.map +0 -1
  926. package/lib/typescript/client.d.ts +0 -90
  927. package/lib/typescript/client.d.ts.map +0 -1
  928. package/lib/typescript/config/animations.d.ts +0 -2
  929. package/lib/typescript/config/animations.d.ts.map +0 -1
  930. package/lib/typescript/hooks/useCustomDimensions.d.ts +0 -11
  931. package/lib/typescript/hooks/useCustomDimensions.d.ts.map +0 -1
  932. package/lib/typescript/partials/w3m-otp-code/index.d.ts +0 -16
  933. package/lib/typescript/partials/w3m-otp-code/index.d.ts.map +0 -1
  934. package/lib/typescript/partials/w3m-otp-code/styles.d.ts +0 -14
  935. package/lib/typescript/partials/w3m-otp-code/styles.d.ts.map +0 -1
  936. package/lib/typescript/views/w3m-connect-view/components/connect-email-input.d.ts +0 -6
  937. package/lib/typescript/views/w3m-connect-view/components/connect-email-input.d.ts.map +0 -1
  938. package/lib/typescript/views/w3m-connect-view/components/connectors-list.d.ts +0 -8
  939. package/lib/typescript/views/w3m-connect-view/components/connectors-list.d.ts.map +0 -1
  940. package/lib/typescript/views/w3m-connect-view/components/custom-wallet-list.d.ts +0 -10
  941. package/lib/typescript/views/w3m-connect-view/components/custom-wallet-list.d.ts.map +0 -1
  942. package/lib/typescript/views/w3m-connect-view/components/recent-wallet-list.d.ts +0 -10
  943. package/lib/typescript/views/w3m-connect-view/components/recent-wallet-list.d.ts.map +0 -1
  944. package/lib/typescript/views/w3m-connect-view/components/wallet-guide.d.ts +0 -5
  945. package/lib/typescript/views/w3m-connect-view/components/wallet-guide.d.ts.map +0 -1
  946. package/lib/typescript/views/w3m-connect-view/utils.d.ts +0 -3
  947. package/lib/typescript/views/w3m-connect-view/utils.d.ts.map +0 -1
  948. package/lib/typescript/views/w3m-connecting-farcaster-view/index.d.ts +0 -2
  949. package/lib/typescript/views/w3m-connecting-farcaster-view/index.d.ts.map +0 -1
  950. package/lib/typescript/views/w3m-connecting-farcaster-view/styles.d.ts +0 -17
  951. package/lib/typescript/views/w3m-connecting-farcaster-view/styles.d.ts.map +0 -1
  952. package/lib/typescript/views/w3m-create-view/index.d.ts +0 -2
  953. package/lib/typescript/views/w3m-create-view/index.d.ts.map +0 -1
  954. package/lib/typescript/views/w3m-email-verify-device-view/index.d.ts +0 -2
  955. package/lib/typescript/views/w3m-email-verify-device-view/index.d.ts.map +0 -1
  956. package/lib/typescript/views/w3m-email-verify-device-view/styles.d.ts +0 -18
  957. package/lib/typescript/views/w3m-email-verify-device-view/styles.d.ts.map +0 -1
  958. package/lib/typescript/views/w3m-email-verify-otp-view/index.d.ts +0 -2
  959. package/lib/typescript/views/w3m-email-verify-otp-view/index.d.ts.map +0 -1
  960. package/lib/typescript/views/w3m-swap-select-token-view/index.d.ts +0 -2
  961. package/lib/typescript/views/w3m-swap-select-token-view/index.d.ts.map +0 -1
  962. package/lib/typescript/views/w3m-swap-select-token-view/styles.d.ts.map +0 -1
  963. package/lib/typescript/views/w3m-swap-select-token-view/utils.d.ts +0 -7
  964. package/lib/typescript/views/w3m-swap-select-token-view/utils.d.ts.map +0 -1
  965. package/lib/typescript/views/w3m-update-email-primary-otp-view/index.d.ts +0 -2
  966. package/lib/typescript/views/w3m-update-email-primary-otp-view/index.d.ts.map +0 -1
  967. package/lib/typescript/views/w3m-update-email-secondary-otp-view/index.d.ts +0 -2
  968. package/lib/typescript/views/w3m-update-email-secondary-otp-view/index.d.ts.map +0 -1
  969. package/lib/typescript/views/w3m-update-email-wallet-view/index.d.ts +0 -2
  970. package/lib/typescript/views/w3m-update-email-wallet-view/index.d.ts.map +0 -1
  971. package/lib/typescript/views/w3m-update-email-wallet-view/styles.d.ts +0 -23
  972. package/lib/typescript/views/w3m-update-email-wallet-view/styles.d.ts.map +0 -1
  973. package/lib/typescript/views/w3m-upgrade-to-smart-account-view/index.d.ts +0 -2
  974. package/lib/typescript/views/w3m-upgrade-to-smart-account-view/index.d.ts.map +0 -1
  975. package/lib/typescript/views/w3m-upgrade-to-smart-account-view/styles.d.ts +0 -28
  976. package/lib/typescript/views/w3m-upgrade-to-smart-account-view/styles.d.ts.map +0 -1
  977. package/src/client.ts +0 -379
  978. package/src/config/animations.ts +0 -7
  979. package/src/hooks/useCustomDimensions.ts +0 -21
  980. package/src/partials/w3m-otp-code/index.tsx +0 -81
  981. package/src/partials/w3m-otp-code/styles.ts +0 -15
  982. package/src/views/w3m-connect-view/components/connect-email-input.tsx +0 -69
  983. package/src/views/w3m-connect-view/components/connectors-list.tsx +0 -45
  984. package/src/views/w3m-connect-view/components/custom-wallet-list.tsx +0 -41
  985. package/src/views/w3m-connect-view/components/recent-wallet-list.tsx +0 -44
  986. package/src/views/w3m-connect-view/components/wallet-guide.tsx +0 -50
  987. package/src/views/w3m-connect-view/utils.ts +0 -14
  988. package/src/views/w3m-connecting-farcaster-view/index.tsx +0 -140
  989. package/src/views/w3m-connecting-farcaster-view/styles.ts +0 -18
  990. package/src/views/w3m-create-view/index.tsx +0 -35
  991. package/src/views/w3m-email-verify-device-view/index.tsx +0 -80
  992. package/src/views/w3m-email-verify-device-view/styles.ts +0 -19
  993. package/src/views/w3m-email-verify-otp-view/index.tsx +0 -75
  994. package/src/views/w3m-swap-select-token-view/index.tsx +0 -137
  995. package/src/views/w3m-swap-select-token-view/utils.ts +0 -33
  996. package/src/views/w3m-update-email-primary-otp-view/index.tsx +0 -55
  997. package/src/views/w3m-update-email-secondary-otp-view/index.tsx +0 -56
  998. package/src/views/w3m-update-email-wallet-view/index.tsx +0 -96
  999. package/src/views/w3m-update-email-wallet-view/styles.ts +0 -24
  1000. package/src/views/w3m-upgrade-to-smart-account-view/index.tsx +0 -106
  1001. package/src/views/w3m-upgrade-to-smart-account-view/styles.ts +0 -29
package/src/AppKit.ts CHANGED
@@ -1,6 +1,5 @@
1
+ import { subscribeKey } from 'valtio/utils';
1
2
  import {
2
- type Features,
3
- AccountController,
4
3
  EventsController,
5
4
  ModalController,
6
5
  ConnectionsController,
@@ -8,71 +7,65 @@ import {
8
7
  RouterController,
9
8
  TransactionsController,
10
9
  StorageUtil,
11
- type OptionsControllerState,
12
10
  ThemeController,
13
- ConnectionController
11
+ WcController,
12
+ SwapController,
13
+ OnRampController,
14
+ CoreHelperUtil,
15
+ SendController,
16
+ BlockchainApiController,
17
+ WalletUtil,
18
+ LogController,
19
+ type RouterControllerState
14
20
  } from '@reown/appkit-core-react-native';
15
21
 
16
- import type {
17
- WalletConnector,
18
- BlockchainAdapter,
19
- ProposalNamespaces,
20
- New_ConnectorType,
21
- Namespaces,
22
- Metadata,
23
- CaipNetworkId,
24
- AppKitNetwork,
25
- Provider,
26
- ThemeVariables,
27
- ThemeMode,
28
- WalletInfo,
29
- Network,
30
- ChainNamespace,
31
- ConnectOptions,
32
- Storage
22
+ import {
23
+ type WalletConnector,
24
+ type BlockchainAdapter,
25
+ type ProposalNamespaces,
26
+ type ConnectorType,
27
+ type Namespaces,
28
+ type CaipNetworkId,
29
+ type AppKitNetwork,
30
+ type Provider,
31
+ type WalletInfo,
32
+ type ChainNamespace,
33
+ type AppKitConnectOptions,
34
+ type ConnectionProperties,
35
+ type AccountType,
36
+ type AppKitOpenOptions,
37
+ ConstantsUtil,
38
+ type Connection,
39
+ type WcWallet
33
40
  } from '@reown/appkit-common-react-native';
34
41
 
35
42
  import { WalletConnectConnector } from './connectors/WalletConnectConnector';
36
43
  import { WcHelpersUtil } from './utils/HelpersUtil';
37
44
  import { NetworkUtil } from './utils/NetworkUtil';
38
- import { SIWEController, type AppKitSIWEClient } from '@reown/appkit-siwe-react-native';
39
- import type { OpenOptions } from './client';
40
-
41
- interface AppKitConfig {
42
- projectId: string;
43
- metadata: Metadata;
44
- adapters: BlockchainAdapter[];
45
- networks: Network[];
46
- storage: Storage;
47
- extraConnectors?: WalletConnector[];
48
- clipboardClient?: OptionsControllerState['clipboardClient'];
49
- includeWalletIds?: OptionsControllerState['includeWalletIds'];
50
- excludeWalletIds?: OptionsControllerState['excludeWalletIds'];
51
- featuredWalletIds?: OptionsControllerState['featuredWalletIds'];
52
- customWallets?: OptionsControllerState['customWallets'];
53
- tokens?: OptionsControllerState['tokens']; //TODO: check if needed in OptionsController
54
- enableAnalytics?: OptionsControllerState['enableAnalytics'];
55
- debug?: OptionsControllerState['debug'];
56
- themeMode?: ThemeMode;
57
- themeVariables?: ThemeVariables;
58
- siweConfig?: AppKitSIWEClient;
59
- defaultNetwork?: Network;
60
- features?: Features;
61
- // chainImages?: Record<number, string>; //TODO: rename to networkImages
45
+ import { RouterUtil } from './utils/RouterUtil';
46
+ import { type AppKitConfig } from './types';
47
+ import { SIWXUtil } from './utils/SIWXUtil';
48
+
49
+ const APPKIT_INSTANCE_KEY = Symbol.for('__REOWN_APPKIT_INSTANCE__');
50
+
51
+ // Type helper to access the symbol-keyed property on globalThis
52
+ interface GlobalWithAppKit {
53
+ [key: symbol]: AppKit | undefined;
62
54
  }
63
55
 
64
56
  export class AppKit {
65
57
  private projectId: string;
66
58
  private adapters: BlockchainAdapter[];
67
59
  private networks: AppKitNetwork[];
68
- private defaultNetwork?: AppKitNetwork;
69
60
  private namespaces: ProposalNamespaces;
70
61
  private config: AppKitConfig;
71
62
  private extraConnectors: WalletConnector[];
63
+ private walletConnectConnector?: WalletConnector;
64
+ private balanceIntervalId?: ReturnType<typeof setInterval>;
72
65
 
73
66
  constructor(config: AppKitConfig) {
74
67
  this.projectId = config.projectId;
75
- this.adapters = config.adapters;
68
+ this.adapters = config.adapters ?? [];
76
69
 
77
70
  // Validate adapters to ensure no duplicate chainNamespaces
78
71
  const namespaceMap = new Map<ChainNamespace, string>();
@@ -89,16 +82,32 @@ export class AppKit {
89
82
  namespaceMap.set(chainNamespace, adapterName);
90
83
  }
91
84
 
92
- this.networks = NetworkUtil.formatNetworks(config.networks, this.projectId); //TODO: check this
93
- this.defaultNetwork = config.defaultNetwork
94
- ? NetworkUtil.formatNetwork(config.defaultNetwork, this.projectId)
95
- : undefined;
96
- this.namespaces = WcHelpersUtil.createNamespaces(this.networks) as ProposalNamespaces;
85
+ const formattedNetworks = NetworkUtil.formatNetworks(config.networks, this.projectId);
86
+
87
+ // Use only networks that have adapters
88
+ const networksWithAdapters = formattedNetworks.filter(network => {
89
+ return this.adapters.some(
90
+ adapter => adapter.getSupportedNamespace() === network.chainNamespace
91
+ );
92
+ });
93
+
94
+ config.networks.forEach(network => {
95
+ if (!networksWithAdapters.some(n => n.id === network.id)) {
96
+ console.warn(`AppKit: missing adapter for network ${network.name} - ${network.id}`);
97
+ }
98
+ });
99
+
100
+ this.networks = networksWithAdapters;
101
+ this.namespaces = WcHelpersUtil.createNamespaces(
102
+ this.networks,
103
+ config.universalProviderConfigOverride
104
+ ) as ProposalNamespaces;
97
105
  this.config = config;
98
106
  this.extraConnectors = config.extraConnectors || [];
99
107
 
100
108
  this.initControllers(config);
101
109
  this.initConnectors();
110
+ this.watchBalance();
102
111
  }
103
112
 
104
113
  /**
@@ -106,60 +115,79 @@ export class AppKit {
106
115
  * @param type - The type of connector to use.
107
116
  * @param options - Optional connection options.
108
117
  */
109
- async connect(type: New_ConnectorType, options?: ConnectOptions): Promise<void> {
118
+ async connect(options?: AppKitConnectOptions): Promise<void> {
110
119
  try {
111
- const { namespaces, defaultChain, universalLink } = options ?? {};
112
- const connector = await this.createConnector(type);
113
-
114
- const approvedNamespaces = await connector.connect({
115
- namespaces: namespaces ?? this.namespaces,
116
- defaultChain,
117
- universalLink
118
- });
120
+ const { wallet, walletId } = options ?? {};
119
121
 
120
- const walletInfo = connector.getWalletInfo();
122
+ let targetWallet: WcWallet | undefined;
121
123
 
122
- if (!approvedNamespaces || Object.keys(approvedNamespaces).length === 0) {
123
- throw new Error('Connection cancelled or failed: No approved namespaces returned.');
124
+ if (walletId) {
125
+ targetWallet = WalletUtil.getWallet(walletId);
126
+ } else if (wallet) {
127
+ targetWallet = wallet;
124
128
  }
125
129
 
126
- // Setup adapters and subscribe to adapter events
127
- const approvedAdapters = this.setupAdaptersAndSubscribe(
128
- connector,
129
- Object.keys(approvedNamespaces)
130
- );
130
+ const connectorType = WcHelpersUtil.getConnectorTypeByWallet(targetWallet);
131
131
 
132
- // Check if any compatible adapters were found for the *approved* namespaces
133
- if (approvedAdapters.length === 0) {
134
- //TODO: handle case where devs want to connect to a namespace that has no adapters. Could use the provider directly.
135
- throw new Error('No compatible adapters found for the approved namespaces');
136
- }
132
+ const connector = await this.createConnector(connectorType);
137
133
 
138
- // Store the connection details for the successfully connected adapters
139
- this.storeConnectionDetails(approvedAdapters, approvedNamespaces, walletInfo);
134
+ const chain = NetworkUtil.getDefaultNetwork(
135
+ this.namespaces,
136
+ OptionsController.state.defaultNetwork
137
+ );
140
138
 
141
- // Store connector type and namespaces in storage
142
- await StorageUtil.setConnectedConnectors({
143
- type: connector.type,
144
- namespaces: Object.keys(approvedNamespaces)
139
+ const approvedNamespaces = await connector.connect({
140
+ namespaces: this.namespaces,
141
+ defaultNetwork: chain,
142
+ universalLink: targetWallet?.link_mode ?? undefined
145
143
  });
146
144
 
147
- this.syncAccounts(approvedAdapters);
145
+ this.processConnection(connector, approvedNamespaces);
148
146
 
149
- //TODO: Replace this
150
- AccountController.setIsConnected(true);
147
+ // Save connector type and namespaces in storage
148
+ if (approvedNamespaces && Object.keys(approvedNamespaces).length > 0) {
149
+ await StorageUtil.setConnectedConnectors({
150
+ type: connector.type,
151
+ namespaces: Object.keys(approvedNamespaces)
152
+ });
153
+ }
151
154
  } catch (error) {
152
- console.warn('Connection failed:', error);
155
+ LogController.sendError(error, 'AppKit.ts', 'connect');
153
156
  throw error;
154
157
  }
155
158
  }
156
159
 
160
+ private async processConnection(connector: WalletConnector, namespaces?: Namespaces) {
161
+ if (!namespaces || Object.keys(namespaces).length === 0) {
162
+ throw new Error('No namespaces provided');
163
+ }
164
+
165
+ const walletInfo = connector.getWalletInfo();
166
+ const properties = connector.getProperties();
167
+
168
+ const initializedAdapters = this.setupAdaptersAndSubscribe(connector, Object.keys(namespaces));
169
+
170
+ if (initializedAdapters.length === 0) {
171
+ console.warn('No compatible adapters found for namespaces:', Object.keys(namespaces));
172
+
173
+ return;
174
+ }
175
+
176
+ // Store the connection details
177
+ this.setConnection(initializedAdapters, namespaces, walletInfo, properties);
178
+
179
+ // Sync accounts
180
+ await this.syncAccounts(initializedAdapters);
181
+
182
+ await SIWXUtil.initializeIfEnabled({ onDisconnect: this.disconnect, closeModal: true });
183
+ }
184
+
157
185
  /**
158
186
  * Disconnects from a given namespace.
159
187
  * @param namespace - The namespace to disconnect from.
160
188
  * @param isInternal - Whether the disconnect is internal (i.e. from the AppKit) or external (i.e. from wallet side).
161
189
  */
162
- async disconnect(namespace?: string, isInternal?: boolean): Promise<void> {
190
+ async disconnect(namespace?: ChainNamespace, isInternal?: boolean): Promise<void> {
163
191
  try {
164
192
  const activeNamespace = namespace ?? ConnectionsController.state.activeNamespace;
165
193
 
@@ -180,16 +208,33 @@ export class AppKit {
180
208
 
181
209
  ModalController.close();
182
210
 
183
- AccountController.setIsConnected(false); // Might need adjustment based on multi-connection logic
184
211
  RouterController.reset('Connect');
185
- TransactionsController.resetTransactions();
186
- ConnectionController.disconnect();
212
+ TransactionsController.resetState();
213
+ SwapController.resetState();
214
+ SendController.resetState();
215
+ OnRampController.resetState();
216
+ WcController.resetState();
217
+ EventsController.resetState();
218
+
219
+ if (ConnectionsController.state.activeNamespace === undefined) {
220
+ ConnectionsController.setActiveNamespace(
221
+ OptionsController.state.defaultNetwork?.chainNamespace
222
+ );
223
+ }
224
+
225
+ if (SIWXUtil.getSIWX()?.signOutOnDisconnect) {
226
+ await SIWXUtil.clearSessions();
227
+ }
187
228
 
188
229
  EventsController.sendEvent({
189
230
  type: 'track',
190
- event: 'DISCONNECT_SUCCESS'
231
+ event: 'DISCONNECT_SUCCESS',
232
+ properties: {
233
+ namespace: activeNamespace
234
+ }
191
235
  });
192
236
  } catch (error) {
237
+ LogController.sendError(error, 'AppKit.ts', 'disconnect');
193
238
  EventsController.sendEvent({
194
239
  type: 'track',
195
240
  event: 'DISCONNECT_ERROR'
@@ -200,7 +245,7 @@ export class AppKit {
200
245
  /**
201
246
  * Returns the provider for a given namespace.
202
247
  * @param namespace - The namespace to get the provider for.
203
- * @returns The provider for the given namespace.
248
+ * @returns The provider for the given namespace, or null if not available or not yet initialized.
204
249
  */
205
250
  getProvider<T extends Provider>(namespace?: string): T | null {
206
251
  const activeNamespace = namespace ?? ConnectionsController.state.activeNamespace;
@@ -211,7 +256,15 @@ export class AppKit {
211
256
  );
212
257
  if (!connection || !connection.adapter || !connection.adapter.connector) return null;
213
258
 
214
- return connection.adapter.connector.getProvider() as T;
259
+ try {
260
+ return connection.adapter.connector.getProvider() as T | null;
261
+ } catch (error) {
262
+ // Provider not initialized yet during session restoration
263
+ // This can happen on app restart when restoring a previous connection
264
+ LogController.sendError(error, 'AppKit.ts', 'getProvider');
265
+
266
+ return null;
267
+ }
215
268
  }
216
269
 
217
270
  getNetworks() {
@@ -219,6 +272,14 @@ export class AppKit {
219
272
  }
220
273
 
221
274
  async switchNetwork(network: AppKitNetwork): Promise<void> {
275
+ const { isConnected } = ConnectionsController.state;
276
+
277
+ if (!isConnected) {
278
+ OptionsController.setDefaultNetwork(network);
279
+
280
+ return Promise.resolve();
281
+ }
282
+
222
283
  const adapter = this.getAdapterByNamespace(network.chainNamespace);
223
284
  if (!adapter) throw new Error('No active adapter');
224
285
 
@@ -228,29 +289,82 @@ export class AppKit {
228
289
  type: 'track',
229
290
  event: 'SWITCH_NETWORK',
230
291
  properties: {
231
- network: network.id
292
+ network: network.caipNetworkId
232
293
  }
233
294
  });
234
295
 
235
- ConnectionsController.setActiveNetwork(
236
- adapter.getSupportedNamespace(),
237
- `${adapter.getSupportedNamespace()}:${network.id}` as CaipNetworkId
238
- );
239
-
240
- if (ConnectionsController.state.activeNamespace !== network.chainNamespace) {
241
- ConnectionsController.setActiveNamespace(network.chainNamespace);
242
- }
296
+ ConnectionsController.setActiveNetwork(network.chainNamespace, network.caipNetworkId);
243
297
  }
244
298
 
245
- open(options?: OpenOptions) {
299
+ open(options?: AppKitOpenOptions) {
246
300
  ModalController.open(options);
247
301
  }
248
302
 
249
- close() {
303
+ async close() {
250
304
  ModalController.close();
305
+ const isSIWXRequired = SIWXUtil.getSIWX()?.getRequired?.();
306
+
307
+ if (isSIWXRequired && ConnectionsController.state.isConnected) {
308
+ const sessions = await SIWXUtil.getSessions();
309
+ if (!sessions.length) {
310
+ return await this.disconnect();
311
+ }
312
+ }
313
+
314
+ if (RouterController.state.view === 'UnsupportedChain') {
315
+ return await this.disconnect();
316
+ }
317
+
318
+ RouterUtil.checkOnRampBack();
319
+ RouterUtil.checkSocialLoginBack();
320
+ EventsController.sendWalletImpressions();
321
+ }
322
+
323
+ back() {
324
+ if (RouterController.state.history.length > 1) {
325
+ RouterUtil.checkBack();
326
+
327
+ return RouterController.goBack();
328
+ }
329
+
330
+ const isSIWXRequired = SIWXUtil.getSIWX()?.getRequired?.();
331
+
332
+ if (isSIWXRequired) {
333
+ // Don't close the modal if SIWX is required
334
+ return;
335
+ }
336
+
337
+ return this.close();
338
+ }
339
+
340
+ async switchAccountType(namespace: ChainNamespace, type: AccountType, network: AppKitNetwork) {
341
+ const adapter = this.getAdapterByNamespace(namespace);
342
+ if (!adapter) throw new Error('No active adapter');
343
+
344
+ const address = ConnectionsController.setAccountType(namespace, type);
345
+
346
+ // Get balances from API
347
+ ConnectionsController.fetchBalance();
348
+
349
+ // Fetch transactions for the new account
350
+ if (address) {
351
+ TransactionsController.fetchTransactions(address, true);
352
+ }
353
+
354
+ // Sync balances from adapter
355
+ this.syncNativeBalance(adapter, network);
356
+
357
+ EventsController.sendEvent({
358
+ type: 'track',
359
+ event: 'SET_PREFERRED_ACCOUNT_TYPE',
360
+ properties: {
361
+ accountType: type,
362
+ network: network?.caipNetworkId || ''
363
+ }
364
+ });
251
365
  }
252
366
 
253
- private async createConnector(type: New_ConnectorType): Promise<WalletConnector> {
367
+ private async createConnector(type: ConnectorType): Promise<WalletConnector> {
254
368
  // Check if an extra connector was provided by the developer
255
369
  const CustomConnector = this.extraConnectors.find(
256
370
  connector => connector.type.toLowerCase() === type.toLowerCase()
@@ -266,59 +380,68 @@ export class AppKit {
266
380
  }
267
381
 
268
382
  // Default to WalletConnectConnector if no custom connector matches
269
- const walletConnectConnector = new WalletConnectConnector({
383
+ return this.createWalletConnectConnector();
384
+ }
385
+
386
+ private async createWalletConnectConnector() {
387
+ if (this.walletConnectConnector) {
388
+ return this.walletConnectConnector;
389
+ }
390
+
391
+ this.walletConnectConnector = new WalletConnectConnector({
270
392
  projectId: this.projectId
271
393
  });
272
- await walletConnectConnector.init({
394
+ await this.walletConnectConnector.init({
273
395
  storage: this.config.storage,
274
396
  metadata: this.config.metadata
275
397
  });
276
398
 
277
- return walletConnectConnector;
399
+ return this.walletConnectConnector;
278
400
  }
279
401
 
280
- //TODO: reuse logic with connect method
281
402
  /**
282
403
  * Initializes connectors based on stored connection data.
283
404
  * This attempts to restore previous sessions.
284
405
  */
285
406
  private async initConnectors() {
286
- const connectedConnectors = await StorageUtil.getConnectedConnectors(); // Fetch stored connectors
287
- if (connectedConnectors.length > 0) {
288
- ModalController.setLoading(true);
407
+ ModalController.setLoading(true);
408
+
409
+ //Always init the walletconnect connector
410
+ await this.createWalletConnectConnector();
289
411
 
412
+ const connectedConnectors = await StorageUtil.getConnectedConnectors();
413
+ if (connectedConnectors.length > 0) {
290
414
  for (const connected of connectedConnectors) {
291
415
  try {
292
416
  const connector = await this.createConnector(connected.type);
293
417
 
294
418
  const namespaces = connector.getNamespaces();
295
- const walletInfo = connector.getWalletInfo();
296
-
297
- if (namespaces && Object.keys(namespaces).length > 0) {
298
- // Ensure namespaces is not empty
299
- // Setup adapters and subscribe to events
300
- const initializedAdapters = this.setupAdaptersAndSubscribe(
301
- connector,
302
- Object.keys(namespaces)
303
- );
304
-
305
- // If adapters were successfully initialized, store the connection details
306
- if (initializedAdapters.length > 0) {
307
- this.storeConnectionDetails(initializedAdapters, namespaces, walletInfo);
308
- }
309
-
310
- this.syncAccounts(initializedAdapters);
311
419
 
312
- AccountController.setIsConnected(true);
313
- }
420
+ await this.processConnection(connector, namespaces);
314
421
  } catch (error) {
315
- // Use console.warn for non-critical initialization failures
316
- console.warn(`Failed to initialize connector type ${connected.type}:`, error);
422
+ LogController.sendError(error, 'AppKit.ts', 'initializeConnector', {
423
+ connectorType: connected.type
424
+ });
317
425
  await StorageUtil.removeConnectedConnectors(connected.type);
318
426
  }
319
427
  }
320
- ModalController.setLoading(false);
428
+
429
+ const address = ConnectionsController.state.activeAddress;
430
+ const walletInfo = ConnectionsController.state.walletInfo;
431
+ if (address) {
432
+ EventsController.sendEvent({
433
+ type: 'track',
434
+ event: 'CONNECT_SUCCESS',
435
+ address: CoreHelperUtil.getPlainAddress(address),
436
+ properties: {
437
+ name: walletInfo?.name ?? 'Unknown',
438
+ reconnect: true
439
+ }
440
+ });
441
+ }
321
442
  }
443
+
444
+ ModalController.setLoading(false);
322
445
  }
323
446
 
324
447
  private setupAdaptersAndSubscribe(
@@ -337,7 +460,7 @@ export class AppKit {
337
460
  }
338
461
 
339
462
  adapters.forEach(adapter => {
340
- adapter.setConnector(connector);
463
+ adapter.init({ connector });
341
464
  this.subscribeToAdapterEvents(adapter);
342
465
  });
343
466
 
@@ -357,53 +480,147 @@ export class AppKit {
357
480
  adapters.forEach(async adapter => {
358
481
  const namespace = adapter.getSupportedNamespace();
359
482
  const connection = ConnectionsController.state.connections.get(namespace);
360
- if (connection) {
361
- const accounts = adapter.getAccounts();
362
- if (accounts && accounts.length > 0) {
363
- ConnectionsController.updateAccounts(namespace, accounts);
483
+ const network = this.networks.find(
484
+ n => n.id?.toString() === connection?.caipNetwork?.split(':')[1]
485
+ );
364
486
 
365
- const network = this.networks.find(
366
- n => n.id?.toString() === connection?.caipNetwork?.split(':')[1]
367
- );
487
+ this.syncNativeBalance(adapter, network);
488
+ this.syncIdentity(namespace, connection);
489
+ });
490
+ }
368
491
 
369
- const address = accounts.find(
370
- a => a.split(':')[1] === connection.caipNetwork?.split(':')[1]
371
- );
492
+ private syncNativeBalance(adapter: BlockchainAdapter, network?: AppKitNetwork) {
493
+ if (adapter && network) {
494
+ const accounts = adapter.getAccounts();
495
+ if (accounts && accounts.length > 0) {
496
+ const addresses = accounts.filter(a => a.split(':')[1] === network?.id?.toString());
372
497
 
373
- if (address) {
498
+ if (addresses.length > 0) {
499
+ addresses.forEach(address => {
374
500
  adapter.getBalance({ address, network, tokens: this.config.tokens });
375
- }
501
+ });
376
502
  }
377
503
  }
378
- });
504
+ }
505
+ }
506
+
507
+ private async syncIdentity(namespace?: ChainNamespace, connection?: Connection) {
508
+ if (namespace !== 'eip155' || !connection?.accounts?.length) return;
509
+
510
+ const uniqueAddresses = [
511
+ ...new Set(connection.accounts.map(account => CoreHelperUtil.getPlainAddress(account)))
512
+ ];
513
+
514
+ // Process addresses sequentially to avoid race conditions
515
+ for (const plainAddress of uniqueAddresses) {
516
+ try {
517
+ // Validate address format before type assertion
518
+ if (!plainAddress || !CoreHelperUtil.isAddress(plainAddress, 'eip155')) {
519
+ console.warn(`Invalid Ethereum address format: ${plainAddress}`);
520
+ continue;
521
+ }
522
+
523
+ const identity = await BlockchainApiController.fetchIdentity({
524
+ address: plainAddress as `0x${string}`
525
+ });
526
+
527
+ if (identity?.name) {
528
+ ConnectionsController.updateIdentity(
529
+ namespace,
530
+ connection,
531
+ plainAddress as `0x${string}`,
532
+ identity
533
+ );
534
+ }
535
+ } catch (error) {
536
+ LogController.sendError(error, 'AppKit.ts', 'syncIdentity');
537
+ // Continue processing other addresses even if one fails
538
+ }
539
+ }
540
+ }
541
+
542
+ private refreshBalance(fetchAllBalances: boolean = false) {
543
+ try {
544
+ if (fetchAllBalances) {
545
+ ConnectionsController.fetchBalance();
546
+ }
547
+ const ns = ConnectionsController.state.activeNamespace;
548
+ const network = ConnectionsController.state.activeNetwork;
549
+ if (ns && network) {
550
+ const adapter = this.getAdapterByNamespace(ns);
551
+ if (adapter) {
552
+ this.syncNativeBalance(adapter, network);
553
+ }
554
+ }
555
+ } catch (error) {
556
+ // ignore
557
+ LogController.sendError(error, 'AppKit.ts', 'refreshBalance');
558
+ }
559
+ }
560
+
561
+ private startBalancePolling(fetchAllBalances: boolean = false) {
562
+ if (this.balanceIntervalId) return;
563
+ // immediate fetch
564
+ this.refreshBalance(fetchAllBalances);
565
+ this.balanceIntervalId = setInterval(() => this.refreshBalance(fetchAllBalances), 10000);
379
566
  }
380
567
 
381
- private storeConnectionDetails(
568
+ private stopBalancePolling() {
569
+ if (this.balanceIntervalId) {
570
+ clearInterval(this.balanceIntervalId);
571
+ this.balanceIntervalId = undefined;
572
+ }
573
+ }
574
+
575
+ private watchBalance() {
576
+ // watch balance when user is on account or account default view
577
+ const recomputePolling = () => {
578
+ const open = ModalController.state.open;
579
+ const view = RouterController.state.view;
580
+ if (open && (view === 'Account' || view === 'AccountDefault')) {
581
+ // fetch all balances when user is using embedded wallet
582
+ this.startBalancePolling(view === 'Account');
583
+ } else {
584
+ this.stopBalancePolling();
585
+ }
586
+ };
587
+ recomputePolling();
588
+ subscribeKey(RouterController.state, 'view', () => recomputePolling());
589
+ subscribeKey(ModalController.state, 'open', () => recomputePolling());
590
+ }
591
+
592
+ private setConnection(
382
593
  adapters: BlockchainAdapter[],
383
594
  approvedNamespaces: Namespaces,
384
- wallet?: WalletInfo
595
+ wallet?: WalletInfo,
596
+ properties?: ConnectionProperties
385
597
  ) {
386
598
  adapters.forEach(async adapter => {
387
599
  const namespace = adapter.getSupportedNamespace();
388
600
  const namespaceDetails = approvedNamespaces[namespace];
389
- if (!namespaceDetails) return; // Should not happen if filtering is correct
601
+ if (!namespaceDetails) return;
390
602
 
391
603
  const accounts = namespaceDetails.accounts ?? [];
392
604
  const chains = namespaceDetails.chains ?? [];
393
605
  const caipNetwork = adapter?.connector?.getChainId(namespace);
606
+ const namespaceProperties = {
607
+ ...properties,
608
+ smartAccounts: properties?.smartAccounts?.filter(account => account.startsWith(namespace)),
609
+ canAddEvmChain: wallet?.name === 'MetaMask Wallet' // MetaMask allows adding EVM chains after connecting
610
+ };
394
611
 
395
- ConnectionsController.storeConnection({
396
- namespace,
397
- adapter,
612
+ ConnectionsController.setConnection({
398
613
  accounts,
399
- chains,
400
- caipNetwork,
614
+ adapter,
615
+ caipNetwork: caipNetwork ?? chains[0]!,
616
+ namespace,
617
+ properties: namespaceProperties,
401
618
  wallet
402
619
  });
403
620
  });
404
621
 
405
- const updateActiveNamespace = !Object.keys(approvedNamespaces).find(
406
- n => n === ConnectionsController.state.activeNamespace
622
+ const updateActiveNamespace = !Object.keys(approvedNamespaces).some(
623
+ namespace => namespace === ConnectionsController.state.activeNamespace
407
624
  );
408
625
 
409
626
  // If the active namespace is not in the approved namespaces or is undefined, set the first connected adapter's namespace as active
@@ -415,23 +632,46 @@ export class AppKit {
415
632
  private subscribeToAdapterEvents(adapter: BlockchainAdapter): void {
416
633
  adapter.on('accountsChanged', ({ accounts }) => {
417
634
  const namespace = adapter.getSupportedNamespace();
418
- //eslint-disable-next-line no-console
419
- console.log('accountsChanged', accounts, namespace);
420
- //TODO: check this
635
+ ConnectionsController.updateAccounts(namespace, accounts);
421
636
  });
422
637
 
423
- adapter.on('chainChanged', ({ chainId }) => {
638
+ adapter.on('chainChanged', async ({ chainId }) => {
639
+ const isSupported = this.networks.some(network => network.id?.toString() === chainId);
640
+ if (!isSupported) {
641
+ return this.navigate('UnsupportedChain');
642
+ }
643
+
424
644
  const namespace = adapter.getSupportedNamespace();
425
645
  const chain = `${namespace}:${chainId}` as CaipNetworkId;
646
+
426
647
  ConnectionsController.setActiveNetwork(namespace, chain);
427
648
 
649
+ const connection = ConnectionsController.state.connections.get(namespace);
650
+ const isAuth = !!connection?.properties?.provider;
651
+
428
652
  const network = this.networks.find(n => n.id?.toString() === chainId);
429
- if (network) {
430
- adapter.getBalance({
431
- network,
432
- tokens: this.config.tokens
433
- });
653
+ this.syncNativeBalance(adapter, network);
654
+ SendController.resetState();
655
+
656
+ // Refresh balance for embedded wallets
657
+ if (isAuth) {
658
+ ConnectionsController.fetchBalance();
434
659
  }
660
+
661
+ const address = connection?.accounts?.find(account =>
662
+ account.startsWith(`${namespace}:${chainId}`)
663
+ );
664
+ if (address) {
665
+ TransactionsController.fetchTransactions(address, true);
666
+ }
667
+
668
+ const closeModal = RouterController.state.view === 'UnsupportedChain';
669
+
670
+ SIWXUtil.initializeIfEnabled({
671
+ onDisconnect: this.disconnect,
672
+ caipAddress: address,
673
+ closeModal
674
+ });
435
675
  });
436
676
 
437
677
  adapter.on('disconnect', () => {
@@ -446,25 +686,39 @@ export class AppKit {
446
686
  }
447
687
 
448
688
  private async initControllers(options: AppKitConfig) {
449
- await this.initAsyncValues(options);
689
+ await this.initStorageAndValues(options);
690
+ let defaultNetwork;
450
691
 
451
692
  OptionsController.setProjectId(options.projectId);
452
693
  OptionsController.setMetadata(options.metadata);
453
694
  OptionsController.setIncludeWalletIds(options.includeWalletIds);
454
- OptionsController.setExcludeWalletIds(options.excludeWalletIds);
695
+ this.setExcludedWallets(options);
696
+ this.setCustomWallets(options);
455
697
  OptionsController.setFeaturedWalletIds(options.featuredWalletIds);
456
- OptionsController.setTokens(options.tokens);
457
- OptionsController.setCustomWallets(options.customWallets);
458
698
  OptionsController.setEnableAnalytics(options.enableAnalytics);
459
699
  OptionsController.setDebug(options.debug);
700
+
701
+ LogController.sendInfo('AppKit initialization started', 'AppKit.ts', 'initControllers', {
702
+ projectId: options.projectId,
703
+ adapters: this.adapters.map(a => a.constructor.name),
704
+ networks: this.networks.map(n => n.name),
705
+ debug: options.debug
706
+ });
707
+
460
708
  OptionsController.setFeatures(options.features);
461
- OptionsController.setStorage(options.storage);
709
+ OptionsController.setRequestedNetworks(this.networks);
710
+
711
+ if (options.defaultNetwork) {
712
+ defaultNetwork = NetworkUtil.formatNetwork(options.defaultNetwork, this.projectId);
713
+ OptionsController.setDefaultNetwork(defaultNetwork);
714
+ }
462
715
 
463
- ThemeController.setThemeMode(options.themeMode);
716
+ ThemeController.setDefaultThemeMode(options.themeMode);
464
717
  ThemeController.setThemeVariables(options.themeVariables);
465
718
 
466
- //TODO: function to get sdk version based on adapters
467
- // OptionsController.setSdkVersion(options._sdkVersion);
719
+ OptionsController.setSdkVersion(
720
+ CoreHelperUtil.generateSdkVersion(this.adapters, ConstantsUtil.VERSION)
721
+ );
468
722
 
469
723
  if (options.clipboardClient) {
470
724
  OptionsController.setClipboardClient(options.clipboardClient);
@@ -472,57 +726,168 @@ export class AppKit {
472
726
 
473
727
  ConnectionsController.setNetworks(this.networks);
474
728
 
475
- if (options.siweConfig) {
476
- SIWEController.setSIWEClient(options.siweConfig);
729
+ if (options.siwx) {
730
+ OptionsController.setSiwx(options.siwx);
731
+ }
732
+
733
+ if (
734
+ (options.features?.onramp === true || options.features?.onramp === undefined) &&
735
+ (options.metadata?.redirect?.universal || options.metadata?.redirect?.native)
736
+ ) {
737
+ OptionsController.setIsOnRampEnabled(true);
477
738
  }
478
739
 
479
- // if (
480
- // (options.features?.onramp === true || options.features?.onramp === undefined) &&
481
- // (options.metadata?.redirect?.universal || options.metadata?.redirect?.native)
482
- // ) {
483
- // OptionsController.setIsOnRampEnabled(true);
484
- // }
740
+ EventsController.sendEvent({
741
+ type: 'track',
742
+ event: 'INITIALIZE',
743
+ properties: {
744
+ showWallets: options.features?.showWallets,
745
+ themeMode: options.themeMode,
746
+ themeVariables: options.themeVariables,
747
+ networks: this.networks.map(network => network.caipNetworkId).filter(Boolean),
748
+ defaultNetwork: defaultNetwork?.caipNetworkId,
749
+ metadata: options.metadata,
750
+ enableAnalytics: options.enableAnalytics,
751
+ features: options.features,
752
+ adapters: this.adapters.map(adapter => adapter?.constructor?.name).filter(Boolean),
753
+ extraConnectors: this.extraConnectors.map(connector => connector?.type).filter(Boolean),
754
+ siwx: !!options.siwx
755
+ }
756
+ });
485
757
  }
486
758
 
487
759
  private async initActiveNamespace() {
488
760
  const activeNamespace = await StorageUtil.getActiveNamespace();
489
761
  if (activeNamespace) {
490
762
  ConnectionsController.setActiveNamespace(activeNamespace);
491
- } else if (this.defaultNetwork) {
492
- ConnectionsController.setActiveNamespace(this.defaultNetwork?.chainNamespace);
763
+ } else if (OptionsController.state.defaultNetwork) {
764
+ ConnectionsController.setActiveNamespace(
765
+ OptionsController.state.defaultNetwork?.chainNamespace
766
+ );
493
767
  }
494
768
  }
495
769
 
496
770
  private async initRecentWallets(options: AppKitConfig) {
497
771
  const wallets = await StorageUtil.getRecentWallets();
498
- const connectedWalletImage = await StorageUtil.getConnectedWalletImageUrl();
499
-
500
772
  const filteredWallets = wallets.filter(wallet => {
501
773
  const { includeWalletIds, excludeWalletIds } = options;
502
- if (includeWalletIds) {
774
+
775
+ if (includeWalletIds?.length) {
503
776
  return includeWalletIds.includes(wallet.id);
504
777
  }
505
- if (excludeWalletIds) {
778
+ if (excludeWalletIds?.length) {
506
779
  return !excludeWalletIds.includes(wallet.id);
507
780
  }
508
781
 
509
- return true;
782
+ return this.networks.some(
783
+ network => wallet.chains?.some(chain => network.caipNetworkId === chain)
784
+ );
510
785
  });
511
786
 
512
- ConnectionController.setRecentWallets(filteredWallets);
787
+ WcController.setRecentWallets(filteredWallets);
788
+ }
789
+
790
+ private setExcludedWallets(options: AppKitConfig) {
791
+ const excludedWallets = options.excludeWalletIds || [];
792
+
793
+ // Exclude Coinbase if the connector is not implemented
794
+ const excludeCoinbase = !this.extraConnectors.some(connector => connector.type === 'coinbase');
795
+
796
+ if (excludeCoinbase) {
797
+ excludedWallets.push(ConstantsUtil.COINBASE_CUSTOM_WALLET.id);
798
+ }
799
+
800
+ OptionsController.setExcludeWalletIds(excludedWallets);
801
+ }
802
+
803
+ private setCustomWallets(options: AppKitConfig) {
804
+ const { customWallets, extraConnectors, adapters } = options;
805
+
806
+ const customList = [...(customWallets ?? [])];
807
+
808
+ const isSolanaEnabled =
809
+ adapters.some(adapter => adapter.getSupportedNamespace() === 'solana') &&
810
+ this.networks.some(network => network.chainNamespace === 'solana');
811
+
812
+ const addPhantom =
813
+ isSolanaEnabled &&
814
+ extraConnectors?.some(connector => connector.type.toLowerCase() === 'phantom') &&
815
+ !customList.some(wallet => wallet.id === ConstantsUtil.PHANTOM_CUSTOM_WALLET.id);
816
+
817
+ if (addPhantom) {
818
+ customList.push(ConstantsUtil.PHANTOM_CUSTOM_WALLET);
819
+ }
820
+
821
+ const addSolflare =
822
+ isSolanaEnabled &&
823
+ extraConnectors?.some(connector => connector.type.toLowerCase() === 'solflare') &&
824
+ !customList.some(wallet => wallet.id === ConstantsUtil.SOLFLARE_CUSTOM_WALLET.id);
513
825
 
514
- if (connectedWalletImage) {
515
- ConnectionController.setConnectedWalletImageUrl(connectedWalletImage);
826
+ if (addSolflare) {
827
+ customList.push(ConstantsUtil.SOLFLARE_CUSTOM_WALLET);
516
828
  }
829
+
830
+ OptionsController.setCustomWallets(customList);
517
831
  }
518
832
 
519
- private async initAsyncValues(options: AppKitConfig) {
833
+ private async initStorageAndValues(options: AppKitConfig) {
834
+ if (!options.storage) {
835
+ throw new Error('AppKit: Storage is not set');
836
+ }
837
+
838
+ OptionsController.setStorage(options.storage);
520
839
  await this.initActiveNamespace();
521
840
  await this.initRecentWallets(options);
522
- //disable coinbase if connector is not set
523
841
  }
842
+
843
+ private navigate = (routeName: RouterControllerState['view']) => {
844
+ if (RouterController.state.view === routeName) {
845
+ return;
846
+ }
847
+
848
+ if (ModalController.state.open) {
849
+ RouterController.push(routeName);
850
+ } else {
851
+ ModalController.open({ view: routeName });
852
+ }
853
+ };
524
854
  }
525
855
 
856
+ /**
857
+ * Creates or returns the existing AppKit singleton instance.
858
+ *
859
+ * @warning This function implements a singleton pattern. If an instance already exists,
860
+ * it will be returned and the provided config parameter will be IGNORED. If you need to
861
+ * change configuration, you must reload your application or clear the singleton manually.
862
+ *
863
+ * @param config - AppKit configuration options
864
+ * @returns The AppKit singleton instance
865
+ * @throws Error if configuration validation fails
866
+ */
526
867
  export function createAppKit(config: AppKitConfig): AppKit {
527
- return new AppKit(config);
868
+ try {
869
+ const globalWithAppKit = globalThis as GlobalWithAppKit;
870
+
871
+ if (!globalWithAppKit[APPKIT_INSTANCE_KEY]) {
872
+ if (config.debug && __DEV__) {
873
+ // using console.log to avoid possible issues with LogController not being initialized
874
+ //eslint-disable-next-line no-console
875
+ console.log('AppKit: Creating new instance - AppKit.ts:createAppKit');
876
+ }
877
+ globalWithAppKit[APPKIT_INSTANCE_KEY] = new AppKit(config);
878
+ } else if (config.debug && __DEV__) {
879
+ //eslint-disable-next-line no-console
880
+ console.log('AppKit: Reusing existing instance - AppKit.ts:createAppKit');
881
+ }
882
+
883
+ return globalWithAppKit[APPKIT_INSTANCE_KEY]!;
884
+ } catch (error) {
885
+ if (__DEV__) {
886
+ // using console.error to avoid possible issues with LogController not being initialized
887
+ //eslint-disable-next-line no-console
888
+ console.error('AppKit: Failed to create instance - AppKit.ts:createAppKit', error);
889
+ }
890
+
891
+ throw error;
892
+ }
528
893
  }