@turnkey/react-wallet-kit 2.7.1 → 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 +7 -3
- 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,272 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator, typeof as _typeof } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { faWallet } from '@fortawesome/free-solid-svg-icons';
|
|
4
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
5
|
+
import clsx from 'clsx';
|
|
6
|
+
import { useState, useEffect } from 'react';
|
|
7
|
+
import { TurnkeyError, TurnkeyErrorCodes } from '@turnkey/core';
|
|
8
|
+
import { useModal } from '../../providers/modal/Hook.mjs';
|
|
9
|
+
import { ActionPage } from '../auth/Action.mjs';
|
|
10
|
+
import { ActionButton } from '../design/Buttons.mjs';
|
|
11
|
+
import { SuccessPage } from '../design/Success.mjs';
|
|
12
|
+
import { getExplorerUrl } from '../send-transaction/helpers.mjs';
|
|
13
|
+
|
|
14
|
+
var POLL_INTERVAL_MS = 1000;
|
|
15
|
+
function OnRampCryptoStatus(props) {
|
|
16
|
+
var chain = props.chain,
|
|
17
|
+
caip2 = props.caip2,
|
|
18
|
+
transactionId = props.transactionId,
|
|
19
|
+
provider = props.provider,
|
|
20
|
+
rpcUrl = props.rpcUrl,
|
|
21
|
+
_props$successPageDur = props.successPageDuration,
|
|
22
|
+
successPageDuration = _props$successPageDur === void 0 ? 2000 : _props$successPageDur,
|
|
23
|
+
iconUrl = props.iconUrl,
|
|
24
|
+
onSuccess = props.onSuccess,
|
|
25
|
+
onError = props.onError;
|
|
26
|
+
var _useModal = useModal(),
|
|
27
|
+
closeModal = _useModal.closeModal,
|
|
28
|
+
isMobile = _useModal.isMobile;
|
|
29
|
+
var _useState = useState(false),
|
|
30
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
31
|
+
completed = _useState2[0],
|
|
32
|
+
setCompleted = _useState2[1];
|
|
33
|
+
useEffect(function () {
|
|
34
|
+
if (completed) return;
|
|
35
|
+
var active = true;
|
|
36
|
+
var polling = false;
|
|
37
|
+
var interval;
|
|
38
|
+
var finish = function finish(callback) {
|
|
39
|
+
if (!active) return;
|
|
40
|
+
active = false;
|
|
41
|
+
clearInterval(interval);
|
|
42
|
+
callback();
|
|
43
|
+
};
|
|
44
|
+
var poll = /*#__PURE__*/function () {
|
|
45
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
46
|
+
var status, _t;
|
|
47
|
+
return _regenerator().w(function (_context) {
|
|
48
|
+
while (1) switch (_context.p = _context.n) {
|
|
49
|
+
case 0:
|
|
50
|
+
if (!(!active || polling)) {
|
|
51
|
+
_context.n = 1;
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
return _context.a(2);
|
|
55
|
+
case 1:
|
|
56
|
+
polling = true;
|
|
57
|
+
_context.p = 2;
|
|
58
|
+
if (!(chain === "solana")) {
|
|
59
|
+
_context.n = 4;
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
_context.n = 3;
|
|
63
|
+
return pollSolana(transactionId, rpcUrl);
|
|
64
|
+
case 3:
|
|
65
|
+
_t = _context.v;
|
|
66
|
+
_context.n = 6;
|
|
67
|
+
break;
|
|
68
|
+
case 4:
|
|
69
|
+
_context.n = 5;
|
|
70
|
+
return pollEthereum(transactionId, provider);
|
|
71
|
+
case 5:
|
|
72
|
+
_t = _context.v;
|
|
73
|
+
case 6:
|
|
74
|
+
status = _t;
|
|
75
|
+
if (!(!active || status === "pending")) {
|
|
76
|
+
_context.n = 7;
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
return _context.a(2);
|
|
80
|
+
case 7:
|
|
81
|
+
if (!(status === "success")) {
|
|
82
|
+
_context.n = 8;
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
finish(function () {
|
|
86
|
+
return setCompleted(true);
|
|
87
|
+
});
|
|
88
|
+
return _context.a(2);
|
|
89
|
+
case 8:
|
|
90
|
+
finish(function () {
|
|
91
|
+
onError(new TurnkeyError("On-chain transaction failed.", TurnkeyErrorCodes.POLL_TRANSACTION_STATUS_ERROR));
|
|
92
|
+
closeModal();
|
|
93
|
+
});
|
|
94
|
+
_context.n = 10;
|
|
95
|
+
break;
|
|
96
|
+
case 9:
|
|
97
|
+
_context.p = 9;
|
|
98
|
+
_context.v;
|
|
99
|
+
case 10:
|
|
100
|
+
_context.p = 10;
|
|
101
|
+
polling = false;
|
|
102
|
+
return _context.f(10);
|
|
103
|
+
case 11:
|
|
104
|
+
return _context.a(2);
|
|
105
|
+
}
|
|
106
|
+
}, _callee, null, [[2, 9, 10, 11]]);
|
|
107
|
+
}));
|
|
108
|
+
return function poll() {
|
|
109
|
+
return _ref.apply(this, arguments);
|
|
110
|
+
};
|
|
111
|
+
}();
|
|
112
|
+
void poll();
|
|
113
|
+
interval = setInterval(function () {
|
|
114
|
+
return void poll();
|
|
115
|
+
}, POLL_INTERVAL_MS);
|
|
116
|
+
return function () {
|
|
117
|
+
active = false;
|
|
118
|
+
clearInterval(interval);
|
|
119
|
+
};
|
|
120
|
+
}, [chain, closeModal, completed, onError, onSuccess, provider, rpcUrl, transactionId]);
|
|
121
|
+
if (completed) {
|
|
122
|
+
return jsxs("div", {
|
|
123
|
+
className: clsx("flex flex-col items-center py-4", isMobile ? "w-full" : "w-96"),
|
|
124
|
+
children: [jsx(SuccessPage, {
|
|
125
|
+
text: "Transfer complete",
|
|
126
|
+
duration: successPageDuration,
|
|
127
|
+
onComplete: function onComplete() {
|
|
128
|
+
onSuccess();
|
|
129
|
+
closeModal();
|
|
130
|
+
}
|
|
131
|
+
}), jsx(ActionButton, {
|
|
132
|
+
name: "onramp-view-explorer",
|
|
133
|
+
onClick: function onClick() {
|
|
134
|
+
window.open(getExplorerUrl(transactionId, caip2), "_blank", "noopener,noreferrer");
|
|
135
|
+
},
|
|
136
|
+
className: "bg-primary-light text-primary-text-light dark:bg-primary-dark dark:text-primary-text-dark",
|
|
137
|
+
children: "View on block explorer"
|
|
138
|
+
})]
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
return jsx(ActionPage, {
|
|
142
|
+
title: "Sending",
|
|
143
|
+
subtitle: "Waiting for the transaction to confirm.",
|
|
144
|
+
icon: iconUrl ? jsx("img", {
|
|
145
|
+
src: iconUrl,
|
|
146
|
+
alt: "",
|
|
147
|
+
className: "size-10 rounded-full"
|
|
148
|
+
}) : jsx(FontAwesomeIcon, {
|
|
149
|
+
icon: faWallet,
|
|
150
|
+
className: "size-10"
|
|
151
|
+
})
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
function pollEthereum(_x, _x2) {
|
|
155
|
+
return _pollEthereum.apply(this, arguments);
|
|
156
|
+
}
|
|
157
|
+
function _pollEthereum() {
|
|
158
|
+
_pollEthereum = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(transactionId, provider) {
|
|
159
|
+
var request, receipt, status;
|
|
160
|
+
return _regenerator().w(function (_context2) {
|
|
161
|
+
while (1) switch (_context2.n) {
|
|
162
|
+
case 0:
|
|
163
|
+
request = provider.request;
|
|
164
|
+
if (!(typeof request !== "function")) {
|
|
165
|
+
_context2.n = 1;
|
|
166
|
+
break;
|
|
167
|
+
}
|
|
168
|
+
throw new Error("This wallet cannot read Ethereum receipts.");
|
|
169
|
+
case 1:
|
|
170
|
+
_context2.n = 2;
|
|
171
|
+
return request.call(provider, {
|
|
172
|
+
method: "eth_getTransactionReceipt",
|
|
173
|
+
params: [transactionId]
|
|
174
|
+
});
|
|
175
|
+
case 2:
|
|
176
|
+
receipt = _context2.v;
|
|
177
|
+
if (!(!receipt || _typeof(receipt) !== "object" || !("status" in receipt))) {
|
|
178
|
+
_context2.n = 3;
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
return _context2.a(2, "pending");
|
|
182
|
+
case 3:
|
|
183
|
+
status = BigInt(String(receipt.status));
|
|
184
|
+
if (!(status === 1n)) {
|
|
185
|
+
_context2.n = 4;
|
|
186
|
+
break;
|
|
187
|
+
}
|
|
188
|
+
return _context2.a(2, "success");
|
|
189
|
+
case 4:
|
|
190
|
+
if (!(status === 0n)) {
|
|
191
|
+
_context2.n = 5;
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
194
|
+
return _context2.a(2, "failed");
|
|
195
|
+
case 5:
|
|
196
|
+
return _context2.a(2, "pending");
|
|
197
|
+
}
|
|
198
|
+
}, _callee2);
|
|
199
|
+
}));
|
|
200
|
+
return _pollEthereum.apply(this, arguments);
|
|
201
|
+
}
|
|
202
|
+
function pollSolana(_x3, _x4) {
|
|
203
|
+
return _pollSolana.apply(this, arguments);
|
|
204
|
+
}
|
|
205
|
+
function _pollSolana() {
|
|
206
|
+
_pollSolana = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(transactionId, rpcUrl) {
|
|
207
|
+
var _body$result, _body$result$value;
|
|
208
|
+
var response, body, _body$error$message, status;
|
|
209
|
+
return _regenerator().w(function (_context3) {
|
|
210
|
+
while (1) switch (_context3.n) {
|
|
211
|
+
case 0:
|
|
212
|
+
if (rpcUrl) {
|
|
213
|
+
_context3.n = 1;
|
|
214
|
+
break;
|
|
215
|
+
}
|
|
216
|
+
throw new TurnkeyError("Missing rpcUrl: connected Solana wallets require an RPC URL to broadcast transactions.", TurnkeyErrorCodes.POLL_TRANSACTION_STATUS_ERROR);
|
|
217
|
+
case 1:
|
|
218
|
+
_context3.n = 2;
|
|
219
|
+
return fetch(rpcUrl, {
|
|
220
|
+
method: "POST",
|
|
221
|
+
headers: {
|
|
222
|
+
"Content-Type": "application/json"
|
|
223
|
+
},
|
|
224
|
+
body: JSON.stringify({
|
|
225
|
+
jsonrpc: "2.0",
|
|
226
|
+
id: 1,
|
|
227
|
+
method: "getSignatureStatuses",
|
|
228
|
+
params: [[transactionId], {
|
|
229
|
+
searchTransactionHistory: true
|
|
230
|
+
}]
|
|
231
|
+
})
|
|
232
|
+
});
|
|
233
|
+
case 2:
|
|
234
|
+
response = _context3.v;
|
|
235
|
+
_context3.n = 3;
|
|
236
|
+
return response.json();
|
|
237
|
+
case 3:
|
|
238
|
+
body = _context3.v;
|
|
239
|
+
if (!body.error) {
|
|
240
|
+
_context3.n = 4;
|
|
241
|
+
break;
|
|
242
|
+
}
|
|
243
|
+
throw new Error((_body$error$message = body.error.message) !== null && _body$error$message !== void 0 ? _body$error$message : "Solana status request failed.");
|
|
244
|
+
case 4:
|
|
245
|
+
status = (_body$result = body.result) === null || _body$result === void 0 ? void 0 : (_body$result$value = _body$result.value) === null || _body$result$value === void 0 ? void 0 : _body$result$value[0];
|
|
246
|
+
if (status) {
|
|
247
|
+
_context3.n = 5;
|
|
248
|
+
break;
|
|
249
|
+
}
|
|
250
|
+
return _context3.a(2, "pending");
|
|
251
|
+
case 5:
|
|
252
|
+
if (!status.err) {
|
|
253
|
+
_context3.n = 6;
|
|
254
|
+
break;
|
|
255
|
+
}
|
|
256
|
+
return _context3.a(2, "failed");
|
|
257
|
+
case 6:
|
|
258
|
+
if (!(status.confirmationStatus === "confirmed" || status.confirmationStatus === "finalized")) {
|
|
259
|
+
_context3.n = 7;
|
|
260
|
+
break;
|
|
261
|
+
}
|
|
262
|
+
return _context3.a(2, "success");
|
|
263
|
+
case 7:
|
|
264
|
+
return _context3.a(2, "pending");
|
|
265
|
+
}
|
|
266
|
+
}, _callee3);
|
|
267
|
+
}));
|
|
268
|
+
return _pollSolana.apply(this, arguments);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
export { OnRampCryptoStatus };
|
|
272
|
+
//# sourceMappingURL=OnRampCryptoStatus.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnRampCryptoStatus.mjs","sources":["../../../src/components/funding/OnRampCryptoStatus.tsx"],"sourcesContent":[null],"names":["POLL_INTERVAL_MS","OnRampCryptoStatus","props","chain","caip2","transactionId","provider","rpcUrl","_props$successPageDur","successPageDuration","iconUrl","onSuccess","onError","_useModal","useModal","closeModal","isMobile","_useState","useState","_useState2","_slicedToArray","completed","setCompleted","useEffect","active","polling","interval","finish","callback","clearInterval","poll","_ref","_asyncToGenerator","_regenerator","m","_callee","status","_t","w","_context","p","n","a","pollSolana","v","pollEthereum","TurnkeyError","TurnkeyErrorCodes","POLL_TRANSACTION_STATUS_ERROR","f","apply","arguments","setInterval","_jsxs","className","clsx","children","_jsx","SuccessPage","text","duration","onComplete","ActionButton","name","onClick","window","open","getExplorerUrl","ActionPage","title","subtitle","icon","src","alt","FontAwesomeIcon","faWallet","_x","_x2","_pollEthereum","_callee2","request","receipt","_context2","Error","call","method","params","_typeof","BigInt","String","_x3","_x4","_pollSolana","_callee3","_body$result","_body$result$value","response","body","_body$error$message","_context3","fetch","headers","JSON","stringify","jsonrpc","id","searchTransactionHistory","json","error","message","result","value","err","confirmationStatus"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { WalletSource, type WalletAccount, type WalletProvider } from "@turnkey/core";
|
|
2
|
+
export declare function OnRampExternalAccountSelector(props: {
|
|
3
|
+
provider: WalletProvider;
|
|
4
|
+
onSelect: (provider: WalletProvider, account: WalletAccount) => void;
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
6
|
+
export declare function accountsForProvider(wallets: {
|
|
7
|
+
source: WalletSource;
|
|
8
|
+
walletId: string;
|
|
9
|
+
accounts: WalletAccount[];
|
|
10
|
+
}[], provider: WalletProvider): WalletAccount[];
|
|
11
|
+
//# sourceMappingURL=OnRampExternalAccountSelector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnRampExternalAccountSelector.d.ts","sourceRoot":"","sources":["../../../src/components/funding/OnRampExternalAccountSelector.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAOvB,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;CACtE,kDAiDA;AAkCD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE;IACP,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B,EAAE,EACH,QAAQ,EAAE,cAAc,mBAwBzB"}
|
|
@@ -0,0 +1,95 @@
|
|
|
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 react = require('react');
|
|
7
|
+
var clsx = require('clsx');
|
|
8
|
+
var core = require('@turnkey/core');
|
|
9
|
+
var Hook = require('../../providers/client/Hook.js');
|
|
10
|
+
var Hook$1 = require('../../providers/modal/Hook.js');
|
|
11
|
+
var utils = require('../../utils/utils.js');
|
|
12
|
+
var Buttons = require('../design/Buttons.js');
|
|
13
|
+
var Svg = require('../design/Svg.js');
|
|
14
|
+
|
|
15
|
+
function OnRampExternalAccountSelector(props) {
|
|
16
|
+
const {
|
|
17
|
+
provider,
|
|
18
|
+
onSelect
|
|
19
|
+
} = props;
|
|
20
|
+
const {
|
|
21
|
+
walletProviders,
|
|
22
|
+
wallets
|
|
23
|
+
} = Hook.useTurnkey();
|
|
24
|
+
const {
|
|
25
|
+
isMobile
|
|
26
|
+
} = Hook$1.useModal();
|
|
27
|
+
const current = walletProviders.find(item => item.info.name === provider.info.name && item.chainInfo.namespace === provider.chainInfo.namespace) ?? provider;
|
|
28
|
+
const accounts = accountsForProvider(wallets, current);
|
|
29
|
+
const didSkip = react.useRef(false);
|
|
30
|
+
react.useEffect(() => {
|
|
31
|
+
if (didSkip.current || accounts.length !== 1) return;
|
|
32
|
+
const account = accounts[0];
|
|
33
|
+
if (!account) return;
|
|
34
|
+
didSkip.current = true;
|
|
35
|
+
onSelect(current, account);
|
|
36
|
+
}, [accounts, current, onSelect]);
|
|
37
|
+
if (accounts.length < 2) return null;
|
|
38
|
+
const ChainLogo = current.chainInfo.namespace === core.Chain.Solana ? Svg.SolanaLogo : Svg.EthereumLogo;
|
|
39
|
+
return jsxRuntime.jsxs("div", {
|
|
40
|
+
className: clsx("mt-11 flex w-72 flex-col items-center justify-center gap-4", isMobile ? "w-full" : "w-72"),
|
|
41
|
+
children: [jsxRuntime.jsx("img", {
|
|
42
|
+
src: current.info.icon,
|
|
43
|
+
alt: "",
|
|
44
|
+
className: "size-14 rounded-full"
|
|
45
|
+
}), jsxRuntime.jsx("span", {
|
|
46
|
+
className: "text-center text-sm text-icon-text-light dark:text-icon-text-dark",
|
|
47
|
+
children: `You have multiple accounts for ${current.info.name ?? "this wallet provider"}. Select which account you would like to use.`
|
|
48
|
+
}), jsxRuntime.jsx("div", {
|
|
49
|
+
className: "tk-scrollbar flex max-h-64 w-full flex-col gap-2 overflow-y-auto p-0.5",
|
|
50
|
+
children: accounts.map(account => jsxRuntime.jsx(AccountButton, {
|
|
51
|
+
account: account,
|
|
52
|
+
ChainLogo: ChainLogo,
|
|
53
|
+
onSelect: () => onSelect(current, account)
|
|
54
|
+
}, account.walletAccountId))
|
|
55
|
+
})]
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
function AccountButton(props) {
|
|
59
|
+
const {
|
|
60
|
+
account,
|
|
61
|
+
ChainLogo,
|
|
62
|
+
onSelect
|
|
63
|
+
} = props;
|
|
64
|
+
const {
|
|
65
|
+
isMobile
|
|
66
|
+
} = Hook$1.useModal();
|
|
67
|
+
const [isHovering, setIsHovering] = react.useState(false);
|
|
68
|
+
return jsxRuntime.jsxs(Buttons.ActionButton, {
|
|
69
|
+
name: "onramp-external-account",
|
|
70
|
+
onClick: onSelect,
|
|
71
|
+
...(!isMobile && {
|
|
72
|
+
onMouseEnter: () => setIsHovering(true),
|
|
73
|
+
onMouseLeave: () => setIsHovering(false)
|
|
74
|
+
}),
|
|
75
|
+
className: "relative flex w-full items-center justify-start gap-2 overflow-hidden bg-button-light text-inherit dark:bg-button-dark",
|
|
76
|
+
children: [jsxRuntime.jsx(ChainLogo, {
|
|
77
|
+
className: "size-5"
|
|
78
|
+
}), jsxRuntime.jsx("span", {
|
|
79
|
+
children: utils.truncateAddress(account.address, 4, 3)
|
|
80
|
+
}), jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
|
|
81
|
+
className: clsx("absolute text-icon-text-light transition-all duration-200 dark:text-icon-text-dark", isHovering ? "right-4" : "-right-4"),
|
|
82
|
+
icon: freeSolidSvgIcons.faChevronRight
|
|
83
|
+
})]
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
function accountsForProvider(wallets, provider) {
|
|
87
|
+
const walletId = provider.info.name?.toLowerCase().replace(/\s+/g, "-") || "unknown";
|
|
88
|
+
const addressFormat = provider.chainInfo.namespace === core.Chain.Solana ? "ADDRESS_FORMAT_SOLANA" : "ADDRESS_FORMAT_ETHEREUM";
|
|
89
|
+
const connected = new Set(provider.connectedAddresses.map(address => address.toLowerCase()));
|
|
90
|
+
return wallets.filter(wallet => wallet.source === core.WalletSource.Connected && wallet.walletId === walletId).flatMap(wallet => wallet.accounts).filter(account => account.addressFormat === addressFormat && connected.has(account.address.toLowerCase()));
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
exports.OnRampExternalAccountSelector = OnRampExternalAccountSelector;
|
|
94
|
+
exports.accountsForProvider = accountsForProvider;
|
|
95
|
+
//# sourceMappingURL=OnRampExternalAccountSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnRampExternalAccountSelector.js","sources":["../../../src/components/funding/OnRampExternalAccountSelector.tsx"],"sourcesContent":[null],"names":["OnRampExternalAccountSelector","props","provider","onSelect","walletProviders","wallets","useTurnkey","isMobile","useModal","current","find","item","info","name","chainInfo","namespace","accounts","accountsForProvider","didSkip","useRef","useEffect","length","account","ChainLogo","Chain","Solana","SolanaLogo","EthereumLogo","_jsxs","className","clsx","children","_jsx","src","icon","alt","map","AccountButton","walletAccountId","isHovering","setIsHovering","useState","ActionButton","onClick","onMouseEnter","onMouseLeave","truncateAddress","address","FontAwesomeIcon","faChevronRight","walletId","toLowerCase","replace","addressFormat","connected","Set","connectedAddresses","filter","wallet","source","WalletSource","Connected","flatMap","has"],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { faChevronRight } from '@fortawesome/free-solid-svg-icons';
|
|
4
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
5
|
+
import { useRef, useEffect, useState } from 'react';
|
|
6
|
+
import clsx from 'clsx';
|
|
7
|
+
import { Chain, WalletSource } from '@turnkey/core';
|
|
8
|
+
import { useTurnkey } from '../../providers/client/Hook.mjs';
|
|
9
|
+
import { useModal } from '../../providers/modal/Hook.mjs';
|
|
10
|
+
import { truncateAddress } from '../../utils/utils.mjs';
|
|
11
|
+
import { ActionButton } from '../design/Buttons.mjs';
|
|
12
|
+
import { SolanaLogo, EthereumLogo } from '../design/Svg.mjs';
|
|
13
|
+
|
|
14
|
+
function OnRampExternalAccountSelector(props) {
|
|
15
|
+
var _walletProviders$find, _current$info$name;
|
|
16
|
+
var provider = props.provider,
|
|
17
|
+
_onSelect = props.onSelect;
|
|
18
|
+
var _useTurnkey = useTurnkey(),
|
|
19
|
+
walletProviders = _useTurnkey.walletProviders,
|
|
20
|
+
wallets = _useTurnkey.wallets;
|
|
21
|
+
var _useModal = useModal(),
|
|
22
|
+
isMobile = _useModal.isMobile;
|
|
23
|
+
var current = (_walletProviders$find = walletProviders.find(function (item) {
|
|
24
|
+
return item.info.name === provider.info.name && item.chainInfo.namespace === provider.chainInfo.namespace;
|
|
25
|
+
})) !== null && _walletProviders$find !== void 0 ? _walletProviders$find : provider;
|
|
26
|
+
var accounts = accountsForProvider(wallets, current);
|
|
27
|
+
var didSkip = useRef(false);
|
|
28
|
+
useEffect(function () {
|
|
29
|
+
if (didSkip.current || accounts.length !== 1) return;
|
|
30
|
+
var account = accounts[0];
|
|
31
|
+
if (!account) return;
|
|
32
|
+
didSkip.current = true;
|
|
33
|
+
_onSelect(current, account);
|
|
34
|
+
}, [accounts, current, _onSelect]);
|
|
35
|
+
if (accounts.length < 2) return null;
|
|
36
|
+
var ChainLogo = current.chainInfo.namespace === Chain.Solana ? SolanaLogo : EthereumLogo;
|
|
37
|
+
return jsxs("div", {
|
|
38
|
+
className: clsx("mt-11 flex w-72 flex-col items-center justify-center gap-4", isMobile ? "w-full" : "w-72"),
|
|
39
|
+
children: [jsx("img", {
|
|
40
|
+
src: current.info.icon,
|
|
41
|
+
alt: "",
|
|
42
|
+
className: "size-14 rounded-full"
|
|
43
|
+
}), jsx("span", {
|
|
44
|
+
className: "text-center text-sm text-icon-text-light dark:text-icon-text-dark",
|
|
45
|
+
children: "You have multiple accounts for ".concat((_current$info$name = current.info.name) !== null && _current$info$name !== void 0 ? _current$info$name : "this wallet provider", ". Select which account you would like to use.")
|
|
46
|
+
}), jsx("div", {
|
|
47
|
+
className: "tk-scrollbar flex max-h-64 w-full flex-col gap-2 overflow-y-auto p-0.5",
|
|
48
|
+
children: accounts.map(function (account) {
|
|
49
|
+
return jsx(AccountButton, {
|
|
50
|
+
account: account,
|
|
51
|
+
ChainLogo: ChainLogo,
|
|
52
|
+
onSelect: function onSelect() {
|
|
53
|
+
return _onSelect(current, account);
|
|
54
|
+
}
|
|
55
|
+
}, account.walletAccountId);
|
|
56
|
+
})
|
|
57
|
+
})]
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function AccountButton(props) {
|
|
61
|
+
var account = props.account,
|
|
62
|
+
ChainLogo = props.ChainLogo,
|
|
63
|
+
onSelect = props.onSelect;
|
|
64
|
+
var _useModal2 = useModal(),
|
|
65
|
+
isMobile = _useModal2.isMobile;
|
|
66
|
+
var _useState = useState(false),
|
|
67
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
68
|
+
isHovering = _useState2[0],
|
|
69
|
+
setIsHovering = _useState2[1];
|
|
70
|
+
return jsxs(ActionButton, _objectSpread2(_objectSpread2({
|
|
71
|
+
name: "onramp-external-account",
|
|
72
|
+
onClick: onSelect
|
|
73
|
+
}, !isMobile && {
|
|
74
|
+
onMouseEnter: function onMouseEnter() {
|
|
75
|
+
return setIsHovering(true);
|
|
76
|
+
},
|
|
77
|
+
onMouseLeave: function onMouseLeave() {
|
|
78
|
+
return setIsHovering(false);
|
|
79
|
+
}
|
|
80
|
+
}), {}, {
|
|
81
|
+
className: "relative flex w-full items-center justify-start gap-2 overflow-hidden bg-button-light text-inherit dark:bg-button-dark",
|
|
82
|
+
children: [jsx(ChainLogo, {
|
|
83
|
+
className: "size-5"
|
|
84
|
+
}), jsx("span", {
|
|
85
|
+
children: truncateAddress(account.address, 4, 3)
|
|
86
|
+
}), jsx(FontAwesomeIcon, {
|
|
87
|
+
className: clsx("absolute text-icon-text-light transition-all duration-200 dark:text-icon-text-dark", isHovering ? "right-4" : "-right-4"),
|
|
88
|
+
icon: faChevronRight
|
|
89
|
+
})]
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
function accountsForProvider(wallets, provider) {
|
|
93
|
+
var _provider$info$name;
|
|
94
|
+
var walletId = ((_provider$info$name = provider.info.name) === null || _provider$info$name === void 0 ? void 0 : _provider$info$name.toLowerCase().replace(/\s+/g, "-")) || "unknown";
|
|
95
|
+
var addressFormat = provider.chainInfo.namespace === Chain.Solana ? "ADDRESS_FORMAT_SOLANA" : "ADDRESS_FORMAT_ETHEREUM";
|
|
96
|
+
var connected = new Set(provider.connectedAddresses.map(function (address) {
|
|
97
|
+
return address.toLowerCase();
|
|
98
|
+
}));
|
|
99
|
+
return wallets.filter(function (wallet) {
|
|
100
|
+
return wallet.source === WalletSource.Connected && wallet.walletId === walletId;
|
|
101
|
+
}).flatMap(function (wallet) {
|
|
102
|
+
return wallet.accounts;
|
|
103
|
+
}).filter(function (account) {
|
|
104
|
+
return account.addressFormat === addressFormat && connected.has(account.address.toLowerCase());
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export { OnRampExternalAccountSelector, accountsForProvider };
|
|
109
|
+
//# sourceMappingURL=OnRampExternalAccountSelector.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnRampExternalAccountSelector.mjs","sources":["../../../src/components/funding/OnRampExternalAccountSelector.tsx"],"sourcesContent":[null],"names":["OnRampExternalAccountSelector","props","_walletProviders$find","_current$info$name","provider","onSelect","_useTurnkey","useTurnkey","walletProviders","wallets","_useModal","useModal","isMobile","current","find","item","info","name","chainInfo","namespace","accounts","accountsForProvider","didSkip","useRef","useEffect","length","account","ChainLogo","Chain","Solana","SolanaLogo","EthereumLogo","_jsxs","className","clsx","children","_jsx","src","icon","alt","concat","map","AccountButton","walletAccountId","_useModal2","_useState","useState","_useState2","_slicedToArray","isHovering","setIsHovering","ActionButton","_objectSpread","onClick","onMouseEnter","onMouseLeave","truncateAddress","address","FontAwesomeIcon","faChevronRight","_provider$info$name","walletId","toLowerCase","replace","addressFormat","connected","Set","connectedAddresses","filter","wallet","source","WalletSource","Connected","flatMap","has"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type OnRampCaip19, type OnRampCaip2, type WalletAccount } from "@turnkey/core";
|
|
2
|
+
export type OnRampExternalWalletProps = {
|
|
3
|
+
walletAccount: WalletAccount;
|
|
4
|
+
lockedCaip19?: OnRampCaip19 | undefined;
|
|
5
|
+
lockedCaip2?: OnRampCaip2 | undefined;
|
|
6
|
+
rpcUrl?: string | undefined;
|
|
7
|
+
successPageDuration?: number | undefined;
|
|
8
|
+
onSuccess?: (() => void) | undefined;
|
|
9
|
+
onError?: ((error: unknown) => void) | undefined;
|
|
10
|
+
};
|
|
11
|
+
export declare function OnRampExternalWallet(props: OnRampExternalWalletProps): import("react/jsx-runtime").JSX.Element | null;
|
|
12
|
+
//# sourceMappingURL=OnRampExternalWallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnRampExternalWallet.d.ts","sourceRoot":"","sources":["../../../src/components/funding/OnRampExternalWallet.tsx"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,aAAa,EAEnB,MAAM,eAAe,CAAC;AAOvB,MAAM,MAAM,yBAAyB,GAAG;IACtC,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACxC,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAClD,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,kDA0PpE"}
|