@coinbase/cdp-sdk 1.2.0 → 1.3.1

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 (115) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +116 -1
  3. package/_cjs/analytics.js +25 -6
  4. package/_cjs/analytics.js.map +1 -1
  5. package/_cjs/auth/hooks/axios/withAuth.js +1 -0
  6. package/_cjs/auth/hooks/axios/withAuth.js.map +1 -1
  7. package/_cjs/client/cdp.js +2 -0
  8. package/_cjs/client/cdp.js.map +1 -1
  9. package/_cjs/client/evm/evm.js +119 -0
  10. package/_cjs/client/evm/evm.js.map +1 -1
  11. package/_cjs/openapi-client/cdpApiClient.js +16 -50
  12. package/_cjs/openapi-client/cdpApiClient.js.map +1 -1
  13. package/_cjs/openapi-client/errors.js +38 -3
  14. package/_cjs/openapi-client/errors.js.map +1 -1
  15. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +12 -1
  16. package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  17. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.js +39 -4
  18. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.js.map +1 -1
  19. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.msw.js +15 -1
  20. package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.msw.js.map +1 -1
  21. package/_cjs/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js +1 -0
  22. package/_cjs/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js.map +1 -1
  23. package/_cjs/openapi-client/generated/evm-token-balances/evm-token-balances.js +15 -0
  24. package/_cjs/openapi-client/generated/evm-token-balances/evm-token-balances.js.map +1 -0
  25. package/_cjs/openapi-client/generated/evm-token-balances/evm-token-balances.msw.js +45 -0
  26. package/_cjs/openapi-client/generated/evm-token-balances/evm-token-balances.msw.js.map +1 -0
  27. package/_cjs/openapi-client/generated/faucets/faucets.js +2 -1
  28. package/_cjs/openapi-client/generated/faucets/faucets.js.map +1 -1
  29. package/_cjs/openapi-client/generated/index.msw.js +2 -1
  30. package/_cjs/openapi-client/generated/index.msw.js.map +1 -1
  31. package/_cjs/openapi-client/index.js +4 -0
  32. package/_cjs/openapi-client/index.js.map +1 -1
  33. package/_cjs/version.js +1 -1
  34. package/_esm/analytics.js +23 -6
  35. package/_esm/analytics.js.map +1 -1
  36. package/_esm/auth/hooks/axios/withAuth.js +1 -0
  37. package/_esm/auth/hooks/axios/withAuth.js.map +1 -1
  38. package/_esm/client/cdp.js +2 -0
  39. package/_esm/client/cdp.js.map +1 -1
  40. package/_esm/client/evm/evm.js +119 -0
  41. package/_esm/client/evm/evm.js.map +1 -1
  42. package/_esm/openapi-client/cdpApiClient.js +13 -17
  43. package/_esm/openapi-client/cdpApiClient.js.map +1 -1
  44. package/_esm/openapi-client/errors.js +35 -2
  45. package/_esm/openapi-client/errors.js.map +1 -1
  46. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +11 -0
  47. package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
  48. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.js +37 -3
  49. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.js.map +1 -1
  50. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.msw.js +12 -0
  51. package/_esm/openapi-client/generated/evm-accounts/evm-accounts.msw.js.map +1 -1
  52. package/_esm/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js +1 -0
  53. package/_esm/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js.map +1 -1
  54. package/_esm/openapi-client/generated/evm-token-balances/evm-token-balances.js +11 -0
  55. package/_esm/openapi-client/generated/evm-token-balances/evm-token-balances.js.map +1 -0
  56. package/_esm/openapi-client/generated/evm-token-balances/evm-token-balances.msw.js +39 -0
  57. package/_esm/openapi-client/generated/evm-token-balances/evm-token-balances.msw.js.map +1 -0
  58. package/_esm/openapi-client/generated/faucets/faucets.js +2 -1
  59. package/_esm/openapi-client/generated/faucets/faucets.js.map +1 -1
  60. package/_esm/openapi-client/generated/index.msw.js +2 -1
  61. package/_esm/openapi-client/generated/index.msw.js.map +1 -1
  62. package/_esm/openapi-client/index.js +4 -0
  63. package/_esm/openapi-client/index.js.map +1 -1
  64. package/_esm/version.js +1 -1
  65. package/_types/analytics.d.ts +15 -0
  66. package/_types/analytics.d.ts.map +1 -1
  67. package/_types/auth/hooks/axios/withAuth.d.ts.map +1 -1
  68. package/_types/client/cdp.d.ts.map +1 -1
  69. package/_types/client/evm/evm.d.ts +83 -1
  70. package/_types/client/evm/evm.d.ts.map +1 -1
  71. package/_types/client/evm/evm.types.d.ts +100 -4
  72. package/_types/client/evm/evm.types.d.ts.map +1 -1
  73. package/_types/openapi-client/cdpApiClient.d.ts.map +1 -1
  74. package/_types/openapi-client/errors.d.ts +28 -1
  75. package/_types/openapi-client/errors.d.ts.map +1 -1
  76. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +87 -2
  77. package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
  78. package/_types/openapi-client/generated/evm-accounts/evm-accounts.d.ts +32 -4
  79. package/_types/openapi-client/generated/evm-accounts/evm-accounts.d.ts.map +1 -1
  80. package/_types/openapi-client/generated/evm-accounts/evm-accounts.msw.d.ts +3 -1
  81. package/_types/openapi-client/generated/evm-accounts/evm-accounts.msw.d.ts.map +1 -1
  82. package/_types/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.d.ts +1 -0
  83. package/_types/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.d.ts.map +1 -1
  84. package/_types/openapi-client/generated/evm-token-balances/evm-token-balances.d.ts +20 -0
  85. package/_types/openapi-client/generated/evm-token-balances/evm-token-balances.d.ts.map +1 -0
  86. package/_types/openapi-client/generated/evm-token-balances/evm-token-balances.msw.d.ts +6 -0
  87. package/_types/openapi-client/generated/evm-token-balances/evm-token-balances.msw.d.ts.map +1 -0
  88. package/_types/openapi-client/generated/faucets/faucets.d.ts +2 -1
  89. package/_types/openapi-client/generated/faucets/faucets.d.ts.map +1 -1
  90. package/_types/openapi-client/generated/index.msw.d.ts +2 -1
  91. package/_types/openapi-client/generated/index.msw.d.ts.map +1 -1
  92. package/_types/openapi-client/index.d.ts +5 -0
  93. package/_types/openapi-client/index.d.ts.map +1 -1
  94. package/_types/types/misc.d.ts +37 -0
  95. package/_types/types/misc.d.ts.map +1 -1
  96. package/_types/version.d.ts +1 -1
  97. package/analytics.ts +26 -7
  98. package/auth/hooks/axios/withAuth.ts +1 -0
  99. package/client/cdp.ts +3 -0
  100. package/client/evm/evm.ts +134 -1
  101. package/client/evm/evm.types.ts +113 -8
  102. package/openapi-client/cdpApiClient.ts +28 -21
  103. package/openapi-client/errors.ts +37 -1
  104. package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +103 -2
  105. package/openapi-client/generated/evm-accounts/evm-accounts.msw.ts +29 -0
  106. package/openapi-client/generated/evm-accounts/evm-accounts.ts +47 -3
  107. package/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.ts +1 -0
  108. package/openapi-client/generated/evm-token-balances/evm-token-balances.msw.ts +57 -0
  109. package/openapi-client/generated/evm-token-balances/evm-token-balances.ts +37 -0
  110. package/openapi-client/generated/faucets/faucets.ts +2 -1
  111. package/openapi-client/generated/index.msw.ts +2 -1
  112. package/openapi-client/index.ts +4 -0
  113. package/package.json +2 -3
  114. package/types/misc.ts +39 -0
  115. package/version.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # CDP SDK Changelog
