@reown/appkit-react-native 2.0.0-alpha.4 → 2.0.0-alpha.6

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 (514) hide show
  1. package/lib/commonjs/AppKit.js +59 -93
  2. package/lib/commonjs/AppKit.js.map +1 -1
  3. package/lib/commonjs/AppKitContext.js +16 -10
  4. package/lib/commonjs/AppKitContext.js.map +1 -1
  5. package/lib/commonjs/connectors/WalletConnectConnector.js +36 -63
  6. package/lib/commonjs/connectors/WalletConnectConnector.js.map +1 -1
  7. package/lib/commonjs/hooks/useAccount.js +9 -4
  8. package/lib/commonjs/hooks/useAccount.js.map +1 -1
  9. package/lib/commonjs/hooks/useAppKit.js +12 -12
  10. package/lib/commonjs/hooks/useAppKit.js.map +1 -1
  11. package/lib/commonjs/hooks/useAppKitState.js +32 -0
  12. package/lib/commonjs/hooks/useAppKitState.js.map +1 -0
  13. package/lib/commonjs/hooks/useProvider.js +14 -8
  14. package/lib/commonjs/hooks/useProvider.js.map +1 -1
  15. package/lib/commonjs/hooks/useWalletInfo.js +6 -4
  16. package/lib/commonjs/hooks/useWalletInfo.js.map +1 -1
  17. package/lib/commonjs/index.js +14 -0
  18. package/lib/commonjs/index.js.map +1 -1
  19. package/lib/commonjs/modal/w3m-modal/index.js +16 -5
  20. package/lib/commonjs/modal/w3m-modal/index.js.map +1 -1
  21. package/lib/commonjs/modal/w3m-router/index.js +25 -21
  22. package/lib/commonjs/modal/w3m-router/index.js.map +1 -1
  23. package/lib/commonjs/partials/w3m-account-activity/index.js +1 -1
  24. package/lib/commonjs/partials/w3m-account-activity/index.js.map +1 -1
  25. package/lib/commonjs/partials/w3m-all-wallets-list/components/Loading.js +9 -97
  26. package/lib/commonjs/partials/w3m-all-wallets-list/components/Loading.js.map +1 -1
  27. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletItem.js +6 -10
  28. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletItem.js.map +1 -1
  29. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletList.js +96 -0
  30. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletList.js.map +1 -0
  31. package/lib/commonjs/partials/w3m-all-wallets-list/index.js +19 -45
  32. package/lib/commonjs/partials/w3m-all-wallets-list/index.js.map +1 -1
  33. package/lib/commonjs/partials/w3m-all-wallets-list/styles.js +10 -4
  34. package/lib/commonjs/partials/w3m-all-wallets-list/styles.js.map +1 -1
  35. package/lib/commonjs/partials/w3m-all-wallets-search/index.js +25 -49
  36. package/lib/commonjs/partials/w3m-all-wallets-search/index.js.map +1 -1
  37. package/lib/commonjs/partials/w3m-all-wallets-search/styles.js +3 -1
  38. package/lib/commonjs/partials/w3m-all-wallets-search/styles.js.map +1 -1
  39. package/lib/commonjs/partials/w3m-connecting-mobile/index.js +4 -4
  40. package/lib/commonjs/partials/w3m-connecting-mobile/index.js.map +1 -1
  41. package/lib/commonjs/partials/w3m-connecting-mobile/styles.js +2 -1
  42. package/lib/commonjs/partials/w3m-connecting-mobile/styles.js.map +1 -1
  43. package/lib/commonjs/partials/w3m-connecting-qrcode/index.js +7 -2
  44. package/lib/commonjs/partials/w3m-connecting-qrcode/index.js.map +1 -1
  45. package/lib/commonjs/partials/w3m-connecting-web/index.js +2 -1
  46. package/lib/commonjs/partials/w3m-connecting-web/index.js.map +1 -1
  47. package/lib/commonjs/partials/w3m-connecting-web/styles.js +3 -0
  48. package/lib/commonjs/partials/w3m-connecting-web/styles.js.map +1 -1
  49. package/lib/commonjs/partials/w3m-header/index.js +5 -4
  50. package/lib/commonjs/partials/w3m-header/index.js.map +1 -1
  51. package/lib/commonjs/partials/w3m-selector-modal/index.js +72 -57
  52. package/lib/commonjs/partials/w3m-selector-modal/index.js.map +1 -1
  53. package/lib/commonjs/partials/w3m-selector-modal/styles.js +9 -11
  54. package/lib/commonjs/partials/w3m-selector-modal/styles.js.map +1 -1
  55. package/lib/commonjs/utils/SIWXUtil.js +282 -0
  56. package/lib/commonjs/utils/SIWXUtil.js.map +1 -0
  57. package/lib/commonjs/views/w3m-account-default-view/index.js +3 -3
  58. package/lib/commonjs/views/w3m-account-default-view/index.js.map +1 -1
  59. package/lib/commonjs/views/w3m-account-view/index.js +2 -2
  60. package/lib/commonjs/views/w3m-account-view/index.js.map +1 -1
  61. package/lib/commonjs/views/w3m-account-view/styles.js +0 -5
  62. package/lib/commonjs/views/w3m-account-view/styles.js.map +1 -1
  63. package/lib/commonjs/views/w3m-all-wallets-view/index.js +7 -24
  64. package/lib/commonjs/views/w3m-all-wallets-view/index.js.map +1 -1
  65. package/lib/commonjs/views/w3m-connect-socials-view/index.js +2 -2
  66. package/lib/commonjs/views/w3m-connect-socials-view/index.js.map +1 -1
  67. package/lib/commonjs/views/w3m-connect-view/components/all-wallet-list.js +18 -13
  68. package/lib/commonjs/views/w3m-connect-view/components/all-wallet-list.js.map +1 -1
  69. package/lib/commonjs/views/w3m-connect-view/index.js +4 -12
  70. package/lib/commonjs/views/w3m-connect-view/index.js.map +1 -1
  71. package/lib/commonjs/views/w3m-connecting-external-view/index.js +4 -4
  72. package/lib/commonjs/views/w3m-connecting-external-view/index.js.map +1 -1
  73. package/lib/commonjs/views/w3m-connecting-external-view/styles.js +1 -1
  74. package/lib/commonjs/views/w3m-connecting-external-view/styles.js.map +1 -1
  75. package/lib/commonjs/views/w3m-connecting-social-view/index.js +35 -30
  76. package/lib/commonjs/views/w3m-connecting-social-view/index.js.map +1 -1
  77. package/lib/commonjs/views/w3m-connecting-view/index.js +11 -31
  78. package/lib/commonjs/views/w3m-connecting-view/index.js.map +1 -1
  79. package/lib/commonjs/views/w3m-get-wallet-view/index.js +1 -1
  80. package/lib/commonjs/views/w3m-get-wallet-view/index.js.map +1 -1
  81. package/lib/commonjs/views/w3m-network-switch-view/index.js +61 -80
  82. package/lib/commonjs/views/w3m-network-switch-view/index.js.map +1 -1
  83. package/lib/commonjs/views/w3m-networks-view/index.js +25 -14
  84. package/lib/commonjs/views/w3m-networks-view/index.js.map +1 -1
  85. package/lib/commonjs/views/w3m-onramp-checkout-view/index.js +160 -152
  86. package/lib/commonjs/views/w3m-onramp-checkout-view/index.js.map +1 -1
  87. package/lib/commonjs/views/w3m-onramp-loading-view/index.js +4 -4
  88. package/lib/commonjs/views/w3m-onramp-loading-view/index.js.map +1 -1
  89. package/lib/commonjs/views/w3m-onramp-loading-view/styles.js +1 -1
  90. package/lib/commonjs/views/w3m-onramp-loading-view/styles.js.map +1 -1
  91. package/lib/commonjs/views/w3m-onramp-settings-view/components/Country.js +5 -2
  92. package/lib/commonjs/views/w3m-onramp-settings-view/components/Country.js.map +1 -1
  93. package/lib/commonjs/views/w3m-onramp-settings-view/index.js +16 -7
  94. package/lib/commonjs/views/w3m-onramp-settings-view/index.js.map +1 -1
  95. package/lib/commonjs/views/w3m-onramp-settings-view/styles.js +4 -1
  96. package/lib/commonjs/views/w3m-onramp-settings-view/styles.js.map +1 -1
  97. package/lib/commonjs/views/w3m-onramp-settings-view/utils.js +17 -1
  98. package/lib/commonjs/views/w3m-onramp-settings-view/utils.js.map +1 -1
  99. package/lib/commonjs/views/w3m-onramp-transaction-view/index.js +1 -1
  100. package/lib/commonjs/views/w3m-onramp-transaction-view/index.js.map +1 -1
  101. package/lib/commonjs/views/w3m-onramp-view/components/Currency.js +3 -2
  102. package/lib/commonjs/views/w3m-onramp-view/components/Currency.js.map +1 -1
  103. package/lib/commonjs/views/w3m-onramp-view/components/Header.js +1 -1
  104. package/lib/commonjs/views/w3m-onramp-view/components/LoadingView.js +1 -1
  105. package/lib/commonjs/views/w3m-onramp-view/components/LoadingView.js.map +1 -1
  106. package/lib/commonjs/views/w3m-onramp-view/components/SelectPaymentModal.js +5 -2
  107. package/lib/commonjs/views/w3m-onramp-view/components/SelectPaymentModal.js.map +1 -1
  108. package/lib/commonjs/views/w3m-onramp-view/index.js +5 -4
  109. package/lib/commonjs/views/w3m-onramp-view/index.js.map +1 -1
  110. package/lib/commonjs/views/w3m-onramp-view/styles.js +3 -0
  111. package/lib/commonjs/views/w3m-onramp-view/styles.js.map +1 -1
  112. package/lib/commonjs/views/w3m-siwx-sign-view/index.js +109 -0
  113. package/lib/commonjs/views/w3m-siwx-sign-view/index.js.map +1 -0
  114. package/lib/commonjs/views/{w3m-connecting-siwe-view → w3m-siwx-sign-view}/styles.js +0 -7
  115. package/lib/commonjs/views/w3m-siwx-sign-view/styles.js.map +1 -0
  116. package/lib/commonjs/views/w3m-swap-preview-view/index.js +1 -1
  117. package/lib/commonjs/views/w3m-swap-preview-view/index.js.map +1 -1
  118. package/lib/commonjs/views/w3m-swap-preview-view/styles.js +0 -3
  119. package/lib/commonjs/views/w3m-swap-preview-view/styles.js.map +1 -1
  120. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/index.js +156 -0
  121. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/index.js.map +1 -0
  122. package/lib/commonjs/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.js +6 -2
  123. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/styles.js.map +1 -0
  124. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/utils.js.map +1 -0
  125. package/lib/commonjs/views/w3m-swap-view/index.js +15 -15
  126. package/lib/commonjs/views/w3m-swap-view/index.js.map +1 -1
  127. package/lib/commonjs/views/w3m-swap-view/styles.js +0 -8
  128. package/lib/commonjs/views/w3m-swap-view/styles.js.map +1 -1
  129. package/lib/commonjs/views/w3m-unsupported-chain-view/index.js +6 -12
  130. package/lib/commonjs/views/w3m-unsupported-chain-view/index.js.map +1 -1
  131. package/lib/commonjs/views/w3m-unsupported-chain-view/styles.js +1 -1
  132. package/lib/commonjs/views/w3m-unsupported-chain-view/styles.js.map +1 -1
  133. package/lib/commonjs/views/w3m-upgrade-email-wallet-view/index.js +3 -5
  134. package/lib/commonjs/views/w3m-upgrade-email-wallet-view/index.js.map +1 -1
  135. package/lib/commonjs/views/w3m-wallet-compatible-networks-view/index.js +1 -2
  136. package/lib/commonjs/views/w3m-wallet-compatible-networks-view/index.js.map +1 -1
  137. package/lib/commonjs/views/w3m-wallet-receive-view/index.js +1 -1
  138. package/lib/commonjs/views/w3m-wallet-receive-view/index.js.map +1 -1
  139. package/lib/commonjs/views/w3m-wallet-send-preview-view/index.js +1 -1
  140. package/lib/commonjs/views/w3m-wallet-send-preview-view/index.js.map +1 -1
  141. package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js +5 -3
  142. package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
  143. package/lib/commonjs/views/w3m-wallet-send-view/index.js +11 -5
  144. package/lib/commonjs/views/w3m-wallet-send-view/index.js.map +1 -1
  145. package/lib/commonjs/views/w3m-wallet-send-view/styles.js +0 -3
  146. package/lib/commonjs/views/w3m-wallet-send-view/styles.js.map +1 -1
  147. package/lib/commonjs/views/w3m-what-is-a-network-view/index.js +1 -1
  148. package/lib/commonjs/views/w3m-what-is-a-network-view/index.js.map +1 -1
  149. package/lib/commonjs/views/w3m-what-is-a-wallet-view/index.js +1 -1
  150. package/lib/commonjs/views/w3m-what-is-a-wallet-view/index.js.map +1 -1
  151. package/lib/module/AppKit.js +59 -93
  152. package/lib/module/AppKit.js.map +1 -1
  153. package/lib/module/AppKitContext.js +17 -11
  154. package/lib/module/AppKitContext.js.map +1 -1
  155. package/lib/module/connectors/WalletConnectConnector.js +34 -62
  156. package/lib/module/connectors/WalletConnectConnector.js.map +1 -1
  157. package/lib/module/hooks/useAccount.js +9 -5
  158. package/lib/module/hooks/useAccount.js.map +1 -1
  159. package/lib/module/hooks/useAppKit.js +13 -13
  160. package/lib/module/hooks/useAppKit.js.map +1 -1
  161. package/lib/module/hooks/useAppKitState.js +27 -0
  162. package/lib/module/hooks/useAppKitState.js.map +1 -0
  163. package/lib/module/hooks/useProvider.js +13 -8
  164. package/lib/module/hooks/useProvider.js.map +1 -1
  165. package/lib/module/hooks/useWalletInfo.js +6 -4
  166. package/lib/module/hooks/useWalletInfo.js.map +1 -1
  167. package/lib/module/index.js +4 -0
  168. package/lib/module/index.js.map +1 -1
  169. package/lib/module/modal/w3m-modal/index.js +17 -6
  170. package/lib/module/modal/w3m-modal/index.js.map +1 -1
  171. package/lib/module/modal/w3m-router/index.js +26 -22
  172. package/lib/module/modal/w3m-router/index.js.map +1 -1
  173. package/lib/module/partials/w3m-account-activity/index.js +1 -1
  174. package/lib/module/partials/w3m-account-activity/index.js.map +1 -1
  175. package/lib/module/partials/w3m-all-wallets-list/components/Loading.js +10 -98
  176. package/lib/module/partials/w3m-all-wallets-list/components/Loading.js.map +1 -1
  177. package/lib/module/partials/w3m-all-wallets-list/components/WalletItem.js +6 -10
  178. package/lib/module/partials/w3m-all-wallets-list/components/WalletItem.js.map +1 -1
  179. package/lib/module/partials/w3m-all-wallets-list/components/WalletList.js +92 -0
  180. package/lib/module/partials/w3m-all-wallets-list/components/WalletList.js.map +1 -0
  181. package/lib/module/partials/w3m-all-wallets-list/index.js +19 -45
  182. package/lib/module/partials/w3m-all-wallets-list/index.js.map +1 -1
  183. package/lib/module/partials/w3m-all-wallets-list/styles.js +10 -4
  184. package/lib/module/partials/w3m-all-wallets-list/styles.js.map +1 -1
  185. package/lib/module/partials/w3m-all-wallets-search/index.js +27 -51
  186. package/lib/module/partials/w3m-all-wallets-search/index.js.map +1 -1
  187. package/lib/module/partials/w3m-all-wallets-search/styles.js +3 -1
  188. package/lib/module/partials/w3m-all-wallets-search/styles.js.map +1 -1
  189. package/lib/module/partials/w3m-connecting-mobile/index.js +4 -4
  190. package/lib/module/partials/w3m-connecting-mobile/index.js.map +1 -1
  191. package/lib/module/partials/w3m-connecting-mobile/styles.js +2 -1
  192. package/lib/module/partials/w3m-connecting-mobile/styles.js.map +1 -1
  193. package/lib/module/partials/w3m-connecting-qrcode/index.js +7 -2
  194. package/lib/module/partials/w3m-connecting-qrcode/index.js.map +1 -1
  195. package/lib/module/partials/w3m-connecting-web/index.js +2 -1
  196. package/lib/module/partials/w3m-connecting-web/index.js.map +1 -1
  197. package/lib/module/partials/w3m-connecting-web/styles.js +3 -0
  198. package/lib/module/partials/w3m-connecting-web/styles.js.map +1 -1
  199. package/lib/module/partials/w3m-header/index.js +5 -4
  200. package/lib/module/partials/w3m-header/index.js.map +1 -1
  201. package/lib/module/partials/w3m-selector-modal/index.js +74 -59
  202. package/lib/module/partials/w3m-selector-modal/index.js.map +1 -1
  203. package/lib/module/partials/w3m-selector-modal/styles.js +9 -11
  204. package/lib/module/partials/w3m-selector-modal/styles.js.map +1 -1
  205. package/lib/module/utils/SIWXUtil.js +279 -0
  206. package/lib/module/utils/SIWXUtil.js.map +1 -0
  207. package/lib/module/views/w3m-account-default-view/index.js +3 -3
  208. package/lib/module/views/w3m-account-default-view/index.js.map +1 -1
  209. package/lib/module/views/w3m-account-view/index.js +2 -2
  210. package/lib/module/views/w3m-account-view/index.js.map +1 -1
  211. package/lib/module/views/w3m-account-view/styles.js +1 -6
  212. package/lib/module/views/w3m-account-view/styles.js.map +1 -1
  213. package/lib/module/views/w3m-all-wallets-view/index.js +8 -25
  214. package/lib/module/views/w3m-all-wallets-view/index.js.map +1 -1
  215. package/lib/module/views/w3m-connect-socials-view/index.js +2 -2
  216. package/lib/module/views/w3m-connect-socials-view/index.js.map +1 -1
  217. package/lib/module/views/w3m-connect-view/components/all-wallet-list.js +19 -14
  218. package/lib/module/views/w3m-connect-view/components/all-wallet-list.js.map +1 -1
  219. package/lib/module/views/w3m-connect-view/index.js +4 -12
  220. package/lib/module/views/w3m-connect-view/index.js.map +1 -1
  221. package/lib/module/views/w3m-connecting-external-view/index.js +4 -4
  222. package/lib/module/views/w3m-connecting-external-view/index.js.map +1 -1
  223. package/lib/module/views/w3m-connecting-external-view/styles.js +1 -1
  224. package/lib/module/views/w3m-connecting-external-view/styles.js.map +1 -1
  225. package/lib/module/views/w3m-connecting-social-view/index.js +35 -30
  226. package/lib/module/views/w3m-connecting-social-view/index.js.map +1 -1
  227. package/lib/module/views/w3m-connecting-view/index.js +12 -32
  228. package/lib/module/views/w3m-connecting-view/index.js.map +1 -1
  229. package/lib/module/views/w3m-get-wallet-view/index.js +1 -1
  230. package/lib/module/views/w3m-get-wallet-view/index.js.map +1 -1
  231. package/lib/module/views/w3m-network-switch-view/index.js +65 -85
  232. package/lib/module/views/w3m-network-switch-view/index.js.map +1 -1
  233. package/lib/module/views/w3m-networks-view/index.js +25 -15
  234. package/lib/module/views/w3m-networks-view/index.js.map +1 -1
  235. package/lib/module/views/w3m-onramp-checkout-view/index.js +162 -154
  236. package/lib/module/views/w3m-onramp-checkout-view/index.js.map +1 -1
  237. package/lib/module/views/w3m-onramp-loading-view/index.js +4 -4
  238. package/lib/module/views/w3m-onramp-loading-view/index.js.map +1 -1
  239. package/lib/module/views/w3m-onramp-loading-view/styles.js +1 -1
  240. package/lib/module/views/w3m-onramp-loading-view/styles.js.map +1 -1
  241. package/lib/module/views/w3m-onramp-settings-view/components/Country.js +5 -2
  242. package/lib/module/views/w3m-onramp-settings-view/components/Country.js.map +1 -1
  243. package/lib/module/views/w3m-onramp-settings-view/index.js +17 -8
  244. package/lib/module/views/w3m-onramp-settings-view/index.js.map +1 -1
  245. package/lib/module/views/w3m-onramp-settings-view/styles.js +4 -1
  246. package/lib/module/views/w3m-onramp-settings-view/styles.js.map +1 -1
  247. package/lib/module/views/w3m-onramp-settings-view/utils.js +14 -0
  248. package/lib/module/views/w3m-onramp-settings-view/utils.js.map +1 -1
  249. package/lib/module/views/w3m-onramp-transaction-view/index.js +1 -1
  250. package/lib/module/views/w3m-onramp-transaction-view/index.js.map +1 -1
  251. package/lib/module/views/w3m-onramp-view/components/Currency.js +3 -2
  252. package/lib/module/views/w3m-onramp-view/components/Currency.js.map +1 -1
  253. package/lib/module/views/w3m-onramp-view/components/Header.js +1 -1
  254. package/lib/module/views/w3m-onramp-view/components/LoadingView.js +1 -1
  255. package/lib/module/views/w3m-onramp-view/components/LoadingView.js.map +1 -1
  256. package/lib/module/views/w3m-onramp-view/components/SelectPaymentModal.js +6 -3
  257. package/lib/module/views/w3m-onramp-view/components/SelectPaymentModal.js.map +1 -1
  258. package/lib/module/views/w3m-onramp-view/index.js +5 -4
  259. package/lib/module/views/w3m-onramp-view/index.js.map +1 -1
  260. package/lib/module/views/w3m-onramp-view/styles.js +3 -0
  261. package/lib/module/views/w3m-onramp-view/styles.js.map +1 -1
  262. package/lib/module/views/w3m-siwx-sign-view/index.js +104 -0
  263. package/lib/module/views/w3m-siwx-sign-view/index.js.map +1 -0
  264. package/lib/module/views/{w3m-connecting-siwe-view → w3m-siwx-sign-view}/styles.js +0 -7
  265. package/lib/module/views/w3m-siwx-sign-view/styles.js.map +1 -0
  266. package/lib/module/views/w3m-swap-preview-view/index.js +1 -1
  267. package/lib/module/views/w3m-swap-preview-view/index.js.map +1 -1
  268. package/lib/module/views/w3m-swap-preview-view/styles.js +0 -3
  269. package/lib/module/views/w3m-swap-preview-view/styles.js.map +1 -1
  270. package/lib/module/views/w3m-swap-view/components/select-token-modal/index.js +151 -0
  271. package/lib/module/views/w3m-swap-view/components/select-token-modal/index.js.map +1 -0
  272. package/lib/module/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.js +6 -2
  273. package/lib/module/views/w3m-swap-view/components/select-token-modal/styles.js.map +1 -0
  274. package/lib/module/views/w3m-swap-view/components/select-token-modal/utils.js.map +1 -0
  275. package/lib/module/views/w3m-swap-view/index.js +16 -16
  276. package/lib/module/views/w3m-swap-view/index.js.map +1 -1
  277. package/lib/module/views/w3m-swap-view/styles.js +0 -8
  278. package/lib/module/views/w3m-swap-view/styles.js.map +1 -1
  279. package/lib/module/views/w3m-unsupported-chain-view/index.js +8 -14
  280. package/lib/module/views/w3m-unsupported-chain-view/index.js.map +1 -1
  281. package/lib/module/views/w3m-unsupported-chain-view/styles.js +1 -1
  282. package/lib/module/views/w3m-unsupported-chain-view/styles.js.map +1 -1
  283. package/lib/module/views/w3m-upgrade-email-wallet-view/index.js +4 -6
  284. package/lib/module/views/w3m-upgrade-email-wallet-view/index.js.map +1 -1
  285. package/lib/module/views/w3m-wallet-compatible-networks-view/index.js +1 -2
  286. package/lib/module/views/w3m-wallet-compatible-networks-view/index.js.map +1 -1
  287. package/lib/module/views/w3m-wallet-receive-view/index.js +1 -1
  288. package/lib/module/views/w3m-wallet-receive-view/index.js.map +1 -1
  289. package/lib/module/views/w3m-wallet-send-preview-view/index.js +1 -1
  290. package/lib/module/views/w3m-wallet-send-preview-view/index.js.map +1 -1
  291. package/lib/module/views/w3m-wallet-send-select-token-view/index.js +5 -3
  292. package/lib/module/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
  293. package/lib/module/views/w3m-wallet-send-view/index.js +11 -5
  294. package/lib/module/views/w3m-wallet-send-view/index.js.map +1 -1
  295. package/lib/module/views/w3m-wallet-send-view/styles.js +0 -3
  296. package/lib/module/views/w3m-wallet-send-view/styles.js.map +1 -1
  297. package/lib/module/views/w3m-what-is-a-network-view/index.js +1 -1
  298. package/lib/module/views/w3m-what-is-a-network-view/index.js.map +1 -1
  299. package/lib/module/views/w3m-what-is-a-wallet-view/index.js +1 -1
  300. package/lib/module/views/w3m-what-is-a-wallet-view/index.js.map +1 -1
  301. package/lib/typescript/AppKit.d.ts +1 -3
  302. package/lib/typescript/AppKit.d.ts.map +1 -1
  303. package/lib/typescript/AppKitContext.d.ts.map +1 -1
  304. package/lib/typescript/connectors/WalletConnectConnector.d.ts.map +1 -1
  305. package/lib/typescript/hooks/useAccount.d.ts +33 -1
  306. package/lib/typescript/hooks/useAccount.d.ts.map +1 -1
  307. package/lib/typescript/hooks/useAppKit.d.ts +0 -1
  308. package/lib/typescript/hooks/useAppKit.d.ts.map +1 -1
  309. package/lib/typescript/hooks/useAppKitEvents.d.ts +6 -4
  310. package/lib/typescript/hooks/useAppKitEvents.d.ts.map +1 -1
  311. package/lib/typescript/hooks/useAppKitState.d.ts +38 -0
  312. package/lib/typescript/hooks/useAppKitState.d.ts.map +1 -0
  313. package/lib/typescript/hooks/useProvider.d.ts.map +1 -1
  314. package/lib/typescript/hooks/useWalletInfo.d.ts +1 -0
  315. package/lib/typescript/hooks/useWalletInfo.d.ts.map +1 -1
  316. package/lib/typescript/index.d.ts +4 -0
  317. package/lib/typescript/index.d.ts.map +1 -1
  318. package/lib/typescript/modal/w3m-modal/index.d.ts.map +1 -1
  319. package/lib/typescript/modal/w3m-router/index.d.ts.map +1 -1
  320. package/lib/typescript/partials/w3m-all-wallets-list/components/Loading.d.ts +4 -4
  321. package/lib/typescript/partials/w3m-all-wallets-list/components/Loading.d.ts.map +1 -1
  322. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletItem.d.ts +2 -3
  323. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletItem.d.ts.map +1 -1
  324. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletList.d.ts +15 -0
  325. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletList.d.ts.map +1 -0
  326. package/lib/typescript/partials/w3m-all-wallets-list/index.d.ts +1 -3
  327. package/lib/typescript/partials/w3m-all-wallets-list/index.d.ts.map +1 -1
  328. package/lib/typescript/partials/w3m-all-wallets-list/styles.d.ts +9 -3
  329. package/lib/typescript/partials/w3m-all-wallets-list/styles.d.ts.map +1 -1
  330. package/lib/typescript/partials/w3m-all-wallets-search/index.d.ts +1 -4
  331. package/lib/typescript/partials/w3m-all-wallets-search/index.d.ts.map +1 -1
  332. package/lib/typescript/partials/w3m-all-wallets-search/styles.d.ts +2 -0
  333. package/lib/typescript/partials/w3m-all-wallets-search/styles.d.ts.map +1 -1
  334. package/lib/typescript/partials/w3m-connecting-mobile/styles.d.ts +1 -0
  335. package/lib/typescript/partials/w3m-connecting-mobile/styles.d.ts.map +1 -1
  336. package/lib/typescript/partials/w3m-connecting-qrcode/index.d.ts.map +1 -1
  337. package/lib/typescript/partials/w3m-connecting-web/styles.d.ts +3 -0
  338. package/lib/typescript/partials/w3m-connecting-web/styles.d.ts.map +1 -1
  339. package/lib/typescript/partials/w3m-header/index.d.ts.map +1 -1
  340. package/lib/typescript/partials/w3m-selector-modal/index.d.ts +3 -1
  341. package/lib/typescript/partials/w3m-selector-modal/index.d.ts.map +1 -1
  342. package/lib/typescript/partials/w3m-selector-modal/styles.d.ts +6 -8
  343. package/lib/typescript/partials/w3m-selector-modal/styles.d.ts.map +1 -1
  344. package/lib/typescript/types.d.ts +5 -7
  345. package/lib/typescript/types.d.ts.map +1 -1
  346. package/lib/typescript/utils/SIWXUtil.d.ts +34 -0
  347. package/lib/typescript/utils/SIWXUtil.d.ts.map +1 -0
  348. package/lib/typescript/views/w3m-account-view/index.d.ts.map +1 -1
  349. package/lib/typescript/views/w3m-account-view/styles.d.ts +0 -3
  350. package/lib/typescript/views/w3m-account-view/styles.d.ts.map +1 -1
  351. package/lib/typescript/views/w3m-all-wallets-view/index.d.ts.map +1 -1
  352. package/lib/typescript/views/w3m-connect-view/components/all-wallet-list.d.ts.map +1 -1
  353. package/lib/typescript/views/w3m-connect-view/index.d.ts.map +1 -1
  354. package/lib/typescript/views/w3m-connecting-social-view/index.d.ts.map +1 -1
  355. package/lib/typescript/views/w3m-connecting-view/index.d.ts.map +1 -1
  356. package/lib/typescript/views/w3m-network-switch-view/index.d.ts.map +1 -1
  357. package/lib/typescript/views/w3m-networks-view/index.d.ts.map +1 -1
  358. package/lib/typescript/views/w3m-onramp-checkout-view/index.d.ts.map +1 -1
  359. package/lib/typescript/views/w3m-onramp-loading-view/index.d.ts.map +1 -1
  360. package/lib/typescript/views/w3m-onramp-settings-view/components/Country.d.ts +4 -1
  361. package/lib/typescript/views/w3m-onramp-settings-view/components/Country.d.ts.map +1 -1
  362. package/lib/typescript/views/w3m-onramp-settings-view/index.d.ts.map +1 -1
  363. package/lib/typescript/views/w3m-onramp-settings-view/styles.d.ts +4 -1
  364. package/lib/typescript/views/w3m-onramp-settings-view/styles.d.ts.map +1 -1
  365. package/lib/typescript/views/w3m-onramp-settings-view/utils.d.ts +2 -0
  366. package/lib/typescript/views/w3m-onramp-settings-view/utils.d.ts.map +1 -1
  367. package/lib/typescript/views/w3m-onramp-view/components/Currency.d.ts +3 -1
  368. package/lib/typescript/views/w3m-onramp-view/components/Currency.d.ts.map +1 -1
  369. package/lib/typescript/views/w3m-onramp-view/components/SelectPaymentModal.d.ts.map +1 -1
  370. package/lib/typescript/views/w3m-onramp-view/index.d.ts.map +1 -1
  371. package/lib/typescript/views/w3m-onramp-view/styles.d.ts +3 -0
  372. package/lib/typescript/views/w3m-onramp-view/styles.d.ts.map +1 -1
  373. package/lib/typescript/views/w3m-siwx-sign-view/index.d.ts +2 -0
  374. package/lib/typescript/views/w3m-siwx-sign-view/index.d.ts.map +1 -0
  375. package/lib/typescript/views/{w3m-connecting-siwe-view → w3m-siwx-sign-view}/styles.d.ts +0 -7
  376. package/lib/typescript/views/w3m-siwx-sign-view/styles.d.ts.map +1 -0
  377. package/lib/typescript/views/w3m-swap-preview-view/styles.d.ts +0 -3
  378. package/lib/typescript/views/w3m-swap-preview-view/styles.d.ts.map +1 -1
  379. package/lib/typescript/views/w3m-swap-view/components/{select-token-view → select-token-modal}/index.d.ts +2 -1
  380. package/lib/typescript/views/w3m-swap-view/components/select-token-modal/index.d.ts.map +1 -0
  381. package/lib/typescript/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.d.ts +6 -2
  382. package/lib/typescript/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.d.ts.map +1 -1
  383. package/lib/typescript/views/w3m-swap-view/components/select-token-modal/utils.d.ts.map +1 -0
  384. package/lib/typescript/views/w3m-swap-view/index.d.ts.map +1 -1
  385. package/lib/typescript/views/w3m-swap-view/styles.d.ts +0 -8
  386. package/lib/typescript/views/w3m-swap-view/styles.d.ts.map +1 -1
  387. package/lib/typescript/views/w3m-unsupported-chain-view/index.d.ts.map +1 -1
  388. package/lib/typescript/views/w3m-upgrade-email-wallet-view/index.d.ts.map +1 -1
  389. package/lib/typescript/views/w3m-wallet-send-view/index.d.ts.map +1 -1
  390. package/lib/typescript/views/w3m-wallet-send-view/styles.d.ts +0 -3
  391. package/lib/typescript/views/w3m-wallet-send-view/styles.d.ts.map +1 -1
  392. package/package.json +10 -9
  393. package/src/AppKit.ts +62 -107
  394. package/src/AppKitContext.tsx +19 -11
  395. package/src/connectors/WalletConnectConnector.ts +47 -75
  396. package/src/hooks/useAccount.ts +15 -5
  397. package/src/hooks/useAppKit.ts +17 -12
  398. package/src/hooks/useAppKitState.ts +26 -0
  399. package/src/hooks/useProvider.ts +11 -5
  400. package/src/hooks/useWalletInfo.ts +5 -2
  401. package/src/index.ts +11 -0
  402. package/src/modal/w3m-modal/index.tsx +13 -4
  403. package/src/modal/w3m-router/index.tsx +19 -20
  404. package/src/partials/w3m-account-activity/index.tsx +1 -1
  405. package/src/partials/w3m-all-wallets-list/components/Loading.tsx +12 -35
  406. package/src/partials/w3m-all-wallets-list/components/WalletItem.tsx +5 -12
  407. package/src/partials/w3m-all-wallets-list/components/WalletList.tsx +103 -0
  408. package/src/partials/w3m-all-wallets-list/index.tsx +25 -51
  409. package/src/partials/w3m-all-wallets-list/styles.ts +10 -4
  410. package/src/partials/w3m-all-wallets-search/index.tsx +25 -60
  411. package/src/partials/w3m-all-wallets-search/styles.ts +3 -1
  412. package/src/partials/w3m-connecting-mobile/index.tsx +8 -8
  413. package/src/partials/w3m-connecting-mobile/styles.ts +2 -1
  414. package/src/partials/w3m-connecting-qrcode/index.tsx +5 -2
  415. package/src/partials/w3m-connecting-web/index.tsx +2 -2
  416. package/src/partials/w3m-connecting-web/styles.ts +3 -0
  417. package/src/partials/w3m-header/index.tsx +7 -4
  418. package/src/partials/w3m-selector-modal/index.tsx +81 -61
  419. package/src/partials/w3m-selector-modal/styles.ts +9 -11
  420. package/src/types.ts +6 -8
  421. package/src/utils/SIWXUtil.ts +364 -0
  422. package/src/views/w3m-account-default-view/index.tsx +3 -3
  423. package/src/views/w3m-account-view/index.tsx +1 -9
  424. package/src/views/w3m-account-view/styles.ts +1 -4
  425. package/src/views/w3m-all-wallets-view/index.tsx +11 -34
  426. package/src/views/w3m-connect-socials-view/index.tsx +2 -2
  427. package/src/views/w3m-connect-view/components/all-wallet-list.tsx +28 -21
  428. package/src/views/w3m-connect-view/index.tsx +3 -7
  429. package/src/views/w3m-connecting-external-view/index.tsx +8 -8
  430. package/src/views/w3m-connecting-external-view/styles.ts +1 -1
  431. package/src/views/w3m-connecting-social-view/index.tsx +26 -28
  432. package/src/views/w3m-connecting-view/index.tsx +13 -32
  433. package/src/views/w3m-get-wallet-view/index.tsx +1 -1
  434. package/src/views/w3m-network-switch-view/index.tsx +70 -98
  435. package/src/views/w3m-networks-view/index.tsx +26 -22
  436. package/src/views/w3m-onramp-checkout-view/index.tsx +147 -143
  437. package/src/views/w3m-onramp-loading-view/index.tsx +3 -7
  438. package/src/views/w3m-onramp-loading-view/styles.ts +1 -1
  439. package/src/views/w3m-onramp-settings-view/components/Country.tsx +10 -3
  440. package/src/views/w3m-onramp-settings-view/index.tsx +17 -5
  441. package/src/views/w3m-onramp-settings-view/styles.ts +4 -1
  442. package/src/views/w3m-onramp-settings-view/utils.ts +18 -0
  443. package/src/views/w3m-onramp-transaction-view/index.tsx +1 -1
  444. package/src/views/w3m-onramp-view/components/Currency.tsx +4 -3
  445. package/src/views/w3m-onramp-view/components/Header.tsx +1 -1
  446. package/src/views/w3m-onramp-view/components/LoadingView.tsx +1 -1
  447. package/src/views/w3m-onramp-view/components/SelectPaymentModal.tsx +6 -3
  448. package/src/views/w3m-onramp-view/index.tsx +4 -3
  449. package/src/views/w3m-onramp-view/styles.ts +3 -0
  450. package/src/views/w3m-siwx-sign-view/index.tsx +96 -0
  451. package/src/views/{w3m-connecting-siwe-view → w3m-siwx-sign-view}/styles.ts +0 -7
  452. package/src/views/w3m-swap-preview-view/index.tsx +1 -1
  453. package/src/views/w3m-swap-preview-view/styles.ts +0 -3
  454. package/src/views/w3m-swap-view/components/select-token-modal/index.tsx +181 -0
  455. package/src/views/w3m-swap-view/components/{select-token-view → select-token-modal}/styles.ts +6 -2
  456. package/src/views/w3m-swap-view/index.tsx +10 -9
  457. package/src/views/w3m-swap-view/styles.ts +0 -8
  458. package/src/views/w3m-unsupported-chain-view/index.tsx +5 -7
  459. package/src/views/w3m-unsupported-chain-view/styles.ts +1 -1
  460. package/src/views/w3m-upgrade-email-wallet-view/index.tsx +4 -6
  461. package/src/views/w3m-wallet-compatible-networks-view/index.tsx +1 -1
  462. package/src/views/w3m-wallet-receive-view/index.tsx +1 -1
  463. package/src/views/w3m-wallet-send-preview-view/index.tsx +1 -1
  464. package/src/views/w3m-wallet-send-select-token-view/index.tsx +3 -3
  465. package/src/views/w3m-wallet-send-view/index.tsx +5 -4
  466. package/src/views/w3m-wallet-send-view/styles.ts +0 -3
  467. package/src/views/w3m-what-is-a-network-view/index.tsx +1 -1
  468. package/src/views/w3m-what-is-a-wallet-view/index.tsx +1 -1
  469. package/lib/commonjs/views/w3m-connect-view/components/custom-wallet-list.js +0 -45
  470. package/lib/commonjs/views/w3m-connect-view/components/custom-wallet-list.js.map +0 -1
  471. package/lib/commonjs/views/w3m-connect-view/components/recent-wallet-list.js +0 -41
  472. package/lib/commonjs/views/w3m-connect-view/components/recent-wallet-list.js.map +0 -1
  473. package/lib/commonjs/views/w3m-connect-view/utils.js +0 -14
  474. package/lib/commonjs/views/w3m-connect-view/utils.js.map +0 -1
  475. package/lib/commonjs/views/w3m-connecting-siwe-view/index.js +0 -145
  476. package/lib/commonjs/views/w3m-connecting-siwe-view/index.js.map +0 -1
  477. package/lib/commonjs/views/w3m-connecting-siwe-view/styles.js.map +0 -1
  478. package/lib/commonjs/views/w3m-swap-view/components/select-token-view/index.js +0 -145
  479. package/lib/commonjs/views/w3m-swap-view/components/select-token-view/index.js.map +0 -1
  480. package/lib/commonjs/views/w3m-swap-view/components/select-token-view/styles.js.map +0 -1
  481. package/lib/commonjs/views/w3m-swap-view/components/select-token-view/utils.js.map +0 -1
  482. package/lib/module/views/w3m-connect-view/components/custom-wallet-list.js +0 -41
  483. package/lib/module/views/w3m-connect-view/components/custom-wallet-list.js.map +0 -1
  484. package/lib/module/views/w3m-connect-view/components/recent-wallet-list.js +0 -37
  485. package/lib/module/views/w3m-connect-view/components/recent-wallet-list.js.map +0 -1
  486. package/lib/module/views/w3m-connect-view/utils.js +0 -9
  487. package/lib/module/views/w3m-connect-view/utils.js.map +0 -1
  488. package/lib/module/views/w3m-connecting-siwe-view/index.js +0 -140
  489. package/lib/module/views/w3m-connecting-siwe-view/index.js.map +0 -1
  490. package/lib/module/views/w3m-connecting-siwe-view/styles.js.map +0 -1
  491. package/lib/module/views/w3m-swap-view/components/select-token-view/index.js +0 -140
  492. package/lib/module/views/w3m-swap-view/components/select-token-view/index.js.map +0 -1
  493. package/lib/module/views/w3m-swap-view/components/select-token-view/styles.js.map +0 -1
  494. package/lib/module/views/w3m-swap-view/components/select-token-view/utils.js.map +0 -1
  495. package/lib/typescript/views/w3m-connect-view/components/custom-wallet-list.d.ts +0 -9
  496. package/lib/typescript/views/w3m-connect-view/components/custom-wallet-list.d.ts.map +0 -1
  497. package/lib/typescript/views/w3m-connect-view/components/recent-wallet-list.d.ts +0 -9
  498. package/lib/typescript/views/w3m-connect-view/components/recent-wallet-list.d.ts.map +0 -1
  499. package/lib/typescript/views/w3m-connect-view/utils.d.ts +0 -3
  500. package/lib/typescript/views/w3m-connect-view/utils.d.ts.map +0 -1
  501. package/lib/typescript/views/w3m-connecting-siwe-view/index.d.ts +0 -2
  502. package/lib/typescript/views/w3m-connecting-siwe-view/index.d.ts.map +0 -1
  503. package/lib/typescript/views/w3m-connecting-siwe-view/styles.d.ts.map +0 -1
  504. package/lib/typescript/views/w3m-swap-view/components/select-token-view/index.d.ts.map +0 -1
  505. package/lib/typescript/views/w3m-swap-view/components/select-token-view/utils.d.ts.map +0 -1
  506. package/src/views/w3m-connect-view/components/custom-wallet-list.tsx +0 -51
  507. package/src/views/w3m-connect-view/components/recent-wallet-list.tsx +0 -45
  508. package/src/views/w3m-connect-view/utils.ts +0 -14
  509. package/src/views/w3m-connecting-siwe-view/index.tsx +0 -126
  510. package/src/views/w3m-swap-view/components/select-token-view/index.tsx +0 -176
  511. /package/lib/commonjs/views/w3m-swap-view/components/{select-token-view → select-token-modal}/utils.js +0 -0
  512. /package/lib/module/views/w3m-swap-view/components/{select-token-view → select-token-modal}/utils.js +0 -0
  513. /package/lib/typescript/views/w3m-swap-view/components/{select-token-view → select-token-modal}/utils.d.ts +0 -0
  514. /package/src/views/w3m-swap-view/components/{select-token-view → select-token-modal}/utils.ts +0 -0
