@daimo/pay 1.16.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 (368) hide show
  1. package/build/hooks/useConnect.d.ts +8 -8
  2. package/build/index.d.ts +626 -15
  3. package/build/package.json.js +6 -4
  4. package/build/package.json.js.map +1 -1
  5. package/build/src/assets/MobileWithLogos.js +320 -1
  6. package/build/src/assets/MobileWithLogos.js.map +1 -1
  7. package/build/src/assets/ScanIconWithLogos.js +216 -10
  8. package/build/src/assets/ScanIconWithLogos.js.map +1 -1
  9. package/build/src/assets/browsers.js +963 -7
  10. package/build/src/assets/browsers.js.map +1 -1
  11. package/build/src/assets/chains.js +633 -103
  12. package/build/src/assets/chains.js.map +1 -1
  13. package/build/src/assets/coins.js +38 -1
  14. package/build/src/assets/coins.js.map +1 -1
  15. package/build/src/assets/crepe.js +35 -1
  16. package/build/src/assets/crepe.js.map +1 -1
  17. package/build/src/assets/icons.js +258 -15
  18. package/build/src/assets/icons.js.map +1 -1
  19. package/build/src/assets/logos.js +1510 -140
  20. package/build/src/assets/logos.js.map +1 -1
  21. package/build/src/assets/wallet.js +32 -1
  22. package/build/src/assets/wallet.js.map +1 -1
  23. package/build/src/assets/wave.js +41 -1
  24. package/build/src/assets/wave.js.map +1 -1
  25. package/build/src/components/Common/Alert/index.js +4 -1
  26. package/build/src/components/Common/Alert/index.js.map +1 -1
  27. package/build/src/components/Common/Alert/styles.js +4 -4
  28. package/build/src/components/Common/Alert/styles.js.map +1 -1
  29. package/build/src/components/Common/AmountInput/AmountInputField.js +29 -18
  30. package/build/src/components/Common/AmountInput/AmountInputField.js.map +1 -1
  31. package/build/src/components/Common/AmountInput/index.js +112 -99
  32. package/build/src/components/Common/AmountInput/index.js.map +1 -1
  33. package/build/src/components/Common/Avatar/index.js +63 -51
  34. package/build/src/components/Common/Avatar/index.js.map +1 -1
  35. package/build/src/components/Common/Avatar/styles.js +9 -14
  36. package/build/src/components/Common/Avatar/styles.js.map +1 -1
  37. package/build/src/components/Common/BrowserIcon/index.js +15 -14
  38. package/build/src/components/Common/BrowserIcon/index.js.map +1 -1
  39. package/build/src/components/Common/BrowserIcon/styles.js +1 -1
  40. package/build/src/components/Common/BrowserIcon/styles.js.map +1 -1
  41. package/build/src/components/Common/Button/index.js +131 -25
  42. package/build/src/components/Common/Button/index.js.map +1 -1
  43. package/build/src/components/Common/Button/styles.js +20 -24
  44. package/build/src/components/Common/Button/styles.js.map +1 -1
  45. package/build/src/components/Common/Chain/index.js +130 -14
  46. package/build/src/components/Common/Chain/index.js.map +1 -1
  47. package/build/src/components/Common/Chain/styles.js +9 -13
  48. package/build/src/components/Common/Chain/styles.js.map +1 -1
  49. package/build/src/components/Common/ChainSelectList/index.js +232 -89
  50. package/build/src/components/Common/ChainSelectList/index.js.map +1 -1
  51. package/build/src/components/Common/ChainSelectList/styles.js +11 -13
  52. package/build/src/components/Common/ChainSelectList/styles.js.map +1 -1
  53. package/build/src/components/Common/CircleTimer.js +85 -41
  54. package/build/src/components/Common/CircleTimer.js.map +1 -1
  55. package/build/src/components/Common/ConnectorList/index.js +106 -80
  56. package/build/src/components/Common/ConnectorList/index.js.map +1 -1
  57. package/build/src/components/Common/ConnectorList/styles.js +28 -36
  58. package/build/src/components/Common/ConnectorList/styles.js.map +1 -1
  59. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +16 -9
  60. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -1
  61. package/build/src/components/Common/CopyToClipboard/index.js +3 -5
  62. package/build/src/components/Common/CopyToClipboard/index.js.map +1 -1
  63. package/build/src/components/Common/CustomQRCode/QRCode.js +120 -57
  64. package/build/src/components/Common/CustomQRCode/QRCode.js.map +1 -1
  65. package/build/src/components/Common/CustomQRCode/index.js +60 -10
  66. package/build/src/components/Common/CustomQRCode/index.js.map +1 -1
  67. package/build/src/components/Common/CustomQRCode/styles.js +6 -6
  68. package/build/src/components/Common/CustomQRCode/styles.js.map +1 -1
  69. package/build/src/components/Common/FitText/index.js +24 -17
  70. package/build/src/components/Common/FitText/index.js.map +1 -1
  71. package/build/src/components/Common/Modal/index.js +481 -267
  72. package/build/src/components/Common/Modal/index.js.map +1 -1
  73. package/build/src/components/Common/Modal/styles.js +44 -48
  74. package/build/src/components/Common/Modal/styles.js.map +1 -1
  75. package/build/src/components/Common/OptionsList/index.js +75 -33
  76. package/build/src/components/Common/OptionsList/index.js.map +1 -1
  77. package/build/src/components/Common/OptionsList/styles.js +7 -8
  78. package/build/src/components/Common/OptionsList/styles.js.map +1 -1
  79. package/build/src/components/Common/OrderHeader/index.js +109 -65
  80. package/build/src/components/Common/OrderHeader/index.js.map +1 -1
  81. package/build/src/components/Common/PaymentBreakdown/index.js +29 -7
  82. package/build/src/components/Common/PaymentBreakdown/index.js.map +1 -1
  83. package/build/src/components/Common/Portal/index.js +21 -22
  84. package/build/src/components/Common/Portal/index.js.map +1 -1
  85. package/build/src/components/Common/PoweredByFooter/index.js +39 -21
  86. package/build/src/components/Common/PoweredByFooter/index.js.map +1 -1
  87. package/build/src/components/Common/ScrollArea/index.js +107 -52
  88. package/build/src/components/Common/ScrollArea/index.js.map +1 -1
  89. package/build/src/components/Common/ScrollArea/styles.js +7 -11
  90. package/build/src/components/Common/ScrollArea/styles.js.map +1 -1
  91. package/build/src/components/Common/SelectAnotherMethodButton/index.js +67 -55
  92. package/build/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -1
  93. package/build/src/components/Common/Spinner/index.js +56 -16
  94. package/build/src/components/Common/Spinner/index.js.map +1 -1
  95. package/build/src/components/Common/Spinner/styles.js +2 -2
  96. package/build/src/components/Common/Spinner/styles.js.map +1 -1
  97. package/build/src/components/Common/SwitchButton/index.js +18 -15
  98. package/build/src/components/Common/SwitchButton/index.js.map +1 -1
  99. package/build/src/components/Common/ThemedButton/index.js +37 -16
  100. package/build/src/components/Common/ThemedButton/index.js.map +1 -1
  101. package/build/src/components/Common/ThemedButton/styles.js +2 -2
  102. package/build/src/components/Common/ThemedButton/styles.js.map +1 -1
  103. package/build/src/components/Common/TokenChainLogo/index.js +14 -8
  104. package/build/src/components/Common/TokenChainLogo/index.js.map +1 -1
  105. package/build/src/components/Common/Tooltip/index.js +115 -83
  106. package/build/src/components/Common/Tooltip/index.js.map +1 -1
  107. package/build/src/components/Common/Tooltip/styles.js +8 -8
  108. package/build/src/components/Common/Tooltip/styles.js.map +1 -1
  109. package/build/src/components/Common/WalletChainLogo/index.js +13 -6
  110. package/build/src/components/Common/WalletChainLogo/index.js.map +1 -1
  111. package/build/src/components/DaimoPayButton/index.js +170 -180
  112. package/build/src/components/DaimoPayButton/index.js.map +1 -1
  113. package/build/src/components/DaimoPayButton/styles.js +4 -4
  114. package/build/src/components/DaimoPayButton/styles.js.map +1 -1
  115. package/build/src/components/DaimoPayModal/ConnectUsing.js +50 -24
  116. package/build/src/components/DaimoPayModal/ConnectUsing.js.map +1 -1
  117. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +303 -163
  118. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -1
  119. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js +10 -12
  120. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -1
  121. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +69 -39
  122. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
  123. package/build/src/components/DaimoPayModal/index.js +409 -416
  124. package/build/src/components/DaimoPayModal/index.js.map +1 -1
  125. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +15 -11
  126. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -1
  127. package/build/src/components/Pages/About/graphics.js +796 -130
  128. package/build/src/components/Pages/About/graphics.js.map +1 -1
  129. package/build/src/components/Pages/About/index.js +203 -110
  130. package/build/src/components/Pages/About/index.js.map +1 -1
  131. package/build/src/components/Pages/About/styles.js +11 -15
  132. package/build/src/components/Pages/About/styles.js.map +1 -1
  133. package/build/src/components/Pages/Confirmation/index.js +71 -48
  134. package/build/src/components/Pages/Confirmation/index.js.map +1 -1
  135. package/build/src/components/Pages/Connectors/index.js +50 -16
  136. package/build/src/components/Pages/Connectors/index.js.map +1 -1
  137. package/build/src/components/Pages/Connectors/styles.js +10 -10
  138. package/build/src/components/Pages/Connectors/styles.js.map +1 -1
  139. package/build/src/components/Pages/DownloadApp/index.js +23 -18
  140. package/build/src/components/Pages/DownloadApp/index.js.map +1 -1
  141. package/build/src/components/Pages/Error/index.js +27 -15
  142. package/build/src/components/Pages/Error/index.js.map +1 -1
  143. package/build/src/components/Pages/MobileConnectors/index.js +50 -44
  144. package/build/src/components/Pages/MobileConnectors/index.js.map +1 -1
  145. package/build/src/components/Pages/MobileConnectors/styles.js +9 -11
  146. package/build/src/components/Pages/MobileConnectors/styles.js.map +1 -1
  147. package/build/src/components/Pages/Onboarding/index.js +20 -4
  148. package/build/src/components/Pages/Onboarding/index.js.map +1 -1
  149. package/build/src/components/Pages/Onboarding/styles.js +13 -13
  150. package/build/src/components/Pages/Onboarding/styles.js.map +1 -1
  151. package/build/src/components/Pages/PayWithToken/index.js +133 -122
  152. package/build/src/components/Pages/PayWithToken/index.js.map +1 -1
  153. package/build/src/components/Pages/SelectAmount/index.js +12 -5
  154. package/build/src/components/Pages/SelectAmount/index.js.map +1 -1
  155. package/build/src/components/Pages/SelectDepositAddressAmount/index.js +56 -38
  156. package/build/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -1
  157. package/build/src/components/Pages/SelectDepositAddressChain/index.js +57 -40
  158. package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -1
  159. package/build/src/components/Pages/SelectExchange/index.js +29 -24
  160. package/build/src/components/Pages/SelectExchange/index.js.map +1 -1
  161. package/build/src/components/Pages/SelectExternalAmount/index.js +57 -41
  162. package/build/src/components/Pages/SelectExternalAmount/index.js.map +1 -1
  163. package/build/src/components/Pages/SelectMethod/index.js +201 -183
  164. package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
  165. package/build/src/components/Pages/SelectToken/index.js +72 -46
  166. package/build/src/components/Pages/SelectToken/index.js.map +1 -1
  167. package/build/src/components/Pages/SelectWalletAmount/index.js +40 -32
  168. package/build/src/components/Pages/SelectWalletAmount/index.js.map +1 -1
  169. package/build/src/components/Pages/SelectWalletChain/index.js +40 -36
  170. package/build/src/components/Pages/SelectWalletChain/index.js.map +1 -1
  171. package/build/src/components/Pages/SelectZKP/index.js +29 -24
  172. package/build/src/components/Pages/SelectZKP/index.js.map +1 -1
  173. package/build/src/components/Pages/Solana/ConnectorSolana/index.js +60 -45
  174. package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -1
  175. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +73 -61
  176. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -1
  177. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js +12 -5
  178. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -1
  179. package/build/src/components/Pages/SwitchNetworks/index.js +29 -10
  180. package/build/src/components/Pages/SwitchNetworks/index.js.map +1 -1
  181. package/build/src/components/Pages/WaitingDepositAddress/index.js +332 -184
  182. package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -1
  183. package/build/src/components/Pages/WaitingExternal/index.js +69 -46
  184. package/build/src/components/Pages/WaitingExternal/index.js.map +1 -1
  185. package/build/src/components/Pages/WaitingWallet/index.js +37 -16
  186. package/build/src/components/Pages/WaitingWallet/index.js.map +1 -1
  187. package/build/src/components/Spinners/CircleSpinner/index.js +96 -7
  188. package/build/src/components/Spinners/CircleSpinner/index.js.map +1 -1
  189. package/build/src/components/Spinners/CircleSpinner/styles.js +6 -7
  190. package/build/src/components/Spinners/CircleSpinner/styles.js.map +1 -1
  191. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js +18 -9
  192. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -1
  193. package/build/src/components/Spinners/SquircleSpinner/index.js +60 -7
  194. package/build/src/components/Spinners/SquircleSpinner/index.js.map +1 -1
  195. package/build/src/components/Spinners/SquircleSpinner/styles.js +4 -4
  196. package/build/src/components/Spinners/SquircleSpinner/styles.js.map +1 -1
  197. package/build/src/components/Spinners/TokenLogoSpinner/index.js +12 -1
  198. package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -1
  199. package/build/src/components/Spinners/TokenLogoSpinner/styles.js +1 -1
  200. package/build/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -1
  201. package/build/src/components/Spinners/WalletPaymentSpinner/index.js +27 -20
  202. package/build/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -1
  203. package/build/src/components/Spinners/styles.js +3 -4
  204. package/build/src/components/Spinners/styles.js.map +1 -1
  205. package/build/src/constants/defaultTheme.js +1 -1
  206. package/build/src/constants/defaultTheme.js.map +1 -1
  207. package/build/src/constants/routes.js +29 -30
  208. package/build/src/constants/routes.js.map +1 -1
  209. package/build/src/defaultConfig.js +49 -46
  210. package/build/src/defaultConfig.js.map +1 -1
  211. package/build/src/defaultConnectors.js +32 -19
  212. package/build/src/defaultConnectors.js.map +1 -1
  213. package/build/src/hooks/useChainIsSupported.js +3 -5
  214. package/build/src/hooks/useChainIsSupported.js.map +1 -1
  215. package/build/src/hooks/useChains.js +3 -4
  216. package/build/src/hooks/useChains.js.map +1 -1
  217. package/build/src/hooks/useConnect.js +51 -39
  218. package/build/src/hooks/useConnect.js.map +1 -1
  219. package/build/src/hooks/useConnectCallback.js +15 -12
  220. package/build/src/hooks/useConnectCallback.js.map +1 -1
  221. package/build/src/hooks/useConnectors.js +2 -2
  222. package/build/src/hooks/useConnectors.js.map +1 -1
  223. package/build/src/hooks/useDaimoPay.js +98 -82
  224. package/build/src/hooks/useDaimoPay.js.map +1 -1
  225. package/build/src/hooks/useDaimoPayStatus.js +4 -15
  226. package/build/src/hooks/useDaimoPayStatus.js.map +1 -1
  227. package/build/src/hooks/useDaimoPayUI.js +7 -7
  228. package/build/src/hooks/useDaimoPayUI.js.map +1 -1
  229. package/build/src/hooks/useDepositAddressOptions.js +29 -25
  230. package/build/src/hooks/useDepositAddressOptions.js.map +1 -1
  231. package/build/src/hooks/useEnsFallbackConfig.js +5 -5
  232. package/build/src/hooks/useEnsFallbackConfig.js.map +1 -1
  233. package/build/src/hooks/useExternalPaymentOptions.js +57 -52
  234. package/build/src/hooks/useExternalPaymentOptions.js.map +1 -1
  235. package/build/src/hooks/useFitText.js +120 -135
  236. package/build/src/hooks/useFitText.js.map +1 -1
  237. package/build/src/hooks/useFocusTrap.js +33 -37
  238. package/build/src/hooks/useFocusTrap.js.map +1 -1
  239. package/build/src/hooks/useIsMobile.js +3 -3
  240. package/build/src/hooks/useIsMobile.js.map +1 -1
  241. package/build/src/hooks/useIsMounted.js +3 -5
  242. package/build/src/hooks/useIsMounted.js.map +1 -1
  243. package/build/src/hooks/useLastConnector.js +15 -15
  244. package/build/src/hooks/useLastConnector.js.map +1 -1
  245. package/build/src/hooks/useLocales.js +44 -42
  246. package/build/src/hooks/useLocales.js.map +1 -1
  247. package/build/src/hooks/useLockBodyScroll.js +38 -44
  248. package/build/src/hooks/useLockBodyScroll.js.map +1 -1
  249. package/build/src/hooks/useOrderUsdLimits.js +17 -19
  250. package/build/src/hooks/useOrderUsdLimits.js.map +1 -1
  251. package/build/src/hooks/usePayContext.js +3 -5
  252. package/build/src/hooks/usePayContext.js.map +1 -1
  253. package/build/src/hooks/usePaymentState.js +351 -324
  254. package/build/src/hooks/usePaymentState.js.map +1 -1
  255. package/build/src/hooks/usePrevious.js +6 -7
  256. package/build/src/hooks/usePrevious.js.map +1 -1
  257. package/build/src/hooks/useSolanaPaymentOptions.js +33 -33
  258. package/build/src/hooks/useSolanaPaymentOptions.js.map +1 -1
  259. package/build/src/hooks/useTokenOptions.js +129 -112
  260. package/build/src/hooks/useTokenOptions.js.map +1 -1
  261. package/build/src/hooks/useUntronAvailability.js +26 -34
  262. package/build/src/hooks/useUntronAvailability.js.map +1 -1
  263. package/build/src/hooks/useWalletPaymentOptions.js +83 -78
  264. package/build/src/hooks/useWalletPaymentOptions.js.map +1 -1
  265. package/build/src/hooks/useWindowSize.js +16 -16
  266. package/build/src/hooks/useWindowSize.js.map +1 -1
  267. package/build/src/localizations/index.js +28 -31
  268. package/build/src/localizations/index.js.map +1 -1
  269. package/build/src/localizations/locales/ar-AE.js +88 -88
  270. package/build/src/localizations/locales/ar-AE.js.map +1 -1
  271. package/build/src/localizations/locales/ca-AD.js +88 -88
  272. package/build/src/localizations/locales/ca-AD.js.map +1 -1
  273. package/build/src/localizations/locales/ee-EE.js +96 -88
  274. package/build/src/localizations/locales/ee-EE.js.map +1 -1
  275. package/build/src/localizations/locales/en-US.js +134 -126
  276. package/build/src/localizations/locales/en-US.js.map +1 -1
  277. package/build/src/localizations/locales/es-ES.js +126 -126
  278. package/build/src/localizations/locales/es-ES.js.map +1 -1
  279. package/build/src/localizations/locales/fa-IR.js +88 -88
  280. package/build/src/localizations/locales/fa-IR.js.map +1 -1
  281. package/build/src/localizations/locales/fr-FR.js +88 -88
  282. package/build/src/localizations/locales/fr-FR.js.map +1 -1
  283. package/build/src/localizations/locales/ja-JP.js +88 -88
  284. package/build/src/localizations/locales/ja-JP.js.map +1 -1
  285. package/build/src/localizations/locales/pt-BR.js +96 -88
  286. package/build/src/localizations/locales/pt-BR.js.map +1 -1
  287. package/build/src/localizations/locales/ru-RU.js +92 -88
  288. package/build/src/localizations/locales/ru-RU.js.map +1 -1
  289. package/build/src/localizations/locales/tr-TR.js +96 -88
  290. package/build/src/localizations/locales/tr-TR.js.map +1 -1
  291. package/build/src/localizations/locales/vi-VN.js +96 -88
  292. package/build/src/localizations/locales/vi-VN.js.map +1 -1
  293. package/build/src/localizations/locales/zh-CN.js +88 -88
  294. package/build/src/localizations/locales/zh-CN.js.map +1 -1
  295. package/build/src/payment/paymentEffects.js +237 -265
  296. package/build/src/payment/paymentEffects.js.map +1 -1
  297. package/build/src/payment/paymentFsm.js +165 -186
  298. package/build/src/payment/paymentFsm.js.map +1 -1
  299. package/build/src/payment/paymentStore.js +8 -10
  300. package/build/src/payment/paymentStore.js.map +1 -1
  301. package/build/src/payment/paymentUtils.js +5 -9
  302. package/build/src/payment/paymentUtils.js.map +1 -1
  303. package/build/src/provider/DaimoPayProvider.js +258 -249
  304. package/build/src/provider/DaimoPayProvider.js.map +1 -1
  305. package/build/src/provider/PayContext.js +0 -1
  306. package/build/src/provider/PayContext.js.map +1 -1
  307. package/build/src/provider/PaymentProvider.js +18 -17
  308. package/build/src/provider/PaymentProvider.js.map +1 -1
  309. package/build/src/provider/SolanaContextProvider.js +6 -3
  310. package/build/src/provider/SolanaContextProvider.js.map +1 -1
  311. package/build/src/provider/Web3ContextProvider.js +23 -23
  312. package/build/src/provider/Web3ContextProvider.js.map +1 -1
  313. package/build/src/stateStore.js +28 -74
  314. package/build/src/stateStore.js.map +1 -1
  315. package/build/src/styles/defaultTheme.js +64 -73
  316. package/build/src/styles/defaultTheme.js.map +1 -1
  317. package/build/src/styles/index.js +202 -217
  318. package/build/src/styles/index.js.map +1 -1
  319. package/build/src/styles/styled/index.js +0 -10
  320. package/build/src/styles/styled/index.js.map +1 -1
  321. package/build/src/styles/themes/base.js +136 -136
  322. package/build/src/styles/themes/base.js.map +1 -1
  323. package/build/src/styles/themes/index.js.map +1 -1
  324. package/build/src/styles/themes/midnight.js +71 -71
  325. package/build/src/styles/themes/midnight.js.map +1 -1
  326. package/build/src/styles/themes/minimal.js +75 -75
  327. package/build/src/styles/themes/minimal.js.map +1 -1
  328. package/build/src/styles/themes/nouns.js +76 -76
  329. package/build/src/styles/themes/nouns.js.map +1 -1
  330. package/build/src/styles/themes/retro.js +88 -88
  331. package/build/src/styles/themes/retro.js.map +1 -1
  332. package/build/src/styles/themes/rounded.js +84 -84
  333. package/build/src/styles/themes/rounded.js.map +1 -1
  334. package/build/src/styles/themes/soft.js +66 -66
  335. package/build/src/styles/themes/soft.js.map +1 -1
  336. package/build/src/styles/themes/web95.js +95 -95
  337. package/build/src/styles/themes/web95.js.map +1 -1
  338. package/build/src/utils/exports.js +0 -1
  339. package/build/src/utils/exports.js.map +1 -1
  340. package/build/src/utils/format.js +25 -63
  341. package/build/src/utils/format.js.map +1 -1
  342. package/build/src/utils/index.js +23 -20
  343. package/build/src/utils/index.js.map +1 -1
  344. package/build/src/utils/p3.js +8 -9
  345. package/build/src/utils/p3.js.map +1 -1
  346. package/build/src/utils/platform.js +6 -8
  347. package/build/src/utils/platform.js.map +1 -1
  348. package/build/src/utils/polling.js +31 -31
  349. package/build/src/utils/polling.js.map +1 -1
  350. package/build/src/utils/supportUrl.js +9 -9
  351. package/build/src/utils/supportUrl.js.map +1 -1
  352. package/build/src/utils/trpc.js +11 -11
  353. package/build/src/utils/trpc.js.map +1 -1
  354. package/build/src/utils/validateInput.js +9 -29
  355. package/build/src/utils/validateInput.js.map +1 -1
  356. package/build/src/wallets/index.js +13 -22
  357. package/build/src/wallets/index.js.map +1 -1
  358. package/build/src/wallets/useWallets.js +183 -181
  359. package/build/src/wallets/useWallets.js.map +1 -1
  360. package/build/src/wallets/walletConfigs.js +230 -235
  361. package/build/src/wallets/walletConfigs.js.map +1 -1
  362. package/build/src/world-mini-app/WorldPayButton.js +113 -118
  363. package/build/src/world-mini-app/WorldPayButton.js.map +1 -1
  364. package/build/src/world-mini-app/promptWorldPayment.js +49 -47
  365. package/build/src/world-mini-app/promptWorldPayment.js.map +1 -1
  366. package/build/types-7ed033b6.d.ts +66 -0
  367. package/build/world.d.ts +89 -1
  368. package/package.json +6 -4
