@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.
- package/dist/{InvalidParamError-Dyhydv4X.esm.js → InvalidParamError-DQn49mNB.esm.js} +9 -4
- package/dist/{InvalidParamError-Dyhydv4X.esm.js.map → InvalidParamError-DQn49mNB.esm.js.map} +1 -1
- package/dist/{InvalidParamError-B83QXOQl.cjs.js → InvalidParamError-DVzrk97b.cjs.js} +10 -5
- package/dist/{InvalidParamError-B83QXOQl.cjs.js.map → InvalidParamError-DVzrk97b.cjs.js.map} +1 -1
- package/dist/{NotWaasWalletAccountError-By6DOi1X.esm.js → NotWaasWalletAccountError-D0BXVuKy.esm.js} +3 -3
- package/dist/{NotWaasWalletAccountError-By6DOi1X.esm.js.map → NotWaasWalletAccountError-D0BXVuKy.esm.js.map} +1 -1
- package/dist/{NotWaasWalletAccountError-C_XzpX9u.cjs.js → NotWaasWalletAccountError-IxbdRVGy.cjs.js} +3 -3
- package/dist/{NotWaasWalletAccountError-C_XzpX9u.cjs.js.map → NotWaasWalletAccountError-IxbdRVGy.cjs.js.map} +1 -1
- package/dist/core.cjs.js +66 -5
- package/dist/core.cjs.js.map +1 -1
- package/dist/core.esm.js +65 -6
- package/dist/core.esm.js.map +1 -1
- package/dist/errors/CheckoutSessionTokenMissingError.d.ts +7 -0
- package/dist/errors/CheckoutSessionTokenMissingError.d.ts.map +1 -0
- package/dist/exports/core.d.ts +5 -1
- package/dist/exports/core.d.ts.map +1 -1
- package/dist/exports/index.d.ts +18 -2
- package/dist/exports/index.d.ts.map +1 -1
- package/dist/exports/waas.d.ts +1 -0
- package/dist/exports/waas.d.ts.map +1 -1
- package/dist/{getNetworkProviderFromNetworkId-D2FjIIXH.esm.js → getNetworkProviderFromNetworkId-DMMnYrfG.esm.js} +66 -9
- package/dist/getNetworkProviderFromNetworkId-DMMnYrfG.esm.js.map +1 -0
- package/dist/{getNetworkProviderFromNetworkId-BRin5Ty5.cjs.js → getNetworkProviderFromNetworkId-z8WEapnj.cjs.js} +77 -8
- package/dist/getNetworkProviderFromNetworkId-z8WEapnj.cjs.js.map +1 -0
- package/dist/{getSignedSessionId-BE84R-V_.esm.js → getSignedSessionId-BKKO2mqj.esm.js} +4 -4
- package/dist/{getSignedSessionId-BE84R-V_.esm.js.map → getSignedSessionId-BKKO2mqj.esm.js.map} +1 -1
- package/dist/{getSignedSessionId-DqowqxuJ.cjs.js → getSignedSessionId-BdGOv_TA.cjs.js} +9 -3
- package/dist/{getSignedSessionId-DqowqxuJ.cjs.js.map → getSignedSessionId-BdGOv_TA.cjs.js.map} +1 -1
- package/dist/{getVerifiedCredentialForWalletAccount-CsHHUt3-.cjs.js → getVerifiedCredentialForWalletAccount-Ck7DNGPJ.cjs.js} +3 -3
- package/dist/{getVerifiedCredentialForWalletAccount-CsHHUt3-.cjs.js.map → getVerifiedCredentialForWalletAccount-Ck7DNGPJ.cjs.js.map} +1 -1
- package/dist/{getVerifiedCredentialForWalletAccount-B5WBFgF2.esm.js → getVerifiedCredentialForWalletAccount-DQ7g6O7y.esm.js} +2 -2
- package/dist/{getVerifiedCredentialForWalletAccount-B5WBFgF2.esm.js.map → getVerifiedCredentialForWalletAccount-DQ7g6O7y.esm.js.map} +1 -1
- package/dist/index.cjs.js +218 -61
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +210 -61
- package/dist/index.esm.js.map +1 -1
- package/dist/{isMfaRequiredForAction-BzWbWDdR.cjs.js → isMfaRequiredForAction-BINs954q.cjs.js} +4 -4
- package/dist/isMfaRequiredForAction-BINs954q.cjs.js.map +1 -0
- package/dist/{isMfaRequiredForAction-BHmylnPq.esm.js → isMfaRequiredForAction-MvVGc7k3.esm.js} +4 -4
- package/dist/isMfaRequiredForAction-MvVGc7k3.esm.js.map +1 -0
- package/dist/modules/auth/passkeys/serverAuthenticatePasskey/serverAuthenticatePasskey.d.ts +4 -2
- package/dist/modules/auth/passkeys/serverAuthenticatePasskey/serverAuthenticatePasskey.d.ts.map +1 -1
- package/dist/modules/checkout/attachCheckoutTransactionSource/attachCheckoutTransactionSource.d.ts +15 -0
- package/dist/modules/checkout/attachCheckoutTransactionSource/attachCheckoutTransactionSource.d.ts.map +1 -0
- package/dist/modules/checkout/attachCheckoutTransactionSource/index.d.ts +3 -0
- package/dist/modules/checkout/attachCheckoutTransactionSource/index.d.ts.map +1 -0
- package/dist/modules/checkout/broadcastCheckoutTransaction/broadcastCheckoutTransaction.d.ts +15 -0
- package/dist/modules/checkout/broadcastCheckoutTransaction/broadcastCheckoutTransaction.d.ts.map +1 -0
- package/dist/modules/checkout/broadcastCheckoutTransaction/index.d.ts +3 -0
- package/dist/modules/checkout/broadcastCheckoutTransaction/index.d.ts.map +1 -0
- package/dist/modules/checkout/cancelCheckoutTransaction/cancelCheckoutTransaction.d.ts +13 -0
- package/dist/modules/checkout/cancelCheckoutTransaction/cancelCheckoutTransaction.d.ts.map +1 -0
- package/dist/modules/checkout/cancelCheckoutTransaction/index.d.ts +3 -0
- package/dist/modules/checkout/cancelCheckoutTransaction/index.d.ts.map +1 -0
- package/dist/modules/checkout/checkout.types.d.ts +7 -0
- package/dist/modules/checkout/checkout.types.d.ts.map +1 -0
- package/dist/modules/checkout/createCheckoutTransaction/createCheckoutTransaction.d.ts +18 -0
- package/dist/modules/checkout/createCheckoutTransaction/createCheckoutTransaction.d.ts.map +1 -0
- package/dist/modules/checkout/createCheckoutTransaction/index.d.ts +3 -0
- package/dist/modules/checkout/createCheckoutTransaction/index.d.ts.map +1 -0
- package/dist/modules/checkout/getCheckoutTransaction/getCheckoutTransaction.d.ts +14 -0
- package/dist/modules/checkout/getCheckoutTransaction/getCheckoutTransaction.d.ts.map +1 -0
- package/dist/modules/checkout/getCheckoutTransaction/index.d.ts +3 -0
- package/dist/modules/checkout/getCheckoutTransaction/index.d.ts.map +1 -0
- package/dist/modules/checkout/getCheckoutTransactionQuote/getCheckoutTransactionQuote.d.ts +16 -0
- package/dist/modules/checkout/getCheckoutTransactionQuote/getCheckoutTransactionQuote.d.ts.map +1 -0
- package/dist/modules/checkout/getCheckoutTransactionQuote/index.d.ts +3 -0
- package/dist/modules/checkout/getCheckoutTransactionQuote/index.d.ts.map +1 -0
- package/dist/modules/checkout/prepareCheckoutTransaction/index.d.ts +3 -0
- package/dist/modules/checkout/prepareCheckoutTransaction/index.d.ts.map +1 -0
- package/dist/modules/checkout/prepareCheckoutTransaction/prepareCheckoutTransaction.d.ts +15 -0
- package/dist/modules/checkout/prepareCheckoutTransaction/prepareCheckoutTransaction.d.ts.map +1 -0
- package/dist/modules/checkout/utils/createCheckoutApiClient/createCheckoutApiClient.d.ts +13 -0
- package/dist/modules/checkout/utils/createCheckoutApiClient/createCheckoutApiClient.d.ts.map +1 -0
- package/dist/modules/checkout/utils/createCheckoutApiClient/index.d.ts +2 -0
- package/dist/modules/checkout/utils/createCheckoutApiClient/index.d.ts.map +1 -0
- package/dist/modules/checkout/utils/createCheckoutSessionTokenStorageKey/createCheckoutSessionTokenStorageKey.d.ts +2 -0
- package/dist/modules/checkout/utils/createCheckoutSessionTokenStorageKey/createCheckoutSessionTokenStorageKey.d.ts.map +1 -0
- package/dist/modules/checkout/utils/createCheckoutSessionTokenStorageKey/index.d.ts +2 -0
- package/dist/modules/checkout/utils/createCheckoutSessionTokenStorageKey/index.d.ts.map +1 -0
- package/dist/modules/deviceRegistration/getDeviceSigner/deviceSigningKeys.schema.d.ts +7 -0
- package/dist/modules/deviceRegistration/getDeviceSigner/deviceSigningKeys.schema.d.ts.map +1 -0
- package/dist/modules/deviceRegistration/getDeviceSigner/getDeviceSigner.d.ts +4 -0
- package/dist/modules/deviceRegistration/getDeviceSigner/getDeviceSigner.d.ts.map +1 -0
- package/dist/modules/deviceRegistration/getDeviceSigner/getOrCreateUserDeviceSigningKeys/getOrCreateUserDeviceSigningKeys.d.ts +9 -0
- package/dist/modules/deviceRegistration/getDeviceSigner/getOrCreateUserDeviceSigningKeys/getOrCreateUserDeviceSigningKeys.d.ts.map +1 -0
- package/dist/modules/deviceRegistration/getDeviceSigner/index.d.ts +2 -0
- package/dist/modules/deviceRegistration/getDeviceSigner/index.d.ts.map +1 -0
- package/dist/modules/mfa/authenticateMfaRecoveryCode/authenticateMfaRecoveryCode.d.ts +7 -3
- package/dist/modules/mfa/authenticateMfaRecoveryCode/authenticateMfaRecoveryCode.d.ts.map +1 -1
- package/dist/modules/mfa/authenticatePasskeyMFA/authenticatePasskeyMFA.d.ts +6 -3
- package/dist/modules/mfa/authenticatePasskeyMFA/authenticatePasskeyMFA.d.ts.map +1 -1
- package/dist/modules/mfa/authenticateTotpMfaDevice/authenticateTotpMfaDevice.d.ts +6 -3
- package/dist/modules/mfa/authenticateTotpMfaDevice/authenticateTotpMfaDevice.d.ts.map +1 -1
- package/dist/modules/waas/createWaasProvider/createWaasProvider.d.ts.map +1 -1
- package/dist/modules/waas/setWaasWalletAccountPassword/index.d.ts +2 -0
- package/dist/modules/waas/setWaasWalletAccountPassword/index.d.ts.map +1 -0
- package/dist/modules/waas/setWaasWalletAccountPassword/setWaasWalletAccountPassword.d.ts +16 -0
- package/dist/modules/waas/setWaasWalletAccountPassword/setWaasWalletAccountPassword.d.ts.map +1 -0
- package/dist/modules/waas/waas.types.d.ts +4 -0
- package/dist/modules/waas/waas.types.d.ts.map +1 -1
- package/dist/modules/wallets/constants.d.ts.map +1 -1
- package/dist/modules/wallets/utils/getSignInMessage/getSignInMessage.d.ts.map +1 -1
- package/dist/modules/wallets/walletProvider/index.d.ts +1 -1
- package/dist/modules/wallets/walletProvider/index.d.ts.map +1 -1
- package/dist/modules/wallets/walletProvider/walletProvider.types.d.ts +15 -0
- package/dist/modules/wallets/walletProvider/walletProvider.types.d.ts.map +1 -1
- package/dist/services/crossTabBroadcast/createCrossTabBroadcast/createCrossTabBroadcast.d.ts.map +1 -1
- package/dist/services/crossTabBroadcast/crossTabBroadcast.schema.d.ts +1 -0
- package/dist/services/crossTabBroadcast/crossTabBroadcast.schema.d.ts.map +1 -1
- package/dist/services/crossTabBroadcast/crossTabBroadcast.types.d.ts +9 -6
- package/dist/services/crossTabBroadcast/crossTabBroadcast.types.d.ts.map +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/utils/bufferToHex/bufferToHex.d.ts +2 -2
- package/dist/utils/bufferToHex/bufferToHex.d.ts.map +1 -1
- package/dist/utils/getNonce/getNonce.d.ts +3 -0
- package/dist/utils/getNonce/getNonce.d.ts.map +1 -0
- package/dist/utils/getNonce/index.d.ts +2 -0
- package/dist/utils/getNonce/index.d.ts.map +1 -0
- package/dist/waas.cjs.js +22 -4
- package/dist/waas.cjs.js.map +1 -1
- package/dist/waas.esm.js +21 -4
- package/dist/waas.esm.js.map +1 -1
- package/dist/waasCore.cjs.js +14 -4
- package/dist/waasCore.cjs.js.map +1 -1
- package/dist/waasCore.esm.js +13 -3
- package/dist/waasCore.esm.js.map +1 -1
- package/package.json +4 -4
- package/dist/getNetworkProviderFromNetworkId-BRin5Ty5.cjs.js.map +0 -1
- package/dist/getNetworkProviderFromNetworkId-D2FjIIXH.esm.js.map +0 -1
- package/dist/isMfaRequiredForAction-BHmylnPq.esm.js.map +0 -1
- package/dist/isMfaRequiredForAction-BzWbWDdR.cjs.js.map +0 -1
package/dist/index.cjs.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const require_getNetworkProviderFromNetworkId = require('./getNetworkProviderFromNetworkId-
|
|
2
|
-
const require_InvalidParamError = require('./InvalidParamError-
|
|
3
|
-
const require_getVerifiedCredentialForWalletAccount = require('./getVerifiedCredentialForWalletAccount-
|
|
4
|
-
const require_isMfaRequiredForAction = require('./isMfaRequiredForAction-
|
|
5
|
-
const require_NotWaasWalletAccountError = require('./NotWaasWalletAccountError-
|
|
1
|
+
const require_getNetworkProviderFromNetworkId = require('./getNetworkProviderFromNetworkId-z8WEapnj.cjs.js');
|
|
2
|
+
const require_InvalidParamError = require('./InvalidParamError-DVzrk97b.cjs.js');
|
|
3
|
+
const require_getVerifiedCredentialForWalletAccount = require('./getVerifiedCredentialForWalletAccount-Ck7DNGPJ.cjs.js');
|
|
4
|
+
const require_isMfaRequiredForAction = require('./isMfaRequiredForAction-BINs954q.cjs.js');
|
|
5
|
+
const require_NotWaasWalletAccountError = require('./NotWaasWalletAccountError-IxbdRVGy.cjs.js');
|
|
6
6
|
let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
|
|
7
7
|
let _dynamic_labs_sdk_api_core = require("@dynamic-labs/sdk-api-core");
|
|
8
8
|
let zod_mini = require("zod/mini");
|
|
@@ -119,51 +119,10 @@ const fetchProjectSettings = async (client = require_InvalidParamError.getDefaul
|
|
|
119
119
|
return projectSettings;
|
|
120
120
|
};
|
|
121
121
|
|
|
122
|
-
//#endregion
|
|
123
|
-
//#region src/utils/base64UrlDecode/base64UrlDecode.ts
|
|
124
|
-
/**
|
|
125
|
-
* Takes a base64url-encoded string (e.g. "nMueRPiAm51YXEjRtka8S_8Ura3HaqbmqDqMJCZmvkM")
|
|
126
|
-
* and return the corresponding bytes, as an array buffer.
|
|
127
|
-
*/
|
|
128
|
-
const base64UrlDecode = (s) => {
|
|
129
|
-
s = s?.replace(/-/g, "+").replace(/_/g, "/") || "";
|
|
130
|
-
return Uint8Array.from(atob(s), (c) => c.charCodeAt(0));
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
//#endregion
|
|
134
|
-
//#region src/utils/compressRawPublicKey/compressRawPublicKey.ts
|
|
135
|
-
/**
|
|
136
|
-
* Accepts a public key array buffer, and returns a buffer with the compressed version of the public key
|
|
137
|
-
*/
|
|
138
|
-
const compressRawPublicKey = (rawPublicKey) => {
|
|
139
|
-
const rawPublicKeyBytes = new Uint8Array(rawPublicKey);
|
|
140
|
-
const len = rawPublicKeyBytes.byteLength;
|
|
141
|
-
const compressedBytes = rawPublicKeyBytes.slice(0, 1 + len >>> 1);
|
|
142
|
-
compressedBytes[0] = 2 | rawPublicKeyBytes[len - 1] & 1;
|
|
143
|
-
return compressedBytes.buffer;
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
//#endregion
|
|
147
|
-
//#region src/utils/p256Keygen/p256Keygen.ts
|
|
148
|
-
const p256Keygen = async () => {
|
|
149
|
-
const p256Keypair = await crypto.subtle.generateKey({
|
|
150
|
-
name: "ECDSA",
|
|
151
|
-
namedCurve: "P-256"
|
|
152
|
-
}, true, ["sign", "verify"]);
|
|
153
|
-
const rawPublicKey = await crypto.subtle.exportKey("raw", p256Keypair.publicKey);
|
|
154
|
-
const privateKeyJwk = await crypto.subtle.exportKey("jwk", p256Keypair.privateKey);
|
|
155
|
-
const compressedPublicKeyBuffer = compressRawPublicKey(rawPublicKey);
|
|
156
|
-
return {
|
|
157
|
-
private: require_isMfaRequiredForAction.bufferToHex(base64UrlDecode(privateKeyJwk.d)),
|
|
158
|
-
privateJwk: privateKeyJwk,
|
|
159
|
-
public: require_isMfaRequiredForAction.bufferToHex(compressedPublicKeyBuffer)
|
|
160
|
-
};
|
|
161
|
-
};
|
|
162
|
-
|
|
163
122
|
//#endregion
|
|
164
123
|
//#region src/modules/sessionKeys/generateSessionKeys/generateSessionKeys.ts
|
|
165
124
|
const generateSessionKeys = async (client) => {
|
|
166
|
-
const { private: privateKey, public: publicKey, privateJwk: privateKeyJwk } = await p256Keygen();
|
|
125
|
+
const { private: privateKey, public: publicKey, privateJwk: privateKeyJwk } = await require_getNetworkProviderFromNetworkId.p256Keygen();
|
|
167
126
|
const core = require_InvalidParamError.getCore(client);
|
|
168
127
|
const stringifiedSessionKeys = JSON.stringify({
|
|
169
128
|
privateKey,
|
|
@@ -952,6 +911,20 @@ const createDynamicClient = (config) => {
|
|
|
952
911
|
return client;
|
|
953
912
|
};
|
|
954
913
|
|
|
914
|
+
//#endregion
|
|
915
|
+
//#region src/errors/CheckoutSessionTokenMissingError.ts
|
|
916
|
+
var CheckoutSessionTokenMissingError = class extends require_InvalidParamError.BaseError {
|
|
917
|
+
constructor({ transactionId }) {
|
|
918
|
+
super({
|
|
919
|
+
cause: null,
|
|
920
|
+
code: "checkout_session_token_missing",
|
|
921
|
+
docsUrl: null,
|
|
922
|
+
name: "CheckoutSessionTokenMissingError",
|
|
923
|
+
shortMessage: `No session token found for transaction ${transactionId}. Session tokens are issued once at transaction creation and cannot be recovered.`
|
|
924
|
+
});
|
|
925
|
+
}
|
|
926
|
+
};
|
|
927
|
+
|
|
955
928
|
//#endregion
|
|
956
929
|
//#region src/errors/FeeEstimationFailedError.ts
|
|
957
930
|
var FeeEstimationFailedError = class extends require_InvalidParamError.BaseError {
|
|
@@ -1764,6 +1737,176 @@ const getMultichainBalances = async ({ balanceRequest }, client = require_Invali
|
|
|
1764
1737
|
})).chainBalances;
|
|
1765
1738
|
};
|
|
1766
1739
|
|
|
1740
|
+
//#endregion
|
|
1741
|
+
//#region src/modules/checkout/utils/createCheckoutSessionTokenStorageKey/createCheckoutSessionTokenStorageKey.ts
|
|
1742
|
+
const createCheckoutSessionTokenStorageKey = (transactionId) => {
|
|
1743
|
+
return require_getNetworkProviderFromNetworkId.createStorageKeySchema({
|
|
1744
|
+
key: `checkoutSessionToken:${transactionId}`,
|
|
1745
|
+
schema: zod_mini.string()
|
|
1746
|
+
});
|
|
1747
|
+
};
|
|
1748
|
+
|
|
1749
|
+
//#endregion
|
|
1750
|
+
//#region src/modules/checkout/utils/createCheckoutApiClient/createCheckoutApiClient.ts
|
|
1751
|
+
const createCheckoutApiClient = async ({ transactionId }, client) => {
|
|
1752
|
+
const core = require_InvalidParamError.getCore(client);
|
|
1753
|
+
const apiClient = require_InvalidParamError.createApiClient({}, client);
|
|
1754
|
+
const sessionToken = await core.storage.getItem(createCheckoutSessionTokenStorageKey(transactionId));
|
|
1755
|
+
if (!sessionToken) throw new CheckoutSessionTokenMissingError({ transactionId });
|
|
1756
|
+
return {
|
|
1757
|
+
apiClient,
|
|
1758
|
+
environmentId: core.environmentId,
|
|
1759
|
+
sessionToken
|
|
1760
|
+
};
|
|
1761
|
+
};
|
|
1762
|
+
|
|
1763
|
+
//#endregion
|
|
1764
|
+
//#region src/modules/checkout/attachCheckoutTransactionSource/attachCheckoutTransactionSource.ts
|
|
1765
|
+
/**
|
|
1766
|
+
* Attaches a wallet source to a checkout transaction
|
|
1767
|
+
*
|
|
1768
|
+
* @param params AttachCheckoutTransactionSourceParams - The source details to attach.
|
|
1769
|
+
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1770
|
+
* @returns The updated checkout transaction
|
|
1771
|
+
*/
|
|
1772
|
+
const attachCheckoutTransactionSource = async ({ fromAddress, fromChainId, transactionId }, client = require_InvalidParamError.getDefaultClient()) => {
|
|
1773
|
+
const { apiClient, environmentId, sessionToken } = await createCheckoutApiClient({ transactionId }, client);
|
|
1774
|
+
return apiClient.attachSource({
|
|
1775
|
+
attachSourceRequest: {
|
|
1776
|
+
fromAddress,
|
|
1777
|
+
fromChainId,
|
|
1778
|
+
sourceType: "wallet"
|
|
1779
|
+
},
|
|
1780
|
+
environmentId,
|
|
1781
|
+
transactionId,
|
|
1782
|
+
xDynamicCheckoutSessionToken: sessionToken
|
|
1783
|
+
});
|
|
1784
|
+
};
|
|
1785
|
+
|
|
1786
|
+
//#endregion
|
|
1787
|
+
//#region src/modules/checkout/broadcastCheckoutTransaction/broadcastCheckoutTransaction.ts
|
|
1788
|
+
/**
|
|
1789
|
+
* Records the on-chain broadcast of a checkout transaction
|
|
1790
|
+
*
|
|
1791
|
+
* @param params BroadcastCheckoutTransactionParams - The transaction ID and tx hash.
|
|
1792
|
+
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1793
|
+
* @returns The updated checkout transaction
|
|
1794
|
+
*/
|
|
1795
|
+
const broadcastCheckoutTransaction = async ({ transactionId, txHash }, client = require_InvalidParamError.getDefaultClient()) => {
|
|
1796
|
+
const { apiClient, environmentId, sessionToken } = await createCheckoutApiClient({ transactionId }, client);
|
|
1797
|
+
return apiClient.recordCheckoutBroadcast({
|
|
1798
|
+
environmentId,
|
|
1799
|
+
recordBroadcastRequest: { txHash },
|
|
1800
|
+
transactionId,
|
|
1801
|
+
xDynamicCheckoutSessionToken: sessionToken
|
|
1802
|
+
});
|
|
1803
|
+
};
|
|
1804
|
+
|
|
1805
|
+
//#endregion
|
|
1806
|
+
//#region src/modules/checkout/cancelCheckoutTransaction/cancelCheckoutTransaction.ts
|
|
1807
|
+
/**
|
|
1808
|
+
* Cancels a checkout transaction before it has been broadcasted
|
|
1809
|
+
*
|
|
1810
|
+
* @param params CancelCheckoutTransactionParams - The transaction to cancel.
|
|
1811
|
+
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1812
|
+
* @returns The cancelled checkout transaction
|
|
1813
|
+
*/
|
|
1814
|
+
const cancelCheckoutTransaction = async ({ transactionId }, client = require_InvalidParamError.getDefaultClient()) => {
|
|
1815
|
+
const { apiClient, environmentId, sessionToken } = await createCheckoutApiClient({ transactionId }, client);
|
|
1816
|
+
const result = await apiClient.cancelCheckoutTransaction({
|
|
1817
|
+
environmentId,
|
|
1818
|
+
transactionId,
|
|
1819
|
+
xDynamicCheckoutSessionToken: sessionToken
|
|
1820
|
+
});
|
|
1821
|
+
await require_InvalidParamError.getCore(client).storage.removeItem(createCheckoutSessionTokenStorageKey(transactionId));
|
|
1822
|
+
return result;
|
|
1823
|
+
};
|
|
1824
|
+
|
|
1825
|
+
//#endregion
|
|
1826
|
+
//#region src/modules/checkout/createCheckoutTransaction/createCheckoutTransaction.ts
|
|
1827
|
+
/**
|
|
1828
|
+
* Creates a new checkout transaction and stores the session token for subsequent calls
|
|
1829
|
+
*
|
|
1830
|
+
* @param params CreateCheckoutTransactionParams - The parameters for the checkout transaction.
|
|
1831
|
+
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1832
|
+
* @returns The created transaction with session token
|
|
1833
|
+
*/
|
|
1834
|
+
const createCheckoutTransaction = async (params, client = require_InvalidParamError.getDefaultClient()) => {
|
|
1835
|
+
const core = require_InvalidParamError.getCore(client);
|
|
1836
|
+
const result = await require_InvalidParamError.createApiClient({}, client).createCheckoutTransaction({
|
|
1837
|
+
checkoutId: params.checkoutId,
|
|
1838
|
+
checkoutTransactionCreateRequest: {
|
|
1839
|
+
amount: params.amount,
|
|
1840
|
+
currency: params.currency,
|
|
1841
|
+
expiresIn: params.expiresIn,
|
|
1842
|
+
externalId: params.externalId
|
|
1843
|
+
},
|
|
1844
|
+
environmentId: core.environmentId
|
|
1845
|
+
});
|
|
1846
|
+
await core.storage.setItem(createCheckoutSessionTokenStorageKey(result.transaction.id), result.sessionToken);
|
|
1847
|
+
return result;
|
|
1848
|
+
};
|
|
1849
|
+
|
|
1850
|
+
//#endregion
|
|
1851
|
+
//#region src/modules/checkout/getCheckoutTransaction/getCheckoutTransaction.ts
|
|
1852
|
+
/**
|
|
1853
|
+
* Fetches the current state of a checkout transaction
|
|
1854
|
+
*
|
|
1855
|
+
* @param params GetCheckoutTransactionParams - The parameters for fetching the transaction.
|
|
1856
|
+
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1857
|
+
* @returns The checkout transaction
|
|
1858
|
+
*/
|
|
1859
|
+
const getCheckoutTransaction = async ({ transactionId }, client = require_InvalidParamError.getDefaultClient()) => {
|
|
1860
|
+
const core = require_InvalidParamError.getCore(client);
|
|
1861
|
+
return require_InvalidParamError.createApiClient({}, client).getCheckoutTransaction({
|
|
1862
|
+
environmentId: core.environmentId,
|
|
1863
|
+
transactionId
|
|
1864
|
+
});
|
|
1865
|
+
};
|
|
1866
|
+
|
|
1867
|
+
//#endregion
|
|
1868
|
+
//#region src/modules/checkout/getCheckoutTransactionQuote/getCheckoutTransactionQuote.ts
|
|
1869
|
+
/**
|
|
1870
|
+
* Fetches a quote for a checkout transaction
|
|
1871
|
+
*
|
|
1872
|
+
* @param params GetCheckoutTransactionQuoteParams - The quote parameters.
|
|
1873
|
+
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1874
|
+
* @returns The updated checkout transaction with quote data
|
|
1875
|
+
*/
|
|
1876
|
+
const getCheckoutTransactionQuote = async ({ fromTokenAddress, slippage, toTokenAddress, transactionId }, client = require_InvalidParamError.getDefaultClient()) => {
|
|
1877
|
+
const { apiClient, environmentId, sessionToken } = await createCheckoutApiClient({ transactionId }, client);
|
|
1878
|
+
return apiClient.quoteCheckoutTransaction({
|
|
1879
|
+
environmentId,
|
|
1880
|
+
quoteRequest: {
|
|
1881
|
+
fromTokenAddress,
|
|
1882
|
+
slippage,
|
|
1883
|
+
toTokenAddress
|
|
1884
|
+
},
|
|
1885
|
+
transactionId,
|
|
1886
|
+
xDynamicCheckoutSessionToken: sessionToken
|
|
1887
|
+
});
|
|
1888
|
+
};
|
|
1889
|
+
|
|
1890
|
+
//#endregion
|
|
1891
|
+
//#region src/modules/checkout/prepareCheckoutTransaction/prepareCheckoutTransaction.ts
|
|
1892
|
+
/**
|
|
1893
|
+
* Prepares a checkout transaction for signing
|
|
1894
|
+
* This should be called immediately before triggering the transaction signing.
|
|
1895
|
+
* It will confirm the quote is still valid, the risk state is cleared, and the transaction is ready to be signed.
|
|
1896
|
+
*
|
|
1897
|
+
* @param params PrepareCheckoutTransactionParams - The transaction to prepare.
|
|
1898
|
+
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1899
|
+
* @returns The updated checkout transaction
|
|
1900
|
+
*/
|
|
1901
|
+
const prepareCheckoutTransaction = async ({ transactionId }, client = require_InvalidParamError.getDefaultClient()) => {
|
|
1902
|
+
const { apiClient, environmentId, sessionToken } = await createCheckoutApiClient({ transactionId }, client);
|
|
1903
|
+
return apiClient.prepareCheckoutTransaction({
|
|
1904
|
+
environmentId,
|
|
1905
|
+
transactionId,
|
|
1906
|
+
xDynamicCheckoutSessionToken: sessionToken
|
|
1907
|
+
});
|
|
1908
|
+
};
|
|
1909
|
+
|
|
1767
1910
|
//#endregion
|
|
1768
1911
|
//#region src/modules/deviceRegistration/completeDeviceRegistration/completeDeviceRegistration.ts
|
|
1769
1912
|
const DEVICE_REGISTRATION_TOKEN_HEADER = "x-dynamic-device-registration-token";
|
|
@@ -1831,7 +1974,7 @@ const detectDeviceRegistrationRedirect = ({ url }) => {
|
|
|
1831
1974
|
const isDeviceRegistrationRequired = (client = require_InvalidParamError.getDefaultClient()) => {
|
|
1832
1975
|
const user = client.user;
|
|
1833
1976
|
require_InvalidParamError.assertDefined(user, "User not logged in");
|
|
1834
|
-
return Boolean(user.scope?.includes("device:
|
|
1977
|
+
return Boolean(user.scope?.includes("device:register"));
|
|
1835
1978
|
};
|
|
1836
1979
|
|
|
1837
1980
|
//#endregion
|
|
@@ -2548,10 +2691,12 @@ const acknowledgeRecoveryCodes = async (client = require_InvalidParamError.getDe
|
|
|
2548
2691
|
* one of their backup recovery codes when none of the registered MFA methods are available.
|
|
2549
2692
|
*
|
|
2550
2693
|
* @param params.code - The recovery code to authenticate with.
|
|
2694
|
+
* @param [params.createMfaTokenOptions] - @deprecated Use `requestedScopes` instead. Optional configuration for MFA token creation.
|
|
2695
|
+
* @param [params.requestedScopes] - Optional scopes to request an elevated access token instead of an MFA token.
|
|
2551
2696
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
2552
|
-
* @returns A promise that resolves to the MFA authentication response
|
|
2697
|
+
* @returns A promise that resolves to the MFA authentication response.
|
|
2553
2698
|
*/
|
|
2554
|
-
const authenticateMfaRecoveryCode = async ({ code, createMfaTokenOptions }, client = require_InvalidParamError.getDefaultClient()) => {
|
|
2699
|
+
const authenticateMfaRecoveryCode = async ({ code, createMfaTokenOptions, requestedScopes }, client = require_InvalidParamError.getDefaultClient()) => {
|
|
2555
2700
|
const core = require_InvalidParamError.getCore(client);
|
|
2556
2701
|
const apiClient = require_InvalidParamError.createApiClient({}, client);
|
|
2557
2702
|
try {
|
|
@@ -2559,7 +2704,8 @@ const authenticateMfaRecoveryCode = async ({ code, createMfaTokenOptions }, clie
|
|
|
2559
2704
|
environmentId: core.environmentId,
|
|
2560
2705
|
mFAAuthRecoveryDevicePostRequest: {
|
|
2561
2706
|
code,
|
|
2562
|
-
createMfaToken: createMfaTokenOptions
|
|
2707
|
+
createMfaToken: createMfaTokenOptions,
|
|
2708
|
+
requestedScopes
|
|
2563
2709
|
}
|
|
2564
2710
|
});
|
|
2565
2711
|
require_getVerifiedCredentialForWalletAccount.updateAuthFromVerifyResponse({ response }, client);
|
|
@@ -2589,13 +2735,14 @@ const getPasskeyAuthenticationOptions = async ({ relatedOriginRpId } = {}, clien
|
|
|
2589
2735
|
|
|
2590
2736
|
//#endregion
|
|
2591
2737
|
//#region src/modules/auth/passkeys/serverAuthenticatePasskey/serverAuthenticatePasskey.ts
|
|
2592
|
-
const serverAuthenticatePasskey = async ({ authentication, createMfaToken }, client) => {
|
|
2738
|
+
const serverAuthenticatePasskey = async ({ authentication, createMfaToken, requestedScopes }, client) => {
|
|
2593
2739
|
const core = require_InvalidParamError.getCore(client);
|
|
2594
2740
|
return await require_InvalidParamError.createApiClient({}, client).authenticateMfaPasskeyDevice({
|
|
2595
2741
|
environmentId: core.environmentId,
|
|
2596
2742
|
passkeyAuthRequest: {
|
|
2597
2743
|
...authentication,
|
|
2598
2744
|
createMfaToken,
|
|
2745
|
+
requestedScopes,
|
|
2599
2746
|
response: {
|
|
2600
2747
|
...authentication.response,
|
|
2601
2748
|
clientDataJson: authentication.response.clientDataJSON
|
|
@@ -2612,13 +2759,14 @@ const serverAuthenticatePasskey = async ({ authentication, createMfaToken }, cli
|
|
|
2612
2759
|
* This function prompts the user to authenticate with their registered
|
|
2613
2760
|
* passkey to complete an MFA challenge and obtain an MFA token.
|
|
2614
2761
|
*
|
|
2615
|
-
* @param [params.createMfaToken] - Optional configuration for MFA token creation.
|
|
2762
|
+
* @param [params.createMfaToken] - @deprecated Use `requestedScopes` instead. Optional configuration for MFA token creation.
|
|
2763
|
+
* @param [params.requestedScopes] - Optional scopes to request an elevated access token instead of an MFA token.
|
|
2616
2764
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
2617
2765
|
* @returns A promise that resolves to the MFA authentication response.
|
|
2618
2766
|
* @throws NoWebAuthNSupportError If WebAuthn is not supported by the browser.
|
|
2619
2767
|
* @throws NoPasskeyCredentialsFoundError If no passkey credentials are found.
|
|
2620
2768
|
*/
|
|
2621
|
-
const authenticatePasskeyMFA = async ({ createMfaToken, relatedOriginRpId } = {}, client = require_InvalidParamError.getDefaultClient()) => {
|
|
2769
|
+
const authenticatePasskeyMFA = async ({ createMfaToken, relatedOriginRpId, requestedScopes } = {}, client = require_InvalidParamError.getDefaultClient()) => {
|
|
2622
2770
|
const core = require_InvalidParamError.getCore(client);
|
|
2623
2771
|
try {
|
|
2624
2772
|
if (!core.passkey.isSupported()) throw new NoWebAuthNSupportError();
|
|
@@ -2634,7 +2782,8 @@ const authenticatePasskeyMFA = async ({ createMfaToken, relatedOriginRpId } = {}
|
|
|
2634
2782
|
};
|
|
2635
2783
|
const response = await serverAuthenticatePasskey({
|
|
2636
2784
|
authentication: await core.passkey.authenticate({ optionsJSON: formattedOptions }),
|
|
2637
|
-
createMfaToken
|
|
2785
|
+
createMfaToken,
|
|
2786
|
+
requestedScopes
|
|
2638
2787
|
}, client);
|
|
2639
2788
|
require_getVerifiedCredentialForWalletAccount.updateAuthFromVerifyResponse({ response }, client);
|
|
2640
2789
|
require_getVerifiedCredentialForWalletAccount.emitEvent({
|
|
@@ -2661,11 +2810,12 @@ const authenticatePasskeyMFA = async ({ createMfaToken, relatedOriginRpId } = {}
|
|
|
2661
2810
|
*
|
|
2662
2811
|
* @param params.code - The 6-digit TOTP code from the authenticator app.
|
|
2663
2812
|
* @param [params.deviceId] - The ID of the specific TOTP device to authenticate with.
|
|
2664
|
-
* @param [params.createMfaTokenOptions] - Optional configuration for MFA token creation.
|
|
2813
|
+
* @param [params.createMfaTokenOptions] - @deprecated Use `requestedScopes` instead. Optional configuration for MFA token creation.
|
|
2814
|
+
* @param [params.requestedScopes] - Optional scopes to request an elevated access token instead of an MFA token.
|
|
2665
2815
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
2666
2816
|
* @returns A promise that resolves to the MFA authentication response.
|
|
2667
2817
|
*/
|
|
2668
|
-
const authenticateTotpMfaDevice = async ({ deviceId, code, createMfaTokenOptions }, client = require_InvalidParamError.getDefaultClient()) => {
|
|
2818
|
+
const authenticateTotpMfaDevice = async ({ deviceId, code, createMfaTokenOptions, requestedScopes }, client = require_InvalidParamError.getDefaultClient()) => {
|
|
2669
2819
|
const core = require_InvalidParamError.getCore(client);
|
|
2670
2820
|
const apiClient = require_InvalidParamError.createApiClient({}, client);
|
|
2671
2821
|
try {
|
|
@@ -2674,7 +2824,8 @@ const authenticateTotpMfaDevice = async ({ deviceId, code, createMfaTokenOptions
|
|
|
2674
2824
|
mFAAuthTotpDevicePostRequest: {
|
|
2675
2825
|
code,
|
|
2676
2826
|
createMfaToken: createMfaTokenOptions,
|
|
2677
|
-
id: deviceId
|
|
2827
|
+
id: deviceId,
|
|
2828
|
+
requestedScopes
|
|
2678
2829
|
}
|
|
2679
2830
|
});
|
|
2680
2831
|
require_getVerifiedCredentialForWalletAccount.updateAuthFromVerifyResponse({ response }, client);
|
|
@@ -4086,13 +4237,11 @@ const getChainIdForAccountVerification = async ({ walletProvider }) => {
|
|
|
4086
4237
|
//#region src/modules/wallets/utils/getSignInMessage/getSignInMessage.ts
|
|
4087
4238
|
const getSignInMessage = async ({ walletAccount }, client) => {
|
|
4088
4239
|
const core = require_InvalidParamError.getCore(client);
|
|
4089
|
-
const apiClient = require_InvalidParamError.createApiClient({}, client);
|
|
4090
4240
|
const universalLink = core.metadata?.universalLink;
|
|
4091
4241
|
require_InvalidParamError.assertDefined(universalLink, "Universal link is not set");
|
|
4092
4242
|
const url = new URL(universalLink);
|
|
4093
4243
|
const domain = url.host;
|
|
4094
|
-
const
|
|
4095
|
-
require_InvalidParamError.assertDefined(nonce, "Failed to get nonce");
|
|
4244
|
+
const nonce = await require_getNetworkProviderFromNetworkId.getNonce(client);
|
|
4096
4245
|
const walletProvider = require_getVerifiedCredentialForWalletAccount.getWalletProviderFromWalletAccount({ walletAccount }, client);
|
|
4097
4246
|
if (walletProvider.chain === "STARK")
|
|
4098
4247
|
/**
|
|
@@ -4702,6 +4851,7 @@ const isIPad = (maxTouchPointsOverride) => {
|
|
|
4702
4851
|
|
|
4703
4852
|
//#endregion
|
|
4704
4853
|
exports.BaseError = require_InvalidParamError.BaseError;
|
|
4854
|
+
exports.CheckoutSessionTokenMissingError = CheckoutSessionTokenMissingError;
|
|
4705
4855
|
exports.ClientAlreadyInitializedError = ClientAlreadyInitializedError;
|
|
4706
4856
|
exports.FeeEstimationFailedError = FeeEstimationFailedError;
|
|
4707
4857
|
exports.InvalidDeviceRegistrationRedirectError = InvalidDeviceRegistrationRedirectError;
|
|
@@ -4744,16 +4894,20 @@ exports.addCoinbaseOnrampOrderEventListener = addCoinbaseOnrampOrderEventListene
|
|
|
4744
4894
|
exports.addNetwork = addNetwork;
|
|
4745
4895
|
exports.assertWalletAccountSigningAvailability = assertWalletAccountSigningAvailability;
|
|
4746
4896
|
exports.assertWalletProviderMethodDefined = assertWalletProviderMethodDefined;
|
|
4897
|
+
exports.attachCheckoutTransactionSource = attachCheckoutTransactionSource;
|
|
4747
4898
|
exports.authenticateMfaRecoveryCode = authenticateMfaRecoveryCode;
|
|
4748
4899
|
exports.authenticatePasskeyMFA = authenticatePasskeyMFA;
|
|
4749
4900
|
exports.authenticateTotpMfaDevice = authenticateTotpMfaDevice;
|
|
4750
4901
|
exports.authenticateWithSocial = authenticateWithSocial;
|
|
4902
|
+
exports.broadcastCheckoutTransaction = broadcastCheckoutTransaction;
|
|
4751
4903
|
exports.canConnectWithHardwareWallet = canConnectWithHardwareWallet;
|
|
4904
|
+
exports.cancelCheckoutTransaction = cancelCheckoutTransaction;
|
|
4752
4905
|
exports.completeDeviceRegistration = completeDeviceRegistration;
|
|
4753
4906
|
exports.completeSocialAuthentication = completeSocialAuthentication;
|
|
4754
4907
|
exports.connectAndVerifyWithWalletProvider = connectAndVerifyWithWalletProvider;
|
|
4755
4908
|
exports.connectWithWalletProvider = connectWithWalletProvider;
|
|
4756
4909
|
exports.consumeMfaToken = require_isMfaRequiredForAction.consumeMfaToken;
|
|
4910
|
+
exports.createCheckoutTransaction = createCheckoutTransaction;
|
|
4757
4911
|
exports.createCoinbaseOnrampOrder = createCoinbaseOnrampOrder;
|
|
4758
4912
|
exports.createCryptoDotComPayment = createCryptoDotComPayment;
|
|
4759
4913
|
exports.createDynamicClient = createDynamicClient;
|
|
@@ -4770,6 +4924,8 @@ exports.getActiveNetworkId = getActiveNetworkId;
|
|
|
4770
4924
|
exports.getAvailableWalletProvidersData = getAvailableWalletProvidersData;
|
|
4771
4925
|
exports.getBalance = getBalance;
|
|
4772
4926
|
exports.getBalanceForAddress = getBalanceForAddress;
|
|
4927
|
+
exports.getCheckoutTransaction = getCheckoutTransaction;
|
|
4928
|
+
exports.getCheckoutTransactionQuote = getCheckoutTransactionQuote;
|
|
4773
4929
|
exports.getCoinbaseBuyUrl = getCoinbaseBuyUrl;
|
|
4774
4930
|
exports.getConnectedAddresses = getConnectedAddresses;
|
|
4775
4931
|
exports.getDefaultClient = require_InvalidParamError.getDefaultClient;
|
|
@@ -4813,6 +4969,7 @@ exports.offWalletProviderEvent = offWalletProviderEvent;
|
|
|
4813
4969
|
exports.onEvent = require_getVerifiedCredentialForWalletAccount.onEvent;
|
|
4814
4970
|
exports.onWalletProviderEvent = onWalletProviderEvent;
|
|
4815
4971
|
exports.onceEvent = require_getVerifiedCredentialForWalletAccount.onceEvent;
|
|
4972
|
+
exports.prepareCheckoutTransaction = prepareCheckoutTransaction;
|
|
4816
4973
|
exports.proveWalletAccountOwnership = proveWalletAccountOwnership;
|
|
4817
4974
|
exports.refreshAuth = require_NotWaasWalletAccountError.refreshAuth;
|
|
4818
4975
|
exports.refreshUser = refreshUser;
|