@coinbase/cdp-sdk 1.31.0 → 1.31.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 +6 -0
- package/_cjs/accounts/evm/toNetworkScopedEvmServerAccount.js +61 -0
- package/_cjs/accounts/evm/toNetworkScopedEvmServerAccount.js.map +1 -1
- package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js +21 -0
- package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -1
- package/_cjs/actions/evm/listSpendPermissions.js +18 -0
- package/_cjs/actions/evm/listSpendPermissions.js.map +1 -0
- package/_cjs/actions/evm/listTokenBalances.js +2 -0
- package/_cjs/actions/evm/listTokenBalances.js.map +1 -1
- package/_cjs/client/evm/evm.js +157 -60
- package/_cjs/client/evm/evm.js.map +1 -1
- package/_cjs/client/solana/solana.js +47 -27
- package/_cjs/client/solana/solana.js.map +1 -1
- package/_cjs/version.js +1 -1
- package/_esm/accounts/evm/toNetworkScopedEvmServerAccount.js +61 -0
- package/_esm/accounts/evm/toNetworkScopedEvmServerAccount.js.map +1 -1
- package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js +21 -0
- package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -1
- package/_esm/actions/evm/listSpendPermissions.js +15 -0
- package/_esm/actions/evm/listSpendPermissions.js.map +1 -0
- package/_esm/actions/evm/listTokenBalances.js +2 -0
- package/_esm/actions/evm/listTokenBalances.js.map +1 -1
- package/_esm/client/evm/evm.js +157 -60
- package/_esm/client/evm/evm.js.map +1 -1
- package/_esm/client/solana/solana.js +47 -27
- package/_esm/client/solana/solana.js.map +1 -1
- package/_esm/version.js +1 -1
- package/_types/accounts/evm/toNetworkScopedEvmServerAccount.d.ts.map +1 -1
- package/_types/accounts/evm/toNetworkScopedEvmSmartAccount.d.ts.map +1 -1
- package/_types/actions/evm/listSpendPermissions.d.ts +12 -0
- package/_types/actions/evm/listSpendPermissions.d.ts.map +1 -0
- package/_types/actions/evm/listTokenBalances.d.ts.map +1 -1
- package/_types/client/evm/evm.d.ts +66 -1
- package/_types/client/evm/evm.d.ts.map +1 -1
- package/_types/client/evm/evm.types.d.ts +2 -1
- package/_types/client/evm/evm.types.d.ts.map +1 -1
- package/_types/client/solana/solana.d.ts +16 -0
- package/_types/client/solana/solana.d.ts.map +1 -1
- package/_types/version.d.ts +1 -1
- package/accounts/evm/toNetworkScopedEvmServerAccount.ts +69 -0
- package/accounts/evm/toNetworkScopedEvmSmartAccount.ts +22 -0
- package/actions/evm/listSpendPermissions.ts +20 -0
- package/actions/evm/listTokenBalances.ts +2 -0
- package/client/evm/evm.ts +200 -81
- package/client/evm/evm.types.ts +4 -0
- package/client/solana/solana.ts +60 -38
- package/package.json +1 -1
- package/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# CDP SDK Changelog
|
|
2
2
|
|
|
3
|
+
## 1.31.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#347](https://github.com/coinbase/cdp-sdk/pull/347) [`ad9f725`](https://github.com/coinbase/cdp-sdk/commit/ad9f725f5f4ba4e1dd8879433de0f271a4893af3) Thanks [@sddioulde](https://github.com/sddioulde)! - Added token symbol and name to EVM token balances response in TypeScript
|
|
8
|
+
|
|
3
9
|
## 1.31.0
|
|
4
10
|
|
|
5
11
|
### Minor Changes
|
|
@@ -53,6 +53,7 @@ async function toNetworkScopedEvmServerAccount(options) {
|
|
|
53
53
|
accountType: "evm_server",
|
|
54
54
|
properties: {
|
|
55
55
|
network: options.network,
|
|
56
|
+
managed: true,
|
|
56
57
|
},
|
|
57
58
|
});
|
|
58
59
|
const hash = await walletClient.sendTransaction(txOpts.transaction);
|
|
@@ -72,6 +73,7 @@ async function toNetworkScopedEvmServerAccount(options) {
|
|
|
72
73
|
accountType: "evm_server",
|
|
73
74
|
properties: {
|
|
74
75
|
network: options.network,
|
|
76
|
+
managed: true,
|
|
75
77
|
},
|
|
76
78
|
});
|
|
77
79
|
return (0, transferWithViem_js_1.transferWithViem)(walletClient, account, transferArgs);
|
|
@@ -81,6 +83,9 @@ async function toNetworkScopedEvmServerAccount(options) {
|
|
|
81
83
|
analytics_js_1.Analytics.trackAction({
|
|
82
84
|
action: "wait_for_transaction_receipt",
|
|
83
85
|
accountType: "evm_server",
|
|
86
|
+
properties: {
|
|
87
|
+
managed: true,
|
|
88
|
+
},
|
|
84
89
|
});
|
|
85
90
|
if ("transactionHash" in waitOptions) {
|
|
86
91
|
return publicClient.waitForTransactionReceipt({
|
|
@@ -93,6 +98,13 @@ async function toNetworkScopedEvmServerAccount(options) {
|
|
|
93
98
|
if ((0, networkCapabilities_js_1.isMethodSupportedOnNetwork)("listTokenBalances", resolvedNetworkName)) {
|
|
94
99
|
Object.assign(account, {
|
|
95
100
|
listTokenBalances: async (listTokenBalancesOptions) => {
|
|
101
|
+
analytics_js_1.Analytics.trackAction({
|
|
102
|
+
action: "list_token_balances",
|
|
103
|
+
accountType: "evm_server",
|
|
104
|
+
properties: {
|
|
105
|
+
managed: true,
|
|
106
|
+
},
|
|
107
|
+
});
|
|
96
108
|
return options.account.listTokenBalances({
|
|
97
109
|
...listTokenBalancesOptions,
|
|
98
110
|
network: options.network,
|
|
@@ -103,6 +115,13 @@ async function toNetworkScopedEvmServerAccount(options) {
|
|
|
103
115
|
if ((0, networkCapabilities_js_1.isMethodSupportedOnNetwork)("requestFaucet", resolvedNetworkName)) {
|
|
104
116
|
Object.assign(account, {
|
|
105
117
|
requestFaucet: async (faucetOptions) => {
|
|
118
|
+
analytics_js_1.Analytics.trackAction({
|
|
119
|
+
action: "request_faucet",
|
|
120
|
+
accountType: "evm_server",
|
|
121
|
+
properties: {
|
|
122
|
+
managed: true,
|
|
123
|
+
},
|
|
124
|
+
});
|
|
106
125
|
return options.account.requestFaucet({
|
|
107
126
|
...faucetOptions,
|
|
108
127
|
network: chain.id === chains_1.baseSepolia.id ? "base-sepolia" : "ethereum-sepolia",
|
|
@@ -113,6 +132,13 @@ async function toNetworkScopedEvmServerAccount(options) {
|
|
|
113
132
|
if ((0, networkCapabilities_js_1.isMethodSupportedOnNetwork)("quoteFund", resolvedNetworkName)) {
|
|
114
133
|
Object.assign(account, {
|
|
115
134
|
quoteFund: async (quoteFundOptions) => {
|
|
135
|
+
analytics_js_1.Analytics.trackAction({
|
|
136
|
+
action: "quote_fund",
|
|
137
|
+
accountType: "evm_server",
|
|
138
|
+
properties: {
|
|
139
|
+
managed: true,
|
|
140
|
+
},
|
|
141
|
+
});
|
|
116
142
|
return options.account.quoteFund({
|
|
117
143
|
...quoteFundOptions,
|
|
118
144
|
});
|
|
@@ -122,11 +148,25 @@ async function toNetworkScopedEvmServerAccount(options) {
|
|
|
122
148
|
if ((0, networkCapabilities_js_1.isMethodSupportedOnNetwork)("fund", resolvedNetworkName)) {
|
|
123
149
|
Object.assign(account, {
|
|
124
150
|
fund: async (fundOptions) => {
|
|
151
|
+
analytics_js_1.Analytics.trackAction({
|
|
152
|
+
action: "fund",
|
|
153
|
+
accountType: "evm_server",
|
|
154
|
+
properties: {
|
|
155
|
+
managed: true,
|
|
156
|
+
},
|
|
157
|
+
});
|
|
125
158
|
return options.account.fund({
|
|
126
159
|
...fundOptions,
|
|
127
160
|
});
|
|
128
161
|
},
|
|
129
162
|
waitForFundOperationReceipt: async (waitOptions) => {
|
|
163
|
+
analytics_js_1.Analytics.trackAction({
|
|
164
|
+
action: "wait_for_fund_operation_receipt",
|
|
165
|
+
accountType: "evm_server",
|
|
166
|
+
properties: {
|
|
167
|
+
managed: true,
|
|
168
|
+
},
|
|
169
|
+
});
|
|
130
170
|
return options.account.waitForFundOperationReceipt(waitOptions);
|
|
131
171
|
},
|
|
132
172
|
});
|
|
@@ -134,6 +174,13 @@ async function toNetworkScopedEvmServerAccount(options) {
|
|
|
134
174
|
if ((0, networkCapabilities_js_1.isMethodSupportedOnNetwork)("quoteSwap", resolvedNetworkName)) {
|
|
135
175
|
Object.assign(account, {
|
|
136
176
|
quoteSwap: async (quoteSwapOptions) => {
|
|
177
|
+
analytics_js_1.Analytics.trackAction({
|
|
178
|
+
action: "quote_swap",
|
|
179
|
+
accountType: "evm_server",
|
|
180
|
+
properties: {
|
|
181
|
+
managed: true,
|
|
182
|
+
},
|
|
183
|
+
});
|
|
137
184
|
return options.account.quoteSwap(quoteSwapOptions);
|
|
138
185
|
},
|
|
139
186
|
});
|
|
@@ -141,6 +188,13 @@ async function toNetworkScopedEvmServerAccount(options) {
|
|
|
141
188
|
if ((0, networkCapabilities_js_1.isMethodSupportedOnNetwork)("swap", resolvedNetworkName)) {
|
|
142
189
|
Object.assign(account, {
|
|
143
190
|
swap: async (swapOptions) => {
|
|
191
|
+
analytics_js_1.Analytics.trackAction({
|
|
192
|
+
action: "swap",
|
|
193
|
+
accountType: "evm_server",
|
|
194
|
+
properties: {
|
|
195
|
+
managed: true,
|
|
196
|
+
},
|
|
197
|
+
});
|
|
144
198
|
return options.account.swap(swapOptions);
|
|
145
199
|
},
|
|
146
200
|
});
|
|
@@ -148,6 +202,13 @@ async function toNetworkScopedEvmServerAccount(options) {
|
|
|
148
202
|
if ((0, networkCapabilities_js_1.isMethodSupportedOnNetwork)("useSpendPermission", resolvedNetworkName)) {
|
|
149
203
|
Object.assign(account, {
|
|
150
204
|
__experimental_useSpendPermission: async (spendPermissionOptions) => {
|
|
205
|
+
analytics_js_1.Analytics.trackAction({
|
|
206
|
+
action: "use_spend_permission",
|
|
207
|
+
accountType: "evm_server",
|
|
208
|
+
properties: {
|
|
209
|
+
managed: true,
|
|
210
|
+
},
|
|
211
|
+
});
|
|
151
212
|
return options.account.__experimental_useSpendPermission({
|
|
152
213
|
...spendPermissionOptions,
|
|
153
214
|
network: options.network,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toNetworkScopedEvmServerAccount.js","sourceRoot":"","sources":["../../../accounts/evm/toNetworkScopedEvmServerAccount.ts"],"names":[],"mappings":";;AAgDA,
|
|
1
|
+
{"version":3,"file":"toNetworkScopedEvmServerAccount.js","sourceRoot":"","sources":["../../../accounts/evm/toNetworkScopedEvmServerAccount.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,7 @@ async function toNetworkScopedEvmSmartAccount(apiClient, options) {
|
|
|
48
48
|
accountType: "evm_smart",
|
|
49
49
|
properties: {
|
|
50
50
|
network: options.network,
|
|
51
|
+
managed: true,
|
|
51
52
|
},
|
|
52
53
|
});
|
|
53
54
|
return (0, sendUserOperation_js_1.sendUserOperation)(apiClient, {
|
|
@@ -61,6 +62,9 @@ async function toNetworkScopedEvmSmartAccount(apiClient, options) {
|
|
|
61
62
|
analytics_js_1.Analytics.trackAction({
|
|
62
63
|
action: "wait_for_user_operation",
|
|
63
64
|
accountType: "evm_smart",
|
|
65
|
+
properties: {
|
|
66
|
+
managed: true,
|
|
67
|
+
},
|
|
64
68
|
});
|
|
65
69
|
return (0, waitForUserOperation_js_1.waitForUserOperation)(apiClient, {
|
|
66
70
|
...waitOptions,
|
|
@@ -71,6 +75,9 @@ async function toNetworkScopedEvmSmartAccount(apiClient, options) {
|
|
|
71
75
|
analytics_js_1.Analytics.trackAction({
|
|
72
76
|
action: "get_user_operation",
|
|
73
77
|
accountType: "evm_smart",
|
|
78
|
+
properties: {
|
|
79
|
+
managed: true,
|
|
80
|
+
},
|
|
74
81
|
});
|
|
75
82
|
return (0, getUserOperation_js_1.getUserOperation)(apiClient, {
|
|
76
83
|
...getOptions,
|
|
@@ -86,6 +93,7 @@ async function toNetworkScopedEvmSmartAccount(apiClient, options) {
|
|
|
86
93
|
accountType: "evm_smart",
|
|
87
94
|
properties: {
|
|
88
95
|
network: options.network,
|
|
96
|
+
managed: true,
|
|
89
97
|
},
|
|
90
98
|
});
|
|
91
99
|
return (0, transfer_js_1.transfer)(apiClient, options.smartAccount, {
|
|
@@ -104,6 +112,7 @@ async function toNetworkScopedEvmSmartAccount(apiClient, options) {
|
|
|
104
112
|
accountType: "evm_smart",
|
|
105
113
|
properties: {
|
|
106
114
|
network: options.network,
|
|
115
|
+
managed: true,
|
|
107
116
|
},
|
|
108
117
|
});
|
|
109
118
|
return (0, listTokenBalances_js_1.listTokenBalances)(apiClient, {
|
|
@@ -122,6 +131,7 @@ async function toNetworkScopedEvmSmartAccount(apiClient, options) {
|
|
|
122
131
|
accountType: "evm_smart",
|
|
123
132
|
properties: {
|
|
124
133
|
network: options.network,
|
|
134
|
+
managed: true,
|
|
125
135
|
},
|
|
126
136
|
});
|
|
127
137
|
return (0, requestFaucet_js_1.requestFaucet)(apiClient, {
|
|
@@ -140,6 +150,7 @@ async function toNetworkScopedEvmSmartAccount(apiClient, options) {
|
|
|
140
150
|
accountType: "evm_smart",
|
|
141
151
|
properties: {
|
|
142
152
|
network: options.network,
|
|
153
|
+
managed: true,
|
|
143
154
|
},
|
|
144
155
|
});
|
|
145
156
|
return (0, quoteFund_js_1.quoteFund)(apiClient, {
|
|
@@ -157,6 +168,7 @@ async function toNetworkScopedEvmSmartAccount(apiClient, options) {
|
|
|
157
168
|
accountType: "evm_smart",
|
|
158
169
|
properties: {
|
|
159
170
|
network: options.network,
|
|
171
|
+
managed: true,
|
|
160
172
|
},
|
|
161
173
|
});
|
|
162
174
|
return (0, fund_js_1.fund)(apiClient, {
|
|
@@ -177,6 +189,7 @@ async function toNetworkScopedEvmSmartAccount(apiClient, options) {
|
|
|
177
189
|
accountType: "evm_smart",
|
|
178
190
|
properties: {
|
|
179
191
|
network: options.network,
|
|
192
|
+
managed: true,
|
|
180
193
|
},
|
|
181
194
|
});
|
|
182
195
|
return (0, createSwapQuote_js_1.createSwapQuote)(apiClient, {
|
|
@@ -197,6 +210,7 @@ async function toNetworkScopedEvmSmartAccount(apiClient, options) {
|
|
|
197
210
|
accountType: "evm_smart",
|
|
198
211
|
properties: {
|
|
199
212
|
network: options.network,
|
|
213
|
+
managed: true,
|
|
200
214
|
},
|
|
201
215
|
});
|
|
202
216
|
return (0, sendSwapOperation_js_1.sendSwapOperation)(apiClient, {
|
|
@@ -213,6 +227,13 @@ async function toNetworkScopedEvmSmartAccount(apiClient, options) {
|
|
|
213
227
|
if ((0, networkCapabilities_js_1.isMethodSupportedOnNetwork)("useSpendPermission", options.network)) {
|
|
214
228
|
Object.assign(account, {
|
|
215
229
|
__experimental_useSpendPermission: async (spendPermissionOptions) => {
|
|
230
|
+
analytics_js_1.Analytics.trackAction({
|
|
231
|
+
action: "use_spend_permission",
|
|
232
|
+
accountType: "evm_smart",
|
|
233
|
+
properties: {
|
|
234
|
+
managed: true,
|
|
235
|
+
},
|
|
236
|
+
});
|
|
216
237
|
return options.smartAccount.__experimental_useSpendPermission({
|
|
217
238
|
...spendPermissionOptions,
|
|
218
239
|
network: options.network,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toNetworkScopedEvmSmartAccount.js","sourceRoot":"","sources":["../../../accounts/evm/toNetworkScopedEvmSmartAccount.ts"],"names":[],"mappings":";;AAqEA,
|
|
1
|
+
{"version":3,"file":"toNetworkScopedEvmSmartAccount.js","sourceRoot":"","sources":["../../../accounts/evm/toNetworkScopedEvmSmartAccount.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listSpendPermissions = listSpendPermissions;
|
|
4
|
+
/**
|
|
5
|
+
* Lists the spend permissions for a smart account.
|
|
6
|
+
*
|
|
7
|
+
* @param client - The OpenApiClient instance.
|
|
8
|
+
* @param options - The options for listing the spend permissions.
|
|
9
|
+
*
|
|
10
|
+
* @returns A promise that resolves to the spend permissions.
|
|
11
|
+
*/
|
|
12
|
+
async function listSpendPermissions(client, options) {
|
|
13
|
+
return await client.listSpendPermissions(options.address, {
|
|
14
|
+
pageSize: options.pageSize,
|
|
15
|
+
pageToken: options.pageToken,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=listSpendPermissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listSpendPermissions.js","sourceRoot":"","sources":["../../../actions/evm/listSpendPermissions.ts"],"names":[],"mappings":";;AAWA,oDAQC;AAhBD;;;;;;;GAOG;AACI,KAAK,UAAU,oBAAoB,CACxC,MAA+B,EAC/B,OAAoC;IAEpC,OAAO,MAAM,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE;QACxD,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -18,6 +18,8 @@ async function listTokenBalances(client, options) {
|
|
|
18
18
|
token: {
|
|
19
19
|
network: balance.token.network,
|
|
20
20
|
contractAddress: balance.token.contractAddress,
|
|
21
|
+
symbol: balance.token.symbol,
|
|
22
|
+
name: balance.token.name,
|
|
21
23
|
},
|
|
22
24
|
amount: {
|
|
23
25
|
amount: BigInt(balance.amount.amount),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listTokenBalances.js","sourceRoot":"","sources":["../../../actions/evm/listTokenBalances.ts"],"names":[],"mappings":";;AAgFA,
|
|
1
|
+
{"version":3,"file":"listTokenBalances.js","sourceRoot":"","sources":["../../../actions/evm/listTokenBalances.ts"],"names":[],"mappings":";;AAgFA,8CA4BC;AAnCD;;;;;;GAMG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAA4B,EAC5B,OAAiC;IAEjC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;QACnF,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QAC/C,OAAO;YACL,KAAK,EAAE;gBACL,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;gBAC9B,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,eAA0B;gBACzD,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;gBAC5B,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;aACzB;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;gBACrC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;aAClC;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ;QACR,aAAa,EAAE,QAAQ,CAAC,aAAa;KACtC,CAAC;AACJ,CAAC"}
|
package/_cjs/client/evm/evm.js
CHANGED
|
@@ -6,6 +6,7 @@ const viem_1 = require("viem");
|
|
|
6
6
|
const toEvmServerAccount_js_1 = require("../../accounts/evm/toEvmServerAccount.js");
|
|
7
7
|
const toEvmSmartAccount_js_1 = require("../../accounts/evm/toEvmSmartAccount.js");
|
|
8
8
|
const getUserOperation_js_1 = require("../../actions/evm/getUserOperation.js");
|
|
9
|
+
const listSpendPermissions_js_1 = require("../../actions/evm/listSpendPermissions.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 sendTransaction_js_1 = require("../../actions/evm/sendTransaction.js");
|
|
@@ -63,15 +64,7 @@ class EvmClient {
|
|
|
63
64
|
action: "create_account",
|
|
64
65
|
accountType: "evm_server",
|
|
65
66
|
});
|
|
66
|
-
|
|
67
|
-
name: options.name,
|
|
68
|
-
accountPolicy: options.accountPolicy,
|
|
69
|
-
}, options.idempotencyKey);
|
|
70
|
-
const account = (0, toEvmServerAccount_js_1.toEvmServerAccount)(index_js_1.CdpOpenApiClient, {
|
|
71
|
-
account: openApiAccount,
|
|
72
|
-
});
|
|
73
|
-
analytics_js_1.Analytics.wrapObjectMethodsWithErrorTracking(account);
|
|
74
|
-
return account;
|
|
67
|
+
return this._createAccountInternal(options);
|
|
75
68
|
}
|
|
76
69
|
/**
|
|
77
70
|
* Imports a CDP EVM account from an external source.
|
|
@@ -247,20 +240,7 @@ class EvmClient {
|
|
|
247
240
|
action: "create_smart_account",
|
|
248
241
|
accountType: "evm_smart",
|
|
249
242
|
});
|
|
250
|
-
|
|
251
|
-
if (options.__experimental_enableSpendPermission) {
|
|
252
|
-
owners.push(constants_js_2.SPEND_PERMISSION_MANAGER_ADDRESS);
|
|
253
|
-
}
|
|
254
|
-
const openApiSmartAccount = await index_js_1.CdpOpenApiClient.createEvmSmartAccount({
|
|
255
|
-
owners: owners,
|
|
256
|
-
name: options.name,
|
|
257
|
-
}, options.idempotencyKey);
|
|
258
|
-
const smartAccount = (0, toEvmSmartAccount_js_1.toEvmSmartAccount)(index_js_1.CdpOpenApiClient, {
|
|
259
|
-
smartAccount: openApiSmartAccount,
|
|
260
|
-
owner: options.owner,
|
|
261
|
-
});
|
|
262
|
-
analytics_js_1.Analytics.wrapObjectMethodsWithErrorTracking(smartAccount);
|
|
263
|
-
return smartAccount;
|
|
243
|
+
return this._createSmartAccountInternal(options);
|
|
264
244
|
}
|
|
265
245
|
/**
|
|
266
246
|
* Creates a spend permission for a smart account.
|
|
@@ -307,6 +287,46 @@ class EvmClient {
|
|
|
307
287
|
})),
|
|
308
288
|
};
|
|
309
289
|
}
|
|
290
|
+
/**
|
|
291
|
+
* Revokes a spend permission for a smart account.
|
|
292
|
+
*
|
|
293
|
+
* @param {RevokeSpendPermissionOptions} options - Parameters for revoking the spend permission.
|
|
294
|
+
* @param {string} options.address - The address of the smart account.
|
|
295
|
+
* @param {string} options.permissionHash - The hash of the spend permission to revoke.
|
|
296
|
+
* @param {string} options.network - The network of the spend permission.
|
|
297
|
+
* @param {string} [options.paymasterUrl] - The paymaster URL of the spend permission.
|
|
298
|
+
*
|
|
299
|
+
* @returns A promise that resolves to the user operation.
|
|
300
|
+
*
|
|
301
|
+
* @example
|
|
302
|
+
* ```ts
|
|
303
|
+
* const userOperation = await cdp.evm.revokeSpendPermission({
|
|
304
|
+
* address: "0x1234567890123456789012345678901234567890",
|
|
305
|
+
* permissionHash: "0x1234567890123456789012345678901234567890123456789012345678901234",
|
|
306
|
+
* network: "base-sepolia",
|
|
307
|
+
* });
|
|
308
|
+
* ```
|
|
309
|
+
*/
|
|
310
|
+
async revokeSpendPermission(options) {
|
|
311
|
+
analytics_js_1.Analytics.trackAction({
|
|
312
|
+
action: "revoke_spend_permission",
|
|
313
|
+
});
|
|
314
|
+
const userOperation = await index_js_1.CdpOpenApiClient.revokeSpendPermission(options.address, {
|
|
315
|
+
network: options.network,
|
|
316
|
+
permissionHash: options.permissionHash,
|
|
317
|
+
paymasterUrl: options.paymasterUrl,
|
|
318
|
+
}, options.idempotencyKey);
|
|
319
|
+
return {
|
|
320
|
+
network: userOperation.network,
|
|
321
|
+
userOpHash: userOperation.userOpHash,
|
|
322
|
+
status: userOperation.status,
|
|
323
|
+
calls: userOperation.calls.map(call => ({
|
|
324
|
+
to: call.to,
|
|
325
|
+
value: BigInt(call.value),
|
|
326
|
+
data: call.data,
|
|
327
|
+
})),
|
|
328
|
+
};
|
|
329
|
+
}
|
|
310
330
|
/**
|
|
311
331
|
* Gets a CDP EVM account.
|
|
312
332
|
*
|
|
@@ -337,20 +357,7 @@ class EvmClient {
|
|
|
337
357
|
action: "get_account",
|
|
338
358
|
accountType: "evm_server",
|
|
339
359
|
});
|
|
340
|
-
|
|
341
|
-
if (options.address) {
|
|
342
|
-
return index_js_1.CdpOpenApiClient.getEvmAccount(options.address);
|
|
343
|
-
}
|
|
344
|
-
if (options.name) {
|
|
345
|
-
return index_js_1.CdpOpenApiClient.getEvmAccountByName(options.name);
|
|
346
|
-
}
|
|
347
|
-
throw new errors_js_1.UserInputValidationError("Either address or name must be provided");
|
|
348
|
-
})();
|
|
349
|
-
const account = (0, toEvmServerAccount_js_1.toEvmServerAccount)(index_js_1.CdpOpenApiClient, {
|
|
350
|
-
account: openApiAccount,
|
|
351
|
-
});
|
|
352
|
-
analytics_js_1.Analytics.wrapObjectMethodsWithErrorTracking(account);
|
|
353
|
-
return account;
|
|
360
|
+
return this._getAccountInternal(options);
|
|
354
361
|
}
|
|
355
362
|
/**
|
|
356
363
|
* Gets a CDP EVM smart account.
|
|
@@ -378,21 +385,7 @@ class EvmClient {
|
|
|
378
385
|
analytics_js_1.Analytics.trackAction({
|
|
379
386
|
action: "get_smart_account",
|
|
380
387
|
});
|
|
381
|
-
|
|
382
|
-
if (options.address) {
|
|
383
|
-
return index_js_1.CdpOpenApiClient.getEvmSmartAccount(options.address);
|
|
384
|
-
}
|
|
385
|
-
else if (options.name) {
|
|
386
|
-
return index_js_1.CdpOpenApiClient.getEvmSmartAccountByName(options.name);
|
|
387
|
-
}
|
|
388
|
-
throw new errors_js_1.UserInputValidationError("Either address or name must be provided");
|
|
389
|
-
})();
|
|
390
|
-
const smartAccount = (0, toEvmSmartAccount_js_1.toEvmSmartAccount)(index_js_1.CdpOpenApiClient, {
|
|
391
|
-
smartAccount: openApiSmartAccount,
|
|
392
|
-
owner: options.owner,
|
|
393
|
-
});
|
|
394
|
-
analytics_js_1.Analytics.wrapObjectMethodsWithErrorTracking(smartAccount);
|
|
395
|
-
return smartAccount;
|
|
388
|
+
return this._getSmartAccountInternal(options);
|
|
396
389
|
}
|
|
397
390
|
/**
|
|
398
391
|
* Gets a CDP EVM account, or creates one if it doesn't exist.
|
|
@@ -415,7 +408,7 @@ class EvmClient {
|
|
|
415
408
|
accountType: "evm_server",
|
|
416
409
|
});
|
|
417
410
|
try {
|
|
418
|
-
const account = await this.
|
|
411
|
+
const account = await this._getAccountInternal(options);
|
|
419
412
|
return account;
|
|
420
413
|
}
|
|
421
414
|
catch (error) {
|
|
@@ -423,14 +416,14 @@ class EvmClient {
|
|
|
423
416
|
const doesAccountNotExist = error instanceof errors_js_2.APIError && error.statusCode === 404;
|
|
424
417
|
if (doesAccountNotExist) {
|
|
425
418
|
try {
|
|
426
|
-
const account = await this.
|
|
419
|
+
const account = await this._createAccountInternal(options);
|
|
427
420
|
return account;
|
|
428
421
|
}
|
|
429
422
|
catch (error) {
|
|
430
|
-
// If it failed because the account already exists,
|
|
423
|
+
// If it failed because the account already exists, get the existing account
|
|
431
424
|
const doesAccountAlreadyExist = error instanceof errors_js_2.APIError && error.statusCode === 409;
|
|
432
425
|
if (doesAccountAlreadyExist) {
|
|
433
|
-
const account = await this.
|
|
426
|
+
const account = await this._getAccountInternal(options);
|
|
434
427
|
return account;
|
|
435
428
|
}
|
|
436
429
|
throw error;
|
|
@@ -464,7 +457,7 @@ class EvmClient {
|
|
|
464
457
|
accountType: "evm_smart",
|
|
465
458
|
});
|
|
466
459
|
try {
|
|
467
|
-
const account = await this.
|
|
460
|
+
const account = await this._getSmartAccountInternal(options);
|
|
468
461
|
return account;
|
|
469
462
|
}
|
|
470
463
|
catch (error) {
|
|
@@ -472,14 +465,14 @@ class EvmClient {
|
|
|
472
465
|
const doesAccountNotExist = error instanceof errors_js_2.APIError && error.statusCode === 404;
|
|
473
466
|
if (doesAccountNotExist) {
|
|
474
467
|
try {
|
|
475
|
-
const account = await this.
|
|
468
|
+
const account = await this._createSmartAccountInternal(options);
|
|
476
469
|
return account;
|
|
477
470
|
}
|
|
478
471
|
catch (error) {
|
|
479
|
-
// If it failed because the account already exists,
|
|
472
|
+
// If it failed because the account already exists, get the existing account
|
|
480
473
|
const doesAccountAlreadyExist = error instanceof errors_js_2.APIError && error.statusCode === 409;
|
|
481
474
|
if (doesAccountAlreadyExist) {
|
|
482
|
-
const account = await this.
|
|
475
|
+
const account = await this._getSmartAccountInternal(options);
|
|
483
476
|
return account;
|
|
484
477
|
}
|
|
485
478
|
throw error;
|
|
@@ -694,6 +687,22 @@ class EvmClient {
|
|
|
694
687
|
nextPageToken: smartAccounts.nextPageToken,
|
|
695
688
|
};
|
|
696
689
|
}
|
|
690
|
+
/**
|
|
691
|
+
* Lists the spend permissions for a smart account.
|
|
692
|
+
*
|
|
693
|
+
* @param {ListSpendPermissionsOptions} options - Parameters for listing the spend permissions.
|
|
694
|
+
* @param {string} options.address - The address of the smart account.
|
|
695
|
+
* @param {number} [options.pageSize] - The number of spend permissions to return.
|
|
696
|
+
* @param {string} [options.pageToken] - The page token to return the next page of spend permissions.
|
|
697
|
+
*
|
|
698
|
+
* @returns A promise that resolves to the spend permissions.
|
|
699
|
+
*/
|
|
700
|
+
async listSpendPermissions(options) {
|
|
701
|
+
analytics_js_1.Analytics.trackAction({
|
|
702
|
+
action: "list_spend_permissions",
|
|
703
|
+
});
|
|
704
|
+
return (0, listSpendPermissions_js_1.listSpendPermissions)(index_js_1.CdpOpenApiClient, options);
|
|
705
|
+
}
|
|
697
706
|
/**
|
|
698
707
|
* Prepares a user operation for a smart account.
|
|
699
708
|
*
|
|
@@ -1160,6 +1169,94 @@ class EvmClient {
|
|
|
1160
1169
|
...options,
|
|
1161
1170
|
});
|
|
1162
1171
|
}
|
|
1172
|
+
/**
|
|
1173
|
+
* Internal method to create an account without tracking analytics.
|
|
1174
|
+
* Used internally by composite operations to avoid double-counting.
|
|
1175
|
+
*
|
|
1176
|
+
* @param {CreateServerAccountOptions} options - Parameters for creating the account.
|
|
1177
|
+
* @returns {Promise<ServerAccount>} A promise that resolves to the newly created account.
|
|
1178
|
+
*/
|
|
1179
|
+
async _createAccountInternal(options = {}) {
|
|
1180
|
+
const openApiAccount = await index_js_1.CdpOpenApiClient.createEvmAccount({
|
|
1181
|
+
name: options.name,
|
|
1182
|
+
accountPolicy: options.accountPolicy,
|
|
1183
|
+
}, options.idempotencyKey);
|
|
1184
|
+
const account = (0, toEvmServerAccount_js_1.toEvmServerAccount)(index_js_1.CdpOpenApiClient, {
|
|
1185
|
+
account: openApiAccount,
|
|
1186
|
+
});
|
|
1187
|
+
analytics_js_1.Analytics.wrapObjectMethodsWithErrorTracking(account);
|
|
1188
|
+
return account;
|
|
1189
|
+
}
|
|
1190
|
+
/**
|
|
1191
|
+
* Internal method to get an account without tracking analytics.
|
|
1192
|
+
* Used internally by composite operations to avoid double-counting.
|
|
1193
|
+
*
|
|
1194
|
+
* @param {GetServerAccountOptions} options - Parameters for getting the account.
|
|
1195
|
+
* @returns {Promise<ServerAccount>} A promise that resolves to the account.
|
|
1196
|
+
*/
|
|
1197
|
+
async _getAccountInternal(options) {
|
|
1198
|
+
const openApiAccount = await (() => {
|
|
1199
|
+
if (options.address) {
|
|
1200
|
+
return index_js_1.CdpOpenApiClient.getEvmAccount(options.address);
|
|
1201
|
+
}
|
|
1202
|
+
if (options.name) {
|
|
1203
|
+
return index_js_1.CdpOpenApiClient.getEvmAccountByName(options.name);
|
|
1204
|
+
}
|
|
1205
|
+
throw new errors_js_1.UserInputValidationError("Either address or name must be provided");
|
|
1206
|
+
})();
|
|
1207
|
+
const account = (0, toEvmServerAccount_js_1.toEvmServerAccount)(index_js_1.CdpOpenApiClient, {
|
|
1208
|
+
account: openApiAccount,
|
|
1209
|
+
});
|
|
1210
|
+
analytics_js_1.Analytics.wrapObjectMethodsWithErrorTracking(account);
|
|
1211
|
+
return account;
|
|
1212
|
+
}
|
|
1213
|
+
/**
|
|
1214
|
+
* Internal method to create a smart account without tracking analytics.
|
|
1215
|
+
* Used internally by composite operations to avoid double-counting.
|
|
1216
|
+
*
|
|
1217
|
+
* @param {CreateSmartAccountOptions} options - Parameters for creating the smart account.
|
|
1218
|
+
* @returns {Promise<SmartAccount>} A promise that resolves to the newly created smart account.
|
|
1219
|
+
*/
|
|
1220
|
+
async _createSmartAccountInternal(options) {
|
|
1221
|
+
const owners = [options.owner.address];
|
|
1222
|
+
if (options.__experimental_enableSpendPermission) {
|
|
1223
|
+
owners.push(constants_js_2.SPEND_PERMISSION_MANAGER_ADDRESS);
|
|
1224
|
+
}
|
|
1225
|
+
const openApiSmartAccount = await index_js_1.CdpOpenApiClient.createEvmSmartAccount({
|
|
1226
|
+
owners: owners,
|
|
1227
|
+
name: options.name,
|
|
1228
|
+
}, options.idempotencyKey);
|
|
1229
|
+
const smartAccount = (0, toEvmSmartAccount_js_1.toEvmSmartAccount)(index_js_1.CdpOpenApiClient, {
|
|
1230
|
+
smartAccount: openApiSmartAccount,
|
|
1231
|
+
owner: options.owner,
|
|
1232
|
+
});
|
|
1233
|
+
analytics_js_1.Analytics.wrapObjectMethodsWithErrorTracking(smartAccount);
|
|
1234
|
+
return smartAccount;
|
|
1235
|
+
}
|
|
1236
|
+
/**
|
|
1237
|
+
* Internal method to get a smart account without tracking analytics.
|
|
1238
|
+
* Used internally by composite operations to avoid double-counting.
|
|
1239
|
+
*
|
|
1240
|
+
* @param {GetSmartAccountOptions} options - Parameters for getting the smart account.
|
|
1241
|
+
* @returns {Promise<SmartAccount>} A promise that resolves to the smart account.
|
|
1242
|
+
*/
|
|
1243
|
+
async _getSmartAccountInternal(options) {
|
|
1244
|
+
const openApiSmartAccount = await (async () => {
|
|
1245
|
+
if (options.address) {
|
|
1246
|
+
return index_js_1.CdpOpenApiClient.getEvmSmartAccount(options.address);
|
|
1247
|
+
}
|
|
1248
|
+
else if (options.name) {
|
|
1249
|
+
return index_js_1.CdpOpenApiClient.getEvmSmartAccountByName(options.name);
|
|
1250
|
+
}
|
|
1251
|
+
throw new errors_js_1.UserInputValidationError("Either address or name must be provided");
|
|
1252
|
+
})();
|
|
1253
|
+
const smartAccount = (0, toEvmSmartAccount_js_1.toEvmSmartAccount)(index_js_1.CdpOpenApiClient, {
|
|
1254
|
+
smartAccount: openApiSmartAccount,
|
|
1255
|
+
owner: options.owner,
|
|
1256
|
+
});
|
|
1257
|
+
analytics_js_1.Analytics.wrapObjectMethodsWithErrorTracking(smartAccount);
|
|
1258
|
+
return smartAccount;
|
|
1259
|
+
}
|
|
1163
1260
|
}
|
|
1164
1261
|
exports.EvmClient = EvmClient;
|
|
1165
1262
|
//# sourceMappingURL=evm.js.map
|