@@ -2,38 +2,41 @@ import { detect } from 'detect-browser';
2
2
  import React from 'react';
3
3
 
4
4
  const detectBrowser = () => {
5
- const browser = detect();
6
- return browser?.name ?? "";
5
+ const browser = detect();
6
+ return browser?.name ?? "";
7
7
  };
8
8
  const detectOS = () => {
9
- const browser = detect();
10
- return browser?.os ?? "";
9
+ const browser = detect();
10
+ return browser?.os ?? "";
11
11
  };
12
12
  const isIOS = () => {
13
- const os = detectOS();
14
- return os.toLowerCase().includes("ios");
13
+ const os = detectOS();
14
+ return os.toLowerCase().includes("ios");
15
15
  };
16
16
  const isAndroid = () => {
17
- const os = detectOS();
18
- return os.toLowerCase().includes("android");
17
+ const os = detectOS();
18
+ return os.toLowerCase().includes("android");
19
19
  };
20
20
  const isMobile = () => {
21
- const os = detectOS().toLowerCase();
22
- return os.includes("android") || os.includes("ios");
21
+ const os = detectOS().toLowerCase();
22
+ return os.includes("android") || os.includes("ios");
23
23
  };
24
24
  function flattenChildren(children) {
25
- const childrenArray = React.Children.toArray(children);
26
- return childrenArray.reduce((flatChildren, child) => {
27
- if (child.type === React.Fragment) {
28
- return flatChildren.concat(flattenChildren(child.props.children));
29
- }
30
- flatChildren.push(child);
31
- return flatChildren;
32
- }, []);
25
+ const childrenArray = React.Children.toArray(children);
26
+ return childrenArray.reduce((flatChildren, child) => {
27
+ if (child.type === React.Fragment) {
28
+ return flatChildren.concat(
29
+ flattenChildren(child.props.children)
30
+ );
31
+ }
32
+ flatChildren.push(child);
33
+ return flatChildren;
34
+ }, []);
33
35
  }
