@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.
@@ -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
- * - Fetches nonces automatically when needed (normal nonce or Gas Station nonce).
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":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/__clients__/core.ts"],"names":[],"mappings":"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"}
@@ -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
- * - Fetches nonces automatically when needed (normal nonce or Gas Station nonce).
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;