@dynamic-labs-sdk/client 0.12.1 → 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 (132) hide show
  1. package/dist/{InvalidParamError-Dyhydv4X.esm.js → InvalidParamError-DQn49mNB.esm.js} +9 -4
  2. package/dist/{InvalidParamError-Dyhydv4X.esm.js.map → InvalidParamError-DQn49mNB.esm.js.map} +1 -1
  3. package/dist/{InvalidParamError-B83QXOQl.cjs.js → InvalidParamError-DVzrk97b.cjs.js} +10 -5
  4. package/dist/{InvalidParamError-B83QXOQl.cjs.js.map → InvalidParamError-DVzrk97b.cjs.js.map} +1 -1
  5. package/dist/{NotWaasWalletAccountError-By6DOi1X.esm.js → NotWaasWalletAccountError-D0BXVuKy.esm.js} +3 -3
  6. package/dist/{NotWaasWalletAccountError-By6DOi1X.esm.js.map → NotWaasWalletAccountError-D0BXVuKy.esm.js.map} +1 -1
  7. package/dist/{NotWaasWalletAccountError-C_XzpX9u.cjs.js → NotWaasWalletAccountError-IxbdRVGy.cjs.js} +3 -3
  8. package/dist/{NotWaasWalletAccountError-C_XzpX9u.cjs.js.map → NotWaasWalletAccountError-IxbdRVGy.cjs.js.map} +1 -1
  9. package/dist/core.cjs.js +66 -5
  10. package/dist/core.cjs.js.map +1 -1
  11. package/dist/core.esm.js +65 -6
  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 +5 -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/exports/waas.d.ts +1 -0
  20. package/dist/exports/waas.d.ts.map +1 -1
  21. package/dist/{getNetworkProviderFromNetworkId-D2FjIIXH.esm.js → getNetworkProviderFromNetworkId-DMMnYrfG.esm.js} +66 -9
  22. package/dist/getNetworkProviderFromNetworkId-DMMnYrfG.esm.js.map +1 -0
  23. package/dist/{getNetworkProviderFromNetworkId-BRin5Ty5.cjs.js → getNetworkProviderFromNetworkId-z8WEapnj.cjs.js} +77 -8
  24. package/dist/getNetworkProviderFromNetworkId-z8WEapnj.cjs.js.map +1 -0
  25. package/dist/{getSignedSessionId-BE84R-V_.esm.js → getSignedSessionId-BKKO2mqj.esm.js} +4 -4
  26. package/dist/{getSignedSessionId-BE84R-V_.esm.js.map → getSignedSessionId-BKKO2mqj.esm.js.map} +1 -1
  27. package/dist/{getSignedSessionId-DqowqxuJ.cjs.js → getSignedSessionId-BdGOv_TA.cjs.js} +9 -3
  28. package/dist/{getSignedSessionId-DqowqxuJ.cjs.js.map → getSignedSessionId-BdGOv_TA.cjs.js.map} +1 -1
  29. package/dist/{getVerifiedCredentialForWalletAccount-CsHHUt3-.cjs.js → getVerifiedCredentialForWalletAccount-Ck7DNGPJ.cjs.js} +3 -3
  30. package/dist/{getVerifiedCredentialForWalletAccount-CsHHUt3-.cjs.js.map → getVerifiedCredentialForWalletAccount-Ck7DNGPJ.cjs.js.map} +1 -1
  31. package/dist/{getVerifiedCredentialForWalletAccount-B5WBFgF2.esm.js → getVerifiedCredentialForWalletAccount-DQ7g6O7y.esm.js} +2 -2
  32. package/dist/{getVerifiedCredentialForWalletAccount-B5WBFgF2.esm.js.map → getVerifiedCredentialForWalletAccount-DQ7g6O7y.esm.js.map} +1 -1
  33. package/dist/index.cjs.js +218 -61
  34. package/dist/index.cjs.js.map +1 -1
  35. package/dist/index.esm.js +210 -61
  36. package/dist/index.esm.js.map +1 -1
  37. package/dist/{isMfaRequiredForAction-BzWbWDdR.cjs.js → isMfaRequiredForAction-BINs954q.cjs.js} +4 -4
  38. package/dist/isMfaRequiredForAction-BINs954q.cjs.js.map +1 -0
  39. package/dist/{isMfaRequiredForAction-BHmylnPq.esm.js → isMfaRequiredForAction-MvVGc7k3.esm.js} +4 -4
  40. package/dist/isMfaRequiredForAction-MvVGc7k3.esm.js.map +1 -0
  41. package/dist/modules/auth/passkeys/serverAuthenticatePasskey/serverAuthenticatePasskey.d.ts +4 -2
  42. package/dist/modules/auth/passkeys/serverAuthenticatePasskey/serverAuthenticatePasskey.d.ts.map +1 -1
  43. package/dist/modules/checkout/attachCheckoutTransactionSource/attachCheckoutTransactionSource.d.ts +15 -0
  44. package/dist/modules/checkout/attachCheckoutTransactionSource/attachCheckoutTransactionSource.d.ts.map +1 -0
  45. package/dist/modules/checkout/attachCheckoutTransactionSource/index.d.ts +3 -0
  46. package/dist/modules/checkout/attachCheckoutTransactionSource/index.d.ts.map +1 -0
  47. package/dist/modules/checkout/broadcastCheckoutTransaction/broadcastCheckoutTransaction.d.ts +15 -0
  48. package/dist/modules/checkout/broadcastCheckoutTransaction/broadcastCheckoutTransaction.d.ts.map +1 -0
  49. package/dist/modules/checkout/broadcastCheckoutTransaction/index.d.ts +3 -0
  50. package/dist/modules/checkout/broadcastCheckoutTransaction/index.d.ts.map +1 -0
  51. package/dist/modules/checkout/cancelCheckoutTransaction/cancelCheckoutTransaction.d.ts +13 -0
  52. package/dist/modules/checkout/cancelCheckoutTransaction/cancelCheckoutTransaction.d.ts.map +1 -0
  53. package/dist/modules/checkout/cancelCheckoutTransaction/index.d.ts +3 -0
  54. package/dist/modules/checkout/cancelCheckoutTransaction/index.d.ts.map +1 -0
  55. package/dist/modules/checkout/checkout.types.d.ts +7 -0
  56. package/dist/modules/checkout/checkout.types.d.ts.map +1 -0
  57. package/dist/modules/checkout/createCheckoutTransaction/createCheckoutTransaction.d.ts +18 -0
  58. package/dist/modules/checkout/createCheckoutTransaction/createCheckoutTransaction.d.ts.map +1 -0
  59. package/dist/modules/checkout/createCheckoutTransaction/index.d.ts +3 -0
  60. package/dist/modules/checkout/createCheckoutTransaction/index.d.ts.map +1 -0
  61. package/dist/modules/checkout/getCheckoutTransaction/getCheckoutTransaction.d.ts +14 -0
  62. package/dist/modules/checkout/getCheckoutTransaction/getCheckoutTransaction.d.ts.map +1 -0
  63. package/dist/modules/checkout/getCheckoutTransaction/index.d.ts +3 -0
  64. package/dist/modules/checkout/getCheckoutTransaction/index.d.ts.map +1 -0
  65. package/dist/modules/checkout/getCheckoutTransactionQuote/getCheckoutTransactionQuote.d.ts +16 -0
  66. package/dist/modules/checkout/getCheckoutTransactionQuote/getCheckoutTransactionQuote.d.ts.map +1 -0
  67. package/dist/modules/checkout/getCheckoutTransactionQuote/index.d.ts +3 -0
  68. package/dist/modules/checkout/getCheckoutTransactionQuote/index.d.ts.map +1 -0
  69. package/dist/modules/checkout/prepareCheckoutTransaction/index.d.ts +3 -0
  70. package/dist/modules/checkout/prepareCheckoutTransaction/index.d.ts.map +1 -0
  71. package/dist/modules/checkout/prepareCheckoutTransaction/prepareCheckoutTransaction.d.ts +15 -0
  72. package/dist/modules/checkout/prepareCheckoutTransaction/prepareCheckoutTransaction.d.ts.map +1 -0
  73. package/dist/modules/checkout/utils/createCheckoutApiClient/createCheckoutApiClient.d.ts +13 -0
  74. package/dist/modules/checkout/utils/createCheckoutApiClient/createCheckoutApiClient.d.ts.map +1 -0
  75. package/dist/modules/checkout/utils/createCheckoutApiClient/index.d.ts +2 -0
  76. package/dist/modules/checkout/utils/createCheckoutApiClient/index.d.ts.map +1 -0
  77. package/dist/modules/checkout/utils/createCheckoutSessionTokenStorageKey/createCheckoutSessionTokenStorageKey.d.ts +2 -0
  78. package/dist/modules/checkout/utils/createCheckoutSessionTokenStorageKey/createCheckoutSessionTokenStorageKey.d.ts.map +1 -0
  79. package/dist/modules/checkout/utils/createCheckoutSessionTokenStorageKey/index.d.ts +2 -0
  80. package/dist/modules/checkout/utils/createCheckoutSessionTokenStorageKey/index.d.ts.map +1 -0
  81. package/dist/modules/deviceRegistration/getDeviceSigner/deviceSigningKeys.schema.d.ts +7 -0
  82. package/dist/modules/deviceRegistration/getDeviceSigner/deviceSigningKeys.schema.d.ts.map +1 -0
  83. package/dist/modules/deviceRegistration/getDeviceSigner/getDeviceSigner.d.ts +4 -0
  84. package/dist/modules/deviceRegistration/getDeviceSigner/getDeviceSigner.d.ts.map +1 -0
  85. package/dist/modules/deviceRegistration/getDeviceSigner/getOrCreateUserDeviceSigningKeys/getOrCreateUserDeviceSigningKeys.d.ts +9 -0
  86. package/dist/modules/deviceRegistration/getDeviceSigner/getOrCreateUserDeviceSigningKeys/getOrCreateUserDeviceSigningKeys.d.ts.map +1 -0
  87. package/dist/modules/deviceRegistration/getDeviceSigner/index.d.ts +2 -0
  88. package/dist/modules/deviceRegistration/getDeviceSigner/index.d.ts.map +1 -0
  89. package/dist/modules/mfa/authenticateMfaRecoveryCode/authenticateMfaRecoveryCode.d.ts +7 -3
  90. package/dist/modules/mfa/authenticateMfaRecoveryCode/authenticateMfaRecoveryCode.d.ts.map +1 -1
  91. package/dist/modules/mfa/authenticatePasskeyMFA/authenticatePasskeyMFA.d.ts +6 -3
  92. package/dist/modules/mfa/authenticatePasskeyMFA/authenticatePasskeyMFA.d.ts.map +1 -1
  93. package/dist/modules/mfa/authenticateTotpMfaDevice/authenticateTotpMfaDevice.d.ts +6 -3
  94. package/dist/modules/mfa/authenticateTotpMfaDevice/authenticateTotpMfaDevice.d.ts.map +1 -1
  95. package/dist/modules/waas/createWaasProvider/createWaasProvider.d.ts.map +1 -1
  96. package/dist/modules/waas/setWaasWalletAccountPassword/index.d.ts +2 -0
  97. package/dist/modules/waas/setWaasWalletAccountPassword/index.d.ts.map +1 -0
  98. package/dist/modules/waas/setWaasWalletAccountPassword/setWaasWalletAccountPassword.d.ts +16 -0
  99. package/dist/modules/waas/setWaasWalletAccountPassword/setWaasWalletAccountPassword.d.ts.map +1 -0
  100. package/dist/modules/waas/waas.types.d.ts +4 -0
  101. package/dist/modules/waas/waas.types.d.ts.map +1 -1
  102. package/dist/modules/wallets/constants.d.ts.map +1 -1
  103. package/dist/modules/wallets/utils/getSignInMessage/getSignInMessage.d.ts.map +1 -1
  104. package/dist/modules/wallets/walletProvider/index.d.ts +1 -1
  105. package/dist/modules/wallets/walletProvider/index.d.ts.map +1 -1
  106. package/dist/modules/wallets/walletProvider/walletProvider.types.d.ts +15 -0
  107. package/dist/modules/wallets/walletProvider/walletProvider.types.d.ts.map +1 -1
  108. package/dist/services/crossTabBroadcast/createCrossTabBroadcast/createCrossTabBroadcast.d.ts.map +1 -1
  109. package/dist/services/crossTabBroadcast/crossTabBroadcast.schema.d.ts +1 -0
  110. package/dist/services/crossTabBroadcast/crossTabBroadcast.schema.d.ts.map +1 -1
  111. package/dist/services/crossTabBroadcast/crossTabBroadcast.types.d.ts +9 -6
  112. package/dist/services/crossTabBroadcast/crossTabBroadcast.types.d.ts.map +1 -1
  113. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  114. package/dist/utils/bufferToHex/bufferToHex.d.ts +2 -2
  115. package/dist/utils/bufferToHex/bufferToHex.d.ts.map +1 -1
  116. package/dist/utils/getNonce/getNonce.d.ts +3 -0
  117. package/dist/utils/getNonce/getNonce.d.ts.map +1 -0
  118. package/dist/utils/getNonce/index.d.ts +2 -0
  119. package/dist/utils/getNonce/index.d.ts.map +1 -0
  120. package/dist/waas.cjs.js +22 -4
  121. package/dist/waas.cjs.js.map +1 -1
  122. package/dist/waas.esm.js +21 -4
  123. package/dist/waas.esm.js.map +1 -1
  124. package/dist/waasCore.cjs.js +14 -4
  125. package/dist/waasCore.cjs.js.map +1 -1
  126. package/dist/waasCore.esm.js +13 -3
  127. package/dist/waasCore.esm.js.map +1 -1
  128. package/package.json +4 -4
  129. package/dist/getNetworkProviderFromNetworkId-BRin5Ty5.cjs.js.map +0 -1
  130. package/dist/getNetworkProviderFromNetworkId-D2FjIIXH.esm.js.map +0 -1
  131. package/dist/isMfaRequiredForAction-BHmylnPq.esm.js.map +0 -1
  132. package/dist/isMfaRequiredForAction-BzWbWDdR.cjs.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-Dyhydv4X.esm.js";
