@dynamic-labs-sdk/client 0.13.0 → 0.14.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.
Files changed (102) hide show
  1. package/dist/{InvalidParamError-BZPD1J5U.esm.js → InvalidParamError-DQn49mNB.esm.js} +8 -3
  2. package/dist/{InvalidParamError-BZPD1J5U.esm.js.map → InvalidParamError-DQn49mNB.esm.js.map} +1 -1
  3. package/dist/{InvalidParamError-CH8qePiW.cjs.js → InvalidParamError-DVzrk97b.cjs.js} +9 -4
  4. package/dist/{InvalidParamError-CH8qePiW.cjs.js.map → InvalidParamError-DVzrk97b.cjs.js.map} +1 -1
  5. package/dist/{NotWaasWalletAccountError-kP6g-sx9.esm.js → NotWaasWalletAccountError-D0BXVuKy.esm.js} +3 -3
  6. package/dist/{NotWaasWalletAccountError-kP6g-sx9.esm.js.map → NotWaasWalletAccountError-D0BXVuKy.esm.js.map} +1 -1
  7. package/dist/{NotWaasWalletAccountError-Bb8-O3Q9.cjs.js → NotWaasWalletAccountError-IxbdRVGy.cjs.js} +3 -3
  8. package/dist/{NotWaasWalletAccountError-Bb8-O3Q9.cjs.js.map → NotWaasWalletAccountError-IxbdRVGy.cjs.js.map} +1 -1
  9. package/dist/core.cjs.js +5 -5
  10. package/dist/core.cjs.js.map +1 -1
  11. package/dist/core.esm.js +5 -5
  12. package/dist/core.esm.js.map +1 -1
  13. package/dist/errors/CheckoutSessionTokenMissingError.d.ts +7 -0
  14. package/dist/errors/CheckoutSessionTokenMissingError.d.ts.map +1 -0
  15. package/dist/exports/core.d.ts +1 -1
  16. package/dist/exports/core.d.ts.map +1 -1
  17. package/dist/exports/index.d.ts +18 -2
  18. package/dist/exports/index.d.ts.map +1 -1
  19. package/dist/{getNetworkProviderFromNetworkId-mlU2KYAn.esm.js → getNetworkProviderFromNetworkId-DMMnYrfG.esm.js} +15 -9
  20. package/dist/getNetworkProviderFromNetworkId-DMMnYrfG.esm.js.map +1 -0
  21. package/dist/{getNetworkProviderFromNetworkId-gEnLk01L.cjs.js → getNetworkProviderFromNetworkId-z8WEapnj.cjs.js} +15 -9
  22. package/dist/getNetworkProviderFromNetworkId-z8WEapnj.cjs.js.map +1 -0
  23. package/dist/{getSignedSessionId-B2kd9qrw.esm.js → getSignedSessionId-BKKO2mqj.esm.js} +3 -3
  24. package/dist/{getSignedSessionId-B2kd9qrw.esm.js.map → getSignedSessionId-BKKO2mqj.esm.js.map} +1 -1
  25. package/dist/{getSignedSessionId-BYF0o0nI.cjs.js → getSignedSessionId-BdGOv_TA.cjs.js} +3 -3
  26. package/dist/{getSignedSessionId-BYF0o0nI.cjs.js.map → getSignedSessionId-BdGOv_TA.cjs.js.map} +1 -1
  27. package/dist/{getVerifiedCredentialForWalletAccount-DZMPlNXZ.cjs.js → getVerifiedCredentialForWalletAccount-Ck7DNGPJ.cjs.js} +3 -3
  28. package/dist/{getVerifiedCredentialForWalletAccount-DZMPlNXZ.cjs.js.map → getVerifiedCredentialForWalletAccount-Ck7DNGPJ.cjs.js.map} +1 -1
  29. package/dist/{getVerifiedCredentialForWalletAccount-DupRN2qF.esm.js → getVerifiedCredentialForWalletAccount-DQ7g6O7y.esm.js} +2 -2
  30. package/dist/{getVerifiedCredentialForWalletAccount-DupRN2qF.esm.js.map → getVerifiedCredentialForWalletAccount-DQ7g6O7y.esm.js.map} +1 -1
  31. package/dist/index.cjs.js +215 -15
  32. package/dist/index.cjs.js.map +1 -1
  33. package/dist/index.esm.js +208 -16
  34. package/dist/index.esm.js.map +1 -1
  35. package/dist/{isMfaRequiredForAction-KnGLJETO.cjs.js → isMfaRequiredForAction-BINs954q.cjs.js} +2 -2
  36. package/dist/{isMfaRequiredForAction-KnGLJETO.cjs.js.map → isMfaRequiredForAction-BINs954q.cjs.js.map} +1 -1
  37. package/dist/{isMfaRequiredForAction-CBENhE_c.esm.js → isMfaRequiredForAction-MvVGc7k3.esm.js} +2 -2
  38. package/dist/{isMfaRequiredForAction-CBENhE_c.esm.js.map → isMfaRequiredForAction-MvVGc7k3.esm.js.map} +1 -1
  39. package/dist/modules/auth/passkeys/serverAuthenticatePasskey/serverAuthenticatePasskey.d.ts +4 -2
  40. package/dist/modules/auth/passkeys/serverAuthenticatePasskey/serverAuthenticatePasskey.d.ts.map +1 -1
  41. package/dist/modules/checkout/attachCheckoutTransactionSource/attachCheckoutTransactionSource.d.ts +15 -0
  42. package/dist/modules/checkout/attachCheckoutTransactionSource/attachCheckoutTransactionSource.d.ts.map +1 -0
  43. package/dist/modules/checkout/attachCheckoutTransactionSource/index.d.ts +3 -0
  44. package/dist/modules/checkout/attachCheckoutTransactionSource/index.d.ts.map +1 -0
  45. package/dist/modules/checkout/broadcastCheckoutTransaction/broadcastCheckoutTransaction.d.ts +15 -0
  46. package/dist/modules/checkout/broadcastCheckoutTransaction/broadcastCheckoutTransaction.d.ts.map +1 -0
  47. package/dist/modules/checkout/broadcastCheckoutTransaction/index.d.ts +3 -0
  48. package/dist/modules/checkout/broadcastCheckoutTransaction/index.d.ts.map +1 -0
  49. package/dist/modules/checkout/cancelCheckoutTransaction/cancelCheckoutTransaction.d.ts +13 -0
  50. package/dist/modules/checkout/cancelCheckoutTransaction/cancelCheckoutTransaction.d.ts.map +1 -0
  51. package/dist/modules/checkout/cancelCheckoutTransaction/index.d.ts +3 -0
  52. package/dist/modules/checkout/cancelCheckoutTransaction/index.d.ts.map +1 -0
  53. package/dist/modules/checkout/checkout.types.d.ts +7 -0
  54. package/dist/modules/checkout/checkout.types.d.ts.map +1 -0
  55. package/dist/modules/checkout/createCheckoutTransaction/createCheckoutTransaction.d.ts +18 -0
  56. package/dist/modules/checkout/createCheckoutTransaction/createCheckoutTransaction.d.ts.map +1 -0
  57. package/dist/modules/checkout/createCheckoutTransaction/index.d.ts +3 -0
  58. package/dist/modules/checkout/createCheckoutTransaction/index.d.ts.map +1 -0
  59. package/dist/modules/checkout/getCheckoutTransaction/getCheckoutTransaction.d.ts +14 -0
  60. package/dist/modules/checkout/getCheckoutTransaction/getCheckoutTransaction.d.ts.map +1 -0
  61. package/dist/modules/checkout/getCheckoutTransaction/index.d.ts +3 -0
  62. package/dist/modules/checkout/getCheckoutTransaction/index.d.ts.map +1 -0
  63. package/dist/modules/checkout/getCheckoutTransactionQuote/getCheckoutTransactionQuote.d.ts +16 -0
  64. package/dist/modules/checkout/getCheckoutTransactionQuote/getCheckoutTransactionQuote.d.ts.map +1 -0
  65. package/dist/modules/checkout/getCheckoutTransactionQuote/index.d.ts +3 -0
  66. package/dist/modules/checkout/getCheckoutTransactionQuote/index.d.ts.map +1 -0
  67. package/dist/modules/checkout/prepareCheckoutTransaction/index.d.ts +3 -0
  68. package/dist/modules/checkout/prepareCheckoutTransaction/index.d.ts.map +1 -0
  69. package/dist/modules/checkout/prepareCheckoutTransaction/prepareCheckoutTransaction.d.ts +15 -0
  70. package/dist/modules/checkout/prepareCheckoutTransaction/prepareCheckoutTransaction.d.ts.map +1 -0
  71. package/dist/modules/checkout/utils/createCheckoutApiClient/createCheckoutApiClient.d.ts +13 -0
  72. package/dist/modules/checkout/utils/createCheckoutApiClient/createCheckoutApiClient.d.ts.map +1 -0
  73. package/dist/modules/checkout/utils/createCheckoutApiClient/index.d.ts +2 -0
  74. package/dist/modules/checkout/utils/createCheckoutApiClient/index.d.ts.map +1 -0
  75. package/dist/modules/checkout/utils/createCheckoutSessionTokenStorageKey/createCheckoutSessionTokenStorageKey.d.ts +2 -0
  76. package/dist/modules/checkout/utils/createCheckoutSessionTokenStorageKey/createCheckoutSessionTokenStorageKey.d.ts.map +1 -0
  77. package/dist/modules/checkout/utils/createCheckoutSessionTokenStorageKey/index.d.ts +2 -0
  78. package/dist/modules/checkout/utils/createCheckoutSessionTokenStorageKey/index.d.ts.map +1 -0
  79. package/dist/modules/mfa/authenticateMfaRecoveryCode/authenticateMfaRecoveryCode.d.ts +7 -3
  80. package/dist/modules/mfa/authenticateMfaRecoveryCode/authenticateMfaRecoveryCode.d.ts.map +1 -1
  81. package/dist/modules/mfa/authenticatePasskeyMFA/authenticatePasskeyMFA.d.ts +6 -3
  82. package/dist/modules/mfa/authenticatePasskeyMFA/authenticatePasskeyMFA.d.ts.map +1 -1
  83. package/dist/modules/mfa/authenticateTotpMfaDevice/authenticateTotpMfaDevice.d.ts +6 -3
  84. package/dist/modules/mfa/authenticateTotpMfaDevice/authenticateTotpMfaDevice.d.ts.map +1 -1
  85. package/dist/modules/wallets/constants.d.ts.map +1 -1
  86. package/dist/modules/wallets/walletProvider/index.d.ts +1 -1
  87. package/dist/modules/wallets/walletProvider/index.d.ts.map +1 -1
  88. package/dist/modules/wallets/walletProvider/walletProvider.types.d.ts +15 -0
  89. package/dist/modules/wallets/walletProvider/walletProvider.types.d.ts.map +1 -1
  90. package/dist/services/crossTabBroadcast/createCrossTabBroadcast/createCrossTabBroadcast.d.ts.map +1 -1
  91. package/dist/services/crossTabBroadcast/crossTabBroadcast.schema.d.ts +1 -0
  92. package/dist/services/crossTabBroadcast/crossTabBroadcast.schema.d.ts.map +1 -1
  93. package/dist/services/crossTabBroadcast/crossTabBroadcast.types.d.ts +9 -6
  94. package/dist/services/crossTabBroadcast/crossTabBroadcast.types.d.ts.map +1 -1
  95. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  96. package/dist/waas.cjs.js +4 -4
  97. package/dist/waas.esm.js +3 -3
  98. package/dist/waasCore.cjs.js +4 -4
  99. package/dist/waasCore.esm.js +3 -3
  100. package/package.json +3 -3
  101. package/dist/getNetworkProviderFromNetworkId-gEnLk01L.cjs.js.map +0 -1
  102. package/dist/getNetworkProviderFromNetworkId-mlU2KYAn.esm.js.map +0 -1
