@coinbase/cdp-sdk 1.44.0 → 1.45.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 (125) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +117 -0
  3. package/_cjs/accounts/evm/toEvmDelegatedAccount.js +27 -0
  4. package/_cjs/accounts/evm/toEvmDelegatedAccount.js.map +1 -0
  5. package/_cjs/accounts/evm/toEvmServerAccount.js +127 -55
  6. package/_cjs/accounts/evm/toEvmServerAccount.js.map +1 -1
  7. package/_cjs/accounts/evm/toEvmSmartAccount.js +111 -45
  8. package/_cjs/accounts/evm/toEvmSmartAccount.js.map +1 -1
  9. package/_cjs/accounts/solana/toSolanaAccount.js +49 -19
  10. package/_cjs/accounts/solana/toSolanaAccount.js.map +1 -1
  11. package/_cjs/actions/evm/waitForEvmEip7702DelegationStatus.js +37 -0
  12. package/_cjs/actions/evm/waitForEvmEip7702DelegationStatus.js.map +1 -0
  13. package/_cjs/analytics.js +10 -229
  14. package/_cjs/analytics.js.map +1 -1
  15. package/_cjs/client/cdp.js +0 -6
  16. package/_cjs/client/cdp.js.map +1 -1
  17. package/_cjs/client/evm/evm.js +482 -227
  18. package/_cjs/client/evm/evm.js.map +1 -1
  19. package/_cjs/client/policies/policies.js +41 -11
  20. package/_cjs/client/policies/policies.js.map +1 -1
  21. package/_cjs/client/solana/solana.js +177 -106
  22. package/_cjs/client/solana/solana.js.map +1 -1
  23. package/_cjs/index.js +3 -1
  24. package/_cjs/index.js.map +1 -1
  25. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +139 -5
  26. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  27. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.js +30 -1
  28. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.js.map +1 -1
  29. package/_cjs/openapi-client/generated/onramp/onramp.js +15 -1
  30. package/_cjs/openapi-client/generated/onramp/onramp.js.map +1 -1
  31. package/_cjs/policies/evmSchema.js +127 -1
  32. package/_cjs/policies/evmSchema.js.map +1 -1
  33. package/_cjs/policies/solanaSchema.js +102 -1
  34. package/_cjs/policies/solanaSchema.js.map +1 -1
  35. package/_cjs/policies/types.js +7 -0
  36. package/_cjs/policies/types.js.map +1 -1
  37. package/_cjs/version.js +1 -1
  38. package/_esm/accounts/evm/toEvmDelegatedAccount.js +24 -0
  39. package/_esm/accounts/evm/toEvmDelegatedAccount.js.map +1 -0
  40. package/_esm/accounts/evm/toEvmServerAccount.js +127 -55
  41. package/_esm/accounts/evm/toEvmServerAccount.js.map +1 -1
  42. package/_esm/accounts/evm/toEvmSmartAccount.js +111 -45
  43. package/_esm/accounts/evm/toEvmSmartAccount.js.map +1 -1
  44. package/_esm/accounts/solana/toSolanaAccount.js +49 -19
  45. package/_esm/accounts/solana/toSolanaAccount.js.map +1 -1
  46. package/_esm/actions/evm/waitForEvmEip7702DelegationStatus.js +34 -0
  47. package/_esm/actions/evm/waitForEvmEip7702DelegationStatus.js.map +1 -0
  48. package/_esm/analytics.js +9 -228
  49. package/_esm/analytics.js.map +1 -1
  50. package/_esm/client/cdp.js +0 -6
  51. package/_esm/client/cdp.js.map +1 -1
  52. package/_esm/client/evm/evm.js +482 -227
  53. package/_esm/client/evm/evm.js.map +1 -1
  54. package/_esm/client/policies/policies.js +41 -11
  55. package/_esm/client/policies/policies.js.map +1 -1
  56. package/_esm/client/solana/solana.js +177 -106
  57. package/_esm/client/solana/solana.js.map +1 -1
  58. package/_esm/index.js +1 -0
  59. package/_esm/index.js.map +1 -1
  60. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +136 -3
  61. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  62. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.js +27 -0
  63. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.js.map +1 -1
  64. package/_esm/openapi-client/generated/onramp/onramp.js +13 -0
  65. package/_esm/openapi-client/generated/onramp/onramp.js.map +1 -1
  66. package/_esm/policies/evmSchema.js +126 -0
  67. package/_esm/policies/evmSchema.js.map +1 -1
  68. package/_esm/policies/solanaSchema.js +101 -0
  69. package/_esm/policies/solanaSchema.js.map +1 -1
  70. package/_esm/policies/types.js +9 -2
  71. package/_esm/policies/types.js.map +1 -1
  72. package/_esm/version.js +1 -1
  73. package/_types/accounts/evm/toEvmDelegatedAccount.d.ts +13 -0
  74. package/_types/accounts/evm/toEvmDelegatedAccount.d.ts.map +1 -0
  75. package/_types/accounts/evm/toEvmServerAccount.d.ts.map +1 -1
  76. package/_types/accounts/evm/toEvmSmartAccount.d.ts.map +1 -1
  77. package/_types/accounts/solana/toSolanaAccount.d.ts.map +1 -1
  78. package/_types/actions/evm/waitForEvmEip7702DelegationStatus.d.ts +32 -0
  79. package/_types/actions/evm/waitForEvmEip7702DelegationStatus.d.ts.map +1 -0
  80. package/_types/analytics.d.ts +5 -38
  81. package/_types/analytics.d.ts.map +1 -1
  82. package/_types/client/cdp.d.ts.map +1 -1
  83. package/_types/client/evm/evm.d.ts +54 -1
  84. package/_types/client/evm/evm.d.ts.map +1 -1
  85. package/_types/client/evm/evm.types.d.ts +29 -2
  86. package/_types/client/evm/evm.types.d.ts.map +1 -1
  87. package/_types/client/policies/policies.d.ts.map +1 -1
  88. package/_types/client/solana/solana.d.ts.map +1 -1
  89. package/_types/index.d.ts +2 -0
  90. package/_types/index.d.ts.map +1 -1
  91. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +482 -187
  92. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
  93. package/_types/openapi-client/generated/evm-accounts/evm-accounts.d.ts +21 -1
  94. package/_types/openapi-client/generated/evm-accounts/evm-accounts.d.ts.map +1 -1
  95. package/_types/openapi-client/generated/onramp/onramp.d.ts +8 -1
  96. package/_types/openapi-client/generated/onramp/onramp.d.ts.map +1 -1
  97. package/_types/openapi-client/index.d.ts +4 -0
  98. package/_types/openapi-client/index.d.ts.map +1 -1
  99. package/_types/policies/evmSchema.d.ts +2717 -601
  100. package/_types/policies/evmSchema.d.ts.map +1 -1
  101. package/_types/policies/solanaSchema.d.ts +1411 -47
  102. package/_types/policies/solanaSchema.d.ts.map +1 -1
  103. package/_types/policies/types.d.ts +8427 -2942
  104. package/_types/policies/types.d.ts.map +1 -1
  105. package/_types/version.d.ts +1 -1
  106. package/accounts/evm/toEvmDelegatedAccount.ts +26 -0
  107. package/accounts/evm/toEvmServerAccount.ts +115 -67
  108. package/accounts/evm/toEvmSmartAccount.ts +100 -56
  109. package/accounts/solana/toSolanaAccount.ts +44 -24
  110. package/actions/evm/waitForEvmEip7702DelegationStatus.ts +57 -0
  111. package/analytics.ts +8 -304
  112. package/client/cdp.ts +0 -7
  113. package/client/evm/evm.ts +517 -282
  114. package/client/evm/evm.types.ts +41 -0
  115. package/client/policies/policies.ts +41 -16
  116. package/client/solana/solana.ts +195 -141
  117. package/index.ts +5 -0
  118. package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +624 -190
  119. package/openapi-client/generated/evm-accounts/evm-accounts.ts +49 -0
  120. package/openapi-client/generated/onramp/onramp.ts +24 -0
  121. package/package.json +1 -1
  122. package/policies/evmSchema.ts +164 -0
  123. package/policies/solanaSchema.ts +130 -0
  124. package/policies/types.ts +14 -0
  125. package/version.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # CDP SDK Changelog