2
- import { C as isServerSideRendering, D as REFRESH_USER_STATE_FROM_COOKIE_TRACKER_KEY, E as INITIALIZE_STORAGE_SYNC_TRACKER_KEY, M as subscribeWithSelector, N as isEqualShallow, O as createStorageKeySchema, S as createDeferredPromise, T as GENERATE_SESSION_KEYS_TRACKER_KEY, _ as NoNetworkProvidersError, a as updateWalletProviderKeysForVerifiedCredentials, c as createSignInMessageStatement, d as createVisit, f as hasExtension, g as WalletAlreadyLinkedToAnotherUserError, h as isCaptchaRequired, i as getNetworksData, j as createLocalStorageAdapter, k as createStorage, l as formatSignInMessage, m as consumeCaptchaToken, o as verifyMessageSignatureOwnership, p as setCaptchaToken, s as removeUnverifiedWalletAccount, t as getNetworkProviderFromNetworkId, u as setUnverifiedWalletAccounts, v as createLogger, w as FETCH_PROJECT_SETTINGS_TRACKER_KEY, x as CannotTrackError, y as createCrossTabBroadcast } from "./getNetworkProviderFromNetworkId-D2FjIIXH.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-B5WBFgF2.esm.js";
4
- import { i as bufferToHex, n as getMfaMethods, r as consumeMfaToken, t as isMfaRequiredForAction } from "./isMfaRequiredForAction-BHmylnPq.esm.js";
5
- import { n as refreshAuth, t as NotWaasWalletAccountError } from "./NotWaasWalletAccountError-By6DOi1X.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";
@@ -117,47 +117,6 @@ const fetchProjectSettings = async (client = getDefaultClient()) => {
117
117
  return projectSettings;
118
118
  };