package/dist/index.esm.js CHANGED
@@ -1,8 +1,8 @@
1
- import { A as version, D as BaseError, O as getCore, S as CLIENT_SDK_NAME, T as setDefaultClient, _ as getBuffer, a as DYNAMIC_ICONIC_SPRITE_URL, b as ValueMustBeDefinedError, c as CHAINS_INFO_MAP, d as MfaRateLimitedError, f as MfaInvalidOtpError, h as APIError, k as name, l as createApiClient, m as InvalidExternalAuthError, o as SDK_API_CORE_VERSION, p as LinkCredentialError, s as getChainFromVerifiedCredentialChain, t as InvalidParamError, u as SandboxMaximumThresholdReachedError, v as isCookieEnabled, w as getDefaultClient, x as randomString, y as assertDefined } from "./InvalidParamError-BZPD1J5U.esm.js";
2
- import { A as createStorageKeySchema, C as createDeferredPromise, D as INITIALIZE_STORAGE_SYNC_TRACKER_KEY, E as GENERATE_SESSION_KEYS_TRACKER_KEY, F as isEqualShallow, N as createLocalStorageAdapter, O as REFRESH_USER_STATE_FROM_COOKIE_TRACKER_KEY, P as subscribeWithSelector, S as CannotTrackError, T as FETCH_PROJECT_SETTINGS_TRACKER_KEY, _ as WalletAlreadyLinkedToAnotherUserError, a as updateWalletProviderKeysForVerifiedCredentials, b as createCrossTabBroadcast, c as createSignInMessageStatement, d as setUnverifiedWalletAccounts, f as createVisit, g as isCaptchaRequired, h as consumeCaptchaToken, i as getNetworksData, j as createStorage, k as p256Keygen, l as formatSignInMessage, m as setCaptchaToken, o as verifyMessageSignatureOwnership, p as hasExtension, s as removeUnverifiedWalletAccount, t as getNetworkProviderFromNetworkId, u as getNonce, v as NoNetworkProvidersError, w as isServerSideRendering, y as createLogger } from "./getNetworkProviderFromNetworkId-mlU2KYAn.esm.js";
3
- import { D as onceEvent, E as onEvent, O as setCookie, S as splitWalletProviderKey, T as offEvent, _ as getWalletAccounts, b as formatWalletAccountId, c as getWalletProviders, d as DYNAMIC_AUTH_COOKIE_NAME, f as getWalletProviderFromWalletAccount, g as NoWalletProviderFoundError, i as restoreUserSharesForAllWalletAccounts, l as checkAndRaiseWalletAccountsChangedEvent, n as getWalletProviderByKey, r as updateAuthFromVerifyResponse, t as getVerifiedCredentialForWalletAccount, u as emitWalletAccountsChangedEvent, w as emitEvent, x as normalizeAddress } from "./getVerifiedCredentialForWalletAccount-DupRN2qF.esm.js";
4
- import { n as getMfaMethods, r as consumeMfaToken, t as isMfaRequiredForAction } from "./isMfaRequiredForAction-CBENhE_c.esm.js";
5
- import { n as refreshAuth, t as NotWaasWalletAccountError } from "./NotWaasWalletAccountError-kP6g-sx9.esm.js";
1
+ import { A as version, D as BaseError, O as getCore, S as CLIENT_SDK_NAME, T as setDefaultClient, _ as getBuffer, a as DYNAMIC_ICONIC_SPRITE_URL, b as ValueMustBeDefinedError, c as CHAINS_INFO_MAP, d as MfaRateLimitedError, f as MfaInvalidOtpError, h as APIError, k as name, l as createApiClient, m as InvalidExternalAuthError, o as SDK_API_CORE_VERSION, p as LinkCredentialError, s as getChainFromVerifiedCredentialChain, t as InvalidParamError, u as SandboxMaximumThresholdReachedError, v as isCookieEnabled, w as getDefaultClient, x as randomString, y as assertDefined } from "./InvalidParamError-DQn49mNB.esm.js";
2
+ import { A as createStorageKeySchema, C as createDeferredPromise, D as INITIALIZE_STORAGE_SYNC_TRACKER_KEY, E as GENERATE_SESSION_KEYS_TRACKER_KEY, F as isEqualShallow, N as createLocalStorageAdapter, O as REFRESH_USER_STATE_FROM_COOKIE_TRACKER_KEY, P as subscribeWithSelector, S as CannotTrackError, T as FETCH_PROJECT_SETTINGS_TRACKER_KEY, _ as WalletAlreadyLinkedToAnotherUserError, a as updateWalletProviderKeysForVerifiedCredentials, b as createCrossTabBroadcast, c as createSignInMessageStatement, d as setUnverifiedWalletAccounts, f as createVisit, g as isCaptchaRequired, h as consumeCaptchaToken, i as getNetworksData, j as createStorage, k as p256Keygen, l as formatSignInMessage, m as setCaptchaToken, o as verifyMessageSignatureOwnership, p as hasExtension, s as removeUnverifiedWalletAccount, t as getNetworkProviderFromNetworkId, u as getNonce, v as NoNetworkProvidersError, w as isServerSideRendering, y as createLogger } from "./getNetworkProviderFromNetworkId-DMMnYrfG.esm.js";
3
+ import { D as onceEvent, E as onEvent, O as setCookie, S as splitWalletProviderKey, T as offEvent, _ as getWalletAccounts, b as formatWalletAccountId, c as getWalletProviders, d as DYNAMIC_AUTH_COOKIE_NAME, f as getWalletProviderFromWalletAccount, g as NoWalletProviderFoundError, i as restoreUserSharesForAllWalletAccounts, l as checkAndRaiseWalletAccountsChangedEvent, n as getWalletProviderByKey, r as updateAuthFromVerifyResponse, t as getVerifiedCredentialForWalletAccount, u as emitWalletAccountsChangedEvent, w as emitEvent, x as normalizeAddress } from "./getVerifiedCredentialForWalletAccount-DQ7g6O7y.esm.js";
4
+ import { n as getMfaMethods, r as consumeMfaToken, t as isMfaRequiredForAction } from "./isMfaRequiredForAction-MvVGc7k3.esm.js";
5
+ import { n as refreshAuth, t as NotWaasWalletAccountError } from "./NotWaasWalletAccountError-D0BXVuKy.esm.js";
6
6
  import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
