@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.
- package/CHANGELOG.md +18 -0
- package/README.md +116 -1
- package/_cjs/analytics.js +25 -6
- package/_cjs/analytics.js.map +1 -1
- package/_cjs/auth/hooks/axios/withAuth.js +1 -0
- package/_cjs/auth/hooks/axios/withAuth.js.map +1 -1
- package/_cjs/client/cdp.js +2 -0
- package/_cjs/client/cdp.js.map +1 -1
- package/_cjs/client/evm/evm.js +119 -0
- package/_cjs/client/evm/evm.js.map +1 -1
- package/_cjs/openapi-client/cdpApiClient.js +16 -50
- package/_cjs/openapi-client/cdpApiClient.js.map +1 -1
- package/_cjs/openapi-client/errors.js +38 -3
- package/_cjs/openapi-client/errors.js.map +1 -1
- package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +12 -1
- package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
- package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.js +39 -4
- package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.js.map +1 -1
- package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.msw.js +15 -1
- package/_cjs/openapi-client/generated/evm-accounts/evm-accounts.msw.js.map +1 -1
- package/_cjs/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js +1 -0
- package/_cjs/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js.map +1 -1
- package/_cjs/openapi-client/generated/evm-token-balances/evm-token-balances.js +15 -0
- package/_cjs/openapi-client/generated/evm-token-balances/evm-token-balances.js.map +1 -0
- package/_cjs/openapi-client/generated/evm-token-balances/evm-token-balances.msw.js +45 -0
- package/_cjs/openapi-client/generated/evm-token-balances/evm-token-balances.msw.js.map +1 -0
- package/_cjs/openapi-client/generated/faucets/faucets.js +2 -1
- package/_cjs/openapi-client/generated/faucets/faucets.js.map +1 -1
- package/_cjs/openapi-client/generated/index.msw.js +2 -1
- package/_cjs/openapi-client/generated/index.msw.js.map +1 -1
- package/_cjs/openapi-client/index.js +4 -0
- package/_cjs/openapi-client/index.js.map +1 -1
- package/_cjs/version.js +1 -1
- package/_esm/analytics.js +23 -6
- package/_esm/analytics.js.map +1 -1
- package/_esm/auth/hooks/axios/withAuth.js +1 -0
- package/_esm/auth/hooks/axios/withAuth.js.map +1 -1
- package/_esm/client/cdp.js +2 -0
- package/_esm/client/cdp.js.map +1 -1
- package/_esm/client/evm/evm.js +119 -0
- package/_esm/client/evm/evm.js.map +1 -1
- package/_esm/openapi-client/cdpApiClient.js +13 -17
- package/_esm/openapi-client/cdpApiClient.js.map +1 -1
- package/_esm/openapi-client/errors.js +35 -2
- package/_esm/openapi-client/errors.js.map +1 -1
- package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +11 -0
- package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
- package/_esm/openapi-client/generated/evm-accounts/evm-accounts.js +37 -3
- package/_esm/openapi-client/generated/evm-accounts/evm-accounts.js.map +1 -1
- package/_esm/openapi-client/generated/evm-accounts/evm-accounts.msw.js +12 -0
- package/_esm/openapi-client/generated/evm-accounts/evm-accounts.msw.js.map +1 -1
- package/_esm/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js +1 -0
- package/_esm/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.js.map +1 -1
- package/_esm/openapi-client/generated/evm-token-balances/evm-token-balances.js +11 -0
- package/_esm/openapi-client/generated/evm-token-balances/evm-token-balances.js.map +1 -0
- package/_esm/openapi-client/generated/evm-token-balances/evm-token-balances.msw.js +39 -0
- package/_esm/openapi-client/generated/evm-token-balances/evm-token-balances.msw.js.map +1 -0
- package/_esm/openapi-client/generated/faucets/faucets.js +2 -1
- package/_esm/openapi-client/generated/faucets/faucets.js.map +1 -1
- package/_esm/openapi-client/generated/index.msw.js +2 -1
- package/_esm/openapi-client/generated/index.msw.js.map +1 -1
- package/_esm/openapi-client/index.js +4 -0
- package/_esm/openapi-client/index.js.map +1 -1
- package/_esm/version.js +1 -1
- package/_types/analytics.d.ts +15 -0
- package/_types/analytics.d.ts.map +1 -1
- package/_types/auth/hooks/axios/withAuth.d.ts.map +1 -1
- package/_types/client/cdp.d.ts.map +1 -1
- package/_types/client/evm/evm.d.ts +83 -1
- package/_types/client/evm/evm.d.ts.map +1 -1
- package/_types/client/evm/evm.types.d.ts +100 -4
- package/_types/client/evm/evm.types.d.ts.map +1 -1
- package/_types/openapi-client/cdpApiClient.d.ts.map +1 -1
- package/_types/openapi-client/errors.d.ts +28 -1
- package/_types/openapi-client/errors.d.ts.map +1 -1
- package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +87 -2
- package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
- package/_types/openapi-client/generated/evm-accounts/evm-accounts.d.ts +32 -4
- package/_types/openapi-client/generated/evm-accounts/evm-accounts.d.ts.map +1 -1
- package/_types/openapi-client/generated/evm-accounts/evm-accounts.msw.d.ts +3 -1
- package/_types/openapi-client/generated/evm-accounts/evm-accounts.msw.d.ts.map +1 -1
- package/_types/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.d.ts +1 -0
- package/_types/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.d.ts.map +1 -1
- package/_types/openapi-client/generated/evm-token-balances/evm-token-balances.d.ts +20 -0
- package/_types/openapi-client/generated/evm-token-balances/evm-token-balances.d.ts.map +1 -0
- package/_types/openapi-client/generated/evm-token-balances/evm-token-balances.msw.d.ts +6 -0
- package/_types/openapi-client/generated/evm-token-balances/evm-token-balances.msw.d.ts.map +1 -0
- package/_types/openapi-client/generated/faucets/faucets.d.ts +2 -1
- package/_types/openapi-client/generated/faucets/faucets.d.ts.map +1 -1
- package/_types/openapi-client/generated/index.msw.d.ts +2 -1
- package/_types/openapi-client/generated/index.msw.d.ts.map +1 -1
- package/_types/openapi-client/index.d.ts +5 -0
- package/_types/openapi-client/index.d.ts.map +1 -1
- package/_types/types/misc.d.ts +37 -0
- package/_types/types/misc.d.ts.map +1 -1
- package/_types/version.d.ts +1 -1
- package/analytics.ts +26 -7
- package/auth/hooks/axios/withAuth.ts +1 -0
- package/client/cdp.ts +3 -0
- package/client/evm/evm.ts +134 -1
- package/client/evm/evm.types.ts +113 -8
- package/openapi-client/cdpApiClient.ts +28 -21
- package/openapi-client/errors.ts +37 -1
- package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +103 -2
- package/openapi-client/generated/evm-accounts/evm-accounts.msw.ts +29 -0
- package/openapi-client/generated/evm-accounts/evm-accounts.ts +47 -3
- package/openapi-client/generated/evm-smart-accounts/evm-smart-accounts.ts +1 -0
- package/openapi-client/generated/evm-token-balances/evm-token-balances.msw.ts +57 -0
- package/openapi-client/generated/evm-token-balances/evm-token-balances.ts +37 -0
- package/openapi-client/generated/faucets/faucets.ts +2 -1
- package/openapi-client/generated/index.msw.ts +2 -1
- package/openapi-client/index.ts +4 -0
- package/package.json +2 -3
- package/types/misc.ts +39 -0
- 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
|
-
|
|
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
|
-
|
|
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.
|
package/_cjs/analytics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../analytics.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../analytics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withAuth.js","sourceRoot":"","sources":["../../../../auth/hooks/axios/withAuth.ts"],"names":[],"mappings":";;AA8CA,
|
|
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"}
|
package/_cjs/client/cdp.js
CHANGED
|
@@ -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
|
}
|
package/_cjs/client/cdp.js.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/_cjs/client/evm/evm.js
CHANGED
|
@@ -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":";;;
|
|
1
|
+
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../client/evm/evm.ts"],"names":[],"mappings":";;;AAAA,+BAAqD;AA8BrD,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAiC;QACvD,MAAM,QAAQ,GAAG,MAAM,2BAAgB,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;YAC7F,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC/C,OAAO;gBACL,KAAK,EAAE;oBACL,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;oBAC9B,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,eAA0B;iBAC1D;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;oBACrC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;iBAC1C;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ;YACR,aAAa,EAAE,QAAQ,CAAC,aAAa;SACtC,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;IACH,KAAK,CAAC,eAAe,CAAC,OAA+B;QACnD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;QACrD,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAEtC,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,WAAW,GAAG,IAAA,2BAAoB,EAAC;gBACjC,GAAG,WAAW;gBACd,yCAAyC;gBACzC,OAAO,EAAE,CAAC;gBACV,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,2BAAgB,CAAC,kBAAkB,CACtD,OAAO,EACP,EAAE,WAAW,EAAE,OAAO,EAAE,EACxB,cAAc,CACf,CAAC;QAEF,OAAO;YACL,eAAe,EAAE,MAAM,CAAC,eAAsB;SAC/C,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;AAprBD,8BAorBC"}
|
|
@@ -1,44 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
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 =
|
|
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":"
|
|
1
|
+
{"version":3,"file":"cdpApiClient.js","sourceRoot":"","sources":["../../openapi-client/cdpApiClient.ts"],"names":[],"mappings":"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"}
|