34
- const isCoinbaseWalletConnector = (connectorId) => connectorId === "coinbaseWalletSDK";
36
+ const isBaseAccountConnector = (connectorId) => connectorId === "baseAccount";
37
+ const isGeminiConnector = (connectorId) => connectorId === "gemini";
35
38
  const isSafeConnector = (connectorId) => connectorId === "safe";
36
39
  const isInjectedConnector = (connectorId) => connectorId === "injected";
37
40
 
38
- export { detectBrowser, detectOS, flattenChildren, isAndroid, isCoinbaseWalletConnector, isIOS, isInjectedConnector, isMobile, isSafeConnector };
41
+ export { detectBrowser, detectOS, flattenChildren, isAndroid, isBaseAccountConnector, isGeminiConnector, isIOS, isInjectedConnector, isMobile, isSafeConnector };
39
42
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AA4CO,MAAM,aAAa,GAAG,MAAK;AAChC,IAAA,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AACzB,IAAA,OAAO,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;AAC7B,EAAE;AACK,MAAM,QAAQ,GAAG,MAAK;AAC3B,IAAA,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AACzB,IAAA,OAAO,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B,EAAE;AAEK,MAAM,KAAK,GAAG,MAAK;AACxB,IAAA,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1C,EAAE;AACK,MAAM,SAAS,GAAG,MAAK;AAC5B,IAAA,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC9C,EAAE;AACK,MAAM,QAAQ,GAAG,MAAK;AAC3B,IAAA,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;AACpC,IAAA,OAAO,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtD,EAAE;AAGF,SAAS,eAAe,CAAC,QAAyB,EAAA;IAChD,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,YAA6B,EAAE,KAAK,KAAI;QACnE,IAAK,KAAiC,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE;AAC9D,YAAA,OAAO,YAAY,CAAC,MAAM,CACxB,eAAe,CAAE,KAAiC,CAAC,KAAK,CAAC,QAAQ,CAAC,CACnE,CAAC;SACH;AACD,QAAA,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,OAAO,YAAY,CAAC;KACrB,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAKM,MAAM,yBAAyB,GAAG,CAAC,WAAoB,KAC5D,WAAW,KAAK,oBAAoB;AAK/B,MAAM,eAAe,GAAG,CAAC,WAAoB,KAAK,WAAW,KAAK,OAAO;AAEzE,MAAM,mBAAmB,GAAG,CAAC,WAAoB,KACtD,WAAW,KAAK;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":["import { detect } from \"detect-browser\";\nimport React from \"react\";\n\nconst truncateRegex = /^(0x[a-zA-Z0-9]{4})[a-zA-Z0-9]+([a-zA-Z0-9]{4})$/;\n\nconst truncateEthAddress = (address?: string, separator: string = \"••••\") => {\n if (!address) return \"\";\n const match = address.match(truncateRegex);\n if (!match) return address;\n return `${match[1]}${separator}${match[2]}`;\n};\n\nconst truncateENSAddress = (ensName: string, maxLength: number) => {\n if (ensName.length > maxLength) {\n return ensName.replace(\".eth\", \"\").slice(0, maxLength) + \"...\";\n } else {\n return ensName;\n }\n};\n\nconst nFormatter = (num: number, digits: number = 2) => {\n if (num < 10000) return num.toFixed(2);\n const lookup = [\n { value: 1, symbol: \"\" },\n { value: 1e3, symbol: \"k\" },\n { value: 1e6, symbol: \"m\" },\n { value: 1e9, symbol: \"g\" },\n { value: 1e12, symbol: \"t\" },\n { value: 1e15, symbol: \"p\" },\n { value: 1e18, symbol: \"e\" },\n ];\n\n const rx = /\\.0+$|(\\.[0-9]*[1-9])0+$/;\n var item = lookup\n .slice()\n .reverse()\n .find(function (item) {\n return num >= item.value;\n });\n return item\n ? (num / item.value).toFixed(digits).replace(rx, \"$1\") + item.symbol\n : \"0\";\n};\n\nexport const detectBrowser = () => {\n const browser = detect();\n return browser?.name ?? \"\";\n};\nexport const detectOS = () => {\n const browser = detect();\n return browser?.os ?? \"\";\n};\n\nexport const isIOS = () => {\n const os = detectOS();\n return os.toLowerCase().includes(\"ios\");\n};\nexport const isAndroid = () => {\n const os = detectOS();\n return os.toLowerCase().includes(\"android\");\n};\nexport const isMobile = () => {\n const os = detectOS().toLowerCase();\n return os.includes(\"android\") || os.includes(\"ios\");\n};\n\ntype ReactChildArray = ReturnType<typeof React.Children.toArray>;\nfunction flattenChildren(children: React.ReactNode): ReactChildArray {\n const childrenArray = React.Children.toArray(children);\n return childrenArray.reduce((flatChildren: ReactChildArray, child) => {\n if ((child as React.ReactElement<any>).type === React.Fragment) {\n return flatChildren.concat(\n flattenChildren((child as React.ReactElement<any>).props.children),\n );\n }\n flatChildren.push(child);\n return flatChildren;\n }, []);\n}\n\nexport const isMetaMaskConnector = (connectorId?: string) =>\n connectorId === \"metaMaskSDK\";\n\nexport const isBaseAccountConnector = (connectorId?: string) =>\n connectorId === \"baseAccount\";\n\nexport const isGeminiConnector = (connectorId?: string) =>\n connectorId === \"gemini\";\n\nexport const isLedgerConnector = (connectorId?: string) =>\n connectorId === \"ledger\";\n\nexport const isSafeConnector = (connectorId?: string) => connectorId === \"safe\";\n\nexport const isInjectedConnector = (connectorId?: string) =>\n connectorId === \"injected\";\n\nexport { flattenChildren, nFormatter, truncateENSAddress, truncateEthAddress };\n"],"names":[],"mappings":";;;AA4CO,MAAM,gBAAgB,MAAM;AACjC,EAAA,MAAM,UAAU,MAAO,EAAA,CAAA;AACvB,EAAA,OAAO,SAAS,IAAQ,IAAA,EAAA,CAAA;AAC1B,EAAA;AACO,MAAM,WAAW,MAAM;AAC5B,EAAA,MAAM,UAAU,MAAO,EAAA,CAAA;AACvB,EAAA,OAAO,SAAS,EAAM,IAAA,EAAA,CAAA;AACxB,EAAA;AAEO,MAAM,QAAQ,MAAM;AACzB,EAAA,MAAM,KAAK,QAAS,EAAA,CAAA;AACpB,EAAA,OAAO,EAAG,CAAA,WAAA,EAAc,CAAA,QAAA,CAAS,KAAK,CAAA,CAAA;AACxC,EAAA;AACO,MAAM,YAAY,MAAM;AAC7B,EAAA,MAAM,KAAK,QAAS,EAAA,CAAA;AACpB,EAAA,OAAO,EAAG,CAAA,WAAA,EAAc,CAAA,QAAA,CAAS,SAAS,CAAA,CAAA;AAC5C,EAAA;AACO,MAAM,WAAW,MAAM;AAC5B,EAAM,MAAA,EAAA,GAAK,QAAS,EAAA,CAAE,WAAY,EAAA,CAAA;AAClC,EAAA,OAAO,GAAG,QAAS,CAAA,SAAS,CAAK,IAAA,EAAA,CAAG,SAAS,KAAK,CAAA,CAAA;AACpD,EAAA;AAGA,SAAS,gBAAgB,QAA4C,EAAA;AACnE,EAAA,MAAM,aAAgB,GAAA,KAAA,CAAM,QAAS,CAAA,OAAA,CAAQ,QAAQ,CAAA,CAAA;AACrD,EAAA,OAAO,aAAc,CAAA,MAAA,CAAO,CAAC,YAAA,EAA+B,KAAU,KAAA;AACpE,IAAK,IAAA,KAAA,CAAkC,IAAS,KAAA,KAAA,CAAM,QAAU,EAAA;AAC9D,MAAA,OAAO,YAAa,CAAA,MAAA;AAAA,QAClB,eAAA,CAAiB,KAAkC,CAAA,KAAA,CAAM,QAAQ,CAAA;AAAA,OACnE,CAAA;AAAA,KACF;AACA,IAAA,YAAA,CAAa,KAAK,KAAK,CAAA,CAAA;AACvB,IAAO,OAAA,YAAA,CAAA;AAAA,GACT,EAAG,EAAE,CAAA,CAAA;AACP,CAAA;AAKa,MAAA,sBAAA,GAAyB,CAAC,WAAA,KACrC,WAAgB,KAAA,cAAA;AAEL,MAAA,iBAAA,GAAoB,CAAC,WAAA,KAChC,WAAgB,KAAA,SAAA;AAKL,MAAA,eAAA,GAAkB,CAAC,WAAA,KAAyB,WAAgB,KAAA,OAAA;AAE5D,MAAA,mBAAA,GAAsB,CAAC,WAAA,KAClC,WAAgB,KAAA;;;;"}
@@ -1,15 +1,14 @@
1
1
  import 'styled-components';
