@daimo/pay 1.17.3 → 1.17.5

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 (397) hide show
  1. package/build/connectkit/package.json.js +117 -0
  2. package/build/connectkit/package.json.js.map +1 -0
  3. package/build/connectkit/src/assets/MobileWithLogos.js +329 -0
  4. package/build/connectkit/src/assets/MobileWithLogos.js.map +1 -0
  5. package/build/connectkit/src/assets/ScanIconWithLogos.js +243 -0
  6. package/build/connectkit/src/assets/ScanIconWithLogos.js.map +1 -0
  7. package/build/connectkit/src/assets/browsers.js +969 -0
  8. package/build/connectkit/src/assets/browsers.js.map +1 -0
  9. package/build/connectkit/src/assets/chains.js +648 -0
  10. package/build/connectkit/src/assets/chains.js.map +1 -0
  11. package/build/connectkit/src/assets/coins.js +43 -0
  12. package/build/connectkit/src/assets/coins.js.map +1 -0
  13. package/build/connectkit/src/assets/icons.js +273 -0
  14. package/build/connectkit/src/assets/icons.js.map +1 -0
  15. package/build/connectkit/src/assets/logos.js +1620 -0
  16. package/build/connectkit/src/assets/logos.js.map +1 -0
  17. package/build/connectkit/src/assets/wave.js +46 -0
  18. package/build/connectkit/src/assets/wave.js.map +1 -0
  19. package/build/connectkit/src/components/Common/Alert/index.js +13 -0
  20. package/build/connectkit/src/components/Common/Alert/index.js.map +1 -0
  21. package/build/connectkit/src/components/Common/Alert/styles.js +55 -0
  22. package/build/connectkit/src/components/Common/Alert/styles.js.map +1 -0
  23. package/build/connectkit/src/components/Common/AmountInput/AmountInputField.js +71 -0
  24. package/build/connectkit/src/components/Common/AmountInput/AmountInputField.js.map +1 -0
  25. package/build/connectkit/src/components/Common/AmountInput/index.js +159 -0
  26. package/build/connectkit/src/components/Common/AmountInput/index.js.map +1 -0
  27. package/build/connectkit/src/components/Common/Avatar/index.js +78 -0
  28. package/build/connectkit/src/components/Common/Avatar/index.js.map +1 -0
  29. package/build/connectkit/src/components/Common/Avatar/styles.js +54 -0
  30. package/build/connectkit/src/components/Common/Avatar/styles.js.map +1 -0
  31. package/build/connectkit/src/components/Common/BrowserIcon/index.js +29 -0
  32. package/build/connectkit/src/components/Common/BrowserIcon/index.js.map +1 -0
  33. package/build/connectkit/src/components/Common/BrowserIcon/styles.js +20 -0
  34. package/build/connectkit/src/components/Common/BrowserIcon/styles.js.map +1 -0
  35. package/build/connectkit/src/components/Common/Button/index.js +144 -0
  36. package/build/connectkit/src/components/Common/Button/index.js.map +1 -0
  37. package/build/connectkit/src/components/Common/Button/styles.js +287 -0
  38. package/build/connectkit/src/components/Common/Button/styles.js.map +1 -0
  39. package/build/connectkit/src/components/Common/Chain/index.js +141 -0
  40. package/build/connectkit/src/components/Common/Chain/index.js.map +1 -0
  41. package/build/connectkit/src/components/Common/Chain/styles.js +90 -0
  42. package/build/connectkit/src/components/Common/Chain/styles.js.map +1 -0
  43. package/build/connectkit/src/components/Common/ChainSelectList/index.js +250 -0
  44. package/build/connectkit/src/components/Common/ChainSelectList/index.js.map +1 -0
  45. package/build/connectkit/src/components/Common/ChainSelectList/styles.js +226 -0
  46. package/build/connectkit/src/components/Common/ChainSelectList/styles.js.map +1 -0
  47. package/build/connectkit/src/components/Common/CircleTimer.js +92 -0
  48. package/build/connectkit/src/components/Common/CircleTimer.js.map +1 -0
  49. package/build/connectkit/src/components/Common/ConnectorList/index.js +120 -0
  50. package/build/connectkit/src/components/Common/ConnectorList/index.js.map +1 -0
  51. package/build/connectkit/src/components/Common/ConnectorList/styles.js +344 -0
  52. package/build/connectkit/src/components/Common/ConnectorList/styles.js.map +1 -0
  53. package/build/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +78 -0
  54. package/build/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -0
  55. package/build/connectkit/src/components/Common/CopyToClipboard/index.js +33 -0
  56. package/build/connectkit/src/components/Common/CopyToClipboard/index.js.map +1 -0
  57. package/build/connectkit/src/components/Common/CustomQRCode/QRCode.js +128 -0
  58. package/build/connectkit/src/components/Common/CustomQRCode/QRCode.js.map +1 -0
  59. package/build/connectkit/src/components/Common/CustomQRCode/index.js +71 -0
  60. package/build/connectkit/src/components/Common/CustomQRCode/index.js.map +1 -0
  61. package/build/connectkit/src/components/Common/CustomQRCode/styles.js +139 -0
  62. package/build/connectkit/src/components/Common/CustomQRCode/styles.js.map +1 -0
  63. package/build/connectkit/src/components/Common/FitText/index.js +34 -0
  64. package/build/connectkit/src/components/Common/FitText/index.js.map +1 -0
  65. package/build/connectkit/src/components/Common/Modal/index.js +523 -0
  66. package/build/connectkit/src/components/Common/Modal/index.js.map +1 -0
  67. package/build/connectkit/src/components/Common/Modal/styles.js +665 -0
  68. package/build/connectkit/src/components/Common/Modal/styles.js.map +1 -0
  69. package/build/connectkit/src/components/Common/OptionsList/index.js +145 -0
  70. package/build/connectkit/src/components/Common/OptionsList/index.js.map +1 -0
  71. package/build/connectkit/src/components/Common/OptionsList/styles.js +138 -0
  72. package/build/connectkit/src/components/Common/OptionsList/styles.js.map +1 -0
  73. package/build/connectkit/src/components/Common/OrderHeader/index.js +192 -0
  74. package/build/connectkit/src/components/Common/OrderHeader/index.js.map +1 -0
  75. package/build/connectkit/src/components/Common/PaymentBreakdown/index.js +70 -0
  76. package/build/connectkit/src/components/Common/PaymentBreakdown/index.js.map +1 -0
  77. package/build/connectkit/src/components/Common/Portal/index.js +30 -0
  78. package/build/connectkit/src/components/Common/Portal/index.js.map +1 -0
  79. package/build/connectkit/src/components/Common/PoweredByFooter/index.js +66 -0
  80. package/build/connectkit/src/components/Common/PoweredByFooter/index.js.map +1 -0
  81. package/build/connectkit/src/components/Common/ScrollArea/index.js +120 -0
  82. package/build/connectkit/src/components/Common/ScrollArea/index.js.map +1 -0
  83. package/build/connectkit/src/components/Common/ScrollArea/styles.js +169 -0
  84. package/build/connectkit/src/components/Common/ScrollArea/styles.js.map +1 -0
  85. package/build/connectkit/src/components/Common/SelectAnotherMethodButton/index.js +96 -0
  86. package/build/connectkit/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -0
  87. package/build/connectkit/src/components/Common/Spinner/index.js +64 -0
  88. package/build/connectkit/src/components/Common/Spinner/index.js.map +1 -0
  89. package/build/connectkit/src/components/Common/Spinner/styles.js +22 -0
  90. package/build/connectkit/src/components/Common/Spinner/styles.js.map +1 -0
  91. package/build/connectkit/src/components/Common/SwitchButton/index.js +43 -0
  92. package/build/connectkit/src/components/Common/SwitchButton/index.js.map +1 -0
  93. package/build/connectkit/src/components/Common/ThemedButton/index.js +46 -0
  94. package/build/connectkit/src/components/Common/ThemedButton/index.js.map +1 -0
  95. package/build/connectkit/src/components/Common/ThemedButton/styles.js +152 -0
  96. package/build/connectkit/src/components/Common/ThemedButton/styles.js.map +1 -0
  97. package/build/connectkit/src/components/Common/TokenChainLogo/index.js +62 -0
  98. package/build/connectkit/src/components/Common/TokenChainLogo/index.js.map +1 -0
  99. package/build/connectkit/src/components/Common/Tooltip/index.js +129 -0
  100. package/build/connectkit/src/components/Common/Tooltip/index.js.map +1 -0
  101. package/build/connectkit/src/components/Common/Tooltip/styles.js +81 -0
  102. package/build/connectkit/src/components/Common/Tooltip/styles.js.map +1 -0
  103. package/build/connectkit/src/components/Common/WalletChainLogo/index.js +31 -0
  104. package/build/connectkit/src/components/Common/WalletChainLogo/index.js.map +1 -0
  105. package/build/connectkit/src/components/DaimoPayButton/index.js +197 -0
  106. package/build/connectkit/src/components/DaimoPayButton/index.js.map +1 -0
  107. package/build/connectkit/src/components/DaimoPayButton/styles.js +50 -0
  108. package/build/connectkit/src/components/DaimoPayButton/styles.js.map +1 -0
  109. package/build/connectkit/src/components/DaimoPayModal/ConnectUsing.js +68 -0
  110. package/build/connectkit/src/components/DaimoPayModal/ConnectUsing.js.map +1 -0
  111. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js +335 -0
  112. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -0
  113. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js +131 -0
  114. package/build/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -0
  115. package/build/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js +99 -0
  116. package/build/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -0
  117. package/build/connectkit/src/components/DaimoPayModal/index.js +462 -0
  118. package/build/connectkit/src/components/DaimoPayModal/index.js.map +1 -0
  119. package/build/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +25 -0
  120. package/build/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -0
  121. package/build/connectkit/src/components/Pages/About/graphics.js +853 -0
  122. package/build/connectkit/src/components/Pages/About/graphics.js.map +1 -0
  123. package/build/connectkit/src/components/Pages/About/index.js +222 -0
  124. package/build/connectkit/src/components/Pages/About/index.js.map +1 -0
  125. package/build/connectkit/src/components/Pages/About/styles.js +140 -0
  126. package/build/connectkit/src/components/Pages/About/styles.js.map +1 -0
  127. package/build/connectkit/src/components/Pages/Confirmation/index.js +128 -0
  128. package/build/connectkit/src/components/Pages/Confirmation/index.js.map +1 -0
  129. package/build/connectkit/src/components/Pages/Connectors/index.js +28 -0
  130. package/build/connectkit/src/components/Pages/Connectors/index.js.map +1 -0
  131. package/build/connectkit/src/components/Pages/DownloadApp/index.js +35 -0
  132. package/build/connectkit/src/components/Pages/DownloadApp/index.js.map +1 -0
  133. package/build/connectkit/src/components/Pages/Error/index.js +57 -0
  134. package/build/connectkit/src/components/Pages/Error/index.js.map +1 -0
  135. package/build/connectkit/src/components/Pages/MobileConnectors/index.js +65 -0
  136. package/build/connectkit/src/components/Pages/MobileConnectors/index.js.map +1 -0
  137. package/build/connectkit/src/components/Pages/MobileConnectors/styles.js +64 -0
  138. package/build/connectkit/src/components/Pages/MobileConnectors/styles.js.map +1 -0
  139. package/build/connectkit/src/components/Pages/Onboarding/index.js +34 -0
  140. package/build/connectkit/src/components/Pages/Onboarding/index.js.map +1 -0
  141. package/build/connectkit/src/components/Pages/Onboarding/styles.js +229 -0
  142. package/build/connectkit/src/components/Pages/Onboarding/styles.js.map +1 -0
  143. package/build/connectkit/src/components/Pages/PayWithToken/index.js +157 -0
  144. package/build/connectkit/src/components/Pages/PayWithToken/index.js.map +1 -0
  145. package/build/connectkit/src/components/Pages/SelectAmount/index.js +24 -0
  146. package/build/connectkit/src/components/Pages/SelectAmount/index.js.map +1 -0
  147. package/build/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js +79 -0
  148. package/build/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -0
  149. package/build/connectkit/src/components/Pages/SelectDepositAddressChain/index.js +72 -0
  150. package/build/connectkit/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -0
  151. package/build/connectkit/src/components/Pages/SelectExchange/index.js +41 -0
  152. package/build/connectkit/src/components/Pages/SelectExchange/index.js.map +1 -0
  153. package/build/connectkit/src/components/Pages/SelectExternalAmount/index.js +80 -0
  154. package/build/connectkit/src/components/Pages/SelectExternalAmount/index.js.map +1 -0
  155. package/build/connectkit/src/components/Pages/SelectMethod/index.js +230 -0
  156. package/build/connectkit/src/components/Pages/SelectMethod/index.js.map +1 -0
  157. package/build/connectkit/src/components/Pages/SelectToken/index.js +97 -0
  158. package/build/connectkit/src/components/Pages/SelectToken/index.js.map +1 -0
  159. package/build/connectkit/src/components/Pages/SelectWalletAmount/index.js +66 -0
  160. package/build/connectkit/src/components/Pages/SelectWalletAmount/index.js.map +1 -0
  161. package/build/connectkit/src/components/Pages/SelectWalletChain/index.js +55 -0
  162. package/build/connectkit/src/components/Pages/SelectWalletChain/index.js.map +1 -0
  163. package/build/connectkit/src/components/Pages/SelectZKP/index.js +41 -0
  164. package/build/connectkit/src/components/Pages/SelectZKP/index.js.map +1 -0
  165. package/build/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js +94 -0
  166. package/build/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -0
  167. package/build/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js +92 -0
  168. package/build/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -0
  169. package/build/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js +24 -0
  170. package/build/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -0
  171. package/build/connectkit/src/components/Pages/SwitchNetworks/index.js +45 -0
  172. package/build/connectkit/src/components/Pages/SwitchNetworks/index.js.map +1 -0
  173. package/build/connectkit/src/components/Pages/WaitingDepositAddress/index.js +503 -0
  174. package/build/connectkit/src/components/Pages/WaitingDepositAddress/index.js.map +1 -0
  175. package/build/connectkit/src/components/Pages/WaitingExternal/index.js +89 -0
  176. package/build/connectkit/src/components/Pages/WaitingExternal/index.js.map +1 -0
  177. package/build/connectkit/src/components/Pages/WaitingWallet/index.js +49 -0
  178. package/build/connectkit/src/components/Pages/WaitingWallet/index.js.map +1 -0
  179. package/build/connectkit/src/components/Spinners/CircleSpinner/index.js +104 -0
  180. package/build/connectkit/src/components/Spinners/CircleSpinner/index.js.map +1 -0
  181. package/build/connectkit/src/components/Spinners/CircleSpinner/styles.js +117 -0
  182. package/build/connectkit/src/components/Spinners/CircleSpinner/styles.js.map +1 -0
  183. package/build/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js +29 -0
  184. package/build/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -0
  185. package/build/connectkit/src/components/Spinners/SquircleSpinner/index.js +68 -0
  186. package/build/connectkit/src/components/Spinners/SquircleSpinner/index.js.map +1 -0
  187. package/build/connectkit/src/components/Spinners/SquircleSpinner/styles.js +66 -0
  188. package/build/connectkit/src/components/Spinners/SquircleSpinner/styles.js.map +1 -0
  189. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/index.js +24 -0
  190. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -0
  191. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js +40 -0
  192. package/build/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -0
  193. package/build/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js +37 -0
  194. package/build/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -0
  195. package/build/connectkit/src/components/Spinners/styles.js +32 -0
  196. package/build/connectkit/src/components/Spinners/styles.js.map +1 -0
  197. package/build/connectkit/src/constants/defaultTheme.js +6 -0
  198. package/build/connectkit/src/constants/defaultTheme.js.map +1 -0
  199. package/build/connectkit/src/constants/routes.js +32 -0
  200. package/build/connectkit/src/constants/routes.js.map +1 -0
  201. package/build/connectkit/src/defaultConfig.js +63 -0
  202. package/build/connectkit/src/defaultConfig.js.map +1 -0
  203. package/build/connectkit/src/defaultConnectors.js +37 -0
  204. package/build/connectkit/src/defaultConnectors.js.map +1 -0
  205. package/build/connectkit/src/hooks/useChainIsSupported.js +10 -0
  206. package/build/connectkit/src/hooks/useChainIsSupported.js.map +1 -0
  207. package/build/connectkit/src/hooks/useChains.js +10 -0
  208. package/build/connectkit/src/hooks/useChains.js.map +1 -0
  209. package/build/connectkit/src/hooks/useConnect.js +61 -0
  210. package/build/connectkit/src/hooks/useConnect.js.map +1 -0
  211. package/build/connectkit/src/hooks/useConnectCallback.js +21 -0
  212. package/build/connectkit/src/hooks/useConnectCallback.js.map +1 -0
  213. package/build/connectkit/src/hooks/useConnectors.js +9 -0
  214. package/build/connectkit/src/hooks/useConnectors.js.map +1 -0
  215. package/build/connectkit/src/hooks/useDaimoPay.js +107 -0
  216. package/build/connectkit/src/hooks/useDaimoPay.js.map +1 -0
  217. package/build/connectkit/src/hooks/useDaimoPayStatus.js +12 -0
  218. package/build/connectkit/src/hooks/useDaimoPayStatus.js.map +1 -0
  219. package/build/connectkit/src/hooks/useDaimoPayUI.js +15 -0
  220. package/build/connectkit/src/hooks/useDaimoPayUI.js.map +1 -0
  221. package/build/connectkit/src/hooks/useDepositAddressOptions.js +35 -0
  222. package/build/connectkit/src/hooks/useDepositAddressOptions.js.map +1 -0
  223. package/build/connectkit/src/hooks/useEnsFallbackConfig.js +16 -0
  224. package/build/connectkit/src/hooks/useEnsFallbackConfig.js.map +1 -0
  225. package/build/connectkit/src/hooks/useExternalPaymentOptions.js +64 -0
  226. package/build/connectkit/src/hooks/useExternalPaymentOptions.js.map +1 -0
  227. package/build/connectkit/src/hooks/useFitText.js +133 -0
  228. package/build/connectkit/src/hooks/useFitText.js.map +1 -0
  229. package/build/connectkit/src/hooks/useFocusTrap.js +53 -0
  230. package/build/connectkit/src/hooks/useFocusTrap.js.map +1 -0
  231. package/build/connectkit/src/hooks/useIsMobile.js +11 -0
  232. package/build/connectkit/src/hooks/useIsMobile.js.map +1 -0
  233. package/build/connectkit/src/hooks/useIsMounted.js +10 -0
  234. package/build/connectkit/src/hooks/useIsMounted.js.map +1 -0
  235. package/build/connectkit/src/hooks/useLastConnector.js +24 -0
  236. package/build/connectkit/src/hooks/useLastConnector.js.map +1 -0
  237. package/build/connectkit/src/hooks/useLocales.js +60 -0
  238. package/build/connectkit/src/hooks/useLocales.js.map +1 -0
  239. package/build/connectkit/src/hooks/useLockBodyScroll.js +47 -0
  240. package/build/connectkit/src/hooks/useLockBodyScroll.js.map +1 -0
  241. package/build/connectkit/src/hooks/useOrderUsdLimits.js +24 -0
  242. package/build/connectkit/src/hooks/useOrderUsdLimits.js.map +1 -0
  243. package/build/connectkit/src/hooks/usePayContext.js +11 -0
  244. package/build/connectkit/src/hooks/usePayContext.js.map +1 -0
  245. package/build/connectkit/src/hooks/usePaymentState.js +376 -0
  246. package/build/connectkit/src/hooks/usePaymentState.js.map +1 -0
  247. package/build/connectkit/src/hooks/usePrevious.js +13 -0
  248. package/build/connectkit/src/hooks/usePrevious.js.map +1 -0
  249. package/build/connectkit/src/hooks/useSolanaPaymentOptions.js +40 -0
  250. package/build/connectkit/src/hooks/useSolanaPaymentOptions.js.map +1 -0
  251. package/build/connectkit/src/hooks/useTokenOptions.js +152 -0
  252. package/build/connectkit/src/hooks/useTokenOptions.js.map +1 -0
  253. package/build/connectkit/src/hooks/useUntronAvailability.js +32 -0
  254. package/build/connectkit/src/hooks/useUntronAvailability.js.map +1 -0
  255. package/build/connectkit/src/hooks/useWalletPaymentOptions.js +97 -0
  256. package/build/connectkit/src/hooks/useWalletPaymentOptions.js.map +1 -0
  257. package/build/connectkit/src/hooks/useWindowSize.js +23 -0
  258. package/build/connectkit/src/hooks/useWindowSize.js.map +1 -0
  259. package/build/connectkit/src/index.js +14 -0
  260. package/build/connectkit/src/index.js.map +1 -0
  261. package/build/connectkit/src/localizations/index.js +48 -0
  262. package/build/connectkit/src/localizations/index.js.map +1 -0
  263. package/build/connectkit/src/localizations/locales/ar-AE.js +95 -0
  264. package/build/connectkit/src/localizations/locales/ar-AE.js.map +1 -0
  265. package/build/connectkit/src/localizations/locales/ca-AD.js +93 -0
  266. package/build/connectkit/src/localizations/locales/ca-AD.js.map +1 -0
  267. package/build/connectkit/src/localizations/locales/ee-EE.js +101 -0
  268. package/build/connectkit/src/localizations/locales/ee-EE.js.map +1 -0
  269. package/build/connectkit/src/localizations/locales/en-US.js +139 -0
  270. package/build/connectkit/src/localizations/locales/en-US.js.map +1 -0
  271. package/build/connectkit/src/localizations/locales/es-ES.js +131 -0
  272. package/build/connectkit/src/localizations/locales/es-ES.js.map +1 -0
  273. package/build/connectkit/src/localizations/locales/fa-IR.js +93 -0
  274. package/build/connectkit/src/localizations/locales/fa-IR.js.map +1 -0
  275. package/build/connectkit/src/localizations/locales/fr-FR.js +93 -0
  276. package/build/connectkit/src/localizations/locales/fr-FR.js.map +1 -0
  277. package/build/connectkit/src/localizations/locales/ja-JP.js +93 -0
  278. package/build/connectkit/src/localizations/locales/ja-JP.js.map +1 -0
  279. package/build/connectkit/src/localizations/locales/pt-BR.js +101 -0
  280. package/build/connectkit/src/localizations/locales/pt-BR.js.map +1 -0
  281. package/build/connectkit/src/localizations/locales/ru-RU.js +97 -0
  282. package/build/connectkit/src/localizations/locales/ru-RU.js.map +1 -0
  283. package/build/connectkit/src/localizations/locales/tr-TR.js +101 -0
  284. package/build/connectkit/src/localizations/locales/tr-TR.js.map +1 -0
  285. package/build/connectkit/src/localizations/locales/vi-VN.js +101 -0
  286. package/build/connectkit/src/localizations/locales/vi-VN.js.map +1 -0
  287. package/build/connectkit/src/localizations/locales/zh-CN.js +93 -0
  288. package/build/connectkit/src/localizations/locales/zh-CN.js.map +1 -0
  289. package/build/connectkit/src/payment/paymentEffects.js +269 -0
  290. package/build/connectkit/src/payment/paymentEffects.js.map +1 -0
  291. package/build/connectkit/src/payment/paymentFsm.js +194 -0
  292. package/build/connectkit/src/payment/paymentFsm.js.map +1 -0
  293. package/build/connectkit/src/payment/paymentStore.js +18 -0
  294. package/build/connectkit/src/payment/paymentStore.js.map +1 -0
  295. package/build/connectkit/src/payment/paymentUtils.js +10 -0
  296. package/build/connectkit/src/payment/paymentUtils.js.map +1 -0
  297. package/build/connectkit/src/provider/DaimoPayProvider.js +293 -0
  298. package/build/connectkit/src/provider/DaimoPayProvider.js.map +1 -0
  299. package/build/connectkit/src/provider/PayContext.js +6 -0
  300. package/build/connectkit/src/provider/PayContext.js.map +1 -0
  301. package/build/connectkit/src/provider/PaymentProvider.js +29 -0
  302. package/build/connectkit/src/provider/PaymentProvider.js.map +1 -0
  303. package/build/connectkit/src/provider/SolanaContextProvider.js +14 -0
  304. package/build/connectkit/src/provider/SolanaContextProvider.js.map +1 -0
  305. package/build/connectkit/src/provider/Web3ContextProvider.js +36 -0
  306. package/build/connectkit/src/provider/Web3ContextProvider.js.map +1 -0
  307. package/build/connectkit/src/stateStore.js +36 -0
  308. package/build/connectkit/src/stateStore.js.map +1 -0
  309. package/build/connectkit/src/styles/defaultTheme.js +80 -0
  310. package/build/connectkit/src/styles/defaultTheme.js.map +1 -0
  311. package/build/connectkit/src/styles/index.js +313 -0
  312. package/build/connectkit/src/styles/index.js.map +1 -0
  313. package/build/connectkit/src/styles/styled/index.js +6 -0
  314. package/build/connectkit/src/styles/styled/index.js.map +1 -0
  315. package/build/connectkit/src/styles/themes/base.js +141 -0
  316. package/build/connectkit/src/styles/themes/base.js.map +1 -0
  317. package/build/connectkit/src/styles/themes/index.js +13 -0
  318. package/build/connectkit/src/styles/themes/index.js.map +1 -0
  319. package/build/connectkit/src/styles/themes/midnight.js +76 -0
  320. package/build/connectkit/src/styles/themes/midnight.js.map +1 -0
  321. package/build/connectkit/src/styles/themes/minimal.js +96 -0
  322. package/build/connectkit/src/styles/themes/minimal.js.map +1 -0
  323. package/build/connectkit/src/styles/themes/nouns.js +81 -0
  324. package/build/connectkit/src/styles/themes/nouns.js.map +1 -0
  325. package/build/connectkit/src/styles/themes/retro.js +106 -0
  326. package/build/connectkit/src/styles/themes/retro.js.map +1 -0
  327. package/build/connectkit/src/styles/themes/rounded.js +106 -0
  328. package/build/connectkit/src/styles/themes/rounded.js.map +1 -0
  329. package/build/connectkit/src/styles/themes/soft.js +71 -0
  330. package/build/connectkit/src/styles/themes/soft.js.map +1 -0
  331. package/build/connectkit/src/styles/themes/web95.js +132 -0
  332. package/build/connectkit/src/styles/themes/web95.js.map +1 -0
  333. package/build/connectkit/src/utils/exports.js +6 -0
  334. package/build/connectkit/src/utils/exports.js.map +1 -0
  335. package/build/connectkit/src/utils/format.js +45 -0
  336. package/build/connectkit/src/utils/format.js.map +1 -0
  337. package/build/connectkit/src/utils/index.js +42 -0
  338. package/build/connectkit/src/utils/index.js.map +1 -0
  339. package/build/connectkit/src/utils/p3.js +15 -0
  340. package/build/connectkit/src/utils/p3.js.map +1 -0
  341. package/build/connectkit/src/utils/platform.js +11 -0
  342. package/build/connectkit/src/utils/platform.js.map +1 -0
  343. package/build/connectkit/src/utils/polling.js +35 -0
  344. package/build/connectkit/src/utils/polling.js.map +1 -0
  345. package/build/connectkit/src/utils/supportUrl.js +16 -0
  346. package/build/connectkit/src/utils/supportUrl.js.map +1 -0
  347. package/build/connectkit/src/utils/trpc.js +19 -0
  348. package/build/connectkit/src/utils/trpc.js.map +1 -0
  349. package/build/connectkit/src/utils/validateInput.js +16 -0
  350. package/build/connectkit/src/utils/validateInput.js.map +1 -0
  351. package/build/connectkit/src/wallets/index.js +21 -0
  352. package/build/connectkit/src/wallets/index.js.map +1 -0
  353. package/build/connectkit/src/wallets/useWallets.js +207 -0
  354. package/build/connectkit/src/wallets/useWallets.js.map +1 -0
  355. package/build/connectkit/src/wallets/walletConfigs.js +277 -0
  356. package/build/connectkit/src/wallets/walletConfigs.js.map +1 -0
  357. package/build/connectkit/src/world-mini-app/WorldPayButton.js +148 -0
  358. package/build/connectkit/src/world-mini-app/WorldPayButton.js.map +1 -0
  359. package/build/connectkit/src/world-mini-app/promptWorldPayment.js +59 -0
  360. package/build/connectkit/src/world-mini-app/promptWorldPayment.js.map +1 -0
  361. package/build/connectkit/src/world.js +2 -0
  362. package/build/connectkit/src/world.js.map +1 -0
  363. package/build/index.d.ts +11 -1
  364. package/build/package.json.js +2 -2
  365. package/build/pay-common/src/chain.js +9 -0
  366. package/build/pay-common/src/chain.js.map +1 -0
  367. package/build/src/assets/logos.js +1 -1
  368. package/build/src/assets/logos.js.map +1 -1
  369. package/build/src/components/Common/CustomQRCode/index.js +21 -4
  370. package/build/src/components/Common/CustomQRCode/index.js.map +1 -1
  371. package/build/src/components/Common/CustomQRCode/styles.js +3 -0
  372. package/build/src/components/Common/CustomQRCode/styles.js.map +1 -1
  373. package/build/src/components/Common/Modal/index.js +2 -1
  374. package/build/src/components/Common/Modal/index.js.map +1 -1
  375. package/build/src/components/Common/OrderHeader/index.js +2 -46
  376. package/build/src/components/Common/OrderHeader/index.js.map +1 -1
  377. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +37 -44
  378. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
  379. package/build/src/components/DaimoPayModal/index.js +37 -5
  380. package/build/src/components/DaimoPayModal/index.js.map +1 -1
  381. package/build/src/components/Pages/SelectExchange/index.js +6 -1
  382. package/build/src/components/Pages/SelectExchange/index.js.map +1 -1
  383. package/build/src/components/Pages/WaitingDepositAddress/index.js +88 -5
  384. package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -1
  385. package/build/src/components/Pages/Warning/index.js +56 -0
  386. package/build/src/components/Pages/Warning/index.js.map +1 -0
  387. package/build/src/hooks/useDaimoPay.js +25 -1
  388. package/build/src/hooks/useDaimoPay.js.map +1 -1
  389. package/build/src/localizations/locales/en-US.js +4 -1
  390. package/build/src/localizations/locales/en-US.js.map +1 -1
  391. package/build/src/localizations/locales/es-ES.js +4 -0
  392. package/build/src/localizations/locales/es-ES.js.map +1 -1
  393. package/build/src/payment/paymentFsm.js +40 -0
  394. package/build/src/payment/paymentFsm.js.map +1 -1
  395. package/build/src/world-mini-app/WorldPayButton.js +18 -1
  396. package/build/src/world-mini-app/WorldPayButton.js.map +1 -1
  397. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":["../../../../../src/components/Spinners/styles.ts"],"sourcesContent":["import { motion } from \"framer-motion\";\nimport { css } from \"styled-components\";\nimport styled from \"../../styles/styled\";\n\nexport const LoadingContainer = styled(motion.div)`\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 10px auto 16px;\n height: 120px;\n`;\nexport const AnimationContainer = styled(motion.div)<{\n $circle: boolean;\n}>`\n user-select: none;\n position: relative;\n --spinner-error-opacity: 0;\n &:before {\n content: \"\";\n position: absolute;\n inset: 1px;\n opacity: 0;\n background: var(--ck-body-color-danger);\n ${(props) =>\n props.$circle &&\n css`\n inset: -5px;\n border-radius: 50%;\n background: none;\n box-shadow: inset 0 0 0 3.5px var(--ck-body-color-danger);\n `}\n }\n`;\n"],"names":[],"mappings":";;;;AAIa,MAAA,gBAAA,GAAmB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAOpC,MAAA,kBAAA,GAAqB,MAAO,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAY7C,EAAA,CAAC,KACD,KAAA,KAAA,CAAM,OACN,IAAA,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAKC,CAAA,CAAA;AAAA;AAAA;;;;"}
