@daimo/pay 1.6.1 → 1.6.3

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 (335) hide show
  1. package/README.md +4 -4
  2. package/build/index.d.ts +251 -249
  3. package/build/index.js +12039 -0
  4. package/build/index.js.map +1 -0
  5. package/package.json +6 -5
  6. package/build/package.json.js +0 -101
  7. package/build/package.json.js.map +0 -1
  8. package/build/src/assets/ScanIconWithLogos.js +0 -34
  9. package/build/src/assets/ScanIconWithLogos.js.map +0 -1
  10. package/build/src/assets/browsers.js +0 -13
  11. package/build/src/assets/browsers.js.map +0 -1
  12. package/build/src/assets/chains.js +0 -70
  13. package/build/src/assets/chains.js.map +0 -1
  14. package/build/src/assets/coins.js +0 -6
  15. package/build/src/assets/coins.js.map +0 -1
  16. package/build/src/assets/crepe.js +0 -8
  17. package/build/src/assets/crepe.js.map +0 -1
  18. package/build/src/assets/icons.js +0 -29
  19. package/build/src/assets/icons.js.map +0 -1
  20. package/build/src/assets/logos.js +0 -153
  21. package/build/src/assets/logos.js.map +0 -1
  22. package/build/src/assets/wallet.js +0 -8
  23. package/build/src/assets/wallet.js.map +0 -1
  24. package/build/src/assets/wave.js +0 -6
  25. package/build/src/assets/wave.js.map +0 -1
  26. package/build/src/components/Common/Alert/index.js +0 -10
  27. package/build/src/components/Common/Alert/index.js.map +0 -1
  28. package/build/src/components/Common/Alert/styles.js +0 -55
  29. package/build/src/components/Common/Alert/styles.js.map +0 -1
  30. package/build/src/components/Common/AmountInput/AmountInputField.js +0 -59
  31. package/build/src/components/Common/AmountInput/AmountInputField.js.map +0 -1
  32. package/build/src/components/Common/AmountInput/index.js +0 -147
  33. package/build/src/components/Common/AmountInput/index.js.map +0 -1
  34. package/build/src/components/Common/Avatar/index.js +0 -66
  35. package/build/src/components/Common/Avatar/index.js.map +0 -1
  36. package/build/src/components/Common/Avatar/styles.js +0 -59
  37. package/build/src/components/Common/Avatar/styles.js.map +0 -1
  38. package/build/src/components/Common/BrowserIcon/index.js +0 -28
  39. package/build/src/components/Common/BrowserIcon/index.js.map +0 -1
  40. package/build/src/components/Common/BrowserIcon/styles.js +0 -20
  41. package/build/src/components/Common/BrowserIcon/styles.js.map +0 -1
  42. package/build/src/components/Common/Button/index.js +0 -38
  43. package/build/src/components/Common/Button/index.js.map +0 -1
  44. package/build/src/components/Common/Button/styles.js +0 -291
  45. package/build/src/components/Common/Button/styles.js.map +0 -1
  46. package/build/src/components/Common/Chain/index.js +0 -25
  47. package/build/src/components/Common/Chain/index.js.map +0 -1
  48. package/build/src/components/Common/Chain/styles.js +0 -94
  49. package/build/src/components/Common/Chain/styles.js.map +0 -1
  50. package/build/src/components/Common/ChainSelectList/index.js +0 -107
  51. package/build/src/components/Common/ChainSelectList/index.js.map +0 -1
  52. package/build/src/components/Common/ChainSelectList/styles.js +0 -228
  53. package/build/src/components/Common/ChainSelectList/styles.js.map +0 -1
  54. package/build/src/components/Common/ConnectorList/index.js +0 -71
  55. package/build/src/components/Common/ConnectorList/index.js.map +0 -1
  56. package/build/src/components/Common/ConnectorList/styles.js +0 -314
  57. package/build/src/components/Common/ConnectorList/styles.js.map +0 -1
  58. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +0 -71
  59. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +0 -1
  60. package/build/src/components/Common/CopyToClipboard/index.js +0 -51
  61. package/build/src/components/Common/CopyToClipboard/index.js.map +0 -1
  62. package/build/src/components/Common/CustomQRCode/QRCode.js +0 -69
  63. package/build/src/components/Common/CustomQRCode/QRCode.js.map +0 -1
  64. package/build/src/components/Common/CustomQRCode/index.js +0 -22
  65. package/build/src/components/Common/CustomQRCode/index.js.map +0 -1
  66. package/build/src/components/Common/CustomQRCode/styles.js +0 -155
  67. package/build/src/components/Common/CustomQRCode/styles.js.map +0 -1
  68. package/build/src/components/Common/FitText/index.js +0 -27
  69. package/build/src/components/Common/FitText/index.js.map +0 -1
  70. package/build/src/components/Common/Modal/index.js +0 -301
  71. package/build/src/components/Common/Modal/index.js.map +0 -1
  72. package/build/src/components/Common/Modal/styles.js +0 -661
  73. package/build/src/components/Common/Modal/styles.js.map +0 -1
  74. package/build/src/components/Common/OptionsList/index.js +0 -106
  75. package/build/src/components/Common/OptionsList/index.js.map +0 -1
  76. package/build/src/components/Common/OptionsList/styles.js +0 -165
  77. package/build/src/components/Common/OptionsList/styles.js.map +0 -1
  78. package/build/src/components/Common/OrderHeader/index.js +0 -128
  79. package/build/src/components/Common/OrderHeader/index.js.map +0 -1
  80. package/build/src/components/Common/PaymentBreakdown/index.js +0 -48
  81. package/build/src/components/Common/PaymentBreakdown/index.js.map +0 -1
  82. package/build/src/components/Common/Portal/index.js +0 -31
  83. package/build/src/components/Common/Portal/index.js.map +0 -1
  84. package/build/src/components/Common/PoweredByFooter/index.js +0 -79
  85. package/build/src/components/Common/PoweredByFooter/index.js.map +0 -1
  86. package/build/src/components/Common/ScrollArea/index.js +0 -62
  87. package/build/src/components/Common/ScrollArea/index.js.map +0 -1
  88. package/build/src/components/Common/ScrollArea/styles.js +0 -168
  89. package/build/src/components/Common/ScrollArea/styles.js.map +0 -1
  90. package/build/src/components/Common/Spinner/index.js +0 -24
  91. package/build/src/components/Common/Spinner/index.js.map +0 -1
  92. package/build/src/components/Common/Spinner/styles.js +0 -22
  93. package/build/src/components/Common/Spinner/styles.js.map +0 -1
  94. package/build/src/components/Common/SwitchButton/index.js +0 -39
  95. package/build/src/components/Common/SwitchButton/index.js.map +0 -1
  96. package/build/src/components/Common/ThemedButton/index.js +0 -25
  97. package/build/src/components/Common/ThemedButton/index.js.map +0 -1
  98. package/build/src/components/Common/ThemedButton/styles.js +0 -152
  99. package/build/src/components/Common/ThemedButton/styles.js.map +0 -1
  100. package/build/src/components/Common/TokenChainLogo/index.js +0 -24
  101. package/build/src/components/Common/TokenChainLogo/index.js.map +0 -1
  102. package/build/src/components/Common/Tooltip/index.js +0 -97
  103. package/build/src/components/Common/Tooltip/index.js.map +0 -1
  104. package/build/src/components/Common/Tooltip/styles.js +0 -81
  105. package/build/src/components/Common/Tooltip/styles.js.map +0 -1
  106. package/build/src/components/Common/WalletChainLogo/index.js +0 -24
  107. package/build/src/components/Common/WalletChainLogo/index.js.map +0 -1
  108. package/build/src/components/DaimoPay.js +0 -280
  109. package/build/src/components/DaimoPay.js.map +0 -1
  110. package/build/src/components/DaimoPayButton/index.js +0 -158
  111. package/build/src/components/DaimoPayButton/index.js.map +0 -1
  112. package/build/src/components/DaimoPayButton/styles.js +0 -50
  113. package/build/src/components/DaimoPayButton/styles.js.map +0 -1
  114. package/build/src/components/DaimoPayModal/ConnectUsing.js +0 -45
  115. package/build/src/components/DaimoPayModal/ConnectUsing.js.map +0 -1
  116. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +0 -202
  117. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +0 -1
  118. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js +0 -133
  119. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +0 -1
  120. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +0 -75
  121. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +0 -1
  122. package/build/src/components/DaimoPayModal/index.js +0 -206
  123. package/build/src/components/DaimoPayModal/index.js.map +0 -1
  124. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +0 -21
  125. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +0 -1
  126. package/build/src/components/Pages/About/graphics.js +0 -187
  127. package/build/src/components/Pages/About/graphics.js.map +0 -1
  128. package/build/src/components/Pages/About/index.js +0 -131
  129. package/build/src/components/Pages/About/index.js.map +0 -1
  130. package/build/src/components/Pages/About/styles.js +0 -144
  131. package/build/src/components/Pages/About/styles.js.map +0 -1
  132. package/build/src/components/Pages/Confirmation/index.js +0 -105
  133. package/build/src/components/Pages/Confirmation/index.js.map +0 -1
  134. package/build/src/components/Pages/Connectors/index.js +0 -20
  135. package/build/src/components/Pages/Connectors/index.js.map +0 -1
  136. package/build/src/components/Pages/Connectors/styles.js +0 -267
  137. package/build/src/components/Pages/Connectors/styles.js.map +0 -1
  138. package/build/src/components/Pages/DownloadApp/index.js +0 -30
  139. package/build/src/components/Pages/DownloadApp/index.js.map +0 -1
  140. package/build/src/components/Pages/MobileConnectors/index.js +0 -78
  141. package/build/src/components/Pages/MobileConnectors/index.js.map +0 -1
  142. package/build/src/components/Pages/MobileConnectors/styles.js +0 -65
  143. package/build/src/components/Pages/MobileConnectors/styles.js.map +0 -1
  144. package/build/src/components/Pages/Onboarding/index.js +0 -18
  145. package/build/src/components/Pages/Onboarding/index.js.map +0 -1
  146. package/build/src/components/Pages/Onboarding/styles.js +0 -229
  147. package/build/src/components/Pages/Onboarding/styles.js.map +0 -1
  148. package/build/src/components/Pages/PayWithToken/index.js +0 -111
  149. package/build/src/components/Pages/PayWithToken/index.js.map +0 -1
  150. package/build/src/components/Pages/SelectAmount/index.js +0 -16
  151. package/build/src/components/Pages/SelectAmount/index.js.map +0 -1
  152. package/build/src/components/Pages/SelectDepositAddressAmount/index.js +0 -61
  153. package/build/src/components/Pages/SelectDepositAddressAmount/index.js.map +0 -1
  154. package/build/src/components/Pages/SelectDepositAddressChain/index.js +0 -38
  155. package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +0 -1
  156. package/build/src/components/Pages/SelectExternalAmount/index.js +0 -63
  157. package/build/src/components/Pages/SelectExternalAmount/index.js.map +0 -1
  158. package/build/src/components/Pages/SelectMethod/index.js +0 -205
  159. package/build/src/components/Pages/SelectMethod/index.js.map +0 -1
  160. package/build/src/components/Pages/SelectToken/index.js +0 -61
  161. package/build/src/components/Pages/SelectToken/index.js.map +0 -1
  162. package/build/src/components/Pages/Solana/ConnectSolana/index.js +0 -80
  163. package/build/src/components/Pages/Solana/ConnectSolana/index.js.map +0 -1
  164. package/build/src/components/Pages/Solana/ConnectorSolana/index.js +0 -55
  165. package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +0 -1
  166. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +0 -62
  167. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +0 -1
  168. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js +0 -16
  169. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +0 -1
  170. package/build/src/components/Pages/Solana/SelectSolanaToken/index.js +0 -59
  171. package/build/src/components/Pages/Solana/SelectSolanaToken/index.js.map +0 -1
  172. package/build/src/components/Pages/SwitchNetworks/index.js +0 -26
  173. package/build/src/components/Pages/SwitchNetworks/index.js.map +0 -1
  174. package/build/src/components/Pages/WaitingDepositAddress/index.js +0 -51
  175. package/build/src/components/Pages/WaitingDepositAddress/index.js.map +0 -1
  176. package/build/src/components/Pages/WaitingExternal/index.js +0 -53
  177. package/build/src/components/Pages/WaitingExternal/index.js.map +0 -1
  178. package/build/src/components/Spinners/CircleSpinner/index.js +0 -15
  179. package/build/src/components/Spinners/CircleSpinner/index.js.map +0 -1
  180. package/build/src/components/Spinners/CircleSpinner/styles.js +0 -118
  181. package/build/src/components/Spinners/CircleSpinner/styles.js.map +0 -1
  182. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js +0 -20
  183. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js.map +0 -1
  184. package/build/src/components/Spinners/SquircleSpinner/index.js +0 -15
  185. package/build/src/components/Spinners/SquircleSpinner/index.js.map +0 -1
  186. package/build/src/components/Spinners/SquircleSpinner/styles.js +0 -66
  187. package/build/src/components/Spinners/SquircleSpinner/styles.js.map +0 -1
  188. package/build/src/components/Spinners/TokenLogoSpinner/index.js +0 -13
  189. package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +0 -1
  190. package/build/src/components/Spinners/TokenLogoSpinner/styles.js +0 -40
  191. package/build/src/components/Spinners/TokenLogoSpinner/styles.js.map +0 -1
  192. package/build/src/components/Spinners/styles.js +0 -33
  193. package/build/src/components/Spinners/styles.js.map +0 -1
  194. package/build/src/components/contexts/solana/index.js +0 -11
  195. package/build/src/components/contexts/solana/index.js.map +0 -1
  196. package/build/src/components/contexts/web3/index.js +0 -46
  197. package/build/src/components/contexts/web3/index.js.map +0 -1
  198. package/build/src/constants/defaultTheme.js +0 -6
  199. package/build/src/constants/defaultTheme.js.map +0 -1
  200. package/build/src/defaultConfig.js +0 -63
  201. package/build/src/defaultConfig.js.map +0 -1
  202. package/build/src/defaultConnectors.js +0 -43
  203. package/build/src/defaultConnectors.js.map +0 -1
  204. package/build/src/hooks/connectors/useWalletConnectUri.js +0 -93
  205. package/build/src/hooks/connectors/useWalletConnectUri.js.map +0 -1
  206. package/build/src/hooks/useChainIsSupported.js +0 -12
  207. package/build/src/hooks/useChainIsSupported.js.map +0 -1
  208. package/build/src/hooks/useChains.js +0 -11
  209. package/build/src/hooks/useChains.js.map +0 -1
  210. package/build/src/hooks/useConnect.js +0 -45
  211. package/build/src/hooks/useConnect.js.map +0 -1
  212. package/build/src/hooks/useConnectCallback.js +0 -18
  213. package/build/src/hooks/useConnectCallback.js.map +0 -1
  214. package/build/src/hooks/useConnectors.js +0 -29
  215. package/build/src/hooks/useConnectors.js.map +0 -1
  216. package/build/src/hooks/useDaimoPayStatus.js +0 -24
  217. package/build/src/hooks/useDaimoPayStatus.js.map +0 -1
  218. package/build/src/hooks/useDepositAddressOptions.js +0 -31
  219. package/build/src/hooks/useDepositAddressOptions.js.map +0 -1
  220. package/build/src/hooks/useEnsFallbackConfig.js +0 -16
  221. package/build/src/hooks/useEnsFallbackConfig.js.map +0 -1
  222. package/build/src/hooks/useExternalPaymentOptions.js +0 -49
  223. package/build/src/hooks/useExternalPaymentOptions.js.map +0 -1
  224. package/build/src/hooks/useFitText.js +0 -148
  225. package/build/src/hooks/useFitText.js.map +0 -1
  226. package/build/src/hooks/useFocusTrap.js +0 -60
  227. package/build/src/hooks/useFocusTrap.js.map +0 -1
  228. package/build/src/hooks/useGoogleFont.js +0 -45
  229. package/build/src/hooks/useGoogleFont.js.map +0 -1
  230. package/build/src/hooks/useIsMobile.js +0 -17
  231. package/build/src/hooks/useIsMobile.js.map +0 -1
  232. package/build/src/hooks/useIsMounted.js +0 -12
  233. package/build/src/hooks/useIsMounted.js.map +0 -1
  234. package/build/src/hooks/useLastConnector.js +0 -24
  235. package/build/src/hooks/useLastConnector.js.map +0 -1
  236. package/build/src/hooks/useLocales.js +0 -67
  237. package/build/src/hooks/useLocales.js.map +0 -1
  238. package/build/src/hooks/useLockBodyScroll.js +0 -53
  239. package/build/src/hooks/useLockBodyScroll.js.map +0 -1
  240. package/build/src/hooks/useOrderUsdLimits.js +0 -26
  241. package/build/src/hooks/useOrderUsdLimits.js.map +0 -1
  242. package/build/src/hooks/usePayWithSolanaToken.js +0 -50
  243. package/build/src/hooks/usePayWithSolanaToken.js.map +0 -1
  244. package/build/src/hooks/usePayWithToken.js +0 -58
  245. package/build/src/hooks/usePayWithToken.js.map +0 -1
  246. package/build/src/hooks/usePaymentState.js +0 -283
  247. package/build/src/hooks/usePaymentState.js.map +0 -1
  248. package/build/src/hooks/usePrevious.js +0 -14
  249. package/build/src/hooks/usePrevious.js.map +0 -1
  250. package/build/src/hooks/useSolanaPaymentOptions.js +0 -39
  251. package/build/src/hooks/useSolanaPaymentOptions.js.map +0 -1
  252. package/build/src/hooks/useWalletConnectModal.js +0 -52
  253. package/build/src/hooks/useWalletConnectModal.js.map +0 -1
  254. package/build/src/hooks/useWalletPaymentOptions.js +0 -50
  255. package/build/src/hooks/useWalletPaymentOptions.js.map +0 -1
  256. package/build/src/hooks/useWindowSize.js +0 -23
  257. package/build/src/hooks/useWindowSize.js.map +0 -1
  258. package/build/src/index.js +0 -10
  259. package/build/src/index.js.map +0 -1
  260. package/build/src/localizations/index.js +0 -57
  261. package/build/src/localizations/index.js.map +0 -1
  262. package/build/src/localizations/locales/ar-AE.js +0 -97
  263. package/build/src/localizations/locales/ar-AE.js.map +0 -1
  264. package/build/src/localizations/locales/ca-AD.js +0 -95
  265. package/build/src/localizations/locales/ca-AD.js.map +0 -1
  266. package/build/src/localizations/locales/ee-EE.js +0 -95
  267. package/build/src/localizations/locales/ee-EE.js.map +0 -1
  268. package/build/src/localizations/locales/en-US.js +0 -95
  269. package/build/src/localizations/locales/en-US.js.map +0 -1
  270. package/build/src/localizations/locales/es-ES.js +0 -95
  271. package/build/src/localizations/locales/es-ES.js.map +0 -1
  272. package/build/src/localizations/locales/fa-IR.js +0 -95
  273. package/build/src/localizations/locales/fa-IR.js.map +0 -1
  274. package/build/src/localizations/locales/fr-FR.js +0 -95
  275. package/build/src/localizations/locales/fr-FR.js.map +0 -1
  276. package/build/src/localizations/locales/ja-JP.js +0 -95
  277. package/build/src/localizations/locales/ja-JP.js.map +0 -1
  278. package/build/src/localizations/locales/pt-BR.js +0 -95
  279. package/build/src/localizations/locales/pt-BR.js.map +0 -1
  280. package/build/src/localizations/locales/ru-RU.js +0 -95
  281. package/build/src/localizations/locales/ru-RU.js.map +0 -1
  282. package/build/src/localizations/locales/tr-TR.js +0 -95
  283. package/build/src/localizations/locales/tr-TR.js.map +0 -1
  284. package/build/src/localizations/locales/vi-VN.js +0 -95
  285. package/build/src/localizations/locales/vi-VN.js.map +0 -1
  286. package/build/src/localizations/locales/zh-CN.js +0 -95
  287. package/build/src/localizations/locales/zh-CN.js.map +0 -1
  288. package/build/src/styles/defaultTheme.js +0 -89
  289. package/build/src/styles/defaultTheme.js.map +0 -1
  290. package/build/src/styles/index.js +0 -329
  291. package/build/src/styles/index.js.map +0 -1
  292. package/build/src/styles/styled/index.js +0 -16
  293. package/build/src/styles/styled/index.js.map +0 -1
  294. package/build/src/styles/themes/base.js +0 -141
  295. package/build/src/styles/themes/base.js.map +0 -1
  296. package/build/src/styles/themes/index.js +0 -13
  297. package/build/src/styles/themes/index.js.map +0 -1
  298. package/build/src/styles/themes/midnight.js +0 -76
  299. package/build/src/styles/themes/midnight.js.map +0 -1
  300. package/build/src/styles/themes/minimal.js +0 -96
  301. package/build/src/styles/themes/minimal.js.map +0 -1
  302. package/build/src/styles/themes/nouns.js +0 -81
  303. package/build/src/styles/themes/nouns.js.map +0 -1
  304. package/build/src/styles/themes/retro.js +0 -106
  305. package/build/src/styles/themes/retro.js.map +0 -1
  306. package/build/src/styles/themes/rounded.js +0 -106
  307. package/build/src/styles/themes/rounded.js.map +0 -1
  308. package/build/src/styles/themes/soft.js +0 -71
  309. package/build/src/styles/themes/soft.js.map +0 -1
  310. package/build/src/styles/themes/web95.js +0 -132
  311. package/build/src/styles/themes/web95.js.map +0 -1
  312. package/build/src/utils/exports.js +0 -7
  313. package/build/src/utils/exports.js.map +0 -1
  314. package/build/src/utils/format.js +0 -83
  315. package/build/src/utils/format.js.map +0 -1
  316. package/build/src/utils/index.js +0 -39
  317. package/build/src/utils/index.js.map +0 -1
  318. package/build/src/utils/p3.js +0 -16
  319. package/build/src/utils/p3.js.map +0 -1
  320. package/build/src/utils/platform.js +0 -13
  321. package/build/src/utils/platform.js.map +0 -1
  322. package/build/src/utils/supportUrl.js +0 -18
  323. package/build/src/utils/supportUrl.js.map +0 -1
  324. package/build/src/utils/trpc.js +0 -19
  325. package/build/src/utils/trpc.js.map +0 -1
  326. package/build/src/utils/validateInput.js +0 -36
  327. package/build/src/utils/validateInput.js.map +0 -1
  328. package/build/src/utils/wallets.js +0 -14
  329. package/build/src/utils/wallets.js.map +0 -1
  330. package/build/src/wallets/index.js +0 -32
  331. package/build/src/wallets/index.js.map +0 -1
  332. package/build/src/wallets/useWallets.js +0 -90
  333. package/build/src/wallets/useWallets.js.map +0 -1
  334. package/build/src/wallets/walletConfigs.js +0 -337
  335. package/build/src/wallets/walletConfigs.js.map +0 -1