2
2
 
3
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})`;
4
+ const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
5
+ if (result == null) return hex;
6
+ const values = {
7
+ r: parseInt(result[1], 16),
8
+ g: parseInt(result[2], 16),
9
+ b: parseInt(result[3], 16)
10
+ };
11
+ return `color(display-p3 ${values.r / 255} ${values.g / 255} ${values.b / 255})`;
13
12
  };
14
13
 
15
14
  export { hexToP3 };
@@ -1 +1 @@
1
- {"version":3,"file":"p3.js","sources":["../../../src/utils/p3.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEa,MAAA,OAAO,GAAG,CAAC,GAAW,KAAI;IACrC,MAAM,MAAM,GAAG,2CAA2C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,IAAI,MAAM,IAAI,IAAI;AAAE,QAAA,OAAO,GAAG,CAAC;AAC/B,IAAA,MAAM,MAAM,GAAG;QACb,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1B,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1B,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;KAC3B,CAAC;AACF,IAAA,OAAO,oBAAoB,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,GAAG,GAAG,IACzD,MAAM,CAAC,CAAC,GAAG,GACb,GAAG,CAAC;AACN;;;;"}
1
+ {"version":3,"file":"p3.js","sources":["../../../src/utils/p3.ts"],"sourcesContent":["import { css } from \"styled-components\";\n\nexport const hexToP3 = (hex: string) => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n if (result == null) return hex;\n const values = {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n };\n return `color(display-p3 ${values.r / 255} ${values.g / 255} ${\n values.b / 255\n })`;\n};\n\nexport const p3Hex = (hex: string, property: string) => {\n const isSafari = true;\n const p3 = hexToP3(hex);\n if (!p3 || !isSafari) {\n return css`\n ${property}: ${hex};\n `;\n } else {\n return css`\n ${property}: ${hex};\n ${property}: ${p3};\n `;\n }\n};\n"],"names":[],"mappings":";;AAEa,MAAA,OAAA,GAAU,CAAC,GAAgB,KAAA;AACtC,EAAM,MAAA,MAAA,GAAS,2CAA4C,CAAA,IAAA,CAAK,GAAG,CAAA,CAAA;AACnE,EAAI,IAAA,MAAA,IAAU,MAAa,OAAA,GAAA,CAAA;AAC3B,EAAA,MAAM,MAAS,GAAA;AAAA,IACb,CAAG,EAAA,QAAA,CAAS,MAAO,CAAA,CAAC,GAAG,EAAE,CAAA;AAAA,IACzB,CAAG,EAAA,QAAA,CAAS,MAAO,CAAA,CAAC,GAAG,EAAE,CAAA;AAAA,IACzB,CAAG,EAAA,QAAA,CAAS,MAAO,CAAA,CAAC,GAAG,EAAE,CAAA;AAAA,GAC3B,CAAA;AACA,EAAO,OAAA,CAAA,iBAAA,EAAoB,MAAO,CAAA,CAAA,GAAI,GAAG,CAAA,CAAA,EAAI,MAAO,CAAA,CAAA,GAAI,GAAG,CAAA,CAAA,EACzD,MAAO,CAAA,CAAA,GAAI,GACb,CAAA,CAAA,CAAA,CAAA;AACF;;;;"}
@@ -1,12 +1,10 @@
1
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";
2
+ if (/android/i.test(ua)) {
3
+ return "android";
4
+ } else if (/iPhone|iPod|iPad/.test(ua)) {
5
+ return "ios";
6
+ }
7
+ return "other";
10
8
  }
11
9
 
12
10
  export { detectPlatform };
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sources":["../../../src/utils/platform.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEM,SAAU,cAAc,CAAC,EAAU,EAAA;;AAEvC,IAAA,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;AACvB,QAAA,OAAO,SAAS,CAAC;KAClB;AAAM,SAAA,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;AACtC,QAAA,OAAO,KAAK,CAAC;KACd;AACD,IAAA,OAAO,OAAO,CAAC;AACjB;;;;"}
1
+ {"version":3,"file":"platform.js","sources":["../../../src/utils/platform.ts"],"sourcesContent":["import { PlatformType } from \"@daimo/pay-common\";\n\nexport function detectPlatform(ua: string): PlatformType {\n // From https://dev.to/konyu/using-javascript-to-determine-whether-the-client-is-ios-or-android-4i1j\n if (/android/i.test(ua)) {\n return \"android\";\n } else if (/iPhone|iPod|iPad/.test(ua)) {\n return \"ios\";\n }\n return \"other\";\n}\n"],"names":[],"mappings":"AAEO,SAAS,eAAe,EAA0B,EAAA;AAEvD,EAAI,IAAA,UAAA,CAAW,IAAK,CAAA,EAAE,CAAG,EAAA;AACvB,IAAO,OAAA,SAAA,CAAA;AAAA,GACE,MAAA,IAAA,kBAAA,CAAmB,IAAK,CAAA,EAAE,CAAG,EAAA;AACtC,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AACA,EAAO,OAAA,OAAA,CAAA;AACT;;;;"}
@@ -1,34 +1,34 @@
1
- /**
2
- * Will poll the given function at the specified interval. Stops when the
3
- * returned handle is invoked.
4
- */
5
- function startPolling({ key, intervalMs, pollFn, onResult, onError, log = console.log, }) {
6
- let active = true;
7
- let timer;
8
- const stop = () => {
9
- active = false;
10
- clearTimeout(timer);
11
- log(`[POLL] ${key} stopped`);
12
- };
13
- const tick = async () => {
14
- log(`[POLL] polling ${key}`);
15
- try {
16
- const res = await pollFn();
17
- if (!active)
18
- return;
19
- log(`[POLL] ${key} success`);
20
- onResult(res);
21
- }
22
- catch (e) {
23
- if (!active)
24
- return;
25
- log(`[POLL] ${key} error: ${e}`);
26
- onError(e);
27
- }
28
- timer = setTimeout(tick, intervalMs);
29
- };
30
- tick();
31
- return stop;
1
+ function startPolling({
2
+ key,
3
+ intervalMs,
4
+ pollFn,
5
+ onResult,
6
+ onError,
7
+ log = console.log
8
+ }) {
9
+ let active = true;
10
+ let timer;
11
+ const stop = () => {
12
+ active = false;
13
+ clearTimeout(timer);
14
+ log(`[POLL] ${key} stopped`);
15
+ };
16
+ const tick = async () => {
17
+ log(`[POLL] polling ${key}`);
18
+ try {
19
+ const res = await pollFn();
20
+ if (!active) return;
21
+ log(`[POLL] ${key} success`);
22
+ onResult(res);
23
+ } catch (e) {
24
+ if (!active) return;
25
+ log(`[POLL] ${key} error: ${e}`);
26
+ onError(e);
27
+ }
28
+ timer = setTimeout(tick, intervalMs);
29
+ };
30
+ tick();
31
+ return stop;
32
32
  }
33
33
 
34
34
  export { startPolling };
@@ -1 +1 @@
1
- {"version":3,"file":"polling.js","sources":["../../../src/utils/polling.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;AAGG;SACa,YAAY,CAAI,EAC9B,GAAG,EACH,UAAU,EACV,MAAM,EACN,QAAQ,EACR,OAAO,EACP,GAAG,GAAG,OAAO,CAAC,GAAG,GAQlB,EAAA;IACC,IAAI,MAAM,GAAG,IAAI,CAAC;AAClB,IAAA,IAAI,KAAqB,CAAC;IAE1B,MAAM,IAAI,GAAG,MAAK;QAChB,MAAM,GAAG,KAAK,CAAC;QACf,YAAY,CAAC,KAAK,CAAC,CAAC;AACpB,QAAA,GAAG,CAAC,CAAA,OAAA,EAAU,GAAG,CAAA,QAAA,CAAU,CAAC,CAAC;AAC/B,KAAC,CAAC;AAEF,IAAA,MAAM,IAAI,GAAG,YAAW;AACtB,QAAA,GAAG,CAAC,CAAA,eAAA,EAAkB,GAAG,CAAA,CAAE,CAAC,CAAC;AAC7B,QAAA,IAAI;AACF,YAAA,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;AAC3B,YAAA,IAAI,CAAC,MAAM;gBAAE,OAAO;AACpB,YAAA,GAAG,CAAC,CAAA,OAAA,EAAU,GAAG,CAAA,QAAA,CAAU,CAAC,CAAC;YAC7B,QAAQ,CAAC,GAAG,CAAC,CAAC;SACf;QAAC,OAAO,CAAC,EAAE;AACV,YAAA,IAAI,CAAC,MAAM;gBAAE,OAAO;AACpB,YAAA,GAAG,CAAC,CAAU,OAAA,EAAA,GAAG,WAAW,CAAC,CAAA,CAAE,CAAC,CAAC;YACjC,OAAO,CAAC,CAAC,CAAC,CAAC;SACZ;AACD,QAAA,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACvC,KAAC,CAAC;AAEF,IAAA,IAAI,EAAE,CAAC;AAEP,IAAA,OAAO,IAAI,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"polling.js","sources":["../../../src/utils/polling.ts"],"sourcesContent":["export type PollHandle = () => void;\n\n/**\n * Will poll the given function at the specified interval. Stops when the\n * returned handle is invoked.\n */\nexport function startPolling<T>({\n key,\n intervalMs,\n pollFn,\n onResult,\n onError,\n log = console.log,\n}: {\n key: string;\n intervalMs: number;\n pollFn: () => Promise<T>;\n onResult: (value: T) => void;\n onError: (err: unknown) => void;\n log?: (msg: string) => void;\n}): PollHandle {\n let active = true;\n let timer: NodeJS.Timeout;\n\n const stop = () => {\n active = false;\n clearTimeout(timer);\n log(`[POLL] ${key} stopped`);\n };\n\n const tick = async () => {\n log(`[POLL] polling ${key}`);\n try {\n const res = await pollFn();\n if (!active) return;\n log(`[POLL] ${key} success`);\n onResult(res);\n } catch (e) {\n if (!active) return;\n log(`[POLL] ${key} error: ${e}`);\n onError(e);\n }\n timer = setTimeout(tick, intervalMs);\n };\n\n tick();\n\n return stop;\n}\n"],"names":[],"mappings":"AAMO,SAAS,YAAgB,CAAA;AAAA,EAC9B,GAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAM,OAAQ,CAAA,GAAA;AAChB,CAOe,EAAA;AACb,EAAA,IAAI,MAAS,GAAA,IAAA,CAAA;AACb,EAAI,IAAA,KAAA,CAAA;AAEJ,EAAA,MAAM,OAAO,MAAM;AACjB,IAAS,MAAA,GAAA,KAAA,CAAA;AACT,IAAA,YAAA,CAAa,KAAK,CAAA,CAAA;AAClB,IAAI,GAAA,CAAA,CAAA,OAAA,EAAU,GAAG,CAAU,QAAA,CAAA,CAAA,CAAA;AAAA,GAC7B,CAAA;AAEA,EAAA,MAAM,OAAO,YAAY;AACvB,IAAI,GAAA,CAAA,CAAA,eAAA,EAAkB,GAAG,CAAE,CAAA,CAAA,CAAA;AAC3B,IAAI,IAAA;AACF,MAAM,MAAA,GAAA,GAAM,MAAM,MAAO,EAAA,CAAA;AACzB,MAAA,IAAI,CAAC,MAAQ,EAAA,OAAA;AACb,MAAI,GAAA,CAAA,CAAA,OAAA,EAAU,GAAG,CAAU,QAAA,CAAA,CAAA,CAAA;AAC3B,MAAA,QAAA,CAAS,GAAG,CAAA,CAAA;AAAA,aACL,CAAG,EAAA;AACV,MAAA,IAAI,CAAC,MAAQ,EAAA,OAAA;AACb,MAAA,GAAA,CAAI,CAAU,OAAA,EAAA,GAAG,CAAW,QAAA,EAAA,CAAC,CAAE,CAAA,CAAA,CAAA;AAC/B,MAAA,OAAA,CAAQ,CAAC,CAAA,CAAA;AAAA,KACX;AACA,IAAQ,KAAA,GAAA,UAAA,CAAW,MAAM,UAAU,CAAA,CAAA;AAAA,GACrC,CAAA;AAEA,EAAK,IAAA,EAAA,CAAA;AAEL,EAAO,OAAA,IAAA,CAAA;AACT;;;;"}
@@ -1,15 +1,15 @@
1
1
  import { daimoPayVersion } from './exports.js';
2
2
 
3
3
  function getSupportUrl(payId, screen) {
4
- const email = "support@daimo.com";
5
- const subject = `Support${payId ? ` #${payId}` : ""}`;
6
- let body = [
7
- `Transaction: ${screen}`,
8
- `Version: ${daimoPayVersion}`,
9
- ``,
10
- `Tell us how we can help`,
11
- ].join("\n");
12
- return `mailto:${email}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;
4
+ const email = "support@daimo.com";
5
+ const subject = `Support${payId ? ` #${payId}` : ""}`;
6
+ let body = [
7
+ `Transaction: ${screen}`,
8
+ `Version: ${daimoPayVersion}`,
9
+ ``,
10
+ `Tell us how we can help`
11
+ ].join("\n");
12
+ return `mailto:${email}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;
13
13
  }
14
14
 
15
15
  export { getSupportUrl };
@@ -1 +1 @@
1
- {"version":3,"file":"supportUrl.js","sources":["../../../src/utils/supportUrl.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGgB,SAAA,aAAa,CAAC,KAAsB,EAAE,MAAc,EAAA;IAClE,MAAM,KAAK,GAAG,mBAAmB,CAAC;AAClC,IAAA,MAAM,OAAO,GAAG,CAAU,OAAA,EAAA,KAAK,GAAG,CAAK,EAAA,EAAA,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;AACtD,IAAA,IAAI,IAAI,GAAG;AACT,QAAA,CAAA,aAAA,EAAgB,MAAM,CAAE,CAAA;AACxB,QAAA,CAAA,SAAA,EAAY,eAAe,CAAE,CAAA;QAC7B,CAAE,CAAA;QACF,CAAyB,uBAAA,CAAA;AAC1B,KAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,IAAA,OAAO,CAAU,OAAA,EAAA,KAAK,CAAY,SAAA,EAAA,kBAAkB,CAAC,OAAO,CAAC,CAAA,MAAA,EAAS,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;AACnG;;;;"}
1
+ {"version":3,"file":"supportUrl.js","sources":["../../../src/utils/supportUrl.ts"],"sourcesContent":["import { DaimoPayOrderID } from \"@daimo/pay-common\";\nimport { daimoPayVersion } from \"./exports\";\n\nexport function getSupportUrl(payId: DaimoPayOrderID, screen: string): string {\n const email = \"support@daimo.com\";\n const subject = `Support${payId ? ` #${payId}` : \"\"}`;\n let body = [\n `Transaction: ${screen}`,\n `Version: ${daimoPayVersion}`,\n ``,\n `Tell us how we can help`,\n ].join(\"\\n\");\n\n return `mailto:${email}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;\n}\n"],"names":[],"mappings":";;AAGgB,SAAA,aAAA,CAAc,OAAwB,MAAwB,EAAA;AAC5E,EAAA,MAAM,KAAQ,GAAA,mBAAA,CAAA;AACd,EAAA,MAAM,UAAU,CAAU,OAAA,EAAA,KAAA,GAAQ,CAAK,EAAA,EAAA,KAAK,KAAK,EAAE,CAAA,CAAA,CAAA;AACnD,EAAA,IAAI,IAAO,GAAA;AAAA,IACT,gBAAgB,MAAM,CAAA,CAAA;AAAA,IACtB,YAAY,eAAe,CAAA,CAAA;AAAA,IAC3B,CAAA,CAAA;AAAA,IACA,CAAA,uBAAA,CAAA;AAAA,GACF,CAAE,KAAK,IAAI,CAAA,CAAA;AAEX,EAAO,OAAA,CAAA,OAAA,EAAU,KAAK,CAAY,SAAA,EAAA,kBAAA,CAAmB,OAAO,CAAC,CAAA,MAAA,EAAS,kBAAmB,CAAA,IAAI,CAAC,CAAA,CAAA,CAAA;AAChG;;;;"}
@@ -2,17 +2,17 @@ import { createTRPCClient, httpBatchLink } from '@trpc/client';
2
2
  import { daimoPayVersion } from './exports.js';
