@daimo/pay 1.15.0 → 1.16.1

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 (375) hide show
  1. package/build/components/DaimoPayButton/index.d.ts +13 -0
  2. package/build/hooks/useConnect.d.ts +8 -8
  3. package/build/hooks/useLocales.d.ts +2 -1
  4. package/build/hooks/useWalletPaymentOptions.d.ts +12 -1
  5. package/build/index.d.ts +626 -15
  6. package/build/localizations/locales/en-US.d.ts +2 -0
  7. package/build/localizations/locales/index.d.ts +1 -0
  8. package/build/package.json.js +6 -4
  9. package/build/package.json.js.map +1 -1
  10. package/build/payment/paymentFsm.d.ts +5 -0
  11. package/build/payment/paymentUtils.d.ts +6 -0
  12. package/build/src/assets/MobileWithLogos.js +320 -1
  13. package/build/src/assets/MobileWithLogos.js.map +1 -1
  14. package/build/src/assets/ScanIconWithLogos.js +216 -10
  15. package/build/src/assets/ScanIconWithLogos.js.map +1 -1
  16. package/build/src/assets/browsers.js +963 -7
  17. package/build/src/assets/browsers.js.map +1 -1
  18. package/build/src/assets/chains.js +633 -103
  19. package/build/src/assets/chains.js.map +1 -1
  20. package/build/src/assets/coins.js +38 -1
  21. package/build/src/assets/coins.js.map +1 -1
  22. package/build/src/assets/crepe.js +35 -1
  23. package/build/src/assets/crepe.js.map +1 -1
  24. package/build/src/assets/icons.js +258 -15
  25. package/build/src/assets/icons.js.map +1 -1
  26. package/build/src/assets/logos.js +1510 -140
  27. package/build/src/assets/logos.js.map +1 -1
  28. package/build/src/assets/wallet.js +32 -1
  29. package/build/src/assets/wallet.js.map +1 -1
  30. package/build/src/assets/wave.js +41 -1
  31. package/build/src/assets/wave.js.map +1 -1
  32. package/build/src/components/Common/Alert/index.js +4 -1
  33. package/build/src/components/Common/Alert/index.js.map +1 -1
  34. package/build/src/components/Common/Alert/styles.js +4 -4
  35. package/build/src/components/Common/Alert/styles.js.map +1 -1
  36. package/build/src/components/Common/AmountInput/AmountInputField.js +29 -18
  37. package/build/src/components/Common/AmountInput/AmountInputField.js.map +1 -1
  38. package/build/src/components/Common/AmountInput/index.js +112 -99
  39. package/build/src/components/Common/AmountInput/index.js.map +1 -1
  40. package/build/src/components/Common/Avatar/index.js +63 -51
  41. package/build/src/components/Common/Avatar/index.js.map +1 -1
  42. package/build/src/components/Common/Avatar/styles.js +9 -14
  43. package/build/src/components/Common/Avatar/styles.js.map +1 -1
  44. package/build/src/components/Common/BrowserIcon/index.js +15 -14
  45. package/build/src/components/Common/BrowserIcon/index.js.map +1 -1
  46. package/build/src/components/Common/BrowserIcon/styles.js +1 -1
  47. package/build/src/components/Common/BrowserIcon/styles.js.map +1 -1
  48. package/build/src/components/Common/Button/index.js +131 -25
  49. package/build/src/components/Common/Button/index.js.map +1 -1
  50. package/build/src/components/Common/Button/styles.js +20 -24
  51. package/build/src/components/Common/Button/styles.js.map +1 -1
  52. package/build/src/components/Common/Chain/index.js +130 -14
  53. package/build/src/components/Common/Chain/index.js.map +1 -1
  54. package/build/src/components/Common/Chain/styles.js +9 -13
  55. package/build/src/components/Common/Chain/styles.js.map +1 -1
  56. package/build/src/components/Common/ChainSelectList/index.js +232 -89
  57. package/build/src/components/Common/ChainSelectList/index.js.map +1 -1
  58. package/build/src/components/Common/ChainSelectList/styles.js +11 -13
  59. package/build/src/components/Common/ChainSelectList/styles.js.map +1 -1
  60. package/build/src/components/Common/CircleTimer.js +85 -41
  61. package/build/src/components/Common/CircleTimer.js.map +1 -1
  62. package/build/src/components/Common/ConnectorList/index.js +106 -80
  63. package/build/src/components/Common/ConnectorList/index.js.map +1 -1
  64. package/build/src/components/Common/ConnectorList/styles.js +28 -36
  65. package/build/src/components/Common/ConnectorList/styles.js.map +1 -1
  66. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +16 -9
  67. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -1
  68. package/build/src/components/Common/CopyToClipboard/index.js +3 -5
  69. package/build/src/components/Common/CopyToClipboard/index.js.map +1 -1
  70. package/build/src/components/Common/CustomQRCode/QRCode.js +120 -57
  71. package/build/src/components/Common/CustomQRCode/QRCode.js.map +1 -1
  72. package/build/src/components/Common/CustomQRCode/index.js +60 -10
  73. package/build/src/components/Common/CustomQRCode/index.js.map +1 -1
  74. package/build/src/components/Common/CustomQRCode/styles.js +6 -6
  75. package/build/src/components/Common/CustomQRCode/styles.js.map +1 -1
  76. package/build/src/components/Common/FitText/index.js +24 -17
  77. package/build/src/components/Common/FitText/index.js.map +1 -1
  78. package/build/src/components/Common/Modal/index.js +481 -267
  79. package/build/src/components/Common/Modal/index.js.map +1 -1
  80. package/build/src/components/Common/Modal/styles.js +44 -48
  81. package/build/src/components/Common/Modal/styles.js.map +1 -1
  82. package/build/src/components/Common/OptionsList/index.js +75 -33
  83. package/build/src/components/Common/OptionsList/index.js.map +1 -1
  84. package/build/src/components/Common/OptionsList/styles.js +7 -8
  85. package/build/src/components/Common/OptionsList/styles.js.map +1 -1
  86. package/build/src/components/Common/OrderHeader/index.js +109 -65
  87. package/build/src/components/Common/OrderHeader/index.js.map +1 -1
  88. package/build/src/components/Common/PaymentBreakdown/index.js +29 -7
  89. package/build/src/components/Common/PaymentBreakdown/index.js.map +1 -1
  90. package/build/src/components/Common/Portal/index.js +21 -22
  91. package/build/src/components/Common/Portal/index.js.map +1 -1
  92. package/build/src/components/Common/PoweredByFooter/index.js +39 -21
  93. package/build/src/components/Common/PoweredByFooter/index.js.map +1 -1
  94. package/build/src/components/Common/ScrollArea/index.js +107 -52
  95. package/build/src/components/Common/ScrollArea/index.js.map +1 -1
  96. package/build/src/components/Common/ScrollArea/styles.js +7 -11
  97. package/build/src/components/Common/ScrollArea/styles.js.map +1 -1
  98. package/build/src/components/Common/SelectAnotherMethodButton/index.js +67 -55
  99. package/build/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -1
  100. package/build/src/components/Common/Spinner/index.js +56 -16
  101. package/build/src/components/Common/Spinner/index.js.map +1 -1
  102. package/build/src/components/Common/Spinner/styles.js +2 -2
  103. package/build/src/components/Common/Spinner/styles.js.map +1 -1
  104. package/build/src/components/Common/SwitchButton/index.js +18 -15
  105. package/build/src/components/Common/SwitchButton/index.js.map +1 -1
  106. package/build/src/components/Common/ThemedButton/index.js +37 -16
  107. package/build/src/components/Common/ThemedButton/index.js.map +1 -1
  108. package/build/src/components/Common/ThemedButton/styles.js +2 -2
  109. package/build/src/components/Common/ThemedButton/styles.js.map +1 -1
  110. package/build/src/components/Common/TokenChainLogo/index.js +14 -8
  111. package/build/src/components/Common/TokenChainLogo/index.js.map +1 -1
  112. package/build/src/components/Common/Tooltip/index.js +115 -83
  113. package/build/src/components/Common/Tooltip/index.js.map +1 -1
  114. package/build/src/components/Common/Tooltip/styles.js +8 -8
  115. package/build/src/components/Common/Tooltip/styles.js.map +1 -1
  116. package/build/src/components/Common/WalletChainLogo/index.js +13 -6
  117. package/build/src/components/Common/WalletChainLogo/index.js.map +1 -1
  118. package/build/src/components/DaimoPayButton/index.js +170 -176
  119. package/build/src/components/DaimoPayButton/index.js.map +1 -1
  120. package/build/src/components/DaimoPayButton/styles.js +4 -4
  121. package/build/src/components/DaimoPayButton/styles.js.map +1 -1
  122. package/build/src/components/DaimoPayModal/ConnectUsing.js +50 -24
  123. package/build/src/components/DaimoPayModal/ConnectUsing.js.map +1 -1
  124. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +303 -163
  125. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -1
  126. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js +10 -12
  127. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -1
  128. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +69 -39
  129. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
  130. package/build/src/components/DaimoPayModal/index.js +409 -416
  131. package/build/src/components/DaimoPayModal/index.js.map +1 -1
  132. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +15 -11
  133. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -1
  134. package/build/src/components/Pages/About/graphics.js +796 -130
  135. package/build/src/components/Pages/About/graphics.js.map +1 -1
  136. package/build/src/components/Pages/About/index.js +203 -110
  137. package/build/src/components/Pages/About/index.js.map +1 -1
  138. package/build/src/components/Pages/About/styles.js +11 -15
  139. package/build/src/components/Pages/About/styles.js.map +1 -1
  140. package/build/src/components/Pages/Confirmation/index.js +72 -41
  141. package/build/src/components/Pages/Confirmation/index.js.map +1 -1
  142. package/build/src/components/Pages/Connectors/index.js +50 -16
  143. package/build/src/components/Pages/Connectors/index.js.map +1 -1
  144. package/build/src/components/Pages/Connectors/styles.js +10 -10
  145. package/build/src/components/Pages/Connectors/styles.js.map +1 -1
  146. package/build/src/components/Pages/DownloadApp/index.js +23 -18
  147. package/build/src/components/Pages/DownloadApp/index.js.map +1 -1
  148. package/build/src/components/Pages/Error/index.js +27 -15
  149. package/build/src/components/Pages/Error/index.js.map +1 -1
  150. package/build/src/components/Pages/MobileConnectors/index.js +50 -44
  151. package/build/src/components/Pages/MobileConnectors/index.js.map +1 -1
  152. package/build/src/components/Pages/MobileConnectors/styles.js +9 -11
  153. package/build/src/components/Pages/MobileConnectors/styles.js.map +1 -1
  154. package/build/src/components/Pages/Onboarding/index.js +20 -4
  155. package/build/src/components/Pages/Onboarding/index.js.map +1 -1
  156. package/build/src/components/Pages/Onboarding/styles.js +13 -13
  157. package/build/src/components/Pages/Onboarding/styles.js.map +1 -1
  158. package/build/src/components/Pages/PayWithToken/index.js +133 -122
  159. package/build/src/components/Pages/PayWithToken/index.js.map +1 -1
  160. package/build/src/components/Pages/SelectAmount/index.js +12 -5
  161. package/build/src/components/Pages/SelectAmount/index.js.map +1 -1
  162. package/build/src/components/Pages/SelectDepositAddressAmount/index.js +56 -38
  163. package/build/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -1
  164. package/build/src/components/Pages/SelectDepositAddressChain/index.js +57 -40
  165. package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -1
  166. package/build/src/components/Pages/SelectExchange/index.js +29 -24
  167. package/build/src/components/Pages/SelectExchange/index.js.map +1 -1
  168. package/build/src/components/Pages/SelectExternalAmount/index.js +57 -41
  169. package/build/src/components/Pages/SelectExternalAmount/index.js.map +1 -1
  170. package/build/src/components/Pages/SelectMethod/index.js +201 -183
  171. package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
  172. package/build/src/components/Pages/SelectToken/index.js +72 -46
  173. package/build/src/components/Pages/SelectToken/index.js.map +1 -1
  174. package/build/src/components/Pages/SelectWalletAmount/index.js +40 -32
  175. package/build/src/components/Pages/SelectWalletAmount/index.js.map +1 -1
  176. package/build/src/components/Pages/SelectWalletChain/index.js +40 -36
  177. package/build/src/components/Pages/SelectWalletChain/index.js.map +1 -1
  178. package/build/src/components/Pages/SelectZKP/index.js +29 -24
  179. package/build/src/components/Pages/SelectZKP/index.js.map +1 -1
  180. package/build/src/components/Pages/Solana/ConnectorSolana/index.js +60 -45
  181. package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -1
  182. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +73 -61
  183. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -1
  184. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js +12 -5
  185. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -1
  186. package/build/src/components/Pages/SwitchNetworks/index.js +29 -10
  187. package/build/src/components/Pages/SwitchNetworks/index.js.map +1 -1
  188. package/build/src/components/Pages/WaitingDepositAddress/index.js +339 -178
  189. package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -1
  190. package/build/src/components/Pages/WaitingExternal/index.js +69 -46
  191. package/build/src/components/Pages/WaitingExternal/index.js.map +1 -1
  192. package/build/src/components/Pages/WaitingWallet/index.js +37 -16
  193. package/build/src/components/Pages/WaitingWallet/index.js.map +1 -1
  194. package/build/src/components/Spinners/CircleSpinner/index.js +96 -7
  195. package/build/src/components/Spinners/CircleSpinner/index.js.map +1 -1
  196. package/build/src/components/Spinners/CircleSpinner/styles.js +6 -7
  197. package/build/src/components/Spinners/CircleSpinner/styles.js.map +1 -1
  198. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js +18 -9
  199. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -1
  200. package/build/src/components/Spinners/SquircleSpinner/index.js +60 -7
  201. package/build/src/components/Spinners/SquircleSpinner/index.js.map +1 -1
  202. package/build/src/components/Spinners/SquircleSpinner/styles.js +4 -4
  203. package/build/src/components/Spinners/SquircleSpinner/styles.js.map +1 -1
  204. package/build/src/components/Spinners/TokenLogoSpinner/index.js +12 -1
  205. package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -1
  206. package/build/src/components/Spinners/TokenLogoSpinner/styles.js +1 -1
  207. package/build/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -1
  208. package/build/src/components/Spinners/WalletPaymentSpinner/index.js +27 -20
  209. package/build/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -1
  210. package/build/src/components/Spinners/styles.js +3 -4
  211. package/build/src/components/Spinners/styles.js.map +1 -1
  212. package/build/src/constants/defaultTheme.js +1 -1
  213. package/build/src/constants/defaultTheme.js.map +1 -1
  214. package/build/src/constants/routes.js +29 -30
  215. package/build/src/constants/routes.js.map +1 -1
  216. package/build/src/defaultConfig.js +49 -46
  217. package/build/src/defaultConfig.js.map +1 -1
  218. package/build/src/defaultConnectors.js +32 -19
  219. package/build/src/defaultConnectors.js.map +1 -1
  220. package/build/src/hooks/useChainIsSupported.js +3 -5
  221. package/build/src/hooks/useChainIsSupported.js.map +1 -1
  222. package/build/src/hooks/useChains.js +3 -4
  223. package/build/src/hooks/useChains.js.map +1 -1
  224. package/build/src/hooks/useConnect.js +51 -39
  225. package/build/src/hooks/useConnect.js.map +1 -1
  226. package/build/src/hooks/useConnectCallback.js +15 -12
  227. package/build/src/hooks/useConnectCallback.js.map +1 -1
  228. package/build/src/hooks/useConnectors.js +2 -2
  229. package/build/src/hooks/useConnectors.js.map +1 -1
  230. package/build/src/hooks/useDaimoPay.js +98 -82
  231. package/build/src/hooks/useDaimoPay.js.map +1 -1
  232. package/build/src/hooks/useDaimoPayStatus.js +4 -15
  233. package/build/src/hooks/useDaimoPayStatus.js.map +1 -1
  234. package/build/src/hooks/useDaimoPayUI.js +7 -7
  235. package/build/src/hooks/useDaimoPayUI.js.map +1 -1
  236. package/build/src/hooks/useDepositAddressOptions.js +29 -25
  237. package/build/src/hooks/useDepositAddressOptions.js.map +1 -1
  238. package/build/src/hooks/useEnsFallbackConfig.js +5 -5
  239. package/build/src/hooks/useEnsFallbackConfig.js.map +1 -1
  240. package/build/src/hooks/useExternalPaymentOptions.js +57 -52
  241. package/build/src/hooks/useExternalPaymentOptions.js.map +1 -1
  242. package/build/src/hooks/useFitText.js +120 -135
  243. package/build/src/hooks/useFitText.js.map +1 -1
  244. package/build/src/hooks/useFocusTrap.js +33 -37
  245. package/build/src/hooks/useFocusTrap.js.map +1 -1
  246. package/build/src/hooks/useIsMobile.js +3 -3
  247. package/build/src/hooks/useIsMobile.js.map +1 -1
  248. package/build/src/hooks/useIsMounted.js +3 -5
  249. package/build/src/hooks/useIsMounted.js.map +1 -1
  250. package/build/src/hooks/useLastConnector.js +15 -15
  251. package/build/src/hooks/useLastConnector.js.map +1 -1
  252. package/build/src/hooks/useLocales.js +44 -42
  253. package/build/src/hooks/useLocales.js.map +1 -1
  254. package/build/src/hooks/useLockBodyScroll.js +38 -44
  255. package/build/src/hooks/useLockBodyScroll.js.map +1 -1
  256. package/build/src/hooks/useOrderUsdLimits.js +17 -19
  257. package/build/src/hooks/useOrderUsdLimits.js.map +1 -1
  258. package/build/src/hooks/usePayContext.js +3 -5
  259. package/build/src/hooks/usePayContext.js.map +1 -1
  260. package/build/src/hooks/usePaymentState.js +351 -321
  261. package/build/src/hooks/usePaymentState.js.map +1 -1
  262. package/build/src/hooks/usePrevious.js +6 -7
  263. package/build/src/hooks/usePrevious.js.map +1 -1
  264. package/build/src/hooks/useSolanaPaymentOptions.js +33 -33
  265. package/build/src/hooks/useSolanaPaymentOptions.js.map +1 -1
  266. package/build/src/hooks/useTokenOptions.js +131 -95
  267. package/build/src/hooks/useTokenOptions.js.map +1 -1
  268. package/build/src/hooks/useUntronAvailability.js +26 -34
  269. package/build/src/hooks/useUntronAvailability.js.map +1 -1
  270. package/build/src/hooks/useWalletPaymentOptions.js +86 -61
  271. package/build/src/hooks/useWalletPaymentOptions.js.map +1 -1
  272. package/build/src/hooks/useWindowSize.js +16 -16
  273. package/build/src/hooks/useWindowSize.js.map +1 -1
  274. package/build/src/localizations/index.js +28 -31
  275. package/build/src/localizations/index.js.map +1 -1
  276. package/build/src/localizations/locales/ar-AE.js +88 -88
  277. package/build/src/localizations/locales/ar-AE.js.map +1 -1
  278. package/build/src/localizations/locales/ca-AD.js +88 -88
  279. package/build/src/localizations/locales/ca-AD.js.map +1 -1
  280. package/build/src/localizations/locales/ee-EE.js +96 -88
  281. package/build/src/localizations/locales/ee-EE.js.map +1 -1
  282. package/build/src/localizations/locales/en-US.js +134 -124
  283. package/build/src/localizations/locales/en-US.js.map +1 -1
  284. package/build/src/localizations/locales/es-ES.js +126 -124
  285. package/build/src/localizations/locales/es-ES.js.map +1 -1
  286. package/build/src/localizations/locales/fa-IR.js +88 -88
  287. package/build/src/localizations/locales/fa-IR.js.map +1 -1
  288. package/build/src/localizations/locales/fr-FR.js +88 -88
  289. package/build/src/localizations/locales/fr-FR.js.map +1 -1
  290. package/build/src/localizations/locales/ja-JP.js +88 -88
  291. package/build/src/localizations/locales/ja-JP.js.map +1 -1
  292. package/build/src/localizations/locales/pt-BR.js +96 -88
  293. package/build/src/localizations/locales/pt-BR.js.map +1 -1
  294. package/build/src/localizations/locales/ru-RU.js +92 -88
  295. package/build/src/localizations/locales/ru-RU.js.map +1 -1
  296. package/build/src/localizations/locales/tr-TR.js +96 -88
  297. package/build/src/localizations/locales/tr-TR.js.map +1 -1
  298. package/build/src/localizations/locales/vi-VN.js +96 -88
  299. package/build/src/localizations/locales/vi-VN.js.map +1 -1
  300. package/build/src/localizations/locales/zh-CN.js +88 -88
  301. package/build/src/localizations/locales/zh-CN.js.map +1 -1
  302. package/build/src/payment/paymentEffects.js +237 -264
  303. package/build/src/payment/paymentEffects.js.map +1 -1
  304. package/build/src/payment/paymentFsm.js +167 -187
  305. package/build/src/payment/paymentFsm.js.map +1 -1
  306. package/build/src/payment/paymentStore.js +8 -10
  307. package/build/src/payment/paymentStore.js.map +1 -1
  308. package/build/src/payment/paymentUtils.js +10 -0
  309. package/build/src/payment/paymentUtils.js.map +1 -0
  310. package/build/src/provider/DaimoPayProvider.js +258 -245
  311. package/build/src/provider/DaimoPayProvider.js.map +1 -1
  312. package/build/src/provider/PayContext.js +0 -1
  313. package/build/src/provider/PayContext.js.map +1 -1
  314. package/build/src/provider/PaymentProvider.js +18 -17
  315. package/build/src/provider/PaymentProvider.js.map +1 -1
  316. package/build/src/provider/SolanaContextProvider.js +6 -3
  317. package/build/src/provider/SolanaContextProvider.js.map +1 -1
  318. package/build/src/provider/Web3ContextProvider.js +23 -23
  319. package/build/src/provider/Web3ContextProvider.js.map +1 -1
  320. package/build/src/stateStore.js +28 -74
  321. package/build/src/stateStore.js.map +1 -1
  322. package/build/src/styles/defaultTheme.js +64 -73
  323. package/build/src/styles/defaultTheme.js.map +1 -1
  324. package/build/src/styles/index.js +202 -217
  325. package/build/src/styles/index.js.map +1 -1
  326. package/build/src/styles/styled/index.js +0 -10
  327. package/build/src/styles/styled/index.js.map +1 -1
  328. package/build/src/styles/themes/base.js +136 -136
  329. package/build/src/styles/themes/base.js.map +1 -1
  330. package/build/src/styles/themes/index.js.map +1 -1
  331. package/build/src/styles/themes/midnight.js +71 -71
  332. package/build/src/styles/themes/midnight.js.map +1 -1
  333. package/build/src/styles/themes/minimal.js +75 -75
  334. package/build/src/styles/themes/minimal.js.map +1 -1
  335. package/build/src/styles/themes/nouns.js +76 -76
  336. package/build/src/styles/themes/nouns.js.map +1 -1
  337. package/build/src/styles/themes/retro.js +88 -88
  338. package/build/src/styles/themes/retro.js.map +1 -1
  339. package/build/src/styles/themes/rounded.js +84 -84
  340. package/build/src/styles/themes/rounded.js.map +1 -1
  341. package/build/src/styles/themes/soft.js +66 -66
  342. package/build/src/styles/themes/soft.js.map +1 -1
  343. package/build/src/styles/themes/web95.js +95 -95
  344. package/build/src/styles/themes/web95.js.map +1 -1
  345. package/build/src/utils/exports.js +0 -1
  346. package/build/src/utils/exports.js.map +1 -1
  347. package/build/src/utils/format.js +25 -63
  348. package/build/src/utils/format.js.map +1 -1
  349. package/build/src/utils/index.js +23 -20
  350. package/build/src/utils/index.js.map +1 -1
  351. package/build/src/utils/p3.js +8 -9
  352. package/build/src/utils/p3.js.map +1 -1
  353. package/build/src/utils/platform.js +6 -8
  354. package/build/src/utils/platform.js.map +1 -1
  355. package/build/src/utils/polling.js +31 -31
  356. package/build/src/utils/polling.js.map +1 -1
  357. package/build/src/utils/supportUrl.js +9 -9
  358. package/build/src/utils/supportUrl.js.map +1 -1
  359. package/build/src/utils/trpc.js +11 -11
  360. package/build/src/utils/trpc.js.map +1 -1
  361. package/build/src/utils/validateInput.js +9 -29
  362. package/build/src/utils/validateInput.js.map +1 -1
  363. package/build/src/wallets/index.js +13 -22
  364. package/build/src/wallets/index.js.map +1 -1
  365. package/build/src/wallets/useWallets.js +183 -181
  366. package/build/src/wallets/useWallets.js.map +1 -1
  367. package/build/src/wallets/walletConfigs.js +230 -235
  368. package/build/src/wallets/walletConfigs.js.map +1 -1
  369. package/build/src/world-mini-app/WorldPayButton.js +113 -118
  370. package/build/src/world-mini-app/WorldPayButton.js.map +1 -1
  371. package/build/src/world-mini-app/promptWorldPayment.js +49 -47
  372. package/build/src/world-mini-app/promptWorldPayment.js.map +1 -1
  373. package/build/types-7ed033b6.d.ts +66 -0
  374. package/build/world.d.ts +89 -1
  375. package/package.json +6 -4