119
119
 
120
- //#endregion
121
- //#region src/utils/base64UrlDecode/base64UrlDecode.ts
122
- /**
123
- * Takes a base64url-encoded string (e.g. "nMueRPiAm51YXEjRtka8S_8Ura3HaqbmqDqMJCZmvkM")
124
- * and return the corresponding bytes, as an array buffer.
125
- */
126
- const base64UrlDecode = (s) => {
127
- s = s?.replace(/-/g, "+").replace(/_/g, "/") || "";
128
- return Uint8Array.from(atob(s), (c) => c.charCodeAt(0));
129
- };
130
-
131
- //#endregion
132
- //#region src/utils/compressRawPublicKey/compressRawPublicKey.ts
133
- /**
134
- * Accepts a public key array buffer, and returns a buffer with the compressed version of the public key
135
- */
136
- const compressRawPublicKey = (rawPublicKey) => {
137
- const rawPublicKeyBytes = new Uint8Array(rawPublicKey);
138
- const len = rawPublicKeyBytes.byteLength;
139
- const compressedBytes = rawPublicKeyBytes.slice(0, 1 + len >>> 1);
140
- compressedBytes[0] = 2 | rawPublicKeyBytes[len - 1] & 1;
141
- return compressedBytes.buffer;
142
- };
143
-
144
- //#endregion
145
- //#region src/utils/p256Keygen/p256Keygen.ts
146
- const p256Keygen = async () => {
147
- const p256Keypair = await crypto.subtle.generateKey({
148
- name: "ECDSA",
149
- namedCurve: "P-256"
150
- }, true, ["sign", "verify"]);
151
- const rawPublicKey = await crypto.subtle.exportKey("raw", p256Keypair.publicKey);
152
- const privateKeyJwk = await crypto.subtle.exportKey("jwk", p256Keypair.privateKey);
153
- const compressedPublicKeyBuffer = compressRawPublicKey(rawPublicKey);
154
- return {
155
- private: bufferToHex(base64UrlDecode(privateKeyJwk.d)),
156
- privateJwk: privateKeyJwk,
157
- public: bufferToHex(compressedPublicKeyBuffer)
158
- };
159
- };
160
-
161
120
  //#endregion