7
7
  import { AuthModeEnum, ExchangeKeyEnum, JwtVerifiedCredentialFormatEnum, MFAAction, MfaBackupCodeAcknowledgement, ProviderEnum, WaasBackupOptionsEnum } from "@dynamic-labs/sdk-api-core";
8
8
  import * as z from "zod/mini";
@@ -909,6 +909,20 @@ const createDynamicClient = (config) => {
909
909
  return client;
910
910
  };
911
911
 
912
+ //#endregion
913
+ //#region src/errors/CheckoutSessionTokenMissingError.ts
914
+ var CheckoutSessionTokenMissingError = class extends BaseError {
915
+ constructor({ transactionId }) {
916
+ super({
917
+ cause: null,
918
+ code: "checkout_session_token_missing",
919
+ docsUrl: null,
920
+ name: "CheckoutSessionTokenMissingError",
921
+ shortMessage: `No session token found for transaction ${transactionId}. Session tokens are issued once at transaction creation and cannot be recovered.`
922
+ });
923
+ }
924
+ };
925
+
912
926
  //#endregion
913
927
  //#region src/errors/FeeEstimationFailedError.ts
914
928
  var FeeEstimationFailedError = class extends BaseError {
@@ -1721,6 +1735,176 @@ const getMultichainBalances = async ({ balanceRequest }, client = getDefaultClie
1721
1735
  })).chainBalances;
