@daimo/pay 1.6.1 → 1.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/build/index.d.ts +251 -249
- package/build/index.js +12039 -0
- package/build/index.js.map +1 -0
- package/package.json +6 -5
- package/build/package.json.js +0 -101
- package/build/package.json.js.map +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,83 +0,0 @@
|
|
|
1
|
-
import { formatUnits } from 'viem';
|
|
2
|
-
|
|
3
|
-
const USD_DECIMALS = 2;
|
|
4
|
-
/**
|
|
5
|
-
* Round a number to a given number of decimal places
|
|
6
|
-
*
|
|
7
|
-
* @param round - The rounding strategy to use:
|
|
8
|
-
* - "up": Always rounds up to the next decimal place (ceiling)
|
|
9
|
-
* - "down": Always rounds down to the previous decimal place (floor)
|
|
10
|
-
* - "nearest": Rounds to the nearest decimal place (standard rounding)
|
|
11
|
-
*/
|
|
12
|
-
function roundDecimals(value, decimals, round) {
|
|
13
|
-
const factor = 10 ** decimals;
|
|
14
|
-
const multiplied = value * factor;
|
|
15
|
-
let rounded;
|
|
16
|
-
if (round === "up") {
|
|
17
|
-
rounded = Math.ceil(multiplied);
|
|
18
|
-
}
|
|
19
|
-
else if (round === "down") {
|
|
20
|
-
rounded = Math.floor(multiplied);
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
rounded = Math.round(multiplied);
|
|
24
|
-
}
|
|
25
|
-
return (rounded / factor).toFixed(decimals);
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Format a number as a USD amount
|
|
29
|
-
*
|
|
30
|
-
* @param usd - The USD amount to format
|
|
31
|
-
* @param round - The rounding strategy to use ("up", "down", or "nearest")
|
|
32
|
-
* @returns The formatted USD amount
|
|
33
|
-
*/
|
|
34
|
-
function formatUsd(usd, round = "down") {
|
|
35
|
-
return new Intl.NumberFormat("en-US", {
|
|
36
|
-
style: "currency",
|
|
37
|
-
currency: "USD",
|
|
38
|
-
}).format(Number(roundUsd(usd, round)));
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Round a USD amount to `USD_DECIMALS` precision
|
|
42
|
-
*/
|
|
43
|
-
function roundUsd(usd, round = "down") {
|
|
44
|
-
return roundDecimals(usd, USD_DECIMALS, round);
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Round a token amount to `displayDecimals` precision
|
|
48
|
-
*/
|
|
49
|
-
function roundTokenAmount(amount, token, round = "down") {
|
|
50
|
-
return roundDecimals(Number(formatUnits(BigInt(amount), token.decimals)), token.displayDecimals, round);
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Round a token amount in units to `displayDecimals` precision
|
|
54
|
-
*/
|
|
55
|
-
function roundTokenAmountUnits(amountUnits, token, round = "down") {
|
|
56
|
-
return roundDecimals(amountUnits, token.displayDecimals, round);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Convert a USD amount to a token amount with `displayDecimals` precision
|
|
60
|
-
*
|
|
61
|
-
* @param usd - The USD amount to convert
|
|
62
|
-
* @param token - The token to convert to
|
|
63
|
-
* @param round - The rounding strategy to use ("up", "down", or "nearest")
|
|
64
|
-
* @returns The token amount
|
|
65
|
-
*/
|
|
66
|
-
function usdToRoundedTokenAmount(usd, token, round = "down") {
|
|
67
|
-
return roundTokenAmountUnits(usd / token.usd, token, round);
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Convert a token amount to a USD amount with `USD_DECIMALS` precision
|
|
71
|
-
*
|
|
72
|
-
* @param amount - The token amount to convert
|
|
73
|
-
* @param token - The token to convert from
|
|
74
|
-
* @param round - The rounding strategy to use ("up", "down", or "nearest")
|
|
75
|
-
* @returns The formatted USD amount
|
|
76
|
-
*/
|
|
77
|
-
function tokenAmountToRoundedUsd(amount, token, round = "nearest") {
|
|
78
|
-
const amountUnits = formatUnits(BigInt(amount), token.decimals);
|
|
79
|
-
return roundUsd(Number(amountUnits) * token.usd, round);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
export { USD_DECIMALS, formatUsd, roundDecimals, roundTokenAmount, roundTokenAmountUnits, roundUsd, tokenAmountToRoundedUsd, usdToRoundedTokenAmount };
|
|
83
|
-
//# sourceMappingURL=format.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/build/src/utils/index.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { detect } from 'detect-browser';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
|
|
4
|
-
const detectBrowser = () => {
|
|
5
|
-
const browser = detect();
|
|
6
|
-
return browser?.name ?? "";
|
|
7
|
-
};
|
|
8
|
-
const detectOS = () => {
|
|
9
|
-
const browser = detect();
|
|
10
|
-
return browser?.os ?? "";
|
|
11
|
-
};
|
|
12
|
-
const isIOS = () => {
|
|
13
|
-
const os = detectOS();
|
|
14
|
-
return os.toLowerCase().includes("ios");
|
|
15
|
-
};
|
|
16
|
-
const isAndroid = () => {
|
|
17
|
-
const os = detectOS();
|
|
18
|
-
return os.toLowerCase().includes("android");
|
|
19
|
-
};
|
|
20
|
-
const isMobile = () => {
|
|
21
|
-
return isAndroid() || isIOS();
|
|
22
|
-
};
|
|
23
|
-
function flattenChildren(children) {
|
|
24
|
-
const childrenArray = React.Children.toArray(children);
|
|
25
|
-
return childrenArray.reduce((flatChildren, child) => {
|
|
26
|
-
if (child.type === React.Fragment) {
|
|
27
|
-
return flatChildren.concat(flattenChildren(child.props.children));
|
|
28
|
-
}
|
|
29
|
-
flatChildren.push(child);
|
|
30
|
-
return flatChildren;
|
|
31
|
-
}, []);
|
|
32
|
-
}
|
|
33
|
-
const isWalletConnectConnector = (connectorId) => connectorId === "walletConnect";
|
|
34
|
-
const isCoinbaseWalletConnector = (connectorId) => connectorId === "coinbaseWalletSDK";
|
|
35
|
-
const isSafeConnector = (connectorId) => connectorId === "safe";
|
|
36
|
-
const isInjectedConnector = (connectorId) => connectorId === "injected";
|
|
37
|
-
|
|
38
|
-
export { detectBrowser, detectOS, flattenChildren, isAndroid, isCoinbaseWalletConnector, isInjectedConnector, isMobile, isSafeConnector, isWalletConnectConnector };
|
|
39
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/build/src/utils/p3.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import 'styled-components';
|
|
2
|
-
|
|
3
|
-
const hexToP3 = (hex) => {
|
|
4
|
-
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
|
5
|
-
if (result == null)
|
|
6
|
-
return hex;
|
|
7
|
-
const values = {
|
|
8
|
-
r: parseInt(result[1], 16),
|
|
9
|
-
g: parseInt(result[2], 16),
|
|
10
|
-
b: parseInt(result[3], 16),
|
|
11
|
-
};
|
|
12
|
-
return `color(display-p3 ${values.r / 255} ${values.g / 255} ${values.b / 255})`;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export { hexToP3 };
|
|
16
|
-
//# sourceMappingURL=p3.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
function detectPlatform(ua) {
|
|
2
|
-
// From https://dev.to/konyu/using-javascript-to-determine-whether-the-client-is-ios-or-android-4i1j
|
|
3
|
-
if (/android/i.test(ua)) {
|
|
4
|
-
return "android";
|
|
5
|
-
}
|
|
6
|
-
else if (/iPhone|iPod|iPad/.test(ua)) {
|
|
7
|
-
return "ios";
|
|
8
|
-
}
|
|
9
|
-
return "other";
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export { detectPlatform };
|
|
13
|
-
//# sourceMappingURL=platform.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { writeDaimoPayOrderID } from '@daimo/pay-common';
|
|
2
|
-
import { daimoPayVersion } from './exports.js';
|
|
3
|
-
|
|
4
|
-
function getSupportUrl(daimoPayOrder, screen) {
|
|
5
|
-
const payId = daimoPayOrder == null ? null : writeDaimoPayOrderID(daimoPayOrder.id);
|
|
6
|
-
const email = "support@daimo.com";
|
|
7
|
-
const subject = `Support${payId ? ` #${payId}` : ""}`;
|
|
8
|
-
let body = [
|
|
9
|
-
`Transaction: ${screen}`,
|
|
10
|
-
`Version: ${daimoPayVersion}`,
|
|
11
|
-
``,
|
|
12
|
-
`Tell us how we can help`,
|
|
13
|
-
].join("\n");
|
|
14
|
-
return `mailto:${email}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export { getSupportUrl };
|
|
18
|
-
//# sourceMappingURL=supportUrl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"supportUrl.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
|
package/build/src/utils/trpc.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { createTRPCClient, httpBatchLink } from '@trpc/client';
|
|
2
|
-
import { daimoPayVersion } from './exports.js';
|
|
3
|
-
|
|
4
|
-
function createTrpcClient(apiUrl, sessionId) {
|
|
5
|
-
return createTRPCClient({
|
|
6
|
-
links: [
|
|
7
|
-
httpBatchLink({
|
|
8
|
-
url: apiUrl,
|
|
9
|
-
headers: {
|
|
10
|
-
"x-pay-version": daimoPayVersion,
|
|
11
|
-
"x-session-id": sessionId,
|
|
12
|
-
},
|
|
13
|
-
}),
|
|
14
|
-
],
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export { createTrpcClient };
|
|
19
|
-
//# sourceMappingURL=trpc.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trpc.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns true if the value is a valid number.
|
|
3
|
-
* @param value The value to validate.
|
|
4
|
-
* @param maxDecimals The maximum number of decimal places.
|
|
5
|
-
* @returns True if the value is a valid number, false otherwise.
|
|
6
|
-
*/
|
|
7
|
-
function isValidNumber(value, maxDecimals) {
|
|
8
|
-
if (value.length === 0) {
|
|
9
|
-
return false;
|
|
10
|
-
}
|
|
11
|
-
// Test that the value is digits, followed by an optional decimal, followed
|
|
12
|
-
// by more digits
|
|
13
|
-
const match = /^\d*\.?(\d*)$/.exec(value);
|
|
14
|
-
if (match == null)
|
|
15
|
-
return false;
|
|
16
|
-
// Check that the number of digits after the decimal is less than or equal to
|
|
17
|
-
// maxDecimals
|
|
18
|
-
return maxDecimals == null || match[1].length <= maxDecimals;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Sanitize a number input.
|
|
22
|
-
* - Remove all non-numeric and non-decimal characters
|
|
23
|
-
* - If the value is empty, return "0"
|
|
24
|
-
* - Parse into a number
|
|
25
|
-
* @param value The value to sanitize.
|
|
26
|
-
* @returns The sanitized value.
|
|
27
|
-
*/
|
|
28
|
-
function sanitizeNumber(value) {
|
|
29
|
-
const cleaned = value.replace(/[^0-9.]/g, "");
|
|
30
|
-
if (!cleaned || cleaned === "." || !/^\d*\.?\d*$/.test(cleaned))
|
|
31
|
-
return "0";
|
|
32
|
-
return cleaned.startsWith(".") ? `0${cleaned}` : cleaned;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export { isValidNumber, sanitizeNumber };
|
|
36
|
-
//# sourceMappingURL=validateInput.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validateInput.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
const isWalletInstalled = (name) => {
|
|
2
|
-
if (typeof window === "undefined")
|
|
3
|
-
return false;
|
|
4
|
-
const { ethereum } = window;
|
|
5
|
-
return !!(ethereum?.[`is${name}`] ||
|
|
6
|
-
(ethereum?.providers &&
|
|
7
|
-
ethereum?.providers.find((provider) => provider?.[`is${name}`])));
|
|
8
|
-
};
|
|
9
|
-
const isFamily = () => isWalletInstalled("Family");
|
|
10
|
-
const isRainbow = () => isWalletInstalled("Rainbow");
|
|
11
|
-
const isZerion = () => isWalletInstalled("Zerion");
|
|
12
|
-
|
|
13
|
-
export { isFamily, isRainbow, isWalletInstalled, isZerion };
|
|
14
|
-
//# sourceMappingURL=wallets.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wallets.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { injected } from '@wagmi/connectors';
|
|
2
|
-
import { walletConfigs } from './walletConfigs.js';
|
|
3
|
-
|
|
4
|
-
/** Ethereum wallets, by name. */
|
|
5
|
-
const wallets = Object.keys(walletConfigs).reduce((acc, key) => {
|
|
6
|
-
const config = walletConfigs[key];
|
|
7
|
-
if (!config?.getWalletConnectDeeplink)
|
|
8
|
-
return acc;
|
|
9
|
-
const target = key.split(",")[0].trim();
|
|
10
|
-
const flag = config.name?.replace("Wallet", "").replace(" ", "") ??
|
|
11
|
-
target[0].toUpperCase() + target.slice(1);
|
|
12
|
-
const connector = injected({
|
|
13
|
-
target: {
|
|
14
|
-
id: target,
|
|
15
|
-
name: config.name ?? config.shortName ?? key,
|
|
16
|
-
provider: (w) => w?.ethereum?.[`is${flag}`],
|
|
17
|
-
},
|
|
18
|
-
});
|
|
19
|
-
const name = (config.name ?? config.shortName ?? key)
|
|
20
|
-
.toLowerCase()
|
|
21
|
-
// capitalize first letter
|
|
22
|
-
.replace(/(?:^|\s)\S/g, (a) => a.toUpperCase())
|
|
23
|
-
// remove spaces
|
|
24
|
-
.replace(/\s/g, "")
|
|
25
|
-
// lowercase first letter
|
|
26
|
-
.replace(/(?:^|\s)\S/g, (a) => a.toLowerCase());
|
|
27
|
-
acc[name] = connector;
|
|
28
|
-
return acc;
|
|
29
|
-
}, {});
|
|
30
|
-
|
|
31
|
-
export { wallets };
|
|
32
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { usePayContext } from '../components/DaimoPay.js';
|
|
3
|
-
import { useConnectors } from '../hooks/useConnectors.js';
|
|
4
|
-
import { isCoinbaseWalletConnector, isInjectedConnector } from '../utils/index.js';
|
|
5
|
-
import { walletConfigs } from './walletConfigs.js';
|
|
6
|
-
|
|
7
|
-
const useWallet = (id) => {
|
|
8
|
-
const wallets = useWallets();
|
|
9
|
-
const wallet = wallets.find((c) => c.id === id);
|
|
10
|
-
if (!wallet)
|
|
11
|
-
return null;
|
|
12
|
-
return wallet;
|
|
13
|
-
};
|
|
14
|
-
const useWallets = () => {
|
|
15
|
-
const connectors = useConnectors();
|
|
16
|
-
const context = usePayContext();
|
|
17
|
-
const wallets = connectors.map((connector) => {
|
|
18
|
-
// use overrides
|
|
19
|
-
const walletId = Object.keys(walletConfigs).find(
|
|
20
|
-
// where id is comma seperated list
|
|
21
|
-
(id) => id
|
|
22
|
-
.split(",")
|
|
23
|
-
.map((i) => i.trim())
|
|
24
|
-
.indexOf(connector.id) !== -1);
|
|
25
|
-
const c = {
|
|
26
|
-
id: connector.id,
|
|
27
|
-
name: connector.name ?? connector.id ?? connector.type,
|
|
28
|
-
icon: (jsx("img", { src: connector.icon, alt: connector.name, width: "100%", height: "100%" })),
|
|
29
|
-
connector,
|
|
30
|
-
iconShape: "squircle",
|
|
31
|
-
isInstalled: connector.type === "mock" ||
|
|
32
|
-
(connector.type === "injected" && connector.id !== "metaMask") ||
|
|
33
|
-
connector.type === "farcasterFrame" ||
|
|
34
|
-
isCoinbaseWalletConnector(connector.id), // always run coinbase wallet SDK
|
|
35
|
-
};
|
|
36
|
-
if (walletId) {
|
|
37
|
-
const wallet = walletConfigs[walletId];
|
|
38
|
-
return {
|
|
39
|
-
...c,
|
|
40
|
-
iconConnector: connector.icon ? (jsx("img", { src: connector.icon, alt: connector.name, width: "100%", height: "100%" })) : undefined,
|
|
41
|
-
...wallet,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
return c;
|
|
45
|
-
});
|
|
46
|
-
return (wallets
|
|
47
|
-
// remove duplicate ids
|
|
48
|
-
.filter((wallet, index, self) => self.findIndex((w) => w.id === wallet.id) === index)
|
|
49
|
-
// Replace walletConnect's name with the one from options
|
|
50
|
-
.map((wallet) => {
|
|
51
|
-
if (wallet.id === "walletConnect") {
|
|
52
|
-
return {
|
|
53
|
-
...wallet,
|
|
54
|
-
name: context.options?.walletConnectName || wallet.name,
|
|
55
|
-
shortName: context.options?.walletConnectName || wallet.shortName,
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
return wallet;
|
|
59
|
-
})
|
|
60
|
-
// remove wallet with id coinbaseWalletSDK if wallet with id 'com.coinbase.wallet' exists
|
|
61
|
-
.filter((wallet, index, self) => !(wallet.id === "coinbaseWalletSDK" &&
|
|
62
|
-
self.find((w) => w.id === "com.coinbase.wallet")))
|
|
63
|
-
// remove wallet with id io.metamask if wallet with id 'metaMask' exists
|
|
64
|
-
.filter((wallet, index, self) => !((wallet.id === "metaMaskSDK" || wallet.id === "metaMask") &&
|
|
65
|
-
self.find((w) => w.id === "io.metamask" || w.id === "io.metamask.mobile")))
|
|
66
|
-
// remove wallet with id 'com.warpcast.mobile' if wallet with id 'farcaster' exists
|
|
67
|
-
.filter((wallet, index, self) => !(wallet.id === "com.warpcast.mobile" &&
|
|
68
|
-
self.find((w) => w.id === "farcaster")))
|
|
69
|
-
// order by isInstalled injected connectors first
|
|
70
|
-
.sort((a, b) => {
|
|
71
|
-
const AisInstalled = a.isInstalled && isInjectedConnector(a.connector.type);
|
|
72
|
-
const BisInstalled = b.isInstalled && isInjectedConnector(b.connector.type);
|
|
73
|
-
if (AisInstalled && !BisInstalled)
|
|
74
|
-
return -1;
|
|
75
|
-
if (!AisInstalled && BisInstalled)
|
|
76
|
-
return 1;
|
|
77
|
-
return 0;
|
|
78
|
-
})
|
|
79
|
-
// move walletConnect to the end
|
|
80
|
-
.sort((a, b) => {
|
|
81
|
-
if (a.id === "walletConnect")
|
|
82
|
-
return 1;
|
|
83
|
-
if (b.id === "walletConnect")
|
|
84
|
-
return -1;
|
|
85
|
-
return 0;
|
|
86
|
-
}));
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
export { useWallet, useWallets };
|
|
90
|
-
//# sourceMappingURL=useWallets.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useWallets.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|