3
3
 
4
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
- });
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
16
  }
17
17
 
18
18
  export { createTrpcClient };
@@ -1 +1 @@
1
- {"version":3,"file":"trpc.js","sources":["../../../src/utils/trpc.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAUgB,SAAA,gBAAgB,CAC9B,MAAc,EACd,SAAiB,EAAA;AAEjB,IAAA,OAAO,gBAAgB,CAAY;AACjC,QAAA,KAAK,EAAE;AACL,YAAA,aAAa,CAAC;AACZ,gBAAA,GAAG,EAAE,MAAM;AACX,gBAAA,OAAO,EAAE;AACP,oBAAA,eAAe,EAAE,eAAe;AAChC,oBAAA,cAAc,EAAE,SAAS;AAC1B,iBAAA;aACF,CAAC;AACH,SAAA;AACF,KAAA,CAAC,CAAC;AACL;;;;"}
1
+ {"version":3,"file":"trpc.js","sources":["../../../src/utils/trpc.ts"],"sourcesContent":["import type { AppRouter } from \"@daimo/pay-api\";\nimport {\n CreateTRPCClient,\n createTRPCClient,\n httpBatchLink,\n} from \"@trpc/client\";\nimport { daimoPayVersion } from \"./exports\";\n\nexport type TrpcClient = CreateTRPCClient<AppRouter>;\n\nexport function createTrpcClient(\n apiUrl: string,\n sessionId: string,\n): TrpcClient {\n return createTRPCClient<AppRouter>({\n links: [\n httpBatchLink({\n url: apiUrl,\n headers: {\n \"x-pay-version\": daimoPayVersion,\n \"x-session-id\": sessionId,\n },\n }),\n ],\n });\n}\n"],"names":[],"mappings":";;;AAUgB,SAAA,gBAAA,CACd,QACA,SACY,EAAA;AACZ,EAAA,OAAO,gBAA4B,CAAA;AAAA,IACjC,KAAO,EAAA;AAAA,MACL,aAAc,CAAA;AAAA,QACZ,GAAK,EAAA,MAAA;AAAA,QACL,OAAS,EAAA;AAAA,UACP,eAAiB,EAAA,eAAA;AAAA,UACjB,cAAgB,EAAA,SAAA;AAAA,SAClB;AAAA,OACD,CAAA;AAAA,KACH;AAAA,GACD,CAAA,CAAA;AACH;;;;"}
@@ -1,35 +1,15 @@
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
1
  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;
2
+ if (value.length === 0) {
3
+ return false;
4
+ }
5
+ const match = /^\d*\.?(\d*)$/.exec(value);
6
+ if (match == null) return false;
7
+ return maxDecimals == null || match[1].length <= maxDecimals;
19
8
  }
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
9
  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;