1722
1736
  };
1723
1737
 
1738
+ //#endregion
1739
+ //#region src/modules/checkout/utils/createCheckoutSessionTokenStorageKey/createCheckoutSessionTokenStorageKey.ts
1740
+ const createCheckoutSessionTokenStorageKey = (transactionId) => {
1741
+ return createStorageKeySchema({
1742
+ key: `checkoutSessionToken:${transactionId}`,
1743
+ schema: z.string()
1744
+ });
1745
+ };
1746
+
1747
+ //#endregion
1748
+ //#region src/modules/checkout/utils/createCheckoutApiClient/createCheckoutApiClient.ts
1749
+ const createCheckoutApiClient = async ({ transactionId }, client) => {
1750
+ const core = getCore(client);
1751
+ const apiClient = createApiClient({}, client);
1752
+ const sessionToken = await core.storage.getItem(createCheckoutSessionTokenStorageKey(transactionId));
1753
+ if (!sessionToken) throw new CheckoutSessionTokenMissingError({ transactionId });
1754
+ return {
1755
+ apiClient,
1756
+ environmentId: core.environmentId,
1757
+ sessionToken
1758
+ };
1759
+ };
1760
+
1761
+ //#endregion
1762
+ //#region src/modules/checkout/attachCheckoutTransactionSource/attachCheckoutTransactionSource.ts
1763
+ /**
1764
+ * Attaches a wallet source to a checkout transaction
1765
+ *
1766
+ * @param params AttachCheckoutTransactionSourceParams - The source details to attach.
1767
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
1768
+ * @returns The updated checkout transaction
1769
+ */
1770
+ const attachCheckoutTransactionSource = async ({ fromAddress, fromChainId, transactionId }, client = getDefaultClient()) => {
1771
+ const { apiClient, environmentId, sessionToken } = await createCheckoutApiClient({ transactionId }, client);
1772
+ return apiClient.attachSource({
1773
+ attachSourceRequest: {
1774
+ fromAddress,
1775
+ fromChainId,
1776
+ sourceType: "wallet"
1777
+ },
1778
+ environmentId,
1779
+ transactionId,
1780
+ xDynamicCheckoutSessionToken: sessionToken
1781
+ });
1782
+ };
1783
+
1784
+ //#endregion
1785
+ //#region src/modules/checkout/broadcastCheckoutTransaction/broadcastCheckoutTransaction.ts
1786
+ /**
1787
+ * Records the on-chain broadcast of a checkout transaction
1788
+ *
1789
+ * @param params BroadcastCheckoutTransactionParams - The transaction ID and tx hash.
1790
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
1791
+ * @returns The updated checkout transaction
1792
+ */
1793
+ const broadcastCheckoutTransaction = async ({ transactionId, txHash }, client = getDefaultClient()) => {
1794
+ const { apiClient, environmentId, sessionToken } = await createCheckoutApiClient({ transactionId }, client);
1795
+ return apiClient.recordCheckoutBroadcast({
1796
+ environmentId,
1797
+ recordBroadcastRequest: { txHash },
1798
+ transactionId,
1799
+ xDynamicCheckoutSessionToken: sessionToken
1800
+ });
1801
+ };
1802
+
1803
+ //#endregion
1804
+ //#region src/modules/checkout/cancelCheckoutTransaction/cancelCheckoutTransaction.ts
1805
+ /**
1806
+ * Cancels a checkout transaction before it has been broadcasted
1807
+ *
1808
+ * @param params CancelCheckoutTransactionParams - The transaction to cancel.
1809
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
1810
+ * @returns The cancelled checkout transaction
1811
+ */
1812
+ const cancelCheckoutTransaction = async ({ transactionId }, client = getDefaultClient()) => {
1813
+ const { apiClient, environmentId, sessionToken } = await createCheckoutApiClient({ transactionId }, client);
1814
+ const result = await apiClient.cancelCheckoutTransaction({
1815
+ environmentId,
1816
+ transactionId,
1817
+ xDynamicCheckoutSessionToken: sessionToken
1818
+ });
1819
+ await getCore(client).storage.removeItem(createCheckoutSessionTokenStorageKey(transactionId));
1820
+ return result;
1821
+ };
1822
+
1823
+ //#endregion
1824
+ //#region src/modules/checkout/createCheckoutTransaction/createCheckoutTransaction.ts
1825
+ /**
1826
+ * Creates a new checkout transaction and stores the session token for subsequent calls
1827
+ *
1828
+ * @param params CreateCheckoutTransactionParams - The parameters for the checkout transaction.
1829
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
1830
+ * @returns The created transaction with session token
1831
+ */
1832
+ const createCheckoutTransaction = async (params, client = getDefaultClient()) => {
1833
+ const core = getCore(client);
1834
+ const result = await createApiClient({}, client).createCheckoutTransaction({
1835
+ checkoutId: params.checkoutId,
1836
+ checkoutTransactionCreateRequest: {
1837
+ amount: params.amount,
1838
+ currency: params.currency,
1839
+ expiresIn: params.expiresIn,
1840
+ externalId: params.externalId
1841
+ },
1842
+ environmentId: core.environmentId
1843
+ });
1844
+ await core.storage.setItem(createCheckoutSessionTokenStorageKey(result.transaction.id), result.sessionToken);
1845
+ return result;
1846
+ };
1847
+
1848
+ //#endregion
1849
+ //#region src/modules/checkout/getCheckoutTransaction/getCheckoutTransaction.ts
1850
+ /**
1851
+ * Fetches the current state of a checkout transaction
1852
+ *
1853
+ * @param params GetCheckoutTransactionParams - The parameters for fetching the transaction.
1854
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
1855
+ * @returns The checkout transaction
1856
+ */
1857
+ const getCheckoutTransaction = async ({ transactionId }, client = getDefaultClient()) => {
1858
+ const core = getCore(client);
1859
+ return createApiClient({}, client).getCheckoutTransaction({
1860
+ environmentId: core.environmentId,
1861
+ transactionId
1862
+ });
1863
+ };
1864
+
1865
+ //#endregion
1866
+ //#region src/modules/checkout/getCheckoutTransactionQuote/getCheckoutTransactionQuote.ts
1867
+ /**
1868
+ * Fetches a quote for a checkout transaction
1869
+ *
1870
+ * @param params GetCheckoutTransactionQuoteParams - The quote parameters.
1871
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
1872
+ * @returns The updated checkout transaction with quote data
1873
+ */
1874
+ const getCheckoutTransactionQuote = async ({ fromTokenAddress, slippage, toTokenAddress, transactionId }, client = getDefaultClient()) => {
1875
+ const { apiClient, environmentId, sessionToken } = await createCheckoutApiClient({ transactionId }, client);
1876
+ return apiClient.quoteCheckoutTransaction({
1877
+ environmentId,
1878
+ quoteRequest: {
1879
+ fromTokenAddress,
1880
+ slippage,
1881
+ toTokenAddress
1882
+ },
1883
+ transactionId,
1884
+ xDynamicCheckoutSessionToken: sessionToken
1885
+ });
1886
+ };
1887
+
1888
+ //#endregion
1889
+ //#region src/modules/checkout/prepareCheckoutTransaction/prepareCheckoutTransaction.ts
1890
+ /**
1891
+ * Prepares a checkout transaction for signing
1892
+ * This should be called immediately before triggering the transaction signing.
1893
+ * It will confirm the quote is still valid, the risk state is cleared, and the transaction is ready to be signed.
1894
+ *
1895
+ * @param params PrepareCheckoutTransactionParams - The transaction to prepare.
1896
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
1897
+ * @returns The updated checkout transaction
1898
+ */
1899
+ const prepareCheckoutTransaction = async ({ transactionId }, client = getDefaultClient()) => {
1900
+ const { apiClient, environmentId, sessionToken } = await createCheckoutApiClient({ transactionId }, client);
1901
+ return apiClient.prepareCheckoutTransaction({
1902
+ environmentId,
1903
+ transactionId,
1904
+ xDynamicCheckoutSessionToken: sessionToken
1905
+ });
1906
+ };
1907
+
1724
1908
  //#endregion
