@daimo/pay 1.19.5 → 1.19.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/_virtual/common.js +4 -0
- package/build/_virtual/common.js.map +1 -0
- package/build/_virtual/common2.js +4 -0
- package/build/_virtual/common2.js.map +1 -0
- package/build/_virtual/hash.js +4 -0
- package/build/_virtual/hash.js.map +1 -0
- package/build/_virtual/hash2.js +4 -0
- package/build/_virtual/hash2.js.map +1 -0
- package/build/_virtual/index.js +4 -0
- package/build/_virtual/index.js.map +1 -0
- package/build/_virtual/index2.js +4 -0
- package/build/_virtual/index2.js.map +1 -0
- package/build/_virtual/inherits_browser.js +4 -0
- package/build/_virtual/inherits_browser.js.map +1 -0
- package/build/_virtual/ripemd.js +4 -0
- package/build/_virtual/ripemd.js.map +1 -0
- package/build/_virtual/sha.js +4 -0
- package/build/_virtual/sha.js.map +1 -0
- package/build/_virtual/utils.js +4 -0
- package/build/_virtual/utils.js.map +1 -0
- package/build/node_modules/@binance/w3w-utils/dist/index.js +7 -0
- package/build/node_modules/@binance/w3w-utils/dist/index.js.map +1 -0
- package/build/node_modules/@binance/w3w-utils/node_modules/eventemitter3/index.js +349 -0
- package/build/node_modules/@binance/w3w-utils/node_modules/eventemitter3/index.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/common.js +105 -0
- package/build/node_modules/hash.js/lib/hash/common.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/hmac.js +60 -0
- package/build/node_modules/hash.js/lib/hash/hmac.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/ripemd.js +159 -0
- package/build/node_modules/hash.js/lib/hash/ripemd.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/sha/1.js +88 -0
- package/build/node_modules/hash.js/lib/hash/sha/1.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/sha/224.js +42 -0
- package/build/node_modules/hash.js/lib/hash/sha/224.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/sha/256.js +120 -0
- package/build/node_modules/hash.js/lib/hash/sha/256.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/sha/384.js +48 -0
- package/build/node_modules/hash.js/lib/hash/sha/384.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/sha/512.js +344 -0
- package/build/node_modules/hash.js/lib/hash/sha/512.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/sha/common.js +61 -0
- package/build/node_modules/hash.js/lib/hash/sha/common.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/sha.js +23 -0
- package/build/node_modules/hash.js/lib/hash/sha.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash/utils.js +291 -0
- package/build/node_modules/hash.js/lib/hash/utils.js.map +1 -0
- package/build/node_modules/hash.js/lib/hash.js +34 -0
- package/build/node_modules/hash.js/lib/hash.js.map +1 -0
- package/build/node_modules/inherits/inherits_browser.js +39 -0
- package/build/node_modules/inherits/inherits_browser.js.map +1 -0
- package/build/node_modules/minimalistic-assert/index.js +22 -0
- package/build/node_modules/minimalistic-assert/index.js.map +1 -0
- package/build/package.json.js +2 -2
- package/build/pay/packages/connectkit/package.json.js +123 -0
- package/build/pay/packages/connectkit/package.json.js.map +1 -0
- package/build/pay/packages/connectkit/src/assets/MobileWithLogos.js +329 -0
- package/build/pay/packages/connectkit/src/assets/MobileWithLogos.js.map +1 -0
- package/build/pay/packages/connectkit/src/assets/ScanIconWithLogos.js +243 -0
- package/build/pay/packages/connectkit/src/assets/ScanIconWithLogos.js.map +1 -0
- package/build/pay/packages/connectkit/src/assets/browsers.js +969 -0
- package/build/pay/packages/connectkit/src/assets/browsers.js.map +1 -0
- package/build/pay/packages/connectkit/src/assets/chains.js +639 -0
- package/build/pay/packages/connectkit/src/assets/chains.js.map +1 -0
- package/build/pay/packages/connectkit/src/assets/icons.js +273 -0
- package/build/pay/packages/connectkit/src/assets/icons.js.map +1 -0
- package/build/pay/packages/connectkit/src/assets/logos.js +1722 -0
- package/build/pay/packages/connectkit/src/assets/logos.js.map +1 -0
- package/build/pay/packages/connectkit/src/assets/wave.js +46 -0
- package/build/pay/packages/connectkit/src/assets/wave.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Alert/index.js +13 -0
- package/build/pay/packages/connectkit/src/components/Common/Alert/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Alert/styles.js +55 -0
- package/build/pay/packages/connectkit/src/components/Common/Alert/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/AmountInput/AmountInputField.js +71 -0
- package/build/pay/packages/connectkit/src/components/Common/AmountInput/AmountInputField.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/AmountInput/index.js +159 -0
- package/build/pay/packages/connectkit/src/components/Common/AmountInput/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Avatar/index.js +78 -0
- package/build/pay/packages/connectkit/src/components/Common/Avatar/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Avatar/styles.js +54 -0
- package/build/pay/packages/connectkit/src/components/Common/Avatar/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/index.js +29 -0
- package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/styles.js +20 -0
- package/build/pay/packages/connectkit/src/components/Common/BrowserIcon/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Button/index.js +144 -0
- package/build/pay/packages/connectkit/src/components/Common/Button/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Button/styles.js +287 -0
- package/build/pay/packages/connectkit/src/components/Common/Button/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Chain/index.js +141 -0
- package/build/pay/packages/connectkit/src/components/Common/Chain/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Chain/styles.js +90 -0
- package/build/pay/packages/connectkit/src/components/Common/Chain/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/index.js +250 -0
- package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/styles.js +226 -0
- package/build/pay/packages/connectkit/src/components/Common/ChainSelectList/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/CircleTimer.js +92 -0
- package/build/pay/packages/connectkit/src/components/Common/CircleTimer.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/ConnectorList/index.js +121 -0
- package/build/pay/packages/connectkit/src/components/Common/ConnectorList/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/ConnectorList/styles.js +344 -0
- package/build/pay/packages/connectkit/src/components/Common/ConnectorList/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js +78 -0
- package/build/pay/packages/connectkit/src/components/Common/CopyToClipboard/CopyToClipboardIcon.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/QRCode.js +132 -0
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/QRCode.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/index.js +89 -0
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/styles.js +142 -0
- package/build/pay/packages/connectkit/src/components/Common/CustomQRCode/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/FitText/index.js +34 -0
- package/build/pay/packages/connectkit/src/components/Common/FitText/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Modal/index.js +547 -0
- package/build/pay/packages/connectkit/src/components/Common/Modal/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Modal/styles.js +665 -0
- package/build/pay/packages/connectkit/src/components/Common/Modal/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/OptionsList/index.js +145 -0
- package/build/pay/packages/connectkit/src/components/Common/OptionsList/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/OptionsList/styles.js +138 -0
- package/build/pay/packages/connectkit/src/components/Common/OptionsList/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/OrderHeader/index.js +148 -0
- package/build/pay/packages/connectkit/src/components/Common/OrderHeader/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/PaymentBreakdown/index.js +70 -0
- package/build/pay/packages/connectkit/src/components/Common/PaymentBreakdown/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Portal/index.js +30 -0
- package/build/pay/packages/connectkit/src/components/Common/Portal/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/PoweredByFooter/index.js +39 -0
- package/build/pay/packages/connectkit/src/components/Common/PoweredByFooter/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/ScrollArea/index.js +120 -0
- package/build/pay/packages/connectkit/src/components/Common/ScrollArea/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/ScrollArea/styles.js +169 -0
- package/build/pay/packages/connectkit/src/components/Common/ScrollArea/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/SelectAnotherMethodButton/index.js +96 -0
- package/build/pay/packages/connectkit/src/components/Common/SelectAnotherMethodButton/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Spinner/index.js +64 -0
- package/build/pay/packages/connectkit/src/components/Common/Spinner/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Spinner/styles.js +22 -0
- package/build/pay/packages/connectkit/src/components/Common/Spinner/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/SwitchButton/index.js +43 -0
- package/build/pay/packages/connectkit/src/components/Common/SwitchButton/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/ThemedButton/index.js +46 -0
- package/build/pay/packages/connectkit/src/components/Common/ThemedButton/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/ThemedButton/styles.js +152 -0
- package/build/pay/packages/connectkit/src/components/Common/ThemedButton/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/TokenChainLogo/index.js +62 -0
- package/build/pay/packages/connectkit/src/components/Common/TokenChainLogo/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Tooltip/index.js +129 -0
- package/build/pay/packages/connectkit/src/components/Common/Tooltip/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/Tooltip/styles.js +81 -0
- package/build/pay/packages/connectkit/src/components/Common/Tooltip/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Common/WalletChainLogo/index.js +31 -0
- package/build/pay/packages/connectkit/src/components/Common/WalletChainLogo/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayButton/index.js +196 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayButton/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayButton/styles.js +50 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayButton/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectUsing.js +70 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectUsing.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js +339 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js +131 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithInjector/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js +86 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/index.js +605 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayModal/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js +25 -0
- package/build/pay/packages/connectkit/src/components/DaimoPayThemeProvider/DaimoPayThemeProvider.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/About/graphics.js +853 -0
- package/build/pay/packages/connectkit/src/components/Pages/About/graphics.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/About/index.js +222 -0
- package/build/pay/packages/connectkit/src/components/Pages/About/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/About/styles.js +140 -0
- package/build/pay/packages/connectkit/src/components/Pages/About/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/Confirmation/index.js +126 -0
- package/build/pay/packages/connectkit/src/components/Pages/Confirmation/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/Connectors/index.js +26 -0
- package/build/pay/packages/connectkit/src/components/Pages/Connectors/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/Error/index.js +57 -0
- package/build/pay/packages/connectkit/src/components/Pages/Error/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/index.js +108 -0
- package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/styles.js +64 -0
- package/build/pay/packages/connectkit/src/components/Pages/MobileConnectors/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/Onboarding/index.js +34 -0
- package/build/pay/packages/connectkit/src/components/Pages/Onboarding/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/Onboarding/styles.js +229 -0
- package/build/pay/packages/connectkit/src/components/Pages/Onboarding/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/PayWithToken/index.js +157 -0
- package/build/pay/packages/connectkit/src/components/Pages/PayWithToken/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectAmount/index.js +24 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectAmount/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js +79 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressAmount/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressChain/index.js +80 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectDepositAddressChain/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectExchange/index.js +62 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectExchange/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectExternalAmount/index.js +80 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectExternalAmount/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectMethod/index.js +315 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectMethod/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectToken/index.js +99 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectToken/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectWalletAmount/index.js +71 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectWalletAmount/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectWalletChain/index.js +55 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectWalletChain/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectZKP/index.js +41 -0
- package/build/pay/packages/connectkit/src/components/Pages/SelectZKP/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js +94 -0
- package/build/pay/packages/connectkit/src/components/Pages/Solana/ConnectorSolana/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js +92 -0
- package/build/pay/packages/connectkit/src/components/Pages/Solana/PayWithSolanaToken/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js +24 -0
- package/build/pay/packages/connectkit/src/components/Pages/Solana/SelectSolanaAmount/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/SwitchNetworks/index.js +45 -0
- package/build/pay/packages/connectkit/src/components/Pages/SwitchNetworks/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/WaitingDepositAddress/index.js +586 -0
- package/build/pay/packages/connectkit/src/components/Pages/WaitingDepositAddress/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/WaitingExternal/index.js +174 -0
- package/build/pay/packages/connectkit/src/components/Pages/WaitingExternal/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/WaitingWallet/index.js +49 -0
- package/build/pay/packages/connectkit/src/components/Pages/WaitingWallet/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Pages/Warning/index.js +56 -0
- package/build/pay/packages/connectkit/src/components/Pages/Warning/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/index.js +104 -0
- package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/styles.js +117 -0
- package/build/pay/packages/connectkit/src/components/Spinners/CircleSpinner/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js +29 -0
- package/build/pay/packages/connectkit/src/components/Spinners/ExternalPaymentSpinner/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/index.js +68 -0
- package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/styles.js +66 -0
- package/build/pay/packages/connectkit/src/components/Spinners/SquircleSpinner/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/index.js +24 -0
- package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js +40 -0
- package/build/pay/packages/connectkit/src/components/Spinners/TokenLogoSpinner/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js +37 -0
- package/build/pay/packages/connectkit/src/components/Spinners/WalletPaymentSpinner/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/components/Spinners/styles.js +32 -0
- package/build/pay/packages/connectkit/src/components/Spinners/styles.js.map +1 -0
- package/build/pay/packages/connectkit/src/constants/defaultTheme.js +6 -0
- package/build/pay/packages/connectkit/src/constants/defaultTheme.js.map +1 -0
- package/build/pay/packages/connectkit/src/constants/limits.js +4 -0
- package/build/pay/packages/connectkit/src/constants/limits.js.map +1 -0
- package/build/pay/packages/connectkit/src/constants/paymentOptions.js +62 -0
- package/build/pay/packages/connectkit/src/constants/paymentOptions.js.map +1 -0
- package/build/pay/packages/connectkit/src/constants/routes.js +31 -0
- package/build/pay/packages/connectkit/src/constants/routes.js.map +1 -0
- package/build/pay/packages/connectkit/src/constants/wallets.js +7 -0
- package/build/pay/packages/connectkit/src/constants/wallets.js.map +1 -0
- package/build/pay/packages/connectkit/src/defaultConfig.js +64 -0
- package/build/pay/packages/connectkit/src/defaultConfig.js.map +1 -0
- package/build/pay/packages/connectkit/src/defaultConnectors.js +37 -0
- package/build/pay/packages/connectkit/src/defaultConnectors.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useChainIsSupported.js +10 -0
- package/build/pay/packages/connectkit/src/hooks/useChainIsSupported.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useChains.js +10 -0
- package/build/pay/packages/connectkit/src/hooks/useChains.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useConnect.js +61 -0
- package/build/pay/packages/connectkit/src/hooks/useConnect.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useConnectCallback.js +21 -0
- package/build/pay/packages/connectkit/src/hooks/useConnectCallback.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useConnectors.js +20 -0
- package/build/pay/packages/connectkit/src/hooks/useConnectors.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useDaimoPay.js +131 -0
- package/build/pay/packages/connectkit/src/hooks/useDaimoPay.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useDaimoPayStatus.js +12 -0
- package/build/pay/packages/connectkit/src/hooks/useDaimoPayStatus.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useDaimoPayUI.js +15 -0
- package/build/pay/packages/connectkit/src/hooks/useDaimoPayUI.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useDepositAddressOptions.js +35 -0
- package/build/pay/packages/connectkit/src/hooks/useDepositAddressOptions.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useEnsFallbackConfig.js +16 -0
- package/build/pay/packages/connectkit/src/hooks/useEnsFallbackConfig.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useExternalPaymentOptions.js +79 -0
- package/build/pay/packages/connectkit/src/hooks/useExternalPaymentOptions.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useFitText.js +133 -0
- package/build/pay/packages/connectkit/src/hooks/useFitText.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useFocusTrap.js +53 -0
- package/build/pay/packages/connectkit/src/hooks/useFocusTrap.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useIsMobile.js +11 -0
- package/build/pay/packages/connectkit/src/hooks/useIsMobile.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useIsMounted.js +10 -0
- package/build/pay/packages/connectkit/src/hooks/useIsMounted.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useLastConnector.js +24 -0
- package/build/pay/packages/connectkit/src/hooks/useLastConnector.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useLocales.js +60 -0
- package/build/pay/packages/connectkit/src/hooks/useLocales.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useLockBodyScroll.js +47 -0
- package/build/pay/packages/connectkit/src/hooks/useLockBodyScroll.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useOrderUsdLimits.js +24 -0
- package/build/pay/packages/connectkit/src/hooks/useOrderUsdLimits.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/usePayContext.js +11 -0
- package/build/pay/packages/connectkit/src/hooks/usePayContext.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/usePaymentState.js +410 -0
- package/build/pay/packages/connectkit/src/hooks/usePaymentState.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/usePrevious.js +13 -0
- package/build/pay/packages/connectkit/src/hooks/usePrevious.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useSolanaPaymentOptions.js +38 -0
- package/build/pay/packages/connectkit/src/hooks/useSolanaPaymentOptions.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useTokenOptions.js +152 -0
- package/build/pay/packages/connectkit/src/hooks/useTokenOptions.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useUntronAvailability.js +32 -0
- package/build/pay/packages/connectkit/src/hooks/useUntronAvailability.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useWalletPaymentOptions.js +97 -0
- package/build/pay/packages/connectkit/src/hooks/useWalletPaymentOptions.js.map +1 -0
- package/build/pay/packages/connectkit/src/hooks/useWindowSize.js +23 -0
- package/build/pay/packages/connectkit/src/hooks/useWindowSize.js.map +1 -0
- package/build/pay/packages/connectkit/src/index.js +14 -0
- package/build/pay/packages/connectkit/src/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/index.js +48 -0
- package/build/pay/packages/connectkit/src/localizations/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ar-AE.js +95 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ar-AE.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ca-AD.js +93 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ca-AD.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ee-EE.js +101 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ee-EE.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/en-US.js +145 -0
- package/build/pay/packages/connectkit/src/localizations/locales/en-US.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/es-ES.js +138 -0
- package/build/pay/packages/connectkit/src/localizations/locales/es-ES.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/fa-IR.js +93 -0
- package/build/pay/packages/connectkit/src/localizations/locales/fa-IR.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/fr-FR.js +93 -0
- package/build/pay/packages/connectkit/src/localizations/locales/fr-FR.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ja-JP.js +93 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ja-JP.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/pt-BR.js +145 -0
- package/build/pay/packages/connectkit/src/localizations/locales/pt-BR.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ru-RU.js +97 -0
- package/build/pay/packages/connectkit/src/localizations/locales/ru-RU.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/tr-TR.js +101 -0
- package/build/pay/packages/connectkit/src/localizations/locales/tr-TR.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/vi-VN.js +101 -0
- package/build/pay/packages/connectkit/src/localizations/locales/vi-VN.js.map +1 -0
- package/build/pay/packages/connectkit/src/localizations/locales/zh-CN.js +93 -0
- package/build/pay/packages/connectkit/src/localizations/locales/zh-CN.js.map +1 -0
- package/build/pay/packages/connectkit/src/payment/paymentEffects.js +268 -0
- package/build/pay/packages/connectkit/src/payment/paymentEffects.js.map +1 -0
- package/build/pay/packages/connectkit/src/payment/paymentFsm.js +234 -0
- package/build/pay/packages/connectkit/src/payment/paymentFsm.js.map +1 -0
- package/build/pay/packages/connectkit/src/payment/paymentStore.js +18 -0
- package/build/pay/packages/connectkit/src/payment/paymentStore.js.map +1 -0
- package/build/pay/packages/connectkit/src/payment/paymentUtils.js +10 -0
- package/build/pay/packages/connectkit/src/payment/paymentUtils.js.map +1 -0
- package/build/pay/packages/connectkit/src/provider/DaimoPayProvider.js +292 -0
- package/build/pay/packages/connectkit/src/provider/DaimoPayProvider.js.map +1 -0
- package/build/pay/packages/connectkit/src/provider/PayContext.js +6 -0
- package/build/pay/packages/connectkit/src/provider/PayContext.js.map +1 -0
- package/build/pay/packages/connectkit/src/provider/PaymentProvider.js +29 -0
- package/build/pay/packages/connectkit/src/provider/PaymentProvider.js.map +1 -0
- package/build/pay/packages/connectkit/src/provider/SolanaContextProvider.js +14 -0
- package/build/pay/packages/connectkit/src/provider/SolanaContextProvider.js.map +1 -0
- package/build/pay/packages/connectkit/src/provider/Web3ContextProvider.js +36 -0
- package/build/pay/packages/connectkit/src/provider/Web3ContextProvider.js.map +1 -0
- package/build/pay/packages/connectkit/src/stateStore.js +36 -0
- package/build/pay/packages/connectkit/src/stateStore.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/defaultTheme.js +80 -0
- package/build/pay/packages/connectkit/src/styles/defaultTheme.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/index.js +313 -0
- package/build/pay/packages/connectkit/src/styles/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/styled/index.js +6 -0
- package/build/pay/packages/connectkit/src/styles/styled/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/themes/base.js +141 -0
- package/build/pay/packages/connectkit/src/styles/themes/base.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/themes/index.js +13 -0
- package/build/pay/packages/connectkit/src/styles/themes/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/themes/midnight.js +76 -0
- package/build/pay/packages/connectkit/src/styles/themes/midnight.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/themes/minimal.js +96 -0
- package/build/pay/packages/connectkit/src/styles/themes/minimal.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/themes/nouns.js +81 -0
- package/build/pay/packages/connectkit/src/styles/themes/nouns.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/themes/retro.js +106 -0
- package/build/pay/packages/connectkit/src/styles/themes/retro.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/themes/rounded.js +106 -0
- package/build/pay/packages/connectkit/src/styles/themes/rounded.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/themes/soft.js +71 -0
- package/build/pay/packages/connectkit/src/styles/themes/soft.js.map +1 -0
- package/build/pay/packages/connectkit/src/styles/themes/web95.js +132 -0
- package/build/pay/packages/connectkit/src/styles/themes/web95.js.map +1 -0
- package/build/pay/packages/connectkit/src/utils/exports.js +6 -0
- package/build/pay/packages/connectkit/src/utils/exports.js.map +1 -0
- package/build/pay/packages/connectkit/src/utils/format.js +45 -0
- package/build/pay/packages/connectkit/src/utils/format.js.map +1 -0
- package/build/pay/packages/connectkit/src/utils/index.js +42 -0
- package/build/pay/packages/connectkit/src/utils/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/utils/p3.js +15 -0
- package/build/pay/packages/connectkit/src/utils/p3.js.map +1 -0
- package/build/pay/packages/connectkit/src/utils/platform.js +11 -0
- package/build/pay/packages/connectkit/src/utils/platform.js.map +1 -0
- package/build/pay/packages/connectkit/src/utils/polling.js +35 -0
- package/build/pay/packages/connectkit/src/utils/polling.js.map +1 -0
- package/build/pay/packages/connectkit/src/utils/supportUrl.js +16 -0
- package/build/pay/packages/connectkit/src/utils/supportUrl.js.map +1 -0
- package/build/pay/packages/connectkit/src/utils/trpc.js +19 -0
- package/build/pay/packages/connectkit/src/utils/trpc.js.map +1 -0
- package/build/pay/packages/connectkit/src/utils/validateInput.js +16 -0
- package/build/pay/packages/connectkit/src/utils/validateInput.js.map +1 -0
- package/build/pay/packages/connectkit/src/wallets/index.js +21 -0
- package/build/pay/packages/connectkit/src/wallets/index.js.map +1 -0
- package/build/pay/packages/connectkit/src/wallets/useWallets.js +278 -0
- package/build/pay/packages/connectkit/src/wallets/useWallets.js.map +1 -0
- package/build/pay/packages/connectkit/src/wallets/walletConfigs.js +281 -0
- package/build/pay/packages/connectkit/src/wallets/walletConfigs.js.map +1 -0
- package/build/pay/packages/connectkit/src/world-mini-app/WorldPayButton.js +165 -0
- package/build/pay/packages/connectkit/src/world-mini-app/WorldPayButton.js.map +1 -0
- package/build/pay/packages/connectkit/src/world-mini-app/promptWorldPayment.js +59 -0
- package/build/pay/packages/connectkit/src/world-mini-app/promptWorldPayment.js.map +1 -0
- package/build/pay/packages/connectkit/src/world-mini-app/useWithdrawToWorld.js +76 -0
- package/build/pay/packages/connectkit/src/world-mini-app/useWithdrawToWorld.js.map +1 -0
- package/build/pay/packages/connectkit/src/world-mini-app/useWorldSignIn.js +74 -0
- package/build/pay/packages/connectkit/src/world-mini-app/useWorldSignIn.js.map +1 -0
- package/build/pay/packages/connectkit/src/world.js +4 -0
- package/build/pay/packages/connectkit/src/world.js.map +1 -0
- package/build/src/components/Common/PoweredByFooter/index.js +10 -37
- package/build/src/components/Common/PoweredByFooter/index.js.map +1 -1
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +3 -0
- package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
- package/build/src/components/Pages/Confirmation/index.js +8 -10
- package/build/src/components/Pages/Confirmation/index.js.map +1 -1
- package/build/src/payment/paymentEffects.js +9 -7
- package/build/src/payment/paymentEffects.js.map +1 -1
- package/build/src/provider/DaimoPayProvider.js +9 -1
- package/build/src/provider/DaimoPayProvider.js.map +1 -1
- package/build/src/provider/PaymentProvider.js +9 -3
- package/build/src/provider/PaymentProvider.js.map +1 -1
- package/build/src/utils/polling.js +14 -5
- package/build/src/utils/polling.js.map +1 -1
- package/build/src/utils/wallets.js +9 -0
- package/build/src/utils/wallets.js.map +1 -0
- package/build/src/wallets/useWallets.js +1 -1
- package/build/src/wallets/useWallets.js.map +1 -1
- package/build/src/wallets/walletConfigs.js +8 -84
- package/build/src/wallets/walletConfigs.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { ExternalPaymentOptions } from '@daimo/pay-common';
|
|
3
|
+
import { PageContent, ModalH1 } from '../../Common/Modal/styles.js';
|
|
4
|
+
import { ROUTES } from '../../../constants/routes.js';
|
|
5
|
+
import { usePayContext } from '../../../hooks/usePayContext.js';
|
|
6
|
+
import { OptionsList } from '../../Common/OptionsList/index.js';
|
|
7
|
+
import { OrderHeader } from '../../Common/OrderHeader/index.js';
|
|
8
|
+
|
|
9
|
+
const SelectExchange = () => {
|
|
10
|
+
const { paymentState, setRoute } = usePayContext();
|
|
11
|
+
const { externalPaymentOptions, setSelectedExternalOption } = paymentState;
|
|
12
|
+
const exchangeOptions = externalPaymentOptions.options.get("exchange");
|
|
13
|
+
const isLoading = externalPaymentOptions.loading;
|
|
14
|
+
if (!isLoading && !exchangeOptions) {
|
|
15
|
+
return /* @__PURE__ */ jsxs(PageContent, { children: [
|
|
16
|
+
/* @__PURE__ */ jsx(OrderHeader, { minified: true }),
|
|
17
|
+
/* @__PURE__ */ jsx(ModalH1, { children: "No Exchange options available" })
|
|
18
|
+
] });
|
|
19
|
+
}
|
|
20
|
+
const paymentOptions = paymentState.buttonProps?.paymentOptions;
|
|
21
|
+
const isAllExchangesOnly = paymentOptions && paymentOptions.length === 1 && paymentOptions[0] === "AllExchanges";
|
|
22
|
+
let filtered = [];
|
|
23
|
+
if (exchangeOptions) {
|
|
24
|
+
if (isAllExchangesOnly) {
|
|
25
|
+
filtered = exchangeOptions.filter(
|
|
26
|
+
(o) => o.id === ExternalPaymentOptions.Coinbase || o.id === ExternalPaymentOptions.Binance
|
|
27
|
+
);
|
|
28
|
+
} else {
|
|
29
|
+
filtered = exchangeOptions;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const options = filtered.map((option) => ({
|
|
33
|
+
id: option.id,
|
|
34
|
+
title: option.cta,
|
|
35
|
+
icons: [option.logoURI],
|
|
36
|
+
onClick: () => {
|
|
37
|
+
setSelectedExternalOption(option);
|
|
38
|
+
const meta = { event: "click-option", option: option.id };
|
|
39
|
+
if (paymentState.isDepositFlow) {
|
|
40
|
+
setRoute(ROUTES.SELECT_EXTERNAL_AMOUNT, meta);
|
|
41
|
+
} else {
|
|
42
|
+
setRoute(ROUTES.WAITING_EXTERNAL, meta);
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
disabled: option.disabled,
|
|
46
|
+
subtitle: option.message
|
|
47
|
+
}));
|
|
48
|
+
return /* @__PURE__ */ jsxs(PageContent, { children: [
|
|
49
|
+
/* @__PURE__ */ jsx(OrderHeader, { minified: true, show: "zkp2p" }),
|
|
50
|
+
/* @__PURE__ */ jsx(
|
|
51
|
+
OptionsList,
|
|
52
|
+
{
|
|
53
|
+
requiredSkeletons: 2,
|
|
54
|
+
options,
|
|
55
|
+
isLoading
|
|
56
|
+
}
|
|
57
|
+
)
|
|
58
|
+
] });
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
export { SelectExchange as default };
|
|
62
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../../src/components/Pages/SelectExchange/index.tsx"],"sourcesContent":["import { ExternalPaymentOptions } from \"@daimo/pay-common\";\nimport React from \"react\";\n\nimport { ModalH1, PageContent } from \"../../Common/Modal/styles\";\n\nimport { ROUTES } from \"../../../constants/routes\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\nimport { OptionsList } from \"../../Common/OptionsList\";\nimport { OrderHeader } from \"../../Common/OrderHeader\";\n\nconst SelectExchange: React.FC = () => {\n const { paymentState, setRoute } = usePayContext();\n const { externalPaymentOptions, setSelectedExternalOption } = paymentState;\n const exchangeOptions = externalPaymentOptions.options.get(\"exchange\");\n const isLoading = externalPaymentOptions.loading;\n\n // No exchange options available\n if (!isLoading && !exchangeOptions) {\n return (\n <PageContent>\n <OrderHeader minified />\n <ModalH1>No Exchange options available</ModalH1>\n </PageContent>\n );\n }\n\n // For the exchange flow with single \"AllExchanges\" payment option, we only\n // show the Coinbase and Binance options\n const paymentOptions = paymentState.buttonProps?.paymentOptions;\n const isAllExchangesOnly =\n paymentOptions &&\n paymentOptions.length === 1 &&\n paymentOptions[0] === \"AllExchanges\";\n\n let filtered: typeof exchangeOptions = [];\n if (exchangeOptions) {\n if (isAllExchangesOnly) {\n filtered = exchangeOptions.filter(\n (o) =>\n o.id === ExternalPaymentOptions.Coinbase ||\n o.id === ExternalPaymentOptions.Binance,\n );\n } else {\n filtered = exchangeOptions;\n }\n }\n\n const options = filtered.map((option) => ({\n id: option.id,\n title: option.cta,\n icons: [option.logoURI],\n onClick: () => {\n setSelectedExternalOption(option);\n const meta = { event: \"click-option\", option: option.id };\n if (paymentState.isDepositFlow) {\n setRoute(ROUTES.SELECT_EXTERNAL_AMOUNT, meta);\n } else {\n setRoute(ROUTES.WAITING_EXTERNAL, meta);\n }\n },\n disabled: option.disabled,\n subtitle: option.message,\n }));\n\n return (\n <PageContent>\n <OrderHeader minified show=\"zkp2p\" />\n <OptionsList\n requiredSkeletons={2}\n options={options}\n isLoading={isLoading}\n />\n </PageContent>\n );\n};\n\nexport default SelectExchange;\n"],"names":[],"mappings":";;;;;;;;AAUA,MAAM,iBAA2B,MAAM;AACrC,EAAA,MAAM,EAAE,YAAA,EAAc,QAAS,EAAA,GAAI,aAAc,EAAA,CAAA;AACjD,EAAM,MAAA,EAAE,sBAAwB,EAAA,yBAAA,EAA8B,GAAA,YAAA,CAAA;AAC9D,EAAA,MAAM,eAAkB,GAAA,sBAAA,CAAuB,OAAQ,CAAA,GAAA,CAAI,UAAU,CAAA,CAAA;AACrE,EAAA,MAAM,YAAY,sBAAuB,CAAA,OAAA,CAAA;AAGzC,EAAI,IAAA,CAAC,SAAa,IAAA,CAAC,eAAiB,EAAA;AAClC,IAAA,4BACG,WACC,EAAA,EAAA,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,WAAA,EAAA,EAAY,UAAQ,IAAC,EAAA,CAAA;AAAA,sBACtB,GAAA,CAAC,WAAQ,QAA6B,EAAA,+BAAA,EAAA,CAAA;AAAA,KACxC,EAAA,CAAA,CAAA;AAAA,GAEJ;AAIA,EAAM,MAAA,cAAA,GAAiB,aAAa,WAAa,EAAA,cAAA,CAAA;AACjD,EAAA,MAAM,qBACJ,cACA,IAAA,cAAA,CAAe,WAAW,CAC1B,IAAA,cAAA,CAAe,CAAC,CAAM,KAAA,cAAA,CAAA;AAExB,EAAA,IAAI,WAAmC,EAAC,CAAA;AACxC,EAAA,IAAI,eAAiB,EAAA;AACnB,IAAA,IAAI,kBAAoB,EAAA;AACtB,MAAA,QAAA,GAAW,eAAgB,CAAA,MAAA;AAAA,QACzB,CAAC,MACC,CAAE,CAAA,EAAA,KAAO,uBAAuB,QAChC,IAAA,CAAA,CAAE,OAAO,sBAAuB,CAAA,OAAA;AAAA,OACpC,CAAA;AAAA,KACK,MAAA;AACL,MAAW,QAAA,GAAA,eAAA,CAAA;AAAA,KACb;AAAA,GACF;AAEA,EAAA,MAAM,OAAU,GAAA,QAAA,CAAS,GAAI,CAAA,CAAC,MAAY,MAAA;AAAA,IACxC,IAAI,MAAO,CAAA,EAAA;AAAA,IACX,OAAO,MAAO,CAAA,GAAA;AAAA,IACd,KAAA,EAAO,CAAC,MAAA,CAAO,OAAO,CAAA;AAAA,IACtB,SAAS,MAAM;AACb,MAAA,yBAAA,CAA0B,MAAM,CAAA,CAAA;AAChC,MAAA,MAAM,OAAO,EAAE,KAAA,EAAO,cAAgB,EAAA,MAAA,EAAQ,OAAO,EAAG,EAAA,CAAA;AACxD,MAAA,IAAI,aAAa,aAAe,EAAA;AAC9B,QAAS,QAAA,CAAA,MAAA,CAAO,wBAAwB,IAAI,CAAA,CAAA;AAAA,OACvC,MAAA;AACL,QAAS,QAAA,CAAA,MAAA,CAAO,kBAAkB,IAAI,CAAA,CAAA;AAAA,OACxC;AAAA,KACF;AAAA,IACA,UAAU,MAAO,CAAA,QAAA;AAAA,IACjB,UAAU,MAAO,CAAA,OAAA;AAAA,GACjB,CAAA,CAAA,CAAA;AAEF,EAAA,4BACG,WACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,WAAY,EAAA,EAAA,QAAA,EAAQ,IAAC,EAAA,IAAA,EAAK,OAAQ,EAAA,CAAA;AAAA,oBACnC,GAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,iBAAmB,EAAA,CAAA;AAAA,QACnB,OAAA;AAAA,QACA,SAAA;AAAA,OAAA;AAAA,KACF;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
3
|
+
import { ROUTES } from '../../../constants/routes.js';
|
|
4
|
+
import { usePayContext } from '../../../hooks/usePayContext.js';
|
|
5
|
+
import { PageContent, ModalContent, ModalBody } from '../../Common/Modal/styles.js';
|
|
6
|
+
import styled from '../../../styles/styled/index.js';
|
|
7
|
+
import { formatUsd, USD_DECIMALS } from '../../../utils/format.js';
|
|
8
|
+
import { isValidNumber, sanitizeNumber } from '../../../utils/validateInput.js';
|
|
9
|
+
import AmountInputField from '../../Common/AmountInput/AmountInputField.js';
|
|
10
|
+
import Button from '../../Common/Button/index.js';
|
|
11
|
+
import ExternalPaymentSpinner from '../../Spinners/ExternalPaymentSpinner/index.js';
|
|
12
|
+
|
|
13
|
+
const SelectExternalAmount = () => {
|
|
14
|
+
const { paymentState, setRoute, triggerResize } = usePayContext();
|
|
15
|
+
const { selectedExternalOption } = paymentState;
|
|
16
|
+
const maxUsdLimit = paymentState.getOrderUsdLimit();
|
|
17
|
+
const minimumMessage = (selectedExternalOption?.minimumUsd ?? 0) > 0 ? `Minimum ${formatUsd(selectedExternalOption?.minimumUsd ?? 0, "up")}` : null;
|
|
18
|
+
const [usdInput, setUsdInput] = useState("");
|
|
19
|
+
const [message, setMessage] = useState(minimumMessage);
|
|
20
|
+
const [continueDisabled, setContinueDisabled] = useState(true);
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
triggerResize();
|
|
23
|
+
}, [message]);
|
|
24
|
+
if (selectedExternalOption == null) {
|
|
25
|
+
return /* @__PURE__ */ jsx(PageContent, {});
|
|
26
|
+
}
|
|
27
|
+
const handleAmountChange = (e) => {
|
|
28
|
+
const value = e.target.value;
|
|
29
|
+
if (value !== "" && !isValidNumber(value, USD_DECIMALS)) return;
|
|
30
|
+
setUsdInput(value);
|
|
31
|
+
if (Number(value) > maxUsdLimit) {
|
|
32
|
+
setMessage(`Maximum ${formatUsd(maxUsdLimit)}`);
|
|
33
|
+
} else {
|
|
34
|
+
setMessage(minimumMessage);
|
|
35
|
+
}
|
|
36
|
+
const usd = Number(sanitizeNumber(value));
|
|
37
|
+
setContinueDisabled(
|
|
38
|
+
usd <= 0 || usd < (selectedExternalOption.minimumUsd ?? 0) || usd > maxUsdLimit
|
|
39
|
+
);
|
|
40
|
+
};
|
|
41
|
+
const handleKeyDown = (e) => {
|
|
42
|
+
if (e.key === "Enter" && !continueDisabled) {
|
|
43
|
+
handleContinue();
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const handleContinue = () => {
|
|
47
|
+
const amountUsd = Number(sanitizeNumber(usdInput));
|
|
48
|
+
paymentState.setChosenUsd(amountUsd);
|
|
49
|
+
setRoute(ROUTES.WAITING_EXTERNAL, { amountUsd });
|
|
50
|
+
};
|
|
51
|
+
return /* @__PURE__ */ jsxs(PageContent, { children: [
|
|
52
|
+
/* @__PURE__ */ jsx(
|
|
53
|
+
ExternalPaymentSpinner,
|
|
54
|
+
{
|
|
55
|
+
logoURI: selectedExternalOption.logoURI,
|
|
56
|
+
logoShape: selectedExternalOption.logoShape
|
|
57
|
+
}
|
|
58
|
+
),
|
|
59
|
+
/* @__PURE__ */ jsxs(ModalContent, { $preserveDisplay: true, children: [
|
|
60
|
+
/* @__PURE__ */ jsx(AmountInputContainer, { children: /* @__PURE__ */ jsx(
|
|
61
|
+
AmountInputField,
|
|
62
|
+
{
|
|
63
|
+
value: usdInput,
|
|
64
|
+
onChange: handleAmountChange,
|
|
65
|
+
onKeyDown: handleKeyDown
|
|
66
|
+
}
|
|
67
|
+
) }),
|
|
68
|
+
message && /* @__PURE__ */ jsx(ModalBody, { children: message }),
|
|
69
|
+
/* @__PURE__ */ jsx(Button, { onClick: handleContinue, disabled: continueDisabled, children: "Continue" })
|
|
70
|
+
] })
|
|
71
|
+
] });
|
|
72
|
+
};
|
|
73
|
+
const AmountInputContainer = styled.div`
|
|
74
|
+
display: flex;
|
|
75
|
+
align-items: center;
|
|
76
|
+
justify-content: center;
|
|
77
|
+
`;
|
|
78
|
+
|
|
79
|
+
export { SelectExternalAmount as default };
|
|
80
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../../src/components/Pages/SelectExternalAmount/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\n\nimport {\n ModalBody,\n ModalContent,\n PageContent,\n} from \"../../Common/Modal/styles\";\n\nimport styled from \"../../../styles/styled\";\nimport { formatUsd, USD_DECIMALS } from \"../../../utils/format\";\nimport { isValidNumber, sanitizeNumber } from \"../../../utils/validateInput\";\nimport AmountInputField from \"../../Common/AmountInput/AmountInputField\";\nimport Button from \"../../Common/Button\";\nimport ExternalPaymentSpinner from \"../../Spinners/ExternalPaymentSpinner\";\n\nconst SelectExternalAmount: React.FC = () => {\n const { paymentState, setRoute, triggerResize } = usePayContext();\n const { selectedExternalOption } = paymentState;\n\n const maxUsdLimit = paymentState.getOrderUsdLimit();\n const minimumMessage =\n (selectedExternalOption?.minimumUsd ?? 0) > 0\n ? `Minimum ${formatUsd(selectedExternalOption?.minimumUsd ?? 0, \"up\")}`\n : null;\n\n const [usdInput, setUsdInput] = useState<string>(\"\");\n const [message, setMessage] = useState<string | null>(minimumMessage);\n const [continueDisabled, setContinueDisabled] = useState(true);\n\n useEffect(() => {\n triggerResize();\n }, [message]); // eslint-disable-line react-hooks/exhaustive-deps\n\n if (selectedExternalOption == null) {\n return <PageContent></PageContent>;\n }\n\n const handleAmountChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n if (value !== \"\" && !isValidNumber(value, USD_DECIMALS)) return;\n\n setUsdInput(value);\n\n if (Number(value) > maxUsdLimit) {\n setMessage(`Maximum ${formatUsd(maxUsdLimit)}`);\n } else {\n setMessage(minimumMessage);\n }\n\n const usd = Number(sanitizeNumber(value));\n setContinueDisabled(\n usd <= 0 ||\n usd < (selectedExternalOption.minimumUsd ?? 0) ||\n usd > maxUsdLimit,\n );\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\" && !continueDisabled) {\n handleContinue();\n }\n };\n\n const handleContinue = () => {\n const amountUsd = Number(sanitizeNumber(usdInput));\n paymentState.setChosenUsd(amountUsd);\n setRoute(ROUTES.WAITING_EXTERNAL, { amountUsd });\n };\n\n return (\n <PageContent>\n <ExternalPaymentSpinner\n logoURI={selectedExternalOption.logoURI}\n logoShape={selectedExternalOption.logoShape}\n />\n <ModalContent $preserveDisplay={true}>\n <AmountInputContainer>\n <AmountInputField\n value={usdInput}\n onChange={handleAmountChange}\n onKeyDown={handleKeyDown}\n />\n </AmountInputContainer>\n {message && <ModalBody>{message}</ModalBody>}\n <Button onClick={handleContinue} disabled={continueDisabled}>\n Continue\n </Button>\n </ModalContent>\n </PageContent>\n );\n};\n\nconst AmountInputContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport default SelectExternalAmount;\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { ROUTES } from '../../../constants/routes.js';
|
|
3
|
+
import { usePayContext } from '../../../hooks/usePayContext.js';
|
|
4
|
+
import { PageContent } from '../../Common/Modal/styles.js';
|
|
5
|
+
import { DepositAddressPaymentOptions, getAddressContraction } from '@daimo/pay-common';
|
|
6
|
+
import { useWallet } from '@solana/wallet-adapter-react';
|
|
7
|
+
import { useAccount, useDisconnect, useConnections } from 'wagmi';
|
|
8
|
+
import { Ethereum, Solana, Polygon, Base, Tron } from '../../../assets/chains.js';
|
|
9
|
+
import { MetaMask, Trust, Rainbow, Phantom, Rabby, WalletIcon } from '../../../assets/logos.js';
|
|
10
|
+
import useIsMobile from '../../../hooks/useIsMobile.js';
|
|
11
|
+
import useLocales from '../../../hooks/useLocales.js';
|
|
12
|
+
import { flattenChildren } from '../../../utils/index.js';
|
|
13
|
+
import { walletConfigs } from '../../../wallets/walletConfigs.js';
|
|
14
|
+
import { OptionsList } from '../../Common/OptionsList/index.js';
|
|
15
|
+
import { OrderHeader } from '../../Common/OrderHeader/index.js';
|
|
16
|
+
import PoweredByFooter from '../../Common/PoweredByFooter/index.js';
|
|
17
|
+
import WalletChainLogo from '../../Common/WalletChainLogo/index.js';
|
|
18
|
+
|
|
19
|
+
function SelectMethod() {
|
|
20
|
+
const locales = useLocales();
|
|
21
|
+
const payWithString = flattenChildren(locales.payWith).join("");
|
|
22
|
+
const { isMobile } = useIsMobile();
|
|
23
|
+
const {
|
|
24
|
+
address,
|
|
25
|
+
chain,
|
|
26
|
+
isConnected: isEthConnected,
|
|
27
|
+
connector
|
|
28
|
+
} = useAccount();
|
|
29
|
+
const {
|
|
30
|
+
connected: isSolanaConnected,
|
|
31
|
+
wallet: solanaWallet,
|
|
32
|
+
disconnect: disconnectSolana,
|
|
33
|
+
publicKey
|
|
34
|
+
} = useWallet();
|
|
35
|
+
const { setRoute, paymentState, log, disableMobileInjector } = usePayContext();
|
|
36
|
+
const { disconnectAsync } = useDisconnect();
|
|
37
|
+
const connections = useConnections();
|
|
38
|
+
const { externalPaymentOptions, senderEnsName, topOptionsOrder } = paymentState;
|
|
39
|
+
const showConnectedEth = isEthConnected && (!isMobile || !disableMobileInjector);
|
|
40
|
+
const showConnectedSolana = isSolanaConnected && (!isMobile || !disableMobileInjector);
|
|
41
|
+
const getConnectedWalletOptions = () => {
|
|
42
|
+
const showChainLogo = isEthConnected && isSolanaConnected;
|
|
43
|
+
const connectedOptions = [];
|
|
44
|
+
if (showConnectedEth) {
|
|
45
|
+
const ethWalletDisplayName = senderEnsName ?? (address ? getAddressContraction(address) : "wallet");
|
|
46
|
+
let walletIcon;
|
|
47
|
+
const matchedConfig = Object.values(walletConfigs).find((cfg) => {
|
|
48
|
+
if (!cfg.name || !connector?.name) return false;
|
|
49
|
+
const cfgName = cfg.name.toLowerCase();
|
|
50
|
+
const connName = connector.name.toLowerCase();
|
|
51
|
+
return cfgName.includes(connName) || connName.includes(cfgName);
|
|
52
|
+
});
|
|
53
|
+
if (matchedConfig?.icon) {
|
|
54
|
+
walletIcon = typeof matchedConfig.icon === "string" ? /* @__PURE__ */ jsx("img", { src: matchedConfig.icon, alt: matchedConfig.name }) : matchedConfig.icon;
|
|
55
|
+
} else if (connector?.icon) {
|
|
56
|
+
walletIcon = /* @__PURE__ */ jsx("div", { style: { borderRadius: "22.5%", overflow: "hidden" }, children: /* @__PURE__ */ jsx("img", { src: connector.icon, alt: connector.name }) });
|
|
57
|
+
} else {
|
|
58
|
+
walletIcon = /* @__PURE__ */ jsx(WalletIcon, {});
|
|
59
|
+
}
|
|
60
|
+
const connectedEthWalletOption = {
|
|
61
|
+
id: "connectedWallet",
|
|
62
|
+
title: `${payWithString} ${ethWalletDisplayName}`,
|
|
63
|
+
icons: [
|
|
64
|
+
/* @__PURE__ */ jsx(
|
|
65
|
+
WalletChainLogo,
|
|
66
|
+
{
|
|
67
|
+
walletIcon,
|
|
68
|
+
walletName: connector?.name || "Wallet",
|
|
69
|
+
chainLogo: showChainLogo ? /* @__PURE__ */ jsx(Ethereum, {}) : null
|
|
70
|
+
},
|
|
71
|
+
"eth"
|
|
72
|
+
)
|
|
73
|
+
],
|
|
74
|
+
onClick: () => {
|
|
75
|
+
paymentState.setTokenMode("evm");
|
|
76
|
+
setRoute(ROUTES.SELECT_TOKEN, {
|
|
77
|
+
event: "click-wallet",
|
|
78
|
+
walletId: connector?.id,
|
|
79
|
+
chainId: chain?.id,
|
|
80
|
+
address
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
connectedOptions.push(connectedEthWalletOption);
|
|
85
|
+
}
|
|
86
|
+
if (showConnectedSolana) {
|
|
87
|
+
const solWalletDisplayName = getAddressContraction(
|
|
88
|
+
publicKey?.toBase58() ?? ""
|
|
89
|
+
);
|
|
90
|
+
let solWalletIcon;
|
|
91
|
+
const solMatchedConfig = Object.values(walletConfigs).find((cfg) => {
|
|
92
|
+
if (!cfg.name) return false;
|
|
93
|
+
const cfgName = cfg.name.toLowerCase();
|
|
94
|
+
const solName = solanaWallet?.adapter.name.toLowerCase() || "";
|
|
95
|
+
return cfgName.includes(solName) || solName.includes(cfgName);
|
|
96
|
+
});
|
|
97
|
+
if (solMatchedConfig?.icon) {
|
|
98
|
+
solWalletIcon = typeof solMatchedConfig.icon === "string" ? /* @__PURE__ */ jsx("img", { src: solMatchedConfig.icon, alt: solMatchedConfig.name }) : solMatchedConfig.icon;
|
|
99
|
+
} else if (solanaWallet?.adapter.icon) {
|
|
100
|
+
solWalletIcon = solanaWallet.adapter.icon;
|
|
101
|
+
} else {
|
|
102
|
+
solWalletIcon = /* @__PURE__ */ jsx(Solana, {});
|
|
103
|
+
}
|
|
104
|
+
const connectedSolWalletOption = {
|
|
105
|
+
id: "connectedSolanaWallet",
|
|
106
|
+
title: `${payWithString} ${solWalletDisplayName}`,
|
|
107
|
+
icons: [
|
|
108
|
+
/* @__PURE__ */ jsx(
|
|
109
|
+
WalletChainLogo,
|
|
110
|
+
{
|
|
111
|
+
walletIcon: solWalletIcon,
|
|
112
|
+
walletName: solanaWallet?.adapter.name || "Wallet",
|
|
113
|
+
chainLogo: showChainLogo && /* @__PURE__ */ jsx(Solana, {})
|
|
114
|
+
},
|
|
115
|
+
"sol-wallet"
|
|
116
|
+
)
|
|
117
|
+
],
|
|
118
|
+
onClick: () => {
|
|
119
|
+
paymentState.setTokenMode("solana");
|
|
120
|
+
setRoute(ROUTES.SELECT_TOKEN, {
|
|
121
|
+
event: "click-wallet",
|
|
122
|
+
walletId: solanaWallet?.adapter.name,
|
|
123
|
+
chainId: "solana",
|
|
124
|
+
address: publicKey?.toBase58()
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
connectedOptions.push(connectedSolWalletOption);
|
|
129
|
+
}
|
|
130
|
+
return connectedOptions;
|
|
131
|
+
};
|
|
132
|
+
const connectedWalletOptions = getConnectedWalletOptions();
|
|
133
|
+
const walletOrder = paymentState.externalPaymentOptions.parsedConfig.walletOrder;
|
|
134
|
+
const unconnectedWalletOption = {
|
|
135
|
+
id: "unconnectedWallet",
|
|
136
|
+
title: isEthConnected || isSolanaConnected ? locales.payWithAnotherWallet : locales.payWithWallet,
|
|
137
|
+
icons: getBestUnconnectedWalletIcons(connector, isMobile, walletOrder),
|
|
138
|
+
onClick: async () => {
|
|
139
|
+
await Promise.allSettled(
|
|
140
|
+
connections.map(
|
|
141
|
+
(connection) => disconnectAsync({ connector: connection.connector })
|
|
142
|
+
)
|
|
143
|
+
);
|
|
144
|
+
await disconnectSolana();
|
|
145
|
+
setRoute(ROUTES.CONNECTORS);
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
log(
|
|
149
|
+
`[SELECT_METHOD] loading: ${externalPaymentOptions.loading}, options: ${JSON.stringify(
|
|
150
|
+
externalPaymentOptions.options
|
|
151
|
+
)}`
|
|
152
|
+
);
|
|
153
|
+
const categorizedOptions = [];
|
|
154
|
+
connectedWalletOptions.forEach(
|
|
155
|
+
(opt) => categorizedOptions.push({ ...opt, category: "connected" })
|
|
156
|
+
);
|
|
157
|
+
if (topOptionsOrder.includes("AllWallets")) {
|
|
158
|
+
categorizedOptions.push({
|
|
159
|
+
...unconnectedWalletOption,
|
|
160
|
+
category: "AllWallets"
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
const exchangeOptions = externalPaymentOptions.options.get("exchange") ?? [];
|
|
164
|
+
const showExchangePaymentMethod = exchangeOptions.length > 0 && topOptionsOrder.includes("AllExchanges");
|
|
165
|
+
if (showExchangePaymentMethod) {
|
|
166
|
+
categorizedOptions.push({
|
|
167
|
+
id: "exchange",
|
|
168
|
+
title: locales.payWithExchange,
|
|
169
|
+
icons: exchangeOptions.slice(0, 3).map((option) => option.logoURI),
|
|
170
|
+
onClick: () => {
|
|
171
|
+
setRoute(ROUTES.SELECT_EXCHANGE, {
|
|
172
|
+
event: "click-option",
|
|
173
|
+
option: "exchange"
|
|
174
|
+
});
|
|
175
|
+
},
|
|
176
|
+
category: "AllExchanges"
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
if (topOptionsOrder.includes("Tron")) {
|
|
180
|
+
const tronOption = paymentState.depositAddressOptions.options?.find(
|
|
181
|
+
(option) => option.id === DepositAddressPaymentOptions.TRON_USDT
|
|
182
|
+
);
|
|
183
|
+
if (tronOption) {
|
|
184
|
+
categorizedOptions.push({
|
|
185
|
+
id: "tron",
|
|
186
|
+
title: tronOption.id,
|
|
187
|
+
// Use the actual title like "USDT on Tron"
|
|
188
|
+
icons: [tronOption.logoURI],
|
|
189
|
+
onClick: () => {
|
|
190
|
+
paymentState.setSelectedDepositAddressOption(tronOption);
|
|
191
|
+
setRoute(
|
|
192
|
+
paymentState.isDepositFlow ? ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT : ROUTES.WAITING_DEPOSIT_ADDRESS,
|
|
193
|
+
{ event: "select_tron" }
|
|
194
|
+
);
|
|
195
|
+
},
|
|
196
|
+
category: "Tron"
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
if (topOptionsOrder.includes("AllAddresses")) {
|
|
201
|
+
const depositAddressOption = getDepositAddressOption(
|
|
202
|
+
setRoute,
|
|
203
|
+
locales,
|
|
204
|
+
topOptionsOrder.includes("Tron")
|
|
205
|
+
// exclude Tron if shown separately
|
|
206
|
+
);
|
|
207
|
+
categorizedOptions.push({
|
|
208
|
+
...depositAddressOption,
|
|
209
|
+
category: "AllAddresses"
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
const zkp2pOptions = externalPaymentOptions.options.get("zkp2p") ?? [];
|
|
213
|
+
const showZkp2pPaymentMethod = !isMobile && zkp2pOptions.length > 0 && topOptionsOrder.includes("AllPaymentApps");
|
|
214
|
+
if (showZkp2pPaymentMethod) {
|
|
215
|
+
categorizedOptions.push({
|
|
216
|
+
id: "ZKP2P",
|
|
217
|
+
title: locales.payViaPaymentApp,
|
|
218
|
+
icons: zkp2pOptions.slice(0, 2).map((option) => option.logoURI),
|
|
219
|
+
onClick: () => {
|
|
220
|
+
setRoute(ROUTES.SELECT_ZKP2P);
|
|
221
|
+
},
|
|
222
|
+
category: "AllPaymentApps"
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
const sortedOptions = categorizedOptions.sort((a, b) => {
|
|
226
|
+
if (a.category === "connected") return -1;
|
|
227
|
+
if (b.category === "connected") return 1;
|
|
228
|
+
const aIndex = topOptionsOrder.indexOf(a.category);
|
|
229
|
+
const bIndex = topOptionsOrder.indexOf(b.category);
|
|
230
|
+
if (aIndex === -1 && bIndex === -1) return 0;
|
|
231
|
+
if (aIndex === -1) return 1;
|
|
232
|
+
if (bIndex === -1) return -1;
|
|
233
|
+
return aIndex - bIndex;
|
|
234
|
+
});
|
|
235
|
+
const options = sortedOptions.map(({ category, ...opt }) => opt);
|
|
236
|
+
options.sort((a, b) => (a.disabled ? 1 : 0) - (b.disabled ? 1 : 0));
|
|
237
|
+
return /* @__PURE__ */ jsxs(PageContent, { children: [
|
|
238
|
+
/* @__PURE__ */ jsx(OrderHeader, {}),
|
|
239
|
+
/* @__PURE__ */ jsx(
|
|
240
|
+
OptionsList,
|
|
241
|
+
{
|
|
242
|
+
requiredSkeletons: 3,
|
|
243
|
+
isLoading: externalPaymentOptions.loading,
|
|
244
|
+
options: externalPaymentOptions.loading ? [] : options
|
|
245
|
+
}
|
|
246
|
+
),
|
|
247
|
+
/* @__PURE__ */ jsx(PoweredByFooter, {})
|
|
248
|
+
] });
|
|
249
|
+
}
|
|
250
|
+
function getBestUnconnectedWalletIcons(connector, isMobile, walletOrder) {
|
|
251
|
+
const icons = [];
|
|
252
|
+
const strippedId = connector?.id.toLowerCase();
|
|
253
|
+
if (walletOrder && walletOrder.length > 0 && isMobile) {
|
|
254
|
+
const maxIcons = 3;
|
|
255
|
+
for (const walletName of walletOrder) {
|
|
256
|
+
if (icons.length >= maxIcons) break;
|
|
257
|
+
if (strippedId?.includes(walletName.toLowerCase())) continue;
|
|
258
|
+
const walletId = Object.keys(walletConfigs).find((id) => {
|
|
259
|
+
const wallet = walletConfigs[id];
|
|
260
|
+
const nameLower = walletName.toLowerCase();
|
|
261
|
+
return wallet.name?.toLowerCase().includes(nameLower) || wallet.shortName?.toLowerCase().includes(nameLower) || id.toLowerCase().includes(nameLower);
|
|
262
|
+
});
|
|
263
|
+
if (walletId) {
|
|
264
|
+
const wallet = walletConfigs[walletId];
|
|
265
|
+
const icon = wallet.iconConnector || wallet.icon;
|
|
266
|
+
if (icon) {
|
|
267
|
+
icons.push(
|
|
268
|
+
/* @__PURE__ */ jsx(
|
|
269
|
+
"div",
|
|
270
|
+
{
|
|
271
|
+
style: { borderRadius: "22.5%", overflow: "hidden" },
|
|
272
|
+
children: icon
|
|
273
|
+
},
|
|
274
|
+
walletId
|
|
275
|
+
)
|
|
276
|
+
);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
if (icons.length > 0) return icons;
|
|
281
|
+
}
|
|
282
|
+
const [isRainbow, isTrust, isPhantom, isMetaMask, isRabby] = [
|
|
283
|
+
strippedId?.includes("rainbow"),
|
|
284
|
+
strippedId?.includes("trust"),
|
|
285
|
+
strippedId?.includes("phantom"),
|
|
286
|
+
strippedId?.includes("coinbase"),
|
|
287
|
+
strippedId?.includes("metamask"),
|
|
288
|
+
strippedId?.includes("rabby")
|
|
289
|
+
];
|
|
290
|
+
if (isMobile) {
|
|
291
|
+
if (!isMetaMask) icons.push(/* @__PURE__ */ jsx(MetaMask, {}));
|
|
292
|
+
if (!isTrust) icons.push(/* @__PURE__ */ jsx(Trust, { background: true }));
|
|
293
|
+
if (!isRainbow && icons.length < 3) icons.push(/* @__PURE__ */ jsx(Rainbow, {}));
|
|
294
|
+
} else {
|
|
295
|
+
if (!isMetaMask) icons.push(/* @__PURE__ */ jsx(MetaMask, {}));
|
|
296
|
+
if (!isRainbow) icons.push(/* @__PURE__ */ jsx(Rainbow, {}));
|
|
297
|
+
if (!isPhantom) icons.push(/* @__PURE__ */ jsx(Phantom, {}));
|
|
298
|
+
if (!isRabby && icons.length < 3) icons.push(/* @__PURE__ */ jsx(Rabby, {}));
|
|
299
|
+
}
|
|
300
|
+
return icons;
|
|
301
|
+
}
|
|
302
|
+
function getDepositAddressOption(setRoute, locales, excludeTron = false) {
|
|
303
|
+
const icons = excludeTron ? [/* @__PURE__ */ jsx(Ethereum, {}, "eth"), /* @__PURE__ */ jsx(Polygon, {}, "polygon"), /* @__PURE__ */ jsx(Base, {}, "base")] : [/* @__PURE__ */ jsx(Ethereum, {}, "eth"), /* @__PURE__ */ jsx(Tron, {}, "tron"), /* @__PURE__ */ jsx(Base, {}, "base")];
|
|
304
|
+
return {
|
|
305
|
+
id: "depositAddress",
|
|
306
|
+
title: locales.payToAddress,
|
|
307
|
+
icons,
|
|
308
|
+
onClick: () => {
|
|
309
|
+
setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN);
|
|
310
|
+
}
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
export { SelectMethod as default };
|
|
315
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../../src/components/Pages/SelectMethod/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { ROUTES } from \"../../../constants/routes\";\nimport { usePayContext } from \"../../../hooks/usePayContext\";\n\nimport { PageContent } from \"../../Common/Modal/styles\";\n\nimport {\n DepositAddressPaymentOptions,\n getAddressContraction,\n} from \"@daimo/pay-common\";\nimport { useWallet } from \"@solana/wallet-adapter-react\";\nimport { Connector, useAccount, useConnections, useDisconnect } from \"wagmi\";\nimport { Base, Ethereum, Polygon, Solana, Tron } from \"../../../assets/chains\";\nimport {\n MetaMask,\n Phantom,\n Rabby,\n Rainbow,\n Trust,\n WalletIcon,\n} from \"../../../assets/logos\";\nimport useIsMobile from \"../../../hooks/useIsMobile\";\nimport useLocales from \"../../../hooks/useLocales\";\nimport { flattenChildren } from \"../../../utils\";\nimport { walletConfigs } from \"../../../wallets/walletConfigs\";\nimport { Option, OptionsList } from \"../../Common/OptionsList\";\nimport { OrderHeader } from \"../../Common/OrderHeader\";\nimport PoweredByFooter from \"../../Common/PoweredByFooter\";\nimport WalletChainLogo from \"../../Common/WalletChainLogo\";\n\nexport default function SelectMethod() {\n const locales = useLocales();\n const payWithString = flattenChildren(locales.payWith).join(\"\");\n const { isMobile } = useIsMobile();\n\n const {\n address,\n chain,\n isConnected: isEthConnected,\n connector,\n } = useAccount();\n const {\n connected: isSolanaConnected,\n wallet: solanaWallet,\n disconnect: disconnectSolana,\n publicKey,\n } = useWallet();\n const { setRoute, paymentState, log, disableMobileInjector } =\n usePayContext();\n const { disconnectAsync } = useDisconnect();\n const connections = useConnections();\n\n const { externalPaymentOptions, senderEnsName, topOptionsOrder } =\n paymentState;\n\n // Decide whether to show the connected eth account, solana account, or both.\n // Desktop: Always show connected wallets when available\n // Mobile: Only show connected wallets when mobile injector is enabled (!disableMobileInjector)\n const showConnectedEth =\n isEthConnected && (!isMobile || !disableMobileInjector);\n const showConnectedSolana =\n isSolanaConnected && (!isMobile || !disableMobileInjector);\n\n const getConnectedWalletOptions = () => {\n const showChainLogo = isEthConnected && isSolanaConnected;\n\n const connectedOptions: Option[] = [];\n\n if (showConnectedEth) {\n const ethWalletDisplayName =\n senderEnsName ?? (address ? getAddressContraction(address) : \"wallet\");\n\n // Prefer icon from walletConfigs if there's a name match, otherwise fall back\n // to the connector-provided icon, and finally to the generic WalletIcon.\n let walletIcon: JSX.Element;\n\n const matchedConfig = Object.values(walletConfigs).find((cfg) => {\n if (!cfg.name || !connector?.name) return false;\n const cfgName = cfg.name.toLowerCase();\n const connName = connector.name.toLowerCase();\n return cfgName.includes(connName) || connName.includes(cfgName);\n });\n\n if (matchedConfig?.icon) {\n walletIcon =\n typeof matchedConfig.icon === \"string\" ? (\n <img src={matchedConfig.icon} alt={matchedConfig.name} />\n ) : (\n (matchedConfig.icon as JSX.Element)\n );\n } else if (connector?.icon) {\n walletIcon = (\n <div style={{ borderRadius: \"22.5%\", overflow: \"hidden\" }}>\n <img src={connector.icon} alt={connector.name} />\n </div>\n );\n } else {\n walletIcon = <WalletIcon />;\n }\n\n const connectedEthWalletOption = {\n id: \"connectedWallet\",\n title: `${payWithString} ${ethWalletDisplayName}`,\n icons: [\n <WalletChainLogo\n key=\"eth\"\n walletIcon={walletIcon}\n walletName={connector?.name || \"Wallet\"}\n chainLogo={showChainLogo ? <Ethereum /> : null}\n />,\n ],\n onClick: () => {\n paymentState.setTokenMode(\"evm\");\n setRoute(ROUTES.SELECT_TOKEN, {\n event: \"click-wallet\",\n walletId: connector?.id,\n chainId: chain?.id,\n address: address,\n });\n },\n };\n connectedOptions.push(connectedEthWalletOption);\n }\n\n if (showConnectedSolana) {\n const solWalletDisplayName = getAddressContraction(\n publicKey?.toBase58() ?? \"\",\n );\n\n // Prefer icon from walletConfigs if available\n let solWalletIcon: React.ReactNode;\n const solMatchedConfig = Object.values(walletConfigs).find((cfg) => {\n if (!cfg.name) return false;\n const cfgName = cfg.name.toLowerCase();\n const solName = solanaWallet?.adapter.name.toLowerCase() || \"\";\n return cfgName.includes(solName) || solName.includes(cfgName);\n });\n\n if (solMatchedConfig?.icon) {\n solWalletIcon =\n typeof solMatchedConfig.icon === \"string\" ? (\n <img src={solMatchedConfig.icon} alt={solMatchedConfig.name} />\n ) : (\n (solMatchedConfig.icon as JSX.Element)\n );\n } else if (solanaWallet?.adapter.icon) {\n solWalletIcon = solanaWallet.adapter.icon;\n } else {\n solWalletIcon = <Solana />;\n }\n\n const connectedSolWalletOption = {\n id: \"connectedSolanaWallet\",\n title: `${payWithString} ${solWalletDisplayName}`,\n icons: [\n <WalletChainLogo\n key=\"sol-wallet\"\n walletIcon={solWalletIcon}\n walletName={solanaWallet?.adapter.name || \"Wallet\"}\n chainLogo={showChainLogo && <Solana />}\n />,\n ],\n onClick: () => {\n paymentState.setTokenMode(\"solana\");\n setRoute(ROUTES.SELECT_TOKEN, {\n event: \"click-wallet\",\n walletId: solanaWallet?.adapter.name,\n chainId: \"solana\",\n address: publicKey?.toBase58(),\n });\n },\n };\n\n connectedOptions.push(connectedSolWalletOption);\n }\n\n return connectedOptions;\n };\n\n const connectedWalletOptions = getConnectedWalletOptions();\n\n // Get custom wallet list if specified\n const walletOrder =\n paymentState.externalPaymentOptions.parsedConfig.walletOrder;\n\n const unconnectedWalletOption = {\n id: \"unconnectedWallet\",\n title:\n isEthConnected || isSolanaConnected\n ? locales.payWithAnotherWallet\n : locales.payWithWallet,\n icons: getBestUnconnectedWalletIcons(connector, isMobile, walletOrder),\n onClick: async () => {\n // Disconnect all wagmi connections in parallel\n await Promise.allSettled(\n connections.map((connection) =>\n disconnectAsync({ connector: connection.connector }),\n ),\n );\n await disconnectSolana();\n setRoute(ROUTES.CONNECTORS);\n },\n };\n\n log(\n `[SELECT_METHOD] loading: ${externalPaymentOptions.loading}, options: ${JSON.stringify(\n externalPaymentOptions.options,\n )}`,\n );\n\n // Build categorized options\n type CategorizedOption = {\n id: string;\n title: string;\n subtitle?: string;\n icons: (React.ReactNode | string)[];\n onClick: () => void;\n disabled?: boolean;\n category: string;\n };\n\n const categorizedOptions: CategorizedOption[] = [];\n\n // Connected wallets always appear first\n connectedWalletOptions.forEach((opt) =>\n categorizedOptions.push({ ...opt, category: \"connected\" }),\n );\n\n // Wallet options (unconnected) - only if AllWallets is in topOptionsOrder\n if (topOptionsOrder.includes(\"AllWallets\")) {\n categorizedOptions.push({\n ...unconnectedWalletOption,\n category: \"AllWallets\",\n });\n }\n\n // Exchange options - only if AllExchanges is in topOptionsOrder\n const exchangeOptions = externalPaymentOptions.options.get(\"exchange\") ?? [];\n const showExchangePaymentMethod =\n exchangeOptions.length > 0 && topOptionsOrder.includes(\"AllExchanges\");\n if (showExchangePaymentMethod) {\n categorizedOptions.push({\n id: \"exchange\",\n title: locales.payWithExchange,\n icons: exchangeOptions.slice(0, 3).map((option) => option.logoURI),\n onClick: () => {\n setRoute(ROUTES.SELECT_EXCHANGE, {\n event: \"click-option\",\n option: \"exchange\",\n });\n },\n category: \"AllExchanges\",\n });\n }\n\n // Tron option - only if Tron is in topOptionsOrder\n if (topOptionsOrder.includes(\"Tron\")) {\n const tronOption = paymentState.depositAddressOptions.options?.find(\n (option) => option.id === DepositAddressPaymentOptions.TRON_USDT,\n );\n if (tronOption) {\n categorizedOptions.push({\n id: \"tron\",\n title: tronOption.id, // Use the actual title like \"USDT on Tron\"\n icons: [tronOption.logoURI],\n onClick: () => {\n paymentState.setSelectedDepositAddressOption(tronOption);\n setRoute(\n paymentState.isDepositFlow\n ? ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT\n : ROUTES.WAITING_DEPOSIT_ADDRESS,\n { event: \"select_tron\" },\n );\n },\n category: \"Tron\",\n });\n }\n }\n\n // Deposit address options - only if AllAddresses is in topOptionsOrder\n if (topOptionsOrder.includes(\"AllAddresses\")) {\n const depositAddressOption = getDepositAddressOption(\n setRoute,\n locales,\n topOptionsOrder.includes(\"Tron\"), // exclude Tron if shown separately\n );\n categorizedOptions.push({\n ...depositAddressOption,\n category: \"AllAddresses\",\n });\n }\n\n // ZKP2P options - only if AllPaymentApps is in topOptionsOrder\n const zkp2pOptions = externalPaymentOptions.options.get(\"zkp2p\") ?? [];\n const showZkp2pPaymentMethod =\n !isMobile &&\n zkp2pOptions.length > 0 &&\n topOptionsOrder.includes(\"AllPaymentApps\");\n if (showZkp2pPaymentMethod) {\n categorizedOptions.push({\n id: \"ZKP2P\",\n title: locales.payViaPaymentApp,\n icons: zkp2pOptions.slice(0, 2).map((option) => option.logoURI),\n onClick: () => {\n setRoute(ROUTES.SELECT_ZKP2P);\n },\n category: \"AllPaymentApps\",\n });\n }\n\n // Sort based on topOptionsOrder, keeping connected wallets first\n const sortedOptions = categorizedOptions.sort((a, b) => {\n // Connected wallets always first\n if (a.category === \"connected\") return -1;\n if (b.category === \"connected\") return 1;\n\n // Then sort by topOptionsOrder\n const aIndex = topOptionsOrder.indexOf(a.category);\n const bIndex = topOptionsOrder.indexOf(b.category);\n\n // If not in order list, put at the end\n if (aIndex === -1 && bIndex === -1) return 0;\n if (aIndex === -1) return 1;\n if (bIndex === -1) return -1;\n\n return aIndex - bIndex;\n });\n\n // Remove category field for final options\n const options = sortedOptions.map(({ category, ...opt }) => opt);\n\n // Order disabled to bottom\n options.sort((a, b) => (a.disabled ? 1 : 0) - (b.disabled ? 1 : 0));\n\n return (\n <PageContent>\n <OrderHeader />\n\n <OptionsList\n requiredSkeletons={3}\n isLoading={externalPaymentOptions.loading}\n options={externalPaymentOptions.loading ? [] : options}\n />\n <PoweredByFooter />\n </PageContent>\n );\n}\n\n// Get 3 icons, skipping the one that is already connected\nfunction getBestUnconnectedWalletIcons(\n connector: Connector | undefined,\n isMobile: boolean,\n walletOrder?: string[],\n) {\n const icons: JSX.Element[] = [];\n const strippedId = connector?.id.toLowerCase();\n\n // If custom wallet list is provided, use those wallets\n if (walletOrder && walletOrder.length > 0 && isMobile) {\n const maxIcons = 3;\n for (const walletName of walletOrder) {\n if (icons.length >= maxIcons) break;\n\n // Skip if this wallet is already connected\n if (strippedId?.includes(walletName.toLowerCase())) continue;\n\n // Find wallet config\n const walletId = Object.keys(walletConfigs).find((id) => {\n const wallet = walletConfigs[id];\n const nameLower = walletName.toLowerCase();\n return (\n wallet.name?.toLowerCase().includes(nameLower) ||\n wallet.shortName?.toLowerCase().includes(nameLower) ||\n id.toLowerCase().includes(nameLower)\n );\n });\n\n if (walletId) {\n const wallet = walletConfigs[walletId];\n const icon = wallet.iconConnector || wallet.icon;\n if (icon) {\n icons.push(\n <div\n key={walletId}\n style={{ borderRadius: \"22.5%\", overflow: \"hidden\" }}\n >\n {icon}\n </div>,\n );\n }\n }\n }\n\n if (icons.length > 0) return icons;\n }\n\n // Default icons (fallback)\n const [isRainbow, isTrust, isPhantom, isMetaMask, isRabby] = [\n strippedId?.includes(\"rainbow\"),\n strippedId?.includes(\"trust\"),\n strippedId?.includes(\"phantom\"),\n strippedId?.includes(\"coinbase\"),\n strippedId?.includes(\"metamask\"),\n strippedId?.includes(\"rabby\"),\n ];\n\n if (isMobile) {\n if (!isMetaMask) icons.push(<MetaMask />);\n if (!isTrust) icons.push(<Trust background />);\n if (!isRainbow && icons.length < 3) icons.push(<Rainbow />);\n } else {\n if (!isMetaMask) icons.push(<MetaMask />);\n if (!isRainbow) icons.push(<Rainbow />);\n if (!isPhantom) icons.push(<Phantom />);\n if (!isRabby && icons.length < 3) icons.push(<Rabby />);\n }\n\n return icons;\n}\n\nfunction getDepositAddressOption(\n setRoute: (route: ROUTES, data?: Record<string, any>) => void,\n locales: ReturnType<typeof useLocales>,\n excludeTron: boolean = false,\n) {\n const icons = excludeTron\n ? [<Ethereum key=\"eth\" />, <Polygon key=\"polygon\" />, <Base key=\"base\" />]\n : [<Ethereum key=\"eth\" />, <Tron key=\"tron\" />, <Base key=\"base\" />];\n\n return {\n id: \"depositAddress\",\n title: locales.payToAddress,\n icons,\n onClick: () => {\n setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_CHAIN);\n },\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useWallet } from '@solana/wallet-adapter-react';
|
|
3
|
+
import { useAccount, injected } from 'wagmi';
|
|
4
|
+
import { Solana, Ethereum } from '../../../assets/chains.js';
|
|
5
|
+
import defaultTheme from '../../../constants/defaultTheme.js';
|
|
6
|
+
import { useConnect } from '../../../hooks/useConnect.js';
|
|
7
|
+
import useIsMobile from '../../../hooks/useIsMobile.js';
|
|
8
|
+
import useLocales from '../../../hooks/useLocales.js';
|
|
9
|
+
import { usePayContext } from '../../../hooks/usePayContext.js';
|
|
10
|
+
import { useTokenOptions } from '../../../hooks/useTokenOptions.js';
|
|
11
|
+
import { PageContent, ModalContent, ModalH1 } from '../../Common/Modal/styles.js';
|
|
12
|
+
import { OptionsList } from '../../Common/OptionsList/index.js';
|
|
13
|
+
import { OrderHeader } from '../../Common/OrderHeader/index.js';
|
|
14
|
+
import SelectAnotherMethodButton from '../../Common/SelectAnotherMethodButton/index.js';
|
|
15
|
+
|
|
16
|
+
function SelectToken() {
|
|
17
|
+
const { isMobile } = useIsMobile();
|
|
18
|
+
const isMobileFormat = isMobile || window?.innerWidth < defaultTheme.mobileWidth;
|
|
19
|
+
const { paymentState } = usePayContext();
|
|
20
|
+
const { tokenMode } = paymentState;
|
|
21
|
+
const { optionsList, isLoading } = useTokenOptions(tokenMode);
|
|
22
|
+
const { isConnected: isEvmConnected } = useAccount();
|
|
23
|
+
const solanaWallets = useWallet();
|
|
24
|
+
const isSolConnected = solanaWallets.connected;
|
|
25
|
+
const isConnected = isEvmConnected || isSolConnected;
|
|
26
|
+
const isAnotherMethodButtonVisible = optionsList.length > 0 && tokenMode !== "all";
|
|
27
|
+
return /* @__PURE__ */ jsxs(PageContent, { children: [
|
|
28
|
+
/* @__PURE__ */ jsx(OrderHeader, { minified: true, show: tokenMode }),
|
|
29
|
+
/* @__PURE__ */ jsx(
|
|
30
|
+
OptionsList,
|
|
31
|
+
{
|
|
32
|
+
requiredSkeletons: 4,
|
|
33
|
+
isLoading,
|
|
34
|
+
options: optionsList,
|
|
35
|
+
scrollHeight: isAnotherMethodButtonVisible && isMobileFormat ? 225 : 300,
|
|
36
|
+
orDivider: isAnotherMethodButtonVisible,
|
|
37
|
+
hideBottomLine: !isAnotherMethodButtonVisible
|
|
38
|
+
}
|
|
39
|
+
),
|
|
40
|
+
!isLoading && isConnected && optionsList.length === 0 && /* @__PURE__ */ jsx(InsufficientBalance, {}),
|
|
41
|
+
!isLoading && !isConnected && tokenMode === "all" && /* @__PURE__ */ jsx(ConnectButton, {}),
|
|
42
|
+
isAnotherMethodButtonVisible && /* @__PURE__ */ jsx(SelectAnotherMethodButton, {})
|
|
43
|
+
] });
|
|
44
|
+
}
|
|
45
|
+
function InsufficientBalance() {
|
|
46
|
+
const locales = useLocales();
|
|
47
|
+
const { paymentState } = usePayContext();
|
|
48
|
+
const { tokenMode } = paymentState;
|
|
49
|
+
return /* @__PURE__ */ jsxs(
|
|
50
|
+
ModalContent,
|
|
51
|
+
{
|
|
52
|
+
style: {
|
|
53
|
+
display: "flex",
|
|
54
|
+
alignItems: "center",
|
|
55
|
+
justifyContent: "center",
|
|
56
|
+
paddingTop: 16,
|
|
57
|
+
paddingBottom: 16
|
|
58
|
+
},
|
|
59
|
+
children: [
|
|
60
|
+
/* @__PURE__ */ jsx(ModalH1, { children: locales.insufficientBalance }),
|
|
61
|
+
tokenMode !== "all" && /* @__PURE__ */ jsx(SelectAnotherMethodButton, {})
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
function ConnectButton() {
|
|
67
|
+
const locales = useLocales();
|
|
68
|
+
const { connect } = useConnect();
|
|
69
|
+
const solanaWallets = useWallet();
|
|
70
|
+
const filteredWallets = solanaWallets.wallets.filter(
|
|
71
|
+
(w) => w.adapter.name !== "Mobile Wallet Adapter"
|
|
72
|
+
);
|
|
73
|
+
const hasSolanaWallet = filteredWallets.length > 0;
|
|
74
|
+
const icons = [/* @__PURE__ */ jsx(Ethereum, {}, "ethereum")];
|
|
75
|
+
if (hasSolanaWallet) {
|
|
76
|
+
icons.push(/* @__PURE__ */ jsx(Solana, {}, "solana"));
|
|
77
|
+
}
|
|
78
|
+
const onClick = () => {
|
|
79
|
+
connect({
|
|
80
|
+
connector: injected()
|
|
81
|
+
});
|
|
82
|
+
if (hasSolanaWallet) {
|
|
83
|
+
if (solanaWallets.wallet == null) {
|
|
84
|
+
solanaWallets.select(solanaWallets.wallets[0].adapter.name);
|
|
85
|
+
}
|
|
86
|
+
solanaWallets.connect();
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
const connectOption = {
|
|
90
|
+
id: "connect-wallet",
|
|
91
|
+
title: locales.connectWallet,
|
|
92
|
+
icons,
|
|
93
|
+
onClick
|
|
94
|
+
};
|
|
95
|
+
return /* @__PURE__ */ jsx(OptionsList, { options: [connectOption] });
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export { SelectToken as default };
|
|
99
|
+
//# sourceMappingURL=index.js.map
|