@daimo/pay 1.19.0 → 1.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (385) hide show
  1. package/build/package.json.js +2 -2
  2. package/build/src/components/DaimoPayModal/index.js +17 -3
  3. package/build/src/components/DaimoPayModal/index.js.map +1 -1
  4. package/build/src/components/Pages/SelectExchange/index.js +20 -5
  5. package/build/src/components/Pages/SelectExchange/index.js.map +1 -1
  6. package/build/src/components/Pages/SelectMethod/index.js +7 -4
  7. package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
  8. package/build/src/hooks/useConnectors.js +12 -1
  9. package/build/src/hooks/useConnectors.js.map +1 -1
  10. package/build/src/hooks/usePaymentState.js +4 -1
  11. package/build/src/hooks/usePaymentState.js.map +1 -1
  12. package/build/src/wallets/useWallets.js +1 -0
  13. package/build/src/wallets/useWallets.js.map +1 -1
  14. package/package.json +2 -2
  15. package/build/connectkit/package.json.js +0 -117
  16. package/build/connectkit/package.json.js.map +0 -1
  17. package/build/connectkit/src/assets/MobileWithLogos.js +0 -329
  18. package/build/connectkit/src/assets/MobileWithLogos.js.map +0 -1
  19. package/build/connectkit/src/assets/ScanIconWithLogos.js +0 -243
  20. package/build/connectkit/src/assets/ScanIconWithLogos.js.map +0 -1
  21. package/build/connectkit/src/assets/browsers.js +0 -969
  22. package/build/connectkit/src/assets/browsers.js.map +0 -1
  23. package/build/connectkit/src/assets/chains.js +0 -648
  24. package/build/connectkit/src/assets/chains.js.map +0 -1
  25. package/build/connectkit/src/assets/coins.js +0 -43
  26. package/build/connectkit/src/assets/coins.js.map +0 -1
  27. package/build/connectkit/src/assets/icons.js +0 -273
  28. package/build/connectkit/src/assets/icons.js.map +0 -1
  29. package/build/connectkit/src/assets/logos.js +0 -1620
  30. package/build/connectkit/src/assets/logos.js.map +0 -1
  31. package/build/connectkit/src/assets/wave.js +0 -46
  32. package/build/connectkit/src/assets/wave.js.map +0 -1
  33. package/build/connectkit/src/components/Common/Alert/index.js +0 -13
  34. package/build/connectkit/src/components/Common/Alert/index.js.map +0 -1
  35. package/build/connectkit/src/components/Common/Alert/styles.js +0 -55
  36. package/build/connectkit/src/components/Common/Alert/styles.js.map +0 -1
  37. package/build/connectkit/src/components/Common/AmountInput/AmountInputField.js +0 -71
  38. package/build/connectkit/src/components/Common/AmountInput/AmountInputField.js.map +0 -1
  39. package/build/connectkit/src/components/Common/AmountInput/index.js +0 -159
  40. package/build/connectkit/src/components/Common/AmountInput/index.js.map +0 -1
  41. package/build/connectkit/src/components/Common/Avatar/index.js +0 -78
  42. package/build/connectkit/src/components/Common/Avatar/index.js.map +0 -1
  43. package/build/connectkit/src/components/Common/Avatar/styles.js +0 -54
  44. package/build/connectkit/src/components/Common/Avatar/styles.js.map +0 -1
  45. package/build/connectkit/src/components/Common/BrowserIcon/index.js +0 -29
  46. package/build/connectkit/src/components/Common/BrowserIcon/index.js.map +0 -1
  47. package/build/connectkit/src/components/Common/BrowserIcon/styles.js +0 -20
  48. package/build/connectkit/src/components/Common/BrowserIcon/styles.js.map +0 -1
  49. package/build/connectkit/src/components/Common/Button/index.js +0 -144
  50. package/build/connectkit/src/components/Common/Button/index.js.map +0 -1
  51. package/build/connectkit/src/components/Common/Button/styles.js +0 -287
  52. package/build/connectkit/src/components/Common/Button/styles.js.map +0 -1
  53. package/build/connectkit/src/components/Common/Chain/index.js +0 -141
  54. package/build/connectkit/src/components/Common/Chain/index.js.map +0 -1
  55. package/build/connectkit/src/components/Common/Chain/styles.js +0 -90
  56. package/build/connectkit/src/components/Common/Chain/styles.js.map +0 -1
  57. package/build/connectkit/src/components/Common/ChainSelectList/index.js +0 -250
  58. package/build/connectkit/src/components/Common/ChainSelectList/index.js.map +0 -1
  59. package/build/connectkit/src/components/Common/ChainSelectList/styles.js +0 -226
  60. package/build/connectkit/src/components/Common/ChainSelectList/styles.js.map +0 -1
  61. package/build/connectkit/src/components/Common/CircleTimer.js +0 -92
  62. package/build/connectkit/src/components/Common/CircleTimer.js.map +0 -1
  63. package/build/connectkit/src/components/Common/ConnectorList/index.js +0 -120
  64. package/build/connectkit/src/components/Common/ConnectorList/index.js.map +0 -1
  65. package/build/connectkit/src/components/Common/ConnectorList/styles.js +0 -344
  66. package/build/connectkit/src/components/Common/ConnectorList/styles.js.map +0 -1
  67. package/build/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +0 -78
  68. package/build/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +0 -1
  69. package/build/connectkit/src/components/Common/CopyToClipboard/index.js +0 -33
  70. package/build/connectkit/src/components/Common/CopyToClipboard/index.js.map +0 -1
  71. package/build/connectkit/src/components/Common/CustomQRCode/QRCode.js +0 -128
  72. package/build/connectkit/src/components/Common/CustomQRCode/QRCode.js.map +0 -1
  73. package/build/connectkit/src/components/Common/CustomQRCode/index.js +0 -71
  74. package/build/connectkit/src/components/Common/CustomQRCode/index.js.map +0 -1
  75. package/build/connectkit/src/components/Common/CustomQRCode/styles.js +0 -139
  76. package/build/connectkit/src/components/Common/CustomQRCode/styles.js.map +0 -1
  77. package/build/connectkit/src/components/Common/FitText/index.js +0 -34
  78. package/build/connectkit/src/components/Common/FitText/index.js.map +0 -1
  79. package/build/connectkit/src/components/Common/Modal/index.js +0 -523
  80. package/build/connectkit/src/components/Common/Modal/index.js.map +0 -1
  81. package/build/connectkit/src/components/Common/Modal/styles.js +0 -665
  82. package/build/connectkit/src/components/Common/Modal/styles.js.map +0 -1
  83. package/build/connectkit/src/components/Common/OptionsList/index.js +0 -145
  84. package/build/connectkit/src/components/Common/OptionsList/index.js.map +0 -1
  85. package/build/connectkit/src/components/Common/OptionsList/styles.js +0 -138
  86. package/build/connectkit/src/components/Common/OptionsList/styles.js.map +0 -1
  87. package/build/connectkit/src/components/Common/OrderHeader/index.js +0 -192
  88. package/build/connectkit/src/components/Common/OrderHeader/index.js.map +0 -1
  89. package/build/connectkit/src/components/Common/PaymentBreakdown/index.js +0 -70
  90. package/build/connectkit/src/components/Common/PaymentBreakdown/index.js.map +0 -1
  91. package/build/connectkit/src/components/Common/Portal/index.js +0 -30
  92. package/build/connectkit/src/components/Common/Portal/index.js.map +0 -1
  93. package/build/connectkit/src/components/Common/PoweredByFooter/index.js +0 -66
  94. package/build/connectkit/src/components/Common/PoweredByFooter/index.js.map +0 -1
  95. package/build/connectkit/src/components/Common/ScrollArea/index.js +0 -120
  96. package/build/connectkit/src/components/Common/ScrollArea/index.js.map +0 -1
  97. package/build/connectkit/src/components/Common/ScrollArea/styles.js +0 -169
  98. package/build/connectkit/src/components/Common/ScrollArea/styles.js.map +0 -1
  99. package/build/connectkit/src/components/Common/SelectAnotherMethodButton/index.js +0 -96
  100. package/build/connectkit/src/components/Common/SelectAnotherMethodButton/index.js.map +0 -1
  101. package/build/connectkit/src/components/Common/Spinner/index.js +0 -64
  102. package/build/connectkit/src/components/Common/Spinner/index.js.map +0 -1
  103. package/build/connectkit/src/components/Common/Spinner/styles.js +0 -22
  104. package/build/connectkit/src/components/Common/Spinner/styles.js.map +0 -1
  105. package/build/connectkit/src/components/Common/SwitchButton/index.js +0 -43
  106. package/build/connectkit/src/components/Common/SwitchButton/index.js.map +0 -1
  107. package/build/connectkit/src/components/Common/ThemedButton/index.js +0 -46
  108. package/build/connectkit/src/components/Common/ThemedButton/index.js.map +0 -1
  109. package/build/connectkit/src/components/Common/ThemedButton/styles.js +0 -152
  110. package/build/connectkit/src/components/Common/ThemedButton/styles.js.map +0 -1
  111. package/build/connectkit/src/components/Common/TokenChainLogo/index.js +0 -62
  112. package/build/connectkit/src/components/Common/TokenChainLogo/index.js.map +0 -1
  113. package/build/connectkit/src/components/Common/Tooltip/index.js +0 -129
  114. package/build/connectkit/src/components/Common/Tooltip/index.js.map +0 -1
  115. package/build/connectkit/src/components/Common/Tooltip/styles.js +0 -81
  116. package/build/connectkit/src/components/Common/Tooltip/styles.js.map +0 -1
  117. package/build/connectkit/src/components/Common/WalletChainLogo/index.js +0 -31
  118. package/build/connectkit/src/components/Common/WalletChainLogo/index.js.map +0 -1
  119. package/build/connectkit/src/components/DaimoPayButton/index.js +0 -197
  120. package/build/connectkit/src/components/DaimoPayButton/index.js.map +0 -1
  121. package/build/connectkit/src/components/DaimoPayButton/styles.js +0 -50
  122. package/build/connectkit/src/components/DaimoPayButton/styles.js.map +0 -1
  123. package/build/connectkit/src/components/DaimoPayModal/ConnectUsing.js +0 -68
  124. package/build/connectkit/src/components/DaimoPayModal/ConnectUsing.js.map +0 -1
  125. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js +0 -335
  126. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +0 -1
  127. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js +0 -131
  128. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +0 -1
  129. package/build/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js +0 -99
  130. package/build/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js.map +0 -1
  131. package/build/connectkit/src/components/DaimoPayModal/index.js +0 -462
  132. package/build/connectkit/src/components/DaimoPayModal/index.js.map +0 -1
  133. package/build/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +0 -25
  134. package/build/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +0 -1
  135. package/build/connectkit/src/components/Pages/About/graphics.js +0 -853
  136. package/build/connectkit/src/components/Pages/About/graphics.js.map +0 -1
  137. package/build/connectkit/src/components/Pages/About/index.js +0 -222
  138. package/build/connectkit/src/components/Pages/About/index.js.map +0 -1
  139. package/build/connectkit/src/components/Pages/About/styles.js +0 -140
  140. package/build/connectkit/src/components/Pages/About/styles.js.map +0 -1
  141. package/build/connectkit/src/components/Pages/Confirmation/index.js +0 -128
  142. package/build/connectkit/src/components/Pages/Confirmation/index.js.map +0 -1
  143. package/build/connectkit/src/components/Pages/Connectors/index.js +0 -28
  144. package/build/connectkit/src/components/Pages/Connectors/index.js.map +0 -1
  145. package/build/connectkit/src/components/Pages/DownloadApp/index.js +0 -35
  146. package/build/connectkit/src/components/Pages/DownloadApp/index.js.map +0 -1
  147. package/build/connectkit/src/components/Pages/Error/index.js +0 -57
  148. package/build/connectkit/src/components/Pages/Error/index.js.map +0 -1
  149. package/build/connectkit/src/components/Pages/MobileConnectors/index.js +0 -65
  150. package/build/connectkit/src/components/Pages/MobileConnectors/index.js.map +0 -1
  151. package/build/connectkit/src/components/Pages/MobileConnectors/styles.js +0 -64
  152. package/build/connectkit/src/components/Pages/MobileConnectors/styles.js.map +0 -1
  153. package/build/connectkit/src/components/Pages/Onboarding/index.js +0 -34
  154. package/build/connectkit/src/components/Pages/Onboarding/index.js.map +0 -1
  155. package/build/connectkit/src/components/Pages/Onboarding/styles.js +0 -229
  156. package/build/connectkit/src/components/Pages/Onboarding/styles.js.map +0 -1
  157. package/build/connectkit/src/components/Pages/PayWithToken/index.js +0 -157
  158. package/build/connectkit/src/components/Pages/PayWithToken/index.js.map +0 -1
  159. package/build/connectkit/src/components/Pages/SelectAmount/index.js +0 -24
  160. package/build/connectkit/src/components/Pages/SelectAmount/index.js.map +0 -1
  161. package/build/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js +0 -79
  162. package/build/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js.map +0 -1
  163. package/build/connectkit/src/components/Pages/SelectDepositAddressChain/index.js +0 -72
  164. package/build/connectkit/src/components/Pages/SelectDepositAddressChain/index.js.map +0 -1
  165. package/build/connectkit/src/components/Pages/SelectExchange/index.js +0 -41
  166. package/build/connectkit/src/components/Pages/SelectExchange/index.js.map +0 -1
  167. package/build/connectkit/src/components/Pages/SelectExternalAmount/index.js +0 -80
  168. package/build/connectkit/src/components/Pages/SelectExternalAmount/index.js.map +0 -1
  169. package/build/connectkit/src/components/Pages/SelectMethod/index.js +0 -230
  170. package/build/connectkit/src/components/Pages/SelectMethod/index.js.map +0 -1
  171. package/build/connectkit/src/components/Pages/SelectToken/index.js +0 -97
  172. package/build/connectkit/src/components/Pages/SelectToken/index.js.map +0 -1
  173. package/build/connectkit/src/components/Pages/SelectWalletAmount/index.js +0 -66
  174. package/build/connectkit/src/components/Pages/SelectWalletAmount/index.js.map +0 -1
  175. package/build/connectkit/src/components/Pages/SelectWalletChain/index.js +0 -55
  176. package/build/connectkit/src/components/Pages/SelectWalletChain/index.js.map +0 -1
  177. package/build/connectkit/src/components/Pages/SelectZKP/index.js +0 -41
  178. package/build/connectkit/src/components/Pages/SelectZKP/index.js.map +0 -1
  179. package/build/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js +0 -94
  180. package/build/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js.map +0 -1
  181. package/build/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js +0 -92
  182. package/build/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +0 -1
  183. package/build/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js +0 -24
  184. package/build/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +0 -1
  185. package/build/connectkit/src/components/Pages/SwitchNetworks/index.js +0 -45
  186. package/build/connectkit/src/components/Pages/SwitchNetworks/index.js.map +0 -1
  187. package/build/connectkit/src/components/Pages/WaitingDepositAddress/index.js +0 -503
  188. package/build/connectkit/src/components/Pages/WaitingDepositAddress/index.js.map +0 -1
  189. package/build/connectkit/src/components/Pages/WaitingExternal/index.js +0 -89
  190. package/build/connectkit/src/components/Pages/WaitingExternal/index.js.map +0 -1
  191. package/build/connectkit/src/components/Pages/WaitingWallet/index.js +0 -49
  192. package/build/connectkit/src/components/Pages/WaitingWallet/index.js.map +0 -1
  193. package/build/connectkit/src/components/Spinners/CircleSpinner/index.js +0 -104
  194. package/build/connectkit/src/components/Spinners/CircleSpinner/index.js.map +0 -1
  195. package/build/connectkit/src/components/Spinners/CircleSpinner/styles.js +0 -117
  196. package/build/connectkit/src/components/Spinners/CircleSpinner/styles.js.map +0 -1
  197. package/build/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js +0 -29
  198. package/build/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js.map +0 -1
  199. package/build/connectkit/src/components/Spinners/SquircleSpinner/index.js +0 -68
  200. package/build/connectkit/src/components/Spinners/SquircleSpinner/index.js.map +0 -1
  201. package/build/connectkit/src/components/Spinners/SquircleSpinner/styles.js +0 -66
  202. package/build/connectkit/src/components/Spinners/SquircleSpinner/styles.js.map +0 -1
  203. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/index.js +0 -24
  204. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/index.js.map +0 -1
  205. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js +0 -40
  206. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js.map +0 -1
  207. package/build/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js +0 -37
  208. package/build/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js.map +0 -1
  209. package/build/connectkit/src/components/Spinners/styles.js +0 -32
  210. package/build/connectkit/src/components/Spinners/styles.js.map +0 -1
  211. package/build/connectkit/src/constants/defaultTheme.js +0 -6
  212. package/build/connectkit/src/constants/defaultTheme.js.map +0 -1
  213. package/build/connectkit/src/constants/routes.js +0 -32
  214. package/build/connectkit/src/constants/routes.js.map +0 -1
  215. package/build/connectkit/src/defaultConfig.js +0 -63
  216. package/build/connectkit/src/defaultConfig.js.map +0 -1
  217. package/build/connectkit/src/defaultConnectors.js +0 -37
  218. package/build/connectkit/src/defaultConnectors.js.map +0 -1
  219. package/build/connectkit/src/hooks/useChainIsSupported.js +0 -10
  220. package/build/connectkit/src/hooks/useChainIsSupported.js.map +0 -1
  221. package/build/connectkit/src/hooks/useChains.js +0 -10
  222. package/build/connectkit/src/hooks/useChains.js.map +0 -1
  223. package/build/connectkit/src/hooks/useConnect.js +0 -61
  224. package/build/connectkit/src/hooks/useConnect.js.map +0 -1
  225. package/build/connectkit/src/hooks/useConnectCallback.js +0 -21
  226. package/build/connectkit/src/hooks/useConnectCallback.js.map +0 -1
  227. package/build/connectkit/src/hooks/useConnectors.js +0 -9
  228. package/build/connectkit/src/hooks/useConnectors.js.map +0 -1
  229. package/build/connectkit/src/hooks/useDaimoPay.js +0 -107
  230. package/build/connectkit/src/hooks/useDaimoPay.js.map +0 -1
  231. package/build/connectkit/src/hooks/useDaimoPayStatus.js +0 -12
  232. package/build/connectkit/src/hooks/useDaimoPayStatus.js.map +0 -1
  233. package/build/connectkit/src/hooks/useDaimoPayUI.js +0 -15
  234. package/build/connectkit/src/hooks/useDaimoPayUI.js.map +0 -1
  235. package/build/connectkit/src/hooks/useDepositAddressOptions.js +0 -35
  236. package/build/connectkit/src/hooks/useDepositAddressOptions.js.map +0 -1
  237. package/build/connectkit/src/hooks/useEnsFallbackConfig.js +0 -16
  238. package/build/connectkit/src/hooks/useEnsFallbackConfig.js.map +0 -1
  239. package/build/connectkit/src/hooks/useExternalPaymentOptions.js +0 -64
  240. package/build/connectkit/src/hooks/useExternalPaymentOptions.js.map +0 -1
  241. package/build/connectkit/src/hooks/useFitText.js +0 -133
  242. package/build/connectkit/src/hooks/useFitText.js.map +0 -1
  243. package/build/connectkit/src/hooks/useFocusTrap.js +0 -53
  244. package/build/connectkit/src/hooks/useFocusTrap.js.map +0 -1
  245. package/build/connectkit/src/hooks/useIsMobile.js +0 -11
  246. package/build/connectkit/src/hooks/useIsMobile.js.map +0 -1
  247. package/build/connectkit/src/hooks/useIsMounted.js +0 -10
  248. package/build/connectkit/src/hooks/useIsMounted.js.map +0 -1
  249. package/build/connectkit/src/hooks/useLastConnector.js +0 -24
  250. package/build/connectkit/src/hooks/useLastConnector.js.map +0 -1
  251. package/build/connectkit/src/hooks/useLocales.js +0 -60
  252. package/build/connectkit/src/hooks/useLocales.js.map +0 -1
  253. package/build/connectkit/src/hooks/useLockBodyScroll.js +0 -47
  254. package/build/connectkit/src/hooks/useLockBodyScroll.js.map +0 -1
  255. package/build/connectkit/src/hooks/useOrderUsdLimits.js +0 -24
  256. package/build/connectkit/src/hooks/useOrderUsdLimits.js.map +0 -1
  257. package/build/connectkit/src/hooks/usePayContext.js +0 -11
  258. package/build/connectkit/src/hooks/usePayContext.js.map +0 -1
  259. package/build/connectkit/src/hooks/usePaymentState.js +0 -376
  260. package/build/connectkit/src/hooks/usePaymentState.js.map +0 -1
  261. package/build/connectkit/src/hooks/usePrevious.js +0 -13
  262. package/build/connectkit/src/hooks/usePrevious.js.map +0 -1
  263. package/build/connectkit/src/hooks/useSolanaPaymentOptions.js +0 -40
  264. package/build/connectkit/src/hooks/useSolanaPaymentOptions.js.map +0 -1
  265. package/build/connectkit/src/hooks/useTokenOptions.js +0 -152
  266. package/build/connectkit/src/hooks/useTokenOptions.js.map +0 -1
  267. package/build/connectkit/src/hooks/useUntronAvailability.js +0 -32
  268. package/build/connectkit/src/hooks/useUntronAvailability.js.map +0 -1
  269. package/build/connectkit/src/hooks/useWalletPaymentOptions.js +0 -97
  270. package/build/connectkit/src/hooks/useWalletPaymentOptions.js.map +0 -1
  271. package/build/connectkit/src/hooks/useWindowSize.js +0 -23
  272. package/build/connectkit/src/hooks/useWindowSize.js.map +0 -1
  273. package/build/connectkit/src/index.js +0 -14
  274. package/build/connectkit/src/index.js.map +0 -1
  275. package/build/connectkit/src/localizations/index.js +0 -48
  276. package/build/connectkit/src/localizations/index.js.map +0 -1
  277. package/build/connectkit/src/localizations/locales/ar-AE.js +0 -95
  278. package/build/connectkit/src/localizations/locales/ar-AE.js.map +0 -1
  279. package/build/connectkit/src/localizations/locales/ca-AD.js +0 -93
  280. package/build/connectkit/src/localizations/locales/ca-AD.js.map +0 -1
  281. package/build/connectkit/src/localizations/locales/ee-EE.js +0 -101
  282. package/build/connectkit/src/localizations/locales/ee-EE.js.map +0 -1
  283. package/build/connectkit/src/localizations/locales/en-US.js +0 -139
  284. package/build/connectkit/src/localizations/locales/en-US.js.map +0 -1
  285. package/build/connectkit/src/localizations/locales/es-ES.js +0 -131
  286. package/build/connectkit/src/localizations/locales/es-ES.js.map +0 -1
  287. package/build/connectkit/src/localizations/locales/fa-IR.js +0 -93
  288. package/build/connectkit/src/localizations/locales/fa-IR.js.map +0 -1
  289. package/build/connectkit/src/localizations/locales/fr-FR.js +0 -93
  290. package/build/connectkit/src/localizations/locales/fr-FR.js.map +0 -1
  291. package/build/connectkit/src/localizations/locales/ja-JP.js +0 -93
  292. package/build/connectkit/src/localizations/locales/ja-JP.js.map +0 -1
  293. package/build/connectkit/src/localizations/locales/pt-BR.js +0 -101
  294. package/build/connectkit/src/localizations/locales/pt-BR.js.map +0 -1
  295. package/build/connectkit/src/localizations/locales/ru-RU.js +0 -97
  296. package/build/connectkit/src/localizations/locales/ru-RU.js.map +0 -1
  297. package/build/connectkit/src/localizations/locales/tr-TR.js +0 -101
  298. package/build/connectkit/src/localizations/locales/tr-TR.js.map +0 -1
  299. package/build/connectkit/src/localizations/locales/vi-VN.js +0 -101
  300. package/build/connectkit/src/localizations/locales/vi-VN.js.map +0 -1
  301. package/build/connectkit/src/localizations/locales/zh-CN.js +0 -93
  302. package/build/connectkit/src/localizations/locales/zh-CN.js.map +0 -1
  303. package/build/connectkit/src/payment/paymentEffects.js +0 -269
  304. package/build/connectkit/src/payment/paymentEffects.js.map +0 -1
  305. package/build/connectkit/src/payment/paymentFsm.js +0 -194
  306. package/build/connectkit/src/payment/paymentFsm.js.map +0 -1
  307. package/build/connectkit/src/payment/paymentStore.js +0 -18
  308. package/build/connectkit/src/payment/paymentStore.js.map +0 -1
  309. package/build/connectkit/src/payment/paymentUtils.js +0 -10
  310. package/build/connectkit/src/payment/paymentUtils.js.map +0 -1
  311. package/build/connectkit/src/provider/DaimoPayProvider.js +0 -293
  312. package/build/connectkit/src/provider/DaimoPayProvider.js.map +0 -1
  313. package/build/connectkit/src/provider/PayContext.js +0 -6
  314. package/build/connectkit/src/provider/PayContext.js.map +0 -1
  315. package/build/connectkit/src/provider/PaymentProvider.js +0 -29
  316. package/build/connectkit/src/provider/PaymentProvider.js.map +0 -1
  317. package/build/connectkit/src/provider/SolanaContextProvider.js +0 -14
  318. package/build/connectkit/src/provider/SolanaContextProvider.js.map +0 -1
  319. package/build/connectkit/src/provider/Web3ContextProvider.js +0 -36
  320. package/build/connectkit/src/provider/Web3ContextProvider.js.map +0 -1
  321. package/build/connectkit/src/stateStore.js +0 -36
  322. package/build/connectkit/src/stateStore.js.map +0 -1
  323. package/build/connectkit/src/styles/defaultTheme.js +0 -80
  324. package/build/connectkit/src/styles/defaultTheme.js.map +0 -1
  325. package/build/connectkit/src/styles/index.js +0 -313
  326. package/build/connectkit/src/styles/index.js.map +0 -1
  327. package/build/connectkit/src/styles/styled/index.js +0 -6
  328. package/build/connectkit/src/styles/styled/index.js.map +0 -1
  329. package/build/connectkit/src/styles/themes/base.js +0 -141
  330. package/build/connectkit/src/styles/themes/base.js.map +0 -1
  331. package/build/connectkit/src/styles/themes/index.js +0 -13
  332. package/build/connectkit/src/styles/themes/index.js.map +0 -1
  333. package/build/connectkit/src/styles/themes/midnight.js +0 -76
  334. package/build/connectkit/src/styles/themes/midnight.js.map +0 -1
  335. package/build/connectkit/src/styles/themes/minimal.js +0 -96
  336. package/build/connectkit/src/styles/themes/minimal.js.map +0 -1
  337. package/build/connectkit/src/styles/themes/nouns.js +0 -81
  338. package/build/connectkit/src/styles/themes/nouns.js.map +0 -1
  339. package/build/connectkit/src/styles/themes/retro.js +0 -106
  340. package/build/connectkit/src/styles/themes/retro.js.map +0 -1
  341. package/build/connectkit/src/styles/themes/rounded.js +0 -106
  342. package/build/connectkit/src/styles/themes/rounded.js.map +0 -1
  343. package/build/connectkit/src/styles/themes/soft.js +0 -71
  344. package/build/connectkit/src/styles/themes/soft.js.map +0 -1
  345. package/build/connectkit/src/styles/themes/web95.js +0 -132
  346. package/build/connectkit/src/styles/themes/web95.js.map +0 -1
  347. package/build/connectkit/src/utils/exports.js +0 -6
  348. package/build/connectkit/src/utils/exports.js.map +0 -1
  349. package/build/connectkit/src/utils/format.js +0 -45
  350. package/build/connectkit/src/utils/format.js.map +0 -1
  351. package/build/connectkit/src/utils/index.js +0 -42
  352. package/build/connectkit/src/utils/index.js.map +0 -1
  353. package/build/connectkit/src/utils/p3.js +0 -15
  354. package/build/connectkit/src/utils/p3.js.map +0 -1
  355. package/build/connectkit/src/utils/platform.js +0 -11
  356. package/build/connectkit/src/utils/platform.js.map +0 -1
  357. package/build/connectkit/src/utils/polling.js +0 -35
  358. package/build/connectkit/src/utils/polling.js.map +0 -1
  359. package/build/connectkit/src/utils/supportUrl.js +0 -16
  360. package/build/connectkit/src/utils/supportUrl.js.map +0 -1
  361. package/build/connectkit/src/utils/trpc.js +0 -19
  362. package/build/connectkit/src/utils/trpc.js.map +0 -1
  363. package/build/connectkit/src/utils/validateInput.js +0 -16
  364. package/build/connectkit/src/utils/validateInput.js.map +0 -1
  365. package/build/connectkit/src/wallets/index.js +0 -21
  366. package/build/connectkit/src/wallets/index.js.map +0 -1
  367. package/build/connectkit/src/wallets/useWallets.js +0 -207
  368. package/build/connectkit/src/wallets/useWallets.js.map +0 -1
  369. package/build/connectkit/src/wallets/walletConfigs.js +0 -277
  370. package/build/connectkit/src/wallets/walletConfigs.js.map +0 -1
  371. package/build/connectkit/src/world-mini-app/WorldPayButton.js +0 -148
  372. package/build/connectkit/src/world-mini-app/WorldPayButton.js.map +0 -1
  373. package/build/connectkit/src/world-mini-app/promptWorldPayment.js +0 -59
  374. package/build/connectkit/src/world-mini-app/promptWorldPayment.js.map +0 -1
  375. package/build/connectkit/src/world.js +0 -2
  376. package/build/connectkit/src/world.js.map +0 -1
  377. package/build/pay-common/src/chain.js +0 -9
  378. package/build/pay-common/src/chain.js.map +0 -1
  379. package/build/src/assets/coins.js +0 -43
  380. package/build/src/assets/coins.js.map +0 -1
  381. package/build/src/components/Common/CopyToClipboard/index.js +0 -33
  382. package/build/src/components/Common/CopyToClipboard/index.js.map +0 -1
  383. package/build/src/components/Pages/DownloadApp/index.js +0 -35
  384. package/build/src/components/Pages/DownloadApp/index.js.map +0 -1
  385. package/build/types-20835014.d.ts +0 -68
