@coinbase/cdp-sdk 1.45.0 → 1.46.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 (211) hide show
  1. package/CHANGELOG.md +14 -2
  2. package/README.md +47 -43
  3. package/_cjs/accounts/evm/eip6492.js +49 -0
  4. package/_cjs/accounts/evm/eip6492.js.map +1 -0
  5. package/_cjs/accounts/evm/toEvmSmartAccount.js +6 -2
  6. package/_cjs/accounts/evm/toEvmSmartAccount.js.map +1 -1
  7. package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js +31 -0
  8. package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -1
  9. package/_cjs/actions/solana/transfer.js.map +1 -1
  10. package/_cjs/actions/solana/utils.js +9 -9
  11. package/_cjs/actions/solana/utils.js.map +1 -1
  12. package/_cjs/auth/utils/http.js +1 -0
  13. package/_cjs/auth/utils/http.js.map +1 -1
  14. package/_cjs/client/cdp.js +4 -1
  15. package/_cjs/client/cdp.js.map +1 -1
  16. package/_cjs/client/end-user/endUser.js +385 -4
  17. package/_cjs/client/end-user/endUser.js.map +1 -1
  18. package/_cjs/client/end-user/toEndUserAccount.js +201 -23
  19. package/_cjs/client/end-user/toEndUserAccount.js.map +1 -1
  20. package/_cjs/client/solana/solana.js +39 -13
  21. package/_cjs/client/solana/solana.js.map +1 -1
  22. package/_cjs/index.js.map +1 -1
  23. package/_cjs/openapi-client/cdpApiClient.js +32 -0
  24. package/_cjs/openapi-client/cdpApiClient.js.map +1 -1
  25. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +52 -15
  26. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  27. package/_cjs/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.js +261 -0
  28. package/_cjs/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.js.map +1 -0
  29. package/_cjs/openapi-client/generated/end-user-accounts/end-user-accounts.js.map +1 -1
  30. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.js.map +1 -1
  31. package/_cjs/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js +2 -2
  32. package/_cjs/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js.map +1 -1
  33. package/_cjs/openapi-client/generated/evm-swaps/evm-swaps.js.map +1 -1
  34. package/_cjs/openapi-client/generated/evm-token-balances/evm-token-balances.js.map +1 -1
  35. package/_cjs/openapi-client/generated/faucets/faucets.js +6 -5
  36. package/_cjs/openapi-client/generated/faucets/faucets.js.map +1 -1
  37. package/_cjs/openapi-client/generated/onchain-data/onchain-data.js.map +1 -1
  38. package/_cjs/openapi-client/generated/onramp/onramp.js.map +1 -1
  39. package/_cjs/openapi-client/generated/policy-engine/policy-engine.js.map +1 -1
  40. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.js.map +1 -1
  41. package/_cjs/openapi-client/generated/solana-token-balances/solana-token-balances.js.map +1 -1
  42. package/_cjs/openapi-client/generated/sql-api/sql-api.js +75 -0
  43. package/_cjs/openapi-client/generated/sql-api/sql-api.js.map +1 -0
  44. package/_cjs/openapi-client/generated/webhooks/webhooks.js.map +1 -1
  45. package/_cjs/openapi-client/generated/x402-facilitator/x402-facilitator.js.map +1 -1
  46. package/_cjs/openapi-client/index.js +4 -1
  47. package/_cjs/openapi-client/index.js.map +1 -1
  48. package/_cjs/utils/export.js +6 -5
  49. package/_cjs/utils/export.js.map +1 -1
  50. package/_cjs/version.js +1 -1
  51. package/_esm/accounts/evm/eip6492.js +46 -0
  52. package/_esm/accounts/evm/eip6492.js.map +1 -0
  53. package/_esm/accounts/evm/toEvmSmartAccount.js +6 -2
  54. package/_esm/accounts/evm/toEvmSmartAccount.js.map +1 -1
  55. package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js +31 -0
  56. package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -1
  57. package/_esm/actions/solana/transfer.js.map +1 -1
  58. package/_esm/actions/solana/utils.js +9 -9
  59. package/_esm/actions/solana/utils.js.map +1 -1
  60. package/_esm/auth/utils/http.js +1 -0
  61. package/_esm/auth/utils/http.js.map +1 -1
  62. package/_esm/client/cdp.js +4 -1
  63. package/_esm/client/cdp.js.map +1 -1
  64. package/_esm/client/end-user/endUser.js +385 -4
  65. package/_esm/client/end-user/endUser.js.map +1 -1
  66. package/_esm/client/end-user/toEndUserAccount.js +201 -23
  67. package/_esm/client/end-user/toEndUserAccount.js.map +1 -1
  68. package/_esm/client/solana/solana.js +39 -13
  69. package/_esm/client/solana/solana.js.map +1 -1
  70. package/_esm/index.js.map +1 -1
  71. package/_esm/openapi-client/cdpApiClient.js +32 -0
  72. package/_esm/openapi-client/cdpApiClient.js.map +1 -1
  73. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +49 -12
  74. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  75. package/_esm/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.js +243 -0
  76. package/_esm/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.js.map +1 -0
  77. package/_esm/openapi-client/generated/end-user-accounts/end-user-accounts.js.map +1 -1
  78. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.js.map +1 -1
  79. package/_esm/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js +2 -2
  80. package/_esm/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js.map +1 -1
  81. package/_esm/openapi-client/generated/evm-swaps/evm-swaps.js.map +1 -1
  82. package/_esm/openapi-client/generated/evm-token-balances/evm-token-balances.js.map +1 -1
  83. package/_esm/openapi-client/generated/faucets/faucets.js +6 -5
  84. package/_esm/openapi-client/generated/faucets/faucets.js.map +1 -1
  85. package/_esm/openapi-client/generated/onchain-data/onchain-data.js.map +1 -1
  86. package/_esm/openapi-client/generated/onramp/onramp.js.map +1 -1
  87. package/_esm/openapi-client/generated/policy-engine/policy-engine.js.map +1 -1
  88. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.js.map +1 -1
  89. package/_esm/openapi-client/generated/solana-token-balances/solana-token-balances.js.map +1 -1
  90. package/_esm/openapi-client/generated/sql-api/sql-api.js +70 -0
  91. package/_esm/openapi-client/generated/sql-api/sql-api.js.map +1 -0
  92. package/_esm/openapi-client/generated/webhooks/webhooks.js.map +1 -1
  93. package/_esm/openapi-client/generated/x402-facilitator/x402-facilitator.js.map +1 -1
  94. package/_esm/openapi-client/index.js +4 -1
  95. package/_esm/openapi-client/index.js.map +1 -1
  96. package/_esm/utils/export.js +6 -5
  97. package/_esm/utils/export.js.map +1 -1
  98. package/_esm/version.js +1 -1
  99. package/_types/accounts/evm/eip6492.d.ts +17 -0
  100. package/_types/accounts/evm/eip6492.d.ts.map +1 -0
  101. package/_types/accounts/evm/toEvmSmartAccount.d.ts.map +1 -1
  102. package/_types/accounts/evm/toNetworkScopedEvmSmartAccount.d.ts +4 -4
  103. package/_types/accounts/evm/toNetworkScopedEvmSmartAccount.d.ts.map +1 -1
  104. package/_types/accounts/evm/types.d.ts +3 -2
  105. package/_types/accounts/evm/types.d.ts.map +1 -1
  106. package/_types/actions/solana/transfer.d.ts +3 -4
  107. package/_types/actions/solana/transfer.d.ts.map +1 -1
  108. package/_types/actions/solana/types.d.ts +79 -29
  109. package/_types/actions/solana/types.d.ts.map +1 -1
  110. package/_types/actions/solana/utils.d.ts +10 -9
  111. package/_types/actions/solana/utils.d.ts.map +1 -1
  112. package/_types/auth/utils/http.d.ts.map +1 -1
  113. package/_types/client/cdp.d.ts +4 -0
  114. package/_types/client/cdp.d.ts.map +1 -1
  115. package/_types/client/end-user/endUser.d.ts +272 -1
  116. package/_types/client/end-user/endUser.d.ts.map +1 -1
  117. package/_types/client/end-user/endUser.types.d.ts +491 -1
  118. package/_types/client/end-user/endUser.types.d.ts.map +1 -1
  119. package/_types/client/end-user/toEndUserAccount.d.ts +4 -1
  120. package/_types/client/end-user/toEndUserAccount.d.ts.map +1 -1
  121. package/_types/client/evm/evm.types.d.ts.map +1 -1
  122. package/_types/client/solana/solana.d.ts +38 -12
  123. package/_types/client/solana/solana.d.ts.map +1 -1
  124. package/_types/index.d.ts +1 -1
  125. package/_types/index.d.ts.map +1 -1
  126. package/_types/openapi-client/cdpApiClient.d.ts.map +1 -1
  127. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +487 -119
  128. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
  129. package/_types/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.d.ts +163 -0
  130. package/_types/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.d.ts.map +1 -0
  131. package/_types/openapi-client/generated/end-user-accounts/end-user-accounts.d.ts +9 -9
  132. package/_types/openapi-client/generated/end-user-accounts/end-user-accounts.d.ts.map +1 -1
  133. package/_types/openapi-client/generated/evm-accounts/evm-accounts.d.ts +16 -16
  134. package/_types/openapi-client/generated/evm-accounts/evm-accounts.d.ts.map +1 -1
  135. package/_types/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.d.ts +14 -14
  136. package/_types/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.d.ts.map +1 -1
  137. package/_types/openapi-client/generated/evm-swaps/evm-swaps.d.ts +3 -3
  138. package/_types/openapi-client/generated/evm-swaps/evm-swaps.d.ts.map +1 -1
  139. package/_types/openapi-client/generated/evm-token-balances/evm-token-balances.d.ts +2 -2
  140. package/_types/openapi-client/generated/evm-token-balances/evm-token-balances.d.ts.map +1 -1
  141. package/_types/openapi-client/generated/faucets/faucets.d.ts +9 -8
  142. package/_types/openapi-client/generated/faucets/faucets.d.ts.map +1 -1
  143. package/_types/openapi-client/generated/onchain-data/onchain-data.d.ts +3 -3
  144. package/_types/openapi-client/generated/onchain-data/onchain-data.d.ts.map +1 -1
  145. package/_types/openapi-client/generated/onramp/onramp.d.ts +5 -5
  146. package/_types/openapi-client/generated/onramp/onramp.d.ts.map +1 -1
  147. package/_types/openapi-client/generated/policy-engine/policy-engine.d.ts +6 -6
  148. package/_types/openapi-client/generated/policy-engine/policy-engine.d.ts.map +1 -1
  149. package/_types/openapi-client/generated/solana-accounts/solana-accounts.d.ts +12 -12
  150. package/_types/openapi-client/generated/solana-accounts/solana-accounts.d.ts.map +1 -1
  151. package/_types/openapi-client/generated/solana-token-balances/solana-token-balances.d.ts +2 -2
  152. package/_types/openapi-client/generated/solana-token-balances/solana-token-balances.d.ts.map +1 -1
  153. package/_types/openapi-client/generated/sql-api/sql-api.d.ts +73 -0
  154. package/_types/openapi-client/generated/sql-api/sql-api.d.ts.map +1 -0
  155. package/_types/openapi-client/generated/webhooks/webhooks.d.ts +6 -6
  156. package/_types/openapi-client/generated/webhooks/webhooks.d.ts.map +1 -1
  157. package/_types/openapi-client/generated/x402-facilitator/x402-facilitator.d.ts +4 -4
  158. package/_types/openapi-client/generated/x402-facilitator/x402-facilitator.d.ts.map +1 -1
  159. package/_types/openapi-client/index.d.ts +19 -3
  160. package/_types/openapi-client/index.d.ts.map +1 -1
  161. package/_types/policies/evmSchema.d.ts +26 -78
  162. package/_types/policies/evmSchema.d.ts.map +1 -1
  163. package/_types/policies/types.d.ts.map +1 -1
  164. package/_types/types/contract.d.ts.map +1 -1
  165. package/_types/utils/export.d.ts +1 -1
  166. package/_types/utils/export.d.ts.map +1 -1
  167. package/_types/version.d.ts +1 -1
  168. package/accounts/evm/eip6492.ts +60 -0
  169. package/accounts/evm/toEvmSmartAccount.ts +17 -4
  170. package/accounts/evm/toNetworkScopedEvmSmartAccount.ts +44 -5
  171. package/accounts/evm/types.ts +8 -3
  172. package/actions/solana/transfer.ts +3 -3
  173. package/actions/solana/types.ts +79 -29
  174. package/actions/solana/utils.ts +13 -11
  175. package/auth/utils/http.ts +1 -0
  176. package/client/cdp.ts +6 -1
  177. package/client/end-user/endUser.ts +513 -4
  178. package/client/end-user/endUser.types.ts +598 -0
  179. package/client/end-user/toEndUserAccount.ts +330 -26
  180. package/client/evm/evm.types.ts +4 -2
  181. package/client/solana/solana.ts +39 -13
  182. package/index.ts +31 -1
  183. package/openapi-client/cdpApiClient.ts +34 -0
  184. package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +566 -152
  185. package/openapi-client/generated/embedded-wallets-core-functionality/embedded-wallets-core-functionality.ts +455 -0
  186. package/openapi-client/generated/end-user-accounts/end-user-accounts.ts +12 -9
  187. package/openapi-client/generated/evm-accounts/evm-accounts.ts +19 -16
  188. package/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.ts +16 -16
  189. package/openapi-client/generated/evm-swaps/evm-swaps.ts +3 -3
  190. package/openapi-client/generated/evm-token-balances/evm-token-balances.ts +2 -2
  191. package/openapi-client/generated/faucets/faucets.ts +9 -8
  192. package/openapi-client/generated/onchain-data/onchain-data.ts +3 -3
  193. package/openapi-client/generated/onramp/onramp.ts +5 -5
  194. package/openapi-client/generated/policy-engine/policy-engine.ts +12 -6
  195. package/openapi-client/generated/solana-accounts/solana-accounts.ts +12 -12
  196. package/openapi-client/generated/solana-token-balances/solana-token-balances.ts +2 -2
  197. package/openapi-client/generated/sql-api/sql-api.ts +92 -0
  198. package/openapi-client/generated/webhooks/webhooks.ts +6 -6
  199. package/openapi-client/generated/x402-facilitator/x402-facilitator.ts +6 -4
  200. package/openapi-client/index.ts +4 -1
  201. package/package.json +7 -8
  202. package/types/contract.ts +2 -4
  203. package/utils/export.ts +6 -5
  204. package/version.ts +1 -1
  205. package/_cjs/openapi-client/generated/sql-api-alpha/sql-api-alpha.js +0 -55
  206. package/_cjs/openapi-client/generated/sql-api-alpha/sql-api-alpha.js.map +0 -1
  207. package/_esm/openapi-client/generated/sql-api-alpha/sql-api-alpha.js +0 -50
  208. package/_esm/openapi-client/generated/sql-api-alpha/sql-api-alpha.js.map +0 -1
  209. package/_types/openapi-client/generated/sql-api-alpha/sql-api-alpha.d.ts +0 -53
  210. package/_types/openapi-client/generated/sql-api-alpha/sql-api-alpha.d.ts.map +0 -1
  211. package/openapi-client/generated/sql-api-alpha/sql-api-alpha.ts +0 -72
