@daimo/pay 1.10.2 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/build/assets/MobileWithLogos.d.ts +2 -0
- package/build/assets/ScanIconWithLogos.d.ts +6 -0
- package/build/assets/browsers.d.ts +10 -0
- package/build/assets/chains.d.ts +28 -0
- package/build/assets/coins.d.ts +2 -0
- package/build/assets/crepe.d.ts +3 -0
- package/build/assets/icons.d.ts +35 -0
- package/build/assets/logos.d.ts +211 -0
- package/build/assets/wallet.d.ts +3 -0
- package/build/assets/wave.d.ts +2 -0
- package/build/components/Common/Alert/index.d.ts +6 -0
- package/build/components/Common/Alert/styles.d.ts +2 -0
- package/build/components/Common/Alert/types.d.ts +5 -0
- package/build/components/Common/AmountInput/AmountInputField.d.ts +8 -0
- package/build/components/Common/AmountInput/index.d.ts +9 -0
- package/build/components/Common/Avatar/index.d.ts +17 -0
- package/build/components/Common/Avatar/styles.d.ts +2 -0
- package/build/components/Common/BrowserIcon/index.d.ts +4 -0
- package/build/components/Common/BrowserIcon/styles.d.ts +1 -0
- package/build/components/Common/BrowserIcon/types.d.ts +3 -0
- package/build/components/Common/Button/index.d.ts +4 -0
- package/build/components/Common/Button/styles.d.ts +10 -0
- package/build/components/Common/Button/types.d.ts +15 -0
- package/build/components/Common/Chain/index.d.ts +9 -0
- package/build/components/Common/Chain/styles.d.ts +4 -0
- package/build/components/Common/ChainSelectList/index.d.ts +4 -0
- package/build/components/Common/ChainSelectList/styles.d.ts +9 -0
- package/build/components/Common/CircleTimer.d.ts +17 -0
- package/build/components/Common/ConnectorList/index.d.ts +2 -0
- package/build/components/Common/ConnectorList/styles.d.ts +8 -0
- package/build/components/Common/CopyToClipboard/CopyToClipboardIcon.d.ts +6 -0
- package/build/components/Common/CopyToClipboard/index.d.ts +7 -0
- package/build/components/Common/CustomQRCode/QRCode.d.ts +12 -0
- package/build/components/Common/CustomQRCode/index.d.ts +6 -0
- package/build/components/Common/CustomQRCode/styles.d.ts +6 -0
- package/build/components/Common/CustomQRCode/types.d.ts +11 -0
- package/build/components/Common/DynamicContainer/index.d.ts +7 -0
- package/build/components/Common/FitText/index.d.ts +8 -0
- package/build/components/Common/LazyImage/index.d.ts +8 -0
- package/build/components/Common/Logo/index.d.ts +8 -0
- package/build/components/Common/Logo/styles.d.ts +3 -0
- package/build/components/Common/Modal/index.d.ts +25 -0
- package/build/components/Common/Modal/styles.d.ts +24 -0
- package/build/components/Common/OptionsList/index.d.ts +17 -0
- package/build/components/Common/OptionsList/styles.d.ts +5 -0
- package/build/components/Common/OrderHeader/index.d.ts +7 -0
- package/build/components/Common/PaymentBreakdown/index.d.ts +6 -0
- package/build/components/Common/Portal/index.d.ts +2 -0
- package/build/components/Common/PoweredByFooter/index.d.ts +4 -0
- package/build/components/Common/ScrollArea/index.d.ts +9 -0
- package/build/components/Common/ScrollArea/styles.d.ts +3 -0
- package/build/components/Common/SelectAnotherMethodButton/index.d.ts +1 -0
- package/build/components/Common/Spinner/index.d.ts +1 -0
- package/build/components/Common/Spinner/styles.d.ts +1 -0
- package/build/components/Common/SquareTimer.d.ts +19 -0
- package/build/components/Common/SwitchButton/index.d.ts +6 -0
- package/build/components/Common/ThemedButton/index.d.ts +15 -0
- package/build/components/Common/ThemedButton/styles.d.ts +2 -0
- package/build/components/Common/TokenChainLogo/index.d.ts +7 -0
- package/build/components/Common/Tooltip/index.d.ts +4 -0
- package/build/components/Common/Tooltip/styles.d.ts +3 -0
- package/build/components/Common/Tooltip/types.d.ts +9 -0
- package/build/components/Common/WalletChainLogo/index.d.ts +6 -0
- package/build/components/DaimoPayButton/index.d.ts +132 -0
- package/build/components/DaimoPayButton/styles.d.ts +4 -0
- package/build/components/DaimoPayModal/ConnectUsing.d.ts +2 -0
- package/build/components/DaimoPayModal/ConnectWithInjector/index.d.ts +15 -0
- package/build/components/DaimoPayModal/ConnectWithInjector/styles.d.ts +6 -0
- package/build/components/DaimoPayModal/ConnectWithQRCode.d.ts +3 -0
- package/build/components/DaimoPayModal/index.d.ts +7 -0
- package/build/components/DaimoPayThemeProvider/DaimoPayThemeProvider.d.ts +16 -0
- package/build/components/Pages/About/graphics.d.ts +11 -0
- package/build/components/Pages/About/index.d.ts +3 -0
- package/build/components/Pages/About/styles.d.ts +8 -0
- package/build/components/Pages/Confirmation/index.d.ts +3 -0
- package/build/components/Pages/Connectors/index.d.ts +3 -0
- package/build/components/Pages/Connectors/styles.d.ts +9 -0
- package/build/components/Pages/DownloadApp/index.d.ts +2 -0
- package/build/components/Pages/MobileConnectors/index.d.ts +3 -0
- package/build/components/Pages/MobileConnectors/styles.d.ts +5 -0
- package/build/components/Pages/Onboarding/index.d.ts +3 -0
- package/build/components/Pages/Onboarding/styles.d.ts +9 -0
- package/build/components/Pages/PayWithToken/index.d.ts +3 -0
- package/build/components/Pages/SelectAmount/index.d.ts +3 -0
- package/build/components/Pages/SelectDepositAddressAmount/index.d.ts +3 -0
- package/build/components/Pages/SelectDepositAddressChain/index.d.ts +3 -0
- package/build/components/Pages/SelectExternalAmount/index.d.ts +3 -0
- package/build/components/Pages/SelectMethod/index.d.ts +1 -0
- package/build/components/Pages/SelectMethod/styles.d.ts +9 -0
- package/build/components/Pages/SelectToken/index.d.ts +1 -0
- package/build/components/Pages/SelectWalletAmount/index.d.ts +3 -0
- package/build/components/Pages/SelectZKP/index.d.ts +3 -0
- package/build/components/Pages/Solana/ConnectSolana/index.d.ts +3 -0
- package/build/components/Pages/Solana/ConnectorSolana/index.d.ts +4 -0
- package/build/components/Pages/Solana/PayWithSolanaToken/index.d.ts +3 -0
- package/build/components/Pages/Solana/SelectSolanaAmount/index.d.ts +3 -0
- package/build/components/Pages/SwitchNetworks/index.d.ts +3 -0
- package/build/components/Pages/WaitingDepositAddress/index.d.ts +1 -0
- package/build/components/Pages/WaitingExternal/index.d.ts +3 -0
- package/build/components/Pages/WaitingWallet/index.d.ts +3 -0
- package/build/components/Spinners/CircleSpinner/index.d.ts +9 -0
- package/build/components/Spinners/CircleSpinner/styles.d.ts +5 -0
- package/build/components/Spinners/ExternalPaymentSpinner/index.d.ts +5 -0
- package/build/components/Spinners/SquircleSpinner/index.d.ts +5 -0
- package/build/components/Spinners/SquircleSpinner/styles.d.ts +4 -0
- package/build/components/Spinners/TokenLogoSpinner/index.d.ts +5 -0
- package/build/components/Spinners/TokenLogoSpinner/styles.d.ts +1 -0
- package/build/components/Spinners/WalletPaymentSpinner/index.d.ts +5 -0
- package/build/components/Spinners/styles.d.ts +2 -0
- package/build/constants/defaultTheme.d.ts +4 -0
- package/build/constants/routes.d.ts +26 -0
- package/build/defaultConfig.d.ts +17 -0
- package/build/defaultConnectors.d.ts +14 -0
- package/build/hooks/useChainIsSupported.d.ts +2 -0
- package/build/hooks/useChains.d.ts +3 -0
- package/build/hooks/useConnect.d.ts +110 -0
- package/build/hooks/useConnectCallback.d.ts +8 -0
- package/build/hooks/useConnectors.d.ts +3 -0
- package/build/hooks/useDaimoPay.d.ts +87 -0
- package/build/hooks/useDaimoPayStatus.d.ts +15 -0
- package/build/hooks/useDaimoPayUI.d.ts +6 -0
- package/build/hooks/useDepositAddressOptions.d.ts +10 -0
- package/build/hooks/useEnsFallbackConfig.d.ts +2 -0
- package/build/hooks/useExternalPaymentOptions.d.ts +12 -0
- package/build/hooks/useFitText.d.ts +14 -0
- package/build/hooks/useFocusTrap.d.ts +1 -0
- package/build/hooks/useGoogleFont.d.ts +3 -0
- package/build/hooks/useIsMobile.d.ts +5 -0
- package/build/hooks/useIsMounted.d.ts +3 -0
- package/build/hooks/useLastConnector.d.ts +4 -0
- package/build/hooks/useLocalStorage.d.ts +7 -0
- package/build/hooks/useLocales.d.ts +1 -0
- package/build/hooks/useLockBodyScroll.d.ts +1 -0
- package/build/hooks/useModal.d.ts +8 -0
- package/build/hooks/useOrderUsdLimits.d.ts +7 -0
- package/build/hooks/usePayContext.d.ts +2 -0
- package/build/hooks/usePaymentState.d.ts +58 -0
- package/build/hooks/usePrevious.d.ts +1 -0
- package/build/hooks/useSolanaPaymentOptions.d.ts +12 -0
- package/build/hooks/useTokenOptions.d.ts +5 -0
- package/build/hooks/useWalletPaymentOptions.d.ts +20 -0
- package/build/hooks/useWindowSize.d.ts +4 -0
- package/build/index.d.ts +15 -722
- package/build/localizations/index.d.ts +91 -0
- package/build/localizations/locales/ar-AE.d.ts +3 -0
- package/build/localizations/locales/ca-AD.d.ts +3 -0
- package/build/localizations/locales/ee-EE.d.ts +3 -0
- package/build/localizations/locales/en-US.d.ts +91 -0
- package/build/localizations/locales/es-ES.d.ts +3 -0
- package/build/localizations/locales/fa-IR.d.ts +3 -0
- package/build/localizations/locales/fr-FR.d.ts +3 -0
- package/build/localizations/locales/index.d.ts +2 -0
- package/build/localizations/locales/ja-JP.d.ts +91 -0
- package/build/localizations/locales/pt-BR.d.ts +3 -0
- package/build/localizations/locales/ru-RU.d.ts +3 -0
- package/build/localizations/locales/tr-TR.d.ts +3 -0
- package/build/localizations/locales/vi-VN.d.ts +3 -0
- package/build/localizations/locales/zh-CN.d.ts +3 -0
- package/build/package.json.js +116 -0
- package/build/package.json.js.map +1 -0
- package/build/payment/paymentEffects.d.ts +12 -0
- package/build/payment/paymentFsm.d.ts +123 -0
- package/build/payment/paymentStore.d.ts +12 -0
- package/build/provider/DaimoPayProvider.d.ts +24 -0
- package/build/provider/PayContext.d.ts +56 -0
- package/build/provider/PaymentProvider.d.ts +8 -0
- package/build/provider/SolanaContextProvider.d.ts +6 -0
- package/build/provider/Web3ContextProvider.d.ts +24 -0
- package/build/src/assets/MobileWithLogos.js +10 -0
- package/build/src/assets/MobileWithLogos.js.map +1 -0
- package/build/src/assets/ScanIconWithLogos.js +37 -0
- package/build/src/assets/ScanIconWithLogos.js.map +1 -0
- package/build/src/assets/browsers.js +13 -0
- package/build/src/assets/browsers.js.map +1 -0
- package/build/src/assets/chains.js +97 -0
- package/build/src/assets/chains.js.map +1 -0
- package/build/src/assets/coins.js +6 -0
- package/build/src/assets/coins.js.map +1 -0
- package/build/src/assets/crepe.js +8 -0
- package/build/src/assets/crepe.js.map +1 -0
- package/build/src/assets/icons.js +30 -0
- package/build/src/assets/icons.js.map +1 -0
- package/build/src/assets/logos.js +177 -0
- package/build/src/assets/logos.js.map +1 -0
- package/build/src/assets/wallet.js +8 -0
- package/build/src/assets/wallet.js.map +1 -0
- package/build/src/assets/wave.js +6 -0
- package/build/src/assets/wave.js.map +1 -0
- package/build/src/components/Common/Alert/index.js +10 -0
- package/build/src/components/Common/Alert/index.js.map +1 -0
- package/build/src/components/Common/Alert/styles.js +55 -0
- package/build/src/components/Common/Alert/styles.js.map +1 -0
- package/build/src/components/Common/AmountInput/AmountInputField.js +60 -0
- package/build/src/components/Common/AmountInput/AmountInputField.js.map +1 -0
- package/build/src/components/Common/AmountInput/index.js +146 -0
- package/build/src/components/Common/AmountInput/index.js.map +1 -0
- package/build/src/components/Common/Avatar/index.js +66 -0
- package/build/src/components/Common/Avatar/index.js.map +1 -0
- package/build/src/components/Common/Avatar/styles.js +59 -0
- package/build/src/components/Common/Avatar/styles.js.map +1 -0
- package/build/src/components/Common/BrowserIcon/index.js +28 -0
- package/build/src/components/Common/BrowserIcon/index.js.map +1 -0
- package/build/src/components/Common/BrowserIcon/styles.js +20 -0
- package/build/src/components/Common/BrowserIcon/styles.js.map +1 -0
- package/build/src/components/Common/Button/index.js +38 -0
- package/build/src/components/Common/Button/index.js.map +1 -0
- package/build/src/components/Common/Button/styles.js +291 -0
- package/build/src/components/Common/Button/styles.js.map +1 -0
- package/build/src/components/Common/Chain/index.js +25 -0
- package/build/src/components/Common/Chain/index.js.map +1 -0
- package/build/src/components/Common/Chain/styles.js +94 -0
- package/build/src/components/Common/Chain/styles.js.map +1 -0
- package/build/src/components/Common/ChainSelectList/index.js +107 -0
- package/build/src/components/Common/ChainSelectList/index.js.map +1 -0
- package/build/src/components/Common/ChainSelectList/styles.js +228 -0
- package/build/src/components/Common/ChainSelectList/styles.js.map +1 -0
- package/build/src/components/Common/CircleTimer.js +48 -0
- package/build/src/components/Common/CircleTimer.js.map +1 -0
- package/build/src/components/Common/ConnectorList/index.js +85 -0
- package/build/src/components/Common/ConnectorList/index.js.map +1 -0
- package/build/src/components/Common/ConnectorList/styles.js +352 -0
- package/build/src/components/Common/ConnectorList/styles.js.map +1 -0
- package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +71 -0
- package/build/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -0
- package/build/src/components/Common/CopyToClipboard/index.js +35 -0
- package/build/src/components/Common/CopyToClipboard/index.js.map +1 -0
- package/build/src/components/Common/CustomQRCode/QRCode.js +69 -0
- package/build/src/components/Common/CustomQRCode/QRCode.js.map +1 -0
- package/build/src/components/Common/CustomQRCode/index.js +22 -0
- package/build/src/components/Common/CustomQRCode/index.js.map +1 -0
- package/build/src/components/Common/CustomQRCode/styles.js +139 -0
- package/build/src/components/Common/CustomQRCode/styles.js.map +1 -0
- package/build/src/components/Common/FitText/index.js +27 -0
- package/build/src/components/Common/FitText/index.js.map +1 -0
- package/build/src/components/Common/Logo/styles.js +29 -0
- package/build/src/components/Common/Logo/styles.js.map +1 -0
- package/build/src/components/Common/Modal/index.js +300 -0
- package/build/src/components/Common/Modal/index.js.map +1 -0
- package/build/src/components/Common/Modal/styles.js +661 -0
- package/build/src/components/Common/Modal/styles.js.map +1 -0
- package/build/src/components/Common/OptionsList/index.js +103 -0
- package/build/src/components/Common/OptionsList/index.js.map +1 -0
- package/build/src/components/Common/OptionsList/styles.js +139 -0
- package/build/src/components/Common/OptionsList/styles.js.map +1 -0
- package/build/src/components/Common/OrderHeader/index.js +152 -0
- package/build/src/components/Common/OrderHeader/index.js.map +1 -0
- package/build/src/components/Common/PaymentBreakdown/index.js +48 -0
- package/build/src/components/Common/PaymentBreakdown/index.js.map +1 -0
- package/build/src/components/Common/Portal/index.js +31 -0
- package/build/src/components/Common/Portal/index.js.map +1 -0
- package/build/src/components/Common/PoweredByFooter/index.js +79 -0
- package/build/src/components/Common/PoweredByFooter/index.js.map +1 -0
- package/build/src/components/Common/ScrollArea/index.js +63 -0
- package/build/src/components/Common/ScrollArea/index.js.map +1 -0
- package/build/src/components/Common/ScrollArea/styles.js +173 -0
- package/build/src/components/Common/ScrollArea/styles.js.map +1 -0
- package/build/src/components/Common/SelectAnotherMethodButton/index.js +87 -0
- package/build/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -0
- package/build/src/components/Common/Spinner/index.js +24 -0
- package/build/src/components/Common/Spinner/index.js.map +1 -0
- package/build/src/components/Common/Spinner/styles.js +22 -0
- package/build/src/components/Common/Spinner/styles.js.map +1 -0
- package/build/src/components/Common/SwitchButton/index.js +40 -0
- package/build/src/components/Common/SwitchButton/index.js.map +1 -0
- package/build/src/components/Common/ThemedButton/index.js +25 -0
- package/build/src/components/Common/ThemedButton/index.js.map +1 -0
- package/build/src/components/Common/ThemedButton/styles.js +152 -0
- package/build/src/components/Common/ThemedButton/styles.js.map +1 -0
- package/build/src/components/Common/TokenChainLogo/index.js +56 -0
- package/build/src/components/Common/TokenChainLogo/index.js.map +1 -0
- package/build/src/components/Common/Tooltip/index.js +97 -0
- package/build/src/components/Common/Tooltip/index.js.map +1 -0
- package/build/src/components/Common/Tooltip/styles.js +81 -0
- package/build/src/components/Common/Tooltip/styles.js.map +1 -0
- package/build/src/components/Common/WalletChainLogo/index.js +24 -0
- package/build/src/components/Common/WalletChainLogo/index.js.map +1 -0
- package/build/src/components/DaimoPayButton/index.js +201 -0
- package/build/src/components/DaimoPayButton/index.js.map +1 -0
- package/build/src/components/DaimoPayButton/styles.js +50 -0
- package/build/src/components/DaimoPayButton/styles.js.map +1 -0
- package/build/src/components/DaimoPayModal/ConnectUsing.js +42 -0
- package/build/src/components/DaimoPayModal/ConnectUsing.js.map +1 -0
- package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js +195 -0
- package/build/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -0
- package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js +133 -0
- package/build/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -0
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +47 -0
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -0
- package/build/src/components/DaimoPayModal/index.js +251 -0
- package/build/src/components/DaimoPayModal/index.js.map +1 -0
- package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +21 -0
- package/build/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -0
- package/build/src/components/Pages/About/graphics.js +187 -0
- package/build/src/components/Pages/About/graphics.js.map +1 -0
- package/build/src/components/Pages/About/index.js +129 -0
- package/build/src/components/Pages/About/index.js.map +1 -0
- package/build/src/components/Pages/About/styles.js +144 -0
- package/build/src/components/Pages/About/styles.js.map +1 -0
- package/build/src/components/Pages/Confirmation/index.js +97 -0
- package/build/src/components/Pages/Confirmation/index.js.map +1 -0
- package/build/src/components/Pages/Connectors/index.js +39 -0
- package/build/src/components/Pages/Connectors/index.js.map +1 -0
- package/build/src/components/Pages/Connectors/styles.js +267 -0
- package/build/src/components/Pages/Connectors/styles.js.map +1 -0
- package/build/src/components/Pages/DownloadApp/index.js +30 -0
- package/build/src/components/Pages/DownloadApp/index.js.map +1 -0
- package/build/src/components/Pages/MobileConnectors/index.js +57 -0
- package/build/src/components/Pages/MobileConnectors/index.js.map +1 -0
- package/build/src/components/Pages/MobileConnectors/styles.js +66 -0
- package/build/src/components/Pages/MobileConnectors/styles.js.map +1 -0
- package/build/src/components/Pages/Onboarding/index.js +18 -0
- package/build/src/components/Pages/Onboarding/index.js.map +1 -0
- package/build/src/components/Pages/Onboarding/styles.js +229 -0
- package/build/src/components/Pages/Onboarding/styles.js.map +1 -0
- package/build/src/components/Pages/PayWithToken/index.js +103 -0
- package/build/src/components/Pages/PayWithToken/index.js.map +1 -0
- package/build/src/components/Pages/SelectAmount/index.js +17 -0
- package/build/src/components/Pages/SelectAmount/index.js.map +1 -0
- package/build/src/components/Pages/SelectDepositAddressAmount/index.js +61 -0
- package/build/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -0
- package/build/src/components/Pages/SelectDepositAddressChain/index.js +46 -0
- package/build/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -0
- package/build/src/components/Pages/SelectExternalAmount/index.js +64 -0
- package/build/src/components/Pages/SelectExternalAmount/index.js.map +1 -0
- package/build/src/components/Pages/SelectMethod/index.js +198 -0
- package/build/src/components/Pages/SelectMethod/index.js.map +1 -0
- package/build/src/components/Pages/SelectToken/index.js +28 -0
- package/build/src/components/Pages/SelectToken/index.js.map +1 -0
- package/build/src/components/Pages/SelectWalletAmount/index.js +55 -0
- package/build/src/components/Pages/SelectWalletAmount/index.js.map +1 -0
- package/build/src/components/Pages/SelectZKP/index.js +36 -0
- package/build/src/components/Pages/SelectZKP/index.js.map +1 -0
- package/build/src/components/Pages/Solana/ConnectSolana/index.js +81 -0
- package/build/src/components/Pages/Solana/ConnectSolana/index.js.map +1 -0
- package/build/src/components/Pages/Solana/ConnectorSolana/index.js +62 -0
- package/build/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -0
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js +58 -0
- package/build/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -0
- package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js +17 -0
- package/build/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -0
- package/build/src/components/Pages/SwitchNetworks/index.js +26 -0
- package/build/src/components/Pages/SwitchNetworks/index.js.map +1 -0
- package/build/src/components/Pages/WaitingDepositAddress/index.js +305 -0
- package/build/src/components/Pages/WaitingDepositAddress/index.js.map +1 -0
- package/build/src/components/Pages/WaitingExternal/index.js +68 -0
- package/build/src/components/Pages/WaitingExternal/index.js.map +1 -0
- package/build/src/components/Pages/WaitingWallet/index.js +28 -0
- package/build/src/components/Pages/WaitingWallet/index.js.map +1 -0
- package/build/src/components/Spinners/CircleSpinner/index.js +15 -0
- package/build/src/components/Spinners/CircleSpinner/index.js.map +1 -0
- package/build/src/components/Spinners/CircleSpinner/styles.js +118 -0
- package/build/src/components/Spinners/CircleSpinner/styles.js.map +1 -0
- package/build/src/components/Spinners/ExternalPaymentSpinner/index.js +20 -0
- package/build/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -0
- package/build/src/components/Spinners/SquircleSpinner/index.js +15 -0
- package/build/src/components/Spinners/SquircleSpinner/index.js.map +1 -0
- package/build/src/components/Spinners/SquircleSpinner/styles.js +66 -0
- package/build/src/components/Spinners/SquircleSpinner/styles.js.map +1 -0
- package/build/src/components/Spinners/TokenLogoSpinner/index.js +13 -0
- package/build/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -0
- package/build/src/components/Spinners/TokenLogoSpinner/styles.js +40 -0
- package/build/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -0
- package/build/src/components/Spinners/WalletPaymentSpinner/index.js +30 -0
- package/build/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -0
- package/build/src/components/Spinners/styles.js +33 -0
- package/build/src/components/Spinners/styles.js.map +1 -0
- package/build/src/constants/defaultTheme.js +6 -0
- package/build/src/constants/defaultTheme.js.map +1 -0
- package/build/src/constants/routes.js +31 -0
- package/build/src/constants/routes.js.map +1 -0
- package/build/src/defaultConfig.js +62 -0
- package/build/src/defaultConfig.js.map +1 -0
- package/build/src/defaultConnectors.js +24 -0
- package/build/src/defaultConnectors.js.map +1 -0
- package/build/src/hooks/useChainIsSupported.js +12 -0
- package/build/src/hooks/useChainIsSupported.js.map +1 -0
- package/build/src/hooks/useChains.js +11 -0
- package/build/src/hooks/useChains.js.map +1 -0
- package/build/src/hooks/useConnect.js +49 -0
- package/build/src/hooks/useConnect.js.map +1 -0
- package/build/src/hooks/useConnectCallback.js +18 -0
- package/build/src/hooks/useConnectCallback.js.map +1 -0
- package/build/src/hooks/useConnectors.js +9 -0
- package/build/src/hooks/useConnectors.js.map +1 -0
- package/build/src/hooks/useDaimoPay.js +83 -0
- package/build/src/hooks/useDaimoPay.js.map +1 -0
- package/build/src/hooks/useDaimoPayStatus.js +23 -0
- package/build/src/hooks/useDaimoPayStatus.js.map +1 -0
- package/build/src/hooks/useDaimoPayUI.js +15 -0
- package/build/src/hooks/useDaimoPayUI.js.map +1 -0
- package/build/src/hooks/useDepositAddressOptions.js +31 -0
- package/build/src/hooks/useDepositAddressOptions.js.map +1 -0
- package/build/src/hooks/useEnsFallbackConfig.js +16 -0
- package/build/src/hooks/useEnsFallbackConfig.js.map +1 -0
- package/build/src/hooks/useExternalPaymentOptions.js +58 -0
- package/build/src/hooks/useExternalPaymentOptions.js.map +1 -0
- package/build/src/hooks/useFitText.js +148 -0
- package/build/src/hooks/useFitText.js.map +1 -0
- package/build/src/hooks/useFocusTrap.js +57 -0
- package/build/src/hooks/useFocusTrap.js.map +1 -0
- package/build/src/hooks/useIsMobile.js +11 -0
- package/build/src/hooks/useIsMobile.js.map +1 -0
- package/build/src/hooks/useIsMounted.js +12 -0
- package/build/src/hooks/useIsMounted.js.map +1 -0
- package/build/src/hooks/useLastConnector.js +24 -0
- package/build/src/hooks/useLastConnector.js.map +1 -0
- package/build/src/hooks/useLocales.js +58 -0
- package/build/src/hooks/useLocales.js.map +1 -0
- package/build/src/hooks/useLockBodyScroll.js +53 -0
- package/build/src/hooks/useLockBodyScroll.js.map +1 -0
- package/build/src/hooks/useOrderUsdLimits.js +26 -0
- package/build/src/hooks/useOrderUsdLimits.js.map +1 -0
- package/build/src/hooks/usePayContext.js +13 -0
- package/build/src/hooks/usePayContext.js.map +1 -0
- package/build/src/hooks/usePaymentState.js +331 -0
- package/build/src/hooks/usePaymentState.js.map +1 -0
- package/build/src/hooks/usePrevious.js +14 -0
- package/build/src/hooks/usePrevious.js.map +1 -0
- package/build/src/hooks/useSolanaPaymentOptions.js +39 -0
- package/build/src/hooks/useSolanaPaymentOptions.js.map +1 -0
- package/build/src/hooks/useTokenOptions.js +109 -0
- package/build/src/hooks/useTokenOptions.js.map +1 -0
- package/build/src/hooks/useWalletPaymentOptions.js +59 -0
- package/build/src/hooks/useWalletPaymentOptions.js.map +1 -0
- package/build/src/hooks/useWindowSize.js +23 -0
- package/build/src/hooks/useWindowSize.js.map +1 -0
- package/build/src/index.js +14 -0
- package/build/src/index.js.map +1 -0
- package/build/src/localizations/index.js +48 -0
- package/build/src/localizations/index.js.map +1 -0
- package/build/src/localizations/locales/ar-AE.js +95 -0
- package/build/src/localizations/locales/ar-AE.js.map +1 -0
- package/build/src/localizations/locales/ca-AD.js +93 -0
- package/build/src/localizations/locales/ca-AD.js.map +1 -0
- package/build/src/localizations/locales/ee-EE.js +93 -0
- package/build/src/localizations/locales/ee-EE.js.map +1 -0
- package/build/src/localizations/locales/en-US.js +93 -0
- package/build/src/localizations/locales/en-US.js.map +1 -0
- package/build/src/localizations/locales/es-ES.js +93 -0
- package/build/src/localizations/locales/es-ES.js.map +1 -0
- package/build/src/localizations/locales/fa-IR.js +93 -0
- package/build/src/localizations/locales/fa-IR.js.map +1 -0
- package/build/src/localizations/locales/fr-FR.js +93 -0
- package/build/src/localizations/locales/fr-FR.js.map +1 -0
- package/build/src/localizations/locales/ja-JP.js +93 -0
- package/build/src/localizations/locales/ja-JP.js.map +1 -0
- package/build/src/localizations/locales/pt-BR.js +93 -0
- package/build/src/localizations/locales/pt-BR.js.map +1 -0
- package/build/src/localizations/locales/ru-RU.js +93 -0
- package/build/src/localizations/locales/ru-RU.js.map +1 -0
- package/build/src/localizations/locales/tr-TR.js +93 -0
- package/build/src/localizations/locales/tr-TR.js.map +1 -0
- package/build/src/localizations/locales/vi-VN.js +93 -0
- package/build/src/localizations/locales/vi-VN.js.map +1 -0
- package/build/src/localizations/locales/zh-CN.js +93 -0
- package/build/src/localizations/locales/zh-CN.js.map +1 -0
- package/build/src/payment/paymentEffects.js +295 -0
- package/build/src/payment/paymentEffects.js.map +1 -0
- package/build/src/payment/paymentFsm.js +186 -0
- package/build/src/payment/paymentFsm.js.map +1 -0
- package/build/src/payment/paymentStore.js +24 -0
- package/build/src/payment/paymentStore.js.map +1 -0
- package/build/src/provider/DaimoPayProvider.js +267 -0
- package/build/src/provider/DaimoPayProvider.js.map +1 -0
- package/build/src/provider/PayContext.js +7 -0
- package/build/src/provider/PayContext.js.map +1 -0
- package/build/src/provider/PaymentProvider.js +28 -0
- package/build/src/provider/PaymentProvider.js.map +1 -0
- package/build/src/provider/SolanaContextProvider.js +11 -0
- package/build/src/provider/SolanaContextProvider.js.map +1 -0
- package/build/src/provider/Web3ContextProvider.js +36 -0
- package/build/src/provider/Web3ContextProvider.js.map +1 -0
- package/build/src/stateStore.js +80 -0
- package/build/src/stateStore.js.map +1 -0
- package/build/src/styles/defaultTheme.js +89 -0
- package/build/src/styles/defaultTheme.js.map +1 -0
- package/build/src/styles/index.js +328 -0
- package/build/src/styles/index.js.map +1 -0
- package/build/src/styles/styled/index.js +16 -0
- package/build/src/styles/styled/index.js.map +1 -0
- package/build/src/styles/themes/base.js +141 -0
- package/build/src/styles/themes/base.js.map +1 -0
- package/build/src/styles/themes/index.js +13 -0
- package/build/src/styles/themes/index.js.map +1 -0
- package/build/src/styles/themes/midnight.js +76 -0
- package/build/src/styles/themes/midnight.js.map +1 -0
- package/build/src/styles/themes/minimal.js +96 -0
- package/build/src/styles/themes/minimal.js.map +1 -0
- package/build/src/styles/themes/nouns.js +81 -0
- package/build/src/styles/themes/nouns.js.map +1 -0
- package/build/src/styles/themes/retro.js +106 -0
- package/build/src/styles/themes/retro.js.map +1 -0
- package/build/src/styles/themes/rounded.js +106 -0
- package/build/src/styles/themes/rounded.js.map +1 -0
- package/build/src/styles/themes/soft.js +71 -0
- package/build/src/styles/themes/soft.js.map +1 -0
- package/build/src/styles/themes/web95.js +132 -0
- package/build/src/styles/themes/web95.js.map +1 -0
- package/build/src/utils/exports.js +7 -0
- package/build/src/utils/exports.js.map +1 -0
- package/build/src/utils/format.js +83 -0
- package/build/src/utils/format.js.map +1 -0
- package/build/src/utils/index.js +39 -0
- package/build/src/utils/index.js.map +1 -0
- package/build/src/utils/p3.js +16 -0
- package/build/src/utils/p3.js.map +1 -0
- package/build/src/utils/platform.js +13 -0
- package/build/src/utils/platform.js.map +1 -0
- package/build/src/utils/polling.js +35 -0
- package/build/src/utils/polling.js.map +1 -0
- package/build/src/utils/supportUrl.js +16 -0
- package/build/src/utils/supportUrl.js.map +1 -0
- package/build/src/utils/trpc.js +19 -0
- package/build/src/utils/trpc.js.map +1 -0
- package/build/src/utils/validateInput.js +36 -0
- package/build/src/utils/validateInput.js.map +1 -0
- package/build/src/wallets/index.js +30 -0
- package/build/src/wallets/index.js.map +1 -0
- package/build/src/wallets/useWallets.js +129 -0
- package/build/src/wallets/useWallets.js.map +1 -0
- package/build/src/wallets/walletConfigs.js +259 -0
- package/build/src/wallets/walletConfigs.js.map +1 -0
- package/build/src/world-mini-app/WorldPayButton.js +61 -0
- package/build/src/world-mini-app/WorldPayButton.js.map +1 -0
- package/build/src/world-mini-app/promptWorldPayment.js +57 -0
- package/build/src/world-mini-app/promptWorldPayment.js.map +1 -0
- package/build/src/world.js +2 -0
- package/build/src/world.js.map +1 -0
- package/build/stateStore.d.ts +65 -0
- package/build/styles/defaultTheme.d.ts +3 -0
- package/build/styles/index.d.ts +1 -0
- package/build/styles/styled/index.d.ts +12 -0
- package/build/styles/themes/base.d.ts +129 -0
- package/build/styles/themes/index.d.ts +673 -0
- package/build/styles/themes/midnight.d.ts +74 -0
- package/build/styles/themes/minimal.d.ts +94 -0
- package/build/styles/themes/nouns.d.ts +79 -0
- package/build/styles/themes/retro.d.ts +89 -0
- package/build/styles/themes/rounded.d.ts +86 -0
- package/build/styles/themes/soft.d.ts +69 -0
- package/build/styles/themes/web95.d.ts +91 -0
- package/build/styles/types.d.ts +80 -0
- package/build/types.d.ts +44 -0
- package/build/utils/exports.d.ts +1 -0
- package/build/utils/format.d.ts +49 -0
- package/build/utils/index.d.ts +17 -0
- package/build/utils/localstorage.d.ts +9 -0
- package/build/utils/p3.d.ts +2 -0
- package/build/utils/platform.d.ts +2 -0
- package/build/utils/polling.d.ts +13 -0
- package/build/utils/supportUrl.d.ts +2 -0
- package/build/utils/trpc.d.ts +4 -0
- package/build/utils/validateInput.d.ts +16 -0
- package/build/utils/wallets.d.ts +24 -0
- package/build/wallets/index.d.ts +5 -0
- package/build/wallets/useWallets.d.ts +9 -0
- package/build/wallets/walletConfigs.d.ts +28 -0
- package/build/world-mini-app/WorldPayButton.d.ts +67 -0
- package/build/world-mini-app/promptWorldPayment.d.ts +9 -0
- package/build/world.d.ts +1 -0
- package/package.json +12 -6
- package/build/index.js +0 -13685
- package/build/index.js.map +0 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns true if the value is a valid number.
|
|
3
|
+
* @param value The value to validate.
|
|
4
|
+
* @param maxDecimals The maximum number of decimal places.
|
|
5
|
+
* @returns True if the value is a valid number, false otherwise.
|
|
6
|
+
*/
|
|
7
|
+
function isValidNumber(value, maxDecimals) {
|
|
8
|
+
if (value.length === 0) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
// Test that the value is digits, followed by an optional decimal, followed
|
|
12
|
+
// by more digits
|
|
13
|
+
const match = /^\d*\.?(\d*)$/.exec(value);
|
|
14
|
+
if (match == null)
|
|
15
|
+
return false;
|
|
16
|
+
// Check that the number of digits after the decimal is less than or equal to
|
|
17
|
+
// maxDecimals
|
|
18
|
+
return maxDecimals == null || match[1].length <= maxDecimals;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Sanitize a number input.
|
|
22
|
+
* - Remove all non-numeric and non-decimal characters
|
|
23
|
+
* - If the value is empty, return "0"
|
|
24
|
+
* - Parse into a number
|
|
25
|
+
* @param value The value to sanitize.
|
|
26
|
+
* @returns The sanitized value.
|
|
27
|
+
*/
|
|
28
|
+
function sanitizeNumber(value) {
|
|
29
|
+
const cleaned = value.replace(/[^0-9.]/g, "");
|
|
30
|
+
if (!cleaned || cleaned === "." || !/^\d*\.?\d*$/.test(cleaned))
|
|
31
|
+
return "0";
|
|
32
|
+
return cleaned.startsWith(".") ? `0${cleaned}` : cleaned;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export { isValidNumber, sanitizeNumber };
|
|
36
|
+
//# sourceMappingURL=validateInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateInput.js","sources":["../../../src/utils/validateInput.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;AAKG;AACa,SAAA,aAAa,CAAC,KAAa,EAAE,WAAoB,EAAA;AAC/D,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,QAAA,OAAO,KAAK,CAAC;KACd;;;IAID,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,KAAK,IAAI,IAAI;AAAE,QAAA,OAAO,KAAK,CAAC;;;AAIhC,IAAA,OAAO,WAAW,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,WAAW,CAAC;AAC/D,CAAC;AAED;;;;;;;AAOG;AACG,SAAU,cAAc,CAAC,KAAa,EAAA;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC9C,IAAA,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;AAAE,QAAA,OAAO,GAAG,CAAC;AAC5E,IAAA,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAA,CAAA,EAAI,OAAO,CAAE,CAAA,GAAG,OAAO,CAAC;AAC3D;;;;"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { injected } from '@wagmi/connectors';
|
|
2
|
+
import { walletConfigs } from './walletConfigs.js';
|
|
3
|
+
|
|
4
|
+
/** Ethereum wallets, by name. */
|
|
5
|
+
const wallets = Object.keys(walletConfigs).reduce((acc, key) => {
|
|
6
|
+
const config = walletConfigs[key];
|
|
7
|
+
const target = key.split(",")[0].trim();
|
|
8
|
+
const flag = config.name?.replace("Wallet", "").replace(" ", "") ??
|
|
9
|
+
target[0].toUpperCase() + target.slice(1);
|
|
10
|
+
const connector = injected({
|
|
11
|
+
target: {
|
|
12
|
+
id: target,
|
|
13
|
+
name: config.name ?? config.shortName ?? key,
|
|
14
|
+
provider: (w) => w?.ethereum?.[`is${flag}`],
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
const name = (config.name ?? config.shortName ?? key)
|
|
18
|
+
.toLowerCase()
|
|
19
|
+
// capitalize first letter
|
|
20
|
+
.replace(/(?:^|\s)\S/g, (a) => a.toUpperCase())
|
|
21
|
+
// remove spaces
|
|
22
|
+
.replace(/\s/g, "")
|
|
23
|
+
// lowercase first letter
|
|
24
|
+
.replace(/(?:^|\s)\S/g, (a) => a.toLowerCase());
|
|
25
|
+
acc[name] = connector;
|
|
26
|
+
return acc;
|
|
27
|
+
}, {});
|
|
28
|
+
|
|
29
|
+
export { wallets };
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/wallets/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAKA;AACa,MAAA,OAAO,GAEhB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAI;AACjD,IAAA,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AAClC,IAAA,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACxC,IAAA,MAAM,IAAI,GACR,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AACnD,QAAA,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE5C,MAAM,SAAS,GAAG,QAAQ,CAAC;AACzB,QAAA,MAAM,EAAE;AACN,YAAA,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,GAAG;AAC5C,YAAA,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,CAAK,EAAA,EAAA,IAAI,EAAE,CAAC;AAC5C,SAAA;AACF,KAAA,CAAC,CAAC;AACH,IAAA,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,GAAG;AACjD,SAAA,WAAW,EAAE;;AAEb,SAAA,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;;AAE9C,SAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;;AAElB,SAAA,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAElD,IAAA,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;AACtB,IAAA,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,EAAE;;;;"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { assertNotNull } from '@daimo/pay-common';
|
|
3
|
+
import Logos from '../assets/logos.js';
|
|
4
|
+
import { MobileWithLogos } from '../assets/MobileWithLogos.js';
|
|
5
|
+
import { useConnectors } from '../hooks/useConnectors.js';
|
|
6
|
+
import { isCoinbaseWalletConnector, isInjectedConnector } from '../utils/index.js';
|
|
7
|
+
import { walletConfigs } from './walletConfigs.js';
|
|
8
|
+
|
|
9
|
+
const useWallet = (id) => {
|
|
10
|
+
const wallets = useWallets();
|
|
11
|
+
const wallet = wallets.find((c) => c.id === id);
|
|
12
|
+
if (!wallet)
|
|
13
|
+
return null;
|
|
14
|
+
return wallet;
|
|
15
|
+
};
|
|
16
|
+
const useWallets = (isMobile) => {
|
|
17
|
+
const connectors = useConnectors();
|
|
18
|
+
if (isMobile) {
|
|
19
|
+
const mobileWallets = [];
|
|
20
|
+
// Add injected wallet (if any) first
|
|
21
|
+
connectors.forEach((connector) => {
|
|
22
|
+
if (isCoinbaseWalletConnector(connector.id))
|
|
23
|
+
return;
|
|
24
|
+
mobileWallets.push({
|
|
25
|
+
id: connector.id,
|
|
26
|
+
connector,
|
|
27
|
+
shortName: connector.name,
|
|
28
|
+
iconConnector: jsx("img", { src: connector.icon, alt: connector.name }),
|
|
29
|
+
iconShape: "squircle",
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
function addIfNotPresent(idList) {
|
|
33
|
+
if (mobileWallets.find((w) => idList.includes(w.id)))
|
|
34
|
+
return;
|
|
35
|
+
if (mobileWallets.length >= 3)
|
|
36
|
+
return;
|
|
37
|
+
const wallet = assertNotNull(walletConfigs[idList], () => `missing ${idList}`);
|
|
38
|
+
mobileWallets.push({
|
|
39
|
+
id: idList,
|
|
40
|
+
...wallet,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
addIfNotPresent("com.trustwallet.app");
|
|
44
|
+
addIfNotPresent("me.rainbow");
|
|
45
|
+
// Add other wallet
|
|
46
|
+
mobileWallets.push({
|
|
47
|
+
id: "other",
|
|
48
|
+
name: "Other Wallets",
|
|
49
|
+
shortName: "Other",
|
|
50
|
+
iconConnector: jsx(Logos.OtherWallets, {}),
|
|
51
|
+
iconShape: "square",
|
|
52
|
+
showInMobileConnectors: false,
|
|
53
|
+
});
|
|
54
|
+
return mobileWallets;
|
|
55
|
+
}
|
|
56
|
+
const wallets = connectors.map((connector) => {
|
|
57
|
+
// use overrides
|
|
58
|
+
const c = {
|
|
59
|
+
id: connector.id,
|
|
60
|
+
name: connector.name ?? connector.id ?? connector.type,
|
|
61
|
+
icon: (jsx("img", { src: connector.icon, alt: connector.name, width: "100%", height: "100%" })),
|
|
62
|
+
connector,
|
|
63
|
+
iconShape: connector.id === "io.rabby" ? "circle" : "squircle",
|
|
64
|
+
isInstalled: connector.type === "mock" ||
|
|
65
|
+
(connector.type === "injected" && connector.id !== "metaMask") ||
|
|
66
|
+
connector.type === "farcasterFrame" ||
|
|
67
|
+
isCoinbaseWalletConnector(connector.id), // always run coinbase wallet SDK
|
|
68
|
+
};
|
|
69
|
+
return c;
|
|
70
|
+
});
|
|
71
|
+
wallets.push({
|
|
72
|
+
id: "Mobile Wallets",
|
|
73
|
+
name: "Mobile Wallets",
|
|
74
|
+
shortName: "Mobile",
|
|
75
|
+
icon: (jsx("div", { style: {
|
|
76
|
+
width: "100%",
|
|
77
|
+
height: "100%",
|
|
78
|
+
overflow: "hidden",
|
|
79
|
+
display: "flex",
|
|
80
|
+
alignItems: "center",
|
|
81
|
+
justifyContent: "center",
|
|
82
|
+
transform: "scale(1.2)",
|
|
83
|
+
transformOrigin: "center center",
|
|
84
|
+
}, children: jsx(MobileWithLogos, {}) })),
|
|
85
|
+
iconConnector: (jsx("div", { style: {
|
|
86
|
+
width: "100%",
|
|
87
|
+
height: "100%",
|
|
88
|
+
overflow: "hidden",
|
|
89
|
+
display: "flex",
|
|
90
|
+
alignItems: "center",
|
|
91
|
+
justifyContent: "center",
|
|
92
|
+
transform: "scale(1.2)",
|
|
93
|
+
transformOrigin: "center center",
|
|
94
|
+
}, children: jsx(MobileWithLogos, {}) })),
|
|
95
|
+
});
|
|
96
|
+
return (wallets
|
|
97
|
+
// remove duplicate ids
|
|
98
|
+
.filter((wallet, index, self) => self.findIndex((w) => w.id === wallet.id) === index)
|
|
99
|
+
// remove wallet with id coinbaseWalletSDK if wallet with id 'com.coinbase.wallet' exists
|
|
100
|
+
.filter((wallet, index, self) => !(wallet.id === "coinbaseWalletSDK" &&
|
|
101
|
+
self.find((w) => w.id === "com.coinbase.wallet")))
|
|
102
|
+
// remove wallet with id io.metamask if wallet with id 'metaMask' exists
|
|
103
|
+
.filter((wallet, index, self) => !((wallet.id === "metaMaskSDK" || wallet.id === "metaMask") &&
|
|
104
|
+
self.find((w) => w.id === "io.metamask" || w.id === "io.metamask.mobile")))
|
|
105
|
+
// remove wallet with id 'com.warpcast.mobile' if wallet with id 'farcaster' exists
|
|
106
|
+
.filter((wallet, index, self) => !(wallet.id === "com.warpcast.mobile" &&
|
|
107
|
+
self.find((w) => w.id === "farcaster")))
|
|
108
|
+
// order by isInstalled injected connectors first
|
|
109
|
+
.sort((a, b) => {
|
|
110
|
+
const AisInstalled = a.isInstalled && isInjectedConnector(a.connector?.type);
|
|
111
|
+
const BisInstalled = b.isInstalled && isInjectedConnector(b.connector?.type);
|
|
112
|
+
if (AisInstalled && !BisInstalled)
|
|
113
|
+
return -1;
|
|
114
|
+
if (!AisInstalled && BisInstalled)
|
|
115
|
+
return 1;
|
|
116
|
+
return 0;
|
|
117
|
+
})
|
|
118
|
+
// order last mobile wallets
|
|
119
|
+
.sort((a, b) => {
|
|
120
|
+
if (a.id === "Mobile Wallets")
|
|
121
|
+
return 1;
|
|
122
|
+
if (b.id === "Mobile Wallets")
|
|
123
|
+
return -1;
|
|
124
|
+
return 0;
|
|
125
|
+
}));
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
export { useWallet, useWallets };
|
|
129
|
+
//# sourceMappingURL=useWallets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWallets.js","sources":["../../../src/wallets/useWallets.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import Logos from '../assets/logos.js';
|
|
3
|
+
|
|
4
|
+
// Infer in-wallet payment URL from environment.
|
|
5
|
+
let daimoPayHost = "https://pay.daimo.com";
|
|
6
|
+
function setInWalletPaymentUrlFromApiUrl(apiUrl) {
|
|
7
|
+
if (apiUrl.startsWith("http://localhost")) {
|
|
8
|
+
daimoPayHost = "http://localhost:3001";
|
|
9
|
+
}
|
|
10
|
+
else if (apiUrl.startsWith("https://pay-api-stage.daimo.xyz")) {
|
|
11
|
+
daimoPayHost = "https://pay.stage.daimo.xyz";
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
daimoPayHost = "https://pay.daimo.com";
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function getDaimoPayUrl(payId) {
|
|
18
|
+
return daimoPayHost + "/pay?id=" + payId;
|
|
19
|
+
}
|
|
20
|
+
function getEncodedDaimoPayUrl(payId) {
|
|
21
|
+
let url = getDaimoPayUrl(payId);
|
|
22
|
+
let encodedUrl = encodeURIComponent(url);
|
|
23
|
+
return encodedUrl;
|
|
24
|
+
}
|
|
25
|
+
// Organised in alphabetical order by key
|
|
26
|
+
const walletConfigs = {
|
|
27
|
+
"coinbaseWallet, coinbaseWalletSDK": {
|
|
28
|
+
name: "Coinbase Wallet",
|
|
29
|
+
shortName: "Coinbase",
|
|
30
|
+
icon: jsx(Logos.Coinbase, {}),
|
|
31
|
+
iconShape: "squircle",
|
|
32
|
+
downloadUrls: {
|
|
33
|
+
download: "https://connect.family.co/v0/download/coinbasewallet",
|
|
34
|
+
website: "https://www.coinbase.com/wallet/getting-started-extension",
|
|
35
|
+
android: "https://play.google.com/store/apps/details?id=org.toshi",
|
|
36
|
+
ios: "https://apps.apple.com/app/coinbase-wallet-store-crypto/id1278383455",
|
|
37
|
+
chrome: "https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad",
|
|
38
|
+
},
|
|
39
|
+
showInMobileConnectors: true,
|
|
40
|
+
deeplinkScheme: "cbwallet://",
|
|
41
|
+
getDaimoPayDeeplink: (payId) => {
|
|
42
|
+
return "cbwallet://dapp?url=" + getEncodedDaimoPayUrl(payId);
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
"com.coinbase.wallet": {
|
|
46
|
+
name: "Coinbase Wallet",
|
|
47
|
+
shortName: "Coinbase",
|
|
48
|
+
icon: jsx(Logos.Coinbase, {}),
|
|
49
|
+
iconShape: "squircle",
|
|
50
|
+
downloadUrls: {
|
|
51
|
+
download: "https://connect.family.co/v0/download/coinbasewallet",
|
|
52
|
+
website: "https://www.coinbase.com/wallet/getting-started-extension",
|
|
53
|
+
android: "https://play.google.com/store/apps/details?id=org.toshi",
|
|
54
|
+
ios: "https://apps.apple.com/app/coinbase-wallet-store-crypto/id1278383455",
|
|
55
|
+
chrome: "https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad",
|
|
56
|
+
},
|
|
57
|
+
showInMobileConnectors: false,
|
|
58
|
+
deeplinkScheme: "cbwallet://",
|
|
59
|
+
getDaimoPayDeeplink: (payId) => {
|
|
60
|
+
return "cbwallet://dapp?url=" + getEncodedDaimoPayUrl(payId);
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
backpack: {
|
|
64
|
+
name: "Backpack",
|
|
65
|
+
shortName: "Backpack",
|
|
66
|
+
icon: jsx(Logos.Backpack, {}),
|
|
67
|
+
iconShape: "squircle",
|
|
68
|
+
showInMobileConnectors: true,
|
|
69
|
+
getDaimoPayDeeplink: (payId) => {
|
|
70
|
+
const url = encodeURIComponent(getDaimoPayUrl(payId));
|
|
71
|
+
return `https://backpack.app/ul/v1/browse/${url}`;
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
bitget: {
|
|
75
|
+
name: "Bitget",
|
|
76
|
+
icon: jsx(Logos.Bitget, {}),
|
|
77
|
+
iconShape: "squircle",
|
|
78
|
+
showInMobileConnectors: true,
|
|
79
|
+
deeplinkScheme: "bitkeep://",
|
|
80
|
+
getDaimoPayDeeplink: (payId) => {
|
|
81
|
+
return "bitkeep://bkconnect?action=dapp&url=" + getDaimoPayUrl(payId);
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
"co.family.wallet": {
|
|
85
|
+
name: "Family",
|
|
86
|
+
shortName: "Family",
|
|
87
|
+
icon: jsx(Logos.Family, {}),
|
|
88
|
+
iconShape: "squircle",
|
|
89
|
+
downloadUrls: {
|
|
90
|
+
download: "https://connect.family.co/v0/download/family",
|
|
91
|
+
website: "https://family.co",
|
|
92
|
+
ios: "https://family.co/download",
|
|
93
|
+
},
|
|
94
|
+
deeplinkScheme: "familywallet://",
|
|
95
|
+
getDaimoPayDeeplink: (payId) => {
|
|
96
|
+
return "familywallet://browser?url=" + getDaimoPayUrl(payId);
|
|
97
|
+
},
|
|
98
|
+
showInMobileConnectors: true,
|
|
99
|
+
},
|
|
100
|
+
"metaMask, metaMask-io, io.metamask, io.metamask.mobile, metaMaskSDK": {
|
|
101
|
+
name: "MetaMask",
|
|
102
|
+
shortName: "MetaMask",
|
|
103
|
+
icon: jsx(Logos.MetaMask, {}),
|
|
104
|
+
iconConnector: jsx(Logos.MetaMask, {}),
|
|
105
|
+
iconShouldShrink: true,
|
|
106
|
+
downloadUrls: {
|
|
107
|
+
download: "https://connect.family.co/v0/download/metamask",
|
|
108
|
+
website: "https://metamask.io/download/",
|
|
109
|
+
android: "https://play.google.com/store/apps/details?id=io.metamask",
|
|
110
|
+
ios: "https://apps.apple.com/app/metamask/id1438144202",
|
|
111
|
+
chrome: "https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn",
|
|
112
|
+
firefox: "https://addons.mozilla.org/firefox/addon/ether-metamask/",
|
|
113
|
+
brave: "https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn",
|
|
114
|
+
edge: "https://microsoftedge.microsoft.com/addons/detail/metamask/ejbalbakoplchlghecdalmeeeajnimhm",
|
|
115
|
+
},
|
|
116
|
+
showInMobileConnectors: true,
|
|
117
|
+
deeplinkScheme: "metamask://",
|
|
118
|
+
getDaimoPayDeeplink: (payId) => {
|
|
119
|
+
const daimoPayUrl = getDaimoPayUrl(payId);
|
|
120
|
+
return ("https://metamask.app.link/dapp/" + daimoPayUrl.replace("https://", ""));
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
"app.phantom": {
|
|
124
|
+
name: "Phantom",
|
|
125
|
+
icon: jsx(Logos.Phantom, {}),
|
|
126
|
+
iconShape: "squircle",
|
|
127
|
+
showInMobileConnectors: true,
|
|
128
|
+
deeplinkScheme: "phantom://",
|
|
129
|
+
getDaimoPayDeeplink: (payId) => {
|
|
130
|
+
const url = encodeURIComponent(getDaimoPayUrl(payId));
|
|
131
|
+
const ref = encodeURIComponent(window.location.origin);
|
|
132
|
+
return `https://phantom.app/ul/browse/${url}?ref=${ref}`;
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
farcaster: {
|
|
136
|
+
name: "Farcaster",
|
|
137
|
+
icon: jsx(Logos.Farcaster, {}),
|
|
138
|
+
iconShape: "squircle",
|
|
139
|
+
showInMobileConnectors: true,
|
|
140
|
+
getDaimoPayDeeplink: (payId) => {
|
|
141
|
+
return ("https://farcaster.xyz/miniapps/sGRsevnRvM9P/daimo-pay/?id=" + payId);
|
|
142
|
+
},
|
|
143
|
+
},
|
|
144
|
+
minipay: {
|
|
145
|
+
name: "MiniPay",
|
|
146
|
+
icon: jsx(Logos.MiniPay, {}),
|
|
147
|
+
iconShape: "squircle",
|
|
148
|
+
showInMobileConnectors: true,
|
|
149
|
+
getDaimoPayDeeplink: (payId) => {
|
|
150
|
+
return ("https://cash.minipay.xyz/browse?url=" +
|
|
151
|
+
encodeURIComponent(getEncodedDaimoPayUrl(payId)));
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
"me.rainbow": {
|
|
155
|
+
name: "Rainbow Wallet",
|
|
156
|
+
shortName: "Rainbow",
|
|
157
|
+
icon: jsx(Logos.Rainbow, {}),
|
|
158
|
+
iconShape: "squircle",
|
|
159
|
+
downloadUrls: {
|
|
160
|
+
download: "https://connect.family.co/v0/download/rainbow",
|
|
161
|
+
website: "https://rainbow.me/?utm_source=daimopay",
|
|
162
|
+
android: "https://play.google.com/store/apps/details?id=me.rainbow&referrer=utm_source%3Ddaimopay&utm_source=daimopay",
|
|
163
|
+
ios: "https://apps.apple.com/app/rainbow-ethereum-wallet/id1457119021?pt=119997837&ct=daimopay&mt=8",
|
|
164
|
+
chrome: "https://rainbow.me/extension?utm_source=daimopay",
|
|
165
|
+
edge: "https://rainbow.me/extension?utm_source=daimopay",
|
|
166
|
+
brave: "https://rainbow.me/extension?utm_source=daimopay",
|
|
167
|
+
},
|
|
168
|
+
showInMobileConnectors: false,
|
|
169
|
+
deeplinkScheme: "rainbow://",
|
|
170
|
+
getDaimoPayDeeplink: (payId) => {
|
|
171
|
+
return "rainbow://dapp?url=" + getDaimoPayUrl(payId);
|
|
172
|
+
},
|
|
173
|
+
},
|
|
174
|
+
// "io.rabby": {
|
|
175
|
+
// name: "Rabby Wallet",
|
|
176
|
+
// shortName: "Rabby",
|
|
177
|
+
// downloadUrls: {
|
|
178
|
+
// website: "https://rabby.io",
|
|
179
|
+
// chrome:
|
|
180
|
+
// "https://chrome.google.com/webstore/detail/rabby-wallet/acmacodkjbdgmoleebolmdjonilkdbch",
|
|
181
|
+
// },
|
|
182
|
+
// showInMobileConnectors: false,
|
|
183
|
+
// //TODO: add wallet deep link
|
|
184
|
+
// // edit rabby scheme to deeplink URL: https://github.com/RabbyHub/rabby-mobile/blob/999d60f49c5254e4aa8e6aa8bb80ad46e267845c/apps/mobile/src/LinkingConfig.ts#L25
|
|
185
|
+
// },
|
|
186
|
+
"com.trustwallet.app": {
|
|
187
|
+
name: "Trust Wallet",
|
|
188
|
+
shortName: "Trust",
|
|
189
|
+
icon: jsx(Logos.Trust, {}),
|
|
190
|
+
iconConnector: jsx(Logos.Trust, { background: true }),
|
|
191
|
+
downloadUrls: {
|
|
192
|
+
download: "https://connect.family.co/v0/download/trust",
|
|
193
|
+
android: "https://play.google.com/store/apps/details?id=com.wallet.crypto.trustapp",
|
|
194
|
+
ios: "https://apps.apple.com/app/trust-crypto-bitcoin-wallet/id1288339409",
|
|
195
|
+
},
|
|
196
|
+
showInMobileConnectors: false,
|
|
197
|
+
deeplinkScheme: "trust://",
|
|
198
|
+
getDaimoPayDeeplink: (payId) => {
|
|
199
|
+
return "trust://open_url?coin_id=60&url=" + getDaimoPayUrl(payId);
|
|
200
|
+
},
|
|
201
|
+
},
|
|
202
|
+
okx: {
|
|
203
|
+
name: "OKX",
|
|
204
|
+
icon: jsx(Logos.OKX, {}),
|
|
205
|
+
showInMobileConnectors: true,
|
|
206
|
+
deeplinkScheme: "okx://",
|
|
207
|
+
getDaimoPayDeeplink: (payId) => {
|
|
208
|
+
return "okx://wallet/dapp/url?dappUrl=" + getDaimoPayUrl(payId);
|
|
209
|
+
},
|
|
210
|
+
},
|
|
211
|
+
solflare: {
|
|
212
|
+
name: "Solflare",
|
|
213
|
+
icon: jsx(Logos.Solflare, {}),
|
|
214
|
+
showInMobileConnectors: true,
|
|
215
|
+
deeplinkScheme: "solflare://",
|
|
216
|
+
getDaimoPayDeeplink: (payId) => {
|
|
217
|
+
const url = encodeURIComponent(getDaimoPayUrl(payId));
|
|
218
|
+
const ref = encodeURIComponent(window.location.origin);
|
|
219
|
+
return `https://solflare.com/ul/v1/browse/${url}?ref=${ref}`;
|
|
220
|
+
},
|
|
221
|
+
isSolanaOnly: true,
|
|
222
|
+
},
|
|
223
|
+
// ledger: {
|
|
224
|
+
// name: "Ledger Live",
|
|
225
|
+
// shortName: "Ledger",
|
|
226
|
+
// icon: <Logos.Ledger />,
|
|
227
|
+
// downloadUrls: {
|
|
228
|
+
// download: "https://connect.family.co/v0/download/ledger",
|
|
229
|
+
// website: "https://www.ledger.com/ledger-live/download#download-device-2",
|
|
230
|
+
// android: "https://play.google.com/store/apps/details?id=com.ledger.live",
|
|
231
|
+
// ios: "https://apps.apple.com/app/ledger-live-web3-wallet/id1361671700",
|
|
232
|
+
// },
|
|
233
|
+
// showInMobileConnectors: true,
|
|
234
|
+
// deeplinkScheme: "ledgerlive://",
|
|
235
|
+
// // getDaimoPayDeeplink: (payId: string) => {
|
|
236
|
+
// // return "ledgerlive://discover/" + daimoPayUrl + payId;
|
|
237
|
+
// // },
|
|
238
|
+
// // TODO: Add Daimo Pay to Ledger Live's Discover section https://developers.ledger.com/docs/ledger-live/discover/getting-started
|
|
239
|
+
// shouldDeeplinkDesktop: true,
|
|
240
|
+
// },
|
|
241
|
+
zerion: {
|
|
242
|
+
name: "Zerion",
|
|
243
|
+
icon: jsx(Logos.Zerion, {}),
|
|
244
|
+
downloadUrls: {
|
|
245
|
+
download: "https://connect.family.co/v0/download/zerion",
|
|
246
|
+
ios: "https://apps.apple.com/app/apple-store/id1456732565",
|
|
247
|
+
android: "https://play.google.com/store/apps/details?id=io.zerion.android",
|
|
248
|
+
website: "https://zerion.io/",
|
|
249
|
+
},
|
|
250
|
+
showInMobileConnectors: true,
|
|
251
|
+
deeplinkScheme: "zerion://",
|
|
252
|
+
getDaimoPayDeeplink: (payId) => {
|
|
253
|
+
return "zerion://browser?url=" + getDaimoPayUrl(payId);
|
|
254
|
+
},
|
|
255
|
+
},
|
|
256
|
+
};
|
|
257
|
+
|
|
258
|
+
export { setInWalletPaymentUrlFromApiUrl, walletConfigs };
|
|
259
|
+
//# sourceMappingURL=walletConfigs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walletConfigs.js","sources":["../../../src/wallets/walletConfigs.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, useEffect, useCallback } from 'react';
|
|
3
|
+
import ThemedButton from '../components/Common/ThemedButton/index.js';
|
|
4
|
+
import { DaimoPayButtonInner } from '../components/DaimoPayButton/index.js';
|
|
5
|
+
import { ROUTES } from '../constants/routes.js';
|
|
6
|
+
import { useDaimoPay } from '../hooks/useDaimoPay.js';
|
|
7
|
+
import { usePayContext } from '../hooks/usePayContext.js';
|
|
8
|
+
import { ResetContainer } from '../styles/index.js';
|
|
9
|
+
import { promptWorldcoinPayment } from './promptWorldPayment.js';
|
|
10
|
+
import { MiniKit } from '@worldcoin/minikit-js';
|
|
11
|
+
import { ThemeContainer } from '../components/Common/ThemedButton/styles.js';
|
|
12
|
+
|
|
13
|
+
function WorldPayButton(props) {
|
|
14
|
+
const { theme, mode, customTheme } = props;
|
|
15
|
+
const context = usePayContext();
|
|
16
|
+
return (jsx(WorldPayButtonCustom, { ...props, children: ({ show, isMiniKitReady }) => (jsx(ResetContainer, { "$useTheme": theme ?? context.theme, "$useMode": mode ?? context.mode, "$customTheme": customTheme ?? context.customTheme, children: jsx(ThemeContainer, { onClick: props.disabled || !isMiniKitReady ? undefined : show, children: jsx(ThemedButton, { children: jsx(DaimoPayButtonInner, {}) }) }) })) }));
|
|
17
|
+
}
|
|
18
|
+
function WorldPayButtonCustom(props) {
|
|
19
|
+
const pay = useDaimoPay();
|
|
20
|
+
const context = usePayContext();
|
|
21
|
+
const [isMiniKitReady, setIsMiniKitReady] = useState(false);
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
const result = MiniKit.install();
|
|
24
|
+
context.log("MiniKit.install()", result);
|
|
25
|
+
setIsMiniKitReady(result.success);
|
|
26
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
27
|
+
}, []);
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
pay.createPreviewOrder(props);
|
|
30
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
31
|
+
}, [pay, JSON.stringify(props)]);
|
|
32
|
+
const showSpinner = useCallback(() => {
|
|
33
|
+
context.showPayment({});
|
|
34
|
+
context.setRoute(ROUTES.CONFIRMATION);
|
|
35
|
+
}, [context]);
|
|
36
|
+
const show = useCallback(async () => {
|
|
37
|
+
if (!isMiniKitReady) {
|
|
38
|
+
console.error("[WORLD] MiniKit is not installed. Please install @worldcoin/minikit-js to use this feature.");
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (["payment_started", "payment_completed", "payment_bounced"].includes(pay.paymentState)) {
|
|
42
|
+
showSpinner();
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const { order } = await pay.hydrateOrder();
|
|
46
|
+
const payRes = await promptWorldcoinPayment(order, context.trpc);
|
|
47
|
+
if (payRes == null || payRes.finalPayload.status == "error") {
|
|
48
|
+
console.error("[WORLD] Failed to prompt Worldcoin payment: ", payRes);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
pay.paySource();
|
|
52
|
+
// Optimistically assume the source payment is correct and show the
|
|
53
|
+
// confirmation spinner
|
|
54
|
+
showSpinner();
|
|
55
|
+
}, [pay, showSpinner, context.trpc, isMiniKitReady]);
|
|
56
|
+
return props.children({ show, isMiniKitReady });
|
|
57
|
+
}
|
|
58
|
+
WorldPayButton.displayName = "WorldPayButton";
|
|
59
|
+
|
|
60
|
+
export { WorldPayButton };
|
|
61
|
+
//# sourceMappingURL=WorldPayButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorldPayButton.js","sources":["../../../src/world-mini-app/WorldPayButton.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;;;;;;;;;AA8EM,SAAU,cAAc,CAAC,KAA0B,EAAA;IACvD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;AAC3C,IAAA,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAEhC,IAAA,QACEA,GAAA,CAAC,oBAAoB,EAAA,EAAA,GAAK,KAAK,EAC5B,QAAA,EAAA,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MACxBA,GAAC,CAAA,cAAc,EACF,EAAA,WAAA,EAAA,KAAK,IAAI,OAAO,CAAC,KAAK,EAAA,UAAA,EACvB,IAAI,IAAI,OAAO,CAAC,IAAI,EAAA,cAAA,EAChB,WAAW,IAAI,OAAO,CAAC,WAAW,EAEhD,QAAA,EAAAA,GAAA,CAAC,cAAc,EAAA,EACb,OAAO,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,cAAc,GAAG,SAAS,GAAG,IAAI,EAE7D,QAAA,EAAAA,GAAA,CAAC,YAAY,EACX,EAAA,QAAA,EAAAA,GAAA,CAAC,mBAAmB,EAAA,EAAA,CAAG,GACV,EACA,CAAA,EAAA,CACF,CAClB,EAAA,CACoB,EACvB;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAgC,EAAA;AAC5D,IAAA,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;AAC1B,IAAA,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;AACjC,QAAA,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;AACzC,QAAA,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;;KAEnC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,MAAK;AACb,QAAA,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;;AAEhC,KAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEjC,IAAA,MAAM,WAAW,GAAG,WAAW,CAAC,MAAK;AACnC,QAAA,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AACxB,QAAA,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACxC,KAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAEd,IAAA,MAAM,IAAI,GAAG,WAAW,CAAC,YAAW;QAClC,IAAI,CAAC,cAAc,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CACX,6FAA6F,CAC9F,CAAC;YACF,OAAO;SACR;AAED,QAAA,IACE,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAClE,GAAG,CAAC,YAAY,CACjB,EACD;AACA,YAAA,WAAW,EAAE,CAAC;YACd,OAAO;SACR;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AACjE,QAAA,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,IAAI,OAAO,EAAE;AAC3D,YAAA,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,MAAM,CAAC,CAAC;YACtE,OAAO;SACR;QAED,GAAG,CAAC,SAAS,EAAE,CAAC;;;AAIhB,QAAA,WAAW,EAAE,CAAC;AAChB,KAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IAErD,OAAO,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,cAAc,CAAC,WAAW,GAAG,gBAAgB;;;;"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { worldchainWLD, worldchainUSDC, assert } from '@daimo/pay-common';
|
|
2
|
+
import { getAddress } from 'viem';
|
|
3
|
+
import { MiniKit, Tokens } from '@worldcoin/minikit-js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Open Worldcoin's payment drawer and prompt the user to pay a Daimo Pay order.
|
|
7
|
+
*/
|
|
8
|
+
async function promptWorldcoinPayment(order, trpc) {
|
|
9
|
+
try {
|
|
10
|
+
if (!MiniKit.isInstalled()) {
|
|
11
|
+
console.error("[WORLD] MiniKit is not installed. Please install @worldcoin/minikit-js to use this feature.");
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
const paymentOptions = (await trpc.getTokenPaymentOptions.query({
|
|
15
|
+
orderId: order.id,
|
|
16
|
+
tokens: [
|
|
17
|
+
{
|
|
18
|
+
chainId: worldchainWLD.chainId,
|
|
19
|
+
token: worldchainWLD.token,
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
chainId: worldchainUSDC.chainId,
|
|
23
|
+
token: worldchainUSDC.token,
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
}));
|
|
27
|
+
const wld = paymentOptions.find((opt) => getAddress(opt.token.token) === getAddress(worldchainWLD.token));
|
|
28
|
+
const usdc = paymentOptions.find((opt) => getAddress(opt.token.token) === getAddress(worldchainUSDC.token));
|
|
29
|
+
assert(wld != null, "WLD DP token not found");
|
|
30
|
+
assert(usdc != null, "USDC DP token not found");
|
|
31
|
+
const paymentId = crypto.randomUUID().replace(/-/g, "");
|
|
32
|
+
const payload = {
|
|
33
|
+
reference: paymentId,
|
|
34
|
+
to: order.intentAddr,
|
|
35
|
+
tokens: [
|
|
36
|
+
{
|
|
37
|
+
symbol: Tokens.WLD,
|
|
38
|
+
token_amount: wld.amount,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
symbol: Tokens.USDC,
|
|
42
|
+
token_amount: usdc.amount,
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
description: order.metadata.intent,
|
|
46
|
+
};
|
|
47
|
+
const { finalPayload } = await MiniKit.commandsAsync.pay(payload);
|
|
48
|
+
return { paymentId, finalPayload };
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
console.error("[WORLD] Error sending payment", error);
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export { promptWorldcoinPayment };
|
|
57
|
+
//# sourceMappingURL=promptWorldPayment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptWorldPayment.js","sources":["../../../src/world-mini-app/promptWorldPayment.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAgBA;;AAEG;AACI,eAAe,sBAAsB,CAC1C,KAAmC,EACnC,IAAS,EAAA;AAET,IAAA,IAAI;AACF,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE;AAC1B,YAAA,OAAO,CAAC,KAAK,CACX,6FAA6F,CAC9F,CAAC;AACF,YAAA,OAAO,IAAI,CAAC;SACb;QAED,MAAM,cAAc,IAAI,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;YAC9D,OAAO,EAAE,KAAK,CAAC,EAAE;AACjB,YAAA,MAAM,EAAE;AACN,gBAAA;oBACE,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC9B,KAAK,EAAE,aAAa,CAAC,KAAK;AAC3B,iBAAA;AACD,gBAAA;oBACE,OAAO,EAAE,cAAc,CAAC,OAAO;oBAC/B,KAAK,EAAE,cAAc,CAAC,KAAK;AAC5B,iBAAA;AACF,aAAA;AACF,SAAA,CAAC,CAA0B,CAAC;QAE7B,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAC7B,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CACzE,CAAC;QACF,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAC9B,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAC1E,CAAC;AAEF,QAAA,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,wBAAwB,CAAC,CAAC;AAC9C,QAAA,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,yBAAyB,CAAC,CAAC;AAEhD,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACxD,QAAA,MAAM,OAAO,GAAoB;AAC/B,YAAA,SAAS,EAAE,SAAS;YACpB,EAAE,EAAE,KAAK,CAAC,UAAU;AACpB,YAAA,MAAM,EAAE;AACN,gBAAA;oBACE,MAAM,EAAE,MAAM,CAAC,GAAG;oBAClB,YAAY,EAAE,GAAG,CAAC,MAAM;AACzB,iBAAA;AACD,gBAAA;oBACE,MAAM,EAAE,MAAM,CAAC,IAAI;oBACnB,YAAY,EAAE,IAAI,CAAC,MAAM;AAC1B,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;SACnC,CAAC;AACF,QAAA,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAClE,QAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;KACpC;IAAC,OAAO,KAAc,EAAE;AACvB,QAAA,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;AACtD,QAAA,OAAO,IAAI,CAAC;KACb;AACH;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"world.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|