@@ -19,261 +19,274 @@ import { PayContext } from './PayContext.js';
19
19
  import { SolanaContextProvider } from './SolanaContextProvider.js';
20
20
  import { Web3ContextProvider } from './Web3ContextProvider.js';
21
21
 
22
- const DaimoPayUIProvider = ({ children, theme = "auto", mode = "auto", customTheme, options, onConnect, onDisconnect, debugMode = false, payApiUrl, log, }) => {
23
- if (!React.useContext(PaymentContext)) {
24
- throw Error("DaimoPayProvider must be within a PaymentProvider");
22
+ const DaimoPayUIProvider = ({
23
+ children,
24
+ theme = "auto",
25
+ mode = "auto",
26
+ customTheme,
27
+ options,
28
+ onConnect,
29
+ onDisconnect,
30
+ debugMode = false,
31
+ payApiUrl,
32
+ log
33
+ }) => {
34
+ if (!React.useContext(PaymentContext)) {
35
+ throw Error("DaimoPayProvider must be within a PaymentProvider");
36
+ }
37
+ if (!React.useContext(WagmiContext)) {
38
+ throw Error("DaimoPayProvider must be within a WagmiProvider");
39
+ }
40
+ if (React.useContext(PayContext)) {
41
+ throw new Error(
42
+ "Multiple, nested usages of DaimoPayProvider detected. Please use only one."
43
+ );
44
+ }
45
+ useConnectCallback({
46
+ onConnect,
47
+ onDisconnect
48
+ });
49
+ const chains = useChains();
50
+ for (const requiredChain of REQUIRED_CHAINS) {
51
+ if (!chains.some((c) => c.id === requiredChain.id)) {
52
+ throw new Error(
53
+ `Daimo Pay requires chains ${REQUIRED_CHAINS.map((c) => c.name).join(", ")}. Use \`getDefaultConfig\` to automatically configure required chains.`
54
+ );
25
55
  }
26
- if (!React.useContext(WagmiContext)) {
27
- throw Error("DaimoPayProvider must be within a WagmiProvider");
56
+ }
57
+ const defaultOptions = {
58
+ language: "en-US",
59
+ hideBalance: false,
60
+ hideTooltips: false,
61
+ hideQuestionMarkCTA: false,
62
+ hideNoWalletCTA: false,
63
+ hideRecentBadge: false,
64
+ avoidLayoutShift: true,
65
+ embedGoogleFonts: false,
66
+ truncateLongENSAddress: true,
67
+ reducedMotion: false,
68
+ disclaimer: null,
69
+ bufferPolyfill: true,
70
+ customAvatar: void 0,
71
+ initialChainId: void 0,
72
+ enforceSupportedChains: false,
73
+ ethereumOnboardingUrl: void 0,
74
+ walletOnboardingUrl: void 0,
75
+ overlayBlur: void 0,
76
+ disableMobileInjector: false
77
+ };
78
+ const opts = Object.assign(
79
+ {},
80
+ defaultOptions,
81
+ options
82
+ );
83
+ if (typeof window !== "undefined") {
84
+ if (opts.bufferPolyfill) window.Buffer = window.Buffer ?? Buffer;
85
+ }
86
+ const pay = useDaimoPay();
87
+ const [ckTheme, setTheme] = useState(theme);
88
+ const [ckMode, setMode] = useState(mode);
89
+ const [ckCustomTheme, setCustomTheme] = useState(
90
+ customTheme ?? {}
91
+ );
92
+ const [ckLang, setLang] = useState("en-US");
93
+ const [disableMobileInjector, setDisableMobileInjector] = useState(
94
+ opts.disableMobileInjector ?? false
95
+ );
96
+ const onOpenRef = useRef();
97
+ const onCloseRef = useRef();
98
+ const setOnOpen = useCallback((fn) => {
99
+ onOpenRef.current = fn;
100
+ }, []);
101
+ const setOnClose = useCallback((fn) => {
102
+ onCloseRef.current = fn;
103
+ }, []);
104
+ const [open, setOpenState] = useState(false);
105
+ const [lockPayParams, setLockPayParams] = useState(false);
106
+ const [paymentCompleted, setPaymentCompleted] = useState(false);
107
+ const [route, setRouteState] = useState(ROUTES.SELECT_METHOD);
108
+ const [modalOptions, setModalOptions] = useState();
109
+ const [uniquePaymentMethodPage, setUniquePaymentMethodPage] = useState(ROUTES.SELECT_METHOD);
110
+ const [pendingConnectorId, setPendingConnectorId] = useState(void 0);
111
+ const [sessionId] = useState(() => crypto.randomUUID().replaceAll("-", ""));
112
+ const [solanaConnector, setSolanaConnector] = useState();
113
+ const [errorMessage, setErrorMessage] = useState("");
114
+ const [showContactSupport, setShowContactSupport] = useState(true);
115
+ const [confirmationMessage, setConfirmationMessage] = useState(void 0);
116
+ const [redirectReturnUrl, setRedirectReturnUrl] = useState(void 0);
117
+ const trpc = useMemo(() => {
118
+ return createTrpcClient(payApiUrl, sessionId);
119
+ }, [payApiUrl, sessionId]);
120
+ const [resize, onResize] = useState(0);
121
+ useEffect(() => {
122
+ setInWalletPaymentUrlFromApiUrl(payApiUrl);
123
+ }, [payApiUrl]);
124
+ const setOpen = useCallback(
125
+ (open2, meta) => {
126
+ setOpenState(open2);
127
+ if (open2) {
128
+ setLockPayParams(true);
129
+ }
130
+ if (!open2 && paymentCompleted && modalOptions?.resetOnSuccess) {
131
+ setPaymentCompleted(false);
132
+ setLockPayParams(false);
133
+ paymentState.resetOrder();
134
+ }
135
+ trpc.nav.mutate({
136
+ action: open2 ? "navOpenPay" : "navClosePay",
137
+ orderId: pay.order?.id?.toString(),
138
+ data: meta ?? {}
139
+ });
140
+ if (open2) onOpenRef.current?.();
141
+ else onCloseRef.current?.();
142
+ },
143
+ // We don't have good caching on paymentState, so don't include it as a dep
144
+ // eslint-disable-next-line react-hooks/exhaustive-deps
145
+ [trpc, pay.order?.id, modalOptions?.resetOnSuccess, paymentCompleted]
146
+ );
147
+ const onSuccess = useCallback(() => {
148
+ if (modalOptions?.closeOnSuccess) {
149
+ setTimeout(() => setOpen(false, { event: "wait-success" }), 1e3);
28
150
  }
29
- // Only allow for mounting DaimoPayProvider once, so we avoid weird global
30
- // state collisions.
31
- if (React.useContext(PayContext)) {
32
- throw new Error("Multiple, nested usages of DaimoPayProvider detected. Please use only one.");
151
+ setPaymentCompleted(true);
152
+ }, [modalOptions?.closeOnSuccess, setOpen, setPaymentCompleted]);
153
+ const setRoute = useCallback(
154
+ (route2, data) => {
155
+ const action = route2.replace("daimoPay", "");
156
+ log(`[SET ROUTE] ${action} ${pay.order?.id} ${debugJson(data ?? {})}`);
157
+ trpc.nav.mutate({
158
+ action,
159
+ orderId: pay.order?.id?.toString(),
160
+ data: data ?? {}
161
+ });
162
+ setRouteState(route2);
163
+ },
164
+ [trpc, pay.order?.id, log]
165
+ );
166
+ useEffect(() => setTheme(theme), [theme]);
167
+ useEffect(() => setLang(opts.language || "en-US"), [opts.language]);
168
+ useEffect(
169
+ () => setDisableMobileInjector(opts.disableMobileInjector ?? false),
170
+ [opts.disableMobileInjector]
171
+ );
172
+ useEffect(() => setErrorMessage(null), [route, open]);
173
+ const paymentState = usePaymentState({
174
+ trpc,
175
+ lockPayParams,
176
+ setRoute,
177
+ log,
178
+ redirectReturnUrl
179
+ });
180
+ const showPayment = async (modalOptions2) => {
181
+ const id = pay.order?.id;
182
+ log(
183
+ `[PAY] showing modal ${debugJson({ id, modalOptions: modalOptions2, paymentFsmState: pay.paymentState })}`
184
+ );
185
+ setModalOptions(modalOptions2);
186
+ setOpen(true);
187
+ if (modalOptions2.connectedWalletOnly) {
188
+ paymentState.setTokenMode("all");
33
189
  }
34
- useConnectCallback({
35
- onConnect,
36
- onDisconnect,
37
- });
38
- const chains = useChains();
39
- for (const requiredChain of REQUIRED_CHAINS) {
40
- if (!chains.some((c) => c.id === requiredChain.id)) {
41
- throw new Error(`Daimo Pay requires chains ${REQUIRED_CHAINS.map((c) => c.name).join(", ")}. Use \`getDefaultConfig\` to automatically configure required chains.`);
42
- }
190
+ if (pay.paymentState === "error") {
191
+ setRoute(ROUTES.ERROR);
192
+ } else if (pay.paymentState === "payment_started" || pay.paymentState === "payment_completed" || pay.paymentState === "payment_bounced") {
193
+ setRoute(ROUTES.CONFIRMATION);
194
+ } else if (modalOptions2.connectedWalletOnly) {
195
+ setRoute(ROUTES.SELECT_TOKEN);
196
+ } else {
197
+ setRoute(ROUTES.SELECT_METHOD);
43
198
  }
44
- // Default config options
45
- const defaultOptions = {
46
- language: "en-US",
47
- hideBalance: false,
48
- hideTooltips: false,
49
- hideQuestionMarkCTA: false,
50
- hideNoWalletCTA: false,
51
- hideRecentBadge: false,
52
- avoidLayoutShift: true,
53
- embedGoogleFonts: false,
54
- truncateLongENSAddress: true,
55
- reducedMotion: false,
56
- disclaimer: null,
57
- bufferPolyfill: true,
58
- customAvatar: undefined,
59
- initialChainId: undefined,
60
- enforceSupportedChains: false,
61
- ethereumOnboardingUrl: undefined,
62
- walletOnboardingUrl: undefined,
63
- overlayBlur: undefined,
64
- disableMobileInjector: false,
65
- };
66
- const opts = Object.assign({}, defaultOptions, options);
67
- if (typeof window !== "undefined") {
68
- // Buffer Polyfill, needed for bundlers that don't provide Node polyfills (e.g CRA, Vite, etc.)
69
- if (opts.bufferPolyfill)
70
- window.Buffer = window.Buffer ?? Buffer;
71
- // Some bundlers may need `global` and `process.env` polyfills as well
72
- // Not implemented here to avoid unexpected behaviors, but leaving example here for future reference
73
- /*
74
- * window.global = window.global ?? window;
75
- * window.process = window.process ?? { env: {} };
76
- */
199
+ };
200
+ const isUnderpaid = pay.order?.mode === DaimoPayOrderMode.HYDRATED && pay.order.sourceStatus === DaimoPayOrderStatusSource.WAITING_PAYMENT && pay.order.sourceTokenAmount != null;
201
+ useEffect(() => {
202
+ if (pay.paymentState === "error") {
203
+ setRoute(ROUTES.ERROR);
204
+ } else if (pay.paymentState === "payment_started" || pay.paymentState === "payment_completed" || pay.paymentState === "payment_bounced") {
205
+ setRoute(ROUTES.CONFIRMATION, { event: "payment-started" });
206
+ } else if (isUnderpaid) {
207
+ paymentState.setSelectedDepositAddressOption(void 0);
208
+ setRoute(ROUTES.WAITING_DEPOSIT_ADDRESS);
77
209
  }
78
- const pay = useDaimoPay();
79
- const [ckTheme, setTheme] = useState(theme);
80
- const [ckMode, setMode] = useState(mode);
81
- const [ckCustomTheme, setCustomTheme] = useState(customTheme ?? {});
82
- const [ckLang, setLang] = useState("en-US");
83
- const [disableMobileInjector, setDisableMobileInjector] = useState(opts.disableMobileInjector ?? false);
84
- const onOpenRef = useRef();
85
- const onCloseRef = useRef();
86
- const setOnOpen = useCallback((fn) => {
87
- onOpenRef.current = fn;
88
- }, []);
89
- const setOnClose = useCallback((fn) => {
90
- onCloseRef.current = fn;
91
- }, []);
92
- const [open, setOpenState] = useState(false);
93
- const [lockPayParams, setLockPayParams] = useState(false);
94
- const [paymentCompleted, setPaymentCompleted] = useState(false);
95
- const [route, setRouteState] = useState(ROUTES.SELECT_METHOD);
96
- const [modalOptions, setModalOptions] = useState();
210
+ }, [pay.paymentState, setRoute, isUnderpaid]);
211
+ const value = {
212
+ theme: ckTheme,
213
+ setTheme,
214
+ mode: ckMode,
215
+ setMode,
216
+ customTheme,
217
+ setCustomTheme,
218
+ lang: ckLang,
219
+ setLang,
220
+ disableMobileInjector,
221
+ setDisableMobileInjector,
222
+ setOnOpen,
223
+ setOnClose,
224
+ open,
225
+ setOpen,
226
+ route,
227
+ setRoute,
97
228
  // Daimo Pay context
98
- const [uniquePaymentMethodPage, setUniquePaymentMethodPage] = useState(ROUTES.SELECT_METHOD);
99
- const [pendingConnectorId, setPendingConnectorId] = useState(undefined);
100
- // Track sessions. Each generates separate intent IDs unless using externalId.
101
- const [sessionId] = useState(() => crypto.randomUUID().replaceAll("-", ""));
102
- const [solanaConnector, setSolanaConnector] = useState();
229
+ uniquePaymentMethodPage,
230
+ setUniquePaymentMethodPage,
231
+ pendingConnectorId,
232
+ setPendingConnectorId,
233
+ sessionId,
234
+ solanaConnector,
235
+ setSolanaConnector,
236
+ onConnect,
103
237
  // Other configuration
104
- const [errorMessage, setErrorMessage] = useState("");
105
- const [showContactSupport, setShowContactSupport] = useState(true);
106
- const [confirmationMessage, setConfirmationMessage] = useState(undefined);
107
- const [redirectReturnUrl, setRedirectReturnUrl] = useState(undefined);
108
- // Connect to the Daimo Pay TRPC API
109
- const trpc = useMemo(() => {
110
- return createTrpcClient(payApiUrl, sessionId);
111
- }, [payApiUrl, sessionId]);
112
- const [resize, onResize] = useState(0);
113
- useEffect(() => {
114
- setInWalletPaymentUrlFromApiUrl(payApiUrl);
115
- }, [payApiUrl]);
116
- const setOpen = useCallback((open, meta) => {
117
- setOpenState(open);
118
- // Lock pay params starting from the first time the modal is opened to
119
- // prevent the daimo pay order from changing from under the user
120
- if (open) {
121
- setLockPayParams(true);
122
- }
123
- // Reset payment state on close if resetOnSuccess is true
124
- if (!open && paymentCompleted && modalOptions?.resetOnSuccess) {
125
- setPaymentCompleted(false);
126
- setLockPayParams(false);
127
- paymentState.resetOrder();
128
- }
129
- // Log the open/close event
130
- trpc.nav.mutate({
131
- action: open ? "navOpenPay" : "navClosePay",
132
- orderId: pay.order?.id?.toString(),
133
- data: meta ?? {},
134
- });
135
- // Run the onOpen and onClose callbacks
136
- if (open)
137
- onOpenRef.current?.();
138
- else
139
- onCloseRef.current?.();
140
- },
141
- // We don't have good caching on paymentState, so don't include it as a dep
142
- // eslint-disable-next-line react-hooks/exhaustive-deps
143
- [trpc, pay.order?.id, modalOptions?.resetOnSuccess, paymentCompleted]);
144
- // Callback when a payment is successfully completed (regardless of whether
145
- // the final call succeeded or bounced)
146
- const onSuccess = useCallback(() => {
147
- if (modalOptions?.closeOnSuccess) {
148
- setTimeout(() => setOpen(false, { event: "wait-success" }), 1000);
149
- }
150
- setPaymentCompleted(true);
151
- }, [modalOptions?.closeOnSuccess, setOpen, setPaymentCompleted]);
152
- const setRoute = useCallback((route, data) => {
153
- const action = route.replace("daimoPay", "");
154
- log(`[SET ROUTE] ${action} ${pay.order?.id} ${debugJson(data ?? {})}`);
155
- trpc.nav.mutate({
156
- action,
157
- orderId: pay.order?.id?.toString(),
158
- data: data ?? {},
159
- });
160
- setRouteState(route);
161
- }, [trpc, pay.order?.id, log]);
162
- // Other Configuration
163
- useEffect(() => setTheme(theme), [theme]);
164
- useEffect(() => setLang(opts.language || "en-US"), [opts.language]);
165
- useEffect(() => setDisableMobileInjector(opts.disableMobileInjector ?? false), [opts.disableMobileInjector]);
166
- useEffect(() => setErrorMessage(null), [route, open]);
167
- const paymentState = usePaymentState({
168
- trpc,
169
- lockPayParams,
170
- setRoute,
171
- log,
172
- redirectReturnUrl,
173
- });
174
- const showPayment = async (modalOptions) => {
175
- const id = pay.order?.id;
176
- log(`[PAY] showing modal ${debugJson({ id, modalOptions, paymentFsmState: pay.paymentState })}`);
177
- setModalOptions(modalOptions);
178
- setOpen(true);
179
- if (modalOptions.connectedWalletOnly) {
180
- paymentState.setTokenMode("all");
181
- }
182
- if (pay.paymentState === "error") {
183
- setRoute(ROUTES.ERROR);
184
- }
185
- else if (pay.paymentState === "payment_started" ||
186
- pay.paymentState === "payment_completed" ||
187
- pay.paymentState === "payment_bounced") {
188
- setRoute(ROUTES.CONFIRMATION);
189
- }
190
- else if (modalOptions.connectedWalletOnly) {
191
- setRoute(ROUTES.SELECT_TOKEN);
192
- }
193
- else {
194
- setRoute(ROUTES.SELECT_METHOD);
195
- }
196
- };
197
- // Watch when the order gets paid and navigate to confirmation
198
- // ...if underpaid, go to the deposit addr screen, let the user finish paying.
199
- const isUnderpaid = pay.order?.mode === DaimoPayOrderMode.HYDRATED &&
200
- pay.order.sourceStatus === DaimoPayOrderStatusSource.WAITING_PAYMENT &&
201
- pay.order.sourceTokenAmount != null;
202
- useEffect(() => {
203
- if (pay.paymentState === "payment_started" ||
204
- pay.paymentState === "payment_completed" ||
205
- pay.paymentState === "payment_bounced") {
206
- setRoute(ROUTES.CONFIRMATION, { event: "payment-started" });
207
- }
208
- else if (isUnderpaid) {
209
- paymentState.setSelectedDepositAddressOption(undefined);
210
- setRoute(ROUTES.WAITING_DEPOSIT_ADDRESS);
238
+ options: opts,
239
+ errorMessage,
240
+ onSuccess,
241
+ showContactSupport,
242
+ setShowContactSupport,
243
+ confirmationMessage,
244
+ setConfirmationMessage,
245
+ redirectReturnUrl,
246
+ setRedirectReturnUrl,
247
+ debugMode,
248
+ log,
249
+ displayError: (message, code) => {
250
+ setErrorMessage(message);
251
+ console.log("---------DAIMOPAY DEBUG---------");
252
+ console.log(message);
253
+ if (code) console.table(code);
254
+ console.log("---------/DAIMOPAY DEBUG---------");
255
+ },
256
+ resize,
257
+ triggerResize: () => onResize((prev) => prev + 1),
258
+ // Above: generic ConnectKit context
259
+ // Below: Daimo Pay context
260
+ showPayment,
261
+ paymentState,
262
+ trpc
263
+ };
264
+ return createElement(
265
+ PayContext.Provider,
266
+ { value },
267
+ /* @__PURE__ */ jsx(Web3ContextProvider, { children: /* @__PURE__ */ jsxs(ThemeProvider, { theme: defaultTheme, children: [
268
+ children,
269
+ /* @__PURE__ */ jsx(
270
+ DaimoPayModal,
271
+ {
272
+ lang: ckLang,
273
+ theme: ckTheme,
274
+ mode,
275
+ customTheme: ckCustomTheme,
276
+ disableMobileInjector
211
277
  }
212
- // eslint-disable-next-line react-hooks/exhaustive-deps
213
- }, [pay.paymentState, setRoute, isUnderpaid]);
214
- const value = {
215
- theme: ckTheme,
216
- setTheme,
217
- mode: ckMode,
218
- setMode,
219
- customTheme,
220
- setCustomTheme,
221
- lang: ckLang,
222
- setLang,
223
- disableMobileInjector,
224
- setDisableMobileInjector,
225
- setOnOpen,
226
- setOnClose,
227
- open,
228
- setOpen,
229
- route,
230
- setRoute,
231
- // Daimo Pay context
232
- uniquePaymentMethodPage,
233
- setUniquePaymentMethodPage,
234
- pendingConnectorId,
235
- setPendingConnectorId,
236
- sessionId,
237
- solanaConnector,
238
- setSolanaConnector,
239
- onConnect,
240
- // Other configuration
241
- options: opts,
242
- errorMessage,
243
- onSuccess,
244
- showContactSupport,
245
- setShowContactSupport,
246
- confirmationMessage,
247
- setConfirmationMessage,
248
- redirectReturnUrl,
249
- setRedirectReturnUrl,
250
- debugMode,
251
- log,
252
- displayError: (message, code) => {
253
- setErrorMessage(message);
254
- console.log("---------DAIMOPAY DEBUG---------");
255
- console.log(message);
256
- if (code)
257
- console.table(code);
258
- console.log("---------/DAIMOPAY DEBUG---------");
259
- },
260
- resize,
261
- triggerResize: () => onResize((prev) => prev + 1),
262
- // Above: generic ConnectKit context
263
- // Below: Daimo Pay context
264
- showPayment,
265
- paymentState,
266
- trpc,
267
- };
268
- return createElement(PayContext.Provider, { value }, jsx(Web3ContextProvider, { children: jsxs(ThemeProvider, { theme: defaultTheme, children: [children, jsx(DaimoPayModal, { lang: ckLang, theme: ckTheme, mode: mode, customTheme: ckCustomTheme, disableMobileInjector: disableMobileInjector })] }) }));
278
+ )
279
+ ] }) })
280
+ );
269
281
  };
270
- /**
271
- * Provides context for DaimoPayButton and hooks. Place in app root or layout.
272
- */
273
282
  const DaimoPayProvider = (props) => {
274
- const payApiUrl = props.payApiUrl ?? "https://pay-api.daimo.xyz/";
275
- const log = useMemo(() => props.debugMode ? (...args) => console.log(...args) : () => { }, [props.debugMode]);
276
- return (jsx(PaymentProvider, { payApiUrl: payApiUrl, log: log, children: jsx(SolanaContextProvider, { solanaRpcUrl: props.solanaRpcUrl, children: jsx(DaimoPayUIProvider, { ...props, payApiUrl: payApiUrl, log: log }) }) }));
283
+ const payApiUrl = props.payApiUrl ?? "https://pay-api.daimo.xyz/";
284
+ const log = useMemo(
285
+ () => props.debugMode ? (...args) => console.log(...args) : () => {
286
+ },
287
+ [props.debugMode]
288
+ );
289
+ return /* @__PURE__ */ jsx(PaymentProvider, { payApiUrl, log, children: /* @__PURE__ */ jsx(SolanaContextProvider, { solanaRpcUrl: props.solanaRpcUrl, children: /* @__PURE__ */ jsx(DaimoPayUIProvider, { ...props, payApiUrl, log }) }) });
277
290
  };
278
291
 
279
292
  export { DaimoPayProvider };
@@ -1 +1 @@
1
- {"version":3,"file":"DaimoPayProvider.js","sources":["../../../src/provider/DaimoPayProvider.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"DaimoPayProvider.js","sources":["../../../src/provider/DaimoPayProvider.tsx"],"sourcesContent":["import {\n DaimoPayOrderMode,\n DaimoPayOrderStatusSource,\n debugJson,\n} from \"@daimo/pay-common\";\nimport { Buffer } from \"buffer\";\nimport React, {\n createElement,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { ThemeProvider } from \"styled-components\";\nimport { WagmiContext } from \"wagmi\";\n\nimport { DaimoPayModal } from \"../components/DaimoPayModal\";\nimport { ROUTES } from \"../constants/routes\";\nimport { REQUIRED_CHAINS } from \"../defaultConfig\";\nimport { useChains } from \"../hooks/useChains\";\nimport {\n useConnectCallback,\n useConnectCallbackProps,\n} from \"../hooks/useConnectCallback\";\nimport { useDaimoPay } from \"../hooks/useDaimoPay\";\nimport { usePaymentState } from \"../hooks/usePaymentState\";\nimport { PaymentContext, PaymentProvider } from \"../provider/PaymentProvider\";\nimport defaultTheme from \"../styles/defaultTheme\";\nimport {\n CustomTheme,\n DaimoPayContextOptions,\n DaimoPayModalOptions,\n Languages,\n Mode,\n Theme,\n} from \"../types\";\nimport { createTrpcClient } from \"../utils/trpc\";\nimport { setInWalletPaymentUrlFromApiUrl } from \"../wallets/walletConfigs\";\nimport { PayContext, PayContextValue } from \"./PayContext\";\nimport {\n SolanaContextProvider,\n SolanaWalletName,\n} from \"./SolanaContextProvider\";\nimport { Web3ContextProvider } from \"./Web3ContextProvider\";\n\ntype DaimoPayUIProviderProps = {\n children?: React.ReactNode;\n theme?: Theme;\n mode?: Mode;\n customTheme?: CustomTheme;\n options?: DaimoPayContextOptions;\n debugMode?: boolean;\n /** Custom Pay API, useful for test and staging. */\n payApiUrl: string;\n log: (msg: string, ...props: any[]) => void;\n} & useConnectCallbackProps;\n\nconst DaimoPayUIProvider = ({\n children,\n theme = \"auto\",\n mode = \"auto\",\n customTheme,\n options,\n onConnect,\n onDisconnect,\n debugMode = false,\n payApiUrl,\n log,\n}: DaimoPayUIProviderProps) => {\n if (!React.useContext(PaymentContext)) {\n throw Error(\"DaimoPayProvider must be within a PaymentProvider\");\n }\n\n if (!React.useContext(WagmiContext)) {\n throw Error(\"DaimoPayProvider must be within a WagmiProvider\");\n }\n\n // Only allow for mounting DaimoPayProvider once, so we avoid weird global\n // state collisions.\n if (React.useContext(PayContext)) {\n throw new Error(\n \"Multiple, nested usages of DaimoPayProvider detected. Please use only one.\",\n );\n }\n\n useConnectCallback({\n onConnect,\n onDisconnect,\n });\n\n const chains = useChains();\n\n for (const requiredChain of REQUIRED_CHAINS) {\n if (!chains.some((c) => c.id === requiredChain.id)) {\n throw new Error(\n `Daimo Pay requires chains ${REQUIRED_CHAINS.map((c) => c.name).join(\", \")}. Use \\`getDefaultConfig\\` to automatically configure required chains.`,\n );\n }\n }\n\n // Default config options\n const defaultOptions: DaimoPayContextOptions = {\n language: \"en-US\",\n hideBalance: false,\n hideTooltips: false,\n hideQuestionMarkCTA: false,\n hideNoWalletCTA: false,\n hideRecentBadge: false,\n avoidLayoutShift: true,\n embedGoogleFonts: false,\n truncateLongENSAddress: true,\n reducedMotion: false,\n disclaimer: null,\n bufferPolyfill: true,\n customAvatar: undefined,\n initialChainId: undefined,\n enforceSupportedChains: false,\n ethereumOnboardingUrl: undefined,\n walletOnboardingUrl: undefined,\n overlayBlur: undefined,\n disableMobileInjector: false,\n };\n\n const opts: DaimoPayContextOptions = Object.assign(\n {},\n defaultOptions,\n options,\n );\n\n if (typeof window !== \"undefined\") {\n // Buffer Polyfill, needed for bundlers that don't provide Node polyfills (e.g CRA, Vite, etc.)\n if (opts.bufferPolyfill) window.Buffer = window.Buffer ?? Buffer;\n\n // Some bundlers may need `global` and `process.env` polyfills as well\n // Not implemented here to avoid unexpected behaviors, but leaving example here for future reference\n /*\n * window.global = window.global ?? window;\n * window.process = window.process ?? { env: {} };\n */\n }\n\n const pay = useDaimoPay();\n\n const [ckTheme, setTheme] = useState<Theme>(theme);\n const [ckMode, setMode] = useState<Mode>(mode);\n const [ckCustomTheme, setCustomTheme] = useState<CustomTheme | undefined>(\n customTheme ?? {},\n );\n const [ckLang, setLang] = useState<Languages>(\"en-US\");\n const [disableMobileInjector, setDisableMobileInjector] = useState<boolean>(\n opts.disableMobileInjector ?? false,\n );\n\n const onOpenRef = useRef<(() => void) | undefined>();\n const onCloseRef = useRef<(() => void) | undefined>();\n const setOnOpen = useCallback((fn?: () => void) => {\n onOpenRef.current = fn;\n }, []);\n const setOnClose = useCallback((fn?: () => void) => {\n onCloseRef.current = fn;\n }, []);\n const [open, setOpenState] = useState<boolean>(false);\n const [lockPayParams, setLockPayParams] = useState<boolean>(false);\n const [paymentCompleted, setPaymentCompleted] = useState<boolean>(false);\n const [route, setRouteState] = useState<ROUTES>(ROUTES.SELECT_METHOD);\n const [modalOptions, setModalOptions] = useState<DaimoPayModalOptions>();\n\n // Daimo Pay context\n const [uniquePaymentMethodPage, setUniquePaymentMethodPage] =\n useState<ROUTES>(ROUTES.SELECT_METHOD);\n const [pendingConnectorId, setPendingConnectorId] = useState<\n string | undefined\n >(undefined);\n // Track sessions. Each generates separate intent IDs unless using externalId.\n const [sessionId] = useState(() => crypto.randomUUID().replaceAll(\"-\", \"\"));\n const [solanaConnector, setSolanaConnector] = useState<\n SolanaWalletName | undefined\n >();\n\n // Other configuration\n const [errorMessage, setErrorMessage] = useState<\n string | React.ReactNode | null\n >(\"\");\n const [showContactSupport, setShowContactSupport] = useState<boolean>(true);\n const [confirmationMessage, setConfirmationMessage] = useState<\n string | undefined\n >(undefined);\n const [redirectReturnUrl, setRedirectReturnUrl] = useState<\n string | undefined\n >(undefined);\n // Connect to the Daimo Pay TRPC API\n const trpc = useMemo(() => {\n return createTrpcClient(payApiUrl, sessionId);\n }, [payApiUrl, sessionId]);\n const [resize, onResize] = useState<number>(0);\n\n useEffect(() => {\n setInWalletPaymentUrlFromApiUrl(payApiUrl);\n }, [payApiUrl]);\n\n const setOpen = useCallback(\n (open: boolean, meta?: Record<string, any>) => {\n setOpenState(open);\n\n // Lock pay params starting from the first time the modal is opened to\n // prevent the daimo pay order from changing from under the user\n if (open) {\n setLockPayParams(true);\n }\n // Reset payment state on close if resetOnSuccess is true\n if (!open && paymentCompleted && modalOptions?.resetOnSuccess) {\n setPaymentCompleted(false);\n setLockPayParams(false);\n paymentState.resetOrder();\n }\n\n // Log the open/close event\n trpc.nav.mutate({\n action: open ? \"navOpenPay\" : \"navClosePay\",\n orderId: pay.order?.id?.toString(),\n data: meta ?? {},\n });\n\n // Run the onOpen and onClose callbacks\n if (open) onOpenRef.current?.();\n else onCloseRef.current?.();\n },\n // We don't have good caching on paymentState, so don't include it as a dep\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [trpc, pay.order?.id, modalOptions?.resetOnSuccess, paymentCompleted],\n );\n\n // Callback when a payment is successfully completed (regardless of whether\n // the final call succeeded or bounced)\n const onSuccess = useCallback(() => {\n if (modalOptions?.closeOnSuccess) {\n setTimeout(() => setOpen(false, { event: \"wait-success\" }), 1000);\n }\n setPaymentCompleted(true);\n }, [modalOptions?.closeOnSuccess, setOpen, setPaymentCompleted]);\n\n const setRoute = useCallback(\n (route: ROUTES, data?: Record<string, any>) => {\n const action = route.replace(\"daimoPay\", \"\");\n log(`[SET ROUTE] ${action} ${pay.order?.id} ${debugJson(data ?? {})}`);\n trpc.nav.mutate({\n action,\n orderId: pay.order?.id?.toString(),\n data: data ?? {},\n });\n setRouteState(route);\n },\n [trpc, pay.order?.id, log],\n );\n\n // Other Configuration\n useEffect(() => setTheme(theme), [theme]);\n useEffect(() => setLang(opts.language || \"en-US\"), [opts.language]);\n useEffect(\n () => setDisableMobileInjector(opts.disableMobileInjector ?? false),\n [opts.disableMobileInjector],\n );\n useEffect(() => setErrorMessage(null), [route, open]);\n\n // TODO: replace with dispatcher pattern; remove hook slop\n const paymentState = usePaymentState({\n trpc,\n lockPayParams,\n setRoute,\n log,\n redirectReturnUrl,\n });\n\n const showPayment = async (modalOptions: DaimoPayModalOptions) => {\n const id = pay.order?.id;\n log(\n `[PAY] showing modal ${debugJson({ id, modalOptions, paymentFsmState: pay.paymentState })}`,\n );\n\n setModalOptions(modalOptions);\n setOpen(true);\n if (modalOptions.connectedWalletOnly) {\n paymentState.setTokenMode(\"all\");\n }\n\n if (pay.paymentState === \"error\") {\n setRoute(ROUTES.ERROR);\n } else if (\n pay.paymentState === \"payment_started\" ||\n pay.paymentState === \"payment_completed\" ||\n pay.paymentState === \"payment_bounced\"\n ) {\n setRoute(ROUTES.CONFIRMATION);\n } else if (modalOptions.connectedWalletOnly) {\n setRoute(ROUTES.SELECT_TOKEN);\n } else {\n setRoute(ROUTES.SELECT_METHOD);\n }\n };\n\n // Watch when the order gets paid and navigate to confirmation\n // ...if underpaid, go to the deposit addr screen, let the user finish paying.\n const isUnderpaid =\n pay.order?.mode === DaimoPayOrderMode.HYDRATED &&\n pay.order.sourceStatus === DaimoPayOrderStatusSource.WAITING_PAYMENT &&\n pay.order.sourceTokenAmount != null;\n useEffect(() => {\n if (pay.paymentState === \"error\") {\n setRoute(ROUTES.ERROR);\n } else if (\n pay.paymentState === \"payment_started\" ||\n pay.paymentState === \"payment_completed\" ||\n pay.paymentState === \"payment_bounced\"\n ) {\n setRoute(ROUTES.CONFIRMATION, { event: \"payment-started\" });\n } else if (isUnderpaid) {\n paymentState.setSelectedDepositAddressOption(undefined);\n setRoute(ROUTES.WAITING_DEPOSIT_ADDRESS);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pay.paymentState, setRoute, isUnderpaid]);\n\n const value: PayContextValue = {\n theme: ckTheme,\n setTheme,\n mode: ckMode,\n setMode,\n customTheme,\n setCustomTheme,\n lang: ckLang,\n setLang,\n disableMobileInjector,\n setDisableMobileInjector,\n setOnOpen,\n setOnClose,\n open,\n setOpen,\n route,\n setRoute,\n // Daimo Pay context\n uniquePaymentMethodPage,\n setUniquePaymentMethodPage,\n pendingConnectorId,\n setPendingConnectorId,\n sessionId,\n solanaConnector,\n setSolanaConnector,\n onConnect,\n // Other configuration\n options: opts,\n errorMessage,\n onSuccess,\n showContactSupport,\n setShowContactSupport,\n confirmationMessage,\n setConfirmationMessage,\n redirectReturnUrl,\n setRedirectReturnUrl,\n debugMode,\n log,\n displayError: (message: string | React.ReactNode | null, code?: any) => {\n setErrorMessage(message);\n console.log(\"---------DAIMOPAY DEBUG---------\");\n console.log(message);\n if (code) console.table(code);\n console.log(\"---------/DAIMOPAY DEBUG---------\");\n },\n resize,\n triggerResize: () => onResize((prev) => prev + 1),\n\n // Above: generic ConnectKit context\n // Below: Daimo Pay context\n showPayment,\n paymentState,\n trpc,\n };\n\n return createElement(\n PayContext.Provider,\n { value },\n <Web3ContextProvider>\n <ThemeProvider theme={defaultTheme}>\n {children}\n <DaimoPayModal\n lang={ckLang}\n theme={ckTheme}\n mode={mode}\n customTheme={ckCustomTheme}\n disableMobileInjector={disableMobileInjector}\n />\n </ThemeProvider>\n </Web3ContextProvider>,\n );\n};\n\ntype DaimoPayProviderProps = {\n children?: React.ReactNode;\n theme?: Theme;\n mode?: Mode;\n customTheme?: CustomTheme;\n options?: DaimoPayContextOptions;\n debugMode?: boolean;\n /**\n * Be careful with this endpoint, some endpoints (incl. Alchemy) don't support\n * `signatureSubscribe` which leads to txes behaving erratically\n * (ex. successful txes take minutes to confirm instead of seconds)\n */\n solanaRpcUrl?: string;\n /** Custom Pay API, useful for test and staging. */\n payApiUrl?: string;\n} & useConnectCallbackProps;\n\n/**\n * Provides context for DaimoPayButton and hooks. Place in app root or layout.\n */\nexport const DaimoPayProvider = (props: DaimoPayProviderProps) => {\n const payApiUrl = props.payApiUrl ?? \"https://pay-api.daimo.xyz/\";\n const log = useMemo(\n () =>\n props.debugMode ? (...args: any[]) => console.log(...args) : () => {},\n [props.debugMode],\n );\n\n return (\n <PaymentProvider payApiUrl={payApiUrl} log={log}>\n <SolanaContextProvider solanaRpcUrl={props.solanaRpcUrl}>\n <DaimoPayUIProvider {...props} payApiUrl={payApiUrl} log={log} />\n </SolanaContextProvider>\n </PaymentProvider>\n );\n};\n"],"names":["open","route","modalOptions"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { createContext } from 'react';
2
2
 
3
- /** Meant for internal use. This will be non-exported in a future SDK version. */
4
3
  const PayContext = createContext(null);
5
4
 
6
5
  export { PayContext };
@@ -1 +1 @@
1
- {"version":3,"file":"PayContext.js","sources":["../../../src/provider/PayContext.tsx"],"sourcesContent":[null],"names":[],"mappings":";;AAeA;MACa,UAAU,GAAG,aAAa,CAAyB,IAAI;;;;"}
1
+ {"version":3,"file":"PayContext.js","sources":["../../../src/provider/PayContext.tsx"],"sourcesContent":["import React, { createContext } from \"react\";\n\nimport { ROUTES } from \"../constants/routes\";\nimport { useConnectCallbackProps } from \"../hooks/useConnectCallback\";\nimport { PaymentState } from \"../hooks/usePaymentState\";\nimport {\n CustomTheme,\n DaimoPayContextOptions,\n DaimoPayModalOptions,\n Languages,\n Mode,\n Theme,\n} from \"../types\";\nimport { SolanaWalletName } from \"./SolanaContextProvider\";\n\n/** Meant for internal use. This will be non-exported in a future SDK version. */\nexport const PayContext = createContext<PayContextValue | null>(null);\n\nexport type PayLogFn = (message: string, ...props: any[]) => void;\n\n/** Daimo Pay internal context. */\nexport type PayContextValue = {\n theme: Theme;\n setTheme: React.Dispatch<React.SetStateAction<Theme>>;\n mode: Mode;\n setMode: React.Dispatch<React.SetStateAction<Mode>>;\n customTheme: CustomTheme | undefined;\n setCustomTheme: React.Dispatch<React.SetStateAction<CustomTheme | undefined>>;\n lang: Languages;\n setLang: React.Dispatch<React.SetStateAction<Languages>>;\n disableMobileInjector: boolean;\n setDisableMobileInjector: React.Dispatch<React.SetStateAction<boolean>>;\n setOnOpen: (fn?: () => void) => void;\n setOnClose: (fn?: () => void) => void;\n open: boolean;\n setOpen: (open: boolean, meta?: Record<string, any>) => void;\n route: string;\n setRoute: (route: ROUTES, data?: Record<string, any>) => void;\n errorMessage: string | React.ReactNode | null;\n debugMode?: boolean;\n log: PayLogFn;\n displayError: (message: string | React.ReactNode | null, code?: any) => void;\n resize: number;\n triggerResize: () => void;\n uniquePaymentMethodPage: ROUTES;\n setUniquePaymentMethodPage: React.Dispatch<React.SetStateAction<ROUTES>>;\n // All options below are new, specific to Daimo Pay.\n /** Session ID. */\n sessionId: string;\n /** EVM pending connector */\n pendingConnectorId: string | undefined;\n setPendingConnectorId: (id: string) => void;\n /** Chosen Solana wallet, eg Phantom.*/\n solanaConnector: SolanaWalletName | undefined;\n setSolanaConnector: React.Dispatch<\n React.SetStateAction<SolanaWalletName | undefined>\n >;\n /** Global options, across all pay buttons and payments. */\n options?: DaimoPayContextOptions;\n /** Loads a payment, then shows the modal to complete payment. */\n showPayment: (modalOptions: DaimoPayModalOptions) => Promise<void>;\n /** Payment status & callbacks. */\n paymentState: PaymentState;\n /** TRPC API client. Internal use only. */\n trpc: any;\n /** Callback to call when the payment is successful. */\n onSuccess: () => void;\n /**\n * Whether to show the contact support button. Used specifically for\n * WorldPayButton on iOS since links are broken on iOS in World App.\n */\n showContactSupport: boolean;\n setShowContactSupport: React.Dispatch<React.SetStateAction<boolean>>;\n /** Custom message to display on confirmation page. */\n confirmationMessage?: string;\n setConfirmationMessage: React.Dispatch<\n React.SetStateAction<string | undefined>\n >;\n /** Redirect URL to return to the app. E.g. after Coinbase, Binance, RampNetwork. */\n redirectReturnUrl?: string;\n setRedirectReturnUrl: React.Dispatch<\n React.SetStateAction<string | undefined>\n >;\n} & useConnectCallbackProps;\n"],"names":[],"mappings":";;AAgBa,MAAA,UAAA,GAAa,cAAsC,IAAI;;;;"}