@daimo/pay 1.16.0 → 1.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/hooks/useConnect.d.ts +8 -8
- package/build/index.d.ts +626 -15
- package/build/package.json.js +6 -4
- package/build/package.json.js.map +1 -1
- package/build/src/assets/MobileWithLogos.js +320 -1
- package/build/src/assets/MobileWithLogos.js.map +1 -1
- package/build/src/assets/ScanIconWithLogos.js +216 -10
- package/build/src/assets/ScanIconWithLogos.js.map +1 -1
- package/build/src/assets/browsers.js +963 -7
- package/build/src/assets/browsers.js.map +1 -1
- package/build/src/assets/chains.js +633 -103
- package/build/src/assets/chains.js.map +1 -1
- package/build/src/assets/coins.js +38 -1
- package/build/src/assets/coins.js.map +1 -1
- package/build/src/assets/crepe.js +35 -1
- package/build/src/assets/crepe.js.map +1 -1
- package/build/src/assets/icons.js +258 -15
- package/build/src/assets/icons.js.map +1 -1
- package/build/src/assets/logos.js +1510 -140
- package/build/src/assets/logos.js.map +1 -1
- package/build/src/assets/wallet.js +32 -1
- package/build/src/assets/wallet.js.map +1 -1
- package/build/src/assets/wave.js +41 -1
- package/build/src/assets/wave.js.map +1 -1
- package/build/src/components/Common/Alert/index.js +4 -1
- package/build/src/components/Common/Alert/index.js.map +1 -1
- package/build/src/components/Common/Alert/styles.js +4 -4
- package/build/src/components/Common/Alert/styles.js.map +1 -1
- package/build/src/components/Common/AmountInput/AmountInputField.js +29 -18
- package/build/src/components/Common/AmountInput/AmountInputField.js.map +1 -1
- package/build/src/components/Common/AmountInput/index.js +112 -99
- package/build/src/components/Common/AmountInput/index.js.map +1 -1
- package/build/src/components/Common/Avatar/index.js +63 -51
- package/build/src/components/Common/Avatar/index.js.map +1 -1
- package/build/src/components/Common/Avatar/styles.js +9 -14
- package/build/src/components/Common/Avatar/styles.js.map +1 -1
- package/build/src/components/Common/BrowserIcon/index.js +15 -14
- package/build/src/components/Common/BrowserIcon/index.js.map +1 -1
- package/build/src/components/Common/BrowserIcon/styles.js +1 -1
- package/build/src/components/Common/BrowserIcon/styles.js.map +1 -1
- package/build/src/components/Common/Button/index.js +131 -25
- package/build/src/components/Common/Button/index.js.map +1 -1
- package/build/src/components/Common/Button/styles.js +20 -24
- package/build/src/components/Common/Button/styles.js.map +1 -1
- package/build/src/components/Common/Chain/index.js +130 -14
- package/build/src/components/Common/Chain/index.js.map +1 -1
- package/build/src/components/Common/Chain/styles.js +9 -13
- package/build/src/components/Common/Chain/styles.js.map +1 -1
- package/build/src/components/Common/ChainSelectList/index.js +232 -89
- package/build/src/components/Common/ChainSelectList/index.js.map +1 -1
- package/build/src/components/Common/ChainSelectList/styles.js +11 -13
- package/build/src/components/Common/ChainSelectList/styles.js.map +1 -1
- package/build/src/components/Common/CircleTimer.js +85 -41
- package/build/src/components/Common/CircleTimer.js.map +1 -1
- package/build/src/components/Common/ConnectorList/index.js +106 -80
- package/build/src/components/Common/ConnectorList/index.js.map +1 -1
- package/build/src/components/Common/ConnectorList/styles.js +28 -36
- package/build/src/components/Common/ConnectorList/styles.js.map +1 -1
- package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +16 -9
- package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -1
- package/build/src/components/Common/CopyToClipboard/index.js +3 -5
- package/build/src/components/Common/CopyToClipboard/index.js.map +1 -1
- package/build/src/components/Common/CustomQRCode/QRCode.js +120 -57
- package/build/src/components/Common/CustomQRCode/QRCode.js.map +1 -1
- package/build/src/components/Common/CustomQRCode/index.js +60 -10
- package/build/src/components/Common/CustomQRCode/index.js.map +1 -1
- package/build/src/components/Common/CustomQRCode/styles.js +6 -6
- package/build/src/components/Common/CustomQRCode/styles.js.map +1 -1
- package/build/src/components/Common/FitText/index.js +24 -17
- package/build/src/components/Common/FitText/index.js.map +1 -1
- package/build/src/components/Common/Modal/index.js +481 -267
- package/build/src/components/Common/Modal/index.js.map +1 -1
- package/build/src/components/Common/Modal/styles.js +44 -48
- package/build/src/components/Common/Modal/styles.js.map +1 -1
- package/build/src/components/Common/OptionsList/index.js +75 -33
- package/build/src/components/Common/OptionsList/index.js.map +1 -1
- package/build/src/components/Common/OptionsList/styles.js +7 -8
- package/build/src/components/Common/OptionsList/styles.js.map +1 -1
- package/build/src/components/Common/OrderHeader/index.js +109 -65
- package/build/src/components/Common/OrderHeader/index.js.map +1 -1
- package/build/src/components/Common/PaymentBreakdown/index.js +29 -7
- package/build/src/components/Common/PaymentBreakdown/index.js.map +1 -1
- package/build/src/components/Common/Portal/index.js +21 -22
- package/build/src/components/Common/Portal/index.js.map +1 -1
- package/build/src/components/Common/PoweredByFooter/index.js +39 -21
- package/build/src/components/Common/PoweredByFooter/index.js.map +1 -1
- package/build/src/components/Common/ScrollArea/index.js +107 -52
- package/build/src/components/Common/ScrollArea/index.js.map +1 -1
- package/build/src/components/Common/ScrollArea/styles.js +7 -11
- package/build/src/components/Common/ScrollArea/styles.js.map +1 -1
- package/build/src/components/Common/SelectAnotherMethodButton/index.js +67 -55
- package/build/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -1
- package/build/src/components/Common/Spinner/index.js +56 -16
- package/build/src/components/Common/Spinner/index.js.map +1 -1
- package/build/src/components/Common/Spinner/styles.js +2 -2
- package/build/src/components/Common/Spinner/styles.js.map +1 -1
- package/build/src/components/Common/SwitchButton/index.js +18 -15
- package/build/src/components/Common/SwitchButton/index.js.map +1 -1
- package/build/src/components/Common/ThemedButton/index.js +37 -16
- package/build/src/components/Common/ThemedButton/index.js.map +1 -1
- package/build/src/components/Common/ThemedButton/styles.js +2 -2
- package/build/src/components/Common/ThemedButton/styles.js.map +1 -1
- package/build/src/components/Common/TokenChainLogo/index.js +14 -8
- package/build/src/components/Common/TokenChainLogo/index.js.map +1 -1
- package/build/src/components/Common/Tooltip/index.js +115 -83
- package/build/src/components/Common/Tooltip/index.js.map +1 -1
- package/build/src/components/Common/Tooltip/styles.js +8 -8
- package/build/src/components/Common/Tooltip/styles.js.map +1 -1
- package/build/src/components/Common/WalletChainLogo/index.js +13 -6
- package/build/src/components/Common/WalletChainLogo/index.js.map +1 -1
- package/build/src/components/DaimoPayButton/index.js +170 -180
- package/build/src/components/DaimoPayButton/index.js.map +1 -1
- package/build/src/components/DaimoPayButton/styles.js +4 -4
- package/build/src/components/DaimoPayButton/styles.js.map +1 -1
- package/build/src/components/DaimoPayModal/ConnectUsing.js +50 -24
- package/build/src/components/DaimoPayModal/ConnectUsing.js.map +1 -1
- package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +303 -163
- package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -1
- package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js +10 -12
- package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -1
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +69 -39
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
- package/build/src/components/DaimoPayModal/index.js +409 -416
- package/build/src/components/DaimoPayModal/index.js.map +1 -1
- package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +15 -11
- package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -1
- package/build/src/components/Pages/About/graphics.js +796 -130
- package/build/src/components/Pages/About/graphics.js.map +1 -1
- package/build/src/components/Pages/About/index.js +203 -110
- package/build/src/components/Pages/About/index.js.map +1 -1
- package/build/src/components/Pages/About/styles.js +11 -15
- package/build/src/components/Pages/About/styles.js.map +1 -1
- package/build/src/components/Pages/Confirmation/index.js +71 -48
- package/build/src/components/Pages/Confirmation/index.js.map +1 -1
- package/build/src/components/Pages/Connectors/index.js +50 -16
- package/build/src/components/Pages/Connectors/index.js.map +1 -1
- package/build/src/components/Pages/Connectors/styles.js +10 -10
- package/build/src/components/Pages/Connectors/styles.js.map +1 -1
- package/build/src/components/Pages/DownloadApp/index.js +23 -18
- package/build/src/components/Pages/DownloadApp/index.js.map +1 -1
- package/build/src/components/Pages/Error/index.js +27 -15
- package/build/src/components/Pages/Error/index.js.map +1 -1
- package/build/src/components/Pages/MobileConnectors/index.js +50 -44
- package/build/src/components/Pages/MobileConnectors/index.js.map +1 -1
- package/build/src/components/Pages/MobileConnectors/styles.js +9 -11
- package/build/src/components/Pages/MobileConnectors/styles.js.map +1 -1
- package/build/src/components/Pages/Onboarding/index.js +20 -4
- package/build/src/components/Pages/Onboarding/index.js.map +1 -1
- package/build/src/components/Pages/Onboarding/styles.js +13 -13
- package/build/src/components/Pages/Onboarding/styles.js.map +1 -1
- package/build/src/components/Pages/PayWithToken/index.js +133 -122
- package/build/src/components/Pages/PayWithToken/index.js.map +1 -1
- package/build/src/components/Pages/SelectAmount/index.js +12 -5
- package/build/src/components/Pages/SelectAmount/index.js.map +1 -1
- package/build/src/components/Pages/SelectDepositAddressAmount/index.js +56 -38
- package/build/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -1
- package/build/src/components/Pages/SelectDepositAddressChain/index.js +57 -40
- package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -1
- package/build/src/components/Pages/SelectExchange/index.js +29 -24
- package/build/src/components/Pages/SelectExchange/index.js.map +1 -1
- package/build/src/components/Pages/SelectExternalAmount/index.js +57 -41
- package/build/src/components/Pages/SelectExternalAmount/index.js.map +1 -1
- package/build/src/components/Pages/SelectMethod/index.js +201 -183
- package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
- package/build/src/components/Pages/SelectToken/index.js +72 -46
- package/build/src/components/Pages/SelectToken/index.js.map +1 -1
- package/build/src/components/Pages/SelectWalletAmount/index.js +40 -32
- package/build/src/components/Pages/SelectWalletAmount/index.js.map +1 -1
- package/build/src/components/Pages/SelectWalletChain/index.js +40 -36
- package/build/src/components/Pages/SelectWalletChain/index.js.map +1 -1
- package/build/src/components/Pages/SelectZKP/index.js +29 -24
- package/build/src/components/Pages/SelectZKP/index.js.map +1 -1
- package/build/src/components/Pages/Solana/ConnectorSolana/index.js +60 -45
- package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -1
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +73 -61
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -1
- package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js +12 -5
- package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -1
- package/build/src/components/Pages/SwitchNetworks/index.js +29 -10
- package/build/src/components/Pages/SwitchNetworks/index.js.map +1 -1
- package/build/src/components/Pages/WaitingDepositAddress/index.js +332 -184
- package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -1
- package/build/src/components/Pages/WaitingExternal/index.js +69 -46
- package/build/src/components/Pages/WaitingExternal/index.js.map +1 -1
- package/build/src/components/Pages/WaitingWallet/index.js +37 -16
- package/build/src/components/Pages/WaitingWallet/index.js.map +1 -1
- package/build/src/components/Spinners/CircleSpinner/index.js +96 -7
- package/build/src/components/Spinners/CircleSpinner/index.js.map +1 -1
- package/build/src/components/Spinners/CircleSpinner/styles.js +6 -7
- package/build/src/components/Spinners/CircleSpinner/styles.js.map +1 -1
- package/build/src/components/Spinners/ExternalPaymentSpinner/index.js +18 -9
- package/build/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -1
- package/build/src/components/Spinners/SquircleSpinner/index.js +60 -7
- package/build/src/components/Spinners/SquircleSpinner/index.js.map +1 -1
- package/build/src/components/Spinners/SquircleSpinner/styles.js +4 -4
- package/build/src/components/Spinners/SquircleSpinner/styles.js.map +1 -1
- package/build/src/components/Spinners/TokenLogoSpinner/index.js +12 -1
- package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -1
- package/build/src/components/Spinners/TokenLogoSpinner/styles.js +1 -1
- package/build/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -1
- package/build/src/components/Spinners/WalletPaymentSpinner/index.js +27 -20
- package/build/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -1
- package/build/src/components/Spinners/styles.js +3 -4
- package/build/src/components/Spinners/styles.js.map +1 -1
- package/build/src/constants/defaultTheme.js +1 -1
- package/build/src/constants/defaultTheme.js.map +1 -1
- package/build/src/constants/routes.js +29 -30
- package/build/src/constants/routes.js.map +1 -1
- package/build/src/defaultConfig.js +49 -46
- package/build/src/defaultConfig.js.map +1 -1
- package/build/src/defaultConnectors.js +32 -19
- package/build/src/defaultConnectors.js.map +1 -1
- package/build/src/hooks/useChainIsSupported.js +3 -5
- package/build/src/hooks/useChainIsSupported.js.map +1 -1
- package/build/src/hooks/useChains.js +3 -4
- package/build/src/hooks/useChains.js.map +1 -1
- package/build/src/hooks/useConnect.js +51 -39
- package/build/src/hooks/useConnect.js.map +1 -1
- package/build/src/hooks/useConnectCallback.js +15 -12
- package/build/src/hooks/useConnectCallback.js.map +1 -1
- package/build/src/hooks/useConnectors.js +2 -2
- package/build/src/hooks/useConnectors.js.map +1 -1
- package/build/src/hooks/useDaimoPay.js +98 -82
- package/build/src/hooks/useDaimoPay.js.map +1 -1
- package/build/src/hooks/useDaimoPayStatus.js +4 -15
- package/build/src/hooks/useDaimoPayStatus.js.map +1 -1
- package/build/src/hooks/useDaimoPayUI.js +7 -7
- package/build/src/hooks/useDaimoPayUI.js.map +1 -1
- package/build/src/hooks/useDepositAddressOptions.js +29 -25
- package/build/src/hooks/useDepositAddressOptions.js.map +1 -1
- package/build/src/hooks/useEnsFallbackConfig.js +5 -5
- package/build/src/hooks/useEnsFallbackConfig.js.map +1 -1
- package/build/src/hooks/useExternalPaymentOptions.js +57 -52
- package/build/src/hooks/useExternalPaymentOptions.js.map +1 -1
- package/build/src/hooks/useFitText.js +120 -135
- package/build/src/hooks/useFitText.js.map +1 -1
- package/build/src/hooks/useFocusTrap.js +33 -37
- package/build/src/hooks/useFocusTrap.js.map +1 -1
- package/build/src/hooks/useIsMobile.js +3 -3
- package/build/src/hooks/useIsMobile.js.map +1 -1
- package/build/src/hooks/useIsMounted.js +3 -5
- package/build/src/hooks/useIsMounted.js.map +1 -1
- package/build/src/hooks/useLastConnector.js +15 -15
- package/build/src/hooks/useLastConnector.js.map +1 -1
- package/build/src/hooks/useLocales.js +44 -42
- package/build/src/hooks/useLocales.js.map +1 -1
- package/build/src/hooks/useLockBodyScroll.js +38 -44
- package/build/src/hooks/useLockBodyScroll.js.map +1 -1
- package/build/src/hooks/useOrderUsdLimits.js +17 -19
- package/build/src/hooks/useOrderUsdLimits.js.map +1 -1
- package/build/src/hooks/usePayContext.js +3 -5
- package/build/src/hooks/usePayContext.js.map +1 -1
- package/build/src/hooks/usePaymentState.js +351 -324
- package/build/src/hooks/usePaymentState.js.map +1 -1
- package/build/src/hooks/usePrevious.js +6 -7
- package/build/src/hooks/usePrevious.js.map +1 -1
- package/build/src/hooks/useSolanaPaymentOptions.js +33 -33
- package/build/src/hooks/useSolanaPaymentOptions.js.map +1 -1
- package/build/src/hooks/useTokenOptions.js +129 -112
- package/build/src/hooks/useTokenOptions.js.map +1 -1
- package/build/src/hooks/useUntronAvailability.js +26 -34
- package/build/src/hooks/useUntronAvailability.js.map +1 -1
- package/build/src/hooks/useWalletPaymentOptions.js +83 -78
- package/build/src/hooks/useWalletPaymentOptions.js.map +1 -1
- package/build/src/hooks/useWindowSize.js +16 -16
- package/build/src/hooks/useWindowSize.js.map +1 -1
- package/build/src/localizations/index.js +28 -31
- package/build/src/localizations/index.js.map +1 -1
- package/build/src/localizations/locales/ar-AE.js +88 -88
- package/build/src/localizations/locales/ar-AE.js.map +1 -1
- package/build/src/localizations/locales/ca-AD.js +88 -88
- package/build/src/localizations/locales/ca-AD.js.map +1 -1
- package/build/src/localizations/locales/ee-EE.js +96 -88
- package/build/src/localizations/locales/ee-EE.js.map +1 -1
- package/build/src/localizations/locales/en-US.js +134 -126
- package/build/src/localizations/locales/en-US.js.map +1 -1
- package/build/src/localizations/locales/es-ES.js +126 -126
- package/build/src/localizations/locales/es-ES.js.map +1 -1
- package/build/src/localizations/locales/fa-IR.js +88 -88
- package/build/src/localizations/locales/fa-IR.js.map +1 -1
- package/build/src/localizations/locales/fr-FR.js +88 -88
- package/build/src/localizations/locales/fr-FR.js.map +1 -1
- package/build/src/localizations/locales/ja-JP.js +88 -88
- package/build/src/localizations/locales/ja-JP.js.map +1 -1
- package/build/src/localizations/locales/pt-BR.js +96 -88
- package/build/src/localizations/locales/pt-BR.js.map +1 -1
- package/build/src/localizations/locales/ru-RU.js +92 -88
- package/build/src/localizations/locales/ru-RU.js.map +1 -1
- package/build/src/localizations/locales/tr-TR.js +96 -88
- package/build/src/localizations/locales/tr-TR.js.map +1 -1
- package/build/src/localizations/locales/vi-VN.js +96 -88
- package/build/src/localizations/locales/vi-VN.js.map +1 -1
- package/build/src/localizations/locales/zh-CN.js +88 -88
- package/build/src/localizations/locales/zh-CN.js.map +1 -1
- package/build/src/payment/paymentEffects.js +237 -265
- package/build/src/payment/paymentEffects.js.map +1 -1
- package/build/src/payment/paymentFsm.js +165 -186
- package/build/src/payment/paymentFsm.js.map +1 -1
- package/build/src/payment/paymentStore.js +8 -10
- package/build/src/payment/paymentStore.js.map +1 -1
- package/build/src/payment/paymentUtils.js +5 -9
- package/build/src/payment/paymentUtils.js.map +1 -1
- package/build/src/provider/DaimoPayProvider.js +258 -249
- package/build/src/provider/DaimoPayProvider.js.map +1 -1
- package/build/src/provider/PayContext.js +0 -1
- package/build/src/provider/PayContext.js.map +1 -1
- package/build/src/provider/PaymentProvider.js +18 -17
- package/build/src/provider/PaymentProvider.js.map +1 -1
- package/build/src/provider/SolanaContextProvider.js +6 -3
- package/build/src/provider/SolanaContextProvider.js.map +1 -1
- package/build/src/provider/Web3ContextProvider.js +23 -23
- package/build/src/provider/Web3ContextProvider.js.map +1 -1
- package/build/src/stateStore.js +28 -74
- package/build/src/stateStore.js.map +1 -1
- package/build/src/styles/defaultTheme.js +64 -73
- package/build/src/styles/defaultTheme.js.map +1 -1
- package/build/src/styles/index.js +202 -217
- package/build/src/styles/index.js.map +1 -1
- package/build/src/styles/styled/index.js +0 -10
- package/build/src/styles/styled/index.js.map +1 -1
- package/build/src/styles/themes/base.js +136 -136
- package/build/src/styles/themes/base.js.map +1 -1
- package/build/src/styles/themes/index.js.map +1 -1
- package/build/src/styles/themes/midnight.js +71 -71
- package/build/src/styles/themes/midnight.js.map +1 -1
- package/build/src/styles/themes/minimal.js +75 -75
- package/build/src/styles/themes/minimal.js.map +1 -1
- package/build/src/styles/themes/nouns.js +76 -76
- package/build/src/styles/themes/nouns.js.map +1 -1
- package/build/src/styles/themes/retro.js +88 -88
- package/build/src/styles/themes/retro.js.map +1 -1
- package/build/src/styles/themes/rounded.js +84 -84
- package/build/src/styles/themes/rounded.js.map +1 -1
- package/build/src/styles/themes/soft.js +66 -66
- package/build/src/styles/themes/soft.js.map +1 -1
- package/build/src/styles/themes/web95.js +95 -95
- package/build/src/styles/themes/web95.js.map +1 -1
- package/build/src/utils/exports.js +0 -1
- package/build/src/utils/exports.js.map +1 -1
- package/build/src/utils/format.js +25 -63
- package/build/src/utils/format.js.map +1 -1
- package/build/src/utils/index.js +23 -20
- package/build/src/utils/index.js.map +1 -1
- package/build/src/utils/p3.js +8 -9
- package/build/src/utils/p3.js.map +1 -1
- package/build/src/utils/platform.js +6 -8
- package/build/src/utils/platform.js.map +1 -1
- package/build/src/utils/polling.js +31 -31
- package/build/src/utils/polling.js.map +1 -1
- package/build/src/utils/supportUrl.js +9 -9
- package/build/src/utils/supportUrl.js.map +1 -1
- package/build/src/utils/trpc.js +11 -11
- package/build/src/utils/trpc.js.map +1 -1
- package/build/src/utils/validateInput.js +9 -29
- package/build/src/utils/validateInput.js.map +1 -1
- package/build/src/wallets/index.js +13 -22
- package/build/src/wallets/index.js.map +1 -1
- package/build/src/wallets/useWallets.js +183 -181
- package/build/src/wallets/useWallets.js.map +1 -1
- package/build/src/wallets/walletConfigs.js +230 -235
- package/build/src/wallets/walletConfigs.js.map +1 -1
- package/build/src/world-mini-app/WorldPayButton.js +113 -118
- package/build/src/world-mini-app/WorldPayButton.js.map +1 -1
- package/build/src/world-mini-app/promptWorldPayment.js +49 -47
- package/build/src/world-mini-app/promptWorldPayment.js.map +1 -1
- package/build/types-7ed033b6.d.ts +66 -0
- package/build/world.d.ts +89 -1
- package/package.json +6 -4
|
@@ -6,200 +6,202 @@ import { MobileWithLogos } from '../assets/MobileWithLogos.js';
|
|
|
6
6
|
import { useConnectors } from '../hooks/useConnectors.js';
|
|
7
7
|
import useLocales from '../hooks/useLocales.js';
|
|
8
8
|
import { usePayContext } from '../hooks/usePayContext.js';
|
|
9
|
-
import {
|
|
9
|
+
import { isBaseAccountConnector, isGeminiConnector, isInjectedConnector, flattenChildren } from '../utils/index.js';
|
|
10
10
|
import { walletConfigs } from './walletConfigs.js';
|
|
11
11
|
|
|
12
|
-
/** Special wallet ID for "other wallets" option. */
|
|
13
12
|
const WALLET_ID_OTHER_WALLET = "otherWallet";
|
|
14
|
-
/** Special wallet ID for "mobile wallets" option. */
|
|
15
13
|
const WALLET_ID_MOBILE_WALLETS = "mobileWallets";
|
|
16
14
|
const useWallet = (id) => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return wallet;
|
|
15
|
+
const wallets = useWallets();
|
|
16
|
+
const wallet = wallets.find((c) => c.id === id);
|
|
17
|
+
if (!wallet) return null;
|
|
18
|
+
return wallet;
|
|
22
19
|
};
|
|
23
20
|
const useWallets = (isMobile) => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
function addIfNotPresent(idList) {
|
|
53
|
-
if (mobileWallets.find((w) => idList.includes(w.id)))
|
|
54
|
-
return;
|
|
55
|
-
if (mobileWallets.length >= 3)
|
|
56
|
-
return;
|
|
57
|
-
const wallet = assertNotNull(walletConfigs[idList], () => `missing ${idList}`);
|
|
58
|
-
mobileWallets.push({
|
|
59
|
-
id: idList,
|
|
60
|
-
...wallet,
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
addIfNotPresent("metaMask, metaMask-io, io.metamask, io.metamask.mobile, metaMaskSDK");
|
|
64
|
-
addIfNotPresent("com.trustwallet.app");
|
|
65
|
-
const otherWalletsString = flattenChildren(locales.otherWallets).join("");
|
|
66
|
-
const otherString = flattenChildren(locales.other).join("");
|
|
67
|
-
// Add other wallet
|
|
21
|
+
const connectors = useConnectors();
|
|
22
|
+
const context = usePayContext();
|
|
23
|
+
const { showSolanaPaymentMethod } = context.paymentState;
|
|
24
|
+
const { disableMobileInjector } = context;
|
|
25
|
+
const solanaWallet = useWallet$1();
|
|
26
|
+
const locales = useLocales();
|
|
27
|
+
if (isMobile) {
|
|
28
|
+
let addIfNotPresent2 = function(idList) {
|
|
29
|
+
if (mobileWallets.find((w) => idList.includes(w.id))) return;
|
|
30
|
+
if (mobileWallets.length >= 3) return;
|
|
31
|
+
const wallet = assertNotNull(
|
|
32
|
+
walletConfigs[idList],
|
|
33
|
+
() => `missing ${idList}`
|
|
34
|
+
);
|
|
35
|
+
mobileWallets.push({
|
|
36
|
+
id: idList,
|
|
37
|
+
...wallet
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
const mobileWallets = [];
|
|
41
|
+
if (!disableMobileInjector) {
|
|
42
|
+
connectors.forEach((connector) => {
|
|
43
|
+
if (isBaseAccountConnector(connector.id)) return;
|
|
44
|
+
if (isGeminiConnector(connector.id)) return;
|
|
45
|
+
if (!isInjectedConnector(connector.type)) return;
|
|
46
|
+
if (connector.name?.toLowerCase().includes("walletconnect")) return;
|
|
68
47
|
mobileWallets.push({
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
showInMobileConnectors: false,
|
|
48
|
+
id: connector.id,
|
|
49
|
+
connector,
|
|
50
|
+
shortName: connector.name,
|
|
51
|
+
iconConnector: connector.icon ? /* @__PURE__ */ jsx("img", { src: connector.icon, alt: connector.name }) : /* @__PURE__ */ jsx(WalletIcon, {}),
|
|
52
|
+
iconShape: "squircle"
|
|
75
53
|
});
|
|
76
|
-
|
|
54
|
+
});
|
|
77
55
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
56
|
+
addIfNotPresent2(
|
|
57
|
+
"metaMask, metaMask-io, io.metamask, io.metamask.mobile, metaMaskSDK"
|
|
58
|
+
);
|
|
59
|
+
addIfNotPresent2("com.trustwallet.app");
|
|
60
|
+
const otherWalletsString = flattenChildren(locales.otherWallets).join("");
|
|
61
|
+
const otherString = flattenChildren(locales.other).join("");
|
|
62
|
+
mobileWallets.push({
|
|
63
|
+
id: WALLET_ID_OTHER_WALLET,
|
|
64
|
+
name: otherWalletsString,
|
|
65
|
+
shortName: otherString,
|
|
66
|
+
iconConnector: /* @__PURE__ */ jsx(Logos.OtherWallets, {}),
|
|
67
|
+
iconShape: "square",
|
|
68
|
+
showInMobileConnectors: false
|
|
69
|
+
});
|
|
70
|
+
return mobileWallets;
|
|
71
|
+
}
|
|
72
|
+
const wallets = connectors.filter((connector) => {
|
|
73
|
+
return !connector.name?.toLowerCase().includes("walletconnect");
|
|
74
|
+
}).map((connector) => {
|
|
75
|
+
let walletConfigKey = Object.keys(walletConfigs).find(
|
|
76
|
+
(id) => id.split(",").map((i) => i.trim()).includes(connector.id)
|
|
77
|
+
);
|
|
78
|
+
if (!walletConfigKey && connector.name) {
|
|
79
|
+
walletConfigKey = Object.keys(walletConfigs).find((key) => {
|
|
80
|
+
const cfgName = walletConfigs[key].name?.toLowerCase();
|
|
81
|
+
const connName = connector.name.toLowerCase();
|
|
82
|
+
return cfgName && (cfgName.includes(connName) || connName.includes(cfgName));
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
const c = {
|
|
86
|
+
id: connector.id,
|
|
87
|
+
name: connector.name ?? connector.id ?? connector.type,
|
|
88
|
+
icon: connector.icon ? /* @__PURE__ */ jsx(
|
|
89
|
+
"img",
|
|
90
|
+
{
|
|
91
|
+
src: connector.icon,
|
|
92
|
+
alt: connector.name,
|
|
93
|
+
width: "100%",
|
|
94
|
+
height: "100%"
|
|
116
95
|
}
|
|
117
|
-
|
|
96
|
+
) : /* @__PURE__ */ jsx(WalletIcon, {}),
|
|
97
|
+
connector,
|
|
98
|
+
iconShape: connector.id === "io.rabby" ? "circle" : "squircle",
|
|
99
|
+
isInstalled: connector.type === "mock" || connector.type === "injected" && connector.id !== "metaMask" || connector.type === "farcasterFrame" || isBaseAccountConnector(connector.id) || isGeminiConnector(connector.id)
|
|
100
|
+
};
|
|
101
|
+
if (walletConfigKey) {
|
|
102
|
+
const wallet = walletConfigs[walletConfigKey];
|
|
103
|
+
return {
|
|
104
|
+
...c,
|
|
105
|
+
iconConnector: connector.icon ? /* @__PURE__ */ jsx(
|
|
106
|
+
"img",
|
|
107
|
+
{
|
|
108
|
+
src: connector.icon,
|
|
109
|
+
alt: connector.name,
|
|
110
|
+
width: "100%",
|
|
111
|
+
height: "100%"
|
|
112
|
+
}
|
|
113
|
+
) : void 0,
|
|
114
|
+
...wallet
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
return c;
|
|
118
|
+
});
|
|
119
|
+
wallets.push({
|
|
120
|
+
id: WALLET_ID_MOBILE_WALLETS,
|
|
121
|
+
name: "Mobile Wallets",
|
|
122
|
+
shortName: "Mobile",
|
|
123
|
+
icon: /* @__PURE__ */ jsx(
|
|
124
|
+
"div",
|
|
125
|
+
{
|
|
126
|
+
style: {
|
|
127
|
+
width: "100%",
|
|
128
|
+
height: "100%",
|
|
129
|
+
overflow: "hidden",
|
|
130
|
+
display: "flex",
|
|
131
|
+
alignItems: "center",
|
|
132
|
+
justifyContent: "center",
|
|
133
|
+
transform: "scale(1.2)",
|
|
134
|
+
transformOrigin: "center center"
|
|
135
|
+
},
|
|
136
|
+
children: /* @__PURE__ */ jsx(MobileWithLogos, {})
|
|
137
|
+
}
|
|
138
|
+
),
|
|
139
|
+
iconConnector: /* @__PURE__ */ jsx(
|
|
140
|
+
"div",
|
|
141
|
+
{
|
|
142
|
+
style: {
|
|
143
|
+
width: "100%",
|
|
144
|
+
height: "100%",
|
|
145
|
+
overflow: "hidden",
|
|
146
|
+
display: "flex",
|
|
147
|
+
alignItems: "center",
|
|
148
|
+
justifyContent: "center",
|
|
149
|
+
transform: "scale(1.2)",
|
|
150
|
+
transformOrigin: "center center"
|
|
151
|
+
},
|
|
152
|
+
children: /* @__PURE__ */ jsx(MobileWithLogos, {})
|
|
153
|
+
}
|
|
154
|
+
)
|
|
155
|
+
});
|
|
156
|
+
if (showSolanaPaymentMethod) {
|
|
157
|
+
const solanaAdapters = solanaWallet.wallets ?? [];
|
|
158
|
+
wallets.forEach((w) => {
|
|
159
|
+
if (!w.name) return;
|
|
160
|
+
const evm = w.name.toLowerCase();
|
|
161
|
+
const match = solanaAdapters.find((sw) => {
|
|
162
|
+
const sol = sw.adapter.name.toLowerCase();
|
|
163
|
+
return evm.includes(sol) || sol.includes(evm);
|
|
164
|
+
});
|
|
165
|
+
if (match) {
|
|
166
|
+
w.solanaConnectorName = match.adapter.name;
|
|
167
|
+
}
|
|
118
168
|
});
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}, children: jsx(MobileWithLogos, {}) })),
|
|
133
|
-
iconConnector: (jsx("div", { style: {
|
|
134
|
-
width: "100%",
|
|
135
|
-
height: "100%",
|
|
136
|
-
overflow: "hidden",
|
|
137
|
-
display: "flex",
|
|
138
|
-
alignItems: "center",
|
|
139
|
-
justifyContent: "center",
|
|
140
|
-
transform: "scale(1.2)",
|
|
141
|
-
transformOrigin: "center center",
|
|
142
|
-
}, children: jsx(MobileWithLogos, {}) })),
|
|
169
|
+
const unmatched = solanaAdapters.filter(
|
|
170
|
+
(sw) => !wallets.find((w) => w.solanaConnectorName === sw.adapter.name)
|
|
171
|
+
);
|
|
172
|
+
unmatched.forEach((sw) => {
|
|
173
|
+
wallets.push({
|
|
174
|
+
id: `solana-${sw.adapter.name}`,
|
|
175
|
+
name: sw.adapter.name,
|
|
176
|
+
shortName: sw.adapter.name,
|
|
177
|
+
icon: /* @__PURE__ */ jsx(SquircleIcon, { icon: sw.adapter.icon, alt: sw.adapter.name }),
|
|
178
|
+
iconConnector: /* @__PURE__ */ jsx(SquircleIcon, { icon: sw.adapter.icon, alt: sw.adapter.name }),
|
|
179
|
+
iconShape: "squircle",
|
|
180
|
+
solanaConnectorName: sw.adapter.name
|
|
181
|
+
});
|
|
143
182
|
});
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
icon: jsx(SquircleIcon, { icon: sw.adapter.icon, alt: sw.adapter.name }),
|
|
167
|
-
iconConnector: (jsx(SquircleIcon, { icon: sw.adapter.icon, alt: sw.adapter.name })),
|
|
168
|
-
iconShape: "squircle",
|
|
169
|
-
solanaConnectorName: sw.adapter.name,
|
|
170
|
-
});
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
return (wallets
|
|
174
|
-
// remove duplicate ids
|
|
175
|
-
.filter((wallet, index, self) => self.findIndex((w) => w.id === wallet.id) === index)
|
|
176
|
-
// remove wallet with id coinbaseWalletSDK if wallet with id 'com.coinbase.wallet' exists
|
|
177
|
-
.filter((wallet, index, self) => !(wallet.id === "coinbaseWalletSDK" &&
|
|
178
|
-
self.find((w) => w.id === "com.coinbase.wallet")))
|
|
179
|
-
// remove wallet with id io.metamask if wallet with id 'metaMask' exists
|
|
180
|
-
.filter((wallet, index, self) => !((wallet.id === "metaMaskSDK" || wallet.id === "metaMask") &&
|
|
181
|
-
self.find((w) => w.id === "io.metamask" || w.id === "io.metamask.mobile")))
|
|
182
|
-
// remove wallet with id 'com.warpcast.mobile' if wallet with id 'farcaster' exists
|
|
183
|
-
.filter((wallet, index, self) => !(wallet.id === "com.warpcast.mobile" &&
|
|
184
|
-
self.find((w) => w.id === "farcaster")))
|
|
185
|
-
// order by isInstalled injected connectors first
|
|
186
|
-
.sort((a, b) => {
|
|
187
|
-
const AisInstalled = a.isInstalled && isInjectedConnector(a.connector?.type);
|
|
188
|
-
const BisInstalled = b.isInstalled && isInjectedConnector(b.connector?.type);
|
|
189
|
-
if (AisInstalled && !BisInstalled)
|
|
190
|
-
return -1;
|
|
191
|
-
if (!AisInstalled && BisInstalled)
|
|
192
|
-
return 1;
|
|
193
|
-
return 0;
|
|
194
|
-
})
|
|
195
|
-
// order "mobile wallets" option last
|
|
196
|
-
.sort((a, b) => {
|
|
197
|
-
if (a.id === WALLET_ID_MOBILE_WALLETS)
|
|
198
|
-
return 1;
|
|
199
|
-
if (b.id === WALLET_ID_MOBILE_WALLETS)
|
|
200
|
-
return -1;
|
|
201
|
-
return 0;
|
|
202
|
-
}));
|
|
183
|
+
}
|
|
184
|
+
return wallets.filter(
|
|
185
|
+
(wallet, index, self) => self.findIndex((w) => w.id === wallet.id) === index
|
|
186
|
+
).filter(
|
|
187
|
+
(wallet, index, self) => !(wallet.id === "coinbaseWalletSDK" && self.find((w) => w.id === "com.coinbase.wallet"))
|
|
188
|
+
).filter(
|
|
189
|
+
(wallet, index, self) => !((wallet.id === "metaMaskSDK" || wallet.id === "metaMask") && self.find(
|
|
190
|
+
(w) => w.id === "io.metamask" || w.id === "io.metamask.mobile"
|
|
191
|
+
))
|
|
192
|
+
).filter(
|
|
193
|
+
(wallet, index, self) => !(wallet.id === "com.warpcast.mobile" && self.find((w) => w.id === "farcaster"))
|
|
194
|
+
).sort((a, b) => {
|
|
195
|
+
const AisInstalled = a.isInstalled && isInjectedConnector(a.connector?.type);
|
|
196
|
+
const BisInstalled = b.isInstalled && isInjectedConnector(b.connector?.type);
|
|
197
|
+
if (AisInstalled && !BisInstalled) return -1;
|
|
198
|
+
if (!AisInstalled && BisInstalled) return 1;
|
|
199
|
+
return 0;
|
|
200
|
+
}).sort((a, b) => {
|
|
201
|
+
if (a.id === WALLET_ID_MOBILE_WALLETS) return 1;
|
|
202
|
+
if (b.id === WALLET_ID_MOBILE_WALLETS) return -1;
|
|
203
|
+
return 0;
|
|
204
|
+
});
|
|
203
205
|
};
|
|
204
206
|
|
|
205
207
|
export { WALLET_ID_MOBILE_WALLETS, WALLET_ID_OTHER_WALLET, useWallet, useWallets };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWallets.js","sources":["../../../src/wallets/useWallets.tsx"],"sourcesContent":[null],"names":["useSolanaWalletAdapter","_jsx"],"mappings":";;;;;;;;;;;AAiBA;AACO,MAAM,sBAAsB,GAAG,cAAc;AACpD;AACO,MAAM,wBAAwB,GAAG,gBAAgB;AAU3C,MAAA,SAAS,GAAG,CAAC,EAAU,KAAwB;AAC1D,IAAA,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;AAC7B,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAChD,IAAA,IAAI,CAAC,MAAM;AAAE,QAAA,OAAO,IAAI,CAAC;AACzB,IAAA,OAAO,MAAM,CAAC;AAChB,EAAE;AAEW,MAAA,UAAU,GAAG,CAAC,QAAkB,KAAmB;AAC9D,IAAA,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;AACnC,IAAA,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAChC,IAAA,MAAM,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;AACzD,IAAA,MAAM,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC;;AAE1C,IAAA,MAAM,YAAY,GAAGA,WAAsB,EAAE,CAAC;AAC9C,IAAA,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,IAAI,QAAQ,EAAE;QACZ,MAAM,aAAa,GAAkB,EAAE,CAAC;;QAGxC,IAAI,CAAC,qBAAqB,EAAE;AAC1B,YAAA,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,KAAI;AAC/B,gBAAA,IAAI,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;oBAAE,OAAO;AACpD,gBAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC;oBAAE,OAAO;;gBAEjD,IAAI,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;oBAAE,OAAO;gBACpE,aAAa,CAAC,IAAI,CAAC;oBACjB,EAAE,EAAE,SAAS,CAAC,EAAE;oBAChB,SAAS;oBACT,SAAS,EAAE,SAAS,CAAC,IAAI;AACzB,oBAAA,aAAa,EAAE,SAAS,CAAC,IAAI,IAC3BC,GAAK,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,IAAI,EAAI,CAAA,KAEjDA,GAAC,CAAA,UAAU,KAAG,CACf;AACD,oBAAA,SAAS,EAAE,UAAU;AACtB,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;SACJ;QAED,SAAS,eAAe,CAAC,MAAc,EAAA;AACrC,YAAA,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,OAAO;AAC7D,YAAA,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC;gBAAE,OAAO;AACtC,YAAA,MAAM,MAAM,GAAG,aAAa,CAC1B,aAAa,CAAC,MAAM,CAAC,EACrB,MAAM,CAAA,QAAA,EAAW,MAAM,CAAA,CAAE,CAC1B,CAAC;YACF,aAAa,CAAC,IAAI,CAAC;AACjB,gBAAA,EAAE,EAAE,MAAM;AACV,gBAAA,GAAG,MAAM;AACV,aAAA,CAAC,CAAC;SACJ;QAED,eAAe,CACb,qEAAqE,CACtE,CAAC;QACF,eAAe,CAAC,qBAAqB,CAAC,CAAC;AACvC,QAAA,MAAM,kBAAkB,GAAG,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1E,QAAA,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;QAE5D,aAAa,CAAC,IAAI,CAAC;AACjB,YAAA,EAAE,EAAE,sBAAsB;AAC1B,YAAA,IAAI,EAAE,kBAAkB;AACxB,YAAA,SAAS,EAAE,WAAW;AACtB,YAAA,aAAa,EAAEA,GAAA,CAAC,KAAK,CAAC,YAAY,EAAG,EAAA,CAAA;AACrC,YAAA,SAAS,EAAE,QAAQ;AACnB,YAAA,sBAAsB,EAAE,KAAK;AAC9B,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,aAAa,CAAC;KACtB;IAED,MAAM,OAAO,GAAG,UAAU;AACvB,SAAA,MAAM,CAAC,CAAC,SAAS,KAAI;;AAEpB,QAAA,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AAClE,KAAC,CAAC;AACD,SAAA,GAAG,CAAC,CAAC,SAAS,KAAiB;;AAE9B,QAAA,IAAI,eAAe,GAAuB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CACvE,CAAC,EAAE,KACD,EAAE;aACC,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AACpB,aAAA,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAC5B,CAAC;;AAGF,QAAA,IAAI,CAAC,eAAe,IAAI,SAAS,CAAC,IAAI,EAAE;AACtC,YAAA,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAI;gBACxD,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;gBACvD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAK,CAAC,WAAW,EAAE,CAAC;AAC/C,gBAAA,QACE,OAAO;AACP,qBAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAC1D;AACJ,aAAC,CAAC,CAAC;SACJ;AAED,QAAA,MAAM,CAAC,GAAgB;YACrB,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,IAAI;AACtD,YAAA,IAAI,EAAE,SAAS,CAAC,IAAI,IAClBA,GACE,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,SAAS,CAAC,IAAI,EACnB,GAAG,EAAE,SAAS,CAAC,IAAI,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,CAAA,KAEFA,GAAC,CAAA,UAAU,KAAG,CACf;YACD,SAAS;AACT,YAAA,SAAS,EAAE,SAAS,CAAC,EAAE,KAAK,UAAU,GAAG,QAAQ,GAAG,UAAU;AAC9D,YAAA,WAAW,EACT,SAAS,CAAC,IAAI,KAAK,MAAM;iBACxB,SAAS,CAAC,IAAI,KAAK,UAAU,IAAI,SAAS,CAAC,EAAE,KAAK,UAAU,CAAC;gBAC9D,SAAS,CAAC,IAAI,KAAK,gBAAgB;AACnC,gBAAA,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;SAC1C,CAAC;QAEF,IAAI,eAAe,EAAE;AACnB,YAAA,MAAM,MAAM,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;YAC9C,OAAO;AACL,gBAAA,GAAG,CAAC;AACJ,gBAAA,aAAa,EAAE,SAAS,CAAC,IAAI,IAC3BA,GAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,SAAS,CAAC,IAAI,EACnB,GAAG,EAAE,SAAS,CAAC,IAAI,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,CAAA,IACA,SAAS;AACb,gBAAA,GAAG,MAAM;aACV,CAAC;SACH;AAED,QAAA,OAAO,CAAC,CAAC;AACX,KAAC,CAAC,CAAC;IAEL,OAAO,CAAC,IAAI,CAAC;AACX,QAAA,EAAE,EAAE,wBAAwB;AAC5B,QAAA,IAAI,EAAE,gBAAgB;AACtB,QAAA,SAAS,EAAE,QAAQ;AACnB,QAAA,IAAI,GACFA,GACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE;AACL,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,UAAU,EAAE,QAAQ;AACpB,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,SAAS,EAAE,YAAY;AACvB,gBAAA,eAAe,EAAE,eAAe;AACjC,aAAA,EAAA,QAAA,EAEDA,GAAC,CAAA,eAAe,EAAG,EAAA,CAAA,EAAA,CACf,CACP;AACD,QAAA,aAAa,GACXA,GACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE;AACL,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,UAAU,EAAE,QAAQ;AACpB,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,SAAS,EAAE,YAAY;AACvB,gBAAA,eAAe,EAAE,eAAe;AACjC,aAAA,EAAA,QAAA,EAEDA,GAAC,CAAA,eAAe,EAAG,EAAA,CAAA,EAAA,CACf,CACP;AACF,KAAA,CAAC,CAAC;IAEH,IAAI,uBAAuB,EAAE;AAC3B,QAAA,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;;AAGlD,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;;YAEpB,IAAI,CAAC,CAAC,CAAC,IAAI;gBAAE,OAAO;YAEpB,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,KAAI;gBACvC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AAC1C,gBAAA,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAChD,aAAC,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE;gBACT,CAAC,CAAC,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;aAC5C;AACH,SAAC,CAAC,CAAC;AAEH,QAAA,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CACrC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,mBAAmB,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CACxE,CAAC;AAEF,QAAA,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;YACvB,OAAO,CAAC,IAAI,CAAC;AACX,gBAAA,EAAE,EAAE,CAAU,OAAA,EAAA,EAAE,CAAC,OAAO,CAAC,IAAI,CAAE,CAAA;AAC/B,gBAAA,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI;AACrB,gBAAA,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI;AAC1B,gBAAA,IAAI,EAAEA,GAAC,CAAA,YAAY,IAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAI,CAAA;gBACnE,aAAa,GACXA,GAAC,CAAA,YAAY,IAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAA,CAAI,CAC9D;AACD,gBAAA,SAAS,EAAE,UAAU;AACrB,gBAAA,mBAAmB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI;AACrC,aAAA,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,QACE,OAAO;;AAEJ,SAAA,MAAM,CACL,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,KAClB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,KAAK,KAAK,CACtD;;AAEA,SAAA,MAAM,CACL,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,KAClB,EACE,MAAM,CAAC,EAAE,KAAK,mBAAmB;AACjC,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,qBAAqB,CAAC,CACjD,CACJ;;SAEA,MAAM,CACL,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,KAClB,EACE,CAAC,MAAM,CAAC,EAAE,KAAK,aAAa,IAAI,MAAM,CAAC,EAAE,KAAK,UAAU;QACxD,IAAI,CAAC,IAAI,CACP,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,aAAa,IAAI,CAAC,CAAC,EAAE,KAAK,oBAAoB,CAC/D,CACF,CACJ;;AAEA,SAAA,MAAM,CACL,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,KAClB,EACE,MAAM,CAAC,EAAE,KAAK,qBAAqB;AACnC,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CACvC,CACJ;;AAEA,SAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACb,QAAA,MAAM,YAAY,GAChB,CAAC,CAAC,WAAW,IAAI,mBAAmB,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC1D,QAAA,MAAM,YAAY,GAChB,CAAC,CAAC,WAAW,IAAI,mBAAmB,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE1D,IAAI,YAAY,IAAI,CAAC,YAAY;YAAE,OAAO,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,IAAI,YAAY;AAAE,YAAA,OAAO,CAAC,CAAC;AAC5C,QAAA,OAAO,CAAC,CAAC;AACX,KAAC,CAAC;;AAED,SAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACb,QAAA,IAAI,CAAC,CAAC,EAAE,KAAK,wBAAwB;AAAE,YAAA,OAAO,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,CAAC,EAAE,KAAK,wBAAwB;YAAE,OAAO,CAAC,CAAC,CAAC;AACjD,QAAA,OAAO,CAAC,CAAC;KACV,CAAC,EACJ;AACJ;;;;"}
|
|
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, { SquircleIcon, WalletIcon } from \"../assets/logos\";\nimport MobileWithLogos from \"../assets/MobileWithLogos\";\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/** Special wallet ID for \"other wallets\" option. */\nexport const WALLET_ID_OTHER_WALLET = \"otherWallet\";\n/** Special wallet ID for \"mobile wallets\" option. */\nexport const WALLET_ID_MOBILE_WALLETS = \"mobileWallets\";\n\nexport type WalletProps = {\n id: string;\n connector?: Connector;\n isInstalled?: boolean;\n /** Name of the matching Solana wallet adapter (if any) */\n solanaConnectorName?: SolanaWalletName;\n} & WalletConfigProps;\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 { showSolanaPaymentMethod } = context.paymentState;\n const { disableMobileInjector } = context;\n // Solana wallets available in the session (desktop & mobile)\n const solanaWallet = useSolanaWalletAdapter();\n const locales = useLocales();\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 // 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 function addIfNotPresent(idList: string) {\n if (mobileWallets.find((w) => idList.includes(w.id))) return;\n if (mobileWallets.length >= 3) 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 const otherWalletsString = flattenChildren(locales.otherWallets).join(\"\");\n const otherString = flattenChildren(locales.other).join(\"\");\n // Add other wallet\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\n .filter((connector) => {\n // Skip any connectors that mention WalletConnect\n return !connector.name?.toLowerCase().includes(\"walletconnect\");\n })\n .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 &&\n (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 === \"io.rabby\" ? \"circle\" : \"squircle\",\n isInstalled:\n connector.type === \"mock\" ||\n (connector.type === \"injected\" && connector.id !== \"metaMask\") ||\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({\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 if (showSolanaPaymentMethod) {\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\n return (\n 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 AisInstalled =\n a.isInstalled && isInjectedConnector(a.connector?.type);\n const BisInstalled =\n b.isInstalled && isInjectedConnector(b.connector?.type);\n\n if (AisInstalled && !BisInstalled) return -1;\n if (!AisInstalled && BisInstalled) 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};\n"],"names":["useSolanaWalletAdapter","addIfNotPresent"],"mappings":"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"}
|