@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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import type { Erc20Transfer, EthTransaction, OAuthProviders, SolanaTransaction, StamperType, v1AddressFormat, v1AppProof,
|
|
2
|
+
import type { Erc20Transfer, EthTransaction, OAuthProviders, SolanaTransaction, StamperType, v1AddressFormat, v1AppProof, OnRampCaip19, OnRampCaip2, v1Curve, v1FiatRampCurrency, v1HashFunction, v1PayloadEncoding, v1WalletAccountParams, WalletAccount } from "@turnkey/core";
|
|
3
3
|
import type { KeyFormat } from "./base";
|
|
4
4
|
export type RefreshUserParams = {
|
|
5
5
|
stampWith?: StamperType | undefined;
|
|
@@ -237,21 +237,33 @@ export type HandleVerifyAppProofsParams = {
|
|
|
237
237
|
};
|
|
238
238
|
export type HandleOnRampParams = {
|
|
239
239
|
walletAccount: WalletAccount;
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
fiatCurrencyCode?:
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
240
|
+
lockedCaip2?: OnRampCaip2;
|
|
241
|
+
lockedCaip19?: OnRampCaip19;
|
|
242
|
+
fiatCurrencyCode?: v1FiatRampCurrency;
|
|
243
|
+
defaultFiatCurrencyAmount?: string;
|
|
244
|
+
countryCode?: string;
|
|
245
|
+
countrySubdivisionCode?: string;
|
|
246
|
+
sandboxMode?: boolean;
|
|
247
|
+
organizationId?: string;
|
|
248
|
+
stampWith?: StamperType;
|
|
249
|
+
successPageDuration?: number;
|
|
250
|
+
openInNewTab?: boolean;
|
|
251
|
+
rpcUrl?: string;
|
|
252
|
+
};
|
|
253
|
+
export type HandleOffRampParams = {
|
|
254
|
+
walletAccount: WalletAccount;
|
|
255
|
+
lockedCaip2?: OnRampCaip2;
|
|
256
|
+
lockedCaip19?: OnRampCaip19;
|
|
257
|
+
fiatCurrencyCode?: v1FiatRampCurrency;
|
|
258
|
+
defaultCryptoAmount?: string;
|
|
246
259
|
countryCode?: string;
|
|
247
260
|
countrySubdivisionCode?: string;
|
|
248
261
|
sandboxMode?: boolean;
|
|
249
|
-
urlForSignature?: string;
|
|
250
262
|
organizationId?: string;
|
|
251
|
-
userId?: string;
|
|
252
263
|
stampWith?: StamperType;
|
|
253
264
|
successPageDuration?: number;
|
|
254
265
|
openInNewTab?: boolean;
|
|
266
|
+
rpcUrl?: string;
|
|
255
267
|
};
|
|
256
268
|
export type HandleSendTransactionParams = {
|
|
257
269
|
organizationId?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-types.d.ts","sourceRoot":"","sources":["../../src/types/method-types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"method-types.d.ts","sourceRoot":"","sources":["../../src/types/method-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type OnRampCaip19, type OnRampCaip2, type WalletAccount } from "@turnkey/core";
|
|
2
|
+
import { type Hex } from "viem";
|
|
3
|
+
type TransferBase = {
|
|
4
|
+
from: string;
|
|
5
|
+
to: string;
|
|
6
|
+
caip2: OnRampCaip2;
|
|
7
|
+
caip19: OnRampCaip19;
|
|
8
|
+
/** Base-unit integer string. */
|
|
9
|
+
amount: string;
|
|
10
|
+
};
|
|
11
|
+
export type OnRampCryptoTransfer = (TransferBase & {
|
|
12
|
+
kind: "native";
|
|
13
|
+
transactionType: "TRANSACTION_TYPE_ETHEREUM" | "TRANSACTION_TYPE_SOLANA";
|
|
14
|
+
}) | (TransferBase & {
|
|
15
|
+
kind: "erc20";
|
|
16
|
+
transactionType: "TRANSACTION_TYPE_ETHEREUM";
|
|
17
|
+
tokenAddress: Hex;
|
|
18
|
+
data: Hex;
|
|
19
|
+
}) | (TransferBase & {
|
|
20
|
+
kind: "spl";
|
|
21
|
+
transactionType: "TRANSACTION_TYPE_SOLANA";
|
|
22
|
+
mintAddress: string;
|
|
23
|
+
});
|
|
24
|
+
export declare function buildOnRampCryptoTransfer(params: {
|
|
25
|
+
token: OnRampCaip19;
|
|
26
|
+
amount: string;
|
|
27
|
+
decimals: number;
|
|
28
|
+
from: WalletAccount;
|
|
29
|
+
to: WalletAccount;
|
|
30
|
+
}): OnRampCryptoTransfer;
|
|
31
|
+
export declare function transferFromAsset(params: {
|
|
32
|
+
caip2: string;
|
|
33
|
+
asset: string;
|
|
34
|
+
quotedToken: OnRampCaip19;
|
|
35
|
+
from: string;
|
|
36
|
+
to: string;
|
|
37
|
+
atomicAmount: string;
|
|
38
|
+
}): OnRampCryptoTransfer;
|
|
39
|
+
export declare function toAtomicAmount(value: string, decimals: number): bigint | undefined;
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=buildCryptoTransfer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildCryptoTransfer.d.ts","sourceRoot":"","sources":["../../../src/utils/funding/buildCryptoTransfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAsB,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAgBpD,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC5B,CAAC,YAAY,GAAG;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,eAAe,EAAE,2BAA2B,GAAG,yBAAyB,CAAC;CAC1E,CAAC,GACF,CAAC,YAAY,GAAG;IACd,IAAI,EAAE,OAAO,CAAC;IACd,eAAe,EAAE,2BAA2B,CAAC;IAC7C,YAAY,EAAE,GAAG,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;CACX,CAAC,GACF,CAAC,YAAY,GAAG;IACd,IAAI,EAAE,KAAK,CAAC;IACZ,eAAe,EAAE,yBAAyB,CAAC;IAC3C,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AAEP,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,aAAa,CAAC;IACpB,EAAE,EAAE,aAAa,CAAC;CACnB,GAAG,oBAAoB,CAgCvB;AAGD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,YAAY,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,oBAAoB,CA0DvB;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CAYpB"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var core = require('@turnkey/core');
|
|
4
|
+
var viem = require('viem');
|
|
5
|
+
var tokenSymbol = require('./tokenSymbol.js');
|
|
6
|
+
|
|
7
|
+
const ERC20_TRANSFER_ABI = [{
|
|
8
|
+
type: "function",
|
|
9
|
+
name: "transfer",
|
|
10
|
+
stateMutability: "nonpayable",
|
|
11
|
+
inputs: [{
|
|
12
|
+
name: "to",
|
|
13
|
+
type: "address"
|
|
14
|
+
}, {
|
|
15
|
+
name: "amount",
|
|
16
|
+
type: "uint256"
|
|
17
|
+
}],
|
|
18
|
+
outputs: [{
|
|
19
|
+
name: "success",
|
|
20
|
+
type: "bool"
|
|
21
|
+
}]
|
|
22
|
+
}];
|
|
23
|
+
function buildOnRampCryptoTransfer(params) {
|
|
24
|
+
const {
|
|
25
|
+
token,
|
|
26
|
+
amount,
|
|
27
|
+
decimals,
|
|
28
|
+
from,
|
|
29
|
+
to
|
|
30
|
+
} = params;
|
|
31
|
+
const atomic = toAtomicAmount(amount, decimals);
|
|
32
|
+
if (atomic === undefined || atomic <= 0n) {
|
|
33
|
+
throw new core.TurnkeyError("Enter an amount greater than 0.", core.TurnkeyErrorCodes.INVALID_REQUEST);
|
|
34
|
+
}
|
|
35
|
+
if (!from.address || !to.address) {
|
|
36
|
+
throw new core.TurnkeyError("A source and destination address are required.", core.TurnkeyErrorCodes.INVALID_REQUEST);
|
|
37
|
+
}
|
|
38
|
+
const chain = chainOf(token);
|
|
39
|
+
if (chainOfAccount(from) !== chain || chainOfAccount(to) !== chain) {
|
|
40
|
+
throw new core.TurnkeyError("The external wallet and destination must be on the same chain as the token.", core.TurnkeyErrorCodes.INVALID_REQUEST);
|
|
41
|
+
}
|
|
42
|
+
return transferFromAsset({
|
|
43
|
+
caip2: tokenSymbol.caip2Of(token),
|
|
44
|
+
asset: tokenSymbol.assetOf(token),
|
|
45
|
+
quotedToken: token,
|
|
46
|
+
from: from.address,
|
|
47
|
+
to: to.address,
|
|
48
|
+
atomicAmount: atomic.toString()
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
// The sent asset can differ from the quoted token. Sandbox offramp rewrites both.
|
|
52
|
+
function transferFromAsset(params) {
|
|
53
|
+
const {
|
|
54
|
+
caip2,
|
|
55
|
+
asset,
|
|
56
|
+
quotedToken,
|
|
57
|
+
from,
|
|
58
|
+
to,
|
|
59
|
+
atomicAmount
|
|
60
|
+
} = params;
|
|
61
|
+
const base = {
|
|
62
|
+
from,
|
|
63
|
+
to,
|
|
64
|
+
caip2: caip2,
|
|
65
|
+
caip19: quotedToken,
|
|
66
|
+
amount: atomicAmount
|
|
67
|
+
};
|
|
68
|
+
if (caip2.startsWith("solana:")) {
|
|
69
|
+
if (asset.startsWith("token:")) {
|
|
70
|
+
return {
|
|
71
|
+
...base,
|
|
72
|
+
kind: "spl",
|
|
73
|
+
transactionType: "TRANSACTION_TYPE_SOLANA",
|
|
74
|
+
mintAddress: asset.slice("token:".length)
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
if (asset !== "slip44:501") {
|
|
78
|
+
throw new core.TurnkeyError("This token cannot be transferred.", core.TurnkeyErrorCodes.INVALID_REQUEST);
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
...base,
|
|
82
|
+
kind: "native",
|
|
83
|
+
transactionType: "TRANSACTION_TYPE_SOLANA"
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
if (asset.startsWith("erc20:")) {
|
|
87
|
+
return {
|
|
88
|
+
...base,
|
|
89
|
+
kind: "erc20",
|
|
90
|
+
transactionType: "TRANSACTION_TYPE_ETHEREUM",
|
|
91
|
+
tokenAddress: asset.slice("erc20:".length),
|
|
92
|
+
data: viem.encodeFunctionData({
|
|
93
|
+
abi: ERC20_TRANSFER_ABI,
|
|
94
|
+
functionName: "transfer",
|
|
95
|
+
args: [to, BigInt(atomicAmount)]
|
|
96
|
+
})
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
if (asset !== "slip44:60") {
|
|
100
|
+
throw new core.TurnkeyError("This token cannot be transferred.", core.TurnkeyErrorCodes.INVALID_REQUEST);
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
...base,
|
|
104
|
+
kind: "native",
|
|
105
|
+
transactionType: "TRANSACTION_TYPE_ETHEREUM"
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
function toAtomicAmount(value, decimals) {
|
|
109
|
+
const trimmed = value.trim();
|
|
110
|
+
if (!/^\d+(\.\d+)?$/.test(trimmed)) return undefined;
|
|
111
|
+
const [whole = "0", fraction = ""] = trimmed.split(".");
|
|
112
|
+
const digits = `${fraction}${"0".repeat(decimals)}`.slice(0, decimals);
|
|
113
|
+
try {
|
|
114
|
+
return BigInt(`${whole || "0"}${digits}`);
|
|
115
|
+
} catch {
|
|
116
|
+
return undefined;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
function chainOf(token) {
|
|
120
|
+
const caip2 = tokenSymbol.caip2Of(token);
|
|
121
|
+
if (caip2.startsWith("eip155:")) return "ethereum";
|
|
122
|
+
if (caip2.startsWith("solana:")) return "solana";
|
|
123
|
+
throw new core.TurnkeyError("This token cannot be transferred.", core.TurnkeyErrorCodes.INVALID_REQUEST);
|
|
124
|
+
}
|
|
125
|
+
function chainOfAccount(account) {
|
|
126
|
+
if (account.addressFormat === "ADDRESS_FORMAT_ETHEREUM") return "ethereum";
|
|
127
|
+
if (account.addressFormat === "ADDRESS_FORMAT_SOLANA") return "solana";
|
|
128
|
+
return undefined;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
exports.buildOnRampCryptoTransfer = buildOnRampCryptoTransfer;
|
|
132
|
+
exports.toAtomicAmount = toAtomicAmount;
|
|
133
|
+
exports.transferFromAsset = transferFromAsset;
|
|
134
|
+
//# sourceMappingURL=buildCryptoTransfer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildCryptoTransfer.js","sources":["../../../src/utils/funding/buildCryptoTransfer.ts"],"sourcesContent":[null],"names":["ERC20_TRANSFER_ABI","type","name","stateMutability","inputs","outputs","buildOnRampCryptoTransfer","params","token","amount","decimals","from","to","atomic","toAtomicAmount","undefined","TurnkeyError","TurnkeyErrorCodes","INVALID_REQUEST","address","chain","chainOf","chainOfAccount","transferFromAsset","caip2","caip2Of","asset","assetOf","quotedToken","atomicAmount","toString","base","caip19","startsWith","kind","transactionType","mintAddress","slice","length","tokenAddress","data","encodeFunctionData","abi","functionName","args","BigInt","value","trimmed","trim","test","whole","fraction","split","digits","repeat","account","addressFormat"],"mappings":"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"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
|
+
import { TurnkeyError, TurnkeyErrorCodes } from '@turnkey/core';
|
|
3
|
+
import { encodeFunctionData } from 'viem';
|
|
4
|
+
import { assetOf, caip2Of } from './tokenSymbol.mjs';
|
|
5
|
+
|
|
6
|
+
var ERC20_TRANSFER_ABI = [{
|
|
7
|
+
type: "function",
|
|
8
|
+
name: "transfer",
|
|
9
|
+
stateMutability: "nonpayable",
|
|
10
|
+
inputs: [{
|
|
11
|
+
name: "to",
|
|
12
|
+
type: "address"
|
|
13
|
+
}, {
|
|
14
|
+
name: "amount",
|
|
15
|
+
type: "uint256"
|
|
16
|
+
}],
|
|
17
|
+
outputs: [{
|
|
18
|
+
name: "success",
|
|
19
|
+
type: "bool"
|
|
20
|
+
}]
|
|
21
|
+
}];
|
|
22
|
+
function buildOnRampCryptoTransfer(params) {
|
|
23
|
+
var token = params.token,
|
|
24
|
+
amount = params.amount,
|
|
25
|
+
decimals = params.decimals,
|
|
26
|
+
from = params.from,
|
|
27
|
+
to = params.to;
|
|
28
|
+
var atomic = toAtomicAmount(amount, decimals);
|
|
29
|
+
if (atomic === undefined || atomic <= 0n) {
|
|
30
|
+
throw new TurnkeyError("Enter an amount greater than 0.", TurnkeyErrorCodes.INVALID_REQUEST);
|
|
31
|
+
}
|
|
32
|
+
if (!from.address || !to.address) {
|
|
33
|
+
throw new TurnkeyError("A source and destination address are required.", TurnkeyErrorCodes.INVALID_REQUEST);
|
|
34
|
+
}
|
|
35
|
+
var chain = chainOf(token);
|
|
36
|
+
if (chainOfAccount(from) !== chain || chainOfAccount(to) !== chain) {
|
|
37
|
+
throw new TurnkeyError("The external wallet and destination must be on the same chain as the token.", TurnkeyErrorCodes.INVALID_REQUEST);
|
|
38
|
+
}
|
|
39
|
+
return transferFromAsset({
|
|
40
|
+
caip2: caip2Of(token),
|
|
41
|
+
asset: assetOf(token),
|
|
42
|
+
quotedToken: token,
|
|
43
|
+
from: from.address,
|
|
44
|
+
to: to.address,
|
|
45
|
+
atomicAmount: atomic.toString()
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
// The sent asset can differ from the quoted token. Sandbox offramp rewrites both.
|
|
49
|
+
function transferFromAsset(params) {
|
|
50
|
+
var caip2 = params.caip2,
|
|
51
|
+
asset = params.asset,
|
|
52
|
+
quotedToken = params.quotedToken,
|
|
53
|
+
from = params.from,
|
|
54
|
+
to = params.to,
|
|
55
|
+
atomicAmount = params.atomicAmount;
|
|
56
|
+
var base = {
|
|
57
|
+
from: from,
|
|
58
|
+
to: to,
|
|
59
|
+
caip2: caip2,
|
|
60
|
+
caip19: quotedToken,
|
|
61
|
+
amount: atomicAmount
|
|
62
|
+
};
|
|
63
|
+
if (caip2.startsWith("solana:")) {
|
|
64
|
+
if (asset.startsWith("token:")) {
|
|
65
|
+
return _objectSpread2(_objectSpread2({}, base), {}, {
|
|
66
|
+
kind: "spl",
|
|
67
|
+
transactionType: "TRANSACTION_TYPE_SOLANA",
|
|
68
|
+
mintAddress: asset.slice("token:".length)
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
if (asset !== "slip44:501") {
|
|
72
|
+
throw new TurnkeyError("This token cannot be transferred.", TurnkeyErrorCodes.INVALID_REQUEST);
|
|
73
|
+
}
|
|
74
|
+
return _objectSpread2(_objectSpread2({}, base), {}, {
|
|
75
|
+
kind: "native",
|
|
76
|
+
transactionType: "TRANSACTION_TYPE_SOLANA"
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
if (asset.startsWith("erc20:")) {
|
|
80
|
+
return _objectSpread2(_objectSpread2({}, base), {}, {
|
|
81
|
+
kind: "erc20",
|
|
82
|
+
transactionType: "TRANSACTION_TYPE_ETHEREUM",
|
|
83
|
+
tokenAddress: asset.slice("erc20:".length),
|
|
84
|
+
data: encodeFunctionData({
|
|
85
|
+
abi: ERC20_TRANSFER_ABI,
|
|
86
|
+
functionName: "transfer",
|
|
87
|
+
args: [to, BigInt(atomicAmount)]
|
|
88
|
+
})
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
if (asset !== "slip44:60") {
|
|
92
|
+
throw new TurnkeyError("This token cannot be transferred.", TurnkeyErrorCodes.INVALID_REQUEST);
|
|
93
|
+
}
|
|
94
|
+
return _objectSpread2(_objectSpread2({}, base), {}, {
|
|
95
|
+
kind: "native",
|
|
96
|
+
transactionType: "TRANSACTION_TYPE_ETHEREUM"
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
function toAtomicAmount(value, decimals) {
|
|
100
|
+
var trimmed = value.trim();
|
|
101
|
+
if (!/^\d+(\.\d+)?$/.test(trimmed)) return undefined;
|
|
102
|
+
var _trimmed$split = trimmed.split("."),
|
|
103
|
+
_trimmed$split2 = _slicedToArray(_trimmed$split, 2),
|
|
104
|
+
_trimmed$split2$ = _trimmed$split2[0],
|
|
105
|
+
whole = _trimmed$split2$ === void 0 ? "0" : _trimmed$split2$,
|
|
106
|
+
_trimmed$split2$2 = _trimmed$split2[1],
|
|
107
|
+
fraction = _trimmed$split2$2 === void 0 ? "" : _trimmed$split2$2;
|
|
108
|
+
var digits = "".concat(fraction).concat("0".repeat(decimals)).slice(0, decimals);
|
|
109
|
+
try {
|
|
110
|
+
return BigInt("".concat(whole || "0").concat(digits));
|
|
111
|
+
} catch (_unused) {
|
|
112
|
+
return undefined;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function chainOf(token) {
|
|
116
|
+
var caip2 = caip2Of(token);
|
|
117
|
+
if (caip2.startsWith("eip155:")) return "ethereum";
|
|
118
|
+
if (caip2.startsWith("solana:")) return "solana";
|
|
119
|
+
throw new TurnkeyError("This token cannot be transferred.", TurnkeyErrorCodes.INVALID_REQUEST);
|
|
120
|
+
}
|
|
121
|
+
function chainOfAccount(account) {
|
|
122
|
+
if (account.addressFormat === "ADDRESS_FORMAT_ETHEREUM") return "ethereum";
|
|
123
|
+
if (account.addressFormat === "ADDRESS_FORMAT_SOLANA") return "solana";
|
|
124
|
+
return undefined;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export { buildOnRampCryptoTransfer, toAtomicAmount, transferFromAsset };
|
|
128
|
+
//# sourceMappingURL=buildCryptoTransfer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildCryptoTransfer.mjs","sources":["../../../src/utils/funding/buildCryptoTransfer.ts"],"sourcesContent":[null],"names":["ERC20_TRANSFER_ABI","type","name","stateMutability","inputs","outputs","buildOnRampCryptoTransfer","params","token","amount","decimals","from","to","atomic","toAtomicAmount","undefined","TurnkeyError","TurnkeyErrorCodes","INVALID_REQUEST","address","chain","chainOf","chainOfAccount","transferFromAsset","caip2","caip2Of","asset","assetOf","quotedToken","atomicAmount","toString","base","caip19","startsWith","_objectSpread","kind","transactionType","mintAddress","slice","length","tokenAddress","data","encodeFunctionData","abi","functionName","args","BigInt","value","trimmed","trim","test","_trimmed$split","split","_trimmed$split2","_slicedToArray","_trimmed$split2$","whole","_trimmed$split2$2","fraction","digits","concat","repeat","_unused","account","addressFormat"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chainLabel.d.ts","sourceRoot":"","sources":["../../../src/utils/funding/chainLabel.ts"],"names":[],"mappings":"AAYA,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const chainLabels = {
|
|
4
|
+
"eip155:1": "Ethereum",
|
|
5
|
+
"eip155:10": "Optimism",
|
|
6
|
+
"eip155:137": "Polygon",
|
|
7
|
+
"eip155:8453": "Base",
|
|
8
|
+
"eip155:42161": "Arbitrum",
|
|
9
|
+
"eip155:11155111": "Sepolia",
|
|
10
|
+
"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp": "Solana",
|
|
11
|
+
"solana:devnet": "Solana devnet",
|
|
12
|
+
"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG": "Solana devnet"
|
|
13
|
+
};
|
|
14
|
+
function chainLabel(caip2) {
|
|
15
|
+
return chainLabels[caip2] ?? caip2;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
exports.chainLabel = chainLabel;
|
|
19
|
+
//# sourceMappingURL=chainLabel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chainLabel.js","sources":["../../../src/utils/funding/chainLabel.ts"],"sourcesContent":[null],"names":["chainLabels","chainLabel","caip2"],"mappings":";;AAAA,MAAMA,WAAW,GAA2B;AAC1C,EAAA,UAAU,EAAE,UAAU;AACtB,EAAA,WAAW,EAAE,UAAU;AACvB,EAAA,YAAY,EAAE,SAAS;AACvB,EAAA,aAAa,EAAE,MAAM;AACrB,EAAA,cAAc,EAAE,UAAU;AAC1B,EAAA,iBAAiB,EAAE,SAAS;AAC5B,EAAA,yCAAyC,EAAE,QAAQ;AACnD,EAAA,eAAe,EAAE,eAAe;AAChC,EAAA,qDAAqD,EAAE;CACxD;AAEK,SAAUC,UAAUA,CAACC,KAAa,EAAA;AACtC,EAAA,OAAOF,WAAW,CAACE,KAAK,CAAC,IAAIA,KAAK;AACpC;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var chainLabels = {
|
|
2
|
+
"eip155:1": "Ethereum",
|
|
3
|
+
"eip155:10": "Optimism",
|
|
4
|
+
"eip155:137": "Polygon",
|
|
5
|
+
"eip155:8453": "Base",
|
|
6
|
+
"eip155:42161": "Arbitrum",
|
|
7
|
+
"eip155:11155111": "Sepolia",
|
|
8
|
+
"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp": "Solana",
|
|
9
|
+
"solana:devnet": "Solana devnet",
|
|
10
|
+
"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG": "Solana devnet"
|
|
11
|
+
};
|
|
12
|
+
function chainLabel(caip2) {
|
|
13
|
+
var _chainLabels$caip;
|
|
14
|
+
return (_chainLabels$caip = chainLabels[caip2]) !== null && _chainLabels$caip !== void 0 ? _chainLabels$caip : caip2;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { chainLabel };
|
|
18
|
+
//# sourceMappingURL=chainLabel.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chainLabel.mjs","sources":["../../../src/utils/funding/chainLabel.ts"],"sourcesContent":[null],"names":["chainLabels","chainLabel","caip2","_chainLabels$caip"],"mappings":"AAAA,IAAMA,WAAW,GAA2B;AAC1C,EAAA,UAAU,EAAE,UAAU;AACtB,EAAA,WAAW,EAAE,UAAU;AACvB,EAAA,YAAY,EAAE,SAAS;AACvB,EAAA,aAAa,EAAE,MAAM;AACrB,EAAA,cAAc,EAAE,UAAU;AAC1B,EAAA,iBAAiB,EAAE,SAAS;AAC5B,EAAA,yCAAyC,EAAE,QAAQ;AACnD,EAAA,eAAe,EAAE,eAAe;AAChC,EAAA,qDAAqD,EAAE;CACxD;AAEK,SAAUC,UAAUA,CAACC,KAAa,EAAA;AAAA,EAAA,IAAAC,iBAAA;EACtC,OAAA,CAAAA,iBAAA,GAAOH,WAAW,CAACE,KAAK,CAAC,MAAA,IAAA,IAAAC,iBAAA,KAAA,MAAA,GAAAA,iBAAA,GAAID,KAAK;AACpC;;;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { OnRampCaip19, v1FiatRampProvider } from "@turnkey/core";
|
|
2
|
+
export type DepositPlan = {
|
|
3
|
+
mode: "send";
|
|
4
|
+
caip2: string;
|
|
5
|
+
asset: string;
|
|
6
|
+
symbol: string;
|
|
7
|
+
amount: string;
|
|
8
|
+
atomicAmount: string;
|
|
9
|
+
rpcUrl?: string | undefined;
|
|
10
|
+
} | {
|
|
11
|
+
mode: "hold";
|
|
12
|
+
title: string;
|
|
13
|
+
instructions: string;
|
|
14
|
+
complete: boolean;
|
|
15
|
+
};
|
|
16
|
+
export declare function depositPlan(params: {
|
|
17
|
+
token: OnRampCaip19;
|
|
18
|
+
amount: string;
|
|
19
|
+
atomicAmount: string;
|
|
20
|
+
provider: v1FiatRampProvider;
|
|
21
|
+
sandboxMode: boolean;
|
|
22
|
+
rpcUrl?: string | undefined;
|
|
23
|
+
symbol: string;
|
|
24
|
+
}): DepositPlan;
|
|
25
|
+
export declare function applyReturnedAmount(plan: DepositPlan, returned: string | undefined, quoteDecimals: number, quotedAsset: string): DepositPlan;
|
|
26
|
+
export declare function isDepositAddress(caip2: string, value: string): boolean;
|
|
27
|
+
export declare function positiveAtomic(value: string): boolean;
|
|
28
|
+
//# sourceMappingURL=depositPlan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depositPlan.d.ts","sourceRoot":"","sources":["../../../src/utils/funding/depositPlan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAYtE,MAAM,MAAM,WAAW,GACnB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEN,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAClC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,WAAW,CAwEd;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,WAAW,CAkBb;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,WAG5D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,WAE3C"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var buildCryptoTransfer = require('./buildCryptoTransfer.js');
|
|
4
|
+
var sendCryptoTransfer = require('./sendCryptoTransfer.js');
|
|
5
|
+
var tokenSymbol = require('./tokenSymbol.js');
|
|
6
|
+
|
|
7
|
+
const SEPOLIA = "eip155:11155111";
|
|
8
|
+
const SOLANA_DEVNET = "solana:devnet";
|
|
9
|
+
// MoonPay's Sepolia ERC-20. Sandbox sells of USDC and other tokens deliver this, not the real token. 18 decimals.
|
|
10
|
+
const MOONPAY_TOKEN = "0x699cfe8997d647d03325ef4bfd039d5bb0984a17";
|
|
11
|
+
const POLYGON_ETH = "eip155:137/erc20:0x7ceb23fd6bc0add59e62ac25578270cff1b9f619";
|
|
12
|
+
function depositPlan(params) {
|
|
13
|
+
const {
|
|
14
|
+
token,
|
|
15
|
+
amount,
|
|
16
|
+
provider,
|
|
17
|
+
symbol
|
|
18
|
+
} = params;
|
|
19
|
+
const quotedCaip2 = tokenSymbol.caip2Of(token);
|
|
20
|
+
if (!params.sandboxMode) {
|
|
21
|
+
return sendPlan({
|
|
22
|
+
caip2: quotedCaip2,
|
|
23
|
+
asset: tokenSymbol.assetOf(token),
|
|
24
|
+
symbol,
|
|
25
|
+
amount,
|
|
26
|
+
atomicAmount: params.atomicAmount,
|
|
27
|
+
rpcUrl: sendCryptoTransfer.solanaRpcUrl(quotedCaip2, params.rpcUrl)
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
if (provider === "FIAT_RAMP_PROVIDER_COINBASE") {
|
|
31
|
+
return {
|
|
32
|
+
mode: "hold",
|
|
33
|
+
complete: false,
|
|
34
|
+
title: "Coinbase offramp is live only",
|
|
35
|
+
instructions: "Turn sandbox mode off to sell through Coinbase."
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
if (quotedCaip2.startsWith("solana:")) {
|
|
39
|
+
if (tokenSymbol.assetOf(token).startsWith("token:")) {
|
|
40
|
+
return {
|
|
41
|
+
mode: "hold",
|
|
42
|
+
complete: false,
|
|
43
|
+
title: "Solana devnet does not support this token",
|
|
44
|
+
instructions: "MoonPay sandbox accepts native SOL on Solana devnet. SPL tokens such as USDC are only available when sandbox mode is off."
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return sendPlan({
|
|
48
|
+
caip2: SOLANA_DEVNET,
|
|
49
|
+
asset: "slip44:501",
|
|
50
|
+
symbol: "SOL",
|
|
51
|
+
amount,
|
|
52
|
+
atomicAmount: params.atomicAmount,
|
|
53
|
+
rpcUrl: sendCryptoTransfer.solanaRpcUrl(SOLANA_DEVNET, params.rpcUrl)
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
if (isQuotedEth(token)) {
|
|
57
|
+
return sendPlan({
|
|
58
|
+
caip2: SEPOLIA,
|
|
59
|
+
asset: "slip44:60",
|
|
60
|
+
symbol: "ETH",
|
|
61
|
+
amount,
|
|
62
|
+
atomicAmount: params.atomicAmount
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
const tokenAmount = buildCryptoTransfer.toAtomicAmount(amount, 18);
|
|
66
|
+
if (tokenAmount === undefined) {
|
|
67
|
+
return {
|
|
68
|
+
mode: "hold",
|
|
69
|
+
complete: false,
|
|
70
|
+
title: "Unable to price this sandbox deposit",
|
|
71
|
+
instructions: "MoonPay sandbox delivers its Sepolia test token, MoonPayToken, instead of the quoted asset. Enter the amount again and retry."
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
return sendPlan({
|
|
75
|
+
caip2: SEPOLIA,
|
|
76
|
+
asset: `erc20:${MOONPAY_TOKEN}`,
|
|
77
|
+
symbol: "MPT",
|
|
78
|
+
amount,
|
|
79
|
+
atomicAmount: tokenAmount.toString()
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
function applyReturnedAmount(plan, returned, quoteDecimals, quotedAsset) {
|
|
83
|
+
if (plan.mode !== "send" || !returned) return plan;
|
|
84
|
+
// MoonPay's baseCurrencyAmount is a display amount of the quoted asset.
|
|
85
|
+
// A sandbox plan can send a different asset, and that asset keeps its own decimals.
|
|
86
|
+
const decimals = plan.asset.toLowerCase() === quotedAsset.toLowerCase() ? quoteDecimals : decimalsForAsset(plan.asset);
|
|
87
|
+
const atomic = buildCryptoTransfer.toAtomicAmount(returned, decimals);
|
|
88
|
+
if (atomic === undefined || atomic <= 0n) return plan;
|
|
89
|
+
return sendPlan({
|
|
90
|
+
caip2: plan.caip2,
|
|
91
|
+
asset: plan.asset,
|
|
92
|
+
symbol: plan.symbol,
|
|
93
|
+
amount: returned,
|
|
94
|
+
atomicAmount: atomic.toString(),
|
|
95
|
+
rpcUrl: plan.rpcUrl
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
function isDepositAddress(caip2, value) {
|
|
99
|
+
if (caip2.startsWith("eip155:")) return /^0x[0-9a-fA-F]{40}$/.test(value);
|
|
100
|
+
return /^[1-9A-HJ-NP-Za-km-z]{32,44}$/.test(value);
|
|
101
|
+
}
|
|
102
|
+
function positiveAtomic(value) {
|
|
103
|
+
return /^\d+$/.test(value) && BigInt(value) > 0n;
|
|
104
|
+
}
|
|
105
|
+
function decimalsForAsset(asset) {
|
|
106
|
+
const normalized = asset.toLowerCase();
|
|
107
|
+
if (normalized === "slip44:60" || normalized === `erc20:${MOONPAY_TOKEN}` || normalized.includes("0x7ceb23fd6bc0add59e62ac25578270cff1b9f619")) {
|
|
108
|
+
return 18;
|
|
109
|
+
}
|
|
110
|
+
if (normalized === "slip44:501") return 9;
|
|
111
|
+
return 6;
|
|
112
|
+
}
|
|
113
|
+
function sendPlan(params) {
|
|
114
|
+
return {
|
|
115
|
+
mode: "send",
|
|
116
|
+
...params
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
function isQuotedEth(token) {
|
|
120
|
+
return token.endsWith("/slip44:60") || token.toLowerCase() === POLYGON_ETH;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
exports.applyReturnedAmount = applyReturnedAmount;
|
|
124
|
+
exports.depositPlan = depositPlan;
|
|
125
|
+
exports.isDepositAddress = isDepositAddress;
|
|
126
|
+
exports.positiveAtomic = positiveAtomic;
|
|
127
|
+
//# sourceMappingURL=depositPlan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depositPlan.js","sources":["../../../src/utils/funding/depositPlan.ts"],"sourcesContent":[null],"names":["SEPOLIA","SOLANA_DEVNET","MOONPAY_TOKEN","POLYGON_ETH","depositPlan","params","token","amount","provider","symbol","quotedCaip2","caip2Of","sandboxMode","sendPlan","caip2","asset","assetOf","atomicAmount","rpcUrl","solanaRpcUrl","mode","complete","title","instructions","startsWith","isQuotedEth","tokenAmount","toAtomicAmount","undefined","toString","applyReturnedAmount","plan","returned","quoteDecimals","quotedAsset","decimals","toLowerCase","decimalsForAsset","atomic","isDepositAddress","value","test","positiveAtomic","BigInt","normalized","includes","endsWith"],"mappings":"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"}
|