@daimo/pay 1.19.9 → 1.19.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/build/index.d.ts +0 -619
- package/build/package.json.js +0 -118
- package/build/package.json.js.map +0 -1
- package/build/src/assets/MobileWithLogos.js +0 -329
- package/build/src/assets/MobileWithLogos.js.map +0 -1
- package/build/src/assets/ScanIconWithLogos.js +0 -243
- package/build/src/assets/ScanIconWithLogos.js.map +0 -1
- package/build/src/assets/browsers.js +0 -969
- package/build/src/assets/browsers.js.map +0 -1
- package/build/src/assets/chains.js +0 -661
- package/build/src/assets/chains.js.map +0 -1
- package/build/src/assets/icons.js +0 -273
- package/build/src/assets/icons.js.map +0 -1
- package/build/src/assets/logos.js +0 -1694
- package/build/src/assets/logos.js.map +0 -1
- package/build/src/assets/wave.js +0 -46
- package/build/src/assets/wave.js.map +0 -1
- package/build/src/components/Common/Alert/index.js +0 -13
- 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 -62
- package/build/src/components/Common/AmountInput/AmountInputField.js.map +0 -1
- package/build/src/components/Common/AmountInput/index.js +0 -166
- package/build/src/components/Common/AmountInput/index.js.map +0 -1
- package/build/src/components/Common/Avatar/index.js +0 -78
- package/build/src/components/Common/Avatar/index.js.map +0 -1
- package/build/src/components/Common/Avatar/styles.js +0 -54
- package/build/src/components/Common/Avatar/styles.js.map +0 -1
- package/build/src/components/Common/BrowserIcon/index.js +0 -29
- 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 -144
- package/build/src/components/Common/Button/index.js.map +0 -1
- package/build/src/components/Common/Button/styles.js +0 -287
- package/build/src/components/Common/Button/styles.js.map +0 -1
- package/build/src/components/Common/Chain/index.js +0 -141
- package/build/src/components/Common/Chain/index.js.map +0 -1
- package/build/src/components/Common/Chain/styles.js +0 -90
- package/build/src/components/Common/Chain/styles.js.map +0 -1
- package/build/src/components/Common/ChainSelectList/index.js +0 -250
- package/build/src/components/Common/ChainSelectList/index.js.map +0 -1
- package/build/src/components/Common/ChainSelectList/styles.js +0 -226
- package/build/src/components/Common/ChainSelectList/styles.js.map +0 -1
- package/build/src/components/Common/CircleTimer.js +0 -92
- package/build/src/components/Common/CircleTimer.js.map +0 -1
- package/build/src/components/Common/ConnectorList/index.js +0 -121
- package/build/src/components/Common/ConnectorList/index.js.map +0 -1
- package/build/src/components/Common/ConnectorList/styles.js +0 -344
- package/build/src/components/Common/ConnectorList/styles.js.map +0 -1
- package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +0 -78
- package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +0 -1
- package/build/src/components/Common/CustomQRCode/QRCode.js +0 -132
- package/build/src/components/Common/CustomQRCode/QRCode.js.map +0 -1
- package/build/src/components/Common/CustomQRCode/index.js +0 -89
- package/build/src/components/Common/CustomQRCode/index.js.map +0 -1
- package/build/src/components/Common/CustomQRCode/styles.js +0 -142
- package/build/src/components/Common/CustomQRCode/styles.js.map +0 -1
- package/build/src/components/Common/FitText/index.js +0 -34
- package/build/src/components/Common/FitText/index.js.map +0 -1
- package/build/src/components/Common/Modal/index.js +0 -558
- package/build/src/components/Common/Modal/index.js.map +0 -1
- package/build/src/components/Common/Modal/styles.js +0 -665
- package/build/src/components/Common/Modal/styles.js.map +0 -1
- package/build/src/components/Common/OptionsList/index.js +0 -145
- package/build/src/components/Common/OptionsList/index.js.map +0 -1
- package/build/src/components/Common/OptionsList/styles.js +0 -138
- package/build/src/components/Common/OptionsList/styles.js.map +0 -1
- package/build/src/components/Common/OrderHeader/index.js +0 -148
- package/build/src/components/Common/OrderHeader/index.js.map +0 -1
- package/build/src/components/Common/PaymentBreakdown/index.js +0 -70
- package/build/src/components/Common/PaymentBreakdown/index.js.map +0 -1
- package/build/src/components/Common/Portal/index.js +0 -30
- package/build/src/components/Common/Portal/index.js.map +0 -1
- package/build/src/components/Common/PoweredByFooter/index.js +0 -39
- package/build/src/components/Common/PoweredByFooter/index.js.map +0 -1
- package/build/src/components/Common/ScrollArea/index.js +0 -120
- package/build/src/components/Common/ScrollArea/index.js.map +0 -1
- package/build/src/components/Common/ScrollArea/styles.js +0 -169
- package/build/src/components/Common/ScrollArea/styles.js.map +0 -1
- package/build/src/components/Common/SelectAnotherMethodButton/index.js +0 -96
- package/build/src/components/Common/SelectAnotherMethodButton/index.js.map +0 -1
- package/build/src/components/Common/Spinner/index.js +0 -64
- 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 -43
- package/build/src/components/Common/SwitchButton/index.js.map +0 -1
- package/build/src/components/Common/ThemedButton/index.js +0 -46
- 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 -62
- package/build/src/components/Common/TokenChainLogo/index.js.map +0 -1
- package/build/src/components/Common/Tooltip/index.js +0 -129
- 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 -31
- package/build/src/components/Common/WalletChainLogo/index.js.map +0 -1
- package/build/src/components/DaimoPayButton/index.js +0 -196
- 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 -70
- package/build/src/components/DaimoPayModal/ConnectUsing.js.map +0 -1
- package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +0 -339
- package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +0 -1
- package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js +0 -131
- package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +0 -1
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +0 -89
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +0 -1
- package/build/src/components/DaimoPayModal/index.js +0 -605
- package/build/src/components/DaimoPayModal/index.js.map +0 -1
- package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +0 -25
- package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +0 -1
- package/build/src/components/Pages/About/graphics.js +0 -853
- package/build/src/components/Pages/About/graphics.js.map +0 -1
- package/build/src/components/Pages/About/index.js +0 -222
- package/build/src/components/Pages/About/index.js.map +0 -1
- package/build/src/components/Pages/About/styles.js +0 -140
- package/build/src/components/Pages/About/styles.js.map +0 -1
- package/build/src/components/Pages/Confirmation/index.js +0 -126
- package/build/src/components/Pages/Confirmation/index.js.map +0 -1
- package/build/src/components/Pages/Connectors/index.js +0 -26
- package/build/src/components/Pages/Connectors/index.js.map +0 -1
- package/build/src/components/Pages/Error/index.js +0 -57
- package/build/src/components/Pages/Error/index.js.map +0 -1
- package/build/src/components/Pages/MobileConnectors/index.js +0 -108
- package/build/src/components/Pages/MobileConnectors/index.js.map +0 -1
- package/build/src/components/Pages/MobileConnectors/styles.js +0 -64
- package/build/src/components/Pages/MobileConnectors/styles.js.map +0 -1
- package/build/src/components/Pages/Onboarding/index.js +0 -34
- 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 -157
- package/build/src/components/Pages/PayWithToken/index.js.map +0 -1
- package/build/src/components/Pages/SelectAmount/index.js +0 -24
- package/build/src/components/Pages/SelectAmount/index.js.map +0 -1
- package/build/src/components/Pages/SelectDepositAddressAmount/index.js +0 -79
- package/build/src/components/Pages/SelectDepositAddressAmount/index.js.map +0 -1
- package/build/src/components/Pages/SelectDepositAddressChain/index.js +0 -80
- package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +0 -1
- package/build/src/components/Pages/SelectExchange/index.js +0 -62
- package/build/src/components/Pages/SelectExchange/index.js.map +0 -1
- package/build/src/components/Pages/SelectExternalAmount/index.js +0 -80
- package/build/src/components/Pages/SelectExternalAmount/index.js.map +0 -1
- package/build/src/components/Pages/SelectMethod/index.js +0 -315
- package/build/src/components/Pages/SelectMethod/index.js.map +0 -1
- package/build/src/components/Pages/SelectToken/index.js +0 -99
- package/build/src/components/Pages/SelectToken/index.js.map +0 -1
- package/build/src/components/Pages/SelectWalletAmount/index.js +0 -71
- package/build/src/components/Pages/SelectWalletAmount/index.js.map +0 -1
- package/build/src/components/Pages/SelectWalletChain/index.js +0 -55
- package/build/src/components/Pages/SelectWalletChain/index.js.map +0 -1
- package/build/src/components/Pages/SelectZKP/index.js +0 -41
- package/build/src/components/Pages/SelectZKP/index.js.map +0 -1
- package/build/src/components/Pages/Solana/ConnectorSolana/index.js +0 -94
- package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +0 -1
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +0 -92
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +0 -1
- package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js +0 -24
- package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +0 -1
- package/build/src/components/Pages/SwitchNetworks/index.js +0 -45
- package/build/src/components/Pages/SwitchNetworks/index.js.map +0 -1
- package/build/src/components/Pages/WaitingDepositAddress/index.js +0 -586
- package/build/src/components/Pages/WaitingDepositAddress/index.js.map +0 -1
- package/build/src/components/Pages/WaitingExternal/index.js +0 -174
- package/build/src/components/Pages/WaitingExternal/index.js.map +0 -1
- package/build/src/components/Pages/WaitingWallet/index.js +0 -49
- package/build/src/components/Pages/WaitingWallet/index.js.map +0 -1
- package/build/src/components/Pages/Warning/index.js +0 -56
- package/build/src/components/Pages/Warning/index.js.map +0 -1
- package/build/src/components/Spinners/CircleSpinner/index.js +0 -104
- package/build/src/components/Spinners/CircleSpinner/index.js.map +0 -1
- package/build/src/components/Spinners/CircleSpinner/styles.js +0 -117
- package/build/src/components/Spinners/CircleSpinner/styles.js.map +0 -1
- package/build/src/components/Spinners/ExternalPaymentSpinner/index.js +0 -29
- package/build/src/components/Spinners/ExternalPaymentSpinner/index.js.map +0 -1
- package/build/src/components/Spinners/SquircleSpinner/index.js +0 -68
- 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 -24
- 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/WalletPaymentSpinner/index.js +0 -37
- package/build/src/components/Spinners/WalletPaymentSpinner/index.js.map +0 -1
- package/build/src/components/Spinners/styles.js +0 -32
- package/build/src/components/Spinners/styles.js.map +0 -1
- package/build/src/constants/defaultTheme.js +0 -6
- package/build/src/constants/defaultTheme.js.map +0 -1
- package/build/src/constants/limits.js +0 -4
- package/build/src/constants/limits.js.map +0 -1
- package/build/src/constants/paymentOptions.js +0 -61
- package/build/src/constants/paymentOptions.js.map +0 -1
- package/build/src/constants/routes.js +0 -31
- package/build/src/constants/routes.js.map +0 -1
- package/build/src/constants/wallets.js +0 -7
- package/build/src/constants/wallets.js.map +0 -1
- package/build/src/defaultConfig.js +0 -65
- package/build/src/defaultConfig.js.map +0 -1
- package/build/src/defaultConnectors.js +0 -37
- package/build/src/defaultConnectors.js.map +0 -1
- package/build/src/hooks/useChainIsSupported.js +0 -10
- package/build/src/hooks/useChainIsSupported.js.map +0 -1
- package/build/src/hooks/useChains.js +0 -10
- package/build/src/hooks/useChains.js.map +0 -1
- package/build/src/hooks/useConnect.js +0 -61
- package/build/src/hooks/useConnect.js.map +0 -1
- package/build/src/hooks/useConnectCallback.js +0 -21
- package/build/src/hooks/useConnectCallback.js.map +0 -1
- package/build/src/hooks/useConnectors.js +0 -20
- package/build/src/hooks/useConnectors.js.map +0 -1
- package/build/src/hooks/useDaimoPay.js +0 -131
- package/build/src/hooks/useDaimoPay.js.map +0 -1
- package/build/src/hooks/useDaimoPayStatus.js +0 -12
- package/build/src/hooks/useDaimoPayStatus.js.map +0 -1
- package/build/src/hooks/useDaimoPayUI.js +0 -15
- package/build/src/hooks/useDaimoPayUI.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/useFitText.js +0 -133
- package/build/src/hooks/useFitText.js.map +0 -1
- package/build/src/hooks/useFocusTrap.js +0 -53
- package/build/src/hooks/useFocusTrap.js.map +0 -1
- package/build/src/hooks/useIsMobile.js +0 -11
- package/build/src/hooks/useIsMobile.js.map +0 -1
- package/build/src/hooks/useIsMounted.js +0 -10
- 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 -60
- package/build/src/hooks/useLocales.js.map +0 -1
- package/build/src/hooks/useLockBodyScroll.js +0 -47
- package/build/src/hooks/useLockBodyScroll.js.map +0 -1
- package/build/src/hooks/useOrderUsdLimits.js +0 -24
- package/build/src/hooks/useOrderUsdLimits.js.map +0 -1
- package/build/src/hooks/usePayContext.js +0 -11
- package/build/src/hooks/usePayContext.js.map +0 -1
- package/build/src/hooks/usePaymentOptions.js +0 -183
- package/build/src/hooks/usePaymentOptions.js.map +0 -1
- package/build/src/hooks/usePaymentState.js +0 -399
- package/build/src/hooks/usePaymentState.js.map +0 -1
- package/build/src/hooks/usePrevious.js +0 -13
- package/build/src/hooks/usePrevious.js.map +0 -1
- package/build/src/hooks/useTokenOptions.js +0 -156
- package/build/src/hooks/useTokenOptions.js.map +0 -1
- package/build/src/hooks/useUntronAvailability.js +0 -32
- package/build/src/hooks/useUntronAvailability.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 -14
- package/build/src/index.js.map +0 -1
- package/build/src/localizations/index.js +0 -48
- package/build/src/localizations/index.js.map +0 -1
- package/build/src/localizations/locales/ar-AE.js +0 -95
- package/build/src/localizations/locales/ar-AE.js.map +0 -1
- package/build/src/localizations/locales/ca-AD.js +0 -93
- package/build/src/localizations/locales/ca-AD.js.map +0 -1
- package/build/src/localizations/locales/ee-EE.js +0 -101
- package/build/src/localizations/locales/ee-EE.js.map +0 -1
- package/build/src/localizations/locales/en-US.js +0 -145
- package/build/src/localizations/locales/en-US.js.map +0 -1
- package/build/src/localizations/locales/es-ES.js +0 -138
- package/build/src/localizations/locales/es-ES.js.map +0 -1
- package/build/src/localizations/locales/fa-IR.js +0 -93
- package/build/src/localizations/locales/fa-IR.js.map +0 -1
- package/build/src/localizations/locales/fr-FR.js +0 -93
- package/build/src/localizations/locales/fr-FR.js.map +0 -1
- package/build/src/localizations/locales/ja-JP.js +0 -93
- package/build/src/localizations/locales/ja-JP.js.map +0 -1
- package/build/src/localizations/locales/pt-BR.js +0 -145
- package/build/src/localizations/locales/pt-BR.js.map +0 -1
- package/build/src/localizations/locales/ru-RU.js +0 -97
- package/build/src/localizations/locales/ru-RU.js.map +0 -1
- package/build/src/localizations/locales/tr-TR.js +0 -101
- package/build/src/localizations/locales/tr-TR.js.map +0 -1
- package/build/src/localizations/locales/vi-VN.js +0 -101
- package/build/src/localizations/locales/vi-VN.js.map +0 -1
- package/build/src/localizations/locales/zh-CN.js +0 -93
- package/build/src/localizations/locales/zh-CN.js.map +0 -1
- package/build/src/payment/paymentEffects.js +0 -270
- package/build/src/payment/paymentEffects.js.map +0 -1
- package/build/src/payment/paymentFsm.js +0 -234
- package/build/src/payment/paymentFsm.js.map +0 -1
- package/build/src/payment/paymentStore.js +0 -18
- package/build/src/payment/paymentStore.js.map +0 -1
- package/build/src/payment/paymentUtils.js +0 -10
- package/build/src/payment/paymentUtils.js.map +0 -1
- package/build/src/provider/DaimoPayProvider.js +0 -300
- package/build/src/provider/DaimoPayProvider.js.map +0 -1
- package/build/src/provider/PayContext.js +0 -6
- package/build/src/provider/PayContext.js.map +0 -1
- package/build/src/provider/PaymentProvider.js +0 -35
- package/build/src/provider/PaymentProvider.js.map +0 -1
- package/build/src/provider/SolanaContextProvider.js +0 -14
- package/build/src/provider/SolanaContextProvider.js.map +0 -1
- package/build/src/provider/Web3ContextProvider.js +0 -36
- package/build/src/provider/Web3ContextProvider.js.map +0 -1
- package/build/src/stateStore.js +0 -36
- package/build/src/stateStore.js.map +0 -1
- package/build/src/styles/defaultTheme.js +0 -80
- package/build/src/styles/defaultTheme.js.map +0 -1
- package/build/src/styles/index.js +0 -313
- package/build/src/styles/index.js.map +0 -1
- package/build/src/styles/styled/index.js +0 -6
- 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 -6
- package/build/src/utils/exports.js.map +0 -1
- package/build/src/utils/format.js +0 -48
- package/build/src/utils/format.js.map +0 -1
- package/build/src/utils/index.js +0 -42
- package/build/src/utils/index.js.map +0 -1
- package/build/src/utils/p3.js +0 -15
- package/build/src/utils/p3.js.map +0 -1
- package/build/src/utils/platform.js +0 -11
- package/build/src/utils/platform.js.map +0 -1
- package/build/src/utils/polling.js +0 -44
- package/build/src/utils/polling.js.map +0 -1
- package/build/src/utils/supportUrl.js +0 -16
- 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 -16
- package/build/src/utils/validateInput.js.map +0 -1
- package/build/src/wallets/index.js +0 -21
- package/build/src/wallets/index.js.map +0 -1
- package/build/src/wallets/useWallets.js +0 -278
- package/build/src/wallets/useWallets.js.map +0 -1
- package/build/src/wallets/walletConfigs.js +0 -190
- package/build/src/wallets/walletConfigs.js.map +0 -1
- package/build/src/world-mini-app/WorldPayButton.js +0 -165
- package/build/src/world-mini-app/WorldPayButton.js.map +0 -1
- package/build/src/world-mini-app/promptWorldPayment.js +0 -59
- package/build/src/world-mini-app/promptWorldPayment.js.map +0 -1
- package/build/src/world-mini-app/useWithdrawToWorld.js +0 -76
- package/build/src/world-mini-app/useWithdrawToWorld.js.map +0 -1
- package/build/src/world-mini-app/useWorldSignIn.js +0 -74
- package/build/src/world-mini-app/useWorldSignIn.js.map +0 -1
- package/build/src/world.js +0 -4
- package/build/src/world.js.map +0 -1
- package/build/types-26343050.d.ts +0 -65
- package/build/world.d.ts +0 -108
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"polling.js","sources":["../../../src/utils/polling.ts"],"sourcesContent":["export type PollHandle = () => void;\n\n/**\n * Will poll the given function at the specified interval. Stops when the\n * returned handle is invoked. If debugMode is false, polling is disabled.\n */\nexport function startPolling<T>({\n key,\n intervalMs,\n pollFn,\n onResult,\n onError,\n log = console.log,\n debugMode = false,\n}: {\n key: string;\n intervalMs: number;\n pollFn: () => Promise<T>;\n onResult: (value: T) => void;\n onError: (err: unknown) => void;\n log?: (msg: string) => void;\n debugMode?: boolean;\n}): PollHandle {\n let active = true;\n let timer: NodeJS.Timeout;\n\n const stop = () => {\n active = false;\n clearTimeout(timer);\n if (debugMode) {\n log(`[POLL] ${key} stopped`);\n }\n };\n\n const tick = async () => {\n if (debugMode) {\n log(`[POLL] polling ${key}`);\n }\n try {\n const res = await pollFn();\n if (!active) return;\n if (debugMode) {\n log(`[POLL] ${key} success`);\n }\n onResult(res);\n } catch (e) {\n if (!active) return;\n if (debugMode) {\n log(`[POLL] ${key} error: ${e}`);\n }\n onError(e);\n }\n timer = setTimeout(tick, intervalMs);\n };\n\n tick();\n\n return stop;\n}\n"],"names":[],"mappings":"AAMO,SAAS,YAAgB,CAAA;AAAA,EAC9B,GAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAM,OAAQ,CAAA,GAAA;AAAA,EACd,SAAY,GAAA,KAAA;AACd,CAQe,EAAA;AACb,EAAA,IAAI,MAAS,GAAA,IAAA,CAAA;AACb,EAAI,IAAA,KAAA,CAAA;AAEJ,EAAA,MAAM,OAAO,MAAM;AACjB,IAAS,MAAA,GAAA,KAAA,CAAA;AACT,IAAA,YAAA,CAAa,KAAK,CAAA,CAAA;AAClB,IAAA,IAAI,SAAW,EAAA;AACb,MAAI,GAAA,CAAA,CAAA,OAAA,EAAU,GAAG,CAAU,QAAA,CAAA,CAAA,CAAA;AAAA,KAC7B;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,OAAO,YAAY;AACvB,IAAA,IAAI,SAAW,EAAA;AACb,MAAI,GAAA,CAAA,CAAA,eAAA,EAAkB,GAAG,CAAE,CAAA,CAAA,CAAA;AAAA,KAC7B;AACA,IAAI,IAAA;AACF,MAAM,MAAA,GAAA,GAAM,MAAM,MAAO,EAAA,CAAA;AACzB,MAAA,IAAI,CAAC,MAAQ,EAAA,OAAA;AACb,MAAA,IAAI,SAAW,EAAA;AACb,QAAI,GAAA,CAAA,CAAA,OAAA,EAAU,GAAG,CAAU,QAAA,CAAA,CAAA,CAAA;AAAA,OAC7B;AACA,MAAA,QAAA,CAAS,GAAG,CAAA,CAAA;AAAA,aACL,CAAG,EAAA;AACV,MAAA,IAAI,CAAC,MAAQ,EAAA,OAAA;AACb,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,GAAA,CAAI,CAAU,OAAA,EAAA,GAAG,CAAW,QAAA,EAAA,CAAC,CAAE,CAAA,CAAA,CAAA;AAAA,OACjC;AACA,MAAA,OAAA,CAAQ,CAAC,CAAA,CAAA;AAAA,KACX;AACA,IAAQ,KAAA,GAAA,UAAA,CAAW,MAAM,UAAU,CAAA,CAAA;AAAA,GACrC,CAAA;AAEA,EAAK,IAAA,EAAA,CAAA;AAEL,EAAO,OAAA,IAAA,CAAA;AACT;;;;"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { daimoPayVersion } from './exports.js';
|
|
2
|
-
|
|
3
|
-
function getSupportUrl(payId, screen) {
|
|
4
|
-
const email = "support@daimo.com";
|
|
5
|
-
const subject = `Support${payId ? ` #${payId}` : ""}`;
|
|
6
|
-
let body = [
|
|
7
|
-
`Transaction: ${screen}`,
|
|
8
|
-
`Version: ${daimoPayVersion}`,
|
|
9
|
-
``,
|
|
10
|
-
`Tell us how we can help`
|
|
11
|
-
].join("\n");
|
|
12
|
-
return `mailto:${email}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export { getSupportUrl };
|
|
16
|
-
//# sourceMappingURL=supportUrl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"supportUrl.js","sources":["../../../src/utils/supportUrl.ts"],"sourcesContent":["import { DaimoPayOrderID } from \"@daimo/pay-common\";\nimport { daimoPayVersion } from \"./exports\";\n\nexport function getSupportUrl(payId: DaimoPayOrderID, screen: string): string {\n const email = \"support@daimo.com\";\n const subject = `Support${payId ? ` #${payId}` : \"\"}`;\n let body = [\n `Transaction: ${screen}`,\n `Version: ${daimoPayVersion}`,\n ``,\n `Tell us how we can help`,\n ].join(\"\\n\");\n\n return `mailto:${email}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;\n}\n"],"names":[],"mappings":";;AAGgB,SAAA,aAAA,CAAc,OAAwB,MAAwB,EAAA;AAC5E,EAAA,MAAM,KAAQ,GAAA,mBAAA,CAAA;AACd,EAAA,MAAM,UAAU,CAAU,OAAA,EAAA,KAAA,GAAQ,CAAK,EAAA,EAAA,KAAK,KAAK,EAAE,CAAA,CAAA,CAAA;AACnD,EAAA,IAAI,IAAO,GAAA;AAAA,IACT,gBAAgB,MAAM,CAAA,CAAA;AAAA,IACtB,YAAY,eAAe,CAAA,CAAA;AAAA,IAC3B,CAAA,CAAA;AAAA,IACA,CAAA,uBAAA,CAAA;AAAA,GACF,CAAE,KAAK,IAAI,CAAA,CAAA;AAEX,EAAO,OAAA,CAAA,OAAA,EAAU,KAAK,CAAY,SAAA,EAAA,kBAAA,CAAmB,OAAO,CAAC,CAAA,MAAA,EAAS,kBAAmB,CAAA,IAAI,CAAC,CAAA,CAAA,CAAA;AAChG;;;;"}
|
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":["../../../src/utils/trpc.ts"],"sourcesContent":["import type { AppRouter } from \"@daimo/pay-api\";\nimport {\n CreateTRPCClient,\n createTRPCClient,\n httpBatchLink,\n} from \"@trpc/client\";\nimport { daimoPayVersion } from \"./exports\";\n\nexport type TrpcClient = CreateTRPCClient<AppRouter>;\n\nexport function createTrpcClient(\n apiUrl: string,\n sessionId: string,\n): TrpcClient {\n return createTRPCClient<AppRouter>({\n links: [\n httpBatchLink({\n url: apiUrl,\n headers: {\n \"x-pay-version\": daimoPayVersion,\n \"x-session-id\": sessionId,\n },\n }),\n ],\n });\n}\n"],"names":[],"mappings":";;;AAUgB,SAAA,gBAAA,CACd,QACA,SACY,EAAA;AACZ,EAAA,OAAO,gBAA4B,CAAA;AAAA,IACjC,KAAO,EAAA;AAAA,MACL,aAAc,CAAA;AAAA,QACZ,GAAK,EAAA,MAAA;AAAA,QACL,OAAS,EAAA;AAAA,UACP,eAAiB,EAAA,eAAA;AAAA,UACjB,cAAgB,EAAA,SAAA;AAAA,SAClB;AAAA,OACD,CAAA;AAAA,KACH;AAAA,GACD,CAAA,CAAA;AACH;;;;"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
function isValidNumber(value, maxDecimals) {
|
|
2
|
-
if (value.length === 0) {
|
|
3
|
-
return false;
|
|
4
|
-
}
|
|
5
|
-
const match = /^\d*\.?(\d*)$/.exec(value);
|
|
6
|
-
if (match == null) return false;
|
|
7
|
-
return maxDecimals == null || match[1].length <= maxDecimals;
|
|
8
|
-
}
|
|
9
|
-
function sanitizeNumber(value) {
|
|
10
|
-
const cleaned = value.replace(/[^0-9.]/g, "");
|
|
11
|
-
if (!cleaned || cleaned === "." || !/^\d*\.?\d*$/.test(cleaned)) return "0";
|
|
12
|
-
return cleaned.startsWith(".") ? `0${cleaned}` : cleaned;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export { isValidNumber, sanitizeNumber };
|
|
16
|
-
//# sourceMappingURL=validateInput.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validateInput.js","sources":["../../../src/utils/validateInput.ts"],"sourcesContent":["/**\n * Returns true if the value is a valid number.\n * @param value The value to validate.\n * @param maxDecimals The maximum number of decimal places.\n * @returns True if the value is a valid number, false otherwise.\n */\nexport function isValidNumber(value: string, maxDecimals?: number): boolean {\n if (value.length === 0) {\n return false;\n }\n\n // Test that the value is digits, followed by an optional decimal, followed\n // by more digits\n const match = /^\\d*\\.?(\\d*)$/.exec(value);\n if (match == null) return false;\n\n // Check that the number of digits after the decimal is less than or equal to\n // maxDecimals\n return maxDecimals == null || match[1].length <= maxDecimals;\n}\n\n/**\n * Sanitize a number input.\n * - Remove all non-numeric and non-decimal characters\n * - If the value is empty, return \"0\"\n * - Parse into a number\n * @param value The value to sanitize.\n * @returns The sanitized value.\n */\nexport function sanitizeNumber(value: string): string {\n const cleaned = value.replace(/[^0-9.]/g, \"\");\n if (!cleaned || cleaned === \".\" || !/^\\d*\\.?\\d*$/.test(cleaned)) return \"0\";\n return cleaned.startsWith(\".\") ? `0${cleaned}` : cleaned;\n}\n"],"names":[],"mappings":"AAMgB,SAAA,aAAA,CAAc,OAAe,WAA+B,EAAA;AAC1E,EAAI,IAAA,KAAA,CAAM,WAAW,CAAG,EAAA;AACtB,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AAIA,EAAM,MAAA,KAAA,GAAQ,eAAgB,CAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AACxC,EAAI,IAAA,KAAA,IAAS,MAAa,OAAA,KAAA,CAAA;AAI1B,EAAA,OAAO,WAAe,IAAA,IAAA,IAAQ,KAAM,CAAA,CAAC,EAAE,MAAU,IAAA,WAAA,CAAA;AACnD,CAAA;AAUO,SAAS,eAAe,KAAuB,EAAA;AACpD,EAAA,MAAM,OAAU,GAAA,KAAA,CAAM,OAAQ,CAAA,UAAA,EAAY,EAAE,CAAA,CAAA;AAC5C,EAAI,IAAA,CAAC,WAAW,OAAY,KAAA,GAAA,IAAO,CAAC,aAAc,CAAA,IAAA,CAAK,OAAO,CAAA,EAAU,OAAA,GAAA,CAAA;AACxE,EAAA,OAAO,QAAQ,UAAW,CAAA,GAAG,CAAI,GAAA,CAAA,CAAA,EAAI,OAAO,CAAK,CAAA,GAAA,OAAA,CAAA;AACnD;;;;"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { injected } from '@wagmi/connectors';
|
|
2
|
-
import { walletConfigs } from './walletConfigs.js';
|
|
3
|
-
|
|
4
|
-
const wallets = Object.keys(walletConfigs).reduce((acc, key) => {
|
|
5
|
-
const config = walletConfigs[key];
|
|
6
|
-
const target = key.split(",")[0].trim();
|
|
7
|
-
const flag = config.name?.replace("Wallet", "").replace(" ", "") ?? target[0].toUpperCase() + target.slice(1);
|
|
8
|
-
const connector = injected({
|
|
9
|
-
target: {
|
|
10
|
-
id: target,
|
|
11
|
-
name: config.name ?? config.shortName ?? key,
|
|
12
|
-
provider: (w) => w?.ethereum?.[`is${flag}`]
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
const name = (config.name ?? config.shortName ?? key).toLowerCase().replace(/(?:^|\s)\S/g, (a) => a.toUpperCase()).replace(/\s/g, "").replace(/(?:^|\s)\S/g, (a) => a.toLowerCase());
|
|
16
|
-
acc[name] = connector;
|
|
17
|
-
return acc;
|
|
18
|
-
}, {});
|
|
19
|
-
|
|
20
|
-
export { wallets };
|
|
21
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/wallets/index.ts"],"sourcesContent":["import { injected } from \"@wagmi/connectors\";\nimport { CreateConnectorFn } from \"wagmi\";\n\nimport { walletConfigs } from \"./walletConfigs\";\n\n/** Ethereum wallets, by name. */\nexport const wallets: {\n [key: string]: CreateConnectorFn;\n} = Object.keys(walletConfigs).reduce((acc, key) => {\n const config = walletConfigs[key];\n const target = key.split(\",\")[0].trim();\n const flag =\n config.name?.replace(\"Wallet\", \"\").replace(\" \", \"\") ??\n target[0].toUpperCase() + target.slice(1);\n\n const connector = injected({\n target: {\n id: target,\n name: config.name ?? config.shortName ?? key,\n provider: (w) => w?.ethereum?.[`is${flag}`],\n },\n });\n const name = (config.name ?? config.shortName ?? key)\n .toLowerCase()\n // capitalize first letter\n .replace(/(?:^|\\s)\\S/g, (a) => a.toUpperCase())\n // remove spaces\n .replace(/\\s/g, \"\")\n // lowercase first letter\n .replace(/(?:^|\\s)\\S/g, (a) => a.toLowerCase());\n\n acc[name] = connector;\n return acc;\n}, {});\n"],"names":[],"mappings":";;;AAMa,MAAA,OAAA,GAET,OAAO,IAAK,CAAA,aAAa,EAAE,MAAO,CAAA,CAAC,KAAK,GAAQ,KAAA;AAClD,EAAM,MAAA,MAAA,GAAS,cAAc,GAAG,CAAA,CAAA;AAChC,EAAA,MAAM,SAAS,GAAI,CAAA,KAAA,CAAM,GAAG,CAAE,CAAA,CAAC,EAAE,IAAK,EAAA,CAAA;AACtC,EAAA,MAAM,OACJ,MAAO,CAAA,IAAA,EAAM,QAAQ,QAAU,EAAA,EAAE,EAAE,OAAQ,CAAA,GAAA,EAAK,EAAE,CAAA,IAClD,OAAO,CAAC,CAAA,CAAE,aAAgB,GAAA,MAAA,CAAO,MAAM,CAAC,CAAA,CAAA;AAE1C,EAAA,MAAM,YAAY,QAAS,CAAA;AAAA,IACzB,MAAQ,EAAA;AAAA,MACN,EAAI,EAAA,MAAA;AAAA,MACJ,IAAM,EAAA,MAAA,CAAO,IAAQ,IAAA,MAAA,CAAO,SAAa,IAAA,GAAA;AAAA,MACzC,UAAU,CAAC,CAAA,KAAM,GAAG,QAAW,GAAA,CAAA,EAAA,EAAK,IAAI,CAAE,CAAA,CAAA;AAAA,KAC5C;AAAA,GACD,CAAA,CAAA;AACD,EAAM,MAAA,IAAA,GAAA,CAAQ,MAAO,CAAA,IAAA,IAAQ,MAAO,CAAA,SAAA,IAAa,GAC9C,EAAA,WAAA,EAEA,CAAA,OAAA,CAAQ,aAAe,EAAA,CAAC,CAAM,KAAA,CAAA,CAAE,aAAa,CAAA,CAE7C,OAAQ,CAAA,KAAA,EAAO,EAAE,CAAA,CAEjB,OAAQ,CAAA,aAAA,EAAe,CAAC,CAAA,KAAM,CAAE,CAAA,WAAA,EAAa,CAAA,CAAA;AAEhD,EAAA,GAAA,CAAI,IAAI,CAAI,GAAA,SAAA,CAAA;AACZ,EAAO,OAAA,GAAA,CAAA;AACT,CAAA,EAAG,EAAE;;;;"}
|
|
@@ -1,278 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { assertNotNull } from '@daimo/pay-common';
|
|
3
|
-
import { useWallet as useWallet$1 } from '@solana/wallet-adapter-react';
|
|
4
|
-
import Logos, { WalletIcon, createOtherWalletsIcon, SquircleIcon } from '../assets/logos.js';
|
|
5
|
-
import { MobileWithLogos } from '../assets/MobileWithLogos.js';
|
|
6
|
-
import { MOBILE_WALLETS_THRESHOLD_FOR_OTHER, WALLET_ID_OTHER_WALLET, RABBY_CONNECTOR_ID, WALLET_ID_MOBILE_WALLETS } from '../constants/wallets.js';
|
|
7
|
-
import { useConnectors } from '../hooks/useConnectors.js';
|
|
8
|
-
import useLocales from '../hooks/useLocales.js';
|
|
9
|
-
import { usePayContext } from '../hooks/usePayContext.js';
|
|
10
|
-
import { isBaseAccountConnector, isGeminiConnector, isInjectedConnector, flattenChildren } from '../utils/index.js';
|
|
11
|
-
import { walletConfigs } from './walletConfigs.js';
|
|
12
|
-
|
|
13
|
-
function isExternalWallet(wallet) {
|
|
14
|
-
if (!wallet) return false;
|
|
15
|
-
if (wallet.id === WALLET_ID_MOBILE_WALLETS) return true;
|
|
16
|
-
const hasConnector = "connector" in wallet && !!wallet.connector;
|
|
17
|
-
return !!wallet.getDaimoPayDeeplink && !hasConnector;
|
|
18
|
-
}
|
|
19
|
-
const useWallet = (id) => {
|
|
20
|
-
const wallets = useWallets();
|
|
21
|
-
const wallet = wallets.find((c) => c.id === id);
|
|
22
|
-
if (!wallet) return null;
|
|
23
|
-
return wallet;
|
|
24
|
-
};
|
|
25
|
-
const useWallets = (isMobile) => {
|
|
26
|
-
const connectors = useConnectors();
|
|
27
|
-
const context = usePayContext();
|
|
28
|
-
const { disableMobileInjector, paymentState } = context;
|
|
29
|
-
const solanaWallet = useWallet$1();
|
|
30
|
-
const locales = useLocales();
|
|
31
|
-
const prioritizedId = context.paymentState.buttonProps?.prioritizedWalletId;
|
|
32
|
-
const walletOrder = paymentState?.externalPaymentOptions?.parsedConfig?.walletOrder ?? [];
|
|
33
|
-
function movePrioritizedFirst(list, prioritizedId2) {
|
|
34
|
-
if (!prioritizedId2) return;
|
|
35
|
-
if (prioritizedId2 === WALLET_ID_MOBILE_WALLETS) return;
|
|
36
|
-
const index = list.findIndex((w) => w.id === prioritizedId2);
|
|
37
|
-
if (index <= 0) return;
|
|
38
|
-
const [item] = list.splice(index, 1);
|
|
39
|
-
list.unshift(item);
|
|
40
|
-
}
|
|
41
|
-
if (isMobile) {
|
|
42
|
-
let addIfNotPresent2 = function(idList) {
|
|
43
|
-
if (mobileWallets.find((w) => idList.includes(w.id))) return;
|
|
44
|
-
if (mobileWallets.length >= MOBILE_WALLETS_THRESHOLD_FOR_OTHER) return;
|
|
45
|
-
const wallet = assertNotNull(
|
|
46
|
-
walletConfigs[idList],
|
|
47
|
-
() => `missing ${idList}`
|
|
48
|
-
);
|
|
49
|
-
mobileWallets.push({
|
|
50
|
-
id: idList,
|
|
51
|
-
...wallet
|
|
52
|
-
});
|
|
53
|
-
};
|
|
54
|
-
const mobileWallets = [];
|
|
55
|
-
if (!disableMobileInjector) {
|
|
56
|
-
connectors.forEach((connector) => {
|
|
57
|
-
if (isBaseAccountConnector(connector.id)) return;
|
|
58
|
-
if (isGeminiConnector(connector.id)) return;
|
|
59
|
-
if (!isInjectedConnector(connector.type)) return;
|
|
60
|
-
if (mobileWallets.some((w) => w.id === connector.id)) return;
|
|
61
|
-
if (connector.name?.toLowerCase().includes("walletconnect")) return;
|
|
62
|
-
mobileWallets.push({
|
|
63
|
-
id: connector.id,
|
|
64
|
-
connector,
|
|
65
|
-
shortName: connector.name,
|
|
66
|
-
iconConnector: connector.icon ? /* @__PURE__ */ jsx("img", { src: connector.icon, alt: connector.name }) : /* @__PURE__ */ jsx(WalletIcon, {}),
|
|
67
|
-
iconShape: "squircle"
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
if (walletOrder.length > 0) {
|
|
72
|
-
for (const optionId of walletOrder) {
|
|
73
|
-
const walletId = Object.keys(walletConfigs).find((id) => {
|
|
74
|
-
const wallet = walletConfigs[id];
|
|
75
|
-
const optionLower = optionId.toLowerCase();
|
|
76
|
-
return wallet.name?.toLowerCase() === optionLower || wallet.shortName?.toLowerCase() === optionLower || wallet.name?.toLowerCase().includes(optionLower) || id.toLowerCase() === optionLower || id.toLowerCase().includes(optionLower);
|
|
77
|
-
});
|
|
78
|
-
if (walletId && !mobileWallets.find((w) => w.id === walletId)) {
|
|
79
|
-
const wallet = walletConfigs[walletId];
|
|
80
|
-
mobileWallets.push({
|
|
81
|
-
id: walletId,
|
|
82
|
-
...wallet
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
movePrioritizedFirst(mobileWallets, prioritizedId);
|
|
87
|
-
const totalWallets = walletOrder.length;
|
|
88
|
-
if (totalWallets > MOBILE_WALLETS_THRESHOLD_FOR_OTHER || mobileWallets.length > MOBILE_WALLETS_THRESHOLD_FOR_OTHER) {
|
|
89
|
-
const shownWallets = mobileWallets.slice(
|
|
90
|
-
0,
|
|
91
|
-
MOBILE_WALLETS_THRESHOLD_FOR_OTHER - 1
|
|
92
|
-
);
|
|
93
|
-
const shownWalletNames = shownWallets.map((w) => w.name?.toLowerCase() || w.shortName?.toLowerCase()).filter((name) => !!name);
|
|
94
|
-
const remainingWalletConfigs = walletOrder.filter((walletName) => {
|
|
95
|
-
const nameLower = walletName.toLowerCase();
|
|
96
|
-
return !shownWalletNames.some(
|
|
97
|
-
(shown) => shown === nameLower || shown.includes(nameLower) || nameLower.includes(shown)
|
|
98
|
-
);
|
|
99
|
-
}).map((walletName) => {
|
|
100
|
-
const configKey = Object.keys(walletConfigs).find((key) => {
|
|
101
|
-
const wallet = walletConfigs[key];
|
|
102
|
-
const name = wallet.name?.toLowerCase() || wallet.shortName?.toLowerCase() || "";
|
|
103
|
-
return name.includes(walletName.toLowerCase()) || walletName.toLowerCase().includes(name);
|
|
104
|
-
});
|
|
105
|
-
return configKey ? walletConfigs[configKey] : null;
|
|
106
|
-
}).filter(Boolean);
|
|
107
|
-
if (mobileWallets.length > MOBILE_WALLETS_THRESHOLD_FOR_OTHER - 1) {
|
|
108
|
-
mobileWallets.splice(MOBILE_WALLETS_THRESHOLD_FOR_OTHER - 1);
|
|
109
|
-
}
|
|
110
|
-
const otherWalletsString2 = flattenChildren(locales.otherWallets).join(
|
|
111
|
-
""
|
|
112
|
-
);
|
|
113
|
-
const otherString2 = flattenChildren(locales.other).join("");
|
|
114
|
-
mobileWallets.push({
|
|
115
|
-
id: WALLET_ID_OTHER_WALLET,
|
|
116
|
-
name: otherWalletsString2,
|
|
117
|
-
shortName: otherString2,
|
|
118
|
-
iconConnector: createOtherWalletsIcon(remainingWalletConfigs),
|
|
119
|
-
iconShape: "square",
|
|
120
|
-
showInMobileConnectors: false
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
return mobileWallets;
|
|
124
|
-
}
|
|
125
|
-
addIfNotPresent2(
|
|
126
|
-
"metaMask, metaMask-io, io.metamask, io.metamask.mobile, metaMaskSDK"
|
|
127
|
-
);
|
|
128
|
-
addIfNotPresent2("com.trustwallet.app");
|
|
129
|
-
movePrioritizedFirst(mobileWallets, prioritizedId);
|
|
130
|
-
const otherWalletsString = flattenChildren(locales.otherWallets).join("");
|
|
131
|
-
const otherString = flattenChildren(locales.other).join("");
|
|
132
|
-
mobileWallets.push({
|
|
133
|
-
id: WALLET_ID_OTHER_WALLET,
|
|
134
|
-
name: otherWalletsString,
|
|
135
|
-
shortName: otherString,
|
|
136
|
-
iconConnector: /* @__PURE__ */ jsx(Logos.OtherWallets, {}),
|
|
137
|
-
iconShape: "square",
|
|
138
|
-
showInMobileConnectors: false
|
|
139
|
-
});
|
|
140
|
-
return mobileWallets;
|
|
141
|
-
}
|
|
142
|
-
const wallets = connectors.map((connector) => {
|
|
143
|
-
let walletConfigKey = Object.keys(walletConfigs).find(
|
|
144
|
-
(id) => id.split(",").map((i) => i.trim()).includes(connector.id)
|
|
145
|
-
);
|
|
146
|
-
if (!walletConfigKey && connector.name) {
|
|
147
|
-
walletConfigKey = Object.keys(walletConfigs).find((key) => {
|
|
148
|
-
const cfgName = walletConfigs[key].name?.toLowerCase();
|
|
149
|
-
const connName = connector.name.toLowerCase();
|
|
150
|
-
return cfgName && (cfgName.includes(connName) || connName.includes(cfgName));
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
const c = {
|
|
154
|
-
id: connector.id,
|
|
155
|
-
name: connector.name ?? connector.id ?? connector.type,
|
|
156
|
-
icon: connector.icon ? /* @__PURE__ */ jsx(
|
|
157
|
-
"img",
|
|
158
|
-
{
|
|
159
|
-
src: connector.icon,
|
|
160
|
-
alt: connector.name,
|
|
161
|
-
width: "100%",
|
|
162
|
-
height: "100%"
|
|
163
|
-
}
|
|
164
|
-
) : /* @__PURE__ */ jsx(WalletIcon, {}),
|
|
165
|
-
connector,
|
|
166
|
-
iconShape: connector.id === RABBY_CONNECTOR_ID ? "circle" : "squircle",
|
|
167
|
-
isInstalled: connector.type === "mock" || connector.type === "injected" || connector.type === "farcasterFrame" || isBaseAccountConnector(connector.id) || isGeminiConnector(connector.id)
|
|
168
|
-
};
|
|
169
|
-
if (walletConfigKey) {
|
|
170
|
-
const wallet = walletConfigs[walletConfigKey];
|
|
171
|
-
return {
|
|
172
|
-
...c,
|
|
173
|
-
iconConnector: connector.icon ? /* @__PURE__ */ jsx(
|
|
174
|
-
"img",
|
|
175
|
-
{
|
|
176
|
-
src: connector.icon,
|
|
177
|
-
alt: connector.name,
|
|
178
|
-
width: "100%",
|
|
179
|
-
height: "100%"
|
|
180
|
-
}
|
|
181
|
-
) : void 0,
|
|
182
|
-
...wallet
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
return c;
|
|
186
|
-
});
|
|
187
|
-
wallets.push(walletConfigs.world);
|
|
188
|
-
wallets.push(walletConfigs.minipay);
|
|
189
|
-
wallets.push({
|
|
190
|
-
id: WALLET_ID_MOBILE_WALLETS,
|
|
191
|
-
name: "Mobile Wallets",
|
|
192
|
-
shortName: "Mobile",
|
|
193
|
-
icon: /* @__PURE__ */ jsx(
|
|
194
|
-
"div",
|
|
195
|
-
{
|
|
196
|
-
style: {
|
|
197
|
-
width: "100%",
|
|
198
|
-
height: "100%",
|
|
199
|
-
overflow: "hidden",
|
|
200
|
-
display: "flex",
|
|
201
|
-
alignItems: "center",
|
|
202
|
-
justifyContent: "center",
|
|
203
|
-
transform: "scale(1.2)",
|
|
204
|
-
transformOrigin: "center center"
|
|
205
|
-
},
|
|
206
|
-
children: /* @__PURE__ */ jsx(MobileWithLogos, {})
|
|
207
|
-
}
|
|
208
|
-
),
|
|
209
|
-
iconConnector: /* @__PURE__ */ jsx(
|
|
210
|
-
"div",
|
|
211
|
-
{
|
|
212
|
-
style: {
|
|
213
|
-
width: "100%",
|
|
214
|
-
height: "100%",
|
|
215
|
-
overflow: "hidden",
|
|
216
|
-
display: "flex",
|
|
217
|
-
alignItems: "center",
|
|
218
|
-
justifyContent: "center",
|
|
219
|
-
transform: "scale(1.2)",
|
|
220
|
-
transformOrigin: "center center"
|
|
221
|
-
},
|
|
222
|
-
children: /* @__PURE__ */ jsx(MobileWithLogos, {})
|
|
223
|
-
}
|
|
224
|
-
)
|
|
225
|
-
});
|
|
226
|
-
const solanaAdapters = solanaWallet.wallets ?? [];
|
|
227
|
-
wallets.forEach((w) => {
|
|
228
|
-
if (!w.name) return;
|
|
229
|
-
const evm = w.name.toLowerCase();
|
|
230
|
-
const match = solanaAdapters.find((sw) => {
|
|
231
|
-
const sol = sw.adapter.name.toLowerCase();
|
|
232
|
-
return evm.includes(sol) || sol.includes(evm);
|
|
233
|
-
});
|
|
234
|
-
if (match) {
|
|
235
|
-
w.solanaConnectorName = match.adapter.name;
|
|
236
|
-
}
|
|
237
|
-
});
|
|
238
|
-
const unmatched = solanaAdapters.filter(
|
|
239
|
-
(sw) => !wallets.find((w) => w.solanaConnectorName === sw.adapter.name)
|
|
240
|
-
);
|
|
241
|
-
unmatched.forEach((sw) => {
|
|
242
|
-
wallets.push({
|
|
243
|
-
id: `solana-${sw.adapter.name}`,
|
|
244
|
-
name: sw.adapter.name,
|
|
245
|
-
shortName: sw.adapter.name,
|
|
246
|
-
icon: /* @__PURE__ */ jsx(SquircleIcon, { icon: sw.adapter.icon, alt: sw.adapter.name }),
|
|
247
|
-
iconConnector: /* @__PURE__ */ jsx(SquircleIcon, { icon: sw.adapter.icon, alt: sw.adapter.name }),
|
|
248
|
-
iconShape: "squircle",
|
|
249
|
-
solanaConnectorName: sw.adapter.name
|
|
250
|
-
});
|
|
251
|
-
});
|
|
252
|
-
const sorted = wallets.filter(
|
|
253
|
-
(wallet, index, self) => self.findIndex((w) => w.id === wallet.id) === index
|
|
254
|
-
).filter(
|
|
255
|
-
(wallet, index, self) => !(wallet.id === "coinbaseWalletSDK" && self.find((w) => w.id === "com.coinbase.wallet"))
|
|
256
|
-
).filter(
|
|
257
|
-
(wallet, index, self) => !((wallet.id === "metaMaskSDK" || wallet.id === "metaMask") && self.find(
|
|
258
|
-
(w) => w.id === "io.metamask" || w.id === "io.metamask.mobile"
|
|
259
|
-
))
|
|
260
|
-
).filter(
|
|
261
|
-
(wallet, index, self) => !(wallet.id === "com.warpcast.mobile" && self.find((w) => w.id === "farcaster"))
|
|
262
|
-
).sort((a, b) => {
|
|
263
|
-
const aIsInstalledInjected = a.isInstalled && isInjectedConnector(a.connector?.type);
|
|
264
|
-
const bIsInstalledInjected = b.isInstalled && isInjectedConnector(b.connector?.type);
|
|
265
|
-
if (aIsInstalledInjected && !bIsInstalledInjected) return -1;
|
|
266
|
-
if (!aIsInstalledInjected && bIsInstalledInjected) return 1;
|
|
267
|
-
return 0;
|
|
268
|
-
}).sort((a, b) => {
|
|
269
|
-
if (a.id === WALLET_ID_MOBILE_WALLETS) return 1;
|
|
270
|
-
if (b.id === WALLET_ID_MOBILE_WALLETS) return -1;
|
|
271
|
-
return 0;
|
|
272
|
-
});
|
|
273
|
-
movePrioritizedFirst(sorted, prioritizedId);
|
|
274
|
-
return sorted;
|
|
275
|
-
};
|
|
276
|
-
|
|
277
|
-
export { isExternalWallet, useWallet, useWallets };
|
|
278
|
-
//# sourceMappingURL=useWallets.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useWallets.js","sources":["../../../src/wallets/useWallets.tsx"],"sourcesContent":["import { assertNotNull } from \"@daimo/pay-common\";\nimport { Connector } from \"wagmi\";\n\nimport { useWallet as useSolanaWalletAdapter } from \"@solana/wallet-adapter-react\";\nimport Logos, {\n createOtherWalletsIcon,\n SquircleIcon,\n WalletIcon,\n} from \"../assets/logos\";\nimport MobileWithLogos from \"../assets/MobileWithLogos\";\nimport {\n MOBILE_WALLETS_THRESHOLD_FOR_OTHER,\n RABBY_CONNECTOR_ID,\n WALLET_ID_MOBILE_WALLETS,\n WALLET_ID_OTHER_WALLET,\n} from \"../constants/wallets\";\nimport { useConnectors } from \"../hooks/useConnectors\";\nimport useLocales from \"../hooks/useLocales\";\nimport { usePayContext } from \"../hooks/usePayContext\";\nimport { SolanaWalletName } from \"../provider/SolanaContextProvider\";\nimport {\n flattenChildren,\n isBaseAccountConnector,\n isGeminiConnector,\n isInjectedConnector,\n} from \"../utils\";\nimport { WalletConfigProps, walletConfigs } from \"./walletConfigs\";\n\n// ids moved to ../constants/wallets\n\nexport type WalletProps = {\n id: string;\n connector?: Connector | null;\n isInstalled?: boolean;\n /** Name of the matching Solana wallet adapter (if any) */\n solanaConnectorName?: SolanaWalletName;\n} & WalletConfigProps;\n\n/** Check if wallet should show QR code/deeplink (no injected connector) */\nexport function isExternalWallet(\n wallet: WalletProps | WalletConfigProps | null | undefined,\n): boolean {\n if (!wallet) return false;\n // Special mobile wallets option always shows QR\n if (wallet.id === WALLET_ID_MOBILE_WALLETS) return true;\n // Wallets with deeplink but no connector use QR/deeplink flow\n const hasConnector = \"connector\" in wallet && !!wallet.connector;\n return !!wallet.getDaimoPayDeeplink && !hasConnector;\n}\n\nexport const useWallet = (id: string): WalletProps | null => {\n const wallets = useWallets();\n const wallet = wallets.find((c) => c.id === id);\n if (!wallet) return null;\n return wallet;\n};\n\nexport const useWallets = (isMobile?: boolean): WalletProps[] => {\n const connectors = useConnectors();\n const context = usePayContext();\n const { disableMobileInjector, paymentState } = context;\n // Solana wallets available in the session (desktop & mobile)\n const solanaWallet = useSolanaWalletAdapter();\n const locales = useLocales();\n\n // Use prioritized id from button props\n const prioritizedId = context.paymentState.buttonProps?.prioritizedWalletId;\n\n // Get wallet ordering from payment options\n const walletOrder =\n paymentState?.externalPaymentOptions?.parsedConfig?.walletOrder ?? [];\n\n // Helper to move a wallet to the front by id\n function movePrioritizedFirst<T extends { id: string }>(\n list: T[],\n prioritizedId?: string,\n ): void {\n if (!prioritizedId) return;\n if (prioritizedId === WALLET_ID_MOBILE_WALLETS) return;\n const index = list.findIndex((w) => w.id === prioritizedId);\n if (index <= 0) return;\n const [item] = list.splice(index, 1);\n list.unshift(item);\n }\n\n if (isMobile) {\n const mobileWallets: WalletProps[] = [];\n\n // Add injected wallet (if any) first, unless disabled\n if (!disableMobileInjector) {\n connectors.forEach((connector) => {\n if (isBaseAccountConnector(connector.id)) return;\n if (isGeminiConnector(connector.id)) return;\n if (!isInjectedConnector(connector.type)) return;\n if (mobileWallets.some((w) => w.id === connector.id)) return;\n // Skip any connectors that mention WalletConnect\n if (connector.name?.toLowerCase().includes(\"walletconnect\")) return;\n mobileWallets.push({\n id: connector.id,\n connector,\n shortName: connector.name,\n iconConnector: connector.icon ? (\n <img src={connector.icon} alt={connector.name} />\n ) : (\n <WalletIcon />\n ),\n iconShape: \"squircle\",\n });\n });\n }\n\n // If wallet order is specified, use that order\n if (walletOrder.length > 0) {\n for (const optionId of walletOrder) {\n const walletId = Object.keys(walletConfigs).find((id) => {\n const wallet = walletConfigs[id];\n const optionLower = optionId.toLowerCase();\n return (\n wallet.name?.toLowerCase() === optionLower ||\n wallet.shortName?.toLowerCase() === optionLower ||\n wallet.name?.toLowerCase().includes(optionLower) ||\n id.toLowerCase() === optionLower ||\n id.toLowerCase().includes(optionLower)\n );\n });\n if (walletId && !mobileWallets.find((w) => w.id === walletId)) {\n const wallet = walletConfigs[walletId];\n mobileWallets.push({\n id: walletId,\n ...wallet,\n });\n }\n }\n\n // Move prioritized wallet (if any) before determining truncation/\"Other\"\n movePrioritizedFirst(mobileWallets, prioritizedId);\n\n // Determine if we need \"Other\" button\n const totalWallets = walletOrder.length;\n\n // If we have more than threshold total, show max before \"Other\"\n // If we have threshold or fewer, show all\n if (\n totalWallets > MOBILE_WALLETS_THRESHOLD_FOR_OTHER ||\n mobileWallets.length > MOBILE_WALLETS_THRESHOLD_FOR_OTHER\n ) {\n // Get the wallets that will be in \"Other\" (those shown in main selector)\n const shownWallets = mobileWallets.slice(\n 0,\n MOBILE_WALLETS_THRESHOLD_FOR_OTHER - 1,\n );\n const shownWalletNames = shownWallets\n .map((w) => w.name?.toLowerCase() || w.shortName?.toLowerCase())\n .filter((name): name is string => !!name);\n\n // Find remaining wallets from the order\n const remainingWalletConfigs = walletOrder\n .filter((walletName) => {\n const nameLower = walletName.toLowerCase();\n return !shownWalletNames.some(\n (shown) =>\n shown === nameLower ||\n shown.includes(nameLower) ||\n nameLower.includes(shown),\n );\n })\n .map((walletName) => {\n const configKey = Object.keys(walletConfigs).find((key) => {\n const wallet = walletConfigs[key];\n const name =\n wallet.name?.toLowerCase() ||\n wallet.shortName?.toLowerCase() ||\n \"\";\n return (\n name.includes(walletName.toLowerCase()) ||\n walletName.toLowerCase().includes(name)\n );\n });\n return configKey ? walletConfigs[configKey] : null;\n })\n .filter(Boolean) as WalletConfigProps[];\n\n // Keep max wallets total (including injected)\n if (mobileWallets.length > MOBILE_WALLETS_THRESHOLD_FOR_OTHER - 1) {\n mobileWallets.splice(MOBILE_WALLETS_THRESHOLD_FOR_OTHER - 1);\n }\n\n const otherWalletsString = flattenChildren(locales.otherWallets).join(\n \"\",\n );\n const otherString = flattenChildren(locales.other).join(\"\");\n mobileWallets.push({\n id: WALLET_ID_OTHER_WALLET,\n name: otherWalletsString,\n shortName: otherString,\n iconConnector: createOtherWalletsIcon(remainingWalletConfigs),\n iconShape: \"square\",\n showInMobileConnectors: false,\n });\n }\n\n return mobileWallets;\n }\n\n // Default behavior: add MetaMask and Trust, then \"other\"\n function addIfNotPresent(idList: string) {\n if (mobileWallets.find((w) => idList.includes(w.id))) return;\n if (mobileWallets.length >= MOBILE_WALLETS_THRESHOLD_FOR_OTHER) return;\n const wallet = assertNotNull(\n walletConfigs[idList],\n () => `missing ${idList}`,\n );\n mobileWallets.push({\n id: idList,\n ...wallet,\n });\n }\n\n addIfNotPresent(\n \"metaMask, metaMask-io, io.metamask, io.metamask.mobile, metaMaskSDK\",\n );\n addIfNotPresent(\"com.trustwallet.app\");\n\n // Ensure prioritized wallet (if any) appears first\n movePrioritizedFirst(mobileWallets, prioritizedId);\n\n const otherWalletsString = flattenChildren(locales.otherWallets).join(\"\");\n const otherString = flattenChildren(locales.other).join(\"\");\n mobileWallets.push({\n id: WALLET_ID_OTHER_WALLET,\n name: otherWalletsString,\n shortName: otherString,\n iconConnector: <Logos.OtherWallets />,\n iconShape: \"square\",\n showInMobileConnectors: false,\n });\n\n return mobileWallets;\n }\n\n const wallets = connectors.map((connector): WalletProps => {\n // First, attempt to find a config by matching connector.id (existing logic).\n let walletConfigKey: string | undefined = Object.keys(walletConfigs).find(\n (id) =>\n id\n .split(\",\")\n .map((i) => i.trim())\n .includes(connector.id),\n );\n\n // If not found by id, attempt a fuzzy match on connector.name.\n if (!walletConfigKey && connector.name) {\n walletConfigKey = Object.keys(walletConfigs).find((key) => {\n const cfgName = walletConfigs[key].name?.toLowerCase();\n const connName = connector.name!.toLowerCase();\n return (\n cfgName && (cfgName.includes(connName) || connName.includes(cfgName))\n );\n });\n }\n\n const c: WalletProps = {\n id: connector.id,\n name: connector.name ?? connector.id ?? connector.type,\n icon: connector.icon ? (\n <img\n src={connector.icon}\n alt={connector.name}\n width={\"100%\"}\n height={\"100%\"}\n />\n ) : (\n <WalletIcon />\n ),\n connector,\n iconShape: connector.id === RABBY_CONNECTOR_ID ? \"circle\" : \"squircle\",\n isInstalled:\n connector.type === \"mock\" ||\n connector.type === \"injected\" ||\n connector.type === \"farcasterFrame\" ||\n isBaseAccountConnector(connector.id) ||\n isGeminiConnector(connector.id),\n };\n\n if (walletConfigKey) {\n const wallet = walletConfigs[walletConfigKey];\n return {\n ...c,\n iconConnector: connector.icon ? (\n <img\n src={connector.icon}\n alt={connector.name}\n width={\"100%\"}\n height={\"100%\"}\n />\n ) : undefined,\n ...wallet,\n };\n }\n\n return c;\n });\n\n wallets.push(walletConfigs.world as WalletProps);\n wallets.push(walletConfigs.minipay as WalletProps);\n\n wallets.push({\n id: WALLET_ID_MOBILE_WALLETS,\n name: \"Mobile Wallets\",\n shortName: \"Mobile\",\n icon: (\n <div\n style={{\n width: \"100%\",\n height: \"100%\",\n overflow: \"hidden\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n transform: \"scale(1.2)\",\n transformOrigin: \"center center\",\n }}\n >\n <MobileWithLogos />\n </div>\n ),\n iconConnector: (\n <div\n style={{\n width: \"100%\",\n height: \"100%\",\n overflow: \"hidden\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n transform: \"scale(1.2)\",\n transformOrigin: \"center center\",\n }}\n >\n <MobileWithLogos />\n </div>\n ),\n });\n\n const solanaAdapters = solanaWallet.wallets ?? [];\n\n // Merge by fuzzy name matching (includes comparison)\n wallets.forEach((w) => {\n // Skip wallets without a usable name to avoid matching everything\n if (!w.name) return;\n\n const evm = w.name.toLowerCase();\n const match = solanaAdapters.find((sw) => {\n const sol = sw.adapter.name.toLowerCase();\n return evm.includes(sol) || sol.includes(evm);\n });\n\n if (match) {\n w.solanaConnectorName = match.adapter.name;\n }\n });\n\n const unmatched = solanaAdapters.filter(\n (sw) => !wallets.find((w) => w.solanaConnectorName === sw.adapter.name),\n );\n\n unmatched.forEach((sw) => {\n wallets.push({\n id: `solana-${sw.adapter.name}`,\n name: sw.adapter.name,\n shortName: sw.adapter.name,\n icon: <SquircleIcon icon={sw.adapter.icon} alt={sw.adapter.name} />,\n iconConnector: (\n <SquircleIcon icon={sw.adapter.icon} alt={sw.adapter.name} />\n ),\n iconShape: \"squircle\",\n solanaConnectorName: sw.adapter.name,\n });\n });\n\n const sorted = wallets\n // remove duplicate ids\n .filter(\n (wallet, index, self) =>\n self.findIndex((w) => w.id === wallet.id) === index,\n )\n // remove wallet with id coinbaseWalletSDK if wallet with id 'com.coinbase.wallet' exists\n .filter(\n (wallet, index, self) =>\n !(\n wallet.id === \"coinbaseWalletSDK\" &&\n self.find((w) => w.id === \"com.coinbase.wallet\")\n ),\n )\n // remove wallet with id io.metamask if wallet with id 'metaMask' exists\n .filter(\n (wallet, index, self) =>\n !(\n (wallet.id === \"metaMaskSDK\" || wallet.id === \"metaMask\") &&\n self.find(\n (w) => w.id === \"io.metamask\" || w.id === \"io.metamask.mobile\",\n )\n ),\n )\n // remove wallet with id 'com.warpcast.mobile' if wallet with id 'farcaster' exists\n .filter(\n (wallet, index, self) =>\n !(\n wallet.id === \"com.warpcast.mobile\" &&\n self.find((w) => w.id === \"farcaster\")\n ),\n )\n // order by isInstalled injected connectors first\n .sort((a, b) => {\n const aIsInstalledInjected =\n a.isInstalled && isInjectedConnector(a.connector?.type);\n const bIsInstalledInjected =\n b.isInstalled && isInjectedConnector(b.connector?.type);\n\n if (aIsInstalledInjected && !bIsInstalledInjected) return -1;\n if (!aIsInstalledInjected && bIsInstalledInjected) return 1;\n return 0;\n })\n // order \"mobile wallets\" option last\n .sort((a, b) => {\n if (a.id === WALLET_ID_MOBILE_WALLETS) return 1;\n if (b.id === WALLET_ID_MOBILE_WALLETS) return -1;\n return 0;\n });\n\n // Finally ensure prioritized wallet (if any) is first\n movePrioritizedFirst(sorted, prioritizedId);\n\n return sorted;\n};\n"],"names":["useSolanaWalletAdapter","prioritizedId","addIfNotPresent","otherWalletsString","otherString"],"mappings":"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"}
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import Logos from '../assets/logos.js';
|
|
3
|
-
|
|
4
|
-
let daimoPayHost = "https://pay.daimo.com";
|
|
5
|
-
function setInWalletPaymentUrlFromApiUrl(apiUrl) {
|
|
6
|
-
if (apiUrl.startsWith("http://localhost")) {
|
|
7
|
-
daimoPayHost = "http://localhost:3001";
|
|
8
|
-
} else if (apiUrl.startsWith("https://pay-api-stage.daimo.xyz")) {
|
|
9
|
-
daimoPayHost = "https://pay.stage.daimo.xyz";
|
|
10
|
-
} else {
|
|
11
|
-
daimoPayHost = "https://pay.daimo.com";
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
function getDaimoPayUrl(payId) {
|
|
15
|
-
return daimoPayHost + "/pay?id=" + payId;
|
|
16
|
-
}
|
|
17
|
-
const walletConfigs = {
|
|
18
|
-
baseAccount: {
|
|
19
|
-
id: "baseAccount",
|
|
20
|
-
name: "Base App",
|
|
21
|
-
shortName: "Base",
|
|
22
|
-
icon: /* @__PURE__ */ jsx(Logos.Base, {}),
|
|
23
|
-
iconConnector: /* @__PURE__ */ jsx(Logos.Base, {}),
|
|
24
|
-
iconShape: "squircle",
|
|
25
|
-
showInMobileConnectors: false,
|
|
26
|
-
deeplinkScheme: "cbwallet://",
|
|
27
|
-
showOnAndroid: true,
|
|
28
|
-
showOnIOS: true,
|
|
29
|
-
getDaimoPayDeeplink: (payId) => {
|
|
30
|
-
return "https://go.cb-w.com/dapp?cb_url=" + encodeURIComponent(getDaimoPayUrl(payId));
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
bitget: {
|
|
34
|
-
id: "bitget",
|
|
35
|
-
name: "Bitget",
|
|
36
|
-
icon: /* @__PURE__ */ jsx(Logos.Bitget, {}),
|
|
37
|
-
iconConnector: /* @__PURE__ */ jsx(Logos.Bitget, {}),
|
|
38
|
-
iconShape: "squircle",
|
|
39
|
-
showInMobileConnectors: true,
|
|
40
|
-
showOnAndroid: true,
|
|
41
|
-
showOnIOS: true,
|
|
42
|
-
deeplinkScheme: "bitkeep://",
|
|
43
|
-
getDaimoPayDeeplink: (payId) => {
|
|
44
|
-
return "https://bkcode.vip?action=dapp&url=" + getDaimoPayUrl(payId);
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
"metaMask, metaMask-io, io.metamask, io.metamask.mobile, metaMaskSDK": {
|
|
48
|
-
id: "metaMask",
|
|
49
|
-
name: "MetaMask",
|
|
50
|
-
shortName: "MetaMask",
|
|
51
|
-
icon: /* @__PURE__ */ jsx(Logos.MetaMask, {}),
|
|
52
|
-
iconConnector: /* @__PURE__ */ jsx(Logos.MetaMask, {}),
|
|
53
|
-
iconShouldShrink: true,
|
|
54
|
-
showOnAndroid: true,
|
|
55
|
-
showOnIOS: true,
|
|
56
|
-
showInMobileConnectors: false,
|
|
57
|
-
deeplinkScheme: "metamask://",
|
|
58
|
-
getDaimoPayDeeplink: (payId) => {
|
|
59
|
-
const daimoPayUrl = getDaimoPayUrl(payId);
|
|
60
|
-
return "https://link.metamask.io/dapp/" + daimoPayUrl.replace("https://", "");
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
"app.phantom": {
|
|
64
|
-
id: "app.phantom",
|
|
65
|
-
name: "Phantom",
|
|
66
|
-
icon: /* @__PURE__ */ jsx(Logos.Phantom, {}),
|
|
67
|
-
iconConnector: /* @__PURE__ */ jsx(Logos.Phantom, {}),
|
|
68
|
-
iconShape: "squircle",
|
|
69
|
-
showInMobileConnectors: true,
|
|
70
|
-
deeplinkScheme: "phantom://",
|
|
71
|
-
showOnAndroid: true,
|
|
72
|
-
showOnIOS: true,
|
|
73
|
-
getDaimoPayDeeplink: (payId) => {
|
|
74
|
-
const url = encodeURIComponent(getDaimoPayUrl(payId));
|
|
75
|
-
const ref = encodeURIComponent(window.location.origin);
|
|
76
|
-
return `https://phantom.app/ul/browse/${url}?ref=${ref}`;
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
minipay: {
|
|
80
|
-
id: "minipay",
|
|
81
|
-
name: "MiniPay",
|
|
82
|
-
shortName: "MiniPay",
|
|
83
|
-
icon: /* @__PURE__ */ jsx(Logos.MiniPay, {}),
|
|
84
|
-
iconConnector: /* @__PURE__ */ jsx(Logos.MiniPay, {}),
|
|
85
|
-
iconShape: "squircle",
|
|
86
|
-
showInMobileConnectors: true,
|
|
87
|
-
showOnAndroid: true,
|
|
88
|
-
showOnIOS: true,
|
|
89
|
-
getDaimoPayDeeplink: (payId) => {
|
|
90
|
-
return "https://cash.minipay.xyz/browse?url=" + encodeURIComponent(getDaimoPayUrl(payId));
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
"me.rainbow": {
|
|
94
|
-
id: "me.rainbow",
|
|
95
|
-
name: "Rainbow Wallet",
|
|
96
|
-
shortName: "Rainbow",
|
|
97
|
-
icon: /* @__PURE__ */ jsx(Logos.Rainbow, {}),
|
|
98
|
-
iconConnector: /* @__PURE__ */ jsx(Logos.Rainbow, {}),
|
|
99
|
-
iconShape: "squircle",
|
|
100
|
-
showInMobileConnectors: true,
|
|
101
|
-
deeplinkScheme: "rainbow://",
|
|
102
|
-
showOnAndroid: true,
|
|
103
|
-
showOnIOS: true,
|
|
104
|
-
getDaimoPayDeeplink: (payId) => {
|
|
105
|
-
return "https://rnbwapp.com/dapp?url=" + getDaimoPayUrl(payId);
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
// "io.rabby": {
|
|
109
|
-
// name: "Rabby Wallet",
|
|
110
|
-
// shortName: "Rabby",
|
|
111
|
-
// showInMobileConnectors: false,
|
|
112
|
-
// //TODO: add wallet deep link
|
|
113
|
-
// // edit rabby scheme to deeplink URL: https://github.com/RabbyHub/rabby-mobile/blob/999d60f49c5254e4aa8e6aa8bb80ad46e267845c/apps/mobile/src/LinkingConfig.ts#L25
|
|
114
|
-
// },
|
|
115
|
-
"com.trustwallet.app": {
|
|
116
|
-
id: "com.trustwallet.app",
|
|
117
|
-
name: "Trust Wallet",
|
|
118
|
-
shortName: "Trust",
|
|
119
|
-
icon: /* @__PURE__ */ jsx(Logos.Trust, {}),
|
|
120
|
-
iconConnector: /* @__PURE__ */ jsx(Logos.Trust, {}),
|
|
121
|
-
showInMobileConnectors: false,
|
|
122
|
-
deeplinkScheme: "trust://",
|
|
123
|
-
showOnAndroid: true,
|
|
124
|
-
showOnIOS: true,
|
|
125
|
-
getDaimoPayDeeplink: (payId) => {
|
|
126
|
-
return "https://link.trustwallet.com/open_url?coin_id=60&url=" + getDaimoPayUrl(payId);
|
|
127
|
-
}
|
|
128
|
-
},
|
|
129
|
-
okx: {
|
|
130
|
-
id: "okx",
|
|
131
|
-
name: "OKX",
|
|
132
|
-
icon: /* @__PURE__ */ jsx(Logos.OKX, {}),
|
|
133
|
-
iconConnector: /* @__PURE__ */ jsx(Logos.OKX, {}),
|
|
134
|
-
showInMobileConnectors: true,
|
|
135
|
-
deeplinkScheme: "okx://",
|
|
136
|
-
showOnAndroid: true,
|
|
137
|
-
showOnIOS: true,
|
|
138
|
-
getDaimoPayDeeplink: (payId) => {
|
|
139
|
-
return "https://web3.okx.com/download?deeplink=" + encodeURIComponent(
|
|
140
|
-
"okx://wallet/dapp/url?dappUrl=" + getDaimoPayUrl(payId)
|
|
141
|
-
);
|
|
142
|
-
}
|
|
143
|
-
},
|
|
144
|
-
// ledger: {
|
|
145
|
-
// name: "Ledger Live",
|
|
146
|
-
// shortName: "Ledger",
|
|
147
|
-
// icon: <Logos.Ledger />,
|
|
148
|
-
// showInMobileConnectors: true,
|
|
149
|
-
// deeplinkScheme: "ledgerlive://",
|
|
150
|
-
// // getDaimoPayDeeplink: (payId: string) => {
|
|
151
|
-
// // return "ledgerlive://discover/" + daimoPayUrl + payId;
|
|
152
|
-
// // },
|
|
153
|
-
// // TODO: Add Daimo Pay to Ledger Live's Discover section https://developers.ledger.com/docs/ledger-live/discover/getting-started
|
|
154
|
-
// shouldDeeplinkDesktop: true,
|
|
155
|
-
// },
|
|
156
|
-
world: {
|
|
157
|
-
id: "world",
|
|
158
|
-
name: "World",
|
|
159
|
-
shortName: "World",
|
|
160
|
-
icon: /* @__PURE__ */ jsx(Logos.World, {}),
|
|
161
|
-
iconConnector: /* @__PURE__ */ jsx(Logos.World, {}),
|
|
162
|
-
showInMobileConnectors: true,
|
|
163
|
-
iconShape: "squircle",
|
|
164
|
-
deeplinkScheme: "world",
|
|
165
|
-
showOnAndroid: true,
|
|
166
|
-
showOnIOS: true,
|
|
167
|
-
getDaimoPayDeeplink: (payId) => {
|
|
168
|
-
const path = "/pay?id=" + payId;
|
|
169
|
-
const url = "https://worldcoin.org/mini-app?app_id=app_e7d27c5ce2234e00558776f227f791ef&path=" + encodeURIComponent(path);
|
|
170
|
-
return url;
|
|
171
|
-
}
|
|
172
|
-
},
|
|
173
|
-
zerion: {
|
|
174
|
-
id: "zerion",
|
|
175
|
-
name: "Zerion",
|
|
176
|
-
icon: /* @__PURE__ */ jsx(Logos.Zerion, {}),
|
|
177
|
-
iconConnector: /* @__PURE__ */ jsx(Logos.Zerion, {}),
|
|
178
|
-
showInMobileConnectors: true,
|
|
179
|
-
deeplinkScheme: "zerion://",
|
|
180
|
-
showOnAndroid: true,
|
|
181
|
-
showOnIOS: true,
|
|
182
|
-
getDaimoPayDeeplink: (payId) => {
|
|
183
|
-
const payUrl = getDaimoPayUrl(payId);
|
|
184
|
-
return "https://link.zerion.io/?url=" + encodeURIComponent(payUrl);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
};
|
|
188
|
-
|
|
189
|
-
export { setInWalletPaymentUrlFromApiUrl, walletConfigs };
|
|
190
|
-
//# sourceMappingURL=walletConfigs.js.map
|