@reown/appkit-react-native 0.0.0-fix-ui-changes-20250829182619 → 0.0.0-fix-singleton-appkit-20251001153745

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 (437) hide show
  1. package/lib/commonjs/AppKit.js +147 -102
  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/useAppKitLogs.js +88 -0
  12. package/lib/commonjs/hooks/useAppKitLogs.js.map +1 -0
  13. package/lib/commonjs/hooks/useAppKitState.js +32 -0
  14. package/lib/commonjs/hooks/useAppKitState.js.map +1 -0
  15. package/lib/commonjs/hooks/useProvider.js +14 -8
  16. package/lib/commonjs/hooks/useProvider.js.map +1 -1
  17. package/lib/commonjs/hooks/useWalletInfo.js +6 -4
  18. package/lib/commonjs/hooks/useWalletInfo.js.map +1 -1
  19. package/lib/commonjs/index.js +21 -0
  20. package/lib/commonjs/index.js.map +1 -1
  21. package/lib/commonjs/modal/w3m-modal/index.js +18 -2
  22. package/lib/commonjs/modal/w3m-modal/index.js.map +1 -1
  23. package/lib/commonjs/modal/w3m-router/index.js +21 -23
  24. package/lib/commonjs/modal/w3m-router/index.js.map +1 -1
  25. package/lib/commonjs/partials/w3m-account-activity/index.js +1 -1
  26. package/lib/commonjs/partials/w3m-account-activity/index.js.map +1 -1
  27. package/lib/commonjs/partials/w3m-account-wallet-features/index.js +1 -1
  28. package/lib/commonjs/partials/w3m-account-wallet-features/index.js.map +1 -1
  29. package/lib/commonjs/partials/w3m-all-wallets-list/components/Loading.js +4 -2
  30. package/lib/commonjs/partials/w3m-all-wallets-list/components/Loading.js.map +1 -1
  31. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletItem.js +6 -3
  32. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletItem.js.map +1 -1
  33. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletList.js +13 -5
  34. package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletList.js.map +1 -1
  35. package/lib/commonjs/partials/w3m-all-wallets-list/index.js +14 -3
  36. package/lib/commonjs/partials/w3m-all-wallets-list/index.js.map +1 -1
  37. package/lib/commonjs/partials/w3m-all-wallets-list/styles.js +3 -0
  38. package/lib/commonjs/partials/w3m-all-wallets-list/styles.js.map +1 -1
  39. package/lib/commonjs/partials/w3m-all-wallets-search/index.js +21 -12
  40. package/lib/commonjs/partials/w3m-all-wallets-search/index.js.map +1 -1
  41. package/lib/commonjs/partials/w3m-all-wallets-search/styles.js +3 -1
  42. package/lib/commonjs/partials/w3m-all-wallets-search/styles.js.map +1 -1
  43. package/lib/commonjs/partials/w3m-connecting-mobile/index.js +21 -1
  44. package/lib/commonjs/partials/w3m-connecting-mobile/index.js.map +1 -1
  45. package/lib/commonjs/partials/w3m-connecting-mobile/styles.js +2 -1
  46. package/lib/commonjs/partials/w3m-connecting-mobile/styles.js.map +1 -1
  47. package/lib/commonjs/partials/w3m-connecting-qrcode/index.js +6 -2
  48. package/lib/commonjs/partials/w3m-connecting-qrcode/index.js.map +1 -1
  49. package/lib/commonjs/partials/w3m-connecting-web/index.js +10 -3
  50. package/lib/commonjs/partials/w3m-connecting-web/index.js.map +1 -1
  51. package/lib/commonjs/partials/w3m-connecting-web/styles.js +3 -0
  52. package/lib/commonjs/partials/w3m-connecting-web/styles.js.map +1 -1
  53. package/lib/commonjs/partials/w3m-header/index.js +5 -4
  54. package/lib/commonjs/partials/w3m-header/index.js.map +1 -1
  55. package/lib/commonjs/partials/w3m-selector-modal/index.js +10 -2
  56. package/lib/commonjs/partials/w3m-selector-modal/index.js.map +1 -1
  57. package/lib/commonjs/utils/SIWXUtil.js +281 -0
  58. package/lib/commonjs/utils/SIWXUtil.js.map +1 -0
  59. package/lib/commonjs/views/w3m-account-default-view/index.js +6 -5
  60. package/lib/commonjs/views/w3m-account-default-view/index.js.map +1 -1
  61. package/lib/commonjs/views/w3m-account-view/index.js +2 -2
  62. package/lib/commonjs/views/w3m-account-view/index.js.map +1 -1
  63. package/lib/commonjs/views/w3m-account-view/styles.js +0 -5
  64. package/lib/commonjs/views/w3m-account-view/styles.js.map +1 -1
  65. package/lib/commonjs/views/w3m-all-wallets-view/index.js +7 -4
  66. package/lib/commonjs/views/w3m-all-wallets-view/index.js.map +1 -1
  67. package/lib/commonjs/views/w3m-connect-socials-view/index.js +2 -2
  68. package/lib/commonjs/views/w3m-connect-socials-view/index.js.map +1 -1
  69. package/lib/commonjs/views/w3m-connect-view/components/all-wallet-list.js +20 -13
  70. package/lib/commonjs/views/w3m-connect-view/components/all-wallet-list.js.map +1 -1
  71. package/lib/commonjs/views/w3m-connect-view/index.js +9 -14
  72. package/lib/commonjs/views/w3m-connect-view/index.js.map +1 -1
  73. package/lib/commonjs/views/w3m-connecting-external-view/index.js +21 -1
  74. package/lib/commonjs/views/w3m-connecting-external-view/index.js.map +1 -1
  75. package/lib/commonjs/views/w3m-connecting-external-view/styles.js +1 -1
  76. package/lib/commonjs/views/w3m-connecting-external-view/styles.js.map +1 -1
  77. package/lib/commonjs/views/w3m-connecting-social-view/index.js +2 -1
  78. package/lib/commonjs/views/w3m-connecting-social-view/index.js.map +1 -1
  79. package/lib/commonjs/views/w3m-connecting-view/index.js +12 -31
  80. package/lib/commonjs/views/w3m-connecting-view/index.js.map +1 -1
  81. package/lib/commonjs/views/w3m-get-wallet-view/index.js +1 -1
  82. package/lib/commonjs/views/w3m-get-wallet-view/index.js.map +1 -1
  83. package/lib/commonjs/views/w3m-network-switch-view/index.js +62 -80
  84. package/lib/commonjs/views/w3m-network-switch-view/index.js.map +1 -1
  85. package/lib/commonjs/views/w3m-networks-view/index.js +19 -11
  86. package/lib/commonjs/views/w3m-networks-view/index.js.map +1 -1
  87. package/lib/commonjs/views/w3m-onramp-checkout-view/index.js +1 -1
  88. package/lib/commonjs/views/w3m-onramp-checkout-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 +3 -1
  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 +11 -4
  94. package/lib/commonjs/views/w3m-onramp-settings-view/index.js.map +1 -1
  95. package/lib/commonjs/views/w3m-onramp-settings-view/utils.js +17 -1
  96. package/lib/commonjs/views/w3m-onramp-settings-view/utils.js.map +1 -1
  97. package/lib/commonjs/views/w3m-onramp-transaction-view/index.js +1 -1
  98. package/lib/commonjs/views/w3m-onramp-transaction-view/index.js.map +1 -1
  99. package/lib/commonjs/views/w3m-onramp-view/components/Header.js +1 -1
  100. package/lib/commonjs/views/w3m-onramp-view/components/LoadingView.js +1 -1
  101. package/lib/commonjs/views/w3m-onramp-view/components/LoadingView.js.map +1 -1
  102. package/lib/commonjs/views/w3m-onramp-view/index.js +3 -3
  103. package/lib/commonjs/views/w3m-onramp-view/index.js.map +1 -1
  104. package/lib/commonjs/views/w3m-siwx-sign-view/index.js +110 -0
  105. package/lib/commonjs/views/w3m-siwx-sign-view/index.js.map +1 -0
  106. package/lib/commonjs/views/{w3m-connecting-siwe-view → w3m-siwx-sign-view}/styles.js +0 -7
  107. package/lib/commonjs/views/w3m-siwx-sign-view/styles.js.map +1 -0
  108. package/lib/commonjs/views/w3m-swap-preview-view/index.js +1 -1
  109. package/lib/commonjs/views/w3m-swap-preview-view/index.js.map +1 -1
  110. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/index.js +1 -2
  111. package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/index.js.map +1 -1
  112. package/lib/commonjs/views/w3m-swap-view/index.js +9 -6
  113. package/lib/commonjs/views/w3m-swap-view/index.js.map +1 -1
  114. package/lib/commonjs/views/w3m-unsupported-chain-view/index.js +6 -12
  115. package/lib/commonjs/views/w3m-unsupported-chain-view/index.js.map +1 -1
  116. package/lib/commonjs/views/w3m-unsupported-chain-view/styles.js +1 -1
  117. package/lib/commonjs/views/w3m-unsupported-chain-view/styles.js.map +1 -1
  118. package/lib/commonjs/views/w3m-upgrade-email-wallet-view/index.js +3 -5
  119. package/lib/commonjs/views/w3m-upgrade-email-wallet-view/index.js.map +1 -1
  120. package/lib/commonjs/views/w3m-wallet-receive-view/index.js +1 -1
  121. package/lib/commonjs/views/w3m-wallet-receive-view/index.js.map +1 -1
  122. package/lib/commonjs/views/w3m-wallet-send-preview-view/index.js +1 -1
  123. package/lib/commonjs/views/w3m-wallet-send-preview-view/index.js.map +1 -1
  124. package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js +1 -1
  125. package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
  126. package/lib/commonjs/views/w3m-wallet-send-view/index.js +8 -5
  127. package/lib/commonjs/views/w3m-wallet-send-view/index.js.map +1 -1
  128. package/lib/commonjs/views/w3m-what-is-a-network-view/index.js +1 -1
  129. package/lib/commonjs/views/w3m-what-is-a-network-view/index.js.map +1 -1
  130. package/lib/commonjs/views/w3m-what-is-a-wallet-view/index.js +2 -2
  131. package/lib/commonjs/views/w3m-what-is-a-wallet-view/index.js.map +1 -1
  132. package/lib/module/AppKit.js +147 -102
  133. package/lib/module/AppKit.js.map +1 -1
  134. package/lib/module/AppKitContext.js +17 -11
  135. package/lib/module/AppKitContext.js.map +1 -1
  136. package/lib/module/connectors/WalletConnectConnector.js +34 -62
  137. package/lib/module/connectors/WalletConnectConnector.js.map +1 -1
  138. package/lib/module/hooks/useAccount.js +9 -5
  139. package/lib/module/hooks/useAccount.js.map +1 -1
  140. package/lib/module/hooks/useAppKit.js +13 -13
  141. package/lib/module/hooks/useAppKit.js.map +1 -1
  142. package/lib/module/hooks/useAppKitLogs.js +83 -0
  143. package/lib/module/hooks/useAppKitLogs.js.map +1 -0
  144. package/lib/module/hooks/useAppKitState.js +27 -0
  145. package/lib/module/hooks/useAppKitState.js.map +1 -0
  146. package/lib/module/hooks/useProvider.js +13 -8
  147. package/lib/module/hooks/useProvider.js.map +1 -1
  148. package/lib/module/hooks/useWalletInfo.js +6 -4
  149. package/lib/module/hooks/useWalletInfo.js.map +1 -1
  150. package/lib/module/index.js +5 -0
  151. package/lib/module/index.js.map +1 -1
  152. package/lib/module/modal/w3m-modal/index.js +18 -2
  153. package/lib/module/modal/w3m-modal/index.js.map +1 -1
  154. package/lib/module/modal/w3m-router/index.js +22 -24
  155. package/lib/module/modal/w3m-router/index.js.map +1 -1
  156. package/lib/module/partials/w3m-account-activity/index.js +1 -1
  157. package/lib/module/partials/w3m-account-activity/index.js.map +1 -1
  158. package/lib/module/partials/w3m-account-wallet-features/index.js +1 -1
  159. package/lib/module/partials/w3m-account-wallet-features/index.js.map +1 -1
  160. package/lib/module/partials/w3m-all-wallets-list/components/Loading.js +4 -2
  161. package/lib/module/partials/w3m-all-wallets-list/components/Loading.js.map +1 -1
  162. package/lib/module/partials/w3m-all-wallets-list/components/WalletItem.js +6 -3
  163. package/lib/module/partials/w3m-all-wallets-list/components/WalletItem.js.map +1 -1
  164. package/lib/module/partials/w3m-all-wallets-list/components/WalletList.js +13 -5
  165. package/lib/module/partials/w3m-all-wallets-list/components/WalletList.js.map +1 -1
  166. package/lib/module/partials/w3m-all-wallets-list/index.js +15 -4
  167. package/lib/module/partials/w3m-all-wallets-list/index.js.map +1 -1
  168. package/lib/module/partials/w3m-all-wallets-list/styles.js +3 -0
  169. package/lib/module/partials/w3m-all-wallets-list/styles.js.map +1 -1
  170. package/lib/module/partials/w3m-all-wallets-search/index.js +22 -13
  171. package/lib/module/partials/w3m-all-wallets-search/index.js.map +1 -1
  172. package/lib/module/partials/w3m-all-wallets-search/styles.js +3 -1
  173. package/lib/module/partials/w3m-all-wallets-search/styles.js.map +1 -1
  174. package/lib/module/partials/w3m-connecting-mobile/index.js +22 -2
  175. package/lib/module/partials/w3m-connecting-mobile/index.js.map +1 -1
  176. package/lib/module/partials/w3m-connecting-mobile/styles.js +2 -1
  177. package/lib/module/partials/w3m-connecting-mobile/styles.js.map +1 -1
  178. package/lib/module/partials/w3m-connecting-qrcode/index.js +7 -3
  179. package/lib/module/partials/w3m-connecting-qrcode/index.js.map +1 -1
  180. package/lib/module/partials/w3m-connecting-web/index.js +11 -4
  181. package/lib/module/partials/w3m-connecting-web/index.js.map +1 -1
  182. package/lib/module/partials/w3m-connecting-web/styles.js +3 -0
  183. package/lib/module/partials/w3m-connecting-web/styles.js.map +1 -1
  184. package/lib/module/partials/w3m-header/index.js +5 -4
  185. package/lib/module/partials/w3m-header/index.js.map +1 -1
  186. package/lib/module/partials/w3m-selector-modal/index.js +10 -2
  187. package/lib/module/partials/w3m-selector-modal/index.js.map +1 -1
  188. package/lib/module/utils/SIWXUtil.js +278 -0
  189. package/lib/module/utils/SIWXUtil.js.map +1 -0
  190. package/lib/module/views/w3m-account-default-view/index.js +7 -6
  191. package/lib/module/views/w3m-account-default-view/index.js.map +1 -1
  192. package/lib/module/views/w3m-account-view/index.js +2 -2
  193. package/lib/module/views/w3m-account-view/index.js.map +1 -1
  194. package/lib/module/views/w3m-account-view/styles.js +1 -6
  195. package/lib/module/views/w3m-account-view/styles.js.map +1 -1
  196. package/lib/module/views/w3m-all-wallets-view/index.js +7 -4
  197. package/lib/module/views/w3m-all-wallets-view/index.js.map +1 -1
  198. package/lib/module/views/w3m-connect-socials-view/index.js +2 -2
  199. package/lib/module/views/w3m-connect-socials-view/index.js.map +1 -1
  200. package/lib/module/views/w3m-connect-view/components/all-wallet-list.js +21 -14
  201. package/lib/module/views/w3m-connect-view/components/all-wallet-list.js.map +1 -1
  202. package/lib/module/views/w3m-connect-view/index.js +9 -14
  203. package/lib/module/views/w3m-connect-view/index.js.map +1 -1
  204. package/lib/module/views/w3m-connecting-external-view/index.js +22 -2
  205. package/lib/module/views/w3m-connecting-external-view/index.js.map +1 -1
  206. package/lib/module/views/w3m-connecting-external-view/styles.js +1 -1
  207. package/lib/module/views/w3m-connecting-external-view/styles.js.map +1 -1
  208. package/lib/module/views/w3m-connecting-social-view/index.js +3 -2
  209. package/lib/module/views/w3m-connecting-social-view/index.js.map +1 -1
  210. package/lib/module/views/w3m-connecting-view/index.js +14 -33
  211. package/lib/module/views/w3m-connecting-view/index.js.map +1 -1
  212. package/lib/module/views/w3m-get-wallet-view/index.js +1 -1
  213. package/lib/module/views/w3m-get-wallet-view/index.js.map +1 -1
  214. package/lib/module/views/w3m-network-switch-view/index.js +66 -85
  215. package/lib/module/views/w3m-network-switch-view/index.js.map +1 -1
  216. package/lib/module/views/w3m-networks-view/index.js +18 -11
  217. package/lib/module/views/w3m-networks-view/index.js.map +1 -1
  218. package/lib/module/views/w3m-onramp-checkout-view/index.js +1 -1
  219. package/lib/module/views/w3m-onramp-checkout-view/index.js.map +1 -1
  220. package/lib/module/views/w3m-onramp-loading-view/styles.js +1 -1
  221. package/lib/module/views/w3m-onramp-loading-view/styles.js.map +1 -1
  222. package/lib/module/views/w3m-onramp-settings-view/components/Country.js +3 -1
  223. package/lib/module/views/w3m-onramp-settings-view/components/Country.js.map +1 -1
  224. package/lib/module/views/w3m-onramp-settings-view/index.js +12 -5
  225. package/lib/module/views/w3m-onramp-settings-view/index.js.map +1 -1
  226. package/lib/module/views/w3m-onramp-settings-view/utils.js +14 -0
  227. package/lib/module/views/w3m-onramp-settings-view/utils.js.map +1 -1
  228. package/lib/module/views/w3m-onramp-transaction-view/index.js +1 -1
  229. package/lib/module/views/w3m-onramp-transaction-view/index.js.map +1 -1
  230. package/lib/module/views/w3m-onramp-view/components/Header.js +1 -1
  231. package/lib/module/views/w3m-onramp-view/components/LoadingView.js +1 -1
  232. package/lib/module/views/w3m-onramp-view/components/LoadingView.js.map +1 -1
  233. package/lib/module/views/w3m-onramp-view/index.js +3 -3
  234. package/lib/module/views/w3m-onramp-view/index.js.map +1 -1
  235. package/lib/module/views/w3m-siwx-sign-view/index.js +105 -0
  236. package/lib/module/views/w3m-siwx-sign-view/index.js.map +1 -0
  237. package/lib/module/views/{w3m-connecting-siwe-view → w3m-siwx-sign-view}/styles.js +0 -7
  238. package/lib/module/views/w3m-siwx-sign-view/styles.js.map +1 -0
  239. package/lib/module/views/w3m-swap-preview-view/index.js +1 -1
  240. package/lib/module/views/w3m-swap-preview-view/index.js.map +1 -1
  241. package/lib/module/views/w3m-swap-view/components/select-token-modal/index.js +1 -2
  242. package/lib/module/views/w3m-swap-view/components/select-token-modal/index.js.map +1 -1
  243. package/lib/module/views/w3m-swap-view/index.js +9 -6
  244. package/lib/module/views/w3m-swap-view/index.js.map +1 -1
  245. package/lib/module/views/w3m-unsupported-chain-view/index.js +8 -14
  246. package/lib/module/views/w3m-unsupported-chain-view/index.js.map +1 -1
  247. package/lib/module/views/w3m-unsupported-chain-view/styles.js +1 -1
  248. package/lib/module/views/w3m-unsupported-chain-view/styles.js.map +1 -1
  249. package/lib/module/views/w3m-upgrade-email-wallet-view/index.js +4 -6
  250. package/lib/module/views/w3m-upgrade-email-wallet-view/index.js.map +1 -1
  251. package/lib/module/views/w3m-wallet-receive-view/index.js +1 -1
  252. package/lib/module/views/w3m-wallet-receive-view/index.js.map +1 -1
  253. package/lib/module/views/w3m-wallet-send-preview-view/index.js +1 -1
  254. package/lib/module/views/w3m-wallet-send-preview-view/index.js.map +1 -1
  255. package/lib/module/views/w3m-wallet-send-select-token-view/index.js +1 -1
  256. package/lib/module/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
  257. package/lib/module/views/w3m-wallet-send-view/index.js +8 -5
  258. package/lib/module/views/w3m-wallet-send-view/index.js.map +1 -1
  259. package/lib/module/views/w3m-what-is-a-network-view/index.js +1 -1
  260. package/lib/module/views/w3m-what-is-a-network-view/index.js.map +1 -1
  261. package/lib/module/views/w3m-what-is-a-wallet-view/index.js +2 -2
  262. package/lib/module/views/w3m-what-is-a-wallet-view/index.js.map +1 -1
  263. package/lib/typescript/AppKit.d.ts +13 -4
  264. package/lib/typescript/AppKit.d.ts.map +1 -1
  265. package/lib/typescript/AppKitContext.d.ts +1 -1
  266. package/lib/typescript/AppKitContext.d.ts.map +1 -1
  267. package/lib/typescript/connectors/WalletConnectConnector.d.ts.map +1 -1
  268. package/lib/typescript/hooks/useAccount.d.ts +33 -1
  269. package/lib/typescript/hooks/useAccount.d.ts.map +1 -1
  270. package/lib/typescript/hooks/useAppKit.d.ts +2 -2
  271. package/lib/typescript/hooks/useAppKit.d.ts.map +1 -1
  272. package/lib/typescript/hooks/useAppKitEvents.d.ts +75 -21
  273. package/lib/typescript/hooks/useAppKitEvents.d.ts.map +1 -1
  274. package/lib/typescript/hooks/useAppKitLogs.d.ts +57 -0
  275. package/lib/typescript/hooks/useAppKitLogs.d.ts.map +1 -0
  276. package/lib/typescript/hooks/useAppKitState.d.ts +38 -0
  277. package/lib/typescript/hooks/useAppKitState.d.ts.map +1 -0
  278. package/lib/typescript/hooks/useProvider.d.ts.map +1 -1
  279. package/lib/typescript/hooks/useWalletInfo.d.ts +1 -0
  280. package/lib/typescript/hooks/useWalletInfo.d.ts.map +1 -1
  281. package/lib/typescript/index.d.ts +5 -0
  282. package/lib/typescript/index.d.ts.map +1 -1
  283. package/lib/typescript/modal/w3m-modal/index.d.ts.map +1 -1
  284. package/lib/typescript/modal/w3m-router/index.d.ts.map +1 -1
  285. package/lib/typescript/partials/w3m-all-wallets-list/components/Loading.d.ts +3 -1
  286. package/lib/typescript/partials/w3m-all-wallets-list/components/Loading.d.ts.map +1 -1
  287. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletItem.d.ts +4 -2
  288. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletItem.d.ts.map +1 -1
  289. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletList.d.ts +5 -2
  290. package/lib/typescript/partials/w3m-all-wallets-list/components/WalletList.d.ts.map +1 -1
  291. package/lib/typescript/partials/w3m-all-wallets-list/index.d.ts +1 -1
  292. package/lib/typescript/partials/w3m-all-wallets-list/index.d.ts.map +1 -1
  293. package/lib/typescript/partials/w3m-all-wallets-list/styles.d.ts +3 -0
  294. package/lib/typescript/partials/w3m-all-wallets-list/styles.d.ts.map +1 -1
  295. package/lib/typescript/partials/w3m-all-wallets-search/index.d.ts +1 -1
  296. package/lib/typescript/partials/w3m-all-wallets-search/index.d.ts.map +1 -1
  297. package/lib/typescript/partials/w3m-all-wallets-search/styles.d.ts +2 -0
  298. package/lib/typescript/partials/w3m-all-wallets-search/styles.d.ts.map +1 -1
  299. package/lib/typescript/partials/w3m-connecting-mobile/index.d.ts.map +1 -1
  300. package/lib/typescript/partials/w3m-connecting-mobile/styles.d.ts +1 -0
  301. package/lib/typescript/partials/w3m-connecting-mobile/styles.d.ts.map +1 -1
  302. package/lib/typescript/partials/w3m-connecting-qrcode/index.d.ts.map +1 -1
  303. package/lib/typescript/partials/w3m-connecting-web/index.d.ts.map +1 -1
  304. package/lib/typescript/partials/w3m-connecting-web/styles.d.ts +3 -0
  305. package/lib/typescript/partials/w3m-connecting-web/styles.d.ts.map +1 -1
  306. package/lib/typescript/partials/w3m-header/index.d.ts.map +1 -1
  307. package/lib/typescript/partials/w3m-selector-modal/index.d.ts +3 -1
  308. package/lib/typescript/partials/w3m-selector-modal/index.d.ts.map +1 -1
  309. package/lib/typescript/types.d.ts +6 -7
  310. package/lib/typescript/types.d.ts.map +1 -1
  311. package/lib/typescript/utils/SIWXUtil.d.ts +34 -0
  312. package/lib/typescript/utils/SIWXUtil.d.ts.map +1 -0
  313. package/lib/typescript/views/w3m-account-default-view/index.d.ts.map +1 -1
  314. package/lib/typescript/views/w3m-account-view/index.d.ts.map +1 -1
  315. package/lib/typescript/views/w3m-account-view/styles.d.ts +0 -3
  316. package/lib/typescript/views/w3m-account-view/styles.d.ts.map +1 -1
  317. package/lib/typescript/views/w3m-all-wallets-view/index.d.ts.map +1 -1
  318. package/lib/typescript/views/w3m-connect-view/components/all-wallet-list.d.ts +1 -1
  319. package/lib/typescript/views/w3m-connect-view/components/all-wallet-list.d.ts.map +1 -1
  320. package/lib/typescript/views/w3m-connect-view/index.d.ts.map +1 -1
  321. package/lib/typescript/views/w3m-connecting-external-view/index.d.ts.map +1 -1
  322. package/lib/typescript/views/w3m-connecting-social-view/index.d.ts.map +1 -1
  323. package/lib/typescript/views/w3m-connecting-view/index.d.ts.map +1 -1
  324. package/lib/typescript/views/w3m-network-switch-view/index.d.ts.map +1 -1
  325. package/lib/typescript/views/w3m-networks-view/index.d.ts.map +1 -1
  326. package/lib/typescript/views/w3m-onramp-settings-view/components/Country.d.ts +2 -1
  327. package/lib/typescript/views/w3m-onramp-settings-view/components/Country.d.ts.map +1 -1
  328. package/lib/typescript/views/w3m-onramp-settings-view/index.d.ts.map +1 -1
  329. package/lib/typescript/views/w3m-onramp-settings-view/utils.d.ts +2 -0
  330. package/lib/typescript/views/w3m-onramp-settings-view/utils.d.ts.map +1 -1
  331. package/lib/typescript/views/w3m-siwx-sign-view/index.d.ts +2 -0
  332. package/lib/typescript/views/w3m-siwx-sign-view/index.d.ts.map +1 -0
  333. package/lib/typescript/views/{w3m-connecting-siwe-view → w3m-siwx-sign-view}/styles.d.ts +0 -7
  334. package/lib/typescript/views/w3m-siwx-sign-view/styles.d.ts.map +1 -0
  335. package/lib/typescript/views/w3m-swap-view/components/select-token-modal/index.d.ts.map +1 -1
  336. package/lib/typescript/views/w3m-unsupported-chain-view/index.d.ts.map +1 -1
  337. package/lib/typescript/views/w3m-upgrade-email-wallet-view/index.d.ts.map +1 -1
  338. package/lib/typescript/views/w3m-wallet-send-view/index.d.ts.map +1 -1
  339. package/package.json +10 -9
  340. package/src/AppKit.ts +161 -116
  341. package/src/AppKitContext.tsx +19 -11
  342. package/src/connectors/WalletConnectConnector.ts +47 -75
  343. package/src/hooks/useAccount.ts +15 -5
  344. package/src/hooks/useAppKit.ts +19 -13
  345. package/src/hooks/useAppKitLogs.ts +129 -0
  346. package/src/hooks/useAppKitState.ts +26 -0
  347. package/src/hooks/useProvider.ts +11 -5
  348. package/src/hooks/useWalletInfo.ts +5 -2
  349. package/src/index.ts +12 -0
  350. package/src/modal/w3m-modal/index.tsx +12 -2
  351. package/src/modal/w3m-router/index.tsx +17 -20
  352. package/src/partials/w3m-account-activity/index.tsx +1 -1
  353. package/src/partials/w3m-account-wallet-features/index.tsx +1 -1
  354. package/src/partials/w3m-all-wallets-list/components/Loading.tsx +10 -2
  355. package/src/partials/w3m-all-wallets-list/components/WalletItem.tsx +13 -3
  356. package/src/partials/w3m-all-wallets-list/components/WalletList.tsx +15 -6
  357. package/src/partials/w3m-all-wallets-list/index.tsx +21 -10
  358. package/src/partials/w3m-all-wallets-list/styles.ts +3 -0
  359. package/src/partials/w3m-all-wallets-search/index.tsx +28 -16
  360. package/src/partials/w3m-all-wallets-search/styles.ts +3 -1
  361. package/src/partials/w3m-connecting-mobile/index.tsx +24 -2
  362. package/src/partials/w3m-connecting-mobile/styles.ts +2 -1
  363. package/src/partials/w3m-connecting-qrcode/index.tsx +9 -3
  364. package/src/partials/w3m-connecting-web/index.tsx +13 -5
  365. package/src/partials/w3m-connecting-web/styles.ts +3 -0
  366. package/src/partials/w3m-header/index.tsx +7 -4
  367. package/src/partials/w3m-selector-modal/index.tsx +10 -2
  368. package/src/types.ts +7 -8
  369. package/src/utils/SIWXUtil.ts +364 -0
  370. package/src/views/w3m-account-default-view/index.tsx +8 -6
  371. package/src/views/w3m-account-view/index.tsx +1 -9
  372. package/src/views/w3m-account-view/styles.ts +1 -4
  373. package/src/views/w3m-all-wallets-view/index.tsx +11 -4
  374. package/src/views/w3m-connect-socials-view/index.tsx +2 -2
  375. package/src/views/w3m-connect-view/components/all-wallet-list.tsx +31 -22
  376. package/src/views/w3m-connect-view/index.tsx +8 -9
  377. package/src/views/w3m-connecting-external-view/index.tsx +24 -2
  378. package/src/views/w3m-connecting-external-view/styles.ts +1 -1
  379. package/src/views/w3m-connecting-social-view/index.tsx +4 -2
  380. package/src/views/w3m-connecting-view/index.tsx +16 -33
  381. package/src/views/w3m-get-wallet-view/index.tsx +1 -1
  382. package/src/views/w3m-network-switch-view/index.tsx +72 -98
  383. package/src/views/w3m-networks-view/index.tsx +20 -14
  384. package/src/views/w3m-onramp-checkout-view/index.tsx +1 -1
  385. package/src/views/w3m-onramp-loading-view/styles.ts +1 -1
  386. package/src/views/w3m-onramp-settings-view/components/Country.tsx +3 -1
  387. package/src/views/w3m-onramp-settings-view/index.tsx +13 -3
  388. package/src/views/w3m-onramp-settings-view/utils.ts +18 -0
  389. package/src/views/w3m-onramp-transaction-view/index.tsx +1 -1
  390. package/src/views/w3m-onramp-view/components/Header.tsx +1 -1
  391. package/src/views/w3m-onramp-view/components/LoadingView.tsx +1 -1
  392. package/src/views/w3m-onramp-view/index.tsx +3 -3
  393. package/src/views/w3m-siwx-sign-view/index.tsx +98 -0
  394. package/src/views/{w3m-connecting-siwe-view → w3m-siwx-sign-view}/styles.ts +0 -7
  395. package/src/views/w3m-swap-preview-view/index.tsx +1 -1
  396. package/src/views/w3m-swap-view/components/select-token-modal/index.tsx +2 -4
  397. package/src/views/w3m-swap-view/index.tsx +7 -7
  398. package/src/views/w3m-unsupported-chain-view/index.tsx +5 -7
  399. package/src/views/w3m-unsupported-chain-view/styles.ts +1 -1
  400. package/src/views/w3m-upgrade-email-wallet-view/index.tsx +4 -6
  401. package/src/views/w3m-wallet-receive-view/index.tsx +1 -1
  402. package/src/views/w3m-wallet-send-preview-view/index.tsx +1 -1
  403. package/src/views/w3m-wallet-send-select-token-view/index.tsx +1 -1
  404. package/src/views/w3m-wallet-send-view/index.tsx +4 -3
  405. package/src/views/w3m-what-is-a-network-view/index.tsx +1 -1
  406. package/src/views/w3m-what-is-a-wallet-view/index.tsx +2 -2
  407. package/lib/commonjs/views/w3m-connect-view/components/custom-wallet-list.js +0 -45
  408. package/lib/commonjs/views/w3m-connect-view/components/custom-wallet-list.js.map +0 -1
  409. package/lib/commonjs/views/w3m-connect-view/components/recent-wallet-list.js +0 -41
  410. package/lib/commonjs/views/w3m-connect-view/components/recent-wallet-list.js.map +0 -1
  411. package/lib/commonjs/views/w3m-connect-view/utils.js +0 -14
  412. package/lib/commonjs/views/w3m-connect-view/utils.js.map +0 -1
  413. package/lib/commonjs/views/w3m-connecting-siwe-view/index.js +0 -145
  414. package/lib/commonjs/views/w3m-connecting-siwe-view/index.js.map +0 -1
  415. package/lib/commonjs/views/w3m-connecting-siwe-view/styles.js.map +0 -1
  416. package/lib/module/views/w3m-connect-view/components/custom-wallet-list.js +0 -41
  417. package/lib/module/views/w3m-connect-view/components/custom-wallet-list.js.map +0 -1
  418. package/lib/module/views/w3m-connect-view/components/recent-wallet-list.js +0 -37
  419. package/lib/module/views/w3m-connect-view/components/recent-wallet-list.js.map +0 -1
  420. package/lib/module/views/w3m-connect-view/utils.js +0 -9
  421. package/lib/module/views/w3m-connect-view/utils.js.map +0 -1
  422. package/lib/module/views/w3m-connecting-siwe-view/index.js +0 -140
  423. package/lib/module/views/w3m-connecting-siwe-view/index.js.map +0 -1
  424. package/lib/module/views/w3m-connecting-siwe-view/styles.js.map +0 -1
  425. package/lib/typescript/views/w3m-connect-view/components/custom-wallet-list.d.ts +0 -9
  426. package/lib/typescript/views/w3m-connect-view/components/custom-wallet-list.d.ts.map +0 -1
  427. package/lib/typescript/views/w3m-connect-view/components/recent-wallet-list.d.ts +0 -9
  428. package/lib/typescript/views/w3m-connect-view/components/recent-wallet-list.d.ts.map +0 -1
  429. package/lib/typescript/views/w3m-connect-view/utils.d.ts +0 -3
  430. package/lib/typescript/views/w3m-connect-view/utils.d.ts.map +0 -1
  431. package/lib/typescript/views/w3m-connecting-siwe-view/index.d.ts +0 -2
  432. package/lib/typescript/views/w3m-connecting-siwe-view/index.d.ts.map +0 -1
  433. package/lib/typescript/views/w3m-connecting-siwe-view/styles.d.ts.map +0 -1
  434. package/src/views/w3m-connect-view/components/custom-wallet-list.tsx +0 -51
  435. package/src/views/w3m-connect-view/components/recent-wallet-list.tsx +0 -45
  436. package/src/views/w3m-connect-view/utils.ts +0 -14
  437. package/src/views/w3m-connecting-siwe-view/index.tsx +0 -126