@@ -9,6 +9,15 @@ import { CdpOpenApiClient } from "../../openapi-client/index.js";
9
9
  * The CDP end user client.
10
10
  */
11
11
  export class CDPEndUserClient {
12
+ projectId;
13
+ /**
14
+ * Creates a new CDPEndUserClient.
15
+ *
16
+ * @param projectId - The CDP project ID. Required for delegation operations (signing, sending).
17
+ */
18
+ constructor(projectId) {
19
+ this.projectId = projectId;
20
+ }
12
21
  /**
13
22
  * Creates an end user. An end user is an entity that can own CDP EVM accounts,
14
23
  * EVM smart accounts, and/or Solana accounts.
@@ -46,7 +55,7 @@ export class CDPEndUserClient {
46
55
  ...options,
47
56
  userId,
48
57
  });
49
- return toEndUserAccount(CdpOpenApiClient, { endUser });
58
+ return toEndUserAccount(CdpOpenApiClient, { endUser, projectId: this.projectId });
50
59
  }
51
60
  /**
52
61
  * Lists end users belonging to the developer's CDP Project.
@@ -112,7 +121,7 @@ export class CDPEndUserClient {
112
121
  });
113
122
  const { userId } = options;
114
123
  const endUser = await CdpOpenApiClient.getEndUser(userId);
115
- return toEndUserAccount(CdpOpenApiClient, { endUser });
124
+ return toEndUserAccount(CdpOpenApiClient, { endUser, projectId: this.projectId });
116
125
  }
117
126
  /**
118
127
  * Adds an EVM EOA (Externally Owned Account) to an existing end user. End users can have up to 10 EVM accounts.
@@ -192,6 +201,366 @@ export class CDPEndUserClient {
192
201
  const { userId } = options;
193
202
  return CdpOpenApiClient.addEndUserSolanaAccount(userId, {});
194
203
  }
204
+ /**
205
+ * Revokes all active delegations for the specified end user.
206
+ * This operation can be performed by the end user themselves or by a developer using their API key.
207
+ *
208
+ * @param options - The options for revoking the delegation.
209
+ *
210
+ * @returns A promise that resolves when the delegation has been revoked.
211
+ *
212
+ * @example **Revoke all delegations for an end user**
213
+ * ```ts
214
+ * await cdp.endUser.revokeDelegationForEndUser({
215
+ * userId: "user-123"
216
+ * });
217
+ * ```
218
+ */
219
+ async revokeDelegationForEndUser(options) {
220
+ Analytics.trackAction({
221
+ action: "revoke_delegation_for_end_user",
222
+ });
223
+ const { userId } = options;
224
+ await CdpOpenApiClient.revokeDelegationForEndUser(this.requireProjectId(), userId, {});
225
+ }
226
+ // ─── Delegated EVM Sign Methods ───
227
+ /**
228
+ * Signs an EVM hash on behalf of an end user using a delegation.
229
+ * The end user must have previously created a delegation granting signing permissions.
230
+ *
231
+ * @param options - The options for signing an EVM hash.
232
+ *
233
+ * @returns A promise that resolves to the signature.
234
+ *
235
+ * @example
236
+ * ```ts
237
+ * const result = await cdp.endUser.signEvmHash({
238
+ * userId: "user-123",
239
+ * hash: "0xabcdef...",
240
+ * address: "0x1234..."
241
+ * });
242
+ * console.log(result.signature);
243
+ * ```
244
+ */
245
+ async signEvmHash(options) {
246
+ Analytics.trackAction({ action: "end_user_sign_evm_hash" });
247
+ return CdpOpenApiClient.signEvmHashWithEndUserAccount(this.requireProjectId(), options.userId, {
248
+ hash: options.hash,
249
+ address: options.address,
250
+ });
251
+ }
252
+ /**
253
+ * Signs an EVM transaction on behalf of an end user using a delegation.
254
+ *
255
+ * @param options - The options for signing an EVM transaction.
256
+ *
257
+ * @returns A promise that resolves to the signed transaction.
258
+ *
259
+ * @example
260
+ * ```ts
261
+ * const result = await cdp.endUser.signEvmTransaction({
262
+ * userId: "user-123",
263
+ * address: "0x1234...",
264
+ * transaction: "0x02..."
265
+ * });
266
+ * console.log(result.signedTransaction);
267
+ * ```
268
+ */
269
+ async signEvmTransaction(options) {
270
+ Analytics.trackAction({ action: "end_user_sign_evm_transaction" });
271
+ return CdpOpenApiClient.signEvmTransactionWithEndUserAccount(this.requireProjectId(), options.userId, {
272
+ address: options.address,
273
+ transaction: options.transaction,
274
+ });
275
+ }
276
+ /**
277
+ * Signs an EVM message (EIP-191) on behalf of an end user using a delegation.
278
+ *
279
+ * @param options - The options for signing an EVM message.
280
+ *
281
+ * @returns A promise that resolves to the signature.
282
+ *
283
+ * @example
284
+ * ```ts
285
+ * const result = await cdp.endUser.signEvmMessage({
286
+ * userId: "user-123",
287
+ * address: "0x1234...",
288
+ * message: "Hello, World!"
289
+ * });
290
+ * console.log(result.signature);
291
+ * ```
292
+ */
293
+ async signEvmMessage(options) {
294
+ Analytics.trackAction({ action: "end_user_sign_evm_message" });
295
+ return CdpOpenApiClient.signEvmMessageWithEndUserAccount(this.requireProjectId(), options.userId, {
296
+ address: options.address,
297
+ message: options.message,
298
+ });
299
+ }
300
+ /**
301
+ * Signs EVM EIP-712 typed data on behalf of an end user using a delegation.
302
+ *
303
+ * @param options - The options for signing EVM typed data.
304
+ *
305
+ * @returns A promise that resolves to the signature.
306
+ *
307
+ * @example
308
+ * ```ts
309
+ * const result = await cdp.endUser.signEvmTypedData({
310
+ * userId: "user-123",
311
+ * address: "0x1234...",
312
+ * typedData: { domain: {}, types: {}, primaryType: "...", message: {} }
313
+ * });
314
+ * console.log(result.signature);
315
+ * ```
316
+ */
317
+ async signEvmTypedData(options) {
318
+ Analytics.trackAction({ action: "end_user_sign_evm_typed_data" });
319
+ return CdpOpenApiClient.signEvmTypedDataWithEndUserAccount(this.requireProjectId(), options.userId, {
320
+ address: options.address,
321
+ typedData: options.typedData,
322
+ });
323
+ }
324
+ // ─── Delegated EVM Send Methods ───
325
+ /**
326
+ * Sends an EVM transaction on behalf of an end user using a delegation.
327
+ *
328
+ * @param options - The options for sending an EVM transaction.
329
+ *
330
+ * @returns A promise that resolves to the transaction hash.
331
+ *
332
+ * @example
333
+ * ```ts
334
+ * const result = await cdp.endUser.sendEvmTransaction({
335
+ * userId: "user-123",
336
+ * address: "0x1234...",
337
+ * transaction: "0x02...",
338
+ * network: "base-sepolia"
339
+ * });
340
+ * console.log(result.transactionHash);
341
+ * ```
342
+ */
343
+ async sendEvmTransaction(options) {
344
+ Analytics.trackAction({ action: "end_user_send_evm_transaction" });
345
+ return CdpOpenApiClient.sendEvmTransactionWithEndUserAccount(this.requireProjectId(), options.userId, {
346
+ address: options.address,
347
+ transaction: options.transaction,
348
+ network: options.network,
349
+ });
350
+ }
351
+ /**
352
+ * Sends an EVM asset (e.g. USDC) on behalf of an end user using a delegation.
353
+ *
354
+ * @param options - The options for sending an EVM asset.
355
+ *
356
+ * @returns A promise that resolves to the transaction result.
357
+ *
358
+ * @example
359
+ * ```ts
360
+ * const result = await cdp.endUser.sendEvmAsset({
361
+ * userId: "user-123",
362
+ * address: "0x1234...",
363
+ * to: "0xabcd...",
364
+ * amount: "1000000",
365
+ * network: "base-sepolia"
366
+ * });
367
+ * console.log(result.transactionHash);
368
+ * ```
369
+ */
370
+ async sendEvmAsset(options) {
371
+ Analytics.trackAction({ action: "end_user_send_evm_asset" });
372
+ const asset = options.asset ?? "usdc";
373
+ return CdpOpenApiClient.sendEvmAssetWithEndUserAccount(this.requireProjectId(), options.userId, options.address, asset, {
374
+ to: options.to,
375
+ amount: options.amount,
376
+ network: options.network,
377
+ useCdpPaymaster: options.useCdpPaymaster,
378
+ paymasterUrl: options.paymasterUrl,
379
+ });
380
+ }
381
+ /**
382
+ * Sends a user operation on behalf of an end user using a delegation.
383
+ *
384
+ * @param options - The options for sending a user operation.
385
+ *
386
+ * @returns A promise that resolves to the user operation result.
387
+ *
388
+ * @example
389
+ * ```ts
390
+ * const result = await cdp.endUser.sendUserOperation({
391
+ * userId: "user-123",
392
+ * address: "0x1234...",
393
+ * network: "base-sepolia",
394
+ * calls: [{ to: "0xabcd...", value: "0", data: "0x" }],
395
+ * useCdpPaymaster: true
396
+ * });
397
+ * ```
398
+ */
399
+ async sendUserOperation(options) {
400
+ Analytics.trackAction({ action: "end_user_send_user_operation" });
401
+ return CdpOpenApiClient.sendUserOperationWithEndUserAccount(this.requireProjectId(), options.userId, options.address, {
402
+ network: options.network,
403
+ calls: options.calls,
404
+ useCdpPaymaster: options.useCdpPaymaster,
405
+ paymasterUrl: options.paymasterUrl,
406
+ dataSuffix: options.dataSuffix,
407
+ });
408
+ }
409
+ // ─── Delegated EVM EIP-7702 Delegation Method ───
410
+ /**
411
+ * Creates an EVM EIP-7702 delegation on behalf of an end user.
412
+ *
413
+ * @param options - The options for creating an EIP-7702 delegation.
414
+ *
415
+ * @returns A promise that resolves to the delegation operation ID.
416
+ *
417
+ * @example
418
+ * ```ts
419
+ * const result = await cdp.endUser.createEvmEip7702Delegation({
420
+ * userId: "user-123",
421
+ * address: "0x1234...",
422
+ * network: "base-sepolia"
423
+ * });
424
+ * console.log(result.delegationOperationId);
425
+ * ```
426
+ */
427
+ async createEvmEip7702Delegation(options) {
428
+ Analytics.trackAction({ action: "end_user_create_evm_eip7702_delegation" });
429
+ return CdpOpenApiClient.createEvmEip7702DelegationWithEndUserAccount(this.requireProjectId(), options.userId, {
430
+ address: options.address,
431
+ network: options.network,
432
+ enableSpendPermissions: options.enableSpendPermissions,
433
+ });
434
+ }
435
+ // ─── Delegated Solana Sign Methods ───
436
+ /**
437
+ * Signs a Solana hash on behalf of an end user using a delegation.
438
+ *
439
+ * @param options - The options for signing a Solana hash.
440
+ *
441
+ * @returns A promise that resolves to the signature.
442
+ *
443
+ * @example
444
+ * ```ts
445
+ * const result = await cdp.endUser.signSolanaHash({
446
+ * userId: "user-123",
447
+ * hash: "base64hash...",
448
+ * address: "So1ana..."
449
+ * });
450
+ * console.log(result.signature);
451
+ * ```
452
+ */
453
+ async signSolanaHash(options) {
454
+ Analytics.trackAction({ action: "end_user_sign_solana_hash" });
455
+ return CdpOpenApiClient.signSolanaHashWithEndUserAccount(this.requireProjectId(), options.userId, {
456
+ hash: options.hash,
457
+ address: options.address,
458
+ });
459
+ }
460
+ /**
461
+ * Signs a Solana message on behalf of an end user using a delegation.
462
+ *
463
+ * @param options - The options for signing a Solana message.
464
+ *
465
+ * @returns A promise that resolves to the signature.
466
+ *
467
+ * @example
468
+ * ```ts
469
+ * const result = await cdp.endUser.signSolanaMessage({
470
+ * userId: "user-123",
471
+ * address: "So1ana...",
472
+ * message: "base64message..."
473
+ * });
474
+ * console.log(result.signature);
475
+ * ```
476
+ */
477
+ async signSolanaMessage(options) {
478
+ Analytics.trackAction({ action: "end_user_sign_solana_message" });
479
+ return CdpOpenApiClient.signSolanaMessageWithEndUserAccount(this.requireProjectId(), options.userId, {
480
+ address: options.address,
481
+ message: options.message,
482
+ });
483
+ }
484
+ /**
485
+ * Signs a Solana transaction on behalf of an end user using a delegation.
486
+ *
487
+ * @param options - The options for signing a Solana transaction.
488
+ *
489
+ * @returns A promise that resolves to the signed transaction.
490
+ *
491
+ * @example
492
+ * ```ts
493
+ * const result = await cdp.endUser.signSolanaTransaction({
494
+ * userId: "user-123",
495
+ * address: "So1ana...",
496
+ * transaction: "base64tx..."
497
+ * });
498
+ * console.log(result.signedTransaction);
499
+ * ```
500
+ */
501
+ async signSolanaTransaction(options) {
502
+ Analytics.trackAction({ action: "end_user_sign_solana_transaction" });
503
+ return CdpOpenApiClient.signSolanaTransactionWithEndUserAccount(this.requireProjectId(), options.userId, {
504
+ address: options.address,
505
+ transaction: options.transaction,
506
+ });
507
+ }
508
+ // ─── Delegated Solana Send Methods ───
509
+ /**
510
+ * Sends a Solana transaction on behalf of an end user using a delegation.
511
+ *
512
+ * @param options - The options for sending a Solana transaction.
513
+ *
514
+ * @returns A promise that resolves to the transaction signature.
515
+ *
516
+ * @example
517
+ * ```ts
518
+ * const result = await cdp.endUser.sendSolanaTransaction({
519
+ * userId: "user-123",
520
+ * address: "So1ana...",
521
+ * transaction: "base64tx...",
522
+ * network: "solana-devnet"
523
+ * });
524
+ * console.log(result.transactionSignature);
525
+ * ```
526
+ */
527
+ async sendSolanaTransaction(options) {
528
+ Analytics.trackAction({ action: "end_user_send_solana_transaction" });
529
+ return CdpOpenApiClient.sendSolanaTransactionWithEndUserAccount(this.requireProjectId(), options.userId, {
530
+ address: options.address,
531
+ transaction: options.transaction,
532
+ network: options.network,
533
+ });
534
+ }
535
+ /**
536
+ * Sends a Solana asset (e.g. USDC) on behalf of an end user using a delegation.
537
+ *
538
+ * @param options - The options for sending a Solana asset.
539
+ *
540
+ * @returns A promise that resolves to the transaction signature.
541
+ *
542
+ * @example
543
+ * ```ts
544
+ * const result = await cdp.endUser.sendSolanaAsset({
545
+ * userId: "user-123",
546
+ * address: "So1ana...",
547
+ * to: "Recipi...",
548
+ * amount: "1000000",
549
+ * network: "solana-devnet"
550
+ * });
551
+ * console.log(result.transactionSignature);
552
+ * ```
553
+ */
554
+ async sendSolanaAsset(options) {
555
+ Analytics.trackAction({ action: "end_user_send_solana_asset" });
556
+ const asset = options.asset ?? "usdc";
557
+ return CdpOpenApiClient.sendSolanaAssetWithEndUserAccount(this.requireProjectId(), options.userId, options.address, asset, {
558
+ to: options.to,
559
+ amount: options.amount,
560
+ network: options.network,
561
+ createRecipientAta: options.createRecipientAta,
562
+ });
563
+ }
195
564
  /**
196
565
  * Validates an end user's access token. Throws an error if the access token is invalid.
197
566
  *
@@ -207,7 +576,7 @@ export class CDPEndUserClient {
207
576
  const endUser = await CdpOpenApiClient.validateEndUserAccessToken({
208
577
  accessToken,
209
578
  });
210
- return toEndUserAccount(CdpOpenApiClient, { endUser });
579
+ return toEndUserAccount(CdpOpenApiClient, { endUser, projectId: this.projectId });
211
580
  }
212
581
  /**
213
582
  * Imports an existing private key for an end user.
@@ -284,7 +653,19 @@ export class CDPEndUserClient {
284
653
  encryptedPrivateKey: encryptedPrivateKey.toString("base64"),
285
654
  keyType: options.keyType,
286
655
  });
287
- return toEndUserAccount(CdpOpenApiClient, { endUser });
656
+ return toEndUserAccount(CdpOpenApiClient, { endUser, projectId: this.projectId });
657
+ }
658
+ /**
659
+ * Returns the configured project ID or throws if not configured.
660
+ *
661
+ * @returns The project ID.
662
+ */
663
+ requireProjectId() {
664
+ if (!this.projectId) {
665
+ throw new UserInputValidationError("Missing required project ID for delegation operation. " +
666
+ "Set the CDP_PROJECT_ID environment variable or pass projectId to the CdpClient constructor.");
667
+ }
668
+ return this.projectId;
288
669
  }
289
670
  }
290
671
  //# sourceMappingURL=endUser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"endUser.js","sourceRoot":"","sources":["../../../client/end-user/endUser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endUser.js","sourceRoot":"","sources":["../../../client/end-user/endUser.ts"],"names":[],"mappings":"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"}