@@ -0,0 +1,6 @@
1
+ var defaultTheme = {
2
+ mobileWidth: 560
3
+ };
4
+
5
+ export { defaultTheme as default };
6
+ //# sourceMappingURL=defaultTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultTheme.js","sources":["../../../../src/constants/defaultTheme.ts"],"sourcesContent":["export default {\n mobileWidth: 560,\n};\n"],"names":[],"mappings":"AAAA,mBAAe;AAAA,EACb,WAAa,EAAA,GAAA;AACf,CAAA;;;;"}
@@ -0,0 +1,32 @@
1
+ var ROUTES = /* @__PURE__ */ ((ROUTES2) => {
2
+ ROUTES2["SELECT_METHOD"] = "daimoPaySelectMethod";
3
+ ROUTES2["SELECT_TOKEN"] = "daimoPaySelectToken";
4
+ ROUTES2["SELECT_AMOUNT"] = "daimoPaySelectAmount";
5
+ ROUTES2["SELECT_EXTERNAL_AMOUNT"] = "daimoPaySelectExternalAmount";
6
+ ROUTES2["SELECT_EXCHANGE"] = "daimoPaySelectExchange";
7
+ ROUTES2["SELECT_DEPOSIT_ADDRESS_AMOUNT"] = "daimoPaySelectDepositAddressAmount";
8
+ ROUTES2["SELECT_WALLET_AMOUNT"] = "daimoPaySelectWalletAmount";
9
+ ROUTES2["SELECT_WALLET_CHAIN"] = "daimoPaySelectWalletChain";
10
+ ROUTES2["SELECT_ZKP2P"] = "daimoPaySelectZKP2P";
11
+ ROUTES2["WAITING_EXTERNAL"] = "daimoPayWaitingExternal";
12
+ ROUTES2["WAITING_WALLET"] = "daimoPayWaitingWallet";
13
+ ROUTES2["SELECT_DEPOSIT_ADDRESS_CHAIN"] = "daimoPaySelectDepositAddressChain";
14
+ ROUTES2["WAITING_DEPOSIT_ADDRESS"] = "daimoPayWaitingDepositAddress";
15
+ ROUTES2["PAY_WITH_TOKEN"] = "daimoPayPayWithToken";
16
+ ROUTES2["CONFIRMATION"] = "daimoPayConfirmation";
17
+ ROUTES2["SOLANA_CONNECTOR"] = "daimoPaySolanaConnector";
18
+ ROUTES2["SOLANA_SELECT_AMOUNT"] = "daimoPaySolanaSelectAmount";
19
+ ROUTES2["SOLANA_PAY_WITH_TOKEN"] = "daimoPaySolanaPayWithToken";
20
+ ROUTES2["ERROR"] = "daimoPayError";
21
+ ROUTES2["ONBOARDING"] = "onboarding";
22
+ ROUTES2["ABOUT"] = "about";
23
+ ROUTES2["CONNECTORS"] = "connectors";
24
+ ROUTES2["MOBILECONNECTORS"] = "mobileConnectors";
25
+ ROUTES2["CONNECT"] = "connect";
26
+ ROUTES2["DOWNLOAD"] = "download";
27
+ ROUTES2["SWITCHNETWORKS"] = "switchNetworks";
28
+ return ROUTES2;
29
+ })(ROUTES || {});
30
+
31
+ export { ROUTES };
32
+ //# sourceMappingURL=routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.js","sources":["../../../../src/constants/routes.ts"],"sourcesContent":["export enum ROUTES {\n SELECT_METHOD = \"daimoPaySelectMethod\",\n SELECT_TOKEN = \"daimoPaySelectToken\",\n SELECT_AMOUNT = \"daimoPaySelectAmount\",\n SELECT_EXTERNAL_AMOUNT = \"daimoPaySelectExternalAmount\",\n SELECT_EXCHANGE = \"daimoPaySelectExchange\",\n SELECT_DEPOSIT_ADDRESS_AMOUNT = \"daimoPaySelectDepositAddressAmount\",\n SELECT_WALLET_AMOUNT = \"daimoPaySelectWalletAmount\",\n SELECT_WALLET_CHAIN = \"daimoPaySelectWalletChain\",\n SELECT_ZKP2P = \"daimoPaySelectZKP2P\",\n WAITING_EXTERNAL = \"daimoPayWaitingExternal\",\n WAITING_WALLET = \"daimoPayWaitingWallet\",\n SELECT_DEPOSIT_ADDRESS_CHAIN = \"daimoPaySelectDepositAddressChain\",\n WAITING_DEPOSIT_ADDRESS = \"daimoPayWaitingDepositAddress\",\n PAY_WITH_TOKEN = \"daimoPayPayWithToken\",\n CONFIRMATION = \"daimoPayConfirmation\",\n SOLANA_CONNECTOR = \"daimoPaySolanaConnector\",\n SOLANA_SELECT_AMOUNT = \"daimoPaySolanaSelectAmount\",\n SOLANA_PAY_WITH_TOKEN = \"daimoPaySolanaPayWithToken\",\n ERROR = \"daimoPayError\",\n\n // Unused routes. Kept to minimize connectkit merge conflicts.\n ONBOARDING = \"onboarding\",\n ABOUT = \"about\",\n CONNECTORS = \"connectors\",\n MOBILECONNECTORS = \"mobileConnectors\",\n CONNECT = \"connect\",\n DOWNLOAD = \"download\",\n SWITCHNETWORKS = \"switchNetworks\",\n}\n"],"names":["ROUTES"],"mappings":"AAAY,IAAA,MAAA,qBAAAA,OAAL,KAAA;AACL,EAAAA,QAAA,eAAgB,CAAA,GAAA,sBAAA,CAAA;AAChB,EAAAA,QAAA,cAAe,CAAA,GAAA,qBAAA,CAAA;AACf,EAAAA,QAAA,eAAgB,CAAA,GAAA,sBAAA,CAAA;AAChB,EAAAA,QAAA,wBAAyB,CAAA,GAAA,8BAAA,CAAA;AACzB,EAAAA,QAAA,iBAAkB,CAAA,GAAA,wBAAA,CAAA;AAClB,EAAAA,QAAA,+BAAgC,CAAA,GAAA,oCAAA,CAAA;AAChC,EAAAA,QAAA,sBAAuB,CAAA,GAAA,4BAAA,CAAA;AACvB,EAAAA,QAAA,qBAAsB,CAAA,GAAA,2BAAA,CAAA;AACtB,EAAAA,QAAA,cAAe,CAAA,GAAA,qBAAA,CAAA;AACf,EAAAA,QAAA,kBAAmB,CAAA,GAAA,yBAAA,CAAA;AACnB,EAAAA,QAAA,gBAAiB,CAAA,GAAA,uBAAA,CAAA;AACjB,EAAAA,QAAA,8BAA+B,CAAA,GAAA,mCAAA,CAAA;AAC/B,EAAAA,QAAA,yBAA0B,CAAA,GAAA,+BAAA,CAAA;AAC1B,EAAAA,QAAA,gBAAiB,CAAA,GAAA,sBAAA,CAAA;AACjB,EAAAA,QAAA,cAAe,CAAA,GAAA,sBAAA,CAAA;AACf,EAAAA,QAAA,kBAAmB,CAAA,GAAA,yBAAA,CAAA;AACnB,EAAAA,QAAA,sBAAuB,CAAA,GAAA,4BAAA,CAAA;AACvB,EAAAA,QAAA,uBAAwB,CAAA,GAAA,4BAAA,CAAA;AACxB,EAAAA,QAAA,OAAQ,CAAA,GAAA,eAAA,CAAA;AAGR,EAAAA,QAAA,YAAa,CAAA,GAAA,YAAA,CAAA;AACb,EAAAA,QAAA,OAAQ,CAAA,GAAA,OAAA,CAAA;AACR,EAAAA,QAAA,YAAa,CAAA,GAAA,YAAA,CAAA;AACb,EAAAA,QAAA,kBAAmB,CAAA,GAAA,kBAAA,CAAA;AACnB,EAAAA,QAAA,SAAU,CAAA,GAAA,SAAA,CAAA;AACV,EAAAA,QAAA,UAAW,CAAA,GAAA,UAAA,CAAA;AACX,EAAAA,QAAA,gBAAiB,CAAA,GAAA,gBAAA,CAAA;AA5BP,EAAAA,OAAAA,OAAAA,CAAAA;AAAA,CAAA,EAAA,MAAA,IAAA,EAAA;;;;"}
@@ -0,0 +1,63 @@
1
+ import { http } from 'wagmi';
2
+ import { arbitrum, base, bsc, celo, linea, mainnet, polygon, optimism, scroll, worldchain } from 'wagmi/chains';
3
+ import defaultConnectors from './defaultConnectors.js';
4
+
5
+ let globalAppName;
6
+ const getAppName = () => globalAppName;
7
+ const REQUIRED_CHAINS = [
8
+ arbitrum,
9
+ base,
10
+ bsc,
11
+ celo,
12
+ linea,
13
+ mainnet,
14
+ polygon,
15
+ optimism,
16
+ scroll,
17
+ worldchain
18
+ ];
19
+ const defaultConfig = ({
20
+ appName = "Daimo Pay",
21
+ appIcon,
22
+ appDescription,
23
+ appUrl,
24
+ additionalConnectors,
25
+ chains = REQUIRED_CHAINS,
26
+ client,
27
+ ...props
28
+ }) => {
29
+ globalAppName = appName;
30
+ const paddedChains = [...chains];
31
+ for (const chain of REQUIRED_CHAINS) {
32
+ if (!paddedChains.includes(chain)) {
33
+ paddedChains.push(chain);
34
+ }
35
+ }
36
+ const paddedTransports = {};
37
+ for (const chain of paddedChains) {
38
+ if (!props?.transports?.[chain.id]) {
39
+ paddedTransports[chain.id] = http();
40
+ } else {
41
+ paddedTransports[chain.id] = props.transports[chain.id];
42
+ }
43
+ }
44
+ const connectors = props?.connectors ?? defaultConnectors({
45
+ app: {
46
+ name: appName,
47
+ icon: appIcon,
48
+ description: appDescription,
49
+ url: appUrl
50
+ },
51
+ additionalConnectors
52
+ });
53
+ const config = {
54
+ ...props,
55
+ chains: paddedChains,
56
+ transports: paddedTransports,
57
+ connectors
58
+ };
59
+ return config;
60
+ };
61
+
62
+ export { REQUIRED_CHAINS, defaultConfig as default, getAppName };
63
+ //# sourceMappingURL=defaultConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultConfig.js","sources":["../../../src/defaultConfig.ts"],"sourcesContent":["import { type CreateConfigParameters } from \"@wagmi/core\";\nimport { CreateConnectorFn, http } from \"wagmi\";\nimport {\n arbitrum,\n base,\n bsc,\n celo,\n Chain,\n linea,\n mainnet,\n optimism,\n polygon,\n scroll,\n worldchain,\n} from \"wagmi/chains\";\nimport { CoinbaseWalletParameters } from \"wagmi/connectors\";\n\nimport defaultConnectors from \"./defaultConnectors\";\n\n// TODO: Move these to a provider rather than global variable\nlet globalAppName: string;\nlet globalAppIcon: string;\nexport const getAppName = () => globalAppName;\nexport const getAppIcon = () => globalAppIcon;\n\ntype DefaultConfigProps = {\n appName: string;\n appIcon?: string;\n appDescription?: string;\n appUrl?: string;\n\n // Coinbase Wallet preference\n coinbaseWalletPreference?: CoinbaseWalletParameters<\"4\">[\"preference\"];\n\n // Additional connectors to use\n additionalConnectors?: CreateConnectorFn[];\n} & Partial<CreateConfigParameters>;\n\nexport const REQUIRED_CHAINS: CreateConfigParameters[\"chains\"] = [\n arbitrum,\n base,\n bsc,\n celo,\n linea,\n mainnet,\n polygon,\n optimism,\n scroll,\n worldchain,\n];\n\n/** Daimo Pay recommended config, for use with wagmi's createConfig(). */\nconst defaultConfig = ({\n appName = \"Daimo Pay\",\n appIcon,\n appDescription,\n appUrl,\n additionalConnectors,\n chains = REQUIRED_CHAINS,\n client,\n ...props\n}: DefaultConfigProps): CreateConfigParameters => {\n globalAppName = appName;\n if (appIcon) globalAppIcon = appIcon;\n\n const paddedChains: [Chain, ...Chain[]] = [...chains];\n for (const chain of REQUIRED_CHAINS) {\n if (!paddedChains.includes(chain)) {\n paddedChains.push(chain);\n }\n }\n\n const paddedTransports: CreateConfigParameters[\"transports\"] = {};\n for (const chain of paddedChains) {\n if (!props?.transports?.[chain.id]) {\n // Auto inject http transport if not provided for a chain\n paddedTransports[chain.id] = http();\n } else {\n paddedTransports[chain.id] = props.transports[chain.id];\n }\n }\n\n const connectors: CreateConfigParameters[\"connectors\"] =\n props?.connectors ??\n defaultConnectors({\n app: {\n name: appName,\n icon: appIcon,\n description: appDescription,\n url: appUrl,\n },\n additionalConnectors,\n });\n\n const config: CreateConfigParameters<any, any> = {\n ...props,\n chains: paddedChains,\n transports: paddedTransports,\n connectors,\n };\n\n return config;\n};\n\nexport default defaultConfig;\n"],"names":[],"mappings":";;;;AAoBA,IAAI,aAAA,CAAA;AAEG,MAAM,aAAa,MAAM,cAAA;AAgBzB,MAAM,eAAoD,GAAA;AAAA,EAC/D,QAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AACF,EAAA;AAGA,MAAM,gBAAgB,CAAC;AAAA,EACrB,OAAU,GAAA,WAAA;AAAA,EACV,OAAA;AAAA,EACA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,oBAAA;AAAA,EACA,MAAS,GAAA,eAAA;AAAA,EACT,MAAA;AAAA,EACA,GAAG,KAAA;AACL,CAAkD,KAAA;AAChD,EAAgB,aAAA,GAAA,OAAA,CAAA;AAGhB,EAAM,MAAA,YAAA,GAAoC,CAAC,GAAG,MAAM,CAAA,CAAA;AACpD,EAAA,KAAA,MAAW,SAAS,eAAiB,EAAA;AACnC,IAAA,IAAI,CAAC,YAAA,CAAa,QAAS,CAAA,KAAK,CAAG,EAAA;AACjC,MAAA,YAAA,CAAa,KAAK,KAAK,CAAA,CAAA;AAAA,KACzB;AAAA,GACF;AAEA,EAAA,MAAM,mBAAyD,EAAC,CAAA;AAChE,EAAA,KAAA,MAAW,SAAS,YAAc,EAAA;AAChC,IAAA,IAAI,CAAC,KAAA,EAAO,UAAa,GAAA,KAAA,CAAM,EAAE,CAAG,EAAA;AAElC,MAAiB,gBAAA,CAAA,KAAA,CAAM,EAAE,CAAA,GAAI,IAAK,EAAA,CAAA;AAAA,KAC7B,MAAA;AACL,MAAA,gBAAA,CAAiB,MAAM,EAAE,CAAA,GAAI,KAAM,CAAA,UAAA,CAAW,MAAM,EAAE,CAAA,CAAA;AAAA,KACxD;AAAA,GACF;AAEA,EAAM,MAAA,UAAA,GACJ,KAAO,EAAA,UAAA,IACP,iBAAkB,CAAA;AAAA,IAChB,GAAK,EAAA;AAAA,MACH,IAAM,EAAA,OAAA;AAAA,MACN,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,cAAA;AAAA,MACb,GAAK,EAAA,MAAA;AAAA,KACP;AAAA,IACA,oBAAA;AAAA,GACD,CAAA,CAAA;AAEH,EAAA,MAAM,MAA2C,GAAA;AAAA,IAC/C,GAAG,KAAA;AAAA,IACH,MAAQ,EAAA,YAAA;AAAA,IACR,UAAY,EAAA,gBAAA;AAAA,IACZ,UAAA;AAAA,GACF,CAAA;AAEA,EAAO,OAAA,MAAA,CAAA;AACT;;;;"}
@@ -0,0 +1,37 @@
1
+ import { safe, baseAccount, gemini } from '@wagmi/connectors';
2
+
3
+ const defaultConnectors = ({
4
+ app,
5
+ additionalConnectors
6
+ }) => {
7
+ const shouldUseSafeConnector = !(typeof window === "undefined") && window?.parent !== window;
8
+ const connectors = additionalConnectors ?? [];
9
+ if (shouldUseSafeConnector) {
10
+ connectors.push(
11
+ safe({
12
+ allowedDomains: [/gnosis-safe.io$/, /app.safe.global$/]
13
+ })
14
+ );
15
+ }
16
+ connectors.push(
17
+ baseAccount({
18
+ appName: app.name,
19
+ // Use the default Daimo Pay logo if the app does not provide an icon
20
+ appLogoUrl: app.icon ?? "https://pay.daimo.com/daimo-pay-logo.svg"
21
+ })
22
+ );
23
+ connectors.push(
24
+ gemini({
25
+ appMetadata: {
26
+ name: app.name,
27
+ url: app.url,
28
+ // Use the default Daimo Pay logo if the app does not provide an icon
29
+ appLogoUrl: app.icon ?? "https://pay.daimo.com/daimo-pay-logo.svg"
30
+ }
31
+ })
32
+ );
33
+ return connectors;
34
+ };
35
+
36
+ export { defaultConnectors as default };
37
+ //# sourceMappingURL=defaultConnectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultConnectors.js","sources":["../../../src/defaultConnectors.ts"],"sourcesContent":["import { baseAccount, gemini, safe } from \"@wagmi/connectors\";\nimport { CreateConnectorFn } from \"wagmi\";\n\ntype DefaultConnectorsProps = {\n app: {\n name: string;\n icon?: string;\n description?: string;\n url?: string;\n };\n additionalConnectors?: CreateConnectorFn[];\n};\n\nconst defaultConnectors = ({\n app,\n additionalConnectors,\n}: DefaultConnectorsProps): CreateConnectorFn[] => {\n const shouldUseSafeConnector =\n !(typeof window === \"undefined\") && window?.parent !== window;\n\n const connectors: CreateConnectorFn[] = additionalConnectors ?? [];\n\n // If we're in an iframe, include the SafeConnector\n if (shouldUseSafeConnector) {\n connectors.push(\n safe({\n allowedDomains: [/gnosis-safe.io$/, /app.safe.global$/],\n }),\n );\n }\n // Add the rest of the connectors\n connectors.push(\n baseAccount({\n appName: app.name,\n // Use the default Daimo Pay logo if the app does not provide an icon\n appLogoUrl: app.icon ?? \"https://pay.daimo.com/daimo-pay-logo.svg\",\n }),\n );\n connectors.push(\n gemini({\n appMetadata: {\n name: app.name,\n url: app.url,\n // Use the default Daimo Pay logo if the app does not provide an icon\n appLogoUrl: app.icon ?? \"https://pay.daimo.com/daimo-pay-logo.svg\",\n },\n }),\n );\n\n return connectors;\n};\n\nexport default defaultConnectors;\n"],"names":[],"mappings":";;AAaA,MAAM,oBAAoB,CAAC;AAAA,EACzB,GAAA;AAAA,EACA,oBAAA;AACF,CAAmD,KAAA;AACjD,EAAA,MAAM,yBACJ,EAAE,OAAO,MAAW,KAAA,WAAA,CAAA,IAAgB,QAAQ,MAAW,KAAA,MAAA,CAAA;AAEzD,EAAM,MAAA,UAAA,GAAkC,wBAAwB,EAAC,CAAA;AAGjE,EAAA,IAAI,sBAAwB,EAAA;AAC1B,IAAW,UAAA,CAAA,IAAA;AAAA,MACT,IAAK,CAAA;AAAA,QACH,cAAA,EAAgB,CAAC,iBAAA,EAAmB,kBAAkB,CAAA;AAAA,OACvD,CAAA;AAAA,KACH,CAAA;AAAA,GACF;AAEA,EAAW,UAAA,CAAA,IAAA;AAAA,IACT,WAAY,CAAA;AAAA,MACV,SAAS,GAAI,CAAA,IAAA;AAAA;AAAA,MAEb,UAAA,EAAY,IAAI,IAAQ,IAAA,0CAAA;AAAA,KACzB,CAAA;AAAA,GACH,CAAA;AACA,EAAW,UAAA,CAAA,IAAA;AAAA,IACT,MAAO,CAAA;AAAA,MACL,WAAa,EAAA;AAAA,QACX,MAAM,GAAI,CAAA,IAAA;AAAA,QACV,KAAK,GAAI,CAAA,GAAA;AAAA;AAAA,QAET,UAAA,EAAY,IAAI,IAAQ,IAAA,0CAAA;AAAA,OAC1B;AAAA,KACD,CAAA;AAAA,GACH,CAAA;AAEA,EAAO,OAAA,UAAA,CAAA;AACT;;;;"}
@@ -0,0 +1,10 @@
1
+ import { useConfig } from 'wagmi';
2
+
3
+ function useChainIsSupported(chainId) {
4
+ const { chains } = useConfig();
5
+ if (!chainId) return false;
6
+ return chains.some((x) => x.id === chainId);
7
+ }
8
+
9
+ export { useChainIsSupported };
10
+ //# sourceMappingURL=useChainIsSupported.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChainIsSupported.js","sources":["../../../../src/hooks/useChainIsSupported.ts"],"sourcesContent":["import { useConfig } from \"wagmi\";\n\n/** Determines whether the current wagmi configuration supports a given chain. */\nexport function useChainIsSupported(chainId?: number): boolean | null {\n const { chains } = useConfig();\n if (!chainId) return false;\n return chains.some((x) => x.id === chainId);\n}\n"],"names":[],"mappings":";;AAGO,SAAS,oBAAoB,OAAkC,EAAA;AACpE,EAAM,MAAA,EAAE,MAAO,EAAA,GAAI,SAAU,EAAA,CAAA;AAC7B,EAAI,IAAA,CAAC,SAAgB,OAAA,KAAA,CAAA;AACrB,EAAA,OAAO,OAAO,IAAK,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,OAAO,OAAO,CAAA,CAAA;AAC5C;;;;"}
@@ -0,0 +1,10 @@
1
+ import { useConfig } from 'wagmi';
2
+
3
+ function useChains() {
4
+ const wagmi = useConfig();
5
+ const chains = wagmi?.chains ?? [];
6
+ return chains.map((c) => c);
7
+ }
8
+
9
+ export { useChains };
10
+ //# sourceMappingURL=useChains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChains.js","sources":["../../../../src/hooks/useChains.ts"],"sourcesContent":["import { Chain } from \"viem\";\nimport { useConfig } from \"wagmi\";\n\n/** Returns currently configured wagmi chains. */\nexport function useChains() {\n const wagmi = useConfig();\n const chains = wagmi?.chains ?? [];\n return chains.map((c) => c) as Chain[];\n}\n"],"names":[],"mappings":";;AAIO,SAAS,SAAY,GAAA;AAC1B,EAAA,MAAM,QAAQ,SAAU,EAAA,CAAA;AACxB,EAAM,MAAA,MAAA,GAAS,KAAO,EAAA,MAAA,IAAU,EAAC,CAAA;AACjC,EAAA,OAAO,MAAO,CAAA,GAAA,CAAI,CAAC,CAAA,KAAM,CAAC,CAAA,CAAA;AAC5B;;;;"}
@@ -0,0 +1,61 @@
1
+ import { useConnect as useConnect$1 } from 'wagmi';
2
+ import { usePayContext } from './usePayContext.js';
3
+
4
+ function useConnect({ ...props } = {}) {
5
+ const context = usePayContext();
6
+ const { connect, connectAsync, connectors, ...rest } = useConnect$1({
7
+ ...props,
8
+ mutation: {
9
+ ...props.mutation,
10
+ onError(err) {
11
+ if (err.message) {
12
+ if (err.message === "Proposal expired") {
13
+ context.log(
14
+ "[CONNECT] Connection request timed out. Please try again.",
15
+ err
16
+ );
17
+ return;
18
+ }
19
+ if (err.message !== "User rejected request") {
20
+ context.log(`[CONNECT] ${err.message}`, err);
21
+ }
22
+ } else {
23
+ context.log(`[CONNECT] Could not connect.`, err);
24
+ }
25
+ }
26
+ }
27
+ });
28
+ return {
29
+ connect: ({
30
+ connector,
31
+ chainId,
32
+ mutation
33
+ }) => {
34
+ return connect(
35
+ {
36
+ connector,
37
+ chainId: chainId ?? context.options?.initialChainId
38
+ },
39
+ mutation
40
+ );
41
+ },
42
+ connectAsync: async ({
43
+ connector,
44
+ chainId,
45
+ mutation
46
+ }) => {
47
+ return connectAsync(
48
+ {
49
+ connector,
50
+ chainId: chainId ?? context.options?.initialChainId
51
+ },
52
+ mutation
53
+ );
54
+ },
55
+ connectors,
56
+ ...rest
57
+ };
58
+ }
59
+
60
+ export { useConnect };
61
+ //# sourceMappingURL=useConnect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnect.js","sources":["../../../../src/hooks/useConnect.tsx"],"sourcesContent":["/**\n * This is a wrapper around wagmi's useConnect hook that adds some\n * additional functionality.\n */\n\nimport {\n Connector,\n CreateConnectorFn,\n type UseConnectParameters,\n useConnect as wagmiUseConnect,\n} from \"wagmi\";\nimport { usePayContext } from \"./usePayContext\";\n\nexport function useConnect({ ...props }: UseConnectParameters = {}) {\n const context = usePayContext();\n\n const { connect, connectAsync, connectors, ...rest } = wagmiUseConnect({\n ...props,\n mutation: {\n ...props.mutation,\n onError(err) {\n if (err.message) {\n if (err.message === \"Proposal expired\") {\n context.log(\n \"[CONNECT] Connection request timed out. Please try again.\",\n err,\n );\n return;\n }\n if (err.message !== \"User rejected request\") {\n context.log(`[CONNECT] ${err.message}`, err);\n }\n } else {\n context.log(`[CONNECT] Could not connect.`, err);\n }\n },\n },\n });\n\n return {\n connect: ({\n connector,\n chainId,\n mutation,\n }: {\n connector: CreateConnectorFn | Connector;\n chainId?: number;\n mutation?: UseConnectParameters[\"mutation\"];\n }) => {\n return connect(\n {\n connector,\n chainId: chainId ?? context.options?.initialChainId,\n },\n mutation,\n );\n },\n connectAsync: async ({\n connector,\n chainId,\n mutation,\n }: {\n connector: CreateConnectorFn | Connector;\n chainId?: number;\n mutation?: UseConnectParameters[\"mutation\"];\n }) => {\n return connectAsync(\n {\n connector,\n chainId: chainId ?? context.options?.initialChainId,\n },\n mutation,\n );\n },\n connectors,\n ...rest,\n };\n}\n"],"names":["wagmiUseConnect"],"mappings":";;;AAaO,SAAS,WAAW,EAAE,GAAG,KAAM,EAAA,GAA0B,EAAI,EAAA;AAClE,EAAA,MAAM,UAAU,aAAc,EAAA,CAAA;AAE9B,EAAA,MAAM,EAAE,OAAS,EAAA,YAAA,EAAc,YAAY,GAAG,IAAA,KAASA,YAAgB,CAAA;AAAA,IACrE,GAAG,KAAA;AAAA,IACH,QAAU,EAAA;AAAA,MACR,GAAG,KAAM,CAAA,QAAA;AAAA,MACT,QAAQ,GAAK,EAAA;AACX,QAAA,IAAI,IAAI,OAAS,EAAA;AACf,UAAI,IAAA,GAAA,CAAI,YAAY,kBAAoB,EAAA;AACtC,YAAQ,OAAA,CAAA,GAAA;AAAA,cACN,2DAAA;AAAA,cACA,GAAA;AAAA,aACF,CAAA;AACA,YAAA,OAAA;AAAA,WACF;AACA,UAAI,IAAA,GAAA,CAAI,YAAY,uBAAyB,EAAA;AAC3C,YAAA,OAAA,CAAQ,GAAI,CAAA,CAAA,UAAA,EAAa,GAAI,CAAA,OAAO,IAAI,GAAG,CAAA,CAAA;AAAA,WAC7C;AAAA,SACK,MAAA;AACL,UAAQ,OAAA,CAAA,GAAA,CAAI,gCAAgC,GAAG,CAAA,CAAA;AAAA,SACjD;AAAA,OACF;AAAA,KACF;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,SAAS,CAAC;AAAA,MACR,SAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,KAKI,KAAA;AACJ,MAAO,OAAA,OAAA;AAAA,QACL;AAAA,UACE,SAAA;AAAA,UACA,OAAA,EAAS,OAAW,IAAA,OAAA,CAAQ,OAAS,EAAA,cAAA;AAAA,SACvC;AAAA,QACA,QAAA;AAAA,OACF,CAAA;AAAA,KACF;AAAA,IACA,cAAc,OAAO;AAAA,MACnB,SAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,KAKI,KAAA;AACJ,MAAO,OAAA,YAAA;AAAA,QACL;AAAA,UACE,SAAA;AAAA,UACA,OAAA,EAAS,OAAW,IAAA,OAAA,CAAQ,OAAS,EAAA,cAAA;AAAA,SACvC;AAAA,QACA,QAAA;AAAA,OACF,CAAA;AAAA,KACF;AAAA,IACA,UAAA;AAAA,IACA,GAAG,IAAA;AAAA,GACL,CAAA;AACF;;;;"}
@@ -0,0 +1,21 @@
1
+ import { useAccountEffect } from 'wagmi';
2
+
3
+ const useConnectCallback = ({
4
+ onConnect,
5
+ onDisconnect
6
+ }) => {
7
+ useAccountEffect({
8
+ onConnect: ({ address, connector, isReconnected }) => {
9
+ if (!isReconnected) {
10
+ onConnect?.({
11
+ address,
12
+ connectorId: connector?.id
13
+ });
14
+ }
15
+ },
16
+ onDisconnect: () => onDisconnect?.()
17
+ });
18
+ };
19
+
20
+ export { useConnectCallback };
21
+ //# sourceMappingURL=useConnectCallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnectCallback.js","sources":["../../../../src/hooks/useConnectCallback.ts"],"sourcesContent":["import { useAccountEffect } from \"wagmi\";\n\nexport type useConnectCallbackProps = {\n onConnect?: ({\n address,\n connectorId,\n }: {\n address?: string;\n connectorId?: string;\n }) => void;\n onDisconnect?: () => void;\n};\n\nexport const useConnectCallback = ({\n onConnect,\n onDisconnect,\n}: useConnectCallbackProps) => {\n useAccountEffect({\n onConnect: ({ address, connector, isReconnected }) => {\n if (!isReconnected) {\n onConnect?.({\n address: address,\n connectorId: connector?.id,\n });\n }\n },\n onDisconnect: () => onDisconnect?.(),\n });\n};\n"],"names":[],"mappings":";;AAaO,MAAM,qBAAqB,CAAC;AAAA,EACjC,SAAA;AAAA,EACA,YAAA;AACF,CAA+B,KAAA;AAC7B,EAAiB,gBAAA,CAAA;AAAA,IACf,WAAW,CAAC,EAAE,OAAS,EAAA,SAAA,EAAW,eAAoB,KAAA;AACpD,MAAA,IAAI,CAAC,aAAe,EAAA;AAClB,QAAY,SAAA,GAAA;AAAA,UACV,OAAA;AAAA,UACA,aAAa,SAAW,EAAA,EAAA;AAAA,SACzB,CAAA,CAAA;AAAA,OACH;AAAA,KACF;AAAA,IACA,YAAA,EAAc,MAAM,YAAe,IAAA;AAAA,GACpC,CAAA,CAAA;AACH;;;;"}
@@ -0,0 +1,9 @@
1
+ import { useConnectors as useConnectors$1 } from 'wagmi';
2
+
3
+ function useConnectors() {
4
+ const connectors = useConnectors$1();
5
+ return connectors ?? [];
6
+ }
7
+
8
+ export { useConnectors };
9
+ //# sourceMappingURL=useConnectors.js.map
@@ -0,0 +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;;;;"}
@@ -0,0 +1,107 @@
1
+ import { useContext, useSyncExternalStore, useMemo, useCallback } from 'react';
2
+ import { waitForPaymentState } from '../payment/paymentStore.js';
3
+ import { PaymentContext } from '../provider/PaymentProvider.js';
4
+
5
+ function useDaimoPay() {
6
+ const store = useContext(PaymentContext);
7
+ if (!store) {
8
+ throw new Error("useDaimoPay must be used within <PaymentProvider>");
9
+ }
10
+ const paymentFsmState = useSyncExternalStore(
11
+ store.subscribe,
12
+ store.getState,
13
+ store.getState
14
+ );
15
+ const order = useMemo(() => {
16
+ if (paymentFsmState.type === "idle") return null;
17
+ return paymentFsmState.order ?? null;
18
+ }, [paymentFsmState]);
19
+ const paymentState = paymentFsmState.type;
20
+ const paymentErrorMessage = paymentFsmState.type === "error" ? paymentFsmState.message : null;
21
+ const dispatch = useCallback((e) => store.dispatch(e), [store]);
22
+ const createPreviewOrder = useCallback(
23
+ async (payParams) => {
24
+ dispatch({ type: "set_pay_params", payParams });
25
+ const previewOrderState = await waitForPaymentState(store, "preview");
26
+ return previewOrderState;
27
+ },
28
+ [dispatch, store]
29
+ );
30
+ const setPayId = useCallback(
31
+ async (payId) => {
32
+ dispatch({ type: "set_pay_id", payId });
33
+ const previewOrderState = await waitForPaymentState(
34
+ store,
35
+ "unhydrated",
36
+ "payment_unpaid",
37
+ "payment_started",
38
+ "payment_completed",
39
+ "payment_bounced"
40
+ );
41
+ return previewOrderState;
42
+ },
43
+ [dispatch, store]
44
+ );
45
+ const hydrateOrder = useCallback(
46
+ async (refundAddress) => {
47
+ dispatch({ type: "hydrate_order", refundAddress });
48
+ const hydratedOrderState = await waitForPaymentState(
49
+ store,
50
+ "payment_unpaid"
51
+ );
52
+ return hydratedOrderState;
53
+ },
54
+ [dispatch, store]
55
+ );
56
+ const paySource = useCallback(
57
+ () => dispatch({ type: "pay_source" }),
58
+ [dispatch]
59
+ );
60
+ const payEthSource = useCallback(
61
+ async (args) => {
62
+ dispatch({ type: "pay_ethereum_source", ...args });
63
+ const paidState = await waitForPaymentState(
64
+ store,
65
+ "payment_started",
66
+ "payment_completed",
67
+ "payment_bounced"
68
+ );
69
+ return paidState;
70
+ },
71
+ [dispatch, store]
72
+ );
73
+ const paySolanaSource = useCallback(
74
+ async (args) => {
75
+ dispatch({ type: "pay_solana_source", ...args });
76
+ const paidState = await waitForPaymentState(
77
+ store,
78
+ "payment_started",
79
+ "payment_completed",
80
+ "payment_bounced"
81
+ );
82
+ return paidState;
83
+ },
84
+ [dispatch, store]
85
+ );
86
+ const reset = useCallback(() => dispatch({ type: "reset" }), [dispatch]);
87
+ const setChosenUsd = useCallback(
88
+ (usd) => dispatch({ type: "set_chosen_usd", usd }),
89
+ [dispatch]
90
+ );
91
+ return {
92
+ order,
93
+ paymentState,
94
+ paymentErrorMessage,
95
+ createPreviewOrder,
96
+ hydrateOrder,
97
+ setPayId,
98
+ paySource,
99
+ payEthSource,
100
+ paySolanaSource,
101
+ reset,
102
+ setChosenUsd
103
+ };
104
+ }
105
+
106
+ export { useDaimoPay };
107
+ //# sourceMappingURL=useDaimoPay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDaimoPay.js","sources":["../../../../src/hooks/useDaimoPay.tsx"],"sourcesContent":["// hooks/useDaimoPay.ts\nimport { DaimoPayOrderID, SolanaPublicKey } from \"@daimo/pay-common\";\nimport { useCallback, useContext, useMemo, useSyncExternalStore } from \"react\";\nimport { Address, Hex } from \"viem\";\nimport { PaymentEvent, PaymentState, PayParams } from \"../payment/paymentFsm\";\nimport { waitForPaymentState } from \"../payment/paymentStore\";\nimport { PaymentContext } from \"../provider/PaymentProvider\";\n\ntype DaimoPayFunctions = {\n /**\n * Create a new Daimo Pay order preview with the given parameters.\n * Call this to start a new payment flow.\n *\n * @param params - Parameters describing the payment to be created.\n */\n createPreviewOrder: (\n params: PayParams,\n ) => Promise<Extract<PaymentState, { type: \"preview\" }>>;\n\n /**\n * Set the order ID to fetch and manage an existing Daimo Pay order.\n * Useful for resuming or referencing a previously created order.\n *\n * @param id - The Daimo Pay order ID to set.\n */\n setPayId: (id: DaimoPayOrderID) => Promise<\n Extract<\n PaymentState,\n {\n type:\n | \"unhydrated\"\n | \"payment_unpaid\"\n | \"payment_started\"\n | \"payment_completed\"\n | \"payment_bounced\";\n }\n >\n >;\n\n /**\n * Hydrate the current order, locking in the payment intent details and\n * token swap prices.\n */\n hydrateOrder: (\n refundAddress?: Address,\n ) => Promise<Extract<PaymentState, { type: \"payment_unpaid\" }>>;\n\n /** Trigger search for payment on the current order. */\n paySource: () => void;\n\n /**\n * Register an Ethereum payment source for the current order.\n * Call this after the user has submitted an Ethereum payment transaction.\n *\n * @param args - Details about the Ethereum payment transaction.\n */\n payEthSource: (args: {\n paymentTxHash: Hex;\n sourceChainId: number;\n payerAddress: Address;\n sourceToken: Address;\n sourceAmount: bigint;\n }) => Promise<\n Extract<\n PaymentState,\n { type: \"payment_started\" | \"payment_completed\" | \"payment_bounced\" }\n >\n >;\n\n /**\n * Register a Solana payment source for the current order.\n * Call this after the user has submitted a Solana payment transaction.\n *\n * @param args - Details about the Solana payment transaction.\n */\n paySolanaSource: (args: {\n paymentTxHash: string;\n sourceToken: SolanaPublicKey;\n }) => Promise<\n Extract<\n PaymentState,\n { type: \"payment_started\" | \"payment_completed\" | \"payment_bounced\" }\n >\n >;\n\n /**\n * Reset the current payment state and clear the active order.\n * Call this to start a new payment flow.\n */\n reset: () => void;\n\n /**\n * Update the user's chosen amount in USD. Applies only to deposit flow.\n *\n * @deprecated\n */\n setChosenUsd: (usd: number) => void;\n};\n\n// Enforce that order is typed correctly based on paymentState.\n// E.g. if paymentState is \"payment_completed\", then order must be hydrated.\ntype DaimoPayState = {\n [S in PaymentState as S[\"type\"]]: {\n paymentState: S[\"type\"];\n order: S extends { order: infer O } ? O : null;\n paymentErrorMessage: S extends { message: infer M } ? M : null;\n };\n}[PaymentState[\"type\"]];\n\nexport type UseDaimoPay = DaimoPayFunctions & DaimoPayState;\n\n/**\n * React hook for interacting with Daimo Pay orders and payments. Use this hook\n * to manage the lifecycle of a Daimo Pay payment in your application.\n *\n * This hook provides a simple interface to create, hydrate, pay, and reset\n * Daimo Pay orders.\n *\n * @returns {UseDaimoPay} An object with current payment state and methods to\n * manage Daimo Pay orders and payments.\n */\nexport function useDaimoPay(): UseDaimoPay {\n const store = useContext(PaymentContext);\n if (!store) {\n throw new Error(\"useDaimoPay must be used within <PaymentProvider>\");\n }\n\n /* --------------------------------------------------\n Order state\n ---------------------------------------------------*/\n\n // Subscribe to the store and keep an up-to-date copy of the payment.\n const paymentFsmState = useSyncExternalStore(\n store.subscribe,\n store.getState,\n store.getState,\n );\n\n // Wrap `order` in `useMemo` for reference stability. This allows downstream\n // components to use `order` as a dependency to avoid unnecessary re-renders.\n const order = useMemo(() => {\n if (paymentFsmState.type === \"idle\") return null;\n return paymentFsmState.order ?? null;\n }, [paymentFsmState]);\n\n const paymentState = paymentFsmState.type;\n const paymentErrorMessage =\n paymentFsmState.type === \"error\" ? paymentFsmState.message : null;\n\n /* --------------------------------------------------\n Order event dispatch helpers\n ---------------------------------------------------*/\n\n // Internal helper to dispatch events to the store.\n const dispatch = useCallback((e: PaymentEvent) => store.dispatch(e), [store]);\n\n const createPreviewOrder = useCallback(\n async (payParams: PayParams) => {\n dispatch({ type: \"set_pay_params\", payParams });\n\n // Wait for the order to enter the \"preview\" state, which means it\n // has been successfully created.\n const previewOrderState = await waitForPaymentState(store, \"preview\");\n\n return previewOrderState;\n },\n [dispatch, store],\n );\n\n const setPayId = useCallback(\n async (payId: DaimoPayOrderID) => {\n dispatch({ type: \"set_pay_id\", payId });\n\n // Wait for the order to be queried from the API. Using payId could\n // result in the order being in any state.\n const previewOrderState = await waitForPaymentState(\n store,\n \"unhydrated\",\n \"payment_unpaid\",\n \"payment_started\",\n \"payment_completed\",\n \"payment_bounced\",\n );\n\n return previewOrderState;\n },\n [dispatch, store],\n );\n\n const hydrateOrder = useCallback(\n async (refundAddress?: Address) => {\n dispatch({ type: \"hydrate_order\", refundAddress });\n\n // Wait for the order to enter the \"payment_unpaid\" state, which means it\n // has been successfully hydrated.\n const hydratedOrderState = await waitForPaymentState(\n store,\n \"payment_unpaid\",\n );\n\n return hydratedOrderState;\n },\n [dispatch, store],\n );\n\n const paySource = useCallback(\n () => dispatch({ type: \"pay_source\" }),\n [dispatch],\n );\n\n const payEthSource = useCallback(\n async (args: {\n paymentTxHash: Hex;\n sourceChainId: number;\n payerAddress: Address;\n sourceToken: Address;\n sourceAmount: bigint;\n }) => {\n dispatch({ type: \"pay_ethereum_source\", ...args });\n\n // Will throw if the payment is not verified by the server.\n const paidState = await waitForPaymentState(\n store,\n \"payment_started\",\n \"payment_completed\",\n \"payment_bounced\",\n );\n\n return paidState;\n },\n [dispatch, store],\n );\n\n const paySolanaSource = useCallback(\n async (args: { paymentTxHash: string; sourceToken: SolanaPublicKey }) => {\n dispatch({ type: \"pay_solana_source\", ...args });\n\n // Will throw if the payment is not verified by the server.\n const paidState = await waitForPaymentState(\n store,\n \"payment_started\",\n \"payment_completed\",\n \"payment_bounced\",\n );\n\n return paidState;\n },\n [dispatch, store],\n );\n\n const reset = useCallback(() => dispatch({ type: \"reset\" }), [dispatch]);\n\n const setChosenUsd = useCallback(\n (usd: number) => dispatch({ type: \"set_chosen_usd\", usd }),\n [dispatch],\n );\n\n return {\n order,\n paymentState,\n paymentErrorMessage,\n createPreviewOrder,\n hydrateOrder,\n setPayId,\n paySource,\n payEthSource,\n paySolanaSource,\n reset,\n setChosenUsd,\n } as UseDaimoPay;\n}\n"],"names":[],"mappings":";;;;AAyHO,SAAS,WAA2B,GAAA;AACzC,EAAM,MAAA,KAAA,GAAQ,WAAW,cAAc,CAAA,CAAA;AACvC,EAAA,IAAI,CAAC,KAAO,EAAA;AACV,IAAM,MAAA,IAAI,MAAM,mDAAmD,CAAA,CAAA;AAAA,GACrE;AAOA,EAAA,MAAM,eAAkB,GAAA,oBAAA;AAAA,IACtB,KAAM,CAAA,SAAA;AAAA,IACN,KAAM,CAAA,QAAA;AAAA,IACN,KAAM,CAAA,QAAA;AAAA,GACR,CAAA;AAIA,EAAM,MAAA,KAAA,GAAQ,QAAQ,MAAM;AAC1B,IAAI,IAAA,eAAA,CAAgB,IAAS,KAAA,MAAA,EAAe,OAAA,IAAA,CAAA;AAC5C,IAAA,OAAO,gBAAgB,KAAS,IAAA,IAAA,CAAA;AAAA,GAClC,EAAG,CAAC,eAAe,CAAC,CAAA,CAAA;AAEpB,EAAA,MAAM,eAAe,eAAgB,CAAA,IAAA,CAAA;AACrC,EAAA,MAAM,mBACJ,GAAA,eAAA,CAAgB,IAAS,KAAA,OAAA,GAAU,gBAAgB,OAAU,GAAA,IAAA,CAAA;AAO/D,EAAM,MAAA,QAAA,GAAW,WAAY,CAAA,CAAC,CAAoB,KAAA,KAAA,CAAM,SAAS,CAAC,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA,CAAA;AAE5E,EAAA,MAAM,kBAAqB,GAAA,WAAA;AAAA,IACzB,OAAO,SAAyB,KAAA;AAC9B,MAAA,QAAA,CAAS,EAAE,IAAA,EAAM,gBAAkB,EAAA,SAAA,EAAW,CAAA,CAAA;AAI9C,MAAA,MAAM,iBAAoB,GAAA,MAAM,mBAAoB,CAAA,KAAA,EAAO,SAAS,CAAA,CAAA;AAEpE,MAAO,OAAA,iBAAA,CAAA;AAAA,KACT;AAAA,IACA,CAAC,UAAU,KAAK,CAAA;AAAA,GAClB,CAAA;AAEA,EAAA,MAAM,QAAW,GAAA,WAAA;AAAA,IACf,OAAO,KAA2B,KAAA;AAChC,MAAA,QAAA,CAAS,EAAE,IAAA,EAAM,YAAc,EAAA,KAAA,EAAO,CAAA,CAAA;AAItC,MAAA,MAAM,oBAAoB,MAAM,mBAAA;AAAA,QAC9B,KAAA;AAAA,QACA,YAAA;AAAA,QACA,gBAAA;AAAA,QACA,iBAAA;AAAA,QACA,mBAAA;AAAA,QACA,iBAAA;AAAA,OACF,CAAA;AAEA,MAAO,OAAA,iBAAA,CAAA;AAAA,KACT;AAAA,IACA,CAAC,UAAU,KAAK,CAAA;AAAA,GAClB,CAAA;AAEA,EAAA,MAAM,YAAe,GAAA,WAAA;AAAA,IACnB,OAAO,aAA4B,KAAA;AACjC,MAAA,QAAA,CAAS,EAAE,IAAA,EAAM,eAAiB,EAAA,aAAA,EAAe,CAAA,CAAA;AAIjD,MAAA,MAAM,qBAAqB,MAAM,mBAAA;AAAA,QAC/B,KAAA;AAAA,QACA,gBAAA;AAAA,OACF,CAAA;AAEA,MAAO,OAAA,kBAAA,CAAA;AAAA,KACT;AAAA,IACA,CAAC,UAAU,KAAK,CAAA;AAAA,GAClB,CAAA;AAEA,EAAA,MAAM,SAAY,GAAA,WAAA;AAAA,IAChB,MAAM,QAAA,CAAS,EAAE,IAAA,EAAM,cAAc,CAAA;AAAA,IACrC,CAAC,QAAQ,CAAA;AAAA,GACX,CAAA;AAEA,EAAA,MAAM,YAAe,GAAA,WAAA;AAAA,IACnB,OAAO,IAMD,KAAA;AACJ,MAAA,QAAA,CAAS,EAAE,IAAA,EAAM,qBAAuB,EAAA,GAAG,MAAM,CAAA,CAAA;AAGjD,MAAA,MAAM,YAAY,MAAM,mBAAA;AAAA,QACtB,KAAA;AAAA,QACA,iBAAA;AAAA,QACA,mBAAA;AAAA,QACA,iBAAA;AAAA,OACF,CAAA;AAEA,MAAO,OAAA,SAAA,CAAA;AAAA,KACT;AAAA,IACA,CAAC,UAAU,KAAK,CAAA;AAAA,GAClB,CAAA;AAEA,EAAA,MAAM,eAAkB,GAAA,WAAA;AAAA,IACtB,OAAO,IAAkE,KAAA;AACvE,MAAA,QAAA,CAAS,EAAE,IAAA,EAAM,mBAAqB,EAAA,GAAG,MAAM,CAAA,CAAA;AAG/C,MAAA,MAAM,YAAY,MAAM,mBAAA;AAAA,QACtB,KAAA;AAAA,QACA,iBAAA;AAAA,QACA,mBAAA;AAAA,QACA,iBAAA;AAAA,OACF,CAAA;AAEA,MAAO,OAAA,SAAA,CAAA;AAAA,KACT;AAAA,IACA,CAAC,UAAU,KAAK,CAAA;AAAA,GAClB,CAAA;AAEA,EAAM,MAAA,KAAA,GAAQ,WAAY,CAAA,MAAM,QAAS,CAAA,EAAE,IAAM,EAAA,OAAA,EAAS,CAAA,EAAG,CAAC,QAAQ,CAAC,CAAA,CAAA;AAEvE,EAAA,MAAM,YAAe,GAAA,WAAA;AAAA,IACnB,CAAC,GAAgB,KAAA,QAAA,CAAS,EAAE,IAAM,EAAA,gBAAA,EAAkB,KAAK,CAAA;AAAA,IACzD,CAAC,QAAQ,CAAA;AAAA,GACX,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA,YAAA;AAAA,IACA,mBAAA;AAAA,IACA,kBAAA;AAAA,IACA,YAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,YAAA;AAAA,IACA,eAAA;AAAA,IACA,KAAA;AAAA,IACA,YAAA;AAAA,GACF,CAAA;AACF;;;;"}
@@ -0,0 +1,12 @@
1
+ import { writeDaimoPayOrderID } from '@daimo/pay-common';
2
+ import { useDaimoPay } from './useDaimoPay.js';
3
+
4
+ function useDaimoPayStatus() {
5
+ const { order } = useDaimoPay();
6
+ if (order == null) return void 0;
7
+ const paymentId = writeDaimoPayOrderID(order.id);
8
+ return { paymentId, status: order.intentStatus };
9
+ }
10
+
11
+ export { useDaimoPayStatus };
12
+ //# sourceMappingURL=useDaimoPayStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDaimoPayStatus.js","sources":["../../../../src/hooks/useDaimoPayStatus.ts"],"sourcesContent":["import { DaimoPayIntentStatus, writeDaimoPayOrderID } from \"@daimo/pay-common\";\nimport { useDaimoPay } from \"./useDaimoPay\";\n\n/** Returns the current payment, or undefined if there is none.\n *\n * Status values:\n * - `payment_unpaid` - the user has not paid yet\n * - `payment_started` - the user has paid & payment is in progress. This status\n * typically lasts a few seconds.\n * - `payment_completed` - the final call or transfer succeeded\n * - `payment_bounced` - the final call or transfer reverted. Funds were sent\n * to the payment's configured refund address on the destination chain.\n */\nexport function useDaimoPayStatus():\n | { paymentId: string; status: DaimoPayIntentStatus }\n | undefined {\n const { order } = useDaimoPay();\n if (order == null) return undefined;\n\n const paymentId = writeDaimoPayOrderID(order.id);\n\n return { paymentId, status: order.intentStatus };\n}\n"],"names":[],"mappings":";;;AAaO,SAAS,iBAEF,GAAA;AACZ,EAAM,MAAA,EAAE,KAAM,EAAA,GAAI,WAAY,EAAA,CAAA;AAC9B,EAAI,IAAA,KAAA,IAAS,MAAa,OAAA,KAAA,CAAA,CAAA;AAE1B,EAAM,MAAA,SAAA,GAAY,oBAAqB,CAAA,KAAA,CAAM,EAAE,CAAA,CAAA;AAE/C,EAAA,OAAO,EAAE,SAAA,EAAW,MAAQ,EAAA,KAAA,CAAM,YAAa,EAAA,CAAA;AACjD;;;;"}
@@ -0,0 +1,15 @@
1
+ import { useContext } from 'react';
2
+ import { PayContext } from '../provider/PayContext.js';
3
+
4
+ function useDaimoPayUI() {
5
+ const context = useContext(PayContext);
6
+ if (!context) {
7
+ throw new Error("useDaimoPayUI must be used within a DaimoPayUIProvider");
8
+ }
9
+ return {
10
+ resetPayment: context.paymentState.resetOrder
11
+ };
12
+ }
13
+
14
+ export { useDaimoPayUI };
15
+ //# sourceMappingURL=useDaimoPayUI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDaimoPayUI.js","sources":["../../../../src/hooks/useDaimoPayUI.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport { PayParams } from \"../payment/paymentFsm\";\nimport { PayContext } from \"../provider/PayContext\";\n\ntype UseDaimoPayUI = {\n resetPayment: (payParams?: Partial<PayParams>) => Promise<void>;\n};\n\nexport function useDaimoPayUI(): UseDaimoPayUI {\n const context = useContext(PayContext);\n if (!context) {\n throw new Error(\"useDaimoPayUI must be used within a DaimoPayUIProvider\");\n }\n\n return {\n resetPayment: context.paymentState.resetOrder,\n };\n}\n"],"names":[],"mappings":";;;AAQO,SAAS,aAA+B,GAAA;AAC7C,EAAM,MAAA,OAAA,GAAU,WAAW,UAAU,CAAA,CAAA;AACrC,EAAA,IAAI,CAAC,OAAS,EAAA;AACZ,IAAM,MAAA,IAAI,MAAM,wDAAwD,CAAA,CAAA;AAAA,GAC1E;AAEA,EAAO,OAAA;AAAA,IACL,YAAA,EAAc,QAAQ,YAAa,CAAA,UAAA;AAAA,GACrC,CAAA;AACF;;;;"}
@@ -0,0 +1,35 @@
1
+ import { useState, useEffect } from 'react';
2
+
3
+ function useDepositAddressOptions({
4
+ trpc,
5
+ usdRequired,
6
+ mode
7
+ }) {
8
+ const [options, setOptions] = useState(
9
+ []
10
+ );
11
+ const [loading, setLoading] = useState(false);
12
+ useEffect(() => {
13
+ const refreshDepositAddressOptions = async (usd, mode2) => {
14
+ setLoading(true);
15
+ try {
16
+ const options2 = await trpc.getDepositAddressOptions.query({
17
+ usdRequired: usd,
18
+ mode: mode2
19
+ });
20
+ setOptions(options2);
21
+ } catch (e) {
22
+ console.error(e);
23
+ } finally {
24
+ setLoading(false);
25
+ }
26
+ };
27
+ if (usdRequired != null && mode != null) {
28
+ refreshDepositAddressOptions(usdRequired, mode);
29
+ }
30
+ }, [usdRequired, mode]);
31
+ return { options, loading };
32
+ }
33
+
34
+ export { useDepositAddressOptions };
35
+ //# sourceMappingURL=useDepositAddressOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDepositAddressOptions.js","sources":["../../../../src/hooks/useDepositAddressOptions.ts"],"sourcesContent":["import {\n DaimoPayOrderMode,\n DepositAddressPaymentOptionMetadata,\n} from \"@daimo/pay-common\";\nimport { useEffect, useState } from \"react\";\nimport { TrpcClient } from \"../utils/trpc\";\n\nexport function useDepositAddressOptions({\n trpc,\n usdRequired,\n mode,\n}: {\n trpc: TrpcClient;\n usdRequired: number | undefined;\n mode: DaimoPayOrderMode | undefined;\n}) {\n const [options, setOptions] = useState<DepositAddressPaymentOptionMetadata[]>(\n [],\n );\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n const refreshDepositAddressOptions = async (\n usd: number,\n mode: DaimoPayOrderMode,\n ) => {\n setLoading(true);\n try {\n const options = await trpc.getDepositAddressOptions.query({\n usdRequired: usd,\n mode,\n });\n setOptions(options);\n } catch (e) {\n console.error(e);\n } finally {\n setLoading(false);\n }\n };\n\n if (usdRequired != null && mode != null) {\n refreshDepositAddressOptions(usdRequired, mode);\n }\n }, [usdRequired, mode]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return { options, loading };\n}\n"],"names":["mode","options"],"mappings":";;AAOO,SAAS,wBAAyB,CAAA;AAAA,EACvC,IAAA;AAAA,EACA,WAAA;AAAA,EACA,IAAA;AACF,CAIG,EAAA;AACD,EAAM,MAAA,CAAC,OAAS,EAAA,UAAU,CAAI,GAAA,QAAA;AAAA,IAC5B,EAAC;AAAA,GACH,CAAA;AACA,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAE5C,EAAA,SAAA,CAAU,MAAM;AACd,IAAM,MAAA,4BAAA,GAA+B,OACnC,GAAA,EACAA,KACG,KAAA;AACH,MAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AACf,MAAI,IAAA;AACF,QAAA,MAAMC,QAAU,GAAA,MAAM,IAAK,CAAA,wBAAA,CAAyB,KAAM,CAAA;AAAA,UACxD,WAAa,EAAA,GAAA;AAAA,UACb,IAAAD,EAAAA,KAAAA;AAAA,SACD,CAAA,CAAA;AACD,QAAA,UAAA,CAAWC,QAAO,CAAA,CAAA;AAAA,eACX,CAAG,EAAA;AACV,QAAA,OAAA,CAAQ,MAAM,CAAC,CAAA,CAAA;AAAA,OACf,SAAA;AACA,QAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAAA,OAClB;AAAA,KACF,CAAA;AAEA,IAAI,IAAA,WAAA,IAAe,IAAQ,IAAA,IAAA,IAAQ,IAAM,EAAA;AACvC,MAAA,4BAAA,CAA6B,aAAa,IAAI,CAAA,CAAA;AAAA,KAChD;AAAA,GACC,EAAA,CAAC,WAAa,EAAA,IAAI,CAAC,CAAA,CAAA;AAEtB,EAAO,OAAA,EAAE,SAAS,OAAQ,EAAA,CAAA;AAC5B;;;;"}
@@ -0,0 +1,16 @@
1
+ import { createConfig, http } from 'wagmi';
2
+ import { mainnet } from 'wagmi/chains';
3
+ import { useChainIsSupported } from './useChainIsSupported.js';
4
+
5
+ const ensFallbackConfig = createConfig({
6
+ chains: [mainnet],
7
+ transports: {
8
+ [mainnet.id]: http()
9
+ }
10
+ });
11
+ function useEnsFallbackConfig() {
12
+ return !useChainIsSupported(1) ? ensFallbackConfig : void 0;
13
+ }
14
+
15
+ export { useEnsFallbackConfig };
16
+ //# sourceMappingURL=useEnsFallbackConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEnsFallbackConfig.js","sources":["../../../../src/hooks/useEnsFallbackConfig.ts"],"sourcesContent":["import type { Config } from \"@wagmi/core\";\nimport { createConfig, http } from \"wagmi\";\nimport { mainnet } from \"wagmi/chains\";\nimport { useChainIsSupported } from \"../hooks/useChainIsSupported\";\n\nconst ensFallbackConfig = createConfig({\n chains: [mainnet],\n transports: {\n [mainnet.id]: http(),\n },\n});\n\nexport function useEnsFallbackConfig(): Config | undefined {\n return !useChainIsSupported(1) ? ensFallbackConfig : undefined;\n}\n"],"names":[],"mappings":";;;;AAKA,MAAM,oBAAoB,YAAa,CAAA;AAAA,EACrC,MAAA,EAAQ,CAAC,OAAO,CAAA;AAAA,EAChB,UAAY,EAAA;AAAA,IACV,CAAC,OAAA,CAAQ,EAAE,GAAG,IAAK,EAAA;AAAA,GACrB;AACF,CAAC,CAAA,CAAA;AAEM,SAAS,oBAA2C,GAAA;AACzD,EAAA,OAAO,CAAC,mBAAA,CAAoB,CAAC,CAAA,GAAI,iBAAoB,GAAA,KAAA,CAAA,CAAA;AACvD;;;;"}
@@ -0,0 +1,64 @@
1
+ import { ExternalPaymentOptions } from '@daimo/pay-common';
2
+ import { useState, useEffect } from 'react';
3
+
4
+ const DEFAULT_EXTERNAL_PAYMENT_OPTIONS = Object.values(
5
+ ExternalPaymentOptions
6
+ ).filter(
7
+ (opt) => (
8
+ // Solana and ExternalChains are handled in the SelectMethod component.
9
+ opt !== ExternalPaymentOptions.ExternalChains && opt !== ExternalPaymentOptions.Daimo
10
+ )
11
+ );
12
+ function useExternalPaymentOptions({
13
+ trpc,
14
+ filterIds,
15
+ platform,
16
+ usdRequired,
17
+ mode
18
+ }) {
19
+ const [options, setOptions] = useState(/* @__PURE__ */ new Map());
20
+ const [loading, setLoading] = useState(false);
21
+ useEffect(() => {
22
+ const refreshExternalPaymentOptions = async (usd, mode2) => {
23
+ if (!platform) return;
24
+ setLoading(true);
25
+ try {
26
+ const newOptions = await trpc.getExternalPaymentOptions.query({
27
+ platform,
28
+ mode: mode2,
29
+ usdRequired: usd
30
+ });
31
+ const enabledExtPaymentOptions = filterIds || DEFAULT_EXTERNAL_PAYMENT_OPTIONS;
32
+ const hasAllPaymentApps = enabledExtPaymentOptions.includes(
33
+ ExternalPaymentOptions.AllPaymentApps
34
+ );
35
+ const hasAllExchanges = enabledExtPaymentOptions.includes(
36
+ ExternalPaymentOptions.AllExchanges
37
+ );
38
+ const filteredOptions = newOptions.filter(
39
+ (option) => enabledExtPaymentOptions.includes(option.id) || hasAllPaymentApps && option.optionType === "zkp2p" || hasAllExchanges && option.optionType === "exchange"
40
+ );
41
+ const optionsByType = /* @__PURE__ */ new Map();
42
+ filteredOptions.forEach((option) => {
43
+ const { optionType } = option;
44
+ if (!optionsByType.has(optionType)) {
45
+ optionsByType.set(optionType, []);
46
+ }
47
+ optionsByType.get(optionType).push(option);
48
+ });
49
+ setOptions(optionsByType);
50
+ } catch (error) {
51
+ console.error(error);
52
+ } finally {
53
+ setLoading(false);
54
+ }
55
+ };
56
+ if (usdRequired != null && mode != null) {
57
+ refreshExternalPaymentOptions(usdRequired, mode);
58
+ }
59
+ }, [usdRequired, JSON.stringify(filterIds), platform, mode, trpc]);
60
+ return { options, loading };
61
+ }
62
+
63
+ export { useExternalPaymentOptions };
64
+ //# sourceMappingURL=useExternalPaymentOptions.js.map