@daimo/pay 1.6.2 → 1.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.d.ts +250 -249
- package/build/index.js +12039 -0
- package/build/index.js.map +1 -0
- package/package.json +5 -4
- package/build/package.json.js +0 -101
- package/build/package.json.js.map +0 -1
- package/build/pay/packages/connectkit/src/assets/ScanIconWithLogos.d.ts +0 -5
- package/build/pay/packages/connectkit/src/assets/browsers.d.ts +0 -10
- package/build/pay/packages/connectkit/src/assets/chains.d.ts +0 -28
- package/build/pay/packages/connectkit/src/assets/coins.d.ts +0 -2
- package/build/pay/packages/connectkit/src/assets/crepe.d.ts +0 -4
- package/build/pay/packages/connectkit/src/assets/icons.d.ts +0 -36
- package/build/pay/packages/connectkit/src/assets/logos.d.ts +0 -205
- package/build/pay/packages/connectkit/src/assets/wallet.d.ts +0 -4
- package/build/pay/packages/connectkit/src/assets/wave.d.ts +0 -2
- package/build/pay/packages/connectkit/src/components/Common/Alert/index.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/Common/Alert/styles.d.ts +0 -2
- package/build/pay/packages/connectkit/src/components/Common/Alert/types.d.ts +0 -5
- package/build/pay/packages/connectkit/src/components/Common/AmountInput/AmountInputField.d.ts +0 -8
- package/build/pay/packages/connectkit/src/components/Common/AmountInput/index.d.ts +0 -9
- package/build/pay/packages/connectkit/src/components/Common/Avatar/index.d.ts +0 -17
- package/build/pay/packages/connectkit/src/components/Common/Avatar/styles.d.ts +0 -2
- package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/index.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/styles.d.ts +0 -1
- package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/types.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Common/Button/index.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Common/Button/styles.d.ts +0 -10
- package/build/pay/packages/connectkit/src/components/Common/Button/types.d.ts +0 -15
- package/build/pay/packages/connectkit/src/components/Common/Chain/index.d.ts +0 -9
- package/build/pay/packages/connectkit/src/components/Common/Chain/styles.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Common/ChainSelect/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Common/ChainSelectDropdown/index.d.ts +0 -9
- package/build/pay/packages/connectkit/src/components/Common/ChainSelectDropdown/styles.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/index.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/styles.d.ts +0 -9
- package/build/pay/packages/connectkit/src/components/Common/ConnectorList/index.d.ts +0 -2
- package/build/pay/packages/connectkit/src/components/Common/ConnectorList/styles.d.ts +0 -5
- package/build/pay/packages/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/Common/CopyToClipboard/index.d.ts +0 -7
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/QRCode.d.ts +0 -12
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/index.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/styles.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/types.d.ts +0 -8
- package/build/pay/packages/connectkit/src/components/Common/DynamicContainer/index.d.ts +0 -7
- package/build/pay/packages/connectkit/src/components/Common/FitText/index.d.ts +0 -8
- package/build/pay/packages/connectkit/src/components/Common/LazyImage/index.d.ts +0 -8
- package/build/pay/packages/connectkit/src/components/Common/Logo/index.d.ts +0 -8
- package/build/pay/packages/connectkit/src/components/Common/Logo/styles.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Common/Modal/index.d.ts +0 -25
- package/build/pay/packages/connectkit/src/components/Common/Modal/styles.d.ts +0 -24
- package/build/pay/packages/connectkit/src/components/Common/OptionsList/index.d.ts +0 -14
- package/build/pay/packages/connectkit/src/components/Common/OptionsList/styles.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/Common/OrderHeader/index.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Common/PaymentBreakdown/index.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/Common/Portal/index.d.ts +0 -2
- package/build/pay/packages/connectkit/src/components/Common/PoweredByFooter/index.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Common/ScrollArea/index.d.ts +0 -7
- package/build/pay/packages/connectkit/src/components/Common/ScrollArea/styles.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Common/Spinner/index.d.ts +0 -1
- package/build/pay/packages/connectkit/src/components/Common/Spinner/styles.d.ts +0 -1
- package/build/pay/packages/connectkit/src/components/Common/SwitchButton/index.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/Common/ThemedButton/index.d.ts +0 -15
- package/build/pay/packages/connectkit/src/components/Common/ThemedButton/styles.d.ts +0 -2
- package/build/pay/packages/connectkit/src/components/Common/TokenChainLogo/index.d.ts +0 -5
- package/build/pay/packages/connectkit/src/components/Common/Tooltip/index.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Common/Tooltip/styles.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Common/Tooltip/types.d.ts +0 -9
- package/build/pay/packages/connectkit/src/components/Common/WalletChainLogo/index.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/DaimoPay.d.ts +0 -104
- package/build/pay/packages/connectkit/src/components/DaimoPayButton/index.d.ts +0 -153
- package/build/pay/packages/connectkit/src/components/DaimoPayButton/styles.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectUsing.d.ts +0 -2
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.d.ts +0 -15
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.d.ts +0 -5
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/index.d.ts +0 -7
- package/build/pay/packages/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.d.ts +0 -16
- package/build/pay/packages/connectkit/src/components/NetworkButton/index.d.ts +0 -8
- package/build/pay/packages/connectkit/src/components/Pages/About/graphics.d.ts +0 -11
- package/build/pay/packages/connectkit/src/components/Pages/About/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/About/styles.d.ts +0 -8
- package/build/pay/packages/connectkit/src/components/Pages/Confirmation/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/Connectors/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/Connectors/styles.d.ts +0 -9
- package/build/pay/packages/connectkit/src/components/Pages/DownloadApp/index.d.ts +0 -2
- package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/styles.d.ts +0 -5
- package/build/pay/packages/connectkit/src/components/Pages/Onboarding/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/Onboarding/styles.d.ts +0 -9
- package/build/pay/packages/connectkit/src/components/Pages/PayWithToken/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/SelectAmount/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressAmount/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressChain/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/SelectExternalAmount/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/SelectMethod/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/SelectMethod/styles.d.ts +0 -9
- package/build/pay/packages/connectkit/src/components/Pages/SelectToken/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/Solana/ConnectSolana/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/Solana/ConnectorSolana/index.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/Solana/SelectSolanaToken/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/SwitchNetworks/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/WaitingDepositAddress/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Pages/WaitingExternal/index.d.ts +0 -3
- package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/index.d.ts +0 -9
- package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/styles.d.ts +0 -5
- package/build/pay/packages/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/index.d.ts +0 -5
- package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/styles.d.ts +0 -4
- package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/index.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/styles.d.ts +0 -1
- package/build/pay/packages/connectkit/src/components/Spinners/styles.d.ts +0 -2
- package/build/pay/packages/connectkit/src/components/contexts/solana/index.d.ts +0 -6
- package/build/pay/packages/connectkit/src/components/contexts/web3/index.d.ts +0 -25
- package/build/pay/packages/connectkit/src/constants/defaultTheme.d.ts +0 -4
- package/build/pay/packages/connectkit/src/defaultConfig.d.ts +0 -22
- package/build/pay/packages/connectkit/src/defaultConnectors.d.ts +0 -15
- package/build/pay/packages/connectkit/src/hooks/connectors/useWalletConnectUri.d.ts +0 -7
- package/build/pay/packages/connectkit/src/hooks/hookTypes.d.ts +0 -9
- package/build/pay/packages/connectkit/src/hooks/useChainIsSupported.d.ts +0 -2
- package/build/pay/packages/connectkit/src/hooks/useChains.d.ts +0 -3
- package/build/pay/packages/connectkit/src/hooks/useConnect.d.ts +0 -110
- package/build/pay/packages/connectkit/src/hooks/useConnectCallback.d.ts +0 -8
- package/build/pay/packages/connectkit/src/hooks/useConnectors.d.ts +0 -7
- package/build/pay/packages/connectkit/src/hooks/useDaimoPayStatus.d.ts +0 -15
- package/build/pay/packages/connectkit/src/hooks/useDepositAddressOptions.d.ts +0 -10
- package/build/pay/packages/connectkit/src/hooks/useEnsFallbackConfig.d.ts +0 -2
- package/build/pay/packages/connectkit/src/hooks/useExternalPaymentOptions.d.ts +0 -12
- package/build/pay/packages/connectkit/src/hooks/useFitText.d.ts +0 -14
- package/build/pay/packages/connectkit/src/hooks/useFocusTrap.d.ts +0 -1
- package/build/pay/packages/connectkit/src/hooks/useGoogleFont.d.ts +0 -3
- package/build/pay/packages/connectkit/src/hooks/useIsMobile.d.ts +0 -1
- package/build/pay/packages/connectkit/src/hooks/useIsMounted.d.ts +0 -3
- package/build/pay/packages/connectkit/src/hooks/useLastConnector.d.ts +0 -4
- package/build/pay/packages/connectkit/src/hooks/useLocalStorage.d.ts +0 -7
- package/build/pay/packages/connectkit/src/hooks/useLocales.d.ts +0 -1
- package/build/pay/packages/connectkit/src/hooks/useLockBodyScroll.d.ts +0 -1
- package/build/pay/packages/connectkit/src/hooks/useModal.d.ts +0 -8
- package/build/pay/packages/connectkit/src/hooks/useOrderUsdLimits.d.ts +0 -7
- package/build/pay/packages/connectkit/src/hooks/usePayWithSolanaToken.d.ts +0 -12
- package/build/pay/packages/connectkit/src/hooks/usePayWithToken.d.ts +0 -14
- package/build/pay/packages/connectkit/src/hooks/usePaymentState.d.ts +0 -90
- package/build/pay/packages/connectkit/src/hooks/usePrevious.d.ts +0 -1
- package/build/pay/packages/connectkit/src/hooks/useSolanaPaymentOptions.d.ts +0 -12
- package/build/pay/packages/connectkit/src/hooks/useWalletConnectModal.d.ts +0 -4
- package/build/pay/packages/connectkit/src/hooks/useWalletPaymentOptions.d.ts +0 -20
- package/build/pay/packages/connectkit/src/hooks/useWindowSize.d.ts +0 -4
- package/build/pay/packages/connectkit/src/index.d.ts +0 -11
- package/build/pay/packages/connectkit/src/localizations/index.d.ts +0 -93
- package/build/pay/packages/connectkit/src/localizations/locales/ar-AE.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/ca-AD.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/ee-EE.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/en-US.d.ts +0 -93
- package/build/pay/packages/connectkit/src/localizations/locales/es-ES.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/fa-IR.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/fr-FR.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/index.d.ts +0 -2
- package/build/pay/packages/connectkit/src/localizations/locales/ja-JP.d.ts +0 -93
- package/build/pay/packages/connectkit/src/localizations/locales/pt-BR.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/ru-RU.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/tr-TR.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/vi-VN.d.ts +0 -3
- package/build/pay/packages/connectkit/src/localizations/locales/zh-CN.d.ts +0 -3
- package/build/pay/packages/connectkit/src/styles/defaultTheme.d.ts +0 -3
- package/build/pay/packages/connectkit/src/styles/index.d.ts +0 -1
- package/build/pay/packages/connectkit/src/styles/styled/index.d.ts +0 -12
- package/build/pay/packages/connectkit/src/styles/themes/base.d.ts +0 -129
- package/build/pay/packages/connectkit/src/styles/themes/index.d.ts +0 -673
- package/build/pay/packages/connectkit/src/styles/themes/midnight.d.ts +0 -74
- package/build/pay/packages/connectkit/src/styles/themes/minimal.d.ts +0 -94
- package/build/pay/packages/connectkit/src/styles/themes/nouns.d.ts +0 -79
- package/build/pay/packages/connectkit/src/styles/themes/retro.d.ts +0 -89
- package/build/pay/packages/connectkit/src/styles/themes/rounded.d.ts +0 -86
- package/build/pay/packages/connectkit/src/styles/themes/soft.d.ts +0 -69
- package/build/pay/packages/connectkit/src/styles/themes/web95.d.ts +0 -91
- package/build/pay/packages/connectkit/src/styles/types.d.ts +0 -80
- package/build/pay/packages/connectkit/src/types.d.ts +0 -46
- package/build/pay/packages/connectkit/src/utils/exports.d.ts +0 -1
- package/build/pay/packages/connectkit/src/utils/format.d.ts +0 -49
- package/build/pay/packages/connectkit/src/utils/index.d.ts +0 -17
- package/build/pay/packages/connectkit/src/utils/localstorage.d.ts +0 -9
- package/build/pay/packages/connectkit/src/utils/p3.d.ts +0 -2
- package/build/pay/packages/connectkit/src/utils/platform.d.ts +0 -2
- package/build/pay/packages/connectkit/src/utils/supportUrl.d.ts +0 -2
- package/build/pay/packages/connectkit/src/utils/trpc.d.ts +0 -4
- package/build/pay/packages/connectkit/src/utils/validateInput.d.ts +0 -16
- package/build/pay/packages/connectkit/src/utils/wallets.d.ts +0 -24
- package/build/pay/packages/connectkit/src/wallets/index.d.ts +0 -5
- package/build/pay/packages/connectkit/src/wallets/useWallets.d.ts +0 -9
- package/build/pay/packages/connectkit/src/wallets/walletConfigs.d.ts +0 -30
- package/build/pay/packages/connectkit/tsconfig.tsbuildinfo +0 -1
- package/build/src/assets/ScanIconWithLogos.js +0 -34
- package/build/src/assets/ScanIconWithLogos.js.map +0 -1
- package/build/src/assets/browsers.js +0 -13
- package/build/src/assets/browsers.js.map +0 -1
- package/build/src/assets/chains.js +0 -70
- package/build/src/assets/chains.js.map +0 -1
- package/build/src/assets/coins.js +0 -6
- package/build/src/assets/coins.js.map +0 -1
- package/build/src/assets/crepe.js +0 -8
- package/build/src/assets/crepe.js.map +0 -1
- package/build/src/assets/icons.js +0 -29
- package/build/src/assets/icons.js.map +0 -1
- package/build/src/assets/logos.js +0 -153
- package/build/src/assets/logos.js.map +0 -1
- package/build/src/assets/wallet.js +0 -8
- package/build/src/assets/wallet.js.map +0 -1
- package/build/src/assets/wave.js +0 -6
- package/build/src/assets/wave.js.map +0 -1
- package/build/src/components/Common/Alert/index.js +0 -10
- package/build/src/components/Common/Alert/index.js.map +0 -1
- package/build/src/components/Common/Alert/styles.js +0 -55
- package/build/src/components/Common/Alert/styles.js.map +0 -1
- package/build/src/components/Common/AmountInput/AmountInputField.js +0 -59
- package/build/src/components/Common/AmountInput/AmountInputField.js.map +0 -1
- package/build/src/components/Common/AmountInput/index.js +0 -147
- package/build/src/components/Common/AmountInput/index.js.map +0 -1
- package/build/src/components/Common/Avatar/index.js +0 -66
- package/build/src/components/Common/Avatar/index.js.map +0 -1
- package/build/src/components/Common/Avatar/styles.js +0 -59
- package/build/src/components/Common/Avatar/styles.js.map +0 -1
- package/build/src/components/Common/BrowserIcon/index.js +0 -28
- package/build/src/components/Common/BrowserIcon/index.js.map +0 -1
- package/build/src/components/Common/BrowserIcon/styles.js +0 -20
- package/build/src/components/Common/BrowserIcon/styles.js.map +0 -1
- package/build/src/components/Common/Button/index.js +0 -38
- package/build/src/components/Common/Button/index.js.map +0 -1
- package/build/src/components/Common/Button/styles.js +0 -291
- package/build/src/components/Common/Button/styles.js.map +0 -1
- package/build/src/components/Common/Chain/index.js +0 -25
- package/build/src/components/Common/Chain/index.js.map +0 -1
- package/build/src/components/Common/Chain/styles.js +0 -94
- package/build/src/components/Common/Chain/styles.js.map +0 -1
- package/build/src/components/Common/ChainSelectList/index.js +0 -107
- package/build/src/components/Common/ChainSelectList/index.js.map +0 -1
- package/build/src/components/Common/ChainSelectList/styles.js +0 -228
- package/build/src/components/Common/ChainSelectList/styles.js.map +0 -1
- package/build/src/components/Common/ConnectorList/index.js +0 -71
- package/build/src/components/Common/ConnectorList/index.js.map +0 -1
- package/build/src/components/Common/ConnectorList/styles.js +0 -314
- package/build/src/components/Common/ConnectorList/styles.js.map +0 -1
- package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +0 -71
- package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +0 -1
- package/build/src/components/Common/CopyToClipboard/index.js +0 -51
- package/build/src/components/Common/CopyToClipboard/index.js.map +0 -1
- package/build/src/components/Common/CustomQRCode/QRCode.js +0 -69
- package/build/src/components/Common/CustomQRCode/QRCode.js.map +0 -1
- package/build/src/components/Common/CustomQRCode/index.js +0 -22
- package/build/src/components/Common/CustomQRCode/index.js.map +0 -1
- package/build/src/components/Common/CustomQRCode/styles.js +0 -155
- package/build/src/components/Common/CustomQRCode/styles.js.map +0 -1
- package/build/src/components/Common/FitText/index.js +0 -27
- package/build/src/components/Common/FitText/index.js.map +0 -1
- package/build/src/components/Common/Modal/index.js +0 -301
- package/build/src/components/Common/Modal/index.js.map +0 -1
- package/build/src/components/Common/Modal/styles.js +0 -661
- package/build/src/components/Common/Modal/styles.js.map +0 -1
- package/build/src/components/Common/OptionsList/index.js +0 -106
- package/build/src/components/Common/OptionsList/index.js.map +0 -1
- package/build/src/components/Common/OptionsList/styles.js +0 -165
- package/build/src/components/Common/OptionsList/styles.js.map +0 -1
- package/build/src/components/Common/OrderHeader/index.js +0 -128
- package/build/src/components/Common/OrderHeader/index.js.map +0 -1
- package/build/src/components/Common/PaymentBreakdown/index.js +0 -48
- package/build/src/components/Common/PaymentBreakdown/index.js.map +0 -1
- package/build/src/components/Common/Portal/index.js +0 -31
- package/build/src/components/Common/Portal/index.js.map +0 -1
- package/build/src/components/Common/PoweredByFooter/index.js +0 -79
- package/build/src/components/Common/PoweredByFooter/index.js.map +0 -1
- package/build/src/components/Common/ScrollArea/index.js +0 -62
- package/build/src/components/Common/ScrollArea/index.js.map +0 -1
- package/build/src/components/Common/ScrollArea/styles.js +0 -168
- package/build/src/components/Common/ScrollArea/styles.js.map +0 -1
- package/build/src/components/Common/Spinner/index.js +0 -24
- package/build/src/components/Common/Spinner/index.js.map +0 -1
- package/build/src/components/Common/Spinner/styles.js +0 -22
- package/build/src/components/Common/Spinner/styles.js.map +0 -1
- package/build/src/components/Common/SwitchButton/index.js +0 -39
- package/build/src/components/Common/SwitchButton/index.js.map +0 -1
- package/build/src/components/Common/ThemedButton/index.js +0 -25
- package/build/src/components/Common/ThemedButton/index.js.map +0 -1
- package/build/src/components/Common/ThemedButton/styles.js +0 -152
- package/build/src/components/Common/ThemedButton/styles.js.map +0 -1
- package/build/src/components/Common/TokenChainLogo/index.js +0 -24
- package/build/src/components/Common/TokenChainLogo/index.js.map +0 -1
- package/build/src/components/Common/Tooltip/index.js +0 -97
- package/build/src/components/Common/Tooltip/index.js.map +0 -1
- package/build/src/components/Common/Tooltip/styles.js +0 -81
- package/build/src/components/Common/Tooltip/styles.js.map +0 -1
- package/build/src/components/Common/WalletChainLogo/index.js +0 -24
- package/build/src/components/Common/WalletChainLogo/index.js.map +0 -1
- package/build/src/components/DaimoPay.js +0 -280
- package/build/src/components/DaimoPay.js.map +0 -1
- package/build/src/components/DaimoPayButton/index.js +0 -158
- package/build/src/components/DaimoPayButton/index.js.map +0 -1
- package/build/src/components/DaimoPayButton/styles.js +0 -50
- package/build/src/components/DaimoPayButton/styles.js.map +0 -1
- package/build/src/components/DaimoPayModal/ConnectUsing.js +0 -45
- package/build/src/components/DaimoPayModal/ConnectUsing.js.map +0 -1
- package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +0 -202
- package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +0 -1
- package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js +0 -133
- package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +0 -1
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +0 -75
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +0 -1
- package/build/src/components/DaimoPayModal/index.js +0 -206
- package/build/src/components/DaimoPayModal/index.js.map +0 -1
- package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +0 -21
- package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +0 -1
- package/build/src/components/Pages/About/graphics.js +0 -187
- package/build/src/components/Pages/About/graphics.js.map +0 -1
- package/build/src/components/Pages/About/index.js +0 -131
- package/build/src/components/Pages/About/index.js.map +0 -1
- package/build/src/components/Pages/About/styles.js +0 -144
- package/build/src/components/Pages/About/styles.js.map +0 -1
- package/build/src/components/Pages/Confirmation/index.js +0 -105
- package/build/src/components/Pages/Confirmation/index.js.map +0 -1
- package/build/src/components/Pages/Connectors/index.js +0 -20
- package/build/src/components/Pages/Connectors/index.js.map +0 -1
- package/build/src/components/Pages/Connectors/styles.js +0 -267
- package/build/src/components/Pages/Connectors/styles.js.map +0 -1
- package/build/src/components/Pages/DownloadApp/index.js +0 -30
- package/build/src/components/Pages/DownloadApp/index.js.map +0 -1
- package/build/src/components/Pages/MobileConnectors/index.js +0 -78
- package/build/src/components/Pages/MobileConnectors/index.js.map +0 -1
- package/build/src/components/Pages/MobileConnectors/styles.js +0 -65
- package/build/src/components/Pages/MobileConnectors/styles.js.map +0 -1
- package/build/src/components/Pages/Onboarding/index.js +0 -18
- package/build/src/components/Pages/Onboarding/index.js.map +0 -1
- package/build/src/components/Pages/Onboarding/styles.js +0 -229
- package/build/src/components/Pages/Onboarding/styles.js.map +0 -1
- package/build/src/components/Pages/PayWithToken/index.js +0 -111
- package/build/src/components/Pages/PayWithToken/index.js.map +0 -1
- package/build/src/components/Pages/SelectAmount/index.js +0 -16
- package/build/src/components/Pages/SelectAmount/index.js.map +0 -1
- package/build/src/components/Pages/SelectDepositAddressAmount/index.js +0 -61
- package/build/src/components/Pages/SelectDepositAddressAmount/index.js.map +0 -1
- package/build/src/components/Pages/SelectDepositAddressChain/index.js +0 -38
- package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +0 -1
- package/build/src/components/Pages/SelectExternalAmount/index.js +0 -63
- package/build/src/components/Pages/SelectExternalAmount/index.js.map +0 -1
- package/build/src/components/Pages/SelectMethod/index.js +0 -205
- package/build/src/components/Pages/SelectMethod/index.js.map +0 -1
- package/build/src/components/Pages/SelectToken/index.js +0 -61
- package/build/src/components/Pages/SelectToken/index.js.map +0 -1
- package/build/src/components/Pages/Solana/ConnectSolana/index.js +0 -80
- package/build/src/components/Pages/Solana/ConnectSolana/index.js.map +0 -1
- package/build/src/components/Pages/Solana/ConnectorSolana/index.js +0 -55
- package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +0 -1
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +0 -62
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +0 -1
- package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js +0 -16
- package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +0 -1
- package/build/src/components/Pages/Solana/SelectSolanaToken/index.js +0 -59
- package/build/src/components/Pages/Solana/SelectSolanaToken/index.js.map +0 -1
- package/build/src/components/Pages/SwitchNetworks/index.js +0 -26
- package/build/src/components/Pages/SwitchNetworks/index.js.map +0 -1
- package/build/src/components/Pages/WaitingDepositAddress/index.js +0 -51
- package/build/src/components/Pages/WaitingDepositAddress/index.js.map +0 -1
- package/build/src/components/Pages/WaitingExternal/index.js +0 -53
- package/build/src/components/Pages/WaitingExternal/index.js.map +0 -1
- package/build/src/components/Spinners/CircleSpinner/index.js +0 -15
- package/build/src/components/Spinners/CircleSpinner/index.js.map +0 -1
- package/build/src/components/Spinners/CircleSpinner/styles.js +0 -118
- package/build/src/components/Spinners/CircleSpinner/styles.js.map +0 -1
- package/build/src/components/Spinners/ExternalPaymentSpinner/index.js +0 -20
- package/build/src/components/Spinners/ExternalPaymentSpinner/index.js.map +0 -1
- package/build/src/components/Spinners/SquircleSpinner/index.js +0 -15
- package/build/src/components/Spinners/SquircleSpinner/index.js.map +0 -1
- package/build/src/components/Spinners/SquircleSpinner/styles.js +0 -66
- package/build/src/components/Spinners/SquircleSpinner/styles.js.map +0 -1
- package/build/src/components/Spinners/TokenLogoSpinner/index.js +0 -13
- package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +0 -1
- package/build/src/components/Spinners/TokenLogoSpinner/styles.js +0 -40
- package/build/src/components/Spinners/TokenLogoSpinner/styles.js.map +0 -1
- package/build/src/components/Spinners/styles.js +0 -33
- package/build/src/components/Spinners/styles.js.map +0 -1
- package/build/src/components/contexts/solana/index.js +0 -11
- package/build/src/components/contexts/solana/index.js.map +0 -1
- package/build/src/components/contexts/web3/index.js +0 -46
- package/build/src/components/contexts/web3/index.js.map +0 -1
- package/build/src/constants/defaultTheme.js +0 -6
- package/build/src/constants/defaultTheme.js.map +0 -1
- package/build/src/defaultConfig.js +0 -63
- package/build/src/defaultConfig.js.map +0 -1
- package/build/src/defaultConnectors.js +0 -43
- package/build/src/defaultConnectors.js.map +0 -1
- package/build/src/hooks/connectors/useWalletConnectUri.js +0 -93
- package/build/src/hooks/connectors/useWalletConnectUri.js.map +0 -1
- package/build/src/hooks/useChainIsSupported.js +0 -12
- package/build/src/hooks/useChainIsSupported.js.map +0 -1
- package/build/src/hooks/useChains.js +0 -11
- package/build/src/hooks/useChains.js.map +0 -1
- package/build/src/hooks/useConnect.js +0 -45
- package/build/src/hooks/useConnect.js.map +0 -1
- package/build/src/hooks/useConnectCallback.js +0 -18
- package/build/src/hooks/useConnectCallback.js.map +0 -1
- package/build/src/hooks/useConnectors.js +0 -29
- package/build/src/hooks/useConnectors.js.map +0 -1
- package/build/src/hooks/useDaimoPayStatus.js +0 -24
- package/build/src/hooks/useDaimoPayStatus.js.map +0 -1
- package/build/src/hooks/useDepositAddressOptions.js +0 -31
- package/build/src/hooks/useDepositAddressOptions.js.map +0 -1
- package/build/src/hooks/useEnsFallbackConfig.js +0 -16
- package/build/src/hooks/useEnsFallbackConfig.js.map +0 -1
- package/build/src/hooks/useExternalPaymentOptions.js +0 -49
- package/build/src/hooks/useExternalPaymentOptions.js.map +0 -1
- package/build/src/hooks/useFitText.js +0 -148
- package/build/src/hooks/useFitText.js.map +0 -1
- package/build/src/hooks/useFocusTrap.js +0 -60
- package/build/src/hooks/useFocusTrap.js.map +0 -1
- package/build/src/hooks/useGoogleFont.js +0 -45
- package/build/src/hooks/useGoogleFont.js.map +0 -1
- package/build/src/hooks/useIsMobile.js +0 -17
- package/build/src/hooks/useIsMobile.js.map +0 -1
- package/build/src/hooks/useIsMounted.js +0 -12
- package/build/src/hooks/useIsMounted.js.map +0 -1
- package/build/src/hooks/useLastConnector.js +0 -24
- package/build/src/hooks/useLastConnector.js.map +0 -1
- package/build/src/hooks/useLocales.js +0 -67
- package/build/src/hooks/useLocales.js.map +0 -1
- package/build/src/hooks/useLockBodyScroll.js +0 -53
- package/build/src/hooks/useLockBodyScroll.js.map +0 -1
- package/build/src/hooks/useOrderUsdLimits.js +0 -26
- package/build/src/hooks/useOrderUsdLimits.js.map +0 -1
- package/build/src/hooks/usePayWithSolanaToken.js +0 -50
- package/build/src/hooks/usePayWithSolanaToken.js.map +0 -1
- package/build/src/hooks/usePayWithToken.js +0 -58
- package/build/src/hooks/usePayWithToken.js.map +0 -1
- package/build/src/hooks/usePaymentState.js +0 -283
- package/build/src/hooks/usePaymentState.js.map +0 -1
- package/build/src/hooks/usePrevious.js +0 -14
- package/build/src/hooks/usePrevious.js.map +0 -1
- package/build/src/hooks/useSolanaPaymentOptions.js +0 -39
- package/build/src/hooks/useSolanaPaymentOptions.js.map +0 -1
- package/build/src/hooks/useWalletConnectModal.js +0 -52
- package/build/src/hooks/useWalletConnectModal.js.map +0 -1
- package/build/src/hooks/useWalletPaymentOptions.js +0 -50
- package/build/src/hooks/useWalletPaymentOptions.js.map +0 -1
- package/build/src/hooks/useWindowSize.js +0 -23
- package/build/src/hooks/useWindowSize.js.map +0 -1
- package/build/src/index.js +0 -10
- package/build/src/index.js.map +0 -1
- package/build/src/localizations/index.js +0 -57
- package/build/src/localizations/index.js.map +0 -1
- package/build/src/localizations/locales/ar-AE.js +0 -97
- package/build/src/localizations/locales/ar-AE.js.map +0 -1
- package/build/src/localizations/locales/ca-AD.js +0 -95
- package/build/src/localizations/locales/ca-AD.js.map +0 -1
- package/build/src/localizations/locales/ee-EE.js +0 -95
- package/build/src/localizations/locales/ee-EE.js.map +0 -1
- package/build/src/localizations/locales/en-US.js +0 -95
- package/build/src/localizations/locales/en-US.js.map +0 -1
- package/build/src/localizations/locales/es-ES.js +0 -95
- package/build/src/localizations/locales/es-ES.js.map +0 -1
- package/build/src/localizations/locales/fa-IR.js +0 -95
- package/build/src/localizations/locales/fa-IR.js.map +0 -1
- package/build/src/localizations/locales/fr-FR.js +0 -95
- package/build/src/localizations/locales/fr-FR.js.map +0 -1
- package/build/src/localizations/locales/ja-JP.js +0 -95
- package/build/src/localizations/locales/ja-JP.js.map +0 -1
- package/build/src/localizations/locales/pt-BR.js +0 -95
- package/build/src/localizations/locales/pt-BR.js.map +0 -1
- package/build/src/localizations/locales/ru-RU.js +0 -95
- package/build/src/localizations/locales/ru-RU.js.map +0 -1
- package/build/src/localizations/locales/tr-TR.js +0 -95
- package/build/src/localizations/locales/tr-TR.js.map +0 -1
- package/build/src/localizations/locales/vi-VN.js +0 -95
- package/build/src/localizations/locales/vi-VN.js.map +0 -1
- package/build/src/localizations/locales/zh-CN.js +0 -95
- package/build/src/localizations/locales/zh-CN.js.map +0 -1
- package/build/src/styles/defaultTheme.js +0 -89
- package/build/src/styles/defaultTheme.js.map +0 -1
- package/build/src/styles/index.js +0 -329
- package/build/src/styles/index.js.map +0 -1
- package/build/src/styles/styled/index.js +0 -16
- package/build/src/styles/styled/index.js.map +0 -1
- package/build/src/styles/themes/base.js +0 -141
- package/build/src/styles/themes/base.js.map +0 -1
- package/build/src/styles/themes/index.js +0 -13
- package/build/src/styles/themes/index.js.map +0 -1
- package/build/src/styles/themes/midnight.js +0 -76
- package/build/src/styles/themes/midnight.js.map +0 -1
- package/build/src/styles/themes/minimal.js +0 -96
- package/build/src/styles/themes/minimal.js.map +0 -1
- package/build/src/styles/themes/nouns.js +0 -81
- package/build/src/styles/themes/nouns.js.map +0 -1
- package/build/src/styles/themes/retro.js +0 -106
- package/build/src/styles/themes/retro.js.map +0 -1
- package/build/src/styles/themes/rounded.js +0 -106
- package/build/src/styles/themes/rounded.js.map +0 -1
- package/build/src/styles/themes/soft.js +0 -71
- package/build/src/styles/themes/soft.js.map +0 -1
- package/build/src/styles/themes/web95.js +0 -132
- package/build/src/styles/themes/web95.js.map +0 -1
- package/build/src/utils/exports.js +0 -7
- package/build/src/utils/exports.js.map +0 -1
- package/build/src/utils/format.js +0 -83
- package/build/src/utils/format.js.map +0 -1
- package/build/src/utils/index.js +0 -39
- package/build/src/utils/index.js.map +0 -1
- package/build/src/utils/p3.js +0 -16
- package/build/src/utils/p3.js.map +0 -1
- package/build/src/utils/platform.js +0 -13
- package/build/src/utils/platform.js.map +0 -1
- package/build/src/utils/supportUrl.js +0 -18
- package/build/src/utils/supportUrl.js.map +0 -1
- package/build/src/utils/trpc.js +0 -19
- package/build/src/utils/trpc.js.map +0 -1
- package/build/src/utils/validateInput.js +0 -36
- package/build/src/utils/validateInput.js.map +0 -1
- package/build/src/utils/wallets.js +0 -14
- package/build/src/utils/wallets.js.map +0 -1
- package/build/src/wallets/index.js +0 -32
- package/build/src/wallets/index.js.map +0 -1
- package/build/src/wallets/useWallets.js +0 -90
- package/build/src/wallets/useWallets.js.map +0 -1
- package/build/src/wallets/walletConfigs.js +0 -337
- package/build/src/wallets/walletConfigs.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useLocales.js","sources":["../../../src/hooks/useLocales.tsx"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport React, { useMemo } from \"react\";\nimport Logos from \"../assets/logos\";\nimport { usePayContext } from \"../components/DaimoPay\";\nimport { getLocale } from \"./../localizations\";\nexport default function useLocales(replacements) {\n const context = usePayContext();\n const language = context.options?.language ?? \"en-US\";\n const translations = useMemo(() => {\n return getLocale(language);\n }, [language]);\n if (!translations) {\n console.error(`Missing translations for: ${language}`);\n return `Missing translations for: ${language}`;\n }\n const translated = {};\n Object.keys(translations).map((key) => {\n const string = translations[key];\n return (translated[key] = localize(string, replacements));\n });\n return translated;\n}\nconst localize = (text, replacements) => {\n let parsedText = text;\n if (replacements) {\n Object.keys(replacements).forEach((key) => {\n // use `replace` instead of `replaceAll` to support Node 14\n parsedText = parsedText.replace(new RegExp(`({{ ${key} }})`, \"g\"), replacements[key]);\n });\n }\n return replaceMarkdown(parsedText);\n};\nconst replaceMarkdown = (markdownText) => {\n let text = markdownText;\n text = text.split(\"\\n\");\n text = text.map((t, i) => {\n return (_jsxs(React.Fragment, { children: [wrapTags(t), i < text.length - 1 && _jsx(\"br\", {})] }, i));\n });\n return text;\n};\nconst wrapTags = (text) => {\n // Bold markdown handling\n const textArray = text.split(/(\\*\\*[^\\*]*\\*\\*)/g);\n let result = textArray.map((str, i) => {\n if (/(\\*\\*.*\\*\\*)/g.test(str)) {\n // use `replace` instead of `replaceAll` to support Node 14\n return _jsx(\"strong\", { children: str.replace(/\\*\\*/g, \"\") }, i);\n }\n return `${str}`;\n });\n // Replace text with logo\n return result.map((r) => {\n if (typeof r === \"string\") {\n return r.split(/(\\[WALLETCONNECTLOGO\\])/g).map((s) => {\n if (s === \"[WALLETCONNECTLOGO]\") {\n return (_jsx(\"span\", { className: \"ck-tt-logo\", children: _jsx(Logos.WalletConnect, {}) }, s));\n }\n return s;\n });\n }\n return r;\n });\n};\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { useState, useEffect, useLayoutEffect } from 'react';
|
|
2
|
-
import { usePayContext } from '../components/DaimoPay.js';
|
|
3
|
-
|
|
4
|
-
const useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
|
|
5
|
-
function useLockBodyScroll(initialLocked) {
|
|
6
|
-
const [locked, setLocked] = useState(initialLocked);
|
|
7
|
-
const context = usePayContext();
|
|
8
|
-
useIsomorphicLayoutEffect(() => {
|
|
9
|
-
if (!locked)
|
|
10
|
-
return;
|
|
11
|
-
const original = {
|
|
12
|
-
overflow: document.body.style.overflow,
|
|
13
|
-
position: document.body.style.position,
|
|
14
|
-
touchAction: document.body.style.touchAction,
|
|
15
|
-
paddingRight: document.body.style.paddingRight,
|
|
16
|
-
//htmlOverflow: document.documentElement.style.overflow,
|
|
17
|
-
};
|
|
18
|
-
const style = getComputedStyle(document.body);
|
|
19
|
-
const offsetX = parseInt(style.marginRight) +
|
|
20
|
-
parseInt(style.paddingRight) +
|
|
21
|
-
parseInt(style.borderRight) +
|
|
22
|
-
parseInt(style.marginLeft) +
|
|
23
|
-
parseInt(style.paddingLeft) +
|
|
24
|
-
parseInt(style.borderLeft);
|
|
25
|
-
const scrollBarWidth = window.innerWidth - document.body.offsetWidth - offsetX;
|
|
26
|
-
document.documentElement.style.setProperty("--ck-scrollbar-width", `${scrollBarWidth}px`);
|
|
27
|
-
document.body.style.overflow = "hidden";
|
|
28
|
-
document.body.style.position = "relative";
|
|
29
|
-
document.body.style.touchAction = "none";
|
|
30
|
-
//document.documentElement.style.overflow = 'hidden'; // overflow:hidden; on <html> breaks position:sticky;
|
|
31
|
-
if (context.options?.avoidLayoutShift) {
|
|
32
|
-
document.body.style.paddingRight = `${scrollBarWidth}px`;
|
|
33
|
-
}
|
|
34
|
-
return () => {
|
|
35
|
-
document.documentElement.style.removeProperty("--ck-scrollbar-width");
|
|
36
|
-
document.body.style.overflow = original.overflow;
|
|
37
|
-
document.body.style.position = original.position;
|
|
38
|
-
document.body.style.touchAction = original.touchAction;
|
|
39
|
-
//document.documentElement.style.overflow = original.htmlOverflow;
|
|
40
|
-
if (context.options?.avoidLayoutShift) {
|
|
41
|
-
document.body.style.paddingRight = original.paddingRight;
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
}, [locked]);
|
|
45
|
-
useEffect(() => {
|
|
46
|
-
if (locked !== initialLocked)
|
|
47
|
-
setLocked(initialLocked);
|
|
48
|
-
}, [initialLocked]);
|
|
49
|
-
return [locked, setLocked];
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export { useLockBodyScroll as default };
|
|
53
|
-
//# sourceMappingURL=useLockBodyScroll.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useLockBodyScroll.js","sources":["../../../src/hooks/useLockBodyScroll.ts"],"sourcesContent":["import { useEffect, useLayoutEffect, useState } from \"react\";\nimport { usePayContext } from \"../components/DaimoPay\";\nconst useIsomorphicLayoutEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\nexport default function useLockBodyScroll(initialLocked) {\n const [locked, setLocked] = useState(initialLocked);\n const context = usePayContext();\n useIsomorphicLayoutEffect(() => {\n if (!locked)\n return;\n const original = {\n overflow: document.body.style.overflow,\n position: document.body.style.position,\n touchAction: document.body.style.touchAction,\n paddingRight: document.body.style.paddingRight,\n //htmlOverflow: document.documentElement.style.overflow,\n };\n const style = getComputedStyle(document.body);\n const offsetX = parseInt(style.marginRight) +\n parseInt(style.paddingRight) +\n parseInt(style.borderRight) +\n parseInt(style.marginLeft) +\n parseInt(style.paddingLeft) +\n parseInt(style.borderLeft);\n const scrollBarWidth = window.innerWidth - document.body.offsetWidth - offsetX;\n document.documentElement.style.setProperty(\"--ck-scrollbar-width\", `${scrollBarWidth}px`);\n document.body.style.overflow = \"hidden\";\n document.body.style.position = \"relative\";\n document.body.style.touchAction = \"none\";\n //document.documentElement.style.overflow = 'hidden'; // overflow:hidden; on <html> breaks position:sticky;\n if (context.options?.avoidLayoutShift) {\n document.body.style.paddingRight = `${scrollBarWidth}px`;\n }\n return () => {\n document.documentElement.style.removeProperty(\"--ck-scrollbar-width\");\n document.body.style.overflow = original.overflow;\n document.body.style.position = original.position;\n document.body.style.touchAction = original.touchAction;\n //document.documentElement.style.overflow = original.htmlOverflow;\n if (context.options?.avoidLayoutShift) {\n document.body.style.paddingRight = original.paddingRight;\n }\n };\n }, [locked]);\n useEffect(() => {\n if (locked !== initialLocked)\n setLocked(initialLocked);\n }, [initialLocked]);\n return [locked, setLocked];\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { useState, useEffect } from 'react';
|
|
2
|
-
|
|
3
|
-
function useOrderUsdLimits({ trpc }) {
|
|
4
|
-
const [limits, setLimits] = useState({});
|
|
5
|
-
const [loading, setLoading] = useState(false);
|
|
6
|
-
useEffect(() => {
|
|
7
|
-
const refreshOrderUsdLimits = async () => {
|
|
8
|
-
setLoading(true);
|
|
9
|
-
try {
|
|
10
|
-
const { limits: newLimits } = await trpc.getOrderUsdLimits.query();
|
|
11
|
-
setLimits(newLimits);
|
|
12
|
-
}
|
|
13
|
-
catch (e) {
|
|
14
|
-
console.error(e);
|
|
15
|
-
}
|
|
16
|
-
finally {
|
|
17
|
-
setLoading(false);
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
refreshOrderUsdLimits();
|
|
21
|
-
}, []);
|
|
22
|
-
return { limits, loading };
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export { useOrderUsdLimits };
|
|
26
|
-
//# sourceMappingURL=useOrderUsdLimits.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useOrderUsdLimits.js","sources":["../../../src/hooks/useOrderUsdLimits.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nexport function useOrderUsdLimits({ trpc }) {\n const [limits, setLimits] = useState({});\n const [loading, setLoading] = useState(false);\n useEffect(() => {\n const refreshOrderUsdLimits = async () => {\n setLoading(true);\n try {\n const { limits: newLimits } = await trpc.getOrderUsdLimits.query();\n setLimits(newLimits);\n }\n catch (e) {\n console.error(e);\n }\n finally {\n setLoading(false);\n }\n };\n refreshOrderUsdLimits();\n }, []);\n return { limits, loading };\n}\n"],"names":[],"mappings":";;AACO,SAAS,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE;AAC5C,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC7C,IAAI,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClD,IAAI,SAAS,CAAC,MAAM;AACpB,QAAQ,MAAM,qBAAqB,GAAG,YAAY;AAClD,YAAY,UAAU,CAAC,IAAI,CAAC,CAAC;AAC7B,YAAY,IAAI;AAChB,gBAAgB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;AACnF,gBAAgB,SAAS,CAAC,SAAS,CAAC,CAAC;AACrC,aAAa;AACb,YAAY,OAAO,CAAC,EAAE;AACtB,gBAAgB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjC,aAAa;AACb,oBAAoB;AACpB,gBAAgB,UAAU,CAAC,KAAK,CAAC,CAAC;AAClC,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,qBAAqB,EAAE,CAAC;AAChC,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC/B;;;;"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { assert, assertNotNull } from '@daimo/pay-common';
|
|
2
|
-
import { useConnection, useWallet } from '@solana/wallet-adapter-react';
|
|
3
|
-
import { VersionedTransaction } from '@solana/web3.js';
|
|
4
|
-
import { hexToBytes } from 'viem';
|
|
5
|
-
|
|
6
|
-
function usePayWithSolanaToken({ trpc, daimoPayOrder, setDaimoPayOrder, createOrHydrate, log, }) {
|
|
7
|
-
const { connection } = useConnection();
|
|
8
|
-
const wallet = useWallet();
|
|
9
|
-
const payWithSolanaToken = async (inputToken) => {
|
|
10
|
-
assert(!!wallet.publicKey, "[PAY SOLANA] No wallet connected");
|
|
11
|
-
assert(!!daimoPayOrder, "[PAY SOLANA] daimoPayOrder cannot be null");
|
|
12
|
-
const orderId = daimoPayOrder.id;
|
|
13
|
-
const { hydratedOrder } = await createOrHydrate({
|
|
14
|
-
order: daimoPayOrder,
|
|
15
|
-
});
|
|
16
|
-
log(`[CHECKOUT] Hydrated order: ${JSON.stringify(hydratedOrder)}, checking out with Solana ${inputToken}`);
|
|
17
|
-
const txHash = await (async () => {
|
|
18
|
-
try {
|
|
19
|
-
const serializedTx = await trpc.getSolanaSwapAndBurnTx.query({
|
|
20
|
-
orderId: orderId.toString(),
|
|
21
|
-
userPublicKey: assertNotNull(wallet.publicKey, "[PAY SOLANA] wallet.publicKey cannot be null").toString(),
|
|
22
|
-
inputTokenMint: inputToken,
|
|
23
|
-
});
|
|
24
|
-
const tx = VersionedTransaction.deserialize(hexToBytes(serializedTx));
|
|
25
|
-
const txHash = await wallet.sendTransaction(tx, connection);
|
|
26
|
-
return txHash;
|
|
27
|
-
}
|
|
28
|
-
catch (e) {
|
|
29
|
-
console.error(e);
|
|
30
|
-
setDaimoPayOrder(hydratedOrder);
|
|
31
|
-
throw e;
|
|
32
|
-
}
|
|
33
|
-
finally {
|
|
34
|
-
setDaimoPayOrder(hydratedOrder);
|
|
35
|
-
}
|
|
36
|
-
})();
|
|
37
|
-
// TOOD: get the actual amount sent from the tx logs.
|
|
38
|
-
// We are currently using a fake amount = 0.
|
|
39
|
-
trpc.processSolanaSourcePayment.mutate({
|
|
40
|
-
orderId: orderId.toString(),
|
|
41
|
-
startIntentTxHash: txHash,
|
|
42
|
-
token: inputToken,
|
|
43
|
-
});
|
|
44
|
-
return txHash;
|
|
45
|
-
};
|
|
46
|
-
return { payWithSolanaToken };
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export { usePayWithSolanaToken };
|
|
50
|
-
//# sourceMappingURL=usePayWithSolanaToken.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"usePayWithSolanaToken.js","sources":["../../../src/hooks/usePayWithSolanaToken.ts"],"sourcesContent":["import { assert, assertNotNull, } from \"@daimo/pay-common\";\nimport { useConnection, useWallet } from \"@solana/wallet-adapter-react\";\nimport { VersionedTransaction } from \"@solana/web3.js\";\nimport { hexToBytes } from \"viem\";\nexport function usePayWithSolanaToken({ trpc, daimoPayOrder, setDaimoPayOrder, createOrHydrate, log, }) {\n const { connection } = useConnection();\n const wallet = useWallet();\n const payWithSolanaToken = async (inputToken) => {\n assert(!!wallet.publicKey, \"[PAY SOLANA] No wallet connected\");\n assert(!!daimoPayOrder, \"[PAY SOLANA] daimoPayOrder cannot be null\");\n const orderId = daimoPayOrder.id;\n const { hydratedOrder } = await createOrHydrate({\n order: daimoPayOrder,\n });\n log(`[CHECKOUT] Hydrated order: ${JSON.stringify(hydratedOrder)}, checking out with Solana ${inputToken}`);\n const txHash = await (async () => {\n try {\n const serializedTx = await trpc.getSolanaSwapAndBurnTx.query({\n orderId: orderId.toString(),\n userPublicKey: assertNotNull(wallet.publicKey, \"[PAY SOLANA] wallet.publicKey cannot be null\").toString(),\n inputTokenMint: inputToken,\n });\n const tx = VersionedTransaction.deserialize(hexToBytes(serializedTx));\n const txHash = await wallet.sendTransaction(tx, connection);\n return txHash;\n }\n catch (e) {\n console.error(e);\n setDaimoPayOrder(hydratedOrder);\n throw e;\n }\n finally {\n setDaimoPayOrder(hydratedOrder);\n }\n })();\n // TOOD: get the actual amount sent from the tx logs.\n // We are currently using a fake amount = 0.\n trpc.processSolanaSourcePayment.mutate({\n orderId: orderId.toString(),\n startIntentTxHash: txHash,\n token: inputToken,\n });\n return txHash;\n };\n return { payWithSolanaToken };\n}\n"],"names":[],"mappings":";;;;;AAIO,SAAS,qBAAqB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,GAAG,EAAE;AACxG,IAAI,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE,CAAC;AAC3C,IAAI,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAC/B,IAAI,MAAM,kBAAkB,GAAG,OAAO,UAAU,KAAK;AACrD,QAAQ,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC;AACvE,QAAQ,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,2CAA2C,CAAC,CAAC;AAC7E,QAAQ,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC;AACzC,QAAQ,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,eAAe,CAAC;AACxD,YAAY,KAAK,EAAE,aAAa;AAChC,SAAS,CAAC,CAAC;AACX,QAAQ,GAAG,CAAC,CAAC,2BAA2B,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,2BAA2B,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AACnH,QAAQ,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY;AAC1C,YAAY,IAAI;AAChB,gBAAgB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;AAC7E,oBAAoB,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;AAC/C,oBAAoB,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,8CAA8C,CAAC,CAAC,QAAQ,EAAE;AAC7H,oBAAoB,cAAc,EAAE,UAAU;AAC9C,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,MAAM,EAAE,GAAG,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;AACtF,gBAAgB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;AAC5E,gBAAgB,OAAO,MAAM,CAAC;AAC9B,aAAa;AACb,YAAY,OAAO,CAAC,EAAE;AACtB,gBAAgB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjC,gBAAgB,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAChD,gBAAgB,MAAM,CAAC,CAAC;AACxB,aAAa;AACb,oBAAoB;AACpB,gBAAgB,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAChD,aAAa;AACb,SAAS,GAAG,CAAC;AACb;AACA;AACA,QAAQ,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC;AAC/C,YAAY,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;AACvC,YAAY,iBAAiB,EAAE,MAAM;AACrC,YAAY,KAAK,EAAE,UAAU;AAC7B,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAClC;;;;"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { assert, debugJson, assertNotNull } from '@daimo/pay-common';
|
|
2
|
-
import { zeroAddress, erc20Abi, getAddress } from 'viem';
|
|
3
|
-
import { useWriteContract, useSendTransaction } from 'wagmi';
|
|
4
|
-
|
|
5
|
-
function usePayWithToken({ trpc, senderAddr, daimoPayOrder, setDaimoPayOrder, createOrHydrate, log, }) {
|
|
6
|
-
const { writeContractAsync } = useWriteContract();
|
|
7
|
-
const { sendTransactionAsync } = useSendTransaction();
|
|
8
|
-
/** Commit to a token + amount = initiate payment. */
|
|
9
|
-
const payWithToken = async (walletOption) => {
|
|
10
|
-
assert(!!daimoPayOrder, "[PAY TOKEN] daimoPayOrder cannot be null");
|
|
11
|
-
const { required, fees } = walletOption;
|
|
12
|
-
assert(required.token.token === fees.token.token, `[PAY TOKEN] required token ${debugJson(required)} does not match fees token ${debugJson(fees)}`);
|
|
13
|
-
const paymentAmount = BigInt(required.amount) + BigInt(fees.amount);
|
|
14
|
-
const { hydratedOrder } = await createOrHydrate({
|
|
15
|
-
order: daimoPayOrder,
|
|
16
|
-
refundAddress: senderAddr,
|
|
17
|
-
});
|
|
18
|
-
log(`[PAY TOKEN] hydrated order: ${JSON.stringify(hydratedOrder)}, paying ${paymentAmount} of token ${required.token.token}`);
|
|
19
|
-
setDaimoPayOrder(hydratedOrder);
|
|
20
|
-
const txHash = await (async () => {
|
|
21
|
-
try {
|
|
22
|
-
if (required.token.token === zeroAddress) {
|
|
23
|
-
return await sendTransactionAsync({
|
|
24
|
-
to: hydratedOrder.intentAddr,
|
|
25
|
-
value: paymentAmount,
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
return await writeContractAsync({
|
|
30
|
-
abi: erc20Abi,
|
|
31
|
-
address: getAddress(required.token.token),
|
|
32
|
-
functionName: "transfer",
|
|
33
|
-
args: [hydratedOrder.intentAddr, paymentAmount],
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
catch (e) {
|
|
38
|
-
console.error(`[PAY TOKEN] error sending token: ${e}`);
|
|
39
|
-
throw e;
|
|
40
|
-
}
|
|
41
|
-
})();
|
|
42
|
-
if (txHash) {
|
|
43
|
-
await trpc.processSourcePayment.mutate({
|
|
44
|
-
orderId: daimoPayOrder.id.toString(),
|
|
45
|
-
sourceInitiateTxHash: txHash,
|
|
46
|
-
sourceChainId: required.token.chainId,
|
|
47
|
-
sourceFulfillerAddr: assertNotNull(senderAddr, `[PAY TOKEN] senderAddr cannot be null on order ${daimoPayOrder.id}`),
|
|
48
|
-
sourceToken: required.token.token,
|
|
49
|
-
sourceAmount: paymentAmount.toString(),
|
|
50
|
-
});
|
|
51
|
-
// TODO: update order immediately, do not wait for polling.
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
return { payWithToken };
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export { usePayWithToken };
|
|
58
|
-
//# sourceMappingURL=usePayWithToken.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"usePayWithToken.js","sources":["../../../src/hooks/usePayWithToken.ts"],"sourcesContent":["import { assert, assertNotNull, debugJson, } from \"@daimo/pay-common\";\nimport { erc20Abi, getAddress, zeroAddress } from \"viem\";\nimport { useSendTransaction, useWriteContract } from \"wagmi\";\nexport function usePayWithToken({ trpc, senderAddr, daimoPayOrder, setDaimoPayOrder, createOrHydrate, log, }) {\n const { writeContractAsync } = useWriteContract();\n const { sendTransactionAsync } = useSendTransaction();\n /** Commit to a token + amount = initiate payment. */\n const payWithToken = async (walletOption) => {\n assert(!!daimoPayOrder, \"[PAY TOKEN] daimoPayOrder cannot be null\");\n const { required, fees } = walletOption;\n assert(required.token.token === fees.token.token, `[PAY TOKEN] required token ${debugJson(required)} does not match fees token ${debugJson(fees)}`);\n const paymentAmount = BigInt(required.amount) + BigInt(fees.amount);\n const { hydratedOrder } = await createOrHydrate({\n order: daimoPayOrder,\n refundAddress: senderAddr,\n });\n log(`[PAY TOKEN] hydrated order: ${JSON.stringify(hydratedOrder)}, paying ${paymentAmount} of token ${required.token.token}`);\n setDaimoPayOrder(hydratedOrder);\n const txHash = await (async () => {\n try {\n if (required.token.token === zeroAddress) {\n return await sendTransactionAsync({\n to: hydratedOrder.intentAddr,\n value: paymentAmount,\n });\n }\n else {\n return await writeContractAsync({\n abi: erc20Abi,\n address: getAddress(required.token.token),\n functionName: \"transfer\",\n args: [hydratedOrder.intentAddr, paymentAmount],\n });\n }\n }\n catch (e) {\n console.error(`[PAY TOKEN] error sending token: ${e}`);\n throw e;\n }\n })();\n if (txHash) {\n await trpc.processSourcePayment.mutate({\n orderId: daimoPayOrder.id.toString(),\n sourceInitiateTxHash: txHash,\n sourceChainId: required.token.chainId,\n sourceFulfillerAddr: assertNotNull(senderAddr, `[PAY TOKEN] senderAddr cannot be null on order ${daimoPayOrder.id}`),\n sourceToken: required.token.token,\n sourceAmount: paymentAmount.toString(),\n });\n // TODO: update order immediately, do not wait for polling.\n }\n };\n return { payWithToken };\n}\n"],"names":[],"mappings":";;;;AAGO,SAAS,eAAe,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,GAAG,EAAE;AAC9G,IAAI,MAAM,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,EAAE,CAAC;AACtD,IAAI,MAAM,EAAE,oBAAoB,EAAE,GAAG,kBAAkB,EAAE,CAAC;AAC1D;AACA,IAAI,MAAM,YAAY,GAAG,OAAO,YAAY,KAAK;AACjD,QAAQ,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,0CAA0C,CAAC,CAAC;AAC5E,QAAQ,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC;AAChD,QAAQ,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,2BAA2B,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,2BAA2B,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5J,QAAQ,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5E,QAAQ,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,eAAe,CAAC;AACxD,YAAY,KAAK,EAAE,aAAa;AAChC,YAAY,aAAa,EAAE,UAAU;AACrC,SAAS,CAAC,CAAC;AACX,QAAQ,GAAG,CAAC,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtI,QAAQ,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACxC,QAAQ,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY;AAC1C,YAAY,IAAI;AAChB,gBAAgB,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE;AAC1D,oBAAoB,OAAO,MAAM,oBAAoB,CAAC;AACtD,wBAAwB,EAAE,EAAE,aAAa,CAAC,UAAU;AACpD,wBAAwB,KAAK,EAAE,aAAa;AAC5C,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,OAAO,MAAM,kBAAkB,CAAC;AACpD,wBAAwB,GAAG,EAAE,QAAQ;AACrC,wBAAwB,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;AACjE,wBAAwB,YAAY,EAAE,UAAU;AAChD,wBAAwB,IAAI,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC;AACvE,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,CAAC,EAAE;AACtB,gBAAgB,OAAO,CAAC,KAAK,CAAC,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,gBAAgB,MAAM,CAAC,CAAC;AACxB,aAAa;AACb,SAAS,GAAG,CAAC;AACb,QAAQ,IAAI,MAAM,EAAE;AACpB,YAAY,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;AACnD,gBAAgB,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE;AACpD,gBAAgB,oBAAoB,EAAE,MAAM;AAC5C,gBAAgB,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO;AACrD,gBAAgB,mBAAmB,EAAE,aAAa,CAAC,UAAU,EAAE,CAAC,+CAA+C,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;AACpI,gBAAgB,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK;AACjD,gBAAgB,YAAY,EAAE,aAAa,CAAC,QAAQ,EAAE;AACtD,aAAa,CAAC,CAAC;AACf;AACA,SAAS;AACT,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;AAC5B;;;;"}
|
|
@@ -1,283 +0,0 @@
|
|
|
1
|
-
import { ethereum, readDaimoPayOrderID, assert, assertNotNull } from '@daimo/pay-common';
|
|
2
|
-
import { useWallet } from '@solana/wallet-adapter-react';
|
|
3
|
-
import { useState, useEffect, useCallback } from 'react';
|
|
4
|
-
import { parseUnits, formatUnits } from 'viem';
|
|
5
|
-
import { useAccount, useEnsName } from 'wagmi';
|
|
6
|
-
import { detectPlatform } from '../utils/platform.js';
|
|
7
|
-
import { useDepositAddressOptions } from './useDepositAddressOptions.js';
|
|
8
|
-
import { useExternalPaymentOptions } from './useExternalPaymentOptions.js';
|
|
9
|
-
import { useOrderUsdLimits } from './useOrderUsdLimits.js';
|
|
10
|
-
import { usePayWithSolanaToken } from './usePayWithSolanaToken.js';
|
|
11
|
-
import { usePayWithToken } from './usePayWithToken.js';
|
|
12
|
-
import { useSolanaPaymentOptions } from './useSolanaPaymentOptions.js';
|
|
13
|
-
import { useWalletPaymentOptions } from './useWalletPaymentOptions.js';
|
|
14
|
-
|
|
15
|
-
function usePaymentState({ trpc, daimoPayOrder, setDaimoPayOrder, setOpen, log, redirectReturnUrl, }) {
|
|
16
|
-
// Browser state.
|
|
17
|
-
const [platform, setPlatform] = useState();
|
|
18
|
-
useEffect(() => {
|
|
19
|
-
setPlatform(detectPlatform(window.navigator.userAgent));
|
|
20
|
-
}, []);
|
|
21
|
-
// Wallet state.
|
|
22
|
-
const { address: senderAddr } = useAccount();
|
|
23
|
-
const { data: senderEnsName } = useEnsName({
|
|
24
|
-
chainId: ethereum.chainId,
|
|
25
|
-
address: senderAddr,
|
|
26
|
-
});
|
|
27
|
-
// Solana wallet state.
|
|
28
|
-
const solanaWallet = useWallet();
|
|
29
|
-
const solanaPubKey = solanaWallet.publicKey?.toBase58();
|
|
30
|
-
// Daimo Pay order state.
|
|
31
|
-
const [payParams, setPayParamsState] = useState();
|
|
32
|
-
const [paymentWaitingMessage, setPaymentWaitingMessage] = useState();
|
|
33
|
-
const [isDepositFlow, setIsDepositFlow] = useState(false);
|
|
34
|
-
// Payment UI config.
|
|
35
|
-
const [modalOptions, setModalOptions] = useState({});
|
|
36
|
-
// UI state. Selection for external payment (Binance, etc) vs wallet payment.
|
|
37
|
-
const externalPaymentOptions = useExternalPaymentOptions({
|
|
38
|
-
trpc,
|
|
39
|
-
filterIds: daimoPayOrder?.metadata.payer?.paymentOptions,
|
|
40
|
-
platform,
|
|
41
|
-
usdRequired: daimoPayOrder?.destFinalCallTokenAmount.usd,
|
|
42
|
-
mode: daimoPayOrder?.mode,
|
|
43
|
-
});
|
|
44
|
-
const walletPaymentOptions = useWalletPaymentOptions({
|
|
45
|
-
trpc,
|
|
46
|
-
address: senderAddr,
|
|
47
|
-
usdRequired: daimoPayOrder?.destFinalCallTokenAmount.usd,
|
|
48
|
-
destChainId: daimoPayOrder?.destFinalCallTokenAmount.token.chainId,
|
|
49
|
-
preferredChains: daimoPayOrder?.metadata.payer?.preferredChains,
|
|
50
|
-
preferredTokens: daimoPayOrder?.metadata.payer?.preferredTokens,
|
|
51
|
-
evmChains: daimoPayOrder?.metadata.payer?.evmChains,
|
|
52
|
-
isDepositFlow,
|
|
53
|
-
log,
|
|
54
|
-
});
|
|
55
|
-
const solanaPaymentOptions = useSolanaPaymentOptions({
|
|
56
|
-
trpc,
|
|
57
|
-
address: solanaPubKey,
|
|
58
|
-
usdRequired: daimoPayOrder?.destFinalCallTokenAmount.usd,
|
|
59
|
-
isDepositFlow,
|
|
60
|
-
});
|
|
61
|
-
const depositAddressOptions = useDepositAddressOptions({
|
|
62
|
-
trpc,
|
|
63
|
-
usdRequired: daimoPayOrder?.destFinalCallTokenAmount.usd,
|
|
64
|
-
mode: daimoPayOrder?.mode,
|
|
65
|
-
});
|
|
66
|
-
const chainOrderUsdLimits = useOrderUsdLimits({ trpc });
|
|
67
|
-
/** Create a new order or hydrate an existing one. */
|
|
68
|
-
const createOrHydrate = async ({ order, refundAddress, externalPaymentOption, }) => {
|
|
69
|
-
assert(!!platform, "[CREATE/HYDRATE] missing platform");
|
|
70
|
-
if (payParams == null) {
|
|
71
|
-
log(`[CREATE/HYDRATE] hydrating existing order ${order.id}`);
|
|
72
|
-
return await trpc.hydrateOrder.query({
|
|
73
|
-
id: order.id.toString(),
|
|
74
|
-
chosenFinalTokenAmount: order.destFinalCallTokenAmount.amount,
|
|
75
|
-
platform,
|
|
76
|
-
refundAddress,
|
|
77
|
-
externalPaymentOption,
|
|
78
|
-
redirectReturnUrl,
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
log(`[CREATE/HYDRATE] creating+hydrating new order ${order.id}`);
|
|
82
|
-
// Update units, if isDepositFlow then the user may have changed the amount.
|
|
83
|
-
const toUnits = formatUnits(BigInt(order.destFinalCallTokenAmount.amount), order.destFinalCallTokenAmount.token.decimals);
|
|
84
|
-
return await trpc.createOrder.mutate({
|
|
85
|
-
appId: payParams.appId,
|
|
86
|
-
paymentInput: {
|
|
87
|
-
...payParams,
|
|
88
|
-
id: order.id.toString(),
|
|
89
|
-
toUnits,
|
|
90
|
-
metadata: order.metadata,
|
|
91
|
-
userMetadata: payParams.metadata,
|
|
92
|
-
isAmountEditable: isDepositFlow,
|
|
93
|
-
},
|
|
94
|
-
platform,
|
|
95
|
-
refundAddress,
|
|
96
|
-
externalPaymentOption,
|
|
97
|
-
redirectReturnUrl,
|
|
98
|
-
});
|
|
99
|
-
};
|
|
100
|
-
const { payWithToken } = usePayWithToken({
|
|
101
|
-
trpc,
|
|
102
|
-
senderAddr,
|
|
103
|
-
daimoPayOrder,
|
|
104
|
-
setDaimoPayOrder,
|
|
105
|
-
createOrHydrate,
|
|
106
|
-
log,
|
|
107
|
-
});
|
|
108
|
-
const { payWithSolanaToken } = usePayWithSolanaToken({
|
|
109
|
-
trpc,
|
|
110
|
-
daimoPayOrder,
|
|
111
|
-
setDaimoPayOrder,
|
|
112
|
-
createOrHydrate,
|
|
113
|
-
log,
|
|
114
|
-
});
|
|
115
|
-
const [selectedExternalOption, setSelectedExternalOption] = useState();
|
|
116
|
-
const [selectedTokenOption, setSelectedTokenOption] = useState();
|
|
117
|
-
const [selectedSolanaTokenOption, setSelectedSolanaTokenOption] = useState();
|
|
118
|
-
const [selectedDepositAddressOption, setSelectedDepositAddressOption] = useState();
|
|
119
|
-
const getOrderUsdLimit = () => {
|
|
120
|
-
const DEFAULT_USD_LIMIT = 20000;
|
|
121
|
-
if (daimoPayOrder == null || chainOrderUsdLimits.loading) {
|
|
122
|
-
return DEFAULT_USD_LIMIT;
|
|
123
|
-
}
|
|
124
|
-
const destChainId = daimoPayOrder.destFinalCallTokenAmount.token.chainId;
|
|
125
|
-
return destChainId in chainOrderUsdLimits.limits
|
|
126
|
-
? chainOrderUsdLimits.limits[destChainId]
|
|
127
|
-
: DEFAULT_USD_LIMIT;
|
|
128
|
-
};
|
|
129
|
-
const payWithExternal = async (option) => {
|
|
130
|
-
assert(!!daimoPayOrder, "[PAY EXTERNAL] daimoPayOrder cannot be null");
|
|
131
|
-
assert(!!platform, "[PAY EXTERNAL] platform cannot be null");
|
|
132
|
-
const { hydratedOrder, externalPaymentOptionData } = await createOrHydrate({
|
|
133
|
-
order: daimoPayOrder,
|
|
134
|
-
externalPaymentOption: option,
|
|
135
|
-
});
|
|
136
|
-
assert(!!externalPaymentOptionData, "[PAY EXTERNAL] missing externalPaymentOptionData");
|
|
137
|
-
log(`[PAY EXTERNAL] hydrated order: ${JSON.stringify(hydratedOrder)}, checking out with external payment: ${option}`);
|
|
138
|
-
setPaymentWaitingMessage(externalPaymentOptionData.waitingMessage);
|
|
139
|
-
setDaimoPayOrder(hydratedOrder);
|
|
140
|
-
return externalPaymentOptionData.url;
|
|
141
|
-
};
|
|
142
|
-
const payWithDepositAddress = async (option) => {
|
|
143
|
-
assert(!!daimoPayOrder, "[PAY DEPOSIT ADDRESS] missing daimoPayOrder");
|
|
144
|
-
const { hydratedOrder } = await createOrHydrate({
|
|
145
|
-
order: daimoPayOrder,
|
|
146
|
-
});
|
|
147
|
-
setDaimoPayOrder(hydratedOrder);
|
|
148
|
-
log(`[PAY DEPOSIT ADDRESS] hydrated order: ${JSON.stringify(hydratedOrder)}, checking out with deposit address: ${option}`);
|
|
149
|
-
const depositAddressOption = await trpc.getDepositAddressOptionData.query({
|
|
150
|
-
input: option,
|
|
151
|
-
usdRequired: daimoPayOrder.destFinalCallTokenAmount.usd,
|
|
152
|
-
toAddress: assertNotNull(hydratedOrder.intentAddr, `[PAY DEPOSIT ADDRESS] missing intentAddr on order ${hydratedOrder.id}`),
|
|
153
|
-
});
|
|
154
|
-
return depositAddressOption;
|
|
155
|
-
};
|
|
156
|
-
const refreshOrder = useCallback(async () => {
|
|
157
|
-
const id = daimoPayOrder?.id?.toString();
|
|
158
|
-
if (!id)
|
|
159
|
-
return;
|
|
160
|
-
const { order } = await trpc.getOrder.query({
|
|
161
|
-
id,
|
|
162
|
-
});
|
|
163
|
-
// Don't overwrite the order if a new order was generated.
|
|
164
|
-
if (daimoPayOrder == null || order.id === daimoPayOrder.id) {
|
|
165
|
-
log(`[CHECKOUT] refreshed order: ${order.id}`);
|
|
166
|
-
setDaimoPayOrder(order);
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
log(`[CHECKOUT] IGNORING refreshOrder, wrong ID: ${order.id} vs ${daimoPayOrder.id}`);
|
|
170
|
-
}
|
|
171
|
-
}, [daimoPayOrder?.id]);
|
|
172
|
-
/** User picked a different deposit amount. */
|
|
173
|
-
const setChosenUsd = (usd) => {
|
|
174
|
-
assert(!!daimoPayOrder, "[SET CHOSEN USD] daimoPayOrder cannot be null");
|
|
175
|
-
const token = daimoPayOrder.destFinalCallTokenAmount.token;
|
|
176
|
-
const tokenUnits = (usd / token.usd).toString();
|
|
177
|
-
const tokenAmount = parseUnits(tokenUnits, token.decimals);
|
|
178
|
-
// TODO: remove amount from destFinalCall, it is redundant with
|
|
179
|
-
// destFinalCallTokenAmount. Here, we only modify one and not the other.
|
|
180
|
-
log(`[CHECKOUT] setting chosen USD amount to $${usd} = ${tokenUnits} ${token.symbol}`);
|
|
181
|
-
setDaimoPayOrder({
|
|
182
|
-
...daimoPayOrder,
|
|
183
|
-
destFinalCallTokenAmount: {
|
|
184
|
-
token,
|
|
185
|
-
amount: tokenAmount.toString(),
|
|
186
|
-
usd: usd,
|
|
187
|
-
},
|
|
188
|
-
});
|
|
189
|
-
};
|
|
190
|
-
const setPayId = useCallback(async (payId) => {
|
|
191
|
-
if (!payId)
|
|
192
|
-
return;
|
|
193
|
-
const id = readDaimoPayOrderID(payId).toString();
|
|
194
|
-
if (daimoPayOrder && BigInt(id) == daimoPayOrder.id) {
|
|
195
|
-
// Already loaded, ignore.
|
|
196
|
-
return;
|
|
197
|
-
}
|
|
198
|
-
const { order } = await trpc.getOrder.query({ id });
|
|
199
|
-
if (!order) {
|
|
200
|
-
console.error(`[CHECKOUT] setPayId: no order found for ${payId}`);
|
|
201
|
-
return;
|
|
202
|
-
}
|
|
203
|
-
log(`[CHECKOUT] setPayId: fetched order: ${JSON.stringify(order)}`);
|
|
204
|
-
setDaimoPayOrder(order);
|
|
205
|
-
}, [daimoPayOrder]);
|
|
206
|
-
/** Called whenever params change. */
|
|
207
|
-
const setPayParams = async (payParams) => {
|
|
208
|
-
assert(payParams != null, "[SET PAY PARAMS] payParams cannot be null");
|
|
209
|
-
setPayParamsState(payParams);
|
|
210
|
-
setIsDepositFlow(payParams.toUnits == null);
|
|
211
|
-
generatePreviewOrder(payParams);
|
|
212
|
-
};
|
|
213
|
-
const generatePreviewOrder = async (payParams) => {
|
|
214
|
-
// toUnits is undefined if and only if we're in deposit flow.
|
|
215
|
-
// Set dummy value for deposit flow, since user can edit the amount.
|
|
216
|
-
const toUnits = payParams.toUnits == null ? "0" : payParams.toUnits;
|
|
217
|
-
const orderPreview = await trpc.previewOrder.query({
|
|
218
|
-
appId: payParams.appId,
|
|
219
|
-
toChain: payParams.toChain,
|
|
220
|
-
toToken: payParams.toToken,
|
|
221
|
-
toUnits,
|
|
222
|
-
toAddress: payParams.toAddress,
|
|
223
|
-
toCallData: payParams.toCallData,
|
|
224
|
-
isAmountEditable: payParams.toUnits == null,
|
|
225
|
-
metadata: {
|
|
226
|
-
intent: payParams.intent ?? "Pay",
|
|
227
|
-
items: [],
|
|
228
|
-
payer: {
|
|
229
|
-
paymentOptions: payParams.paymentOptions,
|
|
230
|
-
preferredChains: payParams.preferredChains,
|
|
231
|
-
preferredTokens: payParams.preferredTokens,
|
|
232
|
-
evmChains: payParams.evmChains,
|
|
233
|
-
},
|
|
234
|
-
},
|
|
235
|
-
externalId: payParams.externalId,
|
|
236
|
-
userMetadata: payParams.metadata,
|
|
237
|
-
});
|
|
238
|
-
log(`[CHECKOUT] generated preview: ${JSON.stringify(orderPreview)}`);
|
|
239
|
-
setDaimoPayOrder(orderPreview);
|
|
240
|
-
};
|
|
241
|
-
const onSuccess = ({ txHash, txURL }) => {
|
|
242
|
-
if (modalOptions?.closeOnSuccess) {
|
|
243
|
-
log(`[CHECKOUT] transaction succeeded, closing: ${txHash} ${txURL}`);
|
|
244
|
-
setTimeout(() => setOpen(false, { event: "wait-success" }), 1000);
|
|
245
|
-
}
|
|
246
|
-
};
|
|
247
|
-
return {
|
|
248
|
-
setPayId,
|
|
249
|
-
payParams,
|
|
250
|
-
setPayParams,
|
|
251
|
-
generatePreviewOrder,
|
|
252
|
-
daimoPayOrder,
|
|
253
|
-
isDepositFlow,
|
|
254
|
-
modalOptions,
|
|
255
|
-
setModalOptions,
|
|
256
|
-
paymentWaitingMessage,
|
|
257
|
-
selectedExternalOption,
|
|
258
|
-
selectedTokenOption,
|
|
259
|
-
selectedSolanaTokenOption,
|
|
260
|
-
externalPaymentOptions,
|
|
261
|
-
walletPaymentOptions,
|
|
262
|
-
solanaPaymentOptions,
|
|
263
|
-
depositAddressOptions,
|
|
264
|
-
selectedDepositAddressOption,
|
|
265
|
-
getOrderUsdLimit,
|
|
266
|
-
setPaymentWaitingMessage,
|
|
267
|
-
setSelectedExternalOption,
|
|
268
|
-
setSelectedTokenOption,
|
|
269
|
-
setSelectedSolanaTokenOption,
|
|
270
|
-
setSelectedDepositAddressOption,
|
|
271
|
-
setChosenUsd,
|
|
272
|
-
payWithToken,
|
|
273
|
-
payWithExternal,
|
|
274
|
-
payWithDepositAddress,
|
|
275
|
-
payWithSolanaToken,
|
|
276
|
-
refreshOrder,
|
|
277
|
-
onSuccess,
|
|
278
|
-
senderEnsName: senderEnsName ?? undefined,
|
|
279
|
-
};
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
export { usePaymentState };
|
|
283
|
-
//# sourceMappingURL=usePaymentState.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"usePaymentState.js","sources":["../../../src/hooks/usePaymentState.ts"],"sourcesContent":["import { assert, assertNotNull, ethereum, readDaimoPayOrderID, } from \"@daimo/pay-common\";\nimport { useWallet } from \"@solana/wallet-adapter-react\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { formatUnits, parseUnits } from \"viem\";\nimport { useAccount, useEnsName } from \"wagmi\";\nimport { detectPlatform } from \"../utils/platform\";\nimport { useDepositAddressOptions } from \"./useDepositAddressOptions\";\nimport { useExternalPaymentOptions } from \"./useExternalPaymentOptions\";\nimport { useOrderUsdLimits } from \"./useOrderUsdLimits\";\nimport { usePayWithSolanaToken } from \"./usePayWithSolanaToken\";\nimport { usePayWithToken } from \"./usePayWithToken\";\nimport { useSolanaPaymentOptions } from \"./useSolanaPaymentOptions\";\nimport { useWalletPaymentOptions } from \"./useWalletPaymentOptions\";\nexport function usePaymentState({ trpc, daimoPayOrder, setDaimoPayOrder, setOpen, log, redirectReturnUrl, }) {\n // Browser state.\n const [platform, setPlatform] = useState();\n useEffect(() => {\n setPlatform(detectPlatform(window.navigator.userAgent));\n }, []);\n // Wallet state.\n const { address: senderAddr } = useAccount();\n const { data: senderEnsName } = useEnsName({\n chainId: ethereum.chainId,\n address: senderAddr,\n });\n // Solana wallet state.\n const solanaWallet = useWallet();\n const solanaPubKey = solanaWallet.publicKey?.toBase58();\n // Daimo Pay order state.\n const [payParams, setPayParamsState] = useState();\n const [paymentWaitingMessage, setPaymentWaitingMessage] = useState();\n const [isDepositFlow, setIsDepositFlow] = useState(false);\n // Payment UI config.\n const [modalOptions, setModalOptions] = useState({});\n // UI state. Selection for external payment (Binance, etc) vs wallet payment.\n const externalPaymentOptions = useExternalPaymentOptions({\n trpc,\n filterIds: daimoPayOrder?.metadata.payer?.paymentOptions,\n platform,\n usdRequired: daimoPayOrder?.destFinalCallTokenAmount.usd,\n mode: daimoPayOrder?.mode,\n });\n const walletPaymentOptions = useWalletPaymentOptions({\n trpc,\n address: senderAddr,\n usdRequired: daimoPayOrder?.destFinalCallTokenAmount.usd,\n destChainId: daimoPayOrder?.destFinalCallTokenAmount.token.chainId,\n preferredChains: daimoPayOrder?.metadata.payer?.preferredChains,\n preferredTokens: daimoPayOrder?.metadata.payer?.preferredTokens,\n evmChains: daimoPayOrder?.metadata.payer?.evmChains,\n isDepositFlow,\n log,\n });\n const solanaPaymentOptions = useSolanaPaymentOptions({\n trpc,\n address: solanaPubKey,\n usdRequired: daimoPayOrder?.destFinalCallTokenAmount.usd,\n isDepositFlow,\n });\n const depositAddressOptions = useDepositAddressOptions({\n trpc,\n usdRequired: daimoPayOrder?.destFinalCallTokenAmount.usd,\n mode: daimoPayOrder?.mode,\n });\n const chainOrderUsdLimits = useOrderUsdLimits({ trpc });\n /** Create a new order or hydrate an existing one. */\n const createOrHydrate = async ({ order, refundAddress, externalPaymentOption, }) => {\n assert(!!platform, \"[CREATE/HYDRATE] missing platform\");\n if (payParams == null) {\n log(`[CREATE/HYDRATE] hydrating existing order ${order.id}`);\n return await trpc.hydrateOrder.query({\n id: order.id.toString(),\n chosenFinalTokenAmount: order.destFinalCallTokenAmount.amount,\n platform,\n refundAddress,\n externalPaymentOption,\n redirectReturnUrl,\n });\n }\n log(`[CREATE/HYDRATE] creating+hydrating new order ${order.id}`);\n // Update units, if isDepositFlow then the user may have changed the amount.\n const toUnits = formatUnits(BigInt(order.destFinalCallTokenAmount.amount), order.destFinalCallTokenAmount.token.decimals);\n return await trpc.createOrder.mutate({\n appId: payParams.appId,\n paymentInput: {\n ...payParams,\n id: order.id.toString(),\n toUnits,\n metadata: order.metadata,\n userMetadata: payParams.metadata,\n isAmountEditable: isDepositFlow,\n },\n platform,\n refundAddress,\n externalPaymentOption,\n redirectReturnUrl,\n });\n };\n const { payWithToken } = usePayWithToken({\n trpc,\n senderAddr,\n daimoPayOrder,\n setDaimoPayOrder,\n createOrHydrate,\n log,\n });\n const { payWithSolanaToken } = usePayWithSolanaToken({\n trpc,\n daimoPayOrder,\n setDaimoPayOrder,\n createOrHydrate,\n log,\n });\n const [selectedExternalOption, setSelectedExternalOption] = useState();\n const [selectedTokenOption, setSelectedTokenOption] = useState();\n const [selectedSolanaTokenOption, setSelectedSolanaTokenOption] = useState();\n const [selectedDepositAddressOption, setSelectedDepositAddressOption] = useState();\n const getOrderUsdLimit = () => {\n const DEFAULT_USD_LIMIT = 20000;\n if (daimoPayOrder == null || chainOrderUsdLimits.loading) {\n return DEFAULT_USD_LIMIT;\n }\n const destChainId = daimoPayOrder.destFinalCallTokenAmount.token.chainId;\n return destChainId in chainOrderUsdLimits.limits\n ? chainOrderUsdLimits.limits[destChainId]\n : DEFAULT_USD_LIMIT;\n };\n const payWithExternal = async (option) => {\n assert(!!daimoPayOrder, \"[PAY EXTERNAL] daimoPayOrder cannot be null\");\n assert(!!platform, \"[PAY EXTERNAL] platform cannot be null\");\n const { hydratedOrder, externalPaymentOptionData } = await createOrHydrate({\n order: daimoPayOrder,\n externalPaymentOption: option,\n });\n assert(!!externalPaymentOptionData, \"[PAY EXTERNAL] missing externalPaymentOptionData\");\n log(`[PAY EXTERNAL] hydrated order: ${JSON.stringify(hydratedOrder)}, checking out with external payment: ${option}`);\n setPaymentWaitingMessage(externalPaymentOptionData.waitingMessage);\n setDaimoPayOrder(hydratedOrder);\n return externalPaymentOptionData.url;\n };\n const payWithDepositAddress = async (option) => {\n assert(!!daimoPayOrder, \"[PAY DEPOSIT ADDRESS] missing daimoPayOrder\");\n const { hydratedOrder } = await createOrHydrate({\n order: daimoPayOrder,\n });\n setDaimoPayOrder(hydratedOrder);\n log(`[PAY DEPOSIT ADDRESS] hydrated order: ${JSON.stringify(hydratedOrder)}, checking out with deposit address: ${option}`);\n const depositAddressOption = await trpc.getDepositAddressOptionData.query({\n input: option,\n usdRequired: daimoPayOrder.destFinalCallTokenAmount.usd,\n toAddress: assertNotNull(hydratedOrder.intentAddr, `[PAY DEPOSIT ADDRESS] missing intentAddr on order ${hydratedOrder.id}`),\n });\n return depositAddressOption;\n };\n const refreshOrder = useCallback(async () => {\n const id = daimoPayOrder?.id?.toString();\n if (!id)\n return;\n const { order } = await trpc.getOrder.query({\n id,\n });\n // Don't overwrite the order if a new order was generated.\n if (daimoPayOrder == null || order.id === daimoPayOrder.id) {\n log(`[CHECKOUT] refreshed order: ${order.id}`);\n setDaimoPayOrder(order);\n }\n else {\n log(`[CHECKOUT] IGNORING refreshOrder, wrong ID: ${order.id} vs ${daimoPayOrder.id}`);\n }\n }, [daimoPayOrder?.id]);\n /** User picked a different deposit amount. */\n const setChosenUsd = (usd) => {\n assert(!!daimoPayOrder, \"[SET CHOSEN USD] daimoPayOrder cannot be null\");\n const token = daimoPayOrder.destFinalCallTokenAmount.token;\n const tokenUnits = (usd / token.usd).toString();\n const tokenAmount = parseUnits(tokenUnits, token.decimals);\n // TODO: remove amount from destFinalCall, it is redundant with\n // destFinalCallTokenAmount. Here, we only modify one and not the other.\n log(`[CHECKOUT] setting chosen USD amount to $${usd} = ${tokenUnits} ${token.symbol}`);\n setDaimoPayOrder({\n ...daimoPayOrder,\n destFinalCallTokenAmount: {\n token,\n amount: tokenAmount.toString(),\n usd: usd,\n },\n });\n };\n const setPayId = useCallback(async (payId) => {\n if (!payId)\n return;\n const id = readDaimoPayOrderID(payId).toString();\n if (daimoPayOrder && BigInt(id) == daimoPayOrder.id) {\n // Already loaded, ignore.\n return;\n }\n const { order } = await trpc.getOrder.query({ id });\n if (!order) {\n console.error(`[CHECKOUT] setPayId: no order found for ${payId}`);\n return;\n }\n log(`[CHECKOUT] setPayId: fetched order: ${JSON.stringify(order)}`);\n setDaimoPayOrder(order);\n }, [daimoPayOrder]);\n /** Called whenever params change. */\n const setPayParams = async (payParams) => {\n assert(payParams != null, \"[SET PAY PARAMS] payParams cannot be null\");\n setPayParamsState(payParams);\n setIsDepositFlow(payParams.toUnits == null);\n generatePreviewOrder(payParams);\n };\n const generatePreviewOrder = async (payParams) => {\n // toUnits is undefined if and only if we're in deposit flow.\n // Set dummy value for deposit flow, since user can edit the amount.\n const toUnits = payParams.toUnits == null ? \"0\" : payParams.toUnits;\n const orderPreview = await trpc.previewOrder.query({\n appId: payParams.appId,\n toChain: payParams.toChain,\n toToken: payParams.toToken,\n toUnits,\n toAddress: payParams.toAddress,\n toCallData: payParams.toCallData,\n isAmountEditable: payParams.toUnits == null,\n metadata: {\n intent: payParams.intent ?? \"Pay\",\n items: [],\n payer: {\n paymentOptions: payParams.paymentOptions,\n preferredChains: payParams.preferredChains,\n preferredTokens: payParams.preferredTokens,\n evmChains: payParams.evmChains,\n },\n },\n externalId: payParams.externalId,\n userMetadata: payParams.metadata,\n });\n log(`[CHECKOUT] generated preview: ${JSON.stringify(orderPreview)}`);\n setDaimoPayOrder(orderPreview);\n };\n const onSuccess = ({ txHash, txURL }) => {\n if (modalOptions?.closeOnSuccess) {\n log(`[CHECKOUT] transaction succeeded, closing: ${txHash} ${txURL}`);\n setTimeout(() => setOpen(false, { event: \"wait-success\" }), 1000);\n }\n };\n return {\n setPayId,\n payParams,\n setPayParams,\n generatePreviewOrder,\n daimoPayOrder,\n isDepositFlow,\n modalOptions,\n setModalOptions,\n paymentWaitingMessage,\n selectedExternalOption,\n selectedTokenOption,\n selectedSolanaTokenOption,\n externalPaymentOptions,\n walletPaymentOptions,\n solanaPaymentOptions,\n depositAddressOptions,\n selectedDepositAddressOption,\n getOrderUsdLimit,\n setPaymentWaitingMessage,\n setSelectedExternalOption,\n setSelectedTokenOption,\n setSelectedSolanaTokenOption,\n setSelectedDepositAddressOption,\n setChosenUsd,\n payWithToken,\n payWithExternal,\n payWithDepositAddress,\n payWithSolanaToken,\n refreshOrder,\n onSuccess,\n senderEnsName: senderEnsName ?? undefined,\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { useRef } from 'react';
|
|
2
|
-
|
|
3
|
-
function usePrevious(value, initial) {
|
|
4
|
-
const ref = useRef({ target: value, previous: initial });
|
|
5
|
-
if (ref.current.target !== value) {
|
|
6
|
-
// The value changed.
|
|
7
|
-
ref.current.previous = ref.current.target;
|
|
8
|
-
ref.current.target = value;
|
|
9
|
-
}
|
|
10
|
-
return ref.current.previous;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export { usePrevious as default };
|
|
14
|
-
//# sourceMappingURL=usePrevious.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"usePrevious.js","sources":["../../../src/hooks/usePrevious.tsx"],"sourcesContent":["import { useRef } from \"react\";\nexport default function usePrevious(value, initial) {\n const ref = useRef({ target: value, previous: initial });\n if (ref.current.target !== value) {\n // The value changed.\n ref.current.previous = ref.current.target;\n ref.current.target = value;\n }\n return ref.current.previous;\n}\n"],"names":[],"mappings":";;AACe,SAAS,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE;AACpD,IAAI,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7D,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;AACtC;AACA,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;AAClD,QAAQ,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;AACnC,KAAK;AACL,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;AAChC;;;;"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { useState, useEffect } from 'react';
|
|
2
|
-
|
|
3
|
-
/** Wallet payment options. User picks one. */
|
|
4
|
-
function useSolanaPaymentOptions({ trpc, address, usdRequired, isDepositFlow, }) {
|
|
5
|
-
const [options, setOptions] = useState(null);
|
|
6
|
-
const [isLoading, setIsLoading] = useState(false);
|
|
7
|
-
useEffect(() => {
|
|
8
|
-
const refreshWalletPaymentOptions = async () => {
|
|
9
|
-
if (address == null || usdRequired == null)
|
|
10
|
-
return;
|
|
11
|
-
setOptions(null);
|
|
12
|
-
setIsLoading(true);
|
|
13
|
-
try {
|
|
14
|
-
const newOptions = await trpc.getSolanaPaymentOptions.query({
|
|
15
|
-
pubKey: address,
|
|
16
|
-
// API expects undefined for deposit flow.
|
|
17
|
-
usdRequired: isDepositFlow ? undefined : usdRequired,
|
|
18
|
-
});
|
|
19
|
-
setOptions(newOptions);
|
|
20
|
-
}
|
|
21
|
-
catch (error) {
|
|
22
|
-
console.error(error);
|
|
23
|
-
}
|
|
24
|
-
finally {
|
|
25
|
-
setIsLoading(false);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
if (address != null && usdRequired != null) {
|
|
29
|
-
refreshWalletPaymentOptions();
|
|
30
|
-
}
|
|
31
|
-
}, [address, usdRequired, isDepositFlow]);
|
|
32
|
-
return {
|
|
33
|
-
options,
|
|
34
|
-
isLoading,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export { useSolanaPaymentOptions };
|
|
39
|
-
//# sourceMappingURL=useSolanaPaymentOptions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSolanaPaymentOptions.js","sources":["../../../src/hooks/useSolanaPaymentOptions.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\n/** Wallet payment options. User picks one. */\nexport function useSolanaPaymentOptions({ trpc, address, usdRequired, isDepositFlow, }) {\n const [options, setOptions] = useState(null);\n const [isLoading, setIsLoading] = useState(false);\n useEffect(() => {\n const refreshWalletPaymentOptions = async () => {\n if (address == null || usdRequired == null)\n return;\n setOptions(null);\n setIsLoading(true);\n try {\n const newOptions = await trpc.getSolanaPaymentOptions.query({\n pubKey: address,\n // API expects undefined for deposit flow.\n usdRequired: isDepositFlow ? undefined : usdRequired,\n });\n setOptions(newOptions);\n }\n catch (error) {\n console.error(error);\n }\n finally {\n setIsLoading(false);\n }\n };\n if (address != null && usdRequired != null) {\n refreshWalletPaymentOptions();\n }\n }, [address, usdRequired, isDepositFlow]);\n return {\n options,\n isLoading,\n };\n}\n"],"names":[],"mappings":";;AACA;AACO,SAAS,uBAAuB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,GAAG,EAAE;AACxF,IAAI,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AACjD,IAAI,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtD,IAAI,SAAS,CAAC,MAAM;AACpB,QAAQ,MAAM,2BAA2B,GAAG,YAAY;AACxD,YAAY,IAAI,OAAO,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI;AACtD,gBAAgB,OAAO;AACvB,YAAY,UAAU,CAAC,IAAI,CAAC,CAAC;AAC7B,YAAY,YAAY,CAAC,IAAI,CAAC,CAAC;AAC/B,YAAY,IAAI;AAChB,gBAAgB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;AAC5E,oBAAoB,MAAM,EAAE,OAAO;AACnC;AACA,oBAAoB,WAAW,EAAE,aAAa,GAAG,SAAS,GAAG,WAAW;AACxE,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,UAAU,CAAC,UAAU,CAAC,CAAC;AACvC,aAAa;AACb,YAAY,OAAO,KAAK,EAAE;AAC1B,gBAAgB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACrC,aAAa;AACb,oBAAoB;AACpB,gBAAgB,YAAY,CAAC,KAAK,CAAC,CAAC;AACpC,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,IAAI,OAAO,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,EAAE;AACpD,YAAY,2BAA2B,EAAE,CAAC;AAC1C,SAAS;AACT,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;AAC9C,IAAI,OAAO;AACX,QAAQ,OAAO;AACf,QAAQ,SAAS;AACjB,KAAK,CAAC;AACN;;;;"}
|