@coinbase/cdp-sdk 1.25.0 → 1.27.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 (174) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +58 -2
  3. package/_cjs/accounts/evm/networkToChainResolver.js +68 -0
  4. package/_cjs/accounts/evm/networkToChainResolver.js.map +1 -0
  5. package/_cjs/accounts/evm/resolveViemClients.js +6 -32
  6. package/_cjs/accounts/evm/resolveViemClients.js.map +1 -1
  7. package/_cjs/accounts/evm/toEvmServerAccount.js +84 -0
  8. package/_cjs/accounts/evm/toEvmServerAccount.js.map +1 -1
  9. package/_cjs/accounts/evm/toEvmSmartAccount.js +93 -0
  10. package/_cjs/accounts/evm/toEvmSmartAccount.js.map +1 -1
  11. package/_cjs/accounts/evm/toNetworkScopedEvmServerAccount.js +19 -7
  12. package/_cjs/accounts/evm/toNetworkScopedEvmServerAccount.js.map +1 -1
  13. package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js +65 -0
  14. package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -1
  15. package/_cjs/accounts/solana/toSolanaAccount.js +20 -0
  16. package/_cjs/accounts/solana/toSolanaAccount.js.map +1 -1
  17. package/_cjs/actions/evm/fund/fund.js +3 -2
  18. package/_cjs/actions/evm/fund/fund.js.map +1 -1
  19. package/_cjs/actions/evm/fund/quoteFund.js +3 -2
  20. package/_cjs/actions/evm/fund/quoteFund.js.map +1 -1
  21. package/_cjs/actions/solana/sendTransaction.js +32 -0
  22. package/_cjs/actions/solana/sendTransaction.js.map +1 -0
  23. package/_cjs/analytics.js +39 -3
  24. package/_cjs/analytics.js.map +1 -1
  25. package/_cjs/auth/utils/jwt.js +6 -5
  26. package/_cjs/auth/utils/jwt.js.map +1 -1
  27. package/_cjs/client/cdp.js +4 -1
  28. package/_cjs/client/cdp.js.map +1 -1
  29. package/_cjs/client/evm/evm.js +116 -10
  30. package/_cjs/client/evm/evm.js.map +1 -1
  31. package/_cjs/client/policies/policies.js +22 -0
  32. package/_cjs/client/policies/policies.js.map +1 -1
  33. package/_cjs/client/solana/solana.js +85 -8
  34. package/_cjs/client/solana/solana.js.map +1 -1
  35. package/_cjs/constants.js +1 -1
  36. package/_cjs/constants.js.map +1 -1
  37. package/_cjs/errors.js +19 -1
  38. package/_cjs/errors.js.map +1 -1
  39. package/_cjs/index.js +3 -1
  40. package/_cjs/index.js.map +1 -1
  41. package/_cjs/openapi-client/cdpApiClient.js +46 -6
  42. package/_cjs/openapi-client/cdpApiClient.js.map +1 -1
  43. package/_cjs/openapi-client/errors.js +38 -9
  44. package/_cjs/openapi-client/errors.js.map +1 -1
  45. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +6 -1
  46. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  47. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.js +34 -1
  48. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.js.map +1 -1
  49. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.msw.js +18 -1
  50. package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.msw.js.map +1 -1
  51. package/_cjs/version.js +1 -1
  52. package/_esm/accounts/evm/networkToChainResolver.js +31 -0
  53. package/_esm/accounts/evm/networkToChainResolver.js.map +1 -0
  54. package/_esm/accounts/evm/resolveViemClients.js +4 -30
  55. package/_esm/accounts/evm/resolveViemClients.js.map +1 -1
  56. package/_esm/accounts/evm/toEvmServerAccount.js +84 -0
  57. package/_esm/accounts/evm/toEvmServerAccount.js.map +1 -1
  58. package/_esm/accounts/evm/toEvmSmartAccount.js +93 -0
  59. package/_esm/accounts/evm/toEvmSmartAccount.js.map +1 -1
  60. package/_esm/accounts/evm/toNetworkScopedEvmServerAccount.js +19 -7
  61. package/_esm/accounts/evm/toNetworkScopedEvmServerAccount.js.map +1 -1
  62. package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js +65 -0
  63. package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -1
  64. package/_esm/accounts/solana/toSolanaAccount.js +20 -0
  65. package/_esm/accounts/solana/toSolanaAccount.js.map +1 -1
  66. package/_esm/actions/evm/fund/fund.js +3 -2
  67. package/_esm/actions/evm/fund/fund.js.map +1 -1
  68. package/_esm/actions/evm/fund/quoteFund.js +3 -2
  69. package/_esm/actions/evm/fund/quoteFund.js.map +1 -1
  70. package/_esm/actions/solana/sendTransaction.js +29 -0
  71. package/_esm/actions/solana/sendTransaction.js.map +1 -0
  72. package/_esm/analytics.js +39 -3
  73. package/_esm/analytics.js.map +1 -1
  74. package/_esm/auth/utils/jwt.js +3 -2
  75. package/_esm/auth/utils/jwt.js.map +1 -1
  76. package/_esm/client/cdp.js +4 -1
  77. package/_esm/client/cdp.js.map +1 -1
  78. package/_esm/client/evm/evm.js +110 -4
  79. package/_esm/client/evm/evm.js.map +1 -1
  80. package/_esm/client/policies/policies.js +22 -0
  81. package/_esm/client/policies/policies.js.map +1 -1
  82. package/_esm/client/solana/solana.js +82 -5
  83. package/_esm/client/solana/solana.js.map +1 -1
  84. package/_esm/constants.js +1 -1
  85. package/_esm/constants.js.map +1 -1
  86. package/_esm/errors.js +17 -0
  87. package/_esm/errors.js.map +1 -1
  88. package/_esm/index.js +1 -0
  89. package/_esm/index.js.map +1 -1
  90. package/_esm/openapi-client/cdpApiClient.js +47 -7
  91. package/_esm/openapi-client/cdpApiClient.js.map +1 -1
  92. package/_esm/openapi-client/errors.js +36 -8
  93. package/_esm/openapi-client/errors.js.map +1 -1
  94. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +5 -0
  95. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  96. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.js +32 -0
  97. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.js.map +1 -1
  98. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.msw.js +15 -0
  99. package/_esm/openapi-client/generated/solana-accounts/solana-accounts.msw.js.map +1 -1
  100. package/_esm/version.js +1 -1
  101. package/_types/accounts/evm/networkToChainResolver.d.ts +14 -0
  102. package/_types/accounts/evm/networkToChainResolver.d.ts.map +1 -0
  103. package/_types/accounts/evm/resolveViemClients.d.ts.map +1 -1
  104. package/_types/accounts/evm/toEvmServerAccount.d.ts.map +1 -1
  105. package/_types/accounts/evm/toEvmSmartAccount.d.ts.map +1 -1
  106. package/_types/accounts/evm/toNetworkScopedEvmServerAccount.d.ts.map +1 -1
  107. package/_types/accounts/evm/toNetworkScopedEvmSmartAccount.d.ts.map +1 -1
  108. package/_types/accounts/evm/types.d.ts +3 -3
  109. package/_types/accounts/evm/types.d.ts.map +1 -1
  110. package/_types/accounts/solana/toSolanaAccount.d.ts.map +1 -1
  111. package/_types/actions/evm/fund/fund.d.ts.map +1 -1
  112. package/_types/actions/evm/fund/quoteFund.d.ts.map +1 -1
  113. package/_types/actions/evm/types.d.ts +36 -3
  114. package/_types/actions/evm/types.d.ts.map +1 -1
  115. package/_types/actions/solana/sendTransaction.d.ts +23 -0
  116. package/_types/actions/solana/sendTransaction.d.ts.map +1 -0
  117. package/_types/analytics.d.ts +36 -1
  118. package/_types/analytics.d.ts.map +1 -1
  119. package/_types/auth/utils/jwt.d.ts.map +1 -1
  120. package/_types/client/cdp.d.ts.map +1 -1
  121. package/_types/client/evm/evm.d.ts +1 -0
  122. package/_types/client/evm/evm.d.ts.map +1 -1
  123. package/_types/client/policies/policies.d.ts.map +1 -1
  124. package/_types/client/solana/solana.d.ts +21 -2
  125. package/_types/client/solana/solana.d.ts.map +1 -1
  126. package/_types/client/solana/solana.types.d.ts +22 -3
  127. package/_types/client/solana/solana.types.d.ts.map +1 -1
  128. package/_types/constants.d.ts +1 -1
  129. package/_types/constants.d.ts.map +1 -1
  130. package/_types/errors.d.ts +11 -0
  131. package/_types/errors.d.ts.map +1 -1
  132. package/_types/index.d.ts +1 -0
  133. package/_types/index.d.ts.map +1 -1
  134. package/_types/openapi-client/cdpApiClient.d.ts.map +1 -1
  135. package/_types/openapi-client/errors.d.ts +46 -9
  136. package/_types/openapi-client/errors.d.ts.map +1 -1
  137. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +18 -0
  138. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
  139. package/_types/openapi-client/generated/solana-accounts/solana-accounts.d.ts +27 -1
  140. package/_types/openapi-client/generated/solana-accounts/solana-accounts.d.ts.map +1 -1
  141. package/_types/openapi-client/generated/solana-accounts/solana-accounts.msw.d.ts +3 -1
  142. package/_types/openapi-client/generated/solana-accounts/solana-accounts.msw.d.ts.map +1 -1
  143. package/_types/openapi-client/index.d.ts +2 -0
  144. package/_types/openapi-client/index.d.ts.map +1 -1
  145. package/_types/version.d.ts +1 -1
  146. package/accounts/evm/networkToChainResolver.ts +34 -0
  147. package/accounts/evm/resolveViemClients.ts +6 -32
  148. package/accounts/evm/toEvmServerAccount.ts +98 -0
  149. package/accounts/evm/toEvmSmartAccount.ts +114 -2
  150. package/accounts/evm/toNetworkScopedEvmServerAccount.ts +22 -8
  151. package/accounts/evm/toNetworkScopedEvmSmartAccount.ts +75 -0
  152. package/accounts/evm/types.ts +3 -3
  153. package/accounts/solana/toSolanaAccount.ts +24 -0
  154. package/actions/evm/fund/fund.ts +3 -2
  155. package/actions/evm/fund/quoteFund.ts +3 -2
  156. package/actions/evm/types.ts +41 -2
  157. package/actions/solana/sendTransaction.ts +38 -0
  158. package/analytics.ts +73 -4
  159. package/auth/utils/jwt.ts +5 -2
  160. package/client/cdp.ts +7 -1
  161. package/client/evm/evm.ts +135 -6
  162. package/client/policies/policies.ts +28 -0
  163. package/client/solana/solana.ts +97 -5
  164. package/client/solana/solana.types.ts +25 -1
  165. package/constants.ts +1 -1
  166. package/errors.ts +18 -0
  167. package/index.ts +1 -0
  168. package/openapi-client/cdpApiClient.ts +87 -17
  169. package/openapi-client/errors.ts +65 -10
  170. package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +24 -0
  171. package/openapi-client/generated/solana-accounts/solana-accounts.msw.ts +32 -0
  172. package/openapi-client/generated/solana-accounts/solana-accounts.ts +43 -0
  173. package/package.json +1 -1
  174. package/version.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # CDP SDK Changelog