162
121
  //#region src/modules/sessionKeys/generateSessionKeys/generateSessionKeys.ts
163
122
  const generateSessionKeys = async (client) => {
@@ -950,6 +909,20 @@ const createDynamicClient = (config) => {
950
909
  return client;
951
910
  };
952
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
+
953
926
  //#endregion
954
927
  //#region src/errors/FeeEstimationFailedError.ts
955
928
  var FeeEstimationFailedError = class extends BaseError {
@@ -1762,6 +1735,176 @@ const getMultichainBalances = async ({ balanceRequest }, client = getDefaultClie
1762
1735
  })).chainBalances;
1763
1736
  };
1764
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
+
1765
1908
  //#endregion
1766
1909
  //#region src/modules/deviceRegistration/completeDeviceRegistration/completeDeviceRegistration.ts
1767
1910
  const DEVICE_REGISTRATION_TOKEN_HEADER = "x-dynamic-device-registration-token";
@@ -1829,7 +1972,7 @@ const detectDeviceRegistrationRedirect = ({ url }) => {
1829
1972
  const isDeviceRegistrationRequired = (client = getDefaultClient()) => {
1830
1973
  const user = client.user;
1831
1974
  assertDefined(user, "User not logged in");
1832
- return Boolean(user.scope?.includes("device:registration"));
1975
+ return Boolean(user.scope?.includes("device:register"));
1833
1976
  };
1834
1977
 
1835
1978
  //#endregion
@@ -2546,10 +2689,12 @@ const acknowledgeRecoveryCodes = async (client = getDefaultClient()) => {
2546
2689
  * one of their backup recovery codes when none of the registered MFA methods are available.
2547
2690
  *
2548
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.
2549
2694
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
2550
- * @returns A promise that resolves to the MFA authentication response with token.
2695
+ * @returns A promise that resolves to the MFA authentication response.
2551
2696
  */
2552
- const authenticateMfaRecoveryCode = async ({ code, createMfaTokenOptions }, client = getDefaultClient()) => {
2697
+ const authenticateMfaRecoveryCode = async ({ code, createMfaTokenOptions, requestedScopes }, client = getDefaultClient()) => {
2553
2698
  const core = getCore(client);
2554
2699
  const apiClient = createApiClient({}, client);
2555
2700
  try {
@@ -2557,7 +2702,8 @@ const authenticateMfaRecoveryCode = async ({ code, createMfaTokenOptions }, clie
2557
2702
  environmentId: core.environmentId,
2558
2703
  mFAAuthRecoveryDevicePostRequest: {
2559
2704
  code,
2560
- createMfaToken: createMfaTokenOptions
2705
+ createMfaToken: createMfaTokenOptions,
2706
+ requestedScopes
2561
2707
  }
2562
2708
  });
2563
2709
  updateAuthFromVerifyResponse({ response }, client);
@@ -2587,13 +2733,14 @@ const getPasskeyAuthenticationOptions = async ({ relatedOriginRpId } = {}, clien
2587
2733
 
2588
2734
  //#endregion
2589
2735
  //#region src/modules/auth/passkeys/serverAuthenticatePasskey/serverAuthenticatePasskey.ts
2590
- const serverAuthenticatePasskey = async ({ authentication, createMfaToken }, client) => {
2736
+ const serverAuthenticatePasskey = async ({ authentication, createMfaToken, requestedScopes }, client) => {
2591
2737
  const core = getCore(client);
2592
2738
  return await createApiClient({}, client).authenticateMfaPasskeyDevice({
2593
2739
  environmentId: core.environmentId,
2594
2740
  passkeyAuthRequest: {
2595
2741
  ...authentication,
2596
2742
  createMfaToken,
2743
+ requestedScopes,
2597
2744
  response: {
2598
2745
  ...authentication.response,
2599
2746
  clientDataJson: authentication.response.clientDataJSON
@@ -2610,13 +2757,14 @@ const serverAuthenticatePasskey = async ({ authentication, createMfaToken }, cli
2610
2757
  * This function prompts the user to authenticate with their registered
2611
2758
  * passkey to complete an MFA challenge and obtain an MFA token.
2612
2759
  *
2613
- * @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.
2614
2762
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
2615
2763
  * @returns A promise that resolves to the MFA authentication response.
2616
2764
  * @throws NoWebAuthNSupportError If WebAuthn is not supported by the browser.
2617
2765
  * @throws NoPasskeyCredentialsFoundError If no passkey credentials are found.
2618
2766
  */
2619
- const authenticatePasskeyMFA = async ({ createMfaToken, relatedOriginRpId } = {}, client = getDefaultClient()) => {
2767
+ const authenticatePasskeyMFA = async ({ createMfaToken, relatedOriginRpId, requestedScopes } = {}, client = getDefaultClient()) => {
2620
2768
  const core = getCore(client);
2621
2769
  try {
2622
2770
  if (!core.passkey.isSupported()) throw new NoWebAuthNSupportError();
@@ -2632,7 +2780,8 @@ const authenticatePasskeyMFA = async ({ createMfaToken, relatedOriginRpId } = {}
2632
2780
  };
2633
2781
  const response = await serverAuthenticatePasskey({
2634
2782
  authentication: await core.passkey.authenticate({ optionsJSON: formattedOptions }),
2635
- createMfaToken
2783
+ createMfaToken,
2784
+ requestedScopes
2636
2785
  }, client);
2637
2786
  updateAuthFromVerifyResponse({ response }, client);
2638
2787
  emitEvent({
@@ -2659,11 +2808,12 @@ const authenticatePasskeyMFA = async ({ createMfaToken, relatedOriginRpId } = {}
2659
2808
  *
2660
2809
  * @param params.code - The 6-digit TOTP code from the authenticator app.
2661
2810
  * @param [params.deviceId] - The ID of the specific TOTP device to authenticate with.
2662
- * @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.
2663
2813
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
2664
2814
  * @returns A promise that resolves to the MFA authentication response.
2665
2815
  */
2666
- const authenticateTotpMfaDevice = async ({ deviceId, code, createMfaTokenOptions }, client = getDefaultClient()) => {
2816
+ const authenticateTotpMfaDevice = async ({ deviceId, code, createMfaTokenOptions, requestedScopes }, client = getDefaultClient()) => {
2667
2817
  const core = getCore(client);
2668
2818
  const apiClient = createApiClient({}, client);
2669
2819
  try {
@@ -2672,7 +2822,8 @@ const authenticateTotpMfaDevice = async ({ deviceId, code, createMfaTokenOptions
2672
2822
  mFAAuthTotpDevicePostRequest: {
2673
2823
  code,
2674
2824
  createMfaToken: createMfaTokenOptions,
2675
- id: deviceId
2825
+ id: deviceId,
2826
+ requestedScopes
2676
2827
  }
2677
2828
  });
2678
2829
  updateAuthFromVerifyResponse({ response }, client);
@@ -4084,13 +4235,11 @@ const getChainIdForAccountVerification = async ({ walletProvider }) => {
4084
4235
  //#region src/modules/wallets/utils/getSignInMessage/getSignInMessage.ts
4085
4236
  const getSignInMessage = async ({ walletAccount }, client) => {
4086
4237
  const core = getCore(client);
4087
- const apiClient = createApiClient({}, client);
4088
4238
  const universalLink = core.metadata?.universalLink;
4089
4239
  assertDefined(universalLink, "Universal link is not set");
4090
4240
  const url = new URL(universalLink);
4091
4241
  const domain = url.host;
4092
- const { nonce } = await apiClient.getNonce({ environmentId: core.environmentId });
4093
- assertDefined(nonce, "Failed to get nonce");
4242
+ const nonce = await getNonce(client);
4094
4243
  const walletProvider = getWalletProviderFromWalletAccount({ walletAccount }, client);
4095
4244
  if (walletProvider.chain === "STARK")
4096
4245
  /**
@@ -4699,5 +4848,5 @@ const isIPad = (maxTouchPointsOverride) => {
4699
4848
  assertPackageVersion(name, version);
4700
4849
 
4701
4850
  //#endregion
4702
- 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 };
4703
4852
  //# sourceMappingURL=index.esm.js.map