1725
1909
  //#region src/modules/deviceRegistration/completeDeviceRegistration/completeDeviceRegistration.ts
1726
1910
  const DEVICE_REGISTRATION_TOKEN_HEADER = "x-dynamic-device-registration-token";
@@ -2505,10 +2689,12 @@ const acknowledgeRecoveryCodes = async (client = getDefaultClient()) => {
2505
2689
  * one of their backup recovery codes when none of the registered MFA methods are available.
2506
2690
  *
2507
2691
  * @param params.code - The recovery code to authenticate with.
2692
+ * @param [params.createMfaTokenOptions] - @deprecated Use `requestedScopes` instead. Optional configuration for MFA token creation.
2693
+ * @param [params.requestedScopes] - Optional scopes to request an elevated access token instead of an MFA token.
2508
2694
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
2509
- * @returns A promise that resolves to the MFA authentication response with token.
2695
+ * @returns A promise that resolves to the MFA authentication response.
2510
2696
  */
2511
- const authenticateMfaRecoveryCode = async ({ code, createMfaTokenOptions }, client = getDefaultClient()) => {
2697
+ const authenticateMfaRecoveryCode = async ({ code, createMfaTokenOptions, requestedScopes }, client = getDefaultClient()) => {
2512
2698
  const core = getCore(client);
2513
2699
  const apiClient = createApiClient({}, client);
2514
2700
  try {
@@ -2516,7 +2702,8 @@ const authenticateMfaRecoveryCode = async ({ code, createMfaTokenOptions }, clie
2516
2702
  environmentId: core.environmentId,
2517
2703
  mFAAuthRecoveryDevicePostRequest: {
2518
2704
  code,
2519
- createMfaToken: createMfaTokenOptions
2705
+ createMfaToken: createMfaTokenOptions,
2706
+ requestedScopes
2520
2707
  }
2521
2708
  });
2522
2709
  updateAuthFromVerifyResponse({ response }, client);
@@ -2546,13 +2733,14 @@ const getPasskeyAuthenticationOptions = async ({ relatedOriginRpId } = {}, clien
2546
2733
 
2547
2734
  //#endregion
2548
2735
  //#region src/modules/auth/passkeys/serverAuthenticatePasskey/serverAuthenticatePasskey.ts
2549
- const serverAuthenticatePasskey = async ({ authentication, createMfaToken }, client) => {
2736
+ const serverAuthenticatePasskey = async ({ authentication, createMfaToken, requestedScopes }, client) => {
2550
2737
  const core = getCore(client);
2551
2738
  return await createApiClient({}, client).authenticateMfaPasskeyDevice({
2552
2739
  environmentId: core.environmentId,
2553
2740
  passkeyAuthRequest: {
2554
2741
  ...authentication,
2555
2742
  createMfaToken,
2743
+ requestedScopes,
2556
2744
  response: {
2557
2745
  ...authentication.response,
2558
2746
  clientDataJson: authentication.response.clientDataJSON
@@ -2569,13 +2757,14 @@ const serverAuthenticatePasskey = async ({ authentication, createMfaToken }, cli
2569
2757
  * This function prompts the user to authenticate with their registered
2570
2758
  * passkey to complete an MFA challenge and obtain an MFA token.
2571
2759
  *
2572
- * @param [params.createMfaToken] - Optional configuration for MFA token creation.
2760
+ * @param [params.createMfaToken] - @deprecated Use `requestedScopes` instead. Optional configuration for MFA token creation.
2761
+ * @param [params.requestedScopes] - Optional scopes to request an elevated access token instead of an MFA token.
2573
2762
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
2574
2763
  * @returns A promise that resolves to the MFA authentication response.
2575
2764
  * @throws NoWebAuthNSupportError If WebAuthn is not supported by the browser.
2576
2765
  * @throws NoPasskeyCredentialsFoundError If no passkey credentials are found.
2577
2766
  */
2578
- const authenticatePasskeyMFA = async ({ createMfaToken, relatedOriginRpId } = {}, client = getDefaultClient()) => {
2767
+ const authenticatePasskeyMFA = async ({ createMfaToken, relatedOriginRpId, requestedScopes } = {}, client = getDefaultClient()) => {
2579
2768
  const core = getCore(client);
2580
2769
  try {
2581
2770
  if (!core.passkey.isSupported()) throw new NoWebAuthNSupportError();
@@ -2591,7 +2780,8 @@ const authenticatePasskeyMFA = async ({ createMfaToken, relatedOriginRpId } = {}
2591
2780
  };
2592
2781
  const response = await serverAuthenticatePasskey({
2593
2782
  authentication: await core.passkey.authenticate({ optionsJSON: formattedOptions }),
2594
- createMfaToken
2783
+ createMfaToken,
2784
+ requestedScopes
2595
2785
  }, client);
2596
2786
  updateAuthFromVerifyResponse({ response }, client);
2597
2787
  emitEvent({
@@ -2618,11 +2808,12 @@ const authenticatePasskeyMFA = async ({ createMfaToken, relatedOriginRpId } = {}
2618
2808
  *
2619
2809
  * @param params.code - The 6-digit TOTP code from the authenticator app.
2620
2810
  * @param [params.deviceId] - The ID of the specific TOTP device to authenticate with.
2621
- * @param [params.createMfaTokenOptions] - Optional configuration for MFA token creation.
2811
+ * @param [params.createMfaTokenOptions] - @deprecated Use `requestedScopes` instead. Optional configuration for MFA token creation.
2812
+ * @param [params.requestedScopes] - Optional scopes to request an elevated access token instead of an MFA token.
2622
2813
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
2623
2814
  * @returns A promise that resolves to the MFA authentication response.
2624
2815
  */
2625
- const authenticateTotpMfaDevice = async ({ deviceId, code, createMfaTokenOptions }, client = getDefaultClient()) => {
2816
+ const authenticateTotpMfaDevice = async ({ deviceId, code, createMfaTokenOptions, requestedScopes }, client = getDefaultClient()) => {
2626
2817
  const core = getCore(client);
2627
2818
  const apiClient = createApiClient({}, client);
2628
2819
  try {
@@ -2631,7 +2822,8 @@ const authenticateTotpMfaDevice = async ({ deviceId, code, createMfaTokenOptions
2631
2822
  mFAAuthTotpDevicePostRequest: {
2632
2823
  code,
2633
2824
  createMfaToken: createMfaTokenOptions,
2634
- id: deviceId
2825
+ id: deviceId,
2826
+ requestedScopes
2635
2827
  }
2636
2828
  });
2637
2829
  updateAuthFromVerifyResponse({ response }, client);
@@ -4656,5 +4848,5 @@ const isIPad = (maxTouchPointsOverride) => {
4656
4848
  assertPackageVersion(name, version);
4657
4849
 
4658
4850
  //#endregion
4659
- export { BaseError, ClientAlreadyInitializedError, FeeEstimationFailedError, InvalidDeviceRegistrationRedirectError, InvalidExternalAuthError, InvalidParamError, InvalidRedirectStorageStateError, LinkCredentialError, MFAAction, MfaInvalidOtpError, MfaRateLimitedError, MissingRedirectStorageStateError, MissingSocialUrlParamError, MissingUserVerificationError, NetworkAddingUnavailableError, NetworkNotAddedError, NetworkSwitchingUnavailableError, NoAddressFoundError, NoNetworkProvidersError, NoPasskeyCredentialsFoundError, NoSmartWalletAccountSignerFoundError, NoWebAuthNSupportError, NotWaasWalletAccountError, SandboxMaximumThresholdReachedError, SimulationFailedError, UnavailableInServerSideError, UnrecognizedNetworkError, UserNotAuthenticatedError, UserRejectedError, WalletAccountAlreadyVerifiedError, WalletAccountNotSelectedError, WalletAlreadyLinkedToAnotherUserError, WalletProviderMethodUnavailableError, acknowledgeRecoveryCodes, addCoinbaseOnrampOrderEventListener, addNetwork, assertWalletAccountSigningAvailability, assertWalletProviderMethodDefined, authenticateMfaRecoveryCode, authenticatePasskeyMFA, authenticateTotpMfaDevice, authenticateWithSocial, canConnectWithHardwareWallet, completeDeviceRegistration, completeSocialAuthentication, connectAndVerifyWithWalletProvider, connectWithWalletProvider, consumeMfaToken, createCoinbaseOnrampOrder, createCryptoDotComPayment, createDynamicClient, createKrakenExchangeTransfer, createNewMfaRecoveryCodes, deleteMfaDevice, deletePasskey, deleteUser, detectDeviceRegistrationRedirect, detectOAuthRedirect, fetchProjectSettings, getActiveNetworkData, getActiveNetworkId, getAvailableWalletProvidersData, getBalance, getBalanceForAddress, getCoinbaseBuyUrl, getConnectedAddresses, getDefaultClient, getDeviceRegistrationTokenFromUrl, getElevatedAccessToken, getKrakenAccounts, getKrakenWhitelistedAddresses, getMfaDevices, getMfaMethods, getMfaRecoveryCodes, getMissingVerificationForCoinbaseOnrampOrder, getMultichainBalances, getNetworksData, getOwnerWalletAccountForSmartWalletAccount, getPasskeys, getPrimaryWalletAccount, getTransactionHistory, getUserSocialAccounts, getWalletAccountAddressByType, getWalletAccountFromAddress, getWalletAccounts, getWalletConnectCatalog, getWalletConnectCatalogWalletByWalletProviderKey, getWalletProviderDataByKey, hasExtension, initializeClient, isCaptchaRequired, isDeviceRegistrationRequired, isHardwareWalletAccount, isMfaRequiredForAction, isMobile, isPendingRecoveryCodesAcknowledgment, isProgrammaticNetworkSwitchAvailable, isSignedIn, isUserMissingMfaAuth, isUserOnboardingComplete, isWalletAccountVerified, logout, offEvent, offWalletProviderEvent, onEvent, onWalletProviderEvent, onceEvent, proveWalletAccountOwnership, refreshAuth, refreshUser, registerPasskey, registerTotpMfaDevice, removeWalletAccount, selectPrimaryWalletAccount, sendEmailOTP, sendSmsOTP, setCaptchaToken, setDefaultMfaDevice, signInWithExternalJwt, signInWithPasskey, signMessage, supportedCountries, switchActiveNetwork, transferWalletAccount, unlinkSocialAccount, updateUser, verifyOTP, verifyWalletAccount, waitForClientInitialized };
4851
+ export { BaseError, CheckoutSessionTokenMissingError, ClientAlreadyInitializedError, FeeEstimationFailedError, InvalidDeviceRegistrationRedirectError, InvalidExternalAuthError, InvalidParamError, InvalidRedirectStorageStateError, LinkCredentialError, MFAAction, MfaInvalidOtpError, MfaRateLimitedError, MissingRedirectStorageStateError, MissingSocialUrlParamError, MissingUserVerificationError, NetworkAddingUnavailableError, NetworkNotAddedError, NetworkSwitchingUnavailableError, NoAddressFoundError, NoNetworkProvidersError, NoPasskeyCredentialsFoundError, NoSmartWalletAccountSignerFoundError, NoWebAuthNSupportError, NotWaasWalletAccountError, SandboxMaximumThresholdReachedError, SimulationFailedError, UnavailableInServerSideError, UnrecognizedNetworkError, UserNotAuthenticatedError, UserRejectedError, WalletAccountAlreadyVerifiedError, WalletAccountNotSelectedError, WalletAlreadyLinkedToAnotherUserError, WalletProviderMethodUnavailableError, acknowledgeRecoveryCodes, addCoinbaseOnrampOrderEventListener, addNetwork, assertWalletAccountSigningAvailability, assertWalletProviderMethodDefined, attachCheckoutTransactionSource, authenticateMfaRecoveryCode, authenticatePasskeyMFA, authenticateTotpMfaDevice, authenticateWithSocial, broadcastCheckoutTransaction, canConnectWithHardwareWallet, cancelCheckoutTransaction, completeDeviceRegistration, completeSocialAuthentication, connectAndVerifyWithWalletProvider, connectWithWalletProvider, consumeMfaToken, createCheckoutTransaction, createCoinbaseOnrampOrder, createCryptoDotComPayment, createDynamicClient, createKrakenExchangeTransfer, createNewMfaRecoveryCodes, deleteMfaDevice, deletePasskey, deleteUser, detectDeviceRegistrationRedirect, detectOAuthRedirect, fetchProjectSettings, getActiveNetworkData, getActiveNetworkId, getAvailableWalletProvidersData, getBalance, getBalanceForAddress, getCheckoutTransaction, getCheckoutTransactionQuote, getCoinbaseBuyUrl, getConnectedAddresses, getDefaultClient, getDeviceRegistrationTokenFromUrl, getElevatedAccessToken, getKrakenAccounts, getKrakenWhitelistedAddresses, getMfaDevices, getMfaMethods, getMfaRecoveryCodes, getMissingVerificationForCoinbaseOnrampOrder, getMultichainBalances, getNetworksData, getOwnerWalletAccountForSmartWalletAccount, getPasskeys, getPrimaryWalletAccount, getTransactionHistory, getUserSocialAccounts, getWalletAccountAddressByType, getWalletAccountFromAddress, getWalletAccounts, getWalletConnectCatalog, getWalletConnectCatalogWalletByWalletProviderKey, getWalletProviderDataByKey, hasExtension, initializeClient, isCaptchaRequired, isDeviceRegistrationRequired, isHardwareWalletAccount, isMfaRequiredForAction, isMobile, isPendingRecoveryCodesAcknowledgment, isProgrammaticNetworkSwitchAvailable, isSignedIn, isUserMissingMfaAuth, isUserOnboardingComplete, isWalletAccountVerified, logout, offEvent, offWalletProviderEvent, onEvent, onWalletProviderEvent, onceEvent, prepareCheckoutTransaction, proveWalletAccountOwnership, refreshAuth, refreshUser, registerPasskey, registerTotpMfaDevice, removeWalletAccount, selectPrimaryWalletAccount, sendEmailOTP, sendSmsOTP, setCaptchaToken, setDefaultMfaDevice, signInWithExternalJwt, signInWithPasskey, signMessage, supportedCountries, switchActiveNetwork, transferWalletAccount, unlinkSocialAccount, updateUser, verifyOTP, verifyWalletAccount, waitForClientInitialized };
4660
4852
  //# sourceMappingURL=index.esm.js.map