2
2
 
3
+ ## 1.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - This patch contains a README update to accomodate the new home for CDP SDK examples.
8
+
9
+ ## 1.3.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [#55](https://github.com/coinbase/cdp-sdk/pull/55) [`7692260`](https://github.com/coinbase/cdp-sdk/commit/7692260e465d5887629519b75e7d27d26bd372f0) Thanks [@yuga-cb](https://github.com/yuga-cb)! - Added listTokenBalances to the EVM client to retrieve ERC-20 and native token balances for an address on a given network.
14
+
15
+ - [#58](https://github.com/coinbase/cdp-sdk/pull/58) [`29765e8`](https://github.com/coinbase/cdp-sdk/commit/29765e8146ef3b44985a5dbbe9d23023a2acffc1) Thanks [@0xRAG](https://github.com/0xRAG)! - Added sendTransaction to the EVM client to sign and send a transaction on a given network.
16
+
17
+ ### Patch Changes
18
+
19
+ - [#56](https://github.com/coinbase/cdp-sdk/pull/56) [`381c430`](https://github.com/coinbase/cdp-sdk/commit/381c43039013cec7799d02df00247fa8256d16b1) Thanks [@0xRAG](https://github.com/0xRAG)! - Improved error handling and reporting.
20
+
3
21
  ## 1.2.0
4
22
 
5
23
  ### Minor Changes
package/README.md CHANGED
@@ -3,6 +3,7 @@
3
3
  ## Table of Contents
4
4
 
5
5
  - [CDP SDK](#cdp-sdk)
6
+ - [Documentation](#documentation)
6
7
  - [Installation](#installation)
7
8
  - [API Keys](#api-keys)
8
9
  - [Usage](#usage)
@@ -11,14 +12,25 @@
11
12
  - [License](#license)
12
13
  - [Support](#support)
13
14
  - [Security](#security)
15
+ - [FAQ](#faq)
14
16
 
15
17
  > [!TIP]
18
+ >
16
19
  > If you're looking to contribute to the SDK, please see the [Contributing Guide](https://github.com/coinbase/cdp-sdk/blob/main/typescript/CONTRIBUTING.md).
17
20
 
18
21
  ## CDP SDK
19
22
 
20
23
  This module contains the TypeScript CDP SDK, which is a library that provides a client for interacting with the [Coinbase Developer Platform (CDP)](https://docs.cdp.coinbase.com/). It includes a CDP Client for interacting with EVM and Solana APIs to create accounts and send transactions, as well as authentication tools for interacting directly with the CDP APIs.
21
24
 
25
+ ## Documentation
26
+
27
+ CDP SDK has [auto-generated docs for the Typescript SDK](https://coinbase.github.io/cdp-sdk/typescript).
28
+
29
+ Further documentation is also available on the CDP docs website:
30
+
31
+ - [Wallet API v2](https://docs.cdp.coinbase.com/wallet-api-v2/docs/welcome)
32
+ - [API Reference](https://docs.cdp.coinbase.com/api-v2/docs/welcome)
33
+
22
34
  ## Installation
23
35
 
24
36
  ```bash
@@ -124,7 +136,94 @@ const faucetResp = await cdp.solana.requestFaucet({
124
136
 
125
137
  ### Sending transactions
126
138
 
127
- For EVM, we recommend using viem to send transactions. See the [examples](https://github.com/coinbase/cdp-sdk/tree/main/typescript/src/examples/evm/sendTransaction.ts). For Solana, we recommend using the `@solana/web3.js` library to send transactions. See the [examples](https://github.com/coinbase/cdp-sdk/tree/main/typescript/src/examples/solana/signAndSendTransaction.ts).
139
+ #### EVM
140
+
141
+ You can use CDP SDK to send transactions on EVM networks.
142
+
143
+ ```typescript
144
+ import { CdpClient } from "@coinbase/cdp-sdk";
145
+ import { parseEther, createPublicClient, http } from "viem";
146
+ import { baseSepolia } from "viem/chains";
147
+
148
+ const publicClient = createPublicClient({
149
+ chain: baseSepolia,
150
+ transport: http(),
151
+ });
152
+
153
+ const cdp = new CdpClient();
154
+
155
+ const account = await cdp.evm.createAccount();
156
+
157
+ const faucetResp = await cdp.evm.requestFaucet({
158
+ address: account.address,
159
+ network: "base-sepolia",
160
+ token: "eth",
161
+ });
162
+
163
+ const faucetTxReceipt = await publicClient.waitForTransactionReceipt({
164
+ hash: faucetResp.transactionHash,
165
+ });
166
+
167
+ const { transactionHash } = await cdp.evm.sendTransaction({
168
+ address: account.address,
169
+ network: "base-sepolia",
170
+ transaction: {
171
+ to: "0x4252e0c9A3da5A2700e7d91cb50aEf522D0C6Fe8",
172
+ value: parseEther("0.000001"),
173
+ },
174
+ });
175
+
176
+ await publicClient.waitForTransactionReceipt({ hash: transactionHash });
177
+
178
+ console.log(
179
+ `Transaction confirmed! Explorer link: https://sepolia.basescan.org/tx/${transactionHash}`,
180
+ );
181
+ ```
182
+
183
+ CDP SDK is fully viem-compatible, so you can optionally use a `walletClient` to send transactions.
184
+
185
+ ```typescript
186
+ import { CdpClient } from "@coinbase/cdp-sdk";
187
+ import { parseEther, createPublicClient, http, createWalletClient, toAccount } from "viem";
188
+ import { baseSepolia } from "viem/chains";
189
+
190
+ const publicClient = createPublicClient({
191
+ chain: baseSepolia,
192
+ transport: http(),
193
+ });
194
+
195
+ const cdp = new CdpClient();
196
+
197
+ const account = await cdp.evm.createAccount();
198
+
199
+ const faucetResp = await cdp.evm.requestFaucet({
200
+ address: account.address,
201
+ network: "base-sepolia",
202
+ token: "eth",
203
+ });
204
+
205
+ const faucetTxReceipt = await publicClient.waitForTransactionReceipt({
206
+ hash: faucetResp.transactionHash,
207
+ });
208
+
209
+ const walletClient = createWalletClient({
210
+ account: toAccount(serverAccount),
211
+ chain: baseSepolia,
212
+ transport: http(),
213
+ });
214
+
215
+ // Step 3: Sign the transaction with CDP and broadcast it using the wallet client.
216
+ const hash = await walletClient.sendTransaction({
217
+ to: "0x4252e0c9A3da5A2700e7d91cb50aEf522D0C6Fe8",
218
+ value: parseEther("0.000001"),
219
+ });
220
+
221
+ console.log(`Transaction confirmed! Explorer link: https://sepolia.basescan.org/tx/${hash}`);
222
+ ```
223
+
224
+ #### Solana
225
+
226
+ 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).
128
227
 
129
228
  ### EVM Smart Accounts
130
229
 
@@ -199,3 +298,19 @@ For feature requests, feedback, or questions, please reach out to us in the **#c
199
298
  ## Security
200
299
 
201
300
  If you discover a security vulnerability within this SDK, please see our [Security Policy](https://github.com/coinbase/cdp-sdk/tree/main/SECURITY.md) for disclosure information.
301
+
302
+ ## FAQ
303
+
304
+ Common errors and their solutions.
305
+
306
+ ### AggregateError [ETIMEDOUT]
307
+
308
+ This is an issue in Node.js itself: https://github.com/nodejs/node/issues/54359. While [the fix](https://github.com/nodejs/node/pull/56738) is implemented, the workaround is to set the environment variable:
309
+
310
+ ```bash
311
+ export NODE_OPTIONS="--network-family-autoselection-attempt-timeout=500"
312
+ ```
313
+
314
+ ### Error [ERR_REQUIRE_ESM]: require() of ES modules is not supported.
315
+
316
+ Use Node v20.19.0 or higher. CDP SDK depends on [jose](https://github.com/panva/jose) v6, which ships only ESM. Jose supports CJS style imports in Node.js versions where the require(esm) feature is enabled by default (^20.19.0 || ^22.12.0 || >= 23.0.0). [See here for more info](https://github.com/panva/jose?tab=readme-ov-file#user-content-fn-cjs-705c79d785ca9bc0f9ec1e8ce0825c74).
package/_cjs/analytics.js CHANGED
@@ -3,11 +3,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AnalyticsConfig = void 0;
6
7
  exports.sendEvent = sendEvent;
7
8
  const md5_1 = __importDefault(require("md5"));
8
9
  const cdp_js_1 = require("./client/cdp.js");
9
10
  const evm_js_1 = require("./client/evm/evm.js");
10
11
  const solana_js_1 = require("./client/solana/solana.js");
12
+ // This is a public client id for the analytics service
13
+ const publicClientId = "54f2ee2fb3d2b901a829940d70fbfc13";
14
+ /**
15
+ * AnalyticsConfig singleton class for holding the API key ID
16
+ */
17
+ class AnalyticsConfig {
18
+ /**
19
+ * The API key ID
20
+ */
21
+ static apiKeyId;
22
+ /**
23
+ * Sets the API key ID
24
+ *
25
+ * @param apiKeyId - The API key ID
26
+ */
27
+ static set(apiKeyId) {
28
+ AnalyticsConfig.apiKeyId = apiKeyId;
29
+ }
30
+ }
31
+ exports.AnalyticsConfig = AnalyticsConfig;
11
32
  /**
12
33
  * Sends an analytics event to the default endpoint
13
34
  *
@@ -17,12 +38,12 @@ const solana_js_1 = require("./client/solana/solana.js");
17
38
  async function sendEvent(event) {
18
39
  const timestamp = Date.now();
19
40
  const enhancedEvent = {
41
+ user_id: AnalyticsConfig.apiKeyId,
20
42
  event_type: event.name,
21
43
  platform: "server",
44
+ timestamp,
22
45
  event_properties: {
23
- platform: "server",
24
46
  project_name: "cdp-sdk",
25
- time_start: timestamp,
26
47
  cdp_sdk_language: "typescript",
27
48
  ...event,
28
49
  },
@@ -32,13 +53,14 @@ async function sendEvent(event) {
32
53
  const uploadTime = timestamp.toString();
33
54
  const checksum = (0, md5_1.default)(stringifiedEventData + uploadTime);
34
55
  const analyticsServiceData = {
56
+ client: publicClientId,
35
57
  e: stringifiedEventData,
36
58
  checksum,
37
59
  };
38
60
  const apiEndpoint = "https://cca-lite.coinbase.com";
39
61
  const eventPath = "/amp";
40
62
  const eventEndPoint = `${apiEndpoint}${eventPath}`;
41
- const response = await fetch(eventEndPoint, {
63
+ await fetch(eventEndPoint, {
42
64
  method: "POST",
43
65
  mode: "no-cors",
44
66
  headers: {
@@ -46,9 +68,6 @@ async function sendEvent(event) {
46
68
  },
47
69
  body: JSON.stringify(analyticsServiceData),
48
70
  });
49
- if (!response.ok) {
50
- throw new Error(`HTTP error! status: ${response.status}`);
51
- }
52
71
  }
53
72
  /**
54
73
  * Wraps all methods of a class with error tracking.
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../analytics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../analytics.ts"],"names":[],"mappings":";;;;;;AA0DA,8BAuCC;AAjGD,8CAAsB;AAEtB,4CAA4C;AAC5C,gDAAgD;AAChD,yDAAyD;AA0BzD,uDAAuD;AACvD,MAAM,cAAc,GAAG,kCAAkC,CAAC;AAE1D;;GAEG;AACH,MAAa,eAAe;IAC1B;;OAEG;IACI,MAAM,CAAC,QAAQ,CAAS;IAE/B;;;;OAIG;IACI,MAAM,CAAC,GAAG,CAAC,QAAgB;QAChC,eAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACtC,CAAC;CACF;AAdD,0CAcC;AAED;;;;;GAKG;AACI,KAAK,UAAU,SAAS,CAAC,KAAgB;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,MAAM,aAAa,GAAG;QACpB,OAAO,EAAE,eAAe,CAAC,QAAQ;QACjC,UAAU,EAAE,KAAK,CAAC,IAAI;QACtB,QAAQ,EAAE,QAAQ;QAClB,SAAS;QACT,gBAAgB,EAAE;YAChB,YAAY,EAAE,SAAS;YACvB,gBAAgB,EAAE,YAAY;YAC9B,GAAG,KAAK;SACT;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/B,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;IAExC,MAAM,QAAQ,GAAG,IAAA,aAAG,EAAC,oBAAoB,GAAG,UAAU,CAAC,CAAC;IAExD,MAAM,oBAAoB,GAAG;QAC3B,MAAM,EAAE,cAAc;QACtB,CAAC,EAAE,oBAAoB;QACvB,QAAQ;KACT,CAAC;IAEF,MAAM,WAAW,GAAG,+BAA+B,CAAC;IACpD,MAAM,SAAS,GAAG,MAAM,CAAC;IACzB,MAAM,aAAa,GAAG,GAAG,WAAW,GAAG,SAAS,EAAE,CAAC;IAEnD,MAAM,KAAK,CAAC,aAAa,EAAE;QACzB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,SAAS;QACf,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;KAC3C,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,8DAA8D;AAC9D,SAAS,0BAA0B,CAAC,WAAgB;IAClD,MAAM,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAC1E,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa,IAAI,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,UAAU,CACpF,CAAC;IAEF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACzD,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,KAAK,WAAW,GAAG,IAAe;YACpE,IAAI,CAAC;gBACH,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;oBAC9B,OAAO;gBACT,CAAC;gBAED,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;gBAEjC,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,MAAM,EAAE,CAAC;oBACvD,SAAS,CAAC;wBACR,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC;wBAC1B,OAAO;wBACP,KAAK;wBACL,IAAI,EAAE,OAAO;qBACd,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBACZ,eAAe;oBACjB,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,0BAA0B,CAAC,kBAAS,CAAC,CAAC;AACtC,0BAA0B,CAAC,kBAAS,CAAC,CAAC;AACtC,0BAA0B,CAAC,wBAAY,CAAC,CAAC"}
@@ -64,6 +64,7 @@ function withAuth(axiosClient, options) {
64
64
  headers: error.response?.headers,
65
65
  data: error.response?.data,
66
66
  message: error.message,
67
+ cause: error.cause,
67
68
  };
68
69
  console.error("Response Error:", errorDetails);
69
70
  return Promise.reject(error);
@@ -1 +1 @@
1
- {"version":3,"file":"withAuth.js","sourceRoot":"","sources":["../../../../auth/hooks/axios/withAuth.ts"],"names":[],"mappings":";;AA8CA,4BAyEC;AAvHD,iCAAoD;AAEpD,iDAAqD;AAqCrD;;;;;;GAMG;AACH,SAAgB,QAAQ,CAAC,WAA0B,EAAE,OAA+B;IAClF,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,WAAW,EAAC,EAAE;QACvD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC;QAErE,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC;QAEjE,iCAAiC;QACjC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAEvC,6BAA6B;QAC7B,MAAM,OAAO,GAAG,MAAM,IAAA,wBAAc,EAAC;YACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,aAAa,EAAE,MAAM;YACrB,WAAW,EAAE,GAAG,CAAC,IAAI;YACrB,WAAW,EAAE,GAAG,CAAC,QAAQ;YACzB,WAAW,EAAE,WAAW,CAAC,IAAI;YAC7B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;QAEH,gCAAgC;QAChC,WAAW,CAAC,OAAO,GAAG,IAAI,oBAAY,CAAC;YACrC,GAAG,WAAW,CAAC,OAAO;YACtB,GAAG,OAAO;SACX,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE;gBACtB,MAAM;gBACN,GAAG,EAAE,iBAAiB;gBACtB,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,IAAI,EAAE,WAAW,CAAC,IAAI;aACvB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CACnC,QAAQ,CAAC,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE;gBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC,EACD,KAAK,CAAC,EAAE;YACN,sDAAsD;YACtD,MAAM,YAAY,GAAG;gBACnB,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM;gBAC9B,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU;gBACtC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO;gBAChC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI;gBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;YAEF,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;YAC/C,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CACF,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"withAuth.js","sourceRoot":"","sources":["../../../../auth/hooks/axios/withAuth.ts"],"names":[],"mappings":";;AA8CA,4BA0EC;AAxHD,iCAAoD;AAEpD,iDAAqD;AAqCrD;;;;;;GAMG;AACH,SAAgB,QAAQ,CAAC,WAA0B,EAAE,OAA+B;IAClF,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,WAAW,EAAC,EAAE;QACvD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC;QAErE,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC;QAEjE,iCAAiC;QACjC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAEvC,6BAA6B;QAC7B,MAAM,OAAO,GAAG,MAAM,IAAA,wBAAc,EAAC;YACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,aAAa,EAAE,MAAM;YACrB,WAAW,EAAE,GAAG,CAAC,IAAI;YACrB,WAAW,EAAE,GAAG,CAAC,QAAQ;YACzB,WAAW,EAAE,WAAW,CAAC,IAAI;YAC7B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;QAEH,gCAAgC;QAChC,WAAW,CAAC,OAAO,GAAG,IAAI,oBAAY,CAAC;YACrC,GAAG,WAAW,CAAC,OAAO;YACtB,GAAG,OAAO;SACX,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE;gBACtB,MAAM;gBACN,GAAG,EAAE,iBAAiB;gBACtB,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,IAAI,EAAE,WAAW,CAAC,IAAI;aACvB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CACnC,QAAQ,CAAC,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE;gBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC,EACD,KAAK,CAAC,EAAE;YACN,sDAAsD;YACtD,MAAM,YAAY,GAAG;gBACnB,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM;gBAC9B,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU;gBACtC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO;gBAChC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI;gBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC;YAEF,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;YAC/C,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CACF,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CdpClient = void 0;
4
+ const analytics_js_1 = require("../analytics.js");
4
5
  const index_js_1 = require("../openapi-client/index.js");
5
6
  const version_js_1 = require("../version.js");
6
7
  const evm_js_1 = require("./evm/evm.js");
@@ -91,6 +92,7 @@ For more information, see: https://github.com/coinbase/cdp-sdk/blob/main/typescr
91
92
  source: "sdk",
92
93
  sourceVersion: version_js_1.version,
93
94
  });
95
+ analytics_js_1.AnalyticsConfig.set(apiKeyId);
94
96
  this.evm = new evm_js_1.EvmClient();
95
97
  this.solana = new solana_js_1.SolanaClient();
96
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cdp.js","sourceRoot":"","sources":["../../client/cdp.ts"],"names":[],"mappings":";;;AAAA,yDAA8D;AAC9D,8CAAwC;AACxC,yCAAyC;AACzC,kDAAkD;AAelD;;GAEG;AACH,MAAa,SAAS;IACpB,4CAA4C;IACrC,GAAG,CAAY;IAEtB,+CAA+C;IACxC,MAAM,CAAe;IAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,YAAY,UAA4B,EAAE;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAChG,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAC5E,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAE3E,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BrB,CAAC,CAAC;QACC,CAAC;QAED,2BAAgB,CAAC,SAAS,CAAC;YACzB,GAAG,OAAO;YACV,QAAQ;YACR,YAAY;YACZ,YAAY;YACZ,MAAM,EAAE,KAAK;YACb,aAAa,EAAE,oBAAO;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,GAAG,IAAI,kBAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,wBAAY,EAAE,CAAC;IACnC,CAAC;CACF;AA3FD,8BA2FC"}
1
+ {"version":3,"file":"cdp.js","sourceRoot":"","sources":["../../client/cdp.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,yDAA8D;AAC9D,8CAAwC;AACxC,yCAAyC;AACzC,kDAAkD;AAelD;;GAEG;AACH,MAAa,SAAS;IACpB,4CAA4C;IACrC,GAAG,CAAY;IAEtB,+CAA+C;IACxC,MAAM,CAAe;IAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,YAAY,UAA4B,EAAE;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAChG,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAC5E,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAE3E,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BrB,CAAC,CAAC;QACC,CAAC;QAED,2BAAgB,CAAC,SAAS,CAAC;YACzB,GAAG,OAAO;YACV,QAAQ;YACR,YAAY;YACZ,YAAY;YACZ,MAAM,EAAE,KAAK;YACb,aAAa,EAAE,oBAAO;SACvB,CAAC,CAAC;QAEH,8BAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9B,IAAI,CAAC,GAAG,GAAG,IAAI,kBAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,wBAAY,EAAE,CAAC;IACnC,CAAC;CACF;AA7FD,8BA6FC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EvmClient = void 0;
4
+ const viem_1 = require("viem");
4
5
  const toEvmServerAccount_js_1 = require("../../accounts/evm/toEvmServerAccount.js");
5
6
  const toEvmSmartAccount_js_1 = require("../../accounts/evm/toEvmSmartAccount.js");
6
7
  const sendUserOperation_js_1 = require("../../actions/evm/sendUserOperation.js");
@@ -238,6 +239,62 @@ class EvmClient {
238
239
  nextPageToken: ethAccounts.nextPageToken,
239
240
  };
240
241
  }
242
+ /**
243
+ * Lists CDP EVM token balances.
244
+ *
245
+ * @param {ListTokenBalancesOptions} options - Parameters for listing the token balances.
246
+ * @param {number} [options.pageSize] - The number of token balances to return.
247
+ * @param {string} [options.pageToken] - The page token to begin listing from.
248
+ * This is obtained by previous calls to this method.
249
+ *
250
+ * @returns A promise that resolves to an array of token balances, and a token to paginate through the token balances.
251
+ *
252
+ * @example
253
+ * ```ts
254
+ * const tokenBalances = await cdp.evm.listTokenBalances({
255
+ * address: "0x1234567890123456789012345678901234567890",
256
+ * network: "base-sepolia",
257
+ * });
258
+ * ```
259
+ *
260
+ * @example
261
+ * **With pagination**
262
+ * ```ts
263
+ * let page = await cdp.evm.listTokenBalances({
264
+ * address: "0x1234567890123456789012345678901234567890",
265
+ * network: "base-sepolia",
266
+ * });
267
+ *
268
+ * while (page.nextPageToken) {
269
+ * page = await cdp.evm.listTokenBalances({
270
+ * address: "0x1234567890123456789012345678901234567890",
271
+ * network: "base-sepolia",
272
+ * pageToken: page.nextPageToken,
273
+ * });
274
+ * }
275
+ */
276
+ async listTokenBalances(options) {
277
+ const response = await index_js_1.CdpOpenApiClient.listEvmTokenBalances(options.network, options.address, {
278
+ pageSize: options.pageSize,
279
+ pageToken: options.pageToken,
280
+ });
281
+ const balances = response.balances.map(balance => {
282
+ return {
283
+ token: {
284
+ network: balance.token.network,
285
+ contractAddress: balance.token.contractAddress,
286
+ },
287
+ amount: {
288
+ amount: BigInt(balance.amount.amount),
289
+ decimals: BigInt(balance.amount.decimals),
290
+ },
291
+ };
292
+ });
293
+ return {
294
+ balances,
295
+ nextPageToken: response.nextPageToken,
296
+ };
297
+ }
241
298
  /**
242
299
  * Lists CDP EVM smart accounts.
243
300
  *
@@ -348,6 +405,68 @@ class EvmClient {
348
405
  transactionHash: transactionHash,
349
406
  };
350
407
  }
408
+ /**
409
+ * Signs an EVM transaction and sends it to the specified network using the Coinbase API.
410
+ * This method handles nonce management and gas estimation automatically.
411
+ *
412
+ * @param {SendTransactionOptions} options - Configuration options for sending the transaction.
413
+ * @returns A promise that resolves to the transaction hash.
414
+ *
415
+ * @example
416
+ * **Sending an RLP-encoded transaction**
417
+ * ```ts
418
+ * import { parseEther, serializeTransaction } from "viem";
419
+ * import { baseSepolia } from "viem/chains";
420
+ *
421
+ * const { transactionHash } = await cdp.evm.sendTransaction({
422
+ * address: account.address,
423
+ * transaction: serializeTransaction({
424
+ * to: "0x4252e0c9A3da5A2700e7d91cb50aEf522D0C6Fe8",
425
+ * value: parseEther("0.000001"),
426
+ * chainId: baseSepolia.id,
427
+ * // Fields below are optional, CDP API will populate them if omitted.
428
+ * // nonce
429
+ * // maxPriorityFeePerGas
430
+ * // maxFeePerGas
431
+ * // gas
432
+ * }),
433
+ * network: "base-sepolia",
434
+ * });
435
+ * ```
436
+ * @example
437
+ * **Sending an EIP-1559 transaction request object**
438
+ * ```ts
439
+ * const { transactionHash } = await cdp.evm.sendTransaction({
440
+ * address: account.address,
441
+ * transaction: {
442
+ * to: "0x4252e0c9A3da5A2700e7d91cb50aEf522D0C6Fe8",
443
+ * value: parseEther("0.000001"),
444
+ * // Fields below are optional, CDP API will populate them if omitted.
445
+ * // nonce
446
+ * // maxPriorityFeePerGas
447
+ * // maxFeePerGas
448
+ * // gas
449
+ * },
450
+ * network: "base-sepolia",
451
+ * });
452
+ * ```
453
+ */
454
+ async sendTransaction(options) {
455
+ const { address, network, idempotencyKey } = options;
456
+ let transaction = options.transaction;
457
+ if (typeof transaction !== "string") {
458
+ transaction = (0, viem_1.serializeTransaction)({
459
+ ...transaction,
460
+ // chainId is ignored in favor of network
461
+ chainId: 1,
462
+ type: "eip1559",
463
+ });
464
+ }
465
+ const result = await index_js_1.CdpOpenApiClient.sendEvmTransaction(address, { transaction, network }, idempotencyKey);
466
+ return {
467
+ transactionHash: result.transactionHash,
468
+ };
469
+ }
351
470
  /**
352
471
  * Sends a user operation.
353
472
  *
@@ -1 +1 @@
1
- {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../client/evm/evm.ts"],"names":[],"mappings":";;;AA0BA,oFAA8E;AAC9E,kFAA4E;AAC5E,iFAGgD;AAChD,uFAGmD;AACnD,4DAAiE;AAGjE;;GAEG;AACH,MAAa,SAAS;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,KAAK,CAAC,aAAa,CAAC,UAAsC,EAAE;QAC1D,MAAM,OAAO,GAAG,MAAM,2BAAgB,CAAC,gBAAgB,CACrD;YACE,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,EACD,OAAO,CAAC,cAAc,CACvB,CAAC;QAEF,OAAO,IAAA,0CAAkB,EAAC,2BAAgB,EAAE;YAC1C,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAkC;QACzD,MAAM,YAAY,GAAG,MAAM,2BAAgB,CAAC,qBAAqB,CAC/D;YACE,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;SAChC,EACD,OAAO,CAAC,cAAc,CACvB,CAAC;QAEF,OAAO,IAAA,wCAAiB,EAAC;YACvB,YAAY;YACZ,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,KAAK,CAAC,UAAU,CAAC,OAAgC;QAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE;YAC1B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,2BAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzD,CAAC;YAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,2BAAgB,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,IAAA,0CAAkB,EAAC,2BAAgB,EAAE;YAC1C,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,eAAe,CAAC,OAA+B;QACnD,MAAM,YAAY,GAAG,MAAM,2BAAgB,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEhF,OAAO,IAAA,wCAAiB,EAAC;YACvB,YAAY;YACZ,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAgC;QACrD,MAAM,MAAM,GAAG,MAAM,2BAAgB,CAAC,gBAAgB,CACpD,OAAO,CAAC,YAAY,CAAC,OAAO,EAC5B,OAAO,CAAC,UAAU,CACnB,CAAC;QAEF,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/B,EAAE,EAAE,IAAI,CAAC,EAAa;gBACtB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAW;aACvB,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,eAAe,EAAE,MAAM,CAAC,eAAkC;YAC1D,UAAU,EAAE,MAAM,CAAC,UAAiB;SACrC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,YAAY,CAAC,UAAqC,EAAE;QACxD,MAAM,WAAW,GAAG,MAAM,2BAAgB,CAAC,eAAe,CAAC;YACzD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAC3C,IAAA,0CAAkB,EAAC,2BAAgB,EAAE;gBACnC,OAAO,EAAE,OAAO;aACjB,CAAC,CACH;YACD,aAAa,EAAE,WAAW,CAAC,aAAa;SACzC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,iBAAiB,CAAC,UAAoC,EAAE;QAC5D,MAAM,aAAa,GAAG,MAAM,2BAAgB,CAAC,oBAAoB,CAAC;YAChE,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC/C,OAAO,EAAE,OAAO,CAAC,OAAkB;gBACnC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAY,CAAC;gBACtC,IAAI,EAAE,WAAW;aAClB,CAAC,CAAC;YACH,aAAa,EAAE,aAAa,CAAC,aAAa;SAC3C,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,oBAAoB,CAAC,OAAoC;QAC7D,MAAM,MAAM,GAAG,MAAM,2BAAgB,CAAC,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE;YACvF,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChC,EAAE,EAAE,IAAI,CAAC,EAAa;gBACtB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAC5B,IAAI,EAAE,IAAI,CAAC,IAAW;aACvB,CAAC,CAAC;YACH,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,MAAM,CAAC,UAAiB;YACpC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/B,EAAE,EAAE,IAAI,CAAC,EAAa;gBACtB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAW;aACvB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,aAAa,CAAC,OAA6B;QAC/C,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,2BAAgB,CAAC,gBAAgB,CACjE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAC5E,OAAO,CAAC,cAAc,CACvB,CAAC;QAEF,OAAO;YACL,eAAe,EAAE,eAAsB;SACxC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAiC;QACvD,OAAO,IAAA,wCAAiB,EAAC,2BAAgB,EAAE,OAAO,CAAC,YAAY,EAAE;YAC/D,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACrC,MAAM,SAAS,GAAG,MAAM,2BAAgB,CAAC,WAAW,CAClD,OAAO,CAAC,OAAO,EACf;YACE,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,EACD,OAAO,CAAC,cAAc,CACvB,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,SAAS,CAAC,SAAgB;SACtC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,WAAW,CAAC,OAA2B;QAC3C,MAAM,SAAS,GAAG,MAAM,2BAAgB,CAAC,cAAc,CACrD,OAAO,CAAC,OAAO,EACf;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,EACD,OAAO,CAAC,cAAc,CACvB,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,SAAS,CAAC,SAAgB;SACtC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,KAAK,CAAC,eAAe,CAAC,OAA+B;QACnD,MAAM,SAAS,GAAG,MAAM,2BAAgB,CAAC,kBAAkB,CACzD,OAAO,CAAC,OAAO,EACf;YACE,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,EACD,OAAO,CAAC,cAAc,CACvB,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,SAAS,CAAC,iBAAwB;SAC9C,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,KAAK,CAAC,oBAAoB,CACxB,OAAoC;QAEpC,OAAO,IAAA,8CAAoB,EAAC,2BAAgB,EAAE;YAC5C,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;CACF;AAnjBD,8BAmjBC"}
1
+ {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../client/evm/evm.ts"],"names":[],"mappings":"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"}
@@ -1,44 +1,14 @@
1
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
- })();
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
35
5
  Object.defineProperty(exports, "__esModule", { value: true });
36
6
  exports.cdpApiClient = exports.configure = void 0;
37
7
  // eslint-disable-next-line import/no-named-as-default
38
- const axios_1 = __importStar(require("axios"));
39
- const errors_js_1 = require("./errors.js");
8
+ const axios_1 = __importDefault(require("axios"));
40
9
  const index_js_1 = require("../auth/hooks/axios/index.js");
41
10
  const constants_js_1 = require("../constants.js");
11
+ const errors_js_1 = require("./errors.js");
42
12
  let axiosInstance;
43
13
  /**
44
14
  * Configures the CDP client with the given options.
@@ -97,36 +67,32 @@ const cdpApiClient = async (config, idempotencyKey) => {
97
67
  return response.data;
98
68
  }
99
69
  catch (error) {
70
+ // eslint-disable-next-line import/no-named-as-default-member
71
+ if (axios_1.default.isAxiosError(error) && !error.response) {
72
+ throw new errors_js_1.UnknownApiError(errors_js_1.HttpErrorType.unknown, error.cause instanceof Error ? error.cause.message : error.message, error.cause);
73
+ }
100
74
  // eslint-disable-next-line import/no-named-as-default-member
101
75
  if (axios_1.default.isAxiosError(error) && error.response) {
102
76
  if ((0, errors_js_1.isOpenAPIError)(error.response.data)) {
103
- throw new errors_js_1.APIError(error.response.status, error.response.data.errorType, error.response.data.errorMessage, error.response.data.correlationId, error.response.data.errorLink);
77
+ throw new errors_js_1.APIError(error.response.status, error.response.data.errorType, error.response.data.errorMessage, error.response.data.correlationId, error.response.data.errorLink, error.cause);
104
78
  }
105
79
  else {
106
80
  const statusCode = error.response.status;
107
81
  switch (statusCode) {
108
82
  case 401:
109
- throw new errors_js_1.APIError(statusCode, errors_js_1.HttpErrorType.unauthorized, "Unauthorized.", undefined, `${constants_js_1.ERROR_DOCS_PAGE_URL}#unauthorized`);
83
+ throw new errors_js_1.APIError(statusCode, errors_js_1.HttpErrorType.unauthorized, "Unauthorized.", undefined, `${constants_js_1.ERROR_DOCS_PAGE_URL}#unauthorized`, error.cause);
110
84
  case 404:
111
- throw new errors_js_1.APIError(statusCode, errors_js_1.HttpErrorType.not_found, "API not found.", undefined, `${constants_js_1.ERROR_DOCS_PAGE_URL}#not_found`);
85
+ throw new errors_js_1.APIError(statusCode, errors_js_1.HttpErrorType.not_found, "API not found.", undefined, `${constants_js_1.ERROR_DOCS_PAGE_URL}#not_found`, error.cause);
112
86
  case 502:
113
- throw new errors_js_1.APIError(statusCode, errors_js_1.HttpErrorType.bad_gateway, "Bad gateway.", undefined, `${constants_js_1.ERROR_DOCS_PAGE_URL}`);
87
+ throw new errors_js_1.APIError(statusCode, errors_js_1.HttpErrorType.bad_gateway, "Bad gateway.", undefined, `${constants_js_1.ERROR_DOCS_PAGE_URL}`, error.cause);
114
88
  case 503:
115
- throw new errors_js_1.APIError(statusCode, errors_js_1.HttpErrorType.service_unavailable, "Service unavailable. Please try again later.", undefined, `${constants_js_1.ERROR_DOCS_PAGE_URL}`);
89
+ throw new errors_js_1.APIError(statusCode, errors_js_1.HttpErrorType.service_unavailable, "Service unavailable. Please try again later.", undefined, `${constants_js_1.ERROR_DOCS_PAGE_URL}`, error.cause);
116
90
  default:
117
- throw new errors_js_1.APIError(statusCode, errors_js_1.HttpErrorType.unexpected_error, "An unexpected error occurred.", undefined, `${constants_js_1.ERROR_DOCS_PAGE_URL}`);
91
+ throw new errors_js_1.APIError(statusCode, errors_js_1.HttpErrorType.unexpected_error, "An unexpected error occurred.", undefined, `${constants_js_1.ERROR_DOCS_PAGE_URL}`, error.cause);
118
92
  }
119
93
  }
120
- // eslint-disable-next-line import/no-named-as-default-member
121
- }
122
- else if (axios_1.default.isAxiosError(error) && error.request) {
123
- throw new errors_js_1.APIError(axios_1.HttpStatusCode.ServiceUnavailable, errors_js_1.HttpErrorType.service_unavailable, "Network error, unable to reach the service.", undefined, `${constants_js_1.ERROR_DOCS_PAGE_URL}`);
124
- }
125
- else {
126
- throw new errors_js_1.APIError(axios_1.HttpStatusCode.InternalServerError, errors_js_1.HttpErrorType.unexpected_error, error instanceof Error
127
- ? error.message
128
- : `An unexpected error occurred: ${JSON.stringify(error, Object.getOwnPropertyNames(error))}`, undefined, `${constants_js_1.ERROR_DOCS_PAGE_URL}`);
129
94
  }
95
+ throw new errors_js_1.UnknownError("Something went wrong. Please reach out at https://discord.com/channels/1220414409550336183/1271495764580896789 for help.", error instanceof Error ? error : undefined);
130
96
  }
131
97
  };
132
98
  exports.cdpApiClient = cdpApiClient;
@@ -1 +1 @@
1
- {"version":3,"file":"cdpApiClient.js","sourceRoot":"","sources":["../../openapi-client/cdpApiClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cdpApiClient.js","sourceRoot":"","sources":["../../openapi-client/cdpApiClient.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAsD;AACtD,kDAAiE;AAEjE,2DAAwD;AACxD,kDAAsD;AACtD,2CAMqB;AA2CrB,IAAI,aAA4B,CAAC;AAEjC;;;;GAIG;AACI,MAAM,SAAS,GAAG,CAAC,OAAmB,EAAE,EAAE;IAC/C,aAAa,GAAG,eAAK,CAAC,MAAM,CAAC;QAC3B,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAI,uCAAuC;KACrE,CAAC,CAAC;IAEH,aAAa,GAAG,IAAA,mBAAQ,EAAC,aAAa,EAAE;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,oBAAoB;QAC9C,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO,CAAC,SAAS;KACzB,CAAC,CAAC;AACL,CAAC,CAAC;AAdW,QAAA,SAAS,aAcpB;AAEF;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,CACxB,MAA0B,EAC1B,cAAuB,EACH,EAAE;IACtB,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE;YACP,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACzB,mBAAmB,EAAE,cAAc;SACpC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACI,MAAM,YAAY,GAAG,KAAK,EAC/B,MAA0B,EAC1B,cAAuB,EACX,EAAE;IACd,YAAY,CAAC,MAAM,CAAC,CAAC;IAErB,yDAAyD;IACzD,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAE3E,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,wBAAwB,CAAC,CAAC;QAC/D,OAAO,QAAQ,CAAC,IAAS,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,6DAA6D;QAC7D,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjD,MAAM,IAAI,2BAAe,CACvB,yBAAa,CAAC,OAAO,EACrB,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAClE,KAAK,CAAC,KAAK,CACZ,CAAC;QACJ,CAAC;QAED,6DAA6D;QAC7D,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAChD,IAAI,IAAA,0BAAc,EAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,oBAAQ,CAChB,KAAK,CAAC,QAAQ,CAAC,MAAM,EACrB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAC7B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAChC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EACjC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAC7B,KAAK,CAAC,KAAK,CACZ,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACzC,QAAQ,UAAU,EAAE,CAAC;oBACnB,KAAK,GAAG;wBACN,MAAM,IAAI,oBAAQ,CAChB,UAAU,EACV,yBAAa,CAAC,YAAY,EAC1B,eAAe,EACf,SAAS,EACT,GAAG,kCAAmB,eAAe,EACrC,KAAK,CAAC,KAAK,CACZ,CAAC;oBACJ,KAAK,GAAG;wBACN,MAAM,IAAI,oBAAQ,CAChB,UAAU,EACV,yBAAa,CAAC,SAAS,EACvB,gBAAgB,EAChB,SAAS,EACT,GAAG,kCAAmB,YAAY,EAClC,KAAK,CAAC,KAAK,CACZ,CAAC;oBACJ,KAAK,GAAG;wBACN,MAAM,IAAI,oBAAQ,CAChB,UAAU,EACV,yBAAa,CAAC,WAAW,EACzB,cAAc,EACd,SAAS,EACT,GAAG,kCAAmB,EAAE,EACxB,KAAK,CAAC,KAAK,CACZ,CAAC;oBACJ,KAAK,GAAG;wBACN,MAAM,IAAI,oBAAQ,CAChB,UAAU,EACV,yBAAa,CAAC,mBAAmB,EACjC,8CAA8C,EAC9C,SAAS,EACT,GAAG,kCAAmB,EAAE,EACxB,KAAK,CAAC,KAAK,CACZ,CAAC;oBACJ;wBACE,MAAM,IAAI,oBAAQ,CAChB,UAAU,EACV,yBAAa,CAAC,gBAAgB,EAC9B,+BAA+B,EAC/B,SAAS,EACT,GAAG,kCAAmB,EAAE,EACxB,KAAK,CAAC,KAAK,CACZ,CAAC;gBACN,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,wBAAY,CACpB,0HAA0H,EAC1H,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AA1FW,QAAA,YAAY,gBA0FvB;AAEF;;;;;GAKG;AACH,MAAM,YAAY,GAAG,CAAC,MAA0B,EAAE,EAAE;IAClD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;AACH,CAAC,CAAC"}