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