@@ -1,83 +0,0 @@
1
- import { formatUnits } from 'viem';
2
-
3
- const USD_DECIMALS = 2;
4
- /**
5
- * Round a number to a given number of decimal places
6
- *
7
- * @param round - The rounding strategy to use:
8
- * - "up": Always rounds up to the next decimal place (ceiling)
9
- * - "down": Always rounds down to the previous decimal place (floor)
10
- * - "nearest": Rounds to the nearest decimal place (standard rounding)
11
- */
12
- function roundDecimals(value, decimals, round) {
13
- const factor = 10 ** decimals;
14
- const multiplied = value * factor;
15
- let rounded;
16
- if (round === "up") {
17
- rounded = Math.ceil(multiplied);
18
- }
19
- else if (round === "down") {
20
- rounded = Math.floor(multiplied);
21
- }
22
- else {
23
- rounded = Math.round(multiplied);
24
- }
25
- return (rounded / factor).toFixed(decimals);
26
- }
27
- /**
28
- * Format a number as a USD amount
29
- *
30
- * @param usd - The USD amount to format
31
- * @param round - The rounding strategy to use ("up", "down", or "nearest")
32
- * @returns The formatted USD amount
33
- */
34
- function formatUsd(usd, round = "down") {
35
- return new Intl.NumberFormat("en-US", {
36
- style: "currency",
37
- currency: "USD",
38
- }).format(Number(roundUsd(usd, round)));
39
- }
40
- /**
41
- * Round a USD amount to `USD_DECIMALS` precision
42
- */
43
- function roundUsd(usd, round = "down") {
44
- return roundDecimals(usd, USD_DECIMALS, round);
45
- }
46
- /**
47
- * Round a token amount to `displayDecimals` precision
48
- */
49
- function roundTokenAmount(amount, token, round = "down") {
50
- return roundDecimals(Number(formatUnits(BigInt(amount), token.decimals)), token.displayDecimals, round);
51
- }
52
- /**
53
- * Round a token amount in units to `displayDecimals` precision
54
- */
55
- function roundTokenAmountUnits(amountUnits, token, round = "down") {
56
- return roundDecimals(amountUnits, token.displayDecimals, round);
57
- }
58
- /**
59
- * Convert a USD amount to a token amount with `displayDecimals` precision
60
- *
61
- * @param usd - The USD amount to convert
62
- * @param token - The token to convert to
63
- * @param round - The rounding strategy to use ("up", "down", or "nearest")
64
- * @returns The token amount
65
- */
66
- function usdToRoundedTokenAmount(usd, token, round = "down") {
67
- return roundTokenAmountUnits(usd / token.usd, token, round);
68
- }
69
- /**
70
- * Convert a token amount to a USD amount with `USD_DECIMALS` precision
71
- *
72
- * @param amount - The token amount to convert
73
- * @param token - The token to convert from
74
- * @param round - The rounding strategy to use ("up", "down", or "nearest")
75
- * @returns The formatted USD amount
76
- */
77
- function tokenAmountToRoundedUsd(amount, token, round = "nearest") {
78
- const amountUnits = formatUnits(BigInt(amount), token.decimals);
79
- return roundUsd(Number(amountUnits) * token.usd, round);
80
- }
81
-
82
- export { USD_DECIMALS, formatUsd, roundDecimals, roundTokenAmount, roundTokenAmountUnits, roundUsd, tokenAmountToRoundedUsd, usdToRoundedTokenAmount };
83
- //# sourceMappingURL=format.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"format.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,39 +0,0 @@
1
- import { detect } from 'detect-browser';
2
- import React from 'react';
3
-
4
- const detectBrowser = () => {
5
- const browser = detect();
6
- return browser?.name ?? "";
7
- };
8
- const detectOS = () => {
9
- const browser = detect();
10
- return browser?.os ?? "";
11
- };
12
- const isIOS = () => {
13
- const os = detectOS();
14
- return os.toLowerCase().includes("ios");
15
- };
16
- const isAndroid = () => {
17
- const os = detectOS();
18
- return os.toLowerCase().includes("android");
19
- };
20
- const isMobile = () => {
21
- return isAndroid() || isIOS();
22
- };
23
- function flattenChildren(children) {
24
- const childrenArray = React.Children.toArray(children);
25
- return childrenArray.reduce((flatChildren, child) => {
26
- if (child.type === React.Fragment) {
27
- return flatChildren.concat(flattenChildren(child.props.children));
28
- }
29
- flatChildren.push(child);
30
- return flatChildren;
31
- }, []);
32
- }
33
- const isWalletConnectConnector = (connectorId) => connectorId === "walletConnect";
34
- const isCoinbaseWalletConnector = (connectorId) => connectorId === "coinbaseWalletSDK";
35
- const isSafeConnector = (connectorId) => connectorId === "safe";
36
- const isInjectedConnector = (connectorId) => connectorId === "injected";
37
-
38
- export { detectBrowser, detectOS, flattenChildren, isAndroid, isCoinbaseWalletConnector, isInjectedConnector, isMobile, isSafeConnector, isWalletConnectConnector };
39
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,16 +0,0 @@
1
- import 'styled-components';
2
-
3
- const hexToP3 = (hex) => {
4
- const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
5
- if (result == null)
6
- return hex;
7
- const values = {
8
- r: parseInt(result[1], 16),
9
- g: parseInt(result[2], 16),
10
- b: parseInt(result[3], 16),
11
- };
12
- return `color(display-p3 ${values.r / 255} ${values.g / 255} ${values.b / 255})`;
13
- };
14
-
15
- export { hexToP3 };
16
- //# sourceMappingURL=p3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"p3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -1,13 +0,0 @@
1
- function detectPlatform(ua) {
2
- // From https://dev.to/konyu/using-javascript-to-determine-whether-the-client-is-ios-or-android-4i1j
3
- if (/android/i.test(ua)) {
4
- return "android";
5
- }
6
- else if (/iPhone|iPod|iPad/.test(ua)) {
7
- return "ios";
8
- }
9
- return "other";
10
- }
11
-
12
- export { detectPlatform };
13
- //# sourceMappingURL=platform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"platform.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -1,18 +0,0 @@
1
- import { writeDaimoPayOrderID } from '@daimo/pay-common';
2
- import { daimoPayVersion } from './exports.js';
3
-
4
- function getSupportUrl(daimoPayOrder, screen) {
5
- const payId = daimoPayOrder == null ? null : writeDaimoPayOrderID(daimoPayOrder.id);
6
- const email = "support@daimo.com";
7
- const subject = `Support${payId ? ` #${payId}` : ""}`;
8
- let body = [
9
- `Transaction: ${screen}`,
10
- `Version: ${daimoPayVersion}`,
11
- ``,
12
- `Tell us how we can help`,
13
- ].join("\n");
14
- return `mailto:${email}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;
15
- }
16
-
17
- export { getSupportUrl };
18
- //# sourceMappingURL=supportUrl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"supportUrl.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
@@ -1,19 +0,0 @@
1
- import { createTRPCClient, httpBatchLink } from '@trpc/client';
2
- import { daimoPayVersion } from './exports.js';
3
-
4
- function createTrpcClient(apiUrl, sessionId) {
5
- return createTRPCClient({
6
- links: [
7
- httpBatchLink({
8
- url: apiUrl,
9
- headers: {
10
- "x-pay-version": daimoPayVersion,
11
- "x-session-id": sessionId,
12
- },
13
- }),
14
- ],
15
- });
16
- }
17
-
18
- export { createTrpcClient };
19
- //# sourceMappingURL=trpc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trpc.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
@@ -1,36 +0,0 @@
1
- /**
2
- * Returns true if the value is a valid number.
3
- * @param value The value to validate.
4
- * @param maxDecimals The maximum number of decimal places.
5
- * @returns True if the value is a valid number, false otherwise.
6
- */
7
- function isValidNumber(value, maxDecimals) {
8
- if (value.length === 0) {
9
- return false;
10
- }
11
- // Test that the value is digits, followed by an optional decimal, followed
12
- // by more digits
13
- const match = /^\d*\.?(\d*)$/.exec(value);
14
- if (match == null)
15
- return false;
16
- // Check that the number of digits after the decimal is less than or equal to
17
- // maxDecimals
18
- return maxDecimals == null || match[1].length <= maxDecimals;
19
- }
20
- /**
21
- * Sanitize a number input.
22
- * - Remove all non-numeric and non-decimal characters
23
- * - If the value is empty, return "0"
24
- * - Parse into a number
25
- * @param value The value to sanitize.
26
- * @returns The sanitized value.
27
- */
28
- function sanitizeNumber(value) {
29
- const cleaned = value.replace(/[^0-9.]/g, "");
30
- if (!cleaned || cleaned === "." || !/^\d*\.?\d*$/.test(cleaned))
31
- return "0";
32
- return cleaned.startsWith(".") ? `0${cleaned}` : cleaned;
33
- }
34
-
35
- export { isValidNumber, sanitizeNumber };
36
- //# sourceMappingURL=validateInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validateInput.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,14 +0,0 @@
1
- const isWalletInstalled = (name) => {
2
- if (typeof window === "undefined")
3
- return false;
4
- const { ethereum } = window;
5
- return !!(ethereum?.[`is${name}`] ||
6
- (ethereum?.providers &&
7
- ethereum?.providers.find((provider) => provider?.[`is${name}`])));
8
- };
9
- const isFamily = () => isWalletInstalled("Family");
10
- const isRainbow = () => isWalletInstalled("Rainbow");
11
- const isZerion = () => isWalletInstalled("Zerion");
12
-
13
- export { isFamily, isRainbow, isWalletInstalled, isZerion };
14
- //# sourceMappingURL=wallets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wallets.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -1,32 +0,0 @@
1
- import { injected } from '@wagmi/connectors';
2
- import { walletConfigs } from './walletConfigs.js';
3
-
4
- /** Ethereum wallets, by name. */
5
- const wallets = Object.keys(walletConfigs).reduce((acc, key) => {
6
- const config = walletConfigs[key];
7
- if (!config?.getWalletConnectDeeplink)
8
- return acc;
9
- const target = key.split(",")[0].trim();
10
- const flag = config.name?.replace("Wallet", "").replace(" ", "") ??
11
- target[0].toUpperCase() + target.slice(1);
12
- const connector = injected({
13
- target: {
14
- id: target,
15
- name: config.name ?? config.shortName ?? key,
16
- provider: (w) => w?.ethereum?.[`is${flag}`],
17
- },
18
- });
19
- const name = (config.name ?? config.shortName ?? key)
20
- .toLowerCase()
21
- // capitalize first letter
22
- .replace(/(?:^|\s)\S/g, (a) => a.toUpperCase())
23
- // remove spaces
24
- .replace(/\s/g, "")
25
- // lowercase first letter
26
- .replace(/(?:^|\s)\S/g, (a) => a.toLowerCase());
27
- acc[name] = connector;
28
- return acc;
29
- }, {});
30
-
31
- export { wallets };
32
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,90 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { usePayContext } from '../components/DaimoPay.js';
3
- import { useConnectors } from '../hooks/useConnectors.js';
4
- import { isCoinbaseWalletConnector, isInjectedConnector } from '../utils/index.js';
5
- import { walletConfigs } from './walletConfigs.js';
6
-
7
- const useWallet = (id) => {
8
- const wallets = useWallets();
9
- const wallet = wallets.find((c) => c.id === id);
10
- if (!wallet)
11
- return null;
12
- return wallet;
13
- };
14
- const useWallets = () => {
15
- const connectors = useConnectors();
16
- const context = usePayContext();
17
- const wallets = connectors.map((connector) => {
18
- // use overrides
19
- const walletId = Object.keys(walletConfigs).find(
20
- // where id is comma seperated list
21
- (id) => id
22
- .split(",")
23
- .map((i) => i.trim())
24
- .indexOf(connector.id) !== -1);
25
- const c = {
26
- id: connector.id,
27
- name: connector.name ?? connector.id ?? connector.type,
28
- icon: (jsx("img", { src: connector.icon, alt: connector.name, width: "100%", height: "100%" })),
29
- connector,
30
- iconShape: "squircle",
31
- isInstalled: connector.type === "mock" ||
32
- (connector.type === "injected" && connector.id !== "metaMask") ||
33
- connector.type === "farcasterFrame" ||
34
- isCoinbaseWalletConnector(connector.id), // always run coinbase wallet SDK
35
- };
36
- if (walletId) {
37
- const wallet = walletConfigs[walletId];
38
- return {
39
- ...c,
40
- iconConnector: connector.icon ? (jsx("img", { src: connector.icon, alt: connector.name, width: "100%", height: "100%" })) : undefined,
41
- ...wallet,
42
- };
43
- }
44
- return c;
45
- });
46
- return (wallets
47
- // remove duplicate ids
48
- .filter((wallet, index, self) => self.findIndex((w) => w.id === wallet.id) === index)
49
- // Replace walletConnect's name with the one from options
50
- .map((wallet) => {
51
- if (wallet.id === "walletConnect") {
52
- return {
53
- ...wallet,
54
- name: context.options?.walletConnectName || wallet.name,
55
- shortName: context.options?.walletConnectName || wallet.shortName,
56
- };
57
- }
58
- return wallet;
59
- })
60
- // remove wallet with id coinbaseWalletSDK if wallet with id 'com.coinbase.wallet' exists
61
- .filter((wallet, index, self) => !(wallet.id === "coinbaseWalletSDK" &&
62
- self.find((w) => w.id === "com.coinbase.wallet")))
63
- // remove wallet with id io.metamask if wallet with id 'metaMask' exists
64
- .filter((wallet, index, self) => !((wallet.id === "metaMaskSDK" || wallet.id === "metaMask") &&
65
- self.find((w) => w.id === "io.metamask" || w.id === "io.metamask.mobile")))
66
- // remove wallet with id 'com.warpcast.mobile' if wallet with id 'farcaster' exists
67
- .filter((wallet, index, self) => !(wallet.id === "com.warpcast.mobile" &&
68
- self.find((w) => w.id === "farcaster")))
69
- // order by isInstalled injected connectors first
70
- .sort((a, b) => {
71
- const AisInstalled = a.isInstalled && isInjectedConnector(a.connector.type);
72
- const BisInstalled = b.isInstalled && isInjectedConnector(b.connector.type);
73
- if (AisInstalled && !BisInstalled)
74
- return -1;
75
- if (!AisInstalled && BisInstalled)
76
- return 1;
77
- return 0;
78
- })
79
- // move walletConnect to the end
80
- .sort((a, b) => {
81
- if (a.id === "walletConnect")
82
- return 1;
83
- if (b.id === "walletConnect")
84
- return -1;
85
- return 0;
86
- }));
87
- };
88
-
89
- export { useWallet, useWallets };
90
- //# sourceMappingURL=useWallets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWallets.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}