@daimo/pay 1.19.10 → 1.19.11

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 (366) hide show
  1. package/package.json +2 -2
  2. package/build/index.d.ts +0 -619
  3. package/build/package.json.js +0 -118
  4. package/build/package.json.js.map +0 -1
  5. package/build/src/assets/MobileWithLogos.js +0 -329
  6. package/build/src/assets/MobileWithLogos.js.map +0 -1
  7. package/build/src/assets/ScanIconWithLogos.js +0 -243
  8. package/build/src/assets/ScanIconWithLogos.js.map +0 -1
  9. package/build/src/assets/browsers.js +0 -969
  10. package/build/src/assets/browsers.js.map +0 -1
  11. package/build/src/assets/chains.js +0 -683
  12. package/build/src/assets/chains.js.map +0 -1
  13. package/build/src/assets/icons.js +0 -273
  14. package/build/src/assets/icons.js.map +0 -1
  15. package/build/src/assets/logos.js +0 -1694
  16. package/build/src/assets/logos.js.map +0 -1
  17. package/build/src/assets/wave.js +0 -46
  18. package/build/src/assets/wave.js.map +0 -1
  19. package/build/src/components/Common/Alert/index.js +0 -13
  20. package/build/src/components/Common/Alert/index.js.map +0 -1
  21. package/build/src/components/Common/Alert/styles.js +0 -55
  22. package/build/src/components/Common/Alert/styles.js.map +0 -1
  23. package/build/src/components/Common/AmountInput/AmountInputField.js +0 -62
  24. package/build/src/components/Common/AmountInput/AmountInputField.js.map +0 -1
  25. package/build/src/components/Common/AmountInput/index.js +0 -166
  26. package/build/src/components/Common/AmountInput/index.js.map +0 -1
  27. package/build/src/components/Common/Avatar/index.js +0 -78
  28. package/build/src/components/Common/Avatar/index.js.map +0 -1
  29. package/build/src/components/Common/Avatar/styles.js +0 -54
  30. package/build/src/components/Common/Avatar/styles.js.map +0 -1
  31. package/build/src/components/Common/BrowserIcon/index.js +0 -29
  32. package/build/src/components/Common/BrowserIcon/index.js.map +0 -1
  33. package/build/src/components/Common/BrowserIcon/styles.js +0 -20
  34. package/build/src/components/Common/BrowserIcon/styles.js.map +0 -1
  35. package/build/src/components/Common/Button/index.js +0 -144
  36. package/build/src/components/Common/Button/index.js.map +0 -1
  37. package/build/src/components/Common/Button/styles.js +0 -287
  38. package/build/src/components/Common/Button/styles.js.map +0 -1
  39. package/build/src/components/Common/Chain/index.js +0 -141
  40. package/build/src/components/Common/Chain/index.js.map +0 -1
  41. package/build/src/components/Common/Chain/styles.js +0 -90
  42. package/build/src/components/Common/Chain/styles.js.map +0 -1
  43. package/build/src/components/Common/ChainSelectList/index.js +0 -250
  44. package/build/src/components/Common/ChainSelectList/index.js.map +0 -1
  45. package/build/src/components/Common/ChainSelectList/styles.js +0 -226
  46. package/build/src/components/Common/ChainSelectList/styles.js.map +0 -1
  47. package/build/src/components/Common/CircleTimer.js +0 -92
  48. package/build/src/components/Common/CircleTimer.js.map +0 -1
  49. package/build/src/components/Common/ConnectorList/index.js +0 -121
  50. package/build/src/components/Common/ConnectorList/index.js.map +0 -1
  51. package/build/src/components/Common/ConnectorList/styles.js +0 -344
  52. package/build/src/components/Common/ConnectorList/styles.js.map +0 -1
  53. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +0 -78
  54. package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +0 -1
  55. package/build/src/components/Common/CustomQRCode/QRCode.js +0 -132
  56. package/build/src/components/Common/CustomQRCode/QRCode.js.map +0 -1
  57. package/build/src/components/Common/CustomQRCode/index.js +0 -89
  58. package/build/src/components/Common/CustomQRCode/index.js.map +0 -1
  59. package/build/src/components/Common/CustomQRCode/styles.js +0 -142
  60. package/build/src/components/Common/CustomQRCode/styles.js.map +0 -1
  61. package/build/src/components/Common/FitText/index.js +0 -34
  62. package/build/src/components/Common/FitText/index.js.map +0 -1
  63. package/build/src/components/Common/Modal/index.js +0 -558
  64. package/build/src/components/Common/Modal/index.js.map +0 -1
  65. package/build/src/components/Common/Modal/styles.js +0 -665
  66. package/build/src/components/Common/Modal/styles.js.map +0 -1
  67. package/build/src/components/Common/OptionsList/index.js +0 -145
  68. package/build/src/components/Common/OptionsList/index.js.map +0 -1
  69. package/build/src/components/Common/OptionsList/styles.js +0 -138
  70. package/build/src/components/Common/OptionsList/styles.js.map +0 -1
  71. package/build/src/components/Common/OrderHeader/index.js +0 -148
  72. package/build/src/components/Common/OrderHeader/index.js.map +0 -1
  73. package/build/src/components/Common/PaymentBreakdown/index.js +0 -70
  74. package/build/src/components/Common/PaymentBreakdown/index.js.map +0 -1
  75. package/build/src/components/Common/Portal/index.js +0 -30
  76. package/build/src/components/Common/Portal/index.js.map +0 -1
  77. package/build/src/components/Common/PoweredByFooter/index.js +0 -39
  78. package/build/src/components/Common/PoweredByFooter/index.js.map +0 -1
  79. package/build/src/components/Common/ScrollArea/index.js +0 -120
  80. package/build/src/components/Common/ScrollArea/index.js.map +0 -1
  81. package/build/src/components/Common/ScrollArea/styles.js +0 -169
  82. package/build/src/components/Common/ScrollArea/styles.js.map +0 -1
  83. package/build/src/components/Common/SelectAnotherMethodButton/index.js +0 -96
  84. package/build/src/components/Common/SelectAnotherMethodButton/index.js.map +0 -1
  85. package/build/src/components/Common/Spinner/index.js +0 -64
  86. package/build/src/components/Common/Spinner/index.js.map +0 -1
  87. package/build/src/components/Common/Spinner/styles.js +0 -22
  88. package/build/src/components/Common/Spinner/styles.js.map +0 -1
  89. package/build/src/components/Common/SwitchButton/index.js +0 -43
  90. package/build/src/components/Common/SwitchButton/index.js.map +0 -1
  91. package/build/src/components/Common/ThemedButton/index.js +0 -46
  92. package/build/src/components/Common/ThemedButton/index.js.map +0 -1
  93. package/build/src/components/Common/ThemedButton/styles.js +0 -152
  94. package/build/src/components/Common/ThemedButton/styles.js.map +0 -1
  95. package/build/src/components/Common/TokenChainLogo/index.js +0 -62
  96. package/build/src/components/Common/TokenChainLogo/index.js.map +0 -1
  97. package/build/src/components/Common/Tooltip/index.js +0 -129
  98. package/build/src/components/Common/Tooltip/index.js.map +0 -1
  99. package/build/src/components/Common/Tooltip/styles.js +0 -81
  100. package/build/src/components/Common/Tooltip/styles.js.map +0 -1
  101. package/build/src/components/Common/WalletChainLogo/index.js +0 -31
  102. package/build/src/components/Common/WalletChainLogo/index.js.map +0 -1
  103. package/build/src/components/DaimoPayButton/index.js +0 -196
  104. package/build/src/components/DaimoPayButton/index.js.map +0 -1
  105. package/build/src/components/DaimoPayButton/styles.js +0 -50
  106. package/build/src/components/DaimoPayButton/styles.js.map +0 -1
  107. package/build/src/components/DaimoPayModal/ConnectUsing.js +0 -70
  108. package/build/src/components/DaimoPayModal/ConnectUsing.js.map +0 -1
  109. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +0 -339
  110. package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +0 -1
  111. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js +0 -131
  112. package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +0 -1
  113. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +0 -89
  114. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +0 -1
  115. package/build/src/components/DaimoPayModal/index.js +0 -605
  116. package/build/src/components/DaimoPayModal/index.js.map +0 -1
  117. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +0 -25
  118. package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +0 -1
  119. package/build/src/components/Pages/About/graphics.js +0 -853
  120. package/build/src/components/Pages/About/graphics.js.map +0 -1
  121. package/build/src/components/Pages/About/index.js +0 -222
  122. package/build/src/components/Pages/About/index.js.map +0 -1
  123. package/build/src/components/Pages/About/styles.js +0 -140
  124. package/build/src/components/Pages/About/styles.js.map +0 -1
  125. package/build/src/components/Pages/Confirmation/index.js +0 -126
  126. package/build/src/components/Pages/Confirmation/index.js.map +0 -1
  127. package/build/src/components/Pages/Connectors/index.js +0 -26
  128. package/build/src/components/Pages/Connectors/index.js.map +0 -1
  129. package/build/src/components/Pages/Error/index.js +0 -57
  130. package/build/src/components/Pages/Error/index.js.map +0 -1
  131. package/build/src/components/Pages/MobileConnectors/index.js +0 -108
  132. package/build/src/components/Pages/MobileConnectors/index.js.map +0 -1
  133. package/build/src/components/Pages/MobileConnectors/styles.js +0 -64
  134. package/build/src/components/Pages/MobileConnectors/styles.js.map +0 -1
  135. package/build/src/components/Pages/Onboarding/index.js +0 -34
  136. package/build/src/components/Pages/Onboarding/index.js.map +0 -1
  137. package/build/src/components/Pages/Onboarding/styles.js +0 -229
  138. package/build/src/components/Pages/Onboarding/styles.js.map +0 -1
  139. package/build/src/components/Pages/PayWithToken/index.js +0 -157
  140. package/build/src/components/Pages/PayWithToken/index.js.map +0 -1
  141. package/build/src/components/Pages/SelectAmount/index.js +0 -24
  142. package/build/src/components/Pages/SelectAmount/index.js.map +0 -1
  143. package/build/src/components/Pages/SelectDepositAddressAmount/index.js +0 -79
  144. package/build/src/components/Pages/SelectDepositAddressAmount/index.js.map +0 -1
  145. package/build/src/components/Pages/SelectDepositAddressChain/index.js +0 -80
  146. package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +0 -1
  147. package/build/src/components/Pages/SelectExchange/index.js +0 -62
  148. package/build/src/components/Pages/SelectExchange/index.js.map +0 -1
  149. package/build/src/components/Pages/SelectExternalAmount/index.js +0 -80
  150. package/build/src/components/Pages/SelectExternalAmount/index.js.map +0 -1
  151. package/build/src/components/Pages/SelectMethod/index.js +0 -315
  152. package/build/src/components/Pages/SelectMethod/index.js.map +0 -1
  153. package/build/src/components/Pages/SelectToken/index.js +0 -99
  154. package/build/src/components/Pages/SelectToken/index.js.map +0 -1
  155. package/build/src/components/Pages/SelectWalletAmount/index.js +0 -71
  156. package/build/src/components/Pages/SelectWalletAmount/index.js.map +0 -1
  157. package/build/src/components/Pages/SelectWalletChain/index.js +0 -55
  158. package/build/src/components/Pages/SelectWalletChain/index.js.map +0 -1
  159. package/build/src/components/Pages/SelectZKP/index.js +0 -41
  160. package/build/src/components/Pages/SelectZKP/index.js.map +0 -1
  161. package/build/src/components/Pages/Solana/ConnectorSolana/index.js +0 -94
  162. package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +0 -1
  163. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +0 -92
  164. package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +0 -1
  165. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js +0 -24
  166. package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +0 -1
  167. package/build/src/components/Pages/SwitchNetworks/index.js +0 -45
  168. package/build/src/components/Pages/SwitchNetworks/index.js.map +0 -1
  169. package/build/src/components/Pages/WaitingDepositAddress/index.js +0 -586
  170. package/build/src/components/Pages/WaitingDepositAddress/index.js.map +0 -1
  171. package/build/src/components/Pages/WaitingExternal/index.js +0 -174
  172. package/build/src/components/Pages/WaitingExternal/index.js.map +0 -1
  173. package/build/src/components/Pages/WaitingWallet/index.js +0 -49
  174. package/build/src/components/Pages/WaitingWallet/index.js.map +0 -1
  175. package/build/src/components/Pages/Warning/index.js +0 -56
  176. package/build/src/components/Pages/Warning/index.js.map +0 -1
  177. package/build/src/components/Spinners/CircleSpinner/index.js +0 -104
  178. package/build/src/components/Spinners/CircleSpinner/index.js.map +0 -1
  179. package/build/src/components/Spinners/CircleSpinner/styles.js +0 -117
  180. package/build/src/components/Spinners/CircleSpinner/styles.js.map +0 -1
  181. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js +0 -29
  182. package/build/src/components/Spinners/ExternalPaymentSpinner/index.js.map +0 -1
  183. package/build/src/components/Spinners/SquircleSpinner/index.js +0 -68
  184. package/build/src/components/Spinners/SquircleSpinner/index.js.map +0 -1
  185. package/build/src/components/Spinners/SquircleSpinner/styles.js +0 -66
  186. package/build/src/components/Spinners/SquircleSpinner/styles.js.map +0 -1
  187. package/build/src/components/Spinners/TokenLogoSpinner/index.js +0 -24
  188. package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +0 -1
  189. package/build/src/components/Spinners/TokenLogoSpinner/styles.js +0 -40
  190. package/build/src/components/Spinners/TokenLogoSpinner/styles.js.map +0 -1
  191. package/build/src/components/Spinners/WalletPaymentSpinner/index.js +0 -37
  192. package/build/src/components/Spinners/WalletPaymentSpinner/index.js.map +0 -1
  193. package/build/src/components/Spinners/styles.js +0 -32
  194. package/build/src/components/Spinners/styles.js.map +0 -1
  195. package/build/src/constants/defaultTheme.js +0 -6
  196. package/build/src/constants/defaultTheme.js.map +0 -1
  197. package/build/src/constants/limits.js +0 -4
  198. package/build/src/constants/limits.js.map +0 -1
  199. package/build/src/constants/paymentOptions.js +0 -61
  200. package/build/src/constants/paymentOptions.js.map +0 -1
  201. package/build/src/constants/routes.js +0 -31
  202. package/build/src/constants/routes.js.map +0 -1
  203. package/build/src/constants/wallets.js +0 -7
  204. package/build/src/constants/wallets.js.map +0 -1
  205. package/build/src/defaultConfig.js +0 -66
  206. package/build/src/defaultConfig.js.map +0 -1
  207. package/build/src/defaultConnectors.js +0 -37
  208. package/build/src/defaultConnectors.js.map +0 -1
  209. package/build/src/hooks/useChainIsSupported.js +0 -10
  210. package/build/src/hooks/useChainIsSupported.js.map +0 -1
  211. package/build/src/hooks/useChains.js +0 -10
  212. package/build/src/hooks/useChains.js.map +0 -1
  213. package/build/src/hooks/useConnect.js +0 -61
  214. package/build/src/hooks/useConnect.js.map +0 -1
  215. package/build/src/hooks/useConnectCallback.js +0 -21
  216. package/build/src/hooks/useConnectCallback.js.map +0 -1
  217. package/build/src/hooks/useConnectors.js +0 -20
  218. package/build/src/hooks/useConnectors.js.map +0 -1
  219. package/build/src/hooks/useDaimoPay.js +0 -131
  220. package/build/src/hooks/useDaimoPay.js.map +0 -1
  221. package/build/src/hooks/useDaimoPayStatus.js +0 -12
  222. package/build/src/hooks/useDaimoPayStatus.js.map +0 -1
  223. package/build/src/hooks/useDaimoPayUI.js +0 -15
  224. package/build/src/hooks/useDaimoPayUI.js.map +0 -1
  225. package/build/src/hooks/useEnsFallbackConfig.js +0 -16
  226. package/build/src/hooks/useEnsFallbackConfig.js.map +0 -1
  227. package/build/src/hooks/useFitText.js +0 -133
  228. package/build/src/hooks/useFitText.js.map +0 -1
  229. package/build/src/hooks/useFocusTrap.js +0 -53
  230. package/build/src/hooks/useFocusTrap.js.map +0 -1
  231. package/build/src/hooks/useIsMobile.js +0 -11
  232. package/build/src/hooks/useIsMobile.js.map +0 -1
  233. package/build/src/hooks/useIsMounted.js +0 -10
  234. package/build/src/hooks/useIsMounted.js.map +0 -1
  235. package/build/src/hooks/useLastConnector.js +0 -24
  236. package/build/src/hooks/useLastConnector.js.map +0 -1
  237. package/build/src/hooks/useLocales.js +0 -60
  238. package/build/src/hooks/useLocales.js.map +0 -1
  239. package/build/src/hooks/useLockBodyScroll.js +0 -47
  240. package/build/src/hooks/useLockBodyScroll.js.map +0 -1
  241. package/build/src/hooks/useOrderUsdLimits.js +0 -24
  242. package/build/src/hooks/useOrderUsdLimits.js.map +0 -1
  243. package/build/src/hooks/usePayContext.js +0 -11
  244. package/build/src/hooks/usePayContext.js.map +0 -1
  245. package/build/src/hooks/usePaymentOptions.js +0 -185
  246. package/build/src/hooks/usePaymentOptions.js.map +0 -1
  247. package/build/src/hooks/usePaymentState.js +0 -399
  248. package/build/src/hooks/usePaymentState.js.map +0 -1
  249. package/build/src/hooks/usePrevious.js +0 -13
  250. package/build/src/hooks/usePrevious.js.map +0 -1
  251. package/build/src/hooks/useTokenOptions.js +0 -156
  252. package/build/src/hooks/useTokenOptions.js.map +0 -1
  253. package/build/src/hooks/useUntronAvailability.js +0 -32
  254. package/build/src/hooks/useUntronAvailability.js.map +0 -1
  255. package/build/src/hooks/useWindowSize.js +0 -23
  256. package/build/src/hooks/useWindowSize.js.map +0 -1
  257. package/build/src/index.js +0 -14
  258. package/build/src/index.js.map +0 -1
  259. package/build/src/localizations/index.js +0 -48
  260. package/build/src/localizations/index.js.map +0 -1
  261. package/build/src/localizations/locales/ar-AE.js +0 -95
  262. package/build/src/localizations/locales/ar-AE.js.map +0 -1
  263. package/build/src/localizations/locales/ca-AD.js +0 -93
  264. package/build/src/localizations/locales/ca-AD.js.map +0 -1
  265. package/build/src/localizations/locales/ee-EE.js +0 -101
  266. package/build/src/localizations/locales/ee-EE.js.map +0 -1
  267. package/build/src/localizations/locales/en-US.js +0 -145
  268. package/build/src/localizations/locales/en-US.js.map +0 -1
  269. package/build/src/localizations/locales/es-ES.js +0 -138
  270. package/build/src/localizations/locales/es-ES.js.map +0 -1
  271. package/build/src/localizations/locales/fa-IR.js +0 -93
  272. package/build/src/localizations/locales/fa-IR.js.map +0 -1
  273. package/build/src/localizations/locales/fr-FR.js +0 -93
  274. package/build/src/localizations/locales/fr-FR.js.map +0 -1
  275. package/build/src/localizations/locales/ja-JP.js +0 -93
  276. package/build/src/localizations/locales/ja-JP.js.map +0 -1
  277. package/build/src/localizations/locales/pt-BR.js +0 -145
  278. package/build/src/localizations/locales/pt-BR.js.map +0 -1
  279. package/build/src/localizations/locales/ru-RU.js +0 -97
  280. package/build/src/localizations/locales/ru-RU.js.map +0 -1
  281. package/build/src/localizations/locales/tr-TR.js +0 -101
  282. package/build/src/localizations/locales/tr-TR.js.map +0 -1
  283. package/build/src/localizations/locales/vi-VN.js +0 -101
  284. package/build/src/localizations/locales/vi-VN.js.map +0 -1
  285. package/build/src/localizations/locales/zh-CN.js +0 -93
  286. package/build/src/localizations/locales/zh-CN.js.map +0 -1
  287. package/build/src/payment/paymentEffects.js +0 -270
  288. package/build/src/payment/paymentEffects.js.map +0 -1
  289. package/build/src/payment/paymentFsm.js +0 -234
  290. package/build/src/payment/paymentFsm.js.map +0 -1
  291. package/build/src/payment/paymentStore.js +0 -18
  292. package/build/src/payment/paymentStore.js.map +0 -1
  293. package/build/src/payment/paymentUtils.js +0 -10
  294. package/build/src/payment/paymentUtils.js.map +0 -1
  295. package/build/src/provider/DaimoPayProvider.js +0 -300
  296. package/build/src/provider/DaimoPayProvider.js.map +0 -1
  297. package/build/src/provider/PayContext.js +0 -6
  298. package/build/src/provider/PayContext.js.map +0 -1
  299. package/build/src/provider/PaymentProvider.js +0 -35
  300. package/build/src/provider/PaymentProvider.js.map +0 -1
  301. package/build/src/provider/SolanaContextProvider.js +0 -14
  302. package/build/src/provider/SolanaContextProvider.js.map +0 -1
  303. package/build/src/provider/Web3ContextProvider.js +0 -36
  304. package/build/src/provider/Web3ContextProvider.js.map +0 -1
  305. package/build/src/stateStore.js +0 -36
  306. package/build/src/stateStore.js.map +0 -1
  307. package/build/src/styles/defaultTheme.js +0 -80
  308. package/build/src/styles/defaultTheme.js.map +0 -1
  309. package/build/src/styles/index.js +0 -313
  310. package/build/src/styles/index.js.map +0 -1
  311. package/build/src/styles/styled/index.js +0 -6
  312. package/build/src/styles/styled/index.js.map +0 -1
  313. package/build/src/styles/themes/base.js +0 -141
  314. package/build/src/styles/themes/base.js.map +0 -1
  315. package/build/src/styles/themes/index.js +0 -13
  316. package/build/src/styles/themes/index.js.map +0 -1
  317. package/build/src/styles/themes/midnight.js +0 -76
  318. package/build/src/styles/themes/midnight.js.map +0 -1
  319. package/build/src/styles/themes/minimal.js +0 -96
  320. package/build/src/styles/themes/minimal.js.map +0 -1
  321. package/build/src/styles/themes/nouns.js +0 -81
  322. package/build/src/styles/themes/nouns.js.map +0 -1
  323. package/build/src/styles/themes/retro.js +0 -106
  324. package/build/src/styles/themes/retro.js.map +0 -1
  325. package/build/src/styles/themes/rounded.js +0 -106
  326. package/build/src/styles/themes/rounded.js.map +0 -1
  327. package/build/src/styles/themes/soft.js +0 -71
  328. package/build/src/styles/themes/soft.js.map +0 -1
  329. package/build/src/styles/themes/web95.js +0 -132
  330. package/build/src/styles/themes/web95.js.map +0 -1
  331. package/build/src/utils/exports.js +0 -6
  332. package/build/src/utils/exports.js.map +0 -1
  333. package/build/src/utils/format.js +0 -48
  334. package/build/src/utils/format.js.map +0 -1
  335. package/build/src/utils/index.js +0 -42
  336. package/build/src/utils/index.js.map +0 -1
  337. package/build/src/utils/p3.js +0 -15
  338. package/build/src/utils/p3.js.map +0 -1
  339. package/build/src/utils/platform.js +0 -11
  340. package/build/src/utils/platform.js.map +0 -1
  341. package/build/src/utils/polling.js +0 -44
  342. package/build/src/utils/polling.js.map +0 -1
  343. package/build/src/utils/supportUrl.js +0 -16
  344. package/build/src/utils/supportUrl.js.map +0 -1
  345. package/build/src/utils/trpc.js +0 -19
  346. package/build/src/utils/trpc.js.map +0 -1
  347. package/build/src/utils/validateInput.js +0 -16
  348. package/build/src/utils/validateInput.js.map +0 -1
  349. package/build/src/wallets/index.js +0 -21
  350. package/build/src/wallets/index.js.map +0 -1
  351. package/build/src/wallets/useWallets.js +0 -278
  352. package/build/src/wallets/useWallets.js.map +0 -1
  353. package/build/src/wallets/walletConfigs.js +0 -190
  354. package/build/src/wallets/walletConfigs.js.map +0 -1
  355. package/build/src/world-mini-app/WorldPayButton.js +0 -165
  356. package/build/src/world-mini-app/WorldPayButton.js.map +0 -1
  357. package/build/src/world-mini-app/promptWorldPayment.js +0 -59
  358. package/build/src/world-mini-app/promptWorldPayment.js.map +0 -1
  359. package/build/src/world-mini-app/useWithdrawToWorld.js +0 -76
  360. package/build/src/world-mini-app/useWithdrawToWorld.js.map +0 -1
  361. package/build/src/world-mini-app/useWorldSignIn.js +0 -74
  362. package/build/src/world-mini-app/useWorldSignIn.js.map +0 -1
  363. package/build/src/world.js +0 -4
  364. package/build/src/world.js.map +0 -1
  365. package/build/types-26343050.d.ts +0 -65
  366. package/build/world.d.ts +0 -108