2
2
 
3
+ ## 1.45.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#606](https://github.com/coinbase/cdp-sdk/pull/606) [`3fef84a`](https://github.com/coinbase/cdp-sdk/commit/3fef84a828ee897fcbdc9bb920fcc3641eac8641) Thanks [@milan-cb](https://github.com/milan-cb)! - Added createEvmEip7702Delegation to upgrade EOAs with smart account capabilities
8
+
9
+ - [#612](https://github.com/coinbase/cdp-sdk/pull/612) [`7ed8a11`](https://github.com/coinbase/cdp-sdk/commit/7ed8a1177e5fddc70929ee7ec339887c780657b1) Thanks [@milan-cb](https://github.com/milan-cb)! - Added getEvmEip7702DelegationOperationById and waitForEvmEip7702DelegationOperationStatus
10
+
11
+ - [#608](https://github.com/coinbase/cdp-sdk/pull/608) [`8fcfac3`](https://github.com/coinbase/cdp-sdk/commit/8fcfac348487f586b224b77074f52594ad44198b) Thanks [@sammccord](https://github.com/sammccord)! - Added support for new end user embedded wallet policy rules, reusing existing criteria - signEndUserEvmTransaction, sendEndUserEvmTransaction, signEndUserEvmMessage, signEndUserEvmTypedData, signEndUserSolTransaction, sendEndUserSolTransaction, and signEndUserSolMessage.
12
+
13
+ ### Patch Changes
14
+
15
+ - [#607](https://github.com/coinbase/cdp-sdk/pull/607) [`21244e3`](https://github.com/coinbase/cdp-sdk/commit/21244e32384fb189facbea96668087d24ded035a) Thanks [@0xRAG](https://github.com/0xRAG)! - Simplify analytics
16
+
17
+ ## 1.44.1
18
+
19
+ ### Patch Changes
20
+
21
+ - [#594](https://github.com/coinbase/cdp-sdk/pull/594) [`80547d1`](https://github.com/coinbase/cdp-sdk/commit/80547d1803cc991121564cdd802f3d5245bef18d) Thanks [@jazz-cb](https://github.com/jazz-cb)! - Fixed a bug where concurrent async method calls on the same object were short-circuited by the analytics error tracking wrapper, causing only the first call to execute and subsequent calls to return the input parameters instead of the actual result.
22
+
3
23
  ## 1.44.0
4
24
 
5
25
  ### Minor Changes
package/README.md CHANGED
@@ -12,11 +12,13 @@
12
12
  - [Updating Accounts](#updating-evm-or-solana-accounts)
13
13
  - [Testnet Faucet](#testnet-faucet)
14
14
  - [Sending Transactions](#sending-transactions)
15
+ - [EIP-7702 delegation](#eip-7702-delegation)
15
16
  - [EVM Smart Accounts](#evm-smart-accounts)
16
17
  - [EVM Swaps](#evm-swaps)
17
18
  - [Transferring Tokens](#transferring-tokens)
18
19
  - [Account Actions](#account-actions)
19
20
  - [Policy Management](#policy-management)
21
+ - [End User Policies](#end-user-policies)
20
22
  - [End-user Management](#end-user-management)
21
23
  - [Create End User](#create-end-user)
22
24
  - [Import End User](#import-end-user)
@@ -420,6 +422,39 @@ console.log(
420
422
  );
421
423
  ```
422
424
 
425
+ ### EIP-7702 delegation
426
+
427
+ You can create an [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) delegation for an existing EOA, upgrading it with smart account capabilities on supported networks. The delegated EOA can then use batched transactions and gas sponsorship via paymaster.
428
+
429
+ ```typescript
430
+ import { CdpClient } from "@coinbase/cdp-sdk";
431
+ import { createPublicClient, http } from "viem";
432
+ import { baseSepolia } from "viem/chains";
433
+
434
+ const cdp = new CdpClient();
435
+ const publicClient = createPublicClient({
436
+ chain: baseSepolia,
437
+ transport: http(),
438
+ });
439
+
440
+ const account = await cdp.evm.getOrCreateAccount({ name: "MyAccount" });
441
+
442
+ const { delegationOperationId } = await cdp.evm.createEvmEip7702Delegation({
443
+ address: account.address,
444
+ network: "base-sepolia",
445
+ enableSpendPermissions: false, // optional, defaults to false
446
+ idempotencyKey: "optional-uuid", // optional
447
+ });
448
+
449
+ // Wait for the delegation operation to complete
450
+ const delegationOperation = await cdp.evm.waitForEvmEip7702DelegationOperationStatus({
451
+ delegationOperationId,
452
+ });
453
+ console.log(`Delegation confirmed (status: ${delegationOperation.status})`);
454
+ ```
455
+
456
+ For a runnable example that includes faucet and receipt waiting, see [examples/typescript/evm/eip7702/createEip7702Delegation.ts](https://github.com/coinbase/cdp-sdk/blob/main/examples/typescript/evm/eip7702/createEip7702Delegation.ts).
457
+
423
458
  ### EVM Smart Accounts
424
459
 
425
460
  For EVM, we support Smart Accounts which are account-abstraction (ERC-4337) accounts. Currently there is only support for Base Sepolia and Base Mainnet for Smart Accounts.
@@ -1079,6 +1114,8 @@ try {
1079
1114
 
1080
1115
  We currently support the following policy rules:
1081
1116
 
1117
+ **Server wallet rules:**
1118
+
1082
1119
  - [SignEvmTransactionRule](https://docs.cdp.coinbase.com/api-reference/v2/rest-api/policy-engine/create-a-policy#signevmtransactionrule)
1083
1120
  - [SendEvmTransactionRule](https://docs.cdp.coinbase.com/api-reference/v2/rest-api/policy-engine/create-a-policy#sendevmtransactionrule)
1084
1121
  - [SignEvmMessageRule](https://docs.cdp.coinbase.com/api-reference/v2/rest-api/policy-engine/create-a-policy#signevmmessagerule)
@@ -1089,6 +1126,86 @@ We currently support the following policy rules:
1089
1126
  - [PrepareUserOperationRule](https://docs.cdp.coinbase.com/api-reference/v2/rest-api/policy-engine/create-a-policy#prepareuseroperationrule)
1090
1127
  - [SendUserOperationRule](https://docs.cdp.coinbase.com/api-reference/v2/rest-api/policy-engine/create-a-policy#senduseroperationrule)
1091
1128
 
1129
+ **End user rules:**
1130
+
1131
+ - `SignEndUserEvmTransactionRule` — operation: `signEndUserEvmTransaction` (criteria: `ethValue`, `evmAddress`, `evmData`, `netUSDChange`)
1132
+ - `SendEndUserEvmTransactionRule` — operation: `sendEndUserEvmTransaction` (criteria: `ethValue`, `evmAddress`, `evmNetwork`, `evmData`, `netUSDChange`)
1133
+ - `SignEndUserEvmMessageRule` — operation: `signEndUserEvmMessage` (criteria: `evmMessage`)
1134
+ - `SignEndUserEvmTypedDataRule` — operation: `signEndUserEvmTypedData` (criteria: `evmTypedDataField`, `evmTypedDataVerifyingContract`)
1135
+ - `SignEndUserSolTransactionRule` — operation: `signEndUserSolTransaction` (criteria: `solAddress`, `solValue`, `splAddress`, `splValue`, `mintAddress`, `solData`, `programId`)
1136
+ - `SendEndUserSolTransactionRule` — operation: `sendEndUserSolTransaction` (criteria: `solAddress`, `solValue`, `splAddress`, `splValue`, `mintAddress`, `solData`, `programId`, `solNetwork`)
1137
+ - `SignEndUserSolMessageRule` — operation: `signEndUserSolMessage` (criteria: `solMessage`)
1138
+
1139
+ End user rules use the same criteria types as their server wallet counterparts. For example, `signEndUserEvmTransaction` supports the same `ethValue`, `evmAddress`, and `evmData` criteria as `signEvmTransaction`.
1140
+
1141
+ ### End User Policies
1142
+
1143
+ You can create policies that govern end-user operations using the same criteria types available for server wallet policies. The only difference is the `operation` value, which targets end-user-specific actions.
1144
+
1145
+ #### End User EVM Policy
1146
+
1147
+ This policy restricts end-user EVM transaction signing to a max value and allowlisted recipients — the same criteria used in `signEvmTransaction`:
1148
+
1149
+ ```typescript
1150
+ const policy = await cdp.policies.createPolicy({
1151
+ policy: {
1152
+ scope: "project",
1153
+ description: "End User EVM Policy",
1154
+ rules: [
1155
+ {
1156
+ action: "accept",
1157
+ operation: "signEndUserEvmTransaction",
1158
+ criteria: [
1159
+ {
1160
+ type: "ethValue",
1161
+ ethValue: "1000000000000000000", // 1 ETH in wei
1162
+ operator: "<=",
1163
+ },
1164
+ {
1165
+ type: "evmAddress",
1166
+ addresses: ["0x000000000000000000000000000000000000dEaD"],
1167
+ operator: "in",
1168
+ },
1169
+ ],
1170
+ },
1171
+ ],
1172
+ },
1173
+ });
1174
+ ```
1175
+
1176
+ #### End User Solana Policy
1177
+
1178
+ This policy restricts end-user Solana transaction signing to allowlisted recipients under a SOL value threshold — the same criteria used in `signSolTransaction`:
1179
+
1180
+ ```typescript
1181
+ const policy = await cdp.policies.createPolicy({
1182
+ policy: {
1183
+ scope: "project",
1184
+ description: "End User Solana Policy",
1185
+ rules: [
1186
+ {
1187
+ action: "accept",
1188
+ operation: "signEndUserSolTransaction",
1189
+ criteria: [
1190
+ {
1191
+ type: "solAddress",
1192
+ addresses: ["11111111111111111111111111111111"],
1193
+ operator: "in",
1194
+ },
1195
+ {
1196
+ type: "solValue",
1197
+ solValue: "1000000000", // 1 SOL in lamports
1198
+ operator: "<=",
1199
+ },
1200
+ ],
1201
+ },
1202
+ ],
1203
+ },
1204
+ });
1205
+ ```
1206
+
1207
+ > For a comprehensive example demonstrating all 7 end-user operations, see [createEndUserPolicy.ts](https://github.com/coinbase/cdp-sdk/blob/main/examples/typescript/end-users/createEndUserPolicy.ts).
1208
+
1092
1209
  ### End-user Management
1093
1210
 
1094
1211
  You can use the End User SDK to manage the users of your applications.
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toEvmDelegatedAccount = toEvmDelegatedAccount;
4
+ const toEvmSmartAccount_js_1 = require("./toEvmSmartAccount.js");
5
+ const index_js_1 = require("../../openapi-client/index.js");
6
+ /**
7
+ * Creates an EvmSmartAccount view of a server account for use after EIP-7702 delegation.
8
+ * Uses the API client configured by your CdpClient instance.
9
+ *
10
+ * The returned account has the same address as the EOA and uses the server account as owner,
11
+ * so you can call sendUserOperation, waitForUserOperation, etc.
12
+ *
13
+ * @param account - The server account (EOA) that has been delegated via EIP-7702.
14
+ * @returns An EvmSmartAccount view ready for user operation submission.
15
+ */
16
+ function toEvmDelegatedAccount(account) {
17
+ return (0, toEvmSmartAccount_js_1.toEvmSmartAccount)(index_js_1.CdpOpenApiClient, {
18
+ smartAccount: {
19
+ address: account.address,
20
+ owners: [account.address],
21
+ name: account.name,
22
+ policies: account.policies,
23
+ },
24
+ owner: account,
25
+ });
26
+ }
27
+ //# sourceMappingURL=toEvmDelegatedAccount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toEvmDelegatedAccount.js","sourceRoot":"","sources":["../../../accounts/evm/toEvmDelegatedAccount.ts"],"names":[],"mappings":";;AAeA,sDAUC;AAzBD,iEAA2D;AAC3D,4DAAiE;AAIjE;;;;;;;;;GASG;AACH,SAAgB,qBAAqB,CAAC,OAAyB;IAC7D,OAAO,IAAA,wCAAiB,EAAC,2BAAgB,EAAE;QACzC,YAAY,EAAE;YACZ,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;YACzB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;QACD,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;AACL,CAAC"}
@@ -29,55 +29,79 @@ function toEvmServerAccount(apiClient, options) {
29
29
  action: "sign_message",
30
30
  accountType: "evm_server",
31
31
  });
32
- if (typeof message === "string") {
33
- const result = await apiClient.signEvmMessage(options.account.address, {
34
- message,
32
+ try {
33
+ if (typeof message === "string") {
34
+ const result = await apiClient.signEvmMessage(options.account.address, {
35
+ message,
36
+ });
37
+ return result.signature;
38
+ }
39
+ const result = await apiClient.signEvmHash(options.account.address, {
40
+ hash: (0, viem_1.hashMessage)(message),
35
41
  });
36
42
  return result.signature;
37
43
  }
38
- const result = await apiClient.signEvmHash(options.account.address, {
39
- hash: (0, viem_1.hashMessage)(message),
40
- });
41
- return result.signature;
44
+ catch (error) {
45
+ analytics_js_1.Analytics.trackError(error, "signMessage");
46
+ throw error;
47
+ }
42
48
  },
43
49
  async sign(parameters) {
44
50
  analytics_js_1.Analytics.trackAction({
45
51
  action: "sign",
46
52
  accountType: "evm_server",
47
53
  });
48
- const result = await apiClient.signEvmHash(options.account.address, {
49
- hash: parameters.hash,
50
- });
51
- return result.signature;
54
+ try {
55
+ const result = await apiClient.signEvmHash(options.account.address, {
56
+ hash: parameters.hash,
57
+ });
58
+ return result.signature;
59
+ }
60
+ catch (error) {
61
+ analytics_js_1.Analytics.trackError(error, "sign");
62
+ throw error;
63
+ }
52
64
  },
53
65
  async signTransaction(transaction) {
54
66
  analytics_js_1.Analytics.trackAction({
55
67
  action: "sign_transaction",
56
68
  accountType: "evm_server",
57
69
  });
58
- const result = await apiClient.signEvmTransaction(options.account.address, {
59
- transaction: (0, viem_1.serializeTransaction)(transaction),
60
- });
61
- return result.signedTransaction;
70
+ try {
71
+ const result = await apiClient.signEvmTransaction(options.account.address, {
72
+ transaction: (0, viem_1.serializeTransaction)(transaction),
73
+ });
74
+ return result.signedTransaction;
75
+ }
76
+ catch (error) {
77
+ analytics_js_1.Analytics.trackError(error, "signTransaction");
78
+ throw error;
79
+ }
62
80
  },
63
81
  async signTypedData(parameters) {
64
82
  analytics_js_1.Analytics.trackAction({
65
83
  action: "sign_typed_data",
66
84
  accountType: "evm_server",
67
85
  });
68
- const { domain = {}, message, primaryType } = parameters;
69
- const types = {
70
- EIP712Domain: (0, viem_1.getTypesForEIP712Domain)({ domain }),
71
- ...parameters.types,
72
- };
73
- const openApiMessage = {
74
- domain: domain,
75
- types,
76
- primaryType,
77
- message,
78
- };
79
- const result = await apiClient.signEvmTypedData(options.account.address, openApiMessage);
80
- return result.signature;
86
+ try {
87
+ const { domain = {}, message, primaryType } = parameters;
88
+ const types = {
89
+ EIP712Domain: (0, viem_1.getTypesForEIP712Domain)({ domain }),
90
+ ...parameters.types,
91
+ };
92
+ const openApiMessage = {
93
+ domain: domain,
94
+ types,
95
+ primaryType,
96
+ message,
97
+ };
98
+ const result = await apiClient.signEvmTypedData(options.account.address, openApiMessage);
99
+ return result.signature;
100
+ }
101
+ catch (error) {
102
+ analytics_js_1.Analytics.trackError(error, "signTypedData");
103
+ throw error;
104
+ }
81
105
  },
82
106
  async transfer(transferArgs) {
83
107
  analytics_js_1.Analytics.trackAction({
@@ -87,7 +111,13 @@ function toEvmServerAccount(apiClient, options) {
87
111
  network: transferArgs.network,
88
112
  },
89
113
  });
90
- return (0, transfer_js_1.transfer)(apiClient, account, transferArgs, accountTransferStrategy_js_1.accountTransferStrategy);
114
+ try {
115
+ return (0, transfer_js_1.transfer)(apiClient, account, transferArgs, accountTransferStrategy_js_1.accountTransferStrategy);
116
+ }
117
+ catch (error) {
118
+ analytics_js_1.Analytics.trackError(error, "transfer");
119
+ throw error;
120
+ }
91
121
  },
92
122
  async listTokenBalances(options) {
93
123
  analytics_js_1.Analytics.trackAction({
@@ -97,10 +127,16 @@ function toEvmServerAccount(apiClient, options) {
97
127
  network: options.network,
98
128
  },
99
129
  });
100
- return (0, listTokenBalances_js_1.listTokenBalances)(apiClient, {
101
- ...options,
102
- address: this.address,
103
- });
130
+ try {
131
+ return (0, listTokenBalances_js_1.listTokenBalances)(apiClient, {
132
+ ...options,
133
+ address: this.address,
134
+ });
135
+ }
136
+ catch (error) {
137
+ analytics_js_1.Analytics.trackError(error, "listTokenBalances");
138
+ throw error;
139
+ }
104
140
  },
105
141
  async requestFaucet(options) {
106
142
  analytics_js_1.Analytics.trackAction({
@@ -110,10 +146,16 @@ function toEvmServerAccount(apiClient, options) {
110
146
  network: options.network,
111
147
  },
112
148
  });
113
- return (0, requestFaucet_js_1.requestFaucet)(apiClient, {
114
- ...options,
115
- address: this.address,
116
- });
149
+ try {
150
+ return (0, requestFaucet_js_1.requestFaucet)(apiClient, {
151
+ ...options,
152
+ address: this.address,
153
+ });
154
+ }
155
+ catch (error) {
156
+ analytics_js_1.Analytics.trackError(error, "requestFaucet");
157
+ throw error;
158
+ }
117
159
  },
118
160
  async sendTransaction(options) {
119
161
  analytics_js_1.Analytics.trackAction({
@@ -123,10 +165,16 @@ function toEvmServerAccount(apiClient, options) {
123
165
  network: options.network,
124
166
  },
125
167
  });
126
- return (0, sendTransaction_js_1.sendTransaction)(apiClient, {
127
- ...options,
128
- address: this.address,
129
- });
168
+ try {
169
+ return (0, sendTransaction_js_1.sendTransaction)(apiClient, {
170
+ ...options,
171
+ address: this.address,
172
+ });
173
+ }
174
+ catch (error) {
175
+ analytics_js_1.Analytics.trackError(error, "sendTransaction");
176
+ throw error;
177
+ }
130
178
  },
131
179
  async quoteSwap(options) {
132
180
  analytics_js_1.Analytics.trackAction({
@@ -136,10 +184,16 @@ function toEvmServerAccount(apiClient, options) {
136
184
  network: options.network,
137
185
  },
138
186
  });
139
- return (0, createSwapQuote_js_1.createSwapQuote)(apiClient, {
140
- ...options,
141
- taker: this.address,
142
- });
187
+ try {
188
+ return (0, createSwapQuote_js_1.createSwapQuote)(apiClient, {
189
+ ...options,
190
+ taker: this.address,
191
+ });
192
+ }
193
+ catch (error) {
194
+ analytics_js_1.Analytics.trackError(error, "quoteSwap");
195
+ throw error;
196
+ }
143
197
  },
144
198
  async swap(options) {
145
199
  analytics_js_1.Analytics.trackAction({
@@ -149,11 +203,17 @@ function toEvmServerAccount(apiClient, options) {
149
203
  network: "network" in options ? options.network : undefined,
150
204
  },
151
205
  });
152
- return (0, sendSwapTransaction_js_1.sendSwapTransaction)(apiClient, {
153
- ...options,
154
- address: this.address,
155
- taker: this.address, // Always use account's address as taker
156
- });
206
+ try {
207
+ return (0, sendSwapTransaction_js_1.sendSwapTransaction)(apiClient, {
208
+ ...options,
209
+ address: this.address,
210
+ taker: this.address, // Always use account's address as taker
211
+ });
212
+ }
213
+ catch (error) {
214
+ analytics_js_1.Analytics.trackError(error, "swap");
215
+ throw error;
216
+ }
157
217
  },
158
218
  async useSpendPermission(options) {
159
219
  analytics_js_1.Analytics.trackAction({
@@ -163,7 +223,13 @@ function toEvmServerAccount(apiClient, options) {
163
223
  network: options.network,
164
224
  },
165
225
  });
166
- return (0, account_use_js_1.useSpendPermission)(apiClient, this.address, options);
226
+ try {
227
+ return (0, account_use_js_1.useSpendPermission)(apiClient, this.address, options);
228
+ }
229
+ catch (error) {
230
+ analytics_js_1.Analytics.trackError(error, "useSpendPermission");
231
+ throw error;
232
+ }
167
233
  },
168
234
  name: options.account.name,
169
235
  type: "evm-server",
@@ -176,10 +242,16 @@ function toEvmServerAccount(apiClient, options) {
176
242
  network: networkOrRpcUrl,
177
243
  },
178
244
  });
179
- return (0, toNetworkScopedEvmServerAccount_js_1.toNetworkScopedEvmServerAccount)({
180
- account,
181
- network: networkOrRpcUrl,
182
- });
245
+ try {
246
+ return (0, toNetworkScopedEvmServerAccount_js_1.toNetworkScopedEvmServerAccount)({
247
+ account,
248
+ network: networkOrRpcUrl,
249
+ });
250
+ }
251
+ catch (error) {
252
+ analytics_js_1.Analytics.trackError(error, "useNetwork");
253
+ throw error;
254
+ }
183
255
  },
184
256
  };
185
257
  return account;
@@ -1 +1 @@
1
- {"version":3,"file":"toEvmServerAccount.js","sourceRoot":"","sources":["../../../accounts/evm/toEvmServerAccount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toEvmServerAccount.js","sourceRoot":"","sources":["../../../accounts/evm/toEvmServerAccount.ts"],"names":[],"mappings":"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"}