10
+ const cleaned = value.replace(/[^0-9.]/g, "");
11
+ if (!cleaned || cleaned === "." || !/^\d*\.?\d*$/.test(cleaned)) return "0";
12
+ return cleaned.startsWith(".") ? `0${cleaned}` : cleaned;
33
13
  }
34
14
 
35
15
  export { isValidNumber, sanitizeNumber };
@@ -1 +1 @@
1
- {"version":3,"file":"validateInput.js","sources":["../../../src/utils/validateInput.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;AAKG;AACa,SAAA,aAAa,CAAC,KAAa,EAAE,WAAoB,EAAA;AAC/D,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,QAAA,OAAO,KAAK,CAAC;KACd;;;IAID,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,KAAK,IAAI,IAAI;AAAE,QAAA,OAAO,KAAK,CAAC;;;AAIhC,IAAA,OAAO,WAAW,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,WAAW,CAAC;AAC/D,CAAC;AAED;;;;;;;AAOG;AACG,SAAU,cAAc,CAAC,KAAa,EAAA;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC9C,IAAA,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;AAAE,QAAA,OAAO,GAAG,CAAC;AAC5E,IAAA,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAA,CAAA,EAAI,OAAO,CAAE,CAAA,GAAG,OAAO,CAAC;AAC3D;;;;"}
1
+ {"version":3,"file":"validateInput.js","sources":["../../../src/utils/validateInput.ts"],"sourcesContent":["/**\n * Returns true if the value is a valid number.\n * @param value The value to validate.\n * @param maxDecimals The maximum number of decimal places.\n * @returns True if the value is a valid number, false otherwise.\n */\nexport function isValidNumber(value: string, maxDecimals?: number): boolean {\n if (value.length === 0) {\n return false;\n }\n\n // Test that the value is digits, followed by an optional decimal, followed\n // by more digits\n const match = /^\\d*\\.?(\\d*)$/.exec(value);\n if (match == null) return false;\n\n // Check that the number of digits after the decimal is less than or equal to\n // maxDecimals\n return maxDecimals == null || match[1].length <= maxDecimals;\n}\n\n/**\n * Sanitize a number input.\n * - Remove all non-numeric and non-decimal characters\n * - If the value is empty, return \"0\"\n * - Parse into a number\n * @param value The value to sanitize.\n * @returns The sanitized value.\n */\nexport function sanitizeNumber(value: string): string {\n const cleaned = value.replace(/[^0-9.]/g, \"\");\n if (!cleaned || cleaned === \".\" || !/^\\d*\\.?\\d*$/.test(cleaned)) return \"0\";\n return cleaned.startsWith(\".\") ? `0${cleaned}` : cleaned;\n}\n"],"names":[],"mappings":"AAMgB,SAAA,aAAA,CAAc,OAAe,WAA+B,EAAA;AAC1E,EAAI,IAAA,KAAA,CAAM,WAAW,CAAG,EAAA;AACtB,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AAIA,EAAM,MAAA,KAAA,GAAQ,eAAgB,CAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AACxC,EAAI,IAAA,KAAA,IAAS,MAAa,OAAA,KAAA,CAAA;AAI1B,EAAA,OAAO,WAAe,IAAA,IAAA,IAAQ,KAAM,CAAA,CAAC,EAAE,MAAU,IAAA,WAAA,CAAA;AACnD,CAAA;AAUO,SAAS,eAAe,KAAuB,EAAA;AACpD,EAAA,MAAM,OAAU,GAAA,KAAA,CAAM,OAAQ,CAAA,UAAA,EAAY,EAAE,CAAA,CAAA;AAC5C,EAAI,IAAA,CAAC,WAAW,OAAY,KAAA,GAAA,IAAO,CAAC,aAAc,CAAA,IAAA,CAAK,OAAO,CAAA,EAAU,OAAA,GAAA,CAAA;AACxE,EAAA,OAAO,QAAQ,UAAW,CAAA,GAAG,CAAI,GAAA,CAAA,CAAA,EAAI,OAAO,CAAK,CAAA,GAAA,OAAA,CAAA;AACnD;;;;"}
@@ -1,29 +1,20 @@
1
1
  import { injected } from '@wagmi/connectors';
2
2
  import { walletConfigs } from './walletConfigs.js';
3
3
 
4
- /** Ethereum wallets, by name. */
5
4
  const wallets = Object.keys(walletConfigs).reduce((acc, key) => {
6
- const config = walletConfigs[key];
7
- const target = key.split(",")[0].trim();
8
- const flag = config.name?.replace("Wallet", "").replace(" ", "") ??
9
- target[0].toUpperCase() + target.slice(1);
10
- const connector = injected({
11
- target: {
12
- id: target,
13
- name: config.name ?? config.shortName ?? key,
14
- provider: (w) => w?.ethereum?.[`is${flag}`],
15
- },
16
- });
17
- const name = (config.name ?? config.shortName ?? key)
18
- .toLowerCase()
19
- // capitalize first letter
20
- .replace(/(?:^|\s)\S/g, (a) => a.toUpperCase())
21
- // remove spaces
22
- .replace(/\s/g, "")
23
- // lowercase first letter
24
- .replace(/(?:^|\s)\S/g, (a) => a.toLowerCase());
25
- acc[name] = connector;
26
- return acc;
5
+ const config = walletConfigs[key];
6
+ const target = key.split(",")[0].trim();
7
+ const flag = config.name?.replace("Wallet", "").replace(" ", "") ?? target[0].toUpperCase() + target.slice(1);
8
+ const connector = injected({
9
+ target: {
10
+ id: target,
11
+ name: config.name ?? config.shortName ?? key,
12
+ provider: (w) => w?.ethereum?.[`is${flag}`]
13
+ }
14
+ });
15
+ const name = (config.name ?? config.shortName ?? key).toLowerCase().replace(/(?:^|\s)\S/g, (a) => a.toUpperCase()).replace(/\s/g, "").replace(/(?:^|\s)\S/g, (a) => a.toLowerCase());
16
+ acc[name] = connector;
17
+ return acc;
27
18
  }, {});
28
19
 
29
20
  export { wallets };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/wallets/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAKA;AACa,MAAA,OAAO,GAEhB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAI;AACjD,IAAA,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AAClC,IAAA,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACxC,IAAA,MAAM,IAAI,GACR,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AACnD,QAAA,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE5C,MAAM,SAAS,GAAG,QAAQ,CAAC;AACzB,QAAA,MAAM,EAAE;AACN,YAAA,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,GAAG;AAC5C,YAAA,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,CAAK,EAAA,EAAA,IAAI,EAAE,CAAC;AAC5C,SAAA;AACF,KAAA,CAAC,CAAC;AACH,IAAA,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,GAAG;AACjD,SAAA,WAAW,EAAE;;AAEb,SAAA,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;;AAE9C,SAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;;AAElB,SAAA,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAElD,IAAA,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;AACtB,IAAA,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,EAAE;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/wallets/index.ts"],"sourcesContent":["import { injected } from \"@wagmi/connectors\";\nimport { CreateConnectorFn } from \"wagmi\";\n\nimport { walletConfigs } from \"./walletConfigs\";\n\n/** Ethereum wallets, by name. */\nexport const wallets: {\n [key: string]: CreateConnectorFn;\n} = Object.keys(walletConfigs).reduce((acc, key) => {\n const config = walletConfigs[key];\n const target = key.split(\",\")[0].trim();\n const flag =\n config.name?.replace(\"Wallet\", \"\").replace(\" \", \"\") ??\n target[0].toUpperCase() + target.slice(1);\n\n const connector = injected({\n target: {\n id: target,\n name: config.name ?? config.shortName ?? key,\n provider: (w) => w?.ethereum?.[`is${flag}`],\n },\n });\n const name = (config.name ?? config.shortName ?? key)\n .toLowerCase()\n // capitalize first letter\n .replace(/(?:^|\\s)\\S/g, (a) => a.toUpperCase())\n // remove spaces\n .replace(/\\s/g, \"\")\n // lowercase first letter\n .replace(/(?:^|\\s)\\S/g, (a) => a.toLowerCase());\n\n acc[name] = connector;\n return acc;\n}, {});\n"],"names":[],"mappings":";;;AAMa,MAAA,OAAA,GAET,OAAO,IAAK,CAAA,aAAa,EAAE,MAAO,CAAA,CAAC,KAAK,GAAQ,KAAA;AAClD,EAAM,MAAA,MAAA,GAAS,cAAc,GAAG,CAAA,CAAA;AAChC,EAAA,MAAM,SAAS,GAAI,CAAA,KAAA,CAAM,GAAG,CAAE,CAAA,CAAC,EAAE,IAAK,EAAA,CAAA;AACtC,EAAA,MAAM,OACJ,MAAO,CAAA,IAAA,EAAM,QAAQ,QAAU,EAAA,EAAE,EAAE,OAAQ,CAAA,GAAA,EAAK,EAAE,CAAA,IAClD,OAAO,CAAC,CAAA,CAAE,aAAgB,GAAA,MAAA,CAAO,MAAM,CAAC,CAAA,CAAA;AAE1C,EAAA,MAAM,YAAY,QAAS,CAAA;AAAA,IACzB,MAAQ,EAAA;AAAA,MACN,EAAI,EAAA,MAAA;AAAA,MACJ,IAAM,EAAA,MAAA,CAAO,IAAQ,IAAA,MAAA,CAAO,SAAa,IAAA,GAAA;AAAA,MACzC,UAAU,CAAC,CAAA,KAAM,GAAG,QAAW,GAAA,CAAA,EAAA,EAAK,IAAI,CAAE,CAAA,CAAA;AAAA,KAC5C;AAAA,GACD,CAAA,CAAA;AACD,EAAM,MAAA,IAAA,GAAA,CAAQ,MAAO,CAAA,IAAA,IAAQ,MAAO,CAAA,SAAA,IAAa,GAC9C,EAAA,WAAA,EAEA,CAAA,OAAA,CAAQ,aAAe,EAAA,CAAC,CAAM,KAAA,CAAA,CAAE,aAAa,CAAA,CAE7C,OAAQ,CAAA,KAAA,EAAO,EAAE,CAAA,CAEjB,OAAQ,CAAA,aAAA,EAAe,CAAC,CAAA,KAAM,CAAE,CAAA,WAAA,EAAa,CAAA,CAAA;AAEhD,EAAA,GAAA,CAAI,IAAI,CAAI,GAAA,SAAA,CAAA;AACZ,EAAO,OAAA,GAAA,CAAA;AACT,CAAA,EAAG,EAAE;;;;"}