@@ -1,5 +1,5 @@
1
1
  var name = "@daimo/pay";
2
- var version = "1.19.0";
2
+ var version = "1.19.2";
3
3
  var author = "Daimo";
4
4
  var homepage = "https://pay.daimo.com";
5
5
  var license = "BSD-2-Clause license";
@@ -31,7 +31,7 @@ var scripts = {
31
31
  lint: "eslint 'src/**/*.{js,jsx,ts,tsx}' --max-warnings=0"
32
32
  };
33
33
  var dependencies = {
34
- "@daimo/pay-common": "1.19.0",
34
+ "@daimo/pay-common": "1.19.2",
35
35
  "@solana/wallet-adapter-base": "^0.9.23",
36
36
  "@solana/wallet-adapter-react": "^0.15.35",
37
37
  "@solana/web3.js": "^1.95.4",
@@ -1,11 +1,12 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { useWallet } from '@solana/wallet-adapter-react';
3
- import { useEffect } from 'react';
4
- import { useAccount } from 'wagmi';
3
+ import { useRef, useEffect } from 'react';
4
+ import { useAccount, useConnect } from 'wagmi';
5
5
  import { ExternalPaymentOptions, DepositAddressPaymentOptions } from '@daimo/pay-common';
6
6
  import { ROUTES } from '../../constants/routes.js';
7
7
  import { getAppName } from '../../defaultConfig.js';
8
8
  import { useChainIsSupported } from '../../hooks/useChainIsSupported.js';
9
+ import { useConnector } from '../../hooks/useConnectors.js';
9
10
  import { useDaimoPay } from '../../hooks/useDaimoPay.js';
10
11
  import useIsMobile from '../../hooks/useIsMobile.js';
11
12
  import { usePayContext } from '../../hooks/usePayContext.js';
@@ -81,6 +82,10 @@ const DaimoPayModal = ({
81
82
  const { connected: isSolanaConnected } = useWallet();
82
83
  const chainIsSupported = useChainIsSupported(chain?.id);
83
84
  const pendingWallet = useWallet$1(context.pendingConnectorId || "");
85
+ const prioritizedWalletId = paymentState.buttonProps?.prioritizedWalletId;
86
+ const prioritizedConnector = useConnector(prioritizedWalletId ?? "");
87
+ const { connect } = useConnect();
88
+ const hasHandledInitialOpen = useRef(false);
84
89
  const closeable = !(context.options?.enforceSupportedChains && isEthConnected && !chainIsSupported);
85
90
  const showBackButton = closeable && context.route !== context.uniquePaymentMethodPage && context.route !== ROUTES.SELECT_METHOD && context.route !== ROUTES.CONFIRMATION && context.route !== ROUTES.SELECT_TOKEN && context.route !== ROUTES.ERROR && paymentFsmState !== "error" && paymentFsmState !== "warning";
86
91
  const onBack = () => {
@@ -108,6 +113,7 @@ const DaimoPayModal = ({
108
113
  } else if (context.route === ROUTES.WAITING_EXTERNAL) {
109
114
  setPaymentWaitingMessage(void 0);
110
115
  if (isDepositFlow) {
116
+ generatePreviewOrder();
111
117
  context.setRoute(ROUTES.SELECT_EXTERNAL_AMOUNT, meta);
112
118
  } else {
113
119
  setSelectedExternalOption(void 0);
@@ -266,7 +272,10 @@ const DaimoPayModal = ({
266
272
  };
267
273
  const { isMobile } = useIsMobile();
268
274
  useEffect(() => {
269
- if (!context.open) return;
275
+ if (!context.open) {
276
+ hasHandledInitialOpen.current = false;
277
+ return;
278
+ }
270
279
  if (context.route !== ROUTES.SELECT_METHOD) return;
271
280
  const paymentOptions = paymentState.buttonProps?.paymentOptions;
272
281
  const hasUniqueOption = paymentOptions && paymentOptions.length === 1;
@@ -491,6 +500,10 @@ const DaimoPayModal = ({
491
500
  const solanaOptionsCount = paymentState.solanaPaymentOptions.options?.length ?? 0;
492
501
  const isSolanaLoading = paymentState.solanaPaymentOptions.isLoading;
493
502
  if ((!hasUniqueOption || isWalletsUniquePaymentOption) && isEthConnected && !isSolanaConnected && (!isMobile || !disableMobileInjector) && !isEvmLoading && evmOptionsCount > 0) {
503
+ if (!hasHandledInitialOpen.current && prioritizedWalletId && prioritizedConnector && connector?.id !== prioritizedWalletId) {
504
+ connect({ connector: prioritizedConnector });
505
+ }
506
+ hasHandledInitialOpen.current = true;
494
507
  paymentState.setTokenMode("evm");
495
508
  context.setRoute(ROUTES.SELECT_TOKEN, {
496
509
  event: "eth_connected_on_open",
@@ -499,6 +512,7 @@ const DaimoPayModal = ({
499
512
  address
500
513
  });
501
514
  } else if ((!hasUniqueOption || isWalletsUniquePaymentOption) && isSolanaConnected && !isEthConnected && !disableMobileInjector && !isSolanaLoading && solanaOptionsCount > 0) {
515
+ hasHandledInitialOpen.current = true;
502
516
  paymentState.setTokenMode("solana");
503
517
  context.setRoute(ROUTES.SELECT_TOKEN, {
504
518
  event: "solana_connected_on_open"
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/DaimoPayModal/index.tsx"],"sourcesContent":["import { useWallet } from \"@solana/wallet-adapter-react\";\nimport { useEffect } from \"react\";\nimport { useAccount } from \"wagmi\";\n\nimport {\n DepositAddressPaymentOptions,\n ExternalPaymentOptions,\n} from \"@daimo/pay-common\";\nimport { ROUTES } from \"../../constants/routes\";\nimport { getAppName } from \"../../defaultConfig\";\nimport { useChainIsSupported } from \"../../hooks/useChainIsSupported\";\nimport { useDaimoPay } from \"../../hooks/useDaimoPay\";\nimport useIsMobile from \"../../hooks/useIsMobile\";\nimport { usePayContext } from \"../../hooks/usePayContext\";\nimport { CustomTheme, Languages, Mode, Theme } from \"../../types\";\nimport {\n isExternalWallet,\n useWallet as useWalletById,\n} from \"../../wallets/useWallets\";\nimport { walletConfigs } from \"../../wallets/walletConfigs\";\nimport Modal from \"../Common/Modal\";\nimport { DaimoPayThemeProvider } from \"../DaimoPayThemeProvider/DaimoPayThemeProvider\";\nimport About from \"../Pages/About\";\nimport Confirmation from \"../Pages/Confirmation\";\nimport Connectors from \"../Pages/Connectors\";\nimport ErrorPage from \"../Pages/Error\";\nimport MobileConnectors from \"../Pages/MobileConnectors\";\nimport Onboarding from \"../Pages/Onboarding\";\nimport PayWithToken from \"../Pages/PayWithToken\";\nimport SelectAmount from \"../Pages/SelectAmount\";\nimport SelectDepositAddressAmount from \"../Pages/SelectDepositAddressAmount\";\nimport SelectDepositAddressChain from \"../Pages/SelectDepositAddressChain\";\nimport SelectExchange from \"../Pages/SelectExchange\";\nimport SelectExternalAmount from \"../Pages/SelectExternalAmount\";\nimport SelectMethod from \"../Pages/SelectMethod\";\nimport SelectToken from \"../Pages/SelectToken\";\nimport SelectWalletAmount from \"../Pages/SelectWalletAmount\";\nimport SelectWalletChain from \"../Pages/SelectWalletChain\";\nimport SelectZKP from \"../Pages/SelectZKP\";\nimport ConnectorSolana from \"../Pages/Solana/ConnectorSolana\";\nimport PayWithSolanaToken from \"../Pages/Solana/PayWithSolanaToken\";\nimport SelectSolanaAmount from \"../Pages/Solana/SelectSolanaAmount\";\nimport SwitchNetworks from \"../Pages/SwitchNetworks\";\nimport WaitingDepositAddress, {\n beforeLeave as waitingDepositAddressBeforeLeave,\n} from \"../Pages/WaitingDepositAddress\";\nimport WaitingExternal from \"../Pages/WaitingExternal\";\nimport WaitingWallet from \"../Pages/WaitingWallet\";\nimport ConnectUsing from \"./ConnectUsing\";\n\n/** Helper to check if option string corresponds to a specific wallet */\nfunction isWalletOption(option: string): boolean {\n return Object.keys(walletConfigs).some((id) => {\n walletConfigs[id].name === option;\n });\n}\n\nexport const DaimoPayModal: React.FC<{\n mode: Mode;\n theme: Theme;\n customTheme: CustomTheme;\n lang: Languages;\n disableMobileInjector: boolean;\n}> = ({\n mode,\n theme,\n customTheme,\n lang,\n disableMobileInjector,\n}: {\n mode: Mode;\n theme: Theme;\n customTheme: CustomTheme;\n lang: Languages;\n disableMobileInjector: boolean;\n}) => {\n const context = usePayContext();\n const {\n setMode,\n setTheme,\n setCustomTheme,\n setLang,\n setDisableMobileInjector,\n } = context;\n const paymentState = context.paymentState;\n const {\n generatePreviewOrder,\n isDepositFlow,\n setPaymentWaitingMessage,\n setSelectedExternalOption,\n setSelectedTokenOption,\n setSelectedSolanaTokenOption,\n setSelectedDepositAddressOption,\n setSelectedWallet,\n } = paymentState;\n const daimo = useDaimoPay();\n const { paymentState: paymentFsmState, order } = daimo;\n\n const {\n isConnected: isEthConnected,\n connector,\n chain,\n address,\n } = useAccount();\n const { connected: isSolanaConnected } = useWallet();\n const chainIsSupported = useChainIsSupported(chain?.id);\n const pendingWallet = useWalletById(context.pendingConnectorId || \"\");\n\n // if chain is unsupported we enforce a \"switch chain\" prompt\n // closeable is independent of the warning state; warning is handled separately below\n const closeable = !(\n context.options?.enforceSupportedChains &&\n isEthConnected &&\n !chainIsSupported\n );\n\n const showBackButton =\n closeable &&\n context.route !== context.uniquePaymentMethodPage &&\n context.route !== ROUTES.SELECT_METHOD &&\n context.route !== ROUTES.CONFIRMATION &&\n context.route !== ROUTES.SELECT_TOKEN &&\n context.route !== ROUTES.ERROR &&\n paymentFsmState !== \"error\" &&\n paymentFsmState !== \"warning\";\n\n const onBack = () => {\n const meta = { event: \"click-back\" };\n if (context.route === ROUTES.CONNECTORS) {\n context.setRoute(context.uniquePaymentMethodPage, meta);\n } else if (context.route === ROUTES.SELECT_AMOUNT) {\n setSelectedTokenOption(undefined);\n context.setRoute(ROUTES.SELECT_TOKEN, meta);\n } else if (context.route === ROUTES.SELECT_EXTERNAL_AMOUNT) {\n setSelectedExternalOption(undefined);\n context.setRoute(context.uniquePaymentMethodPage, meta);\n } else if (context.route === ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT) {\n // If Tron is a top-level option and we're on Tron, go back to SELECT_METHOD\n const isTronTopLevel = paymentState.topOptionsOrder.includes(\"Tron\");\n const isTronSelected =\n paymentState.selectedDepositAddressOption?.id ===\n DepositAddressPaymentOptions.TRON_USDT;\n if (isDepositFlow) {\n generatePreviewOrder();\n }\n setSelectedDepositAddressOption(undefined);\n if (isTronTopLevel && isTronSelected) {\n context.setRoute(ROUTES.SELECT_METHOD, meta);\n } else {\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, meta);\n }\n } else if (context.route === ROUTES.WAITING_EXTERNAL) {\n setPaymentWaitingMessage(undefined);\n if (isDepositFlow) {\n context.setRoute(ROUTES.SELECT_EXTERNAL_AMOUNT, meta);\n } else {\n setSelectedExternalOption(undefined);\n context.setRoute(context.uniquePaymentMethodPage, meta);\n }\n } else if (context.route === ROUTES.PAY_WITH_TOKEN) {\n if (isDepositFlow) {\n generatePreviewOrder();\n context.setRoute(ROUTES.SELECT_AMOUNT, meta);\n } else {\n setSelectedTokenOption(undefined);\n context.setRoute(ROUTES.SELECT_TOKEN, meta);\n }\n } else if (context.route === ROUTES.MOBILECONNECTORS) {\n context.setRoute(ROUTES.CONNECTORS, meta);\n } else if (context.route === ROUTES.ONBOARDING) {\n context.setRoute(ROUTES.CONNECTORS, meta);\n } else if (context.route === ROUTES.WAITING_DEPOSIT_ADDRESS) {\n // If Tron is a top-level option and we're on Tron, go back to SELECT_METHOD\n const isTronTopLevel = paymentState.topOptionsOrder.includes(\"Tron\");\n const isTronSelected =\n paymentState.selectedDepositAddressOption?.id ===\n DepositAddressPaymentOptions.TRON_USDT;\n if (isDepositFlow) {\n generatePreviewOrder();\n if (paymentState.selectedDepositAddressOption === undefined) {\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, meta);\n } else {\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT, meta);\n }\n } else {\n setSelectedDepositAddressOption(undefined);\n if (isTronTopLevel && isTronSelected) {\n context.setRoute(ROUTES.SELECT_METHOD, meta);\n } else {\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, meta);\n }\n }\n } else if (context.route === ROUTES.WAITING_WALLET) {\n if (isDepositFlow) {\n generatePreviewOrder();\n context.setRoute(ROUTES.SELECT_WALLET_AMOUNT, meta);\n } else {\n setSelectedWallet(undefined);\n context.setRoute(ROUTES.CONNECTORS, meta);\n }\n } else if (context.route === ROUTES.SOLANA_SELECT_AMOUNT) {\n setSelectedSolanaTokenOption(undefined);\n context.setRoute(ROUTES.SELECT_TOKEN, meta);\n } else if (context.route === ROUTES.SOLANA_PAY_WITH_TOKEN) {\n if (isDepositFlow) {\n generatePreviewOrder();\n context.setRoute(ROUTES.SOLANA_SELECT_AMOUNT, meta);\n } else {\n setSelectedSolanaTokenOption(undefined);\n context.setRoute(ROUTES.SELECT_TOKEN, meta);\n }\n } else if (context.route === ROUTES.CONNECT) {\n // For external wallets (World, MiniPay) in deposit mode, go back to amount selection\n if (isDepositFlow && isExternalWallet(pendingWallet)) {\n generatePreviewOrder();\n context.setRoute(ROUTES.SELECT_WALLET_AMOUNT, meta);\n } else {\n context.setRoute(context.uniquePaymentMethodPage, meta);\n }\n } else {\n context.setRoute(context.uniquePaymentMethodPage, meta);\n }\n };\n\n const pages: Record<ROUTES, React.ReactNode> = {\n [ROUTES.SELECT_METHOD]: <SelectMethod />,\n [ROUTES.SELECT_TOKEN]: <SelectToken />,\n [ROUTES.SELECT_AMOUNT]: <SelectAmount />,\n [ROUTES.SELECT_EXTERNAL_AMOUNT]: <SelectExternalAmount />,\n [ROUTES.SELECT_EXCHANGE]: <SelectExchange />,\n [ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT]: <SelectDepositAddressAmount />,\n [ROUTES.SELECT_WALLET_AMOUNT]: <SelectWalletAmount />,\n [ROUTES.SELECT_WALLET_CHAIN]: <SelectWalletChain />,\n [ROUTES.WAITING_EXTERNAL]: <WaitingExternal />,\n [ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN]: <SelectDepositAddressChain />,\n [ROUTES.WAITING_DEPOSIT_ADDRESS]: <WaitingDepositAddress />,\n [ROUTES.SELECT_ZKP2P]: <SelectZKP />,\n [ROUTES.WAITING_WALLET]: <WaitingWallet />,\n [ROUTES.CONFIRMATION]: <Confirmation />,\n [ROUTES.ERROR]: <ErrorPage />,\n [ROUTES.PAY_WITH_TOKEN]: <PayWithToken />,\n [ROUTES.SOLANA_CONNECTOR]: <ConnectorSolana />,\n [ROUTES.SOLANA_SELECT_AMOUNT]: <SelectSolanaAmount />,\n [ROUTES.SOLANA_PAY_WITH_TOKEN]: <PayWithSolanaToken />,\n // Unused routes. Kept to minimize connectkit merge conflicts.\n [ROUTES.ONBOARDING]: <Onboarding />,\n [ROUTES.ABOUT]: <About />,\n [ROUTES.CONNECTORS]: <Connectors />,\n [ROUTES.MOBILECONNECTORS]: <MobileConnectors />,\n [ROUTES.CONNECT]: <ConnectUsing />,\n [ROUTES.SWITCHNETWORKS]: <SwitchNetworks />,\n };\n\n // Registry of page-level leave guards (hooks that run before navigation)\n // For WAITING_DEPOSIT_ADDRESS, we need to pass trpc and orderId\n const leaveGuards: Partial<Record<ROUTES, () => Promise<boolean> | boolean>> =\n {\n [ROUTES.WAITING_DEPOSIT_ADDRESS]: () =>\n waitingDepositAddressBeforeLeave(context.trpc, order?.id?.toString()),\n };\n\n // Helper to wrap navigation actions with leave guard check\n const guardedAction = async (action: () => void) => {\n const guard = leaveGuards[context.route];\n\n // If no guard exists for current page, proceed with action\n if (!guard) {\n action();\n return;\n }\n\n // Otherwise, call the guard and check if navigation is allowed\n let canProceed = false;\n try {\n canProceed = await guard();\n } catch (error) {\n console.error(\"error in leave guard:\", error);\n return;\n }\n\n if (!canProceed) return;\n\n try {\n action();\n } catch (error) {\n console.error(\"error performing guarded action:\", error);\n return;\n }\n\n // dismiss warning after navigation to avoid intermediate flash\n if (paymentFsmState === \"warning\") {\n try {\n daimo.dismissWarning();\n } catch (error) {\n console.error(\"error dismissing warning:\", error);\n }\n }\n };\n\n function hide() {\n if (isDepositFlow) {\n generatePreviewOrder();\n }\n context.setOpen(false, { event: \"click-close\" });\n }\n\n const goToManualAddressScreen = (eventSuffix: string) => {\n if (paymentState.isDepositFlow) {\n context.setUniquePaymentMethodPage(ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT);\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT, {\n event: `unique_payment_option_deposit_${eventSuffix}`,\n });\n } else {\n context.setUniquePaymentMethodPage(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN);\n context.setRoute(ROUTES.WAITING_DEPOSIT_ADDRESS, {\n event: `unique_payment_option_${eventSuffix}`,\n });\n }\n };\n\n const goToExternalScreen = (eventSuffix: string) => {\n if (paymentState.isDepositFlow) {\n context.setUniquePaymentMethodPage(ROUTES.SELECT_EXTERNAL_AMOUNT);\n context.setRoute(ROUTES.SELECT_EXTERNAL_AMOUNT, {\n event: `unique_payment_option_${eventSuffix}_deposit`,\n });\n } else {\n context.setUniquePaymentMethodPage(ROUTES.WAITING_EXTERNAL);\n context.setRoute(ROUTES.WAITING_EXTERNAL, {\n event: `unique_payment_option_${eventSuffix}`,\n });\n }\n };\n\n const { isMobile } = useIsMobile();\n\n // Override the first screen upon opening the modal.\n // 1. If paymentOptions has exactly one option, navigate to that screen directly\n // 2. If the user has a wallet already connected upon opening the modal, go\n // straight to the select token screen\n // 3. If the user has no wallet connected upon opening the modal, go to the\n // select method screen\n useEffect(() => {\n if (!context.open) return;\n if (context.route !== ROUTES.SELECT_METHOD) return;\n\n const paymentOptions = paymentState.buttonProps?.paymentOptions;\n const hasUniqueOption = paymentOptions && paymentOptions.length === 1;\n\n if (hasUniqueOption) {\n const option = paymentOptions[0];\n // Handle nested array (wallet list)\n if (Array.isArray(option)) {\n context.setUniquePaymentMethodPage(ROUTES.CONNECTORS);\n context.setRoute(ROUTES.CONNECTORS, {\n event: \"unique_payment_option_wallets\",\n });\n return;\n }\n // Handle single string option\n switch (option) {\n case \"Tron\":\n // Find the Tron option from available deposit address options\n const tronOption = paymentState.depositAddressOptions.options?.find(\n (option) => option.id === DepositAddressPaymentOptions.TRON_USDT,\n );\n if (tronOption) {\n setSelectedDepositAddressOption(tronOption);\n goToManualAddressScreen(\"tron\");\n } else if (!paymentState.depositAddressOptions.loading) {\n // Data loaded but option not found, fallback to chain selection\n context.setUniquePaymentMethodPage(\n ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN,\n );\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, {\n event: \"unique_payment_option_tron_fallback\",\n });\n }\n // If still loading, do nothing and wait for next render\n break;\n case \"AllExchanges\":\n // Open exchanges list directly\n context.setUniquePaymentMethodPage(ROUTES.SELECT_EXCHANGE);\n context.setRoute(ROUTES.SELECT_EXCHANGE, {\n event: \"unique_payment_option_all_exchanges\",\n });\n break;\n case \"AllAddresses\":\n context.setUniquePaymentMethodPage(\n ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN,\n );\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, {\n event: \"unique_payment_option_manual_address\",\n });\n break;\n case \"Base\":\n // Find the Base option from available deposit address options\n const baseOption = paymentState.depositAddressOptions.options?.find(\n (option) => option.id === DepositAddressPaymentOptions.BASE,\n );\n if (baseOption) {\n setSelectedDepositAddressOption(baseOption);\n goToManualAddressScreen(\"base\");\n } else if (!paymentState.depositAddressOptions.loading) {\n context.setUniquePaymentMethodPage(\n ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN,\n );\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, {\n event: \"unique_payment_option_base_fallback\",\n });\n }\n break;\n case \"Arbitrum\":\n // Find the Arbitrum option from available deposit address options\n const arbitrumOption =\n paymentState.depositAddressOptions.options?.find(\n (option) => option.id === DepositAddressPaymentOptions.ARBITRUM,\n );\n if (arbitrumOption) {\n setSelectedDepositAddressOption(arbitrumOption);\n goToManualAddressScreen(\"arbitrum\");\n } else if (!paymentState.depositAddressOptions.loading) {\n context.setUniquePaymentMethodPage(\n ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN,\n );\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, {\n event: \"unique_payment_option_arbitrum_fallback\",\n });\n }\n break;\n case \"Optimism\":\n // Find the Optimism option from available deposit address options\n const optimismOption =\n paymentState.depositAddressOptions.options?.find(\n (option) => option.id === DepositAddressPaymentOptions.OP_MAINNET,\n );\n if (optimismOption) {\n setSelectedDepositAddressOption(optimismOption);\n goToManualAddressScreen(\"optimism\");\n } else if (!paymentState.depositAddressOptions.loading) {\n context.setUniquePaymentMethodPage(\n ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN,\n );\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, {\n event: \"unique_payment_option_optimism_fallback\",\n });\n }\n break;\n case \"Polygon\":\n // Find the Polygon option from available deposit address options\n const polygonOption =\n paymentState.depositAddressOptions.options?.find(\n (option) => option.id === DepositAddressPaymentOptions.POLYGON,\n );\n if (polygonOption) {\n setSelectedDepositAddressOption(polygonOption);\n goToManualAddressScreen(\"polygon\");\n } else if (!paymentState.depositAddressOptions.loading) {\n context.setUniquePaymentMethodPage(\n ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN,\n );\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, {\n event: \"unique_payment_option_polygon_fallback\",\n });\n }\n break;\n case \"Ethereum\":\n // Find the Ethereum option from available deposit address options\n const ethereumOption =\n paymentState.depositAddressOptions.options?.find(\n (option) => option.id === DepositAddressPaymentOptions.ETH_L1,\n );\n if (ethereumOption) {\n setSelectedDepositAddressOption(ethereumOption);\n goToManualAddressScreen(\"ethereum\");\n } else if (!paymentState.depositAddressOptions.loading) {\n context.setUniquePaymentMethodPage(\n ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN,\n );\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, {\n event: \"unique_payment_option_ethereum_fallback\",\n });\n }\n break;\n case \"Binance\":\n // Find the Binance option from available exchange options\n const exchangeOptions =\n paymentState.externalPaymentOptions.options.get(\"exchange\");\n const binanceOption = exchangeOptions?.find(\n (option) => option.id === ExternalPaymentOptions.Binance,\n );\n if (binanceOption) {\n setSelectedExternalOption(binanceOption);\n goToExternalScreen(\"binance\");\n } else if (!paymentState.externalPaymentOptions.loading) {\n context.setUniquePaymentMethodPage(ROUTES.SELECT_EXCHANGE);\n context.setRoute(ROUTES.SELECT_EXCHANGE, {\n event: \"unique_payment_option_binance_fallback\",\n });\n }\n break;\n case \"Coinbase\":\n // Find the Coinbase option from available exchange options\n const coinbaseExchangeOptions =\n paymentState.externalPaymentOptions.options.get(\"exchange\");\n const coinbaseOption = coinbaseExchangeOptions?.find(\n (option) => option.id === ExternalPaymentOptions.Coinbase,\n );\n if (coinbaseOption) {\n setSelectedExternalOption(coinbaseOption);\n goToExternalScreen(\"coinbase\");\n } else if (!paymentState.externalPaymentOptions.loading) {\n context.setUniquePaymentMethodPage(ROUTES.SELECT_EXCHANGE);\n context.setRoute(ROUTES.SELECT_EXCHANGE, {\n event: \"unique_payment_option_coinbase_fallback\",\n });\n }\n break;\n case \"Lemon\":\n // Find the Lemon option from available external options\n const lemonExternalOptions =\n paymentState.externalPaymentOptions.options.get(\"external\");\n const lemonOption = lemonExternalOptions?.find(\n (option) => option.id === ExternalPaymentOptions.Lemon,\n );\n if (lemonOption) {\n setSelectedExternalOption(lemonOption);\n goToExternalScreen(\"lemon\");\n } else if (!paymentState.externalPaymentOptions.loading) {\n // Lemon not found - may not be available in this environment/region\n console.warn(\n \"[DaimoPayModal] Lemon not found in external payment options\",\n );\n context.setUniquePaymentMethodPage(ROUTES.SELECT_METHOD);\n context.setRoute(ROUTES.SELECT_METHOD, {\n event: \"unique_payment_option_lemon_not_found\",\n });\n }\n // If still loading, wait for next render\n break;\n case \"AllWallets\":\n context.setUniquePaymentMethodPage(ROUTES.CONNECTORS);\n context.setRoute(ROUTES.CONNECTORS, {\n event: \"unique_payment_option_wallets\",\n });\n break;\n default:\n // Single wallet options like MiniPay, World, etc\n const singleOption = option;\n if (isWalletOption(singleOption)) {\n const walletId = Object.keys(walletConfigs).find((id) => {\n const wallet = walletConfigs[id];\n const optionLower = singleOption.toLowerCase();\n return (\n wallet.name?.toLowerCase() === optionLower ||\n wallet.shortName?.toLowerCase() === optionLower ||\n wallet.name?.toLowerCase().includes(optionLower) ||\n id.toLowerCase() === optionLower ||\n id.toLowerCase().includes(optionLower)\n );\n });\n if (walletId) {\n const wallet = walletConfigs[walletId];\n paymentState.setSelectedWallet(wallet);\n\n if (paymentState.isDepositFlow) {\n // For deposit mode, route to amount selection first\n context.setUniquePaymentMethodPage(ROUTES.SELECT_WALLET_AMOUNT);\n context.setRoute(ROUTES.SELECT_WALLET_AMOUNT, {\n event: \"single_option_wallet_deposit\",\n wallet: singleOption,\n });\n } else if (!isMobile && wallet.getDaimoPayDeeplink) {\n // On desktop, show QR code for wallet\n context.setPendingConnectorId(walletId);\n context.setUniquePaymentMethodPage(ROUTES.CONNECT);\n context.setRoute(ROUTES.CONNECT, {\n event: \"single_option_wallet_qr\",\n wallet: singleOption,\n });\n } else if (isMobile && wallet.getDaimoPayDeeplink) {\n // On mobile with deeplink, open wallet directly (no internal routing)\n paymentState.openInWalletBrowser(wallet);\n } else {\n // No deeplink - go to connectors to let user connect\n context.setRoute(ROUTES.CONNECTORS, {\n event: \"single_option_wallet\",\n wallet: singleOption,\n });\n }\n } else {\n context.setUniquePaymentMethodPage(ROUTES.SELECT_METHOD);\n }\n } else {\n context.setUniquePaymentMethodPage(ROUTES.SELECT_METHOD);\n }\n break;\n }\n }\n\n const isWalletsUniquePaymentOption =\n hasUniqueOption &&\n (Array.isArray(paymentOptions[0]) || paymentOptions[0] === \"AllWallets\");\n\n // Skip to token selection if exactly one wallet is connected. If both\n // wallets are connected, stay on the SELECT_METHOD screen to allow the\n // user to select which wallet to use\n // If mobile injector is disabled, don't show the connected wallets.\n // If there's a unique payment option, and the unique payment option is not\n // \"AllWallets\" or a wallet list, don't auto-connect the user's wallet.\n const evmOptionsCount =\n paymentState.walletPaymentOptions.options?.length ?? 0;\n const isEvmLoading = paymentState.walletPaymentOptions.isLoading;\n const solanaOptionsCount =\n paymentState.solanaPaymentOptions.options?.length ?? 0;\n const isSolanaLoading = paymentState.solanaPaymentOptions.isLoading;\n if (\n (!hasUniqueOption || isWalletsUniquePaymentOption) &&\n isEthConnected &&\n !isSolanaConnected &&\n (!isMobile || !disableMobileInjector) &&\n !isEvmLoading &&\n evmOptionsCount > 0\n ) {\n paymentState.setTokenMode(\"evm\");\n context.setRoute(ROUTES.SELECT_TOKEN, {\n event: \"eth_connected_on_open\",\n walletId: connector?.id,\n chainId: chain?.id,\n address,\n });\n } else if (\n (!hasUniqueOption || isWalletsUniquePaymentOption) &&\n isSolanaConnected &&\n !isEthConnected &&\n !disableMobileInjector &&\n !isSolanaLoading &&\n solanaOptionsCount > 0\n ) {\n paymentState.setTokenMode(\"solana\");\n context.setRoute(ROUTES.SELECT_TOKEN, {\n event: \"solana_connected_on_open\",\n });\n }\n // Don't include context.route in the dependency array otherwise the user\n // can't go back from the select token screen to the select method screen\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n context.open,\n paymentState.walletPaymentOptions.options,\n paymentState.walletPaymentOptions.isLoading,\n paymentState.solanaPaymentOptions.options,\n paymentState.solanaPaymentOptions.isLoading,\n paymentState.externalPaymentOptions.options,\n paymentState.externalPaymentOptions.loading,\n paymentState.depositAddressOptions.options,\n paymentState.depositAddressOptions.loading,\n address,\n chain?.id,\n connector?.id,\n context.uniquePaymentMethodPage,\n ]);\n\n // If we're on the connect page and the user successfully connects their\n // wallet, go to the select token page\n useEffect(() => {\n if (\n context.route === ROUTES.CONNECT ||\n context.route === ROUTES.CONNECTORS ||\n context.route === ROUTES.MOBILECONNECTORS\n ) {\n if (isEthConnected) {\n paymentState.setTokenMode(\"evm\");\n context.setRoute(ROUTES.SELECT_TOKEN, {\n event: \"connected\",\n walletId: connector?.id,\n chainId: chain?.id,\n address,\n });\n }\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isEthConnected, context.route, connector?.id, chain?.id, address]);\n\n useEffect(() => setMode(mode), [mode, setMode]);\n useEffect(() => setTheme(theme), [theme, setTheme]);\n useEffect(() => setCustomTheme(customTheme), [customTheme, setCustomTheme]);\n useEffect(() => setLang(lang), [lang, setLang]);\n useEffect(\n () => setDisableMobileInjector(disableMobileInjector),\n [disableMobileInjector, setDisableMobileInjector],\n );\n\n useEffect(() => {\n const appName = getAppName();\n if (!appName || !context.open) return;\n\n const title = document.createElement(\"meta\");\n title.setAttribute(\"property\", \"og:title\");\n title.setAttribute(\"content\", appName);\n document.head.prepend(title);\n\n return () => {\n try {\n document.head.removeChild(title);\n } catch {}\n };\n }, [context.open]);\n\n return (\n <DaimoPayThemeProvider theme={theme} customTheme={customTheme} mode={mode}>\n <Modal\n open={context.open}\n pages={pages}\n pageId={context.route}\n onClose={\n closeable && paymentFsmState !== \"warning\"\n ? () => guardedAction(hide)\n : undefined\n }\n onInfo={undefined}\n onBack={showBackButton ? () => guardedAction(onBack) : undefined}\n />\n </DaimoPayThemeProvider>\n );\n};\n"],"names":["useWalletById","ConnectorSolana","Onboarding","Connectors","waitingDepositAddressBeforeLeave","option"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/DaimoPayModal/index.tsx"],"sourcesContent":["import { useWallet } from \"@solana/wallet-adapter-react\";\nimport { useEffect, useRef } from \"react\";\nimport { useAccount, useConnect } from \"wagmi\";\n\nimport {\n DepositAddressPaymentOptions,\n ExternalPaymentOptions,\n} from \"@daimo/pay-common\";\nimport { ROUTES } from \"../../constants/routes\";\nimport { getAppName } from \"../../defaultConfig\";\nimport { useChainIsSupported } from \"../../hooks/useChainIsSupported\";\nimport { useConnector } from \"../../hooks/useConnectors\";\nimport { useDaimoPay } from \"../../hooks/useDaimoPay\";\nimport useIsMobile from \"../../hooks/useIsMobile\";\nimport { usePayContext } from \"../../hooks/usePayContext\";\nimport { CustomTheme, Languages, Mode, Theme } from \"../../types\";\nimport {\n isExternalWallet,\n useWallet as useWalletById,\n} from \"../../wallets/useWallets\";\nimport { walletConfigs } from \"../../wallets/walletConfigs\";\nimport Modal from \"../Common/Modal\";\nimport { DaimoPayThemeProvider } from \"../DaimoPayThemeProvider/DaimoPayThemeProvider\";\nimport About from \"../Pages/About\";\nimport Confirmation from \"../Pages/Confirmation\";\nimport Connectors from \"../Pages/Connectors\";\nimport ErrorPage from \"../Pages/Error\";\nimport MobileConnectors from \"../Pages/MobileConnectors\";\nimport Onboarding from \"../Pages/Onboarding\";\nimport PayWithToken from \"../Pages/PayWithToken\";\nimport SelectAmount from \"../Pages/SelectAmount\";\nimport SelectDepositAddressAmount from \"../Pages/SelectDepositAddressAmount\";\nimport SelectDepositAddressChain from \"../Pages/SelectDepositAddressChain\";\nimport SelectExchange from \"../Pages/SelectExchange\";\nimport SelectExternalAmount from \"../Pages/SelectExternalAmount\";\nimport SelectMethod from \"../Pages/SelectMethod\";\nimport SelectToken from \"../Pages/SelectToken\";\nimport SelectWalletAmount from \"../Pages/SelectWalletAmount\";\nimport SelectWalletChain from \"../Pages/SelectWalletChain\";\nimport SelectZKP from \"../Pages/SelectZKP\";\nimport ConnectorSolana from \"../Pages/Solana/ConnectorSolana\";\nimport PayWithSolanaToken from \"../Pages/Solana/PayWithSolanaToken\";\nimport SelectSolanaAmount from \"../Pages/Solana/SelectSolanaAmount\";\nimport SwitchNetworks from \"../Pages/SwitchNetworks\";\nimport WaitingDepositAddress, {\n beforeLeave as waitingDepositAddressBeforeLeave,\n} from \"../Pages/WaitingDepositAddress\";\nimport WaitingExternal from \"../Pages/WaitingExternal\";\nimport WaitingWallet from \"../Pages/WaitingWallet\";\nimport ConnectUsing from \"./ConnectUsing\";\n\n/** Helper to check if option string corresponds to a specific wallet */\nfunction isWalletOption(option: string): boolean {\n return Object.keys(walletConfigs).some((id) => {\n walletConfigs[id].name === option;\n });\n}\n\nexport const DaimoPayModal: React.FC<{\n mode: Mode;\n theme: Theme;\n customTheme: CustomTheme;\n lang: Languages;\n disableMobileInjector: boolean;\n}> = ({\n mode,\n theme,\n customTheme,\n lang,\n disableMobileInjector,\n}: {\n mode: Mode;\n theme: Theme;\n customTheme: CustomTheme;\n lang: Languages;\n disableMobileInjector: boolean;\n}) => {\n const context = usePayContext();\n const {\n setMode,\n setTheme,\n setCustomTheme,\n setLang,\n setDisableMobileInjector,\n } = context;\n const paymentState = context.paymentState;\n const {\n generatePreviewOrder,\n isDepositFlow,\n setPaymentWaitingMessage,\n setSelectedExternalOption,\n setSelectedTokenOption,\n setSelectedSolanaTokenOption,\n setSelectedDepositAddressOption,\n setSelectedWallet,\n } = paymentState;\n const daimo = useDaimoPay();\n const { paymentState: paymentFsmState, order } = daimo;\n\n const {\n isConnected: isEthConnected,\n connector,\n chain,\n address,\n } = useAccount();\n const { connected: isSolanaConnected } = useWallet();\n const chainIsSupported = useChainIsSupported(chain?.id);\n const pendingWallet = useWalletById(context.pendingConnectorId || \"\");\n\n // Get prioritized wallet connector if specified\n const prioritizedWalletId = paymentState.buttonProps?.prioritizedWalletId;\n const prioritizedConnector = useConnector(prioritizedWalletId ?? \"\");\n const { connect } = useConnect();\n\n // Track if we've already handled the initial modal open routing\n // This prevents auto-connecting to prioritized wallet after user navigates away\n const hasHandledInitialOpen = useRef(false);\n\n // if chain is unsupported we enforce a \"switch chain\" prompt\n // closeable is independent of the warning state; warning is handled separately below\n const closeable = !(\n context.options?.enforceSupportedChains &&\n isEthConnected &&\n !chainIsSupported\n );\n\n const showBackButton =\n closeable &&\n context.route !== context.uniquePaymentMethodPage &&\n context.route !== ROUTES.SELECT_METHOD &&\n context.route !== ROUTES.CONFIRMATION &&\n context.route !== ROUTES.SELECT_TOKEN &&\n context.route !== ROUTES.ERROR &&\n paymentFsmState !== \"error\" &&\n paymentFsmState !== \"warning\";\n\n const onBack = () => {\n const meta = { event: \"click-back\" };\n if (context.route === ROUTES.CONNECTORS) {\n context.setRoute(context.uniquePaymentMethodPage, meta);\n } else if (context.route === ROUTES.SELECT_AMOUNT) {\n setSelectedTokenOption(undefined);\n context.setRoute(ROUTES.SELECT_TOKEN, meta);\n } else if (context.route === ROUTES.SELECT_EXTERNAL_AMOUNT) {\n setSelectedExternalOption(undefined);\n context.setRoute(context.uniquePaymentMethodPage, meta);\n } else if (context.route === ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT) {\n // If Tron is a top-level option and we're on Tron, go back to SELECT_METHOD\n const isTronTopLevel = paymentState.topOptionsOrder.includes(\"Tron\");\n const isTronSelected =\n paymentState.selectedDepositAddressOption?.id ===\n DepositAddressPaymentOptions.TRON_USDT;\n if (isDepositFlow) {\n generatePreviewOrder();\n }\n setSelectedDepositAddressOption(undefined);\n if (isTronTopLevel && isTronSelected) {\n context.setRoute(ROUTES.SELECT_METHOD, meta);\n } else {\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, meta);\n }\n } else if (context.route === ROUTES.WAITING_EXTERNAL) {\n setPaymentWaitingMessage(undefined);\n if (isDepositFlow) {\n generatePreviewOrder();\n context.setRoute(ROUTES.SELECT_EXTERNAL_AMOUNT, meta);\n } else {\n setSelectedExternalOption(undefined);\n context.setRoute(context.uniquePaymentMethodPage, meta);\n }\n } else if (context.route === ROUTES.PAY_WITH_TOKEN) {\n if (isDepositFlow) {\n generatePreviewOrder();\n context.setRoute(ROUTES.SELECT_AMOUNT, meta);\n } else {\n setSelectedTokenOption(undefined);\n context.setRoute(ROUTES.SELECT_TOKEN, meta);\n }\n } else if (context.route === ROUTES.MOBILECONNECTORS) {\n context.setRoute(ROUTES.CONNECTORS, meta);\n } else if (context.route === ROUTES.ONBOARDING) {\n context.setRoute(ROUTES.CONNECTORS, meta);\n } else if (context.route === ROUTES.WAITING_DEPOSIT_ADDRESS) {\n // If Tron is a top-level option and we're on Tron, go back to SELECT_METHOD\n const isTronTopLevel = paymentState.topOptionsOrder.includes(\"Tron\");\n const isTronSelected =\n paymentState.selectedDepositAddressOption?.id ===\n DepositAddressPaymentOptions.TRON_USDT;\n if (isDepositFlow) {\n generatePreviewOrder();\n if (paymentState.selectedDepositAddressOption === undefined) {\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, meta);\n } else {\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT, meta);\n }\n } else {\n setSelectedDepositAddressOption(undefined);\n if (isTronTopLevel && isTronSelected) {\n context.setRoute(ROUTES.SELECT_METHOD, meta);\n } else {\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, meta);\n }\n }\n } else if (context.route === ROUTES.WAITING_WALLET) {\n if (isDepositFlow) {\n generatePreviewOrder();\n context.setRoute(ROUTES.SELECT_WALLET_AMOUNT, meta);\n } else {\n setSelectedWallet(undefined);\n context.setRoute(ROUTES.CONNECTORS, meta);\n }\n } else if (context.route === ROUTES.SOLANA_SELECT_AMOUNT) {\n setSelectedSolanaTokenOption(undefined);\n context.setRoute(ROUTES.SELECT_TOKEN, meta);\n } else if (context.route === ROUTES.SOLANA_PAY_WITH_TOKEN) {\n if (isDepositFlow) {\n generatePreviewOrder();\n context.setRoute(ROUTES.SOLANA_SELECT_AMOUNT, meta);\n } else {\n setSelectedSolanaTokenOption(undefined);\n context.setRoute(ROUTES.SELECT_TOKEN, meta);\n }\n } else if (context.route === ROUTES.CONNECT) {\n // For external wallets (World, MiniPay) in deposit mode, go back to amount selection\n if (isDepositFlow && isExternalWallet(pendingWallet)) {\n generatePreviewOrder();\n context.setRoute(ROUTES.SELECT_WALLET_AMOUNT, meta);\n } else {\n context.setRoute(context.uniquePaymentMethodPage, meta);\n }\n } else {\n context.setRoute(context.uniquePaymentMethodPage, meta);\n }\n };\n\n const pages: Record<ROUTES, React.ReactNode> = {\n [ROUTES.SELECT_METHOD]: <SelectMethod />,\n [ROUTES.SELECT_TOKEN]: <SelectToken />,\n [ROUTES.SELECT_AMOUNT]: <SelectAmount />,\n [ROUTES.SELECT_EXTERNAL_AMOUNT]: <SelectExternalAmount />,\n [ROUTES.SELECT_EXCHANGE]: <SelectExchange />,\n [ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT]: <SelectDepositAddressAmount />,\n [ROUTES.SELECT_WALLET_AMOUNT]: <SelectWalletAmount />,\n [ROUTES.SELECT_WALLET_CHAIN]: <SelectWalletChain />,\n [ROUTES.WAITING_EXTERNAL]: <WaitingExternal />,\n [ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN]: <SelectDepositAddressChain />,\n [ROUTES.WAITING_DEPOSIT_ADDRESS]: <WaitingDepositAddress />,\n [ROUTES.SELECT_ZKP2P]: <SelectZKP />,\n [ROUTES.WAITING_WALLET]: <WaitingWallet />,\n [ROUTES.CONFIRMATION]: <Confirmation />,\n [ROUTES.ERROR]: <ErrorPage />,\n [ROUTES.PAY_WITH_TOKEN]: <PayWithToken />,\n [ROUTES.SOLANA_CONNECTOR]: <ConnectorSolana />,\n [ROUTES.SOLANA_SELECT_AMOUNT]: <SelectSolanaAmount />,\n [ROUTES.SOLANA_PAY_WITH_TOKEN]: <PayWithSolanaToken />,\n // Unused routes. Kept to minimize connectkit merge conflicts.\n [ROUTES.ONBOARDING]: <Onboarding />,\n [ROUTES.ABOUT]: <About />,\n [ROUTES.CONNECTORS]: <Connectors />,\n [ROUTES.MOBILECONNECTORS]: <MobileConnectors />,\n [ROUTES.CONNECT]: <ConnectUsing />,\n [ROUTES.SWITCHNETWORKS]: <SwitchNetworks />,\n };\n\n // Registry of page-level leave guards (hooks that run before navigation)\n // For WAITING_DEPOSIT_ADDRESS, we need to pass trpc and orderId\n const leaveGuards: Partial<Record<ROUTES, () => Promise<boolean> | boolean>> =\n {\n [ROUTES.WAITING_DEPOSIT_ADDRESS]: () =>\n waitingDepositAddressBeforeLeave(context.trpc, order?.id?.toString()),\n };\n\n // Helper to wrap navigation actions with leave guard check\n const guardedAction = async (action: () => void) => {\n const guard = leaveGuards[context.route];\n\n // If no guard exists for current page, proceed with action\n if (!guard) {\n action();\n return;\n }\n\n // Otherwise, call the guard and check if navigation is allowed\n let canProceed = false;\n try {\n canProceed = await guard();\n } catch (error) {\n console.error(\"error in leave guard:\", error);\n return;\n }\n\n if (!canProceed) return;\n\n try {\n action();\n } catch (error) {\n console.error(\"error performing guarded action:\", error);\n return;\n }\n\n // dismiss warning after navigation to avoid intermediate flash\n if (paymentFsmState === \"warning\") {\n try {\n daimo.dismissWarning();\n } catch (error) {\n console.error(\"error dismissing warning:\", error);\n }\n }\n };\n\n function hide() {\n if (isDepositFlow) {\n generatePreviewOrder();\n }\n context.setOpen(false, { event: \"click-close\" });\n }\n\n const goToManualAddressScreen = (eventSuffix: string) => {\n if (paymentState.isDepositFlow) {\n context.setUniquePaymentMethodPage(ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT);\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT, {\n event: `unique_payment_option_deposit_${eventSuffix}`,\n });\n } else {\n context.setUniquePaymentMethodPage(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN);\n context.setRoute(ROUTES.WAITING_DEPOSIT_ADDRESS, {\n event: `unique_payment_option_${eventSuffix}`,\n });\n }\n };\n\n const goToExternalScreen = (eventSuffix: string) => {\n if (paymentState.isDepositFlow) {\n context.setUniquePaymentMethodPage(ROUTES.SELECT_EXTERNAL_AMOUNT);\n context.setRoute(ROUTES.SELECT_EXTERNAL_AMOUNT, {\n event: `unique_payment_option_${eventSuffix}_deposit`,\n });\n } else {\n context.setUniquePaymentMethodPage(ROUTES.WAITING_EXTERNAL);\n context.setRoute(ROUTES.WAITING_EXTERNAL, {\n event: `unique_payment_option_${eventSuffix}`,\n });\n }\n };\n\n const { isMobile } = useIsMobile();\n\n // Override the first screen upon opening the modal.\n // 1. If paymentOptions has exactly one option, navigate to that screen directly\n // 2. If the user has a wallet already connected upon opening the modal, go\n // straight to the select token screen\n // 3. If the user has no wallet connected upon opening the modal, go to the\n // select method screen\n useEffect(() => {\n // Reset the flag when modal closes\n if (!context.open) {\n hasHandledInitialOpen.current = false;\n return;\n }\n if (context.route !== ROUTES.SELECT_METHOD) return;\n\n const paymentOptions = paymentState.buttonProps?.paymentOptions;\n const hasUniqueOption = paymentOptions && paymentOptions.length === 1;\n\n if (hasUniqueOption) {\n const option = paymentOptions[0];\n // Handle nested array (wallet list)\n if (Array.isArray(option)) {\n context.setUniquePaymentMethodPage(ROUTES.CONNECTORS);\n context.setRoute(ROUTES.CONNECTORS, {\n event: \"unique_payment_option_wallets\",\n });\n return;\n }\n // Handle single string option\n switch (option) {\n case \"Tron\":\n // Find the Tron option from available deposit address options\n const tronOption = paymentState.depositAddressOptions.options?.find(\n (option) => option.id === DepositAddressPaymentOptions.TRON_USDT,\n );\n if (tronOption) {\n setSelectedDepositAddressOption(tronOption);\n goToManualAddressScreen(\"tron\");\n } else if (!paymentState.depositAddressOptions.loading) {\n // Data loaded but option not found, fallback to chain selection\n context.setUniquePaymentMethodPage(\n ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN,\n );\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, {\n event: \"unique_payment_option_tron_fallback\",\n });\n }\n // If still loading, do nothing and wait for next render\n break;\n case \"AllExchanges\":\n // Open exchanges list directly\n context.setUniquePaymentMethodPage(ROUTES.SELECT_EXCHANGE);\n context.setRoute(ROUTES.SELECT_EXCHANGE, {\n event: \"unique_payment_option_all_exchanges\",\n });\n break;\n case \"AllAddresses\":\n context.setUniquePaymentMethodPage(\n ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN,\n );\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, {\n event: \"unique_payment_option_manual_address\",\n });\n break;\n case \"Base\":\n // Find the Base option from available deposit address options\n const baseOption = paymentState.depositAddressOptions.options?.find(\n (option) => option.id === DepositAddressPaymentOptions.BASE,\n );\n if (baseOption) {\n setSelectedDepositAddressOption(baseOption);\n goToManualAddressScreen(\"base\");\n } else if (!paymentState.depositAddressOptions.loading) {\n context.setUniquePaymentMethodPage(\n ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN,\n );\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, {\n event: \"unique_payment_option_base_fallback\",\n });\n }\n break;\n case \"Arbitrum\":\n // Find the Arbitrum option from available deposit address options\n const arbitrumOption =\n paymentState.depositAddressOptions.options?.find(\n (option) => option.id === DepositAddressPaymentOptions.ARBITRUM,\n );\n if (arbitrumOption) {\n setSelectedDepositAddressOption(arbitrumOption);\n goToManualAddressScreen(\"arbitrum\");\n } else if (!paymentState.depositAddressOptions.loading) {\n context.setUniquePaymentMethodPage(\n ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN,\n );\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, {\n event: \"unique_payment_option_arbitrum_fallback\",\n });\n }\n break;\n case \"Optimism\":\n // Find the Optimism option from available deposit address options\n const optimismOption =\n paymentState.depositAddressOptions.options?.find(\n (option) => option.id === DepositAddressPaymentOptions.OP_MAINNET,\n );\n if (optimismOption) {\n setSelectedDepositAddressOption(optimismOption);\n goToManualAddressScreen(\"optimism\");\n } else if (!paymentState.depositAddressOptions.loading) {\n context.setUniquePaymentMethodPage(\n ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN,\n );\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, {\n event: \"unique_payment_option_optimism_fallback\",\n });\n }\n break;\n case \"Polygon\":\n // Find the Polygon option from available deposit address options\n const polygonOption =\n paymentState.depositAddressOptions.options?.find(\n (option) => option.id === DepositAddressPaymentOptions.POLYGON,\n );\n if (polygonOption) {\n setSelectedDepositAddressOption(polygonOption);\n goToManualAddressScreen(\"polygon\");\n } else if (!paymentState.depositAddressOptions.loading) {\n context.setUniquePaymentMethodPage(\n ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN,\n );\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, {\n event: \"unique_payment_option_polygon_fallback\",\n });\n }\n break;\n case \"Ethereum\":\n // Find the Ethereum option from available deposit address options\n const ethereumOption =\n paymentState.depositAddressOptions.options?.find(\n (option) => option.id === DepositAddressPaymentOptions.ETH_L1,\n );\n if (ethereumOption) {\n setSelectedDepositAddressOption(ethereumOption);\n goToManualAddressScreen(\"ethereum\");\n } else if (!paymentState.depositAddressOptions.loading) {\n context.setUniquePaymentMethodPage(\n ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN,\n );\n context.setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN, {\n event: \"unique_payment_option_ethereum_fallback\",\n });\n }\n break;\n case \"Binance\":\n // Find the Binance option from available exchange options\n const exchangeOptions =\n paymentState.externalPaymentOptions.options.get(\"exchange\");\n const binanceOption = exchangeOptions?.find(\n (option) => option.id === ExternalPaymentOptions.Binance,\n );\n if (binanceOption) {\n setSelectedExternalOption(binanceOption);\n goToExternalScreen(\"binance\");\n } else if (!paymentState.externalPaymentOptions.loading) {\n context.setUniquePaymentMethodPage(ROUTES.SELECT_EXCHANGE);\n context.setRoute(ROUTES.SELECT_EXCHANGE, {\n event: \"unique_payment_option_binance_fallback\",\n });\n }\n break;\n case \"Coinbase\":\n // Find the Coinbase option from available exchange options\n const coinbaseExchangeOptions =\n paymentState.externalPaymentOptions.options.get(\"exchange\");\n const coinbaseOption = coinbaseExchangeOptions?.find(\n (option) => option.id === ExternalPaymentOptions.Coinbase,\n );\n if (coinbaseOption) {\n setSelectedExternalOption(coinbaseOption);\n goToExternalScreen(\"coinbase\");\n } else if (!paymentState.externalPaymentOptions.loading) {\n context.setUniquePaymentMethodPage(ROUTES.SELECT_EXCHANGE);\n context.setRoute(ROUTES.SELECT_EXCHANGE, {\n event: \"unique_payment_option_coinbase_fallback\",\n });\n }\n break;\n case \"Lemon\":\n // Find the Lemon option from available external options\n const lemonExternalOptions =\n paymentState.externalPaymentOptions.options.get(\"external\");\n const lemonOption = lemonExternalOptions?.find(\n (option) => option.id === ExternalPaymentOptions.Lemon,\n );\n if (lemonOption) {\n setSelectedExternalOption(lemonOption);\n goToExternalScreen(\"lemon\");\n } else if (!paymentState.externalPaymentOptions.loading) {\n // Lemon not found - may not be available in this environment/region\n console.warn(\n \"[DaimoPayModal] Lemon not found in external payment options\",\n );\n context.setUniquePaymentMethodPage(ROUTES.SELECT_METHOD);\n context.setRoute(ROUTES.SELECT_METHOD, {\n event: \"unique_payment_option_lemon_not_found\",\n });\n }\n // If still loading, wait for next render\n break;\n case \"AllWallets\":\n context.setUniquePaymentMethodPage(ROUTES.CONNECTORS);\n context.setRoute(ROUTES.CONNECTORS, {\n event: \"unique_payment_option_wallets\",\n });\n break;\n default:\n // Single wallet options like MiniPay, World, etc\n const singleOption = option;\n if (isWalletOption(singleOption)) {\n const walletId = Object.keys(walletConfigs).find((id) => {\n const wallet = walletConfigs[id];\n const optionLower = singleOption.toLowerCase();\n return (\n wallet.name?.toLowerCase() === optionLower ||\n wallet.shortName?.toLowerCase() === optionLower ||\n wallet.name?.toLowerCase().includes(optionLower) ||\n id.toLowerCase() === optionLower ||\n id.toLowerCase().includes(optionLower)\n );\n });\n if (walletId) {\n const wallet = walletConfigs[walletId];\n paymentState.setSelectedWallet(wallet);\n\n if (paymentState.isDepositFlow) {\n // For deposit mode, route to amount selection first\n context.setUniquePaymentMethodPage(ROUTES.SELECT_WALLET_AMOUNT);\n context.setRoute(ROUTES.SELECT_WALLET_AMOUNT, {\n event: \"single_option_wallet_deposit\",\n wallet: singleOption,\n });\n } else if (!isMobile && wallet.getDaimoPayDeeplink) {\n // On desktop, show QR code for wallet\n context.setPendingConnectorId(walletId);\n context.setUniquePaymentMethodPage(ROUTES.CONNECT);\n context.setRoute(ROUTES.CONNECT, {\n event: \"single_option_wallet_qr\",\n wallet: singleOption,\n });\n } else if (isMobile && wallet.getDaimoPayDeeplink) {\n // On mobile with deeplink, open wallet directly (no internal routing)\n paymentState.openInWalletBrowser(wallet);\n } else {\n // No deeplink - go to connectors to let user connect\n context.setRoute(ROUTES.CONNECTORS, {\n event: \"single_option_wallet\",\n wallet: singleOption,\n });\n }\n } else {\n context.setUniquePaymentMethodPage(ROUTES.SELECT_METHOD);\n }\n } else {\n context.setUniquePaymentMethodPage(ROUTES.SELECT_METHOD);\n }\n break;\n }\n }\n\n const isWalletsUniquePaymentOption =\n hasUniqueOption &&\n (Array.isArray(paymentOptions[0]) || paymentOptions[0] === \"AllWallets\");\n\n // Skip to token selection if exactly one wallet is connected. If both\n // wallets are connected, stay on the SELECT_METHOD screen to allow the\n // user to select which wallet to use\n // If mobile injector is disabled, don't show the connected wallets.\n // If there's a unique payment option, and the unique payment option is not\n // \"AllWallets\" or a wallet list, don't auto-connect the user's wallet.\n const evmOptionsCount =\n paymentState.walletPaymentOptions.options?.length ?? 0;\n const isEvmLoading = paymentState.walletPaymentOptions.isLoading;\n const solanaOptionsCount =\n paymentState.solanaPaymentOptions.options?.length ?? 0;\n const isSolanaLoading = paymentState.solanaPaymentOptions.isLoading;\n if (\n (!hasUniqueOption || isWalletsUniquePaymentOption) &&\n isEthConnected &&\n !isSolanaConnected &&\n (!isMobile || !disableMobileInjector) &&\n !isEvmLoading &&\n evmOptionsCount > 0\n ) {\n // Only auto-connect to prioritized wallet on first modal open\n if (\n !hasHandledInitialOpen.current &&\n prioritizedWalletId &&\n prioritizedConnector &&\n connector?.id !== prioritizedWalletId\n ) {\n connect({ connector: prioritizedConnector });\n }\n hasHandledInitialOpen.current = true;\n paymentState.setTokenMode(\"evm\");\n context.setRoute(ROUTES.SELECT_TOKEN, {\n event: \"eth_connected_on_open\",\n walletId: connector?.id,\n chainId: chain?.id,\n address,\n });\n } else if (\n (!hasUniqueOption || isWalletsUniquePaymentOption) &&\n isSolanaConnected &&\n !isEthConnected &&\n !disableMobileInjector &&\n !isSolanaLoading &&\n solanaOptionsCount > 0\n ) {\n hasHandledInitialOpen.current = true;\n paymentState.setTokenMode(\"solana\");\n context.setRoute(ROUTES.SELECT_TOKEN, {\n event: \"solana_connected_on_open\",\n });\n }\n // Don't include context.route in the dependency array otherwise the user\n // can't go back from the select token screen to the select method screen\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n context.open,\n paymentState.walletPaymentOptions.options,\n paymentState.walletPaymentOptions.isLoading,\n paymentState.solanaPaymentOptions.options,\n paymentState.solanaPaymentOptions.isLoading,\n paymentState.externalPaymentOptions.options,\n paymentState.externalPaymentOptions.loading,\n paymentState.depositAddressOptions.options,\n paymentState.depositAddressOptions.loading,\n address,\n chain?.id,\n connector?.id,\n context.uniquePaymentMethodPage,\n ]);\n\n // If we're on the connect page and the user successfully connects their\n // wallet, go to the select token page\n useEffect(() => {\n if (\n context.route === ROUTES.CONNECT ||\n context.route === ROUTES.CONNECTORS ||\n context.route === ROUTES.MOBILECONNECTORS\n ) {\n if (isEthConnected) {\n paymentState.setTokenMode(\"evm\");\n context.setRoute(ROUTES.SELECT_TOKEN, {\n event: \"connected\",\n walletId: connector?.id,\n chainId: chain?.id,\n address,\n });\n }\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isEthConnected, context.route, connector?.id, chain?.id, address]);\n\n useEffect(() => setMode(mode), [mode, setMode]);\n useEffect(() => setTheme(theme), [theme, setTheme]);\n useEffect(() => setCustomTheme(customTheme), [customTheme, setCustomTheme]);\n useEffect(() => setLang(lang), [lang, setLang]);\n useEffect(\n () => setDisableMobileInjector(disableMobileInjector),\n [disableMobileInjector, setDisableMobileInjector],\n );\n\n useEffect(() => {\n const appName = getAppName();\n if (!appName || !context.open) return;\n\n const title = document.createElement(\"meta\");\n title.setAttribute(\"property\", \"og:title\");\n title.setAttribute(\"content\", appName);\n document.head.prepend(title);\n\n return () => {\n try {\n document.head.removeChild(title);\n } catch {}\n };\n }, [context.open]);\n\n return (\n <DaimoPayThemeProvider theme={theme} customTheme={customTheme} mode={mode}>\n <Modal\n open={context.open}\n pages={pages}\n pageId={context.route}\n onClose={\n closeable && paymentFsmState !== \"warning\"\n ? () => guardedAction(hide)\n : undefined\n }\n onInfo={undefined}\n onBack={showBackButton ? () => guardedAction(onBack) : undefined}\n />\n </DaimoPayThemeProvider>\n );\n};\n"],"names":["useWalletById","ConnectorSolana","Onboarding","Connectors","waitingDepositAddressBeforeLeave","option"],"mappings":"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"}
@@ -10,7 +10,8 @@ const SelectExchange = () => {
10
10
  const { paymentState, setRoute } = usePayContext();
11
11
  const { externalPaymentOptions, setSelectedExternalOption } = paymentState;
12
12
  const exchangeOptions = externalPaymentOptions.options.get("exchange");
13
- if (!exchangeOptions) {
13
+ const isLoading = externalPaymentOptions.loading;
14
+ if (!isLoading && !exchangeOptions) {
14
15
  return /* @__PURE__ */ jsxs(PageContent, { children: [
15
16
  /* @__PURE__ */ jsx(OrderHeader, { minified: true }),
16
17
  /* @__PURE__ */ jsx(ModalH1, { children: "No Exchange options available" })
@@ -18,9 +19,16 @@ const SelectExchange = () => {
18
19
  }
19
20
  const paymentOptions = paymentState.buttonProps?.paymentOptions;
20
21
  const isAllExchangesOnly = paymentOptions && paymentOptions.length === 1 && paymentOptions[0] === "AllExchanges";
21
- const filtered = isAllExchangesOnly ? exchangeOptions.filter(
22
- (o) => o.id === ExternalPaymentOptions.Coinbase || o.id === ExternalPaymentOptions.Binance
23
- ) : exchangeOptions;
22
+ let filtered = [];
23
+ if (exchangeOptions) {
24
+ if (isAllExchangesOnly) {
25
+ filtered = exchangeOptions.filter(
26
+ (o) => o.id === ExternalPaymentOptions.Coinbase || o.id === ExternalPaymentOptions.Binance
27
+ );
28
+ } else {
29
+ filtered = exchangeOptions;
30
+ }
31
+ }
24
32
  const options = filtered.map((option) => ({
25
33
  id: option.id,
26
34
  title: option.cta,
@@ -39,7 +47,14 @@ const SelectExchange = () => {
39
47
  }));
40
48
  return /* @__PURE__ */ jsxs(PageContent, { children: [
41
49
  /* @__PURE__ */ jsx(OrderHeader, { minified: true, show: "zkp2p" }),
42
- /* @__PURE__ */ jsx(OptionsList, { options })
50
+ /* @__PURE__ */ jsx(
51
+ OptionsList,
52
+ {
53
+ requiredSkeletons: 2,
54
+ options,
55
+ isLoading
56
+ }
57
+ )
43
58
  ] });
44
59
  };
45
60
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/Pages/SelectExchange/index.tsx"],"sourcesContent":["import { ExternalPaymentOptions } from \"@daimo/pay-common\";\nimport React from \"react\";\n\nimport { ModalH1, PageContent } from \"../../Common/Modal/styles\";\n\nimport { ROUTES } from \"../../../constants/routes\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\nimport { OptionsList } from \"../../Common/OptionsList\";\nimport { OrderHeader } from \"../../Common/OrderHeader\";\n\nconst SelectExchange: React.FC = () => {\n const { paymentState, setRoute } = usePayContext();\n const { externalPaymentOptions, setSelectedExternalOption } = paymentState;\n const exchangeOptions = externalPaymentOptions.options.get(\"exchange\");\n\n if (!exchangeOptions) {\n return (\n <PageContent>\n <OrderHeader minified />\n <ModalH1>No Exchange options available</ModalH1>\n </PageContent>\n );\n }\n\n // For the exchange flow with single payment option, we only show the Coinbase and Binance options\n const paymentOptions = paymentState.buttonProps?.paymentOptions;\n const isAllExchangesOnly =\n paymentOptions &&\n paymentOptions.length === 1 &&\n paymentOptions[0] === \"AllExchanges\";\n\n const filtered = isAllExchangesOnly\n ? exchangeOptions.filter(\n (o) =>\n o.id === ExternalPaymentOptions.Coinbase ||\n o.id === ExternalPaymentOptions.Binance,\n )\n : exchangeOptions;\n\n const options = filtered.map((option) => ({\n id: option.id,\n title: option.cta,\n icons: [option.logoURI],\n onClick: () => {\n setSelectedExternalOption(option);\n const meta = { event: \"click-option\", option: option.id };\n if (paymentState.isDepositFlow) {\n setRoute(ROUTES.SELECT_EXTERNAL_AMOUNT, meta);\n } else {\n setRoute(ROUTES.WAITING_EXTERNAL, meta);\n }\n },\n disabled: option.disabled,\n subtitle: option.message,\n }));\n\n return (\n <PageContent>\n <OrderHeader minified show=\"zkp2p\" />\n <OptionsList options={options} />\n </PageContent>\n );\n};\n\nexport default SelectExchange;\n"],"names":[],"mappings":";;;;;;;;AAUA,MAAM,iBAA2B,MAAM;AACrC,EAAA,MAAM,EAAE,YAAA,EAAc,QAAS,EAAA,GAAI,aAAc,EAAA,CAAA;AACjD,EAAM,MAAA,EAAE,sBAAwB,EAAA,yBAAA,EAA8B,GAAA,YAAA,CAAA;AAC9D,EAAA,MAAM,eAAkB,GAAA,sBAAA,CAAuB,OAAQ,CAAA,GAAA,CAAI,UAAU,CAAA,CAAA;AAErE,EAAA,IAAI,CAAC,eAAiB,EAAA;AACpB,IAAA,4BACG,WACC,EAAA,EAAA,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,WAAA,EAAA,EAAY,UAAQ,IAAC,EAAA,CAAA;AAAA,sBACtB,GAAA,CAAC,WAAQ,QAA6B,EAAA,+BAAA,EAAA,CAAA;AAAA,KACxC,EAAA,CAAA,CAAA;AAAA,GAEJ;AAGA,EAAM,MAAA,cAAA,GAAiB,aAAa,WAAa,EAAA,cAAA,CAAA;AACjD,EAAA,MAAM,qBACJ,cACA,IAAA,cAAA,CAAe,WAAW,CAC1B,IAAA,cAAA,CAAe,CAAC,CAAM,KAAA,cAAA,CAAA;AAExB,EAAM,MAAA,QAAA,GAAW,qBACb,eAAgB,CAAA,MAAA;AAAA,IACd,CAAC,MACC,CAAE,CAAA,EAAA,KAAO,uBAAuB,QAChC,IAAA,CAAA,CAAE,OAAO,sBAAuB,CAAA,OAAA;AAAA,GAEpC,GAAA,eAAA,CAAA;AAEJ,EAAA,MAAM,OAAU,GAAA,QAAA,CAAS,GAAI,CAAA,CAAC,MAAY,MAAA;AAAA,IACxC,IAAI,MAAO,CAAA,EAAA;AAAA,IACX,OAAO,MAAO,CAAA,GAAA;AAAA,IACd,KAAA,EAAO,CAAC,MAAA,CAAO,OAAO,CAAA;AAAA,IACtB,SAAS,MAAM;AACb,MAAA,yBAAA,CAA0B,MAAM,CAAA,CAAA;AAChC,MAAA,MAAM,OAAO,EAAE,KAAA,EAAO,cAAgB,EAAA,MAAA,EAAQ,OAAO,EAAG,EAAA,CAAA;AACxD,MAAA,IAAI,aAAa,aAAe,EAAA;AAC9B,QAAS,QAAA,CAAA,MAAA,CAAO,wBAAwB,IAAI,CAAA,CAAA;AAAA,OACvC,MAAA;AACL,QAAS,QAAA,CAAA,MAAA,CAAO,kBAAkB,IAAI,CAAA,CAAA;AAAA,OACxC;AAAA,KACF;AAAA,IACA,UAAU,MAAO,CAAA,QAAA;AAAA,IACjB,UAAU,MAAO,CAAA,OAAA;AAAA,GACjB,CAAA,CAAA,CAAA;AAEF,EAAA,4BACG,WACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,WAAY,EAAA,EAAA,QAAA,EAAQ,IAAC,EAAA,IAAA,EAAK,OAAQ,EAAA,CAAA;AAAA,oBACnC,GAAA,CAAC,eAAY,OAAkB,EAAA,CAAA;AAAA,GACjC,EAAA,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/Pages/SelectExchange/index.tsx"],"sourcesContent":["import { ExternalPaymentOptions } from \"@daimo/pay-common\";\nimport React from \"react\";\n\nimport { ModalH1, PageContent } from \"../../Common/Modal/styles\";\n\nimport { ROUTES } from \"../../../constants/routes\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\nimport { OptionsList } from \"../../Common/OptionsList\";\nimport { OrderHeader } from \"../../Common/OrderHeader\";\n\nconst SelectExchange: React.FC = () => {\n const { paymentState, setRoute } = usePayContext();\n const { externalPaymentOptions, setSelectedExternalOption } = paymentState;\n const exchangeOptions = externalPaymentOptions.options.get(\"exchange\");\n const isLoading = externalPaymentOptions.loading;\n\n // No exchange options available\n if (!isLoading && !exchangeOptions) {\n return (\n <PageContent>\n <OrderHeader minified />\n <ModalH1>No Exchange options available</ModalH1>\n </PageContent>\n );\n }\n\n // For the exchange flow with single \"AllExchanges\" payment option, we only\n // show the Coinbase and Binance options\n const paymentOptions = paymentState.buttonProps?.paymentOptions;\n const isAllExchangesOnly =\n paymentOptions &&\n paymentOptions.length === 1 &&\n paymentOptions[0] === \"AllExchanges\";\n\n let filtered: typeof exchangeOptions = [];\n if (exchangeOptions) {\n if (isAllExchangesOnly) {\n filtered = exchangeOptions.filter(\n (o) =>\n o.id === ExternalPaymentOptions.Coinbase ||\n o.id === ExternalPaymentOptions.Binance,\n );\n } else {\n filtered = exchangeOptions;\n }\n }\n\n const options = filtered.map((option) => ({\n id: option.id,\n title: option.cta,\n icons: [option.logoURI],\n onClick: () => {\n setSelectedExternalOption(option);\n const meta = { event: \"click-option\", option: option.id };\n if (paymentState.isDepositFlow) {\n setRoute(ROUTES.SELECT_EXTERNAL_AMOUNT, meta);\n } else {\n setRoute(ROUTES.WAITING_EXTERNAL, meta);\n }\n },\n disabled: option.disabled,\n subtitle: option.message,\n }));\n\n return (\n <PageContent>\n <OrderHeader minified show=\"zkp2p\" />\n <OptionsList\n requiredSkeletons={2}\n options={options}\n isLoading={isLoading}\n />\n </PageContent>\n );\n};\n\nexport default SelectExchange;\n"],"names":[],"mappings":";;;;;;;;AAUA,MAAM,iBAA2B,MAAM;AACrC,EAAA,MAAM,EAAE,YAAA,EAAc,QAAS,EAAA,GAAI,aAAc,EAAA,CAAA;AACjD,EAAM,MAAA,EAAE,sBAAwB,EAAA,yBAAA,EAA8B,GAAA,YAAA,CAAA;AAC9D,EAAA,MAAM,eAAkB,GAAA,sBAAA,CAAuB,OAAQ,CAAA,GAAA,CAAI,UAAU,CAAA,CAAA;AACrE,EAAA,MAAM,YAAY,sBAAuB,CAAA,OAAA,CAAA;AAGzC,EAAI,IAAA,CAAC,SAAa,IAAA,CAAC,eAAiB,EAAA;AAClC,IAAA,4BACG,WACC,EAAA,EAAA,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,WAAA,EAAA,EAAY,UAAQ,IAAC,EAAA,CAAA;AAAA,sBACtB,GAAA,CAAC,WAAQ,QAA6B,EAAA,+BAAA,EAAA,CAAA;AAAA,KACxC,EAAA,CAAA,CAAA;AAAA,GAEJ;AAIA,EAAM,MAAA,cAAA,GAAiB,aAAa,WAAa,EAAA,cAAA,CAAA;AACjD,EAAA,MAAM,qBACJ,cACA,IAAA,cAAA,CAAe,WAAW,CAC1B,IAAA,cAAA,CAAe,CAAC,CAAM,KAAA,cAAA,CAAA;AAExB,EAAA,IAAI,WAAmC,EAAC,CAAA;AACxC,EAAA,IAAI,eAAiB,EAAA;AACnB,IAAA,IAAI,kBAAoB,EAAA;AACtB,MAAA,QAAA,GAAW,eAAgB,CAAA,MAAA;AAAA,QACzB,CAAC,MACC,CAAE,CAAA,EAAA,KAAO,uBAAuB,QAChC,IAAA,CAAA,CAAE,OAAO,sBAAuB,CAAA,OAAA;AAAA,OACpC,CAAA;AAAA,KACK,MAAA;AACL,MAAW,QAAA,GAAA,eAAA,CAAA;AAAA,KACb;AAAA,GACF;AAEA,EAAA,MAAM,OAAU,GAAA,QAAA,CAAS,GAAI,CAAA,CAAC,MAAY,MAAA;AAAA,IACxC,IAAI,MAAO,CAAA,EAAA;AAAA,IACX,OAAO,MAAO,CAAA,GAAA;AAAA,IACd,KAAA,EAAO,CAAC,MAAA,CAAO,OAAO,CAAA;AAAA,IACtB,SAAS,MAAM;AACb,MAAA,yBAAA,CAA0B,MAAM,CAAA,CAAA;AAChC,MAAA,MAAM,OAAO,EAAE,KAAA,EAAO,cAAgB,EAAA,MAAA,EAAQ,OAAO,EAAG,EAAA,CAAA;AACxD,MAAA,IAAI,aAAa,aAAe,EAAA;AAC9B,QAAS,QAAA,CAAA,MAAA,CAAO,wBAAwB,IAAI,CAAA,CAAA;AAAA,OACvC,MAAA;AACL,QAAS,QAAA,CAAA,MAAA,CAAO,kBAAkB,IAAI,CAAA,CAAA;AAAA,OACxC;AAAA,KACF;AAAA,IACA,UAAU,MAAO,CAAA,QAAA;AAAA,IACjB,UAAU,MAAO,CAAA,OAAA;AAAA,GACjB,CAAA,CAAA,CAAA;AAEF,EAAA,4BACG,WACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,WAAY,EAAA,EAAA,QAAA,EAAQ,IAAC,EAAA,IAAA,EAAK,OAAQ,EAAA,CAAA;AAAA,oBACnC,GAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,iBAAmB,EAAA,CAAA;AAAA,QACnB,OAAA;AAAA,QACA,SAAA;AAAA,OAAA;AAAA,KACF;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
@@ -4,7 +4,7 @@ import { usePayContext } from '../../../hooks/usePayContext.js';
4
4
  import { PageContent } from '../../Common/Modal/styles.js';
5
5
  import { DepositAddressPaymentOptions, getAddressContraction } from '@daimo/pay-common';
6
6
  import { useWallet } from '@solana/wallet-adapter-react';
7
- import { useAccount, useDisconnect } from 'wagmi';
7
+ import { useAccount, useDisconnect, useConnections } from 'wagmi';
8
8
  import { Ethereum, Solana, Polygon, Base, Tron } from '../../../assets/chains.js';
9
9
  import { MetaMask, Trust, Rainbow, Phantom, Rabby, WalletIcon } from '../../../assets/logos.js';
10
10
  import useIsMobile from '../../../hooks/useIsMobile.js';
@@ -34,6 +34,7 @@ function SelectMethod() {
34
34
  } = useWallet();
35
35
  const { setRoute, paymentState, log, disableMobileInjector } = usePayContext();
36
36
  const { disconnectAsync } = useDisconnect();
37
+ const connections = useConnections();
37
38
  const { externalPaymentOptions, senderEnsName, topOptionsOrder } = paymentState;
38
39
  const showConnectedEth = isEthConnected && (!isMobile || !disableMobileInjector);
39
40
  const showConnectedSolana = isSolanaConnected && (!isMobile || !disableMobileInjector);
@@ -135,7 +136,9 @@ function SelectMethod() {
135
136
  title: isEthConnected || isSolanaConnected ? locales.payWithAnotherWallet : locales.payWithWallet,
136
137
  icons: getBestUnconnectedWalletIcons(connector, isMobile, walletOrder),
137
138
  onClick: async () => {
138
- await disconnectAsync();
139
+ for (const connection of connections) {
140
+ await disconnectAsync({ connector: connection.connector });
141
+ }
139
142
  await disconnectSolana();
140
143
  setRoute(ROUTES.CONNECTORS);
141
144
  }
@@ -234,7 +237,7 @@ function SelectMethod() {
234
237
  /* @__PURE__ */ jsx(
235
238
  OptionsList,
236
239
  {
237
- requiredSkeletons: isMobile ? 3 : 4,
240
+ requiredSkeletons: 3,
238
241
  isLoading: externalPaymentOptions.loading,
239
242
  options: externalPaymentOptions.loading ? [] : options
240
243
  }
@@ -274,7 +277,7 @@ function getBestUnconnectedWalletIcons(connector, isMobile, walletOrder) {
274
277
  }
275
278
  if (icons.length > 0) return icons;
276
279
  }
277
- const [isRainbow, isTrust, isPhantom, isCoinbase, isMetaMask, isRabby] = [
280
+ const [isRainbow, isTrust, isPhantom, isMetaMask, isRabby] = [
278
281
  strippedId?.includes("rainbow"),
279
282
  strippedId?.includes("trust"),
280
283
  strippedId?.includes("phantom"),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/Pages/SelectMethod/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\n\nimport { PageContent } from \"../../Common/Modal/styles\";\n\nimport {\n DepositAddressPaymentOptions,\n getAddressContraction,\n} from \"@daimo/pay-common\";\nimport { useWallet } from \"@solana/wallet-adapter-react\";\nimport { Connector, useAccount, useDisconnect } from \"wagmi\";\nimport { Base, Ethereum, Polygon, Solana, Tron } from \"../../../assets/chains\";\nimport {\n MetaMask,\n Phantom,\n Rabby,\n Rainbow,\n Trust,\n WalletIcon,\n} from \"../../../assets/logos\";\nimport useIsMobile from \"../../../hooks/useIsMobile\";\nimport useLocales from \"../../../hooks/useLocales\";\nimport { flattenChildren } from \"../../../utils\";\nimport { walletConfigs } from \"../../../wallets/walletConfigs\";\nimport { Option, OptionsList } from \"../../Common/OptionsList\";\nimport { OrderHeader } from \"../../Common/OrderHeader\";\nimport PoweredByFooter from \"../../Common/PoweredByFooter\";\nimport WalletChainLogo from \"../../Common/WalletChainLogo\";\n\nexport default function SelectMethod() {\n const locales = useLocales();\n const payWithString = flattenChildren(locales.payWith).join(\"\");\n const { isMobile } = useIsMobile();\n\n const {\n address,\n chain,\n isConnected: isEthConnected,\n connector,\n } = useAccount();\n const {\n connected: isSolanaConnected,\n wallet: solanaWallet,\n disconnect: disconnectSolana,\n publicKey,\n } = useWallet();\n const { setRoute, paymentState, log, disableMobileInjector } =\n usePayContext();\n const { disconnectAsync } = useDisconnect();\n\n const { externalPaymentOptions, senderEnsName, topOptionsOrder } =\n paymentState;\n\n // Decide whether to show the connected eth account, solana account, or both.\n // Desktop: Always show connected wallets when available\n // Mobile: Only show connected wallets when mobile injector is enabled (!disableMobileInjector)\n const showConnectedEth =\n isEthConnected && (!isMobile || !disableMobileInjector);\n const showConnectedSolana =\n isSolanaConnected && (!isMobile || !disableMobileInjector);\n\n const getConnectedWalletOptions = () => {\n const showChainLogo = isEthConnected && isSolanaConnected;\n\n const connectedOptions: Option[] = [];\n\n if (showConnectedEth) {\n const ethWalletDisplayName =\n senderEnsName ?? (address ? getAddressContraction(address) : \"wallet\");\n\n // Prefer icon from walletConfigs if there's a name match, otherwise fall back\n // to the connector-provided icon, and finally to the generic WalletIcon.\n let walletIcon: JSX.Element;\n\n const matchedConfig = Object.values(walletConfigs).find((cfg) => {\n if (!cfg.name || !connector?.name) return false;\n const cfgName = cfg.name.toLowerCase();\n const connName = connector.name.toLowerCase();\n return cfgName.includes(connName) || connName.includes(cfgName);\n });\n\n if (matchedConfig?.icon) {\n walletIcon =\n typeof matchedConfig.icon === \"string\" ? (\n <img src={matchedConfig.icon} alt={matchedConfig.name} />\n ) : (\n (matchedConfig.icon as JSX.Element)\n );\n } else if (connector?.icon) {\n walletIcon = (\n <div style={{ borderRadius: \"22.5%\", overflow: \"hidden\" }}>\n <img src={connector.icon} alt={connector.name} />\n </div>\n );\n } else {\n walletIcon = <WalletIcon />;\n }\n\n const connectedEthWalletOption = {\n id: \"connectedWallet\",\n title: `${payWithString} ${ethWalletDisplayName}`,\n icons: [\n <WalletChainLogo\n key=\"eth\"\n walletIcon={walletIcon}\n walletName={connector?.name || \"Wallet\"}\n chainLogo={showChainLogo ? <Ethereum /> : null}\n />,\n ],\n onClick: () => {\n paymentState.setTokenMode(\"evm\");\n setRoute(ROUTES.SELECT_TOKEN, {\n event: \"click-wallet\",\n walletId: connector?.id,\n chainId: chain?.id,\n address: address,\n });\n },\n };\n connectedOptions.push(connectedEthWalletOption);\n }\n\n if (showConnectedSolana) {\n const solWalletDisplayName = getAddressContraction(\n publicKey?.toBase58() ?? \"\",\n );\n\n // Prefer icon from walletConfigs if available\n let solWalletIcon: React.ReactNode;\n const solMatchedConfig = Object.values(walletConfigs).find((cfg) => {\n if (!cfg.name) return false;\n const cfgName = cfg.name.toLowerCase();\n const solName = solanaWallet?.adapter.name.toLowerCase() || \"\";\n return cfgName.includes(solName) || solName.includes(cfgName);\n });\n\n if (solMatchedConfig?.icon) {\n solWalletIcon =\n typeof solMatchedConfig.icon === \"string\" ? (\n <img src={solMatchedConfig.icon} alt={solMatchedConfig.name} />\n ) : (\n (solMatchedConfig.icon as JSX.Element)\n );\n } else if (solanaWallet?.adapter.icon) {\n solWalletIcon = solanaWallet.adapter.icon;\n } else {\n solWalletIcon = <Solana />;\n }\n\n const connectedSolWalletOption = {\n id: \"connectedSolanaWallet\",\n title: `${payWithString} ${solWalletDisplayName}`,\n icons: [\n <WalletChainLogo\n key=\"sol-wallet\"\n walletIcon={solWalletIcon}\n walletName={solanaWallet?.adapter.name || \"Wallet\"}\n chainLogo={showChainLogo && <Solana />}\n />,\n ],\n onClick: () => {\n paymentState.setTokenMode(\"solana\");\n setRoute(ROUTES.SELECT_TOKEN, {\n event: \"click-wallet\",\n walletId: solanaWallet?.adapter.name,\n chainId: \"solana\",\n address: publicKey?.toBase58(),\n });\n },\n };\n\n connectedOptions.push(connectedSolWalletOption);\n }\n\n return connectedOptions;\n };\n\n const connectedWalletOptions = getConnectedWalletOptions();\n\n // Get custom wallet list if specified\n const walletOrder =\n paymentState.externalPaymentOptions.parsedConfig.walletOrder;\n\n const unconnectedWalletOption = {\n id: \"unconnectedWallet\",\n title:\n isEthConnected || isSolanaConnected\n ? locales.payWithAnotherWallet\n : locales.payWithWallet,\n icons: getBestUnconnectedWalletIcons(connector, isMobile, walletOrder),\n onClick: async () => {\n await disconnectAsync();\n await disconnectSolana();\n setRoute(ROUTES.CONNECTORS);\n },\n };\n\n log(\n `[SELECT_METHOD] loading: ${externalPaymentOptions.loading}, options: ${JSON.stringify(\n externalPaymentOptions.options,\n )}`,\n );\n\n // Build categorized options\n type CategorizedOption = {\n id: string;\n title: string;\n subtitle?: string;\n icons: (React.ReactNode | string)[];\n onClick: () => void;\n disabled?: boolean;\n category: string;\n };\n\n const categorizedOptions: CategorizedOption[] = [];\n\n // Connected wallets always appear first\n connectedWalletOptions.forEach((opt) =>\n categorizedOptions.push({ ...opt, category: \"connected\" }),\n );\n\n // Wallet options (unconnected) - only if AllWallets is in topOptionsOrder\n if (topOptionsOrder.includes(\"AllWallets\")) {\n categorizedOptions.push({\n ...unconnectedWalletOption,\n category: \"AllWallets\",\n });\n }\n\n // Exchange options - only if AllExchanges is in topOptionsOrder\n const exchangeOptions = externalPaymentOptions.options.get(\"exchange\") ?? [];\n const showExchangePaymentMethod =\n exchangeOptions.length > 0 && topOptionsOrder.includes(\"AllExchanges\");\n if (showExchangePaymentMethod) {\n categorizedOptions.push({\n id: \"exchange\",\n title: locales.payWithExchange,\n icons: exchangeOptions.slice(0, 3).map((option) => option.logoURI),\n onClick: () => {\n setRoute(ROUTES.SELECT_EXCHANGE, {\n event: \"click-option\",\n option: \"exchange\",\n });\n },\n category: \"AllExchanges\",\n });\n }\n\n // Tron option - only if Tron is in topOptionsOrder\n if (topOptionsOrder.includes(\"Tron\")) {\n const tronOption = paymentState.depositAddressOptions.options?.find(\n (option) => option.id === DepositAddressPaymentOptions.TRON_USDT,\n );\n if (tronOption) {\n categorizedOptions.push({\n id: \"tron\",\n title: tronOption.id, // Use the actual title like \"USDT on Tron\"\n icons: [tronOption.logoURI],\n onClick: () => {\n paymentState.setSelectedDepositAddressOption(tronOption);\n setRoute(\n paymentState.isDepositFlow\n ? ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT\n : ROUTES.WAITING_DEPOSIT_ADDRESS,\n { event: \"select_tron\" },\n );\n },\n category: \"Tron\",\n });\n }\n }\n\n // Deposit address options - only if AllAddresses is in topOptionsOrder\n if (topOptionsOrder.includes(\"AllAddresses\")) {\n const depositAddressOption = getDepositAddressOption(\n setRoute,\n locales,\n topOptionsOrder.includes(\"Tron\"), // exclude Tron if shown separately\n );\n categorizedOptions.push({\n ...depositAddressOption,\n category: \"AllAddresses\",\n });\n }\n\n // ZKP2P options - only if AllPaymentApps is in topOptionsOrder\n const zkp2pOptions = externalPaymentOptions.options.get(\"zkp2p\") ?? [];\n const showZkp2pPaymentMethod =\n !isMobile &&\n zkp2pOptions.length > 0 &&\n topOptionsOrder.includes(\"AllPaymentApps\");\n if (showZkp2pPaymentMethod) {\n categorizedOptions.push({\n id: \"ZKP2P\",\n title: locales.payViaPaymentApp,\n icons: zkp2pOptions.slice(0, 2).map((option) => option.logoURI),\n onClick: () => {\n setRoute(ROUTES.SELECT_ZKP2P);\n },\n category: \"AllPaymentApps\",\n });\n }\n\n // Sort based on topOptionsOrder, keeping connected wallets first\n const sortedOptions = categorizedOptions.sort((a, b) => {\n // Connected wallets always first\n if (a.category === \"connected\") return -1;\n if (b.category === \"connected\") return 1;\n\n // Then sort by topOptionsOrder\n const aIndex = topOptionsOrder.indexOf(a.category);\n const bIndex = topOptionsOrder.indexOf(b.category);\n\n // If not in order list, put at the end\n if (aIndex === -1 && bIndex === -1) return 0;\n if (aIndex === -1) return 1;\n if (bIndex === -1) return -1;\n\n return aIndex - bIndex;\n });\n\n // Remove category field for final options\n const options = sortedOptions.map(({ category, ...opt }) => opt);\n\n // Order disabled to bottom\n options.sort((a, b) => (a.disabled ? 1 : 0) - (b.disabled ? 1 : 0));\n\n return (\n <PageContent>\n <OrderHeader />\n\n <OptionsList\n requiredSkeletons={isMobile ? 3 : 4}\n isLoading={externalPaymentOptions.loading}\n options={externalPaymentOptions.loading ? [] : options}\n />\n <PoweredByFooter />\n </PageContent>\n );\n}\n\n// Get 3 icons, skipping the one that is already connected\nfunction getBestUnconnectedWalletIcons(\n connector: Connector | undefined,\n isMobile: boolean,\n walletOrder?: string[],\n) {\n const icons: JSX.Element[] = [];\n const strippedId = connector?.id.toLowerCase();\n\n // If custom wallet list is provided, use those wallets\n if (walletOrder && walletOrder.length > 0 && isMobile) {\n const maxIcons = 3;\n for (const walletName of walletOrder) {\n if (icons.length >= maxIcons) break;\n\n // Skip if this wallet is already connected\n if (strippedId?.includes(walletName.toLowerCase())) continue;\n\n // Find wallet config\n const walletId = Object.keys(walletConfigs).find((id) => {\n const wallet = walletConfigs[id];\n const nameLower = walletName.toLowerCase();\n return (\n wallet.name?.toLowerCase().includes(nameLower) ||\n wallet.shortName?.toLowerCase().includes(nameLower) ||\n id.toLowerCase().includes(nameLower)\n );\n });\n\n if (walletId) {\n const wallet = walletConfigs[walletId];\n const icon = wallet.iconConnector || wallet.icon;\n if (icon) {\n icons.push(\n <div\n key={walletId}\n style={{ borderRadius: \"22.5%\", overflow: \"hidden\" }}\n >\n {icon}\n </div>,\n );\n }\n }\n }\n\n if (icons.length > 0) return icons;\n }\n\n // Default icons (fallback)\n const [isRainbow, isTrust, isPhantom, isCoinbase, isMetaMask, isRabby] = [\n strippedId?.includes(\"rainbow\"),\n strippedId?.includes(\"trust\"),\n strippedId?.includes(\"phantom\"),\n strippedId?.includes(\"coinbase\"),\n strippedId?.includes(\"metamask\"),\n strippedId?.includes(\"rabby\"),\n ];\n\n if (isMobile) {\n if (!isMetaMask) icons.push(<MetaMask />);\n if (!isTrust) icons.push(<Trust background />);\n if (!isRainbow && icons.length < 3) icons.push(<Rainbow />);\n } else {\n if (!isMetaMask) icons.push(<MetaMask />);\n if (!isRainbow) icons.push(<Rainbow />);\n if (!isPhantom) icons.push(<Phantom />);\n if (!isRabby && icons.length < 3) icons.push(<Rabby />);\n }\n\n return icons;\n}\n\nfunction getDepositAddressOption(\n setRoute: (route: ROUTES, data?: Record<string, any>) => void,\n locales: ReturnType<typeof useLocales>,\n excludeTron: boolean = false,\n) {\n const icons = excludeTron\n ? [<Ethereum key=\"eth\" />, <Polygon key=\"polygon\" />, <Base key=\"base\" />]\n : [<Ethereum key=\"eth\" />, <Tron key=\"tron\" />, <Base key=\"base\" />];\n\n return {\n id: \"depositAddress\",\n title: locales.payToAddress,\n icons,\n onClick: () => {\n setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN);\n },\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/Pages/SelectMethod/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\n\nimport { PageContent } from \"../../Common/Modal/styles\";\n\nimport {\n DepositAddressPaymentOptions,\n getAddressContraction,\n} from \"@daimo/pay-common\";\nimport { useWallet } from \"@solana/wallet-adapter-react\";\nimport { Connector, useAccount, useConnections, useDisconnect } from \"wagmi\";\nimport { Base, Ethereum, Polygon, Solana, Tron } from \"../../../assets/chains\";\nimport {\n MetaMask,\n Phantom,\n Rabby,\n Rainbow,\n Trust,\n WalletIcon,\n} from \"../../../assets/logos\";\nimport useIsMobile from \"../../../hooks/useIsMobile\";\nimport useLocales from \"../../../hooks/useLocales\";\nimport { flattenChildren } from \"../../../utils\";\nimport { walletConfigs } from \"../../../wallets/walletConfigs\";\nimport { Option, OptionsList } from \"../../Common/OptionsList\";\nimport { OrderHeader } from \"../../Common/OrderHeader\";\nimport PoweredByFooter from \"../../Common/PoweredByFooter\";\nimport WalletChainLogo from \"../../Common/WalletChainLogo\";\n\nexport default function SelectMethod() {\n const locales = useLocales();\n const payWithString = flattenChildren(locales.payWith).join(\"\");\n const { isMobile } = useIsMobile();\n\n const {\n address,\n chain,\n isConnected: isEthConnected,\n connector,\n } = useAccount();\n const {\n connected: isSolanaConnected,\n wallet: solanaWallet,\n disconnect: disconnectSolana,\n publicKey,\n } = useWallet();\n const { setRoute, paymentState, log, disableMobileInjector } =\n usePayContext();\n const { disconnectAsync } = useDisconnect();\n const connections = useConnections();\n\n const { externalPaymentOptions, senderEnsName, topOptionsOrder } =\n paymentState;\n\n // Decide whether to show the connected eth account, solana account, or both.\n // Desktop: Always show connected wallets when available\n // Mobile: Only show connected wallets when mobile injector is enabled (!disableMobileInjector)\n const showConnectedEth =\n isEthConnected && (!isMobile || !disableMobileInjector);\n const showConnectedSolana =\n isSolanaConnected && (!isMobile || !disableMobileInjector);\n\n const getConnectedWalletOptions = () => {\n const showChainLogo = isEthConnected && isSolanaConnected;\n\n const connectedOptions: Option[] = [];\n\n if (showConnectedEth) {\n const ethWalletDisplayName =\n senderEnsName ?? (address ? getAddressContraction(address) : \"wallet\");\n\n // Prefer icon from walletConfigs if there's a name match, otherwise fall back\n // to the connector-provided icon, and finally to the generic WalletIcon.\n let walletIcon: JSX.Element;\n\n const matchedConfig = Object.values(walletConfigs).find((cfg) => {\n if (!cfg.name || !connector?.name) return false;\n const cfgName = cfg.name.toLowerCase();\n const connName = connector.name.toLowerCase();\n return cfgName.includes(connName) || connName.includes(cfgName);\n });\n\n if (matchedConfig?.icon) {\n walletIcon =\n typeof matchedConfig.icon === \"string\" ? (\n <img src={matchedConfig.icon} alt={matchedConfig.name} />\n ) : (\n (matchedConfig.icon as JSX.Element)\n );\n } else if (connector?.icon) {\n walletIcon = (\n <div style={{ borderRadius: \"22.5%\", overflow: \"hidden\" }}>\n <img src={connector.icon} alt={connector.name} />\n </div>\n );\n } else {\n walletIcon = <WalletIcon />;\n }\n\n const connectedEthWalletOption = {\n id: \"connectedWallet\",\n title: `${payWithString} ${ethWalletDisplayName}`,\n icons: [\n <WalletChainLogo\n key=\"eth\"\n walletIcon={walletIcon}\n walletName={connector?.name || \"Wallet\"}\n chainLogo={showChainLogo ? <Ethereum /> : null}\n />,\n ],\n onClick: () => {\n paymentState.setTokenMode(\"evm\");\n setRoute(ROUTES.SELECT_TOKEN, {\n event: \"click-wallet\",\n walletId: connector?.id,\n chainId: chain?.id,\n address: address,\n });\n },\n };\n connectedOptions.push(connectedEthWalletOption);\n }\n\n if (showConnectedSolana) {\n const solWalletDisplayName = getAddressContraction(\n publicKey?.toBase58() ?? \"\",\n );\n\n // Prefer icon from walletConfigs if available\n let solWalletIcon: React.ReactNode;\n const solMatchedConfig = Object.values(walletConfigs).find((cfg) => {\n if (!cfg.name) return false;\n const cfgName = cfg.name.toLowerCase();\n const solName = solanaWallet?.adapter.name.toLowerCase() || \"\";\n return cfgName.includes(solName) || solName.includes(cfgName);\n });\n\n if (solMatchedConfig?.icon) {\n solWalletIcon =\n typeof solMatchedConfig.icon === \"string\" ? (\n <img src={solMatchedConfig.icon} alt={solMatchedConfig.name} />\n ) : (\n (solMatchedConfig.icon as JSX.Element)\n );\n } else if (solanaWallet?.adapter.icon) {\n solWalletIcon = solanaWallet.adapter.icon;\n } else {\n solWalletIcon = <Solana />;\n }\n\n const connectedSolWalletOption = {\n id: \"connectedSolanaWallet\",\n title: `${payWithString} ${solWalletDisplayName}`,\n icons: [\n <WalletChainLogo\n key=\"sol-wallet\"\n walletIcon={solWalletIcon}\n walletName={solanaWallet?.adapter.name || \"Wallet\"}\n chainLogo={showChainLogo && <Solana />}\n />,\n ],\n onClick: () => {\n paymentState.setTokenMode(\"solana\");\n setRoute(ROUTES.SELECT_TOKEN, {\n event: \"click-wallet\",\n walletId: solanaWallet?.adapter.name,\n chainId: \"solana\",\n address: publicKey?.toBase58(),\n });\n },\n };\n\n connectedOptions.push(connectedSolWalletOption);\n }\n\n return connectedOptions;\n };\n\n const connectedWalletOptions = getConnectedWalletOptions();\n\n // Get custom wallet list if specified\n const walletOrder =\n paymentState.externalPaymentOptions.parsedConfig.walletOrder;\n\n const unconnectedWalletOption = {\n id: \"unconnectedWallet\",\n title:\n isEthConnected || isSolanaConnected\n ? locales.payWithAnotherWallet\n : locales.payWithWallet,\n icons: getBestUnconnectedWalletIcons(connector, isMobile, walletOrder),\n onClick: async () => {\n // Disconnect all wagmi connections\n for (const connection of connections) {\n await disconnectAsync({ connector: connection.connector });\n }\n await disconnectSolana();\n setRoute(ROUTES.CONNECTORS);\n },\n };\n\n log(\n `[SELECT_METHOD] loading: ${externalPaymentOptions.loading}, options: ${JSON.stringify(\n externalPaymentOptions.options,\n )}`,\n );\n\n // Build categorized options\n type CategorizedOption = {\n id: string;\n title: string;\n subtitle?: string;\n icons: (React.ReactNode | string)[];\n onClick: () => void;\n disabled?: boolean;\n category: string;\n };\n\n const categorizedOptions: CategorizedOption[] = [];\n\n // Connected wallets always appear first\n connectedWalletOptions.forEach((opt) =>\n categorizedOptions.push({ ...opt, category: \"connected\" }),\n );\n\n // Wallet options (unconnected) - only if AllWallets is in topOptionsOrder\n if (topOptionsOrder.includes(\"AllWallets\")) {\n categorizedOptions.push({\n ...unconnectedWalletOption,\n category: \"AllWallets\",\n });\n }\n\n // Exchange options - only if AllExchanges is in topOptionsOrder\n const exchangeOptions = externalPaymentOptions.options.get(\"exchange\") ?? [];\n const showExchangePaymentMethod =\n exchangeOptions.length > 0 && topOptionsOrder.includes(\"AllExchanges\");\n if (showExchangePaymentMethod) {\n categorizedOptions.push({\n id: \"exchange\",\n title: locales.payWithExchange,\n icons: exchangeOptions.slice(0, 3).map((option) => option.logoURI),\n onClick: () => {\n setRoute(ROUTES.SELECT_EXCHANGE, {\n event: \"click-option\",\n option: \"exchange\",\n });\n },\n category: \"AllExchanges\",\n });\n }\n\n // Tron option - only if Tron is in topOptionsOrder\n if (topOptionsOrder.includes(\"Tron\")) {\n const tronOption = paymentState.depositAddressOptions.options?.find(\n (option) => option.id === DepositAddressPaymentOptions.TRON_USDT,\n );\n if (tronOption) {\n categorizedOptions.push({\n id: \"tron\",\n title: tronOption.id, // Use the actual title like \"USDT on Tron\"\n icons: [tronOption.logoURI],\n onClick: () => {\n paymentState.setSelectedDepositAddressOption(tronOption);\n setRoute(\n paymentState.isDepositFlow\n ? ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT\n : ROUTES.WAITING_DEPOSIT_ADDRESS,\n { event: \"select_tron\" },\n );\n },\n category: \"Tron\",\n });\n }\n }\n\n // Deposit address options - only if AllAddresses is in topOptionsOrder\n if (topOptionsOrder.includes(\"AllAddresses\")) {\n const depositAddressOption = getDepositAddressOption(\n setRoute,\n locales,\n topOptionsOrder.includes(\"Tron\"), // exclude Tron if shown separately\n );\n categorizedOptions.push({\n ...depositAddressOption,\n category: \"AllAddresses\",\n });\n }\n\n // ZKP2P options - only if AllPaymentApps is in topOptionsOrder\n const zkp2pOptions = externalPaymentOptions.options.get(\"zkp2p\") ?? [];\n const showZkp2pPaymentMethod =\n !isMobile &&\n zkp2pOptions.length > 0 &&\n topOptionsOrder.includes(\"AllPaymentApps\");\n if (showZkp2pPaymentMethod) {\n categorizedOptions.push({\n id: \"ZKP2P\",\n title: locales.payViaPaymentApp,\n icons: zkp2pOptions.slice(0, 2).map((option) => option.logoURI),\n onClick: () => {\n setRoute(ROUTES.SELECT_ZKP2P);\n },\n category: \"AllPaymentApps\",\n });\n }\n\n // Sort based on topOptionsOrder, keeping connected wallets first\n const sortedOptions = categorizedOptions.sort((a, b) => {\n // Connected wallets always first\n if (a.category === \"connected\") return -1;\n if (b.category === \"connected\") return 1;\n\n // Then sort by topOptionsOrder\n const aIndex = topOptionsOrder.indexOf(a.category);\n const bIndex = topOptionsOrder.indexOf(b.category);\n\n // If not in order list, put at the end\n if (aIndex === -1 && bIndex === -1) return 0;\n if (aIndex === -1) return 1;\n if (bIndex === -1) return -1;\n\n return aIndex - bIndex;\n });\n\n // Remove category field for final options\n const options = sortedOptions.map(({ category, ...opt }) => opt);\n\n // Order disabled to bottom\n options.sort((a, b) => (a.disabled ? 1 : 0) - (b.disabled ? 1 : 0));\n\n return (\n <PageContent>\n <OrderHeader />\n\n <OptionsList\n requiredSkeletons={3}\n isLoading={externalPaymentOptions.loading}\n options={externalPaymentOptions.loading ? [] : options}\n />\n <PoweredByFooter />\n </PageContent>\n );\n}\n\n// Get 3 icons, skipping the one that is already connected\nfunction getBestUnconnectedWalletIcons(\n connector: Connector | undefined,\n isMobile: boolean,\n walletOrder?: string[],\n) {\n const icons: JSX.Element[] = [];\n const strippedId = connector?.id.toLowerCase();\n\n // If custom wallet list is provided, use those wallets\n if (walletOrder && walletOrder.length > 0 && isMobile) {\n const maxIcons = 3;\n for (const walletName of walletOrder) {\n if (icons.length >= maxIcons) break;\n\n // Skip if this wallet is already connected\n if (strippedId?.includes(walletName.toLowerCase())) continue;\n\n // Find wallet config\n const walletId = Object.keys(walletConfigs).find((id) => {\n const wallet = walletConfigs[id];\n const nameLower = walletName.toLowerCase();\n return (\n wallet.name?.toLowerCase().includes(nameLower) ||\n wallet.shortName?.toLowerCase().includes(nameLower) ||\n id.toLowerCase().includes(nameLower)\n );\n });\n\n if (walletId) {\n const wallet = walletConfigs[walletId];\n const icon = wallet.iconConnector || wallet.icon;\n if (icon) {\n icons.push(\n <div\n key={walletId}\n style={{ borderRadius: \"22.5%\", overflow: \"hidden\" }}\n >\n {icon}\n </div>,\n );\n }\n }\n }\n\n if (icons.length > 0) return icons;\n }\n\n // Default icons (fallback)\n const [isRainbow, isTrust, isPhantom, isMetaMask, isRabby] = [\n strippedId?.includes(\"rainbow\"),\n strippedId?.includes(\"trust\"),\n strippedId?.includes(\"phantom\"),\n strippedId?.includes(\"coinbase\"),\n strippedId?.includes(\"metamask\"),\n strippedId?.includes(\"rabby\"),\n ];\n\n if (isMobile) {\n if (!isMetaMask) icons.push(<MetaMask />);\n if (!isTrust) icons.push(<Trust background />);\n if (!isRainbow && icons.length < 3) icons.push(<Rainbow />);\n } else {\n if (!isMetaMask) icons.push(<MetaMask />);\n if (!isRainbow) icons.push(<Rainbow />);\n if (!isPhantom) icons.push(<Phantom />);\n if (!isRabby && icons.length < 3) icons.push(<Rabby />);\n }\n\n return icons;\n}\n\nfunction getDepositAddressOption(\n setRoute: (route: ROUTES, data?: Record<string, any>) => void,\n locales: ReturnType<typeof useLocales>,\n excludeTron: boolean = false,\n) {\n const icons = excludeTron\n ? [<Ethereum key=\"eth\" />, <Polygon key=\"polygon\" />, <Base key=\"base\" />]\n : [<Ethereum key=\"eth\" />, <Tron key=\"tron\" />, <Base key=\"base\" />];\n\n return {\n id: \"depositAddress\",\n title: locales.payToAddress,\n icons,\n onClick: () => {\n setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN);\n },\n };\n}\n"],"names":[],"mappings":"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"}
@@ -4,6 +4,17 @@ function useConnectors() {
4
4
  const connectors = useConnectors$1();
5
5
  return connectors ?? [];
6
6
  }
7
+ function useConnector(id, uuid) {
8
+ const connectors = useConnectors();
9
+ if (id === "injected" && uuid) {
10
+ return connectors.find((c) => c.id === id && c.name === uuid);
11
+ } else if (id === "injected") {
12
+ return connectors.find(
13
+ (c) => c.id === id && c.name.includes("Injected")
14
+ );
15
+ }
16
+ return connectors.find((c) => c.id === id);
17
+ }
7
18
 
8
- export { useConnectors };
19
+ export { useConnector, useConnectors };
9
20
  //# sourceMappingURL=useConnectors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useConnectors.js","sources":["../../../src/hooks/useConnectors.ts"],"sourcesContent":["import { type Connector, useConnectors as useWagmiConnectors } from \"wagmi\";\n\nexport function useConnectors() {\n const connectors = useWagmiConnectors();\n return connectors ?? [];\n}\n\nexport function useConnector(id: string, uuid?: string) {\n const connectors = useConnectors();\n if (id === \"injected\" && uuid) {\n return connectors.find((c) => c.id === id && c.name === uuid) as Connector;\n } else if (id === \"injected\") {\n return connectors.find(\n (c) => c.id === id && c.name.includes(\"Injected\"),\n ) as Connector;\n }\n return connectors.find((c) => c.id === id) as Connector;\n}\n"],"names":["useWagmiConnectors"],"mappings":";;AAEO,SAAS,aAAgB,GAAA;AAC9B,EAAA,MAAM,aAAaA,eAAmB,EAAA,CAAA;AACtC,EAAA,OAAO,cAAc,EAAC,CAAA;AACxB;;;;"}
1
+ {"version":3,"file":"useConnectors.js","sources":["../../../src/hooks/useConnectors.ts"],"sourcesContent":["import { type Connector, useConnectors as useWagmiConnectors } from \"wagmi\";\n\nexport function useConnectors() {\n const connectors = useWagmiConnectors();\n return connectors ?? [];\n}\n\nexport function useConnector(id: string, uuid?: string) {\n const connectors = useConnectors();\n if (id === \"injected\" && uuid) {\n return connectors.find((c) => c.id === id && c.name === uuid) as Connector;\n } else if (id === \"injected\") {\n return connectors.find(\n (c) => c.id === id && c.name.includes(\"Injected\"),\n ) as Connector;\n }\n return connectors.find((c) => c.id === id) as Connector;\n}\n"],"names":["useWagmiConnectors"],"mappings":";;AAEO,SAAS,aAAgB,GAAA;AAC9B,EAAA,MAAM,aAAaA,eAAmB,EAAA,CAAA;AACtC,EAAA,OAAO,cAAc,EAAC,CAAA;AACxB,CAAA;AAEgB,SAAA,YAAA,CAAa,IAAY,IAAe,EAAA;AACtD,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAI,IAAA,EAAA,KAAO,cAAc,IAAM,EAAA;AAC7B,IAAO,OAAA,UAAA,CAAW,KAAK,CAAC,CAAA,KAAM,EAAE,EAAO,KAAA,EAAA,IAAM,CAAE,CAAA,IAAA,KAAS,IAAI,CAAA,CAAA;AAAA,GAC9D,MAAA,IAAW,OAAO,UAAY,EAAA;AAC5B,IAAA,OAAO,UAAW,CAAA,IAAA;AAAA,MAChB,CAAC,MAAM,CAAE,CAAA,EAAA,KAAO,MAAM,CAAE,CAAA,IAAA,CAAK,SAAS,UAAU,CAAA;AAAA,KAClD,CAAA;AAAA,GACF;AACA,EAAA,OAAO,WAAW,IAAK,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,OAAO,EAAE,CAAA,CAAA;AAC3C;;;;"}