2
2
 
3
+ ## 1.27.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#291](https://github.com/coinbase/cdp-sdk/pull/291) [`2f91319`](https://github.com/coinbase/cdp-sdk/commit/2f91319c3e74a4d5a437222e16b4b891cda74a97) Thanks [@marcin-cb](https://github.com/marcin-cb)! - Added SendTransaction method to the Solana client
8
+
9
+ - [#293](https://github.com/coinbase/cdp-sdk/pull/293) [`da89fd1`](https://github.com/coinbase/cdp-sdk/commit/da89fd120f37788d9f917d0cc0969396fba98d78) Thanks [@0xRAG](https://github.com/0xRAG)! - Improved network error handling
10
+
11
+ ## 1.26.0
12
+
13
+ ### Minor Changes
14
+
15
+ - [#284](https://github.com/coinbase/cdp-sdk/pull/284) [`8f62c03`](https://github.com/coinbase/cdp-sdk/commit/8f62c039acebdee3bc2d40abe9fcb02f301d4b8d) Thanks [@0xRAG](https://github.com/0xRAG)! - Added signTypedData on EvmSmartAccount
16
+
17
+ ### Patch Changes
18
+
19
+ - [#282](https://github.com/coinbase/cdp-sdk/pull/282) [`d125258`](https://github.com/coinbase/cdp-sdk/commit/d125258c2dcf3fe6104cf9df0290d9904c2019fb) Thanks [@sddioulde](https://github.com/sddioulde)! - Made solana mainnet default network for listTokenBalances
20
+
21
+ - [#281](https://github.com/coinbase/cdp-sdk/pull/281) [`8a8d687`](https://github.com/coinbase/cdp-sdk/commit/8a8d687e4410abe277f932afd19f0e19cc5a5bf6) Thanks [@0xRAG](https://github.com/0xRAG)! - Fixed network scoped server account transfer
22
+
3
23
  ## 1.25.0
4
24
 
5
25
  ### Minor Changes
package/README.md CHANGED
@@ -19,6 +19,7 @@
19
19
  - [Policy Management](#policy-management)
20
20
  - [Authentication tools](#authentication-tools)
21
21
  - [Error Reporting](#error-reporting)
22
+ - [Usage Tracking](#usage-tracking)
22
23
  - [License](#license)
23
24
  - [Support](#support)
24
25
  - [Security](#security)
@@ -351,7 +352,58 @@ console.log(`Transaction confirmed! Explorer link: https://sepolia.basescan.org/
351
352
 
352
353
  #### Solana
353
354
 
354
- For Solana, we recommend using the `@solana/web3.js` library to send transactions. See the [examples](https://github.com/coinbase/cdp-sdk/tree/main/examples/typescript/solana/signAndSendTransaction.ts).
355
+ You can use CDP SDK to send transactions on Solana.
356
+
357
+ For complete examples, check out [sendTransaction.ts](https://github.com/coinbase/cdp-sdk/blob/main/examples/typescript/solana/sendTransaction.ts), [sendManyTransactions.ts](https://github.com/coinbase/cdp-sdk/blob/main/examples/typescript/solana/sendManyTransactions.ts), and [sendManyBatchedTransactions.ts](https://github.com/coinbase/cdp-sdk/blob/main/examples/typescript/solana/sendManyBatchedTransactions.ts).
358
+
359
+ ```typescript
360
+ import { CdpClient } from "@coinbase/cdp-sdk";
361
+ import "dotenv/config";
362
+
363
+ import {
364
+ PublicKey,
365
+ SystemProgram,
366
+ SYSVAR_RECENT_BLOCKHASHES_PUBKEY,
367
+ Transaction,
368
+ } from "@solana/web3.js";
369
+
370
+ const cdp = new CdpClient();
371
+
372
+ const account = await cdp.solana.createAccount();
373
+
374
+ const faucetResp = await cdp.solana.requestFaucet({
375
+ address: account.address,
376
+ token: "sol",
377
+ });
378
+
379
+ const transaction = new Transaction();
380
+ transaction.add(
381
+ SystemProgram.transfer({
382
+ fromPubkey: new PublicKey(account.address),
383
+ toPubkey: new PublicKey("3KzDtddx4i53FBkvCzuDmRbaMozTZoJBb1TToWhz3JfE"),
384
+ lamports: 10000,
385
+ })
386
+ );
387
+
388
+ // A more recent blockhash is set in the backend by CDP
389
+ transaction.recentBlockhash = SYSVAR_RECENT_BLOCKHASHES_PUBKEY.toBase58();
390
+ transaction.feePayer = new PublicKey(account.address);
391
+
392
+ const serializedTx = Buffer.from(
393
+ transaction.serialize({ requireAllSignatures: false })
394
+ ).toString("base64");
395
+
396
+ console.log("Transaction serialized successfully");
397
+
398
+ const txResult = await cdp.solana.sendTransaction({
399
+ network: "solana-devnet",
400
+ transaction: serializedTx,
401
+ });
402
+
403
+ console.log(
404
+ `Transaction confirmed! Explorer link: https://explorer.solana.com/tx/${txResult.signature}?cluster=devnet`
405
+ );
406
+ ```
355
407
 
356
408
  ### EVM Smart Accounts
357
409
 
@@ -1024,12 +1076,16 @@ This SDK also contains simple tools for authenticating REST API requests to the
1024
1076
 
1025
1077
  ## Error Reporting
1026
1078
 
1027
- This SDK contains error reporting functionality that sends error events to the CDP. If you would like to disable this behavior, you can set the `DISABLE_CDP_ERROR_REPORTING` environment variable to `true`.
1079
+ This SDK contains error reporting functionality that sends error events to CDP. If you would like to disable this behavior, you can set the `DISABLE_CDP_ERROR_REPORTING` environment variable to `true`.
1028
1080
 
1029
1081
  ```bash
1030
1082
  DISABLE_CDP_ERROR_REPORTING=true
1031
1083
  ```
1032
1084
 
1085
+ ## Usage Tracking
1086
+
1087
+ This SDK contains usage tracking functionality that sends usage events to CDP. If you would like to disable this behavior, you can set the `DISABLE_CDP_USAGE_TRACKING` environment variable to `true`.
1088
+
1033
1089
  ## License
1034
1090
 
1035
1091
  This project is licensed under the MIT License - see the [LICENSE](https://github.com/coinbase/cdp-sdk/tree/main/LICENSE.md) file for details.
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.NETWORK_TO_CHAIN_MAP = void 0;
37
+ exports.resolveNetworkToChain = resolveNetworkToChain;
38
+ const chains = __importStar(require("viem/chains"));
39
+ /**
40
+ * Network identifier to viem chain mapping
41
+ */
42
+ exports.NETWORK_TO_CHAIN_MAP = {
43
+ base: chains.base,
44
+ "base-sepolia": chains.baseSepolia,
45
+ ethereum: chains.mainnet,
46
+ "ethereum-sepolia": chains.sepolia,
47
+ polygon: chains.polygon,
48
+ "polygon-mumbai": chains.polygonMumbai,
49
+ arbitrum: chains.arbitrum,
50
+ "arbitrum-sepolia": chains.arbitrumSepolia,
51
+ optimism: chains.optimism,
52
+ "optimism-sepolia": chains.optimismSepolia,
53
+ };
54
+ /**
55
+ * Resolves a network identifier to a viem chain
56
+ *
57
+ * @param network - The network identifier to resolve
58
+ * @returns The resolved viem chain
59
+ * @throws Error if the network identifier is not supported
60
+ */
61
+ function resolveNetworkToChain(network) {
62
+ const chain = exports.NETWORK_TO_CHAIN_MAP[network.toLowerCase()];
63
+ if (!chain) {
64
+ throw new Error(`Unsupported network identifier: ${network}`);
65
+ }
66
+ return chain;
67
+ }
68
+ //# sourceMappingURL=networkToChainResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networkToChainResolver.js","sourceRoot":"","sources":["../../../accounts/evm/networkToChainResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,sDAMC;AAjCD,oDAAsC;AAItC;;GAEG;AACU,QAAA,oBAAoB,GAA0B;IACzD,IAAI,EAAE,MAAM,CAAC,IAAI;IACjB,cAAc,EAAE,MAAM,CAAC,WAAW;IAClC,QAAQ,EAAE,MAAM,CAAC,OAAO;IACxB,kBAAkB,EAAE,MAAM,CAAC,OAAO;IAClC,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,gBAAgB,EAAE,MAAM,CAAC,aAAa;IACtC,QAAQ,EAAE,MAAM,CAAC,QAAQ;IACzB,kBAAkB,EAAE,MAAM,CAAC,eAAe;IAC1C,QAAQ,EAAE,MAAM,CAAC,QAAQ;IACzB,kBAAkB,EAAE,MAAM,CAAC,eAAe;CAC3C,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,OAAe;IACnD,MAAM,KAAK,GAAG,4BAAoB,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -38,21 +38,8 @@ const viem_1 = require("viem");
38
38
  const accounts_1 = require("viem/accounts");
39
39
  const chains = __importStar(require("viem/chains"));
40
40
  const getBaseNodeRpcUrl_js_1 = require("./getBaseNodeRpcUrl.js");
41
- /**
42
- * Network identifier to viem chain mapping
43
- */
44
- const NETWORK_TO_CHAIN_MAP = {
45
- base: chains.base,
46
- "base-sepolia": chains.baseSepolia,
47
- ethereum: chains.mainnet,
48
- "ethereum-sepolia": chains.sepolia,
49
- polygon: chains.polygon,
50
- "polygon-mumbai": chains.polygonMumbai,
51
- arbitrum: chains.arbitrum,
52
- "arbitrum-sepolia": chains.arbitrumSepolia,
53
- optimism: chains.optimism,
54
- "optimism-sepolia": chains.optimismSepolia,
55
- };
41
+ const networkToChainResolver_js_1 = require("./networkToChainResolver.js");
42
+ const errors_js_1 = require("../../errors.js");
56
43
  /**
57
44
  * Get a chain from the viem chains object
58
45
  *
@@ -74,20 +61,7 @@ function getChain(id) {
74
61
  */
75
62
  function isNetworkIdentifier(input) {
76
63
  const normalizedInput = input.toLowerCase();
77
- return NETWORK_TO_CHAIN_MAP[normalizedInput] !== undefined;
78
- }
79
- /**
80
- * Resolves a network identifier to a viem chain
81
- *
82
- * @param network - The network identifier to resolve
83
- * @returns The resolved viem chain
84
- */
85
- function resolveNetworkToChain(network) {
86
- const chain = NETWORK_TO_CHAIN_MAP[network.toLowerCase()];
87
- if (!chain) {
88
- throw new Error(`Unsupported network identifier: ${network}`);
89
- }
90
- return chain;
64
+ return networkToChainResolver_js_1.NETWORK_TO_CHAIN_MAP[normalizedInput] !== undefined;
91
65
  }
92
66
  /**
93
67
  * Resolves a Node URL to a viem chain by making a getChainId call
@@ -98,7 +72,7 @@ function resolveNetworkToChain(network) {
98
72
  async function resolveNodeUrlToChain(nodeUrl) {
99
73
  // First validate that it's a proper URL
100
74
  if (!isValidUrl(nodeUrl)) {
101
- throw new Error(`Invalid URL format: ${nodeUrl}`);
75
+ throw new errors_js_1.UserInputValidationError(`Invalid URL format: ${nodeUrl}`);
102
76
  }
103
77
  // Create a temporary public client to get the chain ID
104
78
  const tempPublicClient = (0, viem_1.createPublicClient)({
@@ -159,7 +133,7 @@ async function resolveViemClients(options) {
159
133
  const rpcUrl = networkOrNodeUrl === "base" || networkOrNodeUrl === "base-sepolia"
160
134
  ? await (0, getBaseNodeRpcUrl_js_1.getBaseNodeRpcUrl)(networkOrNodeUrl)
161
135
  : undefined;
162
- chain = resolveNetworkToChain(networkOrNodeUrl);
136
+ chain = (0, networkToChainResolver_js_1.resolveNetworkToChain)(networkOrNodeUrl);
163
137
  const publicClient = (0, viem_1.createPublicClient)({
164
138
  chain,
165
139
  transport: (0, viem_1.http)(rpcUrl),
@@ -202,7 +176,7 @@ async function resolveViemClients(options) {
202
176
  throw error;
203
177
  }
204
178
  // Otherwise, throw a generic error about unsupported input
205
- throw new Error(`Unsupported network identifier or invalid Node URL: ${networkOrNodeUrl}`);
179
+ throw new errors_js_1.UserInputValidationError(`Unsupported network identifier or invalid Node URL: ${networkOrNodeUrl}`);
206
180
  }
207
181
  }
208
182
  //# sourceMappingURL=resolveViemClients.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveViemClients.js","sourceRoot":"","sources":["../../../accounts/evm/resolveViemClients.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveViemClients.js","sourceRoot":"","sources":["../../../accounts/evm/resolveViemClients.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ const createSwapQuote_js_1 = require("../../actions/evm/swap/createSwapQuote.js"
13
13
  const sendSwapTransaction_js_1 = require("../../actions/evm/swap/sendSwapTransaction.js");
14
14
  const accountTransferStrategy_js_1 = require("../../actions/evm/transfer/accountTransferStrategy.js");
15
15
  const transfer_js_1 = require("../../actions/evm/transfer/transfer.js");
16
+ const analytics_js_1 = require("../../analytics.js");
16
17
  /**
17
18
  * Creates a Server-managed EvmAccount instance from an existing EvmAccount.
18
19
  * Use this to interact with previously deployed EvmAccounts, rather than creating new ones.
@@ -26,24 +27,40 @@ function toEvmServerAccount(apiClient, options) {
26
27
  const account = {
27
28
  address: options.account.address,
28
29
  async signMessage({ message }) {
30
+ analytics_js_1.Analytics.trackAction({
31
+ action: "sign_message",
32
+ accountType: "evm_server",
33
+ });
29
34
  const result = await apiClient.signEvmMessage(options.account.address, {
30
35
  message: message.toString(),
31
36
  });
32
37
  return result.signature;
33
38
  },
34
39
  async sign(parameters) {
40
+ analytics_js_1.Analytics.trackAction({
41
+ action: "sign",
42
+ accountType: "evm_server",
43
+ });
35
44
  const result = await apiClient.signEvmHash(options.account.address, {
36
45
  hash: parameters.hash,
37
46
  });
38
47
  return result.signature;
39
48
  },
40
49
  async signTransaction(transaction) {
50
+ analytics_js_1.Analytics.trackAction({
51
+ action: "sign_transaction",
52
+ accountType: "evm_server",
53
+ });
41
54
  const result = await apiClient.signEvmTransaction(options.account.address, {
42
55
  transaction: (0, viem_1.serializeTransaction)(transaction),
43
56
  });
44
57
  return result.signedTransaction;
45
58
  },
46
59
  async signTypedData(parameters) {
60
+ analytics_js_1.Analytics.trackAction({
61
+ action: "sign_typed_data",
62
+ accountType: "evm_server",
63
+ });
47
64
  const { domain = {}, message, primaryType } = parameters;
48
65
  const types = {
49
66
  EIP712Domain: (0, viem_1.getTypesForEIP712Domain)({ domain }),
@@ -59,48 +76,108 @@ function toEvmServerAccount(apiClient, options) {
59
76
  return result.signature;
60
77
  },
61
78
  async transfer(transferArgs) {
79
+ analytics_js_1.Analytics.trackAction({
80
+ action: "transfer",
81
+ accountType: "evm_server",
82
+ properties: {
83
+ network: transferArgs.network,
84
+ },
85
+ });
62
86
  return (0, transfer_js_1.transfer)(apiClient, account, transferArgs, accountTransferStrategy_js_1.accountTransferStrategy);
63
87
  },
64
88
  async listTokenBalances(options) {
89
+ analytics_js_1.Analytics.trackAction({
90
+ action: "list_token_balances",
91
+ accountType: "evm_server",
92
+ properties: {
93
+ network: options.network,
94
+ },
95
+ });
65
96
  return (0, listTokenBalances_js_1.listTokenBalances)(apiClient, {
66
97
  ...options,
67
98
  address: this.address,
68
99
  });
69
100
  },
70
101
  async requestFaucet(options) {
102
+ analytics_js_1.Analytics.trackAction({
103
+ action: "request_faucet",
104
+ accountType: "evm_server",
105
+ properties: {
106
+ network: options.network,
107
+ },
108
+ });
71
109
  return (0, requestFaucet_js_1.requestFaucet)(apiClient, {
72
110
  ...options,
73
111
  address: this.address,
74
112
  });
75
113
  },
76
114
  async sendTransaction(options) {
115
+ analytics_js_1.Analytics.trackAction({
116
+ action: "send_transaction",
117
+ accountType: "evm_server",
118
+ properties: {
119
+ network: options.network,
120
+ },
121
+ });
77
122
  return (0, sendTransaction_js_1.sendTransaction)(apiClient, {
78
123
  ...options,
79
124
  address: this.address,
80
125
  });
81
126
  },
82
127
  async quoteFund(options) {
128
+ analytics_js_1.Analytics.trackAction({
129
+ action: "quote_fund",
130
+ accountType: "evm_server",
131
+ properties: {
132
+ network: options.network,
133
+ },
134
+ });
83
135
  return (0, quoteFund_js_1.quoteFund)(apiClient, {
84
136
  ...options,
85
137
  address: this.address,
86
138
  });
87
139
  },
88
140
  async fund(options) {
141
+ analytics_js_1.Analytics.trackAction({
142
+ action: "fund",
143
+ accountType: "evm_server",
144
+ properties: {
145
+ network: options.network,
146
+ },
147
+ });
89
148
  return (0, fund_js_1.fund)(apiClient, {
90
149
  ...options,
91
150
  address: this.address,
92
151
  });
93
152
  },
94
153
  async waitForFundOperationReceipt(options) {
154
+ analytics_js_1.Analytics.trackAction({
155
+ action: "wait_for_fund_operation_receipt",
156
+ accountType: "evm_server",
157
+ });
95
158
  return (0, waitForFundOperationReceipt_js_1.waitForFundOperationReceipt)(apiClient, options);
96
159
  },
97
160
  async quoteSwap(options) {
161
+ analytics_js_1.Analytics.trackAction({
162
+ action: "quote_swap",
163
+ accountType: "evm_server",
164
+ properties: {
165
+ network: options.network,
166
+ },
167
+ });
98
168
  return (0, createSwapQuote_js_1.createSwapQuote)(apiClient, {
99
169
  ...options,
100
170
  taker: this.address,
101
171
  });
102
172
  },
103
173
  async swap(options) {
174
+ analytics_js_1.Analytics.trackAction({
175
+ action: "swap",
176
+ accountType: "evm_server",
177
+ properties: {
178
+ network: "network" in options ? options.network : undefined,
179
+ },
180
+ });
104
181
  return (0, sendSwapTransaction_js_1.sendSwapTransaction)(apiClient, {
105
182
  ...options,
106
183
  address: this.address,
@@ -111,6 +188,13 @@ function toEvmServerAccount(apiClient, options) {
111
188
  type: "evm-server",
112
189
  policies: options.account.policies,
113
190
  useNetwork: async (networkOrRpcUrl) => {
191
+ analytics_js_1.Analytics.trackAction({
192
+ action: "use_network",
193
+ accountType: "evm_server",
194
+ properties: {
195
+ network: networkOrRpcUrl,
196
+ },
197
+ });
114
198
  return (0, toNetworkScopedEvmServerAccount_js_1.toNetworkScopedEvmServerAccount)({
115
199
  account,
116
200
  network: networkOrRpcUrl,
@@ -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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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toEvmSmartAccount = toEvmSmartAccount;
4
+ const networkToChainResolver_js_1 = require("./networkToChainResolver.js");
4
5
  const toNetworkScopedEvmSmartAccount_js_1 = require("./toNetworkScopedEvmSmartAccount.js");
5
6
  const fund_js_1 = require("../../actions/evm/fund/fund.js");
6
7
  const quoteFund_js_1 = require("../../actions/evm/fund/quoteFund.js");
@@ -9,11 +10,13 @@ const getUserOperation_js_1 = require("../../actions/evm/getUserOperation.js");
9
10
  const listTokenBalances_js_1 = require("../../actions/evm/listTokenBalances.js");
10
11
  const requestFaucet_js_1 = require("../../actions/evm/requestFaucet.js");
11
12
  const sendUserOperation_js_1 = require("../../actions/evm/sendUserOperation.js");
13
+ const signAndWrapTypedDataForSmartAccount_js_1 = require("../../actions/evm/signAndWrapTypedDataForSmartAccount.js");
12
14
  const createSwapQuote_js_1 = require("../../actions/evm/swap/createSwapQuote.js");
13
15
  const sendSwapOperation_js_1 = require("../../actions/evm/swap/sendSwapOperation.js");
14
16
  const smartAccountTransferStrategy_js_1 = require("../../actions/evm/transfer/smartAccountTransferStrategy.js");
15
17
  const transfer_js_1 = require("../../actions/evm/transfer/transfer.js");
16
18
  const waitForUserOperation_js_1 = require("../../actions/evm/waitForUserOperation.js");
19
+ const analytics_js_1 = require("../../analytics.js");
17
20
  /**
18
21
  * Creates a EvmSmartAccount instance from an existing EvmSmartAccount and owner.
19
22
  * Use this to interact with previously deployed EvmSmartAccounts, rather than creating new ones.
@@ -32,54 +35,115 @@ function toEvmSmartAccount(apiClient, options) {
32
35
  owners: [options.owner],
33
36
  policies: options.smartAccount.policies,
34
37
  async transfer(transferArgs) {
38
+ analytics_js_1.Analytics.trackAction({
39
+ action: "transfer",
40
+ accountType: "evm_smart",
41
+ properties: {
42
+ network: transferArgs.network,
43
+ },
44
+ });
35
45
  return (0, transfer_js_1.transfer)(apiClient, account, transferArgs, smartAccountTransferStrategy_js_1.smartAccountTransferStrategy);
36
46
  },
37
47
  async listTokenBalances(options) {
48
+ analytics_js_1.Analytics.trackAction({
49
+ action: "list_token_balances",
50
+ accountType: "evm_smart",
51
+ properties: {
52
+ network: options.network,
53
+ },
54
+ });
38
55
  return (0, listTokenBalances_js_1.listTokenBalances)(apiClient, {
39
56
  ...options,
40
57
  address: this.address,
41
58
  });
42
59
  },
43
60
  async sendUserOperation(options) {
61
+ analytics_js_1.Analytics.trackAction({
62
+ action: "send_user_operation",
63
+ accountType: "evm_smart",
64
+ properties: {
65
+ network: options.network,
66
+ },
67
+ });
44
68
  return (0, sendUserOperation_js_1.sendUserOperation)(apiClient, {
45
69
  ...options,
46
70
  smartAccount: account,
47
71
  });
48
72
  },
49
73
  async waitForUserOperation(options) {
74
+ analytics_js_1.Analytics.trackAction({
75
+ action: "wait_for_user_operation",
76
+ accountType: "evm_smart",
77
+ });
50
78
  return (0, waitForUserOperation_js_1.waitForUserOperation)(apiClient, {
51
79
  ...options,
52
80
  smartAccountAddress: account.address,
53
81
  });
54
82
  },
55
83
  async getUserOperation(options) {
84
+ analytics_js_1.Analytics.trackAction({
85
+ action: "get_user_operation",
86
+ accountType: "evm_smart",
87
+ });
56
88
  return (0, getUserOperation_js_1.getUserOperation)(apiClient, {
57
89
  ...options,
58
90
  smartAccount: account,
59
91
  });
60
92
  },
61
93
  async requestFaucet(options) {
94
+ analytics_js_1.Analytics.trackAction({
95
+ action: "request_faucet",
96
+ accountType: "evm_smart",
97
+ properties: {
98
+ network: options.network,
99
+ },
100
+ });
62
101
  return (0, requestFaucet_js_1.requestFaucet)(apiClient, {
63
102
  ...options,
64
103
  address: account.address,
65
104
  });
66
105
  },
67
106
  async quoteFund(options) {
107
+ analytics_js_1.Analytics.trackAction({
108
+ action: "quote_fund",
109
+ accountType: "evm_smart",
110
+ properties: {
111
+ network: options.network,
112
+ },
113
+ });
68
114
  return (0, quoteFund_js_1.quoteFund)(apiClient, {
69
115
  ...options,
70
116
  address: this.address,
71
117
  });
72
118
  },
73
119
  async fund(options) {
120
+ analytics_js_1.Analytics.trackAction({
121
+ action: "fund",
122
+ accountType: "evm_smart",
123
+ properties: {
124
+ network: options.network,
125
+ },
126
+ });
74
127
  return (0, fund_js_1.fund)(apiClient, {
75
128
  ...options,
76
129
  address: this.address,
77
130
  });
78
131
  },
79
132
  async waitForFundOperationReceipt(options) {
133
+ analytics_js_1.Analytics.trackAction({
134
+ action: "wait_for_fund_operation_receipt",
135
+ accountType: "evm_smart",
136
+ });
80
137
  return (0, waitForFundOperationReceipt_js_1.waitForFundOperationReceipt)(apiClient, options);
81
138
  },
82
139
  async quoteSwap(options) {
140
+ analytics_js_1.Analytics.trackAction({
141
+ action: "quote_swap",
142
+ accountType: "evm_smart",
143
+ properties: {
144
+ network: options.network,
145
+ },
146
+ });
83
147
  return (0, createSwapQuote_js_1.createSwapQuote)(apiClient, {
84
148
  ...options,
85
149
  taker: this.address, // Always use smart account's address as taker
@@ -88,6 +152,13 @@ function toEvmSmartAccount(apiClient, options) {
88
152
  });
89
153
  },
90
154
  async swap(options) {
155
+ analytics_js_1.Analytics.trackAction({
156
+ action: "swap",
157
+ accountType: "evm_smart",
158
+ properties: {
159
+ network: "network" in options ? options.network : undefined,
160
+ },
161
+ });
91
162
  return (0, sendSwapOperation_js_1.sendSwapOperation)(apiClient, {
92
163
  ...options,
93
164
  smartAccount: account,
@@ -95,9 +166,31 @@ function toEvmSmartAccount(apiClient, options) {
95
166
  signerAddress: this.owners[0].address, // Always use owner's address as signer
96
167
  });
97
168
  },
169
+ async signTypedData(options) {
170
+ analytics_js_1.Analytics.trackAction({
171
+ action: "sign_typed_data",
172
+ accountType: "evm_smart",
173
+ properties: {
174
+ network: options.network,
175
+ },
176
+ });
177
+ const result = await (0, signAndWrapTypedDataForSmartAccount_js_1.signAndWrapTypedDataForSmartAccount)(apiClient, {
178
+ chainId: BigInt((0, networkToChainResolver_js_1.resolveNetworkToChain)(options.network).id),
179
+ smartAccount: account,
180
+ typedData: options,
181
+ });
182
+ return result.signature;
183
+ },
98
184
  name: options.smartAccount.name,
99
185
  type: "evm-smart",
100
186
  useNetwork: async (network) => {
187
+ analytics_js_1.Analytics.trackAction({
188
+ action: "use_network",
189
+ accountType: "evm_smart",
190
+ properties: {
191
+ network,
192
+ },
193
+ });
101
194
  return (0, toNetworkScopedEvmSmartAccount_js_1.toNetworkScopedEvmSmartAccount)(apiClient, {
102
195
  smartAccount: account,
103
196
  owner: options.owner,