@@ -1 +0,0 @@
1
- {"version":3,"file":"walletConfigs.js","sources":["../../../src/wallets/walletConfigs.tsx"],"sourcesContent":["import type { Connector } from \"wagmi\";\nimport Logos from \"../assets/logos\";\n\n// Infer in-wallet payment URL from environment.\nlet daimoPayHost = \"https://pay.daimo.com\";\n\nexport function setInWalletPaymentUrlFromApiUrl(apiUrl: string) {\n if (apiUrl.startsWith(\"http://localhost\")) {\n daimoPayHost = \"http://localhost:3001\";\n } else if (apiUrl.startsWith(\"https://pay-api-stage.daimo.xyz\")) {\n daimoPayHost = \"https://pay.stage.daimo.xyz\";\n } else {\n daimoPayHost = \"https://pay.daimo.com\";\n }\n}\n\nfunction getDaimoPayUrl(payId: string) {\n return daimoPayHost + \"/pay?id=\" + payId;\n}\n\nexport type WalletConfigProps = {\n // Wallet ID, eg \"io.rabby\" or a sentinel value like WALLET_ID_OTHER_WALLET.\n id?: string;\n // Wallets name\n name?: string;\n // Wallets short name. Defaults to `name`\n shortName?: string;\n // Icon to display in the modal\n icon?: string | React.ReactNode;\n // Icon to use on the wallet list button. If not provided, `icon` will be used\n iconConnector?: React.ReactNode;\n // Defaults to `'circle'`, but some icons look better as squircle (e.g. if they have a background)\n iconShape?: \"squircle\" | \"circle\" | \"square\";\n // Defaults to `false`, but some icons don't have a background and look better if they shrink to fit the container\n iconShouldShrink?: boolean;\n deeplinkScheme?: string;\n // For Daimo Pay deeplinks. Platform parameter: 'android' | 'ios' | 'other'\n getDaimoPayDeeplink?: (payId: string, platform?: string) => string;\n // To sort mobile wallets to show in the connector list\n showInMobileConnectors?: boolean;\n // Show wallet on Android. Defaults to true if not specified.\n showOnAndroid?: boolean;\n // Show wallet on iOS. Defaults to true if not specified.\n showOnIOS?: boolean;\n // Used to filter wallets that only support solana in mobile mode to not show in the connector options when the payID doesn't support solana\n isSolanaOnly?: boolean;\n // wallet payment option\n // Connector is present for wagmi wallets; null for static configs\n connector?: Connector | null;\n};\n\n// Organised in alphabetical order by key\nexport const walletConfigs: {\n [rdns: string]: WalletConfigProps; // for multiple cases seperate rdns by comma\n} = {\n baseAccount: {\n id: \"baseAccount\",\n name: \"Base App\",\n shortName: \"Base\",\n icon: <Logos.Base />,\n iconConnector: <Logos.Base />,\n iconShape: \"squircle\",\n showInMobileConnectors: false,\n deeplinkScheme: \"cbwallet://\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n return (\n \"https://go.cb-w.com/dapp?cb_url=\" +\n encodeURIComponent(getDaimoPayUrl(payId))\n );\n },\n },\n bitget: {\n id: \"bitget\",\n name: \"Bitget\",\n icon: <Logos.Bitget />,\n iconConnector: <Logos.Bitget />,\n iconShape: \"squircle\",\n showInMobileConnectors: true,\n showOnAndroid: true,\n showOnIOS: true,\n deeplinkScheme: \"bitkeep://\",\n getDaimoPayDeeplink: (payId: string) => {\n return \"https://bkcode.vip?action=dapp&url=\" + getDaimoPayUrl(payId);\n },\n },\n \"metaMask, metaMask-io, io.metamask, io.metamask.mobile, metaMaskSDK\": {\n id: \"metaMask\",\n name: \"MetaMask\",\n shortName: \"MetaMask\",\n icon: <Logos.MetaMask />,\n iconConnector: <Logos.MetaMask />,\n iconShouldShrink: true,\n showOnAndroid: true,\n showOnIOS: true,\n showInMobileConnectors: false,\n deeplinkScheme: \"metamask://\",\n getDaimoPayDeeplink: (payId: string) => {\n const daimoPayUrl = getDaimoPayUrl(payId);\n return (\n \"https://link.metamask.io/dapp/\" + daimoPayUrl.replace(\"https://\", \"\")\n );\n },\n },\n \"app.phantom\": {\n id: \"app.phantom\",\n name: \"Phantom\",\n icon: <Logos.Phantom />,\n iconConnector: <Logos.Phantom />,\n iconShape: \"squircle\",\n showInMobileConnectors: true,\n deeplinkScheme: \"phantom://\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n const url = encodeURIComponent(getDaimoPayUrl(payId));\n const ref = encodeURIComponent(window.location.origin);\n return `https://phantom.app/ul/browse/${url}?ref=${ref}`;\n },\n },\n minipay: {\n id: \"minipay\",\n name: \"MiniPay\",\n shortName: \"MiniPay\",\n icon: <Logos.MiniPay />,\n iconConnector: <Logos.MiniPay />,\n iconShape: \"squircle\",\n showInMobileConnectors: true,\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n return (\n \"https://cash.minipay.xyz/browse?url=\" +\n encodeURIComponent(getDaimoPayUrl(payId))\n );\n },\n },\n \"me.rainbow\": {\n id: \"me.rainbow\",\n name: \"Rainbow Wallet\",\n shortName: \"Rainbow\",\n icon: <Logos.Rainbow />,\n iconConnector: <Logos.Rainbow />,\n iconShape: \"squircle\",\n showInMobileConnectors: true,\n deeplinkScheme: \"rainbow://\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n return \"https://rnbwapp.com/dapp?url=\" + getDaimoPayUrl(payId);\n },\n },\n // \"io.rabby\": {\n // name: \"Rabby Wallet\",\n // shortName: \"Rabby\",\n // showInMobileConnectors: false,\n // //TODO: add wallet deep link\n // // edit rabby scheme to deeplink URL: https://github.com/RabbyHub/rabby-mobile/blob/999d60f49c5254e4aa8e6aa8bb80ad46e267845c/apps/mobile/src/LinkingConfig.ts#L25\n // },\n \"com.trustwallet.app\": {\n id: \"com.trustwallet.app\",\n name: \"Trust Wallet\",\n shortName: \"Trust\",\n icon: <Logos.Trust />,\n iconConnector: <Logos.Trust />,\n showInMobileConnectors: false,\n deeplinkScheme: \"trust://\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n return (\n \"https://link.trustwallet.com/open_url?coin_id=60&url=\" +\n getDaimoPayUrl(payId)\n );\n },\n },\n okx: {\n id: \"okx\",\n name: \"OKX\",\n icon: <Logos.OKX />,\n iconConnector: <Logos.OKX />,\n showInMobileConnectors: true,\n deeplinkScheme: \"okx://\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n return (\n \"https://web3.okx.com/download?deeplink=\" +\n encodeURIComponent(\n \"okx://wallet/dapp/url?dappUrl=\" + getDaimoPayUrl(payId),\n )\n );\n },\n },\n // ledger: {\n // name: \"Ledger Live\",\n // shortName: \"Ledger\",\n // icon: <Logos.Ledger />,\n // showInMobileConnectors: true,\n // deeplinkScheme: \"ledgerlive://\",\n // // getDaimoPayDeeplink: (payId: string) => {\n // // return \"ledgerlive://discover/\" + daimoPayUrl + payId;\n // // },\n // // TODO: Add Daimo Pay to Ledger Live's Discover section https://developers.ledger.com/docs/ledger-live/discover/getting-started\n // shouldDeeplinkDesktop: true,\n // },\n world: {\n id: \"world\",\n name: \"World\",\n shortName: \"World\",\n icon: <Logos.World />,\n iconConnector: <Logos.World />,\n showInMobileConnectors: true,\n iconShape: \"squircle\",\n deeplinkScheme: \"world\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n const path = \"/pay?id=\" + payId;\n const url =\n \"https://worldcoin.org/mini-app?app_id=app_e7d27c5ce2234e00558776f227f791ef&path=\" +\n encodeURIComponent(path);\n return url;\n },\n },\n zerion: {\n id: \"zerion\",\n name: \"Zerion\",\n icon: <Logos.Zerion />,\n iconConnector: <Logos.Zerion />,\n showInMobileConnectors: true,\n deeplinkScheme: \"zerion://\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n const payUrl = getDaimoPayUrl(payId);\n return \"https://link.zerion.io/?url=\" + encodeURIComponent(payUrl);\n },\n },\n} as const;\n"],"names":[],"mappings":"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"}
@@ -1,165 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { getOrderSourceChainId, DaimoPayEventType, writeDaimoPayOrderID, getDaimoPayOrderView, getOrderDestChainId, assertNotNull } from '@daimo/pay-common';
3
- import { useState, useEffect, useRef, useCallback } from 'react';
4
- import ThemedButton from '../components/Common/ThemedButton/index.js';
5
- import { DaimoPayButtonInner } from '../components/DaimoPayButton/index.js';
6
- import { ROUTES } from '../constants/routes.js';
7
- import { useDaimoPay } from '../hooks/useDaimoPay.js';
8
- import { usePayContext } from '../hooks/usePayContext.js';
9
- import { ResetContainer } from '../styles/index.js';
10
- import { promptWorldcoinPayment } from './promptWorldPayment.js';
11
- import { MiniKit } from '@worldcoin/minikit-js';
12
- import useIsMobile from '../hooks/useIsMobile.js';
13
- import { ThemeContainer } from '../components/Common/ThemedButton/styles.js';
14
-
15
- function WorldPayButton(props) {
16
- const { theme, mode, customTheme } = props;
17
- const context = usePayContext();
18
- return /* @__PURE__ */ jsx(WorldPayButtonCustom, { ...props, children: ({ show, isMiniKitReady }) => /* @__PURE__ */ jsx(
19
- ResetContainer,
20
- {
21
- $useTheme: theme ?? context.theme,
22
- $useMode: mode ?? context.mode,
23
- $customTheme: customTheme ?? context.customTheme,
24
- children: /* @__PURE__ */ jsx(
25
- ThemeContainer,
26
- {
27
- onClick: props.disabled || !isMiniKitReady ? void 0 : show,
28
- children: /* @__PURE__ */ jsx(ThemedButton, { children: /* @__PURE__ */ jsx(DaimoPayButtonInner, {}) })
29
- }
30
- )
31
- }
32
- ) });
33
- }
34
- function WorldPayButtonCustom(props) {
35
- const pay = useDaimoPay();
36
- const context = usePayContext();
37
- const { paymentState, log } = context;
38
- const [isMiniKitReady, setIsMiniKitReady] = useState(false);
39
- const { isIOS } = useIsMobile();
40
- const { onPaymentStarted, onPaymentCompleted, onPaymentBounced } = props;
41
- useEffect(() => {
42
- log("[WORLD] Installing MiniKit");
43
- const result = MiniKit.install();
44
- log("[WORLD] MiniKit install result", result);
45
- log("[WORLD] MiniKit is installed", MiniKit.isInstalled());
46
- setIsMiniKitReady(MiniKit.isInstalled());
47
- }, []);
48
- useEffect(() => {
49
- if ("payId" in props) {
50
- log("[WORLD] Using payId from props: ", props.payId);
51
- paymentState.setPayId(props.payId);
52
- } else {
53
- log("[WORLD] Creating preview order");
54
- paymentState.setPayParams(props);
55
- }
56
- }, [JSON.stringify(props || {})]);
57
- useEffect(() => {
58
- context.setShowContactSupport(!isIOS);
59
- }, [isIOS]);
60
- const hasAutoOpened = useRef(false);
61
- useEffect(() => {
62
- if (!props.defaultOpen || hasAutoOpened.current) return;
63
- if (pay.order == null) return;
64
- show();
65
- hasAutoOpened.current = true;
66
- }, [pay.order, props.defaultOpen, hasAutoOpened.current]);
67
- const sentStart = useRef(false);
68
- useEffect(() => {
69
- if (sentStart.current) return;
70
- if (pay.paymentState !== "payment_started") return;
71
- const sourceChainId = getOrderSourceChainId(pay.order);
72
- if (sourceChainId == null) return;
73
- sentStart.current = true;
74
- onPaymentStarted?.({
75
- type: DaimoPayEventType.PaymentStarted,
76
- paymentId: writeDaimoPayOrderID(pay.order.id),
77
- chainId: sourceChainId,
78
- txHash: pay.order.sourceInitiateTxHash,
79
- payment: getDaimoPayOrderView(pay.order)
80
- });
81
- }, [pay.order, pay.paymentState]);
82
- const sentComplete = useRef(false);
83
- useEffect(() => {
84
- if (sentComplete.current) return;
85
- if (pay.paymentState !== "payment_completed" && pay.paymentState !== "payment_bounced")
86
- return;
87
- sentComplete.current = true;
88
- const eventType = pay.paymentState === "payment_completed" ? DaimoPayEventType.PaymentCompleted : DaimoPayEventType.PaymentBounced;
89
- const event = {
90
- type: eventType,
91
- paymentId: writeDaimoPayOrderID(pay.order.id),
92
- chainId: getOrderDestChainId(pay.order),
93
- txHash: assertNotNull(
94
- pay.order.destFastFinishTxHash ?? pay.order.destClaimTxHash,
95
- `[WORLD PAY BUTTON] dest tx hash null on order ${pay.order.id} when intent status is ${pay.order.intentStatus}`
96
- ),
97
- payment: getDaimoPayOrderView(pay.order)
98
- };
99
- if (pay.paymentState === "payment_completed") {
100
- onPaymentCompleted?.(event);
101
- } else if (pay.paymentState === "payment_bounced") {
102
- onPaymentBounced?.(event);
103
- }
104
- }, [pay.order, pay.paymentState]);
105
- const showSpinner = useCallback(() => {
106
- log(`[WORLD] showing spinner ${pay.order?.id}`);
107
- const modalOptions = {
108
- closeOnSuccess: props.closeOnSuccess,
109
- resetOnSuccess: props.resetOnSuccess
110
- };
111
- context.showPayment(modalOptions);
112
- context.setRoute(ROUTES.CONFIRMATION);
113
- }, [pay.order?.id, log, props.closeOnSuccess, props.resetOnSuccess]);
114
- const show = useCallback(async () => {
115
- log(`[WORLD] showing payment ${pay.order?.id}`);
116
- if (!isMiniKitReady) {
117
- console.error(
118
- "[WORLD] MiniKit is not installed. Please install @worldcoin/minikit-js to use this feature."
119
- );
120
- return;
121
- }
122
- if (pay.paymentState === "error") {
123
- log("[WORLD] showing payment error page");
124
- const modalOptions = {
125
- closeOnSuccess: props.closeOnSuccess,
126
- resetOnSuccess: props.resetOnSuccess
127
- };
128
- context.showPayment(modalOptions);
129
- return;
130
- }
131
- if (["payment_started", "payment_completed", "payment_bounced"].includes(
132
- pay.paymentState
133
- )) {
134
- showSpinner();
135
- return;
136
- }
137
- log(`[WORLD] hydrating order ${pay.order?.id}`);
138
- const { order } = await pay.hydrateOrder();
139
- log(
140
- `[WORLD] hydrated order ${pay.order?.id}. Prompting payment with MiniKit`
141
- );
142
- const payRes = await promptWorldcoinPayment(order, context.trpc);
143
- if (payRes == null || payRes.finalPayload.status == "error") {
144
- log("[WORLD] Failed to prompt Worldcoin payment: ", payRes);
145
- return;
146
- }
147
- log(`[WORLD] triggering payment search on ${pay.order?.id}`);
148
- pay.paySource();
149
- showSpinner();
150
- }, [
151
- pay,
152
- showSpinner,
153
- context.trpc,
154
- isMiniKitReady,
155
- log,
156
- props.closeOnSuccess,
157
- props.resetOnSuccess
158
- ]);
159
- return props.children({ show, isMiniKitReady });
160
- }
161
- WorldPayButtonCustom.displayName = "WorldPayButton.Custom";
162
- WorldPayButton.Custom = WorldPayButtonCustom;
163
-
164
- export { WorldPayButton };
165
- //# sourceMappingURL=WorldPayButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorldPayButton.js","sources":["../../../src/world-mini-app/WorldPayButton.tsx"],"sourcesContent":["import {\n assertNotNull,\n DaimoPayEventType,\n DaimoPayUserMetadata,\n getDaimoPayOrderView,\n getOrderDestChainId,\n getOrderSourceChainId,\n PaymentBouncedEvent,\n PaymentCompletedEvent,\n PaymentStartedEvent,\n writeDaimoPayOrderID,\n} from \"@daimo/pay-common\";\nimport { ReactElement, useCallback, useEffect, useRef, useState } from \"react\";\nimport { Address, Hex } from \"viem\";\nimport ThemedButton, {\n ThemeContainer,\n} from \"../components/Common/ThemedButton\";\nimport { DaimoPayButtonInner } from \"../components/DaimoPayButton\";\nimport { ROUTES } from \"../constants/routes\";\nimport { useDaimoPay } from \"../hooks/useDaimoPay\";\nimport { usePayContext } from \"../hooks/usePayContext\";\nimport { ResetContainer } from \"../styles\";\nimport { CustomTheme, Mode, Theme } from \"../types\";\nimport { promptWorldcoinPayment } from \"./promptWorldPayment\";\n\nimport { MiniKit } from \"@worldcoin/minikit-js\";\nimport useIsMobile from \"../hooks/useIsMobile\";\n\nexport type WorldPayButtonPaymentProps =\n | {\n /**\n * Your public app ID. Specify either (payId) or (appId + parameters).\n */\n appId: string;\n /**\n * Destination chain ID.\n */\n toChain: number;\n /**\n * The destination token to send, completing payment. Must be an ERC-20\n * token or the zero address, indicating the native token / ETH.\n */\n toToken: Address;\n /**\n * The amount of destination token to send (transfer or approve).\n */\n toUnits: string;\n /**\n * The destination address to transfer to, or contract to call.\n */\n toAddress: Address;\n /**\n * Optional calldata to call an arbitrary function on `toAddress`.\n */\n toCallData?: Hex;\n /**\n * The intent verb, such as \"Pay\", \"Deposit\", or \"Purchase\".\n */\n intent?: string;\n /**\n * External ID. E.g. a correlation ID.\n */\n externalId?: string;\n /**\n * Developer metadata. E.g. correlation ID.\n * */\n metadata?: DaimoPayUserMetadata;\n /**\n * The address to refund to if the payment bounces.\n */\n refundAddress?: Address;\n }\n | {\n /** The payment ID, generated via the Daimo Pay API. Replaces params above. */\n payId: string;\n };\n\ntype WorldPayButtonCommonProps = WorldPayButtonPaymentProps & {\n /** Called when user sends payment and transaction is seen on chain */\n onPaymentStarted?: (event: PaymentStartedEvent) => void;\n /** Called when destination transfer or call completes successfully */\n onPaymentCompleted?: (event: PaymentCompletedEvent) => void;\n /** Called when destination call reverts and funds are refunded */\n onPaymentBounced?: (event: PaymentBouncedEvent) => void;\n /** Open the modal by default. */\n defaultOpen?: boolean;\n /** Automatically close the modal after a successful payment. */\n closeOnSuccess?: boolean;\n /** Reset the payment after a successful payment. */\n resetOnSuccess?: boolean;\n};\n\nexport type WorldPayButtonProps = WorldPayButtonCommonProps & {\n /** Light mode, dark mode, or auto. */\n mode?: Mode;\n /** Named theme. See docs for options. */\n theme?: Theme;\n /** Custom theme. See docs for options. */\n customTheme?: CustomTheme;\n /** Disable interaction. */\n disabled?: boolean;\n};\n\nexport type WorldPayButtonCustomProps = WorldPayButtonCommonProps & {\n children: (renderProps: {\n show: () => void;\n isMiniKitReady: boolean;\n }) => ReactElement;\n};\n\nexport function WorldPayButton(props: WorldPayButtonProps): JSX.Element {\n const { theme, mode, customTheme } = props;\n const context = usePayContext();\n\n return (\n <WorldPayButtonCustom {...props}>\n {({ show, isMiniKitReady }) => (\n <ResetContainer\n $useTheme={theme ?? context.theme}\n $useMode={mode ?? context.mode}\n $customTheme={customTheme ?? context.customTheme}\n >\n <ThemeContainer\n onClick={props.disabled || !isMiniKitReady ? undefined : show}\n >\n <ThemedButton>\n <DaimoPayButtonInner />\n </ThemedButton>\n </ThemeContainer>\n </ResetContainer>\n )}\n </WorldPayButtonCustom>\n );\n}\n\nfunction WorldPayButtonCustom(props: WorldPayButtonCustomProps): JSX.Element {\n const pay = useDaimoPay();\n const context = usePayContext();\n const { paymentState, log } = context;\n const [isMiniKitReady, setIsMiniKitReady] = useState(false);\n const { isIOS } = useIsMobile();\n\n // Payment events: call these three event handlers.\n const { onPaymentStarted, onPaymentCompleted, onPaymentBounced } = props;\n\n // Install Minikit if not already installed\n useEffect(() => {\n log(\"[WORLD] Installing MiniKit\");\n const result = MiniKit.install();\n log(\"[WORLD] MiniKit install result\", result);\n log(\"[WORLD] MiniKit is installed\", MiniKit.isInstalled());\n setIsMiniKitReady(MiniKit.isInstalled());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Set the payParams\n useEffect(() => {\n if (\"payId\" in props) {\n log(\"[WORLD] Using payId from props: \", props.payId);\n paymentState.setPayId(props.payId);\n } else {\n log(\"[WORLD] Creating preview order\");\n paymentState.setPayParams(props);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(props || {})]);\n\n // Set the showContactSupport flag\n useEffect(() => {\n // Links are broken on iOS in World App, so hide the contact support button\n context.setShowContactSupport(!isIOS);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isIOS]);\n\n // Open the modal by default if the defaultOpen prop is true\n const hasAutoOpened = useRef(false);\n useEffect(() => {\n if (!props.defaultOpen || hasAutoOpened.current) return;\n if (pay.order == null) return;\n show();\n hasAutoOpened.current = true;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pay.order, props.defaultOpen, hasAutoOpened.current]);\n\n // Emit onPaymentStart handler when payment state changes to payment_started\n const sentStart = useRef(false);\n useEffect(() => {\n if (sentStart.current) return;\n if (pay.paymentState !== \"payment_started\") return;\n\n // TODO: Populate source payment details immediately when the user pays.\n // Use this hack because source chain id is not immediately populated when\n // payment_started\n const sourceChainId = getOrderSourceChainId(pay.order);\n if (sourceChainId == null) return;\n\n sentStart.current = true;\n onPaymentStarted?.({\n type: DaimoPayEventType.PaymentStarted,\n paymentId: writeDaimoPayOrderID(pay.order.id),\n chainId: sourceChainId,\n txHash: pay.order.sourceInitiateTxHash,\n payment: getDaimoPayOrderView(pay.order),\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pay.order, pay.paymentState]);\n\n // Emit onPaymentComplete or onPaymentBounced handler when payment state\n // changes to payment_completed or payment_bounced\n const sentComplete = useRef(false);\n useEffect(() => {\n if (sentComplete.current) return;\n if (\n pay.paymentState !== \"payment_completed\" &&\n pay.paymentState !== \"payment_bounced\"\n )\n return;\n\n sentComplete.current = true;\n const eventType =\n pay.paymentState === \"payment_completed\"\n ? DaimoPayEventType.PaymentCompleted\n : DaimoPayEventType.PaymentBounced;\n const event = {\n type: eventType,\n paymentId: writeDaimoPayOrderID(pay.order.id),\n chainId: getOrderDestChainId(pay.order),\n txHash: assertNotNull(\n pay.order.destFastFinishTxHash ?? pay.order.destClaimTxHash,\n `[WORLD PAY BUTTON] dest tx hash null on order ${pay.order.id} when intent status is ${pay.order.intentStatus}`,\n ),\n payment: getDaimoPayOrderView(pay.order),\n };\n\n if (pay.paymentState === \"payment_completed\") {\n onPaymentCompleted?.(event as PaymentCompletedEvent);\n } else if (pay.paymentState === \"payment_bounced\") {\n onPaymentBounced?.(event as PaymentBouncedEvent);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pay.order, pay.paymentState]);\n\n // Navigate to the confirmation page in the modal to show the spinner\n const showSpinner = useCallback(() => {\n log(`[WORLD] showing spinner ${pay.order?.id}`);\n const modalOptions = {\n closeOnSuccess: props.closeOnSuccess,\n resetOnSuccess: props.resetOnSuccess,\n };\n context.showPayment(modalOptions);\n context.setRoute(ROUTES.CONFIRMATION);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pay.order?.id, log, props.closeOnSuccess, props.resetOnSuccess]);\n\n // Show the Worldcoin payment drawer and pop open the Daimo Pay modal\n const show = useCallback(async () => {\n log(`[WORLD] showing payment ${pay.order?.id}`);\n if (!isMiniKitReady) {\n console.error(\n \"[WORLD] MiniKit is not installed. Please install @worldcoin/minikit-js to use this feature.\",\n );\n return;\n }\n if (pay.paymentState === \"error\") {\n log(\"[WORLD] showing payment error page\");\n const modalOptions = {\n closeOnSuccess: props.closeOnSuccess,\n resetOnSuccess: props.resetOnSuccess,\n };\n context.showPayment(modalOptions);\n return;\n }\n\n if (\n [\"payment_started\", \"payment_completed\", \"payment_bounced\"].includes(\n pay.paymentState,\n )\n ) {\n showSpinner();\n return;\n }\n\n log(`[WORLD] hydrating order ${pay.order?.id}`);\n const { order } = await pay.hydrateOrder();\n log(\n `[WORLD] hydrated order ${pay.order?.id}. Prompting payment with MiniKit`,\n );\n const payRes = await promptWorldcoinPayment(order, context.trpc);\n if (payRes == null || payRes.finalPayload.status == \"error\") {\n log(\"[WORLD] Failed to prompt Worldcoin payment: \", payRes);\n return;\n }\n\n log(`[WORLD] triggering payment search on ${pay.order?.id}`);\n pay.paySource();\n\n // Optimistically assume the source payment is correct and show the\n // confirmation spinner\n showSpinner();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n pay,\n showSpinner,\n context.trpc,\n isMiniKitReady,\n log,\n props.closeOnSuccess,\n props.resetOnSuccess,\n ]);\n\n return props.children({ show, isMiniKitReady });\n}\n\nWorldPayButtonCustom.displayName = \"WorldPayButton.Custom\";\n\nWorldPayButton.Custom = WorldPayButtonCustom;\n"],"names":[],"mappings":";;;;;;;;;;;;;;AA8GO,SAAS,eAAe,KAAyC,EAAA;AACtE,EAAA,MAAM,EAAE,KAAA,EAAO,IAAM,EAAA,WAAA,EAAgB,GAAA,KAAA,CAAA;AACrC,EAAA,MAAM,UAAU,aAAc,EAAA,CAAA;AAE9B,EACE,uBAAA,GAAA,CAAC,wBAAsB,GAAG,KAAA,EACvB,WAAC,EAAE,IAAA,EAAM,gBACR,qBAAA,GAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,SAAS,OAAQ,CAAA,KAAA;AAAA,MAC5B,QAAA,EAAU,QAAQ,OAAQ,CAAA,IAAA;AAAA,MAC1B,YAAA,EAAc,eAAe,OAAQ,CAAA,WAAA;AAAA,MAErC,QAAA,kBAAA,GAAA;AAAA,QAAC,cAAA;AAAA,QAAA;AAAA,UACC,OAAS,EAAA,KAAA,CAAM,QAAY,IAAA,CAAC,iBAAiB,KAAY,CAAA,GAAA,IAAA;AAAA,UAEzD,QAAC,kBAAA,GAAA,CAAA,YAAA,EAAA,EACC,QAAC,kBAAA,GAAA,CAAA,mBAAA,EAAA,EAAoB,CACvB,EAAA,CAAA;AAAA,SAAA;AAAA,OACF;AAAA,KAAA;AAAA,GAGN,EAAA,CAAA,CAAA;AAEJ,CAAA;AAEA,SAAS,qBAAqB,KAA+C,EAAA;AAC3E,EAAA,MAAM,MAAM,WAAY,EAAA,CAAA;AACxB,EAAA,MAAM,UAAU,aAAc,EAAA,CAAA;AAC9B,EAAM,MAAA,EAAE,YAAc,EAAA,GAAA,EAAQ,GAAA,OAAA,CAAA;AAC9B,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAC1D,EAAM,MAAA,EAAE,KAAM,EAAA,GAAI,WAAY,EAAA,CAAA;AAG9B,EAAA,MAAM,EAAE,gBAAA,EAAkB,kBAAoB,EAAA,gBAAA,EAAqB,GAAA,KAAA,CAAA;AAGnE,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,GAAA,CAAI,4BAA4B,CAAA,CAAA;AAChC,IAAM,MAAA,MAAA,GAAS,QAAQ,OAAQ,EAAA,CAAA;AAC/B,IAAA,GAAA,CAAI,kCAAkC,MAAM,CAAA,CAAA;AAC5C,IAAI,GAAA,CAAA,8BAAA,EAAgC,OAAQ,CAAA,WAAA,EAAa,CAAA,CAAA;AACzD,IAAkB,iBAAA,CAAA,OAAA,CAAQ,aAAa,CAAA,CAAA;AAAA,GAEzC,EAAG,EAAE,CAAA,CAAA;AAGL,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,WAAW,KAAO,EAAA;AACpB,MAAI,GAAA,CAAA,kCAAA,EAAoC,MAAM,KAAK,CAAA,CAAA;AACnD,MAAa,YAAA,CAAA,QAAA,CAAS,MAAM,KAAK,CAAA,CAAA;AAAA,KAC5B,MAAA;AACL,MAAA,GAAA,CAAI,gCAAgC,CAAA,CAAA;AACpC,MAAA,YAAA,CAAa,aAAa,KAAK,CAAA,CAAA;AAAA,KACjC;AAAA,GAEF,EAAG,CAAC,IAAK,CAAA,SAAA,CAAU,SAAS,EAAE,CAAC,CAAC,CAAA,CAAA;AAGhC,EAAA,SAAA,CAAU,MAAM;AAEd,IAAQ,OAAA,CAAA,qBAAA,CAAsB,CAAC,KAAK,CAAA,CAAA;AAAA,GAEtC,EAAG,CAAC,KAAK,CAAC,CAAA,CAAA;AAGV,EAAM,MAAA,aAAA,GAAgB,OAAO,KAAK,CAAA,CAAA;AAClC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,KAAA,CAAM,WAAe,IAAA,aAAA,CAAc,OAAS,EAAA,OAAA;AACjD,IAAI,IAAA,GAAA,CAAI,SAAS,IAAM,EAAA,OAAA;AACvB,IAAK,IAAA,EAAA,CAAA;AACL,IAAA,aAAA,CAAc,OAAU,GAAA,IAAA,CAAA;AAAA,GAE1B,EAAG,CAAC,GAAI,CAAA,KAAA,EAAO,MAAM,WAAa,EAAA,aAAA,CAAc,OAAO,CAAC,CAAA,CAAA;AAGxD,EAAM,MAAA,SAAA,GAAY,OAAO,KAAK,CAAA,CAAA;AAC9B,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,UAAU,OAAS,EAAA,OAAA;AACvB,IAAI,IAAA,GAAA,CAAI,iBAAiB,iBAAmB,EAAA,OAAA;AAK5C,IAAM,MAAA,aAAA,GAAgB,qBAAsB,CAAA,GAAA,CAAI,KAAK,CAAA,CAAA;AACrD,IAAA,IAAI,iBAAiB,IAAM,EAAA,OAAA;AAE3B,IAAA,SAAA,CAAU,OAAU,GAAA,IAAA,CAAA;AACpB,IAAmB,gBAAA,GAAA;AAAA,MACjB,MAAM,iBAAkB,CAAA,cAAA;AAAA,MACxB,SAAW,EAAA,oBAAA,CAAqB,GAAI,CAAA,KAAA,CAAM,EAAE,CAAA;AAAA,MAC5C,OAAS,EAAA,aAAA;AAAA,MACT,MAAA,EAAQ,IAAI,KAAM,CAAA,oBAAA;AAAA,MAClB,OAAA,EAAS,oBAAqB,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,KACxC,CAAA,CAAA;AAAA,KAEA,CAAC,GAAA,CAAI,KAAO,EAAA,GAAA,CAAI,YAAY,CAAC,CAAA,CAAA;AAIhC,EAAM,MAAA,YAAA,GAAe,OAAO,KAAK,CAAA,CAAA;AACjC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,aAAa,OAAS,EAAA,OAAA;AAC1B,IAAA,IACE,GAAI,CAAA,YAAA,KAAiB,mBACrB,IAAA,GAAA,CAAI,YAAiB,KAAA,iBAAA;AAErB,MAAA,OAAA;AAEF,IAAA,YAAA,CAAa,OAAU,GAAA,IAAA,CAAA;AACvB,IAAA,MAAM,YACJ,GAAI,CAAA,YAAA,KAAiB,mBACjB,GAAA,iBAAA,CAAkB,mBAClB,iBAAkB,CAAA,cAAA,CAAA;AACxB,IAAA,MAAM,KAAQ,GAAA;AAAA,MACZ,IAAM,EAAA,SAAA;AAAA,MACN,SAAW,EAAA,oBAAA,CAAqB,GAAI,CAAA,KAAA,CAAM,EAAE,CAAA;AAAA,MAC5C,OAAA,EAAS,mBAAoB,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,MACtC,MAAQ,EAAA,aAAA;AAAA,QACN,GAAI,CAAA,KAAA,CAAM,oBAAwB,IAAA,GAAA,CAAI,KAAM,CAAA,eAAA;AAAA,QAC5C,iDAAiD,GAAI,CAAA,KAAA,CAAM,EAAE,CAA0B,uBAAA,EAAA,GAAA,CAAI,MAAM,YAAY,CAAA,CAAA;AAAA,OAC/G;AAAA,MACA,OAAA,EAAS,oBAAqB,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,KACzC,CAAA;AAEA,IAAI,IAAA,GAAA,CAAI,iBAAiB,mBAAqB,EAAA;AAC5C,MAAA,kBAAA,GAAqB,KAA8B,CAAA,CAAA;AAAA,KACrD,MAAA,IAAW,GAAI,CAAA,YAAA,KAAiB,iBAAmB,EAAA;AACjD,MAAA,gBAAA,GAAmB,KAA4B,CAAA,CAAA;AAAA,KACjD;AAAA,KAEC,CAAC,GAAA,CAAI,KAAO,EAAA,GAAA,CAAI,YAAY,CAAC,CAAA,CAAA;AAGhC,EAAM,MAAA,WAAA,GAAc,YAAY,MAAM;AACpC,IAAA,GAAA,CAAI,CAA2B,wBAAA,EAAA,GAAA,CAAI,KAAO,EAAA,EAAE,CAAE,CAAA,CAAA,CAAA;AAC9C,IAAA,MAAM,YAAe,GAAA;AAAA,MACnB,gBAAgB,KAAM,CAAA,cAAA;AAAA,MACtB,gBAAgB,KAAM,CAAA,cAAA;AAAA,KACxB,CAAA;AACA,IAAA,OAAA,CAAQ,YAAY,YAAY,CAAA,CAAA;AAChC,IAAQ,OAAA,CAAA,QAAA,CAAS,OAAO,YAAY,CAAA,CAAA;AAAA,GAEtC,EAAG,CAAC,GAAA,CAAI,KAAO,EAAA,EAAA,EAAI,KAAK,KAAM,CAAA,cAAA,EAAgB,KAAM,CAAA,cAAc,CAAC,CAAA,CAAA;AAGnE,EAAM,MAAA,IAAA,GAAO,YAAY,YAAY;AACnC,IAAA,GAAA,CAAI,CAA2B,wBAAA,EAAA,GAAA,CAAI,KAAO,EAAA,EAAE,CAAE,CAAA,CAAA,CAAA;AAC9C,IAAA,IAAI,CAAC,cAAgB,EAAA;AACnB,MAAQ,OAAA,CAAA,KAAA;AAAA,QACN,6FAAA;AAAA,OACF,CAAA;AACA,MAAA,OAAA;AAAA,KACF;AACA,IAAI,IAAA,GAAA,CAAI,iBAAiB,OAAS,EAAA;AAChC,MAAA,GAAA,CAAI,oCAAoC,CAAA,CAAA;AACxC,MAAA,MAAM,YAAe,GAAA;AAAA,QACnB,gBAAgB,KAAM,CAAA,cAAA;AAAA,QACtB,gBAAgB,KAAM,CAAA,cAAA;AAAA,OACxB,CAAA;AACA,MAAA,OAAA,CAAQ,YAAY,YAAY,CAAA,CAAA;AAChC,MAAA,OAAA;AAAA,KACF;AAEA,IAAA,IACE,CAAC,iBAAA,EAAmB,mBAAqB,EAAA,iBAAiB,CAAE,CAAA,QAAA;AAAA,MAC1D,GAAI,CAAA,YAAA;AAAA,KAEN,EAAA;AACA,MAAY,WAAA,EAAA,CAAA;AACZ,MAAA,OAAA;AAAA,KACF;AAEA,IAAA,GAAA,CAAI,CAA2B,wBAAA,EAAA,GAAA,CAAI,KAAO,EAAA,EAAE,CAAE,CAAA,CAAA,CAAA;AAC9C,IAAA,MAAM,EAAE,KAAA,EAAU,GAAA,MAAM,IAAI,YAAa,EAAA,CAAA;AACzC,IAAA,GAAA;AAAA,MACE,CAAA,uBAAA,EAA0B,GAAI,CAAA,KAAA,EAAO,EAAE,CAAA,gCAAA,CAAA;AAAA,KACzC,CAAA;AACA,IAAA,MAAM,MAAS,GAAA,MAAM,sBAAuB,CAAA,KAAA,EAAO,QAAQ,IAAI,CAAA,CAAA;AAC/D,IAAA,IAAI,MAAU,IAAA,IAAA,IAAQ,MAAO,CAAA,YAAA,CAAa,UAAU,OAAS,EAAA;AAC3D,MAAA,GAAA,CAAI,gDAAgD,MAAM,CAAA,CAAA;AAC1D,MAAA,OAAA;AAAA,KACF;AAEA,IAAA,GAAA,CAAI,CAAwC,qCAAA,EAAA,GAAA,CAAI,KAAO,EAAA,EAAE,CAAE,CAAA,CAAA,CAAA;AAC3D,IAAA,GAAA,CAAI,SAAU,EAAA,CAAA;AAId,IAAY,WAAA,EAAA,CAAA;AAAA,GAEX,EAAA;AAAA,IACD,GAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAQ,CAAA,IAAA;AAAA,IACR,cAAA;AAAA,IACA,GAAA;AAAA,IACA,KAAM,CAAA,cAAA;AAAA,IACN,KAAM,CAAA,cAAA;AAAA,GACP,CAAA,CAAA;AAED,EAAA,OAAO,KAAM,CAAA,QAAA,CAAS,EAAE,IAAA,EAAM,gBAAgB,CAAA,CAAA;AAChD,CAAA;AAEA,oBAAA,CAAqB,WAAc,GAAA,uBAAA,CAAA;AAEnC,cAAA,CAAe,MAAS,GAAA,oBAAA;;;;"}
@@ -1,59 +0,0 @@
1
- import { worldchainWLD, worldchainUSDC, assert } from '@daimo/pay-common';
2
- import { getAddress } from 'viem';
3
- import { MiniKit, Tokens } from '@worldcoin/minikit-js';
4
-
5
- async function promptWorldcoinPayment(order, trpc) {
6
- try {
7
- if (!MiniKit.isInstalled()) {
8
- console.error(
9
- "[WORLD] MiniKit is not installed. Please install @worldcoin/minikit-js to use this feature."
10
- );
11
- return null;
12
- }
13
- const paymentOptions = await trpc.getTokenPaymentOptions.query({
14
- orderId: order.id,
15
- tokens: [
16
- {
17
- chainId: worldchainWLD.chainId,
18
- token: worldchainWLD.token
19
- },
20
- {
21
- chainId: worldchainUSDC.chainId,
22
- token: worldchainUSDC.token
23
- }
24
- ]
25
- });
26
- const wld = paymentOptions.find(
27
- (opt) => getAddress(opt.token.token) === getAddress(worldchainWLD.token)
28
- );
29
- const usdc = paymentOptions.find(
30
- (opt) => getAddress(opt.token.token) === getAddress(worldchainUSDC.token)
31
- );
32
- assert(wld != null, "WLD DP token not found");
33
- assert(usdc != null, "USDC DP token not found");
34
- const paymentId = crypto.randomUUID().replace(/-/g, "");
35
- const payload = {
36
- reference: paymentId,
37
- to: order.intentAddr,
38
- tokens: [
39
- {
40
- symbol: Tokens.WLD,
41
- token_amount: wld.amount
42
- },
43
- {
44
- symbol: Tokens.USDC,
45
- token_amount: usdc.amount
46
- }
47
- ],
48
- description: order.metadata.intent
49
- };
50
- const { finalPayload } = await MiniKit.commandsAsync.pay(payload);
51
- return { paymentId, finalPayload };
52
- } catch (error) {
53
- console.error("[WORLD] Error sending payment", error);
54
- return null;
55
- }
56
- }
57
-
58
- export { promptWorldcoinPayment };
59
- //# sourceMappingURL=promptWorldPayment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promptWorldPayment.js","sources":["../../../src/world-mini-app/promptWorldPayment.ts"],"sourcesContent":["import {\n assert,\n DaimoPayHydratedOrderWithOrg,\n DaimoPayTokenAmount,\n worldchainUSDC,\n worldchainWLD,\n} from \"@daimo/pay-common\";\nimport { getAddress } from \"viem\";\n\nimport {\n MiniAppPaymentPayload,\n MiniKit,\n PayCommandInput,\n Tokens,\n} from \"@worldcoin/minikit-js\";\n\n/**\n * Open Worldcoin's payment drawer and prompt the user to pay a Daimo Pay order.\n */\nexport async function promptWorldcoinPayment(\n order: DaimoPayHydratedOrderWithOrg,\n trpc: any,\n): Promise<{ paymentId: string; finalPayload: MiniAppPaymentPayload } | null> {\n try {\n if (!MiniKit.isInstalled()) {\n console.error(\n \"[WORLD] MiniKit is not installed. Please install @worldcoin/minikit-js to use this feature.\",\n );\n return null;\n }\n\n const paymentOptions = (await trpc.getTokenPaymentOptions.query({\n orderId: order.id,\n tokens: [\n {\n chainId: worldchainWLD.chainId,\n token: worldchainWLD.token,\n },\n {\n chainId: worldchainUSDC.chainId,\n token: worldchainUSDC.token,\n },\n ],\n })) as DaimoPayTokenAmount[];\n\n const wld = paymentOptions.find(\n (opt) => getAddress(opt.token.token) === getAddress(worldchainWLD.token),\n );\n const usdc = paymentOptions.find(\n (opt) => getAddress(opt.token.token) === getAddress(worldchainUSDC.token),\n );\n\n assert(wld != null, \"WLD DP token not found\");\n assert(usdc != null, \"USDC DP token not found\");\n\n const paymentId = crypto.randomUUID().replace(/-/g, \"\");\n const payload: PayCommandInput = {\n reference: paymentId,\n to: order.intentAddr,\n tokens: [\n {\n symbol: Tokens.WLD,\n token_amount: wld.amount,\n },\n {\n symbol: Tokens.USDC,\n token_amount: usdc.amount,\n },\n ],\n description: order.metadata.intent,\n };\n const { finalPayload } = await MiniKit.commandsAsync.pay(payload);\n return { paymentId, finalPayload };\n } catch (error: unknown) {\n console.error(\"[WORLD] Error sending payment\", error);\n return null;\n }\n}\n"],"names":[],"mappings":";;;;AAmBsB,eAAA,sBAAA,CACpB,OACA,IAC4E,EAAA;AAC5E,EAAI,IAAA;AACF,IAAI,IAAA,CAAC,OAAQ,CAAA,WAAA,EAAe,EAAA;AAC1B,MAAQ,OAAA,CAAA,KAAA;AAAA,QACN,6FAAA;AAAA,OACF,CAAA;AACA,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAEA,IAAA,MAAM,cAAkB,GAAA,MAAM,IAAK,CAAA,sBAAA,CAAuB,KAAM,CAAA;AAAA,MAC9D,SAAS,KAAM,CAAA,EAAA;AAAA,MACf,MAAQ,EAAA;AAAA,QACN;AAAA,UACE,SAAS,aAAc,CAAA,OAAA;AAAA,UACvB,OAAO,aAAc,CAAA,KAAA;AAAA,SACvB;AAAA,QACA;AAAA,UACE,SAAS,cAAe,CAAA,OAAA;AAAA,UACxB,OAAO,cAAe,CAAA,KAAA;AAAA,SACxB;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AAED,IAAA,MAAM,MAAM,cAAe,CAAA,IAAA;AAAA,MACzB,CAAC,QAAQ,UAAW,CAAA,GAAA,CAAI,MAAM,KAAK,CAAA,KAAM,UAAW,CAAA,aAAA,CAAc,KAAK,CAAA;AAAA,KACzE,CAAA;AACA,IAAA,MAAM,OAAO,cAAe,CAAA,IAAA;AAAA,MAC1B,CAAC,QAAQ,UAAW,CAAA,GAAA,CAAI,MAAM,KAAK,CAAA,KAAM,UAAW,CAAA,cAAA,CAAe,KAAK,CAAA;AAAA,KAC1E,CAAA;AAEA,IAAO,MAAA,CAAA,GAAA,IAAO,MAAM,wBAAwB,CAAA,CAAA;AAC5C,IAAO,MAAA,CAAA,IAAA,IAAQ,MAAM,yBAAyB,CAAA,CAAA;AAE9C,IAAA,MAAM,YAAY,MAAO,CAAA,UAAA,EAAa,CAAA,OAAA,CAAQ,MAAM,EAAE,CAAA,CAAA;AACtD,IAAA,MAAM,OAA2B,GAAA;AAAA,MAC/B,SAAW,EAAA,SAAA;AAAA,MACX,IAAI,KAAM,CAAA,UAAA;AAAA,MACV,MAAQ,EAAA;AAAA,QACN;AAAA,UACE,QAAQ,MAAO,CAAA,GAAA;AAAA,UACf,cAAc,GAAI,CAAA,MAAA;AAAA,SACpB;AAAA,QACA;AAAA,UACE,QAAQ,MAAO,CAAA,IAAA;AAAA,UACf,cAAc,IAAK,CAAA,MAAA;AAAA,SACrB;AAAA,OACF;AAAA,MACA,WAAA,EAAa,MAAM,QAAS,CAAA,MAAA;AAAA,KAC9B,CAAA;AACA,IAAA,MAAM,EAAE,YAAa,EAAA,GAAI,MAAM,OAAQ,CAAA,aAAA,CAAc,IAAI,OAAO,CAAA,CAAA;AAChE,IAAO,OAAA,EAAE,WAAW,YAAa,EAAA,CAAA;AAAA,WAC1B,KAAgB,EAAA;AACvB,IAAQ,OAAA,CAAA,KAAA,CAAM,iCAAiC,KAAK,CAAA,CAAA;AACpD,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AACF;;;;"}
@@ -1,76 +0,0 @@
1
- import { worldchainUSDC } from '@daimo/pay-common';
2
- import { MiniKit } from '@worldcoin/minikit-js';
3
- import { useState, useEffect, useCallback } from 'react';
4
- import { getAddress } from 'viem';
5
- import { ROUTES } from '../constants/routes.js';
6
- import { useDaimoPay } from '../hooks/useDaimoPay.js';
7
- import { usePayContext } from '../hooks/usePayContext.js';
8
- import { useWorldSignIn } from './useWorldSignIn.js';
9
-
10
- function useWithdrawToWorld() {
11
- const { signInWithWorld } = useWorldSignIn();
12
- const [isMiniKitReady, setIsMiniKitReady] = useState(false);
13
- const pay = useDaimoPay();
14
- const context = usePayContext();
15
- const { paymentState, log } = context;
16
- const [modalOptions, setModalOptions] = useState({
17
- closeOnSuccess: false,
18
- resetOnSuccess: false
19
- });
20
- useEffect(() => {
21
- log("[WORLD] Installing MiniKit");
22
- const result = MiniKit.install();
23
- log("[WORLD] MiniKit install result", result);
24
- log("[WORLD] MiniKit is installed", MiniKit.isInstalled());
25
- setIsMiniKitReady(MiniKit.isInstalled());
26
- }, []);
27
- const showSpinner = useCallback(() => {
28
- log(`[WORLD] showing spinner ${pay.order?.id}`);
29
- context.showPayment(modalOptions);
30
- context.setRoute(ROUTES.CONFIRMATION);
31
- }, [pay.order?.id, modalOptions]);
32
- useEffect(() => {
33
- if (pay.paymentState === "payment_started") {
34
- showSpinner();
35
- }
36
- }, [pay.paymentState, showSpinner]);
37
- const withdrawToWorld = useCallback(
38
- async ({
39
- appId,
40
- toUnits,
41
- closeOnSuccess = false,
42
- resetOnSuccess = false
43
- }) => {
44
- if (!isMiniKitReady) {
45
- console.error("[WORLD_WITHDRAW] MiniKit is not installed");
46
- return null;
47
- }
48
- const worldUser = await signInWithWorld();
49
- if (!worldUser?.walletAddress) {
50
- log("[WORLD_WITHDRAW] user is not signed in");
51
- return null;
52
- }
53
- await paymentState.setPayParams({
54
- appId,
55
- toChain: worldchainUSDC.chainId,
56
- toToken: getAddress(worldchainUSDC.token),
57
- toUnits,
58
- toAddress: getAddress(worldUser.walletAddress),
59
- intent: "Withdraw to World App"
60
- });
61
- const hydratedState = await pay.hydrateOrder();
62
- const intentAddress = hydratedState.order.intentAddr;
63
- log(
64
- `[WORLD_WITHDRAW] hydrated order ${pay.order?.id} with intent address ${intentAddress}. Polling for payment`
65
- );
66
- setModalOptions({ closeOnSuccess, resetOnSuccess });
67
- return intentAddress;
68
- },
69
- // eslint-disable-next-line react-hooks/exhaustive-deps
70
- [isMiniKitReady, signInWithWorld, pay, log]
71
- );
72
- return { withdrawToWorld };
73
- }
74
-
75
- export { useWithdrawToWorld };
76
- //# sourceMappingURL=useWithdrawToWorld.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWithdrawToWorld.js","sources":["../../../src/world-mini-app/useWithdrawToWorld.tsx"],"sourcesContent":["import { worldchainUSDC } from \"@daimo/pay-common\";\nimport { MiniKit } from \"@worldcoin/minikit-js\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { Address, getAddress } from \"viem\";\nimport { ROUTES } from \"../constants/routes\";\nimport { useDaimoPay } from \"../hooks/useDaimoPay\";\nimport { usePayContext } from \"../hooks/usePayContext\";\nimport { DaimoPayModalOptions } from \"../types\";\nimport { useWorldSignIn } from \"./useWorldSignIn\";\n\nexport function useWithdrawToWorld() {\n const { signInWithWorld } = useWorldSignIn();\n const [isMiniKitReady, setIsMiniKitReady] = useState(false);\n\n const pay = useDaimoPay();\n const context = usePayContext();\n const { paymentState, log } = context;\n const [modalOptions, setModalOptions] = useState<DaimoPayModalOptions>({\n closeOnSuccess: false,\n resetOnSuccess: false,\n });\n\n // Install Minikit if not already installed\n useEffect(() => {\n log(\"[WORLD] Installing MiniKit\");\n const result = MiniKit.install();\n log(\"[WORLD] MiniKit install result\", result);\n log(\"[WORLD] MiniKit is installed\", MiniKit.isInstalled());\n setIsMiniKitReady(MiniKit.isInstalled());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const showSpinner = useCallback(() => {\n log(`[WORLD] showing spinner ${pay.order?.id}`);\n context.showPayment(modalOptions);\n context.setRoute(ROUTES.CONFIRMATION);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pay.order?.id, modalOptions]);\n\n // Auto-open spinner when payment starts\n useEffect(() => {\n if (pay.paymentState === \"payment_started\") {\n showSpinner();\n }\n }, [pay.paymentState, showSpinner]);\n\n const withdrawToWorld = useCallback(\n async ({\n appId,\n toUnits,\n closeOnSuccess = false,\n resetOnSuccess = false,\n }: {\n appId: string;\n toUnits: string;\n closeOnSuccess?: boolean;\n resetOnSuccess?: boolean;\n }): Promise<Address | null> => {\n if (!isMiniKitReady) {\n console.error(\"[WORLD_WITHDRAW] MiniKit is not installed\");\n return null;\n }\n\n const worldUser = await signInWithWorld();\n\n if (!worldUser?.walletAddress) {\n log(\"[WORLD_WITHDRAW] user is not signed in\");\n return null;\n }\n\n // Create a payment to withdraw to the user's world wallet\n await paymentState.setPayParams({\n appId,\n toChain: worldchainUSDC.chainId,\n toToken: getAddress(worldchainUSDC.token),\n toUnits,\n toAddress: getAddress(worldUser.walletAddress),\n intent: \"Withdraw to World App\",\n });\n\n // Hydrate the order and return the intent address\n const hydratedState = await pay.hydrateOrder();\n const intentAddress = hydratedState.order.intentAddr;\n log(\n `[WORLD_WITHDRAW] hydrated order ${pay.order?.id} with intent address ${intentAddress}. Polling for payment`,\n );\n setModalOptions({ closeOnSuccess, resetOnSuccess });\n return intentAddress;\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [isMiniKitReady, signInWithWorld, pay, log],\n );\n\n return { withdrawToWorld };\n}\n"],"names":[],"mappings":"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"}
@@ -1,74 +0,0 @@
1
- import { MiniKit } from '@worldcoin/minikit-js';
2
- import { useState, useCallback } from 'react';
3
-
4
- function useWorldSignIn() {
5
- const [worldUser, setWorldUser] = useState(null);
6
- const [isLoadingSignIn, setIsLoadingSignIn] = useState(false);
7
- const signInWithWorld = useCallback(async () => {
8
- if (worldUser != null) {
9
- console.log("[WORLD_SIGNIN] user already signed in");
10
- return worldUser;
11
- }
12
- setIsLoadingSignIn(true);
13
- try {
14
- if (!MiniKit.isInstalled()) {
15
- console.log("[WORLD_SIGNIN] MiniKit is not installed");
16
- return null;
17
- }
18
- const res = await fetch("https://pay.daimo.com/api/worldcoin/siwe-nonce");
19
- const { nonce } = await res.json();
20
- console.log("[WORLD_SIGNIN] nonce", nonce);
21
- const nextWeek = new Date(Date.now() + 7 * 24 * 60 * 60 * 1e3);
22
- const yesterday = new Date(Date.now() - 24 * 60 * 60 * 1e3);
23
- const { commandPayload: generateMessageResult, finalPayload } = await MiniKit.commandsAsync.walletAuth({
24
- nonce,
25
- requestId: "0",
26
- expirationTime: nextWeek,
27
- notBefore: yesterday,
28
- statement: "Sign in"
29
- });
30
- console.log(
31
- "[WORLD_SIGNIN] generateMessageResult",
32
- generateMessageResult
33
- );
34
- console.log("[WORLD_SIGNIN] finalPayload", finalPayload);
35
- if (finalPayload.status === "error") {
36
- return null;
37
- } else {
38
- const response = await fetch(
39
- "https://pay.daimo.com/api/worldcoin/complete-siwe",
40
- {
41
- method: "POST",
42
- headers: {
43
- "Content-Type": "application/json"
44
- },
45
- body: JSON.stringify({
46
- payload: finalPayload,
47
- nonce
48
- })
49
- }
50
- );
51
- const verificationResponse = await response.json();
52
- console.log(
53
- "[WORLD_SIGNIN] verification response",
54
- verificationResponse
55
- );
56
- if (verificationResponse.isValid) {
57
- console.log("[WORLD_SIGNIN] user is valid");
58
- const user = await MiniKit.getUserByAddress(finalPayload.address);
59
- setWorldUser(user);
60
- return user;
61
- }
62
- }
63
- } catch (error) {
64
- console.error("[WORLD_SIGNIN] error", error);
65
- } finally {
66
- setIsLoadingSignIn(false);
67
- }
68
- return null;
69
- }, [setWorldUser, setIsLoadingSignIn, worldUser]);
70
- return { signInWithWorld, worldUser, isLoadingSignIn };
71
- }
72
-
73
- export { useWorldSignIn };
74
- //# sourceMappingURL=useWorldSignIn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWorldSignIn.js","sources":["../../../src/world-mini-app/useWorldSignIn.tsx"],"sourcesContent":["import { MiniKit } from \"@worldcoin/minikit-js\";\nimport { useCallback, useState } from \"react\";\n\nexport function useWorldSignIn(): {\n signInWithWorld: () => Promise<typeof MiniKit.user | null>;\n worldUser: typeof MiniKit.user | null;\n isLoadingSignIn: boolean;\n} {\n const [worldUser, setWorldUser] = useState<typeof MiniKit.user | null>(null);\n const [isLoadingSignIn, setIsLoadingSignIn] = useState(false);\n\n const signInWithWorld = useCallback(async (): Promise<\n typeof MiniKit.user | null\n > => {\n if (worldUser != null) {\n console.log(\"[WORLD_SIGNIN] user already signed in\");\n return worldUser;\n }\n\n setIsLoadingSignIn(true);\n try {\n if (!MiniKit.isInstalled()) {\n console.log(\"[WORLD_SIGNIN] MiniKit is not installed\");\n return null;\n }\n\n const res = await fetch(\"https://pay.daimo.com/api/worldcoin/siwe-nonce\");\n const { nonce } = await res.json();\n\n console.log(\"[WORLD_SIGNIN] nonce\", nonce);\n\n const nextWeek = new Date(Date.now() + 7 * 24 * 60 * 60 * 1000);\n const yesterday = new Date(Date.now() - 24 * 60 * 60 * 1000);\n\n const { commandPayload: generateMessageResult, finalPayload } =\n await MiniKit.commandsAsync.walletAuth({\n nonce,\n requestId: \"0\",\n expirationTime: nextWeek,\n notBefore: yesterday,\n statement: \"Sign in\",\n });\n\n console.log(\n \"[WORLD_SIGNIN] generateMessageResult\",\n generateMessageResult,\n );\n console.log(\"[WORLD_SIGNIN] finalPayload\", finalPayload);\n\n if (finalPayload.status === \"error\") {\n return null;\n } else {\n const response = await fetch(\n \"https://pay.daimo.com/api/worldcoin/complete-siwe\",\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n payload: finalPayload,\n nonce,\n }),\n },\n );\n const verificationResponse = await response.json();\n\n console.log(\n \"[WORLD_SIGNIN] verification response\",\n verificationResponse,\n );\n if (verificationResponse.isValid) {\n console.log(\"[WORLD_SIGNIN] user is valid\");\n const user = await MiniKit.getUserByAddress(finalPayload.address);\n setWorldUser(user);\n return user;\n }\n }\n } catch (error) {\n console.error(\"[WORLD_SIGNIN] error\", error);\n } finally {\n setIsLoadingSignIn(false);\n }\n return null;\n }, [setWorldUser, setIsLoadingSignIn, worldUser]);\n\n return { signInWithWorld, worldUser, isLoadingSignIn };\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export { useWithdrawToWorld } from './world-mini-app/useWithdrawToWorld.js';
2
- export { useWorldSignIn } from './world-mini-app/useWorldSignIn.js';
3
- export { WorldPayButton } from './world-mini-app/WorldPayButton.js';
4
- //# sourceMappingURL=world.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"world.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -1,65 +0,0 @@
1
- import React$1, { ReactNode } from 'react';
2
-
3
- type Hash = `0x${string}`;
4
- type CustomAvatarProps = {
5
- address?: Hash | undefined;
6
- ensName?: string | undefined;
7
- ensImage?: string;
8
- size: number;
9
- radius: number;
10
- };
11
- /** Icon for an Ethereum address. Supports ENS names and avatars. */
12
- declare const Avatar: React$1.FC<{
13
- address?: Hash | undefined;
14
- name?: string | undefined;
15
- size?: number;
16
- radius?: number;
17
- }>;
18
-
19
- type Languages$1 = "ar-AE" | "en-US" | "ee-EE" | "es-ES" | "fa-IR" | "fr-FR" | "ja-JP" | "pt-BR" | "zh-CN" | "ca-AD" | "ru-RU" | "zh-CN" | "tr-TR" | "vi-VN";
20
-
21
- type Languages = Languages$1;
22
- type Theme = "auto" | "web95" | "retro" | "soft" | "midnight" | "minimal" | "rounded" | "nouns";
23
- type Mode = "light" | "dark" | "auto";
24
- type CustomTheme = any;
25
- type All = {
26
- theme?: Theme;
27
- mode?: Mode;
28
- customTheme?: CustomTheme;
29
- lang?: Languages;
30
- };
31
-
32
- /** Global options, across all pay buttons and payments. */
33
- type DaimoPayContextOptions = {
34
- language?: Languages;
35
- hideBalance?: boolean;
36
- hideTooltips?: boolean;
37
- hideQuestionMarkCTA?: boolean;
38
- hideRecentBadge?: boolean;
39
- /** Avoids layout shift when the DaimoPay modal is open by adding padding to the body */
40
- avoidLayoutShift?: boolean;
41
- /** Automatically embeds Google Font of the current theme. Does not work with custom themes */
42
- embedGoogleFonts?: boolean;
43
- truncateLongENSAddress?: boolean;
44
- reducedMotion?: boolean;
45
- disclaimer?: ReactNode | string;
46
- bufferPolyfill?: boolean;
47
- customAvatar?: React.FC<CustomAvatarProps>;
48
- initialChainId?: number;
49
- enforceSupportedChains?: boolean;
50
- ethereumOnboardingUrl?: string;
51
- walletOnboardingUrl?: string;
52
- /** Blur the background when the modal is open */
53
- overlayBlur?: number;
54
- /** Disable mobile wallet injector detection */
55
- disableMobileInjector?: boolean;
56
- };
57
- /** Modal UI options, set on the pay button triggering that modal. */
58
- type DaimoPayModalOptions = {
59
- closeOnSuccess?: boolean;
60
- resetOnSuccess?: boolean;
61
- connectedWalletOnly?: boolean;
62
- };
63
-
64
- export { Avatar as A };
65
- export type { CustomTheme as C, DaimoPayContextOptions as D, Languages as L, Mode as M, Theme as T, DaimoPayModalOptions as a, CustomAvatarProps as b, All as c };