@reown/appkit-react-native 2.0.0 → 2.0.2

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