@dynamic-labs-sdk/client 1.25.0 → 1.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/core/createCore/createCore.d.ts.map +1 -1
- package/dist/client/core/types/DynamicCore.d.ts +11 -0
- package/dist/client/core/types/DynamicCore.d.ts.map +1 -1
- package/dist/core.cjs +6 -5
- package/dist/core.cjs.map +1 -1
- package/dist/core.esm.js +6 -6
- package/dist/core.esm.js.map +1 -1
- package/dist/core.native.esm.js +6 -6
- package/dist/core.native.esm.js.map +1 -1
- package/dist/errors/CoinbaseTransferMfaFailedError.d.ts +34 -0
- package/dist/errors/CoinbaseTransferMfaFailedError.d.ts.map +1 -0
- package/dist/errors/CoinbaseTransferMfaRequiredError.d.ts +37 -0
- package/dist/errors/CoinbaseTransferMfaRequiredError.d.ts.map +1 -0
- package/dist/errors/CoinbaseTravelRuleRequiredError.d.ts +55 -0
- package/dist/errors/CoinbaseTravelRuleRequiredError.d.ts.map +1 -0
- package/dist/errors/TransactionBroadcastError.d.ts +44 -0
- package/dist/errors/TransactionBroadcastError.d.ts.map +1 -0
- package/dist/exports/core.d.ts +2 -0
- package/dist/exports/core.d.ts.map +1 -1
- package/dist/exports/index.d.ts +9 -1
- package/dist/exports/index.d.ts.map +1 -1
- package/dist/exports/waas.d.ts +2 -1
- package/dist/exports/waas.d.ts.map +1 -1
- package/dist/exports/waasCore.d.ts +1 -1
- package/dist/exports/waasCore.d.ts.map +1 -1
- package/dist/{getNetworkProviderFromNetworkId-CN0fhJMJ.native.esm.js → getNetworkProviderFromNetworkId-C5GtE2ef.native.esm.js} +29 -5
- package/dist/getNetworkProviderFromNetworkId-C5GtE2ef.native.esm.js.map +1 -0
- package/dist/{getNetworkProviderFromNetworkId-CtXKqsri.cjs → getNetworkProviderFromNetworkId-CSxvdrc9.cjs} +32 -2
- package/dist/{getNetworkProviderFromNetworkId-DCvqxwoP.esm.js.map → getNetworkProviderFromNetworkId-CSxvdrc9.cjs.map} +1 -1
- package/dist/{getNetworkProviderFromNetworkId-DCvqxwoP.esm.js → getNetworkProviderFromNetworkId-D7lIOS6I.esm.js} +27 -3
- package/dist/getNetworkProviderFromNetworkId-D7lIOS6I.esm.js.map +1 -0
- package/dist/{getSignedSessionId-B3aCjPhf.native.esm.js → getSignedSessionId-B5Dijw-8.native.esm.js} +3 -3
- package/dist/{getSignedSessionId-B3aCjPhf.native.esm.js.map → getSignedSessionId-B5Dijw-8.native.esm.js.map} +1 -1
- package/dist/{getSignedSessionId-BmL1vPnC.esm.js → getSignedSessionId-BiL9k0nE.esm.js} +3 -3
- package/dist/{getSignedSessionId-BmL1vPnC.esm.js.map → getSignedSessionId-BiL9k0nE.esm.js.map} +1 -1
- package/dist/{getSignedSessionId-DIn697B6.cjs → getSignedSessionId-CpcQiZTF.cjs} +3 -3
- package/dist/{getSignedSessionId-DIn697B6.cjs.map → getSignedSessionId-CpcQiZTF.cjs.map} +1 -1
- package/dist/{getWalletProviderByKey-DtcD_nPD.cjs → getWalletProviderByKey-BMJ9TcjM.cjs} +2 -2
- package/dist/{getWalletProviderByKey-DtcD_nPD.cjs.map → getWalletProviderByKey-BMJ9TcjM.cjs.map} +1 -1
- package/dist/{getWalletProviderByKey-Pg1oNi-G.native.esm.js → getWalletProviderByKey-CBIrILYZ.native.esm.js} +2 -2
- package/dist/{getWalletProviderByKey-Pg1oNi-G.native.esm.js.map → getWalletProviderByKey-CBIrILYZ.native.esm.js.map} +1 -1
- package/dist/{getWalletProviderByKey-Dm7Ey9SI.esm.js → getWalletProviderByKey-CU8zmrf2.esm.js} +2 -2
- package/dist/{getWalletProviderByKey-Dm7Ey9SI.esm.js.map → getWalletProviderByKey-CU8zmrf2.esm.js.map} +1 -1
- package/dist/index.cjs +405 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +397 -8
- package/dist/index.esm.js.map +1 -1
- package/dist/index.native.esm.js +397 -8
- package/dist/index.native.esm.js.map +1 -1
- package/dist/{isDynamicWaasEnabled-BC2gR0R1.esm.js → isDynamicWaasEnabled-CBvSRUgG.esm.js} +34 -3
- package/dist/isDynamicWaasEnabled-CBvSRUgG.esm.js.map +1 -0
- package/dist/{isDynamicWaasEnabled-B75AeGiP.native.esm.js → isDynamicWaasEnabled-d82cX7j9.native.esm.js} +34 -3
- package/dist/isDynamicWaasEnabled-d82cX7j9.native.esm.js.map +1 -0
- package/dist/{isDynamicWaasEnabled-BWvSMhAP.cjs → isDynamicWaasEnabled-idmeju9B.cjs} +39 -2
- package/dist/isDynamicWaasEnabled-idmeju9B.cjs.map +1 -0
- package/dist/{isMfaRequiredForAction-WmEokgKF.native.esm.js → isMfaRequiredForAction-1O_rFiPN.native.esm.js} +2 -2
- package/dist/{isMfaRequiredForAction-WmEokgKF.native.esm.js.map → isMfaRequiredForAction-1O_rFiPN.native.esm.js.map} +1 -1
- package/dist/{isMfaRequiredForAction-ncRFYLGn.esm.js → isMfaRequiredForAction-D1rhRlDu.esm.js} +2 -2
- package/dist/{isMfaRequiredForAction-ncRFYLGn.esm.js.map → isMfaRequiredForAction-D1rhRlDu.esm.js.map} +1 -1
- package/dist/{isMfaRequiredForAction-Dr44C3-l.cjs → isMfaRequiredForAction-D5o4qznt.cjs} +2 -2
- package/dist/{isMfaRequiredForAction-Dr44C3-l.cjs.map → isMfaRequiredForAction-D5o4qznt.cjs.map} +1 -1
- package/dist/{isUserOnboardingComplete-B9vzjs71.cjs → isUserOnboardingComplete-BfRUVwrT.cjs} +3 -3
- package/dist/{isUserOnboardingComplete-B9vzjs71.cjs.map → isUserOnboardingComplete-BfRUVwrT.cjs.map} +1 -1
- package/dist/{isUserOnboardingComplete-G6Hf8p_v.native.esm.js → isUserOnboardingComplete-bR7jwdjO.native.esm.js} +3 -3
- package/dist/{isUserOnboardingComplete-G6Hf8p_v.native.esm.js.map → isUserOnboardingComplete-bR7jwdjO.native.esm.js.map} +1 -1
- package/dist/{isUserOnboardingComplete-B-J8O4KB.esm.js → isUserOnboardingComplete-k3nlisFA.esm.js} +3 -3
- package/dist/{isUserOnboardingComplete-B-J8O4KB.esm.js.map → isUserOnboardingComplete-k3nlisFA.esm.js.map} +1 -1
- package/dist/{migrateFromFireblocks-MbP1ajwI.cjs → migrateFromFireblocks-BcYmEZ3_.cjs} +3 -3
- package/dist/{migrateFromFireblocks-MbP1ajwI.cjs.map → migrateFromFireblocks-BcYmEZ3_.cjs.map} +1 -1
- package/dist/{migrateFromFireblocks-fY2IrQgU.esm.js → migrateFromFireblocks-Bm7eIfaa.esm.js} +3 -3
- package/dist/{migrateFromFireblocks-fY2IrQgU.esm.js.map → migrateFromFireblocks-Bm7eIfaa.esm.js.map} +1 -1
- package/dist/{migrateFromFireblocks-kFz_kyA5.native.esm.js → migrateFromFireblocks-DVP5tGv_.native.esm.js} +3 -3
- package/dist/{migrateFromFireblocks-kFz_kyA5.native.esm.js.map → migrateFromFireblocks-DVP5tGv_.native.esm.js.map} +1 -1
- package/dist/modules/apiClient/utils/clientErrorMapper/clientErrorMapper.d.ts.map +1 -1
- package/dist/modules/auth/social/social.types.d.ts +1 -1
- package/dist/modules/auth/social/social.types.d.ts.map +1 -1
- package/dist/modules/funding/coinbase/coinbase.consts.d.ts +74 -0
- package/dist/modules/funding/coinbase/coinbase.consts.d.ts.map +1 -0
- package/dist/modules/funding/coinbase/coinbase.types.d.ts +150 -1
- package/dist/modules/funding/coinbase/coinbase.types.d.ts.map +1 -1
- package/dist/modules/funding/coinbase/createCoinbaseExchangeTransfer/createCoinbaseExchangeTransfer.d.ts +83 -0
- package/dist/modules/funding/coinbase/createCoinbaseExchangeTransfer/createCoinbaseExchangeTransfer.d.ts.map +1 -0
- package/dist/modules/funding/coinbase/createCoinbaseExchangeTransfer/index.d.ts +3 -0
- package/dist/modules/funding/coinbase/createCoinbaseExchangeTransfer/index.d.ts.map +1 -0
- package/dist/modules/funding/coinbase/getCoinbaseAccounts/getCoinbaseAccounts.d.ts +41 -0
- package/dist/modules/funding/coinbase/getCoinbaseAccounts/getCoinbaseAccounts.d.ts.map +1 -0
- package/dist/modules/funding/coinbase/getCoinbaseAccounts/index.d.ts +3 -0
- package/dist/modules/funding/coinbase/getCoinbaseAccounts/index.d.ts.map +1 -0
- package/dist/modules/funding/coinbase/utils/parseCoinbaseTravelRuleMissingFields/index.d.ts +2 -0
- package/dist/modules/funding/coinbase/utils/parseCoinbaseTravelRuleMissingFields/index.d.ts.map +1 -0
- package/dist/modules/funding/coinbase/utils/parseCoinbaseTravelRuleMissingFields/parseCoinbaseTravelRuleMissingFields.d.ts +26 -0
- package/dist/modules/funding/coinbase/utils/parseCoinbaseTravelRuleMissingFields/parseCoinbaseTravelRuleMissingFields.d.ts.map +1 -0
- package/dist/modules/waas/broadcastWaasTransaction/broadcastWaasTransaction.d.ts +18 -0
- package/dist/modules/waas/broadcastWaasTransaction/broadcastWaasTransaction.d.ts.map +1 -0
- package/dist/modules/waas/businessAccounts/createBusinessAccount/createBusinessAccount.d.ts +11 -0
- package/dist/modules/waas/businessAccounts/createBusinessAccount/createBusinessAccount.d.ts.map +1 -1
- package/dist/modules/waas/businessAccounts/listBusinessAccounts/listBusinessAccounts.d.ts +14 -2
- package/dist/modules/waas/businessAccounts/listBusinessAccounts/listBusinessAccounts.d.ts.map +1 -1
- package/dist/modules/waas/createWaasProvider/createWaasProvider.d.ts.map +1 -1
- package/dist/modules/waas/transactionBroadcastErrorMapper/transactionBroadcastErrorMapper.d.ts +8 -0
- package/dist/modules/waas/transactionBroadcastErrorMapper/transactionBroadcastErrorMapper.d.ts.map +1 -0
- package/dist/modules/waas/waas.types.d.ts +14 -0
- package/dist/modules/waas/waas.types.d.ts.map +1 -1
- package/dist/modules/wallets/walletProviderRegistry/index.d.ts +2 -1
- package/dist/modules/wallets/walletProviderRegistry/index.d.ts.map +1 -1
- package/dist/modules/wallets/walletProviderRegistry/walletProviderRegistry.consts.d.ts +34 -0
- package/dist/modules/wallets/walletProviderRegistry/walletProviderRegistry.consts.d.ts.map +1 -0
- package/dist/modules/wallets/walletProviderRegistry/walletProviderRegistry.types.d.ts +5 -21
- package/dist/modules/wallets/walletProviderRegistry/walletProviderRegistry.types.d.ts.map +1 -1
- package/dist/services/appForeground/appForeground.types.d.ts +36 -0
- package/dist/services/appForeground/appForeground.types.d.ts.map +1 -0
- package/dist/services/appForeground/createAppForegroundSubscriber/createAppForegroundSubscriber.d.ts +12 -0
- package/dist/services/appForeground/createAppForegroundSubscriber/createAppForegroundSubscriber.d.ts.map +1 -0
- package/dist/services/appForeground/createAppForegroundSubscriber/index.d.ts +2 -0
- package/dist/services/appForeground/createAppForegroundSubscriber/index.d.ts.map +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/{updateAuthFromVerifyResponse-D9kFrAkK.cjs → updateAuthFromVerifyResponse-CPOvKWih.cjs} +20 -26
- package/dist/updateAuthFromVerifyResponse-CPOvKWih.cjs.map +1 -0
- package/dist/{updateAuthFromVerifyResponse-WlGmt2v0.native.esm.js → updateAuthFromVerifyResponse-CTfG6oZa.native.esm.js} +20 -26
- package/dist/updateAuthFromVerifyResponse-CTfG6oZa.native.esm.js.map +1 -0
- package/dist/{updateAuthFromVerifyResponse-ZzU46s0t.esm.js → updateAuthFromVerifyResponse-CfqviWkz.esm.js} +20 -26
- package/dist/updateAuthFromVerifyResponse-CfqviWkz.esm.js.map +1 -0
- package/dist/utils/assertChainName/assertChainName.d.ts +15 -0
- package/dist/utils/assertChainName/assertChainName.d.ts.map +1 -0
- package/dist/utils/assertChainName/index.d.ts +2 -0
- package/dist/utils/assertChainName/index.d.ts.map +1 -0
- package/dist/waas.cjs +21 -8
- package/dist/waas.cjs.map +1 -1
- package/dist/waas.esm.js +21 -9
- package/dist/waas.esm.js.map +1 -1
- package/dist/waas.native.esm.js +21 -9
- package/dist/waas.native.esm.js.map +1 -1
- package/dist/waasCore.cjs +89 -6
- package/dist/waasCore.cjs.map +1 -1
- package/dist/waasCore.esm.js +90 -7
- package/dist/waasCore.esm.js.map +1 -1
- package/dist/waasCore.native.esm.js +90 -7
- package/dist/waasCore.native.esm.js.map +1 -1
- package/package.json +3 -3
- package/dist/getNetworkProviderFromNetworkId-CN0fhJMJ.native.esm.js.map +0 -1
- package/dist/getNetworkProviderFromNetworkId-CtXKqsri.cjs.map +0 -1
- package/dist/isDynamicWaasEnabled-B75AeGiP.native.esm.js.map +0 -1
- package/dist/isDynamicWaasEnabled-BC2gR0R1.esm.js.map +0 -1
- package/dist/isDynamicWaasEnabled-BWvSMhAP.cjs.map +0 -1
- package/dist/updateAuthFromVerifyResponse-D9kFrAkK.cjs.map +0 -1
- package/dist/updateAuthFromVerifyResponse-WlGmt2v0.native.esm.js.map +0 -1
- package/dist/updateAuthFromVerifyResponse-ZzU46s0t.esm.js.map +0 -1
package/dist/index.native.esm.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { $ as SandboxMaximumThresholdReachedError, B as onceEvent, C as getWalletProviderFromWalletAccount, Ct as version, D as NoWalletProviderFoundError, F as splitWalletProviderKey, G as getNonce, J as fetchAndStoreNonces, L as emitEvent, M as CHAINS_INFO_MAP, N as formatWalletAccountId, O as getWalletAccounts, P as normalizeAddress, Q as UnauthorizedError, R as offEvent, St as name, T as getWalletProviderRegistry, V as createApiClient, X as createStorageKeySchema, Y as updateNoncePoolStorage, Z as createLocalStorageAdapter, _ as scrubParameters, _t as getDefaultClient, a as initializeWaasClientsForEagerRecovery, b as getOperatingSystem, bt as BaseError, ct as SDK_API_CORE_VERSION, dt as assertDefined, et as MfaRateLimitedError, f as getWalletProviders, ft as ValueMustBeDefinedError, g as instrumentFunction, gt as NONCE_POOL_SIZE, ht as getPlatform, i as InvalidParamError, it as APIError, j as getChainFromVerifiedCredentialChain, m as checkAndRaiseWalletAccountsChangedEvent, mt as randomString, n as upsertElevatedAccessToken, nt as LinkCredentialError, p as isUserMissingMfaAuth, pt as getElevatedAccessToken, r as parseElevatedAccessToken, rt as InvalidExternalAuthError, st as DYNAMIC_ICONIC_SPRITE_URL, t as updateAuthFromVerifyResponse, tt as MfaInvalidOtpError, ut as isCookieEnabled, v as DEFAULT_PII_FIELDS, vt as setDefaultClient, w as WalletProviderPriority, x as extractSessionId, xt as getCore, y as getUserAgent, z as onEvent } from "./updateAuthFromVerifyResponse-
|
|
2
|
-
import { A as createCrossTabBroadcast, B as
|
|
3
|
-
import { a as fetchProjectSettings, i as generateSessionKeys, n as getVerifiedCredentialForWalletAccount, o as isSignedIn, r as __logoutWithReason_wrapped, s as retryOnFail, t as getWalletProviderByKey } from "./getWalletProviderByKey-
|
|
4
|
-
import { n as
|
|
5
|
-
import { n as getMfaMethods, r as __consumeMfaToken_wrapped, t as isMfaRequiredForAction } from "./isMfaRequiredForAction-
|
|
6
|
-
import { a as WaasOnboardingIncompleteError, i as preconnectWaasIframe, n as isPendingRecoveryCodesAcknowledgment, o as WaasLoadFailedError, r as isDeviceRegistrationRequired, t as isUserOnboardingComplete } from "./isUserOnboardingComplete-
|
|
1
|
+
import { $ as SandboxMaximumThresholdReachedError, B as onceEvent, C as getWalletProviderFromWalletAccount, Ct as version, D as NoWalletProviderFoundError, F as splitWalletProviderKey, G as getNonce, J as fetchAndStoreNonces, L as emitEvent, M as CHAINS_INFO_MAP, N as formatWalletAccountId, O as getWalletAccounts, P as normalizeAddress, Q as UnauthorizedError, R as offEvent, St as name, T as getWalletProviderRegistry, V as createApiClient, X as createStorageKeySchema, Y as updateNoncePoolStorage, Z as createLocalStorageAdapter, _ as scrubParameters, _t as getDefaultClient, a as initializeWaasClientsForEagerRecovery, b as getOperatingSystem, bt as BaseError, ct as SDK_API_CORE_VERSION, dt as assertDefined, et as MfaRateLimitedError, f as getWalletProviders, ft as ValueMustBeDefinedError, g as instrumentFunction, gt as NONCE_POOL_SIZE, ht as getPlatform, i as InvalidParamError, it as APIError, j as getChainFromVerifiedCredentialChain, m as checkAndRaiseWalletAccountsChangedEvent, mt as randomString, n as upsertElevatedAccessToken, nt as LinkCredentialError, p as isUserMissingMfaAuth, pt as getElevatedAccessToken, r as parseElevatedAccessToken, rt as InvalidExternalAuthError, st as DYNAMIC_ICONIC_SPRITE_URL, t as updateAuthFromVerifyResponse, tt as MfaInvalidOtpError, ut as isCookieEnabled, v as DEFAULT_PII_FIELDS, vt as setDefaultClient, w as WalletProviderPriority, x as extractSessionId, xt as getCore, y as getUserAgent, z as onEvent } from "./updateAuthFromVerifyResponse-CTfG6oZa.native.esm.js";
|
|
2
|
+
import { A as createCrossTabBroadcast, B as isServerSideRendering, C as getKeychainIndexedDBName, D as assertSafeNavigationUrl, E as createKeychainService, F as FETCH_PROJECT_SETTINGS_TRACKER_KEY, H as subscribeWithSelector, I as GENERATE_SESSION_KEYS_TRACKER_KEY, L as INITIALIZE_STORAGE_SYNC_TRACKER_KEY, M as CannotTrackError, N as createDeferredPromise, P as createAppForegroundSubscriber, R as REFRESH_USER_STATE_FROM_COOKIE_TRACKER_KEY, S as MergeAccountsConfirmationError, T as assertSafeDeeplinkUrl, U as isEqualShallow, V as getBuffer, W as createStorage, _ as getAppMetadata, a as verifyMessageSignatureOwnership, b as WalletAlreadyLinkedToAnotherUserError, c as formatSignInMessage, d as setUnverifiedWalletAccounts, f as createVisit, g as isCaptchaRequired, h as consumeCaptchaToken, i as getNetworksData, k as createLogger, l as reconcileWalletAccountsAgainstClient, m as __setCaptchaToken_wrapped, o as removeUnverifiedWalletAccount, p as hasExtension, s as createSignInMessageStatement, t as getNetworkProviderFromNetworkId, u as updateWalletProviderKeysForVerifiedCredentials, v as MethodNotImplementedError, w as createRealtimeService, x as NoNetworkProvidersError, y as WalletScreeningBlockedError, z as REFRESH_USER_STATE_FROM_VALID_TOKEN_TRACKER_KEY } from "./getNetworkProviderFromNetworkId-C5GtE2ef.native.esm.js";
|
|
3
|
+
import { a as fetchProjectSettings, i as generateSessionKeys, n as getVerifiedCredentialForWalletAccount, o as isSignedIn, r as __logoutWithReason_wrapped, s as retryOnFail, t as getWalletProviderByKey } from "./getWalletProviderByKey-CBIrILYZ.native.esm.js";
|
|
4
|
+
import { i as __refreshAuth_wrapped, n as TransactionBroadcastError, r as NotWaasWalletAccountError } from "./isDynamicWaasEnabled-d82cX7j9.native.esm.js";
|
|
5
|
+
import { n as getMfaMethods, r as __consumeMfaToken_wrapped, t as isMfaRequiredForAction } from "./isMfaRequiredForAction-1O_rFiPN.native.esm.js";
|
|
6
|
+
import { a as WaasOnboardingIncompleteError, i as preconnectWaasIframe, n as isPendingRecoveryCodesAcknowledgment, o as WaasLoadFailedError, r as isDeviceRegistrationRequired, t as isUserOnboardingComplete } from "./isUserOnboardingComplete-bR7jwdjO.native.esm.js";
|
|
7
7
|
import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
|
|
8
|
-
import { AuthModeEnum, CaptchaProviderEnum as CaptchaProviderEnum$1, ExchangeKeyEnum, JwtVerifiedCredentialFormatEnum, JwtVerifiedCredentialFormatEnum as JwtVerifiedCredentialFormatEnum$1, MFAAction, MfaBackupCodeAcknowledgement, ProviderEnum, ProviderEnum as ProviderEnum$1, TokenScope, TokenScope as TokenScope$1, WaasBackupOptionsEnum, WalletProviderEnum } from "@dynamic-labs/sdk-api-core";
|
|
8
|
+
import { AuthModeEnum, CaptchaProviderEnum as CaptchaProviderEnum$1, ChainEnum, ExchangeKeyEnum, JwtVerifiedCredentialFormatEnum, JwtVerifiedCredentialFormatEnum as JwtVerifiedCredentialFormatEnum$1, MFAAction, MfaBackupCodeAcknowledgement, ProviderEnum, ProviderEnum as ProviderEnum$1, TokenScope, TokenScope as TokenScope$1, WaasBackupOptionsEnum, WalletProviderEnum } from "@dynamic-labs/sdk-api-core";
|
|
9
9
|
import * as z from "zod/mini";
|
|
10
10
|
import { Linking } from "react-native";
|
|
11
11
|
import EventEmitter, { EventEmitter as EventEmitter$1 } from "eventemitter3";
|
|
@@ -1057,6 +1057,7 @@ const createCore = (config) => {
|
|
|
1057
1057
|
});
|
|
1058
1058
|
const fetch = config.coreConfig?.fetch ?? createWebFetch();
|
|
1059
1059
|
const openDeeplink = config.coreConfig?.openDeeplink ?? createDeeplinkOpener();
|
|
1060
|
+
const subscribeToAppForeground = createAppForegroundSubscriber();
|
|
1060
1061
|
const openAuthSession = config.coreConfig?.openAuthSession;
|
|
1061
1062
|
const navigate = config.coreConfig?.navigate ?? createNavigationHandler();
|
|
1062
1063
|
const state = createObservableState(getInitialState);
|
|
@@ -1112,6 +1113,7 @@ const createCore = (config) => {
|
|
|
1112
1113
|
sdkSessionId,
|
|
1113
1114
|
state,
|
|
1114
1115
|
storage,
|
|
1116
|
+
subscribeToAppForeground,
|
|
1115
1117
|
transformers: config.transformers,
|
|
1116
1118
|
version,
|
|
1117
1119
|
waas: config.waas
|
|
@@ -1237,6 +1239,150 @@ var CheckoutSessionTokenMissingError = class extends BaseError {
|
|
|
1237
1239
|
}
|
|
1238
1240
|
};
|
|
1239
1241
|
|
|
1242
|
+
//#endregion
|
|
1243
|
+
//#region src/errors/CoinbaseTransferMfaFailedError.ts
|
|
1244
|
+
/**
|
|
1245
|
+
* Thrown when a {@link createCoinbaseExchangeTransfer} retry supplies an
|
|
1246
|
+
* `mfaCode` that Coinbase rejects -- the two-step verification code was
|
|
1247
|
+
* incorrect, or it expired before the retry was submitted. Coinbase's own
|
|
1248
|
+
* codes are short-lived, so this is expected to happen occasionally even
|
|
1249
|
+
* with correct user input; it does not mean the transfer itself is invalid.
|
|
1250
|
+
*
|
|
1251
|
+
* Coinbase does not automatically send a new code on this failure -- prompt
|
|
1252
|
+
* the user again and retry, which triggers
|
|
1253
|
+
* {@link CoinbaseTransferMfaRequiredError} again and, with it, a fresh code.
|
|
1254
|
+
*
|
|
1255
|
+
* @example
|
|
1256
|
+
* ```ts
|
|
1257
|
+
* const transferParams = { accountId, amount: 0.5, currency: 'USDC', to };
|
|
1258
|
+
* const submitWithMfaCode = (mfaCode: string) =>
|
|
1259
|
+
* createCoinbaseExchangeTransfer({ ...transferParams, mfaCode });
|
|
1260
|
+
*
|
|
1261
|
+
* try {
|
|
1262
|
+
* await submitWithMfaCode(mfaCode);
|
|
1263
|
+
* } catch (error) {
|
|
1264
|
+
* if (error instanceof CoinbaseTransferMfaFailedError) {
|
|
1265
|
+
* // wrong or expired code -- ask the user to try again
|
|
1266
|
+
* await createCoinbaseExchangeTransfer(transferParams);
|
|
1267
|
+
* }
|
|
1268
|
+
* }
|
|
1269
|
+
* ```
|
|
1270
|
+
* @see createCoinbaseExchangeTransfer
|
|
1271
|
+
* @see CoinbaseTransferMfaRequiredError
|
|
1272
|
+
*/
|
|
1273
|
+
var CoinbaseTransferMfaFailedError = class extends BaseError {
|
|
1274
|
+
constructor({ cause }) {
|
|
1275
|
+
super({
|
|
1276
|
+
cause,
|
|
1277
|
+
code: "transfer_mfa_failed",
|
|
1278
|
+
docsUrl: null,
|
|
1279
|
+
name: "CoinbaseTransferMfaFailedError",
|
|
1280
|
+
shortMessage: "The Coinbase two-step verification code was incorrect or has expired. Retry createCoinbaseExchangeTransfer with a fresh 'mfaCode'."
|
|
1281
|
+
});
|
|
1282
|
+
}
|
|
1283
|
+
};
|
|
1284
|
+
|
|
1285
|
+
//#endregion
|
|
1286
|
+
//#region src/errors/CoinbaseTransferMfaRequiredError.ts
|
|
1287
|
+
/**
|
|
1288
|
+
* Thrown when Coinbase rejects a {@link createCoinbaseExchangeTransfer} call
|
|
1289
|
+
* because the account holder's two-step verification ("2FA") is required to
|
|
1290
|
+
* authorize the transfer. This is unrelated to Dynamic's own step-up auth
|
|
1291
|
+
* (see {@link checkStepUpAuth}) -- it is a security requirement enforced by
|
|
1292
|
+
* Coinbase itself, on the Coinbase account being transferred from.
|
|
1293
|
+
*
|
|
1294
|
+
* The first `createCoinbaseExchangeTransfer` call for a transfer
|
|
1295
|
+
* automatically triggers Coinbase to send the account holder a verification
|
|
1296
|
+
* code (SMS, or push to an authenticator app such as Authy if one is
|
|
1297
|
+
* linked). Retry the *same* transfer with `mfaCode` set to that code before
|
|
1298
|
+
* it expires. If the code is wrong or has expired, the retry throws
|
|
1299
|
+
* {@link CoinbaseTransferMfaFailedError} instead, so a fresh code can be
|
|
1300
|
+
* requested and retried again.
|
|
1301
|
+
*
|
|
1302
|
+
* @example
|
|
1303
|
+
* ```ts
|
|
1304
|
+
* const transferParams = { accountId, amount: 0.5, currency: 'USDC', to };
|
|
1305
|
+
*
|
|
1306
|
+
* try {
|
|
1307
|
+
* await createCoinbaseExchangeTransfer(transferParams);
|
|
1308
|
+
* } catch (error) {
|
|
1309
|
+
* if (error instanceof CoinbaseTransferMfaRequiredError) {
|
|
1310
|
+
* // Coinbase already sent a code to the account holder -- prompt for it
|
|
1311
|
+
* const mfaCode = await promptUserForCoinbase2faCode();
|
|
1312
|
+
* await createCoinbaseExchangeTransfer({ ...transferParams, mfaCode });
|
|
1313
|
+
* }
|
|
1314
|
+
* }
|
|
1315
|
+
* ```
|
|
1316
|
+
* @see createCoinbaseExchangeTransfer
|
|
1317
|
+
* @see CoinbaseTransferMfaFailedError
|
|
1318
|
+
*/
|
|
1319
|
+
var CoinbaseTransferMfaRequiredError = class extends BaseError {
|
|
1320
|
+
constructor({ cause }) {
|
|
1321
|
+
super({
|
|
1322
|
+
cause,
|
|
1323
|
+
code: "transfer_mfa_required",
|
|
1324
|
+
docsUrl: null,
|
|
1325
|
+
name: "CoinbaseTransferMfaRequiredError",
|
|
1326
|
+
shortMessage: "Coinbase requires a two-step verification code to complete this transfer. Coinbase has automatically sent the code to the account holder (SMS or authenticator app) -- retry createCoinbaseExchangeTransfer with 'mfaCode' set to that code before it expires."
|
|
1327
|
+
});
|
|
1328
|
+
}
|
|
1329
|
+
};
|
|
1330
|
+
|
|
1331
|
+
//#endregion
|
|
1332
|
+
//#region src/errors/CoinbaseTravelRuleRequiredError.ts
|
|
1333
|
+
/**
|
|
1334
|
+
* Thrown when Coinbase rejects a {@link createCoinbaseExchangeTransfer} call
|
|
1335
|
+
* because it's missing "Travel Rule" information about the transfer's
|
|
1336
|
+
* recipient. The Travel Rule is a regulatory requirement on custodial
|
|
1337
|
+
* exchanges (like Coinbase) to collect basic counterparty information above
|
|
1338
|
+
* certain transfer thresholds -- which fields are required depends on the
|
|
1339
|
+
* sender's and recipient's jurisdictions and the transfer amount, so it can't
|
|
1340
|
+
* be predicted client-side; Coinbase reports the exact missing fields on
|
|
1341
|
+
* {@link missingFields}.
|
|
1342
|
+
*
|
|
1343
|
+
* Unlike {@link CoinbaseTransferMfaRequiredError}, retrying does not require
|
|
1344
|
+
* waiting for anything from Coinbase -- collect the listed fields (each has a
|
|
1345
|
+
* user-facing `description`) and retry the same transfer with
|
|
1346
|
+
* `travelRuleData` set.
|
|
1347
|
+
*
|
|
1348
|
+
* @example
|
|
1349
|
+
* ```ts
|
|
1350
|
+
* const transferParams = { accountId, amount: 0.5, currency: 'USDC', to };
|
|
1351
|
+
*
|
|
1352
|
+
* try {
|
|
1353
|
+
* await createCoinbaseExchangeTransfer(transferParams);
|
|
1354
|
+
* } catch (error) {
|
|
1355
|
+
* if (error instanceof CoinbaseTravelRuleRequiredError) {
|
|
1356
|
+
* // e.g. [{ name: 'BENEFICIARY_NAME', description: "The recipient's full legal name." }, ...]
|
|
1357
|
+
* console.log(error.missingFields);
|
|
1358
|
+
*
|
|
1359
|
+
* const travelRuleData = await promptUserForTravelRuleFields(
|
|
1360
|
+
* error.missingFields
|
|
1361
|
+
* );
|
|
1362
|
+
* await createCoinbaseExchangeTransfer({ ...transferParams, travelRuleData });
|
|
1363
|
+
* }
|
|
1364
|
+
* }
|
|
1365
|
+
* ```
|
|
1366
|
+
* @see createCoinbaseExchangeTransfer
|
|
1367
|
+
* @see CoinbaseTravelRuleData
|
|
1368
|
+
* @see CoinbaseTravelRuleFieldName
|
|
1369
|
+
* @see https://docs.cdp.coinbase.com/coinbase-app/transfer-apis/travel-rule
|
|
1370
|
+
*/
|
|
1371
|
+
var CoinbaseTravelRuleRequiredError = class extends BaseError {
|
|
1372
|
+
missingFields;
|
|
1373
|
+
constructor({ cause, missingFields }) {
|
|
1374
|
+
super({
|
|
1375
|
+
cause,
|
|
1376
|
+
code: "coinbase_travel_rule_required",
|
|
1377
|
+
docsUrl: "https://docs.cdp.coinbase.com/coinbase-app/transfer-apis/travel-rule",
|
|
1378
|
+
metaMessages: missingFields.map(({ name: name$1, description }) => `- ${name$1}: ${description}`),
|
|
1379
|
+
name: "CoinbaseTravelRuleRequiredError",
|
|
1380
|
+
shortMessage: "Coinbase requires additional recipient information (Travel Rule compliance) before this transfer can complete."
|
|
1381
|
+
});
|
|
1382
|
+
this.missingFields = missingFields;
|
|
1383
|
+
}
|
|
1384
|
+
};
|
|
1385
|
+
|
|
1240
1386
|
//#endregion
|
|
1241
1387
|
//#region src/errors/DeeplinkConnectAndVerifyUnsupportedError.ts
|
|
1242
1388
|
var DeeplinkConnectAndVerifyUnsupportedError = class extends BaseError {
|
|
@@ -3995,6 +4141,196 @@ const addCoinbaseOnrampOrderEventListener = ({ listener }, client = getDefaultCl
|
|
|
3995
4141
|
};
|
|
3996
4142
|
};
|
|
3997
4143
|
|
|
4144
|
+
//#endregion
|
|
4145
|
+
//#region src/modules/funding/coinbase/coinbase.consts.ts
|
|
4146
|
+
/**
|
|
4147
|
+
* Whether the transfer's destination wallet is self-hosted (controlled
|
|
4148
|
+
* directly by its owner, with no custodial exchange in between) or held at
|
|
4149
|
+
* another exchange -- required by some jurisdictions' Travel Rule rules, see
|
|
4150
|
+
* {@link CoinbaseTravelRuleData}.
|
|
4151
|
+
*
|
|
4152
|
+
* @example
|
|
4153
|
+
* ```typescript
|
|
4154
|
+
* const walletType = CoinbaseBeneficiaryWalletType.SelfHosted;
|
|
4155
|
+
* ```
|
|
4156
|
+
* @see CoinbaseTravelRuleData
|
|
4157
|
+
* @see https://docs.cdp.coinbase.com/coinbase-app/transfer-apis/travel-rule
|
|
4158
|
+
*/
|
|
4159
|
+
const CoinbaseBeneficiaryWalletType = {
|
|
4160
|
+
Exchange: "WALLET_TYPE_EXCHANGE",
|
|
4161
|
+
SelfHosted: "WALLET_TYPE_SELF_HOSTED"
|
|
4162
|
+
};
|
|
4163
|
+
/**
|
|
4164
|
+
* Whether the transfer's destination wallet also belongs to the sender --
|
|
4165
|
+
* required by some jurisdictions' Travel Rule rules, see
|
|
4166
|
+
* {@link CoinbaseTravelRuleData}.
|
|
4167
|
+
*
|
|
4168
|
+
* @example
|
|
4169
|
+
* ```typescript
|
|
4170
|
+
* const isSelfTransfer = CoinbaseIsSelfTransfer.SelfOwned;
|
|
4171
|
+
* ```
|
|
4172
|
+
* @see CoinbaseTravelRuleData
|
|
4173
|
+
* @see https://docs.cdp.coinbase.com/coinbase-app/transfer-apis/travel-rule
|
|
4174
|
+
*/
|
|
4175
|
+
const CoinbaseIsSelfTransfer = {
|
|
4176
|
+
NotSelfOwned: "IS_SELF_FALSE",
|
|
4177
|
+
SelfOwned: "IS_SELF_TRUE"
|
|
4178
|
+
};
|
|
4179
|
+
/**
|
|
4180
|
+
* The individual Travel Rule fields Coinbase can require on a transfer.
|
|
4181
|
+
* Which of these are actually required depends on the sender's and
|
|
4182
|
+
* recipient's jurisdictions and the transfer amount -- Coinbase reports the
|
|
4183
|
+
* exact list that's missing for a given transfer via
|
|
4184
|
+
* {@link CoinbaseTravelRuleRequiredError.missingFields}.
|
|
4185
|
+
*
|
|
4186
|
+
* @example
|
|
4187
|
+
* ```typescript
|
|
4188
|
+
* const fieldName = CoinbaseTravelRuleFieldName.BeneficiaryName;
|
|
4189
|
+
* ```
|
|
4190
|
+
* @see CoinbaseTravelRuleRequiredError
|
|
4191
|
+
* @see https://docs.cdp.coinbase.com/coinbase-app/transfer-apis/travel-rule
|
|
4192
|
+
*/
|
|
4193
|
+
const CoinbaseTravelRuleFieldName = {
|
|
4194
|
+
BeneficiaryAddress: "BENEFICIARY_ADDRESS",
|
|
4195
|
+
BeneficiaryCountry: "BENEFICIARY_COUNTRY",
|
|
4196
|
+
BeneficiaryFinancialInstitution: "BENEFICIARY_FINANCIAL_INSTITUTION",
|
|
4197
|
+
BeneficiaryName: "BENEFICIARY_NAME",
|
|
4198
|
+
BeneficiaryWalletType: "BENEFICIARY_WALLET_TYPE",
|
|
4199
|
+
IsSelf: "IS_SELF",
|
|
4200
|
+
TransferPurpose: "TRANSFER_PURPOSE"
|
|
4201
|
+
};
|
|
4202
|
+
/**
|
|
4203
|
+
* Human-readable description of a {@link CoinbaseTravelRuleFieldName},
|
|
4204
|
+
* written to be shown directly to an end user (for example, as helper text
|
|
4205
|
+
* next to the form field that collects it).
|
|
4206
|
+
*
|
|
4207
|
+
* @example
|
|
4208
|
+
* ```typescript
|
|
4209
|
+
* const description = COINBASE_TRAVEL_RULE_FIELD_DESCRIPTIONS.IS_SELF;
|
|
4210
|
+
* // "Whether the destination wallet also belongs to you."
|
|
4211
|
+
* ```
|
|
4212
|
+
* @see CoinbaseTravelRuleFieldName
|
|
4213
|
+
* @see CoinbaseTravelRuleRequiredError
|
|
4214
|
+
*/
|
|
4215
|
+
const COINBASE_TRAVEL_RULE_FIELD_DESCRIPTIONS = {
|
|
4216
|
+
BENEFICIARY_ADDRESS: "The recipient's postal address.",
|
|
4217
|
+
BENEFICIARY_COUNTRY: "The recipient's country, as an ISO 3166-1 alpha-2 code (e.g. \"US\", \"GB\").",
|
|
4218
|
+
BENEFICIARY_FINANCIAL_INSTITUTION: "The identifier (VASP ID) of the recipient exchange, required when the destination wallet is held at another exchange rather than self-hosted.",
|
|
4219
|
+
BENEFICIARY_NAME: "The recipient's full legal name.",
|
|
4220
|
+
BENEFICIARY_WALLET_TYPE: "Whether the destination wallet is self-hosted (the recipient controls it directly) or held at another exchange.",
|
|
4221
|
+
IS_SELF: "Whether the destination wallet also belongs to you.",
|
|
4222
|
+
TRANSFER_PURPOSE: "The reason for this transfer (e.g. \"Rent\", \"Gift\")."
|
|
4223
|
+
};
|
|
4224
|
+
|
|
4225
|
+
//#endregion
|
|
4226
|
+
//#region src/modules/funding/coinbase/utils/parseCoinbaseTravelRuleMissingFields/parseCoinbaseTravelRuleMissingFields.ts
|
|
4227
|
+
/**
|
|
4228
|
+
* Coinbase reports missing Travel Rule fields as a bracketed, comma-separated
|
|
4229
|
+
* list appended to its error message, e.g. `"... Param:
|
|
4230
|
+
* [BENEFICIARY_WALLET_TYPE, BENEFICIARY_NAME]"`.
|
|
4231
|
+
*/
|
|
4232
|
+
const TRAVEL_RULE_PARAM_LIST_REGEX = /Param:\s*\[([^\]]+)\]/;
|
|
4233
|
+
const isCoinbaseTravelRuleFieldName = (name$1) => Object.hasOwn(COINBASE_TRAVEL_RULE_FIELD_DESCRIPTIONS, name$1);
|
|
4234
|
+
/**
|
|
4235
|
+
* Extracts the list of missing Travel Rule fields from a Coinbase
|
|
4236
|
+
* `unknown_transfer_error` message, pairing each field with its user-facing
|
|
4237
|
+
* description. Returns an empty array if the message doesn't contain a
|
|
4238
|
+
* recognizable Travel Rule field list (i.e. this isn't a Travel Rule error).
|
|
4239
|
+
*
|
|
4240
|
+
* @param params.message - The raw `error` string from Coinbase's response body.
|
|
4241
|
+
* @returns The missing fields, or an empty array if none were found.
|
|
4242
|
+
* @example
|
|
4243
|
+
* ```typescript
|
|
4244
|
+
* const missingFields = parseCoinbaseTravelRuleMissingFields({
|
|
4245
|
+
* message: 'Incomplete travel rules information provided. Param: [BENEFICIARY_NAME, IS_SELF]',
|
|
4246
|
+
* });
|
|
4247
|
+
* // [
|
|
4248
|
+
* // { name: 'BENEFICIARY_NAME', description: "The recipient's full legal name." },
|
|
4249
|
+
* // { name: 'IS_SELF', description: 'Whether the destination wallet also belongs to you.' },
|
|
4250
|
+
* // ]
|
|
4251
|
+
* ```
|
|
4252
|
+
* @see CoinbaseTravelRuleRequiredError
|
|
4253
|
+
* @notInstrumented
|
|
4254
|
+
*/
|
|
4255
|
+
const parseCoinbaseTravelRuleMissingFields = ({ message }) => {
|
|
4256
|
+
const match = TRAVEL_RULE_PARAM_LIST_REGEX.exec(message);
|
|
4257
|
+
if (!match) return [];
|
|
4258
|
+
return match[1].split(",").map((name$1) => name$1.trim()).filter(isCoinbaseTravelRuleFieldName).map((name$1) => ({
|
|
4259
|
+
description: COINBASE_TRAVEL_RULE_FIELD_DESCRIPTIONS[name$1],
|
|
4260
|
+
name: name$1
|
|
4261
|
+
}));
|
|
4262
|
+
};
|
|
4263
|
+
|
|
4264
|
+
//#endregion
|
|
4265
|
+
//#region src/modules/funding/coinbase/createCoinbaseExchangeTransfer/createCoinbaseExchangeTransfer.ts
|
|
4266
|
+
/**
|
|
4267
|
+
* Creates a Coinbase exchange transfer to send crypto from a Coinbase account to an external address.
|
|
4268
|
+
*
|
|
4269
|
+
* Coinbase may reject the transfer for reasons that require a second attempt
|
|
4270
|
+
* rather than a hard failure:
|
|
4271
|
+
* - {@link CoinbaseTransferMfaRequiredError} / {@link CoinbaseTransferMfaFailedError} --
|
|
4272
|
+
* Coinbase's own two-step verification on the sending account.
|
|
4273
|
+
* - {@link CoinbaseTravelRuleRequiredError} -- missing recipient information
|
|
4274
|
+
* required by regulation for this transfer's jurisdictions/amount.
|
|
4275
|
+
*
|
|
4276
|
+
* @param transferParams - The parameters for the transfer including accountId.
|
|
4277
|
+
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
4278
|
+
* @returns A promise resolving to the created exchange transfer.
|
|
4279
|
+
* @throws {CoinbaseTransferMfaRequiredError} When the API requires MFA for the transfer.
|
|
4280
|
+
* @throws {CoinbaseTransferMfaFailedError} When the provided MFA code is rejected.
|
|
4281
|
+
* @throws {CoinbaseTravelRuleRequiredError} When Coinbase requires additional recipient information for the transfer.
|
|
4282
|
+
* @throws {APIError} For any other API error returned by the exchange transfer request.
|
|
4283
|
+
* @example
|
|
4284
|
+
* ```typescript
|
|
4285
|
+
* // Include any known recipient info upfront -- see travelRuleData below for why.
|
|
4286
|
+
* const transferParams = {
|
|
4287
|
+
* accountId: accounts[0].id,
|
|
4288
|
+
* amount: 0.5,
|
|
4289
|
+
* currency: 'USDC',
|
|
4290
|
+
* to: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F',
|
|
4291
|
+
* travelRuleData: { beneficiaryName: 'Jane Doe', beneficiaryCountry: 'US' },
|
|
4292
|
+
* };
|
|
4293
|
+
*
|
|
4294
|
+
* try {
|
|
4295
|
+
* const transfer = await createCoinbaseExchangeTransfer(transferParams);
|
|
4296
|
+
* } catch (error) {
|
|
4297
|
+
* if (error instanceof CoinbaseTravelRuleRequiredError) {
|
|
4298
|
+
* const travelRuleData = await promptUserForTravelRuleFields(error.missingFields);
|
|
4299
|
+
* await createCoinbaseExchangeTransfer({ ...transferParams, travelRuleData });
|
|
4300
|
+
* }
|
|
4301
|
+
* }
|
|
4302
|
+
* ```
|
|
4303
|
+
* @see getCoinbaseAccounts
|
|
4304
|
+
* @see CoinbaseTransferMfaRequiredError
|
|
4305
|
+
* @see CoinbaseTravelRuleRequiredError
|
|
4306
|
+
* @notInstrumented
|
|
4307
|
+
*/
|
|
4308
|
+
const createCoinbaseExchangeTransfer = async (transferParams, client = getDefaultClient()) => {
|
|
4309
|
+
const core = getCore(client);
|
|
4310
|
+
const apiClient = createApiClient({ includeMfaToken: true }, client);
|
|
4311
|
+
const { accountId, ...createExchangeTransferRequest } = transferParams;
|
|
4312
|
+
try {
|
|
4313
|
+
return await apiClient.postExchangeAccountTransfer({
|
|
4314
|
+
accountId,
|
|
4315
|
+
createExchangeTransferRequest,
|
|
4316
|
+
environmentId: core.environmentId,
|
|
4317
|
+
exchangeKey: ExchangeKeyEnum.Coinbase
|
|
4318
|
+
});
|
|
4319
|
+
} catch (error) {
|
|
4320
|
+
if (!(error instanceof APIError)) throw error;
|
|
4321
|
+
if (error.code === "transfer_mfa_required") throw new CoinbaseTransferMfaRequiredError({ cause: error });
|
|
4322
|
+
if (error.code === "transfer_mfa_failed") throw new CoinbaseTransferMfaFailedError({ cause: error });
|
|
4323
|
+
if (error.code === "unknown_transfer_error") {
|
|
4324
|
+
const missingFields = parseCoinbaseTravelRuleMissingFields({ message: error.message });
|
|
4325
|
+
if (missingFields.length > 0) throw new CoinbaseTravelRuleRequiredError({
|
|
4326
|
+
cause: error,
|
|
4327
|
+
missingFields
|
|
4328
|
+
});
|
|
4329
|
+
}
|
|
4330
|
+
throw error;
|
|
4331
|
+
}
|
|
4332
|
+
};
|
|
4333
|
+
|
|
3998
4334
|
//#endregion
|
|
3999
4335
|
//#region src/modules/funding/coinbase/getMissingVerificationForCoinbaseOnrampOrder/getMissingVerificationForCoinbaseOnrampOrder.ts
|
|
4000
4336
|
/**
|
|
@@ -4116,6 +4452,59 @@ const __createCoinbaseOnrampOrder_wrapped = instrumentFunction({
|
|
|
4116
4452
|
}
|
|
4117
4453
|
});
|
|
4118
4454
|
|
|
4455
|
+
//#endregion
|
|
4456
|
+
//#region src/utils/assertChainName/assertChainName.ts
|
|
4457
|
+
const CHAIN_ENUM_VALUES = Object.values(ChainEnum);
|
|
4458
|
+
/**
|
|
4459
|
+
* Validates that a chain name is a recognized ChainEnum value.
|
|
4460
|
+
*
|
|
4461
|
+
* Throws an {@link InvalidParamError} when the value is undefined or is not a
|
|
4462
|
+
* valid chain name.
|
|
4463
|
+
*
|
|
4464
|
+
* @category Extension Development
|
|
4465
|
+
*
|
|
4466
|
+
* @param chainName - The chain name to validate.
|
|
4467
|
+
* @throws {InvalidParamError} When chainName is undefined or not a valid ChainEnum value.
|
|
4468
|
+
* @notInstrumented
|
|
4469
|
+
*/
|
|
4470
|
+
const assertChainName = (chainName) => {
|
|
4471
|
+
if (chainName === void 0) throw new InvalidParamError("chainName is required");
|
|
4472
|
+
if (!CHAIN_ENUM_VALUES.includes(chainName)) throw new InvalidParamError(`Invalid chainName: ${chainName}`);
|
|
4473
|
+
};
|
|
4474
|
+
|
|
4475
|
+
//#endregion
|
|
4476
|
+
//#region src/modules/funding/coinbase/getCoinbaseAccounts/getCoinbaseAccounts.ts
|
|
4477
|
+
/**
|
|
4478
|
+
* Gets the Coinbase accounts (balances) for the authenticated user.
|
|
4479
|
+
*
|
|
4480
|
+
* @param [params] GetCoinbaseAccountsParams - Optional filters for the accounts.
|
|
4481
|
+
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
4482
|
+
* @returns A promise resolving to an array of Coinbase accounts with balances.
|
|
4483
|
+
* @throws {InvalidParamError} When chainName is not a valid ChainEnum value or networkId is a non-integer or negative number.
|
|
4484
|
+
* @example
|
|
4485
|
+
* ```typescript
|
|
4486
|
+
* const accounts = await getCoinbaseAccounts({ chainName: 'EVM' });
|
|
4487
|
+
* console.log(accounts[0].balances);
|
|
4488
|
+
* ```
|
|
4489
|
+
* @see createCoinbaseExchangeTransfer
|
|
4490
|
+
* @see GetCoinbaseAccountsParams
|
|
4491
|
+
* @notInstrumented
|
|
4492
|
+
*/
|
|
4493
|
+
const getCoinbaseAccounts = async (params, client = getDefaultClient()) => {
|
|
4494
|
+
const core = getCore(client);
|
|
4495
|
+
const apiClient = createApiClient({ includeMfaToken: true }, client);
|
|
4496
|
+
const chainName = params?.chainName;
|
|
4497
|
+
if (chainName !== void 0) assertChainName(chainName);
|
|
4498
|
+
const networkId = params?.networkId;
|
|
4499
|
+
if (networkId !== void 0 && (!Number.isInteger(networkId) || networkId < 0)) throw new InvalidParamError(`Invalid networkId: ${networkId}`);
|
|
4500
|
+
return await apiClient.getUserAccounts({
|
|
4501
|
+
chainName,
|
|
4502
|
+
environmentId: core.environmentId,
|
|
4503
|
+
exchangeKey: ExchangeKeyEnum.Coinbase,
|
|
4504
|
+
networkId
|
|
4505
|
+
});
|
|
4506
|
+
};
|
|
4507
|
+
|
|
4119
4508
|
//#endregion
|
|
4120
4509
|
//#region src/modules/funding/coinbase/getCoinbaseBuyUrl/getCoinbaseBuyUrl.ts
|
|
4121
4510
|
/**
|
|
@@ -9225,5 +9614,5 @@ const parseUserAgent = ({ userAgent }) => {
|
|
|
9225
9614
|
assertPackageVersion(name, version);
|
|
9226
9615
|
|
|
9227
9616
|
//#endregion
|
|
9228
|
-
export { BaseError, CaptchaProviderEnum, CheckoutSessionTokenMissingError, ClientAlreadyInitializedError, DeeplinkConnectAndVerifyUnsupportedError, DeviceRegistrationIdentityMismatchError, FeeEstimationFailedError, FlowSessionTokenMissingError, GOOGLE_DRIVE_BACKUP_REQUIRED_SCOPES, InvalidDeviceRegistrationRedirectError, InvalidExternalAuthError, InvalidParamError, InvalidRedirectStorageStateError, InvalidSocialCallbackOriginError, JwtVerifiedCredentialFormatEnum, LinkCredentialError, MFAAction, MergeAccountsConfirmationError, MfaInvalidOtpError, MfaRateLimitedError, MissingRedirectStorageStateError, MissingSocialUrlParamError, MissingUserVerificationError, NetworkAddingUnavailableError, NetworkNotAddedError, NetworkSwitchingUnavailableError, NoAddressFoundError, NoNetworkProvidersError, NoPasskeyCredentialsFoundError, NoSmartWalletAccountSignerFoundError, NoWebAuthNSupportError, NotWaasWalletAccountError, ProviderEnum, SandboxMaximumThresholdReachedError, SimulationFailedError, TokenScope, TokenSwapError, UnauthorizedError, UnavailableInServerSideError, UnrecognizedNetworkError, UserCancelledSocialPopUpError, UserNotAuthenticatedError, UserRejectedError, WaasLoadFailedError, WaasOnboardingIncompleteError, WalletAccountAlreadyVerifiedError, WalletAccountNotSelectedError, WalletAlreadyLinkedToAnotherUserError, WalletProviderMethodUnavailableError, WalletScreeningBlockedError, __acknowledgeRecoveryCodes_wrapped as acknowledgeRecoveryCodes, addCoinbaseOnrampOrderEventListener, __addNetwork_wrapped as addNetwork, appendConnectionUriToDeeplink, assertWalletAccountSigningAvailability, assertWalletProviderMethodDefined, __attachCheckoutTransactionSource_wrapped as attachCheckoutTransactionSource, __attachFlowSource_wrapped as attachFlowSource, authenticateMfaRecoveryCode, authenticatePasskeyMFA, authenticateTotpMfaDevice, __authenticateWithSocial_wrapped as authenticateWithSocial, __broadcastCheckoutTransaction_wrapped as broadcastCheckoutTransaction, __broadcastFlow_wrapped as broadcastFlow, canConnectWithHardwareWallet, __cancelCheckoutTransaction_wrapped as cancelCheckoutTransaction, __cancelFlow_wrapped as cancelFlow, __checkStepUpAuth_wrapped as checkStepUpAuth, checkUserScopes, clearDeviceRegistrationRedirectParams, clearSocialRedirectParams, __completeDeviceRegistration_wrapped as completeDeviceRegistration, __completeSocialAuthentication_wrapped as completeSocialAuthentication, __completeSocialRedirect_wrapped as completeSocialRedirect, __confirmTransaction_wrapped as confirmTransaction, __connectAndVerifyWithWalletProvider_wrapped as connectAndVerifyWithWalletProvider, __connectWithWalletProvider_wrapped as connectWithWalletProvider, __consumeMfaToken_wrapped as consumeMfaToken, __createCheckoutTransaction_wrapped as createCheckoutTransaction, __createCoinbaseOnrampOrder_wrapped as createCoinbaseOnrampOrder, __createCryptoDotComPayment_wrapped as createCryptoDotComPayment, __createDynamicClient_wrapped as createDynamicClient, createKrakenExchangeTransfer, __createNewMfaRecoveryCodes_wrapped as createNewMfaRecoveryCodes, __deleteMfaDevice_wrapped as deleteMfaDevice, __deletePasskey_wrapped as deletePasskey, __deleteUser_wrapped as deleteUser, detectDeviceRegistrationRedirect, detectOAuthRedirect, detectSocialRedirectUrl, excludeInstalledFromCatalog, __executeSwapTransaction_wrapped as executeSwapTransaction, fetchProjectSettings, findMissingGoogleDriveBackupScopes, getActiveNetworkData, getActiveNetworkId, getAvailableWalletProvidersData, getBalance, getBalanceForAddress, getBalances, getCaptchaSettings, getCheckoutTransaction, getCheckoutTransactionQuote, getCoinbaseBuyUrl, getConnectedAddresses, getDefaultClient, getDeviceRegistrationTokenFromUrl, getElevatedAccessToken, getFlow, getFlowQuote, __getGoogleDriveBackupReadiness_wrapped as getGoogleDriveBackupReadiness, getInstallationLinkForCurrentPlatform, getKrakenAccounts, getKrakenWhitelistedAddresses, getMfaDevices, getMfaMethods, getMfaRecoveryCodes, getMissingVerificationForCoinbaseOnrampOrder, __getMoonPayCurrencies_wrapped as getMoonPayCurrencies, __getMoonPayUrl_wrapped as getMoonPayUrl, getMultichainBalances, getMultichainTokenBalances, getNativeBalance, getNetworksData, getOwnerWalletAccountForSmartWalletAccount, getPasskeys, getPrimaryWalletAccount, getRegisteredDevices, getSelectedWalletAccount, getSwapQuote, getSwapStatus, getTokenBalances, getTransactionHistory, getUserSocialAccounts, getWalletAccountAddressByType, getWalletAccountFromAddress, getWalletAccounts, getWalletConnectCatalog, getWalletConnectCatalogWalletByWalletProviderKey, getWalletOptionsCatalogue, getWalletProviderDataByKey, hasAllGoogleDriveBackupScopes, hasExtension, __initializeClient_wrapped as initializeClient, isAnyWalletAccountConnected, isCaptchaRequired, isDeeplinkWalletProvider, isDeviceRegistrationRequired, isHardwareWalletAccount, isInsufficientGoogleDriveScopesError, isMfaRequiredForAction, isMobile, isPendingRecoveryCodesAcknowledgment, isProgrammaticNetworkSwitchAvailable, isSignedIn, isUserMissingMfaAuth, isUserOnboardingComplete, isWalletAccountVerified, logout, matchWalletProvidersToCatalogGroup, mergeUserAccounts, offEvent, offWalletProviderEvent, onEvent, onWalletProviderEvent, onceEvent, parseUserAgent, __prepareCheckoutTransaction_wrapped as prepareCheckoutTransaction, __prepareFlowSigning_wrapped as prepareFlowSigning, __proveWalletAccountOwnership_wrapped as proveWalletAccountOwnership, __refreshAuth_wrapped as refreshAuth, __refreshUser_wrapped as refreshUser, __registerPasskey_wrapped as registerPasskey, __registerTotpMfaDevice_wrapped as registerTotpMfaDevice, __removeWalletAccount_wrapped as removeWalletAccount, __requestExternalAuthElevatedToken_wrapped as requestExternalAuthElevatedToken, requiresConversion, __revokeAllRegisteredDevices_wrapped as revokeAllRegisteredDevices, __revokeRegisteredDevice_wrapped as revokeRegisteredDevice, __selectPrimaryWalletAccount_wrapped as selectPrimaryWalletAccount, __sendEmailOTP_wrapped as sendEmailOTP, __sendSmsOTP_wrapped as sendSmsOTP, __setCaptchaToken_wrapped as setCaptchaToken, __setDefaultMfaDevice_wrapped as setDefaultMfaDevice, __setInstrumentationEnabled_wrapped as setInstrumentationEnabled, __setSelectedWalletAccount_wrapped as setSelectedWalletAccount, __signInWithExternalJwt_wrapped as signInWithExternalJwt, __signInWithPasskey_wrapped as signInWithPasskey, __signInWithSocialPopUp_wrapped as signInWithSocialPopUp, __signInWithSocialRedirect_wrapped as signInWithSocialRedirect, __signMessage_wrapped as signMessage, __submitCheckoutTransaction_wrapped as submitCheckoutTransaction, __submitFlowTransaction_wrapped as submitFlowTransaction, supportedCountries, __switchActiveNetwork_wrapped as switchActiveNetwork, trackCheckoutTransaction, __transferAmount_wrapped as transferAmount, __transferWalletAccount_wrapped as transferWalletAccount, __unlinkSocialAccount_wrapped as unlinkSocialAccount, __updateUser_wrapped as updateUser, __verifyOTP_wrapped as verifyOTP, __verifyWalletAccount_wrapped as verifyWalletAccount, waitForClientInitialized };
|
|
9617
|
+
export { BaseError, COINBASE_TRAVEL_RULE_FIELD_DESCRIPTIONS, CaptchaProviderEnum, CheckoutSessionTokenMissingError, ClientAlreadyInitializedError, CoinbaseBeneficiaryWalletType, CoinbaseIsSelfTransfer, CoinbaseTransferMfaFailedError, CoinbaseTransferMfaRequiredError, CoinbaseTravelRuleFieldName, CoinbaseTravelRuleRequiredError, DeeplinkConnectAndVerifyUnsupportedError, DeviceRegistrationIdentityMismatchError, FeeEstimationFailedError, FlowSessionTokenMissingError, GOOGLE_DRIVE_BACKUP_REQUIRED_SCOPES, InvalidDeviceRegistrationRedirectError, InvalidExternalAuthError, InvalidParamError, InvalidRedirectStorageStateError, InvalidSocialCallbackOriginError, JwtVerifiedCredentialFormatEnum, LinkCredentialError, MFAAction, MergeAccountsConfirmationError, MfaInvalidOtpError, MfaRateLimitedError, MissingRedirectStorageStateError, MissingSocialUrlParamError, MissingUserVerificationError, NetworkAddingUnavailableError, NetworkNotAddedError, NetworkSwitchingUnavailableError, NoAddressFoundError, NoNetworkProvidersError, NoPasskeyCredentialsFoundError, NoSmartWalletAccountSignerFoundError, NoWebAuthNSupportError, NotWaasWalletAccountError, ProviderEnum, SandboxMaximumThresholdReachedError, SimulationFailedError, TokenScope, TokenSwapError, TransactionBroadcastError, UnauthorizedError, UnavailableInServerSideError, UnrecognizedNetworkError, UserCancelledSocialPopUpError, UserNotAuthenticatedError, UserRejectedError, WaasLoadFailedError, WaasOnboardingIncompleteError, WalletAccountAlreadyVerifiedError, WalletAccountNotSelectedError, WalletAlreadyLinkedToAnotherUserError, WalletProviderMethodUnavailableError, WalletScreeningBlockedError, __acknowledgeRecoveryCodes_wrapped as acknowledgeRecoveryCodes, addCoinbaseOnrampOrderEventListener, __addNetwork_wrapped as addNetwork, appendConnectionUriToDeeplink, assertWalletAccountSigningAvailability, assertWalletProviderMethodDefined, __attachCheckoutTransactionSource_wrapped as attachCheckoutTransactionSource, __attachFlowSource_wrapped as attachFlowSource, authenticateMfaRecoveryCode, authenticatePasskeyMFA, authenticateTotpMfaDevice, __authenticateWithSocial_wrapped as authenticateWithSocial, __broadcastCheckoutTransaction_wrapped as broadcastCheckoutTransaction, __broadcastFlow_wrapped as broadcastFlow, canConnectWithHardwareWallet, __cancelCheckoutTransaction_wrapped as cancelCheckoutTransaction, __cancelFlow_wrapped as cancelFlow, __checkStepUpAuth_wrapped as checkStepUpAuth, checkUserScopes, clearDeviceRegistrationRedirectParams, clearSocialRedirectParams, __completeDeviceRegistration_wrapped as completeDeviceRegistration, __completeSocialAuthentication_wrapped as completeSocialAuthentication, __completeSocialRedirect_wrapped as completeSocialRedirect, __confirmTransaction_wrapped as confirmTransaction, __connectAndVerifyWithWalletProvider_wrapped as connectAndVerifyWithWalletProvider, __connectWithWalletProvider_wrapped as connectWithWalletProvider, __consumeMfaToken_wrapped as consumeMfaToken, __createCheckoutTransaction_wrapped as createCheckoutTransaction, createCoinbaseExchangeTransfer, __createCoinbaseOnrampOrder_wrapped as createCoinbaseOnrampOrder, __createCryptoDotComPayment_wrapped as createCryptoDotComPayment, __createDynamicClient_wrapped as createDynamicClient, createKrakenExchangeTransfer, __createNewMfaRecoveryCodes_wrapped as createNewMfaRecoveryCodes, __deleteMfaDevice_wrapped as deleteMfaDevice, __deletePasskey_wrapped as deletePasskey, __deleteUser_wrapped as deleteUser, detectDeviceRegistrationRedirect, detectOAuthRedirect, detectSocialRedirectUrl, excludeInstalledFromCatalog, __executeSwapTransaction_wrapped as executeSwapTransaction, fetchProjectSettings, findMissingGoogleDriveBackupScopes, getActiveNetworkData, getActiveNetworkId, getAvailableWalletProvidersData, getBalance, getBalanceForAddress, getBalances, getCaptchaSettings, getCheckoutTransaction, getCheckoutTransactionQuote, getCoinbaseAccounts, getCoinbaseBuyUrl, getConnectedAddresses, getDefaultClient, getDeviceRegistrationTokenFromUrl, getElevatedAccessToken, getFlow, getFlowQuote, __getGoogleDriveBackupReadiness_wrapped as getGoogleDriveBackupReadiness, getInstallationLinkForCurrentPlatform, getKrakenAccounts, getKrakenWhitelistedAddresses, getMfaDevices, getMfaMethods, getMfaRecoveryCodes, getMissingVerificationForCoinbaseOnrampOrder, __getMoonPayCurrencies_wrapped as getMoonPayCurrencies, __getMoonPayUrl_wrapped as getMoonPayUrl, getMultichainBalances, getMultichainTokenBalances, getNativeBalance, getNetworksData, getOwnerWalletAccountForSmartWalletAccount, getPasskeys, getPrimaryWalletAccount, getRegisteredDevices, getSelectedWalletAccount, getSwapQuote, getSwapStatus, getTokenBalances, getTransactionHistory, getUserSocialAccounts, getWalletAccountAddressByType, getWalletAccountFromAddress, getWalletAccounts, getWalletConnectCatalog, getWalletConnectCatalogWalletByWalletProviderKey, getWalletOptionsCatalogue, getWalletProviderDataByKey, hasAllGoogleDriveBackupScopes, hasExtension, __initializeClient_wrapped as initializeClient, isAnyWalletAccountConnected, isCaptchaRequired, isDeeplinkWalletProvider, isDeviceRegistrationRequired, isHardwareWalletAccount, isInsufficientGoogleDriveScopesError, isMfaRequiredForAction, isMobile, isPendingRecoveryCodesAcknowledgment, isProgrammaticNetworkSwitchAvailable, isSignedIn, isUserMissingMfaAuth, isUserOnboardingComplete, isWalletAccountVerified, logout, matchWalletProvidersToCatalogGroup, mergeUserAccounts, offEvent, offWalletProviderEvent, onEvent, onWalletProviderEvent, onceEvent, parseUserAgent, __prepareCheckoutTransaction_wrapped as prepareCheckoutTransaction, __prepareFlowSigning_wrapped as prepareFlowSigning, __proveWalletAccountOwnership_wrapped as proveWalletAccountOwnership, __refreshAuth_wrapped as refreshAuth, __refreshUser_wrapped as refreshUser, __registerPasskey_wrapped as registerPasskey, __registerTotpMfaDevice_wrapped as registerTotpMfaDevice, __removeWalletAccount_wrapped as removeWalletAccount, __requestExternalAuthElevatedToken_wrapped as requestExternalAuthElevatedToken, requiresConversion, __revokeAllRegisteredDevices_wrapped as revokeAllRegisteredDevices, __revokeRegisteredDevice_wrapped as revokeRegisteredDevice, __selectPrimaryWalletAccount_wrapped as selectPrimaryWalletAccount, __sendEmailOTP_wrapped as sendEmailOTP, __sendSmsOTP_wrapped as sendSmsOTP, __setCaptchaToken_wrapped as setCaptchaToken, __setDefaultMfaDevice_wrapped as setDefaultMfaDevice, __setInstrumentationEnabled_wrapped as setInstrumentationEnabled, __setSelectedWalletAccount_wrapped as setSelectedWalletAccount, __signInWithExternalJwt_wrapped as signInWithExternalJwt, __signInWithPasskey_wrapped as signInWithPasskey, __signInWithSocialPopUp_wrapped as signInWithSocialPopUp, __signInWithSocialRedirect_wrapped as signInWithSocialRedirect, __signMessage_wrapped as signMessage, __submitCheckoutTransaction_wrapped as submitCheckoutTransaction, __submitFlowTransaction_wrapped as submitFlowTransaction, supportedCountries, __switchActiveNetwork_wrapped as switchActiveNetwork, trackCheckoutTransaction, __transferAmount_wrapped as transferAmount, __transferWalletAccount_wrapped as transferWalletAccount, __unlinkSocialAccount_wrapped as unlinkSocialAccount, __updateUser_wrapped as updateUser, __verifyOTP_wrapped as verifyOTP, __verifyWalletAccount_wrapped as verifyWalletAccount, waitForClientInitialized };
|
|
9229
9618
|
//# sourceMappingURL=index.native.esm.js.map
|