@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,186 @@
|
|
|
1
|
+
import { DaimoPayIntentStatus, assert, DaimoPayOrderMode, isHydrated } from '@daimo/pay-common';
|
|
2
|
+
import { parseUnits } from 'viem';
|
|
3
|
+
|
|
4
|
+
const initialPaymentState = { type: "idle" };
|
|
5
|
+
/**
|
|
6
|
+
* Master payment reducer.
|
|
7
|
+
*/
|
|
8
|
+
function paymentReducer(state, event) {
|
|
9
|
+
switch (state.type) {
|
|
10
|
+
case "idle":
|
|
11
|
+
return reduceIdle(state, event);
|
|
12
|
+
case "preview":
|
|
13
|
+
return reducePreview(state, event);
|
|
14
|
+
case "unhydrated":
|
|
15
|
+
return reduceUnhydrated(state, event);
|
|
16
|
+
case "payment_unpaid":
|
|
17
|
+
return reducePaymentUnpaid(state, event);
|
|
18
|
+
case "payment_started":
|
|
19
|
+
return reducePaymentStarted(state, event);
|
|
20
|
+
case "payment_completed":
|
|
21
|
+
case "payment_bounced":
|
|
22
|
+
case "error":
|
|
23
|
+
return reduceTerminal(state, event);
|
|
24
|
+
/* satisfies exhaustiveness */
|
|
25
|
+
default:
|
|
26
|
+
// Exhaustive check: Using `never` will cause lint failure if not all
|
|
27
|
+
// state types are handled
|
|
28
|
+
const _exhaustive = state;
|
|
29
|
+
return _exhaustive;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/* --------------------------------------------------
|
|
33
|
+
reducer helpers – one function per state
|
|
34
|
+
---------------------------------------------------*/
|
|
35
|
+
function reduceIdle(state, event) {
|
|
36
|
+
switch (event.type) {
|
|
37
|
+
case "preview_generated":
|
|
38
|
+
return {
|
|
39
|
+
type: "preview",
|
|
40
|
+
order: event.order,
|
|
41
|
+
payParamsData: event.payParamsData,
|
|
42
|
+
};
|
|
43
|
+
// Handle cases where the order id is already partially processed
|
|
44
|
+
case "order_loaded": {
|
|
45
|
+
const order = event.order;
|
|
46
|
+
if (order.intentStatus === DaimoPayIntentStatus.COMPLETED) {
|
|
47
|
+
assert(order.mode === DaimoPayOrderMode.HYDRATED, `[PAYMENT_REDUCER] order ${order.id} is ${order.intentStatus} but not hydrated`);
|
|
48
|
+
return { type: "payment_completed", order };
|
|
49
|
+
}
|
|
50
|
+
else if (order.intentStatus === DaimoPayIntentStatus.BOUNCED) {
|
|
51
|
+
assert(order.mode === DaimoPayOrderMode.HYDRATED, `[PAYMENT_REDUCER] order ${order.id} is ${order.intentStatus} but not hydrated`);
|
|
52
|
+
return { type: "payment_bounced", order };
|
|
53
|
+
}
|
|
54
|
+
else if (order.intentStatus === DaimoPayIntentStatus.STARTED) {
|
|
55
|
+
assert(order.mode === DaimoPayOrderMode.HYDRATED, `[PAYMENT_REDUCER] order ${order.id} is ${order.intentStatus} but not hydrated`);
|
|
56
|
+
return { type: "payment_started", order };
|
|
57
|
+
}
|
|
58
|
+
else if (order.mode === DaimoPayOrderMode.HYDRATED) {
|
|
59
|
+
return { type: "payment_unpaid", order };
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
return { type: "unhydrated", order };
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
case "error":
|
|
66
|
+
return {
|
|
67
|
+
type: "error",
|
|
68
|
+
order: event.order,
|
|
69
|
+
message: event.message,
|
|
70
|
+
};
|
|
71
|
+
case "reset":
|
|
72
|
+
return initialPaymentState;
|
|
73
|
+
default:
|
|
74
|
+
return state;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function reducePreview(state, event) {
|
|
78
|
+
assert(state.order.mode !== DaimoPayOrderMode.HYDRATED, "reducePreview called on hydrated order");
|
|
79
|
+
switch (event.type) {
|
|
80
|
+
case "order_hydrated":
|
|
81
|
+
return { type: "payment_unpaid", order: event.order };
|
|
82
|
+
case "set_chosen_usd": {
|
|
83
|
+
const token = state.order.destFinalCallTokenAmount.token;
|
|
84
|
+
const tokenUnits = (event.usd / token.priceFromUsd).toString();
|
|
85
|
+
const tokenAmount = parseUnits(tokenUnits, token.decimals);
|
|
86
|
+
// Stay in preview state, but update the order's destFinalCallTokenAmount
|
|
87
|
+
return {
|
|
88
|
+
type: "preview",
|
|
89
|
+
order: {
|
|
90
|
+
...state.order,
|
|
91
|
+
destFinalCallTokenAmount: {
|
|
92
|
+
token,
|
|
93
|
+
amount: tokenAmount.toString(),
|
|
94
|
+
usd: event.usd,
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
payParamsData: state.payParamsData,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
case "error":
|
|
101
|
+
return {
|
|
102
|
+
type: "error",
|
|
103
|
+
order: event.order,
|
|
104
|
+
message: event.message,
|
|
105
|
+
};
|
|
106
|
+
case "reset":
|
|
107
|
+
return initialPaymentState;
|
|
108
|
+
default:
|
|
109
|
+
return state;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
function reduceUnhydrated(state, event) {
|
|
113
|
+
switch (event.type) {
|
|
114
|
+
case "order_hydrated":
|
|
115
|
+
return { type: "payment_unpaid", order: event.order };
|
|
116
|
+
case "error":
|
|
117
|
+
return {
|
|
118
|
+
type: "error",
|
|
119
|
+
order: event.order,
|
|
120
|
+
message: event.message,
|
|
121
|
+
};
|
|
122
|
+
case "reset":
|
|
123
|
+
return initialPaymentState;
|
|
124
|
+
default:
|
|
125
|
+
return state;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
function reducePaymentUnpaid(state, event) {
|
|
129
|
+
switch (event.type) {
|
|
130
|
+
case "order_refreshed":
|
|
131
|
+
return reduceOrderRefreshed(state, event.order);
|
|
132
|
+
case "error":
|
|
133
|
+
return {
|
|
134
|
+
type: "error",
|
|
135
|
+
order: event.order,
|
|
136
|
+
message: event.message,
|
|
137
|
+
};
|
|
138
|
+
case "reset":
|
|
139
|
+
return initialPaymentState;
|
|
140
|
+
default:
|
|
141
|
+
return state;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function reducePaymentStarted(state, event) {
|
|
145
|
+
switch (event.type) {
|
|
146
|
+
case "order_refreshed":
|
|
147
|
+
return reduceOrderRefreshed(state, event.order);
|
|
148
|
+
case "error":
|
|
149
|
+
return {
|
|
150
|
+
type: "error",
|
|
151
|
+
order: event.order,
|
|
152
|
+
message: event.message,
|
|
153
|
+
};
|
|
154
|
+
case "reset":
|
|
155
|
+
return initialPaymentState;
|
|
156
|
+
default:
|
|
157
|
+
return state;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
function reduceOrderRefreshed(state, order) {
|
|
161
|
+
assert(isHydrated(order), `[PAYMENT_REDUCER] unhydrated`);
|
|
162
|
+
switch (order.intentStatus) {
|
|
163
|
+
case DaimoPayIntentStatus.UNPAID:
|
|
164
|
+
return { type: "payment_unpaid", order };
|
|
165
|
+
case DaimoPayIntentStatus.STARTED:
|
|
166
|
+
return { type: "payment_started", order };
|
|
167
|
+
case DaimoPayIntentStatus.COMPLETED:
|
|
168
|
+
return { type: "payment_completed", order };
|
|
169
|
+
case DaimoPayIntentStatus.BOUNCED:
|
|
170
|
+
return { type: "payment_bounced", order };
|
|
171
|
+
default:
|
|
172
|
+
return state;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
function reduceTerminal(state, event) {
|
|
176
|
+
switch (event.type) {
|
|
177
|
+
case "reset":
|
|
178
|
+
return initialPaymentState;
|
|
179
|
+
// In terminal states we ignore everything except reset
|
|
180
|
+
default:
|
|
181
|
+
return state;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export { initialPaymentState, paymentReducer };
|
|
186
|
+
//# sourceMappingURL=paymentFsm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paymentFsm.js","sources":["../../../src/payment/paymentFsm.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { waitForState, createStore } from '../stateStore.js';
|
|
2
|
+
import { paymentReducer, initialPaymentState } from './paymentFsm.js';
|
|
3
|
+
|
|
4
|
+
function createPaymentStore() {
|
|
5
|
+
const store = createStore(paymentReducer, initialPaymentState);
|
|
6
|
+
return store;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Wait for the `PaymentStore` to enter a state matching `predicate`,
|
|
10
|
+
* or reject as soon as it hits the `"error"` state.
|
|
11
|
+
*
|
|
12
|
+
* @returns Promise<T> resolving with the first matching state or rejecting with
|
|
13
|
+
* the error message
|
|
14
|
+
*/
|
|
15
|
+
function waitForPaymentState(store, predicate) {
|
|
16
|
+
return waitForState(store, predicate,
|
|
17
|
+
// isError
|
|
18
|
+
(s) => s.type === "error",
|
|
19
|
+
// getErrorMessage
|
|
20
|
+
(s) => s.message);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { createPaymentStore, waitForPaymentState };
|
|
24
|
+
//# sourceMappingURL=paymentStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paymentStore.js","sources":["../../../src/payment/paymentStore.ts"],"sourcesContent":[null],"names":[],"mappings":";;;SAYgB,kBAAkB,GAAA;IAChC,MAAM,KAAK,GAAG,WAAW,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;AAC/D,IAAA,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;AAMG;AACa,SAAA,mBAAmB,CACjC,KAAmB,EACnB,SAAsC,EAAA;AAEtC,IAAA,OAAO,YAAY,CACjB,KAAK,EACL,SAAS;;IAET,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,OAAO;;IAEzB,CAAC,CAAC,KAAM,CAA8C,CAAC,OAAO,CAC/D,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { debugJson, DaimoPayOrderMode, DaimoPayOrderStatusSource } from '@daimo/pay-common';
|
|
3
|
+
import { Buffer } from 'buffer';
|
|
4
|
+
import React, { useMemo, useState, useRef, useCallback, useEffect, createElement } from 'react';
|
|
5
|
+
import { ThemeProvider } from 'styled-components';
|
|
6
|
+
import { WagmiContext } from 'wagmi';
|
|
7
|
+
import { DaimoPayModal } from '../components/DaimoPayModal/index.js';
|
|
8
|
+
import { ROUTES } from '../constants/routes.js';
|
|
9
|
+
import { REQUIRED_CHAINS } from '../defaultConfig.js';
|
|
10
|
+
import { useChains } from '../hooks/useChains.js';
|
|
11
|
+
import { useConnectCallback } from '../hooks/useConnectCallback.js';
|
|
12
|
+
import { useDaimoPay } from '../hooks/useDaimoPay.js';
|
|
13
|
+
import { usePaymentState } from '../hooks/usePaymentState.js';
|
|
14
|
+
import { PaymentProvider, PaymentContext } from './PaymentProvider.js';
|
|
15
|
+
import defaultTheme from '../styles/defaultTheme.js';
|
|
16
|
+
import { createTrpcClient } from '../utils/trpc.js';
|
|
17
|
+
import { setInWalletPaymentUrlFromApiUrl } from '../wallets/walletConfigs.js';
|
|
18
|
+
import { PayContext } from './PayContext.js';
|
|
19
|
+
import { SolanaContextProvider } from './SolanaContextProvider.js';
|
|
20
|
+
import { Web3ContextProvider } from './Web3ContextProvider.js';
|
|
21
|
+
|
|
22
|
+
const DaimoPayUIProvider = ({ children, theme = "auto", mode = "auto", customTheme, options, onConnect, onDisconnect, debugMode = false, payApiUrl, log, }) => {
|
|
23
|
+
if (!React.useContext(PaymentContext)) {
|
|
24
|
+
throw Error("DaimoPayProvider must be within a PaymentProvider");
|
|
25
|
+
}
|
|
26
|
+
// DaimoPayProvider must be within a WagmiProvider
|
|
27
|
+
if (!React.useContext(WagmiContext)) {
|
|
28
|
+
throw Error("DaimoPayProvider must be within a WagmiProvider");
|
|
29
|
+
}
|
|
30
|
+
// Only allow for mounting DaimoPayProvider once, so we avoid weird global
|
|
31
|
+
// state collisions.
|
|
32
|
+
if (React.useContext(PayContext)) {
|
|
33
|
+
throw new Error("Multiple, nested usages of DaimoPayProvider detected. Please use only one.");
|
|
34
|
+
}
|
|
35
|
+
useConnectCallback({
|
|
36
|
+
onConnect,
|
|
37
|
+
onDisconnect,
|
|
38
|
+
});
|
|
39
|
+
const chains = useChains();
|
|
40
|
+
for (const requiredChain of REQUIRED_CHAINS) {
|
|
41
|
+
if (!chains.some((c) => c.id === requiredChain.id)) {
|
|
42
|
+
throw new Error(`Daimo Pay requires chains ${REQUIRED_CHAINS.map((c) => c.name).join(", ")}. Use \`getDefaultConfig\` to automatically configure required chains.`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Default config options
|
|
46
|
+
const defaultOptions = {
|
|
47
|
+
language: "en-US",
|
|
48
|
+
hideBalance: false,
|
|
49
|
+
hideTooltips: false,
|
|
50
|
+
hideQuestionMarkCTA: false,
|
|
51
|
+
hideNoWalletCTA: false,
|
|
52
|
+
hideRecentBadge: false,
|
|
53
|
+
avoidLayoutShift: true,
|
|
54
|
+
embedGoogleFonts: false,
|
|
55
|
+
truncateLongENSAddress: true,
|
|
56
|
+
reducedMotion: false,
|
|
57
|
+
disclaimer: null,
|
|
58
|
+
bufferPolyfill: true,
|
|
59
|
+
customAvatar: undefined,
|
|
60
|
+
initialChainId: undefined,
|
|
61
|
+
enforceSupportedChains: false,
|
|
62
|
+
ethereumOnboardingUrl: undefined,
|
|
63
|
+
walletOnboardingUrl: undefined,
|
|
64
|
+
overlayBlur: undefined,
|
|
65
|
+
};
|
|
66
|
+
const opts = Object.assign({}, defaultOptions, options);
|
|
67
|
+
if (typeof window !== "undefined") {
|
|
68
|
+
// Buffer Polyfill, needed for bundlers that don't provide Node polyfills (e.g CRA, Vite, etc.)
|
|
69
|
+
if (opts.bufferPolyfill)
|
|
70
|
+
window.Buffer = window.Buffer ?? Buffer;
|
|
71
|
+
// Some bundlers may need `global` and `process.env` polyfills as well
|
|
72
|
+
// Not implemented here to avoid unexpected behaviors, but leaving example here for future reference
|
|
73
|
+
/*
|
|
74
|
+
* window.global = window.global ?? window;
|
|
75
|
+
* window.process = window.process ?? { env: {} };
|
|
76
|
+
*/
|
|
77
|
+
}
|
|
78
|
+
const pay = useDaimoPay();
|
|
79
|
+
const [ckTheme, setTheme] = useState(theme);
|
|
80
|
+
const [ckMode, setMode] = useState(mode);
|
|
81
|
+
const [ckCustomTheme, setCustomTheme] = useState(customTheme ?? {});
|
|
82
|
+
const [ckLang, setLang] = useState("en-US");
|
|
83
|
+
const onOpenRef = useRef();
|
|
84
|
+
const onCloseRef = useRef();
|
|
85
|
+
const setOnOpen = useCallback((fn) => {
|
|
86
|
+
onOpenRef.current = fn;
|
|
87
|
+
}, []);
|
|
88
|
+
const setOnClose = useCallback((fn) => {
|
|
89
|
+
onCloseRef.current = fn;
|
|
90
|
+
}, []);
|
|
91
|
+
const [open, setOpenState] = useState(false);
|
|
92
|
+
const [lockPayParams, setLockPayParams] = useState(false);
|
|
93
|
+
const [paymentCompleted, setPaymentCompleted] = useState(false);
|
|
94
|
+
const [route, setRouteState] = useState(ROUTES.SELECT_METHOD);
|
|
95
|
+
const [modalOptions, setModalOptions] = useState();
|
|
96
|
+
// Daimo Pay context
|
|
97
|
+
const [pendingConnectorId, setPendingConnectorId] = useState(undefined);
|
|
98
|
+
// Track sessions. Each generates separate intent IDs unless using externalId.
|
|
99
|
+
const [sessionId] = useState(() => crypto.randomUUID().replaceAll("-", ""));
|
|
100
|
+
const [solanaConnector, setSolanaConnector] = useState();
|
|
101
|
+
// Other configuration
|
|
102
|
+
const [errorMessage, setErrorMessage] = useState("");
|
|
103
|
+
const [confirmationMessage, setConfirmationMessage] = useState(undefined);
|
|
104
|
+
const [redirectReturnUrl, setRedirectReturnUrl] = useState(undefined);
|
|
105
|
+
// Connect to the Daimo Pay TRPC API
|
|
106
|
+
const trpc = useMemo(() => {
|
|
107
|
+
return createTrpcClient(payApiUrl, sessionId);
|
|
108
|
+
}, [payApiUrl, sessionId]);
|
|
109
|
+
const [resize, onResize] = useState(0);
|
|
110
|
+
useEffect(() => {
|
|
111
|
+
setInWalletPaymentUrlFromApiUrl(payApiUrl);
|
|
112
|
+
}, [payApiUrl]);
|
|
113
|
+
const setOpen = useCallback((open, meta) => {
|
|
114
|
+
setOpenState(open);
|
|
115
|
+
// Lock pay params starting from the first time the modal is opened to
|
|
116
|
+
// prevent the daimo pay order from changing from under the user
|
|
117
|
+
if (open) {
|
|
118
|
+
setLockPayParams(true);
|
|
119
|
+
}
|
|
120
|
+
// Reset payment state on close if resetOnSuccess is true
|
|
121
|
+
if (!open && paymentCompleted && modalOptions?.resetOnSuccess) {
|
|
122
|
+
setPaymentCompleted(false);
|
|
123
|
+
setLockPayParams(false);
|
|
124
|
+
paymentState.resetOrder();
|
|
125
|
+
}
|
|
126
|
+
// Log the open/close event
|
|
127
|
+
trpc.nav.mutate({
|
|
128
|
+
action: open ? "navOpenPay" : "navClosePay",
|
|
129
|
+
orderId: pay.order?.id?.toString(),
|
|
130
|
+
data: meta ?? {},
|
|
131
|
+
});
|
|
132
|
+
// Run the onOpen and onClose callbacks
|
|
133
|
+
if (open)
|
|
134
|
+
onOpenRef.current?.();
|
|
135
|
+
else
|
|
136
|
+
onCloseRef.current?.();
|
|
137
|
+
},
|
|
138
|
+
// We don't have good caching on paymentState, so don't include it as a dep
|
|
139
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
140
|
+
[trpc, pay.order?.id, modalOptions?.resetOnSuccess, paymentCompleted]);
|
|
141
|
+
// Callback when a payment is successfully completed (regardless of whether
|
|
142
|
+
// the final call succeeded or bounced)
|
|
143
|
+
const onSuccess = useCallback(() => {
|
|
144
|
+
if (modalOptions?.closeOnSuccess) {
|
|
145
|
+
setTimeout(() => setOpen(false, { event: "wait-success" }), 1000);
|
|
146
|
+
}
|
|
147
|
+
setPaymentCompleted(true);
|
|
148
|
+
}, [modalOptions?.closeOnSuccess, setOpen, setPaymentCompleted]);
|
|
149
|
+
const setRoute = useCallback((route, data) => {
|
|
150
|
+
const action = route.replace("daimoPay", "");
|
|
151
|
+
log(`[SET ROUTE] ${action} ${pay.order?.id} ${debugJson(data ?? {})}`);
|
|
152
|
+
trpc.nav.mutate({
|
|
153
|
+
action,
|
|
154
|
+
orderId: pay.order?.id?.toString(),
|
|
155
|
+
data: data ?? {},
|
|
156
|
+
});
|
|
157
|
+
setRouteState(route);
|
|
158
|
+
}, [trpc, pay.order?.id, log]);
|
|
159
|
+
// Other Configuration
|
|
160
|
+
useEffect(() => setTheme(theme), [theme]);
|
|
161
|
+
useEffect(() => setLang(opts.language || "en-US"), [opts.language]);
|
|
162
|
+
useEffect(() => setErrorMessage(null), [route, open]);
|
|
163
|
+
const paymentState = usePaymentState({
|
|
164
|
+
trpc,
|
|
165
|
+
lockPayParams,
|
|
166
|
+
setRoute,
|
|
167
|
+
log,
|
|
168
|
+
redirectReturnUrl,
|
|
169
|
+
});
|
|
170
|
+
const showPayment = async (modalOptions) => {
|
|
171
|
+
const id = pay.order?.id;
|
|
172
|
+
log(`[PAY] showing payment ${debugJson({ id, modalOptions })}`);
|
|
173
|
+
setModalOptions(modalOptions);
|
|
174
|
+
setOpen(true);
|
|
175
|
+
if (modalOptions.connectedWalletOnly) {
|
|
176
|
+
paymentState.setTokenMode("all");
|
|
177
|
+
}
|
|
178
|
+
if (pay.paymentState === "payment_started" ||
|
|
179
|
+
pay.paymentState === "payment_completed" ||
|
|
180
|
+
pay.paymentState === "payment_bounced") {
|
|
181
|
+
setRoute(ROUTES.CONFIRMATION);
|
|
182
|
+
}
|
|
183
|
+
else if (modalOptions.connectedWalletOnly) {
|
|
184
|
+
setRoute(ROUTES.SELECT_TOKEN);
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
setRoute(ROUTES.SELECT_METHOD);
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
// Watch when the order gets paid and navigate to confirmation
|
|
191
|
+
// ...if underpaid, go to the deposit addr screen, let the user finish paying.
|
|
192
|
+
const isUnderpaid = pay.order?.mode === DaimoPayOrderMode.HYDRATED &&
|
|
193
|
+
pay.order.sourceStatus === DaimoPayOrderStatusSource.WAITING_PAYMENT &&
|
|
194
|
+
pay.order.sourceTokenAmount != null;
|
|
195
|
+
useEffect(() => {
|
|
196
|
+
if (pay.paymentState === "payment_started" ||
|
|
197
|
+
pay.paymentState === "payment_completed" ||
|
|
198
|
+
pay.paymentState === "payment_bounced") {
|
|
199
|
+
setRoute(ROUTES.CONFIRMATION, { event: "payment-started" });
|
|
200
|
+
}
|
|
201
|
+
else if (isUnderpaid) {
|
|
202
|
+
paymentState.setSelectedDepositAddressOption(undefined);
|
|
203
|
+
setRoute(ROUTES.WAITING_DEPOSIT_ADDRESS);
|
|
204
|
+
}
|
|
205
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
206
|
+
}, [pay.paymentState, setRoute, isUnderpaid]);
|
|
207
|
+
const value = {
|
|
208
|
+
theme: ckTheme,
|
|
209
|
+
setTheme,
|
|
210
|
+
mode: ckMode,
|
|
211
|
+
setMode,
|
|
212
|
+
customTheme,
|
|
213
|
+
setCustomTheme,
|
|
214
|
+
lang: ckLang,
|
|
215
|
+
setLang,
|
|
216
|
+
setOnOpen,
|
|
217
|
+
setOnClose,
|
|
218
|
+
open,
|
|
219
|
+
setOpen,
|
|
220
|
+
route,
|
|
221
|
+
setRoute,
|
|
222
|
+
// Daimo Pay context
|
|
223
|
+
pendingConnectorId,
|
|
224
|
+
setPendingConnectorId,
|
|
225
|
+
sessionId,
|
|
226
|
+
solanaConnector,
|
|
227
|
+
setSolanaConnector,
|
|
228
|
+
onConnect,
|
|
229
|
+
// Other configuration
|
|
230
|
+
options: opts,
|
|
231
|
+
errorMessage,
|
|
232
|
+
onSuccess,
|
|
233
|
+
confirmationMessage,
|
|
234
|
+
setConfirmationMessage,
|
|
235
|
+
redirectReturnUrl,
|
|
236
|
+
setRedirectReturnUrl,
|
|
237
|
+
debugMode,
|
|
238
|
+
log,
|
|
239
|
+
displayError: (message, code) => {
|
|
240
|
+
setErrorMessage(message);
|
|
241
|
+
console.log("---------DAIMOPAY DEBUG---------");
|
|
242
|
+
console.log(message);
|
|
243
|
+
if (code)
|
|
244
|
+
console.table(code);
|
|
245
|
+
console.log("---------/DAIMOPAY DEBUG---------");
|
|
246
|
+
},
|
|
247
|
+
resize,
|
|
248
|
+
triggerResize: () => onResize((prev) => prev + 1),
|
|
249
|
+
// Above: generic ConnectKit context
|
|
250
|
+
// Below: Daimo Pay context
|
|
251
|
+
showPayment,
|
|
252
|
+
paymentState,
|
|
253
|
+
trpc,
|
|
254
|
+
};
|
|
255
|
+
return createElement(PayContext.Provider, { value }, jsx(Web3ContextProvider, { children: jsxs(ThemeProvider, { theme: defaultTheme, children: [children, jsx(DaimoPayModal, { lang: ckLang, theme: ckTheme, mode: mode, customTheme: ckCustomTheme })] }) }));
|
|
256
|
+
};
|
|
257
|
+
/**
|
|
258
|
+
* Provides context for DaimoPayButton and hooks. Place in app root or layout.
|
|
259
|
+
*/
|
|
260
|
+
const DaimoPayProvider = (props) => {
|
|
261
|
+
const payApiUrl = props.payApiUrl ?? "https://pay-api.daimo.xyz/";
|
|
262
|
+
const log = useMemo(() => (props.debugMode ? console.log : () => { }), [props.debugMode]);
|
|
263
|
+
return (jsx(PaymentProvider, { payApiUrl: payApiUrl, log: log, children: jsx(SolanaContextProvider, { solanaRpcUrl: props.solanaRpcUrl, children: jsx(DaimoPayUIProvider, { ...props, payApiUrl: payApiUrl, log: log }) }) }));
|
|
264
|
+
};
|
|
265
|
+
|
|
266
|
+
export { DaimoPayProvider };
|
|
267
|
+
//# sourceMappingURL=DaimoPayProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DaimoPayProvider.js","sources":["../../../src/provider/DaimoPayProvider.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayContext.js","sources":["../../../src/provider/PayContext.tsx"],"sourcesContent":[null],"names":[],"mappings":";;AAeA;MACa,UAAU,GAAG,aAAa,CAAyB,IAAI;;;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { createContext, useState, useMemo, useLayoutEffect } from 'react';
|
|
3
|
+
import { attachPaymentEffectHandlers } from '../payment/paymentEffects.js';
|
|
4
|
+
import { createPaymentStore } from '../payment/paymentStore.js';
|
|
5
|
+
import { createTrpcClient } from '../utils/trpc.js';
|
|
6
|
+
|
|
7
|
+
const PaymentContext = createContext(null);
|
|
8
|
+
function PaymentProvider({ children, payApiUrl, log = console.log, }) {
|
|
9
|
+
// Generate unique sessionId for tracking in the backend
|
|
10
|
+
const [sessionId] = useState(() => crypto.randomUUID().replaceAll("-", ""));
|
|
11
|
+
const trpc = useMemo(() => {
|
|
12
|
+
return createTrpcClient(payApiUrl, sessionId);
|
|
13
|
+
}, [payApiUrl, sessionId]);
|
|
14
|
+
const store = useMemo(() => {
|
|
15
|
+
return createPaymentStore();
|
|
16
|
+
}, []);
|
|
17
|
+
// Attach subscriber to run side effects in response to events. Use a
|
|
18
|
+
// layout effect that runs before the first render.
|
|
19
|
+
useLayoutEffect(() => {
|
|
20
|
+
const unsubscribe = attachPaymentEffectHandlers(store, trpc, log);
|
|
21
|
+
log("[EFFECT] subscribed to payment effects");
|
|
22
|
+
return unsubscribe;
|
|
23
|
+
}, [store, trpc, log]);
|
|
24
|
+
return (jsx(PaymentContext.Provider, { value: store, children: children }));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export { PaymentContext, PaymentProvider };
|
|
28
|
+
//# sourceMappingURL=PaymentProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentProvider.js","sources":["../../../src/provider/PaymentProvider.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;;;MAKa,cAAc,GAAG,aAAa,CAAsB,IAAI,EAAE;AAQvD,SAAA,eAAe,CAAC,EAC9B,QAAQ,EACR,SAAS,EACT,GAAG,GAAG,OAAO,CAAC,GAAG,GACI,EAAA;;IAErB,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AAC5E,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAK;AACxB,QAAA,OAAO,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAChD,KAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAE3B,IAAA,MAAM,KAAK,GAAG,OAAO,CAAC,MAAK;QACzB,OAAO,kBAAkB,EAAE,CAAC;KAC7B,EAAE,EAAE,CAAC,CAAC;;;IAIP,eAAe,CAAC,MAAK;QACnB,MAAM,WAAW,GAAG,2BAA2B,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAClE,GAAG,CAAC,wCAAwC,CAAC,CAAC;AAC9C,QAAA,OAAO,WAAW,CAAC;KACpB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAEvB,IAAA,QACEA,GAAA,CAAC,cAAc,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,KAAK,EAAA,QAAA,EAAG,QAAQ,EAAA,CAA2B,EAC3E;AACJ;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { ConnectionProvider, WalletProvider } from '@solana/wallet-adapter-react';
|
|
3
|
+
|
|
4
|
+
const DEFAULT_SOLANA_RPC_URL = "https://nameless-thrilling-spring.solana-mainnet.quiknode.pro/71d5c9acbf54c7cf00584cf6fab7fc37e844415f/";
|
|
5
|
+
const SolanaContextProvider = ({ children, solanaRpcUrl, }) => {
|
|
6
|
+
const endpoint = solanaRpcUrl ?? DEFAULT_SOLANA_RPC_URL;
|
|
7
|
+
return (jsx(ConnectionProvider, { endpoint: endpoint, children: jsx(WalletProvider, { wallets: [], autoConnect: true, children: children }) }));
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export { SolanaContextProvider };
|
|
11
|
+
//# sourceMappingURL=SolanaContextProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SolanaContextProvider.js","sources":["../../../src/provider/SolanaContextProvider.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;AAQA,MAAM,sBAAsB,GAC1B,yGAAyG,CAAC;AAE/F,MAAA,qBAAqB,GAAG,CAAC,EACpC,QAAQ,EACR,YAAY,GAIb,KAAI;AACH,IAAA,MAAM,QAAQ,GAAG,YAAY,IAAI,sBAAsB,CAAC;IAExD,QACEA,IAAC,kBAAkB,EAAA,EAAC,QAAQ,EAAE,QAAQ,YACpCA,GAAC,CAAA,cAAc,IAAC,OAAO,EAAE,EAAE,EAAE,WAAW,kBACrC,QAAQ,EAAA,CACM,EACE,CAAA,EACrB;AACJ;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useAccount } from 'wagmi';
|
|
4
|
+
import { useChainIsSupported } from '../hooks/useChainIsSupported.js';
|
|
5
|
+
import { useChains } from '../hooks/useChains.js';
|
|
6
|
+
|
|
7
|
+
const Web3Context = React.createContext({
|
|
8
|
+
connect: {
|
|
9
|
+
getUri: () => "",
|
|
10
|
+
},
|
|
11
|
+
dapp: {
|
|
12
|
+
chains: [],
|
|
13
|
+
},
|
|
14
|
+
account: undefined,
|
|
15
|
+
});
|
|
16
|
+
const Web3ContextProvider = ({ children, }) => {
|
|
17
|
+
const { address: currentAddress, chain } = useAccount();
|
|
18
|
+
const chainIsSupported = useChainIsSupported(chain?.id);
|
|
19
|
+
const chains = useChains();
|
|
20
|
+
const value = {
|
|
21
|
+
dapp: {
|
|
22
|
+
chains,
|
|
23
|
+
},
|
|
24
|
+
account: currentAddress
|
|
25
|
+
? {
|
|
26
|
+
chain,
|
|
27
|
+
chainIsSupported,
|
|
28
|
+
address: currentAddress,
|
|
29
|
+
}
|
|
30
|
+
: undefined,
|
|
31
|
+
};
|
|
32
|
+
return jsx(Web3Context.Provider, { value: value, children: children });
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export { Web3ContextProvider };
|
|
36
|
+
//# sourceMappingURL=Web3ContextProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Web3ContextProvider.js","sources":["../../../src/provider/Web3ContextProvider.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;;;AA0BA,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC;AACtC,IAAA,OAAO,EAAE;AACP,QAAA,MAAM,EAAE,MAAM,EAAE;AACjB,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,EAAE;AACX,KAAA;AACD,IAAA,OAAO,EAAE,SAAS;AACJ,CAAA,CAAC,CAAC;MAEL,mBAAmB,GAAG,CAAC,EAClC,QAAQ,GAGT,KAAI;IACH,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC;IACxD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACxD,IAAA,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAE3B,IAAA,MAAM,KAAK,GAAG;AACZ,QAAA,IAAI,EAAE;YACJ,MAAM;AACP,SAAA;AACD,QAAA,OAAO,EAAE,cAAc;AACrB,cAAE;gBACE,KAAK;gBACL,gBAAgB;AAChB,gBAAA,OAAO,EAAE,cAAc;AACxB,aAAA;AACH,cAAE,SAAS;KACC,CAAC;IAEjB,OAAOA,GAAA,CAAC,WAAW,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,KAAK,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAwB,CAAC;AAC/E;;;;"}
|