package/src/AppKit.ts CHANGED
@@ -14,7 +14,8 @@ import {
14
14
  CoreHelperUtil,
15
15
  SendController,
16
16
  BlockchainApiController,
17
- WalletUtil
17
+ WalletUtil,
18
+ type RouterControllerState
18
19
  } from '@reown/appkit-core-react-native';
19
20
 
20
21
  import {
@@ -36,13 +37,13 @@ import {
36
37
  type Connection,
37
38
  type WcWallet
38
39
  } from '@reown/appkit-common-react-native';
39
- import { SIWEController } from '@reown/appkit-siwe-react-native';
40
40
 
41
41
  import { WalletConnectConnector } from './connectors/WalletConnectConnector';
42
42
  import { WcHelpersUtil } from './utils/HelpersUtil';
43
43
  import { NetworkUtil } from './utils/NetworkUtil';
44
44
  import { RouterUtil } from './utils/RouterUtil';
45
45
  import { type AppKitConfig } from './types';
46
+ import { SIWXUtil } from './utils/SIWXUtil';
46
47
 
47
48
  export class AppKit {
48
49
  private projectId: string;
@@ -130,8 +131,7 @@ export class AppKit {
130
131
  const approvedNamespaces = await connector.connect({
131
132
  namespaces: this.namespaces,
132
133
  defaultNetwork: chain,
133
- universalLink: targetWallet?.link_mode ?? undefined,
134
- siweConfig: this.config?.siweConfig
134
+ universalLink: targetWallet?.link_mode ?? undefined
135
135
  });
136
136
 
137
137
  this.processConnection(connector, approvedNamespaces);
@@ -149,11 +149,7 @@ export class AppKit {
149
149
  }
150
150
  }
151
151
 
152
- private processConnection(
153
- connector: WalletConnector,
154
- namespaces?: Namespaces,
155
- shouldCloseModal: boolean = true
156
- ) {
152
+ private async processConnection(connector: WalletConnector, namespaces?: Namespaces) {
157
153
  if (!namespaces || Object.keys(namespaces).length === 0) {
158
154
  throw new Error('No namespaces provided');
159
155
  }
@@ -173,21 +169,9 @@ export class AppKit {
173
169
  this.setConnection(initializedAdapters, namespaces, walletInfo, properties);
174
170
 
175
171
  // Sync accounts
176
- this.syncAccounts(initializedAdapters);
172
+ await this.syncAccounts(initializedAdapters);
177
173
 
178
- // Handle SIWE if enabled
179
- this.handleSiweConnectionIfEnabled(shouldCloseModal);
180
- }
181
-
182
- private handleSiweConnectionIfEnabled(shouldCloseModal: boolean = true): void {
183
- if (
184
- OptionsController.state.isSiweEnabled &&
185
- ConnectionsController.state.activeNamespace === 'eip155'
186
- ) {
187
- this.handleSiweChange({ isConnection: true });
188
- } else if (shouldCloseModal) {
189
- ModalController.close();
190
- }
174
+ await SIWXUtil.initializeIfEnabled({ onDisconnect: this.disconnect, closeModal: true });
191
175
  }
192
176
 
193
177
  /**
@@ -229,8 +213,8 @@ export class AppKit {
229
213
  );
230
214
  }
231
215
 
232
- if (OptionsController.state.isSiweEnabled) {
233
- await SIWEController.signOut();
216
+ if (SIWXUtil.getSIWX()?.signOutOnDisconnect) {
217
+ await SIWXUtil.clearSessions();
234
218
  }
235
219
 
236
220
  EventsController.sendEvent({
@@ -289,10 +273,6 @@ export class AppKit {
289
273
  });
290
274
 
291
275
  ConnectionsController.setActiveNetwork(network.chainNamespace, network.caipNetworkId);
292
-
293
- if (ConnectionsController.state.activeNamespace !== network.chainNamespace) {
294
- ConnectionsController.setActiveNamespace(network.chainNamespace);
295
- }
296
276
  }
297
277
 
298
278
  open(options?: AppKitOpenOptions) {
@@ -301,19 +281,19 @@ export class AppKit {
301
281
 
302
282
  async close() {
303
283
  ModalController.close();
284
+ const isSIWXRequired = SIWXUtil.getSIWX()?.getRequired?.();
304
285
 
305
- if (OptionsController.state.isSiweEnabled && ConnectionsController.state.isConnected) {
306
- const session = await SIWEController.getSession();
307
- if (
308
- !session &&
309
- SIWEController.state.status !== 'success' &&
310
- ConnectionsController.state.activeNamespace === 'eip155' &&
311
- !!ConnectionsController.state.activeAddress
312
- ) {
313
- await this.disconnect();
286
+ if (isSIWXRequired && ConnectionsController.state.isConnected) {
287
+ const sessions = await SIWXUtil.getSessions();
288
+ if (!sessions.length) {
289
+ return await this.disconnect();
314
290
  }
315
291
  }
316
292
 
293
+ if (RouterController.state.view === 'UnsupportedChain') {
294
+ return await this.disconnect();
295
+ }
296
+
317
297
  RouterUtil.checkOnRampBack();
318
298
  RouterUtil.checkSocialLoginBack();
319
299
  }
@@ -325,6 +305,13 @@ export class AppKit {
325
305
  return RouterController.goBack();
326
306
  }
327
307
 
308
+ const isSIWXRequired = SIWXUtil.getSIWX()?.getRequired?.();
309
+
310
+ if (isSIWXRequired) {
311
+ // Don't close the modal if SIWX is required
312
+ return;
313
+ }
314
+
328
315
  return this.close();
329
316
  }
330
317
 
@@ -332,11 +319,16 @@ export class AppKit {
332
319
  const adapter = this.getAdapterByNamespace(namespace);
333
320
  if (!adapter) throw new Error('No active adapter');
334
321
 
335
- ConnectionsController.setAccountType(namespace, type);
322
+ const address = ConnectionsController.setAccountType(namespace, type);
336
323
 
337
324
  // Get balances from API
338
325
  ConnectionsController.fetchBalance();
339
326
 
327
+ // Fetch transactions for the new account
328
+ if (address) {
329
+ TransactionsController.fetchTransactions(address, true);
330
+ }
331
+
340
332
  // Sync balances from adapter
341
333
  this.syncNativeBalance(adapter, network);
342
334
 
@@ -390,25 +382,27 @@ export class AppKit {
390
382
  * This attempts to restore previous sessions.
391
383
  */
392
384
  private async initConnectors() {
385
+ ModalController.setLoading(true);
393
386
  const connectedConnectors = await StorageUtil.getConnectedConnectors();
394
387
  if (connectedConnectors.length > 0) {
395
- ModalController.setLoading(true);
396
-
397
388
  for (const connected of connectedConnectors) {
398
389
  try {
399
390
  const connector = await this.createConnector(connected.type);
400
391
 
401
392
  const namespaces = connector.getNamespaces();
402
393
 
403
- this.processConnection(connector, namespaces, false);
394
+ await this.processConnection(connector, namespaces);
404
395
  } catch (error) {
405
396
  // Use console.warn for non-critical initialization failures
406
397
  console.warn(`Failed to initialize connector type ${connected.type}:`, error);
407
398
  await StorageUtil.removeConnectedConnectors(connected.type);
408
399
  }
409
400
  }
410
- ModalController.setLoading(false);
411
401
  }
402
+
403
+ //Always init the walletconnect connector
404
+ await this.createWalletConnectConnector();
405
+ ModalController.setLoading(false);
412
406
  }
413
407
 
414
408
  private setupAdaptersAndSubscribe(
@@ -505,7 +499,7 @@ export class AppKit {
505
499
  }
506
500
  }
507
501
 
508
- private async refreshBalance(fetchAllBalances: boolean = false) {
502
+ private refreshBalance(fetchAllBalances: boolean = false) {
509
503
  try {
510
504
  if (fetchAllBalances) {
511
505
  ConnectionsController.fetchBalance();
@@ -542,7 +536,6 @@ export class AppKit {
542
536
  const recomputePolling = () => {
543
537
  const open = ModalController.state.open;
544
538
  const view = RouterController.state.view;
545
-
546
539
  if (open && (view === 'Account' || view === 'AccountDefault')) {
547
540
  // fetch all balances when user is using embedded wallet
548
541
  this.startBalancePolling(view === 'Account');
@@ -550,9 +543,7 @@ export class AppKit {
550
543
  this.stopBalancePolling();
551
544
  }
552
545
  };
553
-
554
546
  recomputePolling();
555
-
556
547
  subscribeKey(RouterController.state, 'view', () => recomputePolling());
557
548
  subscribeKey(ModalController.state, 'open', () => recomputePolling());
558
549
  }
@@ -573,7 +564,8 @@ export class AppKit {
573
564
  const caipNetwork = adapter?.connector?.getChainId(namespace);
574
565
  const namespaceProperties = {
575
566
  ...properties,
576
- smartAccounts: properties?.smartAccounts?.filter(account => account.startsWith(namespace))
567
+ smartAccounts: properties?.smartAccounts?.filter(account => account.startsWith(namespace)),
568
+ canAddEvmChain: wallet?.name === 'MetaMask Wallet' // MetaMask allows adding EVM chains after connecting
577
569
  };
578
570
 
579
571
  ConnectionsController.setConnection({
@@ -600,21 +592,21 @@ export class AppKit {
600
592
  adapter.on('accountsChanged', ({ accounts }) => {
601
593
  const namespace = adapter.getSupportedNamespace();
602
594
  ConnectionsController.updateAccounts(namespace, accounts);
595
+ });
603
596
 
604
- if (namespace === 'eip155') {
605
- this.handleSiweChange({ isAccountChange: true });
597
+ adapter.on('chainChanged', async ({ chainId }) => {
598
+ const isSupported = this.networks.some(network => network.id?.toString() === chainId);
599
+ if (!isSupported) {
600
+ return this.navigate('UnsupportedChain');
606
601
  }
607
- });
608
602
 
609
- adapter.on('chainChanged', ({ chainId }) => {
610
603
  const namespace = adapter.getSupportedNamespace();
611
604
  const chain = `${namespace}:${chainId}` as CaipNetworkId;
612
605
  ConnectionsController.setActiveNetwork(namespace, chain);
606
+
613
607
  const connection = ConnectionsController.state.connections.get(namespace);
614
608
  const isAuth = !!connection?.properties?.provider;
615
609
 
616
- const activeNamespace = ConnectionsController.state.activeNamespace;
617
-
618
610
  const network = this.networks.find(n => n.id?.toString() === chainId);
619
611
  this.syncNativeBalance(adapter, network);
620
612
  SendController.resetState();
@@ -624,20 +616,14 @@ export class AppKit {
624
616
  ConnectionsController.fetchBalance();
625
617
  }
626
618
 
627
- // Refresh transactions only when the active network changes
628
- if (namespace === activeNamespace) {
629
- const address = connection?.accounts?.find(account =>
630
- account.startsWith(`${namespace}:${chainId}`)
631
- );
632
- if (address) {
633
- TransactionsController.fetchTransactions(address, true);
634
- }
619
+ const address = connection?.accounts?.find(account =>
620
+ account.startsWith(`${namespace}:${chainId}`)
621
+ );
622
+ if (address) {
623
+ TransactionsController.fetchTransactions(address, true);
635
624
  }
636
625
 
637
- // Check if user needs to sign in again
638
- if (namespace === 'eip155') {
639
- this.handleSiweChange({ isNetworkChange: true });
640
- }
626
+ SIWXUtil.initializeIfEnabled({ onDisconnect: this.disconnect, caipAddress: address });
641
627
  });
642
628
 
643
629
  adapter.on('disconnect', () => {
@@ -670,7 +656,7 @@ export class AppKit {
670
656
  OptionsController.setDefaultNetwork(network);
671
657
  }
672
658
 
673
- ThemeController.setThemeMode(options.themeMode);
659
+ ThemeController.setDefaultThemeMode(options.themeMode);
674
660
  ThemeController.setThemeVariables(options.themeVariables);
675
661
 
676
662
  OptionsController.setSdkVersion(
@@ -683,8 +669,8 @@ export class AppKit {
683
669
 
684
670
  ConnectionsController.setNetworks(this.networks);
685
671
 
686
- if (options.siweConfig) {
687
- SIWEController.setSIWEClient(options.siweConfig);
672
+ if (options.siwx) {
673
+ OptionsController.setSiwx(options.siwx);
688
674
  }
689
675
 
690
676
  if (
@@ -779,48 +765,17 @@ export class AppKit {
779
765
  await this.initRecentWallets(options);
780
766
  }
781
767
 
782
- private onSiweNavigation = () => {
768
+ private navigate = (routeName: RouterControllerState['view']) => {
769
+ if (RouterController.state.view === routeName) {
770
+ return;
771
+ }
772
+
783
773
  if (ModalController.state.open) {
784
- RouterController.push('ConnectingSiwe');
774
+ RouterController.push(routeName);
785
775
  } else {
786
- ModalController.open({ view: 'ConnectingSiwe' });
776
+ ModalController.open({ view: routeName });
787
777
  }
788
778
  };
789
-
790
- private async handleSiweChange(params?: {
791
- isConnection?: boolean;
792
- isNetworkChange?: boolean;
793
- isAccountChange?: boolean;
794
- }) {
795
- const { isNetworkChange, isAccountChange, isConnection } = params ?? {};
796
- const { enabled, signOutOnAccountChange, signOutOnNetworkChange } =
797
- SIWEController.state._client?.options ?? {};
798
-
799
- if (enabled) {
800
- const session = await SIWEController.getSession();
801
- if (session && isAccountChange) {
802
- if (signOutOnAccountChange) {
803
- // If the address has changed and signOnAccountChange is enabled, sign out
804
- await SIWEController.signOut();
805
-
806
- return this.onSiweNavigation();
807
- }
808
- } else if (isNetworkChange) {
809
- if (signOutOnNetworkChange) {
810
- // If the network has changed and signOnNetworkChange is enabled, sign out
811
- await SIWEController.signOut();
812
-
813
- return this.onSiweNavigation();
814
- }
815
- } else if (!session) {
816
- // If it's connected but there's no session, show sign view
817
- return this.onSiweNavigation();
818
- } else if (isConnection) {
819
- // Connected with 1CA
820
- ModalController.close();
821
- }
822
- }
823
- }
824
779
  }
825
780
 
826
781
  export function createAppKit(config: AppKitConfig): AppKit {
@@ -1,4 +1,4 @@
1
- import React, { createContext, useContext, type ReactNode } from 'react';
1
+ import React, { createContext, useContext, useMemo, type ReactNode } from 'react';
2
2
  import { AppKit } from './AppKit';
3
3
 
4
4
  interface AppKitContextType {
@@ -26,14 +26,22 @@ export const useInternalAppKit = () => {
26
26
  throw new Error('AppKit instance is not yet available in context.');
27
27
  }
28
28
 
29
- return {
30
- connect: context.appKit.connect.bind(context.appKit),
31
- disconnect: context.appKit.disconnect.bind(context.appKit),
32
- open: context.appKit.open.bind(context.appKit),
33
- close: context.appKit.close.bind(context.appKit),
34
- back: context.appKit.back.bind(context.appKit),
35
- switchNetwork: context.appKit.switchNetwork.bind(context.appKit),
36
- getProvider: context.appKit.getProvider.bind(context.appKit),
37
- switchAccountType: context.appKit.switchAccountType.bind(context.appKit)
38
- };
29
+ const stableFunctions = useMemo(() => {
30
+ if (!context.appKit) {
31
+ throw new Error('AppKit instance is not available');
32
+ }
33
+
34
+ return {
35
+ connect: context.appKit.connect.bind(context.appKit),
36
+ disconnect: context.appKit.disconnect.bind(context.appKit),
37
+ open: context.appKit.open.bind(context.appKit),
38
+ close: context.appKit.close.bind(context.appKit),
39
+ back: context.appKit.back.bind(context.appKit),
40
+ switchNetwork: context.appKit.switchNetwork.bind(context.appKit),
41
+ getProvider: context.appKit.getProvider.bind(context.appKit),
42
+ switchAccountType: context.appKit.switchAccountType.bind(context.appKit)
43
+ };
44
+ }, [context.appKit]);
45
+
46
+ return stableFunctions;
39
47
  };
@@ -1,5 +1,5 @@
1
1
  import { WcController } from '@reown/appkit-core-react-native';
2
- import { UniversalProvider, type IUniversalProvider } from '@walletconnect/universal-provider';
2
+ import UniversalProvider from '@walletconnect/universal-provider';
3
3
  import {
4
4
  WalletConnector,
5
5
  type AppKitNetwork,
@@ -14,7 +14,7 @@ import {
14
14
  type ConnectionProperties,
15
15
  type RequestArguments
16
16
  } from '@reown/appkit-common-react-native';
17
- import { getDidAddress, getDidChainId, SIWEController } from '@reown/appkit-siwe-react-native';
17
+ import { SIWXUtil } from '../utils/SIWXUtil';
18
18
 
19
19
  interface WalletConnectConnectorConfig {
20
20
  projectId: string;
@@ -42,7 +42,7 @@ export class WalletConnectConnector extends WalletConnector {
42
42
  }
43
43
 
44
44
  override async restoreSession(): Promise<boolean> {
45
- const provider = this.getProvider() as IUniversalProvider;
45
+ const provider = this.getProvider() as UniversalProvider;
46
46
  if (!provider) {
47
47
  return false;
48
48
  }
@@ -67,9 +67,15 @@ export class WalletConnectConnector extends WalletConnector {
67
67
  this.wallet = {
68
68
  ...metadata,
69
69
  name: metadata.name,
70
- icon: metadata.icons?.[0]
70
+ icon: metadata.icons?.[0],
71
+ type: 'walletconnect'
71
72
  };
72
73
  }
74
+ } else {
75
+ this.wallet = {
76
+ name: 'Unknown Wallet',
77
+ type: 'walletconnect'
78
+ };
73
79
  }
74
80
 
75
81
  return true;
@@ -81,7 +87,7 @@ export class WalletConnectConnector extends WalletConnector {
81
87
  }: {
82
88
  projectId: string;
83
89
  metadata: Metadata;
84
- }): Promise<IUniversalProvider> {
90
+ }): Promise<UniversalProvider> {
85
91
  if (!this.provider) {
86
92
  this.provider = (await UniversalProvider.init({
87
93
  projectId,
@@ -90,82 +96,36 @@ export class WalletConnectConnector extends WalletConnector {
90
96
  })) as Provider;
91
97
  }
92
98
 
93
- return this.provider as IUniversalProvider;
99
+ return this.provider as UniversalProvider;
94
100
  }
95
101
 
96
102
  override async connect(opts: ConnectOptions) {
97
- const { siweConfig, namespaces, defaultNetwork, universalLink } = opts;
103
+ const { namespaces, defaultNetwork, universalLink } = opts;
98
104
  function onUri(uri: string) {
99
105
  WcController.setWcUri(uri);
100
106
  }
101
107
 
102
- const provider = this.getProvider() as IUniversalProvider;
108
+ const provider = this.getProvider() as UniversalProvider;
103
109
 
104
110
  // @ts-ignore
105
111
  provider.on('display_uri', onUri);
106
112
 
107
- let session: IUniversalProvider['session'];
113
+ let session: UniversalProvider['session'];
108
114
 
109
115
  // SIWE
110
116
  const isEVMOnly = Object.keys(namespaces ?? {}).length === 1 && namespaces?.['eip155'];
111
- const params = await siweConfig?.getMessageParams?.();
112
- if (siweConfig?.options?.enabled && params && Object.keys(params).length > 0 && isEVMOnly) {
117
+
118
+ if (isEVMOnly && SIWXUtil.getSIWX()) {
113
119
  // 1CA is only supported on EVM
114
120
 
115
- // @ts-ignore
116
- const result = await provider.authenticate(
117
- {
118
- ...params,
119
- nonce: await siweConfig.getNonce(),
120
- methods: namespaces?.['eip155']?.methods,
121
- chains: params.chains
122
- },
121
+ session = await SIWXUtil.universalProviderAuthenticate({
122
+ universalProvider: this.provider as UniversalProvider,
123
+ chains: namespaces?.['eip155']?.chains ?? [],
124
+ methods: namespaces?.['eip155']?.methods ?? [],
123
125
  universalLink
124
- );
125
-
126
- // Auths is an array of signed CACAO objects https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-74.md
127
- const signedCacao = result?.auths?.[0];
128
- if (signedCacao) {
129
- const { p, s } = signedCacao;
130
- const chainId = getDidChainId(p.iss);
131
- const address = getDidAddress(p.iss);
132
-
133
- try {
134
- // Kicks off verifyMessage and populates external states
135
- const message = provider?.client?.formatAuthMessage({
136
- request: p,
137
- iss: p.iss
138
- })!;
139
-
140
- await SIWEController.verifyMessage({
141
- message,
142
- signature: s.s,
143
- cacao: signedCacao
144
- });
145
-
146
- if (address && chainId) {
147
- const siweSession = {
148
- address,
149
- chainId: parseInt(chainId, 10)
150
- };
151
-
152
- SIWEController.setSession(siweSession);
153
- SIWEController.onSignIn?.(siweSession);
154
- }
155
- } catch (error) {
156
- // eslint-disable-next-line no-console
157
- console.error('Error verifying message', error);
158
- // eslint-disable-next-line no-console
159
- await provider.disconnect().catch(console.error);
160
- // eslint-disable-next-line no-console
161
- await SIWEController.signOut().catch(console.error);
162
- throw error;
163
- }
164
- }
165
- session = result?.session;
126
+ });
166
127
  } else {
167
- session = await (this.provider as IUniversalProvider).connect({
168
- namespaces: {},
128
+ session = await (this.provider as UniversalProvider).connect({
169
129
  optionalNamespaces: namespaces
170
130
  });
171
131
  }
@@ -175,14 +135,18 @@ export class WalletConnectConnector extends WalletConnector {
175
135
  this.wallet = {
176
136
  ...metadata,
177
137
  name: metadata?.name,
178
- icon: metadata?.icons?.[0]
138
+ icon: metadata?.icons?.[0],
139
+ type: 'walletconnect'
179
140
  };
180
141
  } else {
181
- this.wallet = undefined;
142
+ this.wallet = {
143
+ name: 'Unknown Wallet',
144
+ type: 'walletconnect'
145
+ };
182
146
  }
183
147
 
184
148
  if (defaultNetwork?.caipNetworkId) {
185
- (this.provider as IUniversalProvider).setDefaultChain(defaultNetwork.caipNetworkId);
149
+ (this.provider as UniversalProvider).setDefaultChain(defaultNetwork.caipNetworkId);
186
150
  }
187
151
 
188
152
  if (session?.sessionProperties) {
@@ -199,7 +163,7 @@ export class WalletConnectConnector extends WalletConnector {
199
163
 
200
164
  provider.off('display_uri', onUri);
201
165
 
202
- return this.namespaces;
166
+ return (session?.namespaces as Namespaces) ?? {};
203
167
  }
204
168
 
205
169
  override getProvider(namespace?: ChainNamespace): Provider {
@@ -207,13 +171,16 @@ export class WalletConnectConnector extends WalletConnector {
207
171
  throw new Error('WalletConnectConnector: Provider not initialized. Call init() first.');
208
172
  }
209
173
 
210
- const provider = this.provider as IUniversalProvider;
174
+ const provider = this.provider;
211
175
 
212
176
  if (namespace) {
213
- // @ts-ignore
214
177
  return {
215
- ...provider,
216
- request: (args: RequestArguments, chainId?: CaipNetworkId) => {
178
+ ...this.provider,
179
+ connect: async (params?: any) => provider.connect(params) as Promise<any>,
180
+ disconnect: provider.disconnect.bind(provider),
181
+ on: provider.on.bind(provider),
182
+ off: provider.off.bind(provider),
183
+ request: async (args: RequestArguments, chainId?: CaipNetworkId) => {
217
184
  const _chainId = this.getChainId(namespace);
218
185
 
219
186
  return provider.request(args, chainId || _chainId);
@@ -225,7 +192,11 @@ export class WalletConnectConnector extends WalletConnector {
225
192
  }
226
193
 
227
194
  override getNamespaces(): Namespaces {
228
- return this.namespaces ?? {};
195
+ const namespaces =
196
+ ((this.provider as UniversalProvider)?.session?.namespaces as Namespaces) ?? {};
197
+ this.namespaces = namespaces;
198
+
199
+ return namespaces;
229
200
  }
230
201
 
231
202
  override getProperties(): ConnectionProperties | undefined {
@@ -237,7 +208,7 @@ export class WalletConnectConnector extends WalletConnector {
237
208
 
238
209
  let caipNetworkId = network.caipNetworkId ?? `eip155:${network.id}`;
239
210
 
240
- (this.provider as IUniversalProvider).setDefaultChain(caipNetworkId);
211
+ (this.provider as UniversalProvider).setDefaultChain(caipNetworkId);
241
212
 
242
213
  return Promise.resolve();
243
214
  }
@@ -247,11 +218,12 @@ export class WalletConnectConnector extends WalletConnector {
247
218
  }
248
219
 
249
220
  override getChainId(namespace: ChainNamespace): CaipNetworkId | undefined {
250
- if (!this.namespaces || !this.namespaces[namespace]) {
221
+ const namespaces = this.getNamespaces();
222
+ if (!namespaces || !namespaces[namespace]) {
251
223
  return undefined;
252
224
  }
253
225
 
254
- const chainId = (this.provider as IUniversalProvider).rpcProviders[
226
+ const chainId = (this.provider as UniversalProvider).rpcProviders[
255
227
  namespace
256
228
  ]?.getDefaultChain?.();
257
229
 
@@ -1,5 +1,7 @@
1
+ /* eslint-disable valtio/state-snapshot-rule */
2
+ import { useMemo } from 'react';
1
3
  import { useSnapshot } from 'valtio';
2
- import { ConnectionsController } from '@reown/appkit-core-react-native';
4
+ import { ConnectionsController, CoreHelperUtil } from '@reown/appkit-core-react-native';
3
5
  import { useAppKit } from './useAppKit';
4
6
 
5
7
  export function useAccount() {
@@ -8,15 +10,23 @@ export function useAccount() {
8
10
  const {
9
11
  activeAddress: address,
10
12
  activeNamespace,
11
- connections
13
+ connection,
14
+ networks
12
15
  } = useSnapshot(ConnectionsController.state);
13
16
 
14
- const connection = activeNamespace ? connections.get(activeNamespace) : undefined;
17
+ const activeChain = useMemo(
18
+ () =>
19
+ connection?.caipNetwork
20
+ ? networks.find(network => network.caipNetworkId === connection?.caipNetwork)
21
+ : undefined,
22
+ [connection?.caipNetwork, networks]
23
+ );
15
24
 
16
25
  return {
17
- address: address?.split(':')[2],
26
+ address: CoreHelperUtil.getPlainAddress(address),
18
27
  isConnected: !!address,
19
- chainId: connection?.caipNetwork,
28
+ chainId: activeChain?.id,
29
+ chain: activeChain,
20
30
  namespace: activeNamespace
21
31
  };
22
32
  }