@turnkey/react-wallet-kit 2.7.0 → 2.8.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/dist/_virtual/_rollupPluginBabelHelpers.mjs +10 -1
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +1 -1
- package/dist/components/auth/Action.d.ts +1 -0
- package/dist/components/auth/Action.d.ts.map +1 -1
- package/dist/components/auth/Action.js +10 -3
- package/dist/components/auth/Action.js.map +1 -1
- package/dist/components/auth/Action.mjs +10 -3
- package/dist/components/auth/Action.mjs.map +1 -1
- package/dist/components/auth/wallet/DesktopWalletConnectScreen.d.ts +2 -0
- package/dist/components/auth/wallet/DesktopWalletConnectScreen.d.ts.map +1 -1
- package/dist/components/auth/wallet/DesktopWalletConnectScreen.js +7 -4
- package/dist/components/auth/wallet/DesktopWalletConnectScreen.js.map +1 -1
- package/dist/components/auth/wallet/DesktopWalletConnectScreen.mjs +22 -12
- package/dist/components/auth/wallet/DesktopWalletConnectScreen.mjs.map +1 -1
- package/dist/components/auth/wallet/ExternalWalletChainSelector.d.ts.map +1 -1
- package/dist/components/auth/wallet/ExternalWalletChainSelector.js +2 -1
- package/dist/components/auth/wallet/ExternalWalletChainSelector.js.map +1 -1
- package/dist/components/auth/wallet/ExternalWalletChainSelector.mjs +2 -2
- package/dist/components/auth/wallet/ExternalWalletChainSelector.mjs.map +1 -1
- package/dist/components/auth/wallet/MobileWalletConnectScreen.d.ts +1 -0
- package/dist/components/auth/wallet/MobileWalletConnectScreen.d.ts.map +1 -1
- package/dist/components/auth/wallet/MobileWalletConnectScreen.js +3 -1
- package/dist/components/auth/wallet/MobileWalletConnectScreen.js.map +1 -1
- package/dist/components/auth/wallet/MobileWalletConnectScreen.mjs +16 -8
- package/dist/components/auth/wallet/MobileWalletConnectScreen.mjs.map +1 -1
- package/dist/components/auth/wallet/ShowAllWalletsScreen.d.ts +2 -1
- package/dist/components/auth/wallet/ShowAllWalletsScreen.d.ts.map +1 -1
- package/dist/components/auth/wallet/ShowAllWalletsScreen.js +8 -3
- package/dist/components/auth/wallet/ShowAllWalletsScreen.js.map +1 -1
- package/dist/components/auth/wallet/ShowAllWalletsScreen.mjs +8 -3
- package/dist/components/auth/wallet/ShowAllWalletsScreen.mjs.map +1 -1
- package/dist/components/design/Success.d.ts +1 -1
- package/dist/components/design/Success.d.ts.map +1 -1
- package/dist/components/design/Success.js +2 -2
- package/dist/components/design/Success.js.map +1 -1
- package/dist/components/design/Success.mjs +2 -2
- package/dist/components/design/Success.mjs.map +1 -1
- package/dist/components/design/Svg.d.ts +1 -0
- package/dist/components/design/Svg.d.ts.map +1 -1
- package/dist/components/design/Svg.js +32 -12
- package/dist/components/design/Svg.js.map +1 -1
- package/dist/components/design/Svg.mjs +32 -13
- package/dist/components/design/Svg.mjs.map +1 -1
- package/dist/components/design/TabNav.d.ts +13 -0
- package/dist/components/design/TabNav.d.ts.map +1 -0
- package/dist/components/design/TabNav.js +64 -0
- package/dist/components/design/TabNav.js.map +1 -0
- package/dist/components/design/TabNav.mjs +81 -0
- package/dist/components/design/TabNav.mjs.map +1 -0
- package/dist/components/funding/CryptoAmountInput.d.ts +11 -0
- package/dist/components/funding/CryptoAmountInput.d.ts.map +1 -0
- package/dist/components/funding/CryptoAmountInput.js +82 -0
- package/dist/components/funding/CryptoAmountInput.js.map +1 -0
- package/dist/components/funding/CryptoAmountInput.mjs +87 -0
- package/dist/components/funding/CryptoAmountInput.mjs.map +1 -0
- package/dist/components/funding/CurrencyDropdown.d.ts +8 -0
- package/dist/components/funding/CurrencyDropdown.d.ts.map +1 -0
- package/dist/components/funding/CurrencyDropdown.js +132 -0
- package/dist/components/funding/CurrencyDropdown.js.map +1 -0
- package/dist/components/funding/CurrencyDropdown.mjs +132 -0
- package/dist/components/funding/CurrencyDropdown.mjs.map +1 -0
- package/dist/components/funding/FiatAmountInput.d.ts +11 -0
- package/dist/components/funding/FiatAmountInput.d.ts.map +1 -0
- package/dist/components/funding/FiatAmountInput.js +94 -0
- package/dist/components/funding/FiatAmountInput.js.map +1 -0
- package/dist/components/funding/FiatAmountInput.mjs +105 -0
- package/dist/components/funding/FiatAmountInput.mjs.map +1 -0
- package/dist/components/funding/OffRamp.d.ts +3 -0
- package/dist/components/funding/OffRamp.d.ts.map +1 -0
- package/dist/components/funding/OffRamp.js +31 -0
- package/dist/components/funding/OffRamp.js.map +1 -0
- package/dist/components/funding/OffRamp.mjs +30 -0
- package/dist/components/funding/OffRamp.mjs.map +1 -0
- package/dist/components/funding/OffRampAmount.d.ts +22 -0
- package/dist/components/funding/OffRampAmount.d.ts.map +1 -0
- package/dist/components/funding/OffRampAmount.js +304 -0
- package/dist/components/funding/OffRampAmount.js.map +1 -0
- package/dist/components/funding/OffRampAmount.mjs +376 -0
- package/dist/components/funding/OffRampAmount.mjs.map +1 -0
- package/dist/components/funding/OffRampDeposit.d.ts +22 -0
- package/dist/components/funding/OffRampDeposit.d.ts.map +1 -0
- package/dist/components/funding/OffRampDeposit.js +455 -0
- package/dist/components/funding/OffRampDeposit.js.map +1 -0
- package/dist/components/funding/OffRampDeposit.mjs +551 -0
- package/dist/components/funding/OffRampDeposit.mjs.map +1 -0
- package/dist/components/funding/OffRampReturn.d.ts +2 -0
- package/dist/components/funding/OffRampReturn.d.ts.map +1 -0
- package/dist/components/funding/OffRampReturn.js +144 -0
- package/dist/components/funding/OffRampReturn.js.map +1 -0
- package/dist/components/funding/OffRampReturn.mjs +146 -0
- package/dist/components/funding/OffRampReturn.mjs.map +1 -0
- package/dist/components/funding/OnRamp.d.ts +7 -0
- package/dist/components/funding/OnRamp.d.ts.map +1 -0
- package/dist/components/funding/OnRamp.js +64 -0
- package/dist/components/funding/OnRamp.js.map +1 -0
- package/dist/components/funding/OnRamp.mjs +58 -0
- package/dist/components/funding/OnRamp.mjs.map +1 -0
- package/dist/components/funding/OnRampAmount.d.ts +21 -0
- package/dist/components/funding/OnRampAmount.d.ts.map +1 -0
- package/dist/components/funding/OnRampAmount.js +229 -0
- package/dist/components/funding/OnRampAmount.js.map +1 -0
- package/dist/components/funding/OnRampAmount.mjs +312 -0
- package/dist/components/funding/OnRampAmount.mjs.map +1 -0
- package/dist/components/funding/OnRampCash.d.ts +3 -0
- package/dist/components/funding/OnRampCash.d.ts.map +1 -0
- package/dist/components/funding/OnRampCash.js +26 -0
- package/dist/components/funding/OnRampCash.js.map +1 -0
- package/dist/components/funding/OnRampCash.mjs +25 -0
- package/dist/components/funding/OnRampCash.mjs.map +1 -0
- package/dist/components/funding/OnRampCrypto.d.ts +11 -0
- package/dist/components/funding/OnRampCrypto.d.ts.map +1 -0
- package/dist/components/funding/OnRampCrypto.js +126 -0
- package/dist/components/funding/OnRampCrypto.js.map +1 -0
- package/dist/components/funding/OnRampCrypto.mjs +148 -0
- package/dist/components/funding/OnRampCrypto.mjs.map +1 -0
- package/dist/components/funding/OnRampCryptoSend.d.ts +15 -0
- package/dist/components/funding/OnRampCryptoSend.d.ts.map +1 -0
- package/dist/components/funding/OnRampCryptoSend.js +251 -0
- package/dist/components/funding/OnRampCryptoSend.js.map +1 -0
- package/dist/components/funding/OnRampCryptoSend.mjs +323 -0
- package/dist/components/funding/OnRampCryptoSend.mjs.map +1 -0
- package/dist/components/funding/OnRampCryptoStatus.d.ts +14 -0
- package/dist/components/funding/OnRampCryptoStatus.d.ts.map +1 -0
- package/dist/components/funding/OnRampCryptoStatus.js +153 -0
- package/dist/components/funding/OnRampCryptoStatus.js.map +1 -0
- package/dist/components/funding/OnRampCryptoStatus.mjs +272 -0
- package/dist/components/funding/OnRampCryptoStatus.mjs.map +1 -0
- package/dist/components/funding/OnRampExternalAccountSelector.d.ts +11 -0
- package/dist/components/funding/OnRampExternalAccountSelector.d.ts.map +1 -0
- package/dist/components/funding/OnRampExternalAccountSelector.js +95 -0
- package/dist/components/funding/OnRampExternalAccountSelector.js.map +1 -0
- package/dist/components/funding/OnRampExternalAccountSelector.mjs +109 -0
- package/dist/components/funding/OnRampExternalAccountSelector.mjs.map +1 -0
- package/dist/components/funding/OnRampExternalWallet.d.ts +12 -0
- package/dist/components/funding/OnRampExternalWallet.d.ts.map +1 -0
- package/dist/components/funding/OnRampExternalWallet.js +218 -0
- package/dist/components/funding/OnRampExternalWallet.js.map +1 -0
- package/dist/components/funding/OnRampExternalWallet.mjs +303 -0
- package/dist/components/funding/OnRampExternalWallet.mjs.map +1 -0
- package/dist/components/funding/OnRampStatus.d.ts +15 -0
- package/dist/components/funding/OnRampStatus.d.ts.map +1 -0
- package/dist/components/funding/OnRampStatus.js +114 -0
- package/dist/components/funding/OnRampStatus.js.map +1 -0
- package/dist/components/funding/OnRampStatus.mjs +166 -0
- package/dist/components/funding/OnRampStatus.mjs.map +1 -0
- package/dist/components/funding/PaymentMethods.d.ts +35 -0
- package/dist/components/funding/PaymentMethods.d.ts.map +1 -0
- package/dist/components/funding/PaymentMethods.js +173 -0
- package/dist/components/funding/PaymentMethods.js.map +1 -0
- package/dist/components/funding/PaymentMethods.mjs +180 -0
- package/dist/components/funding/PaymentMethods.mjs.map +1 -0
- package/dist/components/funding/QuoteDetails.d.ts +13 -0
- package/dist/components/funding/QuoteDetails.d.ts.map +1 -0
- package/dist/components/funding/QuoteDetails.js +124 -0
- package/dist/components/funding/QuoteDetails.js.map +1 -0
- package/dist/components/funding/QuoteDetails.mjs +121 -0
- package/dist/components/funding/QuoteDetails.mjs.map +1 -0
- package/dist/components/funding/QuoteOption.d.ts +23 -0
- package/dist/components/funding/QuoteOption.d.ts.map +1 -0
- package/dist/components/funding/QuoteOption.js +153 -0
- package/dist/components/funding/QuoteOption.js.map +1 -0
- package/dist/components/funding/QuoteOption.mjs +150 -0
- package/dist/components/funding/QuoteOption.mjs.map +1 -0
- package/dist/components/funding/QuotePicker.d.ts +13 -0
- package/dist/components/funding/QuotePicker.d.ts.map +1 -0
- package/dist/components/funding/QuotePicker.js +49 -0
- package/dist/components/funding/QuotePicker.js.map +1 -0
- package/dist/components/funding/QuotePicker.mjs +48 -0
- package/dist/components/funding/QuotePicker.mjs.map +1 -0
- package/dist/components/funding/TokenSelect.d.ts +18 -0
- package/dist/components/funding/TokenSelect.d.ts.map +1 -0
- package/dist/components/funding/TokenSelect.js +198 -0
- package/dist/components/funding/TokenSelect.js.map +1 -0
- package/dist/components/funding/TokenSelect.mjs +210 -0
- package/dist/components/funding/TokenSelect.mjs.map +1 -0
- package/dist/components/funding/offRampRedirect.d.ts +61 -0
- package/dist/components/funding/offRampRedirect.d.ts.map +1 -0
- package/dist/components/funding/offRampRedirect.js +282 -0
- package/dist/components/funding/offRampRedirect.js.map +1 -0
- package/dist/components/funding/offRampRedirect.mjs +274 -0
- package/dist/components/funding/offRampRedirect.mjs.map +1 -0
- package/dist/components/send-transaction/SendTransaction.d.ts.map +1 -1
- package/dist/components/send-transaction/SendTransaction.js +8 -6
- package/dist/components/send-transaction/SendTransaction.js.map +1 -1
- package/dist/components/send-transaction/SendTransaction.mjs +8 -6
- package/dist/components/send-transaction/SendTransaction.mjs.map +1 -1
- package/dist/components/send-transaction/helpers.d.ts.map +1 -1
- package/dist/components/send-transaction/helpers.js +4 -0
- package/dist/components/send-transaction/helpers.js.map +1 -1
- package/dist/components/send-transaction/helpers.mjs +4 -0
- package/dist/components/send-transaction/helpers.mjs.map +1 -1
- package/dist/components/sign/Message.d.ts.map +1 -1
- package/dist/components/sign/Message.js +2 -1
- package/dist/components/sign/Message.js.map +1 -1
- package/dist/components/sign/Message.mjs +2 -2
- package/dist/components/sign/Message.mjs.map +1 -1
- package/dist/providers/SupportedAssetsProvider.d.ts +18 -0
- package/dist/providers/SupportedAssetsProvider.d.ts.map +1 -0
- package/dist/providers/SupportedAssetsProvider.js +71 -0
- package/dist/providers/SupportedAssetsProvider.js.map +1 -0
- package/dist/providers/SupportedAssetsProvider.mjs +114 -0
- package/dist/providers/SupportedAssetsProvider.mjs.map +1 -0
- package/dist/providers/TurnkeyProvider.d.ts.map +1 -1
- package/dist/providers/TurnkeyProvider.js +2 -1
- package/dist/providers/TurnkeyProvider.js.map +1 -1
- package/dist/providers/TurnkeyProvider.mjs +2 -1
- package/dist/providers/TurnkeyProvider.mjs.map +1 -1
- package/dist/providers/client/Provider.d.ts.map +1 -1
- package/dist/providers/client/Provider.js +98 -153
- package/dist/providers/client/Provider.js.map +1 -1
- package/dist/providers/client/Provider.mjs +214 -328
- package/dist/providers/client/Provider.mjs.map +1 -1
- package/dist/providers/client/Types.d.ts +37 -12
- package/dist/providers/client/Types.d.ts.map +1 -1
- package/dist/providers/client/Types.js.map +1 -1
- package/dist/providers/client/Types.mjs.map +1 -1
- package/dist/providers/modal/Provider.d.ts +1 -0
- package/dist/providers/modal/Provider.d.ts.map +1 -1
- package/dist/providers/modal/Provider.js +12 -0
- package/dist/providers/modal/Provider.js.map +1 -1
- package/dist/providers/modal/Provider.mjs +15 -0
- package/dist/providers/modal/Provider.mjs.map +1 -1
- package/dist/providers/modal/Root.d.ts.map +1 -1
- package/dist/providers/modal/Root.js +16 -14
- package/dist/providers/modal/Root.js.map +1 -1
- package/dist/providers/modal/Root.mjs +16 -14
- package/dist/providers/modal/Root.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/method-types.d.ts +21 -9
- package/dist/types/method-types.d.ts.map +1 -1
- package/dist/utils/funding/buildCryptoTransfer.d.ts +41 -0
- package/dist/utils/funding/buildCryptoTransfer.d.ts.map +1 -0
- package/dist/utils/funding/buildCryptoTransfer.js +134 -0
- package/dist/utils/funding/buildCryptoTransfer.js.map +1 -0
- package/dist/utils/funding/buildCryptoTransfer.mjs +128 -0
- package/dist/utils/funding/buildCryptoTransfer.mjs.map +1 -0
- package/dist/utils/funding/chainLabel.d.ts +2 -0
- package/dist/utils/funding/chainLabel.d.ts.map +1 -0
- package/dist/utils/funding/chainLabel.js +19 -0
- package/dist/utils/funding/chainLabel.js.map +1 -0
- package/dist/utils/funding/chainLabel.mjs +18 -0
- package/dist/utils/funding/chainLabel.mjs.map +1 -0
- package/dist/utils/funding/depositPlan.d.ts +28 -0
- package/dist/utils/funding/depositPlan.d.ts.map +1 -0
- package/dist/utils/funding/depositPlan.js +127 -0
- package/dist/utils/funding/depositPlan.js.map +1 -0
- package/dist/utils/funding/depositPlan.mjs +120 -0
- package/dist/utils/funding/depositPlan.mjs.map +1 -0
- package/dist/utils/funding/index.d.ts +8 -0
- package/dist/utils/funding/index.d.ts.map +1 -0
- package/dist/utils/funding/onRampTokens.d.ts +6 -0
- package/dist/utils/funding/onRampTokens.d.ts.map +1 -0
- package/dist/utils/funding/onRampTokens.js +21 -0
- package/dist/utils/funding/onRampTokens.js.map +1 -0
- package/dist/utils/funding/onRampTokens.mjs +26 -0
- package/dist/utils/funding/onRampTokens.mjs.map +1 -0
- package/dist/utils/funding/rankQuotes.d.ts +7 -0
- package/dist/utils/funding/rankQuotes.d.ts.map +1 -0
- package/dist/utils/funding/rankQuotes.js +37 -0
- package/dist/utils/funding/rankQuotes.js.map +1 -0
- package/dist/utils/funding/rankQuotes.mjs +50 -0
- package/dist/utils/funding/rankQuotes.mjs.map +1 -0
- package/dist/utils/funding/sendCryptoTransfer.d.ts +26 -0
- package/dist/utils/funding/sendCryptoTransfer.d.ts.map +1 -0
- package/dist/utils/funding/sendCryptoTransfer.js +281 -0
- package/dist/utils/funding/sendCryptoTransfer.js.map +1 -0
- package/dist/utils/funding/sendCryptoTransfer.mjs +405 -0
- package/dist/utils/funding/sendCryptoTransfer.mjs.map +1 -0
- package/dist/utils/funding/tokenSymbol.d.ts +7 -0
- package/dist/utils/funding/tokenSymbol.d.ts.map +1 -0
- package/dist/utils/funding/tokenSymbol.js +32 -0
- package/dist/utils/funding/tokenSymbol.js.map +1 -0
- package/dist/utils/funding/tokenSymbol.mjs +31 -0
- package/dist/utils/funding/tokenSymbol.mjs.map +1 -0
- package/dist/utils/utils.d.ts +1 -0
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +5 -0
- package/dist/utils/utils.js.map +1 -1
- package/dist/utils/utils.mjs +7 -1
- package/dist/utils/utils.mjs.map +1 -1
- package/package.json +8 -4
- package/dist/components/onramp/OnRamp.d.ts +0 -14
- package/dist/components/onramp/OnRamp.d.ts.map +0 -1
- package/dist/components/onramp/OnRamp.js +0 -61
- package/dist/components/onramp/OnRamp.js.map +0 -1
- package/dist/components/onramp/OnRamp.mjs +0 -79
- package/dist/components/onramp/OnRamp.mjs.map +0 -1
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { faChevronRight, faWallet, faCheck, faCopy } from '@fortawesome/free-solid-svg-icons';
|
|
4
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
5
|
+
import { useState, useMemo, useEffect } from 'react';
|
|
6
|
+
import clsx from 'clsx';
|
|
7
|
+
import { useTurnkey } from '../../providers/client/Hook.mjs';
|
|
8
|
+
import { useModal } from '../../providers/modal/Hook.mjs';
|
|
9
|
+
import { useSupportedAssets } from '../../providers/SupportedAssetsProvider.mjs';
|
|
10
|
+
import { buildOnRampCryptoTransfer } from '../../utils/funding/buildCryptoTransfer.mjs';
|
|
11
|
+
import { chainLabel } from '../../utils/funding/chainLabel.mjs';
|
|
12
|
+
import { isUserRejected, sendErrorMessage, solanaRpcUrl, buildUnsignedOnRampTransaction, evmChainId, switchSelectedEthereumChain } from '../../utils/funding/sendCryptoTransfer.mjs';
|
|
13
|
+
import { tokenDecimals, caip2Of } from '../../utils/funding/tokenSymbol.mjs';
|
|
14
|
+
import { onRampTokensForAccount } from '../../utils/funding/onRampTokens.mjs';
|
|
15
|
+
import { truncateAddress } from '../../utils/utils.mjs';
|
|
16
|
+
import { ActionButton } from '../design/Buttons.mjs';
|
|
17
|
+
import { SolanaLogo, EthereumLogo } from '../design/Svg.mjs';
|
|
18
|
+
import { CryptoAmountInput } from './CryptoAmountInput.mjs';
|
|
19
|
+
import { OnRampCryptoStatus } from './OnRampCryptoStatus.mjs';
|
|
20
|
+
|
|
21
|
+
var partyLabelClassName = "px-1 text-xs font-medium text-icon-text-light dark:text-icon-text-dark";
|
|
22
|
+
function OnRampCryptoSend(props) {
|
|
23
|
+
var destination = props.destination,
|
|
24
|
+
externalWallet = props.externalWallet,
|
|
25
|
+
externalAccount = props.externalAccount,
|
|
26
|
+
lockedCaip19 = props.lockedCaip19,
|
|
27
|
+
lockedCaip2 = props.lockedCaip2,
|
|
28
|
+
rpcUrl = props.rpcUrl,
|
|
29
|
+
successPageDuration = props.successPageDuration,
|
|
30
|
+
onSuccess = props.onSuccess,
|
|
31
|
+
onError = props.onError,
|
|
32
|
+
onChangeWallet = props.onChangeWallet;
|
|
33
|
+
var _useModal = useModal(),
|
|
34
|
+
pushPage = _useModal.pushPage,
|
|
35
|
+
isMobile = _useModal.isMobile;
|
|
36
|
+
var _useTurnkey = useTurnkey(),
|
|
37
|
+
signAndSendTransaction = _useTurnkey.signAndSendTransaction;
|
|
38
|
+
var _useSupportedAssets = useSupportedAssets(),
|
|
39
|
+
assetsByCaip2 = _useSupportedAssets.assetsByCaip2;
|
|
40
|
+
var _useState = useState(false),
|
|
41
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
42
|
+
isHoveringFrom = _useState2[0],
|
|
43
|
+
setIsHoveringFrom = _useState2[1];
|
|
44
|
+
var _useState3 = useState(false),
|
|
45
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
46
|
+
isHoveringTo = _useState4[0],
|
|
47
|
+
setIsHoveringTo = _useState4[1];
|
|
48
|
+
var _useState5 = useState(false),
|
|
49
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
50
|
+
showCopied = _useState6[0],
|
|
51
|
+
setShowCopied = _useState6[1];
|
|
52
|
+
var _useState7 = useState(false),
|
|
53
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
54
|
+
sending = _useState8[0],
|
|
55
|
+
setSending = _useState8[1];
|
|
56
|
+
var _useState9 = useState(null),
|
|
57
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
58
|
+
error = _useState0[0],
|
|
59
|
+
setError = _useState0[1];
|
|
60
|
+
var _useState1 = useState(false),
|
|
61
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
62
|
+
shaking = _useState10[0],
|
|
63
|
+
setShaking = _useState10[1];
|
|
64
|
+
var tokens = useMemo(function () {
|
|
65
|
+
return onRampTokensForAccount(destination, {
|
|
66
|
+
caip19: lockedCaip19,
|
|
67
|
+
caip2: lockedCaip2
|
|
68
|
+
});
|
|
69
|
+
}, [destination, lockedCaip19, lockedCaip2]);
|
|
70
|
+
var _useState11 = useState(lockedCaip19 !== null && lockedCaip19 !== void 0 ? lockedCaip19 : tokens[0]),
|
|
71
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
72
|
+
token = _useState12[0],
|
|
73
|
+
setToken = _useState12[1];
|
|
74
|
+
var _useState13 = useState("0"),
|
|
75
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
76
|
+
amount = _useState14[0],
|
|
77
|
+
setAmount = _useState14[1];
|
|
78
|
+
useEffect(function () {
|
|
79
|
+
if (lockedCaip19) {
|
|
80
|
+
setToken(lockedCaip19);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if (!token || !tokens.includes(token)) {
|
|
84
|
+
setToken(tokens[0]);
|
|
85
|
+
}
|
|
86
|
+
}, [lockedCaip19, token, tokens]);
|
|
87
|
+
useEffect(function () {
|
|
88
|
+
setError(null);
|
|
89
|
+
}, [amount, token]);
|
|
90
|
+
var ChainLogo = isSolanaChain(destination, token) ? SolanaLogo : EthereumLogo;
|
|
91
|
+
var preparedTransfer = useMemo(function () {
|
|
92
|
+
if (!token) return undefined;
|
|
93
|
+
try {
|
|
94
|
+
return buildOnRampCryptoTransfer({
|
|
95
|
+
token: token,
|
|
96
|
+
amount: amount,
|
|
97
|
+
decimals: tokenDecimals(token, assetsByCaip2),
|
|
98
|
+
from: externalAccount,
|
|
99
|
+
to: destination
|
|
100
|
+
});
|
|
101
|
+
} catch (_unused) {
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
}, [amount, assetsByCaip2, destination, externalAccount, token]);
|
|
105
|
+
var send = /*#__PURE__*/function () {
|
|
106
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
107
|
+
var provider, chainId, resolvedRpcUrl, unsignedTransaction, transactionId, _t;
|
|
108
|
+
return _regenerator().w(function (_context) {
|
|
109
|
+
while (1) switch (_context.p = _context.n) {
|
|
110
|
+
case 0:
|
|
111
|
+
if (!(!preparedTransfer || sending)) {
|
|
112
|
+
_context.n = 1;
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
return _context.a(2);
|
|
116
|
+
case 1:
|
|
117
|
+
setSending(true);
|
|
118
|
+
setError(null);
|
|
119
|
+
_context.p = 2;
|
|
120
|
+
provider = externalWallet.provider;
|
|
121
|
+
if (!(preparedTransfer.transactionType === "TRANSACTION_TYPE_ETHEREUM")) {
|
|
122
|
+
_context.n = 3;
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
chainId = Number(preparedTransfer.caip2.slice("eip155:".length));
|
|
126
|
+
if (!(evmChainId(externalWallet.chainInfo) !== chainId)) {
|
|
127
|
+
_context.n = 3;
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
_context.n = 3;
|
|
131
|
+
return switchSelectedEthereumChain(provider, "0x".concat(chainId.toString(16)));
|
|
132
|
+
case 3:
|
|
133
|
+
resolvedRpcUrl = preparedTransfer.transactionType === "TRANSACTION_TYPE_SOLANA" ? solanaRpcUrl(preparedTransfer.caip2, rpcUrl) : rpcUrl;
|
|
134
|
+
_context.n = 4;
|
|
135
|
+
return buildUnsignedOnRampTransaction({
|
|
136
|
+
transfer: preparedTransfer,
|
|
137
|
+
provider: provider,
|
|
138
|
+
rpcUrl: resolvedRpcUrl
|
|
139
|
+
});
|
|
140
|
+
case 4:
|
|
141
|
+
unsignedTransaction = _context.v;
|
|
142
|
+
_context.n = 5;
|
|
143
|
+
return signAndSendTransaction(_objectSpread2({
|
|
144
|
+
walletAccount: externalAccount,
|
|
145
|
+
unsignedTransaction: unsignedTransaction,
|
|
146
|
+
transactionType: preparedTransfer.transactionType
|
|
147
|
+
}, resolvedRpcUrl ? {
|
|
148
|
+
rpcUrl: resolvedRpcUrl
|
|
149
|
+
} : {}));
|
|
150
|
+
case 5:
|
|
151
|
+
transactionId = _context.v;
|
|
152
|
+
pushPage({
|
|
153
|
+
key: "Sending",
|
|
154
|
+
showTitle: false,
|
|
155
|
+
content: jsx(OnRampCryptoStatus, {
|
|
156
|
+
chain: preparedTransfer.transactionType === "TRANSACTION_TYPE_SOLANA" ? "solana" : "ethereum",
|
|
157
|
+
caip2: preparedTransfer.caip2,
|
|
158
|
+
transactionId: transactionId,
|
|
159
|
+
provider: provider,
|
|
160
|
+
rpcUrl: resolvedRpcUrl,
|
|
161
|
+
successPageDuration: successPageDuration,
|
|
162
|
+
iconUrl: externalWallet.info.icon,
|
|
163
|
+
onSuccess: onSuccess !== null && onSuccess !== void 0 ? onSuccess : function () {
|
|
164
|
+
return undefined;
|
|
165
|
+
},
|
|
166
|
+
onError: onError !== null && onError !== void 0 ? onError : function () {
|
|
167
|
+
return undefined;
|
|
168
|
+
}
|
|
169
|
+
})
|
|
170
|
+
});
|
|
171
|
+
_context.n = 7;
|
|
172
|
+
break;
|
|
173
|
+
case 6:
|
|
174
|
+
_context.p = 6;
|
|
175
|
+
_t = _context.v;
|
|
176
|
+
if (!isUserRejected(_t)) {
|
|
177
|
+
setError(sendErrorMessage(_t));
|
|
178
|
+
setShaking(true);
|
|
179
|
+
setTimeout(function () {
|
|
180
|
+
return setShaking(false);
|
|
181
|
+
}, 250);
|
|
182
|
+
}
|
|
183
|
+
onError === null || onError === void 0 ? void 0 : onError(_t);
|
|
184
|
+
case 7:
|
|
185
|
+
_context.p = 7;
|
|
186
|
+
setSending(false);
|
|
187
|
+
return _context.f(7);
|
|
188
|
+
case 8:
|
|
189
|
+
return _context.a(2);
|
|
190
|
+
}
|
|
191
|
+
}, _callee, null, [[2, 6, 7, 8]]);
|
|
192
|
+
}));
|
|
193
|
+
return function send() {
|
|
194
|
+
return _ref.apply(this, arguments);
|
|
195
|
+
};
|
|
196
|
+
}();
|
|
197
|
+
return jsxs("div", {
|
|
198
|
+
className: clsx("relative flex flex-col items-center justify-center gap-4 py-4 text-center", isMobile ? "w-full" : "w-96"),
|
|
199
|
+
children: [token && jsxs("div", {
|
|
200
|
+
className: "flex w-full flex-col items-center",
|
|
201
|
+
children: [jsx(CryptoAmountInput, {
|
|
202
|
+
value: amount,
|
|
203
|
+
onChange: setAmount,
|
|
204
|
+
token: token,
|
|
205
|
+
tokens: tokens,
|
|
206
|
+
onTokenChange: setToken,
|
|
207
|
+
locked: !!lockedCaip19
|
|
208
|
+
}), jsxs("p", {
|
|
209
|
+
className: "-mt-2 text-sm text-icon-text-light dark:text-icon-text-dark",
|
|
210
|
+
children: ["on ", chainLabel(caip2Of(token))]
|
|
211
|
+
})]
|
|
212
|
+
}), jsxs("div", {
|
|
213
|
+
className: "flex w-full flex-col gap-2 text-left",
|
|
214
|
+
children: [jsxs("div", {
|
|
215
|
+
className: "flex flex-col gap-1",
|
|
216
|
+
children: [jsx("div", {
|
|
217
|
+
className: partyLabelClassName,
|
|
218
|
+
children: "From"
|
|
219
|
+
}), jsxs(ActionButton, _objectSpread2(_objectSpread2({
|
|
220
|
+
name: "onramp-crypto-from",
|
|
221
|
+
onClick: onChangeWallet
|
|
222
|
+
}, !isMobile && {
|
|
223
|
+
onMouseEnter: function onMouseEnter() {
|
|
224
|
+
return setIsHoveringFrom(true);
|
|
225
|
+
},
|
|
226
|
+
onMouseLeave: function onMouseLeave() {
|
|
227
|
+
return setIsHoveringFrom(false);
|
|
228
|
+
}
|
|
229
|
+
}), {}, {
|
|
230
|
+
className: "relative flex w-full items-center gap-2 overflow-hidden bg-button-light text-inherit dark:bg-button-dark",
|
|
231
|
+
children: [externalWallet.info.icon ? jsx("img", {
|
|
232
|
+
src: externalWallet.info.icon,
|
|
233
|
+
alt: "",
|
|
234
|
+
className: "size-6 shrink-0 rounded-full"
|
|
235
|
+
}) : jsx("span", {
|
|
236
|
+
className: "size-6 shrink-0 rounded-full bg-icon-background-light dark:bg-icon-background-dark"
|
|
237
|
+
}), jsx("span", {
|
|
238
|
+
className: "text-sm",
|
|
239
|
+
children: truncateAddress(externalAccount.address)
|
|
240
|
+
}), jsx(FontAwesomeIcon, {
|
|
241
|
+
className: clsx("absolute transition-all duration-200 text-icon-text-light dark:text-icon-text-dark", isHoveringFrom ? "right-4" : "-right-4"),
|
|
242
|
+
icon: faChevronRight
|
|
243
|
+
})]
|
|
244
|
+
}))]
|
|
245
|
+
}), jsxs("div", {
|
|
246
|
+
className: "flex flex-col gap-1",
|
|
247
|
+
children: [jsx("div", {
|
|
248
|
+
className: partyLabelClassName,
|
|
249
|
+
children: "To"
|
|
250
|
+
}), jsxs(ActionButton, _objectSpread2(_objectSpread2({
|
|
251
|
+
name: "onramp-crypto-to",
|
|
252
|
+
disabled: !destination,
|
|
253
|
+
onClick: function onClick() {
|
|
254
|
+
if (!destination) return;
|
|
255
|
+
setShowCopied(true);
|
|
256
|
+
void navigator.clipboard.writeText(destination.address);
|
|
257
|
+
setTimeout(function () {
|
|
258
|
+
return setShowCopied(false);
|
|
259
|
+
}, 1500);
|
|
260
|
+
}
|
|
261
|
+
}, !isMobile && {
|
|
262
|
+
onMouseEnter: function onMouseEnter() {
|
|
263
|
+
return setIsHoveringTo(true);
|
|
264
|
+
},
|
|
265
|
+
onMouseLeave: function onMouseLeave() {
|
|
266
|
+
return setIsHoveringTo(false);
|
|
267
|
+
}
|
|
268
|
+
}), {}, {
|
|
269
|
+
className: clsx("relative flex w-full items-center gap-2 bg-button-light text-inherit dark:bg-button-dark", showCopied ? "overflow-visible" : "overflow-hidden"),
|
|
270
|
+
children: [jsxs("span", {
|
|
271
|
+
className: "relative flex size-6 shrink-0 items-center justify-center",
|
|
272
|
+
children: [jsx(FontAwesomeIcon, {
|
|
273
|
+
icon: faWallet,
|
|
274
|
+
className: "size-4"
|
|
275
|
+
}), jsx("span", {
|
|
276
|
+
className: "absolute -right-1.5 -bottom-1 flex size-3.5 items-center justify-center rounded-full bg-button-light dark:bg-button-dark",
|
|
277
|
+
children: jsx(ChainLogo, {
|
|
278
|
+
className: "size-2.5"
|
|
279
|
+
})
|
|
280
|
+
})]
|
|
281
|
+
}), jsx("span", {
|
|
282
|
+
className: "text-sm",
|
|
283
|
+
children: destination ? truncateAddress(destination.address) : ""
|
|
284
|
+
}), jsx("div", {
|
|
285
|
+
className: clsx("absolute transition-all duration-200", isHoveringTo || showCopied || isMobile ? "right-4" : "-right-4"),
|
|
286
|
+
children: jsxs("div", {
|
|
287
|
+
className: "relative",
|
|
288
|
+
children: [jsx(FontAwesomeIcon, {
|
|
289
|
+
icon: showCopied ? faCheck : faCopy,
|
|
290
|
+
className: clsx("transition-colors", showCopied ? "text-success-light dark:text-success-dark" : "text-icon-text-light dark:text-icon-text-dark")
|
|
291
|
+
}), showCopied && jsx(FontAwesomeIcon, {
|
|
292
|
+
icon: faCheck,
|
|
293
|
+
className: "absolute inset-0 m-auto text-success-light dark:text-success-dark animate-ping"
|
|
294
|
+
})]
|
|
295
|
+
})
|
|
296
|
+
})]
|
|
297
|
+
}))]
|
|
298
|
+
})]
|
|
299
|
+
}), jsx(ActionButton, {
|
|
300
|
+
name: "onramp-crypto-continue",
|
|
301
|
+
disabled: !preparedTransfer || sending,
|
|
302
|
+
loading: sending,
|
|
303
|
+
onClick: function onClick() {
|
|
304
|
+
return void send();
|
|
305
|
+
},
|
|
306
|
+
spinnerClassName: "text-primary-text-light dark:text-primary-text-dark",
|
|
307
|
+
className: clsx("w-full bg-primary-light text-primary-text-light dark:bg-primary-dark dark:text-primary-text-dark", shaking && "animate-shake"),
|
|
308
|
+
children: "Continue"
|
|
309
|
+
}), jsx("p", {
|
|
310
|
+
"data-testid": "onramp-crypto-error",
|
|
311
|
+
className: clsx("text-sm text-danger-light dark:text-danger-dark transition-opacity delay-75 line-clamp-2 w-full", error ? "opacity-100 pointer-events-auto" : "opacity-0 pointer-events-none absolute"),
|
|
312
|
+
children: error
|
|
313
|
+
})]
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
function isSolanaChain(account, token) {
|
|
317
|
+
if ((account === null || account === void 0 ? void 0 : account.addressFormat) === "ADDRESS_FORMAT_SOLANA") return true;
|
|
318
|
+
if ((account === null || account === void 0 ? void 0 : account.addressFormat) === "ADDRESS_FORMAT_ETHEREUM") return false;
|
|
319
|
+
return !!token && caip2Of(token).startsWith("solana:");
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
export { OnRampCryptoSend };
|
|
323
|
+
//# sourceMappingURL=OnRampCryptoSend.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnRampCryptoSend.mjs","sources":["../../../src/components/funding/OnRampCryptoSend.tsx"],"sourcesContent":[null],"names":["partyLabelClassName","OnRampCryptoSend","props","destination","externalWallet","externalAccount","lockedCaip19","lockedCaip2","rpcUrl","successPageDuration","onSuccess","onError","onChangeWallet","_useModal","useModal","pushPage","isMobile","_useTurnkey","useTurnkey","signAndSendTransaction","_useSupportedAssets","useSupportedAssets","assetsByCaip2","_useState","useState","_useState2","_slicedToArray","isHoveringFrom","setIsHoveringFrom","_useState3","_useState4","isHoveringTo","setIsHoveringTo","_useState5","_useState6","showCopied","setShowCopied","_useState7","_useState8","sending","setSending","_useState9","_useState0","error","setError","_useState1","_useState10","shaking","setShaking","tokens","useMemo","onRampTokensForAccount","caip19","caip2","_useState11","_useState12","token","setToken","_useState13","_useState14","amount","setAmount","useEffect","includes","ChainLogo","isSolanaChain","SolanaLogo","EthereumLogo","preparedTransfer","undefined","buildOnRampCryptoTransfer","decimals","tokenDecimals","from","to","_unused","send","_ref","_asyncToGenerator","_regenerator","m","_callee","provider","chainId","resolvedRpcUrl","unsignedTransaction","transactionId","_t","w","_context","p","n","a","transactionType","Number","slice","length","evmChainId","chainInfo","switchSelectedEthereumChain","concat","toString","solanaRpcUrl","buildUnsignedOnRampTransaction","transfer","v","_objectSpread","walletAccount","key","showTitle","content","_jsx","OnRampCryptoStatus","chain","iconUrl","info","icon","isUserRejected","sendErrorMessage","setTimeout","f","apply","arguments","_jsxs","className","clsx","children","CryptoAmountInput","value","onChange","onTokenChange","locked","chainLabel","caip2Of","ActionButton","name","onClick","onMouseEnter","onMouseLeave","src","alt","truncateAddress","address","FontAwesomeIcon","faChevronRight","disabled","navigator","clipboard","writeText","faWallet","faCheck","faCopy","loading","spinnerClassName","account","addressFormat","startsWith"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type WalletRpcProvider } from "@turnkey/core";
|
|
2
|
+
export type OnRampCryptoStatusProps = {
|
|
3
|
+
chain: "ethereum" | "solana";
|
|
4
|
+
caip2: string;
|
|
5
|
+
transactionId: string;
|
|
6
|
+
provider: WalletRpcProvider;
|
|
7
|
+
rpcUrl?: string | undefined;
|
|
8
|
+
successPageDuration?: number | undefined;
|
|
9
|
+
iconUrl?: string | undefined;
|
|
10
|
+
onSuccess: () => void;
|
|
11
|
+
onError: (error: unknown) => void;
|
|
12
|
+
};
|
|
13
|
+
export declare function OnRampCryptoStatus(props: OnRampCryptoStatusProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=OnRampCryptoStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnRampCryptoStatus.d.ts","sourceRoot":"","sources":["../../../src/components/funding/OnRampCryptoStatus.tsx"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,eAAe,CAAC;AASvB,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CAyHhE"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
|
|
5
|
+
var reactFontawesome = require('@fortawesome/react-fontawesome');
|
|
6
|
+
var clsx = require('clsx');
|
|
7
|
+
var react = require('react');
|
|
8
|
+
var core = require('@turnkey/core');
|
|
9
|
+
var Hook = require('../../providers/modal/Hook.js');
|
|
10
|
+
var Action = require('../auth/Action.js');
|
|
11
|
+
var Buttons = require('../design/Buttons.js');
|
|
12
|
+
var Success = require('../design/Success.js');
|
|
13
|
+
var helpers = require('../send-transaction/helpers.js');
|
|
14
|
+
|
|
15
|
+
const POLL_INTERVAL_MS = 1000;
|
|
16
|
+
function OnRampCryptoStatus(props) {
|
|
17
|
+
const {
|
|
18
|
+
chain,
|
|
19
|
+
caip2,
|
|
20
|
+
transactionId,
|
|
21
|
+
provider,
|
|
22
|
+
rpcUrl,
|
|
23
|
+
successPageDuration = 2000,
|
|
24
|
+
iconUrl,
|
|
25
|
+
onSuccess,
|
|
26
|
+
onError
|
|
27
|
+
} = props;
|
|
28
|
+
const {
|
|
29
|
+
closeModal,
|
|
30
|
+
isMobile
|
|
31
|
+
} = Hook.useModal();
|
|
32
|
+
const [completed, setCompleted] = react.useState(false);
|
|
33
|
+
react.useEffect(() => {
|
|
34
|
+
if (completed) return;
|
|
35
|
+
let active = true;
|
|
36
|
+
let polling = false;
|
|
37
|
+
let interval;
|
|
38
|
+
const finish = callback => {
|
|
39
|
+
if (!active) return;
|
|
40
|
+
active = false;
|
|
41
|
+
clearInterval(interval);
|
|
42
|
+
callback();
|
|
43
|
+
};
|
|
44
|
+
const poll = async () => {
|
|
45
|
+
if (!active || polling) return;
|
|
46
|
+
polling = true;
|
|
47
|
+
try {
|
|
48
|
+
const status = chain === "solana" ? await pollSolana(transactionId, rpcUrl) : await pollEthereum(transactionId, provider);
|
|
49
|
+
if (!active || status === "pending") return;
|
|
50
|
+
if (status === "success") {
|
|
51
|
+
finish(() => setCompleted(true));
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
finish(() => {
|
|
55
|
+
onError(new core.TurnkeyError("On-chain transaction failed.", core.TurnkeyErrorCodes.POLL_TRANSACTION_STATUS_ERROR));
|
|
56
|
+
closeModal();
|
|
57
|
+
});
|
|
58
|
+
} catch {
|
|
59
|
+
// Keep polling. A single failed receipt request is not a failed transfer.
|
|
60
|
+
} finally {
|
|
61
|
+
polling = false;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
void poll();
|
|
65
|
+
interval = setInterval(() => void poll(), POLL_INTERVAL_MS);
|
|
66
|
+
return () => {
|
|
67
|
+
active = false;
|
|
68
|
+
clearInterval(interval);
|
|
69
|
+
};
|
|
70
|
+
}, [chain, closeModal, completed, onError, onSuccess, provider, rpcUrl, transactionId]);
|
|
71
|
+
if (completed) {
|
|
72
|
+
return jsxRuntime.jsxs("div", {
|
|
73
|
+
className: clsx("flex flex-col items-center py-4", isMobile ? "w-full" : "w-96"),
|
|
74
|
+
children: [jsxRuntime.jsx(Success.SuccessPage, {
|
|
75
|
+
text: "Transfer complete",
|
|
76
|
+
duration: successPageDuration,
|
|
77
|
+
onComplete: () => {
|
|
78
|
+
onSuccess();
|
|
79
|
+
closeModal();
|
|
80
|
+
}
|
|
81
|
+
}), jsxRuntime.jsx(Buttons.ActionButton, {
|
|
82
|
+
name: "onramp-view-explorer",
|
|
83
|
+
onClick: () => {
|
|
84
|
+
window.open(helpers.getExplorerUrl(transactionId, caip2), "_blank", "noopener,noreferrer");
|
|
85
|
+
},
|
|
86
|
+
className: "bg-primary-light text-primary-text-light dark:bg-primary-dark dark:text-primary-text-dark",
|
|
87
|
+
children: "View on block explorer"
|
|
88
|
+
})]
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
return jsxRuntime.jsx(Action.ActionPage, {
|
|
92
|
+
title: "Sending",
|
|
93
|
+
subtitle: "Waiting for the transaction to confirm.",
|
|
94
|
+
icon: iconUrl ? jsxRuntime.jsx("img", {
|
|
95
|
+
src: iconUrl,
|
|
96
|
+
alt: "",
|
|
97
|
+
className: "size-10 rounded-full"
|
|
98
|
+
}) : jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
|
|
99
|
+
icon: freeSolidSvgIcons.faWallet,
|
|
100
|
+
className: "size-10"
|
|
101
|
+
})
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
async function pollEthereum(transactionId, provider) {
|
|
105
|
+
const request = provider.request;
|
|
106
|
+
if (typeof request !== "function") {
|
|
107
|
+
throw new Error("This wallet cannot read Ethereum receipts.");
|
|
108
|
+
}
|
|
109
|
+
const receipt = await request.call(provider, {
|
|
110
|
+
method: "eth_getTransactionReceipt",
|
|
111
|
+
params: [transactionId]
|
|
112
|
+
});
|
|
113
|
+
if (!receipt || typeof receipt !== "object" || !("status" in receipt)) {
|
|
114
|
+
return "pending";
|
|
115
|
+
}
|
|
116
|
+
const status = BigInt(String(receipt.status));
|
|
117
|
+
if (status === 1n) return "success";
|
|
118
|
+
if (status === 0n) return "failed";
|
|
119
|
+
return "pending";
|
|
120
|
+
}
|
|
121
|
+
async function pollSolana(transactionId, rpcUrl) {
|
|
122
|
+
if (!rpcUrl) {
|
|
123
|
+
throw new core.TurnkeyError("Missing rpcUrl: connected Solana wallets require an RPC URL to broadcast transactions.", core.TurnkeyErrorCodes.POLL_TRANSACTION_STATUS_ERROR);
|
|
124
|
+
}
|
|
125
|
+
const response = await fetch(rpcUrl, {
|
|
126
|
+
method: "POST",
|
|
127
|
+
headers: {
|
|
128
|
+
"Content-Type": "application/json"
|
|
129
|
+
},
|
|
130
|
+
body: JSON.stringify({
|
|
131
|
+
jsonrpc: "2.0",
|
|
132
|
+
id: 1,
|
|
133
|
+
method: "getSignatureStatuses",
|
|
134
|
+
params: [[transactionId], {
|
|
135
|
+
searchTransactionHistory: true
|
|
136
|
+
}]
|
|
137
|
+
})
|
|
138
|
+
});
|
|
139
|
+
const body = await response.json();
|
|
140
|
+
if (body.error) {
|
|
141
|
+
throw new Error(body.error.message ?? "Solana status request failed.");
|
|
142
|
+
}
|
|
143
|
+
const status = body.result?.value?.[0];
|
|
144
|
+
if (!status) return "pending";
|
|
145
|
+
if (status.err) return "failed";
|
|
146
|
+
if (status.confirmationStatus === "confirmed" || status.confirmationStatus === "finalized") {
|
|
147
|
+
return "success";
|
|
148
|
+
}
|
|
149
|
+
return "pending";
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
exports.OnRampCryptoStatus = OnRampCryptoStatus;
|
|
153
|
+
//# sourceMappingURL=OnRampCryptoStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnRampCryptoStatus.js","sources":["../../../src/components/funding/OnRampCryptoStatus.tsx"],"sourcesContent":[null],"names":["POLL_INTERVAL_MS","OnRampCryptoStatus","props","chain","caip2","transactionId","provider","rpcUrl","successPageDuration","iconUrl","onSuccess","onError","closeModal","isMobile","useModal","completed","setCompleted","useState","useEffect","active","polling","interval","finish","callback","clearInterval","poll","status","pollSolana","pollEthereum","TurnkeyError","TurnkeyErrorCodes","POLL_TRANSACTION_STATUS_ERROR","setInterval","_jsxs","className","clsx","children","_jsx","SuccessPage","text","duration","onComplete","ActionButton","name","onClick","window","open","getExplorerUrl","ActionPage","title","subtitle","icon","src","alt","FontAwesomeIcon","faWallet","request","Error","receipt","call","method","params","BigInt","String","response","fetch","headers","body","JSON","stringify","jsonrpc","id","searchTransactionHistory","json","error","message","result","value","err","confirmationStatus"],"mappings":"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"}
|