@turnkey/react-wallet-kit 2.7.1 → 2.8.1
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,11 @@
|
|
|
1
|
+
import { type OnRampCaip19, type OnRampCaip2, type WalletAccount } from "@turnkey/core";
|
|
2
|
+
export declare function OnRampCrypto(props: {
|
|
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
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=OnRampCrypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnRampCrypto.d.ts","sourceRoot":"","sources":["../../../src/components/funding/OnRampCrypto.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,aAAa,EAGnB,MAAM,eAAe,CAAC;AAQvB,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,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,2CAuFA"}
|
|
@@ -0,0 +1,126 @@
|
|
|
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$1 = require('../../providers/client/Hook.js');
|
|
10
|
+
var Hook = require('../../providers/modal/Hook.js');
|
|
11
|
+
var WalletConnectProvider = require('../../providers/WalletConnectProvider.js');
|
|
12
|
+
var utils = require('../../utils/utils.js');
|
|
13
|
+
var Buttons = require('../design/Buttons.js');
|
|
14
|
+
var OnRampExternalWallet = require('./OnRampExternalWallet.js');
|
|
15
|
+
|
|
16
|
+
function OnRampCrypto(props) {
|
|
17
|
+
const {
|
|
18
|
+
walletAccount,
|
|
19
|
+
lockedCaip19,
|
|
20
|
+
lockedCaip2,
|
|
21
|
+
rpcUrl,
|
|
22
|
+
successPageDuration,
|
|
23
|
+
onSuccess,
|
|
24
|
+
onError
|
|
25
|
+
} = props;
|
|
26
|
+
const {
|
|
27
|
+
pushPage,
|
|
28
|
+
isMobile
|
|
29
|
+
} = Hook.useModal();
|
|
30
|
+
const {
|
|
31
|
+
walletProviders
|
|
32
|
+
} = Hook$1.useTurnkey();
|
|
33
|
+
const {
|
|
34
|
+
walletConnectApps
|
|
35
|
+
} = WalletConnectProvider.useWalletConnect();
|
|
36
|
+
const [isHovering, setIsHovering] = react.useState(false);
|
|
37
|
+
const icons = react.useMemo(() => previewWalletIcons({
|
|
38
|
+
providers: walletProviders,
|
|
39
|
+
apps: walletConnectApps,
|
|
40
|
+
chain: chainForAccount(walletAccount)
|
|
41
|
+
}), [walletAccount, walletConnectApps, walletProviders]);
|
|
42
|
+
return jsxRuntime.jsx("div", {
|
|
43
|
+
className: "flex w-full flex-col gap-2",
|
|
44
|
+
children: jsxRuntime.jsxs(Buttons.ActionButton, {
|
|
45
|
+
name: "onramp-external-wallet",
|
|
46
|
+
onClick: () => pushPage({
|
|
47
|
+
key: "Select wallet provider",
|
|
48
|
+
content: jsxRuntime.jsx(OnRampExternalWallet.OnRampExternalWallet, {
|
|
49
|
+
walletAccount: walletAccount,
|
|
50
|
+
lockedCaip19: lockedCaip19,
|
|
51
|
+
lockedCaip2: lockedCaip2,
|
|
52
|
+
rpcUrl: rpcUrl,
|
|
53
|
+
successPageDuration: successPageDuration,
|
|
54
|
+
onSuccess: onSuccess,
|
|
55
|
+
onError: onError
|
|
56
|
+
})
|
|
57
|
+
}),
|
|
58
|
+
...(!isMobile && {
|
|
59
|
+
onMouseEnter: () => setIsHovering(true),
|
|
60
|
+
onMouseLeave: () => setIsHovering(false)
|
|
61
|
+
}),
|
|
62
|
+
className: "relative flex w-full items-center justify-between gap-2 overflow-hidden bg-button-light text-inherit dark:bg-button-dark",
|
|
63
|
+
children: [jsxRuntime.jsxs("span", {
|
|
64
|
+
className: "flex min-w-0 items-center gap-2",
|
|
65
|
+
children: [jsxRuntime.jsx("span", {
|
|
66
|
+
className: "flex size-6 shrink-0 items-center justify-center",
|
|
67
|
+
children: jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
|
|
68
|
+
icon: freeSolidSvgIcons.faWallet,
|
|
69
|
+
className: "size-4"
|
|
70
|
+
})
|
|
71
|
+
}), jsxRuntime.jsxs("span", {
|
|
72
|
+
className: "flex flex-col items-start",
|
|
73
|
+
children: [jsxRuntime.jsx("span", {
|
|
74
|
+
children: "External wallet"
|
|
75
|
+
}), jsxRuntime.jsx("span", {
|
|
76
|
+
className: "text-xs text-icon-text-light dark:text-icon-text-dark",
|
|
77
|
+
children: "Send from a connected external wallet"
|
|
78
|
+
})]
|
|
79
|
+
})]
|
|
80
|
+
}), icons.length > 0 && jsxRuntime.jsx("span", {
|
|
81
|
+
className: "flex shrink-0 items-center gap-1",
|
|
82
|
+
children: icons.map((icon, index) => jsxRuntime.jsx("span", {
|
|
83
|
+
style: {
|
|
84
|
+
transitionDelay: `${50 + index * 30}ms`
|
|
85
|
+
},
|
|
86
|
+
className: clsx("relative size-4 transition-all duration-200", isHovering ? "-translate-x-8" : "translate-x-0"),
|
|
87
|
+
children: jsxRuntime.jsx("img", {
|
|
88
|
+
src: icon,
|
|
89
|
+
alt: "",
|
|
90
|
+
className: "size-4 rounded-full"
|
|
91
|
+
})
|
|
92
|
+
}, `${icon}-${index}`))
|
|
93
|
+
}), jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
|
|
94
|
+
className: clsx("absolute transition-all duration-200 text-icon-text-light dark:text-icon-text-dark", isHovering ? "right-4" : "-right-4"),
|
|
95
|
+
icon: freeSolidSvgIcons.faChevronRight
|
|
96
|
+
})]
|
|
97
|
+
})
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
function previewWalletIcons(params) {
|
|
101
|
+
const providers = params.providers.filter(provider => !params.chain || provider.chainInfo.namespace === params.chain);
|
|
102
|
+
const onlyWalletConnect = providers.length > 0 && providers.every(utils.isWalletConnect);
|
|
103
|
+
// If there is only one provider and it is a WalletConnect app, return the icons for the apps
|
|
104
|
+
if (onlyWalletConnect) {
|
|
105
|
+
const seen = new Set();
|
|
106
|
+
const icons = [];
|
|
107
|
+
for (const app of params.apps) {
|
|
108
|
+
if (params.chain && app.chain !== params.chain) continue;
|
|
109
|
+
if (!app.icon || seen.has(app.id)) continue;
|
|
110
|
+
seen.add(app.id);
|
|
111
|
+
icons.push(app.icon);
|
|
112
|
+
if (icons.length === 3) break;
|
|
113
|
+
}
|
|
114
|
+
return icons;
|
|
115
|
+
}
|
|
116
|
+
// Otherwise, return the icons for the providers
|
|
117
|
+
return providers.map(provider => provider.info.icon).filter(icon => !!icon).slice(0, 3);
|
|
118
|
+
}
|
|
119
|
+
function chainForAccount(account) {
|
|
120
|
+
if (account?.addressFormat === "ADDRESS_FORMAT_ETHEREUM") return core.Chain.Ethereum;
|
|
121
|
+
if (account?.addressFormat === "ADDRESS_FORMAT_SOLANA") return core.Chain.Solana;
|
|
122
|
+
return undefined;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
exports.OnRampCrypto = OnRampCrypto;
|
|
126
|
+
//# sourceMappingURL=OnRampCrypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnRampCrypto.js","sources":["../../../src/components/funding/OnRampCrypto.tsx"],"sourcesContent":[null],"names":["OnRampCrypto","props","walletAccount","lockedCaip19","lockedCaip2","rpcUrl","successPageDuration","onSuccess","onError","pushPage","isMobile","useModal","walletProviders","useTurnkey","walletConnectApps","useWalletConnect","isHovering","setIsHovering","useState","icons","useMemo","previewWalletIcons","providers","apps","chain","chainForAccount","_jsx","className","children","_jsxs","ActionButton","name","onClick","key","content","OnRampExternalWallet","onMouseEnter","onMouseLeave","FontAwesomeIcon","icon","faWallet","length","map","index","style","transitionDelay","clsx","src","alt","faChevronRight","params","filter","provider","chainInfo","namespace","onlyWalletConnect","every","isWalletConnect","seen","Set","app","has","id","add","push","info","slice","account","addressFormat","Chain","Ethereum","Solana","undefined"],"mappings":";;;;;;;;;;;;;;;AAmBM,SAAUA,YAAYA,CAACC,KAQ5B,EAAA;EACC,MAAM;IACJC,aAAa;IACbC,YAAY;IACZC,WAAW;IACXC,MAAM;IACNC,mBAAmB;IACnBC,SAAS;AACTC,IAAAA;AAAO,GACR,GAAGP,KAAK;EACT,MAAM;IAAEQ,QAAQ;AAAEC,IAAAA;GAAU,GAAGC,aAAQ,EAAE;EACzC,MAAM;AAAEC,IAAAA;GAAiB,GAAGC,iBAAU,EAAE;EACxC,MAAM;AAAEC,IAAAA;GAAmB,GAAGC,sCAAgB,EAAE;EAChD,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC;AACnD,EAAA,MAAMC,KAAK,GAAGC,aAAO,CACnB,MACEC,kBAAkB,CAAC;AACjBC,IAAAA,SAAS,EAAEV,eAAe;AAC1BW,IAAAA,IAAI,EAAET,iBAAiB;IACvBU,KAAK,EAAEC,eAAe,CAACvB,aAAa;GACrC,CAAC,EACJ,CAACA,aAAa,EAAEY,iBAAiB,EAAEF,eAAe,CAAC,CACpD;EAED,OACEc,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,4BAA4B;AAAAC,IAAAA,QAAA,EACzCC,gBAACC,oBAAY,EAAA;AACXC,MAAAA,IAAI,EAAC,wBAAwB;AAC7BC,MAAAA,OAAO,EAAEA,MACPvB,QAAQ,CAAC;AACPwB,QAAAA,GAAG,EAAE,wBAAwB;AAC7BC,QAAAA,OAAO,EACLR,cAAA,CAACS,yCAAoB;AACnBjC,UAAAA,aAAa,EAAEA,aAAa;AAC5BC,UAAAA,YAAY,EAAEA,YAAY;AAC1BC,UAAAA,WAAW,EAAEA,WAAW;AACxBC,UAAAA,MAAM,EAAEA,MAAM;AACdC,UAAAA,mBAAmB,EAAEA,mBAAmB;AACxCC,UAAAA,SAAS,EAAEA,SAAS;AACpBC,UAAAA,OAAO,EAAEA;;AAGd,OAAA,CAAC;MAAA,IAEC,CAACE,QAAQ,IAAI;AAChB0B,QAAAA,YAAY,EAAEA,MAAMnB,aAAa,CAAC,IAAI,CAAC;AACvCoB,QAAAA,YAAY,EAAEA,MAAMpB,aAAa,CAAC,KAAK;AACxC,OAAA,CAAC;AACFU,MAAAA,SAAS,EAAC,0HAA0H;iBAEpIE,eAAA,CAAA,MAAA,EAAA;AAAMF,QAAAA,SAAS,EAAC,iCAAiC;mBAC/CD,cAAA,CAAA,MAAA,EAAA;AAAMC,UAAAA,SAAS,EAAC,kDAAkD;oBAChED,cAAA,CAACY,gCAAe,EAAA;AAACC,YAAAA,IAAI,EAAEC,0BAAQ;AAAEb,YAAAA,SAAS,EAAC;WAAQ;AAAG,SAAA,CACjD,EACPE;AAAMF,UAAAA,SAAS,EAAC,2BAA2B;AAAAC,UAAAA,QAAA,EAAA,CACzCF;;YAA4B,EAC5BA,cAAA,CAAA,MAAA,EAAA;AAAMC,YAAAA,SAAS,EAAC,uDAAuD;AAAAC,YAAAA,QAAA,EAAA;AAAA,WAAA,CAEhE;AAAA,SAAA,CACF;OAAA,CACF,EACNT,KAAK,CAACsB,MAAM,GAAG,CAAC,IACff,cAAA,CAAA,MAAA,EAAA;AAAMC,QAAAA,SAAS,EAAC,kCAAkC;AAAAC,QAAAA,QAAA,EAC/CT,KAAK,CAACuB,GAAG,CAAC,CAACH,IAAI,EAAEI,KAAK,KACrBjB;AAEEkB,UAAAA,KAAK,EAAE;AAAEC,YAAAA,eAAe,EAAE,CAAA,EAAG,EAAE,GAAGF,KAAK,GAAG,EAAE,CAAA,EAAA;WAAM;UAClDhB,SAAS,EAAEmB,IAAI,CACb,6CAA6C,EAC7C9B,UAAU,GAAG,gBAAgB,GAAG,eAAe,CAChD;AAAAY,UAAAA,QAAA,EAEDF,cAAA,CAAA,KAAA,EAAA;AAAKqB,YAAAA,GAAG,EAAER,IAAI;AAAES,YAAAA,GAAG,EAAC,EAAE;AAACrB,YAAAA,SAAS,EAAC;;AAAwB,SAAA,EAPpD,CAAA,EAAGY,IAAI,CAAA,CAAA,EAAII,KAAK,EAAE,CAS1B;AAAC,OAAA,CAEL,EACDjB,cAAA,CAACY,gCAAe,EAAA;QACdX,SAAS,EAAEmB,IAAI,CACb,oFAAoF,EACpF9B,UAAU,GAAG,SAAS,GAAG,UAAU,CACpC;AACDuB,QAAAA,IAAI,EAAEU;AAAc,OAAA,CACpB;KAAA;AACW,GAAA,CACX;AAEV;AAEA,SAAS5B,kBAAkBA,CAAC6B,MAI3B,EAAA;EACC,MAAM5B,SAAS,GAAG4B,MAAM,CAAC5B,SAAS,CAAC6B,MAAM,CACtCC,QAAQ,IACP,CAACF,MAAM,CAAC1B,KAAK,IAAI4B,QAAQ,CAACC,SAAS,CAACC,SAAS,KAAKJ,MAAM,CAAC1B,KAAK,CACjE;AACD,EAAA,MAAM+B,iBAAiB,GACrBjC,SAAS,CAACmB,MAAM,GAAG,CAAC,IAAInB,SAAS,CAACkC,KAAK,CAACC,qBAAe,CAAC;AAE1D;AACA,EAAA,IAAIF,iBAAiB,EAAE;AACrB,IAAA,MAAMG,IAAI,GAAG,IAAIC,GAAG,EAAU;IAC9B,MAAMxC,KAAK,GAAa,EAAE;AAC1B,IAAA,KAAK,MAAMyC,GAAG,IAAIV,MAAM,CAAC3B,IAAI,EAAE;MAC7B,IAAI2B,MAAM,CAAC1B,KAAK,IAAIoC,GAAG,CAACpC,KAAK,KAAK0B,MAAM,CAAC1B,KAAK,EAAE;AAChD,MAAA,IAAI,CAACoC,GAAG,CAACrB,IAAI,IAAImB,IAAI,CAACG,GAAG,CAACD,GAAG,CAACE,EAAE,CAAC,EAAE;AACnCJ,MAAAA,IAAI,CAACK,GAAG,CAACH,GAAG,CAACE,EAAE,CAAC;AAChB3C,MAAAA,KAAK,CAAC6C,IAAI,CAACJ,GAAG,CAACrB,IAAI,CAAC;AACpB,MAAA,IAAIpB,KAAK,CAACsB,MAAM,KAAK,CAAC,EAAE;AAC1B,IAAA;AACA,IAAA,OAAOtB,KAAK;AACd,EAAA;AAEA;EACA,OAAOG,SAAS,CACboB,GAAG,CAAEU,QAAQ,IAAKA,QAAQ,CAACa,IAAI,CAAC1B,IAAI,CAAC,CACrCY,MAAM,CAAEZ,IAAI,IAAqB,CAAC,CAACA,IAAI,CAAC,CACxC2B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAChB;AAEA,SAASzC,eAAeA,CAAC0C,OAAmC,EAAA;EAC1D,IAAIA,OAAO,EAAEC,aAAa,KAAK,yBAAyB,EACtD,OAAOC,UAAK,CAACC,QAAQ;EACvB,IAAIH,OAAO,EAAEC,aAAa,KAAK,uBAAuB,EAAE,OAAOC,UAAK,CAACE,MAAM;AAC3E,EAAA,OAAOC,SAAS;AAClB;;;;"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2, createForOfIteratorHelper as _createForOfIteratorHelper } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { faWallet, faChevronRight } from '@fortawesome/free-solid-svg-icons';
|
|
4
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
5
|
+
import clsx from 'clsx';
|
|
6
|
+
import { useState, useMemo } from 'react';
|
|
7
|
+
import { Chain } from '@turnkey/core';
|
|
8
|
+
import { useTurnkey } from '../../providers/client/Hook.mjs';
|
|
9
|
+
import { useModal } from '../../providers/modal/Hook.mjs';
|
|
10
|
+
import { useWalletConnect } from '../../providers/WalletConnectProvider.mjs';
|
|
11
|
+
import { isWalletConnect } from '../../utils/utils.mjs';
|
|
12
|
+
import { ActionButton } from '../design/Buttons.mjs';
|
|
13
|
+
import { OnRampExternalWallet } from './OnRampExternalWallet.mjs';
|
|
14
|
+
|
|
15
|
+
function OnRampCrypto(props) {
|
|
16
|
+
var walletAccount = props.walletAccount,
|
|
17
|
+
lockedCaip19 = props.lockedCaip19,
|
|
18
|
+
lockedCaip2 = props.lockedCaip2,
|
|
19
|
+
rpcUrl = props.rpcUrl,
|
|
20
|
+
successPageDuration = props.successPageDuration,
|
|
21
|
+
onSuccess = props.onSuccess,
|
|
22
|
+
onError = props.onError;
|
|
23
|
+
var _useModal = useModal(),
|
|
24
|
+
pushPage = _useModal.pushPage,
|
|
25
|
+
isMobile = _useModal.isMobile;
|
|
26
|
+
var _useTurnkey = useTurnkey(),
|
|
27
|
+
walletProviders = _useTurnkey.walletProviders;
|
|
28
|
+
var _useWalletConnect = useWalletConnect(),
|
|
29
|
+
walletConnectApps = _useWalletConnect.walletConnectApps;
|
|
30
|
+
var _useState = useState(false),
|
|
31
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
32
|
+
isHovering = _useState2[0],
|
|
33
|
+
setIsHovering = _useState2[1];
|
|
34
|
+
var icons = useMemo(function () {
|
|
35
|
+
return previewWalletIcons({
|
|
36
|
+
providers: walletProviders,
|
|
37
|
+
apps: walletConnectApps,
|
|
38
|
+
chain: chainForAccount(walletAccount)
|
|
39
|
+
});
|
|
40
|
+
}, [walletAccount, walletConnectApps, walletProviders]);
|
|
41
|
+
return jsx("div", {
|
|
42
|
+
className: "flex w-full flex-col gap-2",
|
|
43
|
+
children: jsxs(ActionButton, _objectSpread2(_objectSpread2({
|
|
44
|
+
name: "onramp-external-wallet",
|
|
45
|
+
onClick: function onClick() {
|
|
46
|
+
return pushPage({
|
|
47
|
+
key: "Select wallet provider",
|
|
48
|
+
content: jsx(OnRampExternalWallet, {
|
|
49
|
+
walletAccount: walletAccount,
|
|
50
|
+
lockedCaip19: lockedCaip19,
|
|
51
|
+
lockedCaip2: lockedCaip2,
|
|
52
|
+
rpcUrl: rpcUrl,
|
|
53
|
+
successPageDuration: successPageDuration,
|
|
54
|
+
onSuccess: onSuccess,
|
|
55
|
+
onError: onError
|
|
56
|
+
})
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}, !isMobile && {
|
|
60
|
+
onMouseEnter: function onMouseEnter() {
|
|
61
|
+
return setIsHovering(true);
|
|
62
|
+
},
|
|
63
|
+
onMouseLeave: function onMouseLeave() {
|
|
64
|
+
return setIsHovering(false);
|
|
65
|
+
}
|
|
66
|
+
}), {}, {
|
|
67
|
+
className: "relative flex w-full items-center justify-between gap-2 overflow-hidden bg-button-light text-inherit dark:bg-button-dark",
|
|
68
|
+
children: [jsxs("span", {
|
|
69
|
+
className: "flex min-w-0 items-center gap-2",
|
|
70
|
+
children: [jsx("span", {
|
|
71
|
+
className: "flex size-6 shrink-0 items-center justify-center",
|
|
72
|
+
children: jsx(FontAwesomeIcon, {
|
|
73
|
+
icon: faWallet,
|
|
74
|
+
className: "size-4"
|
|
75
|
+
})
|
|
76
|
+
}), jsxs("span", {
|
|
77
|
+
className: "flex flex-col items-start",
|
|
78
|
+
children: [jsx("span", {
|
|
79
|
+
children: "External wallet"
|
|
80
|
+
}), jsx("span", {
|
|
81
|
+
className: "text-xs text-icon-text-light dark:text-icon-text-dark",
|
|
82
|
+
children: "Send from a connected external wallet"
|
|
83
|
+
})]
|
|
84
|
+
})]
|
|
85
|
+
}), icons.length > 0 && jsx("span", {
|
|
86
|
+
className: "flex shrink-0 items-center gap-1",
|
|
87
|
+
children: icons.map(function (icon, index) {
|
|
88
|
+
return jsx("span", {
|
|
89
|
+
style: {
|
|
90
|
+
transitionDelay: "".concat(50 + index * 30, "ms")
|
|
91
|
+
},
|
|
92
|
+
className: clsx("relative size-4 transition-all duration-200", isHovering ? "-translate-x-8" : "translate-x-0"),
|
|
93
|
+
children: jsx("img", {
|
|
94
|
+
src: icon,
|
|
95
|
+
alt: "",
|
|
96
|
+
className: "size-4 rounded-full"
|
|
97
|
+
})
|
|
98
|
+
}, "".concat(icon, "-").concat(index));
|
|
99
|
+
})
|
|
100
|
+
}), jsx(FontAwesomeIcon, {
|
|
101
|
+
className: clsx("absolute transition-all duration-200 text-icon-text-light dark:text-icon-text-dark", isHovering ? "right-4" : "-right-4"),
|
|
102
|
+
icon: faChevronRight
|
|
103
|
+
})]
|
|
104
|
+
}))
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
function previewWalletIcons(params) {
|
|
108
|
+
var providers = params.providers.filter(function (provider) {
|
|
109
|
+
return !params.chain || provider.chainInfo.namespace === params.chain;
|
|
110
|
+
});
|
|
111
|
+
var onlyWalletConnect = providers.length > 0 && providers.every(isWalletConnect);
|
|
112
|
+
// If there is only one provider and it is a WalletConnect app, return the icons for the apps
|
|
113
|
+
if (onlyWalletConnect) {
|
|
114
|
+
var seen = new Set();
|
|
115
|
+
var icons = [];
|
|
116
|
+
var _iterator = _createForOfIteratorHelper(params.apps),
|
|
117
|
+
_step;
|
|
118
|
+
try {
|
|
119
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
120
|
+
var app = _step.value;
|
|
121
|
+
if (params.chain && app.chain !== params.chain) continue;
|
|
122
|
+
if (!app.icon || seen.has(app.id)) continue;
|
|
123
|
+
seen.add(app.id);
|
|
124
|
+
icons.push(app.icon);
|
|
125
|
+
if (icons.length === 3) break;
|
|
126
|
+
}
|
|
127
|
+
} catch (err) {
|
|
128
|
+
_iterator.e(err);
|
|
129
|
+
} finally {
|
|
130
|
+
_iterator.f();
|
|
131
|
+
}
|
|
132
|
+
return icons;
|
|
133
|
+
}
|
|
134
|
+
// Otherwise, return the icons for the providers
|
|
135
|
+
return providers.map(function (provider) {
|
|
136
|
+
return provider.info.icon;
|
|
137
|
+
}).filter(function (icon) {
|
|
138
|
+
return !!icon;
|
|
139
|
+
}).slice(0, 3);
|
|
140
|
+
}
|
|
141
|
+
function chainForAccount(account) {
|
|
142
|
+
if ((account === null || account === void 0 ? void 0 : account.addressFormat) === "ADDRESS_FORMAT_ETHEREUM") return Chain.Ethereum;
|
|
143
|
+
if ((account === null || account === void 0 ? void 0 : account.addressFormat) === "ADDRESS_FORMAT_SOLANA") return Chain.Solana;
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
export { OnRampCrypto };
|
|
148
|
+
//# sourceMappingURL=OnRampCrypto.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnRampCrypto.mjs","sources":["../../../src/components/funding/OnRampCrypto.tsx"],"sourcesContent":[null],"names":["OnRampCrypto","props","walletAccount","lockedCaip19","lockedCaip2","rpcUrl","successPageDuration","onSuccess","onError","_useModal","useModal","pushPage","isMobile","_useTurnkey","useTurnkey","walletProviders","_useWalletConnect","useWalletConnect","walletConnectApps","_useState","useState","_useState2","_slicedToArray","isHovering","setIsHovering","icons","useMemo","previewWalletIcons","providers","apps","chain","chainForAccount","_jsx","className","children","_jsxs","ActionButton","_objectSpread","name","onClick","key","content","OnRampExternalWallet","onMouseEnter","onMouseLeave","FontAwesomeIcon","icon","faWallet","length","map","index","style","transitionDelay","concat","clsx","src","alt","faChevronRight","params","filter","provider","chainInfo","namespace","onlyWalletConnect","every","isWalletConnect","seen","Set","_iterator","_createForOfIteratorHelper","_step","s","n","done","app","value","has","id","add","push","err","e","f","info","slice","account","addressFormat","Chain","Ethereum","Solana","undefined"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { OnRampCaip19, OnRampCaip2, WalletAccount, WalletProvider } from "@turnkey/core";
|
|
2
|
+
export type OnRampCryptoSendProps = {
|
|
3
|
+
destination: WalletAccount;
|
|
4
|
+
externalWallet: WalletProvider;
|
|
5
|
+
externalAccount: WalletAccount;
|
|
6
|
+
lockedCaip19?: OnRampCaip19 | undefined;
|
|
7
|
+
lockedCaip2?: OnRampCaip2 | undefined;
|
|
8
|
+
rpcUrl?: string | undefined;
|
|
9
|
+
successPageDuration?: number | undefined;
|
|
10
|
+
onSuccess?: (() => void) | undefined;
|
|
11
|
+
onError?: ((error: unknown) => void) | undefined;
|
|
12
|
+
onChangeWallet: () => void;
|
|
13
|
+
};
|
|
14
|
+
export declare function OnRampCryptoSend(props: OnRampCryptoSendProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=OnRampCryptoSend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnRampCryptoSend.d.ts","sourceRoot":"","sources":["../../../src/components/funding/OnRampCryptoSend.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACb,cAAc,EACf,MAAM,eAAe,CAAC;AA0BvB,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,aAAa,CAAC;IAC3B,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,aAAa,CAAC;IAC/B,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;IACjD,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAgR5D"}
|
|
@@ -0,0 +1,251 @@
|
|
|
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 Hook$1 = require('../../providers/client/Hook.js');
|
|
9
|
+
var Hook = require('../../providers/modal/Hook.js');
|
|
10
|
+
var SupportedAssetsProvider = require('../../providers/SupportedAssetsProvider.js');
|
|
11
|
+
var buildCryptoTransfer = require('../../utils/funding/buildCryptoTransfer.js');
|
|
12
|
+
var chainLabel = require('../../utils/funding/chainLabel.js');
|
|
13
|
+
var sendCryptoTransfer = require('../../utils/funding/sendCryptoTransfer.js');
|
|
14
|
+
var tokenSymbol = require('../../utils/funding/tokenSymbol.js');
|
|
15
|
+
var onRampTokens = require('../../utils/funding/onRampTokens.js');
|
|
16
|
+
var utils = require('../../utils/utils.js');
|
|
17
|
+
var Buttons = require('../design/Buttons.js');
|
|
18
|
+
var Svg = require('../design/Svg.js');
|
|
19
|
+
var CryptoAmountInput = require('./CryptoAmountInput.js');
|
|
20
|
+
var OnRampCryptoStatus = require('./OnRampCryptoStatus.js');
|
|
21
|
+
|
|
22
|
+
const partyLabelClassName = "px-1 text-xs font-medium text-icon-text-light dark:text-icon-text-dark";
|
|
23
|
+
function OnRampCryptoSend(props) {
|
|
24
|
+
const {
|
|
25
|
+
destination,
|
|
26
|
+
externalWallet,
|
|
27
|
+
externalAccount,
|
|
28
|
+
lockedCaip19,
|
|
29
|
+
lockedCaip2,
|
|
30
|
+
rpcUrl,
|
|
31
|
+
successPageDuration,
|
|
32
|
+
onSuccess,
|
|
33
|
+
onError,
|
|
34
|
+
onChangeWallet
|
|
35
|
+
} = props;
|
|
36
|
+
const {
|
|
37
|
+
pushPage,
|
|
38
|
+
isMobile
|
|
39
|
+
} = Hook.useModal();
|
|
40
|
+
const {
|
|
41
|
+
signAndSendTransaction
|
|
42
|
+
} = Hook$1.useTurnkey();
|
|
43
|
+
const {
|
|
44
|
+
assetsByCaip2
|
|
45
|
+
} = SupportedAssetsProvider.useSupportedAssets();
|
|
46
|
+
const [isHoveringFrom, setIsHoveringFrom] = react.useState(false);
|
|
47
|
+
const [isHoveringTo, setIsHoveringTo] = react.useState(false);
|
|
48
|
+
const [showCopied, setShowCopied] = react.useState(false);
|
|
49
|
+
const [sending, setSending] = react.useState(false);
|
|
50
|
+
const [error, setError] = react.useState(null);
|
|
51
|
+
const [shaking, setShaking] = react.useState(false);
|
|
52
|
+
const tokens = react.useMemo(() => onRampTokens.onRampTokensForAccount(destination, {
|
|
53
|
+
caip19: lockedCaip19,
|
|
54
|
+
caip2: lockedCaip2
|
|
55
|
+
}), [destination, lockedCaip19, lockedCaip2]);
|
|
56
|
+
const [token, setToken] = react.useState(lockedCaip19 ?? tokens[0]);
|
|
57
|
+
const [amount, setAmount] = react.useState("0");
|
|
58
|
+
react.useEffect(() => {
|
|
59
|
+
if (lockedCaip19) {
|
|
60
|
+
setToken(lockedCaip19);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (!token || !tokens.includes(token)) {
|
|
64
|
+
setToken(tokens[0]);
|
|
65
|
+
}
|
|
66
|
+
}, [lockedCaip19, token, tokens]);
|
|
67
|
+
react.useEffect(() => {
|
|
68
|
+
setError(null);
|
|
69
|
+
}, [amount, token]);
|
|
70
|
+
const ChainLogo = isSolanaChain(destination, token) ? Svg.SolanaLogo : Svg.EthereumLogo;
|
|
71
|
+
const preparedTransfer = react.useMemo(() => {
|
|
72
|
+
if (!token) return undefined;
|
|
73
|
+
try {
|
|
74
|
+
return buildCryptoTransfer.buildOnRampCryptoTransfer({
|
|
75
|
+
token,
|
|
76
|
+
amount,
|
|
77
|
+
decimals: tokenSymbol.tokenDecimals(token, assetsByCaip2),
|
|
78
|
+
from: externalAccount,
|
|
79
|
+
to: destination
|
|
80
|
+
});
|
|
81
|
+
} catch {
|
|
82
|
+
return undefined;
|
|
83
|
+
}
|
|
84
|
+
}, [amount, assetsByCaip2, destination, externalAccount, token]);
|
|
85
|
+
const send = async () => {
|
|
86
|
+
if (!preparedTransfer || sending) return;
|
|
87
|
+
setSending(true);
|
|
88
|
+
setError(null);
|
|
89
|
+
try {
|
|
90
|
+
const provider = externalWallet.provider;
|
|
91
|
+
if (preparedTransfer.transactionType === "TRANSACTION_TYPE_ETHEREUM") {
|
|
92
|
+
const chainId = Number(preparedTransfer.caip2.slice("eip155:".length));
|
|
93
|
+
if (sendCryptoTransfer.evmChainId(externalWallet.chainInfo) !== chainId) {
|
|
94
|
+
await sendCryptoTransfer.switchSelectedEthereumChain(provider, `0x${chainId.toString(16)}`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
const resolvedRpcUrl = preparedTransfer.transactionType === "TRANSACTION_TYPE_SOLANA" ? sendCryptoTransfer.solanaRpcUrl(preparedTransfer.caip2, rpcUrl) : rpcUrl;
|
|
98
|
+
const unsignedTransaction = await sendCryptoTransfer.buildUnsignedOnRampTransaction({
|
|
99
|
+
transfer: preparedTransfer,
|
|
100
|
+
provider,
|
|
101
|
+
rpcUrl: resolvedRpcUrl
|
|
102
|
+
});
|
|
103
|
+
const transactionId = await signAndSendTransaction({
|
|
104
|
+
walletAccount: externalAccount,
|
|
105
|
+
unsignedTransaction,
|
|
106
|
+
transactionType: preparedTransfer.transactionType,
|
|
107
|
+
...(resolvedRpcUrl ? {
|
|
108
|
+
rpcUrl: resolvedRpcUrl
|
|
109
|
+
} : {})
|
|
110
|
+
});
|
|
111
|
+
pushPage({
|
|
112
|
+
key: "Sending",
|
|
113
|
+
showTitle: false,
|
|
114
|
+
content: jsxRuntime.jsx(OnRampCryptoStatus.OnRampCryptoStatus, {
|
|
115
|
+
chain: preparedTransfer.transactionType === "TRANSACTION_TYPE_SOLANA" ? "solana" : "ethereum",
|
|
116
|
+
caip2: preparedTransfer.caip2,
|
|
117
|
+
transactionId: transactionId,
|
|
118
|
+
provider: provider,
|
|
119
|
+
rpcUrl: resolvedRpcUrl,
|
|
120
|
+
successPageDuration: successPageDuration,
|
|
121
|
+
iconUrl: externalWallet.info.icon,
|
|
122
|
+
onSuccess: onSuccess ?? (() => undefined),
|
|
123
|
+
onError: onError ?? (() => undefined)
|
|
124
|
+
})
|
|
125
|
+
});
|
|
126
|
+
} catch (caught) {
|
|
127
|
+
if (!sendCryptoTransfer.isUserRejected(caught)) {
|
|
128
|
+
setError(sendCryptoTransfer.sendErrorMessage(caught));
|
|
129
|
+
setShaking(true);
|
|
130
|
+
setTimeout(() => setShaking(false), 250);
|
|
131
|
+
}
|
|
132
|
+
onError?.(caught);
|
|
133
|
+
} finally {
|
|
134
|
+
setSending(false);
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
return jsxRuntime.jsxs("div", {
|
|
138
|
+
className: clsx("relative flex flex-col items-center justify-center gap-4 py-4 text-center", isMobile ? "w-full" : "w-96"),
|
|
139
|
+
children: [token && jsxRuntime.jsxs("div", {
|
|
140
|
+
className: "flex w-full flex-col items-center",
|
|
141
|
+
children: [jsxRuntime.jsx(CryptoAmountInput.CryptoAmountInput, {
|
|
142
|
+
value: amount,
|
|
143
|
+
onChange: setAmount,
|
|
144
|
+
token: token,
|
|
145
|
+
tokens: tokens,
|
|
146
|
+
onTokenChange: setToken,
|
|
147
|
+
locked: !!lockedCaip19
|
|
148
|
+
}), jsxRuntime.jsxs("p", {
|
|
149
|
+
className: "-mt-2 text-sm text-icon-text-light dark:text-icon-text-dark",
|
|
150
|
+
children: ["on ", chainLabel.chainLabel(tokenSymbol.caip2Of(token))]
|
|
151
|
+
})]
|
|
152
|
+
}), jsxRuntime.jsxs("div", {
|
|
153
|
+
className: "flex w-full flex-col gap-2 text-left",
|
|
154
|
+
children: [jsxRuntime.jsxs("div", {
|
|
155
|
+
className: "flex flex-col gap-1",
|
|
156
|
+
children: [jsxRuntime.jsx("div", {
|
|
157
|
+
className: partyLabelClassName,
|
|
158
|
+
children: "From"
|
|
159
|
+
}), jsxRuntime.jsxs(Buttons.ActionButton, {
|
|
160
|
+
name: "onramp-crypto-from",
|
|
161
|
+
onClick: onChangeWallet,
|
|
162
|
+
...(!isMobile && {
|
|
163
|
+
onMouseEnter: () => setIsHoveringFrom(true),
|
|
164
|
+
onMouseLeave: () => setIsHoveringFrom(false)
|
|
165
|
+
}),
|
|
166
|
+
className: "relative flex w-full items-center gap-2 overflow-hidden bg-button-light text-inherit dark:bg-button-dark",
|
|
167
|
+
children: [externalWallet.info.icon ? jsxRuntime.jsx("img", {
|
|
168
|
+
src: externalWallet.info.icon,
|
|
169
|
+
alt: "",
|
|
170
|
+
className: "size-6 shrink-0 rounded-full"
|
|
171
|
+
}) : jsxRuntime.jsx("span", {
|
|
172
|
+
className: "size-6 shrink-0 rounded-full bg-icon-background-light dark:bg-icon-background-dark"
|
|
173
|
+
}), jsxRuntime.jsx("span", {
|
|
174
|
+
className: "text-sm",
|
|
175
|
+
children: utils.truncateAddress(externalAccount.address)
|
|
176
|
+
}), jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
|
|
177
|
+
className: clsx("absolute transition-all duration-200 text-icon-text-light dark:text-icon-text-dark", isHoveringFrom ? "right-4" : "-right-4"),
|
|
178
|
+
icon: freeSolidSvgIcons.faChevronRight
|
|
179
|
+
})]
|
|
180
|
+
})]
|
|
181
|
+
}), jsxRuntime.jsxs("div", {
|
|
182
|
+
className: "flex flex-col gap-1",
|
|
183
|
+
children: [jsxRuntime.jsx("div", {
|
|
184
|
+
className: partyLabelClassName,
|
|
185
|
+
children: "To"
|
|
186
|
+
}), jsxRuntime.jsxs(Buttons.ActionButton, {
|
|
187
|
+
name: "onramp-crypto-to",
|
|
188
|
+
disabled: !destination,
|
|
189
|
+
onClick: () => {
|
|
190
|
+
if (!destination) return;
|
|
191
|
+
setShowCopied(true);
|
|
192
|
+
void navigator.clipboard.writeText(destination.address);
|
|
193
|
+
setTimeout(() => setShowCopied(false), 1500);
|
|
194
|
+
},
|
|
195
|
+
...(!isMobile && {
|
|
196
|
+
onMouseEnter: () => setIsHoveringTo(true),
|
|
197
|
+
onMouseLeave: () => setIsHoveringTo(false)
|
|
198
|
+
}),
|
|
199
|
+
className: clsx("relative flex w-full items-center gap-2 bg-button-light text-inherit dark:bg-button-dark", showCopied ? "overflow-visible" : "overflow-hidden"),
|
|
200
|
+
children: [jsxRuntime.jsxs("span", {
|
|
201
|
+
className: "relative flex size-6 shrink-0 items-center justify-center",
|
|
202
|
+
children: [jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
|
|
203
|
+
icon: freeSolidSvgIcons.faWallet,
|
|
204
|
+
className: "size-4"
|
|
205
|
+
}), jsxRuntime.jsx("span", {
|
|
206
|
+
className: "absolute -right-1.5 -bottom-1 flex size-3.5 items-center justify-center rounded-full bg-button-light dark:bg-button-dark",
|
|
207
|
+
children: jsxRuntime.jsx(ChainLogo, {
|
|
208
|
+
className: "size-2.5"
|
|
209
|
+
})
|
|
210
|
+
})]
|
|
211
|
+
}), jsxRuntime.jsx("span", {
|
|
212
|
+
className: "text-sm",
|
|
213
|
+
children: destination ? utils.truncateAddress(destination.address) : ""
|
|
214
|
+
}), jsxRuntime.jsx("div", {
|
|
215
|
+
className: clsx("absolute transition-all duration-200", isHoveringTo || showCopied || isMobile ? "right-4" : "-right-4"),
|
|
216
|
+
children: jsxRuntime.jsxs("div", {
|
|
217
|
+
className: "relative",
|
|
218
|
+
children: [jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
|
|
219
|
+
icon: showCopied ? freeSolidSvgIcons.faCheck : freeSolidSvgIcons.faCopy,
|
|
220
|
+
className: clsx("transition-colors", showCopied ? "text-success-light dark:text-success-dark" : "text-icon-text-light dark:text-icon-text-dark")
|
|
221
|
+
}), showCopied && jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
|
|
222
|
+
icon: freeSolidSvgIcons.faCheck,
|
|
223
|
+
className: "absolute inset-0 m-auto text-success-light dark:text-success-dark animate-ping"
|
|
224
|
+
})]
|
|
225
|
+
})
|
|
226
|
+
})]
|
|
227
|
+
})]
|
|
228
|
+
})]
|
|
229
|
+
}), jsxRuntime.jsx(Buttons.ActionButton, {
|
|
230
|
+
name: "onramp-crypto-continue",
|
|
231
|
+
disabled: !preparedTransfer || sending,
|
|
232
|
+
loading: sending,
|
|
233
|
+
onClick: () => void send(),
|
|
234
|
+
spinnerClassName: "text-primary-text-light dark:text-primary-text-dark",
|
|
235
|
+
className: clsx("w-full bg-primary-light text-primary-text-light dark:bg-primary-dark dark:text-primary-text-dark", shaking && "animate-shake"),
|
|
236
|
+
children: "Continue"
|
|
237
|
+
}), jsxRuntime.jsx("p", {
|
|
238
|
+
"data-testid": "onramp-crypto-error",
|
|
239
|
+
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"),
|
|
240
|
+
children: error
|
|
241
|
+
})]
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
function isSolanaChain(account, token) {
|
|
245
|
+
if (account?.addressFormat === "ADDRESS_FORMAT_SOLANA") return true;
|
|
246
|
+
if (account?.addressFormat === "ADDRESS_FORMAT_ETHEREUM") return false;
|
|
247
|
+
return !!token && tokenSymbol.caip2Of(token).startsWith("solana:");
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
exports.OnRampCryptoSend = OnRampCryptoSend;
|
|
251
|
+
//# sourceMappingURL=OnRampCryptoSend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnRampCryptoSend.js","sources":["../../../src/components/funding/OnRampCryptoSend.tsx"],"sourcesContent":[null],"names":["partyLabelClassName","OnRampCryptoSend","props","destination","externalWallet","externalAccount","lockedCaip19","lockedCaip2","rpcUrl","successPageDuration","onSuccess","onError","onChangeWallet","pushPage","isMobile","useModal","signAndSendTransaction","useTurnkey","assetsByCaip2","useSupportedAssets","isHoveringFrom","setIsHoveringFrom","useState","isHoveringTo","setIsHoveringTo","showCopied","setShowCopied","sending","setSending","error","setError","shaking","setShaking","tokens","useMemo","onRampTokensForAccount","caip19","caip2","token","setToken","amount","setAmount","useEffect","includes","ChainLogo","isSolanaChain","SolanaLogo","EthereumLogo","preparedTransfer","undefined","buildOnRampCryptoTransfer","decimals","tokenDecimals","from","to","send","provider","transactionType","chainId","Number","slice","length","evmChainId","chainInfo","switchSelectedEthereumChain","toString","resolvedRpcUrl","solanaRpcUrl","unsignedTransaction","buildUnsignedOnRampTransaction","transfer","transactionId","walletAccount","key","showTitle","content","_jsx","OnRampCryptoStatus","chain","iconUrl","info","icon","caught","isUserRejected","sendErrorMessage","setTimeout","_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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"}
|