@@ -17,10 +17,8 @@ import {
17
17
  useCustomDimensions
18
18
  } from '@reown/appkit-ui-react-native';
19
19
  import { Placeholder } from '../../partials/w3m-placeholder';
20
- import { CustomWalletList } from './components/custom-wallet-list';
21
20
  import { AllWalletsButton } from './components/all-wallets-button';
22
21
  import { AllWalletList } from './components/all-wallet-list';
23
- import { RecentWalletList } from './components/recent-wallet-list';
24
22
  import { SocialLoginList } from './components/social-login-list';
25
23
  import styles from './styles';
26
24
  import { WcHelpersUtil } from '../../utils/HelpersUtil';
@@ -35,12 +33,12 @@ export function ConnectView() {
35
33
  const showLoadingError = !showConnectWalletsButton && prefetchError;
36
34
  const showList = !showConnectWalletsButton && !showLoadingError;
37
35
 
38
- const onWalletPress = (wallet: WcWallet, isInstalled?: boolean) => {
36
+ const onWalletPress = (wallet: WcWallet, displayIndex: number, isInstalled?: boolean) => {
39
37
  const isExternal = WcHelpersUtil.isExternalWallet(wallet);
40
38
  if (isExternal) {
41
39
  RouterController.push('ConnectingExternal', { wallet });
42
40
  } else {
43
- RouterController.push('ConnectingWalletConnect', { wallet });
41
+ RouterController.push('WalletConnect', { wallet });
44
42
  }
45
43
 
46
44
  const platform = EventUtil.getWalletPlatform(wallet, isInstalled);
@@ -50,7 +48,10 @@ export function ConnectView() {
50
48
  properties: {
51
49
  name: wallet.name ?? 'Unknown',
52
50
  platform,
53
- explorer_id: wallet.id
51
+ explorerId: wallet.id,
52
+ walletRank: wallet.order,
53
+ displayIndex,
54
+ view: 'Connect'
54
55
  }
55
56
  });
56
57
  };
@@ -62,7 +63,7 @@ export function ConnectView() {
62
63
 
63
64
  return (
64
65
  <ScrollView style={{ paddingHorizontal: padding }} bounces={false}>
65
- <FlexView padding={['xs', '0', 's', '0']}>
66
+ <FlexView padding={['xs', '0', 'xs', '0']}>
66
67
  {isSocialEnabled ? (
67
68
  <>
68
69
  <SocialLoginList options={features?.socials} />
@@ -70,7 +71,7 @@ export function ConnectView() {
70
71
  </>
71
72
  ) : null}
72
73
 
73
- <FlexView padding={['0', 's', 'xs', 's']}>
74
+ <FlexView padding={['0', 's', '0', 's']}>
74
75
  {showConnectWalletsButton ? (
75
76
  <ListItem contentStyle={styles.connectWalletButton} onPress={onViewAllPress}>
76
77
  <Icon name="wallet" size="lg" />
@@ -94,9 +95,7 @@ export function ConnectView() {
94
95
  ) : null}
95
96
  {showList ? (
96
97
  <>
97
- <RecentWalletList itemStyle={styles.item} onWalletPress={onWalletPress} />
98
98
  <AllWalletList itemStyle={styles.item} onWalletPress={onWalletPress} />
99
- <CustomWalletList itemStyle={styles.item} onWalletPress={onWalletPress} />
100
99
  <AllWalletsButton itemStyle={styles.item} onPress={onViewAllPress} />
101
100
  </>
102
101
  ) : null}
@@ -8,7 +8,9 @@ import {
8
8
  WcController,
9
9
  AssetUtil,
10
10
  AssetController,
11
- CoreHelperUtil
11
+ CoreHelperUtil,
12
+ LogController,
13
+ ConnectionsController
12
14
  } from '@reown/appkit-core-react-native';
13
15
  import {
14
16
  Button,
@@ -41,6 +43,21 @@ export function ConnectingExternalView() {
41
43
  const onStorePress = () => {
42
44
  if (storeUrl) {
43
45
  CoreHelperUtil.openLink(storeUrl);
46
+ EventsController.sendEvent({
47
+ type: 'track',
48
+ event: 'GET_WALLET',
49
+ properties: {
50
+ name: RouterController.state.data?.wallet?.name ?? 'Unknown',
51
+ link: storeUrl,
52
+ linkType: Platform.select({
53
+ ios: 'appstore',
54
+ android: 'playstore',
55
+ default: undefined
56
+ }),
57
+ explorerId: RouterController.state.data?.wallet?.id,
58
+ walletRank: RouterController.state.data?.wallet?.order
59
+ }
60
+ });
44
61
  }
45
62
  };
46
63
 
@@ -61,17 +78,22 @@ export function ConnectingExternalView() {
61
78
  }
62
79
  WcController.addRecentWallet(wallet);
63
80
  WcController.setPressedWallet(wallet);
81
+ const address = ConnectionsController.state.activeAddress;
82
+ const caipNetworkId = ConnectionsController.state.activeNetwork?.caipNetworkId;
64
83
  EventsController.sendEvent({
65
84
  type: 'track',
66
85
  event: 'CONNECT_SUCCESS',
86
+ address: CoreHelperUtil.getPlainAddress(address),
67
87
  properties: {
68
88
  name: wallet?.name ?? 'Unknown',
69
89
  method: 'mobile',
70
- explorer_id: wallet?.id
90
+ caipNetworkId,
91
+ explorerId: wallet?.id
71
92
  }
72
93
  });
73
94
  }
74
95
  } catch (error) {
96
+ LogController.sendError(error, 'ConnectingExternalView.tsx', 'onConnect');
75
97
  if (/(Wallet not found)/i.test((error as Error).message)) {
76
98
  setErrorType('not_installed');
77
99
  } else if (/(rejected)/i.test((error as Error).message)) {
@@ -3,7 +3,7 @@ import { StyleSheet } from 'react-native';
3
3
 
4
4
  export default StyleSheet.create({
5
5
  container: {
6
- paddingBottom: Spacing['3xl']
6
+ paddingBottom: Spacing['s']
7
7
  },
8
8
  retryButton: {
9
9
  marginTop: Spacing.m
@@ -5,7 +5,8 @@ import {
5
5
  CoreHelperUtil,
6
6
  EventsController,
7
7
  RouterController,
8
- SnackController
8
+ SnackController,
9
+ LogController
9
10
  } from '@reown/appkit-core-react-native';
10
11
  import {
11
12
  FlexView,
@@ -48,6 +49,7 @@ export function ConnectingSocialView() {
48
49
  });
49
50
  }
50
51
  } catch (e) {
52
+ LogController.sendError(e, 'ConnectingSocialView.tsx', 'onConnect');
51
53
  EventsController.sendEvent({
52
54
  type: 'track',
53
55
  event: 'SOCIAL_LOGIN_ERROR',
@@ -76,7 +78,7 @@ export function ConnectingSocialView() {
76
78
 
77
79
  return (
78
80
  <ScrollView bounces={false} fadingEdgeLength={20} style={{ paddingHorizontal: padding }}>
79
- <FlexView alignItems="center" alignSelf="center" padding={['2xl', 'l', '2xl', 'l']}>
81
+ <FlexView alignItems="center" alignSelf="center" padding={['2xl', 'l', 'xl', 'l']}>
80
82
  <LoadingThumbnail paused={!!error}>
81
83
  <Logo logo={data?.socialProvider ?? 'more'} height={72} width={72} />
82
84
  {error ? (
@@ -1,5 +1,6 @@
1
1
  import { useSnapshot } from 'valtio';
2
- import { useEffect, useState } from 'react';
2
+ import { useEffect, useLayoutEffect, useState } from 'react';
3
+ import { type Platform } from '@reown/appkit-common-react-native';
3
4
  import {
4
5
  WcController,
5
6
  ConstantsUtil,
@@ -8,14 +9,14 @@ import {
8
9
  SnackController,
9
10
  OptionsController,
10
11
  ApiController,
11
- EventsController
12
+ EventsController,
13
+ LogController
12
14
  } from '@reown/appkit-core-react-native';
13
15
  import { useInternalAppKit } from '../../AppKitContext';
14
16
  import { ConnectingQrCode } from '../../partials/w3m-connecting-qrcode';
15
17
  import { ConnectingMobile } from '../../partials/w3m-connecting-mobile';
16
18
  import { ConnectingWeb } from '../../partials/w3m-connecting-web';
17
19
  import { ConnectingHeader } from '../../partials/w3m-connecting-header';
18
- import { type Platform } from '@reown/appkit-common-react-native';
19
20
 
20
21
  export function ConnectingView() {
21
22
  const { connect } = useInternalAppKit();
@@ -51,6 +52,7 @@ export function ConnectingView() {
51
52
  WcController.setWcPromise(connectPromise);
52
53
  }
53
54
  } catch (error) {
55
+ LogController.sendError(error, 'ConnectingView.tsx', 'initializeConnection');
54
56
  WcController.setWcError(true);
55
57
  WcController.clearUri();
56
58
  SnackController.showError('Declined');
@@ -79,34 +81,7 @@ export function ConnectingView() {
79
81
  setPlatform(tab);
80
82
  };
81
83
 
82
- const headerTemplate = () => {
83
- if (isQr) return null;
84
-
85
- if (platforms.length > 1) {
86
- return <ConnectingHeader platforms={platforms} onSelectPlatform={onSelectPlatform} />;
87
- }
88
-
89
- return null;
90
- };
91
-
92
- const platformTemplate = () => {
93
- if (isQr) {
94
- return <ConnectingQrCode />;
95
- }
96
-
97
- switch (platform) {
98
- case 'mobile':
99
- return (
100
- <ConnectingMobile onRetry={onRetry} onCopyUri={onCopyUri} isInstalled={isInstalled} />
101
- );
102
- case 'web':
103
- return <ConnectingWeb onCopyUri={onCopyUri} />;
104
- default:
105
- return undefined;
106
- }
107
- };
108
-
109
- useEffect(() => {
84
+ useLayoutEffect(() => {
110
85
  const _platforms: Platform[] = [];
111
86
  if (data?.wallet?.mobile_link) {
112
87
  _platforms.push('mobile');
@@ -134,8 +109,16 @@ export function ConnectingView() {
134
109
 
135
110
  return (
136
111
  <>
137
- {headerTemplate()}
138
- {platformTemplate()}
112
+ {platforms.length > 1 ? (
113
+ <ConnectingHeader platforms={platforms} onSelectPlatform={onSelectPlatform} />
114
+ ) : null}
115
+ {isQr ? (
116
+ <ConnectingQrCode />
117
+ ) : platform === 'mobile' ? (
118
+ <ConnectingMobile onRetry={onRetry} onCopyUri={onCopyUri} isInstalled={isInstalled} />
119
+ ) : platform === 'web' ? (
120
+ <ConnectingWeb onCopyUri={onCopyUri} />
121
+ ) : null}
139
122
  </>
140
123
  );
141
124
  }
@@ -38,7 +38,7 @@ export function GetWalletView() {
38
38
  fadingEdgeLength={20}
39
39
  testID="get-a-wallet-view"
40
40
  >
41
- <FlexView padding={['s', 's', '3xl', 's']}>
41
+ <FlexView padding="s">
42
42
  {listTemplate()}
43
43
  <ListWallet
44
44
  name="Explore all"
@@ -1,13 +1,11 @@
1
1
  import { useSnapshot } from 'valtio';
2
- import { useEffect, useState } from 'react';
2
+ import { useCallback, useEffect, useState } from 'react';
3
3
  import {
4
4
  ApiController,
5
5
  AssetController,
6
- WcController,
7
- ConnectionsController,
8
- RouterController,
9
- RouterUtil,
10
- AssetUtil
6
+ AssetUtil,
7
+ LogController,
8
+ RouterController
11
9
  } from '@reown/appkit-core-react-native';
12
10
  import {
13
11
  Button,
@@ -15,118 +13,94 @@ import {
15
13
  IconBox,
16
14
  LoadingHexagon,
17
15
  NetworkImage,
18
- Text
16
+ Text,
17
+ useCustomDimensions
19
18
  } from '@reown/appkit-ui-react-native';
20
19
  import { useInternalAppKit } from '../../AppKitContext';
21
20
  import styles from './styles';
21
+ import { ScrollView } from 'react-native';
22
22
 
23
- //TODO: is this used?
24
23
  export function NetworkSwitchView() {
25
- const { switchNetwork } = useInternalAppKit();
24
+ const { switchNetwork, back } = useInternalAppKit();
25
+ const { padding } = useCustomDimensions();
26
26
  const { data } = useSnapshot(RouterController.state);
27
- const { recentWallets } = useSnapshot(WcController.state);
28
- const { activeNetwork } = useSnapshot(ConnectionsController.state);
29
27
  const { networkImages } = useSnapshot(AssetController.state);
30
- const [error, setError] = useState<boolean>(false);
31
28
  const [showRetry, setShowRetry] = useState<boolean>(false);
32
- const network = data?.network;
33
- const wallet = recentWallets?.[0];
34
- const networkImage = AssetUtil.getNetworkImage(network, networkImages);
29
+ const [isError, setIsError] = useState<boolean>(false);
30
+ const networkImage = AssetUtil.getNetworkImage(data?.network, networkImages);
35
31
 
36
- const onSwitchNetwork = async () => {
32
+ const onSwitchNetwork = useCallback(async () => {
37
33
  try {
38
- if (network) {
39
- setError(false);
40
- const _network = ConnectionsController.state.networks.find(n => n.id === network.id);
41
- if (!_network) return;
42
- await switchNetwork(_network);
43
- }
44
- } catch {
45
- setError(true);
34
+ if (!RouterController.state.data?.network) return;
35
+ setIsError(false);
36
+ await switchNetwork(RouterController.state.data.network);
37
+ back();
38
+ } catch (error) {
39
+ LogController.sendError(error, 'NetworkSwitchView.tsx', 'onSwitchNetwork');
40
+ setIsError(true);
46
41
  setShowRetry(true);
47
42
  }
48
- };
43
+ }, [switchNetwork, back]);
49
44
 
50
45
  useEffect(() => {
51
46
  onSwitchNetwork();
52
47
  // eslint-disable-next-line react-hooks/exhaustive-deps
53
48
  }, []);
54
49
 
55
- useEffect(() => {
56
- // Go back if network is already switched
57
- // eslint-disable-next-line valtio/state-snapshot-rule
58
- if (activeNetwork?.id === network?.id) {
59
- RouterUtil.navigateAfterNetworkSwitch();
60
- }
61
-
62
- // eslint-disable-next-line valtio/state-snapshot-rule
63
- }, [activeNetwork?.id, network?.id]);
64
-
65
- const retryTemplate = () => {
66
- if (!showRetry) return null;
67
-
68
- return (
69
- <Button
70
- size="sm"
71
- variant="accent"
72
- iconLeft="refresh"
73
- style={styles.retryButton}
74
- iconStyle={styles.retryIcon}
75
- onPress={onSwitchNetwork}
76
- >
77
- Try again
78
- </Button>
79
- );
80
- };
81
-
82
- const textTemplate = () => {
83
- const walletName = wallet?.name ?? 'wallet';
84
- if (error) {
85
- return (
86
- <>
87
- <Text variant="paragraph-500" style={styles.text}>
88
- Switch declined
89
- </Text>
90
- <Text center variant="small-400" color="fg-200" style={styles.descriptionText}>
91
- Switch can be declined if chain is not supported by a wallet or previous request is
92
- still active
93
- </Text>
94
- </>
95
- );
96
- }
97
-
98
- return (
99
- <>
100
- <Text variant="paragraph-500" style={styles.text}>{`Approve in ${walletName}`}</Text>
101
- <Text center variant="small-400" color="fg-200" style={styles.descriptionText}>
102
- Accept switch request in your wallet
103
- </Text>
104
- </>
105
- );
106
- };
107
-
108
50
  return (
109
- <FlexView alignItems="center" padding={['2xl', 's', '4xl', 's']}>
110
- <LoadingHexagon paused={error}>
111
- <NetworkImage
112
- imageSrc={networkImage}
113
- imageHeaders={ApiController._getApiHeaders()}
114
- size="lg"
115
- />
116
- {error ? (
117
- <IconBox
118
- icon="close"
119
- border
120
- background
121
- backgroundColor="icon-box-bg-error-100"
122
- size="sm"
123
- iconColor="error-100"
124
- style={styles.errorIcon}
51
+ <ScrollView bounces={false} fadingEdgeLength={20} style={{ paddingHorizontal: padding }}>
52
+ <FlexView alignItems="center" padding={['xl', 's', 's', 's']}>
53
+ <LoadingHexagon paused={isError}>
54
+ <NetworkImage
55
+ imageSrc={networkImage}
56
+ imageHeaders={ApiController._getApiHeaders()}
57
+ size="lg"
125
58
  />
59
+ {isError ? (
60
+ <IconBox
61
+ icon="close"
62
+ border
63
+ background
64
+ backgroundColor="icon-box-bg-error-100"
65
+ size="sm"
66
+ iconColor="error-100"
67
+ style={styles.errorIcon}
68
+ />
69
+ ) : null}
70
+ </LoadingHexagon>
71
+ {isError ? (
72
+ <>
73
+ <Text variant="paragraph-500" style={styles.text}>
74
+ Switch declined
75
+ </Text>
76
+ <Text center variant="small-400" color="fg-200" style={styles.descriptionText}>
77
+ Switch can be declined if chain is not supported by a wallet or previous request is
78
+ still active
79
+ </Text>
80
+ </>
81
+ ) : (
82
+ <>
83
+ <Text variant="paragraph-500" style={styles.text}>
84
+ Approve in your wallet
85
+ </Text>
86
+ <Text center variant="small-400" color="fg-200" style={styles.descriptionText}>
87
+ Accept the switch request in your wallet
88
+ </Text>
89
+ </>
90
+ )}
91
+ {showRetry ? (
92
+ <Button
93
+ size="sm"
94
+ variant="accent"
95
+ iconLeft="refresh"
96
+ style={styles.retryButton}
97
+ iconStyle={styles.retryIcon}
98
+ onPress={onSwitchNetwork}
99
+ >
100
+ Try again
101
+ </Button>
126
102
  ) : null}
127
- </LoadingHexagon>
128
- {textTemplate()}
129
- {retryTemplate()}
130
- </FlexView>
103
+ </FlexView>
104
+ </ScrollView>
131
105
  );
132
106
  }
@@ -1,3 +1,4 @@
1
+ /* eslint-disable valtio/state-snapshot-rule */
1
2
  import { ScrollView, useWindowDimensions, View } from 'react-native';
2
3
  import {
3
4
  CardSelect,
@@ -26,8 +27,8 @@ import { useSnapshot } from 'valtio';
26
27
  export function NetworksView() {
27
28
  const { height, width } = useWindowDimensions();
28
29
  const windowSize = Math.min(height, width);
29
- const { networks, isConnected } = useSnapshot(ConnectionsController.state);
30
30
  const { networkImages } = useSnapshot(AssetController.state);
31
+ const { activeNetwork, isConnected } = useSnapshot(ConnectionsController.state);
31
32
  const imageHeaders = ApiController._getApiHeaders();
32
33
  const { padding } = useCustomDimensions();
33
34
  const numColumns = 4;
@@ -38,7 +39,8 @@ export function NetworksView() {
38
39
  );
39
40
  const { switchNetwork, back } = useInternalAppKit();
40
41
 
41
- const networkList = isConnected ? ConnectionsController.getConnectedNetworks() : networks;
42
+ const networkList = ConnectionsController.getAvailableNetworks();
43
+ const connectedNetworks = ConnectionsController.getConnectedNetworks();
42
44
 
43
45
  const onHelpPress = () => {
44
46
  RouterController.push('WhatIsANetwork');
@@ -47,15 +49,24 @@ export function NetworksView() {
47
49
 
48
50
  const networksTemplate = () => {
49
51
  const onNetworkPress = async (network: AppKitNetwork) => {
50
- await switchNetwork(network);
51
- back();
52
+ if (
53
+ !isConnected ||
54
+ connectedNetworks.some(
55
+ connectedNetwork => connectedNetwork.caipNetworkId === network.caipNetworkId
56
+ )
57
+ ) {
58
+ await switchNetwork(network);
59
+ back();
60
+ } else {
61
+ RouterController.push('SwitchNetwork', { network });
62
+ }
52
63
  };
53
64
 
54
65
  return networkList.map(network => {
55
- const isSelected = ConnectionsController.state.isConnected
56
- ? ConnectionsController.state.activeCaipNetworkId === network.caipNetworkId
66
+ const isSelected = isConnected
67
+ ? activeNetwork?.caipNetworkId === network.caipNetworkId
57
68
  : OptionsController.state.defaultNetwork?.caipNetworkId === network.caipNetworkId;
58
- // eslint-disable-next-line valtio/state-snapshot-rule
69
+
59
70
  const networkImage = AssetUtil.getNetworkImage(network, networkImages);
60
71
 
61
72
  return (
@@ -86,17 +97,12 @@ export function NetworksView() {
86
97
  return (
87
98
  <>
88
99
  <ScrollView bounces={false} fadingEdgeLength={20} style={{ paddingHorizontal: padding }}>
89
- <FlexView flexDirection="row" flexWrap="wrap" padding={['xs', 'xs', '4xl', 'xs']}>
100
+ <FlexView flexDirection="row" flexWrap="wrap" padding="xs">
90
101
  {networksTemplate()}
91
102
  </FlexView>
92
103
  </ScrollView>
93
104
  <Separator />
94
- <FlexView
95
- padding={['s', 's', '3xl', 's']}
96
- alignItems="center"
97
- alignSelf="center"
98
- style={{ width }}
99
- >
105
+ <FlexView padding="s" alignItems="center" alignSelf="center" style={{ width }}>
100
106
  <Text variant="small-400" color="fg-300" center>
101
107
  Your connected wallet may not support some of the networks available for this dApp
102
108
  </Text>
@@ -52,7 +52,7 @@ export function OnRampCheckoutView() {
52
52
 
53
53
  return (
54
54
  <ScrollView style={{ paddingHorizontal: padding }}>
55
- <FlexView padding={['2xl', 'l', '4xl', 'l']}>
55
+ <FlexView padding={['2xl', 'l', 's', 'l']}>
56
56
  <FlexView alignItems="center">
57
57
  <Text color="fg-200">You Buy</Text>
58
58
  <FlexView flexDirection="row" alignItems="center">
@@ -3,7 +3,7 @@ import { Spacing } from '@reown/appkit-ui-react-native';
3
3
 
4
4
  export default StyleSheet.create({
5
5
  container: {
6
- paddingBottom: Spacing['xl']
6
+ paddingBottom: Spacing['s']
7
7
  },
8
8
  backButton: {
9
9
  alignSelf: 'flex-start'
@@ -15,11 +15,12 @@ interface Props {
15
15
  item: OnRampCountry;
16
16
  selected: boolean;
17
17
  style?: StyleProp<ViewStyle>;
18
+ testID?: string;
18
19
  }
19
20
 
20
21
  export const ITEM_HEIGHT = 60;
21
22
 
22
- export function Country({ onPress, item, selected, style }: Props) {
23
+ export function Country({ onPress, item, selected, style, testID }: Props) {
23
24
  const handlePress = () => {
24
25
  onPress(item);
25
26
  };
@@ -29,6 +30,7 @@ export function Country({ onPress, item, selected, style }: Props) {
29
30
  onPress={handlePress}
30
31
  style={[styles.container, style]}
31
32
  backgroundColor="transparent"
33
+ testID={testID}
32
34
  >
33
35
  <FlexView flexDirection="row" alignItems="center" justifyContent="flex-start" padding="s">
34
36
  <FlexView style={styles.imageContainer}>
@@ -13,7 +13,9 @@ import {
13
13
  getItemHeight,
14
14
  getModalItems,
15
15
  getModalItemKey,
16
- getModalSearchPlaceholder
16
+ getModalSearchPlaceholder,
17
+ getModalEmptyTitle,
18
+ getModalEmptyDescription
17
19
  } from './utils';
18
20
  import { styles } from './styles';
19
21
 
@@ -28,6 +30,11 @@ export function OnRampSettingsView() {
28
30
  const [modalType, setModalType] = useState<ModalType>();
29
31
  const [searchValue, setSearchValue] = useState('');
30
32
 
33
+ const onModalClose = () => {
34
+ setModalType(undefined);
35
+ setSearchValue('');
36
+ };
37
+
31
38
  const onCountryPress = () => {
32
39
  setModalType('country');
33
40
  };
@@ -56,6 +63,7 @@ export function OnRampSettingsView() {
56
63
  onPress={onPressModalItem}
57
64
  selected={parsedItem.countryCode === selectedCountry?.countryCode}
58
65
  style={styles.selectorItem}
66
+ testID={`country-item-${parsedItem.countryCode}`}
59
67
  />
60
68
  );
61
69
  }
@@ -76,7 +84,7 @@ export function OnRampSettingsView() {
76
84
 
77
85
  return (
78
86
  <>
79
- <FlexView style={{ backgroundColor: Theme['bg-100'] }} padding={['s', 'm', '4xl', 'm']}>
87
+ <FlexView style={{ backgroundColor: Theme['bg-100'] }} padding={['s', 'm', 's', 'm']}>
80
88
  <ListItem
81
89
  onPress={onCountryPress}
82
90
  chevron
@@ -129,7 +137,7 @@ export function OnRampSettingsView() {
129
137
  </FlexView>
130
138
  <SelectorModal
131
139
  visible={!!modalType}
132
- onClose={() => setModalType(undefined)}
140
+ onClose={onModalClose}
133
141
  items={getModalItems(modalType, searchValue, true)}
134
142
  selectedItem={modalType === 'country' ? selectedCountry : paymentCurrency}
135
143
  onSearch={setSearchValue}
@@ -138,6 +146,8 @@ export function OnRampSettingsView() {
138
146
  title={getModalTitle(modalType)}
139
147
  itemHeight={getItemHeight(modalType)}
140
148
  searchPlaceholder={getModalSearchPlaceholder(modalType)}
149
+ emptyTitle={getModalEmptyTitle(modalType)}
150
+ emptyDescription={getModalEmptyDescription(modalType)}
141
151
  />
142
152
  </>
143
153
  );
@@ -17,6 +17,16 @@ const MODAL_SEARCH_PLACEHOLDERS: Record<ModalType, string> = {
17
17
  paymentCurrency: 'Search currency'
18
18
  };
19
19
 
20
+ const MODAL_EMPTY_TITLES: Record<ModalType, string> = {
21
+ country: 'No countries found',
22
+ paymentCurrency: 'No currencies found'
23
+ };
24
+
25
+ const MODAL_EMPTY_DESCRIPTIONS: Record<ModalType, string> = {
26
+ country: 'There are no available countries',
27
+ paymentCurrency: 'There are no available currencies'
28
+ };
29
+
20
30
  const ITEM_HEIGHTS: Record<ModalType, number> = {
21
31
  country: COUNTRY_ITEM_HEIGHT,
22
32
  paymentCurrency: CURRENCY_ITEM_HEIGHT
@@ -40,6 +50,14 @@ export const getModalSearchPlaceholder = (type?: ModalType) => {
40
50
  return type ? MODAL_SEARCH_PLACEHOLDERS[type] : undefined;
41
51
  };
42
52
 
53
+ export const getModalEmptyTitle = (type?: ModalType) => {
54
+ return type ? MODAL_EMPTY_TITLES[type] : undefined;
55
+ };
56
+
57
+ export const getModalEmptyDescription = (type?: ModalType) => {
58
+ return type ? MODAL_EMPTY_DESCRIPTIONS[type] : undefined;
59
+ };
60
+
43
61
  const searchFilter = (
44
62
  item: { name: string; currencyCode?: string; countryCode?: string },
45
63
  searchValue: string
@@ -29,7 +29,7 @@ export function OnRampTransactionView() {
29
29
  }, []);
30
30
 
31
31
  return (
32
- <FlexView padding={['3xs', 'l', '4xl', 'l']}>
32
+ <FlexView padding={['3xs', 'l', 's', 'l']}>
33
33
  <FlexView>
34
34
  <FlexView alignItems="center">
35
35
  <IconBox