@turnkey/core 1.12.0 → 1.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/__clients__/core.d.ts +22 -2
- package/dist/__clients__/core.d.ts.map +1 -1
- package/dist/__clients__/core.js +77 -29
- package/dist/__clients__/core.js.map +1 -1
- package/dist/__clients__/core.mjs +77 -29
- package/dist/__clients__/core.mjs.map +1 -1
- package/dist/__generated__/sdk-client-base.d.ts +18 -0
- package/dist/__generated__/sdk-client-base.d.ts.map +1 -1
- package/dist/__generated__/sdk-client-base.js +243 -1
- package/dist/__generated__/sdk-client-base.js.map +1 -1
- package/dist/__generated__/sdk-client-base.mjs +243 -1
- package/dist/__generated__/sdk-client-base.mjs.map +1 -1
- package/dist/__generated__/version.d.ts +1 -1
- package/dist/__generated__/version.js +1 -1
- package/dist/__generated__/version.mjs +1 -1
- package/dist/__types__/method-types/shared.d.ts +17 -0
- package/dist/__types__/method-types/shared.d.ts.map +1 -1
- package/dist/__wallet__/web/native/solana.js +1 -1
- package/dist/__wallet__/web/native/solana.js.map +1 -1
- package/dist/__wallet__/web/native/solana.mjs +1 -1
- package/dist/__wallet__/web/native/solana.mjs.map +1 -1
- package/dist/utils.mjs +1 -1
- package/package.json +9 -8
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TurnkeySDKClientBase } from "../__generated__/sdk-client-base";
|
|
2
2
|
import { type TDeleteSubOrganizationResponse, type Session, type TStampLoginResponse, type v1SignRawPayloadResult, type v1User, type ProxyTGetWalletKitConfigResponse, type v1PrivateKey, type WalletAuthResult, type BaseAuthResult, type PasskeyAuthResult, type v1BootProof, type TGetSendTransactionStatusResponse, AuthAction } from "@turnkey/sdk-types";
|
|
3
|
-
import { Chain, type ExportBundle, type TurnkeySDKClientConfig, type WalletAccount, type Wallet, type WalletManagerBase, type WalletProvider, type CreatePasskeyParams, type CreatePasskeyResult, type LogoutParams, type LoginWithPasskeyParams, type SignUpWithPasskeyParams, type SwitchWalletAccountChainParams, type LoginWithWalletParams, type SignUpWithWalletParams, type LoginOrSignupWithWalletParams, type InitOtpParams, type VerifyOtpParams, type VerifyOtpResult, type LoginWithOtpParams, type SignUpWithOtpParams, type CompleteOtpParams, type CompleteOauthParams, type LoginWithOauthParams, type SignUpWithOauthParams, type FetchWalletsParams, type FetchWalletAccountsParams, type FetchPrivateKeysParams, type SignMessageParams, type SignTransactionParams, type SignAndSendTransactionParams, type EthSendTransactionParams, type SolSendTransactionParams, type FetchUserParams, type FetchOrCreateP256ApiKeyUserParams, type FetchOrCreatePoliciesParams, type FetchOrCreatePoliciesResult, type UpdateUserEmailParams, type RemoveUserEmailParams, type UpdateUserPhoneNumberParams, type RemoveUserPhoneNumberParams, type UpdateUserNameParams, type AddOauthProviderParams, type RemoveOauthProvidersParams, type AddPasskeyParams, type RemovePasskeyParams, type CreateWalletParams, type CreateWalletAccountsParams, type ExportWalletParams, type ExportPrivateKeyParams, type ExportWalletAccountParams, type ImportWalletParams, type ImportPrivateKeyParams, type DeleteSubOrganizationParams, type StoreSessionParams, type ClearSessionParams, type RefreshSessionParams, type GetSessionParams, type SetActiveSessionParams, type CreateApiKeyPairParams, type FetchBootProofForAppProofParams, type CreateHttpClientParams, type BuildWalletLoginRequestResult, type BuildWalletLoginRequestParams, type VerifyAppProofsParams, type PollTransactionStatusParams } from "../__types__";
|
|
3
|
+
import { Chain, type ExportBundle, type TurnkeySDKClientConfig, type WalletAccount, type Wallet, type WalletManagerBase, type WalletProvider, type CreatePasskeyParams, type CreatePasskeyResult, type LogoutParams, type LoginWithPasskeyParams, type SignUpWithPasskeyParams, type SwitchWalletAccountChainParams, type LoginWithWalletParams, type SignUpWithWalletParams, type LoginOrSignupWithWalletParams, type InitOtpParams, type VerifyOtpParams, type VerifyOtpResult, type LoginWithOtpParams, type SignUpWithOtpParams, type CompleteOtpParams, type CompleteOauthParams, type LoginWithOauthParams, type SignUpWithOauthParams, type FetchWalletsParams, type FetchWalletAccountsParams, type FetchPrivateKeysParams, type SignMessageParams, type SignTransactionParams, type SignAndSendTransactionParams, type EthSendErc20TransferParams, type EthSendTransactionParams, type SolSendTransactionParams, type FetchUserParams, type FetchOrCreateP256ApiKeyUserParams, type FetchOrCreatePoliciesParams, type FetchOrCreatePoliciesResult, type UpdateUserEmailParams, type RemoveUserEmailParams, type UpdateUserPhoneNumberParams, type RemoveUserPhoneNumberParams, type UpdateUserNameParams, type AddOauthProviderParams, type RemoveOauthProvidersParams, type AddPasskeyParams, type RemovePasskeyParams, type CreateWalletParams, type CreateWalletAccountsParams, type ExportWalletParams, type ExportPrivateKeyParams, type ExportWalletAccountParams, type ImportWalletParams, type ImportPrivateKeyParams, type DeleteSubOrganizationParams, type StoreSessionParams, type ClearSessionParams, type RefreshSessionParams, type GetSessionParams, type SetActiveSessionParams, type CreateApiKeyPairParams, type FetchBootProofForAppProofParams, type CreateHttpClientParams, type BuildWalletLoginRequestResult, type BuildWalletLoginRequestParams, type VerifyAppProofsParams, type PollTransactionStatusParams } from "../__types__";
|
|
4
4
|
import { CrossPlatformApiKeyStamper } from "../__stampers__/api/base";
|
|
5
5
|
import { CrossPlatformPasskeyStamper } from "../__stampers__/passkey/base";
|
|
6
6
|
/**
|
|
@@ -548,6 +548,26 @@ export declare class TurnkeyClient {
|
|
|
548
548
|
* @throws {TurnkeyError} If the wallet type is unsupported, or if signing/broadcasting fails.
|
|
549
549
|
*/
|
|
550
550
|
signAndSendTransaction: (params: SignAndSendTransactionParams) => Promise<string>;
|
|
551
|
+
/**
|
|
552
|
+
* @beta
|
|
553
|
+
* * **API subject to change**
|
|
554
|
+
*
|
|
555
|
+
* Signs and submits an ERC20 `transfer(address,uint256)` as an Ethereum transaction
|
|
556
|
+
* using a Turnkey-managed (embedded) wallet.
|
|
557
|
+
*
|
|
558
|
+
* This is a convenience wrapper around `ethSendTransaction`:
|
|
559
|
+
* - Encodes ERC20 transfer calldata.
|
|
560
|
+
* - Sends a transaction to the token contract.
|
|
561
|
+
* - Returns a `sendTransactionStatusId` for polling with `pollTransactionStatus`.
|
|
562
|
+
*
|
|
563
|
+
* @param params.organizationId - Organization ID to execute the transaction under.
|
|
564
|
+
* Defaults to the active session's organization.
|
|
565
|
+
* @param params.stampWith - Optional stamper to authorize signing (e.g., passkey).
|
|
566
|
+
* @param params.transfer - ERC20 transfer parameters.
|
|
567
|
+
* @returns A promise resolving to the `sendTransactionStatusId`.
|
|
568
|
+
* @throws {TurnkeyError} If amount encoding fails or Turnkey rejects the transaction.
|
|
569
|
+
*/
|
|
570
|
+
ethSendErc20Transfer: (params: EthSendErc20TransferParams) => Promise<string>;
|
|
551
571
|
/**
|
|
552
572
|
* @beta
|
|
553
573
|
* * **API subject to change**
|
|
@@ -566,7 +586,7 @@ export declare class TurnkeyClient {
|
|
|
566
586
|
*
|
|
567
587
|
* - **Embedded wallets**
|
|
568
588
|
* - Constructs the payload for Turnkey's `eth_send_transaction` endpoint.
|
|
569
|
-
* -
|
|
589
|
+
* - Forwards transaction fields directly to Turnkey's coordinator.
|
|
570
590
|
* - Signs and submits the transaction through Turnkey.
|
|
571
591
|
* - Returns a `sendTransactionStatusId`, which the caller must pass to
|
|
572
592
|
* `pollTransactionStatus` to obtain the final result (tx hash + status).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/__clients__/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EACL,KAAK,8BAA8B,EACnC,KAAK,OAAO,EACZ,KAAK,mBAAmB,EAExB,KAAK,sBAAsB,EAC3B,KAAK,MAAM,EACX,KAAK,gCAAgC,EAErC,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAEtB,KAAK,WAAW,EAGhB,KAAK,iCAAiC,EAOtC,UAAU,EACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAML,KAAK,EAKL,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,MAAM,EAMX,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAGnB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,iCAAiC,EACtC,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EACjC,MAAM,cAAc,CAAC;AA+BtB,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/__clients__/core.ts"],"names":[],"mappings":"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"}
|
package/dist/__clients__/core.js
CHANGED
|
@@ -14,7 +14,20 @@ var base$3 = require('../__wallet__/base.js');
|
|
|
14
14
|
var ethers = require('ethers');
|
|
15
15
|
var crypto = require('@turnkey/crypto');
|
|
16
16
|
var apiKeyStamper = require('@turnkey/api-key-stamper');
|
|
17
|
+
var viem = require('viem');
|
|
17
18
|
|
|
19
|
+
const ERC20_TRANSFER_ABI = [
|
|
20
|
+
{
|
|
21
|
+
type: "function",
|
|
22
|
+
name: "transfer",
|
|
23
|
+
stateMutability: "nonpayable",
|
|
24
|
+
inputs: [
|
|
25
|
+
{ name: "to", type: "address" },
|
|
26
|
+
{ name: "amount", type: "uint256" },
|
|
27
|
+
],
|
|
28
|
+
outputs: [{ name: "success", type: "bool" }],
|
|
29
|
+
},
|
|
30
|
+
];
|
|
18
31
|
class TurnkeyClient {
|
|
19
32
|
constructor(config,
|
|
20
33
|
// Users can pass in their own stampers, or we will create them. Should we remove this?
|
|
@@ -132,7 +145,7 @@ class TurnkeyClient {
|
|
|
132
145
|
* @throws {TurnkeyError} If there is no active session or if there is an error during the logout process.
|
|
133
146
|
*/
|
|
134
147
|
this.logout = async (params) => {
|
|
135
|
-
utils.withTurnkeyErrorHandling(async () => {
|
|
148
|
+
return utils.withTurnkeyErrorHandling(async () => {
|
|
136
149
|
if (params?.sessionKey) {
|
|
137
150
|
const session = await this.storageManager.getSession(params.sessionKey);
|
|
138
151
|
this.storageManager.clearSession(params.sessionKey);
|
|
@@ -1722,6 +1735,61 @@ class TurnkeyClient {
|
|
|
1722
1735
|
errorCode: sdkTypes.TurnkeyErrorCodes.SIGN_AND_SEND_TRANSACTION_ERROR,
|
|
1723
1736
|
});
|
|
1724
1737
|
};
|
|
1738
|
+
/**
|
|
1739
|
+
* @beta
|
|
1740
|
+
* * **API subject to change**
|
|
1741
|
+
*
|
|
1742
|
+
* Signs and submits an ERC20 `transfer(address,uint256)` as an Ethereum transaction
|
|
1743
|
+
* using a Turnkey-managed (embedded) wallet.
|
|
1744
|
+
*
|
|
1745
|
+
* This is a convenience wrapper around `ethSendTransaction`:
|
|
1746
|
+
* - Encodes ERC20 transfer calldata.
|
|
1747
|
+
* - Sends a transaction to the token contract.
|
|
1748
|
+
* - Returns a `sendTransactionStatusId` for polling with `pollTransactionStatus`.
|
|
1749
|
+
*
|
|
1750
|
+
* @param params.organizationId - Organization ID to execute the transaction under.
|
|
1751
|
+
* Defaults to the active session's organization.
|
|
1752
|
+
* @param params.stampWith - Optional stamper to authorize signing (e.g., passkey).
|
|
1753
|
+
* @param params.transfer - ERC20 transfer parameters.
|
|
1754
|
+
* @returns A promise resolving to the `sendTransactionStatusId`.
|
|
1755
|
+
* @throws {TurnkeyError} If amount encoding fails or Turnkey rejects the transaction.
|
|
1756
|
+
*/
|
|
1757
|
+
this.ethSendErc20Transfer = async (params) => {
|
|
1758
|
+
const { organizationId, stampWith = this.config.defaultStamperType, transfer, } = params;
|
|
1759
|
+
const { from, to, tokenAddress, amount, caip2, nonce, gasLimit, maxFeePerGas, maxPriorityFeePerGas, sponsor, } = transfer;
|
|
1760
|
+
return utils.withTurnkeyErrorHandling(async () => {
|
|
1761
|
+
let parsedAmount;
|
|
1762
|
+
try {
|
|
1763
|
+
parsedAmount = BigInt(amount);
|
|
1764
|
+
}
|
|
1765
|
+
catch {
|
|
1766
|
+
throw new sdkTypes.TurnkeyError("Invalid ERC20 amount. Use a base-unit integer string.", sdkTypes.TurnkeyErrorCodes.INVALID_REQUEST);
|
|
1767
|
+
}
|
|
1768
|
+
const data = viem.encodeFunctionData({
|
|
1769
|
+
abi: ERC20_TRANSFER_ABI,
|
|
1770
|
+
functionName: "transfer",
|
|
1771
|
+
args: [to, parsedAmount],
|
|
1772
|
+
});
|
|
1773
|
+
return this.ethSendTransaction({
|
|
1774
|
+
...(organizationId !== undefined ? { organizationId } : {}),
|
|
1775
|
+
...(stampWith !== undefined ? { stampWith } : {}),
|
|
1776
|
+
transaction: {
|
|
1777
|
+
from,
|
|
1778
|
+
to: tokenAddress,
|
|
1779
|
+
caip2,
|
|
1780
|
+
data,
|
|
1781
|
+
...(sponsor !== undefined ? { sponsor } : {}),
|
|
1782
|
+
...(nonce ? { nonce } : {}),
|
|
1783
|
+
...(gasLimit ? { gasLimit } : {}),
|
|
1784
|
+
...(maxFeePerGas ? { maxFeePerGas } : {}),
|
|
1785
|
+
...(maxPriorityFeePerGas ? { maxPriorityFeePerGas } : {}),
|
|
1786
|
+
},
|
|
1787
|
+
});
|
|
1788
|
+
}, {
|
|
1789
|
+
errorMessage: "Failed to sign and send ERC20 transfer",
|
|
1790
|
+
errorCode: sdkTypes.TurnkeyErrorCodes.ETH_SEND_TRANSACTION_ERROR,
|
|
1791
|
+
});
|
|
1792
|
+
};
|
|
1725
1793
|
/**
|
|
1726
1794
|
* @beta
|
|
1727
1795
|
* * **API subject to change**
|
|
@@ -1740,7 +1808,7 @@ class TurnkeyClient {
|
|
|
1740
1808
|
*
|
|
1741
1809
|
* - **Embedded wallets**
|
|
1742
1810
|
* - Constructs the payload for Turnkey's `eth_send_transaction` endpoint.
|
|
1743
|
-
* -
|
|
1811
|
+
* - Forwards transaction fields directly to Turnkey's coordinator.
|
|
1744
1812
|
* - Signs and submits the transaction through Turnkey.
|
|
1745
1813
|
* - Returns a `sendTransactionStatusId`, which the caller must pass to
|
|
1746
1814
|
* `pollTransactionStatus` to obtain the final result (tx hash + status).
|
|
@@ -1758,32 +1826,13 @@ class TurnkeyClient {
|
|
|
1758
1826
|
*/
|
|
1759
1827
|
this.ethSendTransaction = async (params) => {
|
|
1760
1828
|
const { organizationId: organizationIdFromParams, stampWith = this.config.defaultStamperType, transaction, } = params;
|
|
1761
|
-
const { from, to, caip2, value, data, nonce, gasLimit, maxFeePerGas, maxPriorityFeePerGas, sponsor, } = transaction;
|
|
1829
|
+
const { from, to, caip2, value, data, nonce, gasLimit, maxFeePerGas, maxPriorityFeePerGas, sponsor, gasStationNonce, } = transaction;
|
|
1762
1830
|
const session = await utils.getActiveSessionOrThrowIfRequired(stampWith, this.storageManager.getActiveSession);
|
|
1763
1831
|
const organizationId = organizationIdFromParams || session?.organizationId;
|
|
1764
1832
|
if (!organizationId) {
|
|
1765
1833
|
throw new sdkTypes.TurnkeyError("Organization ID must be provided to send a transaction", sdkTypes.TurnkeyErrorCodes.INVALID_REQUEST);
|
|
1766
1834
|
}
|
|
1767
1835
|
return utils.withTurnkeyErrorHandling(async () => {
|
|
1768
|
-
let gasStationNonce;
|
|
1769
|
-
let fetchedNonce;
|
|
1770
|
-
//
|
|
1771
|
-
// Fetch nonce(s) when needed:
|
|
1772
|
-
// - sponsored: Gas Station nonce
|
|
1773
|
-
// - non-sponsored: regular EIP-1559 nonce
|
|
1774
|
-
//
|
|
1775
|
-
if (!nonce || sponsor) {
|
|
1776
|
-
const nonceResp = await this.httpClient.getNonces({
|
|
1777
|
-
organizationId,
|
|
1778
|
-
address: from,
|
|
1779
|
-
caip2,
|
|
1780
|
-
nonce: sponsor ? false : true,
|
|
1781
|
-
gasStationNonce: sponsor ? true : false,
|
|
1782
|
-
});
|
|
1783
|
-
gasStationNonce = nonceResp.gasStationNonce;
|
|
1784
|
-
fetchedNonce = nonceResp.nonce;
|
|
1785
|
-
}
|
|
1786
|
-
const finalNonce = nonce ?? fetchedNonce;
|
|
1787
1836
|
//
|
|
1788
1837
|
// Build Turnkey intent
|
|
1789
1838
|
//
|
|
@@ -1793,15 +1842,14 @@ class TurnkeyClient {
|
|
|
1793
1842
|
caip2,
|
|
1794
1843
|
...(value ? { value } : {}),
|
|
1795
1844
|
...(data ? { data } : {}),
|
|
1845
|
+
...(nonce !== undefined ? { nonce } : {}),
|
|
1796
1846
|
};
|
|
1797
1847
|
if (sponsor) {
|
|
1798
1848
|
intent.sponsor = true;
|
|
1799
|
-
if (gasStationNonce)
|
|
1849
|
+
if (gasStationNonce !== undefined)
|
|
1800
1850
|
intent.gasStationNonce = gasStationNonce;
|
|
1801
1851
|
}
|
|
1802
1852
|
else {
|
|
1803
|
-
if (finalNonce !== undefined)
|
|
1804
|
-
intent.nonce = finalNonce;
|
|
1805
1853
|
if (gasLimit)
|
|
1806
1854
|
intent.gasLimit = gasLimit;
|
|
1807
1855
|
if (maxFeePerGas)
|
|
@@ -2900,7 +2948,7 @@ class TurnkeyClient {
|
|
|
2900
2948
|
const { sessionToken, sessionKey = enums.SessionKey.DefaultSessionkey } = params;
|
|
2901
2949
|
if (!sessionToken)
|
|
2902
2950
|
return;
|
|
2903
|
-
utils.withTurnkeyErrorHandling(async () => {
|
|
2951
|
+
return utils.withTurnkeyErrorHandling(async () => {
|
|
2904
2952
|
await this.storageManager.storeSession(sessionToken, sessionKey);
|
|
2905
2953
|
}, {
|
|
2906
2954
|
errorMessage: "Failed to store session",
|
|
@@ -2923,7 +2971,7 @@ class TurnkeyClient {
|
|
|
2923
2971
|
*/
|
|
2924
2972
|
this.clearSession = async (params) => {
|
|
2925
2973
|
const { sessionKey = enums.SessionKey.DefaultSessionkey } = params || {};
|
|
2926
|
-
utils.withTurnkeyErrorHandling(async () => {
|
|
2974
|
+
return utils.withTurnkeyErrorHandling(async () => {
|
|
2927
2975
|
const session = await this.storageManager.getSession(sessionKey);
|
|
2928
2976
|
if (session) {
|
|
2929
2977
|
await Promise.all([
|
|
@@ -2951,7 +2999,7 @@ class TurnkeyClient {
|
|
|
2951
2999
|
* @throws {TurnkeyError} If no sessions exist or if there is an error clearing all sessions.
|
|
2952
3000
|
*/
|
|
2953
3001
|
this.clearAllSessions = async () => {
|
|
2954
|
-
utils.withTurnkeyErrorHandling(async () => {
|
|
3002
|
+
return utils.withTurnkeyErrorHandling(async () => {
|
|
2955
3003
|
const sessionKeys = await this.storageManager.listSessionKeys();
|
|
2956
3004
|
if (sessionKeys.length === 0)
|
|
2957
3005
|
return;
|
|
@@ -3121,7 +3169,7 @@ class TurnkeyClient {
|
|
|
3121
3169
|
* @throws {TurnkeyError} If there is an error listing, checking, or deleting unused key pairs.
|
|
3122
3170
|
*/
|
|
3123
3171
|
this.clearUnusedKeyPairs = async () => {
|
|
3124
|
-
utils.withTurnkeyErrorHandling(async () => {
|
|
3172
|
+
return utils.withTurnkeyErrorHandling(async () => {
|
|
3125
3173
|
const publicKeys = await this.apiKeyStamper?.listKeyPairs();
|
|
3126
3174
|
if (!publicKeys || publicKeys.length === 0) {
|
